This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]