summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2012-09-04 14:52:21 +0000
committerAlexey Samsonov <samsonov@google.com>2012-09-04 14:52:21 +0000
commitf2ce35fc30e57da0189d9af29c51cf86f8370065 (patch)
tree62c7b0bc2d275502f8731d81a76ae2a027a8ab9d
parent4d8986af12e50853742d60748e8f26b5f6b08b7e (diff)
downloadbcm5719-llvm-f2ce35fc30e57da0189d9af29c51cf86f8370065.tar.gz
bcm5719-llvm-f2ce35fc30e57da0189d9af29c51cf86f8370065.zip
[compiler-rt] Recurse into 'utils' directory in CMake build of compiler-rt, enable build of llvm-symbolizer binary (currently for one target only)
llvm-svn: 163138
-rw-r--r--compiler-rt/CMakeLists.txt3
-rw-r--r--compiler-rt/utils/CMakeLists.txt1
-rw-r--r--compiler-rt/utils/llvm-symbolizer/CMakeLists.txt17
-rw-r--r--compiler-rt/utils/llvm-symbolizer/llvm-symbolizer.cpp2
4 files changed, 22 insertions, 1 deletions
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 844660fefea..17268c8b62c 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -103,6 +103,9 @@ endfunction()
# Add the public header's directory to the includes for all of compiler-rt.
include_directories(include)
+# Build utils before building compiler-rt library.
+add_subdirectory(utils)
+
add_subdirectory(lib)
if(LLVM_INCLUDE_TESTS)
diff --git a/compiler-rt/utils/CMakeLists.txt b/compiler-rt/utils/CMakeLists.txt
new file mode 100644
index 00000000000..cb75012a600
--- /dev/null
+++ b/compiler-rt/utils/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(llvm-symbolizer)
diff --git a/compiler-rt/utils/llvm-symbolizer/CMakeLists.txt b/compiler-rt/utils/llvm-symbolizer/CMakeLists.txt
new file mode 100644
index 00000000000..a01ed53a0d2
--- /dev/null
+++ b/compiler-rt/utils/llvm-symbolizer/CMakeLists.txt
@@ -0,0 +1,17 @@
+# FIXME: As we plan to execute llvm-symbolizer binary from Sanitizer
+# runtime, it has to be compiled for all supported targets (x86_64, i386 etc).
+# This means that we need LLVM libraries to be compiled for these
+# targets as well. Currently, there is no support for such a build strategy.
+
+set(LLVM_LINK_COMPONENTS
+ DebugInfo
+ Object
+ )
+
+add_llvm_tool(llvm-symbolizer
+ llvm-symbolizer.cpp
+ )
+
+# FIXME: Set sane output directory for llvm-symbolizer
+set_target_properties(llvm-symbolizer PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/compiler-rt/utils/llvm-symbolizer/llvm-symbolizer.cpp b/compiler-rt/utils/llvm-symbolizer/llvm-symbolizer.cpp
index da96e43080d..af634b1b29c 100644
--- a/compiler-rt/utils/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/compiler-rt/utils/llvm-symbolizer/llvm-symbolizer.cpp
@@ -47,7 +47,7 @@ PrintFunctions("functions", cl::init(true),
"information for a given address"));
static cl::opt<bool>
-PrintInlining("inlining", cl::init(false),
+PrintInlining("inlining", cl::init(true),
cl::desc("Print all inlined frames for a given address"));
static StringRef ToolInvocationPath;
OpenPOWER on IntegriCloud