From 505860911a562f25a8ada1bc294786c3a63b848f Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 15 Feb 2022 15:47:45 -0500 Subject: Add OSX LLVM JIT support (#2130) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes. Added compiler crash with generic defined in a function. Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint. * Add comment about crash. * Disable crashing test. * Fixes to make compile on OSX. * Add github build for OSX. * Make premake generator a utility. * Fix osx compilation issue. * More fixes for OSX build. * OSX fix due to ambiguity around size_t and integer types. * Disable xlib on build on osx. * Use 'prebuildcommands' to make prebuild make utility projects do something. * Small fixes for premake so utility works on linux/osx. * Another hack to try and make generators run when 'utility' * Fix typo in macos.yml. * Revert premake to old style, and disable stdlib embedding on OSX. * OSX testing. * Fix pipe handling for OSX. * Enable testing on OSX. * Small fix because uname -p is not x64 on darwin. * Use glslang from slang-binaries for OSX. * Add slang-llvm on OSX. * Upgrade slang-llvm. * Update slang-llvm for OSX JIT fix. * slang llvm 26 * Upgrade slang-llvm. * Use slangUtil to get shared library filename. * Use fixed slang-binaries. * Another small fix. * Rename linux build for clarity. --- premake5.lua | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'premake5.lua') diff --git a/premake5.lua b/premake5.lua index cbe062617..d5a9d102a 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1333,36 +1333,21 @@ newoption { local slangLLVMPath = deps:getProjectRelativePath("slang-llvm", "../../..") if slangLLVMPath then - - filter { "system:windows" } - postbuildcommands { - "{COPY} " .. slangLLVMPath .."/bin/" .. targetName .. "/release/slang-llvm.dll %{cfg.targetdir}" - } - - filter { "system:linux" } + filter { "system:linux or macosx or windows" } + local sharedLibName = slangUtil.getSharedLibraryFileName(targetInfo, "slang-llvm") postbuildcommands { - "{COPY} " .. slangLLVMPath .. "/bin/" .. targetName .. "/release/libslang-llvm.so %{cfg.targetdir}" + "{COPY} " .. slangLLVMPath .."/bin/" .. targetName .. "/release/" .. sharedLibName .. " %{cfg.targetdir}" } end -- If we are not building glslang from source, then be -- sure to copy a binary copy over to the output directory if not buildGlslang then - filter { "system:windows" } - postbuildcommands { - "{COPY} ../../../external/slang-binaries/bin/" .. targetName .. "/slang-glslang.dll %{cfg.targetdir}" - } - - filter { "system:linux" } - postbuildcommands { - "{COPY} ../../../external/slang-binaries/bin/" .. targetName .. "/libslang-glslang.so %{cfg.targetdir}" - } - - filter { "system:macosx" } + filter { "system:linux or macosx or windows" } + local sharedLibName = slangUtil.getSharedLibraryFileName(targetInfo, "slang-glslang") postbuildcommands { - "{COPY} ../../../external/slang-binaries/bin/" .. targetName .. "/libslang-glslang.dylib %{cfg.targetdir}" - } - + "{COPY} ../../../external/slang-binaries/bin/" .. targetName .. "/" .. sharedLibName .. " %{cfg.targetdir}" + } end filter {"configurations:debug"} -- cgit v1.2.3