public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Add support for --disable-libjava-multilib
@ 2007-12-15  1:57 Jakub Jelinek
  2007-12-15  4:32 ` Jack Howarth
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Jakub Jelinek @ 2007-12-15  1:57 UTC (permalink / raw)
  To: gcc-patches

Hi!

libjava is far bigger than any other target library in gcc and takes much
longer to build.  This patch (the configure bits originate from SUSE?,
I've only added corresponding configure.ac change) allows building all
target libs but libjava as multilib.  This can be handy in distribution
builds (as can be seen by both SUSE and Red Hat having something similar
(though I admit my original patch was much bigger hack)), or when various
devel libraries and headers libjava needs (Xorg, GNOME, ALSA, firefox, ...)
are only available for the primary arch, or even when just trying to
bootstrap/regtest gcc quickly on say x86_64.  I can surely keep this as our
private hack and others who need something similar can do the same, but
I thought I'd at least ask if this wouldn't be something others would
benefit from too.

--- libjava/configure.ac.jj	2007-12-07 17:55:50.000000000 +0100
+++ libjava/configure.ac	2007-12-07 18:36:56.000000000 +0100
@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
 	[allow rebuilding of .class and .h files]))
 AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
 
+AC_ARG_ENABLE(libjava-multilib,
+	AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
+if test "$enable_libjava_multilib" = no; then
+  multilib=no
+  ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
 # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
 GCC_NO_EXECUTABLES
 
--- libjava/configure.jj	2007-12-07 17:55:50.000000000 +0100
+++ libjava/configure	2007-12-07 18:39:58.000000000 +0100
@@ -1018,6 +1018,8 @@ Optional Features:
   --enable-gconf-peer     compile GConf native peers for util.preferences
   --enable-java-maintainer-mode
                           allow rebuilding of .class and .h files
+  --enable-libjava-multilib
+                          build libjava as multilib
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-maintainer-mode  enable make rules and dependencies not useful
@@ -1848,6 +1850,16 @@ else
 fi
 
 
+# Check whether --enable-libjava-multilib was given.
+if test "${enable_libjava_multilib+set}" = set; then
+  enableval=$enable_libjava_multilib;
+fi
+
+if test "$enable_libjava_multilib" = no; then
+  multilib=no
+  ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
 # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
 
 

	Jakub

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

* Re: [PATCH] Add support for --disable-libjava-multilib
  2007-12-15  1:57 [PATCH] Add support for --disable-libjava-multilib Jakub Jelinek
@ 2007-12-15  4:32 ` Jack Howarth
  2007-12-15  4:38   ` David Daney
  2007-12-15 20:18 ` Alexandre Oliva
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Jack Howarth @ 2007-12-15  4:32 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: gcc-patches

Jakub,
   Shouldn't this also be expanded to include not building boehm-gc
and libffi as multilib as well? There isn't much point in building those
as multilib if you aren't going to build libjava that way.
                      Jack


On Fri, Dec 14, 2007 at 07:57:34PM -0500, Jakub Jelinek wrote:
> Hi!
> 
> libjava is far bigger than any other target library in gcc and takes much
> longer to build.  This patch (the configure bits originate from SUSE?,
> I've only added corresponding configure.ac change) allows building all
> target libs but libjava as multilib.  This can be handy in distribution
> builds (as can be seen by both SUSE and Red Hat having something similar
> (though I admit my original patch was much bigger hack)), or when various
> devel libraries and headers libjava needs (Xorg, GNOME, ALSA, firefox, ...)
> are only available for the primary arch, or even when just trying to
> bootstrap/regtest gcc quickly on say x86_64.  I can surely keep this as our
> private hack and others who need something similar can do the same, but
> I thought I'd at least ask if this wouldn't be something others would
> benefit from too.
> 
> --- libjava/configure.ac.jj	2007-12-07 17:55:50.000000000 +0100
> +++ libjava/configure.ac	2007-12-07 18:36:56.000000000 +0100
> @@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
>  	[allow rebuilding of .class and .h files]))
>  AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
>  
> +AC_ARG_ENABLE(libjava-multilib,
> +	AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
> +if test "$enable_libjava_multilib" = no; then
> +  multilib=no
> +  ac_configure_args="$ac_configure_args --disable-multilib"
> +fi
> +
>  # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
>  GCC_NO_EXECUTABLES
>  
> --- libjava/configure.jj	2007-12-07 17:55:50.000000000 +0100
> +++ libjava/configure	2007-12-07 18:39:58.000000000 +0100
> @@ -1018,6 +1018,8 @@ Optional Features:
>    --enable-gconf-peer     compile GConf native peers for util.preferences
>    --enable-java-maintainer-mode
>                            allow rebuilding of .class and .h files
> +  --enable-libjava-multilib
> +                          build libjava as multilib
>    --disable-dependency-tracking  speeds up one-time build
>    --enable-dependency-tracking   do not reject slow dependency extractors
>    --enable-maintainer-mode  enable make rules and dependencies not useful
> @@ -1848,6 +1850,16 @@ else
>  fi
>  
>  
> +# Check whether --enable-libjava-multilib was given.
> +if test "${enable_libjava_multilib+set}" = set; then
> +  enableval=$enable_libjava_multilib;
> +fi
> +
> +if test "$enable_libjava_multilib" = no; then
> +  multilib=no
> +  ac_configure_args="$ac_configure_args --disable-multilib"
> +fi
> +
>  # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
>  
>  
> 
> 	Jakub

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

* Re: [PATCH] Add support for --disable-libjava-multilib
  2007-12-15  4:32 ` Jack Howarth
@ 2007-12-15  4:38   ` David Daney
  2007-12-15  6:31     ` Jack Howarth
  0 siblings, 1 reply; 7+ messages in thread
From: David Daney @ 2007-12-15  4:38 UTC (permalink / raw)
  To: Jack Howarth; +Cc: Jakub Jelinek, gcc-patches

Jack Howarth wrote:
> Jakub,
>    Shouldn't this also be expanded to include not building boehm-gc
> and libffi as multilib as well? There isn't much point in building those
> as multilib if you aren't going to build libjava that way.
>                       Jack
>   
Oh, for that we already have --enable-languages=c,c++ :-)

David Daney

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

* Re: [PATCH] Add support for --disable-libjava-multilib
  2007-12-15  4:38   ` David Daney
@ 2007-12-15  6:31     ` Jack Howarth
  0 siblings, 0 replies; 7+ messages in thread
From: Jack Howarth @ 2007-12-15  6:31 UTC (permalink / raw)
  To: David Daney; +Cc: gcc-patches

David,
    The reason I ask is that on Darwin the -m64 support for
powerpc is broken in libffi. So for our fink gcc42 packages
we have had to hack up the Makefile.in's to allow a multilib
build for c, c++, objc and gfortran but not java.
             Jack

On Fri, Dec 14, 2007 at 08:32:41PM -0800, David Daney wrote:
> Jack Howarth wrote:
>> Jakub,
>>    Shouldn't this also be expanded to include not building boehm-gc
>> and libffi as multilib as well? There isn't much point in building those
>> as multilib if you aren't going to build libjava that way.
>>                       Jack
>>   
> Oh, for that we already have --enable-languages=c,c++ :-)
>
> David Daney

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

* Re: [PATCH] Add support for --disable-libjava-multilib
  2007-12-15  1:57 [PATCH] Add support for --disable-libjava-multilib Jakub Jelinek
  2007-12-15  4:32 ` Jack Howarth
@ 2007-12-15 20:18 ` Alexandre Oliva
  2007-12-27 13:00 ` Gerald Pfeifer
  2008-02-08  2:53 ` Michael Matz
  3 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2007-12-15 20:18 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: gcc-patches

On Dec 14, 2007, Jakub Jelinek <jakub@redhat.com> wrote:

> +AC_ARG_ENABLE(libjava-multilib,
> +	AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))

Shouldn't this document --disable-libjava-multilib, since --enable is
the default?

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}

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

* Re: [PATCH] Add support for --disable-libjava-multilib
  2007-12-15  1:57 [PATCH] Add support for --disable-libjava-multilib Jakub Jelinek
  2007-12-15  4:32 ` Jack Howarth
  2007-12-15 20:18 ` Alexandre Oliva
@ 2007-12-27 13:00 ` Gerald Pfeifer
  2008-02-08  2:53 ` Michael Matz
  3 siblings, 0 replies; 7+ messages in thread
From: Gerald Pfeifer @ 2007-12-27 13:00 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: gcc-patches

On Fri, 14 Dec 2007, Jakub Jelinek wrote:
> libjava is far bigger than any other target library in gcc and takes 
> much longer to build.  This patch (the configure bits originate from 
> SUSE?, I've only added corresponding configure.ac change) allows 
> building all target libs but libjava as multilib.  This can be handy in 
> distribution builds (as can be seen by both SUSE and Red Hat having 
> something similar (though I admit my original patch was much bigger 
> hack)), or when various devel libraries and headers libjava needs (Xorg, 
> GNOME, ALSA, firefox, ...) are only available for the primary arch, or 
> even when just trying to bootstrap/regtest gcc quickly on say x86_64.

Looks fair, though I cannot approve it.  If it goes in, I believe it's
significant enough to warrant documentation in gcc/doc/install.texi and
the release notes at gcc-4.3/changes.html.

Gerald

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

* Re: [PATCH] Add support for --disable-libjava-multilib
  2007-12-15  1:57 [PATCH] Add support for --disable-libjava-multilib Jakub Jelinek
                   ` (2 preceding siblings ...)
  2007-12-27 13:00 ` Gerald Pfeifer
@ 2008-02-08  2:53 ` Michael Matz
  3 siblings, 0 replies; 7+ messages in thread
From: Michael Matz @ 2008-02-08  2:53 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: gcc-patches

Hi,

[reading old mail :-) ]

On Fri, 14 Dec 2007, Jakub Jelinek wrote:

> libjava is far bigger than any other target library in gcc and takes much
> longer to build.  This patch (the configure bits originate from SUSE?,
> I've only added corresponding configure.ac change) allows building all
> target libs but libjava as multilib.  This can be handy in distribution
> builds (as can be seen by both SUSE and Red Hat having something similar
> (though I admit my original patch was much bigger hack)), or when various
> devel libraries and headers libjava needs (Xorg, GNOME, ALSA, firefox, ...)
> are only available for the primary arch, or even when just trying to
> bootstrap/regtest gcc quickly on say x86_64.  I can surely keep this as our
> private hack and others who need something similar can do the same, but
> I thought I'd at least ask if this wouldn't be something others would
> benefit from too.

I surely would like to have this in, in case that wasn't obvious ;)


Ciao,
Michael.

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

end of thread, other threads:[~2008-02-08  2:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-15  1:57 [PATCH] Add support for --disable-libjava-multilib Jakub Jelinek
2007-12-15  4:32 ` Jack Howarth
2007-12-15  4:38   ` David Daney
2007-12-15  6:31     ` Jack Howarth
2007-12-15 20:18 ` Alexandre Oliva
2007-12-27 13:00 ` Gerald Pfeifer
2008-02-08  2:53 ` Michael Matz

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).