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

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

Issue 710193003: Reduce the number of times we build a host copy of python. (Closed) Base URL: https://chromium.googlesource.com/external/naclports.git@master
Patch Set: Created 6 years, 1 month 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) 2013 The Native Client Authors. All rights reserved. 1 # Copyright (c) 2013 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 # This build relies on certain host binaries and python's configure 7 # This build relies on certain host binaries and python's configure
8 # requires us to set --build= as well as --host=. 8 # requires us to set --build= as well as --host=.
9 HOST_BUILD_DIR=${WORK_DIR}/build-nacl-host 9 HOST_BUILD_DIR=${WORK_DIR}/build_host
10
11 BuildHostPython() {
12 # Seems that python builds to python.exe on mac (!) so they
13 # can avoid a name conflict with the "Python" folder, since
14 # the mac filesystem is case insensistive.
15 if [ ${OS_NAME} != "Linux" ]; then
16 local EXT=.exe
17 else
18 local EXT=
19 fi
20
21 MakeDir ${HOST_BUILD_DIR}
22 ChangeDir ${HOST_BUILD_DIR}
23 if [ -f python${EXT} -a -f Parser/pgen ]; then
24 return
25 fi
26 LogExecute ${SRC_DIR}/configure
27 LogExecute make -j${OS_JOBS} python${EXT} Parser/pgen
28 }
29 10
30 ConfigureStep() { 11 ConfigureStep() {
31 BuildHostPython
32 ChangeDir ${BUILD_DIR}
33 # We pre-seed configure with certain results that it cannot determine 12 # We pre-seed configure with certain results that it cannot determine
34 # since we are doing a cross compile. The $CONFIG_SITE file is sourced 13 # since we are doing a cross compile. The $CONFIG_SITE file is sourced
35 # by configure early on. 14 # by configure early on.
36 export CROSS_COMPILE=true 15 export CROSS_COMPILE=true
37 export CONFIG_SITE=${START_DIR}/config.site 16 export CONFIG_SITE=${START_DIR}/config.site
38 # Disable ipv6 since configure claims it requires a working getaddrinfo 17 # Disable ipv6 since configure claims it requires a working getaddrinfo
39 # which we do not provide. TODO(sbc): remove this once nacl_io supports 18 # which we do not provide. TODO(sbc): remove this once nacl_io supports
40 # getaddrinfo. 19 # getaddrinfo.
41 EXTRA_CONFIGURE_ARGS="--disable-ipv6" 20 EXTRA_CONFIGURE_ARGS="--disable-ipv6"
42 EXTRA_CONFIGURE_ARGS+=" --with-suffix=${NACL_EXEEXT}" 21 EXTRA_CONFIGURE_ARGS+=" --with-suffix=${NACL_EXEEXT}"
43 EXTRA_CONFIGURE_ARGS+=" --build=x86_64-linux-gnu" 22 EXTRA_CONFIGURE_ARGS+=" --build=x86_64-linux-gnu"
44 export LIBS="-ltermcap" 23 export LIBS="-ltermcap"
45 if [ "${NACL_LIBC}" = "newlib" ]; then 24 if [ "${NACL_LIBC}" = "newlib" ]; then
46 LIBS+=" -lglibc-compat" 25 LIBS+=" -lglibc-compat"
47 fi 26 fi
48 DefaultConfigureStep 27 DefaultConfigureStep
49 if [ "${NACL_LIBC}" = "newlib" ]; then 28 if [ "${NACL_LIBC}" = "newlib" ]; then
50 # For static linking we copy in a pre-baked Setup.local 29 # For static linking we copy in a pre-baked Setup.local
51 LogExecute cp ${START_DIR}/Setup.local Modules/ 30 LogExecute cp ${START_DIR}/Setup.local Modules/
52 fi 31 fi
53 } 32 }
54 33
55 BuildStep() { 34 BuildStep() {
56 export CROSS_COMPILE=true 35 export CROSS_COMPILE=true
57 export MAKEFLAGS="PGEN=${HOST_BUILD_DIR}/Parser/pgen" 36 export MAKEFLAGS="PGEN=${NACL_HOST_PYBUILD}/Parser/pgen"
58 SetupCrossEnvironment 37 SetupCrossEnvironment
59 DefaultBuildStep 38 DefaultBuildStep
60 } 39 }
61 40
62 InstallStep() { 41 InstallStep() {
63 export CROSS_COMPILE=true 42 export CROSS_COMPILE=true
64 DefaultInstallStep 43 DefaultInstallStep
65 } 44 }
66 45
67 TestStep() { 46 TestStep() {
68 if [ ${NACL_ARCH} = "pnacl" ]; then 47 if [ ${NACL_ARCH} = "pnacl" ]; then
69 local pexe=python${NACL_EXEEXT} 48 local pexe=python${NACL_EXEEXT}
70 local script=python 49 local script=python
71 # on Mac/Windows the folder called Python prevents us from creating a 50 # on Mac/Windows the folder called Python prevents us from creating a
72 # script called python (lowercase). 51 # script called python (lowercase).
73 if [ ${OS_NAME} != "Linux" ]; then 52 if [ ${OS_NAME} != "Linux" ]; then
74 script+=".sh" 53 script+=".sh"
75 fi 54 fi
76 TranslateAndWriteSelLdrScript ${pexe} x86-64 python.x86-64.nexe ${script} 55 TranslateAndWriteSelLdrScript ${pexe} x86-64 python.x86-64.nexe ${script}
77 fi 56 fi
78 } 57 }
OLDNEW
« README.rst ('K') | « ports/python-static/pkg_info ('k') | ports/python/nacl.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698