This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libf2c build changes for 1.1


Here's my current attempt to fix the libf2c makefiles/configures.  It
probably could use more work, in particular, more comments.  I'm not
sure whether I fully resolved all Craig's queries in the last round
but I don't think the remaining ones were major.  It seems basically
to survive various attempts to break it, but testing by others would
be useful.

I think (something like) this should be in egcs 1.1 since otherwise
patches don't necessarily cause correct rebuilding as complained about
on the egcs list.

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.


diff -rcp2N old-libf2c/Makefile.in libf2c/Makefile.in
*** old-libf2c/Makefile.in	Mon Jul  6 22:01:47 1998
--- libf2c/Makefile.in	Thu Jul  9 23:56:39 1998
***************
*** 1,4 ****
  # Makefile for GNU F77 compiler runtime.
! #   Copyright (C) 1995-1997 Free Software Foundation, Inc.
  #   Contributed by Dave Love (d.love@dl.ac.uk).
  #
--- 1,4 ----
  # Makefile for GNU F77 compiler runtime.
! #   Copyright (C) 1995-1998 Free Software Foundation, Inc.
  #   Contributed by Dave Love (d.love@dl.ac.uk).
  #
*************** SHELL = /bin/sh
*** 25,28 ****
--- 25,29 ----
  
  srcdir = @srcdir@
+ VPATH = @srcdir@
  prefix = @prefix@
  exec_prefix = @exec_prefix@
*************** gcc_version = @gcc_version@
*** 31,141 ****
  gcc_version_trigger = @gcc_version_trigger@
  
- bindir = $(exec_prefix)/bin
  libdir = $(exec_prefix)/lib
- datadir = $(prefix)/lib
- mandir = $(prefix)/man
- infodir = $(prefix)/info
- includedir = $(prefix)/include
- docdir = $(datadir)/doc
  libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version)
  
! TO_TOPDIR = ..
  
! INSTALL = $(srcdir)/$(TO_TOPDIR)/install-sh -c
! INSTALL_PROGRAM = $(INSTALL)
! INSTALL_DATA = $(INSTALL)
! 
! AR = `if test -f $(TO_TOPDIR)/binutils/ar; then \
!    echo $(TO_TOPDIR)/binutils/ar; else echo ar; fi`
  AR_FLAGS = rc
  
! RANLIB = `if test -f $(TO_TOPDIR)/binutils/ranlib; then \
!    echo $(TO_TOPDIR)/binutils/ranlib; else echo ranlib; fi`
! 
! MAKEINFO = `if test -f $(TO_TOPDIR)/texinfo/C/makeinfo; then \
!    echo $(TO_TOPDIR)/texinfo/C/makeinfo; else echo makeinfo; fi`
  
! CC = gcc
! CFLAGS = -g
! LIBCFLAGS = $(CFLAGS)
! 
! # List of variables to pass to sub-makes.  This should not be needed'
! # by GNU make or Sun make (both of which pass command-line variable'
! # overrides thouh $(MAKE)) but may be needed by older versions.'
  
  FLAGS_TO_PASS= \
! 	"CC=$(CC)" \
! 	"CFLAGS=$(CFLAGS)" \
! 	"F2C_H_DIR=$(s)/libf2c" \
! 	"G2C_H_DIR=$(r)/$(TARGET_SUBDIR)/libf2c" \
! 	"GCC_H_DIR=$(s)/include" \
! 	"LIBCFLAGS=$(LIBCFLAGS)" \
! 	"PICFLAG=$(PICFLAG)" \
! 	"RUNTESTFLAGS=$(RUNTESTFLAGS)"
  
  LIBG2C = libg2c.a
  
