dnl /****************************************************************** dnl * vi:set sw=3 ts=3 et: dnl * dnl * Name: configure.in dnl * Auth: Willem van Dorp, Ross Nicholson, Oisin Boydell - Sun Microsystems Ireland dnl * Date: $Date: 2004-02-25 13:50:21 $ dnl * dnl * Desc: This file serves as input for the GNU autoconf package dnl * in order to create a configure script. dnl * In this stage configure just checks the pre-requisites dnl * necessary to build OpenOffice.org dnl * dnl * dnl ******************************************************************/ AC_REVISION( $Revision: 1.61 $ ) AC_PREREQ(2.50) AC_INIT() echo "$@" >config.parms AC_ARG_WITH(gnu-patch, [ --with-gnu-patch Specify location of GNU patch on Solaris or FreeBSD ],,) AC_ARG_WITH(gnu-cp, [ --with-gnu-cp Specify location of GNU cp on Solaris or FreeBSD ],,) AC_ARG_WITH(gpc, [ --without-gpc *NOT RECOMMENDED* Removes GPC code from openoffice.org Reduces some graphics capability slightly. This is required to allow some strict packagers to comply with their distrubution policy. ],,) AC_ARG_ENABLE(libart, [ --enable-libart Enables the use of libart, instead of GPC for polygon clipping. ],,) AC_ARG_ENABLE(libsn, [ --enable-libsn Enables the use of libstartup-notification ],,) AC_ARG_WITH(fonts, [ --without-fonts Removes Bitstream Vera fonts from openoffice.org installation set, for people building for specific distributions where the fonts are known to be already available ],,) AC_ARG_ENABLE(mozilla, [ --enable-mozilla OO.o may include a strangely hacked up mozilla binary for your platform, to build with this enabled, use this option. Usage: --enable-mozilla ],,) AC_ARG_ENABLE(gcc3, [ --enable-gcc3 Deprecated: Now has no effect, checks compiler version ],,) AC_ARG_ENABLE(symbols, [ --enable-symbols Include debugging symbols in output. Warning - a complete build needs 8 Gb of space and takes much longer. (enables -g compiler flag) --enable-symbols=SMALL sets the gcc -g1 setting which is smaller. ],,) AC_ARG_ENABLE(debug, [ --enable-debug: Include debugging symbols from --enable-symbols plus extra debugging code. Extra large build! (enables -g compiler flag and dmake debug=true) ],,) AC_ARG_ENABLE(crashdump, [ --enable-crashdump: Enable the crashdump feature code. This option implicitly activates --enable-symbols. ],,) AC_ARG_ENABLE(cl-standard, [ --enable-cl-standard For Microsoft C/C++ compiler users, use non-optimizing standard compiler. ( This just disables optimization options and therefore removes a lot of warnings when using the cheaper standard compiler. ) ],,) AC_ARG_ENABLE(static-gtk, [ --enable-static-gtk: Modules that are linked against gtk libraries use the static libraries instead of the dynamic ones. (enables -Bstatic linker flag for gtk libraries) ],,) AC_ARG_ENABLE(rpath, [ --disable-rpath: Disable the use of relative paths in shared libraries ],,) AC_ARG_WITH(system-zlib, [ --with-system-zlib Use zlib already on system ],,) AC_ARG_WITH(stlport4-home, [ --with-stlport4-home The location that STLport4 is installed in. The STL header files are assumed to be in stlport4-home/stlport and the STLport4 library in stlport4-home/lib. Usage: --with-stlport4-home= ],,) AC_ARG_WITH(jdk-home, [ --with-jdk-home if you have installed JDK 1.3, on your system, please supply the path here. Note that this is not the location of the Java binary but the location of the entire distribution. Usage: --with-jdk-home= ],,) AC_ARG_WITH(gxx_include_path, [ --with-gxx-include-path if you want to override the autodetected g++ include path. Usage: --with-gxx-include-path= ],,) AC_ARG_ENABLE(java, [ --disable-java Build without Java support. Use if there is no supported JDK for your platform. The build will have no support for Java components, applets, accessibility or XML filters. ],,) AC_ARG_WITH(ant-home, [ --with-ant-home If you have installed Jakarta Ant on your system, please supply the path here. Note that this is not the location of the Ant binary but the location of the entire distribution. Usage: --with-ant-home= ],,) AC_ARG_WITH(perl-home, [ --with-perl-home If you have installed the Perl 5 Distribution, on your system, please supply the path here. Note that this is not the location of the Perl binary but the location of the entire distribution. Usage: --with-perl-home= ],,) AC_ARG_WITH(cl-home, [ --with-cl-home For Windows NT users, please supply the path for the Microsoft C/C++ compiler. Note that this is not the location of the compiler binary but the location of the entire distribution. Usage: --with-cl-home= ],,) AC_ARG_WITH(mspdb-path, [ --with-mspdb-path For Microsoft C/C++ compiler users, please supply the path pointing to the mspdb60.dll (MSVC 6) or mspdb60.dll (.NET). Usage: --with-mspdb-path= ],,) AC_ARG_WITH(midl-path, [ --with-midl-path For Microsoft C/C++ .NET compiler users, please supply the path pointing to the midl.exe. Usage: --with-midl-path= ],,) AC_ARG_WITH(csc-path, [ --with-csc-path For Microsoft C/C++ .NET compiler users, please supply the path pointing to the csc.exe. Usage: --with-csc-path= ],,) AC_ARG_WITH(frame-home, [ --with-frame-home For Microsoft C/C++ .NET compiler users, please supply the path pointing to the .NET Framework SDK. Usually something like: "/cygdrive/c/Programme/Microsoft Visual Studio .NET/FrameworkSDK" Usage: --with-frame-home= ],,) AC_ARG_WITH(wdevenv-path, [ --with-wdevenv-path For Microsoft C/C++ .NET compiler users, please supply the path pointing to the wdevenv.exe. Usage: --with-wdevenv-path= ],,) AC_ARG_WITH(psdk-home, [ --with-psdk-home For Windows NT users, please supply the path for the Microsoft Platform SDK. Usage: --with-psdk-home= ],,) AC_ARG_WITH(2003-psdk, [ --with-2003-psdk Deprecated: Now has no effect. ],,) AC_ARG_WITH(old-psdk, [ --with-old-psdk For Windows users, and compatibility reasons. Please use this option for the October 2002 version of the Microsoft Platform SDK. This is a temporary workaround! Usage: --with-old-psdk ],,) AC_ARG_WITH(local-solenv, [ --with-local-solenv If you have solenv in a location other than ../solenv, please supply the path here. Usage: --with-local-solenv= ],,) AC_ARG_WITH(local-solver, [ --with-local-solver if you have solver in a location other than ../solver, please supply the path here. Usage: --with-local-solver= ],,) AC_ARG_ENABLE(check-only, [ --enable-check-only Use this option option if you just want to check your environment. This option stops the generation of an ????env.set Usage: --enable-check-only=yes ],,) AC_ARG_ENABLE(macos9, [ --enable-macos9 Use this option option if you want to generate a macos9 environment on macosx. Usage: --enable-macos9 ],,) AC_ARG_WITH(lang, [ --with-lang Use this option to build OpenOffice.org with additional language support. US English is always included by default. Separate multiple languages with commas. For all languages, use --with-lang=ALL. Usage: --with-lang=SPAN,SWED,TURK ],,) AC_ARG_WITH(dict, [ --with-dict Use this option to build OpenOffice.org with dictionary support. ALL dictionaries are always included by default unless overridden with this option. Separate multiple dictionaries with commas. For all dictionaries, use --with-dict=ALL. Usage: --with-dict=ENGB,ENUS,ITIT ],,) AC_ARG_WITH(asm-home, [ --with-asm-home For Windows users, please supply the path for the ml.exe assembler. Usage: --with-asm-home= ],,) AC_ARG_WITH(os-version, [ --with-os-version For FreeBSD users, use this option option to override the detected OSVERSION. Usage: --with-os-version= ],,) AC_ARG_WITH(unzip-home, [ --with-unzip-home Deprecated: use --with-zip-home instead],,) AC_ARG_WITH(zip-home, [ --with-zip-home If you use a non standard zip, for example windows please supply the path for zip Usage: --with-zip-home= ],,) AC_ARG_WITH(mingwin, [ --with-mingwin For Windows users, use the mingwin32 compiler within cygwin environment, this implies --with-use-shell=tcsh Usage: --with-mingwin=yes ],WITH_MINGWIN=$withval,WITH_MINGWIN=0) AC_ARG_WITH(use-shell, [ --with-use-shell Select shell different form the default shell. For Windows users, don't use the 4NT shell with "mingwin32" environment Usage: --with-use-shell= ],with_use_shell=$withval,with_use_shell=0) AC_ARG_ENABLE(sgistl, [ --enable-sgistl for IRIX users, use this option option to build OpenOffice.org using SGI's STL. Usage: --enable-check-only=yes ],,) dnl =================================================================== dnl Message. dnl =================================================================== echo "********************************************************************" echo "* *" echo "* OpenOffice.org build configuration. *" echo "* *" echo "* The configure proces checks your platform to see whether *" echo "* you can build OpenOffice.org on it. *" echo "* This proces checks all pre-requisites and generates a file *" echo "* containing the necessary environment variables. *" echo "* Source this file after configure has ended successfully. *" echo "* *" echo "* Any warning that is generated during the configure process *" echo "* must be taken into account, since it can be a reason for *" echo "* an unsuccessfull build of OpenOffice.org *" echo "* *" echo "********************************************************************" echo "********************************************************************" echo "* *" echo "* Checking the platform pre-requisites. *" echo "* *" echo "********************************************************************" dnl =================================================================== dnl Configure pre-requisites. dnl =================================================================== cat /dev/null > warn AC_PROG_AWK AC_PATH_PROG( AWK, $AWK) if test -z "$AWK"; then AC_MSG_ERROR([install awk to run this script]) fi AC_PATH_PROGS(SED, sed ) if test -z "$SED"; then AC_MSG_ERROR([install sed to run this script]) fi dnl =================================================================== dnl Checks for the operating system and processor. dnl =================================================================== dnl checking the os AC_MSG_CHECKING([the operating system]) _os=`uname` if test `echo $_os | $AWK -F_ '{ print $1 }'` = "CYGWIN"; then _os="WINNT" CygwinVer="true" else CygwinVer="false" fi dnl =================================================================== dnl The following is a list of supported systems. dnl Sequential to keep the logic very simple dnl These values may be checked and reset later. dnl =================================================================== case "$_os" in "SunOS") test_x=yes test_gtk=yes ;; "Linux") test_x=yes test_gtk=yes ;; "GNU") test_x=yes ;; "WINNT") test_x=no ;; "Darwin") test_x=no ;; "FreeBSD") test_x=yes test_gtk=yes AC_MSG_CHECKING([the FreeBSD operating system release]) if test -n "$with_os_version"; then OSVERSION="$with_os_version" else OSVERSION=`/sbin/sysctl -n kern.osreldate` fi AC_MSG_RESULT([found OSVERSION=$OSVERSION]) PTHREAD_CFLAGS="-D_THREAD_SAFE" if test "$OSVERSION" -lt "500016"; then PTHREAD_LIBS="-pthread" elif test "$OSVERSION" -lt "502102"; then PTHREAD_LIBS="-lc_r" else PTHREAD_LIBS="-lpthread" fi ;; "OSF1") test_x=dontknow ;; "NetBSD") test_x=yes test_gtk=yes PTHREAD_CFLAGS="-pthread" PTHREAD_LIBS="-pthread -lpthread" ;; "IRIX") test_x=yes ;; "IRIX64") test_x=yes ;; "AIX") test_x=yes PTHREAD_LIBS=-pthread echo "AIX is an alpha port --- Use at own risk" >> warn ;; *) AC_MSG_ERROR([$_os operating system is not suitable to build OpenOffice.org!]) ;; esac AC_MSG_RESULT([checked ($_os)]) AC_SUBST(OSVERSION) AC_SUBST(PTHREAD_CFLAGS) AC_SUBST(PTHREAD_LIBS) dnl =================================================================== dnl Set the ENABLE_CRASHDUMP variable. (Activate --enable-symbols) dnl =================================================================== if test "$enable_crashdump" = "yes" -o "$enable_crashdump" = "TRUE"; then ENABLE_CRASHDUMP="TRUE" if test -z "$enable_symbols"; then enable_symbols="yes" fi else if test "$enable_crashdump" = "STATIC"; then ENABLE_CRASHDUMP="STATIC" if test -z "$enable_symbols"; then enable_symbols="yes" fi else if test "$enable_crashdump" = "" -o "$enable_crashdump" = "no"; then ENABLE_CRASHDUMP="" else AC_MSG_ERROR([--enable-crashdump only accepts yes, TRUE or STATIC as parameter.]) fi fi fi AC_SUBST(ENABLE_CRASHDUMP) dnl =================================================================== dnl Set the VC_STANDARD variable. dnl =================================================================== if test "$enable_cl_standard" = "" -o "$enable_cl_standard" = "no"; then VC_STANDARD="" else VC_STANDARD="TRUE" fi AC_SUBST(VC_STANDARD) dnl =================================================================== dnl Set the ENABLE_DEBUG variable. (Activate --enable-symbols) dnl =================================================================== if test -n "$enable_debug"; then ENABLE_DEBUG="TRUE" if test -z "$enable_symbols"; then enable_symbols="yes" fi else ENABLE_DEBUG="FALSE" fi AC_SUBST(ENABLE_DEBUG) dnl =================================================================== dnl First setting is whether to include symbols into final build. dnl =================================================================== if test -n "$enable_symbols" ; then if test "$enable_symbols" = "yes" -o "$enable_symbols" = "TRUE"; then ENABLE_SYMBOLS="TRUE" else if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then ENABLE_SYMBOLS="SMALL" else if test "$enable_symbols" != "no" ; then echo enable symbols is: $enable_symbols AC_MSG_ERROR([--enable-symbols only accepts yes, TRUE or SMALL as parameter.]) fi fi fi fi AC_SUBST(ENABLE_SYMBOLS) dnl =================================================================== dnl Disable rpath in shared libraries? dnl =================================================================== if test "$enable_rpath" = "no"; then ENABLE_RPATH="no" else ENABLE_RPATH="yes" fi AC_SUBST(ENABLE_RPATH) dnl =================================================================== dnl WINNT uses either 4nt or tcsh, all other O/S use tcsh. dnl The following sets the with_use_shell variable. dnl =================================================================== if test $_os = "WINNT" -a $CygwinVer = "true"; then if test "$with_use_shell" = "0"; then with_use_shell="4nt" fi if test `uname -r | $AWK -F. '{ print $1$2 }'` -ge "13"; then CygwinVer="1" dnl =================================================================== dnl Sanity check! Native windows programs cannot use cygwin symlinks! dnl =================================================================== dnl As long as awk instead of $AWK is used somewhere in the sources, dnl check for $AWK and awk. $AWK is pointing to gawk in cygwin. if test -L $AWK -o -L `which awk` -o -L `which tar` -o -L `which gunzip` ; then AC_MSG_ERROR([$AWK, awk, tar or gunzip is a cygwin symlink! Native windows programs cannot use cygwin symlinks. Remove the symbolic link, and copy the program to the name of the link.]) fi dnl =================================================================== dnl If $CC is set to a MinGW compiler, e.g. "gcc -mno-cygwin" enable dnl $WITH_MINGWIN dnl =================================================================== if test -n "$CC";then if test `$CC -dumpmachine | $AWK -F- '{ print $3 }'` = "mingw32"; then WITH_MINGWIN="yes" fi fi else CygwinVer="b" fi if test "$with_use_shell" != "4nt" -a "$CygwinVer" != "1"; then AC_MSG_ERROR([install Cygwin V1.3.x and tcsh if you don't use 4NT]) fi dnl =================================================================== dnl If using Mingwin32 then don't use 4NT dnl =================================================================== if test "$WITH_MINGWIN" = "yes"; then with_use_shell="tcsh" if test -z "$CC"; then CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" fi fi else if test "$_os" = "WINNT"; then with_use_shell="4nt" else dnl =================================================================== dnl All other operating systems use tcsh. dnl =================================================================== if test "$with_use_shell" = "0"; then with_use_shell="tcsh" fi fi fi USE_SHELL="$with_use_shell" AC_SUBST(USE_SHELL) _machine_type=`uname -m` dnl =================================================================== dnl check whether we're using solaris 6,7,8 - sparc or intel. dnl =================================================================== if test "$_os" = "SunOS"; then AC_MSG_CHECKING([the solaris operating system release]) _os_release=`uname -r | $AWK -F. '{ print $2 }'` if test "$_os_release" != "9" -a "$_os_release" != "8" -a "$_os_release" != "7" -a "$_os_release" != "6"; then AC_MSG_ERROR([use solaris 6, 7, 8 or 9 to build OpenOffice.org]) else AC_MSG_RESULT([ok ($_os_release)]) fi dnl check whether we're using a sparc or i386 processor AC_MSG_CHECKING([the processor type]) _processor=`uname -p` if test "$_processor" = "sparc" -o "$_processor" = "i386" then AC_MSG_RESULT([ok ($_processor)]) else AC_MSG_ERROR([only sparc and i386 processors are supported]) fi fi dnl =================================================================== dnl Checks for c compiler, dnl The check for the c++ compiler is later on. dnl =================================================================== if test -n "$with_gcc_home"; then if test -z "$CC"; then CC="$with_gcc_home/bin/gcc" fi fi dnl The following checks for gcc, cc and then cl (if it weren't guarded for win32) if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then AC_PROG_CC fi COMPATH=`dirname "$CC"` if test "$COMPATH" = "." ; then AC_PATH_PROGS(COMPATH, $CC) dnl double square bracket to get single because of M4 quote... COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`; fi dnl =================================================================== dnl Test the gcc version, 3 is OK dnl =================================================================== if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then AC_MSG_CHECKING([the GNU gcc compiler version]) _gcc_version=`$CC -dumpversion` _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'` _gcc_longver=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_gcc_major" = "3"; then USE_GCC3="TRUE" if test "$_gcc_longver" -eq "030203"; then if test "$ENABLE_SYMBOLS" -eq "SMALL"; then AC_MSG_ERROR([version "$_gcc_version" gives internal error with small.]) fi fi else AC_MSG_ERROR([found version "$_gcc_version", use version 3+ of the gcc compiler]) fi AC_MSG_RESULT([checked (gcc $_gcc_version)]) fi AC_SUBST(USE_GCC3) dnl =================================================================== dnl Search all the common names for GNU make dnl =================================================================== AC_MSG_CHECKING([the GNU make version]) for a in "$MAKE" $GNUMAKE make gmake gnumake ; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0 ; then GNUMAKE=$a ; break; fi done ; dnl Change empty GNUMAKE from warning to error, pending testing. if test -z "$GNUMAKE"; then AC_MSG_WARN([not found build may fail]) echo "gnu make not found build may fail" >> warn else _make_version=`$GNUMAKE --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_make_longver" -ge "037901" ; then AC_MSG_RESULT([checked ($GNUMAKE $_make_version)]) else if test "$_os" = "Darwin"; then if test "$_make_longver" -ge "037900" ; then AC_MSG_RESULT([checked ($GNUMAKE $_make_version)]) else AC_MSG_WARN([failed ($GNUMAKE $_make_version need 3.79.0+)]) fi else AC_MSG_ERROR([failed ($GNUMAKE $_make_version need 3.79.1+)]) fi fi fi AC_SUBST(GNUMAKE) dnl =================================================================== dnl Test the solaris compiler version dnl =================================================================== if test "$_os" = "SunOS"; then if test "$CC" = "cc"; then AC_PATH_PROGS(_cc, cc) COMPATH=`echo $_cc | $SED -n "s/\/cc//p"` AC_MSG_CHECKING([the SUN Workshop C compiler version]) dnl cc -V outputs to standard error!!!! _workshop_version=`$CC -V 2>&1 | $AWK '/^cc/ { print $7 }'` if test "$_workshop_version" = "C"; then _workshop_version=`$CC -V 2>&1 | $AWK '/^cc/ { print $8 }'` fi _workshop_major=`echo $_workshop_version | $AWK -F. '{ print $1 }'` if test "$_workshop_major" != "5"; then AC_MSG_ERROR([found version "$_workshop_version", use version 5.0 or 5.2 of the Sun Workshop C compiler]) else _workshop_minor=`echo $_workshop_version | $AWK -F. '{ if ($2 == 0) print "true"; else if ($2 == 2) print "true"; else print "false" }'` if test "$_workshop_minor" = "false"; then AC_MSG_ERROR([found version "$_workshop_version", use version 5.0 or 5.2 of the Sun Workshop C compiler]) else dnl compiler will do AC_MSG_RESULT([checked]) fi fi fi fi dnl =================================================================== dnl Test the IRIX SGI Mips pro compiler dnl =================================================================== if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then if test "$CC" = "cc"; then AC_PATH_PROGS(_cc, cc) COMPATH=`echo $_cc | $SED -n "s/\/cc//p"` AC_MSG_CHECKING([the SGI MIPSpro C compiler version]) dnl cc -version outputs to standard error!!!! _mipspro_version=`$CC -version 2>&1 | $AWK '{ print $4 }'` _mipspro_major=`echo $_mipspro_version | $AWK -F. '{ print $1 }'` if test "$_mipspro_major" != "7"; then AC_MSG_ERROR([found version "$_mipspro_version", use version 7.2+ of the SGI MIPSpro C compiler]) else _mipspro_minor=`echo $_mipspro_version | $AWK -F. '{ if ($2 <= 1) print "false"; else print "true" }'` if test "$_mipspro_minor" = "false"; then AC_MSG_ERROR([found version "$_mipspro_version", use version 7.2+ of the SGI MIPSpro C compiler]) else dnl compiler will do AC_MSG_RESULT([checked]) fi fi fi fi dnl =================================================================== dnl Test the Compaq compiler for OSF1 dnl =================================================================== if test "$_os" = "OSF1"; then if test "$CC" = "cc"; then AC_PATH_PROGS(_cc, cc) COMPATH=`echo $_cc | $SED -n "s/\/cc//p"` AC_MSG_WARN([******* $_cc , $COMPATH]) AC_MSG_CHECKING([the Compaq C compiler version]) dnl cc -V outputs to standard error!!!! _compaqc_version=`$CC -V 2>&1 | $AWK '{ print $3 }'` _compaqc_major=`echo $_compaqc_version | $AWK -F. '{ print $1 }'` if test "$_compaqc_major" != "T6"; then AC_MSG_ERROR([found version "$_compaqc_version", use version 6 of the Compaq C compiler]) else dnl compiler will do AC_MSG_RESULT([checked]) fi fi fi dnl =================================================================== dnl Check which Microsoft C/C++ or MinGW compiler is used for WINNT dnl =================================================================== if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" != "yes"; then AC_MSG_CHECKING([the Microsoft C/C++ Compiler]) dnl =========================================================== dnl Check for mspdb?0.dll dnl =========================================================== dnl .NET Compiler? AC_PATH_PROG(MSPDB_PATH, mspdb70.dll) if test -n "$MSPDB_PATH";then MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -e "$with_mspdb_path/mspdb70.dll"; then MSPDB_PATH="$with_mspdb_path" fi if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb70.dll"; then MSPDB_PATH="$with_cl_home/../Common7/IDE" fi if test -z "$MSPDB_PATH"; then dnl MSVC 6 Compiler? AC_PATH_PROG(MSPDB_PATH, mspdb60.dll) if test -n "$MSPDB_PATH";then MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -e "$with_mspdb_path/mspdb60.dll"; then MSPDB_PATH="$with_mspdb_path" fi if test -z "$MSPDB_PATH"; then dnl Check for .Net 2003 Compiler AC_PATH_PROG(MSPDB_PATH, mspdb71.dll) if test -n "$MSPDB_PATH";then MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -e "$with_mspdb_path/mspdb71.dll"; then MSPDB_PATH="$with_mspdb_path" fi if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb71.dll"; then MSPDB_PATH="$with_cl_home/../Common7/IDE" fi fi if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common/msdev98/mspdb60.dll"; then MSPDB_PATH="$with_cl_home/../Common/msdev98" fi fi if test -z "$MSPDB_PATH"; then AC_MSG_ERROR([You need a mspdb?0.dll, make sure it's in the path or use --with-mspdb-path]) fi MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -u "$MSPDB_PATH"` PATH="$MSPDB_PATH:$PATH" if test -x "$with_cl_home/bin/cl.exe"; then CC="$with_cl_home/bin/cl.exe" else AC_PATH_PROG(CC, cl.exe) fi if test -e "$CC"; then # Don't use filenames with spaces AND the old cygwin b20 if test "$CygwinVer" = "1"; then # This gives us a posix path with 8.3 filename restrictions CC=`cygpath -d "$CC"` CC=`cygpath -u "$CC"` fi # Remove /cl.exe from CC case insensitive COMPATH=`echo $CC | $SED 's@/[[cC]][[lL]\.[eE]][[xX]][[eE]]@@'` # Please set INCLUDE in your environement if you use the old cygwin b20 if test "$CygwinVer" = "1"; then export INCLUDE=`cygpath -d "$COMPATH/../Include"` fi AC_MSG_RESULT([found.]) dnl Check which Microsoft C/C++ compiler is found AC_MSG_CHECKING([the Version of Microsoft C/C++ Compiler]) CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft.*..\\...\\...../ { x = match( \\\$0, /..\\...\\...../ ) CCversion = substr( \\\$0, RSTART, RLENGTH) tokencount = split (CCversion,vertoken,\".\") for ( i = 1 ; i <= tokencount ; i++ ) { printf (\"%04d\",vertoken[[i]] ) } }"` AC_MSG_RESULT([found Compiler version $CCNUMVER.]) if test $CCNUMVER -ge "001300103077"; then COMEX=10 else if test $CCNUMVER -ge "001300000000"; then COMEX=8 else if test $CCNUMVER -ge "001200000000"; then if test "$with_old_psdk" != "yes"; then COMEX=9 else COMEX=7 fi else AC_MSG_ERROR([Compiler too old.]) fi fi fi else AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.]) fi else AC_MSG_CHECKING([the Mingwin32 C++ Compiler]) if test `$CC -dumpmachine | $AWK -F- '{ print $3 }'` = "mingw32"; then AC_MSG_RESULT([found.]) else AC_MSG_ERROR([Mingwin32 C++ Compiler not found.]) fi fi fi AC_SUBST(COMEX) AC_SUBST(MSPDB_PATH) dnl =================================================================== dnl .NET needs special treatment dnl =================================================================== if test "$COMEX" = "8" -o "$COMEX" = "10"; then dnl Check midl.exe AC_PATH_PROG(MIDL_PATH, midl.exe) if test -n "$MIDL_PATH";then MIDL_PATH=`dirname "$MIDL_PATH"` fi if test -x "$with_midl_path/midl.exe"; then MIDL_PATH="$with_midl_path" fi if test -z "$MIDL_PATH" -a -e "$with_cl_home/../Common7/Tools/Bin/midl.exe"; then MIDL_PATH="$with_cl_home/../Common7/Tools/Bin" fi if test ! -x "$MIDL_PATH/midl.exe"; then AC_MSG_ERROR([midl.exe not found. Make sure it's in the path or use --with-midl-path]) fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) MIDL_PATH=`cygpath -d "$MIDL_PATH"` MIDL_PATH=`cygpath -u "$MIDL_PATH"` dnl Check csc.exe AC_PATH_PROG(CSC_PATH, csc.exe) if test -n "$CSC_PATH";then CSC_PATH=`dirname "$CSC_PATH"` fi if test -x "$with_csc_path/csc.exe"; then CSC_PATH="$with_csc_path" fi if test ! -x "$CSC_PATH/csc.exe"; then AC_MSG_ERROR([csc.exe not found. Make sure it's in the path or use --with-csc-path]) fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) CSC_PATH=`cygpath -d "$CSC_PATH"` CSC_PATH=`cygpath -u "$CSC_PATH"` dnl Check mscoree.lib / .NET Frameworks dir if test -f "$with_frame_home/lib/mscoree.lib"; then FRAME_HOME="$with_frame_home" fi if test -z "$FRAME_HOME" -a -e "$with_cl_home/../FrameworkSDK/lib/mscoree.lib"; then FRAME_HOME="$with_cl_home/../FrameworkSDK" fi if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then AC_MSG_ERROR([mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home]) fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) FRAME_HOME=`cygpath -d "$FRAME_HOME"` FRAME_HOME=`cygpath -u "$FRAME_HOME"` dnl Check wdevenv.exe AC_PATH_PROG(WDEVENV_PATH, wdevenv.exe) if test -n "$WDEVENV_PATH"; then WDEVENV_PATH=`dirname "$WDEVENV_PATH"` fi if test -x "$with_wdevenv_path/wdevenv.exe"; then WDEVENV_PATH="$with_wdevenv_path" fi if test ! -x "$WDEVENV_PATH/wdevenv.exe"; then AC_MSG_ERROR([wdevenv.exe not found. Make sure it's in the path or use --with-wdevenv-path]) fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) WDEVENV_PATH=`cygpath -d "$WDEVENV_PATH"` WDEVENV_PATH=`cygpath -u "$WDEVENV_PATH"` fi AC_SUBST(MIDL_PATH) AC_SUBST(CSC_PATH) AC_SUBST(FRAME_HOME) AC_SUBST(WDEVENV_PATH) dnl =================================================================== dnl Check if stdc headers are available excluding windows. dnl =================================================================== if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then AC_HEADER_STDC fi dnl =================================================================== dnl Check if pam-appl.h is available on Linux or FreeBSD dnl =================================================================== if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then AC_CHECK_HEADER(security/pam_appl.h, [], [AC_MSG_ERROR([pam_appl.h could not be found. libpam-dev or pam-devel missing?])], []) fi dnl =================================================================== dnl Testing for c++ compiler and version... dnl =================================================================== if test -n "$with_gcc_home"; then if test -z "$CXX"; then CXX="$with_gcc_home/bin/g++" fi fi if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then if test -e "$CC"; then CXX="$CC" fi fi dnl Autoconf 2.53 can do this test for cl.exe, 2.13 can't! if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then AC_PROG_CXX fi dnl =================================================================== dnl Set the gcc/gxx include directories dnl =================================================================== # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path # often contains an i386 which is expanded as a macro. Solved in stlport. if test "$GXX" = "yes" -a -z "$with_gxx_include_path"; then with_gxx_include_path=`echo "#include " | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1` if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then with_gxx_include_path="/usr/include" fi dnl This is the original code... dnl with_gxx_include_path=`$CXX -print-search-dirs | grep instal |$AWK '{ print \$2 }'`/include fi if test -z "$with_gxx_include_path"; then with_gxx_include_path="NO_GXX_INCLUDE" fi GXX_INCLUDE_PATH="$with_gxx_include_path" AC_SUBST(GXX_INCLUDE_PATH) dnl =================================================================== dnl Extra checking for the SUN OS compiler dnl =================================================================== if test "$_os" = "SunOS"; then dnl Workshop C++ compiler packaged with Workshop C compiler if test "$CC" = "cc"; then AC_MSG_CHECKING([Sun Workshop C++ Compiler]) if test "$CXX" != "CC"; then AC_MSG_WARN([Sun Workshop C++ was not found]) echo "Sun Workshop C++ was not found" >> warn else AC_MSG_RESULT([checked]) fi fi fi dnl =================================================================== dnl Extra checking for the DARWIN compiler dnl =================================================================== if test "$_os" = "Darwin"; then dnl c++ packaged with cc (gcc) for Macosx if test "$CC" = "cc"; then AC_MSG_CHECKING([Macosx c++ Compiler]) if test "$CXX" != "c++"; then AC_MSG_WARN([Macosx C++ was not found]) echo "Macosx C++ was not found" >> warn else AC_MSG_RESULT([checked]) fi fi fi dnl =================================================================== dnl Extra checking for the IRIX compiler dnl =================================================================== if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then dnl MIPSpro C++ compiler packaged with MIPSpro C compiler if test "$CC" = "cc"; then AC_MSG_CHECKING([SGI MIPSpro C++ Compiler]) if test "$CXX" != "CC"; then AC_MSG_WARN([SGI MIPSpro C++ was not found]) echo "SGI MIPSpro C++ was not found" >> warn else AC_MSG_RESULT([checked]) fi fi fi dnl =================================================================== dnl Extra checking for the OSF compiler dnl =================================================================== if test "$_os" = "OSF1"; then AC_MSG_CHECKING([Compaq C++ compiler version]) dnl cxx -V outputs to standard error!!!! _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'` _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'` if test "$_compaqcxx_major" != "V6"; then AC_MSG_WARN([found version "$_compaqc_version", use version 6 of the Compaq C++ compiler]) echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn else dnl compiler will do AC_MSG_RESULT([checked]) fi fi dnl ************************************************************* dnl Testing for exception handling - dwarf2 or sjlj exceptions... dnl ************************************************************* AC_MSG_CHECKING([try to compile exception code]) AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_CACHE_VAL(exceptions_type, [AC_TRY_LINK( [#include extern "C" void __sjthrow(void) __attribute__ ((__noreturn__)); ], [__sjthrow() ], [exceptions_type="sjlj"], [exceptions_type="dwarf2"]) ]) AC_MSG_RESULT(Exceptions type: $exceptions_type) AC_LANG_RESTORE EXCEPTIONS="$exceptions_type" AC_SUBST(EXCEPTIONS) dnl ************************************************************** dnl Testing for required Solaris and workshop compiler patches... dnl ************************************************************** dnl Check whether the OS is SunOS. if test "$_os" = "SunOS"; then _temp=`showrev -p | $AWK -F" " '{ print $2 }'` if test "$_os_release" = "7"; then dnl *************** dnl patch 106327-06 dnl *************** AC_MSG_CHECKING([for patch 106327-06 or greater]) _patch=`echo $_temp | $AWK '/106327-06/ { print "found" }'` _patch="false" for i in $_temp do _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'` if test "$_patch_major" = "106327"; then _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'` if test "$_patch_rev" -ge "6"; then _patch="found" fi fi done if test "$_patch" = "found"; then AC_MSG_RESULT([found]) else AC_MSG_WARN([patch 106327-06 not found, please install compiler patch 106327-06 or greater]) echo "patch 106327-06 not found, please install compiler patch 106327-06 or greater" >> warn fi dnl *************** dnl patch 106950-11 dnl *************** AC_MSG_CHECKING([for patch 106950-11 or greater]) _patch=`echo $_temp | $AWK '/106950-11/ { print "found" }'` _patch="false" for i in $_temp do _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'` if test "$_patch_major" = "106950"; then _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'` if test "$_patch_rev" -ge "11"; then _patch="found" fi fi done if test "$_patch" = "found"; then AC_MSG_RESULT([found]) else AC_MSG_WARN([patch 106950-11 not found, please install linker patch 106950-11 or greater]) echo "patch 106950-11 not found, please install linker patch 106950-11 or greater" >> warn fi else if test "$_os_release" = "6"; then dnl *************** dnl patch 105591-09 dnl *************** AC_MSG_CHECKING([for patch 105591-09 or greater]) _patch=`echo $_temp | $AWK '/105591-09/ { print "found" }'` _patch="false" for i in $_temp do _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'` if test "$_patch_major" = "105591"; then _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'` if test "$_patch_rev" -ge "9"; then _patch="found" fi fi done if test "$_patch" = "found"; then AC_MSG_RESULT([found]) else AC_MSG_WARN([patch 105591-09 not found, please install compiler patch 105591-09 or greater]) echo "patch 105591-09 not found, please install compiler patch 105591-09 or greater" >> warn fi dnl *************** dnl patch 107733-08 dnl *************** AC_MSG_CHECKING([for patch 107733-08 or greater]) _patch=`echo $_temp | $AWK '/107733-08/ { print "found" }'` _patch="false" for i in $_temp do _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'` if test "$_patch_major" = "107733"; then _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'` if test "$_patch_rev" -ge "8"; then _patch="found" fi fi done if test "$_patch" = "found"; then AC_MSG_RESULT([found]) else AC_MSG_WARN([patch 107733-06 not found, please install linker patch 107733-08 or greater]) echo "patch 107733-06 not found, please install linker patch 107733-08 or greater" >> warn fi fi fi fi dnl =================================================================== dnl When using Sun Workshop compiler, there is a bug with the cc dnl preprocessor, so use CC preprocessor for the following tests. dnl See Issuezilla #445. dnl =================================================================== if test "$_os" = "SunOS"; then AC_LANG_CPLUSPLUS AC_TRY_CPP("", , ) fi dnl =================================================================== dnl Checks for SGI STL dnl =================================================================== if test -n "$enable_sgistl"; then if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then AC_MSG_CHECKING([for SGI STL]) if test -d /usr/include/CC ; then AC_MSG_RESULT([yes.]) else AC_MSG_RESULT([not found.]) fi else AC_MSG_ERROR([Option --enable-sgistl is only valid for IRIX]) fi else dnl =================================================================== dnl Checks for STLPORT4 dnl =================================================================== AC_MSG_CHECKING([for STLport4 headers]) if test -d "$with_stlport4_home"; then STLPORT4=$with_stlport4_home if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then AC_TRY_CPP($STLPORT4/stlport/hash_map, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([STLport4 headers not found.])) else dnl AC_TRY_CPP doesn't work for MSVC because C++ preprocessor is not found by autoconf. if test -f "$STLPORT4/stlport/hash_map"; then AC_MSG_RESULT([checked.]) else AC_MSG_ERROR([STLport4 headers not found.]) fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then AC_MSG_CHECKING([for STLport4 libraries]) if test "$_os" = "SunOS"; then if test -f "$STLPORT4/lib/libstlport_sunpro.so"; then AC_MSG_RESULT([checked]) else AC_MSG_ERROR([STLport4 libraries not found]) fi elif test "$_os" = "Darwin"; then if test -f "$STLPORT4/lib/libstlport_gcc.dylib"; then AC_MSG_RESULT([checked]) else AC_MSG_ERROR([STLport4 libraries not found]) fi elif test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then if test -f "$STLPORT4/lib/libstlport_mipspro_41.so"; then AC_MSG_RESULT([checked]) else if test -f "$STLPORT4/lib/libstlport_gcc.so"; then AC_MSG_RESULT([checked]) else AC_MSG_ERROR([STLport4 libraries not found]) fi fi else if test -f "$STLPORT4/lib/libstlport_gcc.so"; then AC_MSG_RESULT([checked]) else AC_MSG_ERROR([STLport4 libraries not found]) fi fi fi else AC_MSG_RESULT([using internal stlport.]) fi fi if test -z "$STLPORT4"; then STLPORT4="NO_STLPORT4" fi AC_SUBST(STLPORT4) dnl =================================================================== dnl Java support enable dnl =================================================================== AC_MSG_CHECKING([whether to build with Java support]) if test "$enable_java" != "no"; then AC_MSG_RESULT([yes]) SOLAR_JAVA="TRUE" else AC_MSG_RESULT([no]) SOLAR_JAVA="" fi AC_SUBST(SOLAR_JAVA) dnl =================================================================== dnl Checks for JDK. dnl =================================================================== if test "$enable_java" != "no"; then JAVA_HOME=; export JAVA_HOME if test -z "$with_jdk_home"; then AC_PATH_PROG(JAVAC, javac) AC_PATH_PROG(JAVA, java) else _javac_path="$with_jdk_home/bin/javac" dnl Check if there is a java compiler at all. if test -x "$_javac_path"; then JAVAC=$_javac_path else AC_MSG_ERROR([$_javac_path not found set with_jdk_home]) fi _java_path="$with_jdk_home/bin/java" dnl Check if there is a java interpreter at all. if test -x "$_java_path"; then JAVA=$_java_path else AC_MSG_ERROR([$_java_path not found set with_jdk_home]) fi fi AC_MSG_CHECKING([the installed JDK]) if test "$JAVA"; then dnl java -version sends output to stderr! if test `$JAVA -version 2>&1 | grep -c "Kaffe"` -gt 0; then dnl Kaffe specific tests KAFFE_VER=`$JAVA -version 2>&1 | $EGREP " Version:" | $SED -r "s/.* Version: ([[0-9\.]]*).*/\1/"` if test -z "$KAFFE_VER"; then AC_MSG_ERROR([looks like Kaffe but version detection failed]) fi _kaffe_ver=`echo "$KAFFE_VER" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_kaffe_ver" -lt 10100; then AC_MSG_ERROR([Kaffe is too old ($KAFFE_VER - $_kaffe_ver), you need at least 1.1.0]) fi JDK=kaffe dnl TODO: define some project exclusion variables AC_MSG_RESULT([checked (Kaffe $KAFFE_VER)]) AC_MSG_WARN([EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile]) echo "EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile" >>warn else dnl SUN JDK specific tests _jdk=`$JAVAC -J-version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//` _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10300; then AC_MSG_ERROR([JDK is too old, you need at least 1.3]) fi AC_MSG_RESULT([checked (JDK $_jdk)]) fi JAVA_HOME=`echo $JAVAC | $SED -n "s,//*bin//*javac,,p"` else AC_MSG_ERROR([JAVA not found. You need at least jdk-1.3]) fi dnl xsltproc not needed with JDK present. XSLTPROC=NO_XSLTPROC else dnl Java disabled JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME dnl Check for xsltproc AC_PATH_PROG(XSLTPROC, xsltproc, no) if test "$XSLTPROC" = "no"; then AC_MSG_ERROR([xsltproc is required when building with --disable-java.]) fi fi AC_SUBST(JAVA_HOME) AC_SUBST(JDK) AC_SUBST(XSLTPROC) dnl =================================================================== dnl Checks for specific files. dnl =================================================================== dnl =================================================================== dnl Checks for programs. dnl =================================================================== dnl Check whether there's a C pre-processor. if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "NetBSD" ; then AC_PROG_CPP fi dnl Check whether there's a C++ pre-processor. if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "NetBSD" ; then AC_PROG_CXXCPP fi dnl =================================================================== dnl Check whether xmkmf program can be used, x systems only dnl =================================================================== if test "$test_x" = "yes"; then AC_PATH_PROGS(XMKMF, xmkmf) if test -z "$XMKMF"; then AC_MSG_ERROR([install xmkmf to run this script, include openwin in path]) fi fi dnl =================================================================== dnl Check whether there's a Perl version available. dnl =================================================================== if test -z "$with_perl_home"; then AC_PATH_PROG(PERL, perl) else _perl_path="$with_perl_home/bin/perl" if test -x "$_perl_path"; then PERL=$_perl_path else AC_MSG_ERROR([$_perl_path not found]) fi fi dnl =================================================================== dnl Testing for Perl version 5 or greater. dnl $] is the perl version variable, it is returned as an integer dnl =================================================================== if test "$PERL"; then AC_MSG_CHECKING([the Perl version]) ${PERL} -e "exit($]);" _perl_version=$? if test "$_perl_version" -lt 5; then AC_MSG_ERROR([found Perl version "$_perl_version", use version 5 of Perl]) fi AC_MSG_RESULT([checked (perl $_perl_version)]) else AC_MSG_ERROR([Perl not found, install version 5 of Perl]) fi AC_SUBST(PERL) dnl =================================================================== dnl Check whether the tcsh can be used. dnl =================================================================== if test "$_os" != "WINNT" -o "$with_use_shell" != "4nt"; then AC_PATH_PROG(TCSH, tcsh) if test -z "$TCSH"; then AC_MSG_ERROR([tcsh not found in \$PATH]) else TCSH=`echo $TCSH | $SED -n "s/\/tcsh//p"` fi else AC_MSG_WARN([Windows 4NT builds don't need tcsh]) TCSH="NO_TCSH_NEEDED" fi AC_SUBST(TCSH) dnl =================================================================== dnl Check whether we already have dmake dnl =================================================================== AC_PATH_PROG(DMAKE, dmake, no) if test "$DMAKE" = "no"; then BUILD_DMAKE=YES else AC_MSG_CHECKING([whether the found dmake is the right dmake]) # we need to find out whether that dmake we found is "our" dmake # or the dmake from Sun's Workshop Compiler which is something # different # This test _should_ work because the one accepts -V (ours) and one # (the other) not... dmake -V 2>/dev/null | grep 'dmake .* Version 4.*, PL ' >/dev/null if test $? -eq 0; then BUILD_DMAKE=NO AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) BUILD_DMAKE=YES fi fi AC_SUBST(BUILD_DMAKE) dnl =================================================================== dnl Check for system zlib dnl =================================================================== AC_MSG_CHECKING([which zlib to use]) if test -n "$with_system_zlib"; then AC_MSG_RESULT([external]) SYSTEM_ZLIB=YES AC_MSG_CHECKING([for zlib.h]) AC_TRY_COMPILE([#include "zlib.h"], [], [AC_MSG_RESULT(found)], [AC_MSG_ERROR(zlib not found. install zlib)]) else AC_MSG_RESULT([internal]) SYSTEM_ZLIB=NO fi AC_SUBST(SYSTEM_ZLIB) dnl =================================================================== dnl Check whether the gtk 2.0 libraries are available. dnl =================================================================== if test -n "$ENABLE_CRASHDUMP" ; then if test "$test_gtk" = "yes"; then pkg_modules="gtk+-2.0 >= 1.3.13" PKG_CHECK_MODULES( GTK, [$pkg_modules] ) fi fi dnl =================================================================== dnl Checks for libraries. dnl =================================================================== dnl Check for Mac OS X native GUI, which may be used instead of X11. dnl Check for a lack of --with-x option on Darwin. If it is missing, look to dnl see if we have the AppKit framework for building with Quartz graphics. if test "$_os" = "Darwin" -a "x$with_x" != "xyes" -a "x$x_includes" = "xNONE" -a "x$x_libraries" = "xNONE"; then dnl System is either Mac OS X or pure Darwin, and --with-x was not specified dnl Default to Aqua graphics if available. AC_MSG_CHECKING([for /System/Library/Frameworks/AppKit.framework]) if test -d "/System/Library/Frameworks/AppKit.framework/"; then AC_MSG_RESULT([yes]) x_includes="no_x_includes" x_libraries="no_x_libraries" else AC_MSG_RESULT([no]) dnl Probably a pure Darwin system. Check for X11 below. fi fi dnl *************************************** dnl testing for X libraries and includes... dnl *************************************** if test "$_os" = "Darwin" -a "x$x_includes" = "xno_x_includes"; then echo "Do Nothing for _os = Darwin and x_includes = no_x_includes" dnl Mac OS X using Aqua graphics. Don't check for X11. : elif test "$_os" != "WINNT" ; then AC_PATH_X AC_PATH_XTRA AC_CHECK_HEADERS(X11/Xaw/Label.h,[AC_MSG_RESULT([Ok])],[AC_MSG_ERROR([Xaw include headers not found])]) if test "x$x_includes" = "x"; then x_includes="/usr/include" fi if test "x$x_libraries" = "x"; then x_libraries="/usr/lib" fi dnl The variables $x_libraries and $x_includes are set. if test -z "$x_libraries"; then AC_MSG_ERROR([No X libraries found]) # Exit fi if test -z "$x_includes"; then AC_MSG_ERROR([No X includes found]) # Exit fi CFLAGS=$X_CFLAGS LDFLAGS="$X_LDFLAGS $X_LIBS" AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])]) else x_includes="no_x_includes" x_libraries="no_x_libraries" fi if test -z "$x_includes"; then x_includes="no_x_includes" fi if test -z "$x_libraries"; then x_libraries="no_x_libraries" fi XINC="$x_includes" AC_SUBST(XINC) XLIB="$x_libraries" AC_SUBST(XLIB) dnl *************************************** dnl testing libc version for Linux... dnl *************************************** if test "$_os" = "Linux"; then AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC) AC_MSG_CHECKING([the installed libc is at least version 2.1.1]) if test "$HAVE_LIBC"; then AC_MSG_RESULT([checked]) else AC_MSG_ERROR([libc is less than version 2.1.1, upgrade libc]) fi fi dnl ========================================= dnl Check for the Microsoft Platform SDK. dnl ========================================= dnl FIXME: I don't know yet if PSDK works with MinGW, keep it until I know better, dnl and add "-a \( "$WITH_MINGWIN" != "yes" \)" then if test \( "$_os" = "WINNT" \) ; then AC_MSG_CHECKING([PSDK files]) if test -z "$with_psdk_home"; then # This line will work with cygwin 1.3.? and newer, for older versions # cat will output nothing, therefore PSDK_HOME will be empty. PSDK_HOME=`cat "/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/Directories/Install Dir"` else PSDK_HOME="$with_psdk_home" fi if test \( -f "$PSDK_HOME/Include/AdoCtint.h" \) \ -a \( -f "$PSDK_HOME/Include/SqlUcode.h" \) \ -a \( -f "$PSDK_HOME/Include/usp10.h" \); then HAVE_PSDK_H="yes" else HAVE_PSDK_H="no" fi if test -f "$PSDK_HOME/lib/unicows.lib"; then HAVE_PSDK_LIB="yes" else HAVE_PSDK_LIB="no" fi if test "$HAVE_PSDK_H" = "yes" -a "$HAVE_PSDK_LIB" = "yes"; then AC_MSG_RESULT([PSDK files found]) else AC_MSG_ERROR([PSDK files not found, please use --with-psdk-home .]) fi fi AC_SUBST(PSDK_HOME) dnl *************************************** dnl testing bison and flex exist dnl *************************************** AC_PATH_PROG(BISON, bison) if test -z "$BISON"; then AC_MSG_ERROR([no bison found in \$PATH, install bison]) fi AC_PATH_PROG(FLEX, flex) if test -z "$FLEX"; then AC_MSG_ERROR([no flex found in \$PATH, install flex]) fi dnl *************************************** dnl testing that patch exists dnl *************************************** AC_PATH_PROG(PATCH, patch) if test -z "$PATCH"; then AC_MSG_ERROR([\"patch\" not found in \$PATH, install the development tool named\"patch"\]) fi dnl On Solaris or FreeBSD, check if --with-gnu-patch was used if test "$_os" = "SunOS" -o "$_os" = "FreeBSD"; then if test -z "$with_gnu_patch"; then GNUPATCH=$PATCH else if test -x "$with_gnu_patch"; then GNUPATCH=$with_gnu_patch else AC_MSG_ERROR([--with-gnu-patch did not point to an executable]) fi fi dnl We also need to check for --with-gnu-cp if test -z "$with_gnu_cp"; then GNUCP=gnucp else if test -x "$with_gnu_cp"; then GNUCP=$with_gnu_cp else AC_MSG_ERROR([--with-gnu-cp did not point to an executable]) fi fi fi AC_SUBST(GNUPATCH) AC_SUBST(GNUCP) dnl *************************************** dnl testing bash tools path on Windows dnl *************************************** if test "$_os" = "WINNT"; then AC_PATH_PROG(CYGWIN, bash) CYGWIN=`dirname "$CYGWIN"` fi if test -z "$CYGWIN"; then CYGWIN="NO_CYGWIN" fi AC_SUBST(CYGWIN) dnl *************************************** dnl testing ml.exe assembler path dnl *************************************** if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then if test ! -x "$with_asm_home/ml.exe"; then AC_PATH_PROG(ML_EXE, ml.exe) if test -z "$ML_EXE"; then AC_MSG_ERROR([Configure did not find ml.exe assembler.]) else with_asm_home="ASM_IN_PATH" fi fi else with_asm_home="NO_ASM_HOME" fi ASM_HOME="$with_asm_home" AC_SUBST(ASM_HOME) dnl =================================================================== dnl testing handle deprecated unzip switch dnl =================================================================== if test -z "$with_zip_home"; then with_zip_home="$with_unzip_home" fi dnl =================================================================== dnl Zip will be found where you tell me to find it dnl =================================================================== if test -n "$with_zip_home" ; then ZIP="$with_zip_home/zip" ZIP_HOME="$with_zip_home" else ZIP_HOME="ZIP_IN_PATH" fi dnl =================================================================== dnl Zip must be available or else it is an error, all platforms dnl =================================================================== AC_PATH_PROG(ZIP, zip) if test -z "$ZIP"; then AC_MSG_ERROR([Zip is required to build, please install or use --with-zip-home],,) fi dnl =================================================================== dnl Zip must be a specific type for different build types. dnl =================================================================== if test "$_os" = "WINNT"; then if test "$with_use_shell" = "4nt" ; then if test -z "`$ZIP -h | grep -i WinNT`" ; then AC_MSG_ERROR([$ZIP found in the path is not the required native Windows Version 2.3 of Info-ZIPs zip.exe. Probably there is a cygwin version in the path.]) fi else if test -n "`$ZIP -h | grep -i WinNT`" ; then AC_MSG_ERROR([$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe.]) fi fi fi AC_SUBST(ZIP_HOME) dnl =================================================================== dnl Windows builds need unicows.dll in external/unicows/ dnl =================================================================== if test "$_os" = "WINNT"; then AC_MSG_CHECKING([unicows.dll]) if test -f ../external/unicows/unicows.dll; then AC_MSG_RESULT([found]) else AC_MSG_ERROR([The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. Get it from the Microsoft site and put it into external/unicows. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: .]) fi fi dnl =================================================================== dnl Windows builds need dbghelp.dll in external/dbghelp/ dnl =================================================================== if test "$_os" = "WINNT"; then AC_MSG_CHECKING([dbghelp.dll]) if test -f ../external/dbghelp/dbghelp.dll; then AC_MSG_RESULT([found]) else AC_MSG_ERROR([The dbghelp.dll is missing in external/dbghelp/. Get it from the Microsoft site and put it into external/dbghelp. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: .]) fi fi dnl =================================================================== dnl Windows builds with .NET need msvcp70.dll/msvcr70.dll in external/msvcp70/ dnl =================================================================== if test "$_os" = "WINNT" -a "$COMEX" = "8"; then AC_MSG_CHECKING([msvcp70.dll]) if test -f ../external/msvcp70/msvcp70.dll -a -f ../external/msvcp70/msvcr70.dll; then AC_MSG_RESULT([found]) else AC_MSG_ERROR([msvcp70.dll and/or msvcr70.dll are/is missing in external/msvcp70/. These dlls are part of the .NET installation and can be found in a directory similar to: "c:\\Program Files\\Microsoft Visual Studio .NET\\Visual C++ .NET Professional - English\\" Please copy the files to external/msvcp70.]) fi fi dnl =================================================================== dnl Windows builds with .NET 2003 needs msvcp71.dll/msvcr71.dll in external/msvcp71 dnl =================================================================== if test "$_os" = "WINNT" -a "$COMEX" = "10"; then AC_MSG_CHECKING([msvcp71.dll]) if test -f ../external/msvcp71/msvcp71.dll -a -f ../external/msvcp71/msvcr71.dll; then AC_MSG_RESULT([found]) else AC_MSG_ERROR([msvcp71.dll and/or msvcr71.dll are/is missing in external/msvcp71/. These dlls are part of the .NET installation and can be found in a directory similar to: "c:\\Program Files\\Microsoft Visual Studio .NET\\Visual C++ .NET Professional - English\\" Please copy the files to external/msvcp71.]) fi fi dnl =================================================================== dnl Test for the presence of the right polygon clipping code dnl =================================================================== WITH_GPC=NO WITH_LIBART=NO if test -n "$enable_libart"; then PKG_CHECK_MODULES( LIBART, libart-2.0 >= 2.3.13 ) WITH_LIBART=YES elif test "$with_gpc" != "no" ; then WITH_GPC=YES AC_MSG_CHECKING([GPC files]) if test -f ../external/gpc/gpc.h; then HAVE_GPC_H="yes" else HAVE_GPC_H="no" fi if test -f ../external/gpc/gpc.c; then HAVE_GPC_C="yes" else HAVE_GPC_C="no" fi if test "$HAVE_GPC_H" = "yes" -a "$HAVE_GPC_C" = "yes"; then AC_MSG_RESULT([GPC files found]) else AC_MSG_ERROR([GPC files not found ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z and untar in external/gpc, or install libart and use --enable-libart]) fi fi AC_SUBST(WITH_LIBART) AC_SUBST(LIBART_CFLAGS) AC_SUBST(LIBART_LIBS) AC_SUBST(WITH_GPC) dnl =================================================================== dnl Test for the presence of libstartup-notification dnl =================================================================== WITH_LIBSN=NO if test -n "$enable_libsn"; then PKG_CHECK_MODULES( LIBSN, libstartup-notification-1.0 >= 0.5 ) WITH_LIBSN=YES fi AC_SUBST(WITH_LIBSN) AC_SUBST(LIBSN_CFLAGS) AC_SUBST(LIBSN_LIBS) dnl =================================================================== dnl Disable mozilla if we can dnl =================================================================== AC_MSG_CHECKING([whether to build mozilla connectivity]) if test -n "$enable_mozilla"; then if test "$enable_mozilla" = "no"; then AC_MSG_RESULT([yes]) WITH_MOZILLA=NO else AC_MSG_RESULT([no]) WITH_MOZILLA=YES fi else AC_MSG_RESULT([no]) WITH_MOZILLA=NO SCPDEFS="$SCPDEFS -DWITHOUT_MOZILLA" fi AC_SUBST(WITH_MOZILLA) dnl =================================================================== dnl Test whether to include fonts dnl =================================================================== AC_MSG_CHECKING([whether to include Bitstream Vera fonts]) if test "$with_fonts" != "no" ; then AC_MSG_RESULT([yes]) WITH_FONTS=YES else AC_MSG_RESULT([no]) WITH_FONTS=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTS" fi AC_SUBST(WITH_FONTS) AC_SUBST(SCPDEFS) dnl =================================================================== dnl Test for the presence of Ant and that it works dnl =================================================================== ANT_HOME=; export ANT_HOME if test -z "$with_ant_home"; then AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) else AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin) fi if test -z "$ANT"; then AC_MSG_WARN([Ant not found - Some Java projects will not build]) echo "Ant not found - Some Java projects will not build" >>warn else AC_MSG_CHECKING([if $ANT works]) cat > conftest.java << EOF public class conftest { int testmethod(int a, int b) { return a + b; } } EOF cat > conftest.xml << EOF EOF ant_cmd="$ANT -buildfile conftest.xml 1>&2" AC_TRY_EVAL(ant_cmd) if test $? = 0 && test -f ./conftest.class ; then AC_MSG_RESULT([Ant works]) ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"` else echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 AC_MSG_WARN([Ant does not work - Some Java projects will not build!]) ANT_HOME="" echo "Ant does not work - Some Java projects will not build!" >>warn fi rm -f conftest* core core.* *.core fi if test -z "$ANT_HOME"; then ANT_HOME="NO_ANT_HOME" fi AC_SUBST(ANT_HOME) dnl Checking for ant.jar if test "$ANT_HOME" != "NO_ANT_HOME"; then AC_MSG_CHECKING([Ant lib directory]) if test -f $ANT_HOME/lib/ant.jar; then ANT_LIB="$ANT_HOME/lib" else if test -f $ANT_HOME/ant.jar; then ANT_LIB="$ANT_HOME" else if test -f /usr/share/java/ant.jar; then ANT_LIB=/usr/share/java else AC_MSG_ERROR([Ant libraries not found!]) fi fi fi AC_MSG_RESULT([Ant lib directory found.]) fi AC_SUBST(ANT_LIB) dnl =================================================================== dnl Setting up the environment. dnl =================================================================== echo "********************************************************************" echo "* *" echo "* Setting up the build environment variables. *" echo "* *" echo "********************************************************************" # Get UPD number from ../solenv/inc/minor.mk UPD="`grep RSCVERSION= ../solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`" AC_SUBST(UPD) SOURCEVERSION="`grep SOURCEVERSION= ../solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`" AC_SUBST(SOURCEVERSION) if test -z "$COMPATH"; then AC_MSG_ERROR([No compiler found.]) fi AC_SUBST(COMPATH) if test -z "$with_local_solenv"; then LOCAL_SOLENV="DEFAULT" else LOCAL_SOLENV=$with_local_solenv fi AC_SUBST(LOCAL_SOLENV) if test -z "$with_local_solver"; then LOCAL_SOLVER="DEFAULT" else LOCAL_SOLVER=$with_local_solver fi AC_SUBST(LOCAL_SOLVER) if test -z "$with_lang"; then WITH_LANG=,ENUS, else WITH_LANG=","$with_lang"," fi AC_SUBST(WITH_LANG) if test -z "$with_dict"; then WITH_DICT=,ALL, else WITH_DICT=","$with_dict"," fi AC_SUBST(WITH_DICT) if test -n "$enable_static_gtk"; then ENABLE_STATIC_GTK="TRUE" else ENABLE_STATIC_GTK="FALSE" fi AC_SUBST(ENABLE_STATIC_GTK) dnl =================================================================== dnl Bits to substitute into set_soenv.in dnl =================================================================== GCC_HOME="$with_gcc_home" AC_SUBST(GCC_HOME) AC_SUBST(WITH_MINGWIN) AC_OUTPUT([set_soenv]) dnl Executing the set_soenv script to setup the environment variables. chmod a+x set_soenv if test -z "$enable_check_only"; then './set_soenv' else echo echo Test Complete echo No environment file will be generated echo num_warnings=`wc -l warn` _num=`echo $num_warnings | $AWK '{ print $1 }'` if test $_num -gt 0; then echo The following warning\(s\) were generated by configure echo ---------------------------------------------------- echo cat warn echo else echo There were no warnings fi echo fi