]> granicus.if.org Git - clang/commitdiff
Teach the PrintFunctionNames example to be a proper module, so that
authorDouglas Gregor <dgregor@apple.com>
Tue, 8 Jun 2010 19:23:49 +0000 (19:23 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 8 Jun 2010 19:23:49 +0000 (19:23 +0000)
Clang can load it as a plugin. Original fix by Troy D. Straszheim,
which I extended with Darwin support. Fixes PR6801.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105630 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
examples/PrintFunctionNames/CMakeLists.txt
examples/clang-interpreter/CMakeLists.txt
tools/libclang/CMakeLists.txt

index 1be646dfd2e32586c695613a11e842bd88158461..e366275af9624be1cb2e7a28de50a8f7c8e44fbf 100644 (file)
@@ -41,6 +41,10 @@ if (CMAKE_COMPILER_IS_GNUCXX)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings")
 endif ()
 
+if (APPLE)
+  set(CMAKE_MODULE_LINKER_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+endif ()
+
 macro(add_clang_library name)
   set(srcs ${ARGN})
   if(MSVC_IDE OR XCODE)
@@ -54,7 +58,9 @@ macro(add_clang_library name)
       ../../include/clang${dir}/*.def)
     set(srcs ${srcs} ${headers})
   endif(MSVC_IDE OR XCODE)
-  if (SHARED_LIBRARY)
+  if (MODULE)
+    set(libkind MODULE)
+  elseif (SHARED_LIBRARY)
     set(libkind SHARED)
   else()
     set(libkind)
index 49dd22ad8d0d65f15a76abab73baba375c59da41..5ea75db42e02cd3766721bada9a6c40afceadeab 100644 (file)
@@ -1,26 +1,10 @@
-set(SHARED_LIBRARY TRUE)
+set(MODULE TRUE)
 
 set(LLVM_NO_RTTI 1)
 
-set(LLVM_USED_LIBS
-  clangIndex
-  clangFrontend
-  clangDriver
-  clangSema
-  clangAnalysis
-  clangAST
-  clangParse
-  clangLex
-  clangBasic)
-
-set( LLVM_LINK_COMPONENTS
-  bitreader
-  mc
-  core
-  )
-
 add_clang_library(PrintFunctionNames PrintFunctionNames.cpp)
 
 set_target_properties(PrintFunctionNames
   PROPERTIES
-  LINKER_LANGUAGE CXX)
+  LINKER_LANGUAGE CXX
+  PREFIX "")
index 0f63b5f5b91bb5c338fa42d4022d1dcec8f9ec56..1aa9b2b592241a065430a0ff9ca9dfb976adaa0f 100644 (file)
@@ -18,8 +18,10 @@ set(LLVM_LINK_COMPONENTS
     jit
     interpreter
     nativecodegen
+    asmparser
     bitreader
     bitwriter
+    codegen
     ipo
     selectiondag
   )
index 62c973852dc1eb43028395691fdd0db300193326..562b17ef01bec1d78d5696b01b0f60d98f526b81 100644 (file)
@@ -3,8 +3,9 @@ set(SHARED_LIBRARY TRUE)
 set(LLVM_NO_RTTI 1)
 
 set(LLVM_USED_LIBS
- clangFrontend
 clangFrontend
   clangDriver
+  clangCodeGen
   clangSema
   clangAnalysis
   clangAST