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 AC_SUBST(HappyVersion)
120 # What's the best way of doing context diffs?
122 # (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
124 AC_DEFUN(AC_PROG_DIFF,
125 [AC_CACHE_CHECK([for ok way to do context diffs], ac_cv_context_diffs,
126 [echo foo > conftest1
128 if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
129 ac_cv_context_diffs='diff -C 1'
131 if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
132 ac_cv_context_diffs='diff -c1'
134 echo "Can't figure out how to do context diffs."
135 echo "Neither \`diff -C 1' nor \`diff -c1' works."
139 rm -f conftest1 conftest2
141 ContextDiffCmd=$ac_cv_context_diffs
142 AC_SUBST(ContextDiffCmd)
146 # Finding the Right Yacc
148 AC_DEFUN(AC_PROG_YACCY,
150 if test "$YACC" = "yacc"; then
151 AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
152 [AC_CHECK_PROG(WhatCmd, what, what, :)
153 $WhatCmd $YACC > conftest.out
154 if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
155 echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
156 if test -f /usr/lang/yacc; then
157 echo "I'm going to use /usr/lang/yacc instead"
158 ac_cv_prog_yacc=/usr/lang/yacc
160 echo "I'm assuming the worst...no parser generator at all"
163 elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
164 echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
165 echo "I'm assuming the worst...no parser generator at all"
168 ac_cv_prog_yacc=$YACC
173 ac_cv_prog_yacc=$YACC
175 YaccCmd=$ac_cv_prog_yacc
179 dnl Checking for ar and its arguments + whether we need ranlib.
181 # ArCmd and RANLIB are AC_SUBST'ed
183 AC_DEFUN(AC_PROG_AR_AND_RANLIB,
184 [AC_PATH_PROG(ArCmd,ar)
185 if test -z "$ArCmd"; then
186 echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
189 if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
192 elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
195 elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
198 elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
201 elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
205 echo "I can't figure out how to use your $ArCmd"
209 test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd"
211 if test -z "$NeedRanLib"; then
213 test -n "$verbose" && echo " setting RANLIB to $RANLIB"
221 dnl AC_SHEBANG_PERL - can we she-bang perl?
223 AC_DEFUN(AC_SHEBANG_PERL,
224 [AC_CACHE_CHECK([if your perl works in shell scripts], ac_cv_shebang_perl,
229 (SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
230 if test $? -ne 69; then
231 ac_cv_shebang_perl=yes
233 ac_cv_shebang_perl=no
239 # Extra testing of the result AC_PROG_CC, testing the gcc version no.
240 # *Must* be called after AC_PROG_CC
242 AC_DEFUN(AC_HAVE_GCC,
243 [AC_CACHE_CHECK([whether you have an ok gcc], ac_cv_have_gcc,
244 [if test -z "$GCC"; then
246 echo "You would be better off with gcc"
247 echo "Perhaps it is already installed, but not in your PATH?"
251 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' `"
253 if test `eval $cmd_string 2>/dev/null` != "1"; then
255 echo "I'm not sure if your version of gcc will work,"
256 echo "but it's worth a shot, eh?"
261 HaveGcc=`echo $ac_cv_have_gcc | sed 'y/yesno/YESNO/'`
266 # AC_PROG_GNUCPP gathers the path to the cpp that the
267 # gcc driver calls upon.
269 # Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional')
271 AC_DEFUN(AC_PROG_GNUCPP,
272 [AC_CACHE_CHECK([how to invoke GNU cpp directly], ac_cv_gnu_cpp,
273 [if test "$HaveGcc" = "YES"; then
275 gcc -v -E conftest.c >/dev/null 2>conftest.out
276 echo '/(\S+(\/|\\)cpp)/ && print "[$]1";' > conftest.pl
277 ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out | tr '\\\' / `"
280 # We need to be able to invoke CPP directly, preferably
281 # with input from stdin (mkdependHS and hscpp depend on
282 # this at the moment).
283 # Take a guess at what to use, this probably won't work.
284 echo Warning: GNU cpp not found, using $CPP
288 GNUCPP=$ac_cv_gnu_cpp
289 RAWCPP="$GNUCPP -traditional"
295 # Small feature test for perl version. Assumes PerlCmd
296 # contains path to perl binary
298 AC_DEFUN(AC_CHECK_PERL_VERSION,
299 [$PerlCmd -v >conftest.out 2>&1
300 if grep "version 4" conftest.out >/dev/null 2>&1; then
301 if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
303 ************************************************************************
304 Uh-oh...looks like you have Perl 4.035.
306 Perl version 4.035 has a bug to do with recursion that will bite if
307 you run the lit2texi script, when making Info files from
308 literate files of various sorts. Either use perl5, the last version of perl4
309 (4.036), or an older version (e.g., perl 4.019). Failing that, don't create
311 ************************************************************************
315 if grep "version 5" conftest.out >/dev/null 2>&1; then
318 echo "I'm not sure if your version of perl will work,"
319 echo "but it's worth a shot, eh?"