summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Waldenborg <anders@0x63.nu>2013-10-15 13:04:27 +0000
committerAnders Waldenborg <anders@0x63.nu>2013-10-15 13:04:27 +0000
commitbfcd45cfe114311b32b171c529fd387dd8eac55f (patch)
tree8db20f611c5d78ee1d0a2fd46cf756938f6376f4
parent6480db4b3afb0adb0ffcedc6e88e3b3f394a86cf (diff)
downloadllvm-bfcd45cfe114311b32b171c529fd387dd8eac55f.tar.gz
llvm-bfcd45cfe114311b32b171c529fd387dd8eac55f.tar.bz2
llvm-bfcd45cfe114311b32b171c529fd387dd8eac55f.tar.xz
Revert "Add AllTargetsBindings sublibrary" as it breaks cmake build on (atleast) windows and darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192697 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm-c/Target.h47
-rw-r--r--lib/Target/AllTargetsBindings/AllTargetsBindings.cpp42
-rw-r--r--lib/Target/AllTargetsBindings/CMakeLists.txt3
-rw-r--r--lib/Target/AllTargetsBindings/LLVMBuild.txt32
-rw-r--r--lib/Target/AllTargetsBindings/Makefile14
-rw-r--r--lib/Target/CMakeLists.txt2
-rw-r--r--lib/Target/LLVMBuild.txt9
-rw-r--r--lib/Target/Makefile2
8 files changed, 45 insertions, 106 deletions
diff --git a/include/llvm-c/Target.h b/include/llvm-c/Target.h
index 1d7884f142..80fc3e5ad7 100644
--- a/include/llvm-c/Target.h
+++ b/include/llvm-c/Target.h
@@ -71,37 +71,62 @@ typedef struct LLVMStructLayout *LLVMStructLayoutRef;
void LLVMInitialize##TargetName##Disassembler(void);
#include "llvm/Config/Disassemblers.def"
#undef LLVM_DISASSEMBLER /* Explicit undef to make SWIG happier */
-
+
/** LLVMInitializeAllTargetInfos - The main program should call this function if
it wants access to all available targets that LLVM is configured to
support. */
-void LLVMInitializeAllTargetInfos(void);
+static inline void LLVMInitializeAllTargetInfos(void) {
+#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetInfo();
+#include "llvm/Config/Targets.def"
+#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
+}
/** LLVMInitializeAllTargets - The main program should call this function if it
wants to link in all available targets that LLVM is configured to
support. */
-void LLVMInitializeAllTargets(void);
+static inline void LLVMInitializeAllTargets(void) {
+#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();
+#include "llvm/Config/Targets.def"
+#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
+}
/** LLVMInitializeAllTargetMCs - The main program should call this function if
it wants access to all available target MC that LLVM is configured to
support. */
-void LLVMInitializeAllTargetMCs(void);
-
+static inline void LLVMInitializeAllTargetMCs(void) {
+#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetMC();
+#include "llvm/Config/Targets.def"
+#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
+}
+
/** LLVMInitializeAllAsmPrinters - The main program should call this function if
it wants all asm printers that LLVM is configured to support, to make them
available via the TargetRegistry. */
-void LLVMInitializeAllAsmPrinters(void);
-
+static inline void LLVMInitializeAllAsmPrinters(void) {
+#define LLVM_ASM_PRINTER(TargetName) LLVMInitialize##TargetName##AsmPrinter();
+#include "llvm/Config/AsmPrinters.def"
+#undef LLVM_ASM_PRINTER /* Explicit undef to make SWIG happier */
+}
+
/** LLVMInitializeAllAsmParsers - The main program should call this function if
it wants all asm parsers that LLVM is configured to support, to make them
available via the TargetRegistry. */
-void LLVMInitializeAllAsmParsers(void);
-
+static inline void LLVMInitializeAllAsmParsers(void) {
+#define LLVM_ASM_PARSER(TargetName) LLVMInitialize##TargetName##AsmParser();
+#include "llvm/Config/AsmParsers.def"
+#undef LLVM_ASM_PARSER /* Explicit undef to make SWIG happier */
+}
+
/** LLVMInitializeAllDisassemblers - The main program should call this function
if it wants all disassemblers that LLVM is configured to support, to make
them available via the TargetRegistry. */
-void LLVMInitializeAllDisassemblers(void);
-
+static inline void LLVMInitializeAllDisassemblers(void) {
+#define LLVM_DISASSEMBLER(TargetName) \
+ LLVMInitialize##TargetName##Disassembler();
+#include "llvm/Config/Disassemblers.def"
+#undef LLVM_DISASSEMBLER /* Explicit undef to make SWIG happier */
+}
+
/** LLVMInitializeNativeTarget - The main program should call this function to
initialize the native target corresponding to the host. This is useful
for JIT applications to ensure that the target gets linked in correctly. */
diff --git a/lib/Target/AllTargetsBindings/AllTargetsBindings.cpp b/lib/Target/AllTargetsBindings/AllTargetsBindings.cpp
deleted file mode 100644
index 5f1a9c921d..0000000000
--- a/lib/Target/AllTargetsBindings/AllTargetsBindings.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===-- AllTargetsBindings.cpp --------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file implements the llvm-c functions for initialization of
-// different aspects of all configured targets.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm-c/Target.h"
-#include "llvm/Support/TargetSelect.h"
-
-using namespace llvm;
-
-void LLVMInitializeAllTargetInfos(void) {
- InitializeAllTargetInfos();
-}
-
-void LLVMInitializeAllTargets(void) {
- InitializeAllTargets();
-}
-
-void LLVMInitializeAllTargetMCs(void) {
- InitializeAllTargetMCs();
-}
-
-void LLVMInitializeAllAsmPrinters(void) {
- InitializeAllAsmPrinters();
-}
-
-void LLVMInitializeAllAsmParsers(void) {
- InitializeAllAsmParsers();
-}
-
-void LLVMInitializeAllDisassemblers(void) {
- InitializeAllDisassemblers();
-}
diff --git a/lib/Target/AllTargetsBindings/CMakeLists.txt b/lib/Target/AllTargetsBindings/CMakeLists.txt
deleted file mode 100644
index 4b4dc77b5c..0000000000
--- a/lib/Target/AllTargetsBindings/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-add_llvm_library(LLVMAllTargetsBindings
- AllTargetsBindings.cpp
- )
diff --git a/lib/Target/AllTargetsBindings/LLVMBuild.txt b/lib/Target/AllTargetsBindings/LLVMBuild.txt
deleted file mode 100644
index ecf8acaa82..0000000000
--- a/lib/Target/AllTargetsBindings/LLVMBuild.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-;===- ./lib/Target/LLVMBuild.txt -------------------------------*- Conf -*--===;
-;
-; The LLVM Compiler Infrastructure
-;
-; This file is distributed under the University of Illinois Open Source
-; License. See LICENSE.TXT for details.
-;
-;===------------------------------------------------------------------------===;
-;
-; This is an LLVMBuild description file for the components in this subdirectory.
-;
-; For more information on the LLVMBuild system, please see:
-;
-; http://llvm.org/docs/LLVMBuild.html
-;
-;===------------------------------------------------------------------------===;
-
-; This is a special group whose required libraries are extended (by llvm-build)
-; with every built target, which makes it easy for tools to include every
-; target.
-[component_0]
-type = LibraryGroup
-name = all-targets
-parent = Libraries
-
-; This is the actual library built in this directory.
-; It just contains the llvm-c bindings LLVMInitializeAllTarget* functions
-[component_1]
-type = Library
-name = AllTargetsBindings
-parent = Libraries
-add_to_library_groups = all-targets
diff --git a/lib/Target/AllTargetsBindings/Makefile b/lib/Target/AllTargetsBindings/Makefile
deleted file mode 100644
index 47a68830bb..0000000000
--- a/lib/Target/AllTargetsBindings/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-#===- lib/Target/AllTargetsBindings/Makefile ---------------*- Makefile -*-===##
-#
-# The LLVM Compiler Infrastructure
-#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-#
-##===----------------------------------------------------------------------===##
-
-LEVEL = ../../..
-LIBRARYNAME = LLVMAllTargetsBindings
-BUILD_ARCHIVE = 1
-
-include $(LEVEL)/Makefile.common
diff --git a/lib/Target/CMakeLists.txt b/lib/Target/CMakeLists.txt
index 861c999c6b..02ac493b42 100644
--- a/lib/Target/CMakeLists.txt
+++ b/lib/Target/CMakeLists.txt
@@ -14,5 +14,3 @@ foreach(t ${LLVM_TARGETS_TO_BUILD})
message(STATUS "Targeting ${t}")
add_subdirectory(${t})
endforeach()
-
-add_subdirectory("AllTargetsBindings")
diff --git a/lib/Target/LLVMBuild.txt b/lib/Target/LLVMBuild.txt
index 10dc3dc685..98d26bcac8 100644
--- a/lib/Target/LLVMBuild.txt
+++ b/lib/Target/LLVMBuild.txt
@@ -16,7 +16,7 @@
;===------------------------------------------------------------------------===;
[common]
-subdirectories = AArch64 ARM CppBackend Hexagon MSP430 NVPTX Mips PowerPC R600 Sparc SystemZ X86 XCore AllTargetsBindings
+subdirectories = AArch64 ARM CppBackend Hexagon MSP430 NVPTX Mips PowerPC R600 Sparc SystemZ X86 XCore
; This is a special group whose required libraries are extended (by llvm-build)
; with the best execution engine (the native JIT, if available, or the
@@ -47,3 +47,10 @@ name = Target
parent = Libraries
required_libraries = Core MC Support
+; This is a special group whose required libraries are extended (by llvm-build)
+; with every built target, which makes it easy for tools to include every
+; target.
+[component_4]
+type = LibraryGroup
+name = all-targets
+parent = Libraries
diff --git a/lib/Target/Makefile b/lib/Target/Makefile
index cfa2edb4af..50a360f1f8 100644
--- a/lib/Target/Makefile
+++ b/lib/Target/Makefile
@@ -15,6 +15,6 @@ BUILD_ARCHIVE = 1
# value for PARALLEL_DIRS which must be set before Makefile.rules is included
include $(LEVEL)/Makefile.config
-PARALLEL_DIRS := $(TARGETS_TO_BUILD) AllTargetsBindings
+PARALLEL_DIRS := $(TARGETS_TO_BUILD)
include $(LLVM_SRC_ROOT)/Makefile.rules