Skip to content

Commit 18a07fe

Browse files
authored
Merge branch 'main' into add-sse2-fillers
2 parents 91d0190 + 68685f4 commit 18a07fe

File tree

147 files changed

+5250
-3969
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+5250
-3969
lines changed

.github/workflows/build-debian-multiarch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
- uses: actions/checkout@v4.1.1
5151

5252
- name: Build sources and run tests
53-
uses: uraimo/run-on-arch-action@v2.5.1
53+
uses: uraimo/run-on-arch-action@v2.6.0
5454
id: build
5555
with:
5656
arch: ${{ matrix.arch }}

.github/workflows/build-manylinux.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,14 @@ jobs:
9595

9696
- name: Extract metadata (tags, labels) for Docker
9797
id: meta
98-
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934
98+
uses: docker/metadata-action@e6428a5c4e294a61438ed7f43155db912025b6b3
9999
with:
100100
images: ghcr.io/${{ github.repository }}_${{ matrix.arch }}
101101
tags: type=raw,value=${{ hashFiles('buildconfig/manylinux-build/**') }}
102102

103103
- name: Build and push Docker image
104104
if: steps.inspect.outcome == 'failure'
105-
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09
105+
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56
106106
with:
107107
context: ${{ github.workspace }}/buildconfig/manylinux-build/docker_base
108108
file: ${{ github.workspace }}/buildconfig/manylinux-build/docker_base/Dockerfile-${{ matrix.arch }}

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ Dependency versions:
140140
+----------+------------------------+
141141
| CPython | >= 3.8 (Or use PyPy3) |
142142
+----------+------------------------+
143-
| SDL | >= 2.0.9 |
143+
| SDL | >= 2.0.10 |
144144
+----------+------------------------+
145145
| SDL_mixer| >= 2.0.4 |
146146
+----------+------------------------+

buildconfig/config_msys2.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,8 @@ def hunt_dll(self, search_paths, root):
269269
return True
270270
return False
271271

272-
class DependencyDummy:
272+
273+
class DependencyPlaceholder:
273274
def __init__(self, name):
274275
self.name = name
275276
self.inc_dir = None
@@ -281,6 +282,7 @@ def __init__(self, name):
281282
def configure(self):
282283
pass
283284

285+
284286
class DependencyWin:
285287
def __init__(self, name, cflags):
286288
self.name = name
@@ -329,8 +331,8 @@ def add_dll(self, dll_regex, lib=None, wildcards=None, libs=None, link_lib=None)
329331
self.dlls.append(dep)
330332
return dep
331333

332-
def add_dummy(self, name):
333-
self.dependencies.append(DependencyDummy(name))
334+
def add_placeholder(self, name):
335+
self.dependencies.append(DependencyPlaceholder(name))
334336

335337
def find(self, name):
336338
for dep in self:
@@ -410,7 +412,7 @@ def setup_prebuilt_sdl2(prebuilt_dir):
410412
['SDL', 'vorbisfile'])
411413
DEPS.add('PORTMIDI', 'portmidi', ['portmidi'], r'(lib){0,1}portmidi\.dll$', find_header=r'portmidi\.h')
412414
# #DEPS.add('PORTTIME', 'porttime', ['porttime'], r'porttime\.dll$')
413-
DEPS.add_dummy('PORTTIME')
415+
DEPS.add_placeholder('PORTTIME')
414416

