Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: pnacl/build.sh

Issue 15960018: Update pnacl binutils DEPS and enable mips support in binutils (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pnacl/DEPS ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 # 5 #
6 #@ PNaCl toolchain build script 6 #@ PNaCl toolchain build script
7 #@------------------------------------------------------------------- 7 #@-------------------------------------------------------------------
8 #@ This script builds the ARM and PNaCl untrusted toolchains. 8 #@ This script builds the ARM and PNaCl untrusted toolchains.
9 #@ It MUST be run from the native_client/ directory. 9 #@ It MUST be run from the native_client/ directory.
10 ###################################################################### 10 ######################################################################
(...skipping 1841 matching lines...) Expand 10 before | Expand all | Expand 10 after
1852 } 1852 }
1853 1853
1854 #+ binutils-configure- Configure binutils for ARM 1854 #+ binutils-configure- Configure binutils for ARM
1855 binutils-configure() { 1855 binutils-configure() {
1856 StepBanner "BINUTILS" "Configure" 1856 StepBanner "BINUTILS" "Configure"
1857 1857
1858 local srcdir="${TC_SRC_BINUTILS}" 1858 local srcdir="${TC_SRC_BINUTILS}"
1859 local objdir="${TC_BUILD_BINUTILS}" 1859 local objdir="${TC_BUILD_BINUTILS}"
1860 1860
1861 # enable multiple targets so that we can use the same ar with all .o files 1861 # enable multiple targets so that we can use the same ar with all .o files
1862 local targ="arm-pc-nacl,i686-pc-nacl,x86_64-pc-nacl" 1862 local targ="arm-pc-nacl,i686-pc-nacl,x86_64-pc-nacl,mipsel-pc-nacl"
1863 mkdir -p "${objdir}" 1863 mkdir -p "${objdir}"
1864 spushd "${objdir}" 1864 spushd "${objdir}"
1865 1865
1866 # The linux escaping is horrible but apparently the only way of doing this: 1866 # The linux escaping is horrible but apparently the only way of doing this:
1867 # c.f.: http://sourceware.org/ml/binutils/2009-05/msg00252.html 1867 # c.f.: http://sourceware.org/ml/binutils/2009-05/msg00252.html
1868 # all we try to do here is to add "$ORIGIN/../lib to "rpath". 1868 # all we try to do here is to add "$ORIGIN/../lib to "rpath".
1869 # If you ever touch this please make sure that rpath is correct via: 1869 # If you ever touch this please make sure that rpath is correct via:
1870 # objdump -p toolchain/${TOOLCHAIN_LABEL}/host/bin/arm-pc-nacl-ld.gold 1870 # objdump -p toolchain/${TOOLCHAIN_LABEL}/host/bin/arm-pc-nacl-ld.gold
1871 # objdump -p toolchain/${TOOLCHAIN_LABEL}/host/bin/arm-pc-nacl-objdump 1871 # objdump -p toolchain/${TOOLCHAIN_LABEL}/host/bin/arm-pc-nacl-objdump
1872 if ${BUILD_PLATFORM_LINUX} ; then 1872 if ${BUILD_PLATFORM_LINUX} ; then
1873 local flags='-Xlinker -rpath -Xlinker '"'"'$\\$$\$$\\$$\$$ORIGIN/../lib'"' " 1873 local flags='-Xlinker -rpath -Xlinker '"'"'$\\$$\$$\\$$\$$ORIGIN/../lib'"' "
1874 local shared='yes' 1874 local shared='yes'
1875 local zlib='--without-zlib' 1875 local zlib='--without-zlib'
1876 else 1876 else
1877 # The shared build for binutils on mac is currently disabled. 1877 # The shared build for binutils on mac is currently disabled.
1878 # A mac-expert needs to look at this but 1878 # A mac-expert needs to look at this but
1879 # It seems that on mac the linker is storing "full" library paths into 1879 # It seems that on mac the linker is storing "full" library paths into
1880 # the dynamic image, e.g, for the llc dynamic image we see paths like: 1880 # the dynamic image, e.g, for the llc dynamic image we see paths like:
1881 # @executable_path/../lib/libLLVM-3.3svn.dylib 1881 # @executable_path/../lib/libLLVM-3.3svn.dylib
1882 # This only works if at linktime the libraries are already at 1882 # This only works if at linktime the libraries are already at
1883 # @executable_path/../lib which is not the case for mac 1883 # @executable_path/../lib which is not the case for mac
1884 #local flags="-Xlinker -rpath -Xlinker '@executable_path/../lib'" 1884 #local flags="-Xlinker -rpath -Xlinker '@executable_path/../lib'"
1885 local flags='' 1885 local flags=''
1886 local shared='no' 1886 local shared='no'
1887 local zlib='' 1887 local zlib=''
1888 fi 1888 fi
1889 # The --enable-gold and --enable-plugins options are on so that we 1889 # The --enable-gold and --enable-plugins options are on so that we
1890 # can use gold's support for plugin to link PNaCl modules. 1890 # can use gold's support for plugin to link PNaCl modules, and use
1891 # gold as the final linker. We do not use bfd ld, and it is disabled
1892 # in part because we do not have its MIPS support downstream.
1891 1893
1892 # We llvm's mc for assembly so we no longer build gas 1894 # We llvm's mc for assembly so we no longer build gas
1893 # TODO(robertm): We no longer use ld and should really use
1894 # --enable-ld=no but the binutils build setup is buggy
1895 RunWithLog binutils.configure \ 1895 RunWithLog binutils.configure \
1896 env -i \ 1896 env -i \
1897 PATH="${PATH}" \ 1897 PATH="${PATH}" \
1898 CC="${CC}" \ 1898 CC="${CC}" \
1899 CXX="${CXX}" \ 1899 CXX="${CXX}" \
1900 LDFLAGS="${flags}" \ 1900 LDFLAGS="${flags}" \
1901 ${srcdir}/configure \ 1901 ${srcdir}/configure \
1902 --prefix="${BINUTILS_INSTALL_DIR}" \ 1902 --prefix="${BINUTILS_INSTALL_DIR}" \
1903 --target=${BINUTILS_TARGET} \ 1903 --target=${BINUTILS_TARGET} \
1904 --enable-targets=${targ} \ 1904 --enable-targets=${targ} \
1905 --enable-shared=${shared} \ 1905 --enable-shared=${shared} \
1906 --enable-gold=yes \ 1906 --enable-gold=default \
1907 --enable-ld=yes \ 1907 --enable-ld=no \
1908 --disable-nls \ 1908 --disable-nls \
1909 --enable-plugins \ 1909 --enable-plugins \
1910 --disable-werror \ 1910 --disable-werror \
1911 --without-gas \ 1911 --without-gas \
1912 ${zlib} \ 1912 ${zlib} \
1913 --with-sysroot="${NONEXISTENT_PATH}" 1913 --with-sysroot="${NONEXISTENT_PATH}"
1914 # There's no point in setting the correct path as sysroot, because we 1914 # There's no point in setting the correct path as sysroot, because we
1915 # want the toolchain to be relocatable. The driver will use ld command-line 1915 # want the toolchain to be relocatable. The driver will use ld command-line
1916 # option --sysroot= to override this value and set it to the correct path. 1916 # option --sysroot= to override this value and set it to the correct path.
1917 # However, we need to include --with-sysroot during configure to get this 1917 # However, we need to include --with-sysroot during configure to get this
(...skipping 1884 matching lines...) Expand 10 before | Expand all | Expand 10 after
3802 3802
3803 if [ "$(type -t $1)" != "function" ]; then 3803 if [ "$(type -t $1)" != "function" ]; then
3804 #Usage 3804 #Usage
3805 echo "ERROR: unknown function '$1'." >&2 3805 echo "ERROR: unknown function '$1'." >&2
3806 echo "For help, try:" 3806 echo "For help, try:"
3807 echo " $0 help" 3807 echo " $0 help"
3808 exit 1 3808 exit 1
3809 fi 3809 fi
3810 3810
3811 "$@" 3811 "$@"
OLDNEW
« no previous file with comments | « pnacl/DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698