Touch g2c.h in AC_OUTPUT after multilib disturbance.
[platform/upstream/gcc.git] / libf2c / configure.in
1 # Process this file with autoconf to produce a configure script.
2 #   Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
3 #   Contributed by Dave Love (d.love@dl.ac.uk).
4 #
5 #This file is part of GNU Fortran.
6 #
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)
10 #any later version.
11 #
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.
16 #
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
20 #02111-1307, USA.
21
22 AC_INIT(libF77/Version.c)
23
24 if test "${srcdir}" = "."  ; then
25   if test "${with_target_subdir}" != "." ; then
26     topsrcdir=${with_multisrctop}../..
27   else
28     topsrcdir=${with_multisrctop}..
29   fi
30 else
31   topsrcdir=${srcdir}/..
32 fi
33 dnl This is needed for a multilibbed build in the source tree so
34 dnl that install-sh and config.sub get found.
35 AC_CONFIG_AUX_DIR($topsrcdir)
36
37 dnl Checks for programs.
38 # For g77 we'll set CC to point at the built gcc, but this will get it into
39 # the makefiles
40 AC_PROG_CC
41
42 dnl These should be inherited in the recursive make, but ensure they are
43 dnl defined:
44 test "$AR" || AR=ar
45 AC_SUBST(AR)
46 if test "$RANLIB"; then :
47   AC_SUBST(RANLIB)
48 else
49   AC_PROG_RANLIB
50 fi
51 AC_PROG_INSTALL
52 AC_PROG_MAKE_SET
53
54 dnl Checks for header files.
55 # Sanity check for the cross-compilation case:
56 AC_CHECK_HEADER(stdio.h,:,
57   [AC_MSG_ERROR([Can't find stdio.h.
58 You must have a usable C system for the target already installed, at least
59 including headers and, preferably, the library, before you can configure
60 the G77 runtime system.  If necessary, install gcc now with \`LANGUAGES=c',
61 then the target library, then build with \`LANGUAGES=f77'.])])
62
63 # We have to firkle with the info in hconfig.h to figure out suitable types
64 # (via com.h).  proj.h and com.h are in gcc/f/, config.h which they need
65 # is in gcc/ and the config files are in gcc/config/.
66 AC_MSG_CHECKING(f2c integer type)
67 late_ac_cpp=$ac_cpp
68 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
69 if test "$srcdir" != . ; then
70   ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
71 fi
72 AC_CACHE_VAL(g77_cv_sys_f2cinteger,
73 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
74 AC_EGREP_CPP(F2C_INTEGER=long int,
75 [#include "proj.h"
76 #define FFECOM_DETERMINE_TYPES 1
77 #include "com.h"
78 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
79 F2C_INTEGER=long int
80 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
81 F2C_INTEGER=int
82 #else
83 #  error "Cannot find a suitable type for F2C_INTEGER"
84 #endif
85 ],
86  g77_cv_sys_f2cinteger="long int",)
87 if test "$g77_cv_sys_f2cinteger" = ""; then
88 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
89   AC_EGREP_CPP(F2C_INTEGER=int,
90 [#include "proj.h"
91 #define FFECOM_DETERMINE_TYPES 1
92 #include "com.h"
93 #if FFECOM_f2cINTEGER == FFECOM_f2ccodeLONG
94 F2C_INTEGER=long int
95 #elif FFECOM_f2cINTEGER == FFECOM_f2ccodeINT
96 F2C_INTEGER=int
97 #else
98 #  error "Cannot find a suitable type for F2C_INTEGER"
99 #endif
100 ],
101    g77_cv_sys_f2cinteger=int,)
102 fi
103 if test "$g77_cv_sys_f2cinteger" = ""; then
104   AC_MSG_RESULT("")
105   AC_MSG_ERROR([Can't determine type for f2c integer; config.log may help.])
106 fi
107 )
108 AC_MSG_RESULT($g77_cv_sys_f2cinteger)
109 F2C_INTEGER=$g77_cv_sys_f2cinteger
110 ac_cpp=$late_ac_cpp
111 AC_SUBST(F2C_INTEGER)
112
113 AC_MSG_CHECKING(f2c long int type)
114 late_ac_cpp=$ac_cpp
115 ac_cpp="$late_ac_cpp -I../../gcc/f -I../../gcc -I../../gcc/config"
116 if test "$srcdir" != . ; then
117   ac_cpp="$ac_cpp -I$srcdir/../gcc/f -I$srcdir/../gcc -I$srcdir/../gcc/config"
118 fi
119 AC_CACHE_VAL(g77_cv_sys_f2clongint,
120 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
121 AC_EGREP_CPP(F2C_LONGINT=long int,
122 [#include "proj.h"
123 #define FFECOM_DETERMINE_TYPES 1
124 #include "com.h"
125 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
126 F2C_LONGINT=long int
127 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
128 F2C_LONGINT=long long int
129 #else
130 #  error "Cannot find a suitable type for F2C_LONGINT"
131 #endif
132 ],
133  g77_cv_sys_f2clongint="long int",)
134 if test "$g77_cv_sys_f2clongint" = ""; then
135 echo "configure:__oline__: using $ac_cpp" >&AC_FD_CC
136   AC_EGREP_CPP(F2C_LONGINT=long long int,
137 [#include "proj.h"
138 #define FFECOM_DETERMINE_TYPES 1
139 #include "com.h"
140 #if FFECOM_f2cLONGINT == FFECOM_f2ccodeLONG
141 F2C_LONGINT=long int
142 #elif FFECOM_f2cLONGINT == FFECOM_f2ccodeLONGLONG
143 F2C_LONGINT=long long int
144 #else
145 #  error "Cannot find a suitable type for F2C_LONGINT"
146 #endif
147 ],
148    g77_cv_sys_f2clongint="long long int",)
149 fi
150 if test "$g77_cv_sys_f2clongint" = ""; then
151   AC_MSG_RESULT("")
152   AC_MSG_ERROR([Can't determine type for f2c long int; config.log may help.])
153 fi
154 )
155 AC_MSG_RESULT($g77_cv_sys_f2clongint)
156 F2C_LONGINT=$g77_cv_sys_f2clongint
157 ac_cpp=$late_ac_cpp
158 AC_SUBST(F2C_LONGINT)
159
160 # avoid confusion in case the `makefile's from the f2c distribution have
161 # got put here
162 test -f libF77/makefile && mv libF77/makefile  libF77/makefile.ori
163 test -f libI77/makefile && mv libI77/makefile  libI77/makefile.ori
164 test -f libU77/makefile && mv libU77/makefile  libU77/makefile.ori
165
166 # Get the version trigger filename from the toplevel
167 if [[ "${with_gcc_version_trigger+set}" = set ]]; then
168         gcc_version_trigger=$with_gcc_version_trigger
169         gcc_version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${gcc_version_trigger}`
170 else
171         gcc_version_trigger=
172         gcc_version=UNKNOWN
173 fi
174
175 AC_SUBST(gcc_version)
176 AC_SUBST(gcc_version_trigger)
177 AC_CANONICAL_SYSTEM
178 AC_SUBST(target_alias)
179 AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
180 # Do Makefile first since g2c.h depends on it and shouldn't get an
181 # earlier timestamp.  Of course, it does when the multilib gunk below
182 # edits Makefile, sigh; see additional touch below.
183 AC_OUTPUT(Makefile g2c.h:g2c.hin,
184  [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
185 if test -n "$CONFIG_FILES"; then
186   if test -n "${with_target_subdir}"; then
187     # FIXME: We shouldn't need to set ac_file
188     ac_file=Makefile
189     . ${topsrcdir}/config-ml.in
190     touch g2c.h   # to keep it more recent than Makefile
191   fi
192 fi],
193 srcdir=${srcdir}
194 host=${host}
195 target=${target}
196 with_target_subdir=${with_target_subdir}
197 with_multisubdir=${with_multisubdir}
198 ac_configure_args="--enable-multilib ${ac_configure_args}"
199 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
200 topsrcdir=${topsrcdir}
201 )
202
203
204 dnl Local Variables:
205 dnl comment-start: "dnl "
206 dnl comment-end: ""
207 dnl comment-start-skip: "\\bdnl\\b\\s *"
208 dnl End: