X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=2447a1c2ebf724bb3037a472759531e29adc43c9;hb=3cdceb2d3ec67d8f96528f4cbc0a16a06b2f7fe4;hp=a4b1767365e810ad1dcb35fe7e6ef507aa98ef23;hpb=3efc99ef191ca191d3b0f91008b6b8ff0f12d579;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index a4b1767..2447a1c 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,11 +1,29 @@ -# -# Extra autoconf macros for the Glasgow fptools -# +dnl $Id: aclocal.m4,v 1.22 1998/04/10 12:38:38 simonm Exp $ +dnl +dnl Extra autoconf macros for the Glasgow fptools +dnl -# -# Has timezone the type time_t or long (HP-UX 10.20 apparently -# has `long'..) -# +dnl +dnl Are we running under the GNU libc? Need -D_GNU_SOURCE to get +dnl caddr_t and such. +dnl +AC_DEFUN(AC_GNU_LIBC, +[AC_CACHE_CHECK([GNU libc], ac_cv_gnu_libc, +[AC_EGREP_CPP(yes, +[#include +#ifdef __GLIBC__ +yes +#endif +], ac_cv_gnu_libc=yes, ac_cv_gnu_libc=no)]) +if test "$ac_cv_gnu_libc" = yes; then + AC_DEFINE(_GNU_SOURCE) +fi +]) + +dnl +dnl Has timezone the type time_t or long (HP-UX 10.20 apparently +dnl has `long'..) +dnl AC_DEFUN(AC_TYPE_TIMEZONE, [AC_CACHE_CHECK([type of timezone], ac_cv_type_timezone, [AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME @@ -25,9 +43,8 @@ extern time_t timezone; AC_DEFINE_UNQUOTED(TYPE_TIMEZONE, $ac_cv_type_timezone) ]) -# -# Is altzone available? -# +dnl *** Is altzone available? *** +dnl AC_DEFUN(AC_ALTZONE, [AC_CACHE_CHECK([altzone], ac_cv_altzone, [AC_TRY_LINK([#if TIME_WITH_SYS_TIME @@ -47,24 +64,27 @@ if test "$ac_cv_altzone" = yes; then fi ]) -# dnl ** check for leading underscores in symbol names -# -# Test for determining whether symbol names have a leading -# underscore. -# -# We assume that they _haven't_ if anything goes wrong. -# +dnl +dnl Test for determining whether symbol names have a leading +dnl underscore. +dnl +dnl We assume that they _haven't_ if anything goes wrong. +dnl AC_DEFUN(AC_UNDERSCORE, [AC_CHECK_LIB(elf, nlist, LIBS="-lelf $LIBS")dnl AC_CACHE_CHECK([leading underscore in symbol names], ac_cv_lead_uscore, -# -# Hack!: nlist() under Digital UNIX insist on there being an _, -# but symbol table listings show none. What is going on here?!? -# -if test $HostPlatform = "alpha-dec-osf1"; then - ac_cv_lead_uscore='no' -else + +dnl +dnl Hack!: nlist() under Digital UNIX insist on there being an _, +dnl but symbol table listings show none. What is going on here?!? +dnl +changequote(<<, >>)dnl +<< +case $HostPlatform in +alpha-dec-osf*) ac_cv_lead_uscore='no';; +*) >> +changequote([, ])dnl AC_TRY_RUN([#ifdef HAVE_NLIST_H #include changequote(<<, >>)dnl @@ -83,14 +103,18 @@ changequote([, ])dnl #endif exit(1); }], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO) -fi); +;; +esac); LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'` AC_SUBST(LeadingUnderscore) +case $LeadingUnderscore in +YES) AC_DEFINE(LEADING_UNDERSCORE);; +esac ]) -# -# Check for Happy and version. -# +dnl +dnl Check for Happy and version. +dnl AC_DEFUN(AC_HAPPY, [AC_PATH_PROG(HappyCmd,happy) AC_CACHE_CHECK([for version of happy], ac_cv_happy_version, @@ -112,11 +136,11 @@ HappyVersion=$ac_cv_happy_version; AC_SUBST(HappyVersion) ]) -# -# What's the best way of doing context diffs? -# -# (NB: NeXTStep thinks diff'ing a file against itself is "trouble") -# +dnl +dnl What's the best way of doing context diffs? +dnl +dnl (NB: NeXTStep thinks diff'ing a file against itself is "trouble") +dnl AC_DEFUN(AC_PROG_DIFF, [AC_CACHE_CHECK([for ok way to do context diffs], ac_cv_context_diffs, [echo foo > conftest1 @@ -138,9 +162,9 @@ ContextDiffCmd=$ac_cv_context_diffs AC_SUBST(ContextDiffCmd) ]) -# -# Finding the Right Yacc -# +dnl +dnl Finding the Right Yacc +dnl AC_DEFUN(AC_PROG_YACCY, [AC_PROG_YACC if test "$YACC" = "yacc"; then @@ -172,10 +196,10 @@ YaccCmd=$ac_cv_prog_yacc AC_SUBST(YaccCmd) ]) -dnl Checking for ar and its arguments + whether we need ranlib. -# -# ArCmd and RANLIB are AC_SUBST'ed -# +dnl *** Checking for ar and its arguments + whether we need ranlib. +dnl +dnl ArCmd and RANLIB are AC_SUBST'ed +dnl AC_DEFUN(AC_PROG_AR_AND_RANLIB, [AC_PATH_PROG(ArCmd,ar) if test -z "$ArCmd"; then @@ -213,9 +237,9 @@ else fi ]) -# +dnl dnl AC_SHEBANG_PERL - can we she-bang perl? -# +dnl AC_DEFUN(AC_SHEBANG_PERL, [AC_CACHE_CHECK([if your perl works in shell scripts], ac_cv_shebang_perl, [echo "#!$PerlCmd"' @@ -231,10 +255,10 @@ fi rm -f conftest ])]) -# -# Extra testing of the result AC_PROG_CC, testing the gcc version no. -# *Must* be called after AC_PROG_CC -# +dnl +dnl Extra testing of the result AC_PROG_CC, testing the gcc version no. +dnl *Must* be called after AC_PROG_CC +dnl AC_DEFUN(AC_HAVE_GCC, [AC_CACHE_CHECK([whether you have an ok gcc], ac_cv_have_gcc, [if test -z "$GCC"; then @@ -244,7 +268,7 @@ AC_DEFUN(AC_HAVE_GCC, ac_cv_have_gcc='no' else changequote(, )dnl - cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \1 \\\* 10 + \2/g' `" + cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \1 \\\* 10 + \2/g' `" changequote([, ])dnl if test `eval $cmd_string 2>/dev/null` != "1"; then echo '' @@ -258,18 +282,19 @@ HaveGcc=`echo $ac_cv_have_gcc | sed 'y/yesno/YESNO/'` AC_SUBST(HaveGcc) ]) -# -# AC_PROG_GNUCPP gathers the path to the cpp that the -# gcc driver calls upon. -# -# Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional') -# +dnl +dnl AC_PROG_GNUCPP gathers the path to the cpp that the +dnl gcc driver calls upon. +dnl +dnl Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional') +dnl AC_DEFUN(AC_PROG_GNUCPP, [AC_CACHE_CHECK([how to invoke GNU cpp directly], ac_cv_gnu_cpp, [if test "$HaveGcc" = "YES"; then echo > conftest.c gcc -v -E conftest.c >/dev/null 2>conftest.out - echo '/(\S+(\/|\\\\)cpp)/ && print "[$]1";' > conftest.pl + # \x5c = backslash + echo 'tr/\x5c/\//; /(\S+\/cpp)/ && print "[$]1";' > conftest.pl ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`" rm -fr conftest* else @@ -287,10 +312,9 @@ AC_SUBST(GNUCPP) AC_SUBST(RAWCPP) ]) -# -# Small feature test for perl version. Assumes PerlCmd -# contains path to perl binary -# +dnl Small feature test for perl version. Assumes PerlCmd +dnl contains path to perl binary +dnl AC_DEFUN(AC_CHECK_PERL_VERSION, [$PerlCmd -v >conftest.out 2>&1 if grep "version 4" conftest.out >/dev/null 2>&1; then @@ -317,3 +341,47 @@ else fi rm -fr conftest* ]) + +dnl ** figure out the alignment restriction of a type +dnl (required SIZEOF test but AC_CHECK_SIZEOF doesn't call PROVIDE +dnl so we can't call REQUIRE) + +dnl GHC_CHECK_ALIGNMENT(TYPE) +AC_DEFUN(GHC_CHECK_ALIGNMENT, +[changequote(<<, >>)dnl +dnl The name to #define. +define(<>, translit(alignment_$1, [a-z *], [A-Z_P]))dnl +dnl The cache variable name. +define(<>, translit(ac_cv_alignment_$1, [ *], [_p]))dnl +dnl The name of the corresponding size. +define(<>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl +changequote([, ])dnl +AC_MSG_CHECKING(alignment of $1) +AC_CACHE_VAL(AC_CV_NAME, +[AC_TRY_RUN([ +#include +#if HAVE_STDDEF_H +#include +#endif +#ifndef offsetof +#define offsetof(ty,field) ((size_t)((char *)&((ty *)0)->field - (char *)(ty *)0)) +#endif +int +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", offsetof(struct { char c; $1 ty;},ty)); + exit(0); +}], +AC_CV_NAME=`cat conftestval`, +AC_CV_NAME=$AC_CV_SIZEOF_NAME, +AC_CV_NAME=$AC_CV_SIZEOF_NAME)]) +AC_MSG_RESULT($AC_CV_NAME) +AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) +AC_PROVIDE($AC_TYPE_NAME) +undefine([AC_TYPE_NAME])dnl +undefine([AC_CV_NAME])dnl +undefine([AC_CV_SIZEOF_NAME])dnl +]) +