diff --git a/tools/builder/core.sh b/tools/builder/core.sh index 93970cca..2d0190bc 100644 --- a/tools/builder/core.sh +++ b/tools/builder/core.sh @@ -119,7 +119,7 @@ DISTS=$DISTS' xorg-macros https://www.x.org/archive//individual/util/util-macros-1.19.1.tar.bz2 share/pkgconfig/xorg-macros.pc help2man https://ftp.gnu.org/gnu/help2man/help2man-1.47.5.tar.xz bin/help2man libiconv https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz lib/libiconv.a - gettext http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.8.1.tar.xz lib/libintl.a + gettext http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.8.1.tar.xz lib/libintl.a getopt http://frodo.looijaard.name/system/files/software/getopt/getopt-1.1.6.tar.gz bin/getopt gsed http://ftp.gnu.org/gnu/sed/sed-4.4.tar.xz bin/sed bison https://ftp.gnu.org/gnu/bison/bison-3.0.5.tar.xz bin/bison @@ -128,7 +128,7 @@ DISTS=$DISTS' flex https://github.com/westes/flex/archive/e7d45afc6aeb49745f17d21ddba4848e0c0118fc.tar.gz bin/flex xmlto https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2 bin/xmlto gperf http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz bin/gperf - libicu https://github.com/unicode-org/icu/releases/download/release-63-rc/icu4c-63rc-src.tgz lib/libicud*t*.a + libicu https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz lib/libicud*t*.a pkgconfig https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz bin/pkg-config nasm http://repo.or.cz/nasm.git/snapshot/53371ddd17b685f8880c22b8b698e494e0f1059b.tar.gz bin/nasm yasm http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz bin/yasm @@ -172,7 +172,7 @@ DISTS=$DISTS' intltool https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz bin/intltoolize ninja https://github.com/ninja-build/ninja/archive/v1.9.0.tar.gz bin/ninja meson https://github.com/mesonbuild/meson/releases/download/0.51.2/meson-0.51.2.tar.gz bin/meson - glib https://github.com/GNOME/glib/archive/2.58.1.tar.gz lib/libglib-2.0.a + glib https://github.com/GNOME/glib/archive/2.62.2.tar.gz lib/libglib-2.0.a libgpg-error https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.bz2 lib/libgpg-error.a libgcrypt https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.5.tar.bz2 lib/libgcrypt.a libsecret http://ftp.gnome.org/pub/gnome/sources/libsecret/0.19/libsecret-0.19.1.tar.xz lib/libsecret-1.a @@ -266,7 +266,6 @@ DIST_CONFIGURE_TYPES="$DIST_CONFIGURE_TYPES python2 autoreconf python3 autoreconf libxml2-python python - glib autoreconf graphviz autoreconf docbook2x autoreconf libvorbis autoreconf @@ -374,7 +373,6 @@ DIST_ARGS="$DIST_ARGS graphviz --disable-ltdl --without-x --disable-swig CFLAGS=\"-include \$PWD/declspec.h \$CFLAGS\" python2 --with-ensurepip --with-system-expat python3 --with-ensurepip --with-system-expat - glib --with-libiconv=gnu bakefile --enable-shared XML-Parser EXPATINCPATH=\"\$BUILD_ROOT/root/include\" EXPATLIBPATH=\"\$BUILD_ROOT/root/lib\" doxygen -DICONV_ACCEPTS_NONCONST_INPUT:BOOL=FALSE -DICONV_ACCEPTS_CONST_INPUT:BOOL=TRUE @@ -695,7 +693,7 @@ msys2_install_core_deps() { done # install - pacman --noconfirm --needed -S make tar patch diffutils ccache perl msys2-w32api-headers msys2-runtime-devel gcc gcc-libs mpfr windows-default-manifest python python2 pass "$@" + pacman --noconfirm --needed -S make tar patch diffutils ccache perl msys2-w32api-headers msys2-runtime-devel gcc gcc-libs mpfr windows-default-manifest python python2 pass ninja "$@" # make sure msys perl takes precedence over mingw perl if the latter is installed mkdir -p "$BUILD_ROOT/root/bin" @@ -1679,12 +1677,21 @@ install_dist() { # if there is an extra prefix, like e.g. 'msys64' on msys2 before 'usr/', # remove it - if ([ "$(list_length destdir/*)" -eq 1 ] && [ ! -d destdir${prefix} ]) || \ + if ([ "$(list_length destdir/*)" -eq 1 ] && [ ! -d "destdir${prefix}" ]) || \ ([ "$(list_length destdir/*)" -eq 2 ] && [ "$(find destdir${prefix} -type f 2>/dev/null | wc -l)" -eq 0 ]); then - mv destdir/${prefix}/* tmp-usr + mv "destdir/${prefix}"/* tmp-usr rm -rf destdir/* - mkdir -p destdir${prefix%/*} - mv tmp-usr destdir${prefix} + mkdir -p "destdir${prefix%/*}" + mv tmp-usr "destdir${prefix}" + fi + + # if there is no prefix in the destdir, create it + if [ ! -d "destdir${prefix}" ]; then + find destdir -maxdepth 1 -mindepth 1 | \ + while read -r installed; do + mkdir -p "destdir${prefix}" + mv "$installed" "destdir${prefix}" + done fi # move libs out of platforms dirs like lib/x86_64-linux-gnu/ and lib64/ diff --git a/tools/builder/mingw.sh b/tools/builder/mingw.sh index 99dd18d0..fa003e9a 100644 --- a/tools/builder/mingw.sh +++ b/tools/builder/mingw.sh @@ -13,7 +13,7 @@ export CFLAGS="$CFLAGS${CFLAGS:+ }-static-libgcc -static-libstdc++ -static -lpth export CXXFLAGS="$CXXFLAGS${CXXFLAGS:+ }-static-libgcc -static-libstdc++ -static -lpthread -DMINGW_HAS_SECURE_API -lm" export OBJCXXFLAGS="$OBJCXXFLAGS${OBJCXXFLAGS:+ }-static-libgcc -static-libstdc++ -static -lpthread -DMINGW_HAS_SECURE_API -lm" export LDFLAGS="$LDFLAGS${LDFLAGS:+ }-static-libgcc -static-libstdc++ -static -lpthread -DMINGW_HAS_SECURE_API -lm" -export LIBS="-lpthread -lm" +export LIBS="-lpthread -lm -lole32" export UUID_LIBS="-luuid_mingw -luuid" @@ -282,13 +282,14 @@ table_line_append DIST_PATCHES $libicu " \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0007-actually-move-to-bin.mingw.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0008-data-install-dir.mingw.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0009-fix-bindir-in-config.mingw.patch \ - https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0010-msys-rules-for-makefiles.mingw.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0011-sbin-dir.mingw.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0012-libprefix.mingw.patch \ + https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0014-mingwize-pkgdata.mingw.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0015-debug.mingw.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0016-icu-pkgconfig.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0017-icu-config-versioning.patch \ https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0021-mingw-static-libraries-without-s.patch \ + https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-icu/0023-fix-twice-include-platform_make_fragment.patch \ " table_line_append DIST_PRE_BUILD $libicu ":; sed -E -i.bak 's/@echo -n /@printf \"%s\" /g' config/mh-mingw*;" @@ -346,7 +347,7 @@ table_line_append DIST_CONFIGURE_OVERRIDES ffmpeg "--extra-ldflags='-Wl,-allow-m table_line_append DIST_ARGS gettext "--enable-threads=windows" -table_line_append DIST_ARGS glib "--with-threads=posix --disable-libelf" +table_line_append DIST_ARGS glib -Dforce_posix_threads=true table_line_append DIST_PATCHES glib "\ https://raw.githubusercontent.com/msys2/MINGW-packages/master/mingw-w64-glib2/0001-Update-g_fopen-g_open-and-g_creat-to-open-with-FILE_.patch \ diff --git a/tools/osx/builder b/tools/osx/builder index de23f319..00317ba5 100755 --- a/tools/osx/builder +++ b/tools/osx/builder @@ -85,7 +85,6 @@ table_line_append DIST_PATCHES m4 '-p0 https://raw.githubusercontent.com/macport # these are only applicable for cross-compiling to 32 bits if [ "$target_cpu" = i386 ]; then # some dists will not cross compile without a CONFIG_SITE - table_line_append DIST_ARGS glib '--host= --build=' table_line_append DIST_ARGS pkgconfig '--host= --build=' table_line_append DIST_ARGS docbook2x '--host= --build=' diff --git a/tools/unix/builder b/tools/unix/builder index df43250d..fb9eb61b 100755 --- a/tools/unix/builder +++ b/tools/unix/builder @@ -6,6 +6,6 @@ export BUILD_ROOT="$HOME/vbam-build-unix" . "$(dirname "$0")/../builder/core.sh" -table_line_append DIST_ARGS glib '--disable-libmount' +table_line_append DIST_ARGS glib -Dlibmount=false builder "$@" diff --git a/tools/win/msys2-builder b/tools/win/msys2-builder index 5756059b..0f65fba0 100755 --- a/tools/win/msys2-builder +++ b/tools/win/msys2-builder @@ -140,6 +140,8 @@ EOF target_env_base 2>/dev/null || : } +table_line_replace DIST_BUILD_OVERRIDES ninja "python configure.py && ninja -j $NUM_CPUS && cp -af ./ninja \"\$BUILD_ROOT/root/bin\"" + table_line_append DIST_PRE_BUILD c2man ":; \ sed -i.bak '/test -d c:\\//,/^fi\$/d' Configure; \ "