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: PR libjava/32078: Update libtool in classpath



H.J.> My change in classpath won't work without my libtool.m4 change. I
H.J.> will check in my libtool.m4 change to enable libjava build again. We
H.J.> can always back it out later when a better solution is found.

I'm sympathetic to this but it isn't how GCC development works.
Unfortunately, I think we have to keep things broken until someone
reviews the change.  IMO it definitely doesn't qualify as obvious.

No big deal. Here's the patch to fix it locally.


My apologies for the prolonged breakage, and thanks to Andrew Haley for making the problem more clear to me.

Paolo
2003-05-31  Paolo Bonzini  <bonzini@gnu.org>

	PR libjava/32098
	* libtool.m4: Revert previous change.
	* ltgcc.m4: Put it here.

libjava:
2003-05-31  Paolo Bonzini  <bonzini@gnu.org>

	PR libjava/32098
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

Index: libtool.m4
===================================================================
--- libtool.m4	(revision 125214)
+++ libtool.m4	(working copy)
@@ -6757,14 +6757,9 @@ _LT_TAG_COMPILER
 _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
-# We can't call gcj to test gcj features when building libjava in gcc
-# since gcj may depend on ecj1 which may not be available yet.  We use
-# gcc to test gcj features.
-ac_ext=c
-lt_simple_compile_test_code="int some_variable = 0;"
-lt_simple_link_test_code='int main(){return(0);}'
-
 # Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
 _LT_CC_BASENAME([$compiler])
@@ -6791,6 +6786,7 @@ if test -n "$compiler"; then
 fi
 
 AC_LANG_RESTORE
+CC="$lt_save_CC"
 ])# _LT_LANG_GCJ_CONFIG
 
 
Index: ltgcc.m4
===================================================================
--- ltgcc.m4	(revision 0)
+++ ltgcc.m4	(revision 0)
@@ -0,0 +1,60 @@
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.  Locally modified to
+# run its tests on C programs, because we cannot link Java programs until
+# we have finished building libjava.
+AC_DEFUN([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=c
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+_LT_TAGVAR(compiler, $1)=${GCJ-gcj}
+AC_LANG_RESTORE
+])# _LT_LANG_GCJ_CONFIG

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