Commit b0359619 authored by sof's avatar sof
Browse files

[project @ 1997-09-03 23:53:03 by sof]

Moved feature tests from configure.in to aclocal.m4 and macroified them
parent 106d45f2
#
# extra autoconf macros for Glasgow fptools distribution
# Extra autoconf macros for the Glasgow fptools
#
#
......@@ -56,8 +56,15 @@ dnl ** check for leading underscores in symbol names
# We assume that they _haven't_ if anything goes wrong.
#
AC_DEFUN(AC_UNDERSCORE,
[AC_CHECK_LIB(elf, elf_begin, LIBS="-lelf $LIBS")dnl
[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
AC_TRY_RUN([#ifdef HAVE_NLIST_H
#include <nlist.h>
changequote(<<, >>)dnl
......@@ -75,18 +82,236 @@ char **argv;
changequote([, ])dnl
#endif
exit(1);
}], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO)),
}], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO)
fi
])
LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'`
AC_SUBST(LeadingUnderscore)
])
#
# Hack!: nlist() under Digital UNIX insist on there being an _,
# but symbol table listings show none. What is going on here?!?
# Check for Happy and version.
#
if test $HostPlatform = "alpha-dec-osf1"; then
LeadingUnderscore=NO
AC_DEFUN(AC_HAPPY,
[AC_PATH_PROG(HappyCmd,happy)
AC_CACHE_CHECK([for version of happy], ac_cv_happy_version,
[if test x"$HappyCmd" != x; then
ac_cv_happy_version="`$HappyCmd -v |
changequote(, )dnl
grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
changequote([, ])dnl
else
LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'`
ac_cv_happy_version="";
fi;
test -n "$verbose" && echo " setting LeadingUnderscore to $LeadingUnderscore"
AC_SUBST(LeadingUnderscore)
])
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")
#
AC_DEFUN(AC_PROG_DIFF,
[AC_CACHE_CHECK([for ok way to do context diffs], ac_cv_context_diffs,
[echo foo > conftest1
echo foo > conftest2
if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
ac_cv_context_diffs='diff -C 1'
else
if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
ac_cv_context_diffs='diff -c1'
else
echo "Can't figure out how to do context diffs."
echo "Neither \`diff -C 1' nor \`diff -c1' works."
exit 1
fi
fi
rm -f conftest1 conftest2
]),
ContextDiffCmd=$ac_cv_context_diffs
AC_SUBST(ContextDiffCmd)
])
#
# Finding the Right Yacc
#
AC_DEFUN(AC_PROG_YACCY,
[AC_PROG_YACC
if test "$YACC" = "yacc"; then
AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
[AC_CHECK_PROG(WhatCmd, what, what, :)
$WhatCmd $YACC > conftest.out
if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
if test -f /usr/lang/yacc; then
echo "I'm going to use /usr/lang/yacc instead"
ac_cv_prog_yacc=/usr/lang/yacc
else
echo "I'm assuming the worst...no parser generator at all"
ac_cv_prog_yacc=:
fi
elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
echo "I'm assuming the worst...no parser generator at all"
ac_cv_prog_yacc=:
else
ac_cv_prog_yacc=$YACC
fi
rm -fr conftest*
])
else
ac_cv_prog_yacc=$YACC
fi
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
#
AC_DEFUN(AC_PROG_AR_AND_RANLIB,
[AC_PATH_PROG(ArCmd,ar)
if test -z "$ArCmd"; then
echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
exit 1;
fi
if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd clqs"
NeedRanLib=''
elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cqs"
NeedRanLib=''
elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd clq"
NeedRanLib='YES'
elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cq"
NeedRanLib='YES'
elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cq"
NeedRanLib='YES'
else
echo "I can't figure out how to use your $ArCmd"
exit 1
fi
rm -rf conftest*
test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd"
AC_SUBST(ArCmd)
if test -z "$NeedRanLib"; then
RANLIB=':'
test -n "$verbose" && echo " setting RANLIB to $RANLIB"
AC_SUBST(RANLIB)
else
AC_PROG_RANLIB
fi
])
#
dnl AC_SHEBANG_PERL - can we she-bang perl?
#
AC_DEFUN(AC_SHEBANG_PERL,
[AC_CACHE_CHECK([if your perl works in shell scripts], ac_cv_shebang_perl,
[echo "#!$PerlCmd"'
exit $1;
' > conftest
chmod u+x conftest
(SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
if test $? -ne 69; then
ac_cv_shebang_perl=yes
else
ac_cv_shebang_perl=no
fi
rm -f conftest
])])
#
# Extra testing of the result AC_PROG_CC, testing the gcc version no.
# *Must* be called after AC_PROG_CC
#
AC_DEFUN(AC_HAVE_GCC,
[AC_CACHE_CHECK([whether you have an ok gcc], ac_cv_have_gcc,
[if test -z "$GCC"; then
echo ''
echo "You would be better off with gcc"
echo "Perhaps it is already installed, but not in your PATH?"
ac_cv_have_gcc='no'
else
changequote(, )dnl
cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version \(egcs-\)\?\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \2 \\\* 10 + \3/g' `"
changequote([, ])dnl
if test `eval $cmd_string 2>/dev/null` != "1"; then
echo ''
echo "I'm not sure if your version of gcc will work,"
echo "but it's worth a shot, eh?"
fi
ac_cv_have_gcc='yes'
fi
])
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')
#
AC_DEFUN(AC_PROG_GNUCPP,
[AC_CACHE_CHECK([how to invoke cpp directly], ac_cv_gnu_cpp,
[if echo $CPP | grep gcc >/dev/null 2>&1; then
echo > conftest.c
gcc -v -E conftest.c >/dev/null 2>conftest.out
echo '/(\S+(\/|\\\\)cpp)/ && print "[$]1";' > conftest.pl
# GNUCPP: used in jmake.c (GnuCppCmd) and in mkdependC
# (where we could do with the usual pre-#defines)
ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`"
rm -fr conftest*
else
# It is likely that this will go terribly wrong..
ac_cv_gnu_cpp='cc -E'
fi
])
GNUCPP=$ac_cv_gnu_cpp
if test "$GNUCPP" = "cc -E"; then
RAWCPP="$GNUCPP"
else
RAWCPP="$GNUCPP -traditional"
fi
AC_SUBST(GNUCPP)
AC_SUBST(RAWCPP)
])
#
# Small feature test for perl version. Assumes PerlCmd
# contains path to perl binary
#
AC_DEFUN(AC_CHECK_PERL_VERSION,
[$PerlCmd -v >conftest.out 2>&1
if grep "version 4" conftest.out >/dev/null 2>&1; then
if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
echo "
************************************************************************
Uh-oh...looks like you have Perl 4.035.
Perl version 4.035 has a bug to do with recursion that will bite if
you run the lit2texi script, when making Info files from
literate files of various sorts. Either use perl5, the last version of perl4
(4.036), or an older version (e.g., perl 4.019). Failing that, don't create
any Info files :-)
************************************************************************
"
fi
else
if grep "version 5" conftest.out >/dev/null 2>&1; then
:
else
echo "I'm not sure if your version of perl will work,"
echo "but it's worth a shot, eh?"
fi
fi
rm -fr conftest*
])
......@@ -33,13 +33,11 @@ fi
hardtop=`pwd`
hardtop=`echo $hardtop | sed 's|^/tmp_mnt/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|'`
#OLD: hardtop=`echo $hardtop | sed 's|^/tmp_mnt/|/|' | sed 's|^/export/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|'`
echo ''
echo "*** The top of your build tree is: $hardtop"
AC_SUBST(hardtop)
# -------------------------------------------------------------------------
####--------------------------------------------------------------------
dnl ** choose host(/target/build) platform
#
# Guess host/target/build platform(s) if necessary.
......@@ -268,34 +266,11 @@ AC_SUBST(HostVendor_CPP)
dnl AC_SUBST(BuildVendor_CPP)
dnl AC_SUBST(TargetVendor_CPP)
# -------------------------------------------------------------------------
####--------------------------------------------------------------------
dnl
dnl * _GENERAL_ CONFIGURATION CHECKS
#
dnl ** are we at Glasgow?
#
# This stuff is in danger of going away..
#
if test -d /local/fp -a -d /users/fp/simonpj; then
echo "Brilliant! You must be a Glaswegian."
AT_GLASGOW=1
if test "x$prefix" = xNONE; then
prefix=/local/fp
echo "Assuming installation prefix of $prefix"
fi
if test "x$exec_prefix" = xNONE; then
# Sigh: the defn of exec_prefix does not include the bin* bit...
# WDP 94/07
exec_prefix=/local/fp
echo "Assuming binary installation prefix of $exec_prefix"
fi
else
AT_GLASGOW=0
fi
AC_SUBST(AT_GLASGOW)
test -n "$verbose" && echo " setting AT_GLASGOW to $AT_GLASGOW"
#
#
#
dnl ** does #! work?
#
......@@ -303,238 +278,91 @@ AC_SYS_INTERPRETER()
#
dnl ** look for `perl', but watch out for version 4.035
#
AC_CHECK_PROG(PerlCmd,perl,$ac_dir/$ac_word)
AC_PATH_PROG(PerlCmd,perl)
if test -z "$PerlCmd"; then
echo "You must install perl before you can continue"
echo "Perhaps it is already installed, but not in your PATH?"
exit 1
echo "You must install perl before you can continue"
echo "Perhaps it is already installed, but not in your PATH?"
exit 1
else
$PerlCmd -v >conftest.out 2>&1
if egrep "version 4" conftest.out >/dev/null 2>&1; then
if egrep "Patch level: 35" conftest.out >/dev/null 2>&1; then
echo "
************************************************************************
Uh-oh...looks like you have Perl 4.035.
Perl version 4.035 has a bug to do with recursion that will bite if
you run the lit2texi script, when making Info files from
literate files of various sorts. Either use the current version
(4.036), an older version (e.g., perl 4.019) or apply the patch in
glafp-utils/perl-4.035-fixes to your 4.035 perl.
************************************************************************
"
fi
else
if egrep "version 5" conftest.out >/dev/null 2>&1; then
:
else
echo "I'm not sure if your version of perl will work,"
echo "but it's worth a shot, eh?"
fi
fi
rm -fr conftest*
AC_CHECK_PERL_VERSION
fi
#
dnl ** does #!.../perl work? (sometimes it's too long...)
echo "checking if \`#!$PerlCmd' works in shell scripts"
echo "#!$PerlCmd"'
exit $1;
' > conftest
chmod u+x conftest
(SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
if test $? -ne 69; then
echo "It does!"
else
echo "It doesn't! Perhaps \`#!$PerlCmd' is too long (often 32 characters max)"
exit 1
fi
rm -f conftest
#
dnl ** check if perl library is properly installed
AC_SHEBANG_PERL
# Remove: we work around the problem in the single place
# where we rely on something (getopts) from the libraries.
#
#dnl ** check if perl library is properly installed
#
# (by seeing if a "do 'getopts.pl'" works...
if $PerlCmd -e 'do "getopts.pl" || exit(1); exit(0);' > /dev/null 2>&1 ; then
:
else
echo "I think your perl library is misinstalled:"
echo "The following script did not work:"
echo ' do "getopts.pl" || exit(1); exit(0);'
echo 'But, anyway, we will continue in our quest..'
fi
#if $PerlCmd -e 'do "getopts.pl" || exit(1); exit(0);' > /dev/null 2>&1 ; then
# :
#else
# echo "I think your perl library is misinstalled:"
# echo "The following script did not work:"
# echo ' do "getopts.pl" || exit(1); exit(0);'
# echo 'But, anyway, we will continue in our quest..'
#fi
#
#
dnl ** look for GCC and find out which version
# Figure out which C compiler to use. Gcc is preferred.
# If gcc, make sure it's at least 2.1
#
AC_PROG_CC
if test -z "$GCC"; then
echo "You would be better off with gcc"
echo "Perhaps it is already installed, but not in your PATH?"
HaveGcc='NO'
else
gcc -v > conftest.out 2>&1
echo '/version (\d+)\.(\d+)/ && $1*10+$2 > 20 && print "YES";' > conftest.pl
HaveGcc=`eval $PerlCmd -n conftest.pl conftest.out`
if test -z "$HaveGcc"; then
echo "I'm not sure if your version of gcc will work,"
echo "but it's worth a shot, eh?"
HaveGcc='YES'
fi
rm -fr conftest*
fi
AC_SUBST(HaveGcc)
AC_HAVE_GCC
#
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
#
AC_PROG_CPP
AC_PROG_GNUCPP
# Deprecated (AC_PROG_CC does it): AC_C_CROSS
#
dnl ** figure out how to do context diffs
# (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
#
echo foo > conftest1
echo foo > conftest2
if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
ContextDiffCmd='diff -C 1'
else
if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
ContextDiffCmd='diff -c1'
else
echo "Can't figure out how to do context diffs."
echo "Neither \`diff -C 1' nor \`diff -c1' works."
exit 1
fi
fi
rm -f conftest1 conftest2
AC_SUBST(ContextDiffCmd)
AC_PROG_DIFF
#
dnl ** look for a decent parser generator (bison preferred)
#
#
AC_CHECK_PROG(YaccCmd, bison, bison -y)
if test -z "$YaccCmd"; then
echo "Can't find bison out there..."
AC_CHECK_PROG(WhatCmd, what, what, :)
AC_CHECK_PROG(YaccCmd, yacc, $ac_dir/$ac_word)
if test -z "$YaccCmd"; then
echo "But that's okay...I can't find yacc either."
YaccCmd=:
else
$WhatCmd $YaccCmd > conftest.out
if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
if test -f /usr/lang/yacc; then
echo "I'm going to use /usr/lang/yacc instead"
YaccCmd=/usr/lang/yacc
else
echo "I'm assuming the worst...no parser generator at all"
YaccCmd=:
fi
elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
echo "I'm assuming the worst...no parser generator at all"
YaccCmd=:
else
echo "But that's okay...as far as I know, your yacc will work."
fi
rm -fr conftest*
fi
fi
# (AC_PROG_YACCY is AC_PROG_YACC, but with some extra testing
# on the suitability of the 'yacc' returned.)
AC_PROG_YACCY
#
dnl ** Find lex command (lex or flex) and library (-ll or -lfl)
#
AC_PROG_LEX
# -------------------------------------------------------------------------
#
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
#
AC_PROG_CPP
if echo $CPP | egrep gcc >/dev/null 2>&1; then
echo > conftest.c
gcc -v -E conftest.c >/dev/null 2>conftest.out
echo '/(\S+\/cpp)/ && print "$1";' > conftest.pl
# GNUCPP: used in jmake.c (GnuCppCmd) and in mkdependC
# (where we could do with the usual pre-#defines)
GNUCPP="`eval $PerlCmd -n conftest.pl conftest.out`"
test -n "$verbose" && echo " setting GNUCPP to $GNUCPP"
# RAWCPP: we do not want *any* pre-#defines...
# (e.g., hscpp, mkdependHS)
RAWCPP="`eval $PerlCmd -n conftest.pl conftest.out` -traditional"
test -n "$verbose" && echo " setting RAWCPP to $RAWCPP"
rm -fr conftest*
fi
# ToDo: what are GNUCPP and RAWCPP if the above if didn't fire? WDP 95/02
AC_SUBST(GNUCPP)
AC_SUBST(RAWCPP)
#
dnl ** figure out how to do a BSD-ish install
#
AC_PROG_INSTALL
#
dnl ** figure out what arguments to feed to `ar'
dnl ** how to invoke `ar' and `ranlib'
#
AC_CHECK_PROG(ArCmd,ar,$ac_dir/$ac_word)
if test -z "$ArCmd"; then
echo "You don't seem to have ar...I have no idea how to make a library"
exit 1;
fi
if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd clqs"
NeedRanLib=''
elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cqs"
NeedRanLib=''
elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd clq"
NeedRanLib='YES'
elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cq"
NeedRanLib='YES'
elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cq"
NeedRanLib='YES'
else
echo "I can't figure out how to use your $ArCmd"
exit 1
fi
rm -rf conftest*
test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd"
AC_SUBST(ArCmd)
#
dnl ** figure out if we need `ranlib'
#
if test -z "$NeedRanLib"; then
# we hackily override a few platforms on a case-by-case basis
case $HostPlatform in
i386-*-linuxaout)
NeedRanLib='YES'
;;
*) RANLIB=':'
;;
esac
test -n "$verbose" && echo " setting RANLIB to $RANLIB"
fi
if test -n "$NeedRanLib"; then
AC_PROG_RANLIB
fi
AC_SUBST(RANLIB)
AC_PROG_AR_AND_RANLIB
#
#
dnl ** Check to see whether ln -s works
#
AC_PROG_LN_S()
AC_SUBST(LN_S)
AC_PROG_LN_S
#
dnl ** Find the path to sed **
AC_PATH_PROG(SedCmd,sed,$ac_dir/$ac_word)
#
# It better be around somewhere (we wouldn't
# exec this script properly if it wasn't!)
#
AC_SUBST(SedCmd)
AC_PATH_PROG(SedCmd,sed)
#
dnl ** check for time command **
AC_PATH_PROG(TimeCmd,time,$ac_dir/$ac_word)
#
AC_SUBST(TimeCmd)
AC_PATH_PROG(TimeCmd,time)
#
dnl ** check for tar **
#
......@@ -542,13 +370,11 @@ dnl ** check for tar **
#
AC_PATH_PROGS(TarCmd,gtar tar,tar)
#
dnl ** check for gzip/compress **
AC_PATH_PROGS(CompressCmd,gzip compress,gzip)
compress_nm=`basename $CompressCmd`
if test x"$compress_nm" = xgzip; then
CompressCmd="$CompressCmd -d"
CompressSuffix="gz"
......@@ -557,10 +383,11 @@ else
fi
AC_SUBST(CompressCmd)
AC_SUBST(CompressSuffix)
#
dnl ** check for installed happy binary
dnl ** check for installed happy binary + version
#
AC_PATH_PROG(HappyCmd,happy)
AC_HAPPY
#
#
......@@ -573,6 +400,12 @@ dnl ** check for installed green-card binary
#
AC_PATH_PROG(GreencardCmd,green-card)
#### program checking section ends here ####
####--------------------------------------------------
#### checking the state of the local header files and syscalls ####
#
dnl ** check for full ANSI header (.h) files
#
AC_HEADER_STDC
......@@ -621,22 +454,9 @@ AC_UNDERSCORE
AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )
#
# It'll break soon enough if it didn't, but we perform a sanity
# check here on the generated config.mk file to see if the
# sed that was used is of the well-behaved sort.
#
#grep @ mk/config.mk > conftest.out
#if grep -v '# enclosed in @at-signs@.' conftest.out >/dev/null 2>&1; then
# :
#else
# echo 'Hmm..suspicious, did the configure script perform all the @..@ substitutions in mk/config.mk?..';
# grep -v '# enclosed in @at-signs@.' conftest.out /dev/null
#fi
#rm -f conftest*
echo ''
echo '************************************************'
echo '*** NOW DO: gmake boot followed by gmake all'
echo '*** (where gmake == GNU make)'
echo '************************************************'
exit 0
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment