From f08e44c718b5d5dbd9da84303043e26fb68b9071 Mon Sep 17 00:00:00 2001 From: "cyeh%netscape.com" Date: Wed, 19 Aug 1998 23:36:20 +0000 Subject: [PATCH] merge autoconf branch to tip --- configure.in | 376 ++++++++++++++++++++++++++------------------------- 1 file changed, 194 insertions(+), 182 deletions(-) diff --git a/configure.in b/configure.in index 3100a67dbc7..36fabfe1a2a 100644 --- a/configure.in +++ b/configure.in @@ -13,17 +13,30 @@ dnl dnl The Initial Developer of this code under the MPL is Christopher dnl Seawood, . Portions created by Christopher Seawood dnl are Copyright (C) 1998 Christopher Seawood. All Rights Reserved. +dnl +dnl Contributors: +dnl Jamie Zawinski gettimeofday args check dnl Process this file with autoconf to produce a configure script. +dnl ======================================================== + AC_INIT(config/config.mk) -AC_CONFIG_HEADER(include/config.h nsprpub/include/config.h) +dnl AC_CONFIG_HEADER(include/config.h nsprpub/include/config.h) AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) AC_CANONICAL_SYSTEM +d=`pwd` +if [ test "${srcdir}" = "${d}" || test "${srcdir}" = "." ]; then + AC_ERROR(Building in the srcdir is not supported! Please build from a separate objdir.) +fi +unset d + dnl Set the version number of the libjpeg included with mozilla +dnl ======================================================== dnl MOZJPEG=60 dnl Set various checks +dnl ======================================================== MISSING_X= MISSING_MOTIF= MISSING_QT= @@ -31,6 +44,7 @@ MISSING_GTK= MISSING_GNOME= dnl Checks for programs. +dnl ======================================================== AC_PROG_CC AC_PROG_CXX AC_PROG_CPP @@ -41,18 +55,7 @@ AC_PROG_INSTALL AC_PROG_AWK AC_PROG_RANLIB -if [ test "$GCC" = "yes" ]; then - GNU_CC=1 -fi - -if [ test "$GXX" = "yes" ]; then - GNU_CXX=1 -fi - -AC_SUBST(GNU_CC) -AC_SUBST(GNU_CXX) - -AC_PATH_PROG(EMACS, emacs, /bin/true) +AC_PATH_PROGS(EMACS, xemacs emacs, /bin/true) AC_PATH_PROG(PERL, perl, /bin/true) AC_PATH_PROG(WHOAMI, whoami, /bin/true) AC_PATH_PROG(UNZIP, unzip, /bin/true) @@ -60,6 +63,11 @@ AC_PATH_PROG(ZIP, zip, /bin/true) AC_PATH_X AC_PATH_XTRA + +CFLAGS="$CFLAGS $X_CFLAGS" +LDFLAGS="$LDFLAGS $X_LIBS" +dnl LIBS="$X_PRE_LIBS $X_EXTRA_LIBS $LIBS" + MOTIF_VERSION=`${srcdir}/config/mkdetect/detect_motif.sh -cc $CC -xif -I$x_includes` MOTIF_INCLUDES=`${srcdir}/config/mkdetect/detect_motif.sh -cc $CC -xif -I$x_includes -if` MOTIF_STATIC_FLAGS=`${srcdir}/config/mkdetect/detect_motif.sh -cc $CC -xif -I$x_includes -sf` @@ -68,29 +76,50 @@ MOTIF_DYNAMIC_PATHS=`${srcdir}/config/mkdetect/detect_motif.sh -cc $CC -xif -I$x ${srcdir}/config/mkdetect/detect_motif.sh --cleanup +if [ test "$GCC" = "yes" ]; then + GNU_CC=1 +fi +if [ test "$GXX" = "yes" ]; then + GNU_CXX=1 +fi + +AC_SUBST(GNU_CC) +AC_SUBST(GNU_CXX) + +dnl Checks for system specific bits +dnl ======================================================== + +res=`echo $target_os| grep -c "^solaris"` +if [ test $res != 0 ]; then + AC_DEFINE(BROKEN_QSORT) +fi + dnl Checks for typedefs, structures, and compiler characteristics. +dnl ======================================================== AC_C_CONST -AC_TYPE_UID_T AC_C_INLINE AC_TYPE_MODE_T AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIZE_T +AC_TYPE_UID_T AC_STRUCT_ST_BLKSIZE AC_STRUCT_ST_RDEV -AC_HEADER_TIME AC_STRUCT_TM AC_STRUCT_TIMEZONE dnl Checks for header files. +dnl ======================================================== AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT +AC_HEADER_TIME AC_CHECK_HEADERS(fcntl.h limits.h malloc.h paths.h strings.h unistd.h) -AC_CHECK_HEADERS(sys/bittypes.h sys/file.h sys/ioctl.h sys/time.h unistd.h) -AC_CHECK_HEADERS(getopt.h ioctl.h sys/cdefs.h) +AC_CHECK_HEADERS(sys/bittypes.h sys/file.h sys/ioctl.h sys/time.h) +AC_CHECK_HEADERS(getopt.h ioctl.h sys/cdefs.h filio.h systeminfo.h) dnl Checks for library functions. +dnl ======================================================== AC_FUNC_ALLOCA AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP @@ -102,14 +131,88 @@ AC_FUNC_STRFTIME AC_FUNC_UTIME_NULL AC_FUNC_VFORK AC_FUNC_VPRINTF -AC_CHECK_FUNCS(ftime getcwd gethostname gettimeofday getwd mkdir mktime putenv rmdir select socket strcspn strdup strerror strspn strstr strtol strtoul uname qsort) +AC_CHECK_FUNCS(ftime getcwd gethostname getwd mkdir mktime putenv rmdir select) +AC_CHECK_FUNCS(socket strcspn strdup strerror strspn strstr strtol strtoul) +AC_CHECK_FUNCS(uname qsort snprintf waitid fork1 remainder lchown) -res=`echo $target_os| grep -c "^solaris"` -if [ test $res != 0 ]; then - AC_DEFINE(BROKEN_QSORT) +AC_MSG_CHECKING(how to call gettimeofday) +AC_CACHE_VAL(ac_cv_gettimeofday_args, + [AC_TRY_COMPILE([#include + #include ], + [struct timeval tv; struct timezone tzp; + gettimeofday(&tv, &tzp);], + [ac_gettimeofday_args=2], + [AC_TRY_COMPILE([#include + #include ], + [struct timeval tv; gettimeofday(&tv);], + [ac_gettimeofday_args=1], + [ac_gettimeofday_args=0])]) + ac_cv_gettimeofday_args=$ac_gettimeofday_args]) +ac_gettimeofday_args=$ac_cv_gettimeofday_args +if test $ac_gettimeofday_args = 1 ; then + AC_DEFINE(HAVE_GETTIMEOFDAY) + AC_MSG_RESULT(one argument) +elif test $ac_gettimeofday_args = 2 ; then + AC_DEFINE(HAVE_GETTIMEOFDAY) + AC_DEFINE(GETTIMEOFDAY_TWO_ARGS) + AC_MSG_RESULT(two arguments) +else + AC_MSG_RESULT(unknown) fi +dnl Checks for libraries. +dnl ======================================================== +AC_CHECK_LIB(c, strcpy) +AC_CHECK_LIB(m, atan) +AC_CHECK_LIB(dl, dlopen) +AC_CHECK_LIB(thread, thread_create) +AC_CHECK_LIB(pthread, pthread_create) +AC_CHECK_LIB(pcthreads, pthread_create) +AC_CHECK_LIB(resolv, res_gethostbyaddr) +AC_CHECK_LIB(socket, getnetbyaddr) +AC_CHECK_LIB(util, login) +AC_CHECK_LIB(nsl, xdr_string) +AC_CHECK_LIB(C, demangle) +AC_CHECK_LIB(elf, elf_rawdata) +AC_CHECK_LIB(intl, textdomain) +AC_CHECK_LIB(posix4, shm_open) +AC_CHECK_LIB(w, iswupper) +AC_CHECK_LIB(l, yywrap,, + AC_CHECK_LIB(fl, yywrap)) + +dnl Replace `main' with a function in -lC_r: +dnl AC_CHECK_LIB(C_r, main) +dnl Replace `main' with a function in -lSgm: +dnl AC_CHECK_LIB(Sgm, main) +dnl Replace `main' with a function in -laudio: +dnl AC_CHECK_LIB(audio, main) +dnl Replace `main' with a function in -lc_r: +dnl AC_CHECK_LIB(c_r, main) +dnl Replace `main' with a function in -ldld: +dnl AC_CHECK_LIB(dld, main) +dnl Replace `main' with a function in -ldnet_stub: +dnl AC_CHECK_LIB(dnet_stub, main) +dnl Replace `main' with a function in -lgen: +dnl AC_CHECK_LIB(gen, main) +dnl Replace `main' with a function in -lhash: +dnl AC_CHECK_LIB(hash, main) +dnl Replace `main' with a function in -lip6: +dnl AC_CHECK_LIB(ip6, main) +dnl Replace `main' with a function in -lipc: +dnl AC_CHECK_LIB(ipc, main) +dnl Replace `main' with a function in -lmalloc_cv: +dnl AC_CHECK_LIB(malloc_cv, main) +dnl Replace `main' with a function in -lPW: +dnl AC_CHECK_LIB(PW, main) +dnl Replace `main' with a function in -lots: +dnl AC_CHECK_LIB(ots, main) +dnl Replace `main' with a function in -lrt: +dnl AC_CHECK_LIB(rt, main) +dnl Replace `main' with a function in -lsvld: +dnl AC_CHECK_LIB(svld, main) + dnl Mozilla specific options +dnl ======================================================== AC_ARG_ENABLE(fe, [ --enable-fe=\$val enable \$val fe (defaults to x)], [fe_list=`echo "$enableval" | sed -e 's/,/ /g' -e 's|$| |'`], fe_list="x ") @@ -126,7 +229,6 @@ done echo "Using FE:${MOZ_FE}." unset fe_list -dnl Enable use of security AC_ARG_ENABLE(crypto, [ --enable-crypto enable use of SSL (untested)], [if test "$enableval" = "yes"; then @@ -251,32 +353,21 @@ AC_SUBST(ENABLE_TESTS) AC_SUBST(MOZ_USER_DIR) AC_SUBST(MOZ_SMART_MAIL) -dnl =========================================== -dnl Stuff that uses X -dnl =========================================== -saveCFLAGS="$CFLAGS" -saveLDFLAGS="$LDFLAGS" -saveLIBS="$LIBS" - -CFLAGS="$X_CFLAGS" -LDFLAGS="$X_LIBS" -LIBS="$X_PRE_LIBS $X_EXTRA_LIBS" - dnl Checks for X libraries. +dnl ======================================================== AC_CHECK_LIB(X11, XDrawLines,, [MISSING_X="$MISSING_X -lX11"]) -AC_CHECK_LIB(Xext, XextAddDisplay,, - [MISSING_X="$MISSING_X -lXext"], -lX11) -AC_CHECK_LIB(Xmu, XmuLookupString,, - [MISSING_X="$MISSING_X -lXmu"], -lX11) -AC_CHECK_LIB(ICE, IceFlush,,, -lX11) -AC_CHECK_LIB(SM, SmcCloseConnection,,, -lICE -lX11) AC_CHECK_LIB(Xt, XtFree,, [MISSING_X="$MISSING_X -lXt"], -lX11) +AC_CHECK_LIB(Xext, XextAddDisplay,, + [MISSING_X="$MISSING_X -lXext"], -lX11) +AC_CHECK_LIB(ICE, IceFlush,,, -lX11) +AC_CHECK_LIB(SM, SmcCloseConnection,,, -lICE -lX11) +AC_CHECK_LIB(Xmu, XmuLookupString,, + [MISSING_X="$MISSING_X -lXmu"], -lXt -lX11) AC_CHECK_LIB(Xpm, XpmWriteFileFromImage,, [MISSING_X="$MISSING_X -lXpm"], -lX11) -# Need to add check for motif 2.1 res=`echo :$MOZ_FE | grep -c " x"` if [ test $res != 0 ]; then if [ test "$MOTIF_VERSION" = "2.1" ]; then @@ -322,9 +413,12 @@ if [ test $res != 0 ]; then `gnome-config --libs`) fi -XCFLAGS="$X_CFLAGS" -XLFLAGS="$X_LIBS" -XLIBS="$LIBS" +dnl XCFLAGS="$X_CFLAGS" +dnl XLFLAGS="$X_LIBS" + +AC_SUBST(XCFLAGS) +AC_SUBST(XLFLAGS) +AC_SUBST(XLIBS) AC_SUBST(FE_X_CFLAGS) AC_SUBST(FE_X_LIBS) @@ -335,29 +429,8 @@ AC_SUBST(FE_GTK_LIBS) AC_SUBST(FE_GNOME_CFLAGS) AC_SUBST(FE_GNOME_LIBS) -AC_SUBST(XCFLAGS) -AC_SUBST(XLFLAGS) -AC_SUBST(XLIBS) - -LIBS="$saveLIBS" -CFLAGS="$saveCFLAGS" -LDFLAGS="$saveLDFLAGS" - -dnl -dnl Specify paths to look for additional libraries -dnl ================================================== -AC_ARG_WITH(add-libs, -[ --with-add-libs pass compiler flags to look for gfx libraries], - [ADDLIBS="$withval" ADD_LIB_PATH=$withval], - [ADDLIBS="" ADD_LIB_PATH=""]) - -AC_ARG_WITH(add-incs, -[ --with-add-incs pass compiler flags to look for gfx header files], - [ADDINCS="$withval" ADD_INC_PATH=$withval], - [ADDINCS="" ADD_INC_PATH=""]) - dnl system JPEG support -dnl ============ +dnl ======================================================== dnl If --with-jpeg=$val is specified, use the logic specified by $val sysjpeg=maybe @@ -387,7 +460,7 @@ dnl SYSTEM_JPEG= dnl fi dnl system PNG Support -dnl =========== +dnl ======================================================== AC_ARG_WITH(png, [ --with-png use of system libpng if present], syspng=$withval, syspng=no) @@ -398,7 +471,7 @@ if test "$syspng" = yes; then fi dnl system ZLIB support -dnl ============= +dnl ======================================================== AC_ARG_WITH(zlib, [ --with-zlib use system libz if present], syslibz=$withval, [syslibz=no SYSTEM_ZLIB=]) @@ -411,82 +484,9 @@ AC_SUBST(SYSTEM_JPEG) AC_SUBST(SYSTEM_PNG) AC_SUBST(SYSTEM_ZLIB) -dnl Checks for libraries. -AC_CHECK_LIB(c, strcpy) -AC_CHECK_LIB(m, atan) -AC_CHECK_LIB(dl, dlopen) -AC_CHECK_LIB(thread, thread_create) -AC_CHECK_LIB(pthread, pthread_create) -AC_CHECK_LIB(pcthreads, pthread_create) -AC_CHECK_LIB(resolv, res_gethostbyaddr) -AC_CHECK_LIB(socket, getnetbyaddr) -AC_CHECK_LIB(util, login) -AC_CHECK_LIB(nsl, xdr_string) -AC_CHECK_LIB(l, yywrap,, - AC_CHECK_LIB(fl, yywrap)) - -dnl Replace `main' with a function in -lC: -dnl AC_CHECK_LIB(C, main) -dnl Replace `main' with a function in -lC_r: -dnl AC_CHECK_LIB(C_r, main) -dnl Replace `main' with a function in -lSgm: -dnl AC_CHECK_LIB(Sgm, main) -dnl Replace `main' with a function in -laudio: -AC_CHECK_LIB(audio, main) -dnl Replace `main' with a function in -lc_r: -dnl AC_CHECK_LIB(c_r, main) -dnl Replace `main' with a function in -ldld: -dnl AC_CHECK_LIB(dld, main) -dnl Replace `main' with a function in -ldnet_stub: -dnl AC_CHECK_LIB(dnet_stub, main) -dnl Replace `main' with a function in -lelf: -AC_CHECK_LIB(elf, elf_ran) -dnl Replace `main' with a function in -lgen: -dnl AC_CHECK_LIB(gen, main) -dnl Replace `main' with a function in -lhash: -dnl AC_CHECK_LIB(hash, main) -dnl Replace `main' with a function in -lintl: -AC_CHECK_LIB(intl, main) -dnl Replace `main' with a function in -lip6: -dnl AC_CHECK_LIB(ip6, main) -dnl Replace `main' with a function in -lipc: -dnl AC_CHECK_LIB(ipc, main) -dnl Replace `main' with a function in -lmalloc_cv: -dnl AC_CHECK_LIB(malloc_cv, main) -dnl Replace `main' with a function in -lmsgc: -dnl AC_CHECK_LIB(msgc, main) -dnl Replace `main' with a function in -lmsgc_shr: -dnl AC_CHECK_LIB(msgc_shr, main) -dnl Replace `main' with a function in -lnspr: -dnl AC_CHECK_LIB(nspr, main) -dnl Replace `main' with a function in -lnspr_shr: -dnl AC_CHECK_LIB(nspr_shr, main) -dnl Replace `main' with a function in -lPW: -dnl AC_CHECK_LIB(PW, main) -dnl Replace `main' with a function in -lots: -dnl AC_CHECK_LIB(ots, main) -dnl Replace `main' with a function in -lplc: -dnl AC_CHECK_LIB(plc, main) -dnl Replace `main' with a function in -lplc_shr: -dnl AC_CHECK_LIB(plc_shr, main) -dnl Replace `main' with a function in -lposix4: -dnl AC_CHECK_LIB(posix4, main) -dnl Replace `main' with a function in -lprstrms: -dnl AC_CHECK_LIB(prstrms, main) -dnl Replace `main' with a function in -lprstrms_shr: -dnl AC_CHECK_LIB(prstrms_shr, main) -dnl Replace `main' with a function in -lrt: -dnl AC_CHECK_LIB(rt, main) -dnl Replace `main' with a function in -lsvld: -dnl AC_CHECK_LIB(svld, main) -dnl Replace `main' with a function in -lw: -dnl AC_CHECK_LIB(w, main) - AC_SUBST(CFLAGS) AC_SUBST(LDFLAGS) AC_SUBST(LIBS) -AC_SUBST(ADDINCS) -AC_SUBST(ADDLIBS) dnl Check for missing components if [ test "$MISSING_X" != "" ]; then @@ -497,47 +497,8 @@ res=`echo :$MOZ_FE | grep -c " x"` if [ test $res != 0 ]; then if [ test "$MISSING_MOTIF" != "" ]; then AC_MSG_ERROR([ Could not find standard motif libraries.]); - fi -fi - -res=`echo :$MOZ_FE | grep -c " qt"` -if [ test $res != 0 ]; then - if [ test "$MISSING_QT" != "" ]; then - AC_MSG_ERROR([ Could not find standard qt libraries.]); - fi -fi - -res=`echo :$MOZ_FE | grep -c " gtk"` -if [ test $res != 0 ]; then - if [ test "$MISSING_GTK" != "" ]; then - AC_MSG_ERROR([ Could not find standard gtk libraries.]); - fi -fi - -res=`echo :$MOZ_FE | grep -c " gnome"` -if [ test $res != 0 ]; then - if [ test "$MISSING_GNOME" != "" ]; then - AC_MSG_ERROR([ Could not find standard gnome libraries.]); - fi -fi - -AC_OUTPUT( -Makefile -base/Makefile -base/public/Makefile -base/src/Makefile -base/src/unix/Makefile -base/tests/Makefile -caps/Makefile -caps/include/Makefile -caps/src/Makefile -cmd/Makefile -cmd/gnomefe/Makefile -cmd/gnomefe/gnome-src/Makefile -cmd/gnomefe/gnome-widgets/Makefile -cmd/qtfe/Makefile -cmd/qtfe/icons/Makefile -cmd/stubfe/Makefile + else + FE_X_MAKEFILES=" cmd/xfe/Makefile cmd/xfe/DtWidgets/Makefile cmd/xfe/Microline3.0/Makefile @@ -561,7 +522,58 @@ cmd/xfe/plugins/ImAlive/Makefile cmd/xfe/plugins/javatest/Makefile cmd/xfe/plugins/nullplugin/Makefile cmd/xfe/plugins/textplugin/Makefile -cmd/xfe/src/Makefile +cmd/xfe/src/Makefile" + fi +fi + +res=`echo :$MOZ_FE | grep -c " qt"` +if [ test $res != 0 ]; then + if [ test "$MISSING_QT" != "" ]; then + AC_MSG_ERROR([ Could not find standard qt libraries.]); + else + FE_QT_MAKEFILES=" +cmd/qtfe/Makefile +cmd/qtfe/icons/Makefile" + fi +fi + +res=`echo :$MOZ_FE | grep -c " gtk"` +if [ test $res != 0 ]; then + if [ test "$MISSING_GTK" != "" ]; then + AC_MSG_ERROR([ Could not find standard gtk libraries.]); + else + FE_GTK_MAKEFILES="" + fi +fi + +res=`echo :$MOZ_FE | grep -c " gnome"` +if [ test $res != 0 ]; then + if [ test "$MISSING_GNOME" != "" ]; then + AC_MSG_ERROR([ Could not find standard gnome libraries.]); + else + FE_GNOME_MAKEFILES=" +cmd/gnomefe/Makefile +cmd/gnomefe/gnome-src/Makefile +cmd/gnomefe/gnome-widgets/Makefile" + fi +fi + +AC_OUTPUT( +Makefile +base/Makefile +base/public/Makefile +base/src/Makefile +base/src/unix/Makefile +base/tests/Makefile +caps/Makefile +caps/include/Makefile +caps/src/Makefile +cmd/Makefile +cmd/stubfe/Makefile +$FE_GNOME_MAKEFILES +$FE_GTK_MAKEFILES +$FE_QT_MAKEFILES +$FE_X_MAKEFILES config/Makefile config/autoconf.mk config/mkdepend/Makefile