This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: FYI: libgcj_bc library
On Wed, Aug 16, 2006 at 07:44:32PM -0600, Tom Tromey wrote:
> >>>>> "H.J." == H J Lu <hjl@lucon.org> writes:
>
> H.J.> I don't believe this make rule will work with "make install DESTDIR=...".
>
> Yes, how odd. Perhaps the FC spec file doesn't install this way.
FC uses toolexeclibdir=.....
>
> H.J.> This patch on top of it seems to work for me.
>
> H.J.> + cd $(DESTDIR)$(toolexeclibdir); \
> H.J.> + rm libgcj_bc.so; \
> H.J.> + mv libgcj_bc.so.1.0.0 libgcj_bc.so; \
> H.J.> $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
>
> Can libgcj_bc_dummy_LINK be a relative path to xgcc?
libgcj_bc_dummy_LINK is set as "$(CC) ...".
> It seems like it would be safer not to 'cd' to the install dir here.
>
> Otherwise, looking good.
Here is a patch without cd.
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-10 12:27:12.000000000 -0700
@@ -562,13 +562,13 @@ 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; \
+ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \
+ mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(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;
+ -o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
+ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
+ $(LN_S) libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
+ rm $(DESTDIR)$(toolexeclibdir)/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-10 12:27:49.000000000 -0700
@@ -11328,13 +11328,13 @@ $(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@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \
+@USE_LIBGCJ_BC_TRUE@ mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/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 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
+@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
+@USE_LIBGCJ_BC_TRUE@ $(LN_S) libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
+@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.la;
install-data-local:
$(PRE_INSTALL)