1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-19 14:50:07 +03:00

meson: Install a xml2-config script

This one does not need build-time configuration but forwards to
`pkg-config` instead. It is mostly (and hopefully sufficiently)
compatible with the script installed by autotools.
This commit is contained in:
Jan Alexander Steffens (heftig) 2025-03-13 18:32:18 +01:00
parent 5c0484c3e6
commit 76c6ddfef9
No known key found for this signature in database
GPG Key ID: B8AC08600F108CDF
2 changed files with 66 additions and 1 deletions

View File

@ -254,7 +254,7 @@ endforeach
# [X] libxml-2.0.pc.in
# [X] libxml2-config.cmake.in
# [X] python/setup.py.in
# [N] xml2-config.in
# [X] xml2-config.in
## config.h
config_h = configuration_data()
@ -600,6 +600,15 @@ configure_file(
install_dir: dir_lib / 'cmake' / meson.project_name(),
)
## xml2-config script
install_data(
'xml2-config-meson',
install_dir: dir_bin,
install_mode: 'rwxr-xr-x',
rename: 'xml2-config',
)
# summary
summary(

56
xml2-config-meson Executable file
View File

@ -0,0 +1,56 @@
#!/bin/sh
usage() {
cat <<EOF
${2:+$2
}Usage: xml2-config <OPTION...>
Options:
--prefix print libxml prefix
--prefix=DIR change libxml prefix
--libs print library linking information
--dynamic skip libraries only necessary for static linking
--cflags print pre-processor and compiler flags
--modules module support enabled
--help display this help and exit
--version output version information
EOF
exit "$1"
}
if [ "$#" -lt 1 ]; then
usage 1 "Need at least one option."
fi
prefix=0
set_prefix=
libs=0
libflag=--static
cflags=0
modules=0
version=0
for arg in "$@"; do
case $arg in
--prefix) prefix=1 ;;
--prefix=*) set_prefix="${arg#*=}" ;;
--libs) libs=1 ;;
--dynamic) libflag=--shared ;;
--cflags) cflags=1 ;;
--modules) modules=1 ;;
--help) usage 0 ;;
--version) version=1 ;;
*) usage 1 "Unknown option: $arg" ;;
esac
done
set --
[ "$prefix" -eq 1 ] && set -- "$@" --variable=prefix
[ -n "$set_prefix" ] && set -- "$@" --define-variable=prefix="$set_prefix"
[ "$libs" -eq 1 ] && set -- "$@" --libs "$libflag"
[ "$cflags" -eq 1 ] && set -- "$@" --cflags
[ "$modules" -eq 1 ] && set -- "$@" --variable=modules
[ "$version" -eq 1 ] && set -- "$@" --modversion
exec ${PKG_CONFIG:-pkg-config} "$@" libxml-2.0