зеркало из https://github.com/mozilla/gecko-dev.git
1358 строки
38 KiB
Plaintext
1358 строки
38 KiB
Plaintext
dnl The contents of this file are subject to the Mozilla Public License
|
|
dnl Version 1.0 (the "License"); you may not use this file except in
|
|
dnl compliance with the License. You may obtain a copy of the License
|
|
dnl at http://www.mozilla.org/MPL/
|
|
dnl
|
|
dnl Software distributed under the License is distributed on an "AS IS"
|
|
dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
|
|
dnl the License for the specific language governing rights and
|
|
dnl limitations under the License.
|
|
dnl
|
|
dnl The Original Code is this file as it was released upon August 6, 1998.
|
|
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 Christopher Blizzard <blizzard@appliedtheory.com>
|
|
dnl gnomefe update & enable-pthreads
|
|
dnl Ramiro Estrugo <ramiro@netscape.com> X11 makedepend support
|
|
dnl
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
dnl ========================================================
|
|
|
|
AC_PREREQ(2.12)
|
|
AC_INIT(config/config.mk)
|
|
dnl AC_CONFIG_HEADER(include/config.h nsprpub/include/config.h)
|
|
AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
dnl Set this define to make fixes w/o breaking anything else
|
|
AC_DEFINE(USE_AUTOCONF)
|
|
AC_DEFINE(MOZILLA_CLIENT)
|
|
|
|
dnl d=`pwd`
|
|
dnl if [ test "${srcdir}" = "${d}" || test "${srcdir}" = "." ]; then
|
|
dnl AC_ERROR(Building in the srcdir is not supported! Please build from a separate objdir.)
|
|
dnl fi
|
|
dnl unset d
|
|
|
|
dnl Build optimized by default
|
|
dnl ========================================================
|
|
OPTIMIZE="${OPTIMIZE=-O}"
|
|
COMPILER_WARNINGS=-Wall
|
|
CFLAGS="${CFLAGS}"
|
|
CXXFLAGS="${CXXFLAGS}"
|
|
|
|
dnl Set the version number of the libs included with mozilla
|
|
dnl ========================================================
|
|
MOZJPEG=62
|
|
MOZPNG=95
|
|
|
|
dnl Set the minimum version of toolkit libs used by mozilla
|
|
dnl ========================================================
|
|
GTK_VERSION=1.1.13
|
|
|
|
dnl Set various checks
|
|
dnl ========================================================
|
|
MISSING_X=
|
|
MISSING_MOTIF=
|
|
MISSING_GTK=
|
|
|
|
dnl Checks for programs.
|
|
dnl ========================================================
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_PROG_CC_C_O
|
|
if grep "NO_MINUS_C_MINUS_O 1" ./confdefs.h >/dev/null; then
|
|
USING_HCC=1
|
|
_OLDCC=$CC
|
|
_OLDCXX=$CXX
|
|
CC="${srcdir}/build/hcc '$CC'"
|
|
CXX="${srcdir}/build/hcpp '$CXX'"
|
|
fi
|
|
AC_PROG_CPP
|
|
AC_PROG_CXXCPP
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_INSTALL
|
|
AC_PROG_AWK
|
|
AC_PROG_RANLIB
|
|
|
|
AC_PATH_PROGS(EMACS, xemacs lemacs emacs, :)
|
|
AC_PATH_PROGS(PERL, perl5 perl, :)
|
|
AC_PATH_PROG(WHOAMI, whoami, :)
|
|
AC_PATH_PROG(UNZIP, unzip, :)
|
|
AC_PATH_PROG(ZIP, zip, :)
|
|
|
|
AC_PATH_XTRA
|
|
|
|
XLDFLAGS="$X_LIBS"
|
|
XLIBS="$X_EXTRA_LIBS"
|
|
|
|
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 ========================================================
|
|
dnl the qsort routine under solaris is faulty
|
|
dnl Linux Alpha needs -mieee for FPU to work correctly
|
|
dnl Note this case statement doesn't seem to handle [] as part of a regexp
|
|
|
|
dnl set the defaults first
|
|
dnl ========================================================
|
|
DLL_SUFFIX="so"
|
|
MKSHLIB='$(LD) $(DSO_LDOPTS)'
|
|
DSO_LDOPTS='-shared -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
DSO_CFLAGS='-KPIC'
|
|
|
|
dnl gcc can come with its own linker so its better to use the pass-thru calls
|
|
dnl MKSHLIB_FORCE_ALL is used to force the linker to include all object
|
|
dnl files present in an archive. MKSHLIB_UNFORCE_ALL reverts the linker to
|
|
dnl normal behavior.
|
|
dnl ========================================================
|
|
if [ test "$GNU_CC" = 1]; then
|
|
MKSHLIB='$(CXX) $(DSO_LDOPTS)'
|
|
MKSHLIB_FORCE_ALL='-Wl,--whole-archive'
|
|
MKSHLIB_UNFORCE_ALL='-Wl,--no-whole-archive'
|
|
DSO_LDOPTS='-shared -Wl,-h -Wl,$(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
DSO_CFLAGS='-fPIC'
|
|
fi
|
|
|
|
dnl now the exceptions
|
|
dnl ========================================================
|
|
case "$target" in
|
|
*-*-solaris*)
|
|
AC_DEFINE(BROKEN_QSORT)
|
|
if test -z "$GNU_CC"; then
|
|
MKSHLIB='$(CXX) -xar $(DSO_LDOPTS)'
|
|
DSO_LDOPTS='-G -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
fi ;;
|
|
|
|
alpha-*-linux*)
|
|
CFLAGS="$CFLAGS -mieee" ;;
|
|
|
|
alpha*-*-osf*)
|
|
if [ test "$GNU_CC" = 1 ]; then
|
|
DSO_LDOPTS='-shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
else
|
|
CFLAGS="$CFLAGS -std1 -ieee_with_inexact"
|
|
DSO_LDOPTS='-shared -expect_unresolved \* -soname $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
DSO_CFLAGS=
|
|
fi ;;
|
|
|
|
*-freebsd*)
|
|
if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` = "elf"; then
|
|
DLL_SUFFIX="so"
|
|
else
|
|
DLL_SUFFIX="so.1.0"
|
|
DSO_LDOPTS="-shared"
|
|
fi
|
|
if test -z "$GNU_CC"; then
|
|
DSO_LDOPTS="-Bshareable $DSO_LDOPTS"
|
|
fi ;;
|
|
|
|
*-netbsd*)
|
|
DLL_SUFFIX="so.1.0"
|
|
DSO_CFLAGS='-fPIC'
|
|
DSO_LDOPTS='-shared -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
MKSHLIB='$(LD) $(DSO_LDOPTS)'
|
|
if test -z "`$CC -E - -dM </dev/null | grep __ELF__`"; then
|
|
DSO_LDOPTS="-Bshareable"
|
|
fi
|
|
if test -n "$LIBRUNPATH"; then
|
|
DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
|
|
fi
|
|
;;
|
|
|
|
*-openbsd*)
|
|
DLL_SUFFIX="so.1.0"
|
|
DSO_CFLAGS='-fPIC'
|
|
DSO_LDOPTS='-shared -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
|
|
MKSHLIB='$(LD) $(DSO_LDOPTS)'
|
|
if test -z "`$CC -E - -dM </dev/null | grep __ELF__`"; then
|
|
DSO_LDOPTS="-Bshareable /usr/lib/c++rt0.o"
|
|
fi
|
|
if test -n "$LIBRUNPATH"; then
|
|
DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
|
|
fi
|
|
;;
|
|
|
|
*-hpux*)
|
|
if test -z "$GNU_CC"; then
|
|
DSO_CFLAGS="+Z"
|
|
fi
|
|
DLL_SUFFIX="sl"
|
|
DSO_LDOPTS='-b -E -L$(DIST)/bin $(LDFLAGS)'
|
|
MKSHLIB='$(LD) $(DSO_LDOPTS)'
|
|
;;
|
|
|
|
*-irix*)
|
|
AC_DEFINE(IRIX6_3)
|
|
DSO_LDOPTS='-elf -shared'
|
|
CFLAGS="$CFLAGS -woff 3262"
|
|
if test -z "$GNU_CC"; then
|
|
MKSHLIB_FORCE_ALL=-all
|
|
MKSHLIB_UNFORCE_ALL=-none
|
|
fi
|
|
;;
|
|
|
|
esac
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
dnl ========================================================
|
|
AC_C_CONST
|
|
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_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)
|
|
AC_CHECK_HEADERS(getopt.h ioctl.h sys/cdefs.h filio.h systeminfo.h)
|
|
|
|
dnl Checks for libraries.
|
|
dnl ========================================================
|
|
AC_CHECK_LIB(c_r, gethostbyname_r,,
|
|
AC_CHECK_LIB(c, strcpy))
|
|
AC_CHECK_LIB(m, atan)
|
|
AC_CHECK_LIB(dl, dlopen)
|
|
if [ test -z "$GNU_CXX" ]; then
|
|
AC_CHECK_LIB(C, demangle)
|
|
fi
|
|
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(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 -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 Checks for library functions.
|
|
dnl ========================================================
|
|
AC_FUNC_ALLOCA
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_FUNC_MEMCMP
|
|
AC_FUNC_MMAP
|
|
dnl AC_FUNC_SETVBUF_REVERSED
|
|
AC_TYPE_SIGNAL
|
|
AC_FUNC_STRCOLL
|
|
AC_FUNC_STRFTIME
|
|
AC_FUNC_UTIME_NULL
|
|
AC_FUNC_VFORK
|
|
AC_FUNC_VPRINTF
|
|
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)
|
|
AC_CHECK_FUNCS(localtime_r)
|
|
|
|
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 specific (libc) global variables
|
|
AC_MSG_CHECKING(for sys_errlist/sys_nerr)
|
|
AC_CACHE_VAL(ac_cv_syserrlist,
|
|
[AC_TRY_COMPILE([#include <stdio.h>
|
|
#include <errno.h>],
|
|
[char *foo = sys_errlist[sys_nerr-1];],
|
|
[ac_syserrlist=true],
|
|
[ac_syserrlist=false])
|
|
ac_cv_syserrlist=$ac_syserrlist])
|
|
ac_syserrlist=$ac_cv_syserrlist
|
|
if test $ac_syserrlist = true ; then
|
|
AC_DEFINE(HAVE_SYSERRLIST)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
dnl Checks for c++ features
|
|
dnl Is there a way to make AC_TRY_COMPILE use CXX instead of CC?
|
|
_SAVE_CC=$CC
|
|
CC=$CXX
|
|
AC_MSG_CHECKING(for ios::binary)
|
|
AC_CACHE_VAL(ac_cv_ios_binary,
|
|
[AC_TRY_COMPILE([#include <iostream.h>]
|
|
[#include <fstream.h>],
|
|
[char *buffer = "config.log";
|
|
fstream *mFileStream=new fstream(buffer, ios::binary);],
|
|
[ac_ios_binary=true],
|
|
[ac_ios_binary=false])
|
|
ac_cv_ios_binary=$ac_ios_binary])
|
|
ac_ios_binary=$ac_cv_ios_binary
|
|
if test $ac_ios_binary = true ; then
|
|
AC_DEFINE(HAVE_IOS_BINARY)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
CC=$_SAVE_CC
|
|
|
|
dnl Checks for c++ features
|
|
dnl Is there a way to make AC_TRY_COMPILE use CXX instead of CC?
|
|
_SAVE_CC=$CC
|
|
CC=$CXX
|
|
AC_MSG_CHECKING(for ios::bin)
|
|
AC_CACHE_VAL(ac_cv_ios_bin,
|
|
[AC_TRY_COMPILE([#include <iostream.h>]
|
|
[#include <fstream.h>],
|
|
[char *buffer = "config.log";
|
|
fstream *mFileStream=new fstream(buffer, ios::bin);],
|
|
[ac_ios_bin=true],
|
|
[ac_ios_bin=false])
|
|
ac_cv_ios_bin=$ac_ios_bin])
|
|
ac_ios_bin=$ac_cv_ios_bin
|
|
if test $ac_ios_bin = true ; then
|
|
AC_DEFINE(HAVE_IOS_BIN)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
CC=$_SAVE_CC
|
|
|
|
dnl Mozilla specific options
|
|
dnl ========================================================
|
|
dnl nglayout only supports building with one toolkit
|
|
dnl so ignore everything after the first ,
|
|
AC_ARG_ENABLE(toolkit,
|
|
[ --enable-toolkit=\$val enable \$val fe (defaults to gtk)],
|
|
[
|
|
res=`echo $target_os| grep -c "^Rhapsody"`;
|
|
if test "$enableval" != "motif" && test "$enableval" != "gtk" && test $res = 0; then
|
|
AC_MSG_ERROR(Toolkit must be either gtk or motif.)
|
|
else
|
|
MOZ_TOOLKIT=`echo "$enableval" | sed -e "s/,.*//g" `
|
|
fi
|
|
],
|
|
MOZ_TOOLKIT=USE_DEFAULT)
|
|
|
|
if [ test "$MOZ_TOOLKIT" = "USE_DEFAULT" ]; then
|
|
res=`echo $target_os| grep -c "^Rhapsody"`
|
|
if [ test $res != 0 ]; then
|
|
MOZ_TOOLKIT="rhapsody"
|
|
else
|
|
MOZ_TOOLKIT="gtk"
|
|
fi
|
|
fi
|
|
|
|
CFLAGS="$CFLAGS -DMOZ_TOOLKIT=$MOZ_TOOLKIT"
|
|
|
|
CFLAGS="$CFLAGS -DMOZ_DLL_SUFFIX=$DLL_SUFFIX"
|
|
|
|
OS_TARGET=`uname -s`
|
|
|
|
AC_ARG_ENABLE(shared,
|
|
[ --disable-shared disable building of internal shared libs],
|
|
[if test "$enableval" = "no"; then
|
|
NO_SHARED_LIB=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(static,
|
|
[ --disable-static disable building of internal static libs (broken)],
|
|
[if test "$enableval" = "no"; then
|
|
NO_STATIC_LIB=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(crypto,
|
|
[ --enable-crypto enable use of SSL (untested)],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_SECURITY=1
|
|
else
|
|
MOZ_SECURITY=
|
|
fi],
|
|
[MOZ_SECURITY= ])
|
|
|
|
AC_ARG_ENABLE(netcast,
|
|
[ --enable-netcast enable use of netcast (untested)],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_NETCAST=1
|
|
fi ] )
|
|
|
|
AC_ARG_ENABLE(java,
|
|
[ --enable-java enable use of java applets (untested)],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_JAVA=1
|
|
FULL_STATIC_BUILD=
|
|
NO_SHARED_LIB=
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(oji,
|
|
[ --enable-oji enable use of Open JVM Interface],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_OJI=1
|
|
FULL_STATIC_BUILD=
|
|
NO_SHARED_LIB=
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
[ --enable-debug enable debug symbols],
|
|
[if test "$enableval" = yes; then
|
|
MOZ_DEBUG=1 OPTIMIZE="-g"
|
|
else
|
|
MOZ_DEBUG_MODULES=`echo $enableval | sed 's|,| |g'`
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(profile,
|
|
[ --enable-profile enable profiling (solaris only)],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZILLA_GPROF=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(mailnews,
|
|
[ --enable-mailnews enable Mail & News (broken)],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_MAIL_NEWS=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(ldap,
|
|
[ --enable-ldap enable LDAP directory access],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_LDAP=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(editor,
|
|
[ --enable-editor enable editor],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_EDITOR=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(asserts,
|
|
[ --disable-asserts disable asserts during debugging],
|
|
[if test "$enableval" = "no"; then
|
|
UNIX_SKIP_ASSERTS=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(async-dns,
|
|
[ --disable-async-dns disable separate dns thread],
|
|
[if test "$enableval" = "no"; then
|
|
NO_UNIX_ASYNC_DNS=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(tests,
|
|
[ --enable-tests enable test stubs],
|
|
[if test "$enableval" = "yes"; then
|
|
ENABLE_TESTS=1
|
|
fi])
|
|
|
|
AC_ARG_ENABLE(homedir,
|
|
[ --enable-homedir=\$val set the homedir to \$val],
|
|
[ res=`echo $enableval | grep -c "\/"`
|
|
if [ test $res != 0 ]; then
|
|
AC_MSG_ERROR("Homedir must be single relative path.")
|
|
else
|
|
MOZ_USER_DIR=\\\"$enableval\\\"
|
|
fi],
|
|
MOZ_USER_DIR='\".mozilla\"' )
|
|
|
|
AC_ARG_ENABLE(smart-mail,
|
|
[ --enable-smart-mail enable HTML/RDF-based client-side mail (untested)],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_SMART_MAIL=1
|
|
fi])
|
|
|
|
AC_ARG_ENABLE(mail-compose,
|
|
[ --enable-mail-compose enable old Messenger mail composer ],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_MAIL_COMPOSE=1
|
|
MOZ_EDITOR=1
|
|
fi])
|
|
|
|
NO_UNIX_LDAP=1
|
|
AC_ARG_ENABLE(ldap,
|
|
[ --enable-ldap enable ldap ],
|
|
[if test "$enableval" = "yes"; then
|
|
NO_UNIX_LDAP=
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(idltool,
|
|
[ --enable-idltool build idl tool (default=no) ],
|
|
[if test "$enableval" = "yes"; then
|
|
MOZ_IDL_TOOL=1
|
|
fi] )
|
|
|
|
AC_ARG_ENABLE(wrap-malloc,
|
|
[ --enable-wrap-malloc wrap malloc calls (gnu linker only) (default=no) ],
|
|
[if test "$enableval" = "yes"; then
|
|
if test "$GNU_CC" = 1; then
|
|
WRAP_MALLOC_CFLAGS="${LDFLAGS} -Wl,--wrap -Wl,malloc -Wl,--wrap -Wl,free -Wl,--wrap -Wl,realloc -Wl,--wrap -Wl,__builtin_new -Wl,--wrap -Wl,__builtin_vec_new -Wl,--wrap -Wl,__builtin_delete -Wl,--wrap -Wl,__builtin_vec_delete -Wl,--wrap -Wl,PR_Free -Wl,--wrap -Wl,PR_Malloc -Wl,--wrap -Wl,PR_Calloc -Wl,--wrap -Wl,PR_Realloc"
|
|
MKSHLIB='$(CXX) $(DSO_LDOPTS) $(WRAP_MALLOC_CFLAGS)'
|
|
fi
|
|
fi] )
|
|
|
|
AC_ARG_WITH(wrap-malloc,
|
|
[ --with-wrap-malloc-=\$dir location of malloc wrapper library],
|
|
WRAP_MALLOC_LIB=$withval)
|
|
|
|
AC_SUBST(OS_TARGET)
|
|
AC_SUBST(MOZ_TOOLKIT)
|
|
AC_SUBST(MOZ_SECURITY)
|
|
AC_SUBST(MOZ_NETCAST)
|
|
AC_SUBST(MOZ_JAVA)
|
|
AC_SUBST(MOZ_OJI)
|
|
AC_SUBST(MOZ_DEBUG)
|
|
AC_SUBST(MOZ_DEBUG_MODULES)
|
|
AC_SUBST(MOZILLA_GPROF)
|
|
AC_SUBST(MOZ_MAIL_NEWS)
|
|
AC_SUBST(MOZ_LDAP)
|
|
AC_SUBST(MOZ_EDITOR)
|
|
AC_SUBST(UNIX_SKIP_ASSERTS)
|
|
AC_SUBST(NO_UNIX_ASYNC_DNS)
|
|
AC_SUBST(NO_SHARED_LIB)
|
|
AC_SUBST(NO_STATIC_LIB)
|
|
AC_SUBST(ENABLE_TESTS)
|
|
AC_SUBST(MOZ_USER_DIR)
|
|
AC_SUBST(MOZ_SMART_MAIL)
|
|
AC_SUBST(MOZ_DOM)
|
|
AC_SUBST(MOZ_MAIL_COMPOSE)
|
|
AC_SUBST(FULL_STATIC_BUILD)
|
|
AC_SUBST(NO_UNIX_LDAP)
|
|
AC_SUBST(MOZ_IDL_TOOL)
|
|
|
|
dnl Checks for X libraries.
|
|
dnl Ordering is important.
|
|
dnl Xt is dependent upon SM as of X11R6
|
|
dnl ========================================================
|
|
if [ test "$no_x" != "yes" ]; then
|
|
_SAVE_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$XLDFLAGS $LDFLAGS"
|
|
AC_CHECK_LIB(X11, XDrawLines, [XLIBS="-lX11 $XLIBS"],
|
|
[MISSING_X="$MISSING_X -lX11"], $XLIBS)
|
|
AC_CHECK_LIB(Xext, XextAddDisplay, [XLIBS="-lXext $XLIBS"],
|
|
[MISSING_X="$MISSING_X -lXext"], $XLIBS)
|
|
AC_CHECK_LIB(ICE, IceFlush, [XLIBS="-lICE $XLIBS"],, $XLIBS)
|
|
AC_CHECK_LIB(SM, SmcCloseConnection, [XLIBS="-lSM $XLIBS"],, $XLIBS)
|
|
AC_CHECK_LIB(Xt, XtFree, [XLIBS="-lXt $XLIBS"],
|
|
[MISSING_X="$MISSING_X -lXt"], $XLIBS)
|
|
AC_CHECK_LIB(Xmu, XmuLookupString, [XLIBS="-lXmu $XLIBS"],
|
|
[MISSING_X="$MISSING_X -lXmu"], $XLIBS)
|
|
LDFLAGS="$_SAVE_LDFLAGS"
|
|
|
|
dnl Check for toolkit libs
|
|
dnl ========================================================
|
|
res=`echo :$MOZ_TOOLKIT | grep -c "motif"`
|
|
if [ test $res != 0 ]; then
|
|
if [ test "$no_x" != "yes" ]; then
|
|
if [ test ! -z "$x_includes" ]; then
|
|
MOTIF_XINCS="-xif -I$x_includes"
|
|
fi
|
|
|
|
MOTIF_VERSION=`${srcdir}/config/mkdetect/detect_motif.sh -cc "$CC" $MOTIF_XINCS`
|
|
MOTIF_INCLUDES=`${srcdir}/config/mkdetect/detect_motif.sh -cc "$CC" $MOTIF_XINCS -if`
|
|
MOTIF_STATIC_FLAGS=`${srcdir}/config/mkdetect/detect_motif.sh -cc "$CC" $MOTIF_XINCS -sf`
|
|
MOTIF_DYNAMIC_FLAGS=`${srcdir}/config/mkdetect/detect_motif.sh -cc "$CC" $MOTIF_XINCS -df`
|
|
MOTIF_DYNAMIC_PATHS=`${srcdir}/config/mkdetect/detect_motif.sh -cc "$CC" $MOTIF_XINCS -dp`
|
|
MOTIF_REQUIRES_XPM=`${srcdir}/config/mkdetect/detect_motif.sh -cc "$CC" $MOTIF_XINCS -xpm`
|
|
|
|
${srcdir}/config/mkdetect/detect_motif.sh --cleanup
|
|
fi
|
|
|
|
if [ test "$MOTIF_REQUIRES_XPM" = "True" || test "$MOTIF_VERSION" = "2.1" ]; then
|
|
_SAVE_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$XLDFLAGS $LDFLAGS"
|
|
if [ test "$MOTIF_REQUIRES_XPM" = "True" ]; then
|
|
AC_CHECK_LIB(Xpm, XpmWriteFileFromImage,
|
|
TK_LIBS="-lXpm $TK_LIBS",
|
|
[MISSING_MOTIF="-lXpm $MISSING_MOTIF"], $XLIBS)
|
|
fi
|
|
if [ test "$MOTIF_VERSION" = "2.1" ]; then
|
|
AC_CHECK_LIB(Xp, XpGetPrinterList,
|
|
TK_LIBS="-lXp $TK_LIBS",
|
|
[MISSING_MOTIF="-lXp $MISSING_MOTIF"], $XLIBS)
|
|
fi
|
|
TK_LIBS="$XLDFLAGS $TK_LIBS"
|
|
LDFLAGS="$_SAVE_LDFLAGS"
|
|
fi
|
|
|
|
if [ test "$MOTIF_STATIC_LIB" = "unknown" && test "$MOTIF_DYNAMIC_LIB" = "unknown" ]; then
|
|
AC_ERROR("Cannot find neither dynamic nor static motif libraries.")
|
|
fi
|
|
|
|
# Get rid of offending error values
|
|
if test "$MOTIF_DYNAMIC_PATHS" = "unknown"; then
|
|
MOTIF_DYNAMIC_PATHS=
|
|
fi
|
|
|
|
if test "$MOTIF_DYNAMIC_FLAGS" = "unknown"; then
|
|
MOTIF_DYNAMIC_FLAGS=
|
|
fi
|
|
|
|
if test "$MOTIF_STATIC_FLAGS" = "unknown"; then
|
|
MOTIF_STATIC_FLAGS=
|
|
fi
|
|
|
|
if test "$MOTIF_INCLUDE_DIR" = "unknown"; then
|
|
MOTIF_INCLUDE_DIR=
|
|
fi
|
|
|
|
AC_ARG_WITH(static-motif,
|
|
[ --with-static-motif link motif statically if possible],
|
|
sysstaticmotif=$withval)
|
|
|
|
if [ test "$sysstaticmotif" != "yes" ]; then
|
|
_SAVE_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$MOTIF_DYNAMIC_PATHS $XLDFLAGS $LDFLAGS"
|
|
AC_CHECK_LIB(Xm, XmStringCreate,
|
|
TK_LIBS="$MOTIF_DYNAMIC_PATHS $MOTIF_DYNAMIC_FLAGS $TK_LIBS",
|
|
[MISSING_MOTIF="$MOTIF_DYNAMIC_FLAGS $MISSING_MOTIF"],
|
|
$MOTIF_DYNAMIC_PATHS $TK_LIBS $XLIBS)
|
|
LDFLAGS="$_SAVE_LDFLAGS"
|
|
else
|
|
AC_CHECK_LIB(Xm, XmStringCreate,
|
|
TK_LIBS="$MOTIF_STATIC_FLAGS $TK_LIBS",
|
|
[MISSING_MOTIF="$MOTIF_STATIC_FLAGS $MISSING_MOTIF"],
|
|
$TK_LIBS $XLIBS)
|
|
fi
|
|
|
|
TK_CFLAGS="$MOTIF_INCLUDES"
|
|
fi
|
|
|
|
res=`echo :$MOZ_TOOLKIT | grep -c "gtk"`
|
|
if [ test $res != 0 ]; then
|
|
AM_PATH_GTK($GTK_VERSION,,
|
|
AC_MSG_ERROR(Test for GTK failed.))
|
|
|
|
AC_ARG_WITH(static-gtk,
|
|
[ --with-static-gtk link gtk statically if possible],
|
|
sysstaticgtk=$withval)
|
|
|
|
if [ test "$sysstaticgtk" != "yes" ]; then
|
|
TK_LIBS=$GTK_LIBS
|
|
else
|
|
changequote(,)
|
|
|
|
GTK_LIBS_LOC=`echo $GTK_LIBS | sed 's/\(.*\)\(-lgtk.*\)/\1/'`
|
|
|
|
GTK_STATIC_LOC=`echo $GTK_LIBS | sed 's/^ *-L\([^ ]*\) .*$/\1/'`
|
|
GTK_STATIC=`echo $GTK_LIBS | sed 's/^.*-l\(gtk[^ ]*\) .*/\1/'`
|
|
GDK_STATIC=`echo $GTK_LIBS | sed 's/^.*-l\(gdk[^ ]*\) .*/\1/'`
|
|
|
|
GLIB_STATIC_LOC=`echo $GTK_LIBS | sed -e 's/^.*-lgdk[^ ]* *-L\([^ ]*\).*$/\1/' -e 's/^.* -lgdk[^ ]* .*$//'`
|
|
if test -z "$GLIB_STATIC_LOC" ; then
|
|
GLIB_STATIC_LOC=$GTK_STATIC_LOC
|
|
fi
|
|
GMODULE_STATIC=`echo $GTK_LIBS | sed 's/^.*-l\(gmodule[^ ]*\) .*/\1/'`
|
|
GLIB_STATIC=`echo $GTK_LIBS | sed 's/^.*-l\(glib[^ ]*\) .*/\1/'`
|
|
|
|
GTK_OTHER_LIBS=`echo $GTK_LIBS | sed 's/^.*-lglib *\(.*\)/\1/'`
|
|
|
|
changequote([,])
|
|
|
|
TK_LIBS="$GTK_STATIC_LOC/lib${GTK_STATIC}.a"
|
|
TK_LIBS="$TK_LIBS $GTK_STATIC_LOC/lib${GDK_STATIC}.a"
|
|
TK_LIBS="$TK_LIBS $GLIB_STATIC_LOC/lib${GMODULE_STATIC}.a"
|
|
TK_LIBS="$TK_LIBS $GLIB_STATIC_LOC/lib${GLIB_STATIC}.a"
|
|
TK_LIBS="$TK_LIBS $GTK_LIBS_LOC $GTK_OTHER_LIBS"
|
|
fi
|
|
TK_CFLAGS=$GTK_CFLAGS
|
|
fi
|
|
|
|
fi # $no_x
|
|
|
|
AC_SUBST(GTK_CONFIG)
|
|
AC_SUBST(TK_CFLAGS)
|
|
AC_SUBST(TK_LIBS)
|
|
|
|
XCFLAGS="$X_CFLAGS"
|
|
|
|
AC_SUBST(XCFLAGS)
|
|
AC_SUBST(XLDFLAGS)
|
|
AC_SUBST(XLIBS)
|
|
|
|
dnl system JPEG support
|
|
dnl ========================================================
|
|
AC_ARG_WITH(jpeg,
|
|
[ --with-jpeg=\$dir use system libjpeg in \$dir if more recent],
|
|
JPEG_DIR=$withval)
|
|
|
|
_SAVE_CFLAGS=$CFLAGS
|
|
_SAVE_LDFLAGS=$LDFLAGS
|
|
_SAVE_LIBS=$LIBS
|
|
CFLAGS="-I${JPEG_DIR}/include $CFLAGS"
|
|
LDFLAGS="-L${JPEG_DIR}/lib $LDFLAGS"
|
|
if test "$JPEG_DIR" = no; then
|
|
SYSTEM_JPEG=
|
|
else
|
|
AC_CHECK_LIB(jpeg, jpeg_destroy_compress, [SYSTEM_JPEG=1 JPEG_LIBS="-ljpeg $JPEG_LIBS"], SYSTEM_JPEG=, $JPEG_LIBS)
|
|
fi
|
|
|
|
if [ test "$SYSTEM_JPEG" = 1 ]; then
|
|
LIBS="$JPEG_LIBS $LIBS"
|
|
AC_TRY_RUN(
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include <jpeglib.h>
|
|
int main () {
|
|
#if JPEG_LIB_VERSION >= $MOZJPEG
|
|
exit(0);
|
|
#else
|
|
exit(1);
|
|
#endif
|
|
}
|
|
, SYSTEM_JPEG=1, [SYSTEM_JPEG= JPEG_CFLAGS= JPEG_LIBS=], SYSTEM_JPEG= )
|
|
rm -f core
|
|
fi
|
|
CFLAGS=$_SAVE_CFLAGS
|
|
LDFLAGS=$_SAVE_LDFLAGS
|
|
LIBS=$_SAVE_LIBS
|
|
|
|
if [ test -n "${JPEG_DIR}" && test -d "${JPEG_DIR}" && test "$SYSTEM_JPEG" = 1]; then
|
|
JPEG_CFLAGS="-I${JPEG_DIR}/include"
|
|
JPEG_LIBS="-L${JPEG_DIR}/lib ${JPEG_LIBS}"
|
|
fi
|
|
|
|
dnl system ZLIB support
|
|
dnl ========================================================
|
|
AC_ARG_WITH(zlib,
|
|
[ --with-zlib=\$dir use system libz in \$dir],
|
|
ZLIB_DIR=$withval)
|
|
|
|
_SAVE_CFLAGS=$CFLAGS
|
|
_SAVE_LDFLAGS=$LDFLAGS
|
|
CFLAGS="-I${ZLIB_DIR}/include $CFLAGS"
|
|
LDFLAGS="-L${ZLIB_DIR}/lib $LDFLAGS"
|
|
if test "$ZLIB_DIR" = no; then
|
|
SYSTEM_ZLIB=
|
|
else
|
|
AC_MSG_CHECKING("for zlib.h")
|
|
AC_TRY_COMPILE([#include "zlib.h"], [],
|
|
[result="yes" SYSTEM_ZLIB=1],
|
|
[result="no" SYSTEM_ZLIB=])
|
|
AC_MSG_RESULT("$result")
|
|
fi
|
|
if [ test "$SYSTEM_ZLIB" = 1 ]; then
|
|
AC_CHECK_LIB(z, gzread, [SYSTEM_ZLIB=1 ZLIB_LIBS="-lz $ZLIB_LIBS"],
|
|
[SYSTEM_ZLIB= ZLIB_CFLAGS= ZLIB_LIBS=], $ZLIB_LIBS)
|
|
fi
|
|
CFLAGS=$_SAVE_CFLAGS
|
|
LDFLAGS=$_SAVE_LDFLAGS
|
|
|
|
if [ test -n "${ZLIB_DIR}" && test -d "${ZLIB_DIR}" && test "$SYSTEM_ZLIB" = 1 ]; then
|
|
ZLIB_CFLAGS="-I${ZLIB_DIR}/include"
|
|
ZLIB_LIBS="-L${ZLIB_DIR}/lib ${ZLIB_LIBS}"
|
|
fi
|
|
|
|
dnl system PNG Support
|
|
dnl ========================================================
|
|
AC_ARG_WITH(png,
|
|
[ --with-png=\$dir use system libpng in \$dir if more recent],
|
|
PNG_DIR=$withval)
|
|
|
|
_SAVE_CFLAGS=$CFLAGS
|
|
_SAVE_LDFLAGS=$LDFLAGS
|
|
_SAVE_LIBS=$LIBS
|
|
CFLAGS="-I${PNG_DIR}/include $ZLIB_CFLAGS $CFLAGS"
|
|
LDFLAGS="-L${PNG_DIR}/lib $ZLIB_LIBS -lz $LDFLAGS"
|
|
if test "$PNG_DIR" = no; then
|
|
SYSTEM_PNG=
|
|
else
|
|
AC_CHECK_LIB(png, png_get_valid, [SYSTEM_PNG=1 PNG_LIBS="-lpng $PNG_LIBS"], SYSTEM_PNG=, $PNG_LIBS)
|
|
fi
|
|
if [ test "$SYSTEM_PNG" = 1 ]; then
|
|
LIBS="$PNG_LIBS $LIBS"
|
|
AC_TRY_RUN(
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include <png.h>
|
|
int main () {
|
|
#if PNG_LIBPNG_VER >= $MOZPNG
|
|
exit(0);
|
|
#else
|
|
exit(1);
|
|
#endif
|
|
}
|
|
, SYSTEM_PNG=1, [SYSTEM_PNG= PNG_CFLAGS= PNG_LIBS=], SYSTEM_PNG= )
|
|
rm -f core
|
|
fi
|
|
CFLAGS=$_SAVE_CFLAGS
|
|
LDFLAGS=$_SAVE_LDFLAGS
|
|
LIBS=$_SAVE_LIBS
|
|
|
|
if [ test -n "${PNG_DIR}" && test -d "${PNG_DIR}" && test "$SYSTEM_PNG" = 1 ]; then
|
|
PNG_CFLAGS="-I${PNG_DIR}/include"
|
|
PNG_LIBS="-L${PNG_DIR}/lib ${PNG_LIBS}"
|
|
fi
|
|
|
|
dnl system FullCircle/Talkback support
|
|
dnl ========================================================
|
|
|
|
AC_ARG_WITH(fullcircle,
|
|
[ --with-fullcircle=\$dir location of FullCircle headers and libraries],
|
|
|
|
FULLCIRCLE_DIR=$withval,
|
|
FULLCIRCLE_DIR=no)
|
|
|
|
if test "$FULLCIRCLE_DIR" = no; then
|
|
FULLCIRCLE_DIR=
|
|
else
|
|
|
|
_SAVE_CFLAGS=$CFLAGS
|
|
_SAVE_LDFLAGS=$LDFLAGS
|
|
_SAVE_LIBS=$LIBS
|
|
CFLAGS="$CFLAGS -I${FULLCIRCLE_DIR}"
|
|
LDFLAGS="$LDFLAGS -L${FULLCIRCLE_DIR}"
|
|
|
|
AC_MSG_CHECKING("for FC_Initialize in -ltalkback");
|
|
LIBS="-ltalkback $LIBS"
|
|
AC_TRY_LINK([
|
|
#include "fullcircle.h"
|
|
#include <stdio.h>
|
|
],
|
|
[FC_Initialize();
|
|
exit(0);]
|
|
,[FULLCIRCLE_LIB="-ltalkback $FULLCIRCLE_LIB" result="yes"],
|
|
[MISSING_FULLCIRCLE=1 result="no"])
|
|
AC_MSG_RESULT("$result")
|
|
|
|
CFLAGS=$_SAVE_CFLAGS
|
|
LDFLAGS=$_SAVE_LDFLAGS
|
|
LIBS=$_SAVE_LIBS
|
|
|
|
if [ test -n "$MISSING_FULLCIRCLE" ]; then
|
|
AC_MSG_ERROR([Could not find FullCircle Library]);
|
|
fi
|
|
|
|
fi
|
|
|
|
dnl system NSPR support
|
|
dnl we always use the system NSPR from now on...this option
|
|
dnl tells where to find nspr rather than whether to use it
|
|
dnl ========================================================
|
|
AC_ARG_WITH(pthreads,
|
|
[ --with-pthreads use system pthread library ],
|
|
[if test "$withval" = "yes"; then
|
|
AC_CHECK_LIB(pthread, pthread_attr_init,
|
|
NSPR_LIBS="-lpthread $NSPR_LIBS" USE_PTHREADS=1)
|
|
case "$target" in
|
|
*-*-solaris*)
|
|
CFLAGS="$CFLAGS -D_REENTRANT" ;;
|
|
*-*-linux*)
|
|
CFLAGS="$CFLAGS -D_REENTRANT" ;;
|
|
alpha*-*-osf*)
|
|
if [ test "$GNU_CC" = 1 ]; then
|
|
CFLAGS="$CFLAGS -D_REENTRANT"
|
|
else
|
|
CFLAGS="$CFLAGS -pthread"
|
|
fi ;;
|
|
esac
|
|
fi] )
|
|
|
|
AC_ARG_WITH(nspr,
|
|
[ --with-nspr=\$dir location of nspr headers and libraries],
|
|
NSPR_DIR=$withval)
|
|
|
|
_SAVE_CFLAGS=$CFLAGS
|
|
_SAVE_LDFLAGS=$LDFLAGS
|
|
_SAVE_LIBS=$LIBS
|
|
CFLAGS="$CFLAGS -I${NSPR_DIR}/include"
|
|
LDFLAGS="$LDFLAGS -L${NSPR_DIR}/lib $NSPR_LIBS"
|
|
|
|
AC_MSG_CHECKING("for PR_GetCurrentThread in -lnspr21")
|
|
LIBS="-lnspr21 $NSPR_LIBS $LIBS"
|
|
AC_TRY_RUN(
|
|
#include <stdio.h>
|
|
#include <nspr.h>
|
|
int main () {
|
|
PRThread *dummy = PR_GetCurrentThread();
|
|
exit(0);
|
|
}
|
|
, [NSPR_LIBS="-lnspr21 $NSPR_LIBS" result="yes"],
|
|
[_NSPR_NEEDS_THREAD_LIB=1 result="no"],
|
|
[_NSPR_NEEDS_THREAD_LIB=1 result="no"] )
|
|
rm -f core
|
|
AC_MSG_RESULT("$result")
|
|
|
|
dnl XXX - Is this really the best way to do this check? - cls
|
|
if [ test "$_NSPR_NEEDS_THREAD_LIB" = 1 ]; then
|
|
|
|
LIBS=$_SAVE_LIBS
|
|
case "$target" in
|
|
*-*-solaris*)
|
|
AC_CHECK_LIB(pthread, pthread_attr_init,
|
|
NSPR_LIBS="-lpthread $NSPR_LIBS") ;;
|
|
*-*-linux*)
|
|
AC_CHECK_LIB(pthread, pthread_attr_init,
|
|
NSPR_LIBS="-lpthread $NSPR_LIBS") ;;
|
|
esac
|
|
|
|
AC_MSG_CHECKING("for PR_GetCurrentThread in -lnspr21 with thread lib")
|
|
LIBS="-lnspr21 $NSPR_LIBS $LIBS"
|
|
AC_TRY_RUN(
|
|
#include <stdio.h>
|
|
#include <nspr.h>
|
|
int main () {
|
|
PRThread *dummy = PR_GetCurrentThread();
|
|
exit(0);
|
|
}
|
|
, [NSPR_LIBS="-lnspr21 $NSPR_LIBS" result="yes"],
|
|
[MISSING_NSPR="$MISSING_NSPR -lnspr21" result="no"],
|
|
[MISSING_NSPR="$MISSING_NSPR -lnspr21" result="no"] )
|
|
rm -f core
|
|
AC_MSG_RESULT("$result")
|
|
fi
|
|
|
|
dnl AC_CHECK_LIB(nspr21, PR_GetUniqueIdentity, NSPR_LIBS="-lnspr21 $NSPR_LIBS",
|
|
dnl [MISSING_NSPR="$MISSING_NSPR -lnspr21"], $NSPR_LIBS)
|
|
|
|
AC_CHECK_LIB(plc21, PL_CreateOptState, NSPR_LIBS="-lplc21 $NSPR_LIBS",
|
|
[MISSING_NSPR="$MISSING_NSPR -lplc21"], $NSPR_LIBS)
|
|
AC_CHECK_LIB(plds21, PL_GetEvent, NSPR_LIBS="-lplds21 $NSPR_LIBS",
|
|
[MISSING_NSPR="$MISSING_NSPR -lplds21"], $NSPR_LIBS)
|
|
|
|
CFLAGS=$_SAVE_CFLAGS
|
|
CFLAGS="${OPTIMIZE} ${COMPILER_WARNINGS} ${CFLAGS}"
|
|
LDFLAGS=$_SAVE_LDFLAGS
|
|
LIBS=$_SAVE_LIBS
|
|
|
|
if [ test -n "${NSPR_DIR}" && test -d "${NSPR_DIR}" ]; then
|
|
NSPR_CFLAGS="-I${NSPR_DIR}/include"
|
|
NSPR_LIBS="-L${NSPR_DIR}/lib ${NSPR_LIBS}"
|
|
fi
|
|
|
|
dnl Support for X11 makedepend, if found on the system
|
|
dnl ========================================================
|
|
AC_PATH_PROG(SYSTEM_MAKEDEPEND,makedepend)
|
|
|
|
AC_SUBST(SYSTEM_MAKEDEPEND)
|
|
|
|
AC_SUBST(SYSTEM_JPEG)
|
|
AC_SUBST(SYSTEM_PNG)
|
|
AC_SUBST(SYSTEM_ZLIB)
|
|
|
|
AC_SUBST(JPEG_CFLAGS)
|
|
AC_SUBST(JPEG_LIBS)
|
|
AC_SUBST(ZLIB_CFLAGS)
|
|
AC_SUBST(ZLIB_LIBS)
|
|
AC_SUBST(PNG_CFLAGS)
|
|
AC_SUBST(PNG_LIBS)
|
|
AC_SUBST(NSPR_CFLAGS)
|
|
AC_SUBST(NSPR_LIBS)
|
|
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(LDFLAGS)
|
|
AC_SUBST(LIBS)
|
|
|
|
AC_SUBST(WRAP_MALLOC_CFLAGS)
|
|
AC_SUBST(WRAP_MALLOC_LIB)
|
|
AC_SUBST(MKSHLIB)
|
|
AC_SUBST(MKSHLIB_FORCE_ALL)
|
|
AC_SUBST(MKSHLIB_UNFORCE_ALL)
|
|
AC_SUBST(DSO_CFLAGS)
|
|
AC_SUBST(DSO_LDOPTS)
|
|
AC_SUBST(DLL_SUFFIX)
|
|
|
|
if test "$USING_HCC"; then
|
|
CC='${topsrcdir}/build/hcc'
|
|
CC="$CC '$_OLDCC'"
|
|
CXX='${topsrcdir}/build/hcpp'
|
|
CXX="$CXX '$_OLDCXX'"
|
|
AC_SUBST(CC)
|
|
AC_SUBST(CXX)
|
|
fi
|
|
|
|
dnl Check for missing components
|
|
if [ test "$no_x" != "yes" ]; then
|
|
if [ test -n "$MISSING_X" ]; then
|
|
AC_MSG_ERROR([ Could not find the following X libraries: $MISSING_X ]);
|
|
fi
|
|
|
|
if [ test -n "$MISSING_GTK" ]; then
|
|
AC_MSG_ERROR([ Could not link sample program with the following gtk libraries: $MISSING_GTK ])
|
|
fi
|
|
|
|
if [ test -n "$MISSING_MOTIF" ]; then
|
|
AC_MSG_ERROR([ Could not find the following motif libraries: $MISSING_MOTIF ]);
|
|
fi
|
|
fi # $no_x
|
|
|
|
if [ test -n "$MISSING_NSPR" ]; then
|
|
AC_MSG_ERROR([Could not find the following nspr libraries or could not run sample program: $MISSING_NSPR]);
|
|
fi
|
|
|
|
dnl Need to manual make the directories to get around deficiency in AC_OUTPUT
|
|
for d in lib modules modules/security; do
|
|
if [ test ! -d $d ]; then rm -f $d; mkdir $d; fi
|
|
done
|
|
|
|
NG_MAKEFILES="
|
|
Makefile
|
|
base/Makefile
|
|
base/public/Makefile
|
|
base/src/Makefile
|
|
base/src/motif/Makefile
|
|
base/src/rhapsody/Makefile
|
|
base/src/gtk/Makefile
|
|
base/tests/Makefile
|
|
config/Makefile
|
|
config/autoconf.mk
|
|
config/mkdepend/Makefile
|
|
config/mkdetect/Makefile
|
|
config/ports/Makefile
|
|
dbm/Makefile
|
|
dbm/include/Makefile
|
|
dbm/src/Makefile
|
|
dbm/tests/Makefile
|
|
dom/Makefile
|
|
dom/public/Makefile
|
|
dom/public/base/Makefile
|
|
dom/public/coreDom/Makefile
|
|
dom/public/coreEvents/Makefile
|
|
dom/public/css/Makefile
|
|
dom/public/events/Makefile
|
|
dom/public/html/Makefile
|
|
dom/src/Makefile
|
|
dom/src/base/Makefile
|
|
dom/src/build/Makefile
|
|
dom/src/coreDOM/Makefile
|
|
dom/src/css/Makefile
|
|
dom/src/events/Makefile
|
|
dom/src/html/Makefile
|
|
dom/src/jsurl/Makefile
|
|
dom/tools/Makefile
|
|
editor/Makefile
|
|
editor/public/Makefile
|
|
gfx/Makefile
|
|
gfx/public/Makefile
|
|
gfx/src/Makefile
|
|
gfx/src/gtk/Makefile
|
|
gfx/src/motif/Makefile
|
|
gfx/src/rhapsody/Makefile
|
|
gfx/tests/Makefile
|
|
htmlparser/Makefile
|
|
htmlparser/robot/Makefile
|
|
htmlparser/src/Makefile
|
|
htmlparser/tests/Makefile
|
|
htmlparser/tests/grabpage/Makefile
|
|
htmlparser/tests/logparse/Makefile
|
|
include/Makefile
|
|
intl/Makefile
|
|
intl/uconv/Makefile
|
|
intl/uconv/public/Makefile
|
|
intl/uconv/src/Makefile
|
|
intl/uconv/tests/Makefile
|
|
intl/uconv/ucvja/Makefile
|
|
intl/uconv/ucvlatin/Makefile
|
|
intl/locale/Makefile
|
|
intl/locale/public/Makefile
|
|
intl/locale/src/Makefile
|
|
intl/locale/src/unix/Makefile
|
|
intl/locale/tests/Makefile
|
|
intl/unicharutil/Makefile
|
|
intl/unicharutil/src/Makefile
|
|
intl/unicharutil/public/Makefile
|
|
intl/unicharutil/tests/Makefile
|
|
intl/unicharutil/tools/Makefile
|
|
jpeg/Makefile
|
|
js/Makefile
|
|
js/jsd/Makefile
|
|
js/jsd/classes/Makefile
|
|
js/src/Makefile
|
|
js/src/fdlibm/Makefile
|
|
js/src/liveconnect/Makefile
|
|
js/src/liveconnect/classes/Makefile
|
|
js/src/xpcom/Makefile
|
|
layout/Makefile
|
|
layout/base/Makefile
|
|
layout/base/public/Makefile
|
|
layout/base/src/Makefile
|
|
layout/base/tests/Makefile
|
|
layout/build/Makefile
|
|
layout/events/Makefile
|
|
layout/events/public/Makefile
|
|
layout/events/src/Makefile
|
|
layout/html/Makefile
|
|
layout/html/base/Makefile
|
|
layout/html/base/src/Makefile
|
|
layout/html/content/Makefile
|
|
layout/html/content/public/Makefile
|
|
layout/html/content/src/Makefile
|
|
layout/html/document/Makefile
|
|
layout/html/document/src/Makefile
|
|
layout/html/forms/Makefile
|
|
layout/html/forms/public/Makefile
|
|
layout/html/forms/src/Makefile
|
|
layout/html/style/Makefile
|
|
layout/html/style/public/Makefile
|
|
layout/html/style/src/Makefile
|
|
layout/html/table/Makefile
|
|
layout/html/table/src/Makefile
|
|
layout/html/tests/Makefile
|
|
layout/tools/Makefile
|
|
layout/xml/Makefile
|
|
layout/xml/content/Makefile
|
|
layout/xml/content/public/Makefile
|
|
layout/xml/content/src/Makefile
|
|
layout/xml/document/Makefile
|
|
layout/xml/document/public/Makefile
|
|
layout/xml/document/src/Makefile
|
|
layout/xul/Makefile
|
|
layout/xul/base/Makefile
|
|
layout/xul/base/src/Makefile
|
|
layout/xul/content/Makefile
|
|
layout/xul/content/src/Makefile
|
|
dnl lib/liblayer/Makefile
|
|
dnl lib/liblayer/include/Makefile
|
|
dnl lib/liblayer/src/Makefile
|
|
lib/libpwcac/Makefile
|
|
lib/xp/Makefile
|
|
modules/libimg/Makefile
|
|
modules/libimg/classes/Makefile
|
|
modules/libimg/classes/netscape/Makefile
|
|
modules/libimg/classes/netscape/libimg/Makefile
|
|
modules/libimg/png/Makefile
|
|
modules/libimg/public/Makefile
|
|
modules/libimg/src/Makefile
|
|
modules/libpref/Makefile
|
|
modules/libpref/admin/Makefile
|
|
modules/libpref/l10n/Makefile
|
|
modules/libpref/public/Makefile
|
|
modules/libpref/src/Makefile
|
|
modules/libreg/Makefile
|
|
modules/libreg/include/Makefile
|
|
modules/libreg/src/Makefile
|
|
modules/libutil/Makefile
|
|
modules/libutil/public/Makefile
|
|
modules/libutil/src/Makefile
|
|
modules/oji/Makefile
|
|
modules/oji/public/Makefile
|
|
modules/oji/src/Makefile
|
|
modules/plugin/Makefile
|
|
modules/plugin/nglsrc/Makefile
|
|
modules/plugin/public/Makefile
|
|
modules/plugin/src/Makefile
|
|
modules/plugin/test/Makefile
|
|
modules/security/freenav/Makefile
|
|
modules/zlib/Makefile
|
|
modules/zlib/src/Makefile
|
|
nav-java/Makefile
|
|
nav-java/stubs/Makefile
|
|
nav-java/stubs/include/Makefile
|
|
nav-java/stubs/jri/Makefile
|
|
nav-java/stubs/src/Makefile
|
|
network/Makefile
|
|
network/cache/Makefile
|
|
network/cache/nu/Makefile
|
|
network/cache/nu/include/Makefile
|
|
network/cache/nu/public/Makefile
|
|
network/cache/nu/src/Makefile
|
|
network/cache/nu/tests/Makefile
|
|
network/cache/nu/tests/fftest/Makefile
|
|
network/client/Makefile
|
|
network/cnvts/Makefile
|
|
network/cstream/Makefile
|
|
network/main/Makefile
|
|
network/mimetype/Makefile
|
|
network/public/Makefile
|
|
network/module/Makefile
|
|
network/module/tests/Makefile
|
|
network/protocol/Makefile
|
|
network/protocol/about/Makefile
|
|
network/protocol/callback/Makefile
|
|
network/protocol/dataurl/Makefile
|
|
network/protocol/file/Makefile
|
|
network/protocol/ftp/Makefile
|
|
network/protocol/gopher/Makefile
|
|
network/protocol/http/Makefile
|
|
network/protocol/js/Makefile
|
|
network/protocol/ldap/Makefile
|
|
network/protocol/marimba/Makefile
|
|
network/protocol/remote/Makefile
|
|
network/protocol/sockstub/Makefile
|
|
network/util/Makefile
|
|
rdf/Makefile
|
|
rdf/base/Makefile
|
|
rdf/base/public/Makefile
|
|
rdf/base/src/Makefile
|
|
rdf/build/Makefile
|
|
rdf/content/Makefile
|
|
rdf/content/public/Makefile
|
|
rdf/content/src/Makefile
|
|
rdf/datasource/Makefile
|
|
rdf/datasource/public/Makefile
|
|
rdf/datasource/src/Makefile
|
|
rdf/tests/Makefile
|
|
rdf/tests/localfile/Makefile
|
|
rdf/tests/rdfsink/Makefile
|
|
sun-java/Makefile
|
|
sun-java/stubs/Makefile
|
|
sun-java/stubs/include/Makefile
|
|
sun-java/stubs/jri/Makefile
|
|
sun-java/stubs/src/Makefile
|
|
caps/Makefile
|
|
caps/include/Makefile
|
|
caps/public/Makefile
|
|
caps/src/Makefile
|
|
view/Makefile
|
|
view/public/Makefile
|
|
view/src/Makefile
|
|
webshell/Makefile
|
|
webshell/public/Makefile
|
|
webshell/src/Makefile
|
|
webshell/tests/Makefile
|
|
webshell/tests/viewer/Makefile
|
|
webshell/tests/viewer/public/Makefile
|
|
widget/Makefile
|
|
widget/public/Makefile
|
|
widget/src/Makefile
|
|
widget/src/build/Makefile
|
|
widget/src/motif/Makefile
|
|
widget/src/rhapsody/Makefile
|
|
widget/src/gtk/Makefile
|
|
widget/src/xpwidgets/Makefile
|
|
widget/tests/Makefile
|
|
widget/tests/scribble/Makefile
|
|
widget/tests/widget/Makefile
|
|
xpcom/Makefile
|
|
xpcom/public/Makefile
|
|
xpcom/src/Makefile
|
|
xpcom/tests/Makefile
|
|
xpcom/tests/dynamic/Makefile
|
|
xpcom/tools/Makefile
|
|
xpcom/tools/xpidl/Makefile
|
|
xpcom/libxpt/Makefile
|
|
xpcom/libxpt/public/Makefile
|
|
xpcom/libxpt/src/Makefile
|
|
xpcom/libxpt/tests/Makefile
|
|
xpcom/libxpt/tools/Makefile
|
|
silentdl/Makefile
|
|
xpfe/Makefile
|
|
xpfe/browser/Makefile
|
|
xpfe/browser/public/Makefile
|
|
xpfe/browser/src/Makefile
|
|
dnl xpfe/xpviewer/Makefile
|
|
dnl xpfe/xpviewer/src/Makefile
|
|
dnl xpfe/xpviewer/public/Makefile
|
|
xpfe/appshell/Makefile
|
|
xpfe/appshell/src/Makefile
|
|
xpfe/appshell/public/Makefile
|
|
xpfe/bootstrap/Makefile
|
|
xpfe/browser/Makefile
|
|
xpfe/browser/src/Makefile
|
|
dnl xpfe/browser/public/Makefile
|
|
"
|
|
|
|
EDITOR_MAKEFILES="
|
|
editor/base/Makefile
|
|
editor/txmgr/Makefile
|
|
editor/txmgr/public/Makefile
|
|
editor/txmgr/src/Makefile
|
|
editor/txmgr/tests/Makefile
|
|
editor/guimgr/Makefile
|
|
editor/guimgr/src/Makefile
|
|
editor/guimgr/public/Makefile"
|
|
|
|
MAILNEWS_MAKEFILES="
|
|
network/protocol/certld/Makefile
|
|
network/protocol/imap4/Makefile
|
|
network/protocol/mailbox/Makefile
|
|
network/protocol/nntp/Makefile
|
|
network/protocol/pop3/Makefile
|
|
network/protocol/smtp/Makefile
|
|
mailnews/Makefile
|
|
mailnews/base/Makefile
|
|
mailnews/base/public/Makefile
|
|
mailnews/base/src/Makefile
|
|
mailnews/base/build/Makefile
|
|
mailnews/base/tests/Makefile
|
|
mailnews/imap/Makefile
|
|
mailnews/imap/public/Makefile
|
|
mailnews/local/Makefile
|
|
mailnews/local/public/Makefile
|
|
mailnews/local/src/Makefile
|
|
mailnews/imap/src/Makefile
|
|
mailnews/news/Makefile
|
|
mailnews/news/public/Makefile
|
|
mailnews/news/src/Makefile
|
|
mailnews/news/tests/Makefile
|
|
mailnews/mime/Makefile
|
|
mailnews/mime/public/Makefile
|
|
mailnews/mime/src/Makefile
|
|
mailnews/public/Makefile
|
|
"
|
|
|
|
MAKEFILES="$NG_MAKEFILES"
|
|
|
|
if test -n "$MOZ_EDITOR"; then
|
|
MAKEFILES="$MAKEFILES $EDITOR_MAKEFILES"
|
|
fi
|
|
|
|
if test -n "$MOZ_MAIL_NEWS"; then
|
|
MAKEFILES="$MAKEFILES $MAILNEWS_MAKEFILES"
|
|
fi
|
|
|
|
AC_OUTPUT($MAKEFILES)
|
|
|
|
|