X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=44e30895f7c8edc51e46b99d8f1aded917ab33af;hb=3cdceb2d3ec67d8f96528f4cbc0a16a06b2f7fe4;hp=13d1e3a16cfa781ad5eb41b6bbc74a0be224eba8;hpb=6b971238dab9e9c0ecf6c546d18d391fd498e028;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index 13d1e3a..44e3089 100644 --- a/configure.in +++ b/configure.in @@ -28,10 +28,11 @@ if test x"$srcdir" != 'x.' ; then fi # -# Remove some automounter nonsense (Glasgow specific gruff) +# Remove common automounter nonsense + convert from UNC to DOS style paths +# (cygwin32-beta18 for UNC isn't quite there yet.) # hardtop=`pwd` -hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|'` +hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|' | sed 's|^//\(.\)/|\1:/|' ` echo '' echo "*** The top of your build tree is: $hardtop" @@ -66,13 +67,15 @@ if test x"$TargetPlatform" != x"$HostPlatform" ; then echo "GHC configuration does not support differing host/target (i.e., cross-compiling)" exit 1 fi + +exeext='' # # The following will be more difficult when we *are* cross-compiling. # Suitable names to slam in *_CPP are in platform.h.in. # We also record the architecture, vendor, and operating system (OS) # separately. case $HostPlatform in -alpha-dec-osf[[1234]]*) +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 @@ -81,6 +84,15 @@ alpha-dec-osf[[1234]]*) HostVendor_CPP='dec' HostOS_CPP='osf1' ;; +alpha-dec-osf[[34]]*) + HostPlatform=alpha-dec-osf3 # canonicalise for our purposes + TargetPlatform=alpha-dec-osf3 # this will work for now... (hack) + BuildPlatform=alpha-dec-osf3 # hack + HostPlatform_CPP='alpha_dec_osf3' + HostArch_CPP='alpha' + HostVendor_CPP='dec' + HostOS_CPP='osf3' + ;; hppa1.1-hp-hpux*) HostPlatform=hppa1.1-hp-hpux # canonicalise for our purposes (hack) TargetPlatform=hppa1.1-hp-hpux @@ -143,6 +155,7 @@ i[[3456]]86-*-cygwin32*) HostArch_CPP='i386' HostVendor_CPP='unknown' HostOS_CPP='cygwin32' + exeext='.exe' ;; m68k-next-nextstep2) HostPlatform_CPP='m68k_next_nextstep2' @@ -266,7 +279,22 @@ AC_SUBST(HostVendor_CPP) dnl AC_SUBST(BuildVendor_CPP) dnl AC_SUBST(TargetVendor_CPP) -####-------------------------------------------------------------------- +AC_SUBST(exeext) + +dnl * Booting from .hc files? +#-------------------------------------------------------------- +AC_ARG_ENABLE(hc-boot, + [ +Boot the Glasgow Haskell Compiler from intermediate .hc files. +(This option is mostly of interest for porters.) + ], + + BootingFromHc=YES, + BootingFromHc=NO +) +AC_SUBST(BootingFromHc) + +# ------------------------------------------------------------------------- dnl dnl * _GENERAL_ CONFIGURATION CHECKS # @@ -384,30 +412,18 @@ fi AC_SUBST(CompressCmd) AC_SUBST(CompressSuffix) -# +dnl dnl ** check for installed happy binary + version -# +dnl (don't do it if we're booting from .hc files though.) +if (test "$BootingFromHc" = "NO"); then AC_HAPPY - -if test x"$HappyCmd" != x; then - if expr $HappyVersion \< "1.3" >/dev/null; then - echo " Happy Version 1.3 or later is required to compile GHC." - echo " Using the Happy sources in the tree."; - HappyCmd="" - fi -fi - +fi; # # dnl ** check for installed lx binary # AC_PATH_PROG(LxCmd,lx) -# -dnl ** check for installed green-card binary -# -AC_PATH_PROG(GreencardCmd,green-card) - #### program checking section ends here #### ####-------------------------------------------------- @@ -421,7 +437,7 @@ AC_HEADER_STDC # dnl ** check for specific header (.h) files that we are interested in # -AC_CHECK_HEADERS(dirent.h fcntl.h grp.h malloc.h memory.h nlist.h pwd.h siginfo.h signal.h stdlib.h string.h sys/fault.h sys/file.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termios.h time.h types.h unistd.h utime.h vfork.h readline/readline.h ) +AC_CHECK_HEADERS(dirent.h fcntl.h grp.h malloc.h memory.h nlist.h pwd.h siginfo.h signal.h stdlib.h string.h sys/fault.h sys/file.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termios.h time.h types.h unistd.h utime.h vfork.h readline/readline.h bfd.h) # dnl ** check if it is safe to include both and @@ -433,25 +449,54 @@ dnl ** how do we get a timezone name, and UTC offset ? AC_STRUCT_TIMEZONE # -dnl what's the type of timezone? +dnl ** what's the type of timezone? AC_TYPE_TIMEZONE # -dnl do we have altzone? +dnl ** do we have altzone? AC_ALTZONE +dnl ** what are the sizes of various types +dnl (these must come before GHC_CHECK_ALIGNMENT) +AC_CHECK_SIZEOF(unsigned int,4) +AC_CHECK_SIZEOF(float, 4) +AC_CHECK_SIZEOF(double, 8) +AC_CHECK_SIZEOF(long, 4) +AC_CHECK_SIZEOF(void *, 4) + +dnl ** what are alignment constraints on various types +GHC_CHECK_ALIGNMENT(unsigned int) dnl redundant but harmless +GHC_CHECK_ALIGNMENT(long) +GHC_CHECK_ALIGNMENT(float) +GHC_CHECK_ALIGNMENT(double) + # dnl ** check for specific library functions that we are interested in # AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect setitimer stat sysconf timelocal times vadvise vfork) # +dnl ** check whether this machine has GMP 2.0 installed +# +AC_CHECK_LIB(gmp, mpz_fdiv_qr, HaveLibGmp=YES, HaveLibGmp=NO) +AC_SUBST(HaveLibGmp) + +# +dnl ** check whether this machine has BFD and liberty installed (used for debugging) +dnl ** the order of these tests matters: bfd needs liberty +# +AC_CHECK_LIB(iberty, xmalloc) +AC_CHECK_LIB(bfd, bfd_init) + +# # Misc # dnl ** can we get alloca? AC_FUNC_ALLOCA dnl ** determine whether or not const works AC_C_CONST +dnl ** are we big endian? +AC_C_BIGENDIAN dnl ** determine the type of signal() AC_TYPE_SIGNAL