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

Side by Side Diff: ports/python-static/build.sh

Issue 907563002: Simplify cli_main (Closed) Base URL: https://chromium.googlesource.com/external/naclports.git@master
Patch Set: Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2014 The Native Client Authors. All rights reserved. 1 # Copyright (c) 2014 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 EXECUTABLES=python${NACL_EXEEXT} 5 EXECUTABLES=python${NACL_EXEEXT}
6 6
7 # Workaround for arm-gcc bug: 7 # Workaround for arm-gcc bug:
8 # https://code.google.com/p/nativeclient/issues/detail?id=3205 8 # https://code.google.com/p/nativeclient/issues/detail?id=3205
9 # TODO(sbc): remove this once the issue is fixed 9 # TODO(sbc): remove this once the issue is fixed
10 if [ "${NACL_ARCH}" = "arm" ]; then 10 if [ "${NACL_ARCH}" = "arm" ]; then
(...skipping 19 matching lines...) Expand all
30 EXTRA_CONFIGURE_ARGS="--disable-ipv6" 30 EXTRA_CONFIGURE_ARGS="--disable-ipv6"
31 EXTRA_CONFIGURE_ARGS+=" --with-suffix=${NACL_EXEEXT}" 31 EXTRA_CONFIGURE_ARGS+=" --with-suffix=${NACL_EXEEXT}"
32 EXTRA_CONFIGURE_ARGS+=" --build=i686-linux-gnu --disable-shared --enable-stati c" 32 EXTRA_CONFIGURE_ARGS+=" --build=i686-linux-gnu --disable-shared --enable-stati c"
33 export SO=.a 33 export SO=.a
34 export MAKEFLAGS="PGEN=${NACL_HOST_PYBUILD}/Parser/pgen" 34 export MAKEFLAGS="PGEN=${NACL_HOST_PYBUILD}/Parser/pgen"
35 export LIBS="-ltermcap" 35 export LIBS="-ltermcap"
36 export DYNLOADFILE=dynload_ppapi.o 36 export DYNLOADFILE=dynload_ppapi.o
37 export MACHDEP=ppapi 37 export MACHDEP=ppapi
38 export LINKCC=${NACLCXX} 38 export LINKCC=${NACLCXX}
39 if [ "${NACL_LIBC}" = "newlib" ]; then 39 if [ "${NACL_LIBC}" = "newlib" ]; then
40 LIBS+=" -lglibc-compat -lc" 40 LIBS+=" -lglibc-compat"
41 NACLPORTS_CPPFLAGS+=" -I${NACLPORTS_INCLUDE}/glibc-compat" 41 NACLPORTS_CPPFLAGS+=" -I${NACLPORTS_INCLUDE}/glibc-compat"
42 fi 42 fi
43 LogExecute cp ${START_DIR}/dynload_ppapi.c ${SRC_DIR}/Python/ 43 LogExecute cp ${START_DIR}/dynload_ppapi.c ${SRC_DIR}/Python/
44 # This next step is costly, but it sets the environment variables correctly. 44 # This next step is costly, but it sets the environment variables correctly.
45 DefaultConfigureStep 45 DefaultConfigureStep
46 46
47 LogExecute cp ${START_DIR}/Setup.local Modules/ 47 LogExecute cp ${START_DIR}/Setup.local Modules/
48 cat ${DEST_PYTHON_OBJS}/*.list >> Modules/Setup.local 48 cat ${DEST_PYTHON_OBJS}/*.list >> Modules/Setup.local
49 PY_MOD_LIBS="" 49 PY_MOD_LIBS=""
50 for MODFILE in ${DEST_PYTHON_OBJS}/*.libs ; do 50 for MODFILE in ${DEST_PYTHON_OBJS}/*.libs ; do
51 if [ -e ${MODFILE} ]; then 51 if [ -e ${MODFILE} ]; then
52 source ${MODFILE} 52 source ${MODFILE}
53 fi 53 fi
54 done 54 done
55 LogExecute rm -vf libpython2.7.a 55 LogExecute rm -vf libpython2.7.a
56 PY_LINK_LINE+="ppapi_wrapper ${DEST_PYTHON_OBJS}/\*/\*.o" 56 PY_LINK_LINE+="ppapi_wrapper ${DEST_PYTHON_OBJS}/\*/\*.o"
57 # Not sure why -uPSUserMainGet is needed here. NACL_CLI_MAIN_LIB already 57 # Not sure why -uPSUserMainGet is needed here. NACL_CLI_MAIN_LIB already
58 # contains -uPSUserCreateInstance which should be enough to pull in both 58 # contains -uPSUserCreateInstance which should be enough to pull in both
59 # symbols (they live int he same object file in libcli_main.a). 59 # symbols (they live int he same object file in libcli_main.a).
60 PY_LINK_LINE+=" ${PY_MOD_LIBS} -Wl,-uPSUserMainGet ${NACL_CLI_MAIN_LIB}" 60 PY_LINK_LINE+=" ${PY_MOD_LIBS} -Wl,-uPSUserMainGet -lcli_main -lnacl_spawn"
bradn 2015/02/13 02:12:32 Don't you want to drop this -lcli_main ? I thought
gdeepti 2015/02/13 21:43:56 I think this one still uses cli_main as the entry
61 PY_LINK_LINE+=" -lz -lppapi_simple -lppapi -lppapi_cpp -lnacl" 61 PY_LINK_LINE+=" -lz -lppapi_simple -lppapi -lppapi_cpp -lnacl"
62 PY_LINK_LINE+=" -lnacl_io -lc -lbz2" 62 PY_LINK_LINE+=" -lnacl_io -lbz2"
63 if [ "${NACL_LIBC}" = "newlib" ]; then 63 if [ "${NACL_LIBC}" = "newlib" ]; then
64 PY_LINK_LINE+=" -lglibc-compat" 64 PY_LINK_LINE+=" -lglibc-compat"
65 fi 65 fi
66 echo ${PY_LINK_LINE} >> Modules/Setup.local 66 echo ${PY_LINK_LINE} >> Modules/Setup.local
67 # At this point we use the existing environment variables from 67 # At this point we use the existing environment variables from
68 # DefaultConfigureStep to build our destination Python modules 68 # DefaultConfigureStep to build our destination Python modules
69 } 69 }
70 70
71 BuildStep() { 71 BuildStep() {
72 SetupCrossEnvironment 72 SetupCrossEnvironment
73 export CROSS_COMPILE=true 73 export CROSS_COMPILE=true
74 export MAKEFLAGS="PGEN=${NACL_HOST_PYBUILD}/Parser/pgen" 74 export MAKEFLAGS="PGEN=${NACL_HOST_PYBUILD}/Parser/pgen"
75 DefaultBuildStep 75 DefaultBuildStep
76 ChangeDir ${BUILD_DIR} 76 ChangeDir ${BUILD_DIR}
77 Banner "Rebuilding libpython2.7.a" 77 Banner "Rebuilding libpython2.7.a"
78 ${AR} cr libpython2.7.a ${DEST_PYTHON_OBJS}/*/*.o 78 ${AR} cr libpython2.7.a ${DEST_PYTHON_OBJS}/*/*.o
79 ${RANLIB} libpython2.7.a 79 ${RANLIB} libpython2.7.a
80 # To avoid rebuilding python.nexe with the new libpython2.7.a and duplicating 80 # To avoid rebuilding python.nexe with the new libpython2.7.a and duplicating
81 # symbols 81 # symbols
82 LogExecute touch python${NACL_EXEEXT} 82 LogExecute touch python${NACL_EXEEXT}
83 # The modules get built with SO=so, but they need to be SO=a inside the 83 # The modules get built with SO=so, but they need to be SO=a inside the
84 # destination filesystem. 84 # destination filesystem.
85 for fn in $(find ${NACL_DEST_PYROOT}/${SITE_PACKAGES} -name "*.so"); do 85 for fn in $(find ${NACL_DEST_PYROOT}/${SITE_PACKAGES} -name "*.so"); do
86 LogExecute touch ${fn%%so}a 86 LogExecute touch ${fn%%so}a
87 LogExecute rm -v ${fn} 87 LogExecute rm -v ${fn}
88 done 88 done
89 } 89 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698