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