Re: [AD] Compiling errors with Allegro 3.9.29 shared/debug version. |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On Tue, Dec 14, 1999 at 08:53:50PM +0000, Shawn Hargreaves wrote:
> That seems to fix it, although I think it would be just as easy to simply
> change the definition for $(LIBALLEG), which only ever seems to be used in
> the dependencies for each executable.
It feels neater this way though -- it's liballeg.so's fault that
the static library is a dependency, so its rule ought to be
responsible for passing on that dependency. :) This isn't an
issue now, anyway, because now liballeg.so just becomes a
symbolic link and this patch is effectively reversed.
> This does considerably increase the complexity of generating the script, but
> I'm happy to do that part of it if you can sort out the rest of how Allegro
> itself is built.
OK, I think the rest of Allegro is pretty much fine though.
Linking with the shared libraries using the `allegro-lib' script
works perfectly well I think, but it does lean on the current
linker script system at the moment (only slightly, though).
> And it would allow us to get rid of all linker scripts,
> which will make the whole thing more portable. Am I right in thinking that
> we basically have three library files? .a for static libs, .so for shared,
> and another .a for the static parts of the shared libs? That doesn't seem
> _too_ painful. And as long as we avoid using the same basename for the .a
> and .so versions, it should be easy enough to make the wrapper script select
> which versions it wants to include...
Changing the basename sounds like a good idea. How about using
`liballeg_shared' as the basename for the shared library,
`liballeg_unsharable' for the static unsharable things, and just
`liballeg' or `liballeg_static' for the whole static library?
I've never much liked the word `nonshared'. :)
Then for static linking this script has to output "-lalleg"
followed by the list of libraries, and for shared linking it
outputs "-( -lalleg_shared -lalleg_unsharable -)" followed by
the dependencies. I've been looking at the `-rpath-link' switch
of the linker, though.
Another alternative is to not provide `liballeg_shared.so' at
all, and make the script output the real name of the library
(e.g. liballeg-3.9.29.so). And we can abandon sonames too, so
we don't provide the `liballeg.so.3' file either -- that's
effectively admitting that our libraries are never backward
compatible at the binary level. If we do this, we get a nice
system with only those three file installed into the `lib'
directory.
> I think it is more to do with the sort of things that people want to pay you
> for not being all that interesting in the first place. This is Access
> database stuff, isn't it? You poor man :-)
:) Next time I write a contract I'll be more careful about
offering maintenance effectively free of charge...
> > This does not work for the end-user one though because we don't have a
> > build tree to run `make uninstall' in any more. I considered doing `make
> > --dry-run uninstall' while the tree's still there and saving the resulting
> > script as /usr/local/src/allegro-uninstall.sh or something, and calling
> > that from the %preun script of the RPM, but I haven't implemented it.
>
> That's not a bad idea. I did something similar for the MSVC binary
> distribution (it runs make -n to find out how to build the support progs,
> and then converts the output into a batch file), and it struck me as being
> both effective and very satisfying :-)
OK, done, sort of. It makes an error because it can't find the
documentation source, in order to work out what it needs to
delete, but that's not a problem because by that stage it's
already deleted everything it installed.
Four patches should be attached to this email (5,6,7,8). The
last three work in sequence, changing the way the libraries are
generated and named; apply a few and stop if you think it gets
too extreme. :) Patch 5 is based on patch 4, which is based on
3, which is based on 1, not 2, so this bypasses the changes I
already made to this system -- undo patch 2 if you've applied
it. Maybe I should go back to characters from books...
Here's what the patches do:
patch-3929-5:
sorts out the end-user RPM, as above
patch-3929-6:
liballeg.a script removed
liballeg_backend.a is renamed back to liballeg.a
liballeg.so script removed
liballeg_shared.so created, a symbolic link
liballeg_nonshared.a renamed to liballeg_unsharable.a
patch-3929-7:
liballeg_shared.so removed
patch-3929-8:
liballeg.so.3 removed
None of these will actually work until `allegro-lib' is
modified. Nevertheless, I tested building `tests/test', and
installing libraries and building Speed after adjusting its
makefile to explicitly link all the libraries.
Personally I'm happy with applying all of these patches, which
reduces the total number of library files we install -- a nice
side effect is that when a loading error occurs, the user gets
an error message specifying the version number that caused the
error. It's very like the DLL system in the end, which isn't a
problem if we're happy about never having compatibility across
shared library binaries.
Note that we still need to run `ldconfig'.
Oh, one last thing, concerning using `-(' and `-)' -- I've just
realised that I didn't bother using them in the makefiles
(configure.in actually) or in my hacked Speed makefile, yet
there weren't any unresolved references. Is this something
we'll rely on? Basically, if the assembler routines in the
unsharable library ever refer to something in the shared library
that wasn't already linked in, there'll be a linking error. If
we know that when an unsharable routine is linked in, all the
things it refers to must already be present, then there's no
problem. Otherwise we need `-(' and `-)' around the two
libraries, which is documented as being significantly slower.
Oh, one more last thing -- if we use patch 8, we can also get
rid of everything to do with major library versions; it's not
used any more in that case.
George
diff -urN all3929-4/misc/allegro-enduser.spec all3929-5/misc/allegro-enduser.spec
--- all3929-4/misc/allegro-enduser.spec Tue Dec 14 03:14:02 1999
+++ all3929-5/misc/allegro-enduser.spec Tue Dec 14 23:16:49 1999
@@ -58,10 +58,15 @@
make depend
make lib
make install
+echo "#!/bin/sh" > /usr/local/bin/allegro-uninstall
+make uninstall --dry-run >> /usr/local/bin/allegro-uninstall
+echo "rm -f /usr/local/bin/allegro-uninstall" >> /usr/local/bin/allegro-uninstall
+chmod 700 /usr/local/bin/allegro-uninstall
cd ..
rm -rf all3929
%preun
+/usr/local/bin/allegro-uninstall
cd /usr/local/src
touch all3929-enduser.tar.gz
diff -urN all3929-5/configure all3929-6/configure
--- all3929-5/configure Tue Dec 14 02:42:00 1999
+++ all3929-6/configure Wed Dec 15 00:27:39 1999
@@ -1622,8 +1622,8 @@
LIBALLEG=lib/unix/lib$lib_to_link.a
LINK_LIBALLEG="$LIBALLEG"
else
- LIBALLEG=lib/unix/lib$lib_to_link.so
- LINK_LIBALLEG="-Llib/unix -l$lib_to_link"
+ LIBALLEG="lib/unix/lib${lib_to_link}_shared.so lib/unix/lib${lib_to_link}_unsharable.a"
+ LINK_LIBALLEG="$LIBALLEG"
fi
@@ -1645,13 +1645,13 @@
fi
if test "X$allegro_shared_libraries" = "Xyes"; then
if test "X$allegro_build_normal_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg.so lib/unix/liballeg_nonshared.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg_shared.so lib/unix/liballeg_unsharable.a"
fi
if test "X$allegro_build_debugging_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd.so lib/unix/liballd_nonshared.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd_shared.so lib/unix/liballd_unsharable.a"
fi
if test "X$allegro_build_profiling_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp.so lib/unix/liballp_nonshared.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp_shared.so lib/unix/liballp_unsharable.a"
fi
fi
diff -urN all3929-5/configure.in all3929-6/configure.in
--- all3929-5/configure.in Tue Dec 14 02:41:58 1999
+++ all3929-6/configure.in Wed Dec 15 00:27:37 1999
@@ -187,8 +187,8 @@
LIBALLEG=lib/unix/lib$lib_to_link.a
LINK_LIBALLEG="$LIBALLEG"
else
- LIBALLEG=lib/unix/lib$lib_to_link.so
- LINK_LIBALLEG="-Llib/unix -l$lib_to_link"
+ LIBALLEG="lib/unix/lib${lib_to_link}_shared.so lib/unix/lib${lib_to_link}_unsharable.a"
+ LINK_LIBALLEG="$LIBALLEG"
fi
AC_SUBST(LIBALLEG)
AC_SUBST(LINK_LIBALLEG)
@@ -211,13 +211,13 @@
fi
if test "X$allegro_shared_libraries" = "Xyes"; then
if test "X$allegro_build_normal_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg.so lib/unix/liballeg_nonshared.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg_shared.so lib/unix/liballeg_unsharable.a"
fi
if test "X$allegro_build_debugging_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd.so lib/unix/liballd_nonshared.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd_shared.so lib/unix/liballd_unsharable.a"
fi
if test "X$allegro_build_profiling_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp.so lib/unix/liballp_nonshared.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp_shared.so lib/unix/liballp_unsharable.a"
fi
fi
AC_SUBST(ALLEGRO_LIB_TARGETS)
diff -urN all3929-5/makefile.in all3929-6/makefile.in
--- all3929-5/makefile.in Tue Dec 14 01:59:37 1999
+++ all3929-6/makefile.in Wed Dec 15 00:26:10 1999
@@ -49,8 +49,6 @@
LN_S = @LN_S@
mkinstalldirs = $(SHELL) $(srcdir)/misc/mkdirs.sh
-mksofile = $(SHELL) $(srcdir)/misc/mksofile.sh
-mkfrontend = $(SHELL) $(srcdir)/misc/mkfrontend.sh
mkldscript = $(SHELL) $(srcdir)/misc/mkldscript.sh
CONFIG_H = include/allegro/alunixac.h
@@ -247,16 +245,15 @@
@for l in alleg alld allp; do \
if test -f $(LIBDIR)/lib$${l}.a; then \
echo Installing $(LIBDIR)/lib$${l}.a to $(libdir); \
- $(INSTALL_DATA) $(LIBDIR)/lib$${l}.a $(libdir)/lib$${l}_backend.a; \
- $(mkfrontend) $(libdir) $${l} "$(LIBS)" "@ALLEGRO_XWINDOWS_LIBDIR@"; \
+ $(INSTALL_DATA) $(LIBDIR)/lib$${l}.a $(libdir)/; \
fi; \
done
@for l in alleg alld allp; do \
if test -f $(LIBDIR)/lib$${l}-$(shared_version).so; then \
echo Installing $(LIBDIR)/lib$${l}-$(shared_version).so to $(libdir); \
$(INSTALL_DATA) $(LIBDIR)/lib$${l}-$(shared_version).so $(libdir)/; \
- $(INSTALL_DATA) $(LIBDIR)/lib$${l}_nonshared.a $(libdir)/; \
- $(mksofile) $(libdir) lib$${l}.so lib$${l}-$(shared_version).so lib$${l}_nonshared.a; \
+ $(INSTALL_DATA) $(LIBDIR)/lib$${l}_unsharable.a $(libdir)/; \
+ ln -sf lib$${l}-$(shared_version).so $(libdir)/lib$${l}_shared.so; \
fi; \
done
$(mkldscript) $(LDFLAGS) $(LIBS) > allegro-lib
@@ -309,10 +306,9 @@
uninstall-lib:
@echo "Uninstalling libraries..."
@for l in alleg alld allp; do \
- rm -f $(libdir)/lib$${l}_backend.a; \
rm -f $(libdir)/lib$${l}-$(shared_version).so; \
- rm -f $(libdir)/lib$${l}_nonshared.a; \
- rm -f $(libdir)/lib$${l}.so; \
+ rm -f $(libdir)/lib$${l}_unsharable.a; \
+ rm -f $(libdir)/lib$${l}_shared.so; \
rm -f $(libdir)/lib$${l}.a; \
done
rm -f $(bindir)/allegro-lib
diff -urN all3929-5/misc/deplib.sh all3929-6/misc/deplib.sh
--- all3929-5/misc/deplib.sh Tue Dec 14 01:54:28 1999
+++ all3929-6/misc/deplib.sh Wed Dec 15 00:15:11 1999
@@ -12,30 +12,28 @@
local sharelib="lib${1}-\$(shared_version).so"
local soname="lib${1}.so.\$(shared_major)"
- local link="lib${1}.so"
+ local link="lib${1}_shared.so"
local shareobj="\$(${2}_SHARED_OBJECTS)"
- local unsharelib="lib${1}_nonshared.a"
+ local unsharelib="lib${1}_unsharable.a"
local unshareobj="\$(${2}_UNSHARED_OBJECTS)"
echo "\$(LIBDIR)/${staticlib}: ${staticobj}"
- echo " rm -f \$(LIBDIR)/${staticlib}"
- echo " \$(AR) rvs \$(LIBDIR)/${staticlib} ${staticobj}"
+ echo " rm -f \$@"
+ echo " \$(AR) rvs \$@ \$^"
echo ""
echo "\$(LIBDIR)/${sharelib}: ${shareobj}"
- echo " rm -f \$(LIBDIR)/${sharelib}"
+ echo " rm -f \$@"
# gf: This bit is obviously gcc-specific
- echo " gcc -shared -Wl,-soname,${soname} -o \$(LIBDIR)/${sharelib} ${shareobj}"
+ echo " gcc -shared -Wl,-soname,${soname} -o \$@ \$^"
+ echo " ln -sf ${sharelib} \$(LIBDIR)/${soname}"
echo ""
- echo "\$(LIBDIR)/${soname}: \$(LIBDIR)/${sharelib}"
- echo " cd \$(LIBDIR) ; ln -sf ${sharelib} ${soname}"
- echo ""
- echo "\$(LIBDIR)/${link}: \$(LIBDIR)/${soname} \$(LIBDIR)/${unsharelib}"
- echo " \$(mksofile) \$(LIBDIR) ${link} ${soname} ${unsharelib}"
+ echo "\$(LIBDIR)/${link}: \$(LIBDIR)/${sharelib}"
+ echo " ln -sf ${sharelib} \$@"
echo ""
echo "\$(LIBDIR)/${unsharelib}: ${unshareobj}"
- echo " rm -f \$(LIBDIR)/${unsharelib}"
- echo " \$(AR) rvs \$(LIBDIR)/${unsharelib} ${unshareobj}"
+ echo " rm -f \$@"
+ echo " \$(AR) rvs \$@ \$^"
}
diff -urN all3929-5/misc/mkfrontend.sh all3929-6/misc/mkfrontend.sh
--- all3929-5/misc/mkfrontend.sh Sun Dec 12 21:51:24 1999
+++ all3929-6/misc/mkfrontend.sh Thu Jan 1 01:00:00 1970
@@ -1,19 +0,0 @@
-#!/bin/sh
-# mkfrontend -- creates the .a file for an Allegro library, pulling
-# in the corresponding backend and all required libs
-#
-# Usage: mkfrontend libdir stem extra_libs extra_lib_dirs
-
-rm -f $1/lib$2.a
-
-cat > $1/lib$2.a << EOF
-/* GNU ld script
- This script links in the backend library along with any required
- support libraries (-lm, -lX11, -lvga, etc) */
-EOF
-
-if test $4 != ""; then
- echo "SEARCH_DIR ( $4 )" >> $1/lib$2.a
-fi
-
-echo "GROUP ( lib$2_backend.a $3 )" >> $1/lib$2.a
diff -urN all3929-5/misc/mksofile.sh all3929-6/misc/mksofile.sh
--- all3929-5/misc/mksofile.sh Sun Dec 12 21:51:24 1999
+++ all3929-6/misc/mksofile.sh Thu Jan 1 01:00:00 1970
@@ -1,13 +0,0 @@
-#!/bin/sh
-# mksofile -- creates the .so file for an Allegro library
-#
-# Usage: mksofile libdir stem major_version
-
-rm -f $1/$2
-cat > $1/$2 << EOF
-/* GNU ld script
- Most of Allegro is in the shared library, but the assembly language
- functions are linked statically because they are not PIC. */
-GROUP ( $3 $4 )
-EOF
-
diff -urN all3929-6/configure all3929-7/configure
--- all3929-6/configure Wed Dec 15 00:27:39 1999
+++ all3929-7/configure Wed Dec 15 00:39:50 1999
@@ -1622,7 +1622,7 @@
LIBALLEG=lib/unix/lib$lib_to_link.a
LINK_LIBALLEG="$LIBALLEG"
else
- LIBALLEG="lib/unix/lib${lib_to_link}_shared.so lib/unix/lib${lib_to_link}_unsharable.a"
+ LIBALLEG="lib/unix/lib${lib_to_link}-\$(shared_version).so lib/unix/lib${lib_to_link}_unsharable.a"
LINK_LIBALLEG="$LIBALLEG"
fi
@@ -1645,13 +1645,13 @@
fi
if test "X$allegro_shared_libraries" = "Xyes"; then
if test "X$allegro_build_normal_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg_shared.so lib/unix/liballeg_unsharable.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg-\$(shared_version).so lib/unix/liballeg_unsharable.a"
fi
if test "X$allegro_build_debugging_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd_shared.so lib/unix/liballd_unsharable.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd-\$(shared_version).so lib/unix/liballd_unsharable.a"
fi
if test "X$allegro_build_profiling_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp_shared.so lib/unix/liballp_unsharable.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp-\$(shared_version).so lib/unix/liballp_unsharable.a"
fi
fi
diff -urN all3929-6/configure.in all3929-7/configure.in
--- all3929-6/configure.in Wed Dec 15 00:27:37 1999
+++ all3929-7/configure.in Wed Dec 15 00:39:47 1999
@@ -187,7 +187,7 @@
LIBALLEG=lib/unix/lib$lib_to_link.a
LINK_LIBALLEG="$LIBALLEG"
else
- LIBALLEG="lib/unix/lib${lib_to_link}_shared.so lib/unix/lib${lib_to_link}_unsharable.a"
+ LIBALLEG="lib/unix/lib${lib_to_link}-\$(shared_version).so lib/unix/lib${lib_to_link}_unsharable.a"
LINK_LIBALLEG="$LIBALLEG"
fi
AC_SUBST(LIBALLEG)
@@ -211,13 +211,13 @@
fi
if test "X$allegro_shared_libraries" = "Xyes"; then
if test "X$allegro_build_normal_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg_shared.so lib/unix/liballeg_unsharable.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballeg-\$(shared_version).so lib/unix/liballeg_unsharable.a"
fi
if test "X$allegro_build_debugging_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd_shared.so lib/unix/liballd_unsharable.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballd-\$(shared_version).so lib/unix/liballd_unsharable.a"
fi
if test "X$allegro_build_profiling_library" = "Xyes"; then
- ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp_shared.so lib/unix/liballp_unsharable.a"
+ ALLEGRO_LIB_TARGETS="$ALLEGRO_LIB_TARGETS lib/unix/liballp-\$(shared_version).so lib/unix/liballp_unsharable.a"
fi
fi
AC_SUBST(ALLEGRO_LIB_TARGETS)
diff -urN all3929-6/makefile.in all3929-7/makefile.in
--- all3929-6/makefile.in Wed Dec 15 00:26:10 1999
+++ all3929-7/makefile.in Wed Dec 15 00:36:19 1999
@@ -253,7 +253,6 @@
echo Installing $(LIBDIR)/lib$${l}-$(shared_version).so to $(libdir); \
$(INSTALL_DATA) $(LIBDIR)/lib$${l}-$(shared_version).so $(libdir)/; \
$(INSTALL_DATA) $(LIBDIR)/lib$${l}_unsharable.a $(libdir)/; \
- ln -sf lib$${l}-$(shared_version).so $(libdir)/lib$${l}_shared.so; \
fi; \
done
$(mkldscript) $(LDFLAGS) $(LIBS) > allegro-lib
@@ -308,7 +307,6 @@
@for l in alleg alld allp; do \
rm -f $(libdir)/lib$${l}-$(shared_version).so; \
rm -f $(libdir)/lib$${l}_unsharable.a; \
- rm -f $(libdir)/lib$${l}_shared.so; \
rm -f $(libdir)/lib$${l}.a; \
done
rm -f $(bindir)/allegro-lib
diff -urN all3929-6/misc/deplib.sh all3929-7/misc/deplib.sh
--- all3929-6/misc/deplib.sh Wed Dec 15 00:15:11 1999
+++ all3929-7/misc/deplib.sh Wed Dec 15 00:36:39 1999
@@ -12,7 +12,6 @@
local sharelib="lib${1}-\$(shared_version).so"
local soname="lib${1}.so.\$(shared_major)"
- local link="lib${1}_shared.so"
local shareobj="\$(${2}_SHARED_OBJECTS)"
local unsharelib="lib${1}_unsharable.a"
@@ -27,9 +26,6 @@
# gf: This bit is obviously gcc-specific
echo " gcc -shared -Wl,-soname,${soname} -o \$@ \$^"
echo " ln -sf ${sharelib} \$(LIBDIR)/${soname}"
- echo ""
- echo "\$(LIBDIR)/${link}: \$(LIBDIR)/${sharelib}"
- echo " ln -sf ${sharelib} \$@"
echo ""
echo "\$(LIBDIR)/${unsharelib}: ${unshareobj}"
echo " rm -f \$@"
diff -urN all3929-7/makefile.in all3929-8/makefile.in
--- all3929-7/makefile.in Wed Dec 15 00:36:19 1999
+++ all3929-8/makefile.in Wed Dec 15 00:52:03 1999
@@ -46,7 +46,6 @@
LIBS = @LIBS@
LDCONFIG = @LDCONFIG@
-LN_S = @LN_S@
mkinstalldirs = $(SHELL) $(srcdir)/misc/mkdirs.sh
mkldscript = $(SHELL) $(srcdir)/misc/mkldscript.sh
diff -urN all3929-7/misc/deplib.sh all3929-8/misc/deplib.sh
--- all3929-7/misc/deplib.sh Wed Dec 15 00:36:39 1999
+++ all3929-8/misc/deplib.sh Wed Dec 15 00:43:53 1999
@@ -11,7 +11,6 @@
local staticobj="\$(${2}_OBJECTS)"
local sharelib="lib${1}-\$(shared_version).so"
- local soname="lib${1}.so.\$(shared_major)"
local shareobj="\$(${2}_SHARED_OBJECTS)"
local unsharelib="lib${1}_unsharable.a"
@@ -24,8 +23,7 @@
echo "\$(LIBDIR)/${sharelib}: ${shareobj}"
echo " rm -f \$@"
# gf: This bit is obviously gcc-specific
- echo " gcc -shared -Wl,-soname,${soname} -o \$@ \$^"
- echo " ln -sf ${sharelib} \$(LIBDIR)/${soname}"
+ echo " gcc -shared -o \$@ \$^"
echo ""
echo "\$(LIBDIR)/${unsharelib}: ${unshareobj}"
echo " rm -f \$@"