1 # $Id: aclocal.m4,v 1.18 1998/02/12 22:25:13 sof Exp $
3 # Extra autoconf macros for the Glasgow fptools
7 # Has timezone the type time_t or long (HP-UX 10.20 apparently
10 AC_DEFUN(AC_TYPE_TIMEZONE,
11 [AC_CACHE_CHECK([type of timezone], ac_cv_type_timezone,
12 [AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME
13 # include <sys/time.h>
17 # include <sys/time.h>
23 extern time_t timezone;
25 [int i;], ac_cv_type_timezone=time_t, ac_cv_type_timezone=long)])
26 AC_DEFINE_UNQUOTED(TYPE_TIMEZONE, $ac_cv_type_timezone)
30 # Is altzone available?
33 [AC_CACHE_CHECK([altzone], ac_cv_altzone,
34 [AC_TRY_LINK([#if TIME_WITH_SYS_TIME
35 # include <sys/time.h>
39 # include <sys/time.h>
45 ac_cv_altzone=yes, ac_cv_altzone=no)])
46 if test "$ac_cv_altzone" = yes; then
47 AC_DEFINE(HAVE_ALTZONE)
52 dnl ** check for leading underscores in symbol names
54 # Test for determining whether symbol names have a leading
57 # We assume that they _haven't_ if anything goes wrong.
59 AC_DEFUN(AC_UNDERSCORE,
60 [AC_CHECK_LIB(elf, nlist, LIBS="-lelf $LIBS")dnl
61 AC_CACHE_CHECK([leading underscore in symbol names], ac_cv_lead_uscore,
63 # Hack!: nlist() under Digital UNIX insist on there being an _,
64 # but symbol table listings show none. What is going on here?!?
66 changequote(<<, >>)dnl
69 alpha-dec-osf*) ac_cv_lead_uscore='no';;
72 AC_TRY_RUN([#ifdef HAVE_NLIST_H
74 changequote(<<, >>)dnl
76 struct nlist xYzzY[] = {{"_xYzzY", 0},{0}};
84 if(nlist(argv[0], xYzzY) == 0 && xYzzY[0].n_value != 0)
89 }], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO)
92 LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'`
93 AC_SUBST(LeadingUnderscore)
97 # Check for Happy and version.
100 [AC_PATH_PROG(HappyCmd,happy)
101 AC_CACHE_CHECK([for version of happy], ac_cv_happy_version,
102 [if test x"$HappyCmd" != x; then
103 ac_cv_happy_version="`$HappyCmd -v |
105 grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
108 ac_cv_happy_version="";
110 if expr "$ac_cv_happy_version" "<" 1.4 > /dev/null 2>&1; then
112 echo "Happy version 1.4 or later is required to compile GHC."
116 HappyVersion=$ac_cv_happy_version;
117 AC_SUBST(HappyVersion)
121 # What's the best way of doing context diffs?
123 # (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
125 AC_DEFUN(AC_PROG_DIFF,
126 [AC_CACHE_CHECK([for ok way to do context diffs], ac_cv_context_diffs,
127 [echo foo > conftest1
129 if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
130 ac_cv_context_diffs='diff -C 1'
132 if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
133 ac_cv_context_diffs='diff -c1'
135 echo "Can't figure out how to do context diffs."
136 echo "Neither \`diff -C 1' nor \`diff -c1' works."
140 rm -f conftest1 conftest2
142 ContextDiffCmd=$ac_cv_context_diffs
143 AC_SUBST(ContextDiffCmd)
147 # Finding the Right Yacc
149 AC_DEFUN(AC_PROG_YACCY,
151 if test "$YACC" = "yacc"; then
152 AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
153 [AC_CHECK_PROG(WhatCmd, what, what, :)
154 $WhatCmd $YACC > conftest.out
155 if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
156 echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
157 if test -f /usr/lang/yacc; then
158 echo "I'm going to use /usr/lang/yacc instead"
159 ac_cv_prog_yacc=/usr/lang/yacc
161 echo "I'm assuming the worst...no parser generator at all"
164 elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
165 echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
166 echo "I'm assuming the worst...no parser generator at all"
169 ac_cv_prog_yacc=$YACC
174 ac_cv_prog_yacc=$YACC
176 YaccCmd=$ac_cv_prog_yacc
180 dnl Checking for ar and its arguments + whether we need ranlib.
182 # ArCmd and RANLIB are AC_SUBST'ed
184 AC_DEFUN(AC_PROG_AR_AND_RANLIB,
185 [AC_PATH_PROG(ArCmd,ar)
186 if test -z "$ArCmd"; then
187 echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
190 if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
193 elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
196 elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
199 elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
202 elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
206 echo "I can't figure out how to use your $ArCmd"
210 test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd"
212 if test -z "$NeedRanLib"; then
214 test -n "$verbose" && echo " setting RANLIB to $RANLIB"
222 dnl AC_SHEBANG_PERL - can we she-bang perl?
224 AC_DEFUN(AC_SHEBANG_PERL,
225 [AC_CACHE_CHECK([if your perl works in shell scripts], ac_cv_shebang_perl,
230 (SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
231 if test $? -ne 69; then
232 ac_cv_shebang_perl=yes
234 ac_cv_shebang_perl=no
240 # Extra testing of the result AC_PROG_CC, testing the gcc version no.
241 # *Must* be called after AC_PROG_CC
243 AC_DEFUN(AC_HAVE_GCC,
244 [AC_CACHE_CHECK([whether you have an ok gcc], ac_cv_have_gcc,
245 [if test -z "$GCC"; then
247 echo "You would be better off with gcc"
248 echo "Perhaps it is already installed, but not in your PATH?"
252 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' `"
254 if test `eval $cmd_string 2>/dev/null` != "1"; then
256 echo "I'm not sure if your version of gcc will work,"
257 echo "but it's worth a shot, eh?"
262 HaveGcc=`echo $ac_cv_have_gcc | sed 'y/yesno/YESNO/'`
267 # AC_PROG_GNUCPP gathers the path to the cpp that the
268 # gcc driver calls upon.
270 # Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional')
272 AC_DEFUN(AC_PROG_GNUCPP,
273 [AC_CACHE_CHECK([how to invoke GNU cpp directly], ac_cv_gnu_cpp,
274 [if test "$HaveGcc" = "YES"; then
276 gcc -v -E conftest.c >/dev/null 2>conftest.out
278 echo 'tr/\x5c/\//; /(\S+\/cpp)/ && print "[$]1";' > conftest.pl
279 ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`"
282 # We need to be able to invoke CPP directly, preferably
283 # with input from stdin (mkdependHS and hscpp depend on
284 # this at the moment).
285 # Take a guess at what to use, this probably won't work.
286 echo Warning: GNU cpp not found, using $CPP
290 GNUCPP=$ac_cv_gnu_cpp
291 RAWCPP="$GNUCPP -traditional"
297 # Small feature test for perl version. Assumes PerlCmd
298 # contains path to perl binary
300 AC_DEFUN(AC_CHECK_PERL_VERSION,
301 [$PerlCmd -v >conftest.out 2>&1
302 if grep "version 4" conftest.out >/dev/null 2>&1; then
303 if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
305 ************************************************************************
306 Uh-oh...looks like you have Perl 4.035.
308 Perl version 4.035 has a bug to do with recursion that will bite if
309 you run the lit2texi script, when making Info files from
310 literate files of various sorts. Either use perl5, the last version of perl4
311 (4.036), or an older version (e.g., perl 4.019). Failing that, don't create
313 ************************************************************************
317 if grep "version 5" conftest.out >/dev/null 2>&1; then
320 echo "I'm not sure if your version of perl will work,"
321 echo "but it's worth a shot, eh?"