| OLD | NEW |
| 1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 # | 4 # |
| 5 # Environment variable NACL_ARCH should be set to one of the following | 5 # Environment variable NACL_ARCH should be set to one of the following |
| 6 # values: i686 x86_64 pnacl arm | 6 # values: i686 x86_64 pnacl arm |
| 7 | 7 |
| 8 | 8 |
| 9 # NAMING CONVENTION | 9 # NAMING CONVENTION |
| 10 # ================= | 10 # ================= |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 | 332 |
| 333 PatchSpecsFile() { | 333 PatchSpecsFile() { |
| 334 if [ "${TOOLCHAIN}" = "pnacl" -o \ | 334 if [ "${TOOLCHAIN}" = "pnacl" -o \ |
| 335 "${TOOLCHAIN}" = "clang-newlib" -o \ | 335 "${TOOLCHAIN}" = "clang-newlib" -o \ |
| 336 "${TOOLCHAIN}" = "emscripten" ]; then | 336 "${TOOLCHAIN}" = "emscripten" ]; then |
| 337 # The emscripten and PNaCl toolchains already include the required | 337 # The emscripten and PNaCl toolchains already include the required |
| 338 # include and library paths by default. No need to patch them. | 338 # include and library paths by default. No need to patch them. |
| 339 return | 339 return |
| 340 fi | 340 fi |
| 341 | 341 |
| 342 # For the library path we always explicitly add to the link flags |
| 343 # otherwise 'libtool' won't find the libraries correctly. This |
| 344 # is because libtool uses 'gcc -print-search-dirs' which does |
| 345 # not honor the external specs file. |
| 346 NACLPORTS_LDFLAGS+=" -L${NACLPORTS_LIBDIR}" |
| 347 NACLPORTS_LDFLAGS+=" -Wl,-rpath-link=${NACLPORTS_LIBDIR}" |
| 348 |
| 342 # SPECS_FILE is where nacl-gcc 'specs' file will be installed | 349 # SPECS_FILE is where nacl-gcc 'specs' file will be installed |
| 343 local SPECS_DIR= | 350 local SPECS_DIR= |
| 344 if [ "${NACL_ARCH}" = "arm" ]; then | 351 if [ "${NACL_ARCH}" = "arm" ]; then |
| 345 SPECS_DIR=${NACL_TOOLCHAIN_ROOT}/lib/gcc/arm-nacl/4.8.3 | 352 SPECS_DIR=${NACL_TOOLCHAIN_ROOT}/lib/gcc/arm-nacl/4.8.3 |
| 346 if [ ! -d "${SPECS_DIR}" ]; then | 353 if [ ! -d "${SPECS_DIR}" ]; then |
| 347 SPECS_DIR=${NACL_TOOLCHAIN_ROOT}/lib/gcc/arm-nacl/4.9.2 | 354 SPECS_DIR=${NACL_TOOLCHAIN_ROOT}/lib/gcc/arm-nacl/4.9.2 |
| 348 fi | 355 fi |
| 349 else | 356 else |
| 350 SPECS_DIR=${NACL_TOOLCHAIN_ROOT}/lib/gcc/x86_64-nacl/4.4.3 | 357 SPECS_DIR=${NACL_TOOLCHAIN_ROOT}/lib/gcc/x86_64-nacl/4.4.3 |
| 351 fi | 358 fi |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 N | 406 N |
| 400 s|$| -rpath-link=${SED_SAFE_SPACES_USR_LIB} -L${SED_SAFE_SPACES_USR_LIB}| | 407 s|$| -rpath-link=${SED_SAFE_SPACES_USR_LIB} -L${SED_SAFE_SPACES_USR_LIB}| |
| 401 }" > "${SPECS_FILE}" | 408 }" > "${SPECS_FILE}" |
| 402 | 409 |
| 403 # For static-only toolchains (i.e. pnacl), modify the specs file to give an | 410 # For static-only toolchains (i.e. pnacl), modify the specs file to give an |
| 404 # error when attempting to create a shared object. | 411 # error when attempting to create a shared object. |
| 405 if [ "${NACL_SHARED}" != "1" ]; then | 412 if [ "${NACL_SHARED}" != "1" ]; then |
| 406 sed -i.bak "s/%{shared:-shared/%{shared:%e${ERROR_MSG}/" "${SPECS_FILE}" | 413 sed -i.bak "s/%{shared:-shared/%{shared:%e${ERROR_MSG}/" "${SPECS_FILE}" |
| 407 fi | 414 fi |
| 408 | 415 |
| 409 # For the library path we always explicitly add to the link flags | |
| 410 # otherwise 'libtool' won't find the libraries correctly. This | |
| 411 # is because libtool uses 'gcc -print-search-dirs' which does | |
| 412 # not honor the external specs file. | |
| 413 NACLPORTS_LDFLAGS+=" -L${NACLPORTS_LIBDIR}" | |
| 414 NACLPORTS_LDFLAGS+=" -Wl,-rpath-link=${NACLPORTS_LIBDIR}" | |
| 415 } | 416 } |
| 416 | 417 |
| 417 | 418 |
| 418 ###################################################################### | 419 ###################################################################### |
| 419 # Helper functions | 420 # Helper functions |
| 420 ###################################################################### | 421 ###################################################################### |
| 421 | 422 |
| 422 Banner() { | 423 Banner() { |
| 423 echo "######################################################################" | 424 echo "######################################################################" |
| 424 echo "$@" | 425 echo "$@" |
| (...skipping 1158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1583 ###################################################################### | 1584 ###################################################################### |
| 1584 # Always run | 1585 # Always run |
| 1585 # These functions are called when this script is imported to do | 1586 # These functions are called when this script is imported to do |
| 1586 # any essential checking/setup operations. | 1587 # any essential checking/setup operations. |
| 1587 ###################################################################### | 1588 ###################################################################### |
| 1588 PatchSpecsFile | 1589 PatchSpecsFile |
| 1589 InjectSystemHeaders | 1590 InjectSystemHeaders |
| 1590 InstallConfigSite | 1591 InstallConfigSite |
| 1591 GetRevision | 1592 GetRevision |
| 1592 MakeDirs | 1593 MakeDirs |
| OLD | NEW |