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

Unified Diff: ports/pnacl/build.sh

Issue 1553053002: Update pnacl toolchain build (Closed) Base URL: https://chromium.googlesource.com/webports.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ports/pnacl-llvm-src/pkg_info ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
}
« no previous file with comments | « ports/pnacl-llvm-src/pkg_info ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698