Fix android.gypi to provide correct include and library paths when using standalone Android toolchain.
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/10910062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
53dd910bba
commit
a50dbcea44
@ -59,7 +59,7 @@ else
|
||||
endif
|
||||
|
||||
TOOLCHAIN_PATH = ${ANDROID_NDK_ROOT}/toolchains/${TOOLCHAIN_ARCH}/prebuilt
|
||||
ANDROID_TOOLCHAIN ?= ${TOOLCHAIN_PATH}/${TOOLCHAIN_DIR}/bin
|
||||
ANDROID_TOOLCHAIN ?= ${TOOLCHAIN_PATH}/${TOOLCHAIN_DIR}
|
||||
ifeq ($(wildcard $(ANDROID_TOOLCHAIN)),)
|
||||
$(error Cannot find Android toolchain in "${ANDROID_TOOLCHAIN}")
|
||||
endif
|
||||
@ -70,12 +70,12 @@ DEFINES += host_os=${HOST_OS}
|
||||
.SECONDEXPANSION:
|
||||
$(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$(basename $$@)
|
||||
@$(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \
|
||||
CXX="$(ANDROID_TOOLCHAIN)/*-g++" \
|
||||
AR="$(ANDROID_TOOLCHAIN)/*-ar" \
|
||||
RANLIB="$(ANDROID_TOOLCHAIN)/*-ranlib" \
|
||||
CC="$(ANDROID_TOOLCHAIN)/*-gcc" \
|
||||
LD="$(ANDROID_TOOLCHAIN)/*-ld" \
|
||||
LINK="$(ANDROID_TOOLCHAIN)/*-g++" \
|
||||
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++" \
|
||||
BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
|
||||
python -c "print raw_input().capitalize()") \
|
||||
builddir="$(shell pwd)/$(OUTDIR)/$@"
|
||||
@ -85,8 +85,8 @@ ANDROID_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ANDROID_ARCHES))
|
||||
$(ANDROID_MAKEFILES):
|
||||
@GYP_GENERATORS=make-android \
|
||||
GYP_DEFINES="${DEFINES}" \
|
||||
CC="${ANDROID_TOOLCHAIN}/*-gcc" \
|
||||
CXX="${ANDROID_TOOLCHAIN}/*-g++" \
|
||||
CC="${ANDROID_TOOLCHAIN}/bin/*-gcc" \
|
||||
CXX="${ANDROID_TOOLCHAIN}/bin/*-g++" \
|
||||
build/gyp/gyp --generator-output="${OUTDIR}" build/all.gyp \
|
||||
-Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \
|
||||
-S.${ARCH} ${GYPFLAGS}
|
||||
|
@ -33,28 +33,39 @@
|
||||
'variables': {
|
||||
# Location of Android NDK.
|
||||
'variables': {
|
||||
'variables': {
|
||||
'android_ndk_root%': '<!(/bin/echo -n $ANDROID_NDK_ROOT)',
|
||||
|
||||
# Switch between different build types, currently only '0' is
|
||||
# supported.
|
||||
'android_build_type%': 0,
|
||||
},
|
||||
'android_ndk_root%': '<(android_ndk_root)',
|
||||
'android_ndk_sysroot': '<(android_ndk_root)/platforms/android-9/arch-<(android_target_arch)',
|
||||
'android_build_type%': '<(android_build_type)',
|
||||
'android_ndk_root%': '<!(/bin/echo -n $ANDROID_NDK_ROOT)',
|
||||
'android_toolchain%': '<!(/bin/echo -n $ANDROID_TOOLCHAIN)',
|
||||
# Switch between different build types, currently only '0' is
|
||||
# supported.
|
||||
'android_build_type%': 0,
|
||||
},
|
||||
'android_ndk_root%': '<(android_ndk_root)',
|
||||
'android_ndk_sysroot': '<(android_ndk_sysroot)',
|
||||
'android_ndk_include': '<(android_ndk_sysroot)/usr/include',
|
||||
'android_ndk_lib': '<(android_ndk_sysroot)/usr/lib',
|
||||
'conditions': [
|
||||
['android_ndk_root==""', {
|
||||
'variables': {
|
||||
'android_sysroot': '<(android_toolchain)/sysroot/',
|
||||
'android_stlport': '<(android_toolchain)/sources/cxx-stl/stlport/',
|
||||
},
|
||||
'android_include': '<(android_sysroot)/usr/include',
|
||||
'android_lib': '<(android_sysroot)/usr/lib',
|
||||
'android_stlport_include': '<(android_stlport)/stlport',
|
||||
'android_stlport_libs': '<(android_stlport)/libs',
|
||||
}, {
|
||||
'variables': {
|
||||
'android_sysroot': '<(android_ndk_root)/platforms/android-9/arch-<(android_target_arch)',
|
||||
'android_stlport': '<(android_ndk_root)/sources/cxx-stl/stlport/',
|
||||
},
|
||||
'android_include': '<(android_sysroot)/usr/include',
|
||||
'android_lib': '<(android_sysroot)/usr/lib',
|
||||
'android_stlport_include': '<(android_stlport)/stlport',
|
||||
'android_stlport_libs': '<(android_stlport)/libs',
|
||||
}],
|
||||
],
|
||||
# Enable to use the system stlport, otherwise statically
|
||||
# link the NDK one?
|
||||
'use_system_stlport%': '<(android_build_type)',
|
||||
'android_stlport_library': 'stlport_static',
|
||||
# Copy it out one scope.
|
||||
'android_build_type%': '<(android_build_type)',
|
||||
|
||||
'OS': 'android',
|
||||
}, # variables
|
||||
'target_defaults': {
|
||||
@ -94,7 +105,7 @@
|
||||
'-Wno-error=non-virtual-dtor', # TODO(michaelbai): Fix warnings.
|
||||
# Note: This include is in cflags to ensure that it comes after
|
||||
# all of the includes.
|
||||
'-I<(android_ndk_include)',
|
||||
'-I<(android_include)',
|
||||
],
|
||||
'defines': [
|
||||
'ANDROID',
|
||||
@ -134,8 +145,8 @@
|
||||
'conditions': [
|
||||
['android_build_type==0', {
|
||||
'ldflags': [
|
||||
'-Wl,-rpath-link=<(android_ndk_lib)',
|
||||
'-L<(android_ndk_lib)',
|
||||
'-Wl,-rpath-link=<(android_lib)',
|
||||
'-L<(android_lib)',
|
||||
],
|
||||
}],
|
||||
['target_arch == "arm"', {
|
||||
@ -159,22 +170,22 @@
|
||||
# The include ordering here is important; change with caution.
|
||||
['use_system_stlport==0', {
|
||||
'cflags': [
|
||||
'-I<(android_ndk_root)/sources/cxx-stl/stlport/stlport',
|
||||
'-I<(android_stlport_include)',
|
||||
],
|
||||
'conditions': [
|
||||
['target_arch=="arm" and armv7==1', {
|
||||
'ldflags': [
|
||||
'-L<(android_ndk_root)/sources/cxx-stl/stlport/libs/armeabi-v7a',
|
||||
'-L<(android_stlport_libs)/armeabi-v7a',
|
||||
],
|
||||
}],
|
||||
['target_arch=="arm" and armv7==0', {
|
||||
'ldflags': [
|
||||
'-L<(android_ndk_root)/sources/cxx-stl/stlport/libs/armeabi',
|
||||
'-L<(android_stlport_libs)/armeabi',
|
||||
],
|
||||
}],
|
||||
['target_arch=="ia32"', {
|
||||
'ldflags': [
|
||||
'-L<(android_ndk_root)/sources/cxx-stl/stlport/libs/x86',
|
||||
'-L<(android_stlport_libs)/x86',
|
||||
],
|
||||
}],
|
||||
],
|
||||
@ -197,12 +208,12 @@
|
||||
'-Wl,--gc-sections',
|
||||
'-Wl,-z,nocopyreloc',
|
||||
# crtbegin_dynamic.o should be the last item in ldflags.
|
||||
'<(android_ndk_lib)/crtbegin_dynamic.o',
|
||||
'<(android_lib)/crtbegin_dynamic.o',
|
||||
],
|
||||
'libraries': [
|
||||
# crtend_android.o needs to be the last item in libraries.
|
||||
# Do not add any libraries after this!
|
||||
'<(android_ndk_lib)/crtend_android.o',
|
||||
'<(android_lib)/crtend_android.o',
|
||||
],
|
||||
}],
|
||||
['_type=="shared_library"', {
|
||||
@ -225,4 +236,4 @@
|
||||
}],
|
||||
], # target_conditions
|
||||
}, # target_defaults
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user