! MISC =	libF77/F77_aloc.o libF77/VersionF.o libF77/main.o libF77/s_rnge.o \
! 	libF77/abort_.o libF77/getarg_.o libF77/iargc_.o libF77/getenv_.o \
! 	libF77/signal_.o libF77/s_stop.o libF77/s_paus.o libF77/system_.o \
! 	libF77/cabs.o libF77/derf_.o libF77/derfc_.o libF77/erf_.o \
! 	libF77/erfc_.o libF77/sig_die.o libF77/exit_.o \
! 	libF77/setarg.o libF77/setsig.o
! POW =	libF77/pow_ci.o libF77/pow_dd.o libF77/pow_di.o libF77/pow_hh.o \
! 	libF77/pow_ii.o  libF77/pow_ri.o libF77/pow_zi.o libF77/pow_zz.o \
! 	libF77/pow_qq.o
! CX =	libF77/c_abs.o libF77/c_cos.o libF77/c_div.o libF77/c_exp.o \
! 	libF77/c_log.o libF77/c_sin.o libF77/c_sqrt.o
! DCX =	libF77/z_abs.o libF77/z_cos.o libF77/z_div.o libF77/z_exp.o \
! 	libF77/z_log.o libF77/z_sin.o libF77/z_sqrt.o
! REAL =	libF77/r_abs.o libF77/r_acos.o libF77/r_asin.o libF77/r_atan.o \
! 	libF77/r_atn2.o libF77/r_cnjg.o libF77/r_cos.o libF77/r_cosh.o \
! 	libF77/r_dim.o libF77/r_exp.o libF77/r_imag.o libF77/r_int.o \
! 	libF77/r_lg10.o libF77/r_log.o libF77/r_mod.o libF77/r_nint.o \
! 	libF77/r_sign.o libF77/r_sin.o libF77/r_sinh.o libF77/r_sqrt.o \
! 	libF77/r_tan.o libF77/r_tanh.o
! DBL =	libF77/d_abs.o libF77/d_acos.o libF77/d_asin.o libF77/d_atan.o \
! 	libF77/d_atn2.o libF77/d_cnjg.o libF77/d_cos.o libF77/d_cosh.o \
! 	libF77/d_dim.o libF77/d_exp.o libF77/d_imag.o libF77/d_int.o \
! 	libF77/d_lg10.o libF77/d_log.o libF77/d_mod.o libF77/d_nint.o \
! 	libF77/d_prod.o libF77/d_sign.o libF77/d_sin.o libF77/d_sinh.o \
! 	libF77/d_sqrt.o libF77/d_tan.o libF77/d_tanh.o
! INT =	libF77/i_abs.o libF77/i_dim.o libF77/i_dnnt.o libF77/i_indx.o \
! 	libF77/i_len.o libF77/i_mod.o libF77/i_nint.o libF77/i_sign.o
! HALF =	libF77/h_abs.o libF77/h_dim.o libF77/h_dnnt.o libF77/h_indx.o \
! 	libF77/h_len.o libF77/h_mod.o  libF77/h_nint.o libF77/h_sign.o
! CMP =	libF77/l_ge.o libF77/l_gt.o libF77/l_le.o libF77/l_lt.o \
! 	libF77/hl_ge.o libF77/hl_gt.o libF77/hl_le.o libF77/hl_lt.o
! EFL =	libF77/ef1asc_.o libF77/ef1cmc_.o
! CHAR =	libF77/s_cat.o libF77/s_cmp.o libF77/s_copy.o
! F90BIT = libF77/lbitbits.o libF77/lbitshft.o libF77/qbitbits.o \
! 	libF77/qbitshft.o
! FOBJ = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) $(HALF) $(CMP) \
!  $(EFL) $(CHAR) $(F90BIT)
! 
! IOBJ =	libI77/VersionI.o libI77/backspace.o libI77/close.o libI77/dfe.o \
! 	libI77/dolio.o libI77/due.o libI77/endfile.o libI77/err.o \
! 	libI77/fmt.o libI77/fmtlib.o libI77/iio.o libI77/ilnw.o \
! 	libI77/inquire.o libI77/lread.o libI77/lwrite.o libI77/open.o \
! 	libI77/rdfmt.o libI77/rewind.o libI77/rsfe.o libI77/rsli.o \
! 	libI77/rsne.o libI77/sfe.o libI77/sue.o libI77/typesize.o \
! 	libI77/uio.o libI77/util.o libI77/wref.o libI77/wrtfmt.o \
! 	libI77/wsfe.o libI77/wsle.o libI77/wsne.o libI77/xwsne.o \
! 	libI77/ftell_.o
! 
! UOBJ =  libU77/VersionU.o libU77/gerror_.o libU77/perror_.o libU77/ierrno_.o \
! 	libU77/itime_.o libU77/time_.o libU77/unlink_.o libU77/fnum_.o \
! 	libU77/getpid_.o libU77/getuid_.o libU77/getgid_.o libU77/kill_.o \
! 	libU77/rand_.o libU77/srand_.o libU77/irand_.o libU77/sleep_.o \
! 	libU77/idate_.o libU77/ctime_.o libU77/etime_.o libU77/dtime_.o \
! 	libU77/isatty_.o libU77/ltime_.o libU77/fstat_.o libU77/stat_.o \
! 	libU77/lstat_.o libU77/access_.o libU77/link_.o libU77/getlog_.o \
! 	libU77/ttynam_.o libU77/getcwd_.o libU77/vxttime_.o \
! 	libU77/vxtidate_.o libU77/gmtime_.o libU77/fdate_.o libU77/secnds_.o \
! 	libU77/bes.o libU77/dbes.o libU77/chdir_.o libU77/chmod_.o \
! 	libU77/lnblnk_.o libU77/hostnm_.o libU77/rename_.o libU77/fgetc_.o \
! 	libU77/fputc_.o libU77/umask_.o libU77/sys_clock_.o libU77/date_.o \
! 	libU77/second_.o libU77/flush1_.o libU77/alarm_.o libU77/mclock_.o \
! 	libU77/symlnk_.o libU77/datetime_.o
  
  F2CEXT = abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \
--- 32,68 ----
  gcc_version_trigger = @gcc_version_trigger@
  
  libdir = $(exec_prefix)/lib
  libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version)
  
! # Not configured per top-level version, since that doesn't get passed
! # down at configure time, but overrridden by the top-level install
! # target.
! INSTALL = @INSTALL@
! INSTALL_PROGRAM = @INSTALL_PROGRAM@
! INSTALL_DATA = @INSTALL_DATA@
  
! AR = @AR@
  AR_FLAGS = rc
  
! RANLIB = @RANLIB@
  
! CC = @CC@
! CFLAGS = @CFLAGS@
  
+ # List of variables to pass to sub-makes.
+ # Quote this way so that it can be used to set shell variables too.
+ # Currently no use for PICFLAG, RUNTESTFLAGS -- check usage.
  FLAGS_TO_PASS= \
! 	CC='$(CC)' \
! 	CFLAGS='$(CFLAGS)' \
! 	CPPFLAGS='$(CPPFLAGS)' \
! 	AR='$(AR)' \
! 	RANLIB='$(RANLIB)'
! 	PICFLAG='$(PICFLAG)' \
! 	RUNTESTFLAGS='$(RUNTESTFLAGS)'
  
  LIBG2C = libg2c.a
  
