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 if test $HostPlatform = "alpha-dec-osf1"; then
66 ac_cv_lead_uscore='no'
68 AC_TRY_RUN([#ifdef HAVE_NLIST_H
70 changequote(<<, >>)dnl
72 struct nlist xYzzY[] = {{"_xYzzY", 0},{0}};
80 if(nlist(argv[0], xYzzY) == 0 && xYzzY[0].n_value != 0)
85 }], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO)
87 LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'`
88 AC_SUBST(LeadingUnderscore)
92 # Check for Happy and version.
95 [AC_PATH_PROG(HappyCmd,happy)
96 AC_CACHE_CHECK([for version of happy], ac_cv_happy_version,
97 [if test x"$HappyCmd" != x; then
98 ac_cv_happy_version="`$HappyCmd -v |
100 grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
103 ac_cv_happy_version="";
105 if expr "$ac_cv_happy_version" "<" 1.4 > /dev/null 2>&1; then
107 echo "Happy version 1.4 or later is required to compile GHC."
111 HappyVersion=$ac_cv_happy_version;
112 AC_SUBST(HappyVersion)
116 # What's the best way of doing context diffs?
118 # (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
120 AC_DEFUN(AC_PROG_DIFF,
121 [AC_CACHE_CHECK([for ok way to do context diffs], ac_cv_context_diffs,
122 [echo foo > conftest1
124 if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
125 ac_cv_context_diffs='diff -C 1'
127 if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
128 ac_cv_context_diffs='diff -c1'
130 echo "Can't figure out how to do context diffs."
131 echo "Neither \`diff -C 1' nor \`diff -c1' works."
135 rm -f conftest1 conftest2
137 ContextDiffCmd=$ac_cv_context_diffs
138 AC_SUBST(ContextDiffCmd)
142 # Finding the Right Yacc
144 AC_DEFUN(AC_PROG_YACCY,
146 if test "$YACC" = "yacc"; then
147 AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
148 [AC_CHECK_PROG(WhatCmd, what, what, :)
149 $WhatCmd $YACC > conftest.out
150 if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
151 echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
152 if test -f /usr/lang/yacc; then
153 echo "I'm going to use /usr/lang/yacc instead"
154 ac_cv_prog_yacc=/usr/lang/yacc
156 echo "I'm assuming the worst...no parser generator at all"
159 elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
160 echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
161 echo "I'm assuming the worst...no parser generator at all"
164 ac_cv_prog_yacc=$YACC
169 ac_cv_prog_yacc=$YACC
171 YaccCmd=$ac_cv_prog_yacc
175 dnl Checking for ar and its arguments + whether we need ranlib.
177 # ArCmd and RANLIB are AC_SUBST'ed
179 AC_DEFUN(AC_PROG_AR_AND_RANLIB,
180 [AC_PATH_PROG(ArCmd,ar)
181 if test -z "$ArCmd"; then
182 echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
185 if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
188 elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
191 elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
194 elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
197 elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
201 echo "I can't figure out how to use your $ArCmd"
205 test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd"
207 if test -z "$NeedRanLib"; then
209 test -n "$verbose" && echo " setting RANLIB to $RANLIB"
217 dnl AC_SHEBANG_PERL - can we she-bang perl?
219 AC_DEFUN(AC_SHEBANG_PERL,
220 [AC_CACHE_CHECK([if your perl works in shell scripts], ac_cv_shebang_perl,
225 (SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
226 if test $? -ne 69; then
227 ac_cv_shebang_perl=yes
229 ac_cv_shebang_perl=no
235 # Extra testing of the result AC_PROG_CC, testing the gcc version no.
236 # *Must* be called after AC_PROG_CC
238 AC_DEFUN(AC_HAVE_GCC,
239 [AC_CACHE_CHECK([whether you have an ok gcc], ac_cv_have_gcc,
240 [if test -z "$GCC"; then
242 echo "You would be better off with gcc"
243 echo "Perhaps it is already installed, but not in your PATH?"
247 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' `"
249 if test `eval $cmd_string 2>/dev/null` != "1"; then
251 echo "I'm not sure if your version of gcc will work,"
252 echo "but it's worth a shot, eh?"
257 HaveGcc=`echo $ac_cv_have_gcc | sed 'y/yesno/YESNO/'`
262 # AC_PROG_GNUCPP gathers the path to the cpp that the
263 # gcc driver calls upon.
265 # Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional')
267 AC_DEFUN(AC_PROG_GNUCPP,
268 [AC_CACHE_CHECK([how to invoke GNU cpp directly], ac_cv_gnu_cpp,
269 [if test "$HaveGcc" = "YES"; then
271 gcc -v -E conftest.c >/dev/null 2>conftest.out
272 echo '/(\S+(\/|\\\\)cpp)/ && print "[$]1";' > conftest.pl
273 ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`"
276 # We need to be able to invoke CPP directly, preferably
277 # with input from stdin (mkdependHS and hscpp depend on
278 # this at the moment).
279 # Take a guess at what to use, this probably won't work.
280 echo Warning: GNU cpp not found, using $CPP
284 GNUCPP=$ac_cv_gnu_cpp
285 RAWCPP="$GNUCPP -traditional"
291 # Small feature test for perl version. Assumes PerlCmd
292 # contains path to perl binary
294 AC_DEFUN(AC_CHECK_PERL_VERSION,
295 [$PerlCmd -v >conftest.out 2>&1
296 if grep "version 4" conftest.out >/dev/null 2>&1; then
297 if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
299 ************************************************************************
300 Uh-oh...looks like you have Perl 4.035.
302 Perl version 4.035 has a bug to do with recursion that will bite if
303 you run the lit2texi script, when making Info files from
304 literate files of various sorts. Either use perl5, the last version of perl4
305 (4.036), or an older version (e.g., perl 4.019). Failing that, don't create
307 ************************************************************************
311 if grep "version 5" conftest.out >/dev/null 2>&1; then
314 echo "I'm not sure if your version of perl will work,"
315 echo "but it's worth a shot, eh?"