summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2016-12-13 18:53:26 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-12-13 18:53:26 +0000
commit015cad7d4d05020782c7506649d6d6127185094b (patch)
tree9eb333a58006a53395743e08d0bfb3cce7c4364e
parent31ffcdd394d6bbe23bba08b0ad2950aaadb66f3b (diff)
parent4fefd441bc867e8fdb92e0d696fa73f056bdbc25 (diff)
downloadmclinker-oreo-dr2-release.tar.gz
Merge "Convert mclinker to Android.bp" am: 2fbb628cf4 am: c18a828a69 am: db691b266fandroid-vts-8.0_r9android-vts-8.0_r8android-vts-8.0_r7android-vts-8.0_r6android-vts-8.0_r2android-vts-8.0_r13android-vts-8.0_r12android-vts-8.0_r11android-vts-8.0_r10android-vts-8.0_r1android-security-8.0.0_r54android-security-8.0.0_r53android-security-8.0.0_r52android-cts-8.0_r9android-cts-8.0_r8android-cts-8.0_r7android-cts-8.0_r6android-cts-8.0_r5android-cts-8.0_r4android-cts-8.0_r3android-cts-8.0_r26android-cts-8.0_r25android-cts-8.0_r24android-cts-8.0_r23android-cts-8.0_r22android-cts-8.0_r21android-cts-8.0_r20android-cts-8.0_r2android-cts-8.0_r19android-cts-8.0_r18android-cts-8.0_r17android-cts-8.0_r16android-cts-8.0_r15android-cts-8.0_r14android-cts-8.0_r13android-cts-8.0_r12android-cts-8.0_r11android-cts-8.0_r10android-cts-8.0_r1android-8.0.0_r9android-8.0.0_r7android-8.0.0_r51android-8.0.0_r50android-8.0.0_r49android-8.0.0_r48android-8.0.0_r47android-8.0.0_r46android-8.0.0_r45android-8.0.0_r44android-8.0.0_r43android-8.0.0_r42android-8.0.0_r41android-8.0.0_r40android-8.0.0_r4android-8.0.0_r39android-8.0.0_r38android-8.0.0_r37android-8.0.0_r36android-8.0.0_r35android-8.0.0_r34android-8.0.0_r33android-8.0.0_r32android-8.0.0_r31android-8.0.0_r30android-8.0.0_r3android-8.0.0_r29android-8.0.0_r28android-8.0.0_r27android-8.0.0_r26android-8.0.0_r25android-8.0.0_r24android-8.0.0_r23android-8.0.0_r22android-8.0.0_r21android-8.0.0_r2android-8.0.0_r17android-8.0.0_r16android-8.0.0_r15android-8.0.0_r13android-8.0.0_r12android-8.0.0_r11android-8.0.0_r10android-8.0.0_r1security-oc-releaseoreo-vts-releaseoreo-security-releaseoreo-releaseoreo-r6-releaseoreo-r5-releaseoreo-r4-releaseoreo-r3-releaseoreo-r2-releaseoreo-dr3-releaseoreo-dr2-releaseoreo-dr1-releaseoreo-dr1-devoreo-devoreo-cts-release
am: 4fefd441bc Change-Id: I7c95dd7394dbbde9c1634eca036f28387f01a52b
-rw-r--r--Android.bp40
-rw-r--r--Android.mk45
-rw-r--r--lib/ADT/Android.bp6
-rw-r--r--lib/ADT/Android.mk28
-rw-r--r--lib/Android.bp1
-rw-r--r--lib/Core/Android.bp17
-rw-r--r--lib/Core/Android.mk37
-rw-r--r--lib/Fragment/Android.bp15
-rw-r--r--lib/Fragment/Android.mk35
-rw-r--r--lib/LD/Android.bp78
-rw-r--r--lib/LD/Android.mk114
-rw-r--r--lib/MC/Android.bp20
-rw-r--r--lib/MC/Android.mk40
-rw-r--r--lib/Object/Android.bp10
-rw-r--r--lib/Object/Android.mk30
-rw-r--r--lib/Script/Android.bp39
-rw-r--r--lib/Script/Android.mk62
-rw-r--r--lib/Support/Android.bp22
-rw-r--r--lib/Support/Android.mk42
-rw-r--r--lib/Target/AArch64/Android.bp21
-rw-r--r--lib/Target/AArch64/Android.mk40
-rw-r--r--lib/Target/AArch64/TargetInfo/Android.bp6
-rw-r--r--lib/Target/AArch64/TargetInfo/Android.mk28
-rw-r--r--lib/Target/ARM/Android.bp22
-rw-r--r--lib/Target/ARM/Android.mk41
-rw-r--r--lib/Target/ARM/TargetInfo/Android.bp6
-rw-r--r--lib/Target/ARM/TargetInfo/Android.mk28
-rw-r--r--lib/Target/Android.bp25
-rw-r--r--lib/Target/Android.mk38
-rw-r--r--lib/Target/Mips/Android.bp20
-rw-r--r--lib/Target/Mips/Android.mk39
-rw-r--r--lib/Target/Mips/TargetInfo/Android.bp6
-rw-r--r--lib/Target/Mips/TargetInfo/Android.mk28
-rw-r--r--lib/Target/X86/Android.bp17
-rw-r--r--lib/Target/X86/Android.mk35
-rw-r--r--lib/Target/X86/TargetInfo/Android.bp6
-rw-r--r--lib/Target/X86/TargetInfo/Android.mk28
-rw-r--r--mcld-device-build.mk44
-rw-r--r--mcld-host-build.mk32
-rw-r--r--mcld.mk12
-rw-r--r--tools/mcld/Android.bp91
-rw-r--r--tools/mcld/Android.mk115
42 files changed, 468 insertions, 941 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..6ecc52d
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,40 @@
+cc_defaults {
+ name: "mcld-defaults",
+ defaults: ["llvm-defaults"],
+
+ cppflags: [
+ "-Wall",
+ "-Wno-unused-parameter",
+ "-Wno-unused-private-field",
+ "-Wno-unused-const-variable",
+ "-Werror",
+
+ //To enable asserts:
+ //"-D_DEBUG",
+ //"-UNDEBUG",
+ ],
+
+ target: {
+ arm_on_x86: {
+ cflags: [
+ "-DPROVIDE_ARM_CODEGEN",
+ "-DFORCE_BUILD_ARM",
+ ],
+ },
+ arm_on_x86_64: {
+ cflags: [
+ "-DPROVIDE_ARM_CODEGEN",
+ "-DFORCE_BUILD_ARM",
+ ],
+ },
+ },
+
+ include_dirs: [
+ "frameworks/compile/mclinker/include",
+ ],
+}
+
+subdirs = [
+ "lib",
+ "tools/mcld",
+]
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 5597fe2..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-MCLD_ROOT_PATH := $(LOCAL_PATH)
-# For mcld.mk
-LLVM_ROOT_PATH := external/llvm
-MCLD_ENABLE_ASSERTION := false
-
-include $(CLEAR_VARS)
-
-# MCLinker Libraries
-subdirs := \
- lib/ADT \
- lib/Core \
- lib/Fragment \
- lib/LD \
- lib/MC \
- lib/Object \
- lib/Script \
- lib/Support \
- lib/Target
-
-# ARM Code Generation Libraries
-subdirs += \
- lib/Target/ARM \
- lib/Target/ARM/TargetInfo
-
-# AArch64 Code Generation Libraries
-subdirs += \
- lib/Target/AArch64 \
- lib/Target/AArch64/TargetInfo
-
-# MIPS Code Generation Libraries
-subdirs += \
- lib/Target/Mips \
- lib/Target/Mips/TargetInfo
-
-# X86 Code Generation Libraries
-subdirs += \
- lib/Target/X86 \
- lib/Target/X86/TargetInfo
-
-# mcld executable
-subdirs += tools/mcld
-
-include $(MCLD_ROOT_PATH)/mcld.mk
-include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, $(subdirs)))
diff --git a/lib/ADT/Android.bp b/lib/ADT/Android.bp
new file mode 100644
index 0000000..ee09f47
--- /dev/null
+++ b/lib/ADT/Android.bp
@@ -0,0 +1,6 @@
+cc_library_static {
+ name: "libmcldADT",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: ["StringEntry.cpp"],
+}
diff --git a/lib/ADT/Android.mk b/lib/ADT/Android.mk
deleted file mode 100644
index 5318dd8..0000000
--- a/lib/ADT/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_adt_SRC_FILES := \
- StringEntry.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_adt_SRC_FILES)
-LOCAL_MODULE:= libmcldADT
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_adt_SRC_FILES)
-LOCAL_MODULE:= libmcldADT
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Android.bp b/lib/Android.bp
new file mode 100644
index 0000000..b44c296
--- /dev/null
+++ b/lib/Android.bp
@@ -0,0 +1 @@
+subdirs = ["*"]
diff --git a/lib/Core/Android.bp b/lib/Core/Android.bp
new file mode 100644
index 0000000..e3934bd
--- /dev/null
+++ b/lib/Core/Android.bp
@@ -0,0 +1,17 @@
+cc_library_static {
+ name: "libmcldCore",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "AttributeOption.cpp",
+ "Environment.cpp",
+ "GeneralOptions.cpp",
+ "InputTree.cpp",
+ "IRBuilder.cpp",
+ "LinkerConfig.cpp",
+ "Linker.cpp",
+ "LinkerScript.cpp",
+ "Module.cpp",
+ "TargetOptions.cpp",
+ ],
+}
diff --git a/lib/Core/Android.mk b/lib/Core/Android.mk
deleted file mode 100644
index f75025b..0000000
--- a/lib/Core/Android.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_core_SRC_FILES := \
- AttributeOption.cpp \
- Environment.cpp \
- GeneralOptions.cpp \
- InputTree.cpp \
- IRBuilder.cpp \
- LinkerConfig.cpp \
- Linker.cpp \
- LinkerScript.cpp \
- Module.cpp \
- TargetOptions.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_core_SRC_FILES)
-LOCAL_MODULE:= libmcldCore
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_core_SRC_FILES)
-LOCAL_MODULE:= libmcldCore
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Fragment/Android.bp b/lib/Fragment/Android.bp
new file mode 100644
index 0000000..0da4a5b
--- /dev/null
+++ b/lib/Fragment/Android.bp
@@ -0,0 +1,15 @@
+cc_library_static {
+ name: "libmcldFragment",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "AlignFragment.cpp",
+ "FillFragment.cpp",
+ "Fragment.cpp",
+ "FragmentRef.cpp",
+ "NullFragment.cpp",
+ "RegionFragment.cpp",
+ "Relocation.cpp",
+ "Stub.cpp",
+ ],
+}
diff --git a/lib/Fragment/Android.mk b/lib/Fragment/Android.mk
deleted file mode 100644
index 743232f..0000000
--- a/lib/Fragment/Android.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_fragment_SRC_FILES := \
- AlignFragment.cpp \
- FillFragment.cpp \
- Fragment.cpp \
- FragmentRef.cpp \
- NullFragment.cpp \
- RegionFragment.cpp \
- Relocation.cpp \
- Stub.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_fragment_SRC_FILES)
-LOCAL_MODULE:= libmcldFragment
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_fragment_SRC_FILES)
-LOCAL_MODULE:= libmcldFragment
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/LD/Android.bp b/lib/LD/Android.bp
new file mode 100644
index 0000000..a296d81
--- /dev/null
+++ b/lib/LD/Android.bp
@@ -0,0 +1,78 @@
+// =====================================================
+// Static library: libmcldLD
+// =====================================================
+
+cc_library_static {
+ name: "libmcldLD",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+
+ srcs: [
+ "Archive.cpp",
+ "ArchiveReader.cpp",
+ "BranchIsland.cpp",
+ "BranchIslandFactory.cpp",
+ "BinaryReader.cpp",
+ "DWARFLineInfo.cpp",
+ "Diagnostic.cpp",
+ "DiagnosticEngine.cpp",
+ "DiagnosticInfos.cpp",
+ "DiagnosticLineInfo.cpp",
+ "DiagnosticPrinter.cpp",
+ "DebugString.cpp",
+ "DynObjReader.cpp",
+ "ELFBinaryReader.cpp",
+ "ELFSegment.cpp",
+ "ELFSegmentFactory.cpp",
+ "EhFrame.cpp",
+ "EhFrameHdr.cpp",
+ "EhFrameReader.cpp",
+ "GarbageCollection.cpp",
+ "GroupReader.cpp",
+ "IdenticalCodeFolding.cpp",
+ "LDContext.cpp",
+ "LDFileFormat.cpp",
+ "LDReader.cpp",
+ "LDSection.cpp",
+ "LDSymbol.cpp",
+ "MergedStringTable.cpp",
+ "MsgHandler.cpp",
+ "NamePool.cpp",
+ "ObjectWriter.cpp",
+ "RelocData.cpp",
+ "RelocationFactory.cpp",
+ "Relocator.cpp",
+ "ResolveInfo.cpp",
+ "Resolver.cpp",
+ "SectionData.cpp",
+ "SectionSymbolSet.cpp",
+ "StaticResolver.cpp",
+ "StubFactory.cpp",
+ "TextDiagnosticPrinter.cpp",
+ ],
+
+ static_libs: ["libz"],
+}
+
+// =====================================================
+// Static library: libmcldLDVariant
+// =====================================================
+
+cc_library_static {
+ name: "libmcldLDVariant",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+
+ srcs: [
+ "BSDArchiveReader.cpp",
+ "GNUArchiveReader.cpp",
+ "ELFDynObjFileFormat.cpp",
+ "ELFDynObjReader.cpp",
+ "ELFExecFileFormat.cpp",
+ "ELFFileFormat.cpp",
+ "ELFObjectReader.cpp",
+ "ELFObjectWriter.cpp",
+ "ELFReader.cpp",
+ "ELFReaderIf.cpp",
+ ],
+}
diff --git a/lib/LD/Android.mk b/lib/LD/Android.mk
deleted file mode 100644
index a9d0045..0000000
--- a/lib/LD/Android.mk
+++ /dev/null
@@ -1,114 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-# =====================================================
-# Static library: libmcldLD
-# =====================================================
-
-mcld_ld_SRC_FILES := \
- Archive.cpp \
- ArchiveReader.cpp \
- BranchIsland.cpp \
- BranchIslandFactory.cpp \
- BinaryReader.cpp \
- DWARFLineInfo.cpp \
- Diagnostic.cpp \
- DiagnosticEngine.cpp \
- DiagnosticInfos.cpp \
- DiagnosticLineInfo.cpp \
- DiagnosticPrinter.cpp \
- DebugString.cpp \
- DynObjReader.cpp \
- ELFBinaryReader.cpp \
- ELFSegment.cpp \
- ELFSegmentFactory.cpp \
- EhFrame.cpp \
- EhFrameHdr.cpp \
- EhFrameReader.cpp \
- GarbageCollection.cpp \
- GroupReader.cpp \
- IdenticalCodeFolding.cpp \
- LDContext.cpp \
- LDFileFormat.cpp \
- LDReader.cpp \
- LDSection.cpp \
- LDSymbol.cpp \
- MergedStringTable.cpp \
- MsgHandler.cpp \
- NamePool.cpp \
- ObjectWriter.cpp \
- RelocData.cpp \
- RelocationFactory.cpp \
- Relocator.cpp \
- ResolveInfo.cpp \
- Resolver.cpp \
- SectionData.cpp \
- SectionSymbolSet.cpp \
- StaticResolver.cpp \
- StubFactory.cpp \
- TextDiagnosticPrinter.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_C_INCLUDES += external/zlib
-LOCAL_SRC_FILES := $(mcld_ld_SRC_FILES)
-LOCAL_MODULE:= libmcldLD
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_C_INCLUDES += external/zlib
-LOCAL_SRC_FILES := $(mcld_ld_SRC_FILES)
-LOCAL_MODULE:= libmcldLD
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-# =====================================================
-# Static library: libmcldLDVariant
-# =====================================================
-
-mcld_ld_variant_SRC_FILES := \
- BSDArchiveReader.cpp \
- GNUArchiveReader.cpp \
- ELFDynObjFileFormat.cpp \
- ELFDynObjReader.cpp \
- ELFExecFileFormat.cpp \
- ELFFileFormat.cpp \
- ELFObjectReader.cpp \
- ELFObjectWriter.cpp \
- ELFReader.cpp \
- ELFReaderIf.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_ld_variant_SRC_FILES)
-LOCAL_MODULE:= libmcldLDVariant
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_ld_variant_SRC_FILES)
-LOCAL_MODULE:= libmcldLDVariant
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/MC/Android.bp b/lib/MC/Android.bp
new file mode 100644
index 0000000..addc270
--- /dev/null
+++ b/lib/MC/Android.bp
@@ -0,0 +1,20 @@
+cc_library_static {
+ name: "libmcldMC",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "Attribute.cpp",
+ "AttributeSet.cpp",
+ "CommandAction.cpp",
+ "ContextFactory.cpp",
+ "FileAction.cpp",
+ "InputAction.cpp",
+ "InputBuilder.cpp",
+ "InputFactory.cpp",
+ "Input.cpp",
+ "MCLDDirectory.cpp",
+ "SearchDirs.cpp",
+ "SymbolCategory.cpp",
+ "ZOption.cpp",
+ ],
+}
diff --git a/lib/MC/Android.mk b/lib/MC/Android.mk
deleted file mode 100644
index cbd1962..0000000
--- a/lib/MC/Android.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_mc_SRC_FILES := \
- Attribute.cpp \
- AttributeSet.cpp \
- CommandAction.cpp \
- ContextFactory.cpp \
- FileAction.cpp \
- InputAction.cpp \
- InputBuilder.cpp \
- InputFactory.cpp \
- Input.cpp \
- MCLDDirectory.cpp \
- SearchDirs.cpp \
- SymbolCategory.cpp \
- ZOption.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_mc_SRC_FILES)
-LOCAL_MODULE:= libmcldMC
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_mc_SRC_FILES)
-LOCAL_MODULE:= libmcldMC
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Object/Android.bp b/lib/Object/Android.bp
new file mode 100644
index 0000000..c671359
--- /dev/null
+++ b/lib/Object/Android.bp
@@ -0,0 +1,10 @@
+cc_library_static {
+ name: "libmcldObject",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "ObjectBuilder.cpp",
+ "ObjectLinker.cpp",
+ "SectionMap.cpp",
+ ],
+}
diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk
deleted file mode 100644
index 56334f9..0000000
--- a/lib/Object/Android.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_object_SRC_FILES := \
- ObjectBuilder.cpp \
- ObjectLinker.cpp \
- SectionMap.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_object_SRC_FILES)
-LOCAL_MODULE:= libmcldObject
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_object_SRC_FILES)
-LOCAL_MODULE:= libmcldObject
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Script/Android.bp b/lib/Script/Android.bp
new file mode 100644
index 0000000..b4daaba
--- /dev/null
+++ b/lib/Script/Android.bp
@@ -0,0 +1,39 @@
+cc_library_static {
+ name: "libmcldScript",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "AssertCmd.cpp",
+ "Assignment.cpp",
+ "BinaryOp.cpp",
+ "EntryCmd.cpp",
+ "FileToken.cpp",
+ "GroupCmd.cpp",
+ "InputCmd.cpp",
+ "InputSectDesc.cpp",
+ "InputToken.cpp",
+ "NameSpec.cpp",
+ "NullaryOp.cpp",
+ "Operand.cpp",
+ "Operator.cpp",
+ "OutputArchCmd.cpp",
+ "OutputCmd.cpp",
+ "OutputFormatCmd.cpp",
+ "OutputSectDesc.cpp",
+ "RpnEvaluator.cpp",
+ "RpnExpr.cpp",
+ "ScriptCommand.cpp",
+ "ScriptFile.cpp",
+ "ScriptReader.cpp",
+ "SearchDirCmd.cpp",
+ "SectionsCmd.cpp",
+ "ScriptScanner.ll",
+ "ScriptParser.yy",
+ "StrToken.cpp",
+ "StringList.cpp",
+ "TernaryOp.cpp",
+ "UnaryOp.cpp",
+ "WildcardPattern.cpp",
+ ],
+ include_dirs: ["frameworks/compile/mclinker/include/mcld/Script"],
+}
diff --git a/lib/Script/Android.mk b/lib/Script/Android.mk
deleted file mode 100644
index ed61f9b..0000000
--- a/lib/Script/Android.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_script_SRC_FILES := \
- AssertCmd.cpp \
- Assignment.cpp \
- BinaryOp.cpp \
- EntryCmd.cpp \
- FileToken.cpp \
- GroupCmd.cpp \
- InputCmd.cpp \
- InputSectDesc.cpp \
- InputToken.cpp \
- NameSpec.cpp \
- NullaryOp.cpp \
- Operand.cpp \
- Operator.cpp \
- OutputArchCmd.cpp \
- OutputCmd.cpp \
- OutputFormatCmd.cpp \
- OutputSectDesc.cpp \
- RpnEvaluator.cpp \
- RpnExpr.cpp \
- ScriptCommand.cpp \
- ScriptFile.cpp \
- ScriptReader.cpp \
- SearchDirCmd.cpp \
- SectionsCmd.cpp \
- ScriptScanner.ll \
- ScriptParser.yy \
- StrToken.cpp \
- StringList.cpp \
- TernaryOp.cpp \
- UnaryOp.cpp \
- WildcardPattern.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_script_SRC_FILES)
-LOCAL_MODULE:= libmcldScript
-LOCAL_C_INCLUDES := $(MCLD_ROOT_PATH)/include/mcld/Script
-LOCAL_CFLAGS := -Wno-deprecated-register
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_script_SRC_FILES)
-LOCAL_MODULE:= libmcldScript
-LOCAL_C_INCLUDES := $(MCLD_ROOT_PATH)/include/mcld/Script
-LOCAL_CFLAGS := -Wno-deprecated-register
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Support/Android.bp b/lib/Support/Android.bp
new file mode 100644
index 0000000..324390a
--- /dev/null
+++ b/lib/Support/Android.bp
@@ -0,0 +1,22 @@
+cc_library_static {
+ name: "libmcldSupport",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "Demangle.cpp",
+ "Directory.cpp",
+ "FileHandle.cpp",
+ "FileOutputBuffer.cpp",
+ "FileSystem.cpp",
+ "LEB128.cpp",
+ "MemoryArea.cpp",
+ "MemoryAreaFactory.cpp",
+ "MsgHandling.cpp",
+ "Path.cpp",
+ "raw_ostream.cpp",
+ "RealPath.cpp",
+ "SystemUtils.cpp",
+ "Target.cpp",
+ "TargetRegistry.cpp",
+ ],
+}
diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk
deleted file mode 100644
index 54cfc22..0000000
--- a/lib/Support/Android.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_support_SRC_FILES := \
- Demangle.cpp \
- Directory.cpp \
- FileHandle.cpp \
- FileOutputBuffer.cpp \
- FileSystem.cpp \
- LEB128.cpp \
- MemoryArea.cpp \
- MemoryAreaFactory.cpp \
- MsgHandling.cpp \
- Path.cpp \
- raw_ostream.cpp \
- RealPath.cpp \
- SystemUtils.cpp \
- Target.cpp \
- TargetRegistry.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_support_SRC_FILES)
-LOCAL_MODULE:= libmcldSupport
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_support_SRC_FILES)
-LOCAL_MODULE:= libmcldSupport
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/AArch64/Android.bp b/lib/Target/AArch64/Android.bp
new file mode 100644
index 0000000..d922741
--- /dev/null
+++ b/lib/Target/AArch64/Android.bp
@@ -0,0 +1,21 @@
+cc_library_static {
+ name: "libmcldAArch64Target",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "AArch64CA53Erratum835769Stub.cpp",
+ "AArch64CA53Erratum843419Stub2.cpp",
+ "AArch64CA53Erratum843419Stub.cpp",
+ "AArch64CA53ErratumStub.cpp",
+ "AArch64Diagnostic.cpp",
+ "AArch64ELFDynamic.cpp",
+ "AArch64Emulation.cpp",
+ "AArch64GOT.cpp",
+ "AArch64LDBackend.cpp",
+ "AArch64LongBranchStub.cpp",
+ "AArch64PLT.cpp",
+ "AArch64Relocator.cpp",
+ ],
+}
+
+subdirs = ["TargetInfo"]
diff --git a/lib/Target/AArch64/Android.mk b/lib/Target/AArch64/Android.mk
deleted file mode 100644
index 3abc1be..0000000
--- a/lib/Target/AArch64/Android.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_aarch64_target_SRC_FILES := \
- AArch64CA53Erratum835769Stub.cpp \
- AArch64CA53Erratum843419Stub2.cpp \
- AArch64CA53Erratum843419Stub.cpp \
- AArch64CA53ErratumStub.cpp \
- AArch64Diagnostic.cpp \
- AArch64ELFDynamic.cpp \
- AArch64Emulation.cpp \
- AArch64GOT.cpp \
- AArch64LDBackend.cpp \
- AArch64LongBranchStub.cpp \
- AArch64PLT.cpp \
- AArch64Relocator.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_aarch64_target_SRC_FILES)
-LOCAL_MODULE:= libmcldAArch64Target
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_aarch64_target_SRC_FILES)
-LOCAL_MODULE:= libmcldAArch64Target
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
-
diff --git a/lib/Target/AArch64/TargetInfo/Android.bp b/lib/Target/AArch64/TargetInfo/Android.bp
new file mode 100644
index 0000000..6900d91
--- /dev/null
+++ b/lib/Target/AArch64/TargetInfo/Android.bp
@@ -0,0 +1,6 @@
+cc_library_static {
+ name: "libmcldAArch64Info",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: ["AArch64TargetInfo.cpp"],
+}
diff --git a/lib/Target/AArch64/TargetInfo/Android.mk b/lib/Target/AArch64/TargetInfo/Android.mk
deleted file mode 100644
index 1b4026d..0000000
--- a/lib/Target/AArch64/TargetInfo/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_arm_info_SRC_FILES := \
- AArch64TargetInfo.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_arm_info_SRC_FILES)
-LOCAL_MODULE:= libmcldAArch64Info
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_arm_info_SRC_FILES)
-LOCAL_MODULE:= libmcldAArch64Info
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/ARM/Android.bp b/lib/Target/ARM/Android.bp
new file mode 100644
index 0000000..10e2a41
--- /dev/null
+++ b/lib/Target/ARM/Android.bp
@@ -0,0 +1,22 @@
+cc_library_static {
+ name: "libmcldARMTarget",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "ARMDiagnostic.cpp",
+ "ARMELFAttributeData.cpp",
+ "ARMELFDynamic.cpp",
+ "ARMEmulation.cpp",
+ "ARMException.cpp",
+ "ARMGOT.cpp",
+ "ARMLDBackend.cpp",
+ "ARMPLT.cpp",
+ "ARMRelocator.cpp",
+ "ARMToARMStub.cpp",
+ "ARMToTHMStub.cpp",
+ "THMToARMStub.cpp",
+ "THMToTHMStub.cpp",
+ ],
+}
+
+subdirs = ["TargetInfo"]
diff --git a/lib/Target/ARM/Android.mk b/lib/Target/ARM/Android.mk
deleted file mode 100644
index a2d5d97..0000000
--- a/lib/Target/ARM/Android.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_arm_target_SRC_FILES := \
- ARMDiagnostic.cpp \
- ARMELFAttributeData.cpp \
- ARMELFDynamic.cpp \
- ARMEmulation.cpp \
- ARMException.cpp \
- ARMGOT.cpp \
- ARMLDBackend.cpp \
- ARMPLT.cpp \
- ARMRelocator.cpp \
- ARMToARMStub.cpp \
- ARMToTHMStub.cpp \
- THMToARMStub.cpp \
- THMToTHMStub.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_arm_target_SRC_FILES)
-LOCAL_MODULE:= libmcldARMTarget
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_arm_target_SRC_FILES)
-LOCAL_MODULE:= libmcldARMTarget
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
-
diff --git a/lib/Target/ARM/TargetInfo/Android.bp b/lib/Target/ARM/TargetInfo/Android.bp
new file mode 100644
index 0000000..8717576
--- /dev/null
+++ b/lib/Target/ARM/TargetInfo/Android.bp
@@ -0,0 +1,6 @@
+cc_library_static {
+ name: "libmcldARMInfo",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: ["ARMTargetInfo.cpp"],
+}
diff --git a/lib/Target/ARM/TargetInfo/Android.mk b/lib/Target/ARM/TargetInfo/Android.mk
deleted file mode 100644
index 1920bb3..0000000
--- a/lib/Target/ARM/TargetInfo/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_arm_info_SRC_FILES := \
- ARMTargetInfo.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_arm_info_SRC_FILES)
-LOCAL_MODULE:= libmcldARMInfo
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_arm_info_SRC_FILES)
-LOCAL_MODULE:= libmcldARMInfo
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/Android.bp b/lib/Target/Android.bp
new file mode 100644
index 0000000..d852c11
--- /dev/null
+++ b/lib/Target/Android.bp
@@ -0,0 +1,25 @@
+cc_library_static {
+ name: "libmcldTarget",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "ELFAttribute.cpp",
+ "ELFAttributeData.cpp",
+ "ELFAttributeValue.cpp",
+ "ELFDynamic.cpp",
+ "ELFEmulation.cpp",
+ "GNUInfo.cpp",
+ "GNULDBackend.cpp",
+ "GOT.cpp",
+ "OutputRelocSection.cpp",
+ "PLT.cpp",
+ "TargetLDBackend.cpp",
+ ],
+}
+
+subdirs = [
+ "AArch64",
+ "ARM",
+ "Mips",
+ "X86",
+]
diff --git a/lib/Target/Android.mk b/lib/Target/Android.mk
deleted file mode 100644
index aaeb589..0000000
--- a/lib/Target/Android.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_target_SRC_FILES := \
- ELFAttribute.cpp \
- ELFAttributeData.cpp \
- ELFAttributeValue.cpp \
- ELFDynamic.cpp \
- ELFEmulation.cpp \
- GNUInfo.cpp \
- GNULDBackend.cpp \
- GOT.cpp \
- OutputRelocSection.cpp \
- PLT.cpp \
- TargetLDBackend.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_target_SRC_FILES)
-LOCAL_MODULE:= libmcldTarget
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_target_SRC_FILES)
-LOCAL_MODULE:= libmcldTarget
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/Mips/Android.bp b/lib/Target/Mips/Android.bp
new file mode 100644
index 0000000..3e281b4
--- /dev/null
+++ b/lib/Target/Mips/Android.bp
@@ -0,0 +1,20 @@
+cc_library_static {
+ name: "libmcldMipsTarget",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "MipsAbiFlags.cpp",
+ "MipsDiagnostic.cpp",
+ "MipsELFDynamic.cpp",
+ "MipsEmulation.cpp",
+ "MipsGNUInfo.cpp",
+ "MipsGOT.cpp",
+ "MipsGOTPLT.cpp",
+ "MipsLA25Stub.cpp",
+ "MipsLDBackend.cpp",
+ "MipsPLT.cpp",
+ "MipsRelocator.cpp",
+ ],
+}
+
+subdirs = ["TargetInfo"]
diff --git a/lib/Target/Mips/Android.mk b/lib/Target/Mips/Android.mk
deleted file mode 100644
index 17e93f5..0000000
--- a/lib/Target/Mips/Android.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_mips_target_SRC_FILES := \
- MipsAbiFlags.cpp \
- MipsDiagnostic.cpp \
- MipsELFDynamic.cpp \
- MipsEmulation.cpp \
- MipsGNUInfo.cpp \
- MipsGOT.cpp \
- MipsGOTPLT.cpp \
- MipsLA25Stub.cpp \
- MipsLDBackend.cpp \
- MipsPLT.cpp \
- MipsRelocator.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_mips_target_SRC_FILES)
-LOCAL_MODULE:= libmcldMipsTarget
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_mips_target_SRC_FILES)
-LOCAL_MODULE:= libmcldMipsTarget
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
-
diff --git a/lib/Target/Mips/TargetInfo/Android.bp b/lib/Target/Mips/TargetInfo/Android.bp
new file mode 100644
index 0000000..6c60603
--- /dev/null
+++ b/lib/Target/Mips/TargetInfo/Android.bp
@@ -0,0 +1,6 @@
+cc_library_static {
+ name: "libmcldMipsInfo",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: ["MipsTargetInfo.cpp"],
+}
diff --git a/lib/Target/Mips/TargetInfo/Android.mk b/lib/Target/Mips/TargetInfo/Android.mk
deleted file mode 100644
index 5a92217..0000000
--- a/lib/Target/Mips/TargetInfo/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_mips_info_SRC_FILES := \
- MipsTargetInfo.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_mips_info_SRC_FILES)
-LOCAL_MODULE:= libmcldMipsInfo
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_mips_info_SRC_FILES)
-LOCAL_MODULE:= libmcldMipsInfo
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/X86/Android.bp b/lib/Target/X86/Android.bp
new file mode 100644
index 0000000..603bff1
--- /dev/null
+++ b/lib/Target/X86/Android.bp
@@ -0,0 +1,17 @@
+cc_library_static {
+ name: "libmcldX86Target",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: [
+ "X86Diagnostic.cpp",
+ "X86ELFDynamic.cpp",
+ "X86Emulation.cpp",
+ "X86GOT.cpp",
+ "X86GOTPLT.cpp",
+ "X86LDBackend.cpp",
+ "X86PLT.cpp",
+ "X86Relocator.cpp",
+ ],
+}
+
+subdirs = ["TargetInfo"]
diff --git a/lib/Target/X86/Android.mk b/lib/Target/X86/Android.mk
deleted file mode 100644
index ee136ff..0000000
--- a/lib/Target/X86/Android.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_x86_target_SRC_FILES := \
- X86Diagnostic.cpp \
- X86ELFDynamic.cpp \
- X86Emulation.cpp \
- X86GOT.cpp \
- X86GOTPLT.cpp \
- X86LDBackend.cpp \
- X86PLT.cpp \
- X86Relocator.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_x86_target_SRC_FILES)
-LOCAL_MODULE:= libmcldX86Target
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_x86_target_SRC_FILES)
-LOCAL_MODULE:= libmcldX86Target
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/X86/TargetInfo/Android.bp b/lib/Target/X86/TargetInfo/Android.bp
new file mode 100644
index 0000000..b02c039
--- /dev/null
+++ b/lib/Target/X86/TargetInfo/Android.bp
@@ -0,0 +1,6 @@
+cc_library_static {
+ name: "libmcldX86Info",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ srcs: ["X86TargetInfo.cpp"],
+}
diff --git a/lib/Target/X86/TargetInfo/Android.mk b/lib/Target/X86/TargetInfo/Android.mk
deleted file mode 100644
index d520580..0000000
--- a/lib/Target/X86/TargetInfo/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-mcld_x86_info_SRC_FILES := \
- X86TargetInfo.cpp
-
-# For the host
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_x86_info_SRC_FILES)
-LOCAL_MODULE:= libmcldX86Info
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-# For the device
-# =====================================================
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(mcld_x86_info_SRC_FILES)
-LOCAL_MODULE:= libmcldX86Info
-
-LOCAL_MODULE_TAGS := optional
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
diff --git a/mcld-device-build.mk b/mcld-device-build.mk
deleted file mode 100644
index 5734e91..0000000
--- a/mcld-device-build.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-include $(LLVM_DEVICE_BUILD_MK)
-
-# The three inline options together reduce libbcc.so almost 1MB.
-# We move them from global build/core/combo/TARGET_linux-arm.mk
-# to here.
-LOCAL_CFLAGS := \
- -DANDROID_TARGET_BUILD \
- -finline-functions \
- -include $(MCLD_ROOT_PATH)/include/mcld/Config/Config.h \
- $(LOCAL_CFLAGS)
-
-LOCAL_CPPFLAGS := \
- $(LOCAL_CPPFLAGS) \
- -Wall \
- -Wno-unused-parameter \
- -Wno-unused-private-field \
- -Wno-unused-const-variable \
- -Werror
-
-ifeq ($(MCLD_ENABLE_ASSERTION),true)
- LOCAL_CPPFLAGS += \
- -D_DEBUG \
- -UNDEBUG
-endif
-
-ifeq ($(HOST_OS),darwin)
-LOCAL_CFLAGS += -DDARWIN_FLEX=1
-endif
-
-ifeq ($(BUILD_ARM_FOR_X86),true)
-LOCAL_CFLAGS_x86 += -DPROVIDE_ARM_CODEGEN -DFORCE_BUILD_ARM
-LOCAL_CFLAGS_x86_64 += -DPROVIDE_ARM_CODEGEN -DFORCE_BUILD_ARM
-endif
-
-# Make sure bionic is first so we can include system headers.
-LOCAL_C_INCLUDES := \
- bionic \
- external/libcxx/include \
- external/libcxxabi/include \
- $(MCLD_ROOT_PATH)/include \
- $(LLVM_ROOT_PATH) \
- $(LLVM_ROOT_PATH)/include \
- $(LLVM_ROOT_PATH)/device/include \
- $(LOCAL_C_INCLUDES)
diff --git a/mcld-host-build.mk b/mcld-host-build.mk
deleted file mode 100644
index 9bfc958..0000000
--- a/mcld-host-build.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-include $(LLVM_HOST_BUILD_MK)
-
-LOCAL_CFLAGS := \
- -include $(MCLD_ROOT_PATH)/include/mcld/Config/Config.h \
- $(LOCAL_CFLAGS)
-
-LOCAL_CPPFLAGS := \
- $(LOCAL_CPPFLAGS) \
- -Wno-unused-private-field \
- -Wno-unused-const-variable \
- -Wall
-
-ifeq ($(MCLD_ENABLE_ASSERTION),true)
- LOCAL_CPPFLAGS += \
- -D_DEBUG \
- -UNDEBUG
-endif
-
-LOCAL_CLANG := true
-
-ifeq ($(HOST_OS),darwin)
-LOCAL_CFLAGS += -DDARWIN_FLEX=1
-endif
-
-LOCAL_C_INCLUDES := \
- $(MCLD_ROOT_PATH)/include \
- $(LLVM_ROOT_PATH) \
- $(LLVM_ROOT_PATH)/include \
- $(LLVM_ROOT_PATH)/host/include \
- $(LOCAL_C_INCLUDES)
-
-LOCAL_IS_HOST_MODULE := true
diff --git a/mcld.mk b/mcld.mk
deleted file mode 100644
index 3fa71f9..0000000
--- a/mcld.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-ifeq ($(MCLD_ROOT_PATH),)
-$(error Must set variable MCLD_ROOT_PATH before including this! $(LOCAL_PATH))
-endif
-
-MCLD_HOST_BUILD_MK := $(MCLD_ROOT_PATH)/mcld-host-build.mk
-MCLD_DEVICE_BUILD_MK := $(MCLD_ROOT_PATH)/mcld-device-build.mk
-
-ifeq ($(LLVM_ROOT_PATH),)
-$(error Must set variable LLVM_ROOT_PATH before including this! $(LOCAL_PATH))
-endif
-
-include $(LLVM_ROOT_PATH)/llvm.mk
diff --git a/tools/mcld/Android.bp b/tools/mcld/Android.bp
new file mode 100644
index 0000000..297e646
--- /dev/null
+++ b/tools/mcld/Android.bp
@@ -0,0 +1,91 @@
+// Collect target specific code generation libraries
+MCLD_ARM_LIBS = [
+ "libmcldARMTarget",
+ "libmcldARMInfo",
+]
+MCLD_AARCH64_LIBS = [
+ "libmcldAArch64Target",
+ "libmcldAArch64Info",
+]
+MCLD_MIPS_LIBS = [
+ "libmcldMipsTarget",
+ "libmcldMipsInfo",
+]
+MCLD_X86_LIBS = [
+ "libmcldX86Target",
+ "libmcldX86Info",
+]
+
+// Build Options.inc from Options.td
+llvm_tblgen {
+ name: "mcld-gen-options",
+ in: "Options.td",
+ outs: ["Options.inc"],
+}
+
+cc_binary {
+ name: "ld.mc",
+ defaults: ["mcld-defaults"],
+ host_supported: true,
+ generated_headers: ["mcld-gen-options"],
+
+ srcs: ["Main.cpp"],
+
+ // arch-specific static libraries depend on libmcldTarget.
+ // Can be removed once soong supports transitive static library dependencies
+ group_static_libs: true,
+ static_libs: [
+ "libmcldADT",
+ "libmcldCore",
+ "libmcldFragment",
+ "libmcldLD",
+ "libmcldLDVariant",
+ "libmcldMC",
+ "libmcldObject",
+ "libmcldScript",
+ "libmcldSupport",
+ "libmcldTarget",
+ ],
+
+ shared_libs: [
+ "libLLVM",
+ ],
+
+ target: {
+ host: {
+ shared_libs: ["libz-host"],
+ static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS +
+ MCLD_MIPS_LIBS + MCLD_X86_LIBS,
+ },
+ android: {
+ shared_libs: ["libz"],
+ },
+
+ // Add target specific code generation libraries
+ android_arm: {
+ static_libs: MCLD_ARM_LIBS,
+ },
+ android_arm64: {
+ // Include ARM libs to enable 32-bit linking on AARCH64 targets
+ static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
+ },
+ android_mips: {
+ static_libs: MCLD_MIPS_LIBS,
+ },
+ android_mips64: {
+ static_libs: MCLD_MIPS_LIBS,
+ },
+ android_x86: {
+ static_libs: MCLD_X86_LIBS,
+ },
+ android_x86_64: {
+ static_libs: MCLD_X86_LIBS,
+ },
+ arm_on_x86: {
+ static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
+ },
+ arm_on_x86_64: {
+ static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
+ },
+ },
+}
diff --git a/tools/mcld/Android.mk b/tools/mcld/Android.mk
deleted file mode 100644
index 0405848..0000000
--- a/tools/mcld/Android.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-LOCAL_MODULE_TAGS := optional
-
-# Set up common build variables
-# =====================================================
-
-MCLD_C_INCLUDES := $(LOCAL_PATH)/include
-
-MCLD_SRC_FILES := \
- Main.cpp
-
-
-MCLD_WHOLE_STATIC_LIBRARIES := \
- libmcldADT \
- libmcldCore \
- libmcldFragment \
- libmcldLD \
- libmcldLDVariant \
- libmcldMC \
- libmcldObject \
- libmcldScript \
- libmcldSupport \
- libmcldTarget
-
-MCLD_SHARED_LIBRARIES := libLLVM
-
-# Collect target specific code generation libraries
-MCLD_ARM_LIBS := libmcldARMTarget libmcldARMInfo
-MCLD_AARCH64_LIBS := libmcldAArch64Target libmcldAArch64Info
-MCLD_MIPS_LIBS := libmcldMipsTarget libmcldMipsInfo
-MCLD_X86_LIBS := libmcldX86Target libmcldX86Info
-
-MCLD_MODULE:= ld.mc
-
-# Executable for the device
-# =====================================================
-include $(CLEAR_VARS)
-include $(CLEAR_TBLGEN_VARS)
-
-LOCAL_C_INCLUDES := $(MCLD_C_INCLUDES)
-LOCAL_SRC_FILES := $(MCLD_SRC_FILES)
-LOCAL_WHOLE_STATIC_LIBRARIES := $(MCLD_WHOLE_STATIC_LIBRARIES)
-
-# Add target specific code generation libraries
-ifeq ($(TARGET_ARCH), arm)
- LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS)
-endif
-
-# Include ARM libs to enable 32-bit linking on AARCH64 targets
-ifeq ($(TARGET_ARCH), arm64)
- LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_AARCH64_LIBS) \
- $(MCLD_ARM_LIBS)
-endif
-
-ifneq (, $(findstring mips,$(TARGET_ARCH)))
- LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_MIPS_LIBS)
-endif
-
-# Add x86 libraries for both x86 and x86_64 targets
-ifneq (, $(findstring x86,$(TARGET_ARCH)))
- LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_X86_LIBS)
-ifeq ($(BUILD_ARM_FOR_X86),true)
- LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS) \
- $(MCLD_AARCH64_LIBS)
-endif
-endif
-
-
-# zlib's libnames are different for the host and target.
-# For the target, it is the standard libz
-LOCAL_SHARED_LIBRARIES := $(MCLD_SHARED_LIBRARIES) libz
-
-LOCAL_MODULE := $(MCLD_MODULE)
-LOCAL_MODULE_CLASS := EXECUTABLES
-
-# Build Options.inc from Options.td for the device
-intermediates := $(call local-generated-sources-dir)
-LOCAL_GENERATED_SOURCES += $(intermediates)/Options.inc
-$(intermediates)/Options.inc: $(LOCAL_PATH)/Options.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(LLVM_TBLGEN)
- $(call transform-device-td-to-out,opt-parser-defs)
-
-include $(MCLD_DEVICE_BUILD_MK)
-include $(BUILD_EXECUTABLE)
-
-# Executable for the host
-# =====================================================
-include $(CLEAR_VARS)
-include $(CLEAR_TBLGEN_VARS)
-
-LOCAL_C_INCLUDES := $(MCLD_C_INCLUDES)
-LOCAL_SRC_FILES := $(MCLD_SRC_FILES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := $(MCLD_WHOLE_STATIC_LIBRARIES)
-LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS) \
- $(MCLD_AARCH64_LIBS) \
- $(MCLD_MIPS_LIBS) \
- $(MCLD_X86_LIBS)
-
-# zlib's libnames are different for the host and target.
-# For the host, it is libz-host
-LOCAL_SHARED_LIBRARIES := $(MCLD_SHARED_LIBRARIES) libz-host
-
-LOCAL_MODULE := $(MCLD_MODULE)
-LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_IS_HOST_MODULE := true
-
-# Build Options.inc from Options.td for the host
-intermediates := $(call local-generated-sources-dir)
-LOCAL_GENERATED_SOURCES += $(intermediates)/Options.inc
-$(intermediates)/Options.inc: $(LOCAL_PATH)/Options.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(LLVM_TBLGEN)
- $(call transform-host-td-to-out,opt-parser-defs)
-
-include $(MCLD_HOST_BUILD_MK)
-include $(BUILD_HOST_EXECUTABLE)