summaryrefslogtreecommitdiff
path: root/gcc/f
diff options
context:
space:
mode:
authortoon <toon@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-30 22:06:23 +0000
committertoon <toon@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-30 22:06:23 +0000
commitc2e6b1c8782e623d84d6faaf996eca813bd28ed3 (patch)
treed3f879a8c94cf574d2fa727c7a2c1ebdf8065cf3 /gcc/f
parent680776c828e07c0d2ccba0f4665e2d302996e1c6 (diff)
downloadgcc-c2e6b1c8782e623d84d6faaf996eca813bd28ed3.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45913 138bc75d-0d04-0410-961f-82ee72b054a4
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 dbeab8fe524..98009f964db 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 df0a4d13779..b3034cab946 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 b096dc6161b..70d4fac3306 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)