public inbox for java-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Properly install libgcc_bc dummy library
@ 2013-12-09 14:09 Andreas Schwab
  2013-12-09 14:31 ` Richard Biener
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Schwab @ 2013-12-09 14:09 UTC (permalink / raw)
  To: java-patches; +Cc: gcc-patches

The rules to install the dummy libgcc_bc library have never worked as
intented, probably due to the fact that the fedora gcc package installs
it by hand, ignoring all damage that has been done.  The target that
creates libgcj_bc.la for the testsuite is mucking around with internal
details that will confuse libtool when it tries to install it, the
effect of which can't be undone by install-exec-hook.  We need to create
a clean second copy that is actually installed.

Andreas.

	* Makefile.am (toolexeclib_LTLIBRARIES) [USE_LIBGCJ_BC]: Use
	install/libgcj_bc.la instead of libgcj_bc.la.
	(noinst_LTLIBRARIES) [USE_LIBGCJ_BC]: Define.
	(install_libgcj_bc_la_SOURCES): Define.
	(install/libgcj_bc.la): New rule.
	* Makefile.in: Regenerate.

diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index dce1bb0..5af58fa 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -212,7 +212,8 @@ LIBJAVA_CORE_EXTRA =
 endif
 
 if USE_LIBGCJ_BC
-toolexeclib_LTLIBRARIES += libgcj_bc.la
+toolexeclib_LTLIBRARIES += install/libgcj_bc.la
+noinst_LTLIBRARIES = libgcj_bc.la
 endif
 
 if XLIB_AWT
@@ -606,6 +607,7 @@ lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) \
 ## This lets us have one soname in BC objects and another in C++ ABI objects.
 ## This library is not linked against libgcj.
 libgcj_bc_la_SOURCES = libgcj_bc.c
+install_libgcj_bc_la_SOURCES = $(libgcj_bc_la_SOURCES)
 libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \
 	$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
 libgcj_bc_la_DEPENDENCIES = libgcj.la $(libgcj_bc_la_version_dep)
@@ -628,6 +630,11 @@ libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES)
 	rm .libs/libgcj_bc.so.1; \
 	$(LN_S) libgcj_bc.so.1.0.0 .libs/libgcj_bc.so.1
 
+## This rule creates the libgcj_bc library that is actually installed.
+install/libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES) install/$(am__dirstamp)
+	$(libgcj_bc_la_LINK) $(am_libgcj_bc_la_rpath) $(libgcj_bc_la_LDFLAGS) \
+	$(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_LIBADD) $(LIBS)
+
 ## Note that property_files is defined in sources.am.
 propertyo_files = $(patsubst classpath/resource/%,%,$(addsuffix .lo,$(property_files)))
 

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Properly install libgcc_bc dummy library
  2013-12-09 14:09 [PATCH] Properly install libgcc_bc dummy library Andreas Schwab
@ 2013-12-09 14:31 ` Richard Biener
  2013-12-09 15:05   ` Andrew Haley
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Biener @ 2013-12-09 14:31 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: GCJ-patches, GCC Patches

On Mon, Dec 9, 2013 at 3:08 PM, Andreas Schwab <schwab@suse.de> wrote:
> The rules to install the dummy libgcc_bc library have never worked as
> intented, probably due to the fact that the fedora gcc package installs
> it by hand, ignoring all damage that has been done.  The target that
> creates libgcj_bc.la for the testsuite is mucking around with internal
> details that will confuse libtool when it tries to install it, the
> effect of which can't be undone by install-exec-hook.  We need to create
> a clean second copy that is actually installed.

Ok if nobody objects in the next 24h.

Thanks,
Richard.

> Andreas.
>
>         * Makefile.am (toolexeclib_LTLIBRARIES) [USE_LIBGCJ_BC]: Use
>         install/libgcj_bc.la instead of libgcj_bc.la.
>         (noinst_LTLIBRARIES) [USE_LIBGCJ_BC]: Define.
>         (install_libgcj_bc_la_SOURCES): Define.
>         (install/libgcj_bc.la): New rule.
>         * Makefile.in: Regenerate.
>
> diff --git a/libjava/Makefile.am b/libjava/Makefile.am
> index dce1bb0..5af58fa 100644
> --- a/libjava/Makefile.am
> +++ b/libjava/Makefile.am
> @@ -212,7 +212,8 @@ LIBJAVA_CORE_EXTRA =
>  endif
>
>  if USE_LIBGCJ_BC
> -toolexeclib_LTLIBRARIES += libgcj_bc.la
> +toolexeclib_LTLIBRARIES += install/libgcj_bc.la
> +noinst_LTLIBRARIES = libgcj_bc.la
>  endif
>
>  if XLIB_AWT
> @@ -606,6 +607,7 @@ lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) \
>  ## This lets us have one soname in BC objects and another in C++ ABI objects.
>  ## This library is not linked against libgcj.
>  libgcj_bc_la_SOURCES = libgcj_bc.c
> +install_libgcj_bc_la_SOURCES = $(libgcj_bc_la_SOURCES)
>  libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \
>         $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
>  libgcj_bc_la_DEPENDENCIES = libgcj.la $(libgcj_bc_la_version_dep)
> @@ -628,6 +630,11 @@ libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES)
>         rm .libs/libgcj_bc.so.1; \
>         $(LN_S) libgcj_bc.so.1.0.0 .libs/libgcj_bc.so.1
>
> +## This rule creates the libgcj_bc library that is actually installed.
> +install/libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES) install/$(am__dirstamp)
> +       $(libgcj_bc_la_LINK) $(am_libgcj_bc_la_rpath) $(libgcj_bc_la_LDFLAGS) \
> +       $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_LIBADD) $(LIBS)
> +
>  ## Note that property_files is defined in sources.am.
>  propertyo_files = $(patsubst classpath/resource/%,%,$(addsuffix .lo,$(property_files)))
>
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Properly install libgcc_bc dummy library
  2013-12-09 14:31 ` Richard Biener
@ 2013-12-09 15:05   ` Andrew Haley
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Haley @ 2013-12-09 15:05 UTC (permalink / raw)
  To: Richard Biener; +Cc: Andreas Schwab, GCJ-patches, GCC Patches

On 12/09/2013 02:31 PM, Richard Biener wrote:
> On Mon, Dec 9, 2013 at 3:08 PM, Andreas Schwab <schwab@suse.de> wrote:
>> The rules to install the dummy libgcc_bc library have never worked as
>> intented, probably due to the fact that the fedora gcc package installs
>> it by hand, ignoring all damage that has been done.  The target that
>> creates libgcj_bc.la for the testsuite is mucking around with internal
>> details that will confuse libtool when it tries to install it, the
>> effect of which can't be undone by install-exec-hook.  We need to create
>> a clean second copy that is actually installed.
> 
> Ok if nobody objects in the next 24h.

OK, thanks!

Andrew.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-12-09 15:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-09 14:09 [PATCH] Properly install libgcc_bc dummy library Andreas Schwab
2013-12-09 14:31 ` Richard Biener
2013-12-09 15:05   ` Andrew Haley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).