1999-11-22 18:40:10 +03:00
|
|
|
dnl -*- Mode: Autoconf; tab-width: 4; indent-tabs-mode: nil; -*-
|
|
|
|
dnl The contents of this file are subject to the Mozilla Public
|
|
|
|
dnl License Version 1.1 (the "License"); you may not use this file
|
|
|
|
dnl except in compliance with the License. You may obtain a copy of
|
|
|
|
dnl the License at http://www.mozilla.org/MPL/
|
|
|
|
dnl
|
|
|
|
dnl Software distributed under the License is distributed on an "AS
|
|
|
|
dnl IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
|
|
dnl implied. See the License for the specific language governing
|
|
|
|
dnl rights and limitations under the License.
|
|
|
|
dnl
|
|
|
|
dnl The Original Code is the configure.in script for NSPR.
|
|
|
|
dnl
|
|
|
|
dnl The Initial Developer of the Original Code is Christopher
|
|
|
|
dnl Seawood. Portions created by Christopher Seawood are
|
|
|
|
dnl Copyright (C) 1999 Christopher Seawood. All
|
|
|
|
dnl Rights Reserved.
|
|
|
|
dnl
|
|
|
|
dnl Contributor(s):
|
|
|
|
dnl
|
1999-10-14 19:09:11 +04:00
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
1999-11-22 18:40:10 +03:00
|
|
|
dnl
|
1999-10-14 19:09:11 +04:00
|
|
|
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 ========================================================
|
1999-11-22 18:24:12 +03:00
|
|
|
dnl = Defaults
|
1999-10-14 19:09:11 +04:00
|
|
|
dnl ========================================================
|
|
|
|
NSPR_VERSION=3
|
|
|
|
NSPR_MODNAME=nspr20
|
|
|
|
_HAVE_PTHREADS=
|
|
|
|
USE_PTHREADS=
|
|
|
|
USE_USER_PTHREADS=
|
|
|
|
USE_NSPR_THREADS=
|
1999-11-22 18:24:12 +03:00
|
|
|
USE_N32=
|
|
|
|
USE_64=
|
|
|
|
USE_MDUPDATE=
|
|
|
|
_OPTIMIZE_FLAGS=-O
|
|
|
|
_DEBUG_FLAGS=-g
|
|
|
|
MOZ_DEBUG=1
|
|
|
|
MOZ_OPTIMIZE=
|
1999-10-14 19:09:11 +04:00
|
|
|
|
|
|
|
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 ========================================================
|
1999-11-22 18:24:12 +03:00
|
|
|
AC_ARG_ENABLE(optimize,
|
|
|
|
[ --enable-optimize Enable code optimizations],
|
|
|
|
MOZ_OPTIMIZE=1)
|
|
|
|
|
1999-10-14 19:09:11 +04:00
|
|
|
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=)
|
|
|
|
|
1999-11-22 18:24:12 +03:00
|
|
|
AC_ARG_ENABLE(n32,
|
|
|
|
[ --enable-n32 Enable n32 support (IRIX only)],
|
|
|
|
[ if test "$enableval" = "yes"; then
|
|
|
|
USE_N32=1
|
|
|
|
fi ])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(64bit,
|
|
|
|
[ --enable-64bit Enable 64-bit support (on certain platforms)],
|
|
|
|
[ if test "$enableval" = "yes"; then
|
|
|
|
USE_64=1
|
|
|
|
fi ])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(mdupdate,
|
|
|
|
[ --enable-mdupdate Enable use of certain compilers' mdupdate feature],
|
|
|
|
[ if test "$enableval" = "yes"; then
|
|
|
|
USE_MDUPDATE=1
|
|
|
|
fi ])
|
|
|
|
|
1999-11-22 18:40:10 +03:00
|
|
|
AC_PATH_PROG(WHOAMI, whoami, :)
|
1999-10-14 19:09:11 +04:00
|
|
|
if test -n "$MOZ_DEBUG"; then
|
1999-11-22 18:40:10 +03:00
|
|
|
AC_DEFINE(DEBUG)
|
|
|
|
AC_DEFINE_UNQUOTED(DEBUG_`$WHOAMI`)
|
|
|
|
DEFINES="$DEFINES -UNDEBUG"
|
1999-11-16 07:21:08 +03:00
|
|
|
else
|
1999-11-22 18:40:10 +03:00
|
|
|
AC_DEFINE(NDEBUG)
|
|
|
|
DEFINES="$DEFINES -UDEBUG"
|
1999-10-14 19:09:11 +04:00
|
|
|
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
|
|
|
|
;;
|
|
|
|
|
|
|
|
*-irix*)
|
|
|
|
AC_DEFINE(XP_UNIX)
|
1999-11-22 18:24:12 +03:00
|
|
|
AC_DEFINE(IRIX)
|
|
|
|
AC_DEFINE(SVR4)
|
|
|
|
AC_DEFINE(_SGI_MP_SOURCE)
|
1999-10-14 19:09:11 +04:00
|
|
|
MDCPUCFG_H=_irix32.cfg
|
|
|
|
PR_MD_CSRCS=irix.c
|
|
|
|
PR_MD_ASFILES=os_Irix.s
|
|
|
|
PR_MD_ARCH_DIR=unix
|
1999-11-22 18:24:12 +03:00
|
|
|
MKSHLIB='$(LD) $(SHLIB_LD_OPTS) -rdata_shared -shared -soname $(notdir $@)'
|
|
|
|
DSO_LDOPTS='-elf -shared -all'
|
1999-11-22 18:40:10 +03:00
|
|
|
case "${target_os}" in
|
1999-11-22 18:24:12 +03:00
|
|
|
irix5*)
|
|
|
|
USE_NSPR_THREADS=1
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
USE_N32=1
|
|
|
|
USE_PTHREADS=1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
if test "$GNU_CC"; then
|
|
|
|
AS='$(CC) -x assembler-with-cpp -D_ASM -mips2'
|
|
|
|
CFLAGS="$CFLAGS -Wall -Wno-format"
|
|
|
|
_OPTIMIZE_FLAGS="-O6"
|
|
|
|
else
|
|
|
|
AS="as -D_ASM $(INCLUDES) -n32"
|
|
|
|
CFLAGS="$CFLAGS -fullwarn -xansi"
|
|
|
|
if test "$USE_N32"; then
|
|
|
|
_OPTIMIZE_FLAGS="-O -OPT:Olimit=4000"
|
|
|
|
else
|
|
|
|
_OPTIMIZE_FLAGS="-O -Olimit 4000"
|
|
|
|
fi
|
|
|
|
if test "$USE_MDUPDATE"; then
|
|
|
|
$CFLAGS="$CFLAGS -MDupdate"
|
|
|
|
fi
|
|
|
|
case "$target}" in
|
|
|
|
*-irix6.*)
|
|
|
|
CFLAGS="$CFLAGS -multigot"
|
|
|
|
SHLIB_LD_OPTS="-no_unresolved"
|
|
|
|
if test "USE_N32"; then
|
|
|
|
CFLAGS="$CFLAGS -n32 -woff 1209"
|
|
|
|
LDFLAGS="$LDFLAGS -n32"
|
|
|
|
SHLIB_LD_OPTS="$SHLIB_LD_OPTS -n32"
|
|
|
|
if test "${target_os}" = "irix6.2"; then
|
|
|
|
LDFLAGS="$LDFLAGS -Wl,-woff,85"
|
|
|
|
SHLIB_LD_OPTS="$SHLIB_LD_OPTS -woff 85"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
if test "$USE_64"; then
|
|
|
|
CFLAGS="$CFLAGS -64"
|
|
|
|
else
|
|
|
|
CFLAGS="$CFLAGS -32"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
CFLAGS="$CFLAGS -xgot"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
if test "${target_os}" = "irix5.3"; then
|
|
|
|
AC_DEFINE(IRIX5_3)
|
|
|
|
fi
|
|
|
|
case "${target_os}" in
|
|
|
|
irix5*)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_DEFINE(_PR_HAVE_SGI_PRDA_PROCMASK)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
case "${target_os}" in
|
|
|
|
irix6.5*)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
if test -z "$GNU_CC"; then
|
|
|
|
CFLAGS="$CFLAGS -mips3"
|
|
|
|
fi
|
|
|
|
AC_DEFINE(_PR_HAVE_GETPROTO_R)
|
|
|
|
AC_DEFINE(_PR_HAVE_GETPROTO_R_POINTER)
|
|
|
|
;;
|
|
|
|
esac
|
1999-10-14 19:09:11 +04:00
|
|
|
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
|
|
|
|
|
1999-11-22 18:24:12 +03:00
|
|
|
if test -n "$MOZ_OPTIMZE"; then
|
|
|
|
CFLAGS="$CFLAGS $_OPTIMIZE_FLAGS"
|
|
|
|
CXXFLAGS="$CXXFLAGS $_OPTIMIZE_FLAGS"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test -n "$MOZ_DEBUG"; then
|
|
|
|
CFLAGS="$CFLAGS $_DEBUG_FLAGS"
|
|
|
|
CXXFLAGS="$CXXFLAGS $_DEBUG_FLAGS"
|
|
|
|
fi
|
|
|
|
|
1999-10-14 19:09:11 +04:00
|
|
|
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_CPLUS)
|
|
|
|
AC_SUBST(USE_IPV6)
|
1999-11-22 18:24:12 +03:00
|
|
|
AC_SUBST(USE_N32)
|
|
|
|
AC_SUBST(USE_64)
|
|
|
|
|
|
|
|
AC_SUBST(USE_PTHREADS)
|
|
|
|
AC_SUBST(USE_BTHREADS)
|
1999-10-14 19:09:11 +04:00
|
|
|
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
|