[msvc] Update csproj files (#4115)
[mono.git] / nacl / common.sh
index bbf8b29d1c416d4a6c283c2df006f91ce95e632b..65e7dc7a4ad8862dd2ea74e86bff43aa49dcbfe1 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2009 The Native Client Authors. All rights reserved.
+# Copyright (c) 2011 The Native Client Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that be
 # found in the LICENSE file.
 #
@@ -32,13 +32,12 @@ else
   readonly HOST_BITSIZE=${HOST_BITSIZE:-"32"}
 fi
 
-NACL_SDK_BASE=/usr/local/google/elijahtaylor/nacl_svn/native_client/tools/sdk/nacl-sdk
-#NACL_SDK_BASE=/usr/local/google/elijahtaylor/nacl_svn/native_client/toolchain/linux_x86
-
 if [ $TARGET_BITSIZE == "64" ]; then
   readonly TARGET_BIT_PREFIX="64"
+  readonly CROSS_ID=x86_64
 else
   readonly TARGET_BIT_PREFIX=""
+  readonly CROSS_ID=i686
 fi
 # we might want to override the detected host platform (e.g. on OSX 10.6)
 if [ $HOST_BITSIZE == "64" ]; then
@@ -47,27 +46,37 @@ else
   readonly HOST_BIT_PREFIX=""
 fi
 
-# locate default nacl_sdk toolchain
-# TODO: no arm support
-readonly NACL_SDK=${NACL_SDK_PATH:-/usr/local/google/elijahtaylor/naclports_svn}
-readonly NACL_DEV=${NACL_PATH:-/usr/local/google/elijahtaylor/nacl_svn}
-readonly NACL_NATIVE_CLIENT=${NACL_SDK}/src
-readonly NACL_SDK_BASE=${NACL_SDK_BASE:-\
-${NACL_NATIVE_CLIENT}/toolchain/${OS_SUBDIR_SHORT}_x86}
+export NACL_CROSS_PREFIX=${CROSS_ID}-nacl
+export NACL_CROSS_PREFIX_DASH=${NACL_CROSS_PREFIX}-
+
+readonly NACL_NEWLIB=${NACL_NEWLIB:-"0"}
+
+if [ $NACL_NEWLIB = "1" ]; then
+  readonly NACL_SDK_BASE=${NACL_SDK_ROOT}/toolchain/${OS_SUBDIR_SHORT}_x86_newlib
+else
+case "${NACL_SDK_ROOT}" in
+*pepper_15* | *pepper_16* | *pepper_17*)
+  readonly NACL_SDK_BASE=${NACL_SDK_ROOT}/toolchain/${OS_SUBDIR_SHORT}_x86
+  ;;
+*)
+  readonly NACL_SDK_BASE=${NACL_SDK_ROOT}/toolchain/${OS_SUBDIR_SHORT}_x86_glibc
+  ;;
+esac
+fi
 
 readonly NACL_BIN_PATH=${NACL_SDK_BASE}/bin
-readonly NACLCC=${NACL_SDK_BASE}/bin/nacl${TARGET_BIT_PREFIX}-gcc
-readonly NACLCXX=${NACL_SDK_BASE}/bin/nacl${TARGET_BIT_PREFIX}-g++
-readonly NACLAR=${NACL_SDK_BASE}/bin/nacl${TARGET_BIT_PREFIX}-ar
-readonly NACLRANLIB=${NACL_SDK_BASE}/bin/nacl${TARGET_BIT_PREFIX}-ranlib
-readonly NACLLD=${NACL_SDK_BASE}/bin/nacl${TARGET_BIT_PREFIX}-ld
-readonly NACLAS=${NACL_SDK_BASE}/bin/nacl${TARGET_BIT_PREFIX}-as
+export NACLCC=${NACL_BIN_PATH}/${NACL_CROSS_PREFIX_DASH}gcc
+export NACLCXX=${NACL_BIN_PATH}/${NACL_CROSS_PREFIX_DASH}g++
+export NACLAR=${NACL_BIN_PATH}/${NACL_CROSS_PREFIX_DASH}ar
+export NACLRANLIB=${NACL_BIN_PATH}/${NACL_CROSS_PREFIX_DASH}ranlib
+export NACLLD=${NACL_BIN_PATH}/${NACL_CROSS_PREFIX_DASH}ld
+export NACLAS=${NACL_BIN_PATH}/${NACL_CROSS_PREFIX_DASH}as
 
 # NACL_SDK_GCC_SPECS_PATH is where nacl-gcc 'specs' file will be installed
-readonly NACL_SDK_GCC_SPECS_PATH=${NACL_SDK_BASE}/lib/gcc/nacl64/4.4.3
+readonly NACL_SDK_GCC_SPECS_PATH=${NACL_SDK_BASE}/lib/gcc/x86_64-nacl/4.4.3
 
 # NACL_SDK_USR is where the headers, libraries, etc. will be installed
-readonly NACL_SDK_USR=${NACL_SDK_BASE}/nacl/usr
+readonly NACL_SDK_USR=${NACL_SDK_BASE}/${NACL_CROSS_PREFIX}/usr
 readonly NACL_SDK_USR_INCLUDE=${NACL_SDK_USR}/include
 readonly NACL_SDK_USR_LIB=${NACL_SDK_USR}/lib
 
@@ -133,7 +142,7 @@ PatchSpecFile() {
   local SED_SAFE_SPACES_USR_INCLUDE=${NACL_SDK_USR_INCLUDE/ /\ /}
   local SED_SAFE_SPACES_USR_LIB=${NACL_SDK_USR_LIB/ /\ /}
   # have nacl-gcc dump specs file & add include & lib search paths
-  ${NACL_SDK_BASE}/bin/nacl-gcc -dumpspecs |\
+  ${NACL_SDK_BASE}/bin/x86_64-nacl-gcc -dumpspecs |\
     sed "/*cpp:/{
       N
       s|$| -I${SED_SAFE_SPACES_USR_INCLUDE}|
@@ -176,7 +185,11 @@ DefaultConfigureStep() {
 DefaultBuildStep() {
   # assumes pwd has makefile
   make clean
-  make -j4
+if [ $TARGET_BITSIZE == "64" ]; then
+  make -j8
+else
+  make
+fi
 }