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

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