diff options
author | Marc Espie <espie@cvs.openbsd.org> | 1999-05-26 13:38:57 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 1999-05-26 13:38:57 +0000 |
commit | 0126e157b87f137fc08dc7f46f6c291b9d06ac5d (patch) | |
tree | f8555e3e504eb82b4cd3cba5cec20ae4ce8124ff /gnu/egcs/libf2c/configure.in | |
parent | ff8e9a4356e55ed142306c3a375fa280800abc86 (diff) |
egcs projects compiler system
Exact copy of the snapshot, except for the removal of
texinfo/
gcc/ch/
libchill/
Diffstat (limited to 'gnu/egcs/libf2c/configure.in')
-rw-r--r-- | gnu/egcs/libf2c/configure.in | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/gnu/egcs/libf2c/configure.in b/gnu/egcs/libf2c/configure.in new file mode 100644 index 00000000000..ea1acc2f836 --- /dev/null +++ b/gnu/egcs/libf2c/configure.in @@ -0,0 +1,249 @@ +# Process this file with autoconf to produce a configure script. +# Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. +# Contributed by Dave Love (d.love@dl.ac.uk). +# +#This file is part of GNU Fortran. +# +#GNU Fortran is free software; you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 2, or (at your option) +#any later version. +# +#GNU Fortran is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. +# +#You should have received a copy of the GNU General Public License +#along with GNU Fortran; see the file COPYING. If not, write to +#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +#02111-1307, USA. + +AC_PREREQ(2.13) +AC_INIT(libF77/Version.c) + +if test "${srcdir}" = "." ; then + if test "${with_target_subdir}" != "." ; then + topsrcdir=${with_multisrctop}../.. + else + topsrcdir=${with_multisrctop}.. + fi +else + topsrcdir=${srcdir}/.. +fi +dnl This is needed for a multilibbed build in the source tree so +dnl that install-sh and config.sub get found. +AC_CONFIG_AUX_DIR($topsrcdir) + +# We have to handle 3 cases -- native, cross and canadian cross -- and +# the extension returned from this macro needs to be treated as a possible +# scenario and not the only one. +AC_EXEEXT + +# If the language specific compiler does not exist, but the "gcc" directory +# does, we do not build anything. Note, $r is set by the top-level Makefile. +# Note that when we look for the compiler, we search both with and without +# extension to handle cross and canadian cross builds. +compiler_name=f771 +rm -f skip-this-dir +AC_MSG_CHECKING(if compiler $compiler_name has been built) +AC_CACHE_VAL(g77_cv_compiler_exists, +[g77_cv_compiler_exists=yes +if test -n "$r"; then + if test -d "$r"/gcc; then + if test -f "$r"/gcc/$compiler_name \ + || test -f "$r"/gcc/$compiler_name$EXEEXT; then + true + else + g77_cv_compiler_exists=no + echo "rm -f config.cache config.log multilib.out" > skip-this-dir + fi + fi +fi +]) +AC_MSG_RESULT($g77_cv_compiler_exists) +if test x$g77_cv_compiler_exists = xno +then + rm -f Makefile conftest* confdefs* core + exit 0 +fi + +dnl Checks for programs. +# For g77 we'll set CC to point at the built gcc, but this will get it into +# the makefiles +AC_PROG_CC + +dnl These should be inherited in the recursive make, but ensure they are +dnl defined: +test "$AR" || AR=ar +AC_SUBST(AR) +if test "$RANLIB"; then : + AC_SUBST(RANLIB) +else + AC_PROG_RANLIB +fi +AC_PROG_INSTALL +AC_PROG_MAKE_SET + +dnl Checks for header files. +# Sanity check for the cross-compilation case: +AC_CHECK_HEADER(stdio.h,:, + [AC_MSG_ERROR([Can't find stdio.h. +You must have a usable C system for the target already installed, at least +including headers and, preferably, the library, before you can configure +the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c', +then the target library, then build with \`LANGUAGES=f77'.])]) + +# We have to firkle with the info in hconfig.h to figure out suitable types +# (via com.h). proj.h and com.h are in gcc/f/, config.h which they need +# is in gcc/ and the config files are in gcc/config/. +AC_MSG_CHECKING(f2c integer type) +# Set this back later below! +late_ac_cpp=$ac_cpp +late_cflags=$CFLAGS +extra_includes="-I$topsrcdir/gcc/f -I$topsrcdir/gcc -I$topsrcdir/include -I$topsrcdir/gcc/config -I$r/gcc" +ac_cpp="$late_ac_cpp -DIN_GCC -DHAVE_CONFIG_H $extra_includes" + +# The AC_EGREP_CPPs below have been known to fail when the header +# path is wrong after things have been moved about; the cpp error status +# counts for nothing. First check that there aren't any errors from +# the headers. +CFLAGS="$CFLAGS -DHAVE_CONFIG_H -DIN_GCC $extra_includes" +AC_TRY_COMPILE([#include "proj.h" +#define FFECOM_DETERMINE_TYPES 1 +#include "com.h"],,, +AC_MSG_ERROR([Can't run check for integer sizes -- see config.log])) +CFLAGS=$late_cflags + +AC_CACHE_VAL(g77_cv_sys_f2cinteger, +echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC +AC_EGREP_CPP(F2C_INTEGER=long int, +[#include "proj.h" +#define FFECOM_DETERMINE_TYPES 1 +#include "com.h" +#if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG +F2C_INTEGER=long int +#elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT +F2C_INTEGER=int +#else +# error "Cannot find a suitable type for F2C_INTEGER" +#endif +], + g77_cv_sys_f2cinteger="long int",) +if test "$g77_cv_sys_f2cinteger" = ""; then +echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC + AC_EGREP_CPP(F2C_INTEGER=int, +[#include "proj.h" +#define FFECOM_DETERMINE_TYPES 1 +#include "com.h" +#if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG +F2C_INTEGER=long int +#elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT +F2C_INTEGER=int +#else +# error "Cannot find a suitable type for F2C_INTEGER" +#endif +], + g77_cv_sys_f2cinteger=int,) +fi +if test "$g77_cv_sys_f2cinteger" = ""; then + AC_MSG_RESULT("") + AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.]) +fi +) +AC_MSG_RESULT($g77_cv_sys_f2cinteger) +F2C_INTEGER=$g77_cv_sys_f2cinteger +AC_SUBST(F2C_INTEGER) + +AC_MSG_CHECKING(f2c long int type) +AC_CACHE_VAL(g77_cv_sys_f2clongint, +echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC +AC_EGREP_CPP(F2C_LONGINT=long int, +[#include "proj.h" +#define FFECOM_DETERMINE_TYPES 1 +#include "com.h" +#if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG +F2C_LONGINT=long int +#elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG +F2C_LONGINT=long long int +#else +# error "Cannot find a suitable type for F2C_LONGINT" +#endif +], + g77_cv_sys_f2clongint="long int",) + +if test "$g77_cv_sys_f2clongint" = ""; then +echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC + AC_EGREP_CPP(F2C_LONGINT=long long int, +[#include "proj.h" +#define FFECOM_DETERMINE_TYPES 1 +#include "com.h" +#if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG +F2C_LONGINT=long int +#elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG +F2C_LONGINT=long long int +#else +# error "Cannot find a suitable type for F2C_LONGINT" +#endif +], + g77_cv_sys_f2clongint="long long int",) +fi +if test "$g77_cv_sys_f2clongint" = ""; then + AC_MSG_RESULT("") + AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.]) +fi +) +AC_MSG_RESULT($g77_cv_sys_f2clongint) +F2C_LONGINT=$g77_cv_sys_f2clongint +AC_SUBST(F2C_LONGINT) +ac_cpp=$late_ac_cpp + +# avoid confusion in case the `makefile's from the f2c distribution have +# got put here +test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori +test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori +test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori + +# Get the version trigger filename from the toplevel +if [[ "${with_gcc_version_trigger+set}" = set ]]; then + gcc_version_trigger=$with_gcc_version_trigger + gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}` +else + gcc_version_trigger= + gcc_version=UNKNOWN +fi + +AC_SUBST(gcc_version) +AC_SUBST(gcc_version_trigger) +AC_CANONICAL_SYSTEM +AC_SUBST(target_alias) +AC_CONFIG_SUBDIRS(libU77 libI77 libF77) +# Do Makefile first since g2c.h depends on it and shouldn't get an +# earlier timestamp. Of course, it does when the multilib gunk below +# edits Makefile, sigh; see additional touch below. +AC_OUTPUT(Makefile g2c.h:g2c.hin, + [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h +if test -n "$CONFIG_FILES"; then + if test -n "${with_target_subdir}"; then + # FIXME: We shouldn't need to set ac_file + ac_file=Makefile + . ${topsrcdir}/config-ml.in + touch g2c.h # to keep it more recent than Makefile + fi +fi], +srcdir=${srcdir} +host=${host} +target=${target} +with_target_subdir=${with_target_subdir} +with_multisubdir=${with_multisubdir} +ac_configure_args="--enable-multilib ${ac_configure_args}" +CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +topsrcdir=${topsrcdir} +) + + +dnl Local Variables: +dnl comment-start: "dnl " +dnl comment-end: "" +dnl comment-start-skip: "\\bdnl\\b\\s *" +dnl End: |