This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: FYI: libgcj_bc library
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: Java Patch List <java-patches at gcc dot gnu dot org>, Gcc Patch List <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 16 Aug 2006 18:09:33 -0700
- Subject: Re: Patch: FYI: libgcj_bc library
- References: <m3k658w5rv.fsf@localhost.localdomain>
On Wed, Aug 16, 2006 at 06:43:48PM -0600, Tom Tromey wrote:
> Index: libjava/Makefile.am
> ===================================================================
> --- libjava/Makefile.am (revision 116169)
> +++ libjava/Makefile.am (working copy)
> @@ -36,6 +36,10 @@
> +if USE_LIBGCJ_BC
> +## Install libgcj_bc dummy lib in the target directory. We also need to delete
> +## libtool's .la file, this prevents libtool resetting the lib again
> +## later.
> +install-exec-hook: install-toolexeclibLTLIBRARIES
> + @echo Installing dummy lib libgcj_bc.so.1.0.0; \
> + rm $(toolexeclibdir)/libgcj_bc.so; \
> + mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \
> + $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
> + -o $(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
> + rm $(toolexeclibdir)/libgcj_bc.so.1; \
> + $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \
> + rm $(toolexeclibdir)/libgcj_bc.la;
> +endif
> +
> ## Install the headers. It is fairly ugly that we have to do this by
> ## hand.
> install-data-local:
I don't believe this make rule will work with "make install DESTDIR=...".
This patch on top of it seems to work for me.
H.J.
----
2006-08-16 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (install-exec-hook): Support $(DESTDIR).
* Makefile.in: Regenerated.
--- libjava/Makefile.am.dest 2006-08-09 14:47:45.000000000 -0700
+++ libjava/Makefile.am 2006-08-16 18:04:25.000000000 -0700
@@ -562,13 +562,14 @@ if USE_LIBGCJ_BC
## later.
install-exec-hook: install-toolexeclibLTLIBRARIES
@echo Installing dummy lib libgcj_bc.so.1.0.0; \
- rm $(toolexeclibdir)/libgcj_bc.so; \
- mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \
+ cd $(DESTDIR)$(toolexeclibdir); \
+ rm libgcj_bc.so; \
+ mv libgcj_bc.so.1.0.0 libgcj_bc.so; \
$(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
- -o $(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
- rm $(toolexeclibdir)/libgcj_bc.so.1; \
- $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \
- rm $(toolexeclibdir)/libgcj_bc.la;
+ -o libgcj_bc.so.1.0.0 -lgcj || exit; \
+ rm libgcj_bc.so.1; \
+ $(LN_S) libgcj_bc.so.1.0.0 libgcj_bc.so.1; \
+ rm libgcj_bc.la
endif
## Install the headers. It is fairly ugly that we have to do this by
--- libjava/Makefile.in.dest 2006-08-09 14:47:45.000000000 -0700
+++ libjava/Makefile.in 2006-08-16 18:05:09.000000000 -0700
@@ -11328,13 +11328,14 @@ $(extra_headers) $(srcdir)/java/lang/Obj
@USE_LIBGCJ_BC_TRUE@install-exec-hook: install-toolexeclibLTLIBRARIES
@USE_LIBGCJ_BC_TRUE@ @echo Installing dummy lib libgcj_bc.so.1.0.0; \
-@USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.so; \
-@USE_LIBGCJ_BC_TRUE@ mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \
+@USE_LIBGCJ_BC_TRUE@ cd $(DESTDIR)$(toolexeclibdir); \
+@USE_LIBGCJ_BC_TRUE@ rm libgcj_bc.so; \
+@USE_LIBGCJ_BC_TRUE@ mv libgcj_bc.so.1.0.0 libgcj_bc.so; \
@USE_LIBGCJ_BC_TRUE@ $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
-@USE_LIBGCJ_BC_TRUE@ -o $(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
-@USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.so.1; \
-@USE_LIBGCJ_BC_TRUE@ $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \
-@USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.la;
+@USE_LIBGCJ_BC_TRUE@ -o libgcj_bc.so.1.0.0 -lgcj || exit; \
+@USE_LIBGCJ_BC_TRUE@ rm libgcj_bc.so.1; \
+@USE_LIBGCJ_BC_TRUE@ $(LN_S) libgcj_bc.so.1.0.0 libgcj_bc.so.1; \
+@USE_LIBGCJ_BC_TRUE@ rm libgcj_bc.la
install-data-local:
$(PRE_INSTALL)