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 # For g77 we'll set CC to point at the built gcc, but this will get it into
77 dnl These should be inherited in the recursive make, but ensure they are
81 if test "$RANLIB"; then :
89 dnl Checks for header files.
90 # Sanity check for the cross-compilation case:
91 AC_CHECK_HEADER(stdio.h,:,
92 [AC_MSG_ERROR([Can't find stdio.h.
93 You must have a usable C system for the target already installed, at least
94 including headers and, preferably, the library, before you can configure
95 the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
96 then the target library, then build with \`LANGUAGES=f77'.])])
98 dnl Checks for g77 integer types built into gcc's C front end.
99 AC_MSG_CHECKING(for built-in g77 integer types)
100 AC_CACHE_VAL(libf2c_cv_has_g77_builtin_types,
103 __g77_uinteger g77ui;
105 __g77_ulongint g77ul;],
106 libf2c_cv_has_g77_builtin_types=yes,
107 libf2c_cv_has_g77_builtin_types=no)])
108 AC_MSG_RESULT($libf2c_cv_has_g77_builtin_types)
109 if test $libf2c_cv_has_g77_builtin_types = no; then
110 AC_MSG_ERROR([gcc doesn't define all of the built in types __g77_integer,
111 __g77_uinteger, __g77_longint, and __g77_ulongint. You may not be using
112 a new enough version of gcc, or your target may not have type sizes which
113 accommodate those types.])
116 # avoid confusion in case the `makefile's from the f2c distribution have
118 test -f libF77/makefile && mv libF77/makefile libF77/makefile.ori
119 test -f libI77/makefile && mv libI77/makefile libI77/makefile.ori
120 test -f libU77/makefile && mv libU77/makefile libU77/makefile.ori
122 # Get the version trigger filename from the toplevel
123 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
124 gcc_version_trigger=$with_gcc_version_trigger
125 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
131 AC_SUBST(gcc_version)
132 AC_SUBST(gcc_version_trigger)
134 AC_SUBST(target_alias)
135 AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
136 # Do Makefile first since g2c.h depends on it and shouldn't get an
137 # earlier timestamp. Of course, it does when the multilib gunk below
138 # edits Makefile, sigh; see additional touch below.
139 AC_OUTPUT(Makefile g2c.h:g2c.hin,
140 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
141 if test -n "$CONFIG_FILES"; then
142 if test -n "${with_target_subdir}"; then
143 # FIXME: We shouldn't need to set ac_file
145 . ${topsrcdir}/config-ml.in
146 touch g2c.h # to keep it more recent than Makefile
152 with_target_subdir=${with_target_subdir}
153 with_multisubdir=${with_multisubdir}
154 ac_configure_args="--enable-multilib ${ac_configure_args}"
155 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
156 topsrcdir=${topsrcdir}
161 dnl comment-start: "dnl "
163 dnl comment-start-skip: "\\bdnl\\b\\s *"