[Libosinfo] [osinfo-db-tools PATCH 4/8] prepare-release: Adapt to use meson
Fabiano Fidêncio
fidencio at redhat.com
Thu Jun 20 15:21:23 UTC 2019
Let's adapt the prepare-release script to use meson build system instead
of autotools.
This change has been tested and is working fine on Fedora 30+.
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
prepare-release.sh | 83 ++++++++++++++--------------------------------
1 file changed, 25 insertions(+), 58 deletions(-)
diff --git a/prepare-release.sh b/prepare-release.sh
index 731b4e4..ea67322 100755
--- a/prepare-release.sh
+++ b/prepare-release.sh
@@ -7,90 +7,57 @@ test -n "$1" && RESULTS=$1 || RESULTS=results.log
INSTALL_ROOT=$HOME/builder
# Make things clean.
-test -f Makefile && make -k distclean || :
+git clean -xfd || :
-rm -rf build
-mkdir build
-cd build
+meson build --prefix=$INSTALL_ROOT --werror
-../autogen.sh --prefix=$INSTALL_ROOT \
- --enable-werror --enable-gtk-doc
-
-# If the MAKEFLAGS envvar does not yet include a -j option,
-# add -jN where N depends on the number of processors.
-case $MAKEFLAGS in
- *-j*) ;;
- *) n=$(getconf _NPROCESSORS_ONLN 2> /dev/null)
- test "$n" -gt 0 || n=1
- n=$(expr $n + 1)
- MAKEFLAGS="$MAKEFLAGS -j$n"
- export MAKEFLAGS
- ;;
-esac
-
-make
-make install
+ninja -C build
+ninja -C build install
# set -o pipefail is a bashism; this use of exec is the POSIX alternative
exec 3>&1
st=$(
exec 4>&1 >&3
- { make check syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
+ { ninja -C build test 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
)
exec 3>&-
test "$st" = 0
-rm -f *.tar.gz
-make dist
+ninja -C build dist
if [ -f /usr/bin/rpmbuild ]; then
rpmbuild --nodeps \
- --define "_sourcedir `pwd`" \
- -ba --clean osinfo-db-tools.spec
+ --define "_sourcedir `pwd`/build/meson-dist/" \
+ -ba --clean build/osinfo-db-tools.spec
fi
# Test mingw32 cross-compile
-if test -x /usr/bin/i686-w64-mingw32-gcc ; then
- make distclean
-
- PKG_CONFIG_PATH="$INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
- CC="i686-w64-mingw32-gcc" \
- ../configure \
- --build=$(uname -m)-pc-linux \
- --host=i686-w64-mingw32 \
- --prefix="$INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
- --enable-werror \
- --enable-introspection=no \
- --enable-tests=no
-
- make
- make install
+if test -x /usr/bin/i686-w64-mingw32-gcc && test -r /usr/share/mingw/toolchain-mingw32.meson ; then
+ git clean -xfd || :
+ meson build --prefix="$INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" --werror --cross-file="/usr/share/mingw/toolchain-mingw32.meson"
+ ninja -C build
+ ninja -C build install
fi
# Test mingw64 cross-compile
-if test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
- make distclean
-
- PKG_CONFIG_PATH="$INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
- CC="x86_64-w64-mingw32-gcc" \
- ../configure \
- --build=$(uname -m)-pc-linux \
- --host=x86_64-w64-mingw32 \
- --prefix="$INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
- --enable-werror \
- --enable-introspection=no \
- --enable-tests=no
+if test -x /usr/bin/x86_64-w64-mingw32-gcc && test -r /usr/share/mingw/toolchain-mingw64.meson ; then
+ git clean -xfd || :
- make
- make install
+ meson build --prefix="$INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw" --werror --cross-file="/usr/share/mingw/toolchain-mingw64.meson"
+ ninja -C build
+ ninja -C build install
fi
-if test -x /usr/bin/i686-w64-mingw32-gcc && test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
+if test -x /usr/bin/i686-w64-mingw32-gcc && test -r /usr/share/mingw/toolchain-mingw32.meson && test -x /usr/bin/x86_64-w64-mingw32-gcc && test -r /usr/share/mingw/toolchain-mingw64.meson ; then
+ git clean -xfd || :
+ meson build
+ ninja -C build dist
+
if test -f /usr/bin/rpmbuild ; then
rpmbuild --nodeps \
- --define "_sourcedir `pwd`" \
- -ba --clean mingw-osinfo-db-tools.spec
+ --define "_sourcedir `pwd`/build/meson-dist/" \
+ -ba --clean build/mingw-osinfo-db-tools.spec
fi
fi
--
2.21.0
More information about the Libosinfo
mailing list