diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 118 |
1 files changed, 80 insertions, 38 deletions
diff --git a/configure.in b/configure.in index 462e62e0..cc3cc06b 100644 --- a/configure.in +++ b/configure.in @@ -66,6 +66,7 @@ NSINSTALL='$(MOD_DEPTH)/config/$(OBJDIR_NAME)/nsinstall' NOSUCHFILE=/no-such-file LIBNSPR='-L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)' LIBPLC='-L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION)' +CYGWIN_WRAPPER= dnl Link in libraries necessary to resolve all symbols for shared libs RESOLVE_LINK_SYMBOLS= @@ -90,7 +91,7 @@ case "$target" in if test "$CC" = "cl" || test "$CXX" = "cl"; then _WIN32_MSVC=1 elif test -z "$CC"; then - echo 'main() { return 0; }' > dummy.c + echo 'int main() { return 0; }' > dummy.c cl -o dummy dummy.c if test $? = 0; then _WIN32_MSVC=1 @@ -445,7 +446,7 @@ dnl ======================================================== AC_MSG_CHECKING([for gcc -pipe support]) if test -n "$GNU_CC" && test -n "$GNU_CXX" && test -n "$GNU_AS"; then echo '#include <stdio.h>' > dummy-hello.c - echo 'int main() { printf("Hello World\n"); exit(0); }' >> dummy-hello.c + echo 'int main() { printf("Hello World\n"); return 0; }' >> dummy-hello.c ${CC} -S dummy-hello.c -o dummy-hello.s 2>&5 cat dummy-hello.s | ${AS} -o dummy-hello.S - 2>&5 if test $? = 0; then @@ -509,8 +510,17 @@ if test "$OS_ARCH" = "IRIX64"; then OS_ARCH=IRIX fi +if test "$OS_ARCH" = "AIX"; then + OS_RELEASE=`uname -v`.`uname -r` +fi + +if test "$OS_ARCH" = "FreeBSD"; then + OS_RELEASE=`echo $OS_RELEASE | sed 's/-.*//'` +fi + if test "$OS_ARCH" = "Linux"; then OS_RELEASE=`echo $OS_RELEASE | sed 's/-.*//'` + OS_RELEASE=`echo $OS_RELEASE | awk -F\. '{ print $1 "." $2 }'` fi if test "$OS_ARCH" = "POSIX_for_OpenVMS_AXP"; then @@ -720,11 +730,7 @@ case "$target" in MDCPUCFG_H=_aix64.cfg OBJECT_MODE=64 else - if test -n "$USE_IPV6"; then - MDCPUCFG_H=_aix32in6.cfg - else - MDCPUCFG_H=_aix32.cfg - fi + MDCPUCFG_H=_aix32.cfg fi PR_MD_CSRCS=aix.c RESOLVE_LINK_SYMBOLS=1 @@ -745,6 +751,7 @@ case "$target" in _OPTIMIZE_FLAGS=-O2 _DEBUG_FLAGS='-gdwarf-2 -O0' MKSHLIB='$(CCC) $(DSO_LDOPTS) -o $@' + AC_CHECK_LIB(bind, gethostbyaddr, [OS_LIBS="$OS_LIBS -lbind -lsocket"]) ;; powerpc) CC=mwcc @@ -829,7 +836,6 @@ case "$target" in AC_DEFINE(HAVE_BSD_FLOCK) CFLAGS="$CFLAGS -Wmost -fno-common" if echo $OS_TEST | grep -c 86 2>/dev/null; then - CFLAGS="$CFLAGS -mno-486" AC_DEFINE(i386) CPU_ARCH=i386 else @@ -876,8 +882,9 @@ case "$target" in else DLL_SUFFIX=so.1.0 fi + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' DSO_CFLAGS=-fPIC - DSO_LDOPTS=-Bshareable + DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' MDCPUCFG_H=_freebsd.cfg PR_MD_CSRCS=freebsd.c ;; @@ -890,7 +897,9 @@ case "$target" in DLL_SUFFIX=sl DSO_LDOPTS='-b +h $(notdir $@)' PR_MD_CSRCS=hpux.c - PR_MD_ASFILES=os_HPUX.s + if test "$OS_TEST" != "ia64"; then + PR_MD_ASFILES=os_HPUX.s + fi if test -n "$USE_64"; then MDCPUCFG_H=_hpux64.cfg else @@ -929,7 +938,7 @@ case "$target" in AC_DEFINE(HAVE_INT_LOCALTIME_R) fi - if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00|B.11.11)' >/dev/null; then + if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00|B.11.11|B.11.20)' >/dev/null; then AC_DEFINE(HAVE_POINTER_LOCALTIME_R) fi @@ -964,7 +973,7 @@ case "$target" in DEFAULT_IMPL_STRATEGY=_PTH fi - if echo "$OS_RELEASE" | egrep '^(B.11.00|B.11.11)' >/dev/null; then + if echo "$OS_RELEASE" | egrep '^(B.11.00|B.11.11|B.11.20)' >/dev/null; then AC_DEFINE(HPUX10) AC_DEFINE(HPUX11) AC_DEFINE(_LARGEFILE64_SOURCE) @@ -972,11 +981,21 @@ case "$target" in AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) if test -z "$GNU_CC"; then if test -z "$USE_64"; then - CFLAGS="$CFLAGS +DAportable +DS2.0" - CXXFLAGS="$CXXFLAGS +DAportable +DS2.0" + if test "$OS_TEST" = "ia64"; then + CFLAGS="$CFLAGS +DD32" + CXXFLAGS="$CXXFLAGS +DD32" + else + CFLAGS="$CFLAGS +DAportable +DS2.0" + CXXFLAGS="$CXXFLAGS +DAportable +DS2.0" + fi else - CFLAGS="$CFLAGS +DA2.0W +DS2.0" - CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0" + if test "$OS_TEST" = "ia64"; then + CFLAGS="$CFLAGS +DD64" + CXXFLAGS="$CXXFLAGS +DD64" + else + CFLAGS="$CFLAGS +DA2.0W +DS2.0" + CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0" + fi fi fi DEFAULT_IMPL_STRATEGY=_PTH @@ -1108,7 +1127,6 @@ case "$target" in AC_DEFINE(_LARGEFILE64_SOURCE) AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) AC_DEFINE(LINUX) - AC_DEFINE(linux) CFLAGS="$CFLAGS -ansi -Wall" CXXFLAGS="$CXXFLAGS -ansi -Wall" MDCPUCFG_H=_linux.cfg @@ -1140,14 +1158,8 @@ case "$target" in PR_MD_ASFILES=os_Linux_ia64.s ;; m68k) - CFLAGS="$CFLAGS -m68020-40" - CXXFLAGS="$CXXFLAGS -m68020-40" - # - # gcc on Linux/m68k either has a bug or triggers a code-sequence - # bug in the 68060 which causes gcc to crash. The simplest way to - # avoid this is to enable a minimum level of optimization. - # - _DEBUG_FLAGS="$_DEBUG_FLAGS -O" + CFLAGS="$CFLAGS -m68020-60" + CXXFLAGS="$CXXFLAGS -m68020-60" ;; esac ;; @@ -1157,20 +1169,22 @@ case "$target" in AC_DEFINE(WIN32) PR_MD_ARCH_DIR=windows RESOLVE_LINK_SYMBOLS=1 + NSINSTALL='$(CYGWIN_WRAPPER) nsinstall' if test -n "$GNU_CC"; then AC_DEFINE(NONAMELESSUNION) MKSHLIB='$(DLLTOOL) --as=$(AS) -k --dllname $*.dll --output-lib $@' else - CC=cl - CXX=cl + topsrcdir=$srcdir + CYGWIN_WRAPPER='sh $(topsrcdir)/build/cygwin-wrapper' + CC='$(CYGWIN_WRAPPER) cl' + CXX='$(CYGWIN_WRAPPER) cl' LD=link AR='lib -NOLOGO -OUT:"$@"' AR_FLAGS= RANLIB='echo not_ranlib' STRIP='echo not_strip' - NSINSTALL=nsinstall - RC=rc.exe + RC='$(CYGWIN_WRAPPER) rc.exe' GARBAGE='$(OBJDIR)/vc20.pdb $(OBJDIR)/vc40.pdb' OBJ_SUFFIX=obj LIB_SUFFIX=lib @@ -1443,7 +1457,6 @@ mips-sony-newsos*) AC_DEFINE(XP_UNIX) AC_DEFINE(OSF1) AC_DEFINE(_REENTRANT) - AC_CHECK_HEADER(machine/builtins.h, AC_DEFINE(OSF1_HAVE_MACHINE_BUILTINS_H)) if echo "$OS_RELEASE" | egrep -c '(V2.0|V3.2)' 2>/dev/null ; then USE_NSPR_THREADS=1 @@ -1455,6 +1468,10 @@ mips-sony-newsos*) CC="$CC -readonly_strings" fi _OPTIMIZE_FLAGS="$_OPTIMIZE_FLAGS -Olimit 4000" + AC_CHECK_HEADER(machine/builtins.h, AC_DEFINE(OSF1_HAVE_MACHINE_BUILTINS_H)) + else + CFLAGS="$CFLAGS -mieee" + CXXFLAGS="$CXXFLAGS -mieee" fi if echo $OS_RELEASE | egrep -c '(V2.0|V3.2)' 2>/dev/null; then @@ -1648,6 +1665,11 @@ mips-sony-newsos*) DSO_LDOPTS="$DSO_LDOPTS -f "'$(ULTRASPARC_FILTER_LIBRARY)' fi fi + # Purify requires that binaries linked against nspr also + # be linked against -lrt (or -lposix4) so add it to OS_LIBS + _rev=`uname -r` + _librt=`echo $_rev 5.6 | awk '{ if ($1 > $2) print "-lrt"; else print "-lposix4" }'` + OS_LIBS="$OS_LIBS $_librt" ;; *-sco-sysv5*) @@ -1674,8 +1696,8 @@ mips-sony-newsos*) *-os2*) AC_DEFINE(XP_OS2) - AC_DEFINE(BSD_SELECT) AC_DEFINE(XP_PC) + AC_DEFINE(BSD_SELECT) AC_DEFINE(_PR_GLOBAL_THREADS_ONLY) OBJ_SUFFIX=obj LIB_SUFFIX=lib @@ -1858,13 +1880,13 @@ AC_DEFUN(MOZ_CHECK_PTHREADS, AC_MSG_CHECKING([for pthread_create in -l$1]) echo " #include <pthread.h> - void *foo(void *v) { int a = 1; } + void *foo(void *v) { return v; } int main() { pthread_t t; if (!pthread_create(&t, 0, &foo, 0)) { pthread_join(t, 0); } - exit(0); + return 0; }" > dummy.c ; echo "${CC-cc} -o dummy${ac_exeext} dummy.c $CFLAGS $CPPFLAGS -l[$1] $LDFLAGS $LIBS" 1>&5; ${CC-cc} -o dummy${ac_exeext} dummy.c $CFLAGS $CPPFLAGS -l[$1] $LDFLAGS $LIBS 2>&5; @@ -1906,7 +1928,7 @@ AC_ARG_WITH(pthreads, USE_PTHREADS= _PTHREAD_LDFLAGS= fi], - [ if test -n "$_HAVE_PTHREADS" && test -z "$USE_USER_PTHREADS" && test -z "$USER_NSPR_THREADS"; then + [ if test -n "$_HAVE_PTHREADS" && test -z "$USE_USER_PTHREADS" && test -z "$USE_NSPR_THREADS"; then USE_PTHREADS=1 USE_USER_PTHREADS= USE_NSPR_THREADS= @@ -1966,6 +1988,8 @@ AC_ARG_ENABLE(ipv6, [ --enable-ipv6 Compile ipv6 support], [ if test "$enableval" = "yes"; then USE_IPV6=1 + else + USE_IPV6= fi]) @@ -1986,8 +2010,15 @@ if test -n "$USE_PTHREADS"; then 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" + case "$target_os" in + freebsd*) +# Freebsd doesn't use -pthread for compiles, it uses them for linking + ;; + *) + CFLAGS="$CFLAGS -pthread" + CXXFLAGS="$CXXFLAGS -pthread" + ;; + esac fi fi rm -f conftest* @@ -2018,7 +2049,17 @@ if test -n "$USE_PTHREADS"; then _PTHREAD_LDFLAGS= fi ;; - *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*) + *-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="-pthread" + else + _PTHREAD_LDFLAGS="-lc_r" + fi + ;; + *-openbsd*|*-bsdi*|*-netbsd*) 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 @@ -2112,7 +2153,7 @@ case "$target" in _PTHREAD_LDFLAGS= USE_USER_PTHREADS= ;; -*-netbsd*) +*-netbsd*|*-openbsd*) if test -n "$USE_NSPR_THREADS"; then AC_DEFINE(_PR_LOCAL_THREADS_ONLY) fi @@ -2279,6 +2320,7 @@ AC_SUBST(RC) AC_SUBST(DLLFLAGS) AC_SUBST(EXEFLAGS) AC_SUBST(OS_DLLFLAGS) +AC_SUBST(CYGWIN_WRAPPER) dnl ======================================================== dnl Generate output files. |