X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=ece5f03a4c3da5baef4e3b2fd5da16c70e5eca28;hb=47488950fa9d8930b1fd1cf83fc20940b6d31532;hp=ad34154020fe14a5e606d4dc63af1cc57f9aaf69;hpb=b035961905be6e49b3f26dd33e0dd0224b726b2b;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index ad34154..ece5f03 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/|/|' | 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 # @@ -284,29 +312,13 @@ if test -z "$PerlCmd"; then echo "Perhaps it is already installed, but not in your PATH?" exit 1 else -AC_CHECK_PERL_VERSION +FPTOOLS_CHECK_PERL_VERSION fi # dnl ** does #!.../perl work? (sometimes it's too long...) # -AC_SHEBANG_PERL - -# Remove: we work around the problem in the single place -# where we rely on something (getopts) from the libraries. -# -#dnl ** check if perl library is properly installed -# -# (by seeing if a "do 'getopts.pl'" works... -#if $PerlCmd -e 'do "getopts.pl" || exit(1); exit(0);' > /dev/null 2>&1 ; then -# : -#else -# echo "I think your perl library is misinstalled:" -# echo "The following script did not work:" -# echo ' do "getopts.pl" || exit(1); exit(0);' -# echo 'But, anyway, we will continue in our quest..' -#fi -# +FPTOOLS_SHEBANG_PERL # dnl ** look for GCC and find out which version @@ -314,25 +326,25 @@ dnl ** look for GCC and find out which version # If gcc, make sure it's at least 2.1 # AC_PROG_CC -AC_HAVE_GCC +FPTOOLS_HAVE_GCC # dnl ** figure out how to invoke cpp directly (gcc -E is no good) # AC_PROG_CPP -AC_PROG_GNUCPP +FPTOOLS_PROG_GNUCPP # dnl ** figure out how to do context diffs # -AC_PROG_DIFF +FPTOOLS_PROG_DIFF # dnl ** look for a decent parser generator (bison preferred) # -# (AC_PROG_YACCY is AC_PROG_YACC, but with some extra testing +# (FPTOOLS_PROG_YACCY is AC_PROG_YACC, but with some extra testing # on the suitability of the 'yacc' returned.) -AC_PROG_YACCY +FPTOOLS_PROG_YACCY # dnl ** Find lex command (lex or flex) and library (-ll or -lfl) @@ -346,7 +358,7 @@ AC_PROG_INSTALL # dnl ** how to invoke `ar' and `ranlib' # -AC_PROG_AR_AND_RANLIB +FPTOOLS_PROG_AR_AND_RANLIB # # @@ -384,21 +396,12 @@ fi AC_SUBST(CompressCmd) AC_SUBST(CompressSuffix) -# +dnl dnl ** check for installed happy binary + version -# -AC_HAPPY - -# -# -dnl ** check for installed lx binary -# -AC_PATH_PROG(LxCmd,lx) - -# -dnl ** check for installed green-card binary -# -AC_PATH_PROG(GreencardCmd,green-card) +dnl (don't do it if we're booting from .hc files though.) +if (test "$BootingFromHc" = "NO"); then +FPTOOLS_HAPPY +fi; #### program checking section ends here #### @@ -413,7 +416,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 @@ -425,12 +428,33 @@ dnl ** how do we get a timezone name, and UTC offset ? AC_STRUCT_TIMEZONE # -dnl what's the type of timezone? -AC_TYPE_TIMEZONE +dnl ** what's the type of timezone? +FPTOOLS_TYPE_TIMEZONE + +# +dnl ** do we have altzone? +FPTOOLS_ALTZONE +dnl ** does struct stat contain st_blksize? # -dnl do we have altzone? -AC_ALTZONE +AC_STRUCT_ST_BLKSIZE + +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 +FPTOOLS_CHECK_ALIGNMENT(unsigned int) dnl redundant but harmless +FPTOOLS_CHECK_ALIGNMENT(long) +FPTOOLS_CHECK_ALIGNMENT(float) +FPTOOLS_CHECK_ALIGNMENT(double) + +dnl ** do we have long longs? +FPTOOLS_C_LONG_LONG # dnl ** check for specific library functions that we are interested in @@ -438,19 +462,37 @@ 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; LibGmp=gmp, + AC_CHECK_LIB(gmp2, mpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp2, + HaveLibGmp=No; LibGmp=not-installed)) +AC_SUBST(HaveLibGmp) +AC_SUBST(LibGmp) + +# +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 # dnl ** check for leading underscores in symbol names # -AC_UNDERSCORE +FPTOOLS_UNDERSCORE AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )