This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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] Disable all target libraries if not building gcc


On Mon, Mar 16, 2015 at 4:43 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Mar 16, 2015 at 4:41 PM, Joseph Myers <joseph@codesourcery.com> wrote:
>> On Mon, 16 Mar 2015, H.J. Lu wrote:
>>
>>> On Mon, Mar 16, 2015 at 3:50 PM, Joseph Myers <joseph@codesourcery.com> wrote:
>>> > On Fri, 13 Mar 2015, H.J. Lu wrote:
>>> >
>>> >> I am working on SHF_COMPRESSED support:
>>> >>
>>> >> http://www.sco.com/developers/gabi/latest/ch4.sheader.html
>>> >>
>>> >> I will import zlib from GCC source tree into binutils-gdb tree.  But zlib
>>> >> failed to build as a target library in binutils-gdb.  There is no need to
>>> >> build target libraries if not building gcc.  OK for master?
>>> >
>>> > This is definitely wrong.  newlib / libgloss is a target library that
>>> > certainly makes sense to build separately from GCC, and the toplevel
>>> > configure / build code should be identical in all three repositories (GCC,
>>> > binutils-gdb, newlib-cygwin).
>>>
>>> We need to work out something to avoid building target libraries
>>> in binutils.
>>
>> I suggest not building zlib as a target library unless libgcj is also
>> being built as a target library, given that there should be no need to
>> built it as a target library in isolation.
>>
>
> The logic is there.  But somehow it doesn't work for binutils.
> I will take another look.
>

Here is a patch.  It excludes target-zlib if target-libjava isn't built.
Tested in binutils and GCC with java.


-- 
H.J.
diff --git a/configure b/configure
index 9e54319..f9455e9 100755
--- a/configure
+++ b/configure
@@ -6432,9 +6432,6 @@ Supported languages are: ${potential_languages}" "$LINENO" 5
 
 
   ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[^ ]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
-else
-  # Disable all target libraries if not building gcc.
-  target_configdirs=
 fi
 
 # Handle --disable-<component> generically.
@@ -6554,6 +6551,13 @@ for i in ${target_configdirs_all} ; do
   fi
 done
 
+# Exclude target-zlib if target-libjava isn't built.
+if echo " ${target_configdirs} " | grep "target-libjava" >/dev/null 2>&1; then
+  :
+else
+  target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`"
+fi
+
 # libiberty-linker-plugin is special: it doesn't have its own source directory,
 # so we have to add it after the preceding checks.
 if test x"$extra_linker_plugin_flags$extra_linker_plugin_configure_flags" != x
diff --git a/configure.ac b/configure.ac
index eaf4661..a5a0fd0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2129,9 +2129,6 @@ Supported languages are: ${potential_languages}])
 
   AC_SUBST(stage1_languages)
   ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
-else
-  # Disable all target libraries if not building gcc.
-  target_configdirs=
 fi
 
 # Handle --disable-<component> generically.
@@ -2251,6 +2248,13 @@ for i in ${target_configdirs_all} ; do
   fi
 done
 
+# Exclude target-zlib if target-libjava isn't built.
+if echo " ${target_configdirs} " | grep "target-libjava" >/dev/null 2>&1; then
+  :
+else
+  target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`"
+fi
+
 # libiberty-linker-plugin is special: it doesn't have its own source directory,
 # so we have to add it after the preceding checks.
 if test x"$extra_linker_plugin_flags$extra_linker_plugin_configure_flags" != x

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