| Index: ports/pnacl/build.sh
|
| diff --git a/ports/pnacl/build.sh b/ports/pnacl/build.sh
|
| index bf682737e1afa7d6afa8d4b712cdf7908b104ed6..72ddd3c470ec5f6265ff35f7807d960374c1c8a5 100644
|
| --- a/ports/pnacl/build.sh
|
| +++ b/ports/pnacl/build.sh
|
| @@ -2,6 +2,8 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +EXECUTABLES="arm-nacl-readelf le32-nacl-strings clang clang++"
|
| +
|
| PatchStep() {
|
| DefaultPatchStep
|
| MakeDir ${SRC_DIR}/toolchain_build/src
|
| @@ -67,22 +69,15 @@ BuildStep() {
|
| EXTRA_CC_ARGS+=" --pnacl-disable-abi-check"
|
| LINUX_PNACL=${NACL_SDK_ROOT}/toolchain/linux_pnacl
|
| USR_LOCAL=${LINUX_PNACL}/le32-nacl/usr
|
| - EXTRA_CC_ARGS+=" -Dmain=nacl_main"
|
| - EXTRA_CC_ARGS+=" -include nacl_main.h"
|
| EXTRA_CC_ARGS+=" -include spawn.h"
|
| EXTRA_CC_ARGS+=" -I${USR_LOCAL}/include/glibc-compat"
|
| EXTRA_CC_ARGS+=" -I${NACL_SDK_ROOT}/include"
|
| EXTRA_CC_ARGS+=" -I${USR_LOCAL}/include"
|
| EXTRA_CC_ARGS+=" -L${NACL_SDK_ROOT}/lib/pnacl/Release"
|
| EXTRA_CC_ARGS+=" -L${USR_LOCAL}/lib"
|
| - EXTRA_CC_ARGS+=" -Wl,--undefined=PSUserCreateInstance"
|
| - EXTRA_CC_ARGS+=" -Wl,--undefined=nacl_main"
|
| - EXTRA_CC_ARGS+=" -Wl,--undefined=waitpid"
|
| - EXTRA_CC_ARGS+=" -Wl,--undefined=spawnve"
|
| EXTRA_CC_ARGS+=" -pthread"
|
| - EXTRA_CC_ARGS+=" ${NACL_CLI_MAIN_LIB} -lppapi_simple"
|
| - EXTRA_CC_ARGS+=" -lnacl_io -lppapi_cpp -lppapi"
|
| - EXTRA_CC_ARGS+=" -l${NACL_CXX_LIB} -lm -lglibc-compat"
|
| + EXTRA_CC_ARGS+=" ${NACL_CLI_MAIN_LDFLAGS}"
|
| + EXTRA_CC_ARGS+=" -lglibc-compat ${NACL_CLI_MAIN_LIB_CPP}"
|
|
|
| export GOLD_LDADD
|
| export EXTRA_CONFIGURE
|
| @@ -96,10 +91,10 @@ BuildStep() {
|
| ${EXTRA_CONFIGURE} \
|
| "--binutils-pnacl-extra-configure=${GOLD_LDADD}"
|
|
|
| - rm -rf ${BUILD_DIR}/*
|
| + Remove ${BUILD_DIR}
|
| + MakeDir ${BUILD_DIR}
|
| LogExecute cp \
|
| - ${SRC_DIR}/toolchain_build/out/llvm_le32_nacl_install/bin/* \
|
| - ${BUILD_DIR}/
|
| + ${SRC_DIR}/toolchain_build/out/llvm_le32_nacl_install/bin/* ${BUILD_DIR}/
|
| LogExecute cp \
|
| ${SRC_DIR}/toolchain_build/out/binutils_pnacl_le32_nacl_install/bin/* \
|
| ${BUILD_DIR}/
|
| @@ -109,54 +104,29 @@ BuildStep() {
|
| LogExecute cp ${SRC_DIR}/pnacl/driver/*.py ${BUILD_DIR}/driver/
|
| }
|
|
|
| -InstallArch() {
|
| - local arch=$1
|
| -
|
| - local ASSEMBLY_DIR=${PUBLISH_DIR}/${arch}
|
| +InstallStep() {
|
| + local ASSEMBLY_DIR=${DESTDIR}/${PREFIX}/pnacl
|
| Remove ${ASSEMBLY_DIR}/
|
| MakeDir ${ASSEMBLY_DIR}/
|
| - ChangeDir ${ASSEMBLY_DIR}/
|
| -
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/examples ${ASSEMBLY_DIR}/
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/getting_started ${ASSEMBLY_DIR}/
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/include ${ASSEMBLY_DIR}/
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/src ${ASSEMBLY_DIR}/
|
| -
|
| - for f in AUTHORS COPYING LICENSE NOTICE README README.Makefiles; do
|
| - LogExecute cp ${NACL_SDK_ROOT}/${f} ${ASSEMBLY_DIR}/
|
| - done
|
|
|
| - MakeDir ${ASSEMBLY_DIR}/lib
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/lib/pnacl ${ASSEMBLY_DIR}/lib/
|
| -
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/tools ${ASSEMBLY_DIR}/
|
| -
|
| - MakeDir ${ASSEMBLY_DIR}/toolchain
|
| - LogExecute cp -r ${NACL_SDK_ROOT}/toolchain/linux_pnacl \
|
| - ${ASSEMBLY_DIR}/toolchain
|
| + LogExecute cp -r ${NACL_SDK_ROOT}/toolchain/linux_pnacl/* ${ASSEMBLY_DIR}
|
|
|
| # Drop pyc files.
|
| LogExecute find ${ASSEMBLY_DIR} -name "*.pyc" -exec rm {} \;
|
|
|
| # TODO(bradnelson): Drop this once shell script fix is done.
|
| - LogExecute cp \
|
| - ${BUILD_DIR}/driver/*.py \
|
| - ${ASSEMBLY_DIR}/toolchain/linux_pnacl/bin/pydir/
|
| + LogExecute cp ${BUILD_DIR}/driver/*.py ${ASSEMBLY_DIR}/bin/pydir/
|
|
|
| # Swap in nacl executables.
|
| + Remove ${ASSEMBLY_DIR}/lib/*.so
|
| for f in $(find ${ASSEMBLY_DIR} -executable -type f); do
|
| if [ "$(file ${f} | grep ELF)" != "" ]; then
|
| - LogExecute rm -f ${f}
|
| local pexe="${BUILD_DIR}/$(basename ${f})"
|
| if [ -f "${pexe}" ]; then
|
| - echo hi
|
| - LogExecute "${TRANSLATOR}" \
|
| - -O2 -arch "${arch}" --allow-llvm-bitcode-input \
|
| - -ffunction-sections --gc-sections \
|
| - "${pexe}" \
|
| - -o "${f}"
|
| + LogExecute ${PNACLFINALIZE} ${pexe} -o ${f}
|
| else
|
| echo "Warning: dropping ${f} without a nacl replacement."
|
| + LogExecute rm -f ${f}
|
| fi
|
| elif [ "$(head -n 1 ${f} | grep /bin/sh)" != "" ]; then
|
| # TODO(bradnelson): Drop this once shell script fix is done.
|
| @@ -164,13 +134,13 @@ InstallArch() {
|
| LogExecute chmod a+x ${f}
|
| fi
|
| done
|
| -
|
| - LogExecute zip -rq ${PUBLISH_DIR}/${arch}.zip .
|
| }
|
|
|
| -InstallStep() {
|
| - local ARCH_LIST="arm i686 x86_64"
|
| - for arch in ${ARCH_LIST}; do
|
| - InstallArch ${arch}
|
| - done
|
| +PostInstallTestStep() {
|
| + # Verify that binaries at least load under sel_ldr
|
| + LogExecute ./le32-nacl-strings.sh --version
|
| + LogExecute ./arm-nacl-readelf.sh --version
|
| + # TODO(sbc): Currently this fails because the wrong main symbol is found
|
| + # by the linker (the libppapi one rather than the libppapi_simple one).
|
| + #LogExecute ./clang.sh --version
|
| }
|
|
|