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

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