Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 755bed4c authored by David 'Digit' Turner's avatar David 'Digit' Turner Committed by Android Code Review
Browse files

Merge "Add support for custom Linux host toolchains when building the SDK."

parents 27016763 60a1e880
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -22,6 +22,26 @@ define get-file-size
stat --format "%s" "$(1)" | tr -d '\n'
endef

# Special case for the Linux SDK: We need to use a special cross-toolchain
# that generates machine code that will run properly on Ubuntu 8.04 (Hardy)
# By default, the code generated by the Lucid host toolchain will not run
# on previous versions of the platform, due to GLibc ABI mistmatches
# (Lucid is 2.11, Hardy is 2.7)
#
# Note that components that need to be built as 64-bit (e.g. clearsilver
# which is loaded by the 64-bit JVM through JNI), will have to use
# LOCAL_CC and LOCAL_CXX to override this.
#
ifeq ($(TARGET_PRODUCT),sdk)
HOST_SDK_TOOLCHAIN_PREFIX := prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/bin/i686-linux
# Don't do anything if the toolchain is not there
ifneq (,$(strip $(wildcard $(HOST_SDK_TOOLCHAIN_PREFIX)-gcc)))
HOST_CC  := $(HOST_SDK_TOOLCHAIN_PREFIX)-gcc
HOST_CXX := $(HOST_SDK_TOOLCHAIN_PREFIX)-g++
HOST_AR  := $(HOST_SDK_TOOLCHAIN_PREFIX)-ar
endif # $(HOST_SDK_TOOLCHAIN_PREFIX)-gcc exists
endif # TARGET_PRODUCT == sdk

# We build everything in 32-bit, because some host tools are
# 32-bit-only anyway (emulator, acc), and because it gives us
# more consistency between the host tools and the target.
+4 −4
Original line number Diff line number Diff line
@@ -1001,7 +1001,7 @@ endef
# it to be overriden en-masse see combo/linux-arm.make for an example.
ifneq ($(HOST_CUSTOM_LD_COMMAND),true)
define transform-host-o-to-shared-lib-inner
$(HOST_CXX) \
$(PRIVATE_CXX) \
	-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
	-Wl,-rpath,\$$ORIGIN/../lib \
	-shared -Wl,-soname,$(notdir $@) \
@@ -1051,7 +1051,7 @@ endef
# it to be overriden en-masse see combo/linux-arm.make for an example.
ifneq ($(TARGET_CUSTOM_LD_COMMAND),true)
define transform-o-to-shared-lib-inner
$(TARGET_CXX) \
$(PRIVATE_CXX) \
	$(PRIVATE_TARGET_GLOBAL_LDFLAGS) \
	-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
	-Wl,-rpath,\$$ORIGIN/../lib \
@@ -1110,7 +1110,7 @@ endef

ifneq ($(TARGET_CUSTOM_LD_COMMAND),true)
define transform-o-to-executable-inner
$(TARGET_CXX) \
$(PRIVATE_CXX) \
	$(TARGET_GLOBAL_LDFLAGS) \
	-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
	$(TARGET_GLOBAL_LD_DIRS) \
@@ -1161,7 +1161,7 @@ endef

ifneq ($(HOST_CUSTOM_LD_COMMAND),true)
define transform-host-o-to-executable-inner
$(HOST_CXX) \
$(PRIVATE_CXX) \
	-Wl,-rpath-link=$(TARGET_OUT_INTERMEDIATE_LIBRARIES) \
	-Wl,-rpath,\$$ORIGIN/../lib \
	$(HOST_GLOBAL_LD_DIRS) \