This commit is contained in:
cyeh%netscape.com 1998-08-19 23:36:20 +00:00
Родитель e0d817c46a
Коммит f08e44c718
1 изменённых файлов: 194 добавлений и 182 удалений

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

@ -13,17 +13,30 @@ dnl
dnl The Initial Developer of this code under the MPL is Christopher
dnl Seawood, <cls@seawood.org>. Portions created by Christopher Seawood
dnl are Copyright (C) 1998 Christopher Seawood. All Rights Reserved.
dnl
dnl Contributors:
dnl Jamie Zawinski <jwz@jwz.org> 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 <stdlib.h>
#include <sys/time.h>],
[struct timeval tv; struct timezone tzp;
gettimeofday(&tv, &tzp);],
[ac_gettimeofday_args=2],
[AC_TRY_COMPILE([#include <stdlib.h>
#include <sys/time.h>],
[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