# We also record the architecture, vendor, and operating system (OS)
# separately.
case $HostPlatform in
-alpha-dec-osf[[12]]*)
+alpha*-dec-osf[[12]]*)
HostPlatform=alpha-dec-osf1 # canonicalise for our purposes
TargetPlatform=alpha-dec-osf1 # this will work for now... (hack)
BuildPlatform=alpha-dec-osf1 # hack
HostVendor_CPP='dec'
HostOS_CPP='osf1'
;;
-alpha-dec-osf[[34]]*)
+alpha*-dec-osf[[345]]*)
HostPlatform=alpha-dec-osf3 # canonicalise for our purposes
TargetPlatform=alpha-dec-osf3 # this will work for now... (hack)
BuildPlatform=alpha-dec-osf3 # hack
HostVendor_CPP='dec'
HostOS_CPP='osf3'
;;
-alpha-unknown-linux)
+alpha*-unknown-linux)
HostPlatform=alpha-unknown-linux
TargetPlatform=alpha-unknown-linux
BuildPlatform=alpha-unknown-linux
HostVendor_CPP='unknown'
HostOS_CPP='linux'
;;
-alpha-unknown-freebsd*)
+alpha*-unknown-freebsd*)
HostPlatform=alpha-unknown-freebsd
TargetPlatform=alpha-unknown-freebsd
BuildPlatform=alpha-unknown-freebsd
HostVendor_CPP='unknown'
HostOS_CPP='mingw32'
exeext='.exe'
- # We assume you're using mingw32 via the gcc that comes
- # with cygwin, and not the native port, so let's augment
- # the gcc command-line used here with -mno-cygwin -mwin32
- # to arrange for good things to happen.
- CFLAGS="-mno-cygwin -mwin32 $CFLAGS"
;;
m68k-next-nextstep2)
HostPlatform_CPP='m68k_next_nextstep2'
[ --with-gcc=<gcc command>
Use a different command instead of 'gcc' for the GNU C compiler.
],
-[WhatGccIsCalled="$withval"],
+[WhatGccIsCalled="$withval"
+ CC="$withval"],
[WhatGccIsCalled="gcc"]
)
AC_SUBST(WhatGccIsCalled)
)
AC_SUBST(BootingFromHc)
+dnl ** Booting from unregisterised .hc files?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(hc-boot-unregisterised,
+[ --enable-hc-boot-unregisterised
+ With --enable-hc-boot, treat the intermediate .hc files as
+ unregisterised rather than registerised code.
+ (This option is mostly of interest to porters.)
+],
+[BootingFromUnregisterisedHc=YES],
+[BootingFromUnregisterisedHc=NO]
+)
+AC_SUBST(BootingFromUnregisterisedHc)
+
+if test "$BootingFromHc" = "NO"; then
+if test "$BootingFromUnregisterisedHc" = "YES"; then
+AC_MSG_ERROR([--enable-hc-boot-unregisterised requires --enable-hc-boot.])
+fi;
+fi;
+
dnl ** Enable the construction of Win32 DLLs?
dnl --------------------------------------------------------------
test -n "$with_glut_xlib" && CPPFLAGS="$CPPFLAGS -DGLUT_XLIB_IMPLEMENTATION=$with_glut_xlib"
+
+
dnl --------------------------------------------------------------
dnl End of configure script option section
dnl --------------------------------------------------------------
dnl ** look for `perl', but only in /bin on Windows
case $HostOS_CPP in
cygwin32|mingw32)
- AC_CHECK_PROG(PerlCmd,perl,/bin/perl,,/bin)
- if test -z "$PerlCmd"; then
- echo "You must install the version of Perl shipped with GHC"
- echo "(or a compatible one) in /bin."
- exit 1
- fi
+ AC_CHECK_PROG(PerlCmd,perl,/bin/perl,,/bin)
+ if test -z "$PerlCmd"; then
+ echo "You must install the version of Perl shipped with GHC"
+ echo "(or a compatible one) in /bin."
+ exit 1
+ fi
;;
*)
AC_PATH_PROG(PerlCmd,perl)
dnl ** does #! path/to/perl work? (sometimes it's too long...)
FPTOOLS_SHEBANG_PERL
-
dnl ** look for GCC and find out which version
dnl Figure out which C compiler to use. Gcc is preferred.
dnl If gcc, make sure it's at least 2.1
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
AC_PROG_CPP
-case $HostOS_CPP in
-mingw32)
- CPP="$CPP -mno-cygwin -mwin32"
- ;;
-esac
+
+dnl ** does the C compiler support the following options?
+FPTOOLS_CC_FLAG(-mwin32,CC_SUPPORTS_MWIN32)
+FPTOOLS_CC_FLAG(-mno-cygwin,CC_SUPPORTS_MNO_CYGWIN)
+
+EXTRA_CC_OPTS="$CC_SUPPORTS_MNO_CYGWIN $CC_SUPPORTS_MWIN32"
+SRC_CC_OPTS="-O $EXTRA_CC_OPTS"
+CPPFLAGS="$EXTRA_CC_OPTS $CPPFLAGS"
+AC_SUBST(SRC_CC_OPTS)
dnl ** figure out how to do context diffs
FPTOOLS_PROG_DIFF
dnl on the suitability of the 'yacc' returned.)
FPTOOLS_PROG_YACCY
-dnl ** Find lex command (lex or flex) and library (-ll or -lfl)
-dnl ( not that we care about the latter, see mk/config.mk.in )
-AC_PROG_LEX
-
+dnl ** Find lex command (lex or flex) - *doesn't* use autoconf's
+dnl AC_PROG_LEX, since it doesn't actually check whether 'lex'
+dnl exists if 'flex' doesn't.
+AC_PROG_LEX_STRICT
dnl ** figure out how to do a BSD-ish install
AC_PROG_INSTALL
dnl ** check for jade/openjade & determine a working catalog
AC_PATH_PROGS(JadeCmd,openjade jade,jade)
FPTOOLS_DOCBOOK_CATALOG(Catalog, $JadeCmd, docs/fptools-both.dsl,
- /etc/sgml/catalog /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl $hardtop/glafp-utils/docbook/CATALOG*)
+ /etc/sgml/catalog /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl glafp-utils/docbook/CATALOG*)
if test -z "$Catalog"; then
AC_MSG_RESULT([Warning: You will not be able to build the documentation.])
fi
+case $Catalog in
+ glafp*)
+ case $HostOS_CPP in
+ mingw32)
+ Catalog=`cygpath -w $hardtop/$Catalog`
+ ;;
+ *) Catalog=$hardtop/$Catalog
+ ;;
+ esac
+ ;;
+esac
AC_SUBST(Catalog)
compress_nm=`basename $CompressCmd`
AC_HEADER_STDC
dnl ** check for specific header (.h) files that we are interested in
-AC_CHECK_HEADERS(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h bfd.h winsock.h)
+AC_CHECK_HEADERS(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h limits.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h bfd.h winsock.h)
AC_CHECK_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO)
AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO)
dnl ** check for specific library functions that we are interested in
-AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat symlink sysconf timelocal times vadvise vfork)
+AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat lstat symlink sysconf timelocal times vadvise vfork localtime_r gmtime_r)
dnl ** check whether this machine has gmp3 installed
AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
FPTOOLS_CHECK_LIBM()
AC_SUBST(LIBM)
+case $HostOS_CPP in
+cygwin32) ;;
+mingw32) ;;
+*) AC_PATH_XTRA() ;;
+esac
+
dnl ################################################################
dnl Check for libraries
dnl ################################################################
dnl ** are we big endian?
AC_C_BIGENDIAN
# Allay users' general fear of warnings of any kind.
-errprint((fptools configure script wizard sez: "don't worry, the above warning is harmless (to us.)")
+errprint(fptools configure script wizard sez: autoconf-2.50 or later should produce no warnings
+)
+errprint(if you are using 2.13 or earlier, you may get a (harmless) warning message.
)
dnl ** check for leading underscores in symbol names
dnl ** code before data?
FPTOOLS_CODE_BEFORE_DATA
+
AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )