Skip to content

Commit b89095b

Browse files
committed
Merge branch 'master' into arm-builds
2 parents 796da6c + 65e1a6d commit b89095b

12 files changed

+68
-296
lines changed

8.9/build.sh

100755100644
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ target="${2:-x86_64-w64-mingw32.shared.win32}"
2121
# Always checkout a particular revision which will successfully build.
2222
# This ensures that it will not suddenly break a build.
2323
# Note: Must be regularly updated.
24-
revision="11e79ce1057fb9564eb842013c2efdc67bdcd24c"
24+
revision="31a4a4d3cdac108679b2ae8cbe4402ee4c335914"
2525
initialize=false
2626

2727
if [ -f "$mxe_dir/Makefile" ]; then
@@ -41,9 +41,6 @@ if [ ! "$curr_revision" = "$revision" ]; then
4141
fi
4242

4343
if [ "$initialize" = true ] ; then
44-
# Copy our customized tool
45-
cp -f $work_dir/tools/make-shared-from-static $mxe_dir/tools
46-
4744
# Patch MXE to support the ARM/ARM64 targets
4845
git apply $work_dir/plugins/llvm-mingw/patches/mxe-fixes.patch
4946
fi
@@ -56,7 +53,7 @@ if [ "$LLVM" = "true" ]; then
5653
cp -f $work_dir/settings/llvm.mk $mxe_dir/settings.mk
5754
cp -f $work_dir/settings/meson-llvm.in $mxe_dir/plugins/meson-wrapper/conf/mxe-crossfile.meson.in
5855
else
59-
# Build with GCC 9.2
56+
# Build with GCC 9.3
6057
plugins="plugins/gcc9"
6158

6259
# Copy GCC settings

8.9/overrides.mk

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,42 @@ mingw-w64-headers_CONFIGURE_OPTS=--prefix='$(PREFIX)/$(TARGET)/mingw'
1010
common_CONFIGURE_OPTS=--prefix='$(PREFIX)/$(TARGET)/mingw' \
1111
--with-sysroot='$(PREFIX)/$(TARGET)/mingw' \
1212
CPPFLAGS='-I$(PREFIX)/$(TARGET)/mingw/include' \
13-
CFLAGS='-I$(PREFIX)/$(TARGET)/mingw/include -s -O3 -ffast-math' \
14-
CXXFLAGS='-I$(PREFIX)/$(TARGET)/mingw/include -s -O3 -ffast-math' \
13+
CFLAGS='-I$(PREFIX)/$(TARGET)/mingw/include' \
14+
CXXFLAGS='-I$(PREFIX)/$(TARGET)/mingw/include' \
1515
LDFLAGS='-L$(PREFIX)/$(TARGET)/mingw/lib' \
1616
RCFLAGS='-I$(PREFIX)/$(TARGET)/mingw/include'
1717

1818
# Override GCC patches with our own patches
1919
gcc_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/gcc-[0-9]*.patch)))
2020

21-
# Point native system header dir to /mingw/include and
22-
# compile without some optimizations / stripping
23-
gcc_CONFIGURE_OPTS=--with-native-system-header-dir='/mingw/include' \
24-
CFLAGS='-s -O3 -ffast-math' \
25-
CXXFLAGS='-s -O3 -ffast-math' \
21+
# Point native system header dir to /mingw/include
22+
# and compile without optimizations / stripping
23+
gcc_CONFIGURE_OPTS=--with-build-sysroot='$(PREFIX)/$(TARGET)' \
24+
--with-native-system-header-dir='/mingw/include' \
25+
CFLAGS='' \
26+
CXXFLAGS='' \
2627
LDFLAGS=''
2728

2829
# The trick here is to symlink all files from /mingw/{bin,lib,include}/
2930
# to $(PREFIX)/$(TARGET) after building MinGW-w64
3031
# This ensures that all files are found during linking and that we
3132
# can clean up those unnecessary files afterwards
3233
define gcc_BUILD_x86_64-w64-mingw32
33-
$(subst # build rest of gcc, ln -sf $(PREFIX)/$(TARGET)/mingw/bin/* $(PREFIX)/$(TARGET)/bin && \
34-
ln -sf '$(PREFIX)/$(TARGET)/mingw/lib/'* $(PREFIX)/$(TARGET)/lib && \
35-
ln -sf '$(PREFIX)/$(TARGET)/mingw/include/'* $(PREFIX)/$(TARGET)/include, \
3634
$(subst @gcc-crt-config-opts@,--disable-lib32 $(common_CONFIGURE_OPTS), \
3735
$(subst winpthreads/configure' $(MXE_CONFIGURE_OPTS),winpthreads/configure' $(MXE_CONFIGURE_OPTS) $(common_CONFIGURE_OPTS), \
38-
$(gcc_BUILD_mingw-w64))))
36+
$(gcc_BUILD_mingw-w64)))
37+
ln -sf '$(PREFIX)/$(TARGET)/mingw/bin/'* '$(PREFIX)/$(TARGET)/bin'
38+
ln -sf '$(PREFIX)/$(TARGET)/mingw/lib/'* '$(PREFIX)/$(TARGET)/lib'
39+
ln -sf '$(PREFIX)/$(TARGET)/mingw/include/'* '$(PREFIX)/$(TARGET)/include'
3940
endef
4041

4142
define gcc_BUILD_i686-w64-mingw32
42-
$(subst # build rest of gcc, ln -sf $(PREFIX)/$(TARGET)/mingw/bin/* $(PREFIX)/$(TARGET)/bin && \
43-
ln -sf '$(PREFIX)/$(TARGET)/mingw/lib/'* '$(PREFIX)/$(TARGET)/lib' && \
44-
ln -sf '$(PREFIX)/$(TARGET)/mingw/include/'* '$(PREFIX)/$(TARGET)/include', \
4543
$(subst @gcc-crt-config-opts@,--disable-lib64 $(common_CONFIGURE_OPTS), \
4644
$(subst winpthreads/configure' $(MXE_CONFIGURE_OPTS),winpthreads/configure' $(MXE_CONFIGURE_OPTS) $(common_CONFIGURE_OPTS), \
47-
$(gcc_BUILD_mingw-w64))))
45+
$(gcc_BUILD_mingw-w64)))
46+
ln -sf '$(PREFIX)/$(TARGET)/mingw/bin/'* '$(PREFIX)/$(TARGET)/bin'
47+
ln -sf '$(PREFIX)/$(TARGET)/mingw/lib/'* '$(PREFIX)/$(TARGET)/lib'
48+
ln -sf '$(PREFIX)/$(TARGET)/mingw/include/'* '$(PREFIX)/$(TARGET)/include'
4849
endef
4950

5051
# GCC does not support Windows on ARM
@@ -124,8 +125,8 @@ x265_URL := https://bitbucket.org/multicoreware/x265/downloads/$(x265_FILE)
124125
x265_URL_2 := ftp://ftp.videolan.org/pub/videolan/x265/$(x265_FILE)
125126

126127
# upstream version is 2.40.5
127-
librsvg_VERSION := 2.47.3
128-
librsvg_CHECKSUM := bf8b970f5e72edb66be79e11df2b20f180abff5029c90e94d6c254476b0ba5fa
128+
librsvg_VERSION := 2.48.0
129+
librsvg_CHECKSUM := 4a348b76cf4c52838e9c337ca767a38fe7f742db40ccccf8ac99f1946872cda6
129130
librsvg_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/librsvg-[0-9]*.patch)))
130131
librsvg_SUBDIR := librsvg-$(librsvg_VERSION)
131132
librsvg_FILE := librsvg-$(librsvg_VERSION).tar.xz
@@ -142,11 +143,11 @@ pango_URL := https://download.gnome.org/sources/pango/$(call SHORT_PKG_VERS
142143
# upstream version is 1.0.5
143144
# cannot use GH_CONF:
144145
# fribidi_GH_CONF := fribidi/fribidi/releases,v
145-
fribidi_VERSION := 1.0.8
146-
fribidi_CHECKSUM := 94c7b68d86ad2a9613b4dcffe7bbeb03523d63b5b37918bdf2e4ef34195c1e6c
146+
fribidi_VERSION := 1.0.9
147+
fribidi_CHECKSUM := c5e47ea9026fb60da1944da9888b4e0a18854a0e2410bbfe7ad90a054d36e0c7
147148
fribidi_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/fribidi-[0-9]*.patch)))
148149
fribidi_SUBDIR := fribidi-$(fribidi_VERSION)
149-
fribidi_FILE := fribidi-$(fribidi_VERSION).tar.bz2
150+
fribidi_FILE := fribidi-$(fribidi_VERSION).tar.xz
150151
fribidi_URL := https://github.com/fribidi/fribidi/releases/download/v$(fribidi_VERSION)/$(fribidi_FILE)
151152

152153
# upstream version is 1.0.3
@@ -158,8 +159,8 @@ libwebp_FILE := libwebp-$(libwebp_VERSION).tar.gz
158159
libwebp_URL := http://downloads.webmproject.org/releases/webp/$(libwebp_FILE)
159160

160161
# upstream version is 2.50.2
161-
glib_VERSION := 2.63.5
162-
glib_CHECKSUM := 851a4725a2ae401c1a4e49cf2138920cf87e028f033a2af33f5a16d159a3b78c
162+
glib_VERSION := 2.64.1
163+
glib_CHECKSUM := 17967603bcb44b6dbaac47988d80c29a3d28519210b28157c2bd10997595bbc7
163164
glib_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/glib-[0-9]*.patch)))
164165
glib_SUBDIR := glib-$(glib_VERSION)
165166
glib_FILE := glib-$(glib_VERSION).tar.xz
@@ -317,7 +318,7 @@ define libffi_BUILD
317318
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
318319
$(MXE_CONFIGURE_OPTS) \
319320
--disable-multi-os-directory \
320-
--disable-raw-api \
321+
$(if $(BUILD_STATIC), --disable-raw-api) \
321322
$(if $(findstring posix,$(TARGET)), --disable-symvers)
322323

323324
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
@@ -360,6 +361,18 @@ define harfbuzz_BUILD
360361
> '$(PREFIX)/$(TARGET)/lib/pkgconfig/$(PKG).pc'
361362
endef
362363

364+
define freetype_BUILD
365+
# alias libharfbuzz and libfreetype to satisfy circular dependence
366+
# libfreetype should already have been created by freetype-bootstrap.mk
367+
$(if $(BUILD_STATIC), \
368+
ln -sf libharfbuzz.a '$(PREFIX)/$(TARGET)/lib/libharfbuzz_too.a' \
369+
&& ln -sf libfreetype.a '$(PREFIX)/$(TARGET)/lib/libfreetype_too.a',)
370+
$($(PKG)_BUILD_COMMON)
371+
# remove circular dependencies from pc file
372+
$(if $(BUILD_STATIC), \
373+
$(SED) -i '/^Libs.private:/s/\-lharfbuzz_too -lfreetype_too//g' '$(PREFIX)/$(TARGET)/lib/pkgconfig/freetype2.pc')
374+
endef
375+
363376
# exclude bz2 and gdk-pixbuf
364377
define libgsf_BUILD
365378
$(SED) -i 's,\ssed\s, $(SED) ,g' '$(SOURCE_DIR)'/gsf/Makefile.in
@@ -653,8 +666,7 @@ define cairo_BUILD
653666
--disable-ps \
654667
--disable-script \
655668
--disable-pdf \
656-
$(if $(BUILD_STATIC), \
657-
--disable-svg) \
669+
$(if $(BUILD_STATIC), --disable-svg) \
658670
--disable-win32 \
659671
--disable-win32-font \
660672
--disable-interpreter \

