1998-02-01 09:37:08 +08:00
|
|
|
# Process this file with autoconf to produce a configure script.
|
1999-03-25 05:46:18 +08:00
|
|
|
# Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
|
1998-02-01 09:37:08 +08:00
|
|
|
# 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.
|
|
|
|
|
1999-03-25 05:46:18 +08:00
|
|
|
AC_PREREQ(2.13)
|
1998-02-01 09:37:08 +08:00
|
|
|
AC_INIT(libF77/Version.c)
|
|
|
|
|
1998-09-21 18:34:28 +08:00
|
|
|
if test "${srcdir}" = "." ; then
|
|
|
|
if test "${with_target_subdir}" != "." ; then
|
|
|
|
topsrcdir=${with_multisrctop}../..
|
|
|
|
else
|
|
|
|
topsrcdir=${with_multisrctop}..
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
topsrcdir=${srcdir}/..
|
|
|
|
fi
|
1998-10-19 18:14:19 +08:00
|
|
|
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)
|
1998-09-21 18:34:28 +08:00
|
|
|
|
1999-03-25 05:46:18 +08:00
|
|
|
# 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.
|
1998-11-26 09:48:34 +08:00
|
|
|
compiler_name=f771
|
|
|
|
rm -f skip-this-dir
|
|
|
|
AC_MSG_CHECKING(if compiler $compiler_name has been built)
|
1999-03-28 11:18:32 +08:00
|
|
|
AC_CACHE_VAL(g77_cv_compiler_exists,
|
|
|
|
[g77_cv_compiler_exists=yes
|
1999-03-25 05:46:18 +08:00
|
|
|
if test -n "$r"; then
|
|
|
|
if test -d "$r"/gcc; then
|
|
|
|
if test -f "$r"/gcc/$compiler_name \
|
1999-05-20 10:27:28 +08:00
|
|
|
|| test -f "$r"/gcc/$compiler_name.exe; then
|
1999-03-25 05:46:18 +08:00
|
|
|
true
|
|
|
|
else
|
1999-03-28 11:18:32 +08:00
|
|
|
g77_cv_compiler_exists=no
|
1999-03-25 05:46:18 +08:00
|
|
|
echo "rm -f config.cache config.log multilib.out" > skip-this-dir
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
])
|
1999-03-28 11:18:32 +08:00
|
|
|
AC_MSG_RESULT($g77_cv_compiler_exists)
|
|
|
|
if test x$g77_cv_compiler_exists = xno
|
1998-11-26 09:48:34 +08:00
|
|
|
then
|
1999-03-25 05:46:18 +08:00
|
|
|
rm -f Makefile conftest* confdefs* core
|
|
|
|
exit 0
|
1998-11-26 09:48:34 +08:00
|
|
|
fi
|
|
|
|
|
Makefile.in (install): Don't install if $(libsubdir) is empty...
Sat Jun 13 03:46:40 1998 Craig Burley <burley@gnu.org>
* Makefile.in (install): Don't install if $(libsubdir)
is empty; issue a diagnostic saying top-level Makefile
must pass it in instead, and exit.
* Makefile.in (g2c.h): Rename from f2c.h.
* Makefile.in, libF77/Makefile.in, libI77/Makefile.in,
libU77/Makefile.in: Rewrite config and var assignment
sections to be even more minimal than before, and to
more clearly documented what macros are expected to be
set and to what sorts of values. Eliminate CROSS and
related stuff, since there's no such things as CROSS
in egcs. Rename GCC_FOR_TARGET to CC throughout.
* Makefile.in (stamp-libi77, stamp-libf77, stamp-libu77):
Eliminate CROSS.
* configure.in: Eliminate CROSS.
Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
normalize and simplify g77/libg2c build process:
* Makefile.in: Remove all stuff pertaining to
installation, cleaning, and so on. Parent Makefile
does all that now. Pass F2C_H_DIR,
G2C_H_DIR, and GCC_H_DIR, the pathnames for the
directories containing f2c.h, g2c.h, and other
#include files, to subdirectory Makefiles.
(stamp-libf77, stamp-libi77, stamp-libu77):
Don't specify `-f Makefile' anymore, it's not needed
now that subdirectory makefile's from netlib are
renamed to makefile.netlib in g77 source (and to
makefile.ori by configuration process, in case they're
still around somehow).
(stamp-libe77): Don't make libE77 dir unless it doesn't
exist, if it does just delete all objects in it.
Compile using $(GCC_FOR_TARGET), not $(CC).
(rebuilt): Remove this and all subordinate targets,
as parent Makefile now handles all that.
(*clean): Remove.
* configure.in (Pad_UDread, ALWAYS_FLUSH, WANT_LEAD_0):
Remove these and commentary to new f2c.h file.
AC_OUTPUT g2c.h instead of f2c.h. Remove old commentary
regarding concatenation.
* g2c.h.in: Rename from f2c.h.in, add appropriate
commentary.
* f2c.h: New file, a wrapper for g2c.h that does
libg2c-specific stuff.
* libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
Change $(ALL_CFLAGS) to use F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR
macros. Remove F2C_H macro, replace use with explicit
dependencies on f2c.h and g2c.h.
(*clean): Remove.
From-SVN: r20507
1998-06-15 15:52:05 +08:00
|
|
|
dnl Checks for programs.
|
2001-02-09 15:14:35 +08:00
|
|
|
|
|
|
|
dnl FIXME AC_PROG_CC wants CC to be able to link things, but it may
|
|
|
|
dnl not be able to.
|
|
|
|
define([AC_PROG_CC_WORKS],[])
|
|
|
|
|
2001-10-21 01:05:52 +08:00
|
|
|
# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
|
|
|
|
# at least currently, we never actually build a program, so we never
|
|
|
|
# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
|
|
|
|
# fails, because we are probably configuring with a cross compiler
|
|
|
|
# which cant create executables. So we include AC_EXEEXT to keep
|
|
|
|
# automake happy, but we dont execute it, since we dont care about
|
|
|
|
# the result.
|
|
|
|
if false; then
|
|
|
|
# autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
|
|
|
|
# to nothing, so nothing would remain between `then' and `fi' if it
|
|
|
|
# were not for the `:' below.
|
|
|
|
:
|
|
|
|
AC_EXEEXT
|
|
|
|
fi
|
|
|
|
|
Makefile.in (install): Don't install if $(libsubdir) is empty...
Sat Jun 13 03:46:40 1998 Craig Burley <burley@gnu.org>
* Makefile.in (install): Don't install if $(libsubdir)
is empty; issue a diagnostic saying top-level Makefile
must pass it in instead, and exit.
* Makefile.in (g2c.h): Rename from f2c.h.
* Makefile.in, libF77/Makefile.in, libI77/Makefile.in,
libU77/Makefile.in: Rewrite config and var assignment
sections to be even more minimal than before, and to
more clearly documented what macros are expected to be
set and to what sorts of values. Eliminate CROSS and
related stuff, since there's no such things as CROSS
in egcs. Rename GCC_FOR_TARGET to CC throughout.
* Makefile.in (stamp-libi77, stamp-libf77, stamp-libu77):
Eliminate CROSS.
* configure.in: Eliminate CROSS.
Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
normalize and simplify g77/libg2c build process:
* Makefile.in: Remove all stuff pertaining to
installation, cleaning, and so on. Parent Makefile
does all that now. Pass F2C_H_DIR,
G2C_H_DIR, and GCC_H_DIR, the pathnames for the
directories containing f2c.h, g2c.h, and other
#include files, to subdirectory Makefiles.
(stamp-libf77, stamp-libi77, stamp-libu77):
Don't specify `-f Makefile' anymore, it's not needed
now that subdirectory makefile's from netlib are
renamed to makefile.netlib in g77 source (and to
makefile.ori by configuration process, in case they're
still around somehow).
(stamp-libe77): Don't make libE77 dir unless it doesn't
exist, if it does just delete all objects in it.
Compile using $(GCC_FOR_TARGET), not $(CC).
(rebuilt): Remove this and all subordinate targets,
as parent Makefile now handles all that.
(*clean): Remove.
* configure.in (Pad_UDread, ALWAYS_FLUSH, WANT_LEAD_0):
Remove these and commentary to new f2c.h file.
AC_OUTPUT g2c.h instead of f2c.h. Remove old commentary
regarding concatenation.
* g2c.h.in: Rename from f2c.h.in, add appropriate
commentary.
* f2c.h: New file, a wrapper for g2c.h that does
libg2c-specific stuff.
* libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
Change $(ALL_CFLAGS) to use F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR
macros. Remove F2C_H macro, replace use with explicit
dependencies on f2c.h and g2c.h.
(*clean): Remove.
From-SVN: r20507
1998-06-15 15:52:05 +08:00
|
|
|
# For g77 we'll set CC to point at the built gcc, but this will get it into
|
|
|
|
# the makefiles
|
2001-02-09 15:14:35 +08:00
|
|
|
|
Makefile.in (install): Don't install if $(libsubdir) is empty...
Sat Jun 13 03:46:40 1998 Craig Burley <burley@gnu.org>
* Makefile.in (install): Don't install if $(libsubdir)
is empty; issue a diagnostic saying top-level Makefile
must pass it in instead, and exit.
* Makefile.in (g2c.h): Rename from f2c.h.
* Makefile.in, libF77/Makefile.in, libI77/Makefile.in,
libU77/Makefile.in: Rewrite config and var assignment
sections to be even more minimal than before, and to
more clearly documented what macros are expected to be
set and to what sorts of values. Eliminate CROSS and
related stuff, since there's no such things as CROSS
in egcs. Rename GCC_FOR_TARGET to CC throughout.
* Makefile.in (stamp-libi77, stamp-libf77, stamp-libu77):
Eliminate CROSS.
* configure.in: Eliminate CROSS.
Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
normalize and simplify g77/libg2c build process:
* Makefile.in: Remove all stuff pertaining to
installation, cleaning, and so on. Parent Makefile
does all that now. Pass F2C_H_DIR,
G2C_H_DIR, and GCC_H_DIR, the pathnames for the
directories containing f2c.h, g2c.h, and other
#include files, to subdirectory Makefiles.
(stamp-libf77, stamp-libi77, stamp-libu77):
Don't specify `-f Makefile' anymore, it's not needed
now that subdirectory makefile's from netlib are
renamed to makefile.netlib in g77 source (and to
makefile.ori by configuration process, in case they're
still around somehow).
(stamp-libe77): Don't make libE77 dir unless it doesn't
exist, if it does just delete all objects in it.
Compile using $(GCC_FOR_TARGET), not $(CC).
(rebuilt): Remove this and all subordinate targets,
as parent Makefile now handles all that.
(*clean): Remove.
* configure.in (Pad_UDread, ALWAYS_FLUSH, WANT_LEAD_0):
Remove these and commentary to new f2c.h file.
AC_OUTPUT g2c.h instead of f2c.h. Remove old commentary
regarding concatenation.
* g2c.h.in: Rename from f2c.h.in, add appropriate
commentary.
* f2c.h: New file, a wrapper for g2c.h that does
libg2c-specific stuff.
* libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
Change $(ALL_CFLAGS) to use F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR
macros. Remove F2C_H macro, replace use with explicit
dependencies on f2c.h and g2c.h.
(*clean): Remove.
From-SVN: r20507
1998-06-15 15:52:05 +08:00
|
|
|
AC_PROG_CC
|
2001-10-01 06:06:23 +08:00
|
|
|
AM_PROG_LIBTOOL
|
1998-02-01 09:37:08 +08:00
|
|
|
|
|
|
|
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
|
1998-07-12 13:02:03 +08:00
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_PROG_MAKE_SET
|
1998-02-01 09:37:08 +08:00
|
|
|
|
|
|
|
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'.])])
|
|
|
|
|
2000-05-19 01:44:27 +08:00
|
|
|
dnl Checks for g77 integer types built into gcc's C front end.
|
|
|
|
AC_MSG_CHECKING(for built-in g77 integer types)
|
|
|
|
AC_CACHE_VAL(libf2c_cv_has_g77_builtin_types,
|
|
|
|
[AC_TRY_COMPILE(,
|
|
|
|
[__g77_integer g77i;
|
|
|
|
__g77_uinteger g77ui;
|
|
|
|
__g77_longint g77l;
|
|
|
|
__g77_ulongint g77ul;],
|
|
|
|
libf2c_cv_has_g77_builtin_types=yes,
|
|
|
|
libf2c_cv_has_g77_builtin_types=no)])
|
|
|
|
AC_MSG_RESULT($libf2c_cv_has_g77_builtin_types)
|
|
|
|
if test $libf2c_cv_has_g77_builtin_types = no; then
|
|
|
|
AC_MSG_ERROR([gcc doesn't define all of the built in types __g77_integer,
|
|
|
|
__g77_uinteger, __g77_longint, and __g77_ulongint. You may not be using
|
|
|
|
a new enough version of gcc, or your target may not have type sizes which
|
|
|
|
accommodate those types.])
|
1998-02-01 09:37:08 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
1998-06-26 10:13:51 +08:00
|
|
|
# Get the version trigger filename from the toplevel
|
|
|
|
if [[ "${with_gcc_version_trigger+set}" = set ]]; then
|
|
|
|
gcc_version_trigger=$with_gcc_version_trigger
|
configure (gcc_version): When setting, narrow search to lines containing `version_string'.
* configure (gcc_version): When setting, narrow search to
lines containing `version_string'.
gcc:
* version.c: Include gansidecl.h and version.h.
* version.h: Wrap entire file in macro __GCC_VERSION_H__.
* configure.in (gcc_version): When setting, narrow search to
lines containing `version_string'.
* Makefile.in (mainversion): Likewise.
(GCC_H): New variable.
(gcc.h): Delete target.
(gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h.
(version.o): Depend on version.h.
(dbxout.o): Don't depend on gcc.h.
gcc/cp:
* Make-lang.in (g++spec.o): Depend on $(GCC_H), not gcc.h.
gcc/f:
* Make-lang.in (g77spec.o): Depend on $(GCC_H), not gcc.h.
gcc/java:
* Make-lang.in (jvspec.o): Depend on $(GCC_H), not gcc.h.
libf2c:
* configure.in (gcc_version): When setting, narrow search to
lines containing `version_string'.
From-SVN: r32009
2000-02-17 00:22:47 +08:00
|
|
|
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
|
1998-06-24 14:16:19 +08:00
|
|
|
else
|
1998-06-26 10:13:51 +08:00
|
|
|
gcc_version_trigger=
|
|
|
|
gcc_version=UNKNOWN
|
1998-06-24 14:16:19 +08:00
|
|
|
fi
|
1998-06-26 10:13:51 +08:00
|
|
|
|
1998-06-24 14:16:19 +08:00
|
|
|
AC_SUBST(gcc_version)
|
1998-06-26 10:13:51 +08:00
|
|
|
AC_SUBST(gcc_version_trigger)
|
1998-10-13 16:49:54 +08:00
|
|
|
AC_CANONICAL_SYSTEM
|
1998-06-21 08:28:50 +08:00
|
|
|
AC_SUBST(target_alias)
|
1998-07-12 13:02:03 +08:00
|
|
|
AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
|
1998-10-12 10:52:16 +08:00
|
|
|
# Do Makefile first since g2c.h depends on it and shouldn't get an
|
1998-10-24 17:01:49 +08:00
|
|
|
# earlier timestamp. Of course, it does when the multilib gunk below
|
|
|
|
# edits Makefile, sigh; see additional touch below.
|
1998-10-12 10:52:16 +08:00
|
|
|
AC_OUTPUT(Makefile g2c.h:g2c.hin,
|
1998-09-21 18:34:28 +08:00
|
|
|
[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
|
1998-10-24 17:01:49 +08:00
|
|
|
touch g2c.h # to keep it more recent than Makefile
|
1998-09-21 18:34:28 +08:00
|
|
|
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}
|
|
|
|
)
|
|
|
|
|
1998-02-01 09:37:08 +08:00
|
|
|
|
|
|
|
dnl Local Variables:
|
|
|
|
dnl comment-start: "dnl "
|
|
|
|
dnl comment-end: ""
|
|
|
|
dnl comment-start-skip: "\\bdnl\\b\\s *"
|
|
|
|
dnl End:
|