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

Side by Side Diff: build_tools/common.sh

Issue 1435953002: Consistent --host and --build arguments to configure (Closed) Base URL: https://chromium.googlesource.com/external/naclports.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « no previous file | ports/dosbox/build.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 1 # Copyright (c) 2012 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 # Environment variable NACL_ARCH should be set to one of the following 5 # Environment variable NACL_ARCH should be set to one of the following
6 # values: i686 x86_64 pnacl arm 6 # values: i686 x86_64 pnacl arm
7 7
8 8
9 # NAMING CONVENTION 9 # NAMING CONVENTION
10 # ================= 10 # =================
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 if [ -z "${OS_JOBS:-}" ]; then 172 if [ -z "${OS_JOBS:-}" ]; then
173 if [ "${OS_NAME}" = "Darwin" ]; then 173 if [ "${OS_NAME}" = "Darwin" ]; then
174 OS_JOBS=4 174 OS_JOBS=4
175 elif [ "${OS_NAME}" = "Linux" ]; then 175 elif [ "${OS_NAME}" = "Linux" ]; then
176 OS_JOBS=$(nproc) 176 OS_JOBS=$(nproc)
177 else 177 else
178 OS_JOBS=1 178 OS_JOBS=1
179 fi 179 fi
180 fi 180 fi
181 181
182 CONF_BUILD=$(/bin/sh "${SCRIPT_DIR}/config.guess")
183 CONF_HOST=${NACL_CROSS_PREFIX}
184 # TODO(gdeepti): Investigate whether emscripten accurately fits this case for
185 # long term usage.
186 if [[ ${NACL_ARCH} == pnacl ]]; then
187 # The PNaCl tools use "pnacl-" as the prefix, but config.sub
188 # does not know about "pnacl". It only knows about "le32-nacl".
189 # Unfortunately, most of the config.subs here are so old that
190 # it doesn't know about that "le32" either. So we just say "nacl".
191 CONF_HOST="nacl"
192 fi
193
182 GomaTest() { 194 GomaTest() {
183 # test the goma compiler 195 # test the goma compiler
184 if [ "${NACL_GOMA_FORCE:-}" = 1 ]; then 196 if [ "${NACL_GOMA_FORCE:-}" = 1 ]; then
185 return 0 197 return 0
186 fi 198 fi
187 echo 'int foo = 4;' > goma_test.c 199 echo 'int foo = 4;' > goma_test.c
188 GOMA_USE_LOCAL=false GOMA_FALLBACK=false gomacc "$1" -c \ 200 GOMA_USE_LOCAL=false GOMA_FALLBACK=false gomacc "$1" -c \
189 goma_test.c -o goma_test.o 2> /dev/null 201 goma_test.c -o goma_test.o 2> /dev/null
190 local RTN=$? 202 local RTN=$?
191 rm -f goma_test.c 203 rm -f goma_test.c
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 ConfigureStep_Autoconf 986 ConfigureStep_Autoconf
975 elif IsCMakeProject; then 987 elif IsCMakeProject; then
976 ConfigureStep_CMake 988 ConfigureStep_CMake
977 else 989 else
978 echo "No configure or CMakeLists.txt script found in ${SRC_DIR}" 990 echo "No configure or CMakeLists.txt script found in ${SRC_DIR}"
979 fi 991 fi
980 } 992 }
981 993
982 994
983 ConfigureStep_Autoconf() { 995 ConfigureStep_Autoconf() {
984 conf_build=$(/bin/sh "${SCRIPT_DIR}/config.guess")
985
986 SetupCrossEnvironment 996 SetupCrossEnvironment
987 997
988 # Without this autoconf builds will use the same CFLAGS/LDFLAGS for host 998 # Without this autoconf builds will use the same CFLAGS/LDFLAGS for host
989 # builds as NaCl builds and not all the flags we use are supported by the 999 # builds as NaCl builds and not all the flags we use are supported by the
990 # host compiler, which could be an older version of gcc 1000 # host compiler, which could be an older version of gcc
991 # (e.g. -fdiagnostics-color=auto). 1001 # (e.g. -fdiagnostics-color=auto).
992 export CFLAGS_FOR_BUILD="" 1002 export CFLAGS_FOR_BUILD=""
993 export LDFLAGS_FOR_BUILD="" 1003 export LDFLAGS_FOR_BUILD=""
994 1004
995 local conf_host=${NACL_CROSS_PREFIX}
996 # TODO(gdeepti): Investigate whether emscripten accurately fits this case for
997 # long term usage.
998 if [[ ${TOOLCHAIN} == pnacl ]]; then
999 # The PNaCl tools use "pnacl-" as the prefix, but config.sub
1000 # does not know about "pnacl". It only knows about "le32-nacl".
1001 # Unfortunately, most of the config.subs here are so old that
1002 # it doesn't know about that "le32" either. So we just say "nacl".
1003 conf_host="nacl"
1004 fi
1005
1006 # Inject a shim that speed up pnacl invocations for configure. 1005 # Inject a shim that speed up pnacl invocations for configure.
1007 if [ "${NACL_ARCH}" = "pnacl" ]; then 1006 if [ "${NACL_ARCH}" = "pnacl" ]; then
1008 local PNACL_CONF_SHIM="${TOOLS_DIR}/pnacl-configure-shim.py" 1007 local PNACL_CONF_SHIM="${TOOLS_DIR}/pnacl-configure-shim.py"
1009 CC="${PNACL_CONF_SHIM} ${CC}" 1008 CC="${PNACL_CONF_SHIM} ${CC}"
1010 fi 1009 fi
1011 1010
1012 if [[ ${TOOLCHAIN} == emscripten ]]; then 1011 if [[ ${TOOLCHAIN} == emscripten ]]; then
1013 echo "export EMMAKEN_JUST_CONFIGURE=1" 1012 echo "export EMMAKEN_JUST_CONFIGURE=1"
1014 export EMMAKEN_JUST_CONFIGURE=1 1013 export EMMAKEN_JUST_CONFIGURE=1
1015 fi 1014 fi
1016 1015
1017 # Specify both --build and --host options. This forces autoconf into cross 1016 # Specify both --build and --host options. This forces autoconf into cross
1018 # compile mode. This is useful since the autodection doesn't always works. 1017 # compile mode. This is useful since the autodection doesn't always works.
1019 # For example a trivial PNaCl binary can sometimes run on the linux host if 1018 # For example a trivial PNaCl binary can sometimes run on the linux host if
1020 # it has the correct LLVM bimfmt support. What is more, autoconf will 1019 # it has the correct LLVM bimfmt support. What is more, autoconf will
1021 # generate a warning if only --host is specified. 1020 # generate a warning if only --host is specified.
1022 LogExecute "${NACL_CONFIGURE_PATH}" \ 1021 LogExecute "${NACL_CONFIGURE_PATH}" \
1023 --build=${conf_build} \ 1022 --build=${CONF_BUILD} \
1024 --host=${conf_host} \ 1023 --host=${CONF_HOST} \
1025 --prefix=${PREFIX} \ 1024 --prefix=${PREFIX} \
1026 --with-http=no \ 1025 --with-http=no \
1027 --with-html=no \ 1026 --with-html=no \
1028 --with-ftp=no \ 1027 --with-ftp=no \
1029 --${NACL_OPTION}-mmx \ 1028 --${NACL_OPTION}-mmx \
1030 --${NACL_OPTION}-sse \ 1029 --${NACL_OPTION}-sse \
1031 --${NACL_OPTION}-sse2 \ 1030 --${NACL_OPTION}-sse2 \
1032 --${NACL_OPTION}-asm \ 1031 --${NACL_OPTION}-asm \
1033 --with-x=no \ 1032 --with-x=no \
1034 ${EXTRA_CONFIGURE_ARGS:-} 1033 ${EXTRA_CONFIGURE_ARGS:-}
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
1607 ###################################################################### 1606 ######################################################################
1608 # Always run 1607 # Always run
1609 # These functions are called when this script is imported to do 1608 # These functions are called when this script is imported to do
1610 # any essential checking/setup operations. 1609 # any essential checking/setup operations.
1611 ###################################################################### 1610 ######################################################################
1612 PatchSpecsFile 1611 PatchSpecsFile
1613 InjectSystemHeaders 1612 InjectSystemHeaders
1614 InstallConfigSite 1613 InstallConfigSite
1615 GetRevision 1614 GetRevision
1616 MakeDirs 1615 MakeDirs
OLDNEW
« no previous file with comments | « no previous file | ports/dosbox/build.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698