Jelajahi Sumber

better linking

Nicolas Winkler 6 tahun lalu
induk
melakukan
955c43ff34
2 mengubah file dengan 13 tambahan dan 6 penghapusan
  1. 6 1
      src/CMakeLists.txt
  2. 7 5
      src/sem/CodeGeneration.cpp

+ 6 - 1
src/CMakeLists.txt

@@ -60,7 +60,12 @@ endif()
 
 #explicit_llvm_config(${PROJECT_NAME} STATIC_LIBRARY)
 llvm_config(${PROJECT_NAME})
-target_link_libraries(${PROJECT_NAME} LLVM)
+
+llvm_map_components_to_libnames(llvm_libs X86 passes)
+
+message( ${llvm_libs} )
+target_link_libraries(${PROJECT_NAME} ${llvm_libs})
+
 
 #    MIRParser
 #    LTO

+ 7 - 5
src/sem/CodeGeneration.cpp

@@ -226,11 +226,13 @@ void generateObjectFile(const std::string& filename, std::unique_ptr<llvm::Modul
     if (broken)
         throw "invalid llvm module";
     
-    llvm::InitializeAllTargetInfos();
-    llvm::InitializeAllTargets();
-    llvm::InitializeAllTargetMCs();
-    llvm::InitializeAllAsmParsers();
-    llvm::InitializeAllAsmPrinters();
+    llvm::InitializeNativeTarget ();
+    llvm::InitializeNativeTargetAsmPrinter();
+    //llvm::InitializeAllTargetInfos();
+    //llvm::InitializeAllTargets();
+    //llvm::InitializeAllTargetMCs();
+    //llvm::InitializeAllAsmParsers();
+    //llvm::InitializeAllAsmPrinters();
 
     PassManager pm;