aboutsummaryrefslogtreecommitdiff
path: root/libf2c/libI77/configure.in
diff options
context:
space:
mode:
authorDave Love <d.love@dl.ac.uk>1998-07-12 05:02:03 +0000
committerDave Love <fx@gcc.gnu.org>1998-07-12 05:02:03 +0000
commitb53c05f51441a4a377341fd7edfa4f069f041745 (patch)
treed8bc9295ade83510d2999be729a68405ed5459b7 /libf2c/libI77/configure.in
parente3fc7b684c9c7e2cb8fc3385dd8e5eecbc37741b (diff)
downloadgcc-b53c05f51441a4a377341fd7edfa4f069f041745.zip
gcc-b53c05f51441a4a377341fd7edfa4f069f041745.tar.gz
gcc-b53c05f51441a4a377341fd7edfa4f069f041745.tar.bz2
Makefile.in: Re-write build procedure mainly to honour dependencies correctly but also allow...
1998-07-10 Dave Love <d.love@dl.ac.uk> * Makefile.in: Re-write build procedure mainly to honour dependencies correctly but also allow making in the build directory by configuring the relevant variables. The lib[FIU]77 subdirs do dependency checking of their objects. Stamp files dictate when to run (new) archive targets in subdirs. Some tidying of variables. Supply full set of standard targets. * configure.in: Move much of testing to new configures in subdirs. Tidy up handling of RANLIB etc. * stamp-h.in, libF77/configure.in, libI77/configure.in, libF77/configure, libI77/configure: New files. * libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in: Change in step with libf2c/Makefile.in. From-SVN: r21082
Diffstat (limited to 'libf2c/libI77/configure.in')
-rw-r--r--libf2c/libI77/configure.in201
1 files changed, 201 insertions, 0 deletions
diff --git a/libf2c/libI77/configure.in b/libf2c/libI77/configure.in
new file mode 100644
index 0000000..e5fc32d
--- /dev/null
+++ b/libf2c/libI77/configure.in
@@ -0,0 +1,201 @@
+# Process this file with autoconf to produce a configure script.
+# Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
+# Contributed by Dave Love (d.love@dl.ac.uk).
+#
+#This file is part of GNU Fortran.
+#
+#GNU Fortran is free software; you can redistribute it and/or modify
+#it under the terms of the GNU General Public License as published by
+#the Free Software Foundation; either version 2, or (at your option)
+#any later version.
+#
+#GNU Fortran is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+#
+#You should have received a copy of the GNU General Public License
+#along with GNU Fortran; see the file COPYING. If not, write to
+#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+#02111-1307, USA.
+
+AC_INIT(ftell_.c)
+
+dnl Checks for programs.
+# For g77 we'll set CC to point at the built gcc, but this will get it into
+# the makefiles
+AC_PROG_CC
+
+test "$AR" || AR=ar
+AC_SUBST(AR)
+AC_PROG_MAKE_SET
+
+dnl Checks for libraries.
+
+dnl Checks for header files.
+# Sanity check for the cross-compilation case:
+AC_CHECK_HEADER(stdio.h,:,
+ [AC_MSG_ERROR([Can't find stdio.h.
+You must have a usable C system for the target already installed, at least
+including headers and, preferably, the library, before you can configure
+the G77 runtime system. If necessary, install gcc now with \`LANGUAGES=c',
+then the target library, then build with \`LANGUAGES=f77'.])])
+
+AC_HEADER_STDC
+dnl We could do this if we didn't know we were using gcc
+dnl AC_MSG_CHECKING(for prototype-savvy compiler)
+dnl AC_CACHE_VAL(g77_cv_sys_proto,
+dnl [AC_TRY_LINK(,
+dnl dnl looks screwy because TRY_LINK expects a function body
+dnl [return 0;} int foo (int * bar) {],
+dnl g77_cv_sys_proto=yes,
+dnl [g77_cv_sys_proto=no
+dnl AC_DEFINE(KR_headers)])])
+dnl AC_MSG_RESULT($g77_cv_sys_proto)
+
+AC_MSG_CHECKING(for posix)
+AC_CACHE_VAL(g77_cv_header_posix,
+ AC_EGREP_CPP(yes,
+ [#include <sys/types.h>
+#include <unistd.h>
+#ifdef _POSIX_VERSION
+ yes
+#endif
+],
+ g77_cv_header_posix=yes,
+ g77_cv_header_posix=no))
+AC_MSG_RESULT($g77_cv_header_posix)
+
+# We can rely on the GNU library being posix-ish. I guess checking the
+# header isn't actually like checking the functions, though...
+AC_MSG_CHECKING(for GNU library)
+AC_CACHE_VAL(g77_cv_lib_gnu,
+ AC_EGREP_CPP(yes,
+ [#include <stdio.h>
+#ifdef __GNU_LIBRARY__
+ yes
+#endif
+],
+ g77_cv_lib_gnu=yes, g77_cv_lib_gnu=no))
+AC_MSG_RESULT($g77_cv_lib_gnu)
+
+# Apparently cygwin needs to be special-cased.
+AC_MSG_CHECKING([for cyg\`win'32])
+AC_CACHE_VAL(g77_cv_sys_cygwin32,
+ AC_EGREP_CPP(yes,
+ [#ifdef __CYGWIN32__
+ yes
+#endif
+],
+ g77_cv_sys_cygwin32=yes,
+ g77_cv_sys_cygwin32=no))
+AC_MSG_RESULT($g77_cv_sys_cygwin32)
+
+# ditto for mingw32.
+AC_MSG_CHECKING([for mingw32])
+AC_CACHE_VAL(g77_cv_sys_mingw32,
+ AC_EGREP_CPP(yes,
+ [#ifdef __MINGW32__
+ yes
+#endif
+],
+ g77_cv_sys_mingw32=yes,
+ g77_cv_sys_mingw32=no))
+AC_MSG_RESULT($g77_cv_sys_mingw32)
+
+
+AC_CHECK_HEADER(fcntl.h,
+ test $g77_cv_header_posix = yes && AC_DEFINE(_POSIX_SOURCE),
+ AC_DEFINE(NO_FCNTL) AC_DEFINE(OPEN_DECL))
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_SIZE_T
+
+dnl Checks for library functions.
+
+# This should always succeed on unix.
+# Apparently positive result on cygwin loses re. NON_UNIX_STDIO
+# (as of cygwin b18). Likewise on mingw.
+AC_CHECK_FUNC(fstat)
+AC_MSG_CHECKING([need for NON_UNIX_STDIO])
+if test $g77_cv_sys_cygwin32 = yes \
+ || test $g77_cv_sys_mingw32 = yes \
+ || test $ac_cv_func_fstat = no; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(NON_UNIX_STDIO)
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_CHECK_FUNCS(tempnam)
+
+# posix will guarantee the right behaviour for sprintf, else we can't be
+# sure; HEADER_STDC wouldn't be the right check in sunos4, for instance.
+# However, on my sunos4/gcc setup unistd.h leads us wrongly to believe
+# we're posix-conformant, so always do the test.
+AC_MSG_CHECKING(for ansi/posix sprintf result)
+dnl This loses if included as an argument to AC_CACHE_VAL because the
+dnl changequote doesn't take effect and the [] vanish.
+dnl fixme: use cached value
+AC_TRY_RUN(changequote(<<, >>)dnl
+ <<#include <stdio.h>
+ /* does sprintf return the number of chars transferred? */
+ main () {char foo[2]; (sprintf(foo, "1") == 1) ? exit(0) : exit(1);}
+>>changequote([, ]),
+ g77_cv_sys_sprintf_ansi=yes,
+ g77_cv_sys_sprintf_ansi=no,
+ g77_cv_sys_sprintf_ansi=no)
+AC_CACHE_VAL(g77_cv_sys_sprintf_ansi,
+ g77_cv_sys_sprintf_ansi=$g77_cv_sys_sprintf_ansi)
+dnl We get a misleading `(cached)' message...
+AC_MSG_RESULT($g77_cv_sys_sprintf_ansi)
+
+# The cygwin patch takes steps to avoid defining USE_STRLEN here -- I don't
+# understand why.
+if test $g77_cv_sys_sprintf_ansi != yes; then
+ AC_DEFINE(USE_STRLEN)
+fi
+
+# define NON_ANSI_RW_MODES on unix (can't hurt)
+AC_MSG_CHECKING(NON_ANSI_RW_MODES)
+AC_EGREP_CPP(yes,
+[#ifdef unix
+ yes
+#endif
+#ifdef __unix
+ yes
+#endif
+#ifdef __unix__
+ yes
+#endif
+], is_unix=yes, is_unix=no)
+# NON_ANSI_RW_MODES shouldn't be necessary on cygwin for binary mounts.
+if test $g77_cv_sys_cygwin32 = yes || test $g77_cv_sys_mingw32 = yes; then
+ AC_MSG_RESULT(no)
+else
+ if test $is_unix = yes; then
+ AC_DEFINE(NON_ANSI_RW_MODES)
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+
+# This EOF_CHAR is a misfeature on unix.
+AC_DEFINE(NO_EOF_CHAR_CHECK)
+
+AC_DEFINE(Skip_f2c_Undefs)
+
+AC_OUTPUT(Makefile)
+
+dnl We might have configuration options to:
+dnl * change unit preconnexion in err.c (f_init.c)
+dnl * -DALWAYS_FLUSH
+dnl * -DOMIT_BLANK_CC
+
+dnl Local Variables:
+dnl comment-start: "dnl "
+dnl comment-end: ""
+dnl comment-start-skip: "\\bdnl\\b\\s *"
+dnl End: