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

Unified Diff: Makefile.nacl

Issue 13561007: A new Makefile for the Native Client V8 builds. (Closed) Base URL: git://github.com/v8/v8.git@master
Patch Set: Minor cleanup Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Makefile.nacl
diff --git a/Makefile.android b/Makefile.nacl
similarity index 52%
copy from Makefile.android
copy to Makefile.nacl
index aeff01c665e1da1c9c6fc51daff0bb6c8f671bf6..e8fc3d252a96ed71af69b37b33f370bf0d841256 100644
--- a/Makefile.android
+++ b/Makefile.nacl
@@ -1,4 +1,5 @@
-# Copyright 2012 the V8 project authors. All rights reserved.
+#
+# Copyright 2013 the V8 project authors. All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
@@ -26,73 +27,70 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Those definitions should be consistent with the main Makefile
-ANDROID_ARCHES = android_ia32 android_arm android_mipsel
+NACL_ARCHES = nacl_ia32 nacl_x64
MODES = release debug
-# Generates all combinations of ANDROID ARCHES and MODES,
-# e.g. "android_ia32.release" or "android_arm.release"
-ANDROID_BUILDS = $(foreach mode,$(MODES), \
- $(addsuffix .$(mode),$(ANDROID_ARCHES)))
+# Generates all combinations of NACL ARCHES and MODES,
+# e.g. "nacl_ia32.release" or "nacl_x64.release"
+NACL_BUILDS = $(foreach mode,$(MODES), \
+ $(addsuffix .$(mode),$(NACL_ARCHES)))
HOST_OS = $(shell uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')
ifeq ($(HOST_OS), linux)
- TOOLCHAIN_DIR = linux-x86
+ TOOLCHAIN_DIR = linux_x86_glibc
else
ifeq ($(HOST_OS), mac)
- TOOLCHAIN_DIR = darwin-x86
+ TOOLCHAIN_DIR = mac_x86_glibc
else
$(error Host platform "${HOST_OS}" is not supported)
endif
endif
-ifeq ($(ARCH), android_arm)
- DEFINES = target_arch=arm v8_target_arch=arm android_target_arch=arm
- DEFINES += arm_neon=0 armv7=1
- TOOLCHAIN_ARCH = arm-linux-androideabi-4.6
+TOOLCHAIN_PATH = ${NACL_SDK_ROOT}/toolchain
+NACL_TOOLCHAIN ?= ${TOOLCHAIN_PATH}/${TOOLCHAIN_DIR}
+
+ifeq ($(ARCH), nacl_ia32)
+ GYPENV = nacl_target_arch=nacl_ia32 v8_target_arch=arm v8_host_arch=ia32
+ TOOLCHAIN_ARCH = x86-4.4
+ NACL_CC = "$(NACL_TOOLCHAIN)/bin/i686-nacl-gcc"
+ NACL_CXX = "$(NACL_TOOLCHAIN)/bin/i686-nacl-g++"
+ NACL_LINK = "$(NACL_TOOLCHAIN)/bin/i686-nacl-g++"
else
- ifeq ($(ARCH), android_mipsel)
- DEFINES = target_arch=mipsel v8_target_arch=mipsel android_target_arch=mips
- DEFINES += mips_arch_variant=mips32r2
- TOOLCHAIN_ARCH = mipsel-linux-android-4.6
+ ifeq ($(ARCH), nacl_x64)
+ GYPENV = nacl_target_arch=nacl_x64 v8_target_arch=arm v8_host_arch=ia32
+ TOOLCHAIN_ARCH = x86-4.4
+ NACL_CC = "$(NACL_TOOLCHAIN)/bin/x86_64-nacl-gcc"
+ NACL_CXX = "$(NACL_TOOLCHAIN)/bin/x86_64-nacl-g++"
+ NACL_LINK = "$(NACL_TOOLCHAIN)/bin/x86_64-nacl-g++"
else
- ifeq ($(ARCH), android_ia32)
- DEFINES = target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86
- TOOLCHAIN_ARCH = x86-4.6
- else
- $(error Target architecture "${ARCH}" is not supported)
- endif
+ $(error Target architecture "${ARCH}" is not supported)
endif
endif
-TOOLCHAIN_PATH = ${ANDROID_NDK_ROOT}/toolchains/${TOOLCHAIN_ARCH}/prebuilt
-ANDROID_TOOLCHAIN ?= ${TOOLCHAIN_PATH}/${TOOLCHAIN_DIR}
-ifeq ($(wildcard $(ANDROID_TOOLCHAIN)),)
- $(error Cannot find Android toolchain in "${ANDROID_TOOLCHAIN}")
+ifeq ($(wildcard $(NACL_TOOLCHAIN)),)
+ $(error Cannot find Native Client toolchain in "${NACL_TOOLCHAIN}")
endif
# For mksnapshot host generation.
-DEFINES += host_os=${HOST_OS}
+GYPENV += host_os=${HOST_OS}
+NACL_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(NACL_ARCHES))
.SECONDEXPANSION:
-$(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$(basename $$@)
+# For some reason the $$(basename $$@) expansion didn't work here...
+$(NACL_BUILDS): $(NACL_MAKEFILES)
@$(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \
- CXX="$(ANDROID_TOOLCHAIN)/bin/*-g++" \
- AR="$(ANDROID_TOOLCHAIN)/bin/*-ar" \
- RANLIB="$(ANDROID_TOOLCHAIN)/bin/*-ranlib" \
- CC="$(ANDROID_TOOLCHAIN)/bin/*-gcc" \
- LD="$(ANDROID_TOOLCHAIN)/bin/*-ld" \
- LINK="$(ANDROID_TOOLCHAIN)/bin/*-g++" \
+ CXX=${NACL_CXX} \
+ LINK=${NACL_LINK} \
BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
python -c "print raw_input().capitalize()") \
builddir="$(shell pwd)/$(OUTDIR)/$@"
-# Android GYP file generation targets.
-ANDROID_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ANDROID_ARCHES))
-$(ANDROID_MAKEFILES):
- @GYP_GENERATORS=make-android \
- GYP_DEFINES="${DEFINES}" \
- CC="${ANDROID_TOOLCHAIN}/bin/*-gcc" \
- CXX="${ANDROID_TOOLCHAIN}/bin/*-g++" \
+# NACL GYP file generation targets.
+$(NACL_MAKEFILES):
+ @GYP_GENERATORS=make \
+ GYP_DEFINES="${GYPENV}" \
+ CC=${NACL_CC} \
+ CXX=${NACL_CXX} \
build/gyp/gyp --generator-output="${OUTDIR}" build/all.gyp \
- -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \
- -S.${ARCH} ${GYPFLAGS}
+ -Ibuild/standalone.gypi --depth=. \
+ -S.$(subst .,,$(suffix $@)) $(GYPFLAGS)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698