This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Disable all target libraries if not building gcc
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: Binutils <binutils at sourceware dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 17 Mar 2015 17:08:23 -0700
- Subject: Re: [PATCH] Disable all target libraries if not building gcc
- Authentication-results: sourceware.org; auth=none
- References: <20150313200654 dot GA32326 at intel dot com> <alpine dot DEB dot 2 dot 10 dot 1503162247470 dot 30120 at digraph dot polyomino dot org dot uk> <CAMe9rOquPr5VeJKQhyLX32JmBxj1bW1ub49m6-M-Rbruaj=XXg at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1503162339500 dot 30120 at digraph dot polyomino dot org dot uk> <CAMe9rOq+-0-uP0645RjVvaAF7xaURe0DkEgi9+HFM007rcML4w at mail dot gmail dot com> <CAMe9rOout4iOCA9P55VEf-=YOBJ5n=TsSLeiVgo98hQ6Af=i6g at mail dot gmail dot com> <CAMe9rOphwC0F_qvusMF5qequjKrvvTicCNOmbDj22beS+acn2g at mail dot gmail dot com>
On Mon, Mar 16, 2015 at 8:01 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Mar 16, 2015 at 7:26 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> 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.
>>
>
> This version is more flexible to support future target libraries
> which depend on target zlib.
>
I reverted my previous commit and checked in this one.
--
H.J.
From 54564569062ee2cc7690aa96323c0dc5622efeef Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 17 Mar 2015 17:05:38 -0700
Subject: [PATCH] Exclude target-zlib if target-libjava isn't built
* configure.ac (target_configdirs): Exclude target-zlib if
target-libjava isn't built.
* configure: Regenerated.
---
ChangeLog | 6 ++++++
configure | 12 +++++++++---
configure.ac | 12 +++++++++---
3 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f018cc4..9b1895b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2015-03-17 H.J. Lu <hongjiu.lu@intel.com>
+ * configure.ac (target_configdirs): Exclude target-zlib if
+ target-libjava isn't built.
+ * configure: Regenerated.
+
+2015-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
Sync with GCC
2014-06-13 Thomas Schwinge <thomas@codesourcery.com>
diff --git a/configure b/configure
index 9e54319..b719d38 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,15 @@ for i in ${target_configdirs_all} ; do
fi
done
+# Exclude target-zlib if target-libjava isn't built.
+case ${target_configdirs} in
+*target-libjava*)
+ ;;
+*)
+ target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`"
+ ;;
+esac
+
# 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..a4e4c7d 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,15 @@ for i in ${target_configdirs_all} ; do
fi
done
+# Exclude target-zlib if target-libjava isn't built.
+case ${target_configdirs} in
+*target-libjava*)
+ ;;
+*)
+ target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`"
+ ;;
+esac
+
# 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
--
2.1.0