diff options
author | Colin Cross <ccross@android.com> | 2016-12-13 18:53:26 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-12-13 18:53:26 +0000 |
commit | 015cad7d4d05020782c7506649d6d6127185094b (patch) | |
tree | 9eb333a58006a53395743e08d0bfb3cce7c4364e | |
parent | 31ffcdd394d6bbe23bba08b0ad2950aaadb66f3b (diff) | |
parent | 4fefd441bc867e8fdb92e0d696fa73f056bdbc25 (diff) | |
download | mclinker-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
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) |