authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-01-04 22:46:26-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-01-04 22:46:26-05:00
log1b120d1e49106d0683cc3e6ed766fd8534f798f2
treec5de4b08751a74fff80735b7f76fa9ac505e8bb9
parent21a552682ef51b03648c5b5a47de2f623bd71cfd

update windows build to llvm 5.0.1

llvm-config.exe does not handle diaguids.lib for us so we have to duplicate the work.

5 files changed, 23 insertions(+), 4 deletions(-)

CMakeLists.txt+12
...@@ -570,6 +570,14 @@ set(ZIG_C_HEADER_FILES...@@ -570,6 +570,14 @@ set(ZIG_C_HEADER_FILES
570 "xtestintrin.h"570 "xtestintrin.h"
571)571)
572572
573if(MSVC)
574 set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK")
575 if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR})
576 set(ZIG_DIA_GUIDS_LIB "${MSVC_DIA_SDK_DIR}/lib/amd64/diaguids.lib")
577 string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_DIA_GUIDS_LIB_ESCAPED "${ZIG_DIA_GUIDS_LIB}")
578 endif()
579endif()
580
573set(ZIG_LIB_DIR "lib/zig")581set(ZIG_LIB_DIR "lib/zig")
574set(C_HEADERS_DEST "${ZIG_LIB_DIR}/include")582set(C_HEADERS_DEST "${ZIG_LIB_DIR}/include")
575set(ZIG_STD_DEST "${ZIG_LIB_DIR}/std")583set(ZIG_STD_DEST "${ZIG_LIB_DIR}/std")
...@@ -631,6 +639,10 @@ target_link_libraries(zig LINK_PUBLIC...@@ -631,6 +639,10 @@ target_link_libraries(zig LINK_PUBLIC
631 ${LLVM_LIBRARIES}639 ${LLVM_LIBRARIES}
632 ${CMAKE_THREAD_LIBS_INIT}640 ${CMAKE_THREAD_LIBS_INIT}
633)641)
642if(ZIG_DIA_GUIDS_LIB)
643 target_link_libraries(zig LINK_PUBLIC ${ZIG_DIA_GUIDS_LIB})
644endif()
645
634if(MSVC OR MINGW)646if(MSVC OR MINGW)
635 target_link_libraries(zig LINK_PUBLIC version)647 target_link_libraries(zig LINK_PUBLIC version)
636endif()648endif()
build.zig+5
...@@ -45,6 +45,7 @@ pub fn build(b: &Builder) {...@@ -45,6 +45,7 @@ pub fn build(b: &Builder) {
45 const lld_libraries = nextValue(&index, build_info);45 const lld_libraries = nextValue(&index, build_info);
46 const std_files = nextValue(&index, build_info);46 const std_files = nextValue(&index, build_info);
47 const c_header_files = nextValue(&index, build_info);47 const c_header_files = nextValue(&index, build_info);
48 const dia_guids_lib = nextValue(&index, build_info);
4849
49 const llvm = findLLVM(b, llvm_config_exe);50 const llvm = findLLVM(b, llvm_config_exe);
5051
...@@ -76,6 +77,10 @@ pub fn build(b: &Builder) {...@@ -76,6 +77,10 @@ pub fn build(b: &Builder) {
76 exe.linkSystemLibrary("c++");77 exe.linkSystemLibrary("c++");
77 }78 }
7879
80 if (dia_guids_lib.len != 0) {
81 exe.addObjectFile(dia_guids_lib);
82 }
83
79 exe.linkSystemLibrary("c");84 exe.linkSystemLibrary("c");
8085
81 b.default_step.dependOn(&exe.step);86 b.default_step.dependOn(&exe.step);
ci/appveyor/build_script.bat+2-2
...@@ -7,13 +7,13 @@ SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%"...@@ -7,13 +7,13 @@ SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%"
7SET "MSYSTEM=MINGW64"7SET "MSYSTEM=MINGW64"
8SET "APPVEYOR_CACHE_ENTRY_ZIP_ARGS=-m0=Copy"8SET "APPVEYOR_CACHE_ENTRY_ZIP_ARGS=-m0=Copy"
99
10bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && if [ -s ""llvm+clang-5.0.0-win64-msvc-release.tar.xz"" ]; then echo 'skipping LLVM download'; else wget 'https://s3.amazonaws.com/superjoe/temp/llvm%%2bclang-5.0.0-win64-msvc-release.tar.xz'; fi && tar xf llvm+clang-5.0.0-win64-msvc-release.tar.xz" || exit /b10bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && if [ -s ""llvm+clang-5.0.1-win64-msvc-release.tar.xz"" ]; then echo 'skipping LLVM download'; else wget 'https://s3.amazonaws.com/ziglang.org/deps/llvm%%2bclang-5.0.1-win64-msvc-release.tar.xz'; fi && tar xf llvm+clang-5.0.1-win64-msvc-release.tar.xz" || exit /b
1111
1212
13SET "PATH=%PREVPATH%"13SET "PATH=%PREVPATH%"
14SET "MSYSTEM=%PREVMSYSTEM%"14SET "MSYSTEM=%PREVMSYSTEM%"
15SET "ZIGBUILDDIR=%APPVEYOR_BUILD_FOLDER%\build-msvc-release"15SET "ZIGBUILDDIR=%APPVEYOR_BUILD_FOLDER%\build-msvc-release"
16SET "ZIGPREFIXPATH=%APPVEYOR_BUILD_FOLDER%\llvm+clang-5.0.0-win64-msvc-release"16SET "ZIGPREFIXPATH=%APPVEYOR_BUILD_FOLDER%\llvm+clang-5.0.1-win64-msvc-release"
1717
18mkdir %ZIGBUILDDIR%18mkdir %ZIGBUILDDIR%
19cd %ZIGBUILDDIR%19cd %ZIGBUILDDIR%
src/config.h.in+1
...@@ -32,5 +32,6 @@...@@ -32,5 +32,6 @@
32#define ZIG_LLVM_CONFIG_EXE "@LLVM_CONFIG_EXE@"32#define ZIG_LLVM_CONFIG_EXE "@LLVM_CONFIG_EXE@"
33#define ZIG_STD_FILES "@ZIG_STD_FILES@"33#define ZIG_STD_FILES "@ZIG_STD_FILES@"
34#define ZIG_C_HEADER_FILES "@ZIG_C_HEADER_FILES@"34#define ZIG_C_HEADER_FILES "@ZIG_C_HEADER_FILES@"
35#define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@"
3536
36#endif37#endif
src/main.cpp+3-2
...@@ -267,14 +267,15 @@ static void add_package(CodeGen *g, CliPkg *cli_pkg, PackageTableEntry *pkg) {...@@ -267,14 +267,15 @@ static void add_package(CodeGen *g, CliPkg *cli_pkg, PackageTableEntry *pkg) {
267267
268int main(int argc, char **argv) {268int main(int argc, char **argv) {
269 if (argc == 2 && strcmp(argv[1], "BUILD_INFO") == 0) {269 if (argc == 2 && strcmp(argv[1], "BUILD_INFO") == 0) {
270 printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n",270 printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
271 ZIG_CMAKE_BINARY_DIR,271 ZIG_CMAKE_BINARY_DIR,
272 ZIG_CXX_COMPILER,272 ZIG_CXX_COMPILER,
273 ZIG_LLVM_CONFIG_EXE,273 ZIG_LLVM_CONFIG_EXE,
274 ZIG_LLD_INCLUDE_PATH,274 ZIG_LLD_INCLUDE_PATH,
275 ZIG_LLD_LIBRARIES,275 ZIG_LLD_LIBRARIES,
276 ZIG_STD_FILES,276 ZIG_STD_FILES,
277 ZIG_C_HEADER_FILES);277 ZIG_C_HEADER_FILES,
278 ZIG_DIA_GUIDS_LIB);
278 return 0;279 return 0;
279 }280 }
280281