source: trunk/third/gcc/libf2c/libI77/configure.in @ 16960

Revision 16960, 6.2 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16959, which included commits to RCS files with non-trunk default branches.
Line 
1# Process this file with autoconf to produce a configure script.
2#   Copyright (C) 1995, 1997, 1998, 2001 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
22AC_PREREQ(2.12.1)
23AC_INIT(ftell_.c)
24AC_CONFIG_HEADER(config.h)
25
26dnl Checks for programs.
27
28dnl FIXME AC_PROG_CC wants CC to be able to link things, but it may
29dnl not be able to.
30define([AC_PROG_CC_WORKS],[])
31
32# For g77 we'll set CC to point at the built gcc, but this will get it into
33# the makefiles
34AC_PROG_CC
35
36test "$AR" || AR=ar
37AC_SUBST(AR)
38AC_PROG_MAKE_SET
39
40dnl Checks for libraries.
41
42dnl Checks for header files.
43# Sanity check for the cross-compilation case:
44AC_CHECK_HEADER(stdio.h,:,
45  [AC_MSG_ERROR([Can't find stdio.h.
46You must have a usable C system for the target already installed, at least
47including headers and, preferably, the library, before you can configure
48the G77 runtime system.  If necessary, install gcc now with \`LANGUAGES=c',
49then the target library, then build with \`LANGUAGES=f77'.])])
50
51AC_HEADER_STDC
52dnl We could do this if we didn't know we were using gcc
53dnl AC_MSG_CHECKING(for prototype-savvy compiler)
54dnl AC_CACHE_VAL(g77_cv_sys_proto,               
55dnl   [AC_TRY_LINK(,                             
56dnl dnl looks screwy because TRY_LINK expects a function body
57dnl    [return 0;} int foo (int * bar) {],       
58dnl    g77_cv_sys_proto=yes,                     
59dnl    [g77_cv_sys_proto=no                       
60dnl     AC_DEFINE(KR_headers)])])               
61dnl AC_MSG_RESULT($g77_cv_sys_proto)             
62
63AC_MSG_CHECKING(for posix)
64AC_CACHE_VAL(g77_cv_header_posix,
65  AC_EGREP_CPP(yes,
66  [#include <sys/types.h>
67#include <unistd.h>
68#ifdef _POSIX_VERSION
69  yes
70#endif
71],
72  g77_cv_header_posix=yes,
73  g77_cv_header_posix=no))
74AC_MSG_RESULT($g77_cv_header_posix)
75
76# We can rely on the GNU library being posix-ish.  I guess checking the
77# header isn't actually like checking the functions, though...
78AC_MSG_CHECKING(for GNU library)
79AC_CACHE_VAL(g77_cv_lib_gnu,
80  AC_EGREP_CPP(yes,
81    [#include <stdio.h>
82#ifdef __GNU_LIBRARY__
83  yes
84#endif
85],
86  g77_cv_lib_gnu=yes, g77_cv_lib_gnu=no))
87AC_MSG_RESULT($g77_cv_lib_gnu)
88
89# Apparently cygwin needs to be special-cased.
90AC_MSG_CHECKING([for cyg\`win'32])
91AC_CACHE_VAL(g77_cv_sys_cygwin32,
92  AC_EGREP_CPP(yes,
93  [#ifdef __CYGWIN32__
94  yes
95#endif
96],
97  g77_cv_sys_cygwin32=yes,
98  g77_cv_sys_cygwin32=no))
99AC_MSG_RESULT($g77_cv_sys_cygwin32)
100
101# ditto for mingw32.
102AC_MSG_CHECKING([for mingw32])
103AC_CACHE_VAL(g77_cv_sys_mingw32,
104  AC_EGREP_CPP(yes,
105  [#ifdef __MINGW32__
106  yes
107#endif
108],
109  g77_cv_sys_mingw32=yes,
110  g77_cv_sys_mingw32=no))
111AC_MSG_RESULT($g77_cv_sys_mingw32)
112
113
114AC_CHECK_HEADER(fcntl.h,
115   test $g77_cv_header_posix = yes && AC_DEFINE(_POSIX_SOURCE),
116   AC_DEFINE(NO_FCNTL, 1, [Define if fcntl.h is missing.])
117   AC_DEFINE(OPEN_DECL, 1, [Define if fcntl.h is missing.]))
118
119dnl Checks for typedefs, structures, and compiler characteristics.
120AC_C_CONST
121AC_TYPE_SIZE_T
122
123dnl Checks for library functions.
124
125# This should always succeed on unix.
126# Apparently positive result on cygwin loses re. NON_UNIX_STDIO
127# (as of cygwin b18). Likewise on mingw.
128AC_CHECK_FUNC(fstat)
129AC_MSG_CHECKING([need for NON_UNIX_STDIO])
130if test $g77_cv_sys_cygwin32 = yes \
131  || test $g77_cv_sys_mingw32 = yes \
132  || test $ac_cv_func_fstat = no; then
133  AC_MSG_RESULT(yes)
134  AC_DEFINE(NON_UNIX_STDIO, 1, [Define if we do not have Unix Stdio.])
135else
136  AC_MSG_RESULT(no)
137fi
138
139AC_CHECK_FUNCS(ftruncate)
140AC_CHECK_FUNCS(mkstemp)
141AC_CHECK_FUNCS(tempnam)
142
143# posix will guarantee the right behaviour for sprintf, else we can't be
144# sure; HEADER_STDC wouldn't be the right check in sunos4, for instance.
145# However, on my sunos4/gcc setup unistd.h leads us wrongly to believe
146# we're posix-conformant, so always do the test.
147AC_MSG_CHECKING(for ansi/posix sprintf result)
148dnl This loses if included as an argument to AC_CACHE_VAL because the
149dnl changequote doesn't take effect and the [] vanish.
150dnl fixme: use cached value
151AC_TRY_RUN(changequote(<<, >>)dnl
152  <<#include <stdio.h>
153    /* does sprintf return the number of chars transferred? */
154    main () {char foo[2]; (sprintf(foo, "1") == 1) ? exit(0) : exit(1);}
155>>changequote([, ]),
156    g77_cv_sys_sprintf_ansi=yes,
157    g77_cv_sys_sprintf_ansi=no,
158    g77_cv_sys_sprintf_ansi=no)
159AC_CACHE_VAL(g77_cv_sys_sprintf_ansi,
160     g77_cv_sys_sprintf_ansi=$g77_cv_sys_sprintf_ansi)
161dnl We get a misleading `(cached)' message...
162AC_MSG_RESULT($g77_cv_sys_sprintf_ansi)
163
164# The cygwin patch takes steps to avoid defining USE_STRLEN here -- I don't
165# understand why.
166if test $g77_cv_sys_sprintf_ansi != yes; then
167  AC_DEFINE(USE_STRLEN, 1, [Define if we use strlen.])
168fi
169
170# define NON_ANSI_RW_MODES on unix (can't hurt)
171AC_MSG_CHECKING(NON_ANSI_RW_MODES)
172AC_EGREP_CPP(yes,
173[#ifdef unix
174  yes
175#endif
176#ifdef __unix
177  yes
178#endif
179#ifdef __unix__
180  yes
181#endif
182], is_unix=yes, is_unix=no)
183# NON_ANSI_RW_MODES shouldn't be necessary on cygwin for binary mounts.
184if test $g77_cv_sys_cygwin32 = yes || test $g77_cv_sys_mingw32 = yes; then
185  AC_MSG_RESULT(no)
186else
187  if test $is_unix = yes; then
188    AC_DEFINE(NON_ANSI_RW_MODES, 1, [Define if we have non ANSI RW modes.])
189    AC_MSG_RESULT(yes)
190  else
191    AC_MSG_RESULT(no)
192  fi
193fi
194
195# This EOF_CHAR is a misfeature on unix.
196AC_DEFINE(NO_EOF_CHAR_CHECK, 1, [Always defined.])
197
198AC_TYPE_OFF_T
199
200AC_DEFINE(Skip_f2c_Undefs, 1, [Define to skip f2c undefs.])
201
202AC_OUTPUT(Makefile)
203
204dnl We might have configuration options to:
205dnl * change unit preconnexion in err.c (f_init.c)
206dnl * -DALWAYS_FLUSH
207dnl * -DOMIT_BLANK_CC
208
209dnl Local Variables:
210dnl comment-start: "dnl "
211dnl comment-end: ""
212dnl comment-start-skip: "\\bdnl\\b\\s *"
213dnl End:
Note: See TracBrowser for help on using the repository browser.