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@xxxxxxxxxx> --- 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 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo