[compiler-rt] Recurse into 'utils' directory in CMake build of compiler-rt, enable build of llvm-symbolizer binary (currently for one target only)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163138 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 844660f..17268c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,6 +103,9 @@
 # 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/utils/CMakeLists.txt b/utils/CMakeLists.txt
new file mode 100644
index 0000000..cb75012
--- /dev/null
+++ b/utils/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(llvm-symbolizer)
diff --git a/utils/llvm-symbolizer/CMakeLists.txt b/utils/llvm-symbolizer/CMakeLists.txt
new file mode 100644
index 0000000..a01ed53
--- /dev/null
+++ b/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/utils/llvm-symbolizer/llvm-symbolizer.cpp b/utils/llvm-symbolizer/llvm-symbolizer.cpp
index da96e43..af634b1 100644
--- a/utils/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/utils/llvm-symbolizer/llvm-symbolizer.cpp
@@ -47,7 +47,7 @@
                         "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;