diff -r c1e8ee6bd379 genie.lua --- a/genie.lua Fri May 10 21:14:23 2019 +0200 +++ b/genie.lua Sat May 11 15:21:26 2019 +0200 @@ -88,6 +88,10 @@ .. " engine passes option objcarcopts coverage support lto coroutines" .. " webassembly") local LLVM_INCLUDEDIR = pkg_config(LLVM_CONFIG .. " --includedir") +local CLANG_INCLUDEDIR = pkg_config(LLVM_CONFIG .. " --prefix")[1] + .. "/lib/clang/" + .. pkg_config(LLVM_CONFIG .. " --version")[1] + .. "/include" if not os.is("windows") then premake.gcc.cxx = CLANG_CXX @@ -203,7 +207,6 @@ includedirs { "external/linenoise-ng/include", "external", - "SPIRV-Tools/include", "include", "." } @@ -217,6 +220,7 @@ targetdir "bin" defines { "SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS", + "CLANG_INCLUDE_DIR=\"" .. CLANG_INCLUDEDIR .. "\"", "SCOPESRT_IMPL" } @@ -277,8 +281,8 @@ --"-Wl,--export-dynamic", --"-rdynamic", - THISDIR .. "/SPIRV-Tools/build/source/opt/libSPIRV-Tools-opt.a", - THISDIR .. "/SPIRV-Tools/build/source/libSPIRV-Tools.a" + "-lSPIRV-Tools-opt", + "-lSPIRV-Tools" } linkoptions(LLVM_LDFLAGS) linkoptions { @@ -368,8 +372,8 @@ "-Wl,--stack,8388608" } linkoptions { - THISDIR .. "/SPIRV-Tools/build/source/opt/libSPIRV-Tools-opt.a", - THISDIR .. "/SPIRV-Tools/build/source/libSPIRV-Tools.a" + "-lSPIRV-Tools-opt", + "-lSPIRV-Tools" } linkoptions(LLVM_LDFLAGS) linkoptions { @@ -438,8 +442,8 @@ } linkoptions { - THISDIR .. "/SPIRV-Tools/build/source/opt/libSPIRV-Tools-opt.a", - THISDIR .. "/SPIRV-Tools/build/source/libSPIRV-Tools.a" + "-lSPIRV-Tools-opt", + "-lSPIRV-Tools" } linkoptions(LLVM_LDFLAGS) diff -r c1e8ee6bd379 src/boot.cpp --- a/src/boot.cpp Fri May 10 21:14:23 2019 +0200 +++ b/src/boot.cpp Sat May 11 15:21:26 2019 +0200 @@ -231,7 +231,11 @@ char *path_copy = strdup(scopes_compiler_path); scopes_compiler_dir = format("%s/..", dirname(path_copy))->data; free(path_copy); +#ifdef CLANG_INCLUDE_DIR + scopes_clang_include_dir = CLANG_INCLUDE_DIR; +#else scopes_clang_include_dir = format("%s/lib/clang/include", scopes_compiler_dir)->data; +#endif scopes_include_dir = format("%s/include", scopes_compiler_dir)->data; }