| author | |
| committer | |
| log | 3cacbea95b2052f0dffd0a412f5e99ff61397826 |
| tree | 671ec5fb9f60c34d7a615f73e40e7297d9cd3391 |
| parent | f5135f8e3b0d7a23d44944c720b6a6f3410a2b3a |
- Revert the addition of CLANG_SYSTEM_LIBARIES and LLVM_SYSTEM_LIBRARIES
- Change addCMakeLibraryList to parse non-absolute path .lib dependencies as system libraries5 files changed, 11 insertions(+), 49 deletions(-)
CMakeLists.txt+5-6| ... | ... | @@ -133,9 +133,9 @@ find_package(lld 15) |
| 133 | 133 | |
| 134 | 134 | if(ZIG_STATIC_ZLIB) |
| 135 | 135 | if (MSVC) |
| 136 | list(REMOVE_ITEM LLVM_SYSTEM_LIBRARIES "z.lib") | |
| 136 | list(REMOVE_ITEM LLVM_LIBRARIES "z.lib") | |
| 137 | 137 | else() |
| 138 | list(REMOVE_ITEM LLVM_SYSTEM_LIBRARIES "-lz") | |
| 138 | list(REMOVE_ITEM LLVM_LIBRARIES "-lz") | |
| 139 | 139 | endif() |
| 140 | 140 | |
| 141 | 141 | find_library(ZLIB NAMES libz.a libzlibstatic.a z zlib libz NAMES_PER_DIR) |
| ... | ... | @@ -144,9 +144,9 @@ endif() |
| 144 | 144 | |
| 145 | 145 | if(ZIG_STATIC_ZSTD) |
| 146 | 146 | if (MSVC) |
| 147 | list(REMOVE_ITEM LLVM_SYSTEM_LIBRARIES "zstd.lib") | |
| 147 | list(REMOVE_ITEM LLVM_LIBRARIES "zstd.lib") | |
| 148 | 148 | else() |
| 149 | list(REMOVE_ITEM LLVM_SYSTEM_LIBRARIES "-lzstd") | |
| 149 | list(REMOVE_ITEM LLVM_LIBRARIES "-lzstd") | |
| 150 | 150 | endif() |
| 151 | 151 | |
| 152 | 152 | find_library(ZSTD NAMES libzstd.a libzstdstatic.a zstd NAMES_PER_DIR) |
| ... | ... | @@ -154,7 +154,7 @@ if(ZIG_STATIC_ZSTD) |
| 154 | 154 | endif() |
| 155 | 155 | |
| 156 | 156 | if(APPLE AND ZIG_STATIC) |
| 157 | list(REMOVE_ITEM LLVM_SYSTEM_LIBRARIES "-lcurses") | |
| 157 | list(REMOVE_ITEM LLVM_LIBRARIES "-lcurses") | |
| 158 | 158 | find_library(CURSES NAMES libcurses.a libncurses.a NAMES_PER_DIR |
| 159 | 159 | PATHS |
| 160 | 160 | /usr/local/opt/ncurses/lib |
| ... | ... | @@ -710,7 +710,6 @@ target_link_libraries(zigcpp LINK_PUBLIC |
| 710 | 710 | ${CLANG_LIBRARIES} |
| 711 | 711 | ${LLD_LIBRARIES} |
| 712 | 712 | ${LLVM_LIBRARIES} |
| 713 | ${LLVM_SYSTEM_LIBRARIES} | |
| 714 | 713 | ${CMAKE_THREAD_LIBS_INIT} |
| 715 | 714 | ) |
| 716 | 715 |
build.zig+2-31| ... | ... | @@ -552,8 +552,6 @@ fn addCmakeCfgOptionsToExe( |
| 552 | 552 | addCMakeLibraryList(exe, cfg.clang_libraries); |
| 553 | 553 | addCMakeLibraryList(exe, cfg.lld_libraries); |
| 554 | 554 | addCMakeLibraryList(exe, cfg.llvm_libraries); |
| 555 | addCMakeSystemLibraryList(exe, cfg.clang_system_libraries); | |
| 556 | addCMakeSystemLibraryList(exe, cfg.llvm_system_libraries); | |
| 557 | 555 | |
| 558 | 556 | if (use_zig_libcxx) { |
| 559 | 557 | exe.linkLibCpp(); |
| ... | ... | @@ -683,29 +681,14 @@ fn addCMakeLibraryList(exe: *std.build.LibExeObjStep, list: []const u8) void { |
| 683 | 681 | while (it.next()) |lib| { |
| 684 | 682 | if (mem.startsWith(u8, lib, "-l")) { |
| 685 | 683 | exe.linkSystemLibrary(lib["-l".len..]); |
| 684 | } else if (exe.target.isWindows() and mem.endsWith(u8, lib, ".lib") and !fs.path.isAbsolute(lib)) { | |
| 685 | exe.linkSystemLibrary(lib[0 .. lib.len - ".lib".len]); | |
| 686 | 686 | } else { |
| 687 | 687 | exe.addObjectFile(lib); |
| 688 | 688 | } |
| 689 | 689 | } |
| 690 | 690 | } |
| 691 | 691 | |
| 692 | fn addCMakeSystemLibraryList(exe: *std.build.LibExeObjStep, list: []const u8) void { | |
| 693 | var it = mem.tokenize(u8, list, ";"); | |
| 694 | while (it.next()) |lib| { | |
| 695 | var start_offset: usize = 0; | |
| 696 | var end_offset: usize = 0; | |
| 697 | if (mem.startsWith(u8, lib, "-l")) { | |
| 698 | start_offset = "-l".len; | |
| 699 | } | |
| 700 | ||
| 701 | if (exe.target.isWindows() and mem.endsWith(u8, lib, ".lib")) { | |
| 702 | end_offset = ".lib".len; | |
| 703 | } | |
| 704 | ||
| 705 | exe.linkSystemLibrary(lib[start_offset .. lib.len - end_offset]); | |
| 706 | } | |
| 707 | } | |
| 708 | ||
| 709 | 692 | const CMakeConfig = struct { |
| 710 | 693 | llvm_linkage: std.build.LibExeObjStep.Linkage, |
| 711 | 694 | cmake_binary_dir: []const u8, |
| ... | ... | @@ -716,11 +699,9 @@ const CMakeConfig = struct { |
| 716 | 699 | lld_include_dir: []const u8, |
| 717 | 700 | lld_libraries: []const u8, |
| 718 | 701 | clang_libraries: []const u8, |
| 719 | clang_system_libraries: []const u8, | |
| 720 | 702 | llvm_lib_dir: []const u8, |
| 721 | 703 | llvm_include_dir: []const u8, |
| 722 | 704 | llvm_libraries: []const u8, |
| 723 | llvm_system_libraries: []const u8, | |
| 724 | 705 | dia_guids_lib: []const u8, |
| 725 | 706 | }; |
| 726 | 707 | |
| ... | ... | @@ -783,11 +764,9 @@ fn parseConfigH(b: *Builder, config_h_text: []const u8) ?CMakeConfig { |
| 783 | 764 | .lld_include_dir = undefined, |
| 784 | 765 | .lld_libraries = undefined, |
| 785 | 766 | .clang_libraries = undefined, |
| 786 | .clang_system_libraries = undefined, | |
| 787 | 767 | .llvm_lib_dir = undefined, |
| 788 | 768 | .llvm_include_dir = undefined, |
| 789 | 769 | .llvm_libraries = undefined, |
| 790 | .llvm_system_libraries = undefined, | |
| 791 | 770 | .dia_guids_lib = undefined, |
| 792 | 771 | }; |
| 793 | 772 | |
| ... | ... | @@ -824,18 +803,10 @@ fn parseConfigH(b: *Builder, config_h_text: []const u8) ?CMakeConfig { |
| 824 | 803 | .prefix = "#define ZIG_CLANG_LIBRARIES ", |
| 825 | 804 | .field = "clang_libraries", |
| 826 | 805 | }, |
| 827 | .{ | |
| 828 | .prefix = "#define ZIG_CLANG_SYSTEM_LIBRARIES ", | |
| 829 | .field = "clang_system_libraries", | |
| 830 | }, | |
| 831 | 806 | .{ |
| 832 | 807 | .prefix = "#define ZIG_LLVM_LIBRARIES ", |
| 833 | 808 | .field = "llvm_libraries", |
| 834 | 809 | }, |
| 835 | .{ | |
| 836 | .prefix = "#define ZIG_LLVM_SYSTEM_LIBRARIES ", | |
| 837 | .field = "llvm_system_libraries", | |
| 838 | }, | |
| 839 | 810 | .{ |
| 840 | 811 | .prefix = "#define ZIG_DIA_GUIDS_LIB ", |
| 841 | 812 | .field = "dia_guids_lib", |
cmake/Findclang.cmake+1-2| ... | ... | @@ -5,7 +5,6 @@ |
| 5 | 5 | # CLANG_FOUND |
| 6 | 6 | # CLANG_INCLUDE_DIRS |
| 7 | 7 | # CLANG_LIBRARIES |
| 8 | # CLANG_SYSTEM_LIBRARIES | |
| 9 | 8 | # CLANG_LIBDIRS |
| 10 | 9 | |
| 11 | 10 | find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h |
| ... | ... | @@ -70,7 +69,7 @@ else() |
| 70 | 69 | endif() |
| 71 | 70 | |
| 72 | 71 | if (MSVC) |
| 73 | set(CLANG_SYSTEM_LIBRARIES "version.lib") | |
| 72 | set(CLANG_LIBRARIES ${CLANG_LIBRARIES} "version.lib") | |
| 74 | 73 | endif() |
| 75 | 74 | |
| 76 | 75 | include(FindPackageHandleStandardArgs) |
cmake/Findllvm.cmake+3-8| ... | ... | @@ -5,7 +5,6 @@ |
| 5 | 5 | # LLVM_FOUND |
| 6 | 6 | # LLVM_INCLUDE_DIRS |
| 7 | 7 | # LLVM_LIBRARIES |
| 8 | # LLVM_SYSTEM_LIBRARIES | |
| 9 | 8 | # LLVM_LIBDIRS |
| 10 | 9 | # LLVM_LINK_MODE |
| 11 | 10 | |
| ... | ... | @@ -173,9 +172,9 @@ if(ZIG_USE_LLVM_CONFIG) |
| 173 | 172 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 174 | 173 | string(REPLACE " " ";" LLVM_STATIC_SYSTEM_LIBS "${LLVM_STATIC_SYSTEM_LIBS_SPACES}") |
| 175 | 174 | |
| 176 | set(LLVM_SYSTEM_LIBRARIES ${LLVM_SYSTEM_LIBS} ${LLVM_STATIC_SYSTEM_LIBS}) | |
| 175 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS} ${LLVM_STATIC_SYSTEM_LIBS}) | |
| 177 | 176 | else() |
| 178 | set(LLVM_SYSTEM_LIBRARIES ${LLVM_SYSTEM_LIBS}) | |
| 177 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) | |
| 179 | 178 | endif() |
| 180 | 179 | |
| 181 | 180 | execute_process( |
| ... | ... | @@ -370,11 +369,7 @@ else() |
| 370 | 369 | find_path(LLVM_INCLUDE_DIRS NAMES llvm/IR/IRBuilder.h) |
| 371 | 370 | endif() |
| 372 | 371 | |
| 373 | if(NOT LLVM_SYSTEM_LIBRARIES) | |
| 374 | set(LLVM_SYSTEM_LIBRARIES "") | |
| 375 | endif() | |
| 376 | ||
| 377 | 372 | include(FindPackageHandleStandardArgs) |
| 378 | 373 | find_package_handle_standard_args(llvm DEFAULT_MSG LLVM_LIBRARIES LLVM_INCLUDE_DIRS) |
| 379 | 374 | |
| 380 | mark_as_advanced(LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_SYSTEM_LIBRARIES LLVM_LIBDIRS) | |
| 375 | mark_as_advanced(LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_LIBDIRS) |
stage1/config.h.in-2| ... | ... | @@ -16,7 +16,6 @@ |
| 16 | 16 | |
| 17 | 17 | // Used by build.zig for communicating build information to self hosted build. |
| 18 | 18 | #define ZIG_CLANG_LIBRARIES "@CLANG_LIBRARIES@" |
| 19 | #define ZIG_CLANG_SYSTEM_LIBRARIES "@CLANG_SYSTEM_LIBRARIES@" | |
| 20 | 19 | #define ZIG_CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@" |
| 21 | 20 | #define ZIG_CMAKE_PREFIX_PATH "@ZIG_CMAKE_PREFIX_PATH@" |
| 22 | 21 | #define ZIG_CMAKE_STATIC_LIBRARY_PREFIX "@CMAKE_STATIC_LIBRARY_PREFIX@" |
| ... | ... | @@ -29,6 +28,5 @@ |
| 29 | 28 | #define ZIG_LLVM_LIBRARIES "@LLVM_LIBRARIES@" |
| 30 | 29 | #define ZIG_LLVM_LIB_PATH "@LLVM_LIBDIRS@" |
| 31 | 30 | #define ZIG_LLVM_LINK_MODE "@LLVM_LINK_MODE@" |
| 32 | #define ZIG_LLVM_SYSTEM_LIBRARIES "@LLVM_SYSTEM_LIBRARIES@" | |
| 33 | 31 | |
| 34 | 32 | #endif |