зеркало из https://github.com/mozilla/gecko-dev.git
Add autoconf for NSPR. Check in for cls@seawood.org. Buzill 11893
This commit is contained in:
Родитель
076620922f
Коммит
bc24d35ef7
|
@ -32,6 +32,61 @@ NSPR_CONFIG_MK = 1
|
|||
# USE_PTHREADS=1
|
||||
# NS_USE_GCC=
|
||||
#
|
||||
ifdef USE_AUTOCONF
|
||||
|
||||
NFSPWD = $(MOD_DEPTH)/config/nfspwd
|
||||
|
||||
CFLAGS = $(CC_ONLY_FLAGS) $(OPTIMIZER) $(OS_CFLAGS)\
|
||||
$(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS)
|
||||
CCCFLAGS = $(CCC_ONLY_FLAGS) $(OPTIMIZER) $(OS_CFLAGS)\
|
||||
$(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS)
|
||||
# For purify
|
||||
NOMD_CFLAGS = $(CC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\
|
||||
$(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS)
|
||||
NOMD_CCFLAGS = $(CCC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\
|
||||
$(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS)
|
||||
|
||||
NSINSTALL = $(MOD_DEPTH)/config/$(OBJDIR_NAME)/nsinstall
|
||||
|
||||
ifeq ($(NSDISTMODE),copy)
|
||||
# copy files, but preserve source mtime
|
||||
INSTALL = $(NSINSTALL) -t
|
||||
else
|
||||
ifeq ($(NSDISTMODE),absolute_symlink)
|
||||
# install using absolute symbolic links
|
||||
INSTALL = $(NSINSTALL) -L `$(NFSPWD)`
|
||||
else
|
||||
# install using relative symbolic links
|
||||
INSTALL = $(NSINSTALL) -R
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef BUILD_DEBUG_GC
|
||||
DEFINES += -DDEBUG_GC
|
||||
endif
|
||||
|
||||
GARBAGE += $(DEPENDENCIES) core $(wildcard core.[0-9]*)
|
||||
|
||||
DEFINES += -DFORCE_PR_LOG
|
||||
|
||||
ifeq ($(_PR_NO_CLOCK_TIMER),1)
|
||||
DEFINES += -D_PR_NO_CLOCK_TIMER
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
DEFINES += -D_PR_PTHREADS -UHAVE_CVAR_BUILT_ON_SEM
|
||||
endif
|
||||
|
||||
ifeq ($(PTHREADS_USER), 1)
|
||||
DEFINES += -DPTHREADS_USER -UHAVE_CVAR_BUILT_ON_SEM
|
||||
endif
|
||||
|
||||
ifeq ($(USE_IPV6),1)
|
||||
DEFINES += -D_PR_INET6
|
||||
endif
|
||||
|
||||
else # ! USE_AUTOCONF
|
||||
|
||||
ifndef NSPR_MY_CONFIG_MK
|
||||
NSPR_MY_CONFIG_MK = $(MOD_DEPTH)/config/my_config.mk
|
||||
endif
|
||||
|
@ -142,3 +197,5 @@ RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
|
|||
RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
|
||||
|
||||
-include $(NSPR_MY_OVERRIDES_MK)
|
||||
|
||||
endif # USE_AUTOCONF
|
|
@ -0,0 +1,5 @@
|
|||
# Include in Makefiles to define NSPR variables
|
||||
|
||||
NSPR_VERSION = @NSPR_VERSION@
|
||||
NSPR_LIB = -lnspr@NSPR_VERSION@
|
||||
NSPR_EXTRA_LIBS = @EXTRA_LIBS@
|
|
@ -0,0 +1,5 @@
|
|||
# Include in shell scripts to define NSPR variables
|
||||
|
||||
NSPR_VERSION=@NSPR_VERSION@
|
||||
NSPR_LIB=-lnspr$NSPR_VERSION
|
||||
NSPR_EXTRA_LIBS="@EXTRA_LIBS@"
|
|
@ -48,8 +48,25 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
ifndef topsrcdir
|
||||
topsrcdir=$(MOD_DEPTH)
|
||||
endif
|
||||
|
||||
ifndef srcdir
|
||||
srcdir=.
|
||||
endif
|
||||
|
||||
ifndef NSPR_CONFIG_MK
|
||||
include $(MOD_DEPTH)/config/config.mk
|
||||
include $(topsrcdir)/config/config.mk
|
||||
endif
|
||||
|
||||
ifdef USE_AUTOCONF
|
||||
ifdef INTERNAL_TOOLS
|
||||
CC=$(HOST_CC)
|
||||
CCC=$(HOST_CXX)
|
||||
CFLAGS=$(HOST_CFLAGS)
|
||||
CXXFLAGS=$(HOST_CXXFLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
|
@ -127,6 +144,14 @@ ifeq ($(OS_TARGET), WIN16)
|
|||
W16DEF = $(notdir $(basename $(SHARED_LIBRARY))).DEF
|
||||
endif
|
||||
|
||||
ifdef RES
|
||||
OBJS += $(RES)
|
||||
endif
|
||||
|
||||
ifdef RESOBJ
|
||||
#OBJS += $(RESOBJ)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifneq ($(OS_TARGET), WIN16)
|
||||
ifneq ($(OS_TARGET), OS2)
|
||||
|
@ -135,7 +160,7 @@ endif
|
|||
endif
|
||||
endif
|
||||
|
||||
ALL_TRASH = $(TARGETS) $(OBJS) $(OBJDIR) LOGS TAGS $(GARBAGE) \
|
||||
ALL_TRASH = $(TARGETS) $(OBJS) $(filter-out . .., $(OBJDIR)) LOGS TAGS $(GARBAGE) \
|
||||
$(NOSUCHFILE) \
|
||||
so_locations
|
||||
|
||||
|
@ -171,7 +196,7 @@ clean::
|
|||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
clobber::
|
||||
rm -rf $(OBJS) $(TARGETS) $(OBJDIR) $(GARBAGE) so_locations $(NOSUCHFILE)
|
||||
rm -rf $(OBJS) $(TARGETS) $(filter-out . ..,$(OBJDIR)) $(GARBAGE) so_locations $(NOSUCHFILE)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
realclean clobber_all::
|
||||
|
@ -268,6 +293,9 @@ endif
|
|||
$(SHARED_LIBRARY): $(OBJS)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@
|
||||
ifdef USE_AUTOCONF
|
||||
$(MKSHLIB) $(OBJS) $(EXTRA_LIBS) $(OS_LIBS)
|
||||
else
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
echo "#!" > $(OBJDIR)/lib$(LIBRARY_NAME)_syms
|
||||
nm -B -C -g $(OBJS) \
|
||||
|
@ -322,6 +350,18 @@ else # OpenVMS
|
|||
endif # OpenVMS
|
||||
endif # WINNT
|
||||
endif # AIX 4.1
|
||||
endif # USE_AUTOCONF
|
||||
|
||||
$(PURE_LIBRARY):
|
||||
rm -f $@
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
$(AR) $(OBJS)
|
||||
endif
|
||||
$(RANLIB) $@
|
||||
|
||||
|
||||
$(RESOBJ): $(RESNAME)
|
||||
$(RC) -F$(OBJ_SUFFIX) $< $@
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
$(RES): $(RESNAME)
|
||||
|
@ -363,24 +403,24 @@ ifeq ($(OS_TARGET), WIN16)
|
|||
rm w16wccf
|
||||
else
|
||||
ifndef XP_OS2_EMX
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $*.c
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $<
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) $*.c
|
||||
$(CC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) $*.c
|
||||
$(CC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
|
||||
$(OBJDIR)/%.$(OBJ_SUFFIX): %.s
|
||||
@$(MAKE_OBJDIR)
|
||||
$(AS) -o $@ $(ASFLAGS) -c $*.s
|
||||
$(AS) -o $@ $(ASFLAGS) -c $<
|
||||
|
||||
%.i: %.c
|
||||
$(CC) -C -E $(CFLAGS) $< > $*.i
|
||||
|
||||
%: %.pl
|
||||
rm -f $@; cp $*.pl $@; chmod +x $@
|
||||
rm -f $@; cp $< $@; chmod +x $@
|
||||
|
||||
################################################################################
|
||||
# Special gmake rules.
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,615 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.12)
|
||||
AC_INIT(config/libc_r.h)
|
||||
|
||||
d=`pwd`
|
||||
if test "${srcdir}" = "$d" || test "${srcdir}" = "." ; then
|
||||
echo "Do not build in the srcdir as it will override Makefiles used by non-autoconf build."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
|
||||
AC_CANONICAL_SYSTEM
|
||||
AC_VALIDATE_CACHED_SYSTEM_TUPLE
|
||||
AC_PREFIX_DEFAULT(\${MOD_DEPTH}/dist)
|
||||
|
||||
dnl Set this define to make fixes w/o breaking anything else.
|
||||
AC_DEFINE(USE_AUTOCONF)
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Version defaults
|
||||
dnl ========================================================
|
||||
NSPR_VERSION=3
|
||||
NSPR_MODNAME=nspr20
|
||||
_HAVE_PTHREADS=
|
||||
USE_PTHREADS=
|
||||
USE_USER_PTHREADS=
|
||||
USE_NSPR_THREADS=
|
||||
|
||||
dnl ========================================================
|
||||
dnl =
|
||||
dnl = Dont change the following lines. Doing so breaks:
|
||||
dnl =
|
||||
dnl = CFLAGS="-foo" ./configure
|
||||
dnl =
|
||||
dnl ========================================================
|
||||
CFLAGS="${CFLAGS=}"
|
||||
CXXFLAGS="${CXXFLAGS=}"
|
||||
LDFLAGS="${LDFLAGS=}"
|
||||
HOST_CFLAGS="${HOST_CFLAGS=}"
|
||||
HOST_LDFLAGS="${HOST_LDFLAGS=}"
|
||||
|
||||
dnl ========================================================
|
||||
dnl =
|
||||
dnl = Check options that may affect the compiler
|
||||
dnl =
|
||||
dnl ========================================================
|
||||
MOZ_DEBUG=1
|
||||
AC_ARG_ENABLE(debug,
|
||||
[ --disable-debug Do not compile in debugging symbols],
|
||||
[ if test "$enableval" = "no"; then
|
||||
MOZ_DEBUG=
|
||||
fi])
|
||||
|
||||
AC_ARG_ENABLE(shared,
|
||||
[ --disable-shared Do not compile into shared libraries])
|
||||
|
||||
AC_ARG_ENABLE(target,
|
||||
[ --enable-target=\$t Turn on features for target \$t when build has multiple targets],
|
||||
MOZ_TARGET=`echo $enableval | tr a-z A-Z`,
|
||||
MOZ_TARGET=)
|
||||
|
||||
if test -n "$MOZ_DEBUG"; then
|
||||
CFLAGS="$CFLAGS -g"
|
||||
CXXFLAGS="$CXXFLAGS -g"
|
||||
fi
|
||||
|
||||
dnl ========================================================
|
||||
dnl Checks for compilers.
|
||||
dnl ========================================================
|
||||
if test "$target" != "$host"; then
|
||||
echo "cross compiling from $host to $target"
|
||||
cross_compiling=yes
|
||||
|
||||
_SAVE_CC="$CC"
|
||||
_SAVE_CFLAGS="$CFLAGS"
|
||||
_SAVE_LDFLAGS="$LDFLAGS"
|
||||
|
||||
AC_MSG_CHECKING([for $host compiler])
|
||||
if test -z "$HOST_CC"; then
|
||||
AC_CHECK_PROGS(HOST_CC, gcc cc /usr/ucb/cc, "")
|
||||
if test -z "$HOST_CC"; then
|
||||
AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$HOST_CC])
|
||||
if test -z "$HOST_CFLAGS"; then
|
||||
HOST_CFLAGS="$CFLAGS"
|
||||
fi
|
||||
if test -z "$HOST_LDFLAGS"; then
|
||||
HOST_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
CC="$HOST_CC"
|
||||
CFLAGS="$HOST_CFLAGS"
|
||||
LDFLAGS="$HOST_LDFLAGS"
|
||||
|
||||
AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works])
|
||||
AC_TRY_COMPILE([], [return(0);],
|
||||
[ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])],
|
||||
AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) )
|
||||
|
||||
CC=$_SAVE_CC
|
||||
CFLAGS=$_SAVE_CFLAGS
|
||||
LDFLAGS=$_SAVE_LDFLAGS
|
||||
|
||||
if test -z "$CC"; then
|
||||
AC_CHECK_PROGS(CC, "${target_alias}-gcc" "${target}-gcc", :)
|
||||
fi
|
||||
unset ac_cv_prog_CC
|
||||
AC_PROG_CC
|
||||
if test -z "$CXX"; then
|
||||
AC_CHECK_PROGS(CXX, "${target_alias}-g++" "${target}-g++", :)
|
||||
fi
|
||||
unset ac_cv_prog_CXX
|
||||
AC_PROG_CXX
|
||||
if test -z "$RANLIB"; then
|
||||
AC_CHECK_PROGS(RANLIB, "${target_alias}-ranlib" "${target}-ranlib", :)
|
||||
fi
|
||||
if test -z "$AR"; then
|
||||
AC_CHECK_PROGS(AR, "${target_alias}-ar" "${target}-ar", :)
|
||||
fi
|
||||
if test -z "$AS"; then
|
||||
AC_CHECK_PROGS(AS, "${target_alias}-as" "${target}-as", :)
|
||||
fi
|
||||
if test -z "$DLLTOOL"; then
|
||||
AC_CHECK_PROGS(DLLTOOL, "${target_alias}-dlltool" "${target}-dlltool", :)
|
||||
fi
|
||||
if test -z "$WINDRES"; then
|
||||
AC_CHECK_PROGS(WINDRES, "${target_alias}-windres" "${target}-windres", :)
|
||||
fi
|
||||
else
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_PROG_RANLIB
|
||||
AC_PATH_PROGS(AS, as, $CC)
|
||||
AC_PATH_PROGS(AR, ar, :)
|
||||
AC_PATH_PROGS(DLLTOOL, dlltool, :)
|
||||
AC_PATH_PROGS(WINDRES, windres, :)
|
||||
if test -z "$HOST_CC"; then
|
||||
HOST_CC="$CC"
|
||||
fi
|
||||
if test -z "$HOST_CFLAGS"; then
|
||||
HOST_CFLAGS="$CFLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$GCC" = "yes"; then
|
||||
GNU_CC=1
|
||||
fi
|
||||
|
||||
dnl ========================================================
|
||||
dnl Checks for programs.
|
||||
dnl ========================================================
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PATH_PROGS(PERL, perl5 perl, :)
|
||||
|
||||
dnl ========================================================
|
||||
dnl Default platform specific options
|
||||
dnl ========================================================
|
||||
OBJ_SUFFIX=o
|
||||
LIB_SUFFIX=a
|
||||
DLL_SUFFIX=so
|
||||
MKSHLIB='$(CCC) -shared -o $@'
|
||||
PR_MD_ASFILES=
|
||||
PR_MD_CSRCS=
|
||||
|
||||
dnl ========================================================
|
||||
dnl Override of system specific host options
|
||||
dnl ========================================================
|
||||
case "$host" in
|
||||
*-mingw*)
|
||||
;;
|
||||
*)
|
||||
HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl ========================================================
|
||||
dnl Override of system specific target options
|
||||
dnl ========================================================
|
||||
case "$target" in
|
||||
*-beos*)
|
||||
AC_DEFINE(XP_BEOS)
|
||||
AC_DEFINE(BeOS)
|
||||
AC_DEFINE(BEOS)
|
||||
;;
|
||||
|
||||
*-linux*)
|
||||
AC_DEFINE(XP_UNIX)
|
||||
MDCPUCFG_H=_linux.cfg
|
||||
PR_MD_CSRCS=linux.c
|
||||
PR_MD_ARCH_DIR=unix
|
||||
case "${target_cpu}" in
|
||||
alpha*)
|
||||
AC_DEFINE(XP_UNIX)
|
||||
AC_DEFINE(_POSIX_SOURCE)
|
||||
AC_DEFINE(_BSD_SOURCE)
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
*-irix*)
|
||||
AC_DEFINE(XP_UNIX)
|
||||
MDCPUCFG_H=_irix32.cfg
|
||||
PR_MD_CSRCS=irix.c
|
||||
AS="as -D_ASM $(INCLUDES) -n32"
|
||||
PR_MD_ASFILES=os_Irix.s
|
||||
PR_MD_ARCH_DIR=unix
|
||||
case "${target_cpu}" in
|
||||
alpha*)
|
||||
AC_DEFINE(_POSIX_SOURCE)
|
||||
AC_DEFINE(_BSD_SOURCE)
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
*-mingw*)
|
||||
AC_DEFINE(XP_PC)
|
||||
PR_MD_ARCH_DIR=windows
|
||||
if test -z "$GNU_CC"; then
|
||||
OBJ_SUFFIX=obj
|
||||
LIB_SUFFIX=lib
|
||||
DLL_SUFFIX=dll
|
||||
fi
|
||||
MKSHLIB='$(DLLTOOL) --as=$(AS) -k --dllname $*.dll --output-lib $@'
|
||||
|
||||
case "$MOZ_TARGET" in
|
||||
WINNT)
|
||||
DEFINES="$DEFINES -DWIN32 -DWINNT -DWin32_Winsock"
|
||||
MDCPUCFG_H=_winnt.cfg
|
||||
;;
|
||||
WIN95)
|
||||
DEFINES="$DEFINES -UWINNT -DWIN32 -DWIN95 -DWin32_Winsock -D_PR_GLOBAL_THREADS_ONLY"
|
||||
MDCPUCFG_H=_win95.cfg
|
||||
;;
|
||||
WIN16)
|
||||
DEFINES="$DEFINES -UWINNT"
|
||||
MDCPUCFG_H=_win16.cfg
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Missing MOZ_TARGET for ${target}. Use --enable-target to set.])
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$target" in
|
||||
i?86-*)
|
||||
AC_DEFINE(_X86_)
|
||||
;;
|
||||
alpha-*)
|
||||
AC_DEFINE(_ALPHA_)
|
||||
;;
|
||||
mips-*)
|
||||
AC_DEFINE(_MIPS_)
|
||||
;;
|
||||
*)
|
||||
AC_DEFINE(_CPU_ARCH_NOT_DEFINED)
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Turn off shared libraries if asked to do so.
|
||||
if test "$enable_shared" = no; then
|
||||
MKSHLIB=
|
||||
fi
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check for system libraries
|
||||
dnl ========================================================
|
||||
dnl AC_CHECK_LIB(C, main)
|
||||
dnl AC_CHECK_LIB(C_r, main)
|
||||
dnl AC_CHECK_LIB(c, main)
|
||||
dnl AC_CHECK_LIB(c_r, main)
|
||||
dnl AC_CHECK_LIB(dce, main)
|
||||
dnl AC_CHECK_LIB(dl, main)
|
||||
dnl AC_CHECK_LIB(dld, main)
|
||||
dnl AC_CHECK_LIB(gen, main)
|
||||
dnl AC_CHECK_LIB(ip6, main)
|
||||
dnl AC_CHECK_LIB(l, main)
|
||||
dnl AC_CHECK_LIB(m, main)
|
||||
dnl AC_CHECK_LIB(nsl, main)
|
||||
dnl AC_CHECK_LIB(posix4, main)
|
||||
dnl AC_CHECK_LIB(prstrms, main)
|
||||
dnl AC_CHECK_LIB(prstrms_shr, main)
|
||||
dnl AC_CHECK_LIB(pthread, main)
|
||||
dnl AC_CHECK_LIB(pthreads, main)
|
||||
dnl AC_CHECK_LIB(resolv, main)
|
||||
dnl AC_CHECK_LIB(rt, main)
|
||||
dnl AC_CHECK_LIB(socket, main)
|
||||
dnl AC_CHECK_LIB(svld, main)
|
||||
dnl AC_CHECK_LIB(thread, main)
|
||||
dnl AC_CHECK_LIB(vms_jackets, main)
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check for system header files.
|
||||
dnl ========================================================
|
||||
dnl AC_HEADER_DIRENT
|
||||
dnl AC_HEADER_STDC
|
||||
dnl AC_HEADER_SYS_WAIT
|
||||
dnl AC_CHECK_HEADERS(fcntl.h limits.h sys/file.h sys/ioctl.h sys/time.h unistd.h)
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check for typedefs and structs
|
||||
dnl ========================================================
|
||||
dnl AC_C_CONST
|
||||
dnl AC_TYPE_UID_T
|
||||
dnl AC_TYPE_MODE_T
|
||||
dnl AC_TYPE_OFF_T
|
||||
dnl AC_TYPE_PID_T
|
||||
dnl AC_TYPE_SIZE_T
|
||||
dnl AC_STRUCT_ST_BLKSIZE
|
||||
dnl AC_STRUCT_ST_BLOCKS
|
||||
dnl AC_STRUCT_ST_RDEV
|
||||
dnl AC_HEADER_TIME
|
||||
dnl AC_STRUCT_TM
|
||||
|
||||
dnl ========================================================
|
||||
dnl Checks for library functions.
|
||||
dnl ========================================================
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_CHECK_FUNCS(lchown strerror)
|
||||
|
||||
dnl AC_FUNC_MEMCMP
|
||||
dnl AC_FUNC_MMAP
|
||||
dnl AC_FUNC_SETVBUF_REVERSED
|
||||
dnl AC_FUNC_STRCOLL
|
||||
dnl AC_FUNC_STRFTIME
|
||||
dnl AC_FUNC_UTIME_NULL
|
||||
dnl AC_FUNC_VPRINTF
|
||||
dnl AC_CHECK_FUNCS(ftime getcwd gethostname gettimeofday getwd mkdir mktime putenv rmdir select socket strdup strerror strstr strtol strtoul uname)
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check options
|
||||
dnl ========================================================
|
||||
|
||||
OS_LIBS=
|
||||
|
||||
dnl Check if NSPR is being compiled for Mozilla
|
||||
dnl Let --with-arg override environment setting
|
||||
dnl
|
||||
AC_ARG_WITH(mozilla,
|
||||
[ --with-mozilla Compile NSPR with Mozilla support],
|
||||
[ if test "$withval" = "yes"; then
|
||||
AC_DEFINE(MOZILLA_CLIENT)
|
||||
else
|
||||
MOZILLA_CLIENT=
|
||||
fi],
|
||||
[ if test -n "$MOZILLA_CLIENT"; then
|
||||
AC_DEFINE(MOZILLA_CLIENT)
|
||||
fi])
|
||||
|
||||
AC_CHECK_LIB(pthread, pthread_attr_init,
|
||||
_HAVE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthread")
|
||||
|
||||
dnl
|
||||
dnl If the above test failed, try lib c_r
|
||||
dnl
|
||||
if test "x$ac_cv_lib_pthread_pthread_attr_init" = "xno" -a \
|
||||
"x$ac_cv_lib_c_r_gethostbyname_r" = "xno"
|
||||
then
|
||||
AC_CHECK_LIB(c_r, pthread_attr_init,
|
||||
_HAVE_PTHREADS=1 _PTHREAD_LDFLAGS="-lc_r")
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(pthreads,
|
||||
[ --with-pthreads Use system pthreads library as thread subsystem],
|
||||
[ if test "$withval" = "yes"; then
|
||||
if test -n "$_HAVE_PTHREADS"; then
|
||||
USE_PTHREADS=1
|
||||
USE_USER_PTHREADS=
|
||||
USE_NSPR_THREADS=
|
||||
else
|
||||
AC_MSG_ERROR([ --with-pthreads specified for a system without pthread support ]);
|
||||
fi
|
||||
else
|
||||
USE_PTHREADS=
|
||||
_PTHREAD_LDFLAGS=
|
||||
fi],
|
||||
[ if test -n "$_HAVE_PTHREADS"; then
|
||||
USE_PTHREADS=1
|
||||
USE_USER_PTHREADS=
|
||||
USE_NSPR_THREADS=
|
||||
fi])
|
||||
|
||||
AC_ARG_ENABLE(user-pthreads,
|
||||
[ --enable-user-pthreads Build using userland pthreads],
|
||||
[ if test "$enableval" = "yes"; then
|
||||
if test -n "$_HAVE_PTHREADS"; then
|
||||
USE_PTHREADS=
|
||||
USE_USER_PTHREADS=1
|
||||
USE_NSPR_THREADS=
|
||||
else
|
||||
AC_MSG_ERROR([ --enable-user-pthreads specified for a system without pthread support ]);
|
||||
fi
|
||||
fi])
|
||||
|
||||
AC_ARG_ENABLE(nspr-threads,
|
||||
[ --enable-nspr-threads Build using classic nspr threads],
|
||||
[ if test "$enableval" = "yes"; then
|
||||
USE_PTHREADS=
|
||||
USE_USER_PTHREADS=
|
||||
USE_NSPR_THREADS=1
|
||||
fi])
|
||||
|
||||
case "$target" in
|
||||
*-beos*)
|
||||
AC_ARG_WITH(bthreads,
|
||||
[ --with-bthreads Use system bthreads library as thread subsystem (BeOS only)],
|
||||
[ if test "$withval" = "yes"; then
|
||||
USE_BTHREADS=1
|
||||
USE_USER_PTHREADS=
|
||||
USE_PTHREADS=
|
||||
fi])
|
||||
;;
|
||||
|
||||
*-solaris*)
|
||||
AC_ARG_WITH(native-threads,
|
||||
[ --with-native-threads Use native system threads as thread subsystem (Solaris only)],
|
||||
[ if test "$withval" = "yes"; then
|
||||
USE_NATIVE_THREADS=1
|
||||
USE_USER_PTHREADS=
|
||||
USE_PTHREADS=
|
||||
fi])
|
||||
;;
|
||||
esac
|
||||
|
||||
USE_CPLUS=
|
||||
AC_ARG_ENABLE(cplus,
|
||||
[ --enable-cplus Use cplus for whatever reason],
|
||||
[ if test "$enableval" = "yes"; then
|
||||
USE_CPLUS=1
|
||||
fi])
|
||||
|
||||
USE_IPV6=
|
||||
AC_ARG_ENABLE(ipv6,
|
||||
[ --enable-ipv6 Compile ipv6 support],
|
||||
[ if test "$enableval" = "yes"; then
|
||||
USE_IPV6=1
|
||||
fi])
|
||||
|
||||
if test -n "$USE_PTHREADS"; then
|
||||
dnl See if -pthread is supported.
|
||||
rm -f conftest*
|
||||
ac_cv_have_dash_pthread=no
|
||||
AC_MSG_CHECKING(whether ${CC-cc} accepts -pthread)
|
||||
echo 'int main() { return 0; }' | cat > conftest.c
|
||||
${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
|
||||
if test $? -eq 0; then
|
||||
if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
|
||||
ac_cv_have_dash_pthread=yes
|
||||
CFLAGS="$CFLAGS -pthread"
|
||||
CXXFLAGS="$CXXFLAGS -pthread"
|
||||
fi
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT($ac_cv_have_dash_pthread)
|
||||
|
||||
case "$target" in
|
||||
*-mingw*|*-cygwin*|*-uwin*)
|
||||
;;
|
||||
*-solaris*)
|
||||
AC_DEFINE(_REENTRANT)
|
||||
if test -n "$GNU_CC"; then
|
||||
CFLAGS="$CFLAGS -mt"
|
||||
CXXFLAGS="$CXXFLAGS -mt"
|
||||
fi
|
||||
;;
|
||||
*-freebsd*)
|
||||
AC_DEFINE(_REENTRANT)
|
||||
AC_DEFINE(_THREAD_SAFE)
|
||||
dnl -pthread links in -lc_r, so don't specify it explicitly.
|
||||
if test "$ac_cv_have_dash_pthread" = "yes"; then
|
||||
PTHREAD_LDFLAGS=
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_DEFINE(_REENTRANT)
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_FUNC(pthread_create,,[
|
||||
AC_CHECK_LIB(pthread, pthread_create, [OS_LIBS="-lpthread $OS_LIBS"])
|
||||
])
|
||||
|
||||
else
|
||||
if test -n "$USE_USER_PTHREADS"; then
|
||||
USE_PTHREADS=
|
||||
USE_NSPR_THREADS=
|
||||
else
|
||||
USE_NSPR_THREADS=1
|
||||
dnl AC_DEFINE(_PR_LOCAL_THREADS_ONLY)
|
||||
fi
|
||||
fi
|
||||
dnl Special thread exceptions
|
||||
|
||||
case "$target" in
|
||||
*-mingw*|*-cygwin*|*-uwin*)
|
||||
# win32 does not use pthreads
|
||||
USE_PTHREADS=
|
||||
PTHREAD_LDFLAGS=
|
||||
USE_USER_PTHREADS=
|
||||
;;
|
||||
*-solaris*)
|
||||
if test -n "$USE_NATIVE_THREADS"; then
|
||||
AC_DEFINE(_PR_GLOBAL_THREADS_ONLY)
|
||||
else
|
||||
AC_DEFINE(_PR_LOCAL_THREADS_ONLY)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_FUNC(dlopen,,[
|
||||
AC_CHECK_LIB(dl, dlopen, [OS_LIBS="-ldl $OS_LIBS"])
|
||||
])
|
||||
|
||||
EXTRA_LIBS=
|
||||
if test "$enable_shared" = no; then
|
||||
EXTRA_LIBS="$OS_LIBS"
|
||||
fi
|
||||
|
||||
dnl ========================================================
|
||||
dnl Substitution of found variables.
|
||||
dnl ========================================================
|
||||
AC_SUBST(MOZILLA_CLIENT)
|
||||
AC_SUBST(CC)
|
||||
AC_SUBST(CXX)
|
||||
AC_SUBST(CFLAGS)
|
||||
AC_SUBST(CXXFLAGS)
|
||||
AC_SUBST(HOST_CC)
|
||||
AC_SUBST(HOST_CFLAGS)
|
||||
AC_SUBST(GNU_CC)
|
||||
|
||||
AC_SUBST(USE_PTHREADS)
|
||||
AC_SUBST(USE_BTHREADS)
|
||||
AC_SUBST(USE_CPLUS)
|
||||
AC_SUBST(USE_IPV6)
|
||||
AC_SUBST(USE_USER_PTHREADS)
|
||||
AC_SUBST(USE_NATIVE_THREADS)
|
||||
AC_SUBST(USE_NSPR_THREADS)
|
||||
|
||||
AC_SUBST(NSPR_VERSION)
|
||||
AC_SUBST(NSPR_MODNAME)
|
||||
AC_SUBST(MDCPUCFG_H)
|
||||
AC_SUBST(MOZ_TARGET)
|
||||
AC_SUBST(PR_MD_CSRCS)
|
||||
AC_SUBST(PR_MD_ASFILES)
|
||||
AC_SUBST(PR_MD_ARCH_DIR)
|
||||
|
||||
AC_SUBST(OBJ_SUFFIX)
|
||||
AC_SUBST(LIB_SUFFIX)
|
||||
AC_SUBST(DLL_SUFFIX)
|
||||
AC_SUBST(MKSHLIB)
|
||||
|
||||
AC_SUBST(DEFINES)
|
||||
AC_SUBST(DEFS)
|
||||
AC_SUBST(AR)
|
||||
AC_SUBST(DLLTOOL)
|
||||
AC_SUBST(WINDRES)
|
||||
AC_SUBST(RANLIB)
|
||||
AC_SUBST(PERL)
|
||||
|
||||
AC_SUBST(OS_LIBS)
|
||||
AC_SUBST(EXTRA_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
dnl Generate output files.
|
||||
dnl ========================================================
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
config/Makefile
|
||||
config/autoconf.mk
|
||||
config/nsprincl.mk
|
||||
config/nsprincl.sh
|
||||
lib/Makefile
|
||||
lib/ds/Makefile
|
||||
lib/libc/Makefile
|
||||
lib/libc/include/Makefile
|
||||
lib/libc/src/Makefile
|
||||
lib/msgc/Makefile
|
||||
lib/msgc/include/Makefile
|
||||
lib/msgc/src/Makefile
|
||||
lib/msgc/tests/Makefile
|
||||
lib/prstreams/Makefile
|
||||
lib/tests/Makefile
|
||||
pr/Makefile
|
||||
pr/include/Makefile
|
||||
pr/include/md/Makefile
|
||||
pr/include/obsolete/Makefile
|
||||
pr/include/private/Makefile
|
||||
pr/src/Makefile
|
||||
pr/src/bthreads/Makefile
|
||||
pr/src/cplus/Makefile
|
||||
pr/src/cplus/tests/Makefile
|
||||
pr/src/io/Makefile
|
||||
pr/src/linking/Makefile
|
||||
pr/src/malloc/Makefile
|
||||
pr/src/md/Makefile
|
||||
pr/src/md/beos/Makefile
|
||||
pr/src/md/os2/Makefile
|
||||
pr/src/md/unix/Makefile
|
||||
pr/src/md/windows/Makefile
|
||||
pr/src/memory/Makefile
|
||||
pr/src/misc/Makefile
|
||||
pr/src/pthreads/Makefile
|
||||
pr/src/threads/Makefile
|
||||
pr/src/threads/combined/Makefile
|
||||
pr/tests/Makefile
|
||||
pr/tests/dll/Makefile
|
||||
pr/tests/w16gui/Makefile
|
||||
tools/Makefile
|
||||
])
|
||||
|
||||
dnl lib/prstreams/tests/testprstrm/Makefile
|
||||
dnl lib/tests/windows/makefile
|
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
export NSPR20=1
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
DIRS = ds libc
|
||||
|
||||
ifneq (,$(filter-out Rhapsody WIN16 NEWS-OS,$(OS_TARGET)))
|
||||
DIRS += prstreams
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,184 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
CSRCS = \
|
||||
plarena.c \
|
||||
plevent.c \
|
||||
plhash.c \
|
||||
plvrsion.c \
|
||||
$(NULL)
|
||||
|
||||
HEADERS = \
|
||||
plarenas.h \
|
||||
plarena.h \
|
||||
plevent.h \
|
||||
plhash.h \
|
||||
$(NULL)
|
||||
|
||||
HEADERS := $(addprefix $(srcdir)/, $(HEADERS))
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq (,$(filter-out WIN16 OS2,$(OS_TARGET)))
|
||||
# OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
ifdef XP_OS2_EMX
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)
|
||||
else
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
endif
|
||||
else
|
||||
DLLBASE=/BASE:0x30000000
|
||||
RES=$(OBJDIR)/ds.res
|
||||
RESNAME=$(MOD_DEPTH)/pr/src/nspr.rc
|
||||
OS_LIBS = user32.lib
|
||||
ifeq ($(OS_TARGET),WIN95)
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
else
|
||||
EXTRA_LIBS = $(DIST)/lib/libnspr$(MOD_VERSION).lib
|
||||
endif
|
||||
|
||||
ifdef MOZ_DEBUG
|
||||
ifdef GLOWCODE
|
||||
EXTRA_LIBS += $(GLOWDIR)/glowcode.lib
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_ARCH), AIX)
|
||||
ifeq ($(CLASSIC_NSPR),1)
|
||||
OS_LIBS += -lc
|
||||
else
|
||||
OS_LIBS += -lc_r
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)_shr
|
||||
else
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)
|
||||
endif
|
||||
endif
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the .o files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
LIBRARY_NAME = plds
|
||||
LIBRARY_VERSION = $(MOD_VERSION)
|
||||
|
||||
RELEASE_HEADERS = $(HEADERS)
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
|
||||
RELEASE_LIBS = $(TARGETS)
|
||||
|
||||
GARBAGE += $(TINC)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
#
|
||||
# Version information generation (begin)
|
||||
#
|
||||
ECHO = echo
|
||||
TINC = $(OBJDIR)/_pl_bld.h
|
||||
PROD = $(notdir $(SHARED_LIBRARY))
|
||||
NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now
|
||||
SH_DATE = $(shell date)
|
||||
SH_NOW = $(shell $(NOW))
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
SUF =
|
||||
else
|
||||
SUF = i64
|
||||
endif
|
||||
else
|
||||
SUF = LL
|
||||
endif
|
||||
|
||||
$(TINC):
|
||||
@$(MAKE_OBJDIR)
|
||||
@$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
|
||||
@if test ! -z "$(SH_NOW)"; then \
|
||||
$(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
|
||||
|
||||
|
||||
$(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifdef XP_OS2_EMX
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
else
|
||||
$(CC) -Fo$@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
endif
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
endif
|
||||
#
|
||||
# Version information generation (end)
|
||||
#
|
||||
|
||||
#
|
||||
# The Client build wants the shared libraries in $(DIST)/bin,
|
||||
# so we also install them there.
|
||||
#
|
||||
|
||||
export:: $(TARGETS)
|
||||
$(INSTALL) -m 444 $(HEADERS) $(DIST)/include
|
||||
$(INSTALL) -m 444 $(TARGETS) $(DIST)/lib
|
||||
ifdef SHARED_LIBRARY
|
||||
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(DIST)/bin
|
||||
endif
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(HEADERS) $(MOZ_INCL)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
|
||||
endif
|
||||
|
||||
install:: export
|
||||
|
|
@ -171,9 +171,9 @@ and to ensure that no more events will be delivered for that owner.
|
|||
#include "prmon.h"
|
||||
|
||||
/* For HWND */
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
#include <windef.h>
|
||||
#elif defined(WIN16)
|
||||
#elif defined(WIN16) || defined(__MINGW32__)
|
||||
#include <windows.h>
|
||||
#elif defined(XP_OS2)
|
||||
#include <os2.h>
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
export NSPR20=1
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
DIRS = include src
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,42 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
HEADERS = $(wildcard $(srcdir)/*.h)
|
||||
|
||||
RELEASE_HEADERS = $(HEADERS)
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(HEADERS)
|
||||
$(INSTALL) -m 444 $(HEADERS) $(DIST)/include
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(HEADERS) $(MOZ_INCL)
|
||||
endif
|
||||
|
||||
install:: export
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
CSRCS =\
|
||||
plvrsion.c \
|
||||
strlen.c \
|
||||
strcpy.c \
|
||||
strdup.c \
|
||||
strcat.c \
|
||||
strcmp.c \
|
||||
strccmp.c \
|
||||
strchr.c \
|
||||
strpbrk.c \
|
||||
strstr.c \
|
||||
strcstr.c \
|
||||
base64.c \
|
||||
plerror.c \
|
||||
plgetopt.c \
|
||||
$(NULL)
|
||||
|
||||
LIBRARY_NAME = plc
|
||||
LIBRARY_VERSION = $(MOD_VERSION)
|
||||
|
||||
RELEASE_LIBS = $(TARGETS)
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq (,$(filter-out WIN16 OS2,$(OS_TARGET)))
|
||||
ifdef XP_OS2_EMX
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)
|
||||
else
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
endif
|
||||
else
|
||||
DLLBASE=/BASE:0x30000000
|
||||
RES=$(OBJDIR)/plc.res
|
||||
RESNAME=$(MOD_DEPTH)/pr/src/nspr.rc
|
||||
ifeq ($(OS_TARGET),WIN95)
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
else
|
||||
EXTRA_LIBS = $(DIST)/lib/libnspr$(MOD_VERSION).lib
|
||||
endif
|
||||
|
||||
ifdef MOZ_DEBUG
|
||||
ifdef GLOWCODE
|
||||
EXTRA_LIBS += $(GLOWDIR)/glowcode.lib
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_ARCH), AIX)
|
||||
ifeq ($(CLASSIC_NSPR),1)
|
||||
OS_LIBS += -lc
|
||||
else
|
||||
OS_LIBS += -lc_r
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)_shr
|
||||
else
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)
|
||||
endif
|
||||
endif
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the .o files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
GARBAGE += $(TINC)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
#
|
||||
# Version information generation (begin)
|
||||
#
|
||||
ECHO = echo
|
||||
TINC = $(OBJDIR)/_pl_bld.h
|
||||
PROD = $(notdir $(SHARED_LIBRARY))
|
||||
NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now
|
||||
SH_DATE = $(shell date)
|
||||
SH_NOW = $(shell $(NOW))
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
SUF =
|
||||
else
|
||||
SUF = i64
|
||||
endif
|
||||
else
|
||||
SUF = LL
|
||||
endif
|
||||
|
||||
$(TINC):
|
||||
@$(MAKE_OBJDIR)
|
||||
@$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
|
||||
@if test ! -z "$(SH_NOW)"; then \
|
||||
$(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
|
||||
|
||||
|
||||
$(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifdef XP_OS2_EMX
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
else
|
||||
$(CC) -Fo$@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
endif
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
endif
|
||||
#
|
||||
# Version information generation (end)
|
||||
#
|
||||
|
||||
#
|
||||
# The Client build wants the shared libraries in $(DIST)/bin,
|
||||
# so we also install them there.
|
||||
#
|
||||
|
||||
export:: $(TARGETS)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(DIST)/lib
|
||||
ifdef SHARED_LIBRARY
|
||||
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(DIST)/bin
|
||||
endif
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
|
||||
endif
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,33 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
DIRS = include src tests
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,42 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
EXPORT_HEADERS = prgc.h
|
||||
HEADERS = $(EXPORT_HEADERS) gcint.h
|
||||
|
||||
RELEASE_HEADERS = $(EXPORT_HEADERS)
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(EXPORT_HEADERS)
|
||||
$(INSTALL) -m 444 $(EXPORT_HEADERS) $(DIST)/include
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(EXPORT_HEADERS) $(MOZ_INCL)
|
||||
endif
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,121 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I../include
|
||||
|
||||
CSRCS = prgcapi.c prmsgc.c
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
CSRCS += win16gc.c
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
CSRCS += os2gc.c
|
||||
else
|
||||
CSRCS += win32gc.c
|
||||
endif
|
||||
endif
|
||||
else
|
||||
CSRCS += unixgc.c
|
||||
endif
|
||||
|
||||
NSPR_VERSION = $(MOD_VERSION)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq (,$(filter-out WIN16 OS2,$(OS_TARGET)))
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(NSPR_VERSION).lib
|
||||
else
|
||||
DLLBASE=/BASE:0x30000000
|
||||
#RES=$(OBJDIR)/ds.res
|
||||
#RESNAME=$(MOD_DEPTH)/pr/src/nspr.rc
|
||||
#OS_LIBS = user32.lib
|
||||
EXTRA_LIBS = $(DIST)/lib/libnspr$(NSPR_VERSION).lib
|
||||
|
||||
ifdef MOZ_DEBUG
|
||||
ifdef GLOWCODE
|
||||
EXTRA_LIBS += $(GLOWDIR)/glowcode.lib
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_ARCH), AIX)
|
||||
ifeq ($(CLASSIC_NSPR),1)
|
||||
OS_LIBS += -lc
|
||||
else
|
||||
OS_LIBS += -lc_r
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(NSPR_VERSION)_shr
|
||||
else
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(NSPR_VERSION)
|
||||
endif
|
||||
endif
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the .o files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
|
||||
LIBRARY_NAME = msgc
|
||||
LIBRARY_VERSION = $(MOD_VERSION)
|
||||
|
||||
RELEASE_LIBS = $(TARGETS)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
#
|
||||
# The Client build wants the shared libraries in $(DIST)/bin,
|
||||
# so we also install them there.
|
||||
#
|
||||
|
||||
export:: $(TARGETS)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(DIST)/lib
|
||||
ifdef SHARED_LIBRARY
|
||||
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(DIST)/bin
|
||||
endif
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
|
||||
endif
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,293 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
W16STDIO = $(MOD_DEPTH)/pr/src/md/windows/$(OBJDIR)/w16stdio.$(OBJ_SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), OS2)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
endif
|
||||
|
||||
CSRCS = gc1.c thrashgc.c
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
PROG_SUFFIX = .exe
|
||||
else
|
||||
PROG_SUFFIX =
|
||||
endif
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
|
||||
|
||||
TARGETS = $(PROGS) $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
# Setting the variables LDOPTS and LIBPR. We first initialize
|
||||
# them to the default values, then adjust them for some platforms.
|
||||
LDOPTS = -L$(DIST)/lib
|
||||
NSPR_VERSION = $(MOD_VERSION)
|
||||
GC_VERSION = $(MOD_VERSION)
|
||||
LIBPR = -lnspr$(NSPR_VERSION)
|
||||
LIBPLC = -lplc$(NSPR_VERSION)
|
||||
LIBGC = -lmsgc$(GC_VERSION)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
LIBPR = $(DIST)/lib/nspr$(NSPR_VERSION).lib
|
||||
LIBPLC = $(DIST)/lib/plc$(NSPR_VERSION).lib
|
||||
LIBGC= $(DIST)/lib/msgc$(GC_VERSION).lib
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
LDOPTS = -NOE -DEBUG -nologo -PMTYPE:VIO
|
||||
LIBPR = $(DIST)/lib/nspr$(NSPR_VERSION).lib
|
||||
LIBPLC = $(DIST)/lib/plc$(NSPR_VERSION).lib
|
||||
LIBGC= $(DIST)/lib/msgc$(GC_VERSION).lib
|
||||
else
|
||||
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
||||
LIBPR = $(DIST)/lib/libnspr$(NSPR_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLC = $(DIST)/lib/libplc$(NSPR_VERSION).$(LIB_SUFFIX)
|
||||
LIBGC= $(DIST)/lib/libmsgc$(GC_VERSION).$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
PWD = $(shell pwd)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib -rdata_shared
|
||||
|
||||
# For 6.x machines, include this flag
|
||||
ifeq ($(basename $(OS_RELEASE)),6)
|
||||
ifeq ($(USE_N32),1)
|
||||
LDOPTS += -n32
|
||||
else
|
||||
LDOPTS += -32
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), OSF1)
|
||||
# I haven't figured out how to pass -rpath to cc on OSF1 V3.2, so
|
||||
# we do static linking.
|
||||
ifeq ($(OS_RELEASE), V3.2)
|
||||
LIBPR = $(DIST)/lib/libnspr$(NSPR_VERSION).a
|
||||
LIBPLC = $(DIST)/lib/libplc$(NSPR_VERSION).a
|
||||
LIBGC = $(DIST)/lib/libmsgc$(GC_VERSION).a
|
||||
EXTRA_LIBS = -lc_r
|
||||
else
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -z -Wl,+s,+b,$(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
# AIX
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
LDOPTS += -blibpath:$(PWD)/$(DIST)/lib:/usr/lib:/lib
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)
|
||||
LIBPR = -lnspr$(NSPR_VERSION)_shr
|
||||
LIBPLC = -lplc$(NSPR_VERSION)_shr
|
||||
LIBGC = -lmsgc$(GC_VERSION)_shr
|
||||
else
|
||||
LDOPTS += -brtl
|
||||
EXTRA_LIBS = -ldl
|
||||
endif
|
||||
endif
|
||||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(DIST)/lib
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_THREADS_ONLY),1)
|
||||
# SunOS 5.4 and 5.5 need to link with -lthread or -lpthread,
|
||||
# even though we already linked with these system libraries
|
||||
# when we built libnspr.so.
|
||||
ifeq ($(OS_RELEASE), 5.4)
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS_RELEASE), 5.5)
|
||||
ifdef USE_PTHREADS
|
||||
EXTRA_LIBS = -lpthread
|
||||
else
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
endif
|
||||
endif # LOCAL_THREADS_ONLY
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH),NEC)
|
||||
EXTRA_LIBS = $(OS_LIBS)
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# XXX: We see some strange problems when we link with libnspr.so.
|
||||
# So for now we use static libraries on NCR. The shared library
|
||||
# stuff below is commented out.
|
||||
LIBPR = $(DIST)/lib/libnspr$(NSPR_VERSION).a
|
||||
LIBPLC = $(DIST)/lib/libplc$(NSPR_VERSION).a
|
||||
LIBGC = $(DIST)/lib/libmsgc$(GC_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
#EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), Linux)
|
||||
ifeq ($(OS_RELEASE), 1.2)
|
||||
EXTRA_LIBS = -ldl
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCOOS)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SINIX)
|
||||
EXTRA_LIBS = -lsocket -lnsl -lresolv -ldl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), UNIXWARE)
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),BSD_OS)
|
||||
EXTRA_LIBS = -ldl
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),DGUX)
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
endif
|
||||
|
||||
#####################################################
|
||||
#
|
||||
# The rules
|
||||
#
|
||||
#####################################################
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
AIX_PRE_4_2 = 0
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifneq ($(OS_RELEASE),4.2)
|
||||
ifneq ($(USE_PTHREADS), 1)
|
||||
#AIX_PRE_4_2 = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(AIX_PRE_4_2),1)
|
||||
|
||||
# AIX releases prior to 4.2 need a special two-step linking hack
|
||||
# in order to both override the system select() and be able to
|
||||
# get at the original system select().
|
||||
#
|
||||
# We use a pattern rule in ns/nspr20/config/rules.mk to generate
|
||||
# the .$(OBJ_SUFFIX) file from the .c source file, then do the
|
||||
# two-step linking hack below.
|
||||
|
||||
$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@ $(AIX_TMP)
|
||||
$(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(DIST)/lib/libnspr$(NSPR_VERSION).a
|
||||
$(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
|
||||
rm -f $(AIX_TMP)
|
||||
|
||||
else
|
||||
|
||||
# All platforms that are not AIX pre-4.2.
|
||||
|
||||
$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
echo system windows >w16link
|
||||
echo name $@ >>w16link
|
||||
echo option map >>w16link
|
||||
# echo option CASEEXACT >>w16link
|
||||
echo option stack=16K >>w16link
|
||||
echo debug $(DEBUGTYPE) all >>w16link
|
||||
echo file >>w16link
|
||||
echo $< , >>w16link
|
||||
echo $(W16STDIO) >>w16link
|
||||
echo library >>w16link
|
||||
echo $(LIBPR), >>w16link
|
||||
echo $(LIBPLC), >>w16link
|
||||
echo $(LIBGC), >>w16link
|
||||
echo winsock.lib >>w16link
|
||||
wlink @w16link.
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
$(LINK) $(LDOPTS) $< $(LIBGC) $(LIBPLC) $(LIBPR) so32dll.lib tcp32dll.lib -MAP:$(@:.exe=.map) -out:$@
|
||||
else
|
||||
link $(LDOPTS) $< $(LIBGC) $(LIBPLC) $(LIBPR) wsock32.lib -out:$@
|
||||
endif
|
||||
endif
|
||||
else
|
||||
$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBGC) $(LIBPLC) $(LIBPR) $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
export:: $(TARGETS)
|
||||
export:: install
|
||||
clean::
|
||||
rm -f $(TARGETS)
|
|
@ -0,0 +1,176 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
CFLAGS += -KPIC
|
||||
ifneq ($(OS_RELEASE),5.3)
|
||||
CFLAGS += -exceptions
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifeq (($USE_64),1)
|
||||
CCCFLAGS += +DA2.0W
|
||||
endif
|
||||
endif
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
HEADERS = *.h
|
||||
|
||||
CSRCS = \
|
||||
plvrsion.c \
|
||||
$(NULL)
|
||||
|
||||
CXXSRCS = \
|
||||
prstrms.cpp \
|
||||
$(NULL)
|
||||
|
||||
OBJS = $(addprefix $(OBJDIR)/,$(CSRCS:.c=.$(OBJ_SUFFIX)) $(CXXSRCS:.cpp=.$(OBJ_SUFFIX)))
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq (,$(filter-out WIN16 OS2,$(OS_TARGET)))
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
else
|
||||
DLLBASE=/BASE:0x30000000
|
||||
RES=$(OBJDIR)/prstrms.res
|
||||
RESNAME=$(MOD_DEPTH)/pr/src/nspr.rc
|
||||
OS_LIBS = user32.lib
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
EXTRA_LIBS = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
else
|
||||
EXTRA_LIBS = $(DIST)/lib/libnspr$(MOD_VERSION).lib
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_ARCH), AIX)
|
||||
ifeq ($(OS_RELEASE), 4.1)
|
||||
ifeq ($(CLASSIC_NSPR),1)
|
||||
OS_LIBS += -lC -lc
|
||||
else
|
||||
OS_LIBS += -lC_r -lc_r
|
||||
endif
|
||||
else
|
||||
# makeC++SharedLib(_r) is in either /usr/lpp/xlC/bin
|
||||
# or /usr/ibmcxx/bin.
|
||||
ifeq ($(CLASSIC_NSPR),1)
|
||||
MKSHLIB = makeC++SharedLib -p 0
|
||||
else
|
||||
MKSHLIB = makeC++SharedLib_r -p 0
|
||||
endif
|
||||
OS_LIBS += -ldl
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)_shr
|
||||
else
|
||||
EXTRA_LIBS = -L$(DIST)/lib -lnspr$(MOD_VERSION)
|
||||
endif
|
||||
endif
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the object files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), UNIXWARE)
|
||||
OS_LIBS += -lC
|
||||
endif
|
||||
|
||||
LIBRARY_NAME = prstrms
|
||||
LIBRARY_VERSION = $(MOD_VERSION)
|
||||
|
||||
RELEASE_HEADERS = $(HEADERS)
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
|
||||
RELEASE_LIBS = $(TARGETS)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
#
|
||||
# Version information generation (begin)
|
||||
#
|
||||
ECHO = echo
|
||||
TINC = $(OBJDIR)/_pl_bld.h
|
||||
PROD = $(notdir $(SHARED_LIBRARY))
|
||||
NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now
|
||||
SH_DATE = $(shell date)
|
||||
SH_NOW = $(shell $(NOW))
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
SUF =
|
||||
else
|
||||
SUF = i64
|
||||
endif
|
||||
else
|
||||
SUF = LL
|
||||
endif
|
||||
|
||||
$(TINC):
|
||||
@$(MAKE_OBJDIR)
|
||||
@$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
|
||||
@if test ! -z "$(SH_NOW)"; then \
|
||||
$(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
|
||||
|
||||
|
||||
$(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifdef XP_OS2_EMX
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) plvrsion.c
|
||||
else
|
||||
$(CC) -Fo$@ -c $(CFLAGS) -I$(OBJDIR) plvrsion.c
|
||||
endif
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) plvrsion.c
|
||||
endif
|
||||
#
|
||||
# Version information generation (end)
|
||||
#
|
||||
|
||||
export:: $(TARGETS) $(HEADERS)
|
||||
$(INSTALL) -m 444 $(HEADERS) $(DIST)/include
|
||||
$(INSTALL) -m 444 $(TARGETS) $(DIST)/lib
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,219 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
endif
|
||||
|
||||
CXXSRCS = \
|
||||
testprstrm.cpp \
|
||||
$(NULL)
|
||||
|
||||
OBJS = $(addprefix $(OBJDIR)/,$(CXXSRCS:.cpp=.$(OBJ_SUFFIX)))
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
PROG_SUFFIX = .exe
|
||||
else
|
||||
PROG_SUFFIX =
|
||||
endif
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CXXSRCS:.cpp=$(PROG_SUFFIX)))
|
||||
|
||||
TARGETS = $(PROGS) $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
# Setting the variables LDOPTS and LIBPR. We first initialize
|
||||
# them to the default values, then adjust them for some platforms.
|
||||
LDOPTS = -L$(DIST)/lib
|
||||
LIBPR = -lnspr$(MOD_VERSION)
|
||||
LIBPRSTRMS = -lprstrms$(MOD_VERSION)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
LIBPRSTRMS = $(DIST)/lib/prstrms$(MOD_VERSION).lib
|
||||
else
|
||||
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPRSTRMS = $(DIST)/lib/prstrms$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
else
|
||||
LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPRSTRMS = $(DIST)/lib/libprstrms$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
PWD = $(shell pwd)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), OSF1)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -Wl,+s,+b,$(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
# AIX
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
LDOPTS += -blibpath:$(PWD)/$(DIST)/lib:/usr/lib:/lib
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)
|
||||
LIBPR = -lnspr$(MOD_VERSION)_shr
|
||||
LIBPRSTRMS = -lprstrms$(MOD_VERSION)_shr
|
||||
else
|
||||
LDOPTS += -brtl
|
||||
EXTRA_LIBS = -ldl
|
||||
endif
|
||||
endif
|
||||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(DIST)/lib
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(DIST)/lib
|
||||
# CC on SunOS 5.4 and 5.5.x need to link with -lthread or -lpthread
|
||||
# (or use the -mt switch) even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
ifdef USE_PTHREADS
|
||||
EXTRA_LIBS = -lpthread
|
||||
else
|
||||
EXTRA_LIBS = -lthread
|
||||
endif # USE_PTHREADS
|
||||
endif # NS_USE_GCC
|
||||
endif # 4.1.3_U1
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# XXX: We see some strange problems when we link with libnspr.so.
|
||||
# So for now we use static libraries on NCR. The shared library
|
||||
# stuff below is commented out.
|
||||
LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).a
|
||||
LIBPRSTRMS = $(DIST)/lib/libprstrms$(MOD_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
#EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCOOS)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), UNIXWARE)
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
#####################################################
|
||||
#
|
||||
# The rules
|
||||
#
|
||||
#####################################################
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
AIX_PRE_4_2 = 0
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifneq ($(OS_RELEASE),4.2)
|
||||
ifneq ($(USE_PTHREADS), 1)
|
||||
#AIX_PRE_4_2 = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(AIX_PRE_4_2),1)
|
||||
|
||||
# AIX releases prior to 4.2 need a special two-step linking hack
|
||||
# in order to both override the system select() and be able to
|
||||
# get at the original system select().
|
||||
#
|
||||
# We use a pattern rule in ns/nspr20/config/rules.mk to generate
|
||||
# the .$(OBJ_SUFFIX) file from the .c source file, then do the
|
||||
# two-step linking hack below.
|
||||
|
||||
$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@ $(AIX_TMP)
|
||||
$(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(DIST)/lib/libnspr$(MOD_VERSION).a
|
||||
$(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
|
||||
rm -f $(AIX_TMP)
|
||||
|
||||
else
|
||||
|
||||
# All platforms that are not AIX pre-4.2.
|
||||
|
||||
$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
echo system windows >w16link
|
||||
echo option map >>w16link
|
||||
echo option stack=10K >>w16link
|
||||
echo option heapsize=32K >>w16link
|
||||
echo debug $(DEBUGTYPE) all >>w16link
|
||||
echo name $@ >>w16link
|
||||
echo file >>w16link
|
||||
echo $< >>w16link
|
||||
echo library >>w16link
|
||||
echo $(LIBPR), >>w16link
|
||||
echo $(LIBPRSTRMS), >>w16link
|
||||
echo winsock.lib >>w16link
|
||||
wlink @w16link.
|
||||
else
|
||||
link $(LDOPTS) $< $(LIBPR) $(LIBPRSTRMS) wsock32.lib -out:$@
|
||||
endif
|
||||
else
|
||||
$(CCC) $(XCFLAGS) $< $(LDOPTS) $(LIBPR) $(LIBPRSTRMS) $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
export:: $(TARGETS)
|
||||
install:: export
|
||||
clean::
|
||||
rm -f $(TARGETS)
|
|
@ -0,0 +1,222 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
DIRS = windows
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
string.c \
|
||||
event.c \
|
||||
base64t.c
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
PROG_SUFFIX = .exe
|
||||
else
|
||||
PROG_SUFFIX =
|
||||
endif
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
|
||||
|
||||
TARGETS = $(PROGS) $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
# Setting the variables LDOPTS and LIBPR. We first initialize
|
||||
# them to the default values, then adjust them for some platforms.
|
||||
LDOPTS = -L$(DIST)/lib
|
||||
LIBPR = -lnspr$(MOD_VERSION)
|
||||
LIBPLC = -lplc$(MOD_VERSION)
|
||||
LIBPLDS = -lplds$(MOD_VERSION)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).lib
|
||||
LIBPLDS= $(DIST)/lib/plds$(MOD_VERSION).lib
|
||||
else
|
||||
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLDS= $(DIST)/lib/plds$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
else
|
||||
LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLC= $(DIST)/lib/libplc$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLDS= $(DIST)/lib/libplds$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
PWD = $(shell pwd)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), Linux)
|
||||
ifeq ($(OS_RELEASE), 1.2)
|
||||
EXTRA_LIBS = -ldl
|
||||
else
|
||||
LDOPTS += -Xlinker -rpath $(PWD)/$(DIST)/lib
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
EXTRA_LIBS = -lpthread
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), OSF1)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib -lpthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -Wl,+s,+b,$(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
# AIX
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
LDOPTS += -blibpath:$(PWD)/$(DIST)/lib:/usr/lib:/lib
|
||||
LIBPR = -lnspr$(MOD_VERSION)_shr
|
||||
LIBPLC = -lplc$(MOD_VERSION)_shr
|
||||
endif
|
||||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(DIST)/lib
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
# SunOS 5.4 and 5.5 need to link with -lthread or -lpthread,
|
||||
# even though we already linked with these system libraries
|
||||
# when we built libnspr.so.
|
||||
ifeq ($(OS_RELEASE), 5.4)
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS_RELEASE), 5.5)
|
||||
ifdef USE_PTHREADS
|
||||
EXTRA_LIBS = -lpthread
|
||||
else
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
endif
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
#####################################################
|
||||
#
|
||||
# The rules
|
||||
#
|
||||
#####################################################
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
AIX_PRE_4_2 = 0
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifneq ($(OS_RELEASE),4.2)
|
||||
ifneq ($(USE_PTHREADS), 1)
|
||||
#AIX_PRE_4_2 = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(AIX_PRE_4_2),1)
|
||||
|
||||
# AIX releases prior to 4.2 need a special two-step linking hack
|
||||
# in order to both override the system select() and be able to
|
||||
# get at the original system select().
|
||||
#
|
||||
# We use a pattern rule in ns/nspr20/config/rules.mk to generate
|
||||
# the .$(OBJ_SUFFIX) file from the .c source file, then do the
|
||||
# two-step linking hack below.
|
||||
|
||||
$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@ $(AIX_TMP)
|
||||
$(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(DIST)/lib/libnspr$(MOD_VERSION).a
|
||||
$(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
|
||||
rm -f $(AIX_TMP)
|
||||
|
||||
else
|
||||
|
||||
# All platforms that are not AIX pre-4.2.
|
||||
|
||||
$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
echo system windows >w16link
|
||||
echo option map >>w16link
|
||||
echo option stack=10K >>w16link
|
||||
echo option heapsize=32K >>w16link
|
||||
echo debug $(DEBUGTYPE) all >>w16link
|
||||
echo name $@ >>w16link
|
||||
echo file >>w16link
|
||||
echo $< >>w16link
|
||||
echo library >>w16link
|
||||
echo $(LIBPR), >>w16link
|
||||
echo $(LIBPLC), >>w16link
|
||||
echo winsock.lib >>w16link
|
||||
wlink @w16link.
|
||||
else
|
||||
link $(LDOPTS) $< $(LIBPLC) $(LIBPLDS) $(LIBPR) wsock32.lib -out:$@
|
||||
endif
|
||||
else
|
||||
$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
export:: $(TARGETS)
|
||||
install:: export
|
||||
clean::
|
||||
rm -f $(TARGETS)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = include src
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
|
@ -0,0 +1,42 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = md private obsolete
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
HEADERS = $(wildcard $(srcdir)/*.h)
|
||||
|
||||
RELEASE_HEADERS = $(HEADERS)
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(RELEASE_HEADERS)
|
||||
$(INSTALL) -m 444 $(RELEASE_HEADERS) $(DIST)/include
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(RELEASE_HEADERS) $(MOZ_INCL)
|
||||
endif
|
|
@ -0,0 +1,190 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
HEADERS = $(wildcard $(srcdir)/*.h)
|
||||
CONFIGS = $(wildcard $(srcdir)/*.cfg)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
|
||||
ifeq ($(OS_ARCH),IRIX)
|
||||
ifeq ($(USE_64), 1)
|
||||
MDCPUCFG_H = _irix64.cfg
|
||||
else
|
||||
MDCPUCFG_H = _irix32.cfg
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
MDCPUCFG_H = _win95.cfg
|
||||
else
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
MDCPUCFG_H = _win16.cfg
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
MDCPUCFG_H = _os2.cfg
|
||||
else
|
||||
MDCPUCFG_H = _winnt.cfg
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifeq ($(USE_64),1)
|
||||
MDCPUCFG_H = _aix64.cfg
|
||||
else
|
||||
MDCPUCFG_H = _aix32.cfg
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),BSD_OS)
|
||||
MDCPUCFG_H = _bsdi.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),FreeBSD)
|
||||
MDCPUCFG_H = _freebsd.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),OpenBSD)
|
||||
MDCPUCFG_H = _openbsd.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
MDCPUCFG_H = _openvms.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NetBSD)
|
||||
MDCPUCFG_H = _netbsd.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifeq ($(USE_64), 1)
|
||||
MDCPUCFG_H = _hpux64.cfg
|
||||
else
|
||||
MDCPUCFG_H = _hpux32.cfg
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
MDCPUCFG_H = _linux.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),OSF1)
|
||||
MDCPUCFG_H = _osf1.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
MDCPUCFG_H = _sunos4.cfg
|
||||
else
|
||||
MDCPUCFG_H = _solaris.cfg
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SINIX)
|
||||
MDCPUCFG_H = _reliantunix.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Rhapsody)
|
||||
MDCPUCFG_H = _rhapsody.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NEXTSTEP)
|
||||
MDCPUCFG_H = _nextstep.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NEWS-OS)
|
||||
MDCPUCFG_H = _sony.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NEC)
|
||||
MDCPUCFG_H = _nec.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
MDCPUCFG_H = _scoos.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),UNIXWARE)
|
||||
MDCPUCFG_H = _unixware.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
MDCPUCFG_H = _ncr.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),DGUX)
|
||||
MDCPUCFG_H = _dgux.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),QNX)
|
||||
MDCPUCFG_H = _qnx.cfg
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),BeOS)
|
||||
MDCPUCFG_H = _beos.cfg
|
||||
endif
|
||||
|
||||
endif # ! USE_AUTOCONF
|
||||
|
||||
export:: #$(MDCPUCFG_H)
|
||||
$(INSTALL) -m 444 $(CONFIGS) $(DIST)/include/md
|
||||
#ifeq ($(MOZ_BITS),16)
|
||||
# cp $(DIST)/include/$(MDCPUCFG_H) $(DIST)/include/prcpucfg.h
|
||||
# $(INSTALL) -m 444 $(MDCPUCFG_H) $(MOZ_INCL)
|
||||
# mv -f $(DIST)/include/$(MDCPUCFG_H) $(MOZ_INCL)/prcpucfg.h
|
||||
#else
|
||||
@if cmp -s $(srcdir)/$(MDCPUCFG_H) $(DIST)/include/prcpucfg.h; then \
|
||||
echo $(DIST)/include/prcpucfg.h unchanged; \
|
||||
else \
|
||||
echo cp -f $(srcdir)/$(MDCPUCFG_H) $(DIST)/include/prcpucfg.h; \
|
||||
cp -f $(srcdir)/$(MDCPUCFG_H) $(DIST)/include/prcpucfg.h; \
|
||||
fi
|
||||
#endif
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
# mv'ing a link causes the file itself to move, not the link, so fix it.
|
||||
rm -f $(DIST)/include/$(MDCPUCFG_H)
|
||||
if [ ! -L $(DIST)/include/prcpucfg.h ]; then \
|
||||
mv -f $(DIST)/include/prcpucfg.h $(MDCPUCFG_H); \
|
||||
ln -fs ../../../nsprpub/pr/include/md/$(MDCPUCFG_H) \
|
||||
$(DIST)/include/prcpucfg.h; \
|
||||
fi
|
||||
endif
|
||||
|
||||
release:: export
|
||||
@echo "Copying machine-dependent prcpucfg.h"
|
||||
@if test -z "$(BUILD_NUMBER)"; then \
|
||||
echo "BUILD_NUMBER must be defined"; \
|
||||
false; \
|
||||
fi
|
||||
@if test ! -d $(RELEASE_INCLUDE_DIR); then \
|
||||
rm -rf $(RELEASE_INCLUDE_DIR); \
|
||||
$(NSINSTALL) -D $(RELEASE_INCLUDE_DIR);\
|
||||
fi
|
||||
cp $(MDCPUCFG_H) $(RELEASE_INCLUDE_DIR)/prcpucfg.h
|
|
@ -67,6 +67,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 4
|
||||
#define PR_ALIGN_OF_POINTER 4
|
||||
#define PR_ALIGN_OF_WORD 4
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 2
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
@ -112,6 +113,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 8
|
||||
#define PR_ALIGN_OF_POINTER 8
|
||||
#define PR_ALIGN_OF_WORD 8
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 3
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
@ -156,6 +158,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 2
|
||||
#define PR_ALIGN_OF_DOUBLE 2
|
||||
#define PR_ALIGN_OF_POINTER 2
|
||||
#define PR_ALIGN_OF_WORD 2
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 2
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
@ -200,6 +203,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 8
|
||||
#define PR_ALIGN_OF_POINTER 4
|
||||
#define PR_ALIGN_OF_WORD 4
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 2
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
@ -244,6 +248,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 4
|
||||
#define PR_ALIGN_OF_POINTER 4
|
||||
#define PR_ALIGN_OF_WORD 4
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 2
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
@ -295,6 +300,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 8
|
||||
#define PR_ALIGN_OF_POINTER 4
|
||||
#define PR_ALIGN_OF_WORD 4
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 2
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
@ -339,6 +345,7 @@
|
|||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 4
|
||||
#define PR_ALIGN_OF_POINTER 4
|
||||
#define PR_ALIGN_OF_WORD 4
|
||||
|
||||
#define PR_BYTES_PER_WORD_LOG2 2
|
||||
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||
|
|
|
@ -59,6 +59,8 @@
|
|||
#define HAVE_DLL
|
||||
#define USE_DLFCN
|
||||
|
||||
#define _MD_MINIMUM_STACK_SIZE (32 * 1024)
|
||||
|
||||
#define USE_SETJMP
|
||||
#if defined(__GLIBC__) && __GLIBC__ >= 2
|
||||
#define _PR_POLL_AVAILABLE
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
HEADERS = $(wildcard $(srcdir)/*.h)
|
||||
|
||||
RELEASE_HEADERS = $(HEADERS)
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)/obsolete
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(RELEASE_HEADERS)
|
||||
$(INSTALL) -m 444 $(RELEASE_HEADERS) $(DIST)/include/obsolete
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(RELEASE_HEADERS) $(MOZ_INCL)/obsolete
|
||||
endif
|
|
@ -53,10 +53,11 @@ typedef PRIntn intn;
|
|||
#include <sys/types.h>
|
||||
#else
|
||||
typedef PRUintn uint;
|
||||
#define HAVE_UINT
|
||||
#endif
|
||||
|
||||
typedef PRUint64 uint64;
|
||||
#if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2)
|
||||
#if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2)
|
||||
typedef PRUint32 uint32;
|
||||
#else
|
||||
typedef unsigned long uint32;
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
RELEASE_HEADERS = pprio.h pprthred.h prpriv.h
|
||||
RELEASE_HEADERS := $(addprefix $(srcdir)/, $(RELEASE_HEADERS))
|
||||
RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR)/private
|
||||
|
||||
HEADERS = $(RELEASE_HEADERS) $(srcdir)/pprmwait.h $(srcdir)/primpl.h
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(RELEASE_HEADERS)
|
||||
$(INSTALL) -m 444 $(RELEASE_HEADERS) $(DIST)/include/private
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(RELEASE_HEADERS) $(MOZ_INCL)/private
|
||||
endif
|
|
@ -60,7 +60,7 @@ PR_EXTERN(PRInt64) LL_Zero(void);
|
|||
|
||||
#if PR_BYTES_PER_LONG == 8
|
||||
#define LL_INIT(hi, lo) ((hi ## L << 32) + lo ## L)
|
||||
#elif defined(WIN32) || defined(WIN16)
|
||||
#elif (defined(WIN32) || defined(WIN16)) && !defined(__GNUC__)
|
||||
#define LL_INIT(hi, lo) ((hi ## i64 << 32) + lo ## i64)
|
||||
#else
|
||||
#define LL_INIT(hi, lo) ((hi ## LL << 32) + lo ## LL)
|
||||
|
|
|
@ -33,7 +33,11 @@
|
|||
#ifndef prtypes_h___
|
||||
#define prtypes_h___
|
||||
|
||||
#ifdef MDCPUCFG
|
||||
#include MDCPUCFG
|
||||
#else
|
||||
#include "prcpucfg.h"
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
@ -58,6 +62,12 @@
|
|||
**
|
||||
***********************************************************************/
|
||||
#if defined(WIN32)
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#undef _declspec
|
||||
#define _declspec(x) __declspec(x)
|
||||
#endif
|
||||
|
||||
#define PR_EXTERN(__type) extern _declspec(dllexport) __type
|
||||
#define PR_IMPLEMENT(__type) _declspec(dllexport) __type
|
||||
#define PR_EXTERN_DATA(__type) extern _declspec(dllexport) __type
|
||||
|
@ -258,7 +268,7 @@ typedef unsigned long PRUint64;
|
|||
#elif defined(WIN16)
|
||||
typedef __int64 PRInt64;
|
||||
typedef unsigned __int64 PRUint64;
|
||||
#elif defined(WIN32)
|
||||
#elif defined(WIN32) && !defined(__GNUC__)
|
||||
typedef __int64 PRInt64;
|
||||
typedef unsigned __int64 PRUint64;
|
||||
#else
|
||||
|
|
|
@ -0,0 +1,426 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
DIRS = io linking malloc md memory misc threads
|
||||
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
DIRS += pthreads
|
||||
endif
|
||||
|
||||
ifeq ($(USE_BTHREADS), 1)
|
||||
DIRS += bthreads
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
DIRS += cplus
|
||||
endif
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
|
||||
#
|
||||
# Define platform-dependent OS_LIBS
|
||||
#
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
export OPTIMIZER
|
||||
OS_LIBS = -lm
|
||||
else # 4.1.3_U1
|
||||
ifdef USE_PTHREADS
|
||||
OS_LIBS = -lpthread -lthread -lposix4 -lsocket -lnsl -ldl
|
||||
else
|
||||
ifdef LOCAL_THREADS_ONLY
|
||||
OS_LIBS = -lsocket -lnsl -ldl
|
||||
else
|
||||
OS_LIBS = -lthread -lposix4 -lsocket -lnsl -ldl
|
||||
endif # LOCAL_THREADS_ONLY
|
||||
endif # USE_PTHREADS
|
||||
endif # 4.1.3_U1
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
OS_LIBS = -lpthread
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifeq ($(CLASSIC_NSPR),1)
|
||||
ifeq ($(OS_RELEASE),4.1)
|
||||
OS_LIBS = -lsvld -lc
|
||||
else
|
||||
OS_LIBS = -ldl -lc
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_RELEASE),4.1)
|
||||
OS_LIBS = -lpthreads -lsvld -lC_r -lC -lc_r -lm /usr/lib/libc.a
|
||||
else
|
||||
OS_LIBS = -lpthreads -ldl -lC_r -lC -lc_r -lm /usr/lib/libc.a
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# On AIX, we override malloc in non-pthread versions. On AIX 4.2 or
|
||||
# above, this requires that we use the rtl-enabled version of libc.a.
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifneq (,$(filter-out 3.2 4.1,$(OS_RELEASE)))
|
||||
ifneq ($(USE_PTHREADS),1)
|
||||
BUILD_AIX_RTL_LIBC = 1
|
||||
AIX_RTL_LIBC = $(OBJDIR)/libc.a
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
OS_LIBS = -lvms_jackets
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),OSF1)
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
OS_LIBS = -lpthread -lrt
|
||||
endif
|
||||
ifneq ($(OS_RELEASE),V2.0)
|
||||
OS_LIBS += -lc_r
|
||||
endif
|
||||
ifeq ($(USE_IPV6), 1)
|
||||
OS_LIBS += -lip6
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
OS_LIBS = -lpthread -ldl -lc
|
||||
else
|
||||
OS_LIBS = -ldl -lc
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
ifeq (,$(filter-out B.10.10 B.10.20,$(OS_RELEASE)))
|
||||
OS_LIBS = -ldce
|
||||
else
|
||||
OS_LIBS = -lpthread
|
||||
endif
|
||||
endif
|
||||
ifeq ($(PTHREADS_USER), 1)
|
||||
OS_LIBS = -lpthread
|
||||
endif
|
||||
ifeq ($(basename $(OS_RELEASE)),A.09)
|
||||
OS_LIBS += -ldld -L/lib/pa1.1 -lm
|
||||
else
|
||||
OS_LIBS += -ldld -lm -lc
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),UNIXWARE)
|
||||
OS_LIBS = -lsocket -lc
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NEWS-OS)
|
||||
OS_LIBS = -lsocket -lnsl -lgen -lresolv
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
# We define this in os2.mk.
|
||||
else
|
||||
ifneq ($(OS_TARGET),WIN16)
|
||||
OS_LIBS = wsock32.lib winmm.lib
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
endif # USE_AUTOCONF
|
||||
#
|
||||
# Define platform-dependent OBJS
|
||||
#
|
||||
|
||||
OBJS = \
|
||||
$(OBJDIR)/prvrsion.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prfdcach.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prmwait.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prmapopt.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/priometh.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prlayer.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prlog.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prmmap.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prpolevt.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prprf.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prscanf.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prstdio.$(OBJ_SUFFIX) \
|
||||
threads/$(OBJDIR)/prcmon.$(OBJ_SUFFIX) \
|
||||
threads/$(OBJDIR)/prrwlock.$(OBJ_SUFFIX) \
|
||||
threads/$(OBJDIR)/prtpd.$(OBJ_SUFFIX) \
|
||||
linking/$(OBJDIR)/prlink.$(OBJ_SUFFIX) \
|
||||
malloc/$(OBJDIR)/prmalloc.$(OBJ_SUFFIX) \
|
||||
malloc/$(OBJDIR)/prmem.$(OBJ_SUFFIX) \
|
||||
md/$(OBJDIR)/prosdep.$(OBJ_SUFFIX) \
|
||||
memory/$(OBJDIR)/prseg.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/pralarm.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/pratom.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prcountr.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prdtoa.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prenv.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prerr.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prerror.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prerrortable.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prinit.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prinrval.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prlog2.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prlong.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prnetdb.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prolock.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prsystem.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prthinfo.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prtrace.$(OBJ_SUFFIX) \
|
||||
misc/$(OBJDIR)/prtime.$(OBJ_SUFFIX)
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OBJS += \
|
||||
pthreads/$(OBJDIR)/ptsynch.$(OBJ_SUFFIX) \
|
||||
pthreads/$(OBJDIR)/ptio.$(OBJ_SUFFIX) \
|
||||
pthreads/$(OBJDIR)/ptthread.$(OBJ_SUFFIX) \
|
||||
pthreads/$(OBJDIR)/ptmisc.$(OBJ_SUFFIX)
|
||||
else
|
||||
OBJS += \
|
||||
io/$(OBJDIR)/prdir.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prfile.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prio.$(OBJ_SUFFIX) \
|
||||
io/$(OBJDIR)/prsocket.$(OBJ_SUFFIX)
|
||||
|
||||
ifndef USE_BTHREADS
|
||||
OBJS += \
|
||||
threads/$(OBJDIR)/prcthr.$(OBJ_SUFFIX) \
|
||||
threads/$(OBJDIR)/prdump.$(OBJ_SUFFIX) \
|
||||
threads/$(OBJDIR)/prmon.$(OBJ_SUFFIX) \
|
||||
threads/$(OBJDIR)/prsem.$(OBJ_SUFFIX) \
|
||||
threads/combined/$(OBJDIR)/prucpu.$(OBJ_SUFFIX) \
|
||||
threads/combined/$(OBJDIR)/prucv.$(OBJ_SUFFIX) \
|
||||
threads/combined/$(OBJDIR)/prulock.$(OBJ_SUFFIX) \
|
||||
threads/combined/$(OBJDIR)/prustack.$(OBJ_SUFFIX) \
|
||||
threads/combined/$(OBJDIR)/pruthr.$(OBJ_SUFFIX)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(USE_IPV6), 1)
|
||||
OBJS += io/$(OBJDIR)/pripv6.$(OBJ_SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
OBJS += \
|
||||
cplus/$(OBJDIR)/rcbase.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rccv.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rcfileio.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rcinrval.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rcio.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rclock.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rcnetdb.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rcnetio.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rcthread.$(OBJ_SUFFIX) \
|
||||
cplus/$(OBJDIR)/rctime.$(OBJ_SUFFIX)
|
||||
endif
|
||||
|
||||
ifdef USE_AUTOCONF
|
||||
|
||||
include $(srcdir)/md/$(PR_MD_ARCH_DIR)/objs.mk
|
||||
|
||||
else
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifneq (,$(filter-out WIN16 OS2,$(OS_TARGET)))
|
||||
DLLBASE=/BASE:0x30000000
|
||||
RES=$(OBJDIR)/nspr.res
|
||||
RESNAME=nspr.rc
|
||||
ifdef MOZ_DEBUG
|
||||
ifdef GLOWCODE
|
||||
EXTRA_LIBS += $(GLOWDIR)/glowcode.lib
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OBJS += md/windows/$(OBJDIR)/w16null.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16proc.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16thred.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16fmem.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16sock.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16mem.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16io.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16gc.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16error.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w16callb.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntinrval.$(OBJ_SUFFIX)
|
||||
EXTRA_LIBS += $(MOD_DEPTH)/tools/winsock.lib
|
||||
W16_EXPORTS = EXPORT _malloc.2=_PR_MD_malloc RESIDENT, \
|
||||
_realloc.3=_PR_MD_realloc RESIDENT, \
|
||||
_calloc.4=_PR_MD_calloc RESIDENT, \
|
||||
_free.5=_PR_MD_free RESIDENT, \
|
||||
_getenv.9=_PR_MD_getenv RESIDENT, \
|
||||
_printf.11=_PR_MD_printf RESIDENT, \
|
||||
_strftime.13=_PR_MD_strftime RESIDENT, \
|
||||
_sscanf.33=_PR_MD_sscanf RESIDENT, \
|
||||
_putenv.10=_PR_MD_putenv RESIDENT, \
|
||||
_fprintf.12=_PR_MD_fprintf RESIDENT
|
||||
else
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
OBJS += md/windows/$(OBJDIR)/w95io.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w95sock.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w95thred.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w95cv.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntgc.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntmisc.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntinrval.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntsem.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/win32_errors.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w32poll.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w95dllmain.$(OBJ_SUFFIX)
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
OBJS += md/os2/$(OBJDIR)/os2io.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2sock.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2thred.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2cv.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2gc.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2misc.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2inrval.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2sem.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2_errors.$(OBJ_SUFFIX) \
|
||||
md/os2/$(OBJDIR)/os2poll.$(OBJ_SUFFIX)
|
||||
else
|
||||
OBJS += md/windows/$(OBJDIR)/ntdllmn.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntio.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntgc.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntthread.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntmisc.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntinrval.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/ntsem.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/win32_errors.$(OBJ_SUFFIX) \
|
||||
md/windows/$(OBJDIR)/w32poll.$(OBJ_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
ifeq ($(OS_ARCH), BeOS)
|
||||
include $(srcdir)/md/beos/objs.mk
|
||||
include $(srcdir)/bthreads/objs.mk
|
||||
else
|
||||
# Unix
|
||||
include $(srcdir)/md/unix/objs.mk
|
||||
endif
|
||||
endif
|
||||
endif # !USE_AUTOCONF
|
||||
|
||||
LIBRARY_NAME = nspr
|
||||
LIBRARY_VERSION = $(MOD_VERSION)
|
||||
|
||||
RELEASE_LIBS = $(TARGETS)
|
||||
|
||||
GARBAGE += $(TINC)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifeq ($(BUILD_AIX_RTL_LIBC),1)
|
||||
TARGETS += $(AIX_RTL_LIBC)
|
||||
# XXX is this a shared library?
|
||||
endif
|
||||
|
||||
#
|
||||
# Version information generation (begin)
|
||||
#
|
||||
ECHO = echo
|
||||
INCLUDES = -I$(DIST)/include
|
||||
TINC = $(OBJDIR)/_pr_bld.h
|
||||
PROD = $(notdir $(SHARED_LIBRARY))
|
||||
NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now
|
||||
SH_DATE = $(shell date)
|
||||
SH_NOW = $(shell $(NOW))
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
SUF =
|
||||
else
|
||||
SUF = i64
|
||||
endif
|
||||
else
|
||||
SUF = LL
|
||||
endif
|
||||
|
||||
$(TINC):
|
||||
@$(MAKE_OBJDIR)
|
||||
@$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC)
|
||||
@if test ! -z "$(SH_NOW)"; then \
|
||||
$(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC)
|
||||
|
||||
|
||||
$(OBJDIR)/prvrsion.$(OBJ_SUFFIX): $(srcdir)/prvrsion.c $(TINC)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifdef XP_OS2_EMX
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
else
|
||||
$(CC) -Fo$@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
endif
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $<
|
||||
endif
|
||||
#
|
||||
# Version information generation (end)
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# The Client build wants the shared libraries in $(DIST)/bin,
|
||||
# so we also install them there.
|
||||
#
|
||||
|
||||
export:: $(TARGETS)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(DIST)/lib
|
||||
ifdef SHARED_LIBRARY
|
||||
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(DIST)/bin
|
||||
endif
|
||||
ifeq ($(MOZ_BITS),16)
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/lib
|
||||
$(INSTALL) -m 444 $(TARGETS) $(MOZ_DIST)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_AIX_RTL_LIBC),1)
|
||||
$(AIX_RTL_LIBC): /usr/ccs/lib/libc.a
|
||||
rtl_enable -o $@ $<
|
||||
endif
|
||||
|
||||
install:: export
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
prfdcach.c \
|
||||
prmwait.c \
|
||||
priometh.c \
|
||||
prmapopt.c \
|
||||
prlayer.c \
|
||||
prlog.c \
|
||||
prmmap.c \
|
||||
prpolevt.c \
|
||||
prprf.c \
|
||||
prscanf.c \
|
||||
prstdio.c \
|
||||
$(NULL)
|
||||
|
||||
ifndef USE_PTHREADS
|
||||
CSRCS += \
|
||||
prdir.c \
|
||||
prfile.c \
|
||||
prio.c \
|
||||
prsocket.c \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifdef USE_IPV6
|
||||
CSRCS += pripv6.c
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,48 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
prlink.c \
|
||||
$(NULL)
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,46 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
CSRCS = prmalloc.c prmem.c
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,66 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifdef USE_AUTOCONF
|
||||
DIRS = $(PR_MD_ARCH_DIR)
|
||||
else
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
DIRS = os2
|
||||
else
|
||||
DIRS = windows
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_ARCH),BeOS)
|
||||
DIRS = beos
|
||||
else
|
||||
DIRS = unix
|
||||
endif
|
||||
endif
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif # USE_AUTOCONF
|
||||
|
||||
CSRCS = \
|
||||
prosdep.c \
|
||||
$(NULL)
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,55 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifeq ($(OS_TARGET), OS2)
|
||||
CSRCS = \
|
||||
os2misc.c \
|
||||
os2sem.c \
|
||||
os2inrval.c \
|
||||
os2gc.c \
|
||||
os2thred.c \
|
||||
os2io.c \
|
||||
os2cv.c \
|
||||
os2sock.c \
|
||||
os2_errors.c \
|
||||
os2poll.c \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(MOD_DEPTH)/pr/include -I$(MOD_DEPTH)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,312 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
MOD_DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
endif # ! USE_AUTOCONF
|
||||
|
||||
CSRCS = \
|
||||
unix.c \
|
||||
unix_errors.c \
|
||||
uxproces.c \
|
||||
uxwrap.c \
|
||||
uxpoll.c \
|
||||
$(NULL)
|
||||
|
||||
PTH_USER_CSRCS = \
|
||||
pthreads_user.c \
|
||||
$(NULL)
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
|
||||
IRIX_CSRCS = \
|
||||
irix.c \
|
||||
$(NULL)
|
||||
|
||||
SUNOS4_CSRCS = \
|
||||
sunos4.c \
|
||||
$(NULL)
|
||||
|
||||
SOLARIS_CSRCS = \
|
||||
solaris.c \
|
||||
$(NULL)
|
||||
|
||||
AIX_CSRCS = \
|
||||
aix.c \
|
||||
$(NULL)
|
||||
|
||||
FREEBSD_CSRCS = \
|
||||
freebsd.c \
|
||||
$(NULL)
|
||||
|
||||
NETBSD_CSRCS = \
|
||||
netbsd.c \
|
||||
$(NULL)
|
||||
|
||||
OPENBSD_CSRCS = \
|
||||
openbsd.c \
|
||||
$(NULL)
|
||||
|
||||
BSDI_CSRCS = \
|
||||
bsdi.c \
|
||||
$(NULL)
|
||||
|
||||
HPUX_CSRCS = \
|
||||
hpux.c \
|
||||
$(NULL)
|
||||
|
||||
OPENVMS_CSRCS = \
|
||||
openvms.c \
|
||||
$(NULL)
|
||||
|
||||
OSF1_CSRCS = \
|
||||
osf1.c \
|
||||
$(NULL)
|
||||
|
||||
LINUX_CSRCS = \
|
||||
linux.c \
|
||||
$(NULL)
|
||||
|
||||
UNIXWARE_CSRCS = \
|
||||
unixware.c \
|
||||
$(NULL)
|
||||
|
||||
RELIANTUNIX_CSRCS = \
|
||||
reliantunix.c \
|
||||
$(NULL)
|
||||
|
||||
RHAPSODY_CSRCS = \
|
||||
rhapsody.c \
|
||||
$(NULL)
|
||||
|
||||
NEXTSTEP_CSRCS = \
|
||||
nextstep.c \
|
||||
$(NULL)
|
||||
|
||||
NEC_CSRCS = \
|
||||
nec.c \
|
||||
$(NULL)
|
||||
|
||||
SONY_CSRCS = \
|
||||
sony.c \
|
||||
$(NULL)
|
||||
|
||||
NCR_CSRCS = \
|
||||
ncr.c \
|
||||
$(NULL)
|
||||
|
||||
SCOOS_CSRCS = \
|
||||
scoos.c \
|
||||
$(NULL)
|
||||
|
||||
DGUX_CSRCS = \
|
||||
dgux.c \
|
||||
$(NULL)
|
||||
|
||||
QNX_CSRCS = \
|
||||
qnx.c \
|
||||
$(NULL)
|
||||
endif # !USE_AUTOCONF
|
||||
|
||||
ifeq ($(PTHREADS_USER),1)
|
||||
CSRCS += $(PTH_USER_CSRCS)
|
||||
endif
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
|
||||
ifeq ($(OS_ARCH),IRIX)
|
||||
CSRCS += $(IRIX_CSRCS)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
CSRCS += $(SUNOS4_CSRCS)
|
||||
else
|
||||
CSRCS += $(SOLARIS_CSRCS)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
CSRCS += $(AIX_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),FreeBSD)
|
||||
CSRCS += $(FREEBSD_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),NetBSD)
|
||||
CSRCS += $(NETBSD_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),OpenBSD)
|
||||
CSRCS += $(OPENBSD_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),BSD_OS)
|
||||
CSRCS += $(BSDI_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
CSRCS += $(HPUX_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
CSRCS += $(OPENVMS_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),OSF1)
|
||||
CSRCS += $(OSF1_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
CSRCS += $(LINUX_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),UNIXWARE)
|
||||
CSRCS += $(UNIXWARE_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SINIX)
|
||||
CSRCS += $(RELIANTUNIX_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),Rhapsody)
|
||||
CSRCS += $(RHAPSODY_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),NEXTSTEP)
|
||||
CSRCS += $(NEXTSTEP_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),NEC)
|
||||
CSRCS += $(NEC_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),NEWS-OS)
|
||||
CSRCS += $(SONY_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
CSRCS += $(NCR_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
CSRCS += $(SCOOS_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),DGUX)
|
||||
CSRCS += $(DGUX_CSRCS)
|
||||
endif
|
||||
ifeq ($(OS_ARCH),QNX)
|
||||
CSRCS += $(QNX_CSRCS)
|
||||
endif
|
||||
|
||||
#
|
||||
# Some Unix platforms have an assembly language file.
|
||||
# E.g., AIX 3.2, Solaris (both sparc and x86).
|
||||
#
|
||||
ifeq ($(OS_ARCH), AIX)
|
||||
ifeq ($(OS_RELEASE), 3.2)
|
||||
ASFILES = os_$(OS_ARCH).s
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(CPU_ARCH),x86)
|
||||
ASFILES = os_$(OS_ARCH)_x86.s
|
||||
else
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
ifneq ($(LOCAL_THREADS_ONLY),1)
|
||||
ASFILES = os_$(OS_ARCH).s
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SINIX)
|
||||
ifeq ($(CPU_ARCH),mips)
|
||||
ASFILES = os_ReliantUNIX.s
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE),BSD_OS2.1)
|
||||
ASFILES = os_BSD_386_2.s
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
ASFILES = os_Irix.s
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifeq (,$(filter-out 3.2 4.1,$(OS_RELEASE)))
|
||||
ifneq ($(USE_PTHREADS), 1)
|
||||
#TARGETS += $(OBJDIR)/aixwrap.$(OBJ_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
ifeq ($(OS_TEST),sun4u)
|
||||
LIBRARY_NAME = $(ULTRASPARC_LIBRARY)
|
||||
LIBRARY_VERSION = $(MOD_VERSION)
|
||||
ULTRASPARC_ASFILES = os_$(OS_ARCH)_ultrasparc.s
|
||||
ULTRASPARC_ASOBJS = $(addprefix $(OBJDIR)/,$(ULTRASPARC_ASFILES:.s=.$(OBJ_SUFFIX)))
|
||||
TARGETS += $(ULTRASPARC_ASOBJS) $(SHARED_LIBRARY)
|
||||
RELEASE_LIBS = $(SHARED_LIBRARY)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
else # USE_AUTOCONF
|
||||
|
||||
CSRCS += $(PR_MD_CSRCS)
|
||||
ASFILES += $(PR_MD_ASFILES)
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
endif # ! USE_AUTOCONF
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
#ifeq ($(OS_ARCH),AIX)
|
||||
#ifeq (,$(filter-out 3.2 4.1,$(OS_RELEASE)))
|
||||
#ifneq ($(USE_PTHREADS), 1)
|
||||
# $(INSTALL) -m 444 $(OBJDIR)/aixwrap.$(OBJ_SUFFIX) $(DIST)/lib
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
ifeq ($(OS_TEST),sun4u)
|
||||
$(SHARED_LIBRARY): $(ULTRASPARC_ASOBJS)
|
||||
$(LD) -G -z text -o $@ $(ULTRASPARC_ASOBJS)
|
||||
$(INSTALL) -m 444 $(SHARED_LIBRARY) $(DIST)/lib
|
||||
|
||||
$(ULTRASPARC_ASOBJS): $(ULTRASPARC_ASFILES)
|
||||
/usr/ccs/bin/as -o $@ -K PIC -P -D_ASM -D__STDC__=0 -xarch=v8plus $<
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
install:: export
|
|
@ -31,6 +31,12 @@ PTH_USER_CSRCS = \
|
|||
pthreads_user.c \
|
||||
$(NULL)
|
||||
|
||||
ifdef USE_AUTOCONF
|
||||
|
||||
CSRCS += $(PR_MD_CSRCS)
|
||||
ASFILES += $(PR_MD_ASFILES)
|
||||
|
||||
else # ! USE_AUTOCONF
|
||||
IRIX_CSRCS = \
|
||||
irix.c \
|
||||
$(NULL)
|
||||
|
@ -240,6 +246,12 @@ ifeq ($(OS_ARCH)$(OS_RELEASE),BSD_OS2.1)
|
|||
ASFILES = os_BSD_386_2.s
|
||||
endif
|
||||
|
||||
endif # !USE_AUTOCONF
|
||||
|
||||
ifeq ($(PTHREADS_USER),1)
|
||||
CSRCS += $(PTH_USER_CSRCS)
|
||||
endif
|
||||
|
||||
OBJS += $(addprefix md/unix/$(OBJDIR)/,$(CSRCS:.c=.$(OBJ_SUFFIX))) \
|
||||
$(addprefix md/unix/$(OBJDIR)/,$(ASFILES:.s=.$(OBJ_SUFFIX)))
|
||||
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifdef USE_AUTOCONF
|
||||
OS_TARGET=$(MOZ_TARGET)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
CSRCS = \
|
||||
w16null.c \
|
||||
w16thred.c \
|
||||
w16proc.c \
|
||||
w16fmem.c \
|
||||
w16sock.c \
|
||||
w16mem.c \
|
||||
w16io.c \
|
||||
w16gc.c \
|
||||
w16error.c \
|
||||
w16stdio.c \
|
||||
w16callb.c \
|
||||
ntinrval.c \
|
||||
$(NULL)
|
||||
else
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
CSRCS = \
|
||||
ntmisc.c \
|
||||
ntsem.c \
|
||||
ntinrval.c \
|
||||
ntgc.c \
|
||||
w95thred.c \
|
||||
w95io.c \
|
||||
w95cv.c \
|
||||
w95sock.c \
|
||||
win32_errors.c \
|
||||
w32poll.c \
|
||||
w95dllmain.c \
|
||||
$(NULL)
|
||||
else
|
||||
CSRCS = \
|
||||
ntdllmn.c \
|
||||
ntmisc.c \
|
||||
ntsem.c \
|
||||
ntinrval.c \
|
||||
ntgc.c \
|
||||
ntthread.c \
|
||||
ntio.c \
|
||||
win32_errors.c \
|
||||
w32poll.c \
|
||||
$(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -88,7 +88,7 @@ PRWord *_MD_HomeGCRegisters(PRThread *t, int isCurrent, int *np)
|
|||
void *
|
||||
GetMyFiberID()
|
||||
{
|
||||
#if defined(_X86_)
|
||||
#if defined(_X86_) && !defined(__MINGW32__)
|
||||
void *fiberData;
|
||||
|
||||
/* A pointer to our tib entry is found at FS:[18]
|
||||
|
|
|
@ -67,11 +67,15 @@ _PR_MD_GET_INTERVAL()
|
|||
count.LowPart = count.LowPart + top;
|
||||
return (PRUint32)count.LowPart;
|
||||
} else
|
||||
#if defined(__MINGW32__)
|
||||
return time();
|
||||
#else
|
||||
#if defined(WIN16)
|
||||
return clock(); /* milliseconds since application start */
|
||||
#else
|
||||
return timeGetTime(); /* milliseconds since system start */
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
PRIntervalTime
|
||||
|
|
|
@ -668,7 +668,14 @@ PRStatus _MD_CloseFileMap(PRFileMap *fmap)
|
|||
|
||||
#pragma warning(disable: 4035)
|
||||
PRInt32 _PR_MD_ATOMIC_INCREMENT(PRInt32 *val)
|
||||
{
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
PRInt32 result;
|
||||
asm volatile ("lock ; xadd %0, %1"
|
||||
: "=r"(result), "=m"(*val)
|
||||
: "0"(1), "m"(*val));
|
||||
return result + 1;
|
||||
#else
|
||||
__asm
|
||||
{
|
||||
mov ecx, val
|
||||
|
@ -676,12 +683,21 @@ PRInt32 _PR_MD_ATOMIC_INCREMENT(PRInt32 *val)
|
|||
lock xadd dword ptr [ecx], eax
|
||||
inc eax
|
||||
}
|
||||
#endif /* __GNUC__ */
|
||||
}
|
||||
#pragma warning(default: 4035)
|
||||
|
||||
#pragma warning(disable: 4035)
|
||||
PRInt32 _PR_MD_ATOMIC_DECREMENT(PRInt32 *val)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
PRInt32 result;
|
||||
asm volatile ("lock ; xadd %0, %1"
|
||||
: "=r"(result), "=m"(*val)
|
||||
: "0"(1), "m"(*val));
|
||||
//asm volatile("lock ; xadd %0, %1" : "=m" (val), "=a" (result) : "-1" (1));
|
||||
return result - 1;
|
||||
#else
|
||||
__asm
|
||||
{
|
||||
mov ecx, val
|
||||
|
@ -689,12 +705,21 @@ PRInt32 _PR_MD_ATOMIC_DECREMENT(PRInt32 *val)
|
|||
lock xadd dword ptr [ecx], eax
|
||||
dec eax
|
||||
}
|
||||
#endif /* __GNUC__ */
|
||||
}
|
||||
#pragma warning(default: 4035)
|
||||
|
||||
#pragma warning(disable: 4035)
|
||||
PRInt32 _PR_MD_ATOMIC_ADD(PRInt32 *intp, PRInt32 val)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
PRInt32 result;
|
||||
//asm volatile("lock ; xadd %1, %0" : "=m" (intp), "=a" (result) : "1" (val));
|
||||
asm volatile ("lock ; xadd %0, %1"
|
||||
: "=r"(result), "=m"(intp)
|
||||
: "0"(val), "m"(intp));
|
||||
return result + val;
|
||||
#else
|
||||
__asm
|
||||
{
|
||||
mov ecx, intp
|
||||
|
@ -703,6 +728,7 @@ PRInt32 _PR_MD_ATOMIC_ADD(PRInt32 *intp, PRInt32 val)
|
|||
lock xadd dword ptr [ecx], eax
|
||||
add eax, ebx
|
||||
}
|
||||
#endif /* __GNUC__ */
|
||||
}
|
||||
#pragma warning(default: 4035)
|
||||
|
||||
|
@ -712,6 +738,25 @@ PRInt32 _PR_MD_ATOMIC_ADD(PRInt32 *intp, PRInt32 val)
|
|||
void
|
||||
PR_StackPush(PRStack *stack, PRStackElem *stack_elem)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
void **tos = (void **) stack;
|
||||
void *tmp;
|
||||
|
||||
retry:
|
||||
if (*tos == (void *) -1)
|
||||
goto retry;
|
||||
|
||||
__asm__("lock xchg %0,%1"
|
||||
: "=r" (tmp), "=m"(*tos)
|
||||
: "0" (-1), "m"(*tos));
|
||||
|
||||
if (tmp == (void *) -1)
|
||||
goto retry;
|
||||
|
||||
*(void **)stack_elem = tmp;
|
||||
__asm__("" : : : "memory");
|
||||
*tos = stack_elem;
|
||||
#else
|
||||
__asm
|
||||
{
|
||||
mov ebx, stack
|
||||
|
@ -726,6 +771,7 @@ retry: mov eax,[ebx]
|
|||
mov [ecx],eax
|
||||
mov [ebx],ecx
|
||||
}
|
||||
#endif /* __GNUC__ */
|
||||
}
|
||||
#pragma warning(default: 4035)
|
||||
|
||||
|
@ -733,6 +779,32 @@ retry: mov eax,[ebx]
|
|||
PRStackElem *
|
||||
PR_StackPop(PRStack *stack)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
void **tos = (void **) stack;
|
||||
void *tmp;
|
||||
|
||||
retry:
|
||||
if (*tos == (void *) -1)
|
||||
goto retry;
|
||||
|
||||
__asm__("lock xchg %0,%1"
|
||||
: "=r" (tmp), "=m"(*tos)
|
||||
: "0" (-1), "m"(*tos));
|
||||
|
||||
if (tmp == (void *) -1)
|
||||
goto retry;
|
||||
|
||||
if (tmp != (void *) 0)
|
||||
{
|
||||
void *next = *(void **)tmp;
|
||||
*tos = next;
|
||||
*(void **)tmp = 0;
|
||||
}
|
||||
else
|
||||
*tos = tmp;
|
||||
|
||||
return tmp;
|
||||
#else
|
||||
__asm
|
||||
{
|
||||
mov ebx, stack
|
||||
|
@ -753,6 +825,7 @@ empty:
|
|||
mov [ebx],eax
|
||||
done:
|
||||
}
|
||||
#endif /* __GNUC__ */
|
||||
}
|
||||
#pragma warning(default: 4035)
|
||||
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
#
|
||||
# The contents of this file are subject to the Mozilla Public License
|
||||
# Version 1.1 (the "MPL"); you may not use this file except in
|
||||
# compliance with the MPL. You may obtain a copy of the MPL at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the MPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# MPL.
|
||||
#
|
||||
# The Initial Developer of this code under the MPL is Christopher
|
||||
# Seawood <cls@seawood.org>. Portions created by Christopher Seawood are
|
||||
# Copyright (C) 1999 Christopher Seawood. All Rights Reserved.
|
||||
#
|
||||
|
||||
ifeq (WINNT,$(MOZ_TARGET))
|
||||
CSRCS = ntmisc.c \
|
||||
ntsem.c \
|
||||
ntinrval.c \
|
||||
ntgc.c \
|
||||
ntio.c \
|
||||
ntthread.c \
|
||||
ntdllmn.c \
|
||||
win32_errors.c \
|
||||
w32poll.c
|
||||
else
|
||||
ifeq (WIN95,$(MOZ_TARGET))
|
||||
CSRCS = ntmisc.c \
|
||||
ntsem.c \
|
||||
ntinrval.c \
|
||||
ntgc.c \
|
||||
w95thred.c \
|
||||
w95io.c \
|
||||
w95cv.c \
|
||||
w95sock.c \
|
||||
win32_errors.c \
|
||||
w32poll.c \
|
||||
w95dllmain.c
|
||||
else
|
||||
ifeq (WIN16,$(MOZ_TARGET))
|
||||
CSRCS = w16null.c \
|
||||
w16thred.c \
|
||||
w16proc.c \
|
||||
w16fmem.c \
|
||||
w16sock.c \
|
||||
w16mem.c \
|
||||
w16io.c \
|
||||
w16gc.c \
|
||||
w16error.c \
|
||||
w16stdio.c \
|
||||
w16callb.c \
|
||||
ntinrval.c
|
||||
endif # win16
|
||||
endif # win95
|
||||
endif # winnt
|
||||
|
||||
CSRCS += $(PR_MD_CSRCS)
|
||||
ASFILES += $(PR_MD_ASFILES)
|
||||
|
||||
OBJS += $(addprefix md/windows/$(OBJDIR)/,$(CSRCS:.c=.$(OBJ_SUFFIX))) \
|
||||
$(addprefix md/windows/$(OBJDIR)/,$(ASFILES:.s=.$(OBJ_SUFFIX)))
|
||||
|
||||
|
|
@ -32,7 +32,11 @@ struct _MDLock _pr_ioq_lock;
|
|||
* We store the value in a PRTime variable for convenience.
|
||||
* This constant is used by _PR_FileTimeToPRTime().
|
||||
*/
|
||||
#if defined(__MINGW32__)
|
||||
static const PRTime _pr_filetime_offset = 116444736000000000LL;
|
||||
#else
|
||||
static const PRTime _pr_filetime_offset = 116444736000000000i64;
|
||||
#endif
|
||||
|
||||
void
|
||||
_PR_MD_INIT_IO()
|
||||
|
@ -200,7 +204,7 @@ _PR_MD_READ(PRFileDesc *fd, void *buf, PRInt32 len)
|
|||
}
|
||||
|
||||
PRInt32
|
||||
_PR_MD_WRITE(PRFileDesc *fd, void *buf, PRInt32 len)
|
||||
_PR_MD_WRITE(PRFileDesc *fd, const void *buf, PRInt32 len)
|
||||
{
|
||||
PRInt32 f = fd->secret->md.osfd;
|
||||
PRInt32 bytes;
|
||||
|
@ -222,7 +226,7 @@ _PR_MD_WRITE(PRFileDesc *fd, void *buf, PRInt32 len)
|
|||
} /* --- end _PR_MD_WRITE() --- */
|
||||
|
||||
PRInt32
|
||||
_PR_MD_LSEEK(PRFileDesc *fd, PRInt32 offset, int whence)
|
||||
_PR_MD_LSEEK(PRFileDesc *fd, PRInt32 offset, PRSeekWhence whence)
|
||||
{
|
||||
DWORD moveMethod;
|
||||
PRInt32 rv;
|
||||
|
@ -255,7 +259,7 @@ _PR_MD_LSEEK(PRFileDesc *fd, PRInt32 offset, int whence)
|
|||
}
|
||||
|
||||
PRInt64
|
||||
_PR_MD_LSEEK64(PRFileDesc *fd, PRInt64 offset, int whence)
|
||||
_PR_MD_LSEEK64(PRFileDesc *fd, PRInt64 offset, PRSeekWhence whence)
|
||||
{
|
||||
DWORD moveMethod;
|
||||
LARGE_INTEGER li;
|
||||
|
@ -464,7 +468,11 @@ _PR_FileTimeToPRTime(const FILETIME *filetime, PRTime *prtm)
|
|||
{
|
||||
PR_ASSERT(sizeof(FILETIME) == sizeof(PRTime));
|
||||
CopyMemory(prtm, filetime, sizeof(PRTime));
|
||||
#if defined(__MINGW32__)
|
||||
*prtm = (*prtm - _pr_filetime_offset) / 10LL;
|
||||
#else
|
||||
*prtm = (*prtm - _pr_filetime_offset) / 10i64;
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
/* Doublecheck our calculation. */
|
||||
|
@ -818,7 +826,7 @@ _PR_MD_RENAME(const char *from, const char *to)
|
|||
}
|
||||
|
||||
PRInt32
|
||||
_PR_MD_ACCESS(const char *name, PRIntn how)
|
||||
_PR_MD_ACCESS(const char *name, PRAccessHow how)
|
||||
{
|
||||
PRInt32 rv;
|
||||
switch (how) {
|
||||
|
|
|
@ -100,7 +100,11 @@ _PR_MD_CREATE_THREAD(PRThread *thread,
|
|||
thread->md.handle = (HANDLE) _beginthreadex(
|
||||
NULL,
|
||||
thread->stack->stackSize,
|
||||
#if defined(__MINGW32__)
|
||||
(void *)start,
|
||||
#else
|
||||
(unsigned (__stdcall *)(void *))start,
|
||||
#endif
|
||||
(void *)thread,
|
||||
CREATE_SUSPENDED,
|
||||
&(thread->id));
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
CSRCS = prseg.c
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
CSRCS = \
|
||||
pralarm.c \
|
||||
pratom.c \
|
||||
prcountr.c \
|
||||
prdtoa.c \
|
||||
prenv.c \
|
||||
prerr.c \
|
||||
prerror.c \
|
||||
prerrortable.c \
|
||||
prinit.c \
|
||||
prinrval.c \
|
||||
prlog2.c \
|
||||
prlong.c \
|
||||
prnetdb.c \
|
||||
prolock.c \
|
||||
prsystem.c \
|
||||
prtime.c \
|
||||
prthinfo.c \
|
||||
prtrace.c \
|
||||
$(NULL)
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
RELEASE_BINS = compile-et.pl prerr.properties
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# An AIX Optimization bug causes PR_dtoa() to produce wrong result.
|
||||
# This suppresses optimization for this single compilation unit.
|
||||
ifeq ($(OS_ARCH), AIX)
|
||||
$(OBJDIR)/prdtoa.o:
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CC) -o $@ -c $(filter-out -O, $(CFLAGS)) prdtoa.c
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
#
|
||||
# Generate prerr.h, prerr.c, and prerr.properties from prerr.et.
|
||||
#
|
||||
build_prerr:
|
||||
$(PERL) $(srcdir)/compile-et.pl prerr.et
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
||||
|
|
@ -24,8 +24,9 @@
|
|||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#ifndef WIN16
|
||||
#if !defined(__MINGW32__)
|
||||
#include "afxres.h"
|
||||
|
||||
#endif
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
CSRCS = \
|
||||
ptio.c \
|
||||
ptsynch.c \
|
||||
ptthread.c \
|
||||
ptmisc.c \
|
||||
$(NULL)
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
DIRS =
|
||||
else
|
||||
ifdef USE_BTHREADS
|
||||
DIRS =
|
||||
else
|
||||
DIRS = combined
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
CSRCS = \
|
||||
prcmon.c \
|
||||
prrwlock.c \
|
||||
prtpd.c \
|
||||
$(NULL)
|
||||
else
|
||||
ifdef USE_BTHREADS
|
||||
CSRCS = \
|
||||
prcmon.c \
|
||||
prrwlock.c \
|
||||
prtpd.c \
|
||||
$(NULL)
|
||||
else
|
||||
CSRCS = \
|
||||
prcmon.c \
|
||||
prdump.c \
|
||||
prmon.c \
|
||||
prsem.c \
|
||||
prrwlock.c \
|
||||
prcthr.c \
|
||||
prtpd.c \
|
||||
$(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,59 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
endif #!USE_AUTOCONF
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
CSRCS = \
|
||||
$(NULL)
|
||||
else
|
||||
CSRCS = \
|
||||
prucpu.c \
|
||||
prucv.c \
|
||||
prulock.c \
|
||||
pruthr.c \
|
||||
prustack.c \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
|
@ -0,0 +1,563 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
W16STDIO = $(MOD_DEPTH)/pr/src/md/windows/$(OBJDIR)/w16stdio.$(OBJ_SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
DIRS = dll w16gui
|
||||
else
|
||||
DIRS = dll
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
accept.c \
|
||||
acceptread.c \
|
||||
alarm.c \
|
||||
atomic.c \
|
||||
attach.c \
|
||||
bigfile.c \
|
||||
bigfile2.c \
|
||||
bigfile3.c \
|
||||
cleanup.c \
|
||||
cltsrv.c \
|
||||
concur.c \
|
||||
cvar.c \
|
||||
cvar2.c \
|
||||
dceemu.c \
|
||||
dlltest.c \
|
||||
dtoa.c \
|
||||
errcodes.c \
|
||||
exit.c \
|
||||
fileio.c \
|
||||
foreign.c \
|
||||
forktest.c \
|
||||
fsync.c \
|
||||
getproto.c \
|
||||
i2l.c \
|
||||
initclk.c \
|
||||
inrval.c \
|
||||
instrumt.c \
|
||||
intrupt.c \
|
||||
io_timeout.c \
|
||||
ioconthr.c \
|
||||
ipv6.c \
|
||||
join.c \
|
||||
joinkk.c \
|
||||
joinku.c \
|
||||
joinuk.c \
|
||||
joinuu.c \
|
||||
layer.c \
|
||||
lazyinit.c \
|
||||
lltest.c \
|
||||
lock.c \
|
||||
lockfile.c \
|
||||
logger.c \
|
||||
multiacc.c \
|
||||
multiwait.c \
|
||||
many_cv.c \
|
||||
nbconn.c \
|
||||
nblayer.c \
|
||||
nonblock.c \
|
||||
op_2long.c \
|
||||
op_filnf.c \
|
||||
op_filok.c \
|
||||
op_noacc.c \
|
||||
op_nofil.c \
|
||||
parent.c \
|
||||
perf.c \
|
||||
pipeping.c \
|
||||
pipepong.c \
|
||||
pipeself.c \
|
||||
poll_er.c \
|
||||
poll_nm.c \
|
||||
poll_to.c \
|
||||
pollable.c \
|
||||
prftest.c \
|
||||
prftest1.c \
|
||||
prftest2.c \
|
||||
priotest.c \
|
||||
provider.c \
|
||||
prpoll.c \
|
||||
ranfile.c \
|
||||
rwlocktest.c \
|
||||
sel_spd.c \
|
||||
selct_er.c \
|
||||
selct_nm.c \
|
||||
selct_to.c \
|
||||
select2.c \
|
||||
sem.c \
|
||||
server_test.c \
|
||||
servr_kk.c \
|
||||
servr_ku.c \
|
||||
servr_uk.c \
|
||||
servr_uu.c \
|
||||
short_thread.c \
|
||||
sigpipe.c \
|
||||
socket.c \
|
||||
sockopt.c \
|
||||
sockping.c \
|
||||
sockpong.c \
|
||||
sprintf.c \
|
||||
sproc_ch.c \
|
||||
sproc_p.c \
|
||||
stack.c \
|
||||
stdio.c \
|
||||
strod.c \
|
||||
suspend.c \
|
||||
switch.c \
|
||||
system.c \
|
||||
testbit.c \
|
||||
testfile.c \
|
||||
threads.c \
|
||||
thruput.c \
|
||||
timemac.c \
|
||||
timetest.c \
|
||||
tmoacc.c \
|
||||
tmocon.c \
|
||||
tpd.c \
|
||||
vercheck.c \
|
||||
version.c \
|
||||
udpsrv.c \
|
||||
writev.c \
|
||||
xnotify.c \
|
||||
y2k.c \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
CSRCS += \
|
||||
sleep.c \
|
||||
stat.c \
|
||||
yield.c \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
PROG_SUFFIX = .exe
|
||||
else
|
||||
PROG_SUFFIX =
|
||||
endif
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
|
||||
|
||||
TARGETS = $(PROGS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
||||
# Setting the variables LDOPTS and LIBPR. We first initialize
|
||||
# them to the default values, then adjust them for some platforms.
|
||||
LDOPTS = -L$(DIST)/lib
|
||||
LIBPR = -lnspr$(MOD_VERSION)
|
||||
LIBPLC = -lplc$(MOD_VERSION)
|
||||
|
||||
ifndef USE_AUTOCONF
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).lib
|
||||
else
|
||||
ifeq ($(OS_TARGET), OS2)
|
||||
ifdef XP_OS2_VACPP
|
||||
LDOPTS =
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).lib
|
||||
else
|
||||
LDOPTS = -Zlinker /PM:VIO
|
||||
endif
|
||||
else
|
||||
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLC= $(DIST)/lib/plc$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
else
|
||||
LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLC= $(DIST)/lib/libplc$(MOD_VERSION).$(LIB_SUFFIX)
|
||||
endif
|
||||
ifdef PROFILE
|
||||
LDOPTS += -PROFILE -MAP
|
||||
endif # profile
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
# Use an absolute pathname as the runtime library path (for the -R
|
||||
# or -rpath linker option or the LD_RUN_PATH environment variable).
|
||||
ifeq (,$(patsubst /%,,$(DIST)))
|
||||
# $(DIST) is already an absolute pathname.
|
||||
ABSOLUTE_LIB_DIR = $(DIST)/lib
|
||||
else
|
||||
# $(DIST) is a relative pathname: prepend the current directory.
|
||||
PWD = $(shell pwd)
|
||||
ABSOLUTE_LIB_DIR = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
CC = CC
|
||||
endif
|
||||
LDOPTS += -rpath $(ABSOLUTE_LIB_DIR) -rdata_shared
|
||||
# For 6.x machines, include this flag
|
||||
ifeq ($(basename $(OS_RELEASE)),6)
|
||||
ifeq ($(USE_N32),1)
|
||||
LDOPTS += -n32
|
||||
else
|
||||
LDOPTS += -32
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
ifeq ($(OS_RELEASE), 6.2)
|
||||
LDOPTS += -Wl,-woff,85
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), OSF1)
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
CC = cxx
|
||||
endif
|
||||
# I haven't figured out how to pass -rpath to cc on OSF1 V3.2, so
|
||||
# we do static linking.
|
||||
ifeq (,$(filter-out V2.0 V3.2,$(OS_RELEASE)))
|
||||
LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).a
|
||||
LIBPLC = $(DIST)/lib/libplc$(MOD_VERSION).a
|
||||
EXTRA_LIBS = -lc_r
|
||||
else
|
||||
LDOPTS += -rpath $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR)
|
||||
ifeq ($(USE_64),1)
|
||||
LDOPTS += -L/usr/lib/pa20_64 -lpthread +DD64
|
||||
endif
|
||||
endif
|
||||
|
||||
# AIX
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)
|
||||
LIBPR = -lnspr$(MOD_VERSION)_shr
|
||||
LIBPLC = -lplc$(MOD_VERSION)_shr
|
||||
else
|
||||
LDOPTS += -brtl
|
||||
EXTRA_LIBS = -ldl
|
||||
endif
|
||||
endif
|
||||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR)
|
||||
else
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
CC = CC
|
||||
endif
|
||||
LDOPTS += -R $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_THREADS_ONLY),1)
|
||||
# SunOS 5.4 and 5.5 need to link with -lthread or -lpthread,
|
||||
# even though we already linked with these system libraries
|
||||
# when we built libnspr.so.
|
||||
ifeq ($(OS_RELEASE), 5.4)
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS_RELEASE), 5.5)
|
||||
ifdef USE_PTHREADS
|
||||
EXTRA_LIBS = -lpthread
|
||||
else
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
endif
|
||||
endif # LOCAL_THREADS_ONLY
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NEC)
|
||||
EXTRA_LIBS = $(OS_LIBS)
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# NCR needs to link against -lsocket -lnsl -ldl (and -lc, which is
|
||||
# linked implicitly by $(CC)). Note that we did not link with these
|
||||
# system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NEXTSTEP)
|
||||
# balazs.pataki@sztaki.hu: linkage is done in a different pass in the `tests'
|
||||
# modeul, so we have to pass the `-posix' flag by "hand" to `ld'
|
||||
LDOPTS += -posix
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NEWS-OS)
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
LIBPR = $(DIST)/lib/libnspr$(MOD_VERSION).a
|
||||
LIBPLC = $(DIST)/lib/libplc$(MOD_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -lgen -lresolv
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), Linux)
|
||||
ifeq ($(OS_RELEASE), 1.2)
|
||||
EXTRA_LIBS = -ldl
|
||||
else
|
||||
LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR)
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
EXTRA_LIBS = -lpthread
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCOOS)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SINIX)
|
||||
EXTRA_LIBS = -lsocket -lnsl -lresolv -ldl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), UNIXWARE)
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),FreeBSD)
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
LDOPTS += -pthread
|
||||
endif
|
||||
LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),BSD_OS)
|
||||
ifneq ($(OS_RELEASE),1.1)
|
||||
EXTRA_LIBS = -ldl
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
LIBPTHREAD = -lpthreads
|
||||
else
|
||||
ifeq ($(OS_ARCH),FreeBSD)
|
||||
LIBPTHREAD =
|
||||
else
|
||||
ifeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10)
|
||||
LIBPTHREAD = -ldce
|
||||
else
|
||||
ifeq ($(OS_ARCH),BSD_OS)
|
||||
LIBPTHREAD =
|
||||
else
|
||||
LIBPTHREAD = -lpthread
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
endif # !USE_AUTOCONF
|
||||
|
||||
#####################################################
|
||||
#
|
||||
# The rules
|
||||
#
|
||||
#####################################################
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifdef USE_AUTOCONF
|
||||
|
||||
# Cancel this rule (force implicit)
|
||||
%: %.c
|
||||
|
||||
%: %.$(OBJ_SUFFIX)
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(EXTRA_LIBS) -o $@
|
||||
|
||||
else # !USE_AUTOCONF
|
||||
|
||||
AIX_PRE_4_2 = 0
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifeq ($(OS_RELEASE),4.1)
|
||||
ifneq ($(USE_PTHREADS), 1)
|
||||
#AIX_PRE_4_2 = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(AIX_PRE_4_2),1)
|
||||
|
||||
# AIX releases prior to 4.2 need a special two-step linking hack
|
||||
# in order to both override the system select() and be able to
|
||||
# get at the original system select().
|
||||
#
|
||||
# We use a pattern rule in ns/nspr20/config/rules.mk to generate
|
||||
# the .$(OBJ_SUFFIX) file from the .c source file, then do the
|
||||
# two-step linking hack below.
|
||||
|
||||
$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@ $(AIX_TMP)
|
||||
$(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(DIST)/lib/libnspr$(MOD_VERSION).a
|
||||
$(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
|
||||
rm -f $(AIX_TMP)
|
||||
|
||||
else
|
||||
|
||||
# All platforms that are not AIX pre-4.2.
|
||||
|
||||
$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
echo system windows >w16link
|
||||
echo name $@ >>w16link
|
||||
echo option map >>w16link
|
||||
# echo option CASEEXACT >>w16link
|
||||
echo option stack=16K >>w16link
|
||||
echo debug $(DEBUGTYPE) all >>w16link
|
||||
echo file >>w16link
|
||||
echo $< , >>w16link
|
||||
echo $(W16STDIO) >>w16link
|
||||
echo library >>w16link
|
||||
echo $(LIBPR), >>w16link
|
||||
echo $(LIBPLC), >>w16link
|
||||
echo winsock.lib >>w16link
|
||||
wlink @w16link.
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
$(LINK) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS)
|
||||
else
|
||||
link $(LDOPTS) $< $(LIBPLC) $(LIBPR) wsock32.lib -out:$@
|
||||
endif
|
||||
endif
|
||||
else
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
endif # !USE_AUTOCONF
|
||||
|
||||
export:: $(TARGETS)
|
||||
install:: export
|
||||
clean::
|
||||
rm -f $(TARGETS)
|
||||
|
||||
# The prpoll test calls BSD socket functions, so it needs to link
|
||||
# with -lsocket on some platforms.
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) -lsocket $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
$(OBJDIR)/attach: $(OBJDIR)/attach.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
|
||||
$(OBJDIR)/foreign: $(OBJDIR)/foreign.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
|
||||
$(OBJDIR)/provider: $(OBJDIR)/provider.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
|
||||
$(OBJDIR)/socket: $(OBJDIR)/socket.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
|
||||
$(OBJDIR)/testfile: $(OBJDIR)/testfile.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
|
||||
#
|
||||
# Run the test programs with no arguments
|
||||
#
|
||||
# Test output goes to the file pointed to by the environment variable
|
||||
# NSPR_TEST_LOGFILE, if set, else to /dev/null
|
||||
#
|
||||
ECHO = echo
|
||||
PROGRAMS = $(notdir $(PROGS))
|
||||
ifdef NSPR_TEST_LOGFILE
|
||||
LOGFILE = $(NSPR_TEST_LOGFILE)
|
||||
else
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
LOGFILE = nul
|
||||
else
|
||||
LOGFILE = /dev/null
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET),Linux)
|
||||
ECHO = /bin/echo
|
||||
endif
|
||||
|
||||
ALWAYS:
|
||||
|
||||
runtests:: $(PROGS) ALWAYS
|
||||
@$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n"
|
||||
@$(ECHO) "BEGIN\t\t\t`date`"
|
||||
@$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n"
|
||||
@$(ECHO) "Test\t\t\tResult\n"
|
||||
@cd $(OBJDIR); for i in $(PROGRAMS); do \
|
||||
$(ECHO) "$$i\c"; \
|
||||
./$$i >> $(LOGFILE) 2>&1 ; \
|
||||
if [ 0 = $$? ] ; then \
|
||||
$(ECHO) "\t\t\tPassed"; \
|
||||
else \
|
||||
$(ECHO) "\t\t\tFAILED"; \
|
||||
fi; \
|
||||
done
|
||||
@$(ECHO) "\nEND\t\t`date`\n"
|
|
@ -0,0 +1,99 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
OBJS = $(OBJDIR)/mygetval.$(OBJ_SUFFIX) \
|
||||
$(OBJDIR)/mysetval.$(OBJ_SUFFIX)
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
W16OBJS = $(subst $(space),$(comma)$(space),$(OBJS))
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq (,$(filter-out WIN16 OS2,$(OS_TARGET)))
|
||||
# do nothing
|
||||
else
|
||||
DLLBASE=/BASE:0x30000000
|
||||
RES=$(OBJDIR)/my.res
|
||||
RESNAME=../../../pr/src/nspr.rc
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
IMPORT_LIBRARY = $(OBJDIR)/my.lib
|
||||
SHARED_LIBRARY = $(OBJDIR)/my.dll
|
||||
ifeq ($(OS_TARGET), OS2)
|
||||
LIBRARY = $(OBJDIR)/my_s.lib
|
||||
# XXX $(LIBRARY) probably doesn't need to be added to TARGETS.
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
|
||||
else
|
||||
TARGETS = $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
|
||||
endif
|
||||
else
|
||||
ifdef MKSHLIB
|
||||
SHARED_LIBRARY = $(OBJDIR)/libmy.$(DLL_SUFFIX)
|
||||
endif
|
||||
TARGETS = $(SHARED_LIBRARY)
|
||||
endif
|
||||
|
||||
#
|
||||
# To create a loadable module on Rhapsody, we must override
|
||||
# -dynamiclib with -bundle.
|
||||
#
|
||||
ifeq ($(OS_ARCH),Rhapsody)
|
||||
DSO_LDOPTS = -bundle
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
# Note: The Win16 target: my.dll requires these macros
|
||||
# to be overridden to build the test .dll
|
||||
# default values in win16...mk are for release targets.
|
||||
#
|
||||
OS_DLL_OPTION = NOCASEEXACT
|
||||
OS_LIB_FLAGS = -irn
|
||||
endif
|
||||
|
||||
ifdef SHARED_LIBRARY
|
||||
export:: $(TARGETS)
|
||||
$(NSINSTALL) $(TARGETS) ../$(OBJDIR)/dll
|
||||
|
||||
install:: export
|
||||
|
||||
clean::
|
||||
rm -rf $(TARGETS)
|
||||
endif
|
|
@ -39,6 +39,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#define DEFAULT_COUNT 100000
|
||||
PRInt32 count;
|
||||
|
@ -79,7 +80,6 @@ static void timeGethrtime(void)
|
|||
rv = ftime();
|
||||
}
|
||||
|
||||
#include <sys/time.h>
|
||||
static void timeGettimeofday(void)
|
||||
{
|
||||
PRInt32 index = count;
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
|
||||
|
||||
MOD_DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
W16STDIO = $(MOD_DEPTH)/pr/src/md/windows/$(OBJDIR)/w16stdio.$(OBJ_SUFFIX)
|
||||
|
||||
CSRCS = poppad.c \
|
||||
popfile.c \
|
||||
popfont.c \
|
||||
popfind.c \
|
||||
popprnt0.c
|
||||
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
LIBPR = $(DIST)/lib/nspr$(MOD_VERSION).lib
|
||||
LIBPLDS = $(DIST)/lib/plds$(MOD_VERSION).lib
|
||||
TARGETS = $(OBJDIR)/poppad.exe
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
$(OBJDIR)/poppad.exe: $(OBJS)
|
||||
@$(MAKE_OBJDIR)
|
||||
echo system windows >w16link
|
||||
echo name $@ >>w16link
|
||||
echo option map >>w16link
|
||||
echo option stack=16K >>w16link
|
||||
echo debug $(DEBUGTYPE) all >>w16link
|
||||
echo file >>w16link
|
||||
echo $(OBJDIR)\\poppad.$(OBJ_SUFFIX), >>w16link
|
||||
echo $(OBJDIR)\\popfile.$(OBJ_SUFFIX), >>w16link
|
||||
echo $(OBJDIR)\\popfont.$(OBJ_SUFFIX), >>w16link
|
||||
echo $(OBJDIR)\\popfind.$(OBJ_SUFFIX), >>w16link
|
||||
echo $(OBJDIR)\\popprnt0.$(OBJ_SUFFIX), >>w16link
|
||||
echo $(W16STDIO) >>w16link
|
||||
echo library $(LIBPR) >>w16link
|
||||
echo library $(LIBPLDS) >>w16link
|
||||
echo library clibl, commdlg >>w16link
|
||||
echo library winsock.lib >>w16link
|
||||
wlink @w16link.
|
||||
wrc -bt=windows poppad.rc $(OBJDIR)\\poppad.exe
|
||||
else
|
||||
$(OBJDIR)/poppad.exe: $(OBJS)
|
||||
link $(LDOPTS) $< $(LIBPLC) $(LIBPR) wsock32.lib -out:$@
|
||||
endif
|
||||
|
||||
export:: $(TARGETS)
|
||||
|
||||
install:: export
|
||||
|
||||
clean::
|
||||
rm -rf $(TARGETS)
|
|
@ -0,0 +1,217 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.1 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
#! gmake
|
||||
|
||||
MOD_DEPTH = ..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(MOD_DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OS_CFLAGS = $(OS_EXE_CFLAGS)
|
||||
endif
|
||||
|
||||
|
||||
DIRS =
|
||||
|
||||
CSRCS = \
|
||||
httpget.c \
|
||||
tail.c \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
PROG_SUFFIX = .exe
|
||||
else
|
||||
PROG_SUFFIX =
|
||||
endif
|
||||
|
||||
PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
|
||||
|
||||
TARGETS = $(PROGS)
|
||||
|
||||
INCLUDES = -I$(DIST)/include
|
||||
|
||||
NSPR_VERSION = 3
|
||||
|
||||
# Setting the variables LDOPTS and LIBPR. We first initialize
|
||||
# them to the default values, then adjust them for some platforms.
|
||||
LDOPTS = -L$(DIST)/lib
|
||||
LIBPR = -lnspr$(NSPR_VERSION)
|
||||
LIBPLC = -lplc$(NSPR_VERSION)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
LIBPR = $(DIST)/lib/nspr$(NSPR_VERSION).lib
|
||||
LIBPLC= $(DIST)/lib/plc$(NSPR_VERSION).lib
|
||||
else
|
||||
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
||||
LIBPR = $(DIST)/lib/libnspr$(NSPR_VERSION).$(LIB_SUFFIX)
|
||||
LIBPLC= $(DIST)/lib/libplc$(NSPR_VERSION).$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
PWD = $(shell pwd)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), OSF1)
|
||||
LDOPTS += -rpath $(PWD)/$(DIST)/lib -lpthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -Wl,+s,+b,$(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
# AIX
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
LDOPTS += -blibpath:$(PWD)/$(DIST)/lib:/usr/lib:/lib
|
||||
LIBPR = -lnspr$(NSPR_VERSION)_shr
|
||||
LIBPLC = -lplc$(NSPR_VERSION)_shr
|
||||
endif
|
||||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(DIST)/lib
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
# SunOS 5.4 and 5.5 need to link with -lthread or -lpthread,
|
||||
# even though we already linked with these system libraries
|
||||
# when we built libnspr.so.
|
||||
ifeq ($(OS_RELEASE), 5.4)
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
|
||||
ifeq ($(OS_RELEASE), 5.5)
|
||||
ifdef USE_PTHREADS
|
||||
EXTRA_LIBS = -lpthread
|
||||
else
|
||||
EXTRA_LIBS = -lthread
|
||||
endif
|
||||
endif
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# XXX: We see some strange problems when we link with libnspr.so.
|
||||
# So for now we use static libraries on NCR. The shared library
|
||||
# stuff below is commented out.
|
||||
LIBPR = $(DIST)/lib/libnspr$(NSPR_VERSION).a
|
||||
LIBPLC = $(DIST)/lib/libplc$(NSPR_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
#EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCOOS)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(DIST)/lib
|
||||
endif
|
||||
|
||||
#####################################################
|
||||
#
|
||||
# The rules
|
||||
#
|
||||
#####################################################
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
AIX_PRE_4_2 = 0
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
ifneq ($(OS_RELEASE),4.2)
|
||||
ifneq ($(USE_PTHREADS), 1)
|
||||
#AIX_PRE_4_2 = 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(AIX_PRE_4_2),1)
|
||||
|
||||
# AIX releases prior to 4.2 need a special two-step linking hack
|
||||
# in order to both override the system select() and be able to
|
||||
# get at the original system select().
|
||||
#
|
||||
# We use a pattern rule in ns/nspr20/config/rules.mk to generate
|
||||
# the .$(OBJ_SUFFIX) file from the .c source file, then do the
|
||||
# two-step linking hack below.
|
||||
|
||||
$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
rm -f $@ $(AIX_TMP)
|
||||
$(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(DIST)/lib/libnspr$(NSPR_VERSION).a
|
||||
$(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
|
||||
rm -f $(AIX_TMP)
|
||||
|
||||
else
|
||||
|
||||
# All platforms that are not AIX pre-4.2.
|
||||
|
||||
$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
echo system windows >w16link
|
||||
echo option map >>w16link
|
||||
echo option stack=10K >>w16link
|
||||
echo option heapsize=32K >>w16link
|
||||
echo debug $(DEBUGTYPE) all >>w16link
|
||||
echo name $@ >>w16link
|
||||
echo file >>w16link
|
||||
echo $< >>w16link
|
||||
echo library >>w16link
|
||||
echo $(LIBPR), >>w16link
|
||||
echo $(LIBPLC), >>w16link
|
||||
echo winsock.lib >>w16link
|
||||
wlink @w16link.
|
||||
else
|
||||
link $(LDOPTS) $< $(LIBPR) $(LIBPLC) wsock32.lib -out:$@
|
||||
endif
|
||||
else
|
||||
$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPR) $(LIBPLC) $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
export:: $(TARGETS)
|
||||
install:: export
|
||||
clean::
|
||||
rm -f $(TARGETS)
|
||||
|
Загрузка…
Ссылка в новой задаче