1 # Process this file with autoconf to produce a configure script.
2 # Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
3 # Contributed by Dave Love (d.love@dl.ac.uk).
5 #This file is part of GNU Fortran.
7 #GNU Fortran is free software; you can redistribute it and/or modify
8 #it under the terms of the GNU General Public License as published by
9 #the Free Software Foundation; either version 2, or (at your option)
12 #GNU Fortran is distributed in the hope that it will be useful,
13 #but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 #GNU General Public License for more details.
17 #You should have received a copy of the GNU General Public License
18 #along with GNU Fortran; see the file COPYING. If not, write to
19 #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 AC_INIT(libF77/Version.c)
25 if test "${srcdir}" = "." ; then
26 if test "${with_target_subdir}" != "." ; then
27 topsrcdir=${with_multisrctop}../..
29 topsrcdir=${with_multisrctop}..
32 topsrcdir=${srcdir}/..
34 dnl This is needed for a multilibbed build in the source tree so
35 dnl that install-sh and config.sub get found.
36 AC_CONFIG_AUX_DIR($topsrcdir)
38 # If the language specific compiler does not exist, but the "gcc" directory
39 # does, we do not build anything. Note, $r is set by the top-level Makefile.
40 # Note that when we look for the compiler, we search both with and without
41 # extension to handle cross and canadian cross builds.
44 AC_MSG_CHECKING(if compiler $compiler_name has been built)
45 AC_CACHE_VAL(g77_cv_compiler_exists,
46 [g77_cv_compiler_exists=yes
48 if test -d "$r"/gcc; then
49 if test -f "$r"/gcc/$compiler_name \
50 || test -f "$r"/gcc/$compiler_name.exe; then
53 g77_cv_compiler_exists=no
54 echo "rm -f config.cache config.log multilib.out" > skip-this-dir
59 AC_MSG_RESULT($g77_cv_compiler_exists)
60 if test x$g77_cv_compiler_exists = xno
62 rm -f Makefile conftest* confdefs* core
66 dnl Checks for programs.
68 dnl FIXME AC_PROG_CC wants CC to be able to link things, but it may
70 define([AC_PROG_CC_WORKS],[])
72 # We need AC_EXEEXT to keep automake happy in cygnus mode. However,
73 # at least currently, we never actually build a program, so we never
74 # need to use $(EXEEXT). Moreover, the test for EXEEXT normally
75 # fails, because we are probably configuring with a cross compiler
76 # which cant create executables. So we include AC_EXEEXT to keep
77 # automake happy, but we dont execute it, since we dont care about
80 # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
81 # to nothing, so nothing would remain between `then' and `fi' if it
82 # were not for the `:' below.
87 # For g77 we'll set CC to point at the built gcc, but this will get it into
93 dnl These should be inherited in the recursive make, but ensure they are
97 if test "$RANLIB"; then :
105 dnl Checks for header files.
106 # Sanity check for the cross-compilation case:
107 AC_CHECK_HEADER(stdio.h,:,
108 [AC_MSG_ERROR([Can't find stdio.h.
109 You must have a usable C system for the target already installed, at least
110 including headers and, preferably, the library, before you can configure
111 the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
112 then the target library, then build with \`LANGUAGES=f77'.])])
114 dnl Checks for g77 integer types built into gcc's C front end.
115 AC_MSG_CHECKING(for built-in g77 integer types)
116 AC_CACHE_VAL(libf2c_cv_has_g77_builtin_types,
119 __g77_uinteger g77ui;
121 __g77_ulongint g77ul;],
122 libf2c_cv_has_g77_builtin_types=yes,
123 libf2c_cv_has_g77_builtin_types=no)])
124 AC_MSG_RESULT($libf2c_cv_has_g77_builtin_types)
125 if test $libf2c_cv_has_g77_builtin_types = no; then
126 AC_MSG_ERROR([gcc doesn't define all of the built in types __g77_integer,
127 __g77_uinteger, __g77_longint, and __g77_ulongint. You may not be using
128 a new enough version of gcc, or your target may not have type sizes which
129 accommodate those types.])
132 # avoid confusion in case the `makefile's from the f2c distribution have
134 test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori
135 test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori
136 test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori
138 # Get the version trigger filename from the toplevel
139 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
140 gcc_version_trigger=$with_gcc_version_trigger
141 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
147 AC_SUBST(gcc_version)
148 AC_SUBST(gcc_version_trigger)
150 AC_SUBST(target_alias)
151 AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
152 # Do Makefile first since g2c.h depends on it and shouldn't get an
153 # earlier timestamp. Of course, it does when the multilib gunk below
154 # edits Makefile, sigh; see additional touch below.
155 AC_OUTPUT(Makefile g2c.h:g2c.hin,
156 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
157 if test -n "$CONFIG_FILES"; then
158 if test -n "${with_target_subdir}"; then
159 # FIXME: We shouldn't need to set ac_file
161 . ${topsrcdir}/config-ml.in
162 touch g2c.h # to keep it more recent than Makefile
168 with_target_subdir=${with_target_subdir}
169 with_multisubdir=${with_multisubdir}
170 ac_configure_args="--enable-multilib ${ac_configure_args}"
171 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
172 topsrcdir=${topsrcdir}
177 dnl comment-start: "dnl "
179 dnl comment-start-skip: "\\bdnl\\b\\s *"