Add autoconf for NSPR. Check in for cls@seawood.org. Buzill 11893

This commit is contained in:
srinivas%netscape.com 1999-10-14 15:09:11 +00:00
Родитель 076620922f
Коммит bc24d35ef7
55 изменённых файлов: 8638 добавлений и 21 удалений

Просмотреть файл

@ -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.

3389
nsprpub/configure поставляемый Executable file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

615
nsprpub/configure.in Normal file
Просмотреть файл

@ -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

41
nsprpub/lib/Makefile.in Normal file
Просмотреть файл

@ -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

184
nsprpub/lib/ds/Makefile.in Normal file
Просмотреть файл

@ -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)

29
nsprpub/pr/Makefile.in Normal file
Просмотреть файл

@ -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

426
nsprpub/pr/src/Makefile.in Normal file
Просмотреть файл

@ -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)

217
nsprpub/tools/Makefile.in Normal file
Просмотреть файл

@ -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)