! SUBDIRS = libI77 libF77 libU77
  
  F2CEXT = abort derf derfc ef1asc ef1cmc erf erfc exit getarg getenv iargc \
*************** F2CEXT = abort derf derfc ef1asc ef1cmc 
*** 148,179 ****
  	vxtidt vxttim alarm
  
! all: g2c.h $(LIBG2C)
  
! $(LIBG2C): stamp-libf77 stamp-libi77 stamp-libu77 stamp-libe77
  	rm -f $(LIBG2C)
! 	$(AR) $(AR_FLAGS) $(LIBG2C) $(FOBJ)
! 	$(AR) $(AR_FLAGS) $(LIBG2C) $(IOBJ)
! 	$(AR) $(AR_FLAGS) $(LIBG2C) $(UOBJ)
  	objs=""; for i in $(F2CEXT); do objs="$$objs libE77/L$$i.o"; done; \
  	  $(AR) $(AR_FLAGS) $(LIBG2C) $$objs
  	$(RANLIB) $(LIBG2C)
  
! stamp-libi77: libI77/Makefile
! 	rm -f stamp-libi77
  	cd libI77; $(MAKE) $(FLAGS_TO_PASS) all
- 	touch stamp-libi77
  
! stamp-libf77: libF77/Makefile
! 	rm -f stamp-libf77
  	cd libF77; $(MAKE) $(FLAGS_TO_PASS) all
- 	touch stamp-libf77
  
! stamp-libu77: libU77/Makefile
! 	rm -f stamp-libu77
  	cd libU77; $(MAKE) $(FLAGS_TO_PASS) all
- 	touch stamp-libu77
  
  stamp-libe77: $(srcdir)/f2cext.c
