| Index: build_tools/common.sh
|
| diff --git a/build_tools/common.sh b/build_tools/common.sh
|
| index 47f6030f7b86a1a5a8b9f49dd04b81d607f0ecb0..bc5ca58684b7e17ed8d8d3250ca89121e4cae5c4 100644
|
| --- a/build_tools/common.sh
|
| +++ b/build_tools/common.sh
|
| @@ -592,9 +592,9 @@ DefaultConfigureStep() {
|
| export FREETYPE_CONFIG=${NACLPORTS_PREFIX_BIN}/freetype-config
|
| export PATH=${NACL_BIN_PATH}:${PATH};
|
| ChangeDir ${NACL_PACKAGES_REPOSITORY}/${PACKAGE_DIR}
|
| - Remove "build-nacl"
|
| - MakeDir "build-nacl"
|
| - cd "build-nacl"
|
| + Remove build-nacl
|
| + MakeDir build-nacl
|
| + cd build-nacl
|
| echo "Directory: $(pwd)"
|
|
|
| local conf_host=${NACL_CROSS_PREFIX}
|
| @@ -672,6 +672,32 @@ TimeCommand() {
|
| }
|
|
|
|
|
| +Validate() {
|
| + if [ ${NACL_ARCH} = "pnacl" ]; then
|
| + return
|
| + elif [ ${NACL_ARCH} = "arm" ]; then
|
| + NACL_VALIDATE=${NACL_SDK_ROOT}/tools/ncval_arm
|
| + elif [ ${NACL_ARCH} = "x86_64" ]; then
|
| + NACL_VALIDATE="${NACL_SDK_ROOT}/tools/ncval_x86_64 --errors"
|
| + else
|
| + NACL_VALIDATE=${NACL_SDK_ROOT}/tools/ncval_x86_32
|
| + fi
|
| + LogExecute ${NACL_VALIDATE} $@
|
| + if [ $? != 0 ]; then
|
| + exit 1
|
| + fi
|
| +}
|
| +
|
| +
|
| +DefaultValidateStep() {
|
| + if [ ${NACL_ARCH} != "pnacl" -a -n "${EXECUTABLES:-}" ]; then
|
| + for nexe in $EXECUTABLES ; do
|
| + Validate $nexe
|
| + done
|
| + fi
|
| +}
|
| +
|
| +
|
| RunSelLdrCommand() {
|
| if [ $NACL_ARCH = "arm" ]; then
|
| # no sel_ldr for arm
|
| @@ -686,6 +712,7 @@ RunSelLdrCommand() {
|
| fi
|
| }
|
|
|
| +
|
| WriteSelLdrScript() {
|
| if [ $NACL_ARCH = "arm" ]; then
|
| # no sel_ldr for arm
|
| @@ -695,75 +722,83 @@ WriteSelLdrScript() {
|
| cat > $1 <<HERE
|
| #!/bin/bash
|
| export NACLLOG=/dev/null
|
| -"${NACL_SEL_LDR}" -a -B "${NACL_IRT}" -- \
|
| - "${NACL_SDK_LIB}/runnable-ld.so" --library-path "${NACL_SDK_LIB}" "$2" "\$@"
|
| +
|
| +SCRIPT_DIR=\$(dirname "\${BASH_SOURCE[0]}")
|
| +SEL_LDR=${NACL_SEL_LDR}
|
| +IRT=${NACL_IRT}
|
| +SDK_LIB_DIR=${NACL_SDK_LIB}
|
| +LIB_PATH=\${SDK_LIB_DIR}:\${SCRIPT_DIR}
|
| +
|
| +"\${SEL_LDR}" -a -B "\${IRT}" -- \\
|
| + "\${SDK_LIB_DIR}/runnable-ld.so" --library-path "\${LIB_PATH}" \\
|
| + "\${SCRIPT_DIR}/$2" "\$@"
|
| HERE
|
| else
|
| cat > $1 <<HERE
|
| #!/bin/bash
|
| export NACLLOG=/dev/null
|
| -"${NACL_SEL_LDR}" -B "${NACL_IRT}" -- "$2" "\$@"
|
| +
|
| +SCRIPT_DIR=\$(dirname "\${BASH_SOURCE[0]}")
|
| +SEL_LDR=${NACL_SEL_LDR}
|
| +IRT=${NACL_IRT}
|
| +
|
| +"\${SEL_LDR}" -B "\${IRT}" -- "\${SCRIPT_DIR}/$2" "\$@"
|
| HERE
|
| fi
|
| chmod 750 $1
|
| echo "Wrote script pwd:$PWD $1"
|
| }
|
|
|
| -DefaultTranslateStep() {
|
| - local package=$1
|
| - local build_dir="${NACL_PACKAGES_REPOSITORY}/${package}"
|
| - local pexe=${build_dir}/$2
|
| - local arches="arm x86-32 x86-64"
|
|
|
| +TranslatePexe() {
|
| + local pexe=$1
|
| + local arches="arm x86-32 x86-64"
|
| Banner "Translating ${pexe}"
|
| - ls -l ${pexe}
|
|
|
| echo "stripping pexe"
|
| TimeCommand ${NACLSTRIP} ${pexe} -o ${pexe}.stripped
|
| - ls -l ${pexe}.stripped
|
|
|
| for a in ${arches} ; do
|
| - echo
|
| echo "translating pexe [$a]"
|
| nexe=${pexe}.$a.nexe
|
| TimeCommand ${TRANSLATOR} -arch $a ${pexe}.stripped -o ${nexe}
|
| - ls -l ${nexe}
|
| done
|
|
|
| # PIC branch
|
| for a in ${arches} ; do
|
| - echo
|
| echo "translating pexe [$a,pic]"
|
| nexe=${pexe}.$a.pic.nexe
|
| TimeCommand ${TRANSLATOR} -arch $a -fPIC ${pexe}.stripped -o ${nexe}
|
| - ls -l ${nexe}
|
| done
|
|
|
| # Now the same spiel with an optimized pexe
|
| opt_args="-O3 -inline-threshold=100"
|
| - echo
|
| echo "optimizing pexe [${opt_args}]"
|
| TimeCommand ${OPT} ${opt_args} ${pexe}.stripped -o ${pexe}.stripped.opt
|
| - ls -l ${pexe}.stripped.opt
|
|
|
| for a in ${arches} ; do
|
| - echo
|
| echo "translating pexe [$a]"
|
| nexe=${pexe}.opt.$a.nexe
|
| TimeCommand ${TRANSLATOR} -arch $a ${pexe}.stripped.opt -o ${nexe}
|
| - ls -l ${nexe}
|
| done
|
|
|
| # PIC branch
|
| for a in ${arches}; do
|
| - echo
|
| echo "translating pexe [$a,pic]"
|
| nexe=${pexe}.$a.pic.opt.nexe
|
| TimeCommand ${TRANSLATOR} -arch $a -fPIC ${pexe}.stripped.opt -o ${nexe}
|
| - ls -l ${nexe}
|
| done
|
|
|
| - ls -l $(dirname ${pexe})
|
| + ls -l $(dirname ${pexe})/*.nexe ${pexe}
|
| +}
|
| +
|
| +
|
| +DefaultTranslateStep() {
|
| + if [ ${NACL_ARCH} = "pnacl" -a -n "${EXECUTABLES:-}" ]; then
|
| + for pexe in ${EXECUTABLES} ; do
|
| + TranslatePexe ${pexe}
|
| + done
|
| + fi
|
| }
|
|
|
|
|
| @@ -774,6 +809,8 @@ DefaultPackageInstall() {
|
| DefaultPatchStep
|
| DefaultConfigureStep
|
| DefaultBuildStep
|
| + DefaultTranslateStep
|
| + DefaultValidateStep
|
| DefaultInstallStep
|
| DefaultCleanUpStep
|
| }
|
|
|