415417
# force use of the correct freetype DLL
416418
ftDep = DEPS.add('FREETYPE', 'freetype', ['SDL2_ttf-[2-9].*', 'freetype-[1-9].*'], r'(lib)?freetype[-0-9]*\.dll$',

buildconfig/config_win.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ def hunt_dll(self, search_paths, root):
252252
return True
253253
return False
254254

255-
class DependencyDummy:
255+
256+
class DependencyPlaceholder:
256257
def __init__(self, name):
257258
self.name = name
258259
self.inc_dir = None
@@ -264,6 +265,7 @@ def __init__(self, name):
264265
def configure(self):
265266
pass
266267

268+
267269
class DependencyWin:
268270
def __init__(self, name, cflags):
269271
self.name = name
@@ -312,8 +314,8 @@ def add_dll(self, dll_regex, lib=None, wildcards=None, libs=None, link_lib=None)
312314
self.dlls.append(dep)
313315
return dep
314316

315-
def add_dummy(self, name):
316-
self.dependencies.append(DependencyDummy(name))
317+
def add_placeholder(self, name):
318+
self.dependencies.append(DependencyPlaceholder(name))
317319

318320
def find(self, name):
319321
for dep in self:
@@ -371,7 +373,7 @@ def setup():
371373
DEPS.add('SDL', 'SDL2', ['SDL2-[1-9].*'], r'(lib){0,1}SDL2\.dll$', required=1)
372374
DEPS.add('PORTMIDI', 'portmidi', ['portmidi'], r'portmidi\.dll$', find_header=r'portmidi\.h')
373375
#DEPS.add('PORTTIME', 'porttime', ['porttime'], r'porttime\.dll$')
374-
DEPS.add_dummy('PORTTIME')
376+
DEPS.add_placeholder('PORTTIME')
375377
DEPS.add('MIXER', 'SDL2_mixer', ['SDL2_mixer-[1-9].*'], r'(lib){0,1}SDL2_mixer\.dll$',
376378
['SDL'])
377379
DEPS.add('PNG', 'png', ['SDL2_image-[2-9].*', 'libpng-[1-9].*'], r'(png|libpng)[-0-9]*\.dll$', ['z'],
@@ -413,7 +415,7 @@ def setup_prebuilt_sdl2(prebuilt_dir):
413415
['SDL'])
414416
DEPS.add('PORTMIDI', 'portmidi', ['portmidi'], r'portmidi\.dll$', find_header=r'portmidi\.h')
415417
#DEPS.add('PORTTIME', 'porttime', ['porttime'], r'porttime\.dll$')
416-
DEPS.add_dummy('PORTTIME')
418+
DEPS.add_placeholder('PORTTIME')
417419
DEPS.configure()
418420

419421
DEPS.add('FREETYPE', 'freetype', ['freetype'], r'freetype[-0-9]*\.dll$',

buildconfig/download_win_prebuilt.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ def get_urls(x86=True, x64=True):
7878
url_sha1 = []
7979
url_sha1.extend([
8080
[
81-
'https://github.com/libsdl-org/SDL/releases/download/release-2.26.5/SDL2-devel-2.26.5-VC.zip',
82-
'f040c352af677161200ec07463efe8d1325135e4',
81+
'https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-devel-2.28.5-VC.zip',
82+
'7469e9ea44d30a48b0510328cd94b25596e0aa0f',
8383
],
8484
[
8585
'https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip',
@@ -234,12 +234,12 @@ def copy(src, dst):
234234
copy(
235235
os.path.join(
236236
temp_dir,
237-
'SDL2-devel-2.26.5-VC/SDL2-2.26.5'
237+
'SDL2-devel-2.28.5-VC/SDL2-2.28.5'
238238
),
239239
os.path.join(
240240
move_to_dir,
241241
prebuilt_dir,
242-
'SDL2-2.26.5'
242+
'SDL2-2.28.5'
243243
)
244244
)
245245

buildconfig/macdependencies/build_mac_deps.sh

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ export PG_BASE_CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=$PG_DEP_PREFIX \
3434

3535
export PG_BASE_CONFIGURE_FLAGS="--prefix=$PG_DEP_PREFIX"
3636

37+
export PG_BASE_MESON_FLAGS="--prefix=$PG_DEP_PREFIX \
38+
-Dlibdir=lib \
39+
-Dbuildtype=release \
40+
-Ddefault_library=shared"
41+
3742
if [[ "$MAC_ARCH" == "arm64" ]]; then
3843
# for scripts using ./configure to make arm64 binaries
3944
export CC="clang -target arm64-apple-macos11.0"
@@ -45,6 +50,9 @@ if [[ "$MAC_ARCH" == "arm64" ]]; then
4550
# configure cmake to cross-compile
4651
export PG_BASE_CMAKE_FLAGS="$PG_BASE_CMAKE_FLAGS -DCMAKE_OSX_ARCHITECTURES=arm64"
4752

53+
# configure meson to cross-compile
54+
export PG_BASE_MESON_FLAGS="$PG_BASE_MESON_FLAGS --cross-file $(pwd)/macos_arm64.ini"
55+
4856
# we don't need mac 10.9 support while compiling for apple M1 macs
4957
export MACOSX_DEPLOYMENT_TARGET=11.0
5058
else
@@ -54,13 +62,19 @@ else
5462
# SDL 2.26.5 new minimum macos is 10.11, so we build our x86 mac deps
5563
# for 10.11 as well.
5664
export MACOSX_DEPLOYMENT_TARGET=10.11
65+
66+
# needs native-file that has correct macosx deployment target
67+
export PG_BASE_MESON_FLAGS="$PG_BASE_MESON_FLAGS --native-file $(pwd)/macos_x86_64.ini"
5768
fi
5869

5970
cd ../manylinux-build/docker_base
6071

6172
# Now start installing dependencies
6273
# ---------------------------------
6374

75+
# install some buildtools
76+
bash buildtools/install.sh
77+
6478
# sdl_image deps
6579
bash zlib-ng/build-zlib-ng.sh
6680
bash libpng/build-png.sh # depends on zlib
@@ -81,8 +95,8 @@ bash mpg123/build-mpg123.sh
8195
bash opus/build-opus.sh # needs libogg (which is a container format)
8296

8397
# fluidsynth (for sdl_mixer)
84-
bash gettext/build-gettext.sh
85-
bash glib/build-glib.sh # depends on gettext
98+
# bash gettext/build-gettext.sh
99+
bash glib/build-glib.sh
86100
bash sndfile/build-sndfile.sh
87101
bash fluidsynth/build-fluidsynth.sh
88102

buildconfig/macdependencies/clean_usr_local.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ rm -rf /usr/local/Cellar/libtiff
2929
rm -rf /usr/local/Cellar/libsndfile
3030
rm -rf /usr/local/Cellar/glib
3131
rm -rf /usr/local/Cellar/brotli
32-
rm -rf /usr/local/Cellar/pcre
32+
rm -rf /usr/local/Cellar/pcre*
3333
rm -rf /usr/local/Cellar/opusfile
3434
rm -rf /usr/local/Cellar/opus
3535
rm -rf /usr/local/Cellar/freetype
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[constants]
2+
macos_ver = ['-mmacosx-version-min=11.0']
3+
macos_arch = ['-arch', 'arm64']
4+
5+
[host_machine]
6+
system = 'darwin'
7+
cpu_family = 'aarch64'
8+
cpu = 'arm64'
9+
endian = 'little'
10+
11+
[binaries]
12+
c = ['clang']
13+
cpp = ['clang++']
14+
objc = ['clang']
15+
objcpp = ['clang++']
16+
ar = ['ar']
17+
strip = ['strip']
18+
pkgconfig = ['pkg-config']
19+
20+
[built-in options]
21+
c_args = macos_arch + macos_ver
22+
cpp_args = macos_arch + macos_ver + ['-stdlib=libc++']
23+
objc_args = macos_arch + macos_ver
24+
objcpp_args = macos_arch + macos_ver + ['-stdlib=libc++']
25+
c_link_args = macos_arch + macos_ver
26+
cpp_link_args = macos_arch + macos_ver
27+
objc_link_args = macos_arch + macos_ver
28+
objcpp_link_args = macos_arch + macos_ver
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[constants]
2+
macos_ver = ['-mmacosx-version-min=10.11']
3+
4+
[binaries]
5+
c = ['clang']
6+
cpp = ['clang++']
7+
objc = ['clang']
8+
objcpp = ['clang++']
9+
ar = ['ar']
10+
strip = ['strip']
11+
pkgconfig = ['pkg-config']
12+
13+
[built-in options]
14+
c_args = macos_ver
15+
cpp_args = macos_ver + ['-stdlib=libc++']
16+
objc_args = macos_ver
17+
objcpp_args = macos_ver + ['-stdlib=libc++']
18+
c_link_args = macos_ver
19+
cpp_link_args = macos_ver
20+
objc_link_args = macos_ver
21+
objcpp_link_args = macos_ver

0 commit comments

Comments
 (0)