| OLD | NEW |
| 1 # Copyright (c) 2015 The Native Client Authors. All rights reserved. | 1 # Copyright (c) 2015 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 # falling back to cc for generating build time artifacts | 5 # falling back to cc for generating build time artifacts |
| 6 export BUILD_CC=cc | 6 export BUILD_CC=cc |
| 7 export BUILD_LD=cc | 7 export BUILD_LD=cc |
| 8 # use -Wno-return-type to suppress return-type errors encountered | 8 # use -Wno-return-type to suppress return-type errors encountered |
| 9 # with pnacl, arm's clang-newlib (microperl) | 9 # with pnacl, arm's clang-newlib (microperl) |
| 10 NACLPORTS_CFLAGS_MICRO=$NACLPORTS_CFLAGS | 10 NACLPORTS_CFLAGS_MICRO=$NACLPORTS_CFLAGS |
| 11 NACLPORTS_CFLAGS_MICRO+=" -Wno-return-type " | 11 NACLPORTS_CFLAGS_MICRO+=" -Wno-return-type " |
| 12 NACLPORTS_CFLAGS+=" -I${NACL_SDK_ROOT}/include -I${NACLPORTS_INCLUDE} \ | 12 NACLPORTS_CFLAGS+=" -I${NACL_SDK_ROOT}/include -isystem${NACLPORTS_INCLUDE} \ |
| 13 -Wno-return-type" | 13 -Wno-return-type" |
| 14 BUILD_DIR=${SRC_DIR} | 14 BUILD_DIR=${SRC_DIR} |
| 15 # keeping microperl for now | 15 # keeping microperl for now |
| 16 EXECUTABLES="perl microperl" | 16 EXECUTABLES="perl microperl" |
| 17 # we need a working perl on host to build things for target | 17 # we need a working perl on host to build things for target |
| 18 HOST_BUILD=${WORK_DIR}/build_host | 18 HOST_BUILD=${WORK_DIR}/build_host |
| 19 ARCH_DIR=${PUBLISH_DIR}/${NACL_ARCH} | 19 ARCH_DIR=${PUBLISH_DIR}/${NACL_ARCH} |
| 20 # PNaCl and newlib dont have dynamic loading, so | 20 # PNaCl and newlib dont have dynamic loading, so |
| 21 # using Perl's internal stub file dl_none.xs | 21 # using Perl's internal stub file dl_none.xs |
| 22 # specifically for systems which do not support it | 22 # specifically for systems which do not support it |
| 23 # Also, FILE pointer is structured a bit differently | 23 # Also, FILE pointer is structured a bit differently |
| 24 # Relevant stdio parameters found via sel_ldr on Linux | 24 # Relevant stdio parameters found via sel_ldr on Linux |
| 25 if [ "${NACL_LIBC}" = "newlib" -o "${NACL_ARCH}" = "pnacl" ] ; then | 25 if [ "${NACL_LIBC}" = "newlib" -o "${NACL_ARCH}" = "pnacl" \ |
| 26 -o "${NACL_ARCH}" = "le32" ] ; then |
| 26 NACLPORTS_LIBS+=" -lm -ltar" | 27 NACLPORTS_LIBS+=" -lm -ltar" |
| 27 DYNAMIC_EXT="" | 28 DYNAMIC_EXT="" |
| 28 NACL_GLIBC_DEF="undef" | 29 NACL_GLIBC_DEF="undef" |
| 29 PERL_STDIO_BASE="(((fp)->_bf)._base)" | 30 PERL_STDIO_BASE="(((fp)->_bf)._base)" |
| 30 PERL_STDIO_BUFSIZ="(((fp)->_bf)._size)" | 31 PERL_STDIO_BUFSIZ="(((fp)->_bf)._size)" |
| 31 PERL_STDIO_CNT="" | 32 PERL_STDIO_CNT="" |
| 32 PERL_STDIO_PTR="((fp)->_p)" | 33 PERL_STDIO_PTR="((fp)->_p)" |
| 33 PERL_DLSRC="dl_none.xs" | 34 PERL_DLSRC="dl_none.xs" |
| 34 NACLPORTS_CCDLFLAGS="" | 35 NACLPORTS_CCDLFLAGS="" |
| 35 else | 36 else |
| (...skipping 11 matching lines...) Expand all Loading... |
| 47 NACL_GLIBC_DEF="define" | 48 NACL_GLIBC_DEF="define" |
| 48 PERL_STDIO_BASE="((fp)->_IO_read_base)" | 49 PERL_STDIO_BASE="((fp)->_IO_read_base)" |
| 49 PERL_STDIO_BUFSIZ="((fp)->_IO_read_end - (fp)->_IO_read_base)" | 50 PERL_STDIO_BUFSIZ="((fp)->_IO_read_end - (fp)->_IO_read_base)" |
| 50 PERL_STDIO_CNT="((fp)->_IO_read_end - (fp)->_IO_read_ptr)" | 51 PERL_STDIO_CNT="((fp)->_IO_read_end - (fp)->_IO_read_ptr)" |
| 51 PERL_STDIO_PTR="((fp)->_IO_read_ptr)" | 52 PERL_STDIO_PTR="((fp)->_IO_read_ptr)" |
| 52 PERL_DLSRC="dl_dlopen.xs" | 53 PERL_DLSRC="dl_dlopen.xs" |
| 53 NACLPORTS_CCDLFLAGS="-Wl,-E" | 54 NACLPORTS_CCDLFLAGS="-Wl,-E" |
| 54 fi | 55 fi |
| 55 # include Errno in pnacl | 56 # include Errno in pnacl |
| 56 NONXS_EXT="" | 57 NONXS_EXT="" |
| 57 if [ "${NACL_ARCH}" = "pnacl" ] ; then | 58 if [ "${NACL_ARCH}" = "pnacl" -o "${NACL_ARCH}" = "le32" ] ; then |
| 58 NONXS_EXT="Errno" | 59 NONXS_EXT="Errno" |
| 59 fi | 60 fi |
| 60 | 61 |
| 61 EnableCliMain | 62 EnableCliMain |
| 62 EnableGlibcCompat | 63 EnableGlibcCompat |
| 63 | 64 |
| 64 # BuildHostMiniperl builds miniperl for host, which is needed for | 65 # BuildHostMiniperl builds miniperl for host, which is needed for |
| 65 # building Perl for the target | 66 # building Perl for the target |
| 66 BuildHostMiniperl() { | 67 BuildHostMiniperl() { |
| 67 if [ ! -x ${HOST_BUILD}/miniperl ]; then | 68 if [ ! -x ${HOST_BUILD}/miniperl ]; then |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 MakeDir ${DESTDIR_BIN} | 159 MakeDir ${DESTDIR_BIN} |
| 159 LogExecute cp -f ${SRC_DIR}/{perl,microperl} ${DESTDIR_BIN}/ | 160 LogExecute cp -f ${SRC_DIR}/{perl,microperl} ${DESTDIR_BIN}/ |
| 160 fi | 161 fi |
| 161 } | 162 } |
| 162 | 163 |
| 163 TestStep() { | 164 TestStep() { |
| 164 export NACL_SDK_ROOT | 165 export NACL_SDK_ROOT |
| 165 export TOOLCHAIN | 166 export TOOLCHAIN |
| 166 | 167 |
| 167 # skip for pnacl | 168 # skip for pnacl |
| 168 if [ "${NACL_ARCH}" = "pnacl" ] ; then | 169 if [ "${NACL_ARCH}" = "pnacl" -o "${NACL_ARCH}" = "le32" ] ; then |
| 169 return | 170 return |
| 170 fi | 171 fi |
| 171 | 172 |
| 172 # ignore error messages for now | 173 # ignore error messages for now |
| 173 echo "Running ${START_DIR}/tests.sh" | 174 echo "Running ${START_DIR}/tests.sh" |
| 174 ${START_DIR}/tests.sh 2>tests_err.txt 1>tests_out.txt | 175 ${START_DIR}/tests.sh 2>tests_err.txt 1>tests_out.txt |
| 175 EXPECTED=${START_DIR}/expected_${TOOLCHAIN}.txt | 176 EXPECTED=${START_DIR}/expected_${TOOLCHAIN}.txt |
| 176 if ! cmp tests_out.txt ${EXPECTED}; then | 177 if ! cmp tests_out.txt ${EXPECTED}; then |
| 177 echo "Test output did not match expected output" | 178 echo "Test output did not match expected output" |
| 178 echo "See ${PWD}/tests_err.txt" | 179 echo "See ${PWD}/tests_err.txt" |
| 179 diff -u tests_out.txt ${EXPECTED} | 180 diff -u tests_out.txt ${EXPECTED} |
| 180 exit 1 | 181 exit 1 |
| 181 fi | 182 fi |
| 182 | 183 |
| 183 echo "PASSED" | 184 echo "PASSED" |
| 184 } | 185 } |
| OLD | NEW |