2 # Extra autoconf macros for the Glasgow fptools
6 # Has timezone the type time_t or long (HP-UX 10.20 apparently
9 AC_DEFUN(AC_TYPE_TIMEZONE,
10 [AC_CACHE_CHECK([type of timezone], ac_cv_type_timezone,
11 [AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME
12 # include <sys/time.h>
16 # include <sys/time.h>
22 extern time_t timezone;
24 [int i;], ac_cv_type_timezone=time_t, ac_cv_type_timezone=long)])
25 AC_DEFINE_UNQUOTED(TYPE_TIMEZONE, $ac_cv_type_timezone)
29 # Is altzone available?
32 [AC_CACHE_CHECK([altzone], ac_cv_altzone,
33 [AC_TRY_LINK([#if TIME_WITH_SYS_TIME
34 # include <sys/time.h>
38 # include <sys/time.h>
44 ac_cv_altzone=yes, ac_cv_altzone=no)])
45 if test "$ac_cv_altzone" = yes; then
46 AC_DEFINE(HAVE_ALTZONE)
51 dnl ** check for leading underscores in symbol names
53 # Test for determining whether symbol names have a leading
56 # We assume that they _haven't_ if anything goes wrong.
58 AC_DEFUN(AC_UNDERSCORE,
59 [AC_CHECK_LIB(elf, nlist, LIBS="-lelf $LIBS")dnl
60 AC_CACHE_CHECK([leading underscore in symbol names], ac_cv_lead_uscore,
62 # Hack!: nlist() under Digital UNIX insist on there being an _,
63 # but symbol table listings show none. What is going on here?!?
65 changequote(<<, >>)dnl
68 alpha-dec-osf*) ac_cv_lead_uscore='no';;
71 AC_TRY_RUN([#ifdef HAVE_NLIST_H
73 changequote(<<, >>)dnl
75 struct nlist xYzzY[] = {{"_xYzzY", 0},{0}};
83 if(nlist(argv[0], xYzzY) == 0 && xYzzY[0].n_value != 0)
88 }], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO)
91 LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'`
92 AC_SUBST(LeadingUnderscore)
96 # Check for Happy and version.
99 [AC_PATH_PROG(HappyCmd,happy)
100 AC_CACHE_CHECK([for version of happy], ac_cv_happy_version,
101 [if test x"$HappyCmd" != x; then
102 ac_cv_happy_version="`$HappyCmd -v |
104 grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
107 ac_cv_happy_version="";
109 if expr "$ac_cv_happy_version" "<" 1.4 > /dev/null 2>&1; then
111 echo "Happy version 1.4 or later is required to compile GHC."
115 HappyVersion=$ac_cv_happy_version;
116 if test x"$HappyCmd" != x && expr "$HappyVersion" \<= "1.3" >/dev/null; then
117 echo " Happy Version 1.3 or later is required to compile GHC."
118 echo " Using the Happy sources in the tree.";
122 AC_SUBST(HappyVersion)
126 # What's the best way of doing context diffs?
128 # (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
130 AC_DEFUN(AC_PROG_DIFF,
131 [AC_CACHE_CHECK([for ok way to do context diffs], ac_cv_context_diffs,
132 [echo foo > conftest1
134 if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
135 ac_cv_context_diffs='diff -C 1'
137 if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
138 ac_cv_context_diffs='diff -c1'
140 echo "Can't figure out how to do context diffs."
141 echo "Neither \`diff -C 1' nor \`diff -c1' works."
145 rm -f conftest1 conftest2
147 ContextDiffCmd=$ac_cv_context_diffs
148 AC_SUBST(ContextDiffCmd)
152 # Finding the Right Yacc
154 AC_DEFUN(AC_PROG_YACCY,
156 if test "$YACC" = "yacc"; then
157 AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
158 [AC_CHECK_PROG(WhatCmd, what, what, :)
159 $WhatCmd $YACC > conftest.out
160 if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
161 echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
162 if test -f /usr/lang/yacc; then
163 echo "I'm going to use /usr/lang/yacc instead"
164 ac_cv_prog_yacc=/usr/lang/yacc
166 echo "I'm assuming the worst...no parser generator at all"
169 elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
170 echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
171 echo "I'm assuming the worst...no parser generator at all"
174 ac_cv_prog_yacc=$YACC
179 ac_cv_prog_yacc=$YACC
181 YaccCmd=$ac_cv_prog_yacc
185 dnl Checking for ar and its arguments + whether we need ranlib.
187 # ArCmd and RANLIB are AC_SUBST'ed
189 AC_DEFUN(AC_PROG_AR_AND_RANLIB,
190 [AC_PATH_PROG(ArCmd,ar)
191 if test -z "$ArCmd"; then
192 echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
195 if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
198 elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
201 elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
204 elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
207 elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
211 echo "I can't figure out how to use your $ArCmd"
215 test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd"
217 if test -z "$NeedRanLib"; then
219 test -n "$verbose" && echo " setting RANLIB to $RANLIB"
227 dnl AC_SHEBANG_PERL - can we she-bang perl?
229 AC_DEFUN(AC_SHEBANG_PERL,
230 [AC_CACHE_CHECK([if your perl works in shell scripts], ac_cv_shebang_perl,
235 (SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
236 if test $? -ne 69; then
237 ac_cv_shebang_perl=yes
239 ac_cv_shebang_perl=no
245 # Extra testing of the result AC_PROG_CC, testing the gcc version no.
246 # *Must* be called after AC_PROG_CC
248 AC_DEFUN(AC_HAVE_GCC,
249 [AC_CACHE_CHECK([whether you have an ok gcc], ac_cv_have_gcc,
250 [if test -z "$GCC"; then
252 echo "You would be better off with gcc"
253 echo "Perhaps it is already installed, but not in your PATH?"
257 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' `"
259 if test `eval $cmd_string 2>/dev/null` != "1"; then
261 echo "I'm not sure if your version of gcc will work,"
262 echo "but it's worth a shot, eh?"
267 HaveGcc=`echo $ac_cv_have_gcc | sed 'y/yesno/YESNO/'`
272 # AC_PROG_GNUCPP gathers the path to the cpp that the
273 # gcc driver calls upon.
275 # Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional')
277 AC_DEFUN(AC_PROG_GNUCPP,
278 [AC_CACHE_CHECK([how to invoke GNU cpp directly], ac_cv_gnu_cpp,
279 [if test "$HaveGcc" = "YES"; then
281 gcc -v -E conftest.c >/dev/null 2>conftest.out
282 echo 'tr/\\/\//; /(\S+\/cpp)/ && print "[$]1";' > conftest.pl
283 ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`"
286 # We need to be able to invoke CPP directly, preferably
287 # with input from stdin (mkdependHS and hscpp depend on
288 # this at the moment).
289 # Take a guess at what to use, this probably won't work.
290 echo Warning: GNU cpp not found, using $CPP
294 GNUCPP=$ac_cv_gnu_cpp
295 RAWCPP="$GNUCPP -traditional"
301 # Small feature test for perl version. Assumes PerlCmd
302 # contains path to perl binary
304 AC_DEFUN(AC_CHECK_PERL_VERSION,
305 [$PerlCmd -v >conftest.out 2>&1
306 if grep "version 4" conftest.out >/dev/null 2>&1; then
307 if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
309 ************************************************************************
310 Uh-oh...looks like you have Perl 4.035.
312 Perl version 4.035 has a bug to do with recursion that will bite if
313 you run the lit2texi script, when making Info files from
314 literate files of various sorts. Either use perl5, the last version of perl4
315 (4.036), or an older version (e.g., perl 4.019). Failing that, don't create
317 ************************************************************************
321 if grep "version 5" conftest.out >/dev/null 2>&1; then
324 echo "I'm not sure if your version of perl will work,"
325 echo "but it's worth a shot, eh?"