update swig (#1840)

* update swig

* update freeglut

* update dav1d

* fix arm64 freeglut

* fix swig

* fix dav1d
pull/1848/head
Hoildkv 2 years ago committed by GitHub
parent 95640f3b61
commit e87ebadb4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      packages/d/dav1d/xmake.lua
  2. 31
      packages/f/freeglut/patches/3.2.1/gcc10.patch
  3. 17
      packages/f/freeglut/patches/3.4.0/arm64.patch
  4. 19
      packages/f/freeglut/xmake.lua
  5. 31
      packages/s/swig/xmake.lua

@ -6,20 +6,26 @@ package("dav1d")
add_urls("https://downloads.videolan.org/pub/videolan/dav1d/$(version)/dav1d-$(version).tar.xz")
add_versions("0.9.0", "cfae88e8067c9b2e5b96d95a7a00155c353376fe9b992a96b4336e0eab19f9f6")
add_versions("1.1.0", "fb57aae7875f28c30fb3dbae4a3683d27e2f91dde09ce5c60c22cef9bc58dfd1")
add_deps("nasm", "meson")
add_deps("nasm", "meson", "ninja")
if is_plat("linux") then
add_syslinks("pthread", "dl")
end
on_install("windows", "macosx", "linux|x86_64", function (package)
local configs = {"--libdir=lib", "-Denable_tests=false"}
local configs = {"-Denable_tests=false"}
table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
if package:is_plat("windows") and package:is_cross() then
table.insert(configs, "-Denable_asm=false") -- arm asm requires bash and gas-preprocessor
end
import("package.tools.meson").install(package, configs)
package:addenv("PATH", "bin")
end)
on_test(function (package)
os.vrun("dav1d -v")
if not package:is_cross() then
os.vrun("dav1d -v")
end
assert(package:has_cfuncs("dav1d_default_settings", {includes = "dav1d/dav1d.h"}))
end)

@ -1,31 +0,0 @@
diff --git a/src/fg_gl2.h b/src/fg_gl2.h
index ab8ba5c..a1a52da 100644
--- a/src/fg_gl2.h
+++ b/src/fg_gl2.h
@@ -67,12 +67,18 @@
typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
-FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
-FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
-FGH_PFNGLBUFFERDATAPROC fghBufferData;
-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
+#if __GNUC__ > 9
+#define FG_ATTRIBUTE_COMMON __attribute__((__common__))
+#else
+#define FG_ATTRIBUTE_COMMON
+#endif
+
+FGH_PFNGLGENBUFFERSPROC FG_ATTRIBUTE_COMMON fghGenBuffers;
+FGH_PFNGLDELETEBUFFERSPROC FG_ATTRIBUTE_COMMON fghDeleteBuffers;
+FGH_PFNGLBINDBUFFERPROC FG_ATTRIBUTE_COMMON fghBindBuffer;
+FGH_PFNGLBUFFERDATAPROC FG_ATTRIBUTE_COMMON fghBufferData;
+FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC FG_ATTRIBUTE_COMMON fghEnableVertexAttribArray;
+FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC FG_ATTRIBUTE_COMMON fghDisableVertexAttribArray;
+FGH_PFNGLVERTEXATTRIBPOINTERPROC FG_ATTRIBUTE_COMMON fghVertexAttribPointer;
# endif

@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 832d8672..9e6cfcb6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -447,7 +447,11 @@ IF(WIN32)
# doesn't hurt for older compilers:
# http://public.kitware.com/Bug/view.php?id=11240#c22768
IF (CMAKE_CL_64)
- SET_TARGET_PROPERTIES(freeglut_static PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
+ IF ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ARM64")
+ SET_TARGET_PROPERTIES(freeglut_static PROPERTIES STATIC_LIBRARY_FLAGS "/machine:ARM64")
+ ELSE()
+ SET_TARGET_PROPERTIES(freeglut_static PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
+ ENDIF()
ENDIF()
ENDIF()
ELSE()

@ -4,16 +4,13 @@ package("freeglut")
set_description("A free-software/open-source alternative to the OpenGL Utility Toolkit (GLUT) library.")
set_license("MIT")
set_urls("https://github.com/FreeGLUTProject/freeglut/releases/download/v$(version)/freeglut-$(version).tar.gz")
add_versions("3.0.0", "2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2")
add_versions("3.2.1", "d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68")
add_versions("3.2.2", "c5944a082df0bba96b5756dddb1f75d0cd72ce27b5395c6c1dde85c2ff297a50")
add_urls("https://github.com/FreeGLUTProject/freeglut/archive/refs/tags/$(version).zip",
"https://github.com/FreeGLUTProject/freeglut.git")
add_versions("v3.4.0", "8aed768c71dd5ec0676216bc25e23fa928cc628c82e54ecca261385ccfcee93a")
add_patches("3.2.1", path.join(os.scriptdir(), "patches", "3.2.1", "gcc10.patch"), "26cf5026249c9e288080a75a1e9b40b3fa74a4048321cc93907f1476c5a6508b")
add_patches("v3.4.0", path.join(os.scriptdir(), "patches", "3.4.0", "arm64.patch"), "a96b538e218ca478c7678aad62b724226dcdf11371da58d1287b95dbe241d00e")
if is_plat("linux", "windows") then
add_deps("cmake")
end
add_deps("cmake")
if is_plat("linux") then
add_deps("libx11", "libxi", "libxxf86vm", "libxrandr", "libxrender")
@ -50,6 +47,12 @@ package("freeglut")
else
table.insert(configs, "-DCMAKE_C_FLAGS=-DFREEGLUT_LIB_PRAGMAS=0 -DFREEGLUT_STATIC=1")
end
if package:is_arch("arm64") then
local vs = import("core.tool.toolchain").load("msvc"):config("vs")
assert(tonumber(vs) >= 2022, "freeglut requires Visual Studio 2022 and later for arm targets")
table.insert(configs, "-DCMAKE_SYSTEM_NAME=Windows")
table.insert(configs, "-DCMAKE_SYSTEM_PROCESSOR=ARM64")
end
end
if package:config("pic") ~= false then
table.insert(configs, "-DCMAKE_POSITION_INDEPENDENT_CODE=ON")

@ -8,14 +8,26 @@ package("swig")
if is_host("windows") then
add_urls("https://sourceforge.net/projects/swig/files/swigwin/swigwin-$(version)/swigwin-$(version).zip")
add_versions("4.0.2", "daadb32f19fe818cb9b0015243233fc81584844c11a48436385e87c050346559")
add_versions("4.1.1", "2ec3107e24606db535d77ef3dbf246dc6eccbf1d5c868dce365d7f7fb19a1a51")
else
add_urls("https://sourceforge.net/projects/swig/files/swig/swig-$(version)/swig-$(version).tar.gz")
add_versions("4.0.2", "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc")
add_versions("4.1.1", "2af08aced8fcd65cdb5cc62426768914bedc735b1c250325203716f78e39ac9b")
end
if is_host("macosx", "linux") then
add_deps("pcre", {host = true})
end
on_load("@macosx", "@linux", function (package)
if package:version():ge("4.1") then
package:add("deps", "pcre2", {host = true})
else
package:add("deps", "pcre", {host = true})
end
end)
on_fetch(function (package, opt)
if opt.system then
return package:find_tool("swig")
end
end)
on_install("@windows", function (package)
os.cp("*|Doc|Examples", package:installdir())
@ -24,9 +36,16 @@ package("swig")
on_install("@macosx", "@linux", function (package)
local configs = {}
local pcre = package:dep("pcre")
if pcre and not pcre:is_system() then
table.insert(configs, "--with-pcre-prefix=" .. pcre:installdir())
if package:version():ge("4.1") then
local pcre2 = package:dep("pcre2")
if pcre2 and not pcre2:is_system() then
table.insert(configs, "--with-pcre2-prefix=" .. pcre2:installdir())
end
else
local pcre = package:dep("pcre")
if pcre and not pcre:is_system() then
table.insert(configs, "--with-pcre-prefix=" .. pcre:installdir())
end
end
import("package.tools.autoconf").install(package, configs)
end)

Loading…
Cancel
Save