- 	rm -f stamp-libe77
  	if [ -d libE77 ]; then rm -f libE77/*.o; else mkdir libE77; fi
  	for name in $(F2CEXT); \
--- 75,106 ----
  	vxtidt vxttim alarm
  
! # These dependencies can be satisfied in parallel.  They update stamp
! # files which the $(LIBG2C) target checks in the sub-make.  (Probably
! # only one stamp file is really needed.)
! all: i77 f77 u77 e77
! 	make $(FLAGS_TO_PASS) $(LIBG2C)
! 
! i77 f77 u77: g2c.h
  
! $(LIBG2C): stamp-libi77 stamp-libf77 stamp-libu77 stamp-libe77
  	rm -f $(LIBG2C)
! 	set -e; \
! 	for i in $(SUBDIRS); \
! 	  do (cd $$i && $(MAKE) $(FLAGS_TO_PASS) LIBG2C=../$(LIBG2C) archive); \
! 	done
  	objs=""; for i in $(F2CEXT); do objs="$$objs libE77/L$$i.o"; done; \
  	  $(AR) $(AR_FLAGS) $(LIBG2C) $$objs
  	$(RANLIB) $(LIBG2C)
  
! i77:
  	cd libI77; $(MAKE) $(FLAGS_TO_PASS) all
  
! f77:
  	cd libF77; $(MAKE) $(FLAGS_TO_PASS) all
  
! u77:
  	cd libU77; $(MAKE) $(FLAGS_TO_PASS) all
  
  stamp-libe77: $(srcdir)/f2cext.c
  	if [ -d libE77 ]; then rm -f libE77/*.o; else mkdir libE77; fi
  	for name in $(F2CEXT); \
*************** stamp-libe77: $(srcdir)/f2cext.c
*** 185,207 ****
  	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  	done
! 	touch stamp-libe77
  
  ${srcdir}/configure: ${srcdir}/configure.in
! 	rm -f config.cache Makefile g2c.h \
! 	  && cd $(srcdir) && autoconf && rm -f config.cache
! ${srcdir}/libU77/configure: ${srcdir}/libU77/configure.in
! 	rm -f libU77/config.cache libU77/Makefile && \
! 	  cd $(srcdir)/libU77 && autoconf && rm -f config.cache
! g2c.h Makefile: $(srcdir)/g2c.h.in $(srcdir)/Makefile.in config.status
  	$(SHELL) config.status
  config.status: $(srcdir)/configure $(gcc_version_trigger)
! 	$(SHELL) config.status --recheck
  
! info install-info clean-info dvi:
  
  check:
  	cd libU77; $(MAKE) G77DIR=../../../gcc/ check
  
! install:
  	$(INSTALL_DATA) $(LIBG2C) $(libsubdir)/$(LIBG2C).n
  	( cd $(libsubdir) ; $(RANLIB) $(LIBG2C).n )
--- 112,147 ----
  	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
  	done
! 	echo timestamp >stamp-libe77
  
  ${srcdir}/configure: ${srcdir}/configure.in
! 	rm -f config.cache
! 	cd $(srcdir) && autoconf
! 
! # Dependence on Makefile serializes for parallel make.
! g2c.h: $(srcdir)/g2c.h.in config.status Makefile
! # Might try to avoid rebuilding everything if Makefile or configure
! # changes and g2c.h doesn't; see also the Makefile rule.  Should
! # depend on another stamp file rather than using the commented-out
! # lines below, since g2c.h isn't necessarily brought up to date.
! #	mv g2c.h g2c.x
  	$(SHELL) config.status
+ #	$(srcdir)/../move-if-change g2c.h g2c.x && mv g2c.x g2c.h
+ 
+ Makefile: $(srcdir)/Makefile.in config.status
+ # Autoconf doc uses `./config.status'.  Is there a good reason to use 
+ 	  $(SHELL) config.status
+ 
  config.status: $(srcdir)/configure $(gcc_version_trigger)
! # Make sure we don't pick up a site config file and that configure
! # gets run with correct values of variables such as CC.
! 	CONFIG_SITE=no-such-file $(FLAGS_TO_PASS) \
! 	  $(SHELL) config.status --recheck
  
! info install-info clean-info dvi TAGS dist installcheck installdirs:
  
  check:
  	cd libU77; $(MAKE) G77DIR=../../../gcc/ check
  
! install: all
  	$(INSTALL_DATA) $(LIBG2C) $(libsubdir)/$(LIBG2C).n
  	( cd $(libsubdir) ; $(RANLIB) $(LIBG2C).n )
*************** install:
*** 218,240 ****
  	fi
  
  mostlyclean:
! 	rm -f stamp-* $(LIBG2C)
! 	rm -f libF77/*.o
! 	rm -f libI77/*.o
! 	rm -f libU77/*.o
  	rm -fr libE77
  
! clean:
! 	rm -f config.log libU77/config.log libU77/a.out
! 
! distclean:
! 	rm -f Makefile config.cache config.status g2c.h
! 	rm -f lib?77/Makefile lib?77/config.status
! 	rm -f lib?77/config.cache lib?77/config.h
  
  maintainer-clean:
- 	rm -f $(srcdir)/configure $(srcdir)/libU77/configure
  
! rebuilt: ${srcdir}/configure ${srcdir}/libU77/configure
  
! .PHONY: rebuilt mostlyclean clean distclean maintainer-clean all
--- 158,185 ----
  	fi
  
+ install-strip:
+ 	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
+ 
+ uninstall:
+ 	rm -f $(libsubdir)/include/g2c.h $(libsubdir)/$(LIBG2C)
+ 
  mostlyclean:
! 	rm -f $(LIBG2C)
! 	for i in $(SUBDIRS); do (cd $$i && $(MAKE) mostlyclean); done
  	rm -fr libE77
  
! clean: mostlyclean
! 	rm -f config.log
! 	for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean); done
! 
! distclean: clean
! 	rm -f Makefile config.cache config.status g2c.h stamp-libe77
! 	for i in $(SUBDIRS); do (cd $$i && $(MAKE) distclean); done
  
  maintainer-clean:
  
! rebuilt: ${srcdir}/configure
  
! .PHONY: rebuilt mostlyclean clean distclean maintainer-clean all \
!         i77 f77 u77 e77 check uninstall install-strip dist \
!         installcheck installdirs
diff -rcp2N old-libf2c/TODO libf2c/TODO
*** old-libf2c/TODO	Sun Feb  1 01:37:05 1998
--- libf2c/TODO	Fri Jul 10 00:02:26 1998
***************
*** 1,16 ****
! 970811
  
  TODO list for the g77 library
  
- * `Makefile.in's should be brought up to standard; I'm not sure they
-   have a complete set of targets at present.
- 
  * Investigate building shared libraries on systems we know about
!   (probably in 0.5.22, using libtool-1.0 from the FSF, which looks
!   quite useful).
  
! * Test cases.
  
! * Allow the library to be stripped to save space.
  
  * An interface to IEEE maths functions from libc where this makes
--- 1,13 ----
! 980709
  
  TODO list for the g77 library
  
  * Investigate building shared libraries on systems we know about
!   (probably using libtool).
  
! * Better test cases.
  
! * Allow the library to be stripped to save space.  (The install-strip
!   makefile target now allows this, should it be easily invocable.)
  
  * An interface to IEEE maths functions from libc where this makes
diff -rcp2N old-libf2c/configure.in libf2c/configure.in
*** old-libf2c/configure.in	Fri Jun 26 03:13:47 1998
--- libf2c/configure.in	Thu Jul  9 23:45:18 1998
***************
*** 1,4 ****
  # Process this file with autoconf to produce a configure script.
! #   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
  #   Contributed by Dave Love (d.love@dl.ac.uk).
  #
--- 1,4 ----
  # 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).
  #
*************** AC_SUBST(AR)
*** 35,52 ****
  if test "$RANLIB"; then :
    AC_SUBST(RANLIB)
- dnl Make sure that RANLIB_TEST is set also.
-   if test -z "$RANLIB_TEST"; then
-     RANLIB_TEST=true
-   fi
  else
-   RANLIB_TEST=true
    AC_PROG_RANLIB
  fi
! AC_SUBST(RANLIB_TEST)
! 
! dnl not needed for g77?
! dnl AC_PROG_MAKE_SET
! 
! dnl Checks for libraries.
  
  dnl Checks for header files.
--- 35,43 ----
  if test "$RANLIB"; then :
    AC_SUBST(RANLIB)
  else
    AC_PROG_RANLIB
  fi
! AC_PROG_INSTALL
! AC_PROG_MAKE_SET
  
  dnl Checks for header files.
*************** the G77 runtime system.  If necessary, i
*** 59,237 ****
  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)              
- 
- dnl for U77
- dnl AC_CHECK_HEADERS(unistd.h)
- 
- 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.
- AC_TYPE_SIGNAL
- # we'll get atexit by default
- if test $ac_cv_header_stdc != yes; then
- AC_CHECK_FUNC(atexit,
-   AC_DEFINE(onexit,atexit),dnl just in case
-   [AC_DEFINE(NO_ONEXIT)
-   AC_CHECK_FUNC(onexit,,
-     [AC_CHECK_FUNC(on_exit,
-      AC_DEFINE(onexit,on_exit),)])])
- else true
- fi
- 
- # 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
- 
- # This is necessary for e.g. Linux:
- AC_MSG_CHECKING([for necessary members of struct FILE])
- AC_CACHE_VAL(g77_cv_struct_FILE,
- [AC_TRY_COMPILE([#include <stdio.h>],
-   [FILE s; s._ptr; s._base; s._flag;],g77_cv_struct_FILE=yes,
-   g77_cv_struct_FILE=no)])dnl
- AC_MSG_RESULT($g77_cv_struct_FILE)
- if test $g77_cv_struct_FILE = no; then
-   AC_DEFINE(MISSING_FILE_ELEMS)
- fi
- 
- dnl perhaps should check also for remainder
- dnl Unfortunately, the message implies we're just checking for -lm...
- AC_CHECK_LIB(m,drem,AC_DEFINE(IEEE_drem))
- 
- dnl for U77:
- dnl AC_CHECK_FUNCS(symlink getcwd lstat)
- dnl test $ac_cv_func_symlink = yes && SYMLNK=symlnk_.o
- dnl test $ac_cv_func_lstat = yes && SYMLNK="$SYMLNK lstat_.o"
- dnl AC_SUBST(SYMLNK)
- 
- 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)
- 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
- 
  # We have to firkle with the info in hconfig.h to figure out suitable types
  # (via com.h).  proj.h and com.h are in $srcdir/.., config.h which they need
--- 50,53 ----
*************** ac_cpp=$late_ac_cpp
*** 331,341 ****
  AC_SUBST(F2C_LONGINT)
  
- dnl maybe check for drem/remainder
- 
- # This EOF_CHAR is a misfeature on unix.
- AC_DEFINE(NO_EOF_CHAR_CHECK)
- 
- AC_DEFINE(Skip_f2c_Undefs)
- 
  # avoid confusion in case the `makefile's from the f2c distribution have
  # got put here
--- 147,150 ----
*************** AC_CANONICAL_SYSTEM
*** 358,368 ****
  AC_SUBST(target_alias)
  
! AC_CONFIG_SUBDIRS(libU77)
! AC_OUTPUT(Makefile g2c.h libI77/Makefile libF77/Makefile)
! 
! dnl We might have configuration options to:
! dnl * change unit preconnexion in libI77/err.c (f_init.c)
! dnl * -DALWAYS_FLUSH in libI77
! dnl * -DOMIT_BLANK_CC in libI77
  
  dnl Local Variables:
--- 167,172 ----
  AC_SUBST(target_alias)
  
! AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
! AC_OUTPUT(Makefile g2c.h)
  
  dnl Local Variables:
diff -rcp2N old-libf2c/libF77/Makefile.in libf2c/libF77/Makefile.in
*** old-libf2c/libF77/Makefile.in	Mon Jun 15 08:52:03 1998
--- libf2c/libF77/Makefile.in	Thu Jul  9 23:41:45 1998
***************
*** 24,48 ****
  #### Start of system configuration section. ####
  
! # $(srcdir) must be set to the g77 runtime libF77 source directory
! # (g77/f/runtime/libF77).
! 
  srcdir = @srcdir@
  VPATH = @srcdir@
  
! # gcc/f/runtime/configure sets this to all the -D options appropriate
! # for the configuration.
  DEFS = @DEFS@
  
! #### End of system configuration section. ####
  
! # Must be passed in explicitly.  Sample values are shown below.
! #CC = /gcc-build-dir/xgcc -B/gcc-build-dir/
! #CFLAGS = -O -g
! #CPPFLAGS = 
! #F2C_H_DIR = /gcc-source-dir/f/runtime
! #G2C_H_DIR = /gcc-build-dir/f/runtime
! #GCC_H_DIR = /gcc-build-dir/include
  
! ALL_CFLAGS = -I. -I$(srcdir) -I$(G2C_H_DIR) -I$(F2C_H_DIR) -I$(GCC_H_DIR) $(CPPFLAGS) $(DEFS) $(CFLAGS)
  
  .SUFFIXES:
--- 24,51 ----
  #### Start of system configuration section. ####
  
! # $(srcdir) must be set to the g77 runtime libF77 source directory.
  srcdir = @srcdir@
  VPATH = @srcdir@
  
! # configure sets this to all the -D options appropriate for the
! # configuration.
  DEFS = @DEFS@
  
! LIBG2C = ../libg2c.a
! 
! F2C_H_DIR = @srcdir@/..
! G2C_H_DIR = ..
! CC = @CC@
! CFLAGS = @CFLAGS@
! CPPFLAGS = @CPPFLAGS@
! AR = @AR@
! ARFLAGS = rc
! @SET_MAKE@
! 
! SHELL = /bin/sh
  
! #### End of system configuration section. ####
  
! ALL_CFLAGS = -I. -I$(srcdir) -I$(G2C_H_DIR) -I$(F2C_H_DIR) $(CPPFLAGS) $(DEFS) $(CFLAGS)
  
  .SUFFIXES:
*************** CHAR =	s_cat.o s_cmp.o s_copy.o
*** 75,81 ****
  F90BIT = lbitbits.o lbitshft.o qbitbits.o qbitshft.o
  
! all: $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
  	 $(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT)
  
  VersionF.o: Version.c
  	$(CC) -c $(ALL_CFLAGS) -o $@ $(srcdir)/Version.c
--- 78,104 ----
  F90BIT = lbitbits.o lbitshft.o qbitbits.o qbitshft.o
  
! OBJS = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
  	 $(HALF) $(CMP) $(EFL) $(CHAR) $(F90BIT)
  
+ all: ../stamp-libf77
+ 
+ ../stamp-libf77: $(OBJS)
+ 	echo timestamp > ../stamp-libf77
+ 
+ archive:
+ 	$(AR) $(ARFLAGS) $(LIBG2C) $(OBJS)
+ 
+ Makefile: Makefile.in config.status
+ 	$(SHELL) config.status
+ 
+ config.status: configure
+ 	rm -f config.cache
+ 	CONFIG_SITE=no-such-file CC='$(CC)' AR='$(AR)' CFLAGS='$(CFLAGS)' \
+ 	  CPPFLAGS='$(CPPFLAGS)' $(SHELL) config.status --recheck
+ 
+ ${srcdir}/configure: configure.in
+ 	rm -f config.cache
+ 	cd ${srcdir} && autoconf
+ 
  VersionF.o: Version.c
  	$(CC) -c $(ALL_CFLAGS) -o $@ $(srcdir)/Version.c
*************** $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DB
*** 85,87 ****
    $(CHAR) $(F90BIT): $(F2C_H_DIR)/f2c.h $(G2C_H_DIR)/g2c.h
  
! .PHONY: all
--- 108,124 ----
    $(CHAR) $(F90BIT): $(F2C_H_DIR)/f2c.h $(G2C_H_DIR)/g2c.h
  
! check install uninstall install-strip dist installcheck installdirs:
! 
! mostlyclean:
! 	rm -f *.o
! 
! clean: mostlyclean
! 	rm -f config.log
! 
! distclean: clean
! 	rm -f config.cache config.status Makefile ../stamp-libf77 configure
! 
! maintainer-clean:
! 
! .PHONY: mostlyclean clean distclean maintainer-clean all check uninstall \
!         install-strip dist installcheck installdirs archive
diff -rcp2N old-libf2c/libF77/configure.in libf2c/libF77/configure.in
*** old-libf2c/libF77/configure.in	Thu Jan  1 01:00:00 1970
--- libf2c/libF77/configure.in	Tue Jul  7 15:57:53 1998
***************
*** 0 ****
--- 1,107 ----
+ # 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(getarg_.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)
+ 
+ dnl Checks for library functions.
+ AC_TYPE_SIGNAL
+ # we'll get atexit by default
+ if test $ac_cv_header_stdc != yes; then
+ AC_CHECK_FUNC(atexit,
+   AC_DEFINE(onexit,atexit),dnl just in case
+   [AC_DEFINE(NO_ONEXIT)
+   AC_CHECK_FUNC(onexit,,
+     [AC_CHECK_FUNC(on_exit,
+      AC_DEFINE(onexit,on_exit),)])])
+ else true
+ fi
+ 
+ dnl perhaps should check also for remainder
+ dnl Unfortunately, the message implies we're just checking for -lm...
+ AC_CHECK_LIB(m,drem,AC_DEFINE(IEEE_drem))
+ 
+ AC_DEFINE(Skip_f2c_Undefs)
+ 
+ AC_OUTPUT(Makefile)
+ 
+ dnl Local Variables:
+ dnl comment-start: "dnl "
+ dnl comment-end: ""
+ dnl comment-start-skip: "\\bdnl\\b\\s *"
+ dnl End:
diff -rcp2N old-libf2c/libI77/Makefile.in libf2c/libI77/Makefile.in
*** old-libf2c/libI77/Makefile.in	Mon Jun 15 08:52:04 1998
--- libf2c/libI77/Makefile.in	Thu Jul  9 23:42:27 1998
***************
*** 24,48 ****
  #### Start of system configuration section. ####
  
! # $(srcdir) must be set to the g77 runtime libF77 source directory
! # (g77/f/runtime/libF77).
! 
  srcdir = @srcdir@
  VPATH = @srcdir@
  
! # gcc/f/runtime/configure sets this to all the -D options appropriate
! # for the configuration.
  DEFS = @DEFS@
  
! #### End of system configuration section. ####
  
! # Must be passed in explicitly.  Sample values are shown below.
! #CC = /gcc-build-dir/xgcc -B/gcc-build-dir/
! #CFLAGS = -O -g
! #CPPFLAGS = 
! #F2C_H_DIR = /gcc-source-dir/f/runtime
! #G2C_H_DIR = /gcc-build-dir/f/runtime
! #GCC_H_DIR = /gcc-build-dir/include
  
! ALL_CFLAGS = -I. -I$(srcdir) -I$(G2C_H_DIR) -I$(F2C_H_DIR) -I$(GCC_H_DIR) $(CPPFLAGS) $(DEFS) $(CFLAGS)
  
  .SUFFIXES:
--- 24,52 ----
  #### Start of system configuration section. ####
  
! # $(srcdir) must be set to the g77 runtime libI77 source directory.
  srcdir = @srcdir@
  VPATH = @srcdir@
  
! # configure sets this to all the -D options appropriate for the
! # configuration.
  DEFS = @DEFS@
  
! LIBG2C = ../libg2c.a
! 
! F2C_H_DIR = @srcdir@/..
! G2C_H_DIR = ..
! CC = @CC@
! CFLAGS = @CFLAGS@
! CPPFLAGS = @CPPFLAGS@
! AR = @AR@
! ARFLAGS = rc
! @SET_MAKE@
! 
! SHELL = /bin/sh
  
! #### End of system configuration section. ####
  
! ALL_CFLAGS = -I. -I$(srcdir) -I$(G2C_H_DIR) -I$(F2C_H_DIR) $(CPPFLAGS) \
!              $(DEFS) $(CFLAGS)
  
  .SUFFIXES:
*************** OBJ =	VersionI.o backspace.o close.o dfe
*** 58,62 ****
  	ftell_.o
  
! all: $(OBJ)
  
  VersionI.o: Version.c
--- 62,84 ----
  	ftell_.o
  
! all: ../stamp-libi77
! 
! ../stamp-libi77: $(OBJ)
! 	echo timestamp > ../stamp-libi77
! 
! archive:
! 	$(AR) $(ARFLAGS) $(LIBG2C) $(OBJ)
! 
! Makefile: Makefile.in config.status
! 	$(SHELL) config.status
! 
! config.status: configure
! 	rm -f config.cache
! 	CONFIG_SITE=no-such-file CC='$(CC)' AR='$(AR)' CFLAGS='$(CFLAGS)' \
! 	  CPPFLAGS='$(CPPFLAGS)' $(SHELL) config.status --recheck
! 
! ${srcdir}/configure: configure.in
! 	rm -f config.cache
! 	cd ${srcdir} && autoconf
  
  VersionI.o: Version.c
*************** xwsne.o:	fmt.h
*** 119,121 ****
  $(OBJ): $(F2C_H_DIR)/f2c.h $(G2C_H_DIR)/g2c.h
  
! .PHONY: all
--- 141,157 ----
  $(OBJ): $(F2C_H_DIR)/f2c.h $(G2C_H_DIR)/g2c.h
  
! check install uninstall install-strip dist installcheck installdirs:
! 
! mostlyclean:
! 	rm -f *.o
! 
! clean: mostlyclean
! 	rm -f config.log
! 
! distclean: clean
! 	rm -f config.cache config.status Makefile ../stamp-libi77 configure
! 
! maintainer-clean:
! 
! .PHONY: mostlyclean clean distclean maintainer-clean all check uninstall \
!         install-strip dist installcheck installdirs archive
diff -rcp2N old-libf2c/libI77/configure.in libf2c/libI77/configure.in
*** old-libf2c/libI77/configure.in	Thu Jan  1 01:00:00 1970
--- libf2c/libI77/configure.in	Tue Jul  7 21:20:27 1998
***************
*** 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:
diff -rcp2N old-libf2c/libU77/Makefile.in libf2c/libU77/Makefile.in
*** old-libf2c/libU77/Makefile.in	Thu Jul  9 15:03:23 1998
--- libf2c/libU77/Makefile.in	Thu Jul  9 22:18:58 1998
***************
*** 22,48 ****
  #### Start of system configuration section. ####
  
! # $(srcdir) must be set to the g77 runtime libF77 source directory
! # (g77/f/runtime/libF77).
! 
  srcdir = @srcdir@
  VPATH = @srcdir@
  
! # gcc/f/runtime/configure sets this to all the -D options appropriate
! # for the configuration.
  DEFS = @DEFS@
  LIBS = @LIBS@
  
! #### End of system configuration section. ####
  
! # Must be passed in explicitly.  Sample values are shown below.
! #CC = /gcc-build-dir/xgcc -B/gcc-build-dir/
! #CFLAGS = -O -g
! #CPPFLAGS = 
! #F2C_H_DIR = /gcc-source-dir/f/runtime
! #G2C_H_DIR = /gcc-build-dir/f/runtime
! #GCC_H_DIR = /gcc-build-dir/include
  
  # fio.h is in libI77.  config.h is in `.'.
! ALL_CFLAGS = -I. -I$(srcdir) -I$(G2C_H_DIR)/libI77 -I$(F2C_H_DIR)/libI77 -I$(G2C_H_DIR) -I$(F2C_H_DIR) -I$(GCC_H_DIR) $(CPPFLAGS) $(DEFS) $(CFLAGS)
  
  # This could probably be done more elegantly, but it's currently
--- 22,52 ----
  #### Start of system configuration section. ####
  
! # $(srcdir) must be set to the g77 runtime libU77 source directory
  srcdir = @srcdir@
  VPATH = @srcdir@
  
! # configure sets this to all the -D options appropriate for the
! # configuration.
  DEFS = @DEFS@
  LIBS = @LIBS@
  
! LIBG2C = ../libg2c.a
  
! F2C_H_DIR = @srcdir@/..
! G2C_H_DIR = ..
! CC = @CC@
! CFLAGS = @CFLAGS@
! CPPFLAGS = @CPPFLAGS@
! AR = @AR@
! ARFLAGS = rc
! @SET_MAKE@
! 
! SHELL = /bin/sh
! 
! #### End of system configuration section. ####
  
  # fio.h is in libI77.  config.h is in `.'.
! ALL_CFLAGS = -I. -I$(srcdir) -I$(F2C_H_DIR)/libI77 -I$(G2C_H_DIR) \
!              $(CPPFLAGS) $(DEFS) $(CFLAGS)
  
  # This could probably be done more elegantly, but it's currently
*************** SRCS =  Version.c gerror_.c perror_.c ie
*** 77,81 ****
  	alarm_.c datetime_.c
  
! all: $(OBJS)
  
  VersionU.o: Version.c
--- 81,112 ----
  	alarm_.c datetime_.c
  
! all: ../stamp-libu77
! 
! ../stamp-libu77: $(OBJS)
! 	echo timestamp > ../stamp-libu77
! 
! archive:
! 	$(AR) $(ARFLAGS) $(LIBG2C) $(OBJS)
! 
! Makefile: Makefile.in config.status
! 	$(SHELL) config.status
! 
! config.status: configure
! 	rm -f config.cache
! 	CONFIG_SITE=no-such-file CC='$(CC)' AR='$(AR)' CFLAGS='$(CFLAGS)' \
! 	  CPPFLAGS='$(CPPFLAGS)' $(SHELL) config.status --recheck
! 
! ${srcdir}/configure: configure.in
! 	cd ${srcdir} && autoconf
! 
! ${srcdir}/config.h.in: stamp-h.in
! ${srcdir}/stamp-h.in: configure.in acconfig.h
! 	cd ${srcdir} && autoheader
! 	echo timestamp > ${srcdir}/stamp-h.in
! 
! config.h: stamp-h
! stamp-h: config.h.in config.status
! 	$(SHELL) config.status
! 	echo timestamp > stamp-h
  
  VersionU.o: Version.c
*************** alarm_.o: alarm_.c
*** 140,149 ****
  datetime_.o: datetime_.c
  
- lint:
- 	lint $(ALL_CFLAGS) $(SRCS)
- 
  check:
  	-$(G77DIR)g77 -B$(G77DIR) -L.. -g $(srcdir)/u77-test.f -lg2c $(LIBS) -lm && ./a.out
  	rm -f a.out
  
! .PHONY: lint check all
--- 171,192 ----
  datetime_.o: datetime_.c
  
  check:
  	-$(G77DIR)g77 -B$(G77DIR) -L.. -g $(srcdir)/u77-test.f -lg2c $(LIBS) -lm && ./a.out
  	rm -f a.out
  
! install uninstall install-strip dist installcheck installdirs:
! 
! mostlyclean:
! 	rm -f *.o a.out
! 
! clean: mostlyclean
! 	rm -f config.log
! 
! distclean: clean
! 	rm -f config.cache config.status Makefile config.h stamp.h \
! 	  ../stamp-libu77 configure
! 
! maintainer-clean:
! 
! .PHONY: mostlyclean clean distclean maintainer-clean all check uninstall \
!         install-strip dist installcheck installdirs archive
diff -rcp2N old-libf2c/libU77/configure.in libf2c/libU77/configure.in
*** old-libf2c/libU77/configure.in	Mon Jul  6 10:01:43 1998
--- libf2c/libU77/configure.in	Thu Jul  9 14:03:10 1998
***************
*** 1,4 ****
  # Process this file with autoconf to produce a configure script.
! #   Copyright (C) 1995 Free Software Foundation, Inc.
  #   Contributed by Dave Love (d.love@dl.ac.uk).
  #
--- 1,4 ----
  # Process this file with autoconf to produce a configure script.
! #   Copyright (C) 1995, 1998 Free Software Foundation, Inc.
  #   Contributed by Dave Love (d.love@dl.ac.uk).
  #
*************** else
*** 35,38 ****
--- 35,42 ----
  fi
  
+ test "$AR" || AR=ar
+ AC_SUBST(AR)
+ AC_PROG_MAKE_SET
+ 
  dnl This is only because we (horribly) punt the chmod job to the program at
  dnl present.  Note that the result of this test could be wrong in the cross
*************** else
*** 46,69 ****
  fi
  
- dnl for g77 build maybe use $(RANLIB_FOR_TARGET) always (like wise AR)
- if test "$ac_cv_c_cross" = yes; then
-   RANLIB=$RANLIB_FOR_TARGET
-   AR=$AR_FOR_TARGET
-   AC_SUBST(RANLIB)
- else
-   AC_PROG_RANLIB
-   AR=ar
-   RANLIB_TEST=true
- fi
- AC_SUBST(AR)
- dnl not needed for g77
- dnl AC_SUBST(AR_FOR_TARGET)
- dnl AC_SUBST(RANLIB_FOR_TARGET)
- dnl AC_SUBST(RANLIB_TEST_FOR_TARGET)
- dnl not needed for g77?
- dnl AC_PROG_MAKE_SET
- 
- dnl Checks for libraries.
- 
  dnl Checks for header files.
  AC_HEADER_STDC
--- 50,53 ----
*************** AC_SUBST(CROSS)
*** 114,117 ****
  AC_SUBST(RANLIB)
  AC_SUBST(RANLIB_TEST)
- 
  AC_OUTPUT(Makefile)
--- 98,100 ----
diff -rcp2N old-libf2c/libU77/stamp-h.in libf2c/libU77/stamp-h.in
*** old-libf2c/libU77/stamp-h.in	Thu Jan  1 01:00:00 1970
--- libf2c/libU77/stamp-h.in	Thu Jul  9 14:04:29 1998
***************
*** 0 ****
--- 1 ----
+ timestamp


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]