aboutsummaryrefslogtreecommitdiff
path: root/gcc/f
diff options
context:
space:
mode:
authorJuergen Pfeifer <juergen.pfeifer@gmx.net>2001-09-30 22:06:23 +0000
committerToon Moene <toon@gcc.gnu.org>2001-09-30 22:06:23 +0000
commitdedc4a53c184f08a438cad9df5aa8c178e436966 (patch)
treed3f879a8c94cf574d2fa727c7a2c1ebdf8065cf3 /gcc/f
parente94494014fef2515bfd80f8cea773ab8a4a6c3a5 (diff)
downloadgcc-dedc4a53c184f08a438cad9df5aa8c178e436966.zip
gcc-dedc4a53c184f08a438cad9df5aa8c178e436966.tar.gz
gcc-dedc4a53c184f08a438cad9df5aa8c178e436966.tar.bz2
Make libf2c a shared library (gcc/f directory).
2001-09-29 Juergen Pfeifer <juergen.pfeifer@gmx.net> Make libf2c a shared library (gcc/f directory). * Make-lang.in: Pass define of frtbegin.o to compilation of g77spec.c. * g77spec.c (lang_specific_driver): Treat linking in of frtbegin.o. 2001-09-29 Juergen Pfeifer <juergen.pfeifer@gmx.net> Toon Moene <toon@moene.indiv.nluug.nl> Make libf2c a shared library (libf2c directory). * aclocal.m4: Get definition of libtool. * Makefile.in: Use libtool. * configure.in: Use libtool. * configure: Regenerated. * libF77/Makefile.in: Use libtool; treat main program contained in libF77/main.c specially. * libF77/configure.in: Use libtool. * libF77/configure: Regenerated. * libI77/Makefile.in: Use libtool. * libI77/configure.in: Use libtool. * libI77/configure: Regenerated. * libU77/Makefile.in: Use libtool. * libU77/configure.in: Use libtool. * libU77/configure: Regenerated. * libU77/date_.c: Adapt for -fPIC compiling. * libU77/vxtidate_.c: Ditto. From-SVN: r45913
Diffstat (limited to 'gcc/f')
-rw-r--r--gcc/f/ChangeLog7
-rw-r--r--gcc/f/Make-lang.in1
-rw-r--r--gcc/f/g77spec.c17
3 files changed, 24 insertions, 1 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index dbeab8f..98009f9 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,10 @@
+2001-09-29 Juergen Pfeifer <juergen.pfeifer@gmx.net>
+
+ Make libf2c a shared library.
+
+ * Make-lang.in: Pass define of frtbegin.o to compilation of g77spec.c.
+ * g77spec.c (lang_specific_driver): Treat linking in of frtbegin.o.
+
2001-09-28 Robert Anderson <rwa@alumni.princeton.edu>
* expr.c (ffeexpr_sym_rhs_dimlist_): Allow array elements
diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in
index df0a4d1..b3034ca 100644
--- a/gcc/f/Make-lang.in
+++ b/gcc/f/Make-lang.in
@@ -73,6 +73,7 @@ g77spec.o: $(srcdir)/f/g77spec.c $(srcdir)/f/version.h $(SYSTEM_H) $(GCC_H) \
esac
if [ -f lang-f77 ]; then \
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ -DFORTRAN_INIT=\"$(libsubdir)/frtbegin.o\" \
$(srcdir)/f/g77spec.c $(OUTPUT_OPTION); \
else true; fi
diff --git a/gcc/f/g77spec.c b/gcc/f/g77spec.c
index b096dc6..70d4fac 100644
--- a/gcc/f/g77spec.c
+++ b/gcc/f/g77spec.c
@@ -286,6 +286,9 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
2 => last two args were -l<library> -lm. */
int saw_library = 0;
+ /* 0 => initial/reset state
+ 1 => FORTRAN_INIT linked in */
+ int use_init = 0;
/* By default, we throw on the math library if we have one. */
int need_math = (MATH_LIBRARY[0] != '\0');
@@ -518,7 +521,14 @@ For bug reporting instructions, please see:\n\
if (saw_library == 1)
saw_library = 2; /* -l<library> -lm. */
else
- append_arg (FORTRAN_LIBRARY);
+ {
+ if (0 == use_init)
+ {
+ append_arg (FORTRAN_INIT);
+ use_init = 1;
+ }
+ append_arg (FORTRAN_LIBRARY);
+ }
}
else if (strcmp (argv[i], FORTRAN_LIBRARY) == 0)
saw_library = 1; /* -l<library>. */
@@ -542,6 +552,11 @@ For bug reporting instructions, please see:\n\
switch (saw_library)
{
case 0:
+ if (0 == use_init)
+ {
+ append_arg (FORTRAN_INIT);
+ use_init = 1;
+ }
append_arg (library);
case 1:
if (need_math)