Windows: Add support for unicode command lines
[oota-llvm.git] / cmake / modules / LLVM-Config.cmake
old mode 100755 (executable)
new mode 100644 (file)
index a6286fe..e26fabd
@@ -2,13 +2,24 @@ function(get_system_libs return_var)
   # Returns in `return_var' a list of system libraries used by LLVM.
   if( NOT MSVC )
     if( MINGW )
-      set(system_libs ${system_libs} imagehlp psapi)
+      set(system_libs ${system_libs} imagehlp psapi shell32)
     elseif( CMAKE_HOST_UNIX )
+      if( HAVE_LIBRT )
+        set(system_libs ${system_libs} rt)
+      endif()
       if( HAVE_LIBDL )
-       set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
+        set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
+      endif()
+      if(LLVM_ENABLE_TERMINFO)
+        if(HAVE_TERMINFO)
+          set(system_libs ${system_libs} ${TERMINFO_LIBS})
+        endif()
       endif()
       if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD )
-       set(system_libs ${system_libs} pthread)
+        set(system_libs ${system_libs} pthread)
+      endif()
+      if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
+        set(system_libs ${system_libs} z)
       endif()
     endif( MINGW )
   endif( NOT MSVC )
@@ -135,14 +146,14 @@ function(explicit_map_components_to_libraries out_libs)
       string(TOUPPER "${c}" capitalized)
       list(FIND capitalized_libs LLVM${capitalized} lib_idx)
       if( lib_idx LESS 0 )
-       # The component is unknown. Maybe is an omitted target?
-       is_llvm_target_library(${c} iltl_result)
-       if( NOT iltl_result )
-         message(FATAL_ERROR "Library `${c}' not found in list of llvm libraries.")
-       endif()
+        # The component is unknown. Maybe is an omitted target?
+        is_llvm_target_library(${c} iltl_result)
+        if( NOT iltl_result )
+          message(FATAL_ERROR "Library `${c}' not found in list of llvm libraries.")
+        endif()
       else( lib_idx LESS 0 )
-       list(GET llvm_libs ${lib_idx} canonical_lib)
-       list(APPEND expanded_components ${canonical_lib})
+        list(GET llvm_libs ${lib_idx} canonical_lib)
+        list(APPEND expanded_components ${canonical_lib})
       endif( lib_idx LESS 0 )
     endif( NOT idx LESS 0 )
   endforeach(c)
@@ -152,7 +163,8 @@ function(explicit_map_components_to_libraries out_libs)
   set(processed)
   while( cursor LESS lst_size )
     list(GET expanded_components ${cursor} lib)
-    list(APPEND expanded_components ${MSVC_LIB_DEPS_${lib}})
+    get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${lib})
+    list(APPEND expanded_components ${lib_deps})
     # Remove duplicates at the front:
     list(REVERSE expanded_components)
     list(REMOVE_DUPLICATES expanded_components)
@@ -175,29 +187,3 @@ function(explicit_map_components_to_libraries out_libs)
   endforeach(c)
   set(${out_libs} ${result} PARENT_SCOPE)
 endfunction(explicit_map_components_to_libraries)
-
-
-# The library dependency data is contained in the file
-# LLVMLibDeps.cmake on this directory. It is automatically generated
-# by tools/llvm-config/CMakeLists.txt when the build comprises all the
-# targets and we are on a environment Posix enough to build the
-# llvm-config script. This, in practice, just excludes MSVC.
-
-# When you remove or rename a library from the build, be sure to
-# remove its file from lib/ as well, or the GenLibDeps.pl script will
-# include it on its analysis!
-
-# The format generated by GenLibDeps.pl
-
-# LLVMARMAsmPrinter.o: LLVMARMCodeGen.o libLLVMAsmPrinter.a libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMTarget.a
-
-# is translated to:
-
-# set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
-
-# It is necessary to remove the `lib' prefix and the `.a'.
-
-# This 'sed' script should do the trick:
-# sed -e s'#\.a##g' -e 's#libLLVM#LLVM#g' -e 's#: # #' -e 's#\(.*\)#set(MSVC_LIB_DEPS_\1)#' ~/llvm/tools/llvm-config/LibDeps.txt
-
-include(LLVMLibDeps)