8.9/package-vipsdev.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,12 @@ fi
3333
rm -rf $repackage_dir
3434
mkdir -p $repackage_dir/bin
3535

36-
# Copy libvips-cpp-42.dll by default
36+
# Copy libvips-cpp-42.dll
3737
target_dll="libvips-cpp-42.dll"
3838

3939
zip_suffix=""
4040

4141
if [ "$type" = "static" ]; then
42-
# Static build? Copy libvips-42.dll
43-
# TODO(kleisauke): sharp needs libvips-cpp-42.dll
44-
target_dll="libvips-42.dll"
45-
4642
zip_suffix="-static"
4743
fi
4844

8.9/patches/glib-2-fixes.patch

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ diff --git a/meson.build b/meson.build
2525
index 1111111..2222222 100644
2626
--- a/meson.build
2727
+++ b/meson.build
28-
@@ -1808,7 +1808,7 @@ glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack)
28+
@@ -1815,7 +1815,7 @@ glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack)
2929
# available in the actual runtime environment. On Windows, we always use
3030
# the built-in implementation
3131
iconv_opt = get_option('iconv')
@@ -34,7 +34,7 @@ index 1111111..2222222 100644
3434
libiconv = []
3535
# We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need
3636
# any external library for it
37-
@@ -1897,17 +1897,24 @@ endif
37+
@@ -1904,17 +1904,24 @@ endif
3838
# proxy-libintl subproject.
3939
# FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
4040
# implementations. This could be extended if issues are found in some platforms.
@@ -78,7 +78,7 @@ diff --git a/gio/tests/meson.build b/gio/tests/meson.build
7878
index 1111111..2222222 100644
7979
--- a/gio/tests/meson.build
8080
+++ b/gio/tests/meson.build
81-
@@ -436,7 +436,7 @@ gdbus_example_objectmanager_sources = files(
81+
@@ -435,7 +435,7 @@ gdbus_example_objectmanager_sources = files(
8282
'gdbus-example-objectmanager-server.c',
8383
)
8484

@@ -87,9 +87,9 @@ index 1111111..2222222 100644
8787
test_extra_programs += {
8888
# These three are manual-run tests because they need a session bus but don't bring one up themselves
8989
# FIXME: these build but don't seem to work!
90-
@@ -549,7 +549,7 @@ foreach memory_monitor_test : memory_monitor_tests
91-
)
92-
endforeach
90+
@@ -548,7 +548,7 @@ if installed_tests_enabled
91+
endforeach
92+
endif
9393

9494
-if not meson.is_cross_build() or meson.has_exe_wrapper()
9595
+if not (meson.is_cross_build() or meson.has_exe_wrapper()) and host_machine.system() != 'windows'
@@ -201,7 +201,7 @@ index 1111111..2222222 100644
201201

202202
/* When building for UWP, load app asset DLLs instead of filesystem DLLs.
203203
* Needs MSVC, Windows 8 and newer, and is only usable from apps. */
204-
@@ -118,7 +119,7 @@ _g_module_close (gpointer handle,
204+
@@ -117,7 +118,7 @@ _g_module_close (gpointer handle,
205205
{
206206
if (handle != null_module_handle)
207207
if (!FreeLibrary (handle))
@@ -210,7 +210,7 @@ index 1111111..2222222 100644
210210
}
211211

212212
static gpointer
213-
@@ -177,7 +178,7 @@ _g_module_symbol (gpointer handle,
213+
@@ -176,7 +177,7 @@ _g_module_symbol (gpointer handle,
214214
p = GetProcAddress (handle, symbol_name);
215215

216216
if (!p)

8.9/patches/glib-static.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ diff --git a/gio/meson.build b/gio/meson.build
4242
index 1111111..2222222 100644
4343
--- a/gio/meson.build
4444
+++ b/gio/meson.build
45-
@@ -792,7 +792,7 @@ else
45+
@@ -786,7 +786,7 @@ else
4646
gio_dtrace_hdr = []
4747
endif
4848

0 commit comments

Comments
 (0)