X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=28acfda378e273f4314e42b69e09dfc0ad5267f0;hb=2cb14ad4aee97ab6c59a73ccab805ce6753b3db5;hp=15e350a87dbef9bd978ca296259da0b373d8fb05;hpb=a4de2383ef0f0e919724bed3ce665b5402c69fe0;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index 15e350a..28acfda 100644 --- a/configure.in +++ b/configure.in @@ -281,6 +281,19 @@ 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 @@ -399,24 +412,12 @@ 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 - -# -# -dnl ** check for installed lx binary -# -AC_PATH_PROG(LxCmd,lx) +fi; #### program checking section ends here #### @@ -431,7 +432,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 @@ -443,22 +444,26 @@ 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 do we have the GNU libc? -AC_GNU_LIBC +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 define uint, ulong and ullong if not already defined -AC_CHECK_TYPE(uint,unsigned int) -AC_CHECK_TYPE(ulong,unsigned long) -AC_CHECK_TYPE(ullong,unsigned long long) +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 @@ -466,12 +471,27 @@ 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