This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: Can't manage to build binutils-for-target


Hello Laurent!
Hello All!

On Sunday 27 July 2008 11:32:31 Yann E. MORIN wrote:
> Will change that...

Care to have a test with this patch, please?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< Â_Â >==-- Â------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | * _ * | / \ HTML MAIL    |  """  conspiracy.  |
Â------------------------------Â-------Â------------------Â--------------------Â
Index: ct-ng.tmp/scripts/build/cc_gcc.sh
===================================================================
--- ct-ng.tmp/scripts/build/cc_gcc.sh	(revision 874)
+++ ct-ng.tmp/scripts/build/cc_gcc.sh	(working copy)
@@ -281,26 +281,6 @@
         CT_DoExecLog ALL make ${PARALLELMFLAGS} all-build-libiberty
     fi
 
-    # Idea from <cort.dougan at gmail.com>:
-    # Fix lib/lib64 confusion for GCC 3.3.3 on PowerPC64 and x86_64.
-    # GCC 3.4.0 and up don't suffer from this confusion, and don't need this
-    # kludge.
-    # FIXME: we should patch gcc's source rather than uglify crosstool.sh.
-    # FIXME: is this needed for gcc-3.3.[56]?
-    case "${CT_CC_FILE}" in
-      gcc-3.3.[34])
-        case "${CT_TARGET}" in
-          powerpc64-unknown-linux-gnu|x86_64-unknown-linux-gnu)
-            for d in $(find "${CT_SYSROOT_DIR}" -name lib -type d -empty); do
-              if [ -d $(dirname "${d}")/lib64 ] ; then
-                rm -rf "${d}"
-                ln -s $(dirname "${d}")/lib64 "${d}"
-              fi
-            done ;;
-          *) ;;
-        esac ;;
-    esac
-
     CT_DoLog EXTRA "Building final compiler"
     CT_DoExecLog ALL make ${PARALLELMFLAGS} all
 
@@ -311,11 +291,5 @@
     # to call the C compiler with the same, somewhat canonical name.
     ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}"-{g,}cc 2>&1 |CT_DoLog ALL
 
-    # gcc installs stuff in prefix/target/lib, when it would make better sense
-    # to install that into sysroot/usr/lib
-    CT_DoLog EXTRA "Moving improperly installed gcc libs to sysroot"
-    ( cd "${CT_PREFIX_DIR}/${CT_TARGET}/lib"; tar cf - . ) | ( cd "${CT_SYSROOT_DIR}/usr/lib"; tar xfv - ) |CT_DoLog ALL
-    rm -rf "${CT_PREFIX_DIR}/${CT_TARGET}/lib"
-
     CT_EndStep
 }
Index: ct-ng.tmp/scripts/crosstool.sh
===================================================================
--- ct-ng.tmp/scripts/crosstool.sh	(revision 874)
+++ ct-ng.tmp/scripts/crosstool.sh	(working copy)
@@ -350,6 +350,20 @@
     mkdir -p "${CT_SYSROOT_DIR}/lib"
     mkdir -p "${CT_SYSROOT_DIR}/usr/lib"
 
+    # Prevent gcc from installing its libraries outside of the sys-root
+    ln -sf "${CT_SYSROOT_DIR}/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib"
+
+    # Now, in case we're 64 bits, just have lib64/ be a symlink to lib/
+    # so as to have all libraries in the same directory (we can do that
+    # because we are *not* multilib).
+    case "${CT_TARGET}" in
+        powerpc64*|ppc64*|x86_64*)
+            ln -sf "${CT_SYSROOT_DIR}/lib" "${CT_SYSROOT_DIR}/lib64"
+            ln -sf "${CT_SYSROOT_DIR}/usr/lib" "${CT_SYSROOT_DIR}/usr/lib64"
+            ln -sf "${CT_SYSROOT_DIR}/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
+            ;;
+    esac
+
     # Canadian-cross are really picky on the way they are built. Tweak the values.
     CT_UNIQ_BUILD=$(echo "${CT_BUILD}" |sed -r -e 's/-/-build_/')
     if [ "${CT_CANADIAN}" = "y" ]; then

--
For unsubscribe information see http://sourceware.org/lists.html#faq

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