mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-13 07:56:17 +01:00
Merge branch 'meson-version-policy' into 'main'
docs: Add a Meson version policy and bump Meson version in CI Closes #2596 See merge request GNOME/glib!2641
This commit is contained in:
commit
b18fec9f23
@ -10,15 +10,14 @@ cache:
|
|||||||
- _ccache/
|
- _ccache/
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v13"
|
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v14"
|
||||||
COVERITY_IMAGE: "registry.gitlab.gnome.org/gnome/glib/coverity:v3"
|
COVERITY_IMAGE: "registry.gitlab.gnome.org/gnome/glib/coverity:v4"
|
||||||
DEBIAN_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable:v9"
|
DEBIAN_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable:v10"
|
||||||
ANDROID_IMAGE: "registry.gitlab.gnome.org/gnome/glib/android-ndk:v6"
|
ANDROID_IMAGE: "registry.gitlab.gnome.org/gnome/glib/android-ndk:v7"
|
||||||
MINGW_IMAGE: "registry.gitlab.gnome.org/gnome/glib/mingw:v5"
|
MINGW_IMAGE: "registry.gitlab.gnome.org/gnome/glib/mingw:v6"
|
||||||
MESON_TEST_TIMEOUT_MULTIPLIER: 2
|
MESON_TEST_TIMEOUT_MULTIPLIER: 2
|
||||||
G_MESSAGES_DEBUG: all
|
G_MESSAGES_DEBUG: all
|
||||||
MESON_COMMON_OPTIONS_NO_WARNING: "--buildtype debug --wrap-mode=nodownload"
|
MESON_COMMON_OPTIONS: "--buildtype debug --wrap-mode=nodownload --fatal-meson-warnings"
|
||||||
MESON_COMMON_OPTIONS: "${MESON_COMMON_OPTIONS_NO_WARNING} --fatal-meson-warnings"
|
|
||||||
|
|
||||||
.only-default:
|
.only-default:
|
||||||
only:
|
only:
|
||||||
@ -72,10 +71,7 @@ fedora-x86_64:
|
|||||||
variables:
|
variables:
|
||||||
CFLAGS: "-coverage -ftest-coverage -fprofile-arcs"
|
CFLAGS: "-coverage -ftest-coverage -fprofile-arcs"
|
||||||
script:
|
script:
|
||||||
# FIXME: Cannot use MESON_COMMON_OPTIONS here because meson warns about gtkdoc
|
- meson ${MESON_COMMON_OPTIONS}
|
||||||
# feature fully functional in 0.54, but we only depend on 0.52. So we cannot build
|
|
||||||
# with --fatal-meson-warnings.
|
|
||||||
- meson ${MESON_COMMON_OPTIONS_NO_WARNING}
|
|
||||||
--werror
|
--werror
|
||||||
--default-library=both
|
--default-library=both
|
||||||
--prefix=$HOME/glib-installed
|
--prefix=$HOME/glib-installed
|
||||||
@ -326,7 +322,10 @@ vs2017-x64:
|
|||||||
script:
|
script:
|
||||||
# FIXME: These should use --wrap-mode=nodownload but the Windows CI machines
|
# FIXME: These should use --wrap-mode=nodownload but the Windows CI machines
|
||||||
# aren’t currently set up for that.
|
# aren’t currently set up for that.
|
||||||
- .gitlab-ci/test-msvc.bat ${MESON_COMMON_OPTIONS} --wrap-mode=default
|
- .gitlab-ci/test-msvc.bat ${MESON_COMMON_OPTIONS}
|
||||||
|
--wrap-mode=default
|
||||||
|
--python.platlibdir=C:\Python37\site-packages
|
||||||
|
--python.purelibdir=C:\Python37\site-packages
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
junit: "_build/${env:CI_JOB_NAME}-report.xml"
|
junit: "_build/${env:CI_JOB_NAME}-report.xml"
|
||||||
@ -351,7 +350,11 @@ vs2017-x64-static:
|
|||||||
script:
|
script:
|
||||||
# FIXME: These should use --wrap-mode=nodownload but the Windows CI machines
|
# FIXME: These should use --wrap-mode=nodownload but the Windows CI machines
|
||||||
# aren’t currently set up for that.
|
# aren’t currently set up for that.
|
||||||
- .gitlab-ci/test-msvc.bat ${MESON_COMMON_OPTIONS} --wrap-mode=default --default-library=static
|
- .gitlab-ci/test-msvc.bat ${MESON_COMMON_OPTIONS}
|
||||||
|
--wrap-mode=default
|
||||||
|
--default-library=static
|
||||||
|
--python.platlibdir=C:\Python37\site-packages
|
||||||
|
--python.purelibdir=C:\Python37\site-packages
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
junit: "_build/${env:CI_JOB_NAME}-report.xml"
|
junit: "_build/${env:CI_JOB_NAME}-report.xml"
|
||||||
@ -564,10 +567,7 @@ dist-job:
|
|||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
script:
|
script:
|
||||||
# FIXME: Cannot use MESON_COMMON_OPTIONS here because meson warns about gtkdoc
|
- meson ${MESON_COMMON_OPTIONS} --buildtype release -Dgtk_doc=true -Dman=true _build
|
||||||
# feature fully functional in 0.54, but we only depend on 0.52. So we cannot build
|
|
||||||
# with --fatal-meson-warnings.
|
|
||||||
- meson ${MESON_COMMON_OPTIONS_NO_WARNING} --buildtype release -Dgtk_doc=true -Dman=true _build
|
|
||||||
- cd _build
|
- cd _build
|
||||||
- ninja dist
|
- ninja dist
|
||||||
- ninja glib-doc gobject-doc gio-doc
|
- ninja glib-doc gobject-doc gio-doc
|
||||||
|
@ -72,7 +72,7 @@ RUN rm -rf \
|
|||||||
$ANDROID_NDK_PATH/sources/cxx-stl/llvm-libc++/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory \
|
$ANDROID_NDK_PATH/sources/cxx-stl/llvm-libc++/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory \
|
||||||
$ANDROID_NDK_PATH
|
$ANDROID_NDK_PATH
|
||||||
|
|
||||||
RUN pip3 install meson==0.52.0
|
RUN pip3 install meson==0.60.3
|
||||||
|
|
||||||
ARG HOST_USER_ID=5555
|
ARG HOST_USER_ID=5555
|
||||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
ENV HOST_USER_ID ${HOST_USER_ID}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM registry.gitlab.gnome.org/gnome/glib/fedora:v13
|
FROM registry.gitlab.gnome.org/gnome/glib/fedora:v14
|
||||||
|
|
||||||
ARG COVERITY_SCAN_PROJECT_NAME
|
ARG COVERITY_SCAN_PROJECT_NAME
|
||||||
ARG COVERITY_SCAN_TOKEN
|
ARG COVERITY_SCAN_TOKEN
|
||||||
|
@ -65,7 +65,7 @@ RUN locale-gen de_DE.UTF-8 \
|
|||||||
|
|
||||||
ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
|
ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
|
||||||
|
|
||||||
RUN pip3 install meson==0.52.0
|
RUN pip3 install meson==0.60.3
|
||||||
|
|
||||||
ARG HOST_USER_ID=5555
|
ARG HOST_USER_ID=5555
|
||||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
ENV HOST_USER_ID ${HOST_USER_ID}
|
||||||
|
@ -73,7 +73,7 @@ RUN dnf -y update \
|
|||||||
make \
|
make \
|
||||||
&& dnf clean all
|
&& dnf clean all
|
||||||
|
|
||||||
RUN pip3 install meson==0.52.1
|
RUN pip3 install meson==0.60.3
|
||||||
|
|
||||||
# Set /etc/machine-id as it’s needed for some D-Bus tests
|
# Set /etc/machine-id as it’s needed for some D-Bus tests
|
||||||
RUN systemd-machine-id-setup
|
RUN systemd-machine-id-setup
|
||||||
|
@ -57,7 +57,7 @@ RUN dnf -y install \
|
|||||||
WORKDIR /opt
|
WORKDIR /opt
|
||||||
COPY cross_file_mingw64.txt /opt
|
COPY cross_file_mingw64.txt /opt
|
||||||
|
|
||||||
RUN pip3 install meson==0.52.0
|
RUN pip3 install meson==0.60.3
|
||||||
|
|
||||||
ARG HOST_USER_ID=5555
|
ARG HOST_USER_ID=5555
|
||||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
ENV HOST_USER_ID ${HOST_USER_ID}
|
||||||
|
@ -12,7 +12,7 @@ for %%x in (%*) do (
|
|||||||
set args=%args:~1%
|
set args=%args:~1%
|
||||||
|
|
||||||
:: FIXME: make warnings fatal
|
:: FIXME: make warnings fatal
|
||||||
pip3 install --upgrade --user meson==0.52.0 || goto :error
|
pip3 install --upgrade --user meson==0.60.3 || goto :error
|
||||||
meson %args% _build || goto :error
|
meson %args% _build || goto :error
|
||||||
ninja -C _build || goto :error
|
ninja -C _build || goto :error
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ CCACHE_BASEDIR="$(pwd)"
|
|||||||
CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
||||||
export CCACHE_BASEDIR CCACHE_DIR
|
export CCACHE_BASEDIR CCACHE_DIR
|
||||||
|
|
||||||
pip3 install --upgrade --user meson==0.52.0
|
pip3 install --upgrade --user meson==0.60.3
|
||||||
|
|
||||||
PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
|
PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
|
||||||
CFLAGS="-coverage -ftest-coverage -fprofile-arcs"
|
CFLAGS="-coverage -ftest-coverage -fprofile-arcs"
|
||||||
|
@ -24,7 +24,9 @@ information.) Information about pkg-config can be found at:
|
|||||||
|
|
||||||
http://www.freedesktop.org/software/pkgconfig/
|
http://www.freedesktop.org/software/pkgconfig/
|
||||||
|
|
||||||
Meson (http://mesonbuild.com/) is also required.
|
Meson (http://mesonbuild.com/) is also required. If your distribution does not
|
||||||
|
package a new enough version of Meson, it can be [installed using
|
||||||
|
`pip`](https://mesonbuild.com/Getting-meson.html#installing-meson-with-pip).
|
||||||
|
|
||||||
In order to implement conversions between character sets,
|
In order to implement conversions between character sets,
|
||||||
GLib requires an implementation of the standard iconv() routine.
|
GLib requires an implementation of the standard iconv() routine.
|
||||||
|
30
docs/meson-version.md
Normal file
30
docs/meson-version.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Meson version policy
|
||||||
|
===
|
||||||
|
|
||||||
|
Aims
|
||||||
|
---
|
||||||
|
|
||||||
|
* Stable versions of GLib should be buildable from source on the majority of
|
||||||
|
systems which are still supported by their vendors, without requiring the
|
||||||
|
user to manually build a number of dependencies
|
||||||
|
* Unstable versions of GLib should be able to take advantage of newer build
|
||||||
|
system features where they would make maintenance of GLib easier, without
|
||||||
|
prejudicing the other aims
|
||||||
|
|
||||||
|
Policy
|
||||||
|
---
|
||||||
|
|
||||||
|
* Stable branches of GLib will not change their Meson dependency after the
|
||||||
|
first release of that stable series
|
||||||
|
* Unstable branches of GLib can bump their Meson dependency if
|
||||||
|
- at least that version of Meson currently available in Debian Testing; or
|
||||||
|
- the Python version required by the new Meson dependency is available in
|
||||||
|
Debian Stable *and* the oldest currently-supported Ubuntu LTS
|
||||||
|
* The version of Meson used by GLib should be pinned and pre-installed in the
|
||||||
|
CI `Dockerfile`s so that GLib is guaranteed to be built against the expected
|
||||||
|
version
|
||||||
|
|
||||||
|
The reasoning behind allowing a version bump if the Python which Meson depends
|
||||||
|
on is available in Debian Stable is that it’s [straightforward to install a more
|
||||||
|
recent Meson version using
|
||||||
|
`pip`](https://mesonbuild.com/Getting-meson.html#installing-meson-with-pip).
|
@ -47,9 +47,6 @@ gtkdoc_common_scan_args = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
if get_option('gtk_doc')
|
if get_option('gtk_doc')
|
||||||
if not meson.version().version_compare('>=0.52.0')
|
|
||||||
error('Building documentation requires Meson >= 0.52.0.')
|
|
||||||
endif
|
|
||||||
# Check we have the minimum gtk-doc version required. Older versions won't
|
# Check we have the minimum gtk-doc version required. Older versions won't
|
||||||
# generate correct documentation.
|
# generate correct documentation.
|
||||||
dependency('gtk-doc', version : '>=1.32.1',
|
dependency('gtk-doc', version : '>=1.32.1',
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
|
|
||||||
if not os.environ.get("DESTDIR"):
|
|
||||||
print("GIO module cache creation...")
|
|
||||||
subprocess.call([sys.argv[1], sys.argv[2]])
|
|
@ -774,7 +774,7 @@ if have_bash
|
|||||||
bash_comp_inst_dir = ''
|
bash_comp_inst_dir = ''
|
||||||
if bash_comp_dep.found()
|
if bash_comp_dep.found()
|
||||||
bash_comp_dir_override = bash_comp_dep.version().version_compare('>= 2.10') ? ['datadir', get_option('datadir')] : ['prefix', get_option('prefix')]
|
bash_comp_dir_override = bash_comp_dep.version().version_compare('>= 2.10') ? ['datadir', get_option('datadir')] : ['prefix', get_option('prefix')]
|
||||||
bash_comp_inst_dir = bash_comp_dep.get_pkgconfig_variable('completionsdir', define_variable: bash_comp_dir_override)
|
bash_comp_inst_dir = bash_comp_dep.get_variable('completionsdir', pkgconfig_define: bash_comp_dir_override)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if bash_comp_inst_dir == ''
|
if bash_comp_inst_dir == ''
|
||||||
@ -829,17 +829,12 @@ schemas_subdir = join_paths('glib-2.0', 'schemas')
|
|||||||
|
|
||||||
libgio_dep = declare_dependency(link_with : libgio,
|
libgio_dep = declare_dependency(link_with : libgio,
|
||||||
dependencies : [libgmodule_dep, libgobject_dep, gioenumtypes_dep],
|
dependencies : [libgmodule_dep, libgobject_dep, gioenumtypes_dep],
|
||||||
include_directories : [gioinc])
|
include_directories : [gioinc],
|
||||||
|
variables : [
|
||||||
# Work around variables kwarg requiring Meson 0.56
|
'schemasdir=' + join_paths(glib_datadir, schemas_subdir),
|
||||||
if meson.version().version_compare('>=0.56.0')
|
'giomoduledir=' + glib_giomodulesdir,
|
||||||
libgio_dep = declare_dependency(dependencies: libgio_dep,
|
],
|
||||||
variables: [
|
)
|
||||||
'schemasdir=' + join_paths(glib_datadir, schemas_subdir),
|
|
||||||
'giomoduledir=' + glib_giomodulesdir,
|
|
||||||
]
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
|
|
||||||
pkg.generate(libgio,
|
pkg.generate(libgio,
|
||||||
requires : ['glib-2.0', 'gobject-2.0'],
|
requires : ['glib-2.0', 'gobject-2.0'],
|
||||||
@ -861,11 +856,7 @@ pkg.generate(libgio,
|
|||||||
name : 'GIO',
|
name : 'GIO',
|
||||||
description : 'glib I/O library',
|
description : 'glib I/O library',
|
||||||
)
|
)
|
||||||
|
meson.override_dependency('gio-2.0', libgio_dep)
|
||||||
if meson.version().version_compare('>=0.54.0')
|
|
||||||
meson.override_dependency('gio-2.0', libgio_dep)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
if host_system == 'windows'
|
if host_system == 'windows'
|
||||||
pkg.generate(requires : ['gobject-2.0', 'gmodule-no-export-2.0', 'gio-2.0'],
|
pkg.generate(requires : ['gobject-2.0', 'gmodule-no-export-2.0', 'gio-2.0'],
|
||||||
@ -876,9 +867,7 @@ if host_system == 'windows'
|
|||||||
name : 'GIO Windows specific APIs',
|
name : 'GIO Windows specific APIs',
|
||||||
description : 'Windows specific headers for glib I/O library',
|
description : 'Windows specific headers for glib I/O library',
|
||||||
)
|
)
|
||||||
if meson.version().version_compare('>=0.54.0')
|
meson.override_dependency('gio-windows-2.0', libgio_dep)
|
||||||
meson.override_dependency('gio-windows-2.0', libgio_dep)
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
pkg.generate(requires : ['gobject-2.0', 'gio-2.0'],
|
pkg.generate(requires : ['gobject-2.0', 'gio-2.0'],
|
||||||
subdirs : ['gio-unix-2.0'],
|
subdirs : ['gio-unix-2.0'],
|
||||||
@ -888,9 +877,7 @@ else
|
|||||||
name : 'GIO unix specific APIs',
|
name : 'GIO unix specific APIs',
|
||||||
description : 'unix specific headers for glib I/O library',
|
description : 'unix specific headers for glib I/O library',
|
||||||
)
|
)
|
||||||
if meson.version().version_compare('>=0.54.0')
|
meson.override_dependency('gio-unix-2.0', libgio_dep)
|
||||||
meson.override_dependency('gio-unix-2.0', libgio_dep)
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if host_system == 'windows'
|
if host_system == 'windows'
|
||||||
@ -991,7 +978,7 @@ glib_compile_resources = executable('glib-compile-resources',
|
|||||||
# Cannot override those programs in cross compilation case because they are
|
# Cannot override those programs in cross compilation case because they are
|
||||||
# native executables that cannot be run on the build machine.
|
# native executables that cannot be run on the build machine.
|
||||||
# See https://gitlab.gnome.org/GNOME/glib/issues/1859.
|
# See https://gitlab.gnome.org/GNOME/glib/issues/1859.
|
||||||
if not meson.is_cross_build()
|
if not meson.can_run_host_binaries()
|
||||||
meson.override_find_program('glib-compile-schemas', glib_compile_schemas)
|
meson.override_find_program('glib-compile-schemas', glib_compile_schemas)
|
||||||
meson.override_find_program('glib-compile-resources', glib_compile_resources)
|
meson.override_find_program('glib-compile-resources', glib_compile_resources)
|
||||||
meson.override_find_program('gio-querymodules', gio_querymodules)
|
meson.override_find_program('gio-querymodules', gio_querymodules)
|
||||||
|
@ -603,7 +603,7 @@ if installed_tests_enabled
|
|||||||
endforeach
|
endforeach
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
|
|
||||||
compiler_type = '--compiler=@0@'.format(cc.get_id())
|
compiler_type = '--compiler=@0@'.format(cc.get_id())
|
||||||
|
|
||||||
@ -830,7 +830,7 @@ foreach test_name, extra_args : gio_tests
|
|||||||
foreach var, value : installed_tests_env
|
foreach var, value : installed_tests_env
|
||||||
envs += '@0@=@1@'.format(var, value)
|
envs += '@0@=@1@'.format(var, value)
|
||||||
endforeach
|
endforeach
|
||||||
test_env_override = '@0@ @1@ '.format(env_program.path(), ' '.join(envs))
|
test_env_override = '@0@ @1@ '.format(env_program.full_path(), ' '.join(envs))
|
||||||
endif
|
endif
|
||||||
test_conf.set('env', test_env_override)
|
test_conf.set('env', test_env_override)
|
||||||
configure_file(
|
configure_file(
|
||||||
|
@ -71,7 +71,7 @@ int main ()
|
|||||||
gl_cv_cc_double_expbit0_word = -1
|
gl_cv_cc_double_expbit0_word = -1
|
||||||
gl_cv_cc_double_expbit0_bit = -1
|
gl_cv_cc_double_expbit0_bit = -1
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(double_exponent_test,
|
run_result = cc.run(double_exponent_test,
|
||||||
name : 'where to find the exponent in a \'double\'')
|
name : 'where to find the exponent in a \'double\'')
|
||||||
if run_result.compiled() and run_result.returncode() == 0
|
if run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -76,7 +76,7 @@ int main()
|
|||||||
return result;
|
return result;
|
||||||
}'''
|
}'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(frexp_test,
|
run_result = cc.run(frexp_test,
|
||||||
name : 'frexp works',
|
name : 'frexp works',
|
||||||
dependencies : [libm])
|
dependencies : [libm])
|
||||||
|
@ -104,7 +104,7 @@ int main()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(frexpl_test,
|
run_result = cc.run(frexpl_test,
|
||||||
name : 'frexpl works',
|
name : 'frexpl works',
|
||||||
dependencies : [libm])
|
dependencies : [libm])
|
||||||
|
@ -33,7 +33,7 @@ int main()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(ldexpl_test,
|
run_result = cc.run(ldexpl_test,
|
||||||
name : 'ldexpl works',
|
name : 'ldexpl works',
|
||||||
dependencies : [libm])
|
dependencies : [libm])
|
||||||
|
@ -79,7 +79,7 @@ glibc_printf_directive_a_test = '''
|
|||||||
int main () { return 0; }
|
int main () { return 0; }
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_directive_a_test,
|
run_result = cc.run(printf_directive_a_test,
|
||||||
name : 'printf supports the \'a\' and \'A\' directives')
|
name : 'printf supports the \'a\' and \'A\' directives')
|
||||||
gl_cv_func_printf_directive_a = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_directive_a = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -29,7 +29,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_directive_f_test,
|
run_result = cc.run(printf_directive_f_test,
|
||||||
name : 'printf supports the \'F\' directive')
|
name : 'printf supports the \'F\' directive')
|
||||||
gl_cv_func_printf_directive_f = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_directive_f = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -62,7 +62,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_directive_ls_test,
|
run_result = cc.run(printf_directive_ls_test,
|
||||||
name : 'printf supports the \'ls\' directive')
|
name : 'printf supports the \'ls\' directive')
|
||||||
gl_cv_func_printf_directive_ls = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_directive_ls = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -54,7 +54,7 @@ int main()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_enomem_test,
|
run_result = cc.run(printf_enomem_test,
|
||||||
name : 'printf survives out-of-memory conditions')
|
name : 'printf survives out-of-memory conditions')
|
||||||
gl_cv_func_printf_enomem = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_enomem = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -20,7 +20,7 @@ int main ()
|
|||||||
return 0;
|
return 0;
|
||||||
}'''
|
}'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_flag_grouping_test,
|
run_result = cc.run(printf_flag_grouping_test,
|
||||||
name : 'printf supports the grouping flag')
|
name : 'printf supports the grouping flag')
|
||||||
gl_cv_func_printf_flag_grouping = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_flag_grouping = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -22,7 +22,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_flag_leftadjust_test,
|
run_result = cc.run(printf_flag_leftadjust_test,
|
||||||
name : 'printf supports the left-adjust flag correctly')
|
name : 'printf supports the left-adjust flag correctly')
|
||||||
gl_cv_func_printf_flag_leftadjust = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_flag_leftadjust = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -23,7 +23,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_flag_zero_test,
|
run_result = cc.run(printf_flag_zero_test,
|
||||||
name : 'printf supports the zero flag correctly')
|
name : 'printf supports the zero flag correctly')
|
||||||
gl_cv_func_printf_flag_zero = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_flag_zero = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -77,7 +77,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_infinite_double_test,
|
run_result = cc.run(printf_infinite_double_test,
|
||||||
name : 'printf supports infinite \'double\' arguments')
|
name : 'printf supports infinite \'double\' arguments')
|
||||||
gl_cv_func_printf_infinite = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_infinite = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -167,7 +167,7 @@ int main ()
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
if gl_cv_func_printf_long_double
|
if gl_cv_func_printf_long_double
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_infinite_long_double_test,
|
run_result = cc.run(printf_infinite_long_double_test,
|
||||||
name : 'printf supports infinite \'long double\' arguments')
|
name : 'printf supports infinite \'long double\' arguments')
|
||||||
gl_cv_func_printf_infinite_long_double = (run_result.compiled() and run_result.returncode() == 0)
|
gl_cv_func_printf_infinite_long_double = (run_result.compiled() and run_result.returncode() == 0)
|
||||||
|
@ -30,7 +30,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_long_double_test,
|
run_result = cc.run(printf_long_double_test,
|
||||||
name : 'printf supports \'long double\' arguments')
|
name : 'printf supports \'long double\' arguments')
|
||||||
gl_cv_func_printf_long_double = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_long_double = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -37,7 +37,7 @@ int main ()
|
|||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if not meson.is_cross_build() or meson.has_exe_wrapper()
|
if meson.can_run_host_binaries()
|
||||||
run_result = cc.run(printf_precision_test,
|
run_result = cc.run(printf_precision_test,
|
||||||
name : 'printf supports large precisions')
|
name : 'printf supports large precisions')
|
||||||
gl_cv_func_printf_precision = run_result.compiled() and run_result.returncode() == 0
|
gl_cv_func_printf_precision = run_result.compiled() and run_result.returncode() == 0
|
||||||
|
@ -401,17 +401,14 @@ pkg.generate(libglib,
|
|||||||
name : 'GLib',
|
name : 'GLib',
|
||||||
description : 'C Utility Library',
|
description : 'C Utility Library',
|
||||||
)
|
)
|
||||||
|
meson.override_dependency('glib-2.0', libglib_dep)
|
||||||
if meson.version().version_compare('>=0.54.0')
|
|
||||||
meson.override_dependency('glib-2.0', libglib_dep)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# On Windows, glib needs a spawn helper for g_spawn* API
|
# On Windows, glib needs a spawn helper for g_spawn* API
|
||||||
if host_system == 'windows'
|
if host_system == 'windows'
|
||||||
if host_machine.cpu_family() == 'x86'
|
if host_machine.cpu_family() == 'x86'
|
||||||
executable('gspawn-win32-helper', 'gspawn-win32-helper.c',
|
executable('gspawn-win32-helper', 'gspawn-win32-helper.c',
|
||||||
install : true,
|
install : true,
|
||||||
gui_app : true,
|
win_subsystem : 'windows',
|
||||||
include_directories : configinc,
|
include_directories : configinc,
|
||||||
dependencies : [libglib_dep])
|
dependencies : [libglib_dep])
|
||||||
executable('gspawn-win32-helper-console', 'gspawn-win32-helper.c',
|
executable('gspawn-win32-helper-console', 'gspawn-win32-helper.c',
|
||||||
@ -422,7 +419,7 @@ if host_system == 'windows'
|
|||||||
else
|
else
|
||||||
executable('gspawn-win64-helper', 'gspawn-win32-helper.c',
|
executable('gspawn-win64-helper', 'gspawn-win32-helper.c',
|
||||||
install : true,
|
install : true,
|
||||||
gui_app : true,
|
win_subsystem : 'windows',
|
||||||
include_directories : configinc,
|
include_directories : configinc,
|
||||||
dependencies : [libglib_dep])
|
dependencies : [libglib_dep])
|
||||||
executable('gspawn-win64-helper-console', 'gspawn-win32-helper.c',
|
executable('gspawn-win64-helper-console', 'gspawn-win32-helper.c',
|
||||||
@ -453,11 +450,9 @@ configure_file(
|
|||||||
install_data('glib_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
|
install_data('glib_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
|
||||||
|
|
||||||
# This is needed to make gdb find glib_gdb.py
|
# This is needed to make gdb find glib_gdb.py
|
||||||
if meson.version().version_compare('>=0.58')
|
env = environment()
|
||||||
env = environment()
|
env.prepend('PYTHONPATH', meson.current_source_dir())
|
||||||
env.prepend('PYTHONPATH', meson.current_source_dir())
|
meson.add_devenv(env)
|
||||||
meson.add_devenv(env)
|
|
||||||
endif
|
|
||||||
|
|
||||||
gdb_conf = configuration_data()
|
gdb_conf = configuration_data()
|
||||||
gdb_conf.set('datadir', glib_datadir)
|
gdb_conf.set('datadir', glib_datadir)
|
||||||
|
@ -315,7 +315,7 @@ executable('testing-helper', 'testing-helper.c',
|
|||||||
)
|
)
|
||||||
|
|
||||||
# some testing of gtester functionality
|
# some testing of gtester functionality
|
||||||
if not meson.is_cross_build() and host_system != 'windows'
|
if meson.can_run_host_binaries() and host_system != 'windows'
|
||||||
xmllint = find_program('xmllint', required: false)
|
xmllint = find_program('xmllint', required: false)
|
||||||
if xmllint.found()
|
if xmllint.found()
|
||||||
tmpsample_xml = custom_target('tmpsample.xml',
|
tmpsample_xml = custom_target('tmpsample.xml',
|
||||||
|
@ -25,7 +25,7 @@ if g_module_impl == 'G_MODULE_IMPL_DL'
|
|||||||
if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl'
|
if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl'
|
||||||
message('Building for MSVC: assuming that symbols are prefixed with underscore')
|
message('Building for MSVC: assuming that symbols are prefixed with underscore')
|
||||||
g_module_need_uscore = 1
|
g_module_need_uscore = 1
|
||||||
elif meson.has_exe_wrapper()
|
elif meson.can_run_host_binaries()
|
||||||
# FIXME: communicate result via stdout instead of return value, so non-0 return is not printed in bold red
|
# FIXME: communicate result via stdout instead of return value, so non-0 return is not printed in bold red
|
||||||
rres = cc.run(dlopen_dlsym_test_code,
|
rres = cc.run(dlopen_dlsym_test_code,
|
||||||
dependencies : libdl_dep,
|
dependencies : libdl_dep,
|
||||||
@ -126,11 +126,9 @@ libgmodule_dep = declare_dependency(link_with : libgmodule,
|
|||||||
include_directories : [gmoduleinc],
|
include_directories : [gmoduleinc],
|
||||||
dependencies : [libglib_dep])
|
dependencies : [libglib_dep])
|
||||||
|
|
||||||
if meson.version().version_compare('>=0.54.0')
|
meson.override_dependency('gmodule-no-export-2.0', libgmodule_dep)
|
||||||
meson.override_dependency('gmodule-no-export-2.0', libgmodule_dep)
|
meson.override_dependency('gmodule-export-2.0', libgmodule_dep)
|
||||||
meson.override_dependency('gmodule-export-2.0', libgmodule_dep)
|
meson.override_dependency('gmodule-2.0', libgmodule_dep)
|
||||||
meson.override_dependency('gmodule-2.0', libgmodule_dep)
|
|
||||||
endif
|
|
||||||
|
|
||||||
if build_tests
|
if build_tests
|
||||||
subdir('tests')
|
subdir('tests')
|
||||||
|
@ -150,10 +150,7 @@ pkg.generate(libgobject,
|
|||||||
libgobject_dep = declare_dependency(link_with : libgobject,
|
libgobject_dep = declare_dependency(link_with : libgobject,
|
||||||
include_directories : [gobjectinc],
|
include_directories : [gobjectinc],
|
||||||
dependencies : [libglib_dep, glib_enumtypes_dep])
|
dependencies : [libglib_dep, glib_enumtypes_dep])
|
||||||
|
meson.override_dependency('gobject-2.0', libgobject_dep)
|
||||||
if meson.version().version_compare('>=0.54.0')
|
|
||||||
meson.override_dependency('gobject-2.0', libgobject_dep)
|
|
||||||
endif
|
|
||||||
|
|
||||||
executable('gobject-query', 'gobject-query.c',
|
executable('gobject-query', 'gobject-query.c',
|
||||||
install : true,
|
install : true,
|
||||||
@ -171,11 +168,9 @@ configure_file(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# This is needed to make gdb find gobject_gdb.py
|
# This is needed to make gdb find gobject_gdb.py
|
||||||
if meson.version().version_compare('>=0.58')
|
env = environment()
|
||||||
env = environment()
|
env.prepend('PYTHONPATH', meson.current_source_dir())
|
||||||
env.prepend('PYTHONPATH', meson.current_source_dir())
|
meson.add_devenv(env)
|
||||||
meson.add_devenv(env)
|
|
||||||
endif
|
|
||||||
|
|
||||||
if enable_systemtap
|
if enable_systemtap
|
||||||
gobject_stp = configure_file(input : 'gobject.stp.in',
|
gobject_stp = configure_file(input : 'gobject.stp.in',
|
||||||
|
@ -34,7 +34,4 @@ pkg.generate(libgthread,
|
|||||||
)
|
)
|
||||||
|
|
||||||
libgthread_dep = declare_dependency(link_with : libgthread)
|
libgthread_dep = declare_dependency(link_with : libgthread)
|
||||||
|
meson.override_dependency('gthread-2.0', libgthread_dep)
|
||||||
if meson.version().version_compare('>=0.54.0')
|
|
||||||
meson.override_dependency('gthread-2.0', libgthread_dep)
|
|
||||||
endif
|
|
||||||
|
35
meson.build
35
meson.build
@ -1,7 +1,7 @@
|
|||||||
project('glib', 'c', 'cpp',
|
project('glib', 'c', 'cpp',
|
||||||
version : '2.73.0',
|
version : '2.73.0',
|
||||||
# NOTE: We keep this pinned at 0.52 because that's what Debian Stable ships
|
# NOTE: See the policy in docs/meson-version.md before changing the Meson dependency
|
||||||
meson_version : '>= 0.52.0',
|
meson_version : '>= 0.60.0',
|
||||||
default_options : [
|
default_options : [
|
||||||
'buildtype=debugoptimized',
|
'buildtype=debugoptimized',
|
||||||
'warning_level=3',
|
'warning_level=3',
|
||||||
@ -12,7 +12,7 @@ project('glib', 'c', 'cpp',
|
|||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
cxx = meson.get_compiler('cpp')
|
cxx = meson.get_compiler('cpp')
|
||||||
|
|
||||||
cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper()
|
cc_can_run = meson.can_run_host_binaries()
|
||||||
|
|
||||||
if cc.get_argument_syntax() == 'msvc'
|
if cc.get_argument_syntax() == 'msvc'
|
||||||
# Ignore several spurious warnings for things glib does very commonly
|
# Ignore several spurious warnings for things glib does very commonly
|
||||||
@ -100,7 +100,7 @@ installed_tests_template = files('template.test.in')
|
|||||||
installed_tests_template_tap = files('template-tap.test.in')
|
installed_tests_template_tap = files('template-tap.test.in')
|
||||||
|
|
||||||
# Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
|
# Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
|
||||||
build_tests = get_option('tests') and (not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled)
|
build_tests = get_option('tests') and (meson.can_run_host_binaries() or installed_tests_enabled)
|
||||||
|
|
||||||
add_project_arguments('-D_GNU_SOURCE', language: 'c')
|
add_project_arguments('-D_GNU_SOURCE', language: 'c')
|
||||||
|
|
||||||
@ -662,19 +662,6 @@ if host_system != 'windows' and cc.has_function('stpcpy', prefix : '#include <st
|
|||||||
glib_conf.set('HAVE_STPCPY', 1)
|
glib_conf.set('HAVE_STPCPY', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# When building for Android-20 and earlier, require Meson 0.54.2 or newer.
|
|
||||||
# This is needed, because Meson build versions prior to 0.54.2 return false
|
|
||||||
# positive for stpcpy has_function check when building for legacy Android.
|
|
||||||
if host_system == 'android'
|
|
||||||
android_is_older = cc.compiles('''#if __ANDROID_API__ >= 21
|
|
||||||
#error Android is 21 or newer
|
|
||||||
#endif''')
|
|
||||||
if android_is_older and meson.version().version_compare('< 0.54.2')
|
|
||||||
error('Compiling for <Android-21 requires Meson 0.54.2 or newer')
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
if cc.has_function('memalign', prefix: '#include <stdlib.h>\n#include <malloc.h>')
|
if cc.has_function('memalign', prefix: '#include <stdlib.h>\n#include <malloc.h>')
|
||||||
glib_conf.set('HAVE_MEMALIGN', 1)
|
glib_conf.set('HAVE_MEMALIGN', 1)
|
||||||
endif
|
endif
|
||||||
@ -1047,7 +1034,7 @@ main(void)
|
|||||||
have_good_vsnprintf = true
|
have_good_vsnprintf = true
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
have_good_vsnprintf = meson.get_cross_property('have_c99_vsnprintf', false)
|
have_good_vsnprintf = meson.get_external_property('have_c99_vsnprintf', false)
|
||||||
glib_conf.set('HAVE_C99_VSNPRINTF', have_good_vsnprintf)
|
glib_conf.set('HAVE_C99_VSNPRINTF', have_good_vsnprintf)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -1095,7 +1082,7 @@ main(void)
|
|||||||
have_good_snprintf = true
|
have_good_snprintf = true
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
have_good_snprintf = meson.get_cross_property('have_c99_snprintf', false)
|
have_good_snprintf = meson.get_external_property('have_c99_snprintf', false)
|
||||||
glib_conf.set('HAVE_C99_SNPRINTF', have_good_snprintf)
|
glib_conf.set('HAVE_C99_SNPRINTF', have_good_snprintf)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -1122,7 +1109,7 @@ main (void)
|
|||||||
have_good_printf = true
|
have_good_printf = true
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
have_good_printf = meson.get_cross_property('have_unix98_printf', false)
|
have_good_printf = meson.get_external_property('have_unix98_printf', false)
|
||||||
glib_conf.set('HAVE_UNIX98_PRINTF', have_good_printf)
|
glib_conf.set('HAVE_UNIX98_PRINTF', have_good_printf)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -1716,7 +1703,7 @@ if cc_can_run
|
|||||||
rres = cc.run(va_list_val_copy_prog, name : 'va_lists can be copied as values')
|
rres = cc.run(va_list_val_copy_prog, name : 'va_lists can be copied as values')
|
||||||
glib_va_val_copy = rres.compiled() and rres.returncode() == 0
|
glib_va_val_copy = rres.compiled() and rres.returncode() == 0
|
||||||
else
|
else
|
||||||
glib_va_val_copy = meson.get_cross_property('va_val_copy', true)
|
glib_va_val_copy = meson.get_external_property('va_val_copy', true)
|
||||||
endif
|
endif
|
||||||
if not glib_va_val_copy
|
if not glib_va_val_copy
|
||||||
glib_vacopy = glib_vacopy + '\n#define G_VA_COPY_AS_ARRAY 1'
|
glib_vacopy = glib_vacopy + '\n#define G_VA_COPY_AS_ARRAY 1'
|
||||||
@ -1995,7 +1982,7 @@ if cc_can_run
|
|||||||
rres = cc.run(stack_grows_check_prog, name : 'stack grows check')
|
rres = cc.run(stack_grows_check_prog, name : 'stack grows check')
|
||||||
growing_stack = rres.compiled() and rres.returncode() == 0
|
growing_stack = rres.compiled() and rres.returncode() == 0
|
||||||
else
|
else
|
||||||
growing_stack = meson.get_cross_property('growing_stack', false)
|
growing_stack = meson.get_external_property('growing_stack', false)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack)
|
glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack)
|
||||||
@ -2214,7 +2201,7 @@ if cc.has_function('strlcpy')
|
|||||||
if rres.compiled() and rres.returncode() == 0
|
if rres.compiled() and rres.returncode() == 0
|
||||||
glib_conf.set('HAVE_STRLCPY', 1)
|
glib_conf.set('HAVE_STRLCPY', 1)
|
||||||
endif
|
endif
|
||||||
elif meson.get_cross_property('have_strlcpy', false)
|
elif meson.get_external_property('have_strlcpy', false)
|
||||||
glib_conf.set('HAVE_STRLCPY', 1)
|
glib_conf.set('HAVE_STRLCPY', 1)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -2271,7 +2258,7 @@ if cc_can_run
|
|||||||
rres = cc.run(cmdline_test_code, name : '/proc/self/cmdline')
|
rres = cc.run(cmdline_test_code, name : '/proc/self/cmdline')
|
||||||
have_proc_self_cmdline = rres.compiled() and rres.returncode() == 0
|
have_proc_self_cmdline = rres.compiled() and rres.returncode() == 0
|
||||||
else
|
else
|
||||||
have_proc_self_cmdline = meson.get_cross_property('have_proc_self_cmdline', false)
|
have_proc_self_cmdline = meson.get_external_property('have_proc_self_cmdline', false)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline)
|
glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline)
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = pcre-8.37
|
directory = pcre-8.45
|
||||||
source_url = https://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.bz2
|
source_url = https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.bz2
|
||||||
source_filename = pcre-8.37.tar.bz2
|
source_filename = pcre-8.45.tar.bz2
|
||||||
source_hash = 51679ea8006ce31379fb0860e46dd86665d864b5020fc9cd19e71260eef4789d
|
source_hash = 4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8
|
||||||
patch_filename = pcre_8.37-4_patch.zip
|
patch_filename = pcre_8.45-1_patch.zip
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/pcre_8.37-4/get_patch
|
patch_url = https://wrapdb.mesonbuild.com/v2/pcre_8.45-1/get_patch
|
||||||
patch_hash = c957f42da6f6378300eb8a18f4a5cccdb8e2aada51a703cac842982f9f785399
|
patch_hash = 821f9b0e5578c5b3983434465de93e30ddfceb92e331a0c9110aba6bf0634ffa
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
libpcre = pcre_dep
|
libpcre = pcre_dep
|
||||||
|
@ -46,7 +46,7 @@ test_extra_programs = {
|
|||||||
|
|
||||||
if host_machine.system() == 'windows'
|
if host_machine.system() == 'windows'
|
||||||
test_extra_programs += {
|
test_extra_programs += {
|
||||||
'spawn-test-win32-gui' : {'gui_app' : true}
|
'spawn-test-win32-gui' : {'win_subsystem' : 'windows'}
|
||||||
}
|
}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -119,6 +119,6 @@ foreach program_name, extra_args : test_extra_programs
|
|||||||
dependencies : common_deps + extra_args.get('dependencies', []),
|
dependencies : common_deps + extra_args.get('dependencies', []),
|
||||||
install_dir : installed_tests_execdir,
|
install_dir : installed_tests_execdir,
|
||||||
install : install,
|
install : install,
|
||||||
gui_app : extra_args.get('gui_app', false),
|
win_subsystem : extra_args.get('win_subsystem', 'console'),
|
||||||
)
|
)
|
||||||
endforeach
|
endforeach
|
||||||
|
Loading…
Reference in New Issue
Block a user