builder: update core dists and macOS build

cmake:

Add cmake option `DISABLE_MACOS_PACKAGE_MANAGERS` to disable
automatically using macOS Homebrew, MacPorts or Fink.

Use `-Ofast` instead of `-O2` for default compiler optimization flags,
which enables `-ffast-math` among a few other tweaks. There is a lot of
controversy about this, but in our testing on MSVC with `/fp:fast` the
performance increase for this specific app is dramatic.

Update version regexps on the SFML headers in `FindSFML.cmake` to allow
for a variable number of spaces between the macro and its definition.

Update the version of the Sparkle update checker framework for macOS
from 1.23.0 to 2.3.0-beta.2, and add a command to the cmake commands for
copying the framework to the `.app` to delete it first if already
copied.

Builder dist changes:

Updates:

dist                    old v                   new v
==============================================================
xz                      5.2.4                   5.2.6
openssl                 1.1.1f                  1.1.1g
curl                    7.65.3                  7.85.0
ccache                  3.4.3                   4.6.3
cmake                   3.19.4                  3.24.1
autoconf                2.69                    2.71
autoconf-archive        2017.09.28              2022.09.03
libtool                 2.4.6                   2.4.7
help2man                1.47.5                  1.49.2
libiconv                1.16                    1.17
gsed                    4.4                     4.8
bison                   3.0.5                   3.8.2
texinfo                 6.5                     6.8
flex                    e7d45afc                ea6493d9
libicu                  65_1                    71_1
nasm                    2.14.02                 2.15.05
pcre                    8.41                    8.45
libffi                  3.2.1                   3.4.2
libxml2                 2.9.12                  2.10.2
libxslt                 1.1.33-rc2              1.1.37
XML-SAX                 0.99                    1.02
expat                   2.2.4                   2.4.8
libjpeg-turbo           2.0.4                   2.1.4
libtiff                 4.1.0                   4.4.0
freetype                2.10.0                  2.12.1
libgd                   2.2.5                   2.3.3
liberation              2.0.1                   2.1.5
urw                     91edd6ec                20200910
graphviz                4bf0ec9b                5.0.1
python2                 2.7.15                  2.7.18
python3                 3.9.1                   3.10.6
swig                    3.0.12                  4.0.2
doxygen                 1.8.14                  1.9.5
bakefile                33c270a5                7a218d89
XML-Parser              2.44                    2.46
ninja                   1.9.0                   1.11.1
meson                   0.51.2                  0.63.2
glib                    2.62.2                  51251940
libgpg-error            1.41                    1.45
libgcrypt               1.8.5                   1.10.1
libsecret               0.19.1                  0.20.5
sdl2                    2.0.10                  2.24.0
flac                    1.3.3                   1.3.4
libogg                  1.3.4                   1.3.5
libvorbis               1.3.6                   1.3.7
harfbuzz                1.7.5                   5.1.0
sfml                    03375688                2.5.1
shared-mime-info        1.9                     2.2
wxwidgets               9cc0c9a0                31720e1e
graphite2               ce0e793f                425da3d0
xvidcore                1.3.5                   1.3.7
fribidi                 1.0.1                   1.0.12
libgsm                  1.0.18                  1.0.22
libmodplug              5a39f591                d1b97ed0
libopencore-amrnb       0.1.5                   0.1.6
snappy                  1.1.7                   af720f9a
speex                   1.2.0                   1.2.1
vidstab                 1.1.0                   90c76aca
libvo-amrwbenc          0.1.3                   3b3fcd0d
libass                  0.14.0                  0.16.0
libbluray               1.1.2                   1.3.2
libvpx                  1.8.1                   1.12.0
libx264                 20190913-2245           f7074e12
libxavs                 distrotech-xavs-git     8300fbf4
libzmq                  4.2.2                   4.3.4
ffmpeg                  4.3.1                   5.1.1

Removed dists:

dist            ver
=========================
zlib            1.2.11
pkgconfig       0.29.2
docbook5.0      5.0
libwavpack      5.1.0

Added dists:

dist            ver
========================
zlib-ng         ce01b1e4
zstd            1.5.2
hiredis         1.0.2
pkgconf         1.9.3
pcre2           10.40
docbook5.0.1    5.0.1
docbook5.1      5.1

Changes:

Update all non-working dist URLs.

Replace zlib 1.2.11 with a recent zlib-ng built with `--zlib-compat`.

Add zstd and hiredis, new deps of ccache.

Replace pkgconfig with pkgconf.

Use both pcre1 and pcre2.

Remove the libxml2-python dist alias and rebuild libxml2 `--with-python`
and `--with-python3` after python 2 and 3 have built.

Remove libwavpack as ffmpeg 5 no longer uses it as a dependency.

Builder core:

Rename some of the directories and files to be a bit nicer.

Add `-Ofast -march=core2 -mtune=generic -pipe` to the global
`{C,CXX,OBJC,LD}FLAGS`. These are the optimization settings used by
default in the project as well, while `-pipe` significantly reduces
build time by making the compiler use pipes internally.

Add `-DFLOAT_APPROX` to the global `{CPP,C,CXX,OBJC}FLAGS` because we
are now using `-Ofast` and consequently, `-ffast-math`.

Set the `LIBRARY_PATH` variable in the global environment.

Make some adjustments for the new dist versions and make some other
improvements.

macOS builder fixes (tested on High Sierra 10.13 and Catalina 10.15):

Add support for predefined BUILD_ROOT and append BUILD_ROOT_SUFFIX.

Allow pre-defined CHECKOUT directory for building the project sources.

Sanitize `PATH` before build to remove `/usr/local` etc., use
/usr/local/bin/brew explicitly for deps instead.

If llvm and clang is installed from nix or brew, prepend the path of the
highest version found to `PATH`.

Remove `-lm` from build environment as macOS has never had an `m` math
library and this causes problems in some config checks.

Add LLVM `libunwind` from the LLVM archive.

Add a patch for `glib`'s `meson.build` to statically link
`gettext`/`libintl`, adds `-liconv -framework CoreFoundation`.

Add an extra location to check for `stdint.h` in XCode.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
Rafael Kitover 2022-11-11 14:19:47 +00:00
parent d6aa168718
commit 61b503ada4
15 changed files with 288 additions and 156 deletions

View File

@ -363,8 +363,10 @@ if(MSYS AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" CACHE INTERNAL "prefix search path for find_XXXX" FORCE)
endif()
# Add support for Homebrew, MacPorts and Fink on OS X
if(APPLE)
# Add support for Homebrew, MacPorts and Fink on macOS
option(DISABLE_MACOS_PACKAGE_MANAGERS "Set to TRUE to disable support for macOS Homebrew, MacPorts and Fink." FALSE)
if(APPLE AND NOT DISABLE_MACOS_PACKAGE_MANAGERS)
include(MacPackageManagers)
endif()
@ -609,10 +611,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL Clang AND NOT MSVC
# common optimization flags
if(NOT (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.3))
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -O2 -fomit-frame-pointer ${LTO_FLAGS})
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -Ofast -fomit-frame-pointer ${LTO_FLAGS})
else()
# LTO and -fomit-frame-pointer generate broken binaries on Lion with XCode 4.2 tools
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -O2)
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -Ofast)
endif()
# Common flags.
@ -620,15 +622,22 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL Clang AND NOT MSVC
include(CheckCXXCompilerFlag)
# Optimize for Core2 and tune for Rocketlake on macOS and Zen3 for the rest
# on X86_64.
# Require and optimize for Core2 level support, tune for generic.
if(X86_64)
set(MY_C_FLAGS ${MY_C_FLAGS} -march=core2 -mtune=generic)
# Optimize for pentium-mmx and tune for Core2 on X86_32.
# Optimize for pentium-mmx and tune for generic for older XP builds.
elseif(X86_32)
set(MY_C_FLAGS ${MY_C_FLAGS} -march=pentium-mmx -mtune=core2)
set(MY_C_FLAGS ${MY_C_FLAGS} -march=pentium-mmx -mtune=generic)
endif()
# Check for -fopenmp=libomp on clang.
# if(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
# check_cxx_compiler_flag("-fopenmp=libomp" FOPENMP_LIBOMP_FLAG)
# if(FOPENMP_LIBOMP_FLAG)
# set(MY_C_FLAGS ${MY_C_FLAGS} -fopenmp=libomp)
# endif()
# endif()
# common debug flags
if(CMAKE_COMPILER_IS_GNUCXX)
set(MY_C_DBG_FLAGS -ggdb3 -Og -fno-omit-frame-pointer)

View File

@ -89,9 +89,9 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp")
endif()
FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS)
STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_PATCH ([0-9]+).*" "\\1" SFML_VERSION_PATCH "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define *SFML_VERSION_MAJOR *([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define *SFML_VERSION_MINOR *([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define *SFML_VERSION_PATCH *([0-9]+).*" "\\1" SFML_VERSION_PATCH "${SFML_CONFIG_HPP_CONTENTS}")
if (NOT "${SFML_VERSION_PATCH}" MATCHES "^[0-9]+$")
set(SFML_VERSION_PATCH 0)
endif()

View File

@ -946,8 +946,8 @@ if(NOT TRANSLATIONS_ONLY)
if(APPLE AND ENABLE_ONLINEUPDATES)
include(FetchContent)
FetchContent_Declare(Sparkle
URL "https://github.com/sparkle-project/Sparkle/releases/download/1.23.0/Sparkle-1.23.0.tar.bz2"
URL_HASH SHA512=fa7e9736d4319bf839cd5e11177d1ddac78c38048be7e59b5c94ea76c9ffc02919dd17890295d21b7f0e35afe0ec9aba9ba36912caed6e5017420345f9f66682
URL "https://github.com/sparkle-project/Sparkle/releases/download/2.3.0-beta.2/Sparkle-2.3.0-beta.2.tar.xz"
URL_HASH SHA256=6875388aae23c1705c3956c62a9c967f4b788bc4f1dad93ab5645bc6096ef13b
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
)
FetchContent_MakeAvailable(Sparkle)
@ -963,23 +963,25 @@ if(NOT TRANSLATIONS_ONLY)
)
set(APPCAST_URL "https://data.vba-m.com/appcast.xml")
set(CCS1 mkdir -p ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks)
set(CCS1 rm -rf ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework)
set(CCS2 mkdir -p ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks)
# The following commands *should* be run to make sure Sparkle is not going
# to bug randomly (version=1.23)
set(CCS2 cp -a ${SPARKLE_FRAMEWORK} ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework)
set(CCS3 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleVersion -string "${VERSION}")
set(CCS4 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleShortVersionString -string "${VERSION}")
set(CCS5 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUEnableAutomaticChecks -bool YES)
#set(CCS6 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUPublicEDKey -string "${PUBLIC_KEY}")
set(CCS7 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUFeedURL -string "${APPCAST_URL}")
# to bug randomly.
set(CCS3 cp -a ${SPARKLE_FRAMEWORK} ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework)
set(CCS4 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleVersion -string "${VERSION}")
set(CCS5 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleShortVersionString -string "${VERSION}")
set(CCS6 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUEnableAutomaticChecks -bool YES)
#set(CCS7 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUPublicEDKey -string "${PUBLIC_KEY}")
set(CCS8 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUFeedURL -string "${APPCAST_URL}")
add_custom_command(TARGET visualboyadvance-m POST_BUILD
COMMAND ${CCS1}
COMMAND ${CCS2}
COMMAND ${CCS3}
COMMAND ${CCS4}
COMMAND ${CCS5}
#COMMAND ${CCS6}
COMMAND ${CCS7}
COMMAND ${CCS6}
#COMMAND ${CCS7}
COMMAND ${CCS8}
)
TARGET_LINK_LIBRARIES(visualboyadvance-m ${SPARKLE_FRAMEWORK})
@ -1218,7 +1220,7 @@ if(NOT TRANSLATIONS_ONLY)
if(CMAKE_BUILD_TYPE MATCHES "^(Release|MinSizeRel)$")
add_custom_command(
TARGET visualboyadvance-m POST_BUILD
COMMAND ${CMAKE_SOURCE_DIR}/tools/osx/third_party_libs_tool ./visualboyadvance-m.app
COMMAND ${CMAKE_SOURCE_DIR}/tools/macOS/third_party_libs_tool ./visualboyadvance-m.app
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
)

View File

@ -40,11 +40,11 @@ case "\$CC" in
;;
esac
export CPPFLAGS="$CPPFLAGS${CPPFLAGS:+ }-I\$BUILD_ROOT/root/include -DCURL_STATICLIB -DGRAPHITE2_STATIC"
export CFLAGS="$CFLAGS${CFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC"
export CXXFLAGS="$CXXFLAGS${CXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC"
export OBJCXXFLAGS="$OBJCXXFLAGS${OBJCXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC"
export LDFLAGS="$LDFLAGS${LDFLAGS:+ }-fPIC -L\$BUILD_ROOT/root/lib -pthread -lm"
export CPPFLAGS="$CPPFLAGS${CPPFLAGS:+ }-I\$BUILD_ROOT/root/include -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX"
export CFLAGS="$CFLAGS${CFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX -Ofast -march=core2 -mtune=generic -pipe"
export CXXFLAGS="$CXXFLAGS${CXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX -Ofast -march=core2 -mtune=generic -pipe"
export OBJCXXFLAGS="$OBJCXXFLAGS${OBJCXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX -Ofast -march=core2 -mtune=generic -pipe"
export LDFLAGS="$LDFLAGS${LDFLAGS:+ }-fPIC -L\$BUILD_ROOT/root/lib -pthread -lm -Ofast -march=core2 -mtune=generic -pipe"
export STRIP="\${STRIP:-strip}"
if [ -z "\$OPENMP" ] && echo "\$CC" | grep -Eq gcc; then
@ -58,6 +58,7 @@ fi
export CMAKE_PREFIX_PATH="\${CMAKE_PREFIX_PATH:-\$BUILD_ROOT/root}"
export PKG_CONFIG_PATH="\$BUILD_ROOT/root/lib/pkgconfig:\$BUILD_ROOT/root/share/pkgconfig"
export LIBRARY_PATH="\$BUILD_ROOT/root/lib"
export LD_LIBRARY_PATH="\$BUILD_ROOT/root/lib"
export PERL_MM_USE_DEFAULT=1
@ -103,111 +104,115 @@ PRE_BUILD_DISTS="$PRE_BUILD_DISTS bzip2 xz unzip"
DISTS=$DISTS'
bzip2 ftp://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz lib/libbz2.a
xz https://tukaani.org/xz/xz-5.2.4.tar.gz lib/liblzma.a
xz https://tukaani.org/xz/xz-5.2.6.tar.gz lib/liblzma.a
unzip https://downloads.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz bin/unzip
zlib https://www.zlib.net/zlib-1.2.11.tar.gz lib/libz.a
ccache https://www.samba.org/ftp/ccache/ccache-3.4.3.tar.xz bin/ccache
zlib-ng https://github.com/zlib-ng/zlib-ng/archive/ce01b1e41da298334f8214389cc9369540a7560f.tar.gz lib/libz.a
zip https://downloads.sourceforge.net/project/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz bin/zip
openssl https://www.openssl.org/source/openssl-1.1.1f.tar.gz lib/libssl.a
curl https://curl.haxx.se/download/curl-7.65.3.tar.xz lib/libcurl.a
cmake https://github.com/Kitware/CMake/releases/download/v3.19.4/cmake-3.19.4.tar.gz bin/cmake
openssl https://www.openssl.org/source/openssl-1.1.1g.tar.gz lib/libssl.a
curl https://curl.haxx.se/download/curl-7.85.0.tar.xz lib/libcurl.a
cmake https://github.com/Kitware/CMake/releases/download/v3.24.1/cmake-3.24.1.tar.gz bin/cmake
zstd https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz lib/libzstd.a
hiredis https://github.com/redis/hiredis/archive/refs/tags/v1.0.2.tar.gz lib/libhiredis.a
ccache https://github.com/ccache/ccache/releases/download/v4.6.3/ccache-4.6.3.tar.xz bin/ccache
m4 http://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz bin/m4
autoconf https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz bin/autoconf
autoconf-archive http://mirror.team-cymru.org/gnu/autoconf-archive/autoconf-archive-2017.09.28.tar.xz share/aclocal/ax_check_gl.m4
autoconf https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz bin/autoconf
autoconf-archive http://gnu.askapache.com/autoconf-archive/autoconf-archive-2022.09.03.tar.xz share/aclocal/ax_check_gl.m4
automake https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.xz bin/automake
libtool https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz bin/libtool
libtool https://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.xz bin/libtool
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
help2man https://ftp.gnu.org/gnu/help2man/help2man-1.49.2.tar.xz bin/help2man
libiconv https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.17.tar.gz lib/libiconv.a
gettext http://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.xz lib/libintl.a
getopt https://fossies.org/linux/misc/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
texinfo http://ftp.gnu.org/gnu/texinfo/texinfo-6.5.tar.xz bin/makeinfo
gsed http://ftp.gnu.org/gnu/sed/sed-4.8.tar.xz bin/sed
bison https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz bin/bison
texinfo http://ftp.gnu.org/gnu/texinfo/texinfo-6.8.tar.xz bin/makeinfo
flex-2.6.3 https://github.com/westes/flex/releases/download/v2.6.3/flex-2.6.3.tar.gz bin/flex
flex https://github.com/westes/flex/archive/e7d45afc6aeb49745f17d21ddba4848e0c0118fc.tar.gz bin/flex
flex https://github.com/westes/flex/archive/ea6493d9b6f1915ba096160df666637a6e1b3f20.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-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 https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.xz bin/nasm
libicu https://github.com/unicode-org/icu/releases/download/release-71-1/icu4c-71_1-src.tgz lib/libicud*t*.a
pkgconf https://github.com/pkgconf/pkgconf/archive/refs/tags/pkgconf-1.9.3.tar.gz bin/pkgconf
nasm https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz bin/nasm
yasm http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz bin/yasm
pcre https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.bz2 lib/libpcre.a
libffi ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz lib/libffi.a
pcre https://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.bz2 lib/libpcre.a
pcre2 https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2 lib/libpcre2-posix.a
libffi https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz lib/libffi.a
c2man https://github.com/fribidi/c2man/archive/577ed4095383ef5284225d45709e6b5f0598a064.tar.gz bin/c2man
libxml2 ftp://xmlsoft.org/libxml2/libxml2-2.9.12.tar.gz lib/libxml2.a
libxslt https://github.com/GNOME/libxslt/archive/v1.1.33-rc2.tar.gz lib/libxslt.a
libxml2 https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.10.2/libxml2-v2.10.2.tar.bz2 lib/libxml2.a
libxslt https://gitlab.gnome.org/GNOME/libxslt/-/archive/v1.1.37/libxslt-v1.1.37.tar.bz2 lib/libxslt.a
XML-NamespaceSupport https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz perl5/lib/perl5/XML/NamespaceSupport.pm
XML-SAX-Base https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz perl5/lib/perl5/XML/SAX/Base.pm
XML-SAX https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-0.99.tar.gz perl5/lib/perl5/XML/SAX.pm
XML-SAX https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz perl5/lib/perl5/XML/SAX.pm
docbook2x https://downloads.sourceforge.net/project/docbook2x/docbook2x/0.8.8/docbook2X-0.8.8.tar.gz bin/docbook2man
expat https://github.com/libexpat/libexpat/archive/R_2_2_4.tar.gz lib/libexpat.a
expat https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.xz lib/libexpat.a
libpng https://download.sourceforge.net/libpng/libpng-1.6.37.tar.xz lib/libpng.a
libjpeg-turbo https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.0.4.tar.gz lib/libjpeg.a
libtiff http://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz lib/libtiff.a
# libcroco http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.tar.xz lib/libcroco-0.6.a
libjpeg-turbo https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.1.4.tar.gz lib/libjpeg.a
libtiff https://download.osgeo.org/libtiff/tiff-4.4.0.tar.xz lib/libtiff.a
# libcroco http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.13.tar.xz lib/libcroco-0.6.a
libuuid https://downloads.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz lib/libuuid.a
freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.bz2 lib/libfreetype.a
freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.12.1.tar.xz lib/libfreetype.a
fontconfig https://freedesktop.org/software/fontconfig/release/fontconfig-2.13.1.tar.bz2 lib/libfontconfig.a
libgd https://github.com/libgd/libgd/releases/download/gd-2.2.5/libgd-2.2.5.tar.xz lib/libgd.a
dejavu https://downloads.sourceforge.net/project/dejavu/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2 share/fonts/dejavu/DejaVuSansMono.ttf
liberation https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-2.00.1.tar.gz share/fonts/liberation/LiberationMono-Regular.ttf
urw http://git.ghostscript.com/?p=urw-core35-fonts.git;a=snapshot;h=91edd6ece36e84a1c6d63a1cf63a1a6d84bd443a;sf=tgz share/fonts/urw/URWBookman-Light.ttf
graphviz https://gitlab.com/graphviz/graphviz/repository/archive.tar.bz2?ref=4bf0ec9b0f8320fd7ba63617e9207c1e72f816b7 bin/dot_static
libgd https://github.com/libgd/libgd/releases/download/gd-2.3.3/libgd-2.3.3.tar.xz lib/libgd.a
dejavu http://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2 share/fonts/dejavu/DejaVuSansMono.ttf
liberation https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-2.1.5.tar.gz share/fonts/liberation/LiberationMono-Regular.ttf
urw https://github.com/ArtifexSoftware/urw-base35-fonts/archive/refs/tags/20200910.tar.gz share/fonts/urw/URWBookman-Light.ttf
graphviz https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/5.0.1/graphviz-5.0.1.tar.xz bin/dot_static
docbook4.2 http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip share/xml/docbook/schema/dtd/4.2/catalog.xml
docbook4.1.2 http://www.docbook.org/xml/4.1.2/docbkx412.zip share/xml/docbook/schema/dtd/4.1.2/catalog.xml
docbook4.3 http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip share/xml/docbook/schema/dtd/4.3/catalog.xml
docbook4.4 http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip share/xml/docbook/schema/dtd/4.4/catalog.xml
docbook4.5 http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip share/xml/docbook/schema/dtd/4.5/catalog.xml
docbook5.0 http://www.docbook.org/xml/5.0/docbook-5.0.zip share/xml/docbook/schema/dtd/5.0/catalog.xml
docbook5.0.1 http://www.docbook.org/xml/5.0.1/docbook-5.0.1.zip share/xml/docbook/schema/dtd/5.0.1/catalog.xml
docbook5.1 https://docbook.org/xml/5.1/docbook-v5.1-os.zip share/xml/docbook/schema/dtd/5.0.1/catalog.xml
docbook-xsl https://downloads.sourceforge.net/project/docbook/docbook-xsl/1.79.1/docbook-xsl-1.79.1.tar.bz2 share/xml/docbook/stylesheet/docbook-xsl/catalog.xml
docbook-xsl-ns https://downloads.sourceforge.net/project/docbook/docbook-xsl-ns/1.79.1/docbook-xsl-ns-1.79.1.tar.bz2 share/xml/docbook/stylesheet/docbook-xsl-ns/catalog.xml
python2 https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz bin/python
python3 https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tar.xz bin/python3
swig https://downloads.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz bin/swig
libxml2-python ftp://xmlsoft.org/libxml2/libxml2-2.9.12.tar.gz lib/python2.7/site-packages/libxml2.py
doxygen https://downloads.sourceforge.net/project/doxygen/rel-1.8.14/doxygen-1.8.14.src.tar.gz bin/doxygen
bakefile https://github.com/vslavik/bakefile/archive/33c270a565ba0954cca9611b2443593b2e9e698a.tar.gz bin/bakefile_gen
XML-Parser https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz perl5/man/man3/XML*Parser.3*
python2 https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz bin/python
python3 https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz bin/python3
swig https://sourceforge.net/projects/swig/files/swig/swig-4.0.2/swig-4.0.2.tar.gz/download bin/swig
doxygen https://www.doxygen.nl/files/doxygen-1.9.5.src.tar.gz bin/doxygen
bakefile https://github.com/vslavik/bakefile/archive/7a218d89d860f01d64b558b7e198bb0cbc538511.tar.gz bin/bakefile_gen
XML-Parser https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz perl5/man/man3/XML*Parser.3*
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.62.2.tar.gz lib/libglib-2.0.a
libgpg-error https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.41.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
sdl2 https://www.libsdl.org/release/SDL2-2.0.10.tar.gz lib/libSDL2.a
flac https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.3.tar.xz lib/libFLAC.a
libogg http://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.xz lib/libogg.a
libvorbis https://github.com/xiph/vorbis/archive/v1.3.6.tar.gz lib/libvorbis.a
harfbuzz https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.7.5.tar.bz2 lib/libharfbuzz.a
sfml https://github.com/SFML/SFML/archive/0337568846584fffcee38036880f9f48888c8b7c.tar.gz lib/libsfml-system-s.a
shared-mime-info http://freedesktop.org/~hadess/shared-mime-info-1.9.tar.xz bin/update-mime-database
wxwidgets https://github.com/wxWidgets/wxWidgets/archive/9cc0c9a082e0c3b2a4c14e3c6811de0e3a1a3799.tar.gz lib/libwx_baseu-3.1*.a
graphite2 https://github.com/silnrsi/graphite/archive/ce0e793f22127d7ba6422d440bd83b58f864ef7e.tar.gz lib/libgraphite2.a
xvidcore http://downloads.xvid.org/downloads/xvidcore-1.3.5.tar.bz2 lib/libxvidcore.a
fribidi https://github.com/fribidi/fribidi/releases/download/v1.0.1/fribidi-1.0.1.tar.bz2 lib/libfribidi.a
libgsm http://www.quut.com/gsm/gsm-1.0.18.tar.gz lib/libgsm.a
libmodplug https://github.com/Konstanty/libmodplug/archive/5a39f5913d07ba3e61d8d5afdba00b70165da81d.tar.gz lib/libmodplug.a
libopencore-amrnb https://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.5.tar.gz lib/libopencore-amrnb.a
ninja https://github.com/ninja-build/ninja/archive/v1.11.1.tar.gz bin/ninja
meson https://github.com/mesonbuild/meson/releases/download/0.63.2/meson-0.63.2.tar.gz bin/meson
glib https://gitlab.gnome.org/GNOME/glib/-/archive/51251940640b217ed2f1bf83ce7560cecef66bb7/glib-51251940640b217ed2f1bf83ce7560cecef66bb7.tar.bz2 lib/libglib-2.0.a
libgpg-error https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.45.tar.bz2 lib/libgpg-error.a
libgcrypt https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.1.tar.bz2 lib/libgcrypt.a
libsecret https://gitlab.gnome.org/GNOME/libsecret/-/archive/0.20.5/libsecret-0.20.5.tar.bz2 lib/libsecret-1.a
sdl2 https://github.com/libsdl-org/SDL/releases/download/release-2.24.0/SDL2-2.24.0.tar.gz lib/libSDL2.a
flac https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.4.tar.xz lib/libFLAC.a
libogg http://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz lib/libogg.a
libvorbis http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz lib/libvorbis.a
harfbuzz https://github.com/harfbuzz/harfbuzz/releases/download/5.1.0/harfbuzz-5.1.0.tar.xz lib/libharfbuzz.a
sfml https://github.com/SFML/SFML/releases/download/2.5.1/SFML-2.5.1-sources.zip lib/libsfml-system-s.a
shared-mime-info https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.2/shared-mime-info-2.2.tar.bz2 bin/update-mime-database
wxwidgets https://github.com/wxWidgets/wxWidgets/archive/31720e1ee102b195265203f9e9886929bff0528d.tar.gz lib/libwx_baseu-3.*.a
graphite2 https://github.com/silnrsi/graphite/archive/425da3d08926b9cf321fc0014dfa979c24d2cf64.tar.gz lib/libgraphite2.a
xvidcore https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.bz2 lib/libxvidcore.a
fribidi https://github.com/fribidi/fribidi/releases/download/v1.0.12/fribidi-1.0.12.tar.xz lib/libfribidi.a
libgsm https://www.quut.com/gsm/gsm-1.0.22.tar.gz lib/libgsm.a
libmodplug https://github.com/Konstanty/libmodplug/archive/d1b97ed0020bc620a059d3675d1854b40bd2608d.tar.gz lib/libmodplug.a
libopencore-amrnb https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.6.tar.gz/download lib/libopencore-amrnb.a
opus https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz lib/libopus.a
snappy https://github.com/google/snappy/archive/1.1.7.tar.gz lib/libsnappy.a
snappy https://github.com/google/snappy/archive/af720f9a3b2c831f173b6074961737516f2d3a46.tar.gz lib/libsnappy.a
libsoxr https://downloads.sourceforge.net/project/soxr/soxr-0.1.3-Source.tar.xz lib/libsoxr.a
speex http://downloads.us.xiph.org/releases/speex/speex-1.2.0.tar.gz lib/libspeex.a
speex http://downloads.xiph.org/releases/speex/speex-1.2.1.tar.gz lib/libspeex.a
libtheora https://github.com/Distrotech/libtheora/archive/17b02c8c564475bb812e540b551219fc42b1f75f.tar.gz lib/libtheora.a
vidstab https://github.com/georgmartius/vid.stab/archive/v1.1.0.tar.gz lib/libvidstab.a
libvo-amrwbenc https://github.com/mstorsjo/vo-amrwbenc/archive/v0.1.3.tar.gz lib/libvo-amrwbenc.a
vidstab https://github.com/georgmartius/vid.stab/archive/90c76aca2cb06c3ff6f7476a7cd6851b39436656.tar.gz lib/libvidstab.a
libvo-amrwbenc https://github.com/mstorsjo/vo-amrwbenc/archive/3b3fcd0d250948e74cd67e7ea81af431ab3928f9.tar.gz lib/libvo-amrwbenc.a
mp3lame https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz lib/libmp3lame.a
libass https://github.com/libass/libass/releases/download/0.14.0/libass-0.14.0.tar.xz lib/libass.a
libbluray https://download.videolan.org/pub/videolan/libbluray/1.1.2/libbluray-1.1.2.tar.bz2 lib/libbluray.a
libvpx https://github.com/webmproject/libvpx/archive/v1.8.1.tar.gz lib/libvpx.a
libwavpack http://www.wavpack.com/wavpack-5.1.0.tar.bz2 lib/libwavpack.a
libx264 https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20190913-2245-stable.tar.bz2 lib/libx264.a
libass https://github.com/libass/libass/releases/download/0.16.0/libass-0.16.0.tar.xz lib/libass.a
libbluray https://download.videolan.org/pub/videolan/libbluray/1.3.2/libbluray-1.3.2.tar.bz2 lib/libbluray.a
libvpx https://github.com/webmproject/libvpx/archive/refs/tags/v1.12.0.tar.gz lib/libvpx.a
libx264 https://code.videolan.org/videolan/x264/-/archive/f7074e12d90de71f22aebd5040b8c6d31ca8f926/x264-f7074e12d90de71f22aebd5040b8c6d31ca8f926.tar.bz2 lib/libx264.a
libx265 https://github.com/videolan/x265/archive/3.4.tar.gz lib/libx265.a
libxavs https://github.com/Distrotech/xavs/archive/distrotech-xavs-git.tar.gz lib/libxavs.a
libzmq https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz lib/libzmq.a
libxavs https://github.com/Distrotech/xavs/archive/8300fbf4918bca2af1af2aee6a337815e90b51e1.tar.gz lib/libxavs.a
libzmq https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz lib/libzmq.a
# libzvbi https://downloads.sourceforge.net/project/zapping/zvbi/0.2.35/zvbi-0.2.35.tar.bz2 lib/libzvbi.a
ffmpeg https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.bz2 lib/libavformat.a
ffmpeg http://ffmpeg.org/releases/ffmpeg-5.1.1.tar.xz lib/libavformat.a
'
BUILD_FFMPEG=1
@ -215,10 +220,10 @@ BUILD_FFMPEG=1
FFMPEG_DISTS='
graphite2 xvidcore fribidi libgsm libmodplug libopencore-amrnb opus snappy
libsoxr speex libtheora vidstab libvo-amrwbenc mp3lame libass libbluray
libvpx libwavpack libx264 libx265 libxavs libzmq libzvbi ffmpeg
libvpx libx264 libx265 libxavs libzmq libzvbi ffmpeg
'
PROJECT_ARGS="-DwxWidgets_CONFIG_OPTIONS='--prefix=$BUILD_ROOT/root' -DBUILD_TESTING=NO"
PROJECT_ARGS="-DDISABLE_MACOS_PACKAGE_MANAGERS=TRUE -DwxWidgets_CONFIG_EXECUTABLE='$BUILD_ROOT/root/bin/wx-config' -DwxWidgets_CONFIG_OPTIONS='--prefix=$BUILD_ROOT/root' -DBUILD_TESTING=NO"
: ${PATH_SEP:=':'}
@ -238,11 +243,10 @@ fi
export CONFIGURE_ARGS="$CONFIGURE_ARGS --disable-shared --enable-static $CONFIGURE_INSTALL_ARGS"
export CMAKE_ARGS="$CMAKE_BASE_ARGS $CMAKE_ARGS $CMAKE_INSTALL_ARGS"
export MESON_ARGS="$MESON_BASE_ARGS --buildtype release --default-library static -Dintrospection=false $MESON_INSTALL_ARGS"
export MESON_ARGS="$MESON_BASE_ARGS --buildtype release --default-library static $MESON_INSTALL_ARGS"
DIST_PATCHES=$DIST_PATCHES'
docbook2x https://gist.githubusercontent.com/rkitover/0b5dcc95a0703a9b0e0e7eb6d325a98e/raw/e256d2fad8d19633ac8abe02a0d1e119063d1fd9/docbook2x.patch
ccache https://gist.githubusercontent.com/rkitover/4dd30c2841a2131be8715038f538d622/raw/40a8f0f50aa6ca5f9658a0c37aa17393cc80c109/ccache-3.4.2-msys.patch
graphite2 https://gist.githubusercontent.com/rkitover/e753f41a7f6461ad412c2d076ec24e0f/raw/d0c2b8cccd556e407e15da8a2e739a902bd1a3b5/graphite2-static-cmake-opts.patch
python2 https://gist.githubusercontent.com/rkitover/2d9e5baff1f1cc4f2618dee53083bd35/raw/7f33fcf5470a9f1013ac6ae7bb168368a98fe5a0/python-2.7.14-custom-static-openssl.patch https://gist.githubusercontent.com/rkitover/afab7ed3ac7ce1860c43a258571c8ae1/raw/6f5fc90a7acf5f5c3ffda2edf402b28f469a4b3b/python-2.7.14-static-libintl.patch
intltool https://gist.githubusercontent.com/rkitover/d638882f52e5d5f8e392cbf6842cd6d0/raw/dcfbe358bbb8b89f88b40a9c3402494552fd33f8/intltool-0.51.0.patch
@ -254,12 +258,12 @@ DIST_TAR_ARGS="$DIST_TAR_ARGS
DIST_CONFIGURE_TYPES="$DIST_CONFIGURE_TYPES
unzip make
zip make
pkgconf autoreconf_noargs
fontconfig autoreconf
libgd autoreconf
harfbuzz autoconf
python2 autoreconf
python3 autoreconf
libxml2-python python
graphviz autoreconf
docbook2x autoreconf
libvorbis autoreconf
@ -279,16 +283,17 @@ DIST_PRE_BUILD="$DIST_PRE_BUILD
flex mkdir -p build-aux; touch build-aux/config.rpath; mkdir -p po; touch po/Makefile.in.in; sed -i.bak '/po \\\\$/d' Makefile.am;
fontconfig sed -i.bak 'd;q' test/Makefile.am;
python3 sed -i.bak '/-Wl,-stack_size,/d' configure.ac;
libxml2-python sh autogen.sh \"--with-python=\$BUILD_ROOT/root/bin/python3\"; cd python; \
sed -i.bak \"s,^ROOT = .*,ROOT = os.getenv('BUILD_ROOT') + '/root',; s|^\\( *platformLibs = \\[ *[^]].*\\)\\] *\$|\\1, 'lzma', 'iconv', 'intl']|\" setup.py;
bakefile sed -i.bak '/SUBDIRS = doc/d' Makefile.am;
unzip rm -f unix/Contents; ln -sf \$(find unix -mindepth 1 -maxdepth 1) .;
zip rm -f unix/Contents; ln -sf \$(find unix -mindepth 1 -maxdepth 1) .;
gettext sed -i.bak 's/-Wl,--disable-auto-import//' m4/woe32-dll.m4;
expat cd expat; \
sed -i.bak '/doc\\/Makefile/d' configure.ac; \
sed -i.bak '/SUBDIRS/{; s/ doc//; }' Makefile.am; \
sed -i.bak 's/cp \\\$</mv \$</' doc/doc.mk;
glib cd subprojects/gvdb; \
curl -sLO 'https://gitlab.gnome.org/GNOME/gvdb/-/archive/0854af0fdb6d527a8d1999835ac2c5059976c210/gvdb-0854af0fdb6d527a8d1999835ac2c5059976c210.tar.bz2'; \
tar --strip-components=1 -jxf gvdb-0854af0fdb6d527a8d1999835ac2c5059976c210.tar.bz2; \
rm gvdb-0854af0fdb6d527a8d1999835ac2c5059976c210.tar.bz2; \
cd ../..;
expat sed -i.bak '/doc\\/Makefile/d' configure.ac; \
sed -i.bak '/SUBDIRS/{; s/ doc//; }' Makefile.am;
graphviz sed -i.bak 's/ -export-symbols/ -Wl,-export-symbols/g' \$(find . -name Makefile.am); \
putsln '#define __declspec(x)' > declspec.h;
harfbuzz touch test/CMakeLists.txt;
@ -305,31 +310,35 @@ DIST_PRE_BUILD="$DIST_PRE_BUILD
XML-SAX sed -i.bak 's/-MXML::SAX/-Mblib -MXML::SAX/' Makefile.PL;
docbook2x sed -i.bak 's/^\\( *SUBDIRS *= *.*\\)doc\\(.*\\)\$/\1\2/' Makefile.am; \
sed -i.bak 's/^\\( *SUBDIRS *= *.*\\)documentation\\(.*\\)\$/\1\2/' xslt/Makefile.am;
hiredis sed -i.bak 's/ SHARED / STATIC /' CMakeLists.txt;
"
DIST_POST_BUILD="$DIST_POST_BUILD
harfbuzz rebuild_dist freetype --with-harfbuzz=yes;
pkgconf ln -sf \"\$BUILD_ROOT/root/bin/pkgconf\" \"\$BUILD_ROOT/root/bin/pkg-config\";
harfbuzz rebuild_dist freetype -Dharfbuzz=enabled;
flex-2.6.3 build_dist flex || :;
libtool ln -sf \"\$BUILD_ROOT/root/bin/libtoolize\" \"\$BUILD_ROOT/root/bin/glibtoolize\";
glib rebuild_dist gettext --without-included-glib --without-included-libxml;
# graphviz (cd \"\$BUILD_ROOT/root/bin\"; path_exists dot_static && ! path_exists dot && ln -sf \"\$BUILD_ROOT/root/bin/dot_static\" ./dot || :);
libxml2 mkdir -p \"\$BUILD_ROOT/root/etc/xml\"; \
xmlcatalog --noout --create \"\$(cygpath -m \"\$BUILD_ROOT/root/etc/xml/catalog.xml\")\" || :;
python2 pip2 install six;
python3 pip3 install six;
python2 python2 -m pip install six;
python3 python3 -m pip install six; \
rebuild_dist libxml2 --with-python --with-python3;
fontconfig mkdir -p \"\$BUILD_ROOT/root/etc/fonts\"; \
touch \"\$BUILD_ROOT/root/etc/fonts/fonts.conf\"; \
sed -i.bak \"s|/usr/share/fonts|\$BUILD_ROOT/root/share/fonts|g\" \"\$BUILD_ROOT/root/etc/fonts/fonts.conf\";
ffmpeg sed -i.bak 's/-lX11/ /g' \$BUILD_ROOT/root/lib/pkgconfig/libavutil.pc
"
DIST_CONFIGURE_OVERRIDES="$DIST_CONFIGURE_OVERRIDES
zlib-ng ./configure --prefix=/usr --static --zlib-compat
openssl ./config no-shared --prefix=/usr --openssldir=/etc/ssl
cmake ./configure --prefix=/usr --no-qt-gui --parallel=\$NUM_CPUS --enable-ccache
zlib ./configure --prefix=/usr --static
XML-SAX echo no | PERL_MM_USE_DEFAULT=0 perl Makefile.PL
cmake ./configure --prefix=/usr --no-qt-gui --parallel=\$NUM_CPUS
XML-SAX echo no | PERL_MM_USE_DEFAULT=0 \"\$perl\" Makefile.PL
wxwidgets ./configure \$CONFIGURE_REQUIRED_ARGS --disable-shared --prefix=/usr --enable-stl --disable-precomp-headers --enable-cxx11 --enable-permissive --with-opengl --with-libpng
libvpx ./configure --disable-shared --enable-static --prefix=/usr --disable-unit-tests --disable-tools --disable-docs --disable-examples
ffmpeg ./configure --disable-shared --enable-static --prefix=/usr --pkg-config-flags=--static --enable-nonfree --extra-version=tessus --enable-fontconfig --enable-gpl --enable-version3 --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-openssl --enable-lzma --extra-cflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-cxxflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-objcflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-libs=-liconv
ffmpeg ./configure --disable-shared --enable-static --prefix=/usr --pkg-config-flags=--static --enable-nonfree --extra-version=tessus --enable-fontconfig --enable-gpl --enable-version3 --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-openssl --enable-lzma --extra-cflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-cxxflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-objcflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-libs=-liconv --cc=\"\$CC\" --cxx=\"\$CXX\"
"
DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
@ -337,7 +346,6 @@ DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
sed -i.bak \"s|/[^ ][^ ]*/libfl[.][^ ]*|-L\$BUILD_ROOT/root/lib -lfl|\" Makefile; \
make -j\$NUM_CPUS; \
make install bin=\"\$BUILD_ROOT/root/bin\" mansrc=\"\$BUILD_ROOT/root/share/man/man1\" privlib=\"\$BUILD_ROOT/root/lib/c2man\"
libxml2-python python setup.py build install && python3 setup.py build install
setuptools python bootstrap.py; python easy_install.py .
pip easy_install .
ninja python configure.py --bootstrap && cp -af ./ninja \"\$BUILD_ROOT/root/bin\"
@ -348,7 +356,8 @@ DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
docbook4.3 install_docbook_dist schema
docbook4.4 install_docbook_dist schema
docbook4.5 install_docbook_dist schema
docbook5.0 install_docbook_dist schema
docbook5.0.1 install_docbook_dist schema
docbook5.1 install_docbook_dist schema
docbook-xsl install_docbook_dist stylesheet
docbook-xsl-ns install_docbook_dist stylesheet
dejavu install_fonts
@ -357,31 +366,35 @@ DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
"
DIST_ARGS="$DIST_ARGS
libicu --disable-extras --disable-tools --disable-tests --disable-samples
pkgconf --disable-tests
libicu --disable-extras --disable-tools --disable-tests --disable-samples --with-library-bits=64
gettext --with-included-gettext --with-included-glib --with-included-libcroco --with-included-libunistring --with-included-libxml --disable-curses CPPFLAGS=\"\$CPPFLAGS -DLIBXML_STATIC\"
pkgconfig --with-internal-glib --with-libiconv=gnu
curl --with-ssl --without-brotli
pcre --enable-utf8 --enable-pcre8 --enable-pcre16 --enable-pcre32 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2 --enable-jit
pcre --enable-utf --enable-unicode-properties --enable-pcre16 --enable-pcre32 --enable-jit
pcre2 --enable-utf8 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2 --enable-jit
libxslt --without-python --without-crypto
libgd --without-xpm
fontconfig --with-baseconfigdir=/etc/fonts
graphviz --disable-ltdl --without-x --disable-swig CFLAGS=\"-include \$PWD/declspec.h \$CFLAGS\" CC=\"\$CXX\"
python2 --with-ensurepip --with-system-expat
python3 --with-ensurepip --with-system-expat
python2 --with-ensurepip=install --with-system-expat
python3 --with-ensurepip=install --with-system-expat
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
sfml -DSFML_USE_SYSTEM_DEPS=TRUE
libcroco --disable-Bsymbolic
snappy -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF
libjpeg-turbo -DWITH_JPEG8=ON -DWITH_SIMD=OFF
libtiff --disable-lzma --disable-webp
freetype --with-harfbuzz=no
freetype -Dharfbuzz=disabled
harfbuzz --with-cairo=no --with-icu=no
graphite2 -DGRAPHITE2_NFILEFACE=ON -DGRAPHITE2_TESTS=OFF -DGRAPHITE2_DOCS=OFF
flac --disable-ogg
libsoxr -DWITH_OPENMP=NO
libxavs --disable-asm
libzvbi --without-x
libxml2 --without-python
libxml2 --without-python --without-python3
libbluray --disable-bdjava-jar --disable-examples
libopencore-amrnb --disable-compile-c
vidstab -DUSE_OMP=NO
@ -389,7 +402,7 @@ DIST_ARGS="$DIST_ARGS
libx265 -DHIGH_BIT_DEPTH=ON -DENABLE_ASSEMBLY=OFF -DENABLE_CLI=OFF
"
export DIST_BARE_MAKE_ARGS='CC="$CC"'
export DIST_BARE_MAKE_ARGS='CC="$CC" CXX="$CXX" LD="$CXX"'
export ALL_MAKE_ARGS='V=1 VERBOSE=1'
@ -411,6 +424,7 @@ DIST_MAKE_INSTALL_ARGS="$DIST_MAKE_INSTALL_ARGS
"
DIST_EXTRA_LDFLAGS="$DIST_EXTRA_LDFLAGS
python2 -lffi
glib -liconv
graphviz -lpcreposix
doxygen -lintl -liconv
@ -420,6 +434,7 @@ DIST_EXTRA_LDFLAGS="$DIST_EXTRA_LDFLAGS
DIST_EXTRA_CXXFLAGS="$DIST_EXTRA_CXXFLAGS
gperf -std=gnu++11
doxygen -std=gnu++11
sfml -std=gnu++11
wxwidgets -std=gnu++11
libmodplug -std=gnu++11
libopencore-amrnb -std=gnu++11
@ -445,6 +460,8 @@ builder() {
read_command_line "$@"
install_core_deps
setup_perl
setup_meson
setup_ninja
delete_outdated_dists
pre_build_all
build_prerequisites
@ -547,7 +564,7 @@ export MAKEFLAGS=-j$NUM_CPUS
"
eval "$BUILD_ENV"
CHECKOUT=$(find_checkout)
: ${CHECKOUT:=$(find_checkout)}
TMP_DIR=${TMP_DIR:-/tmp/builder-$$}
@ -583,9 +600,56 @@ num_cpus() {
}
setup_perl() {
if command -v perl >/dev/null; then
if [ -x /usr/local/bin/perl ]; then
perl=/usr/local/bin/perl
else
perl=$(command -v perl || :)
fi
if [ -n "$perl" ]; then
if [ -n "$msys2" ] || [ -n "$cygwin" ]; then
ln -sf "$perl" "$BUILD_ROOT/root/bin/perl.exe"
perl="$BUILD_ROOT/root/bin/perl.exe"
else
ln -sf "$perl" "$BUILD_ROOT/root/bin/perl"
fi
if ! command -v cpanm >/dev/null; then
perl -MApp::Cpan -e 'App::Cpan->run' -- -f -i App::cpanminus
"$perl" -MApp::Cpan -e 'App::Cpan->run(qw/-f -i App::cpanminus/)'
fi
fi
}
setup_meson() {
if [ -x /usr/local/bin/meson ]; then
meson=/usr/local/bin/meson
else
meson=$(command -v meson || :)
fi
if [ -n "$meson" ]; then
if [ -n "$msys2" ] || [ -n "$cygwin" ]; then
ln -sf "$meson" "$BUILD_ROOT/root/bin/meson.exe"
meson="$BUILD_ROOT/root/bin/meson.exe"
else
ln -sf "$meson" "$BUILD_ROOT/root/bin/meson"
fi
fi
}
setup_ninja() {
if [ -x /usr/local/bin/ninja ]; then
ninja=/usr/local/bin/ninja
else
ninja=$(command -v ninja || :)
fi
if [ -n "$ninja" ]; then
if [ -n "$msys2" ] || [ -n "$cygwin" ]; then
ln -sf "$ninja" "$BUILD_ROOT/root/bin/ninja.exe"
ninja="$BUILD_ROOT/root/bin/ninja.exe"
else
ln -sf "$ninja" "$BUILD_ROOT/root/bin/ninja"
fi
fi
}
@ -718,7 +782,6 @@ msys2_install_core_deps() {
# make sure msys perl takes precedence over mingw perl if the latter is installed
mkdir -p "$BUILD_ROOT/root/bin"
ln -sf /usr/bin/perl.exe "$BUILD_ROOT/root/bin/perl.exe"
# alias python2 to python
ln -sf /usr/bin/python2.exe "$BUILD_ROOT/root/bin/python.exe"
@ -765,11 +828,11 @@ mac_install_core_deps() {
error 'Please install XCode and the XCode Command Line Tools, then run this script again. On newer systems this can be done with: ;xcode-select --install'
fi
if ! command -v brew >/dev/null; then
if ! [ -x /usr/local/bin/brew ]; then
error 'Please install Mac Homebrew: ;https://brew.sh/'
fi
brew -v install perl meson
/usr/local/bin/brew install -q perl meson ninja
}
setup_tmp_dir() {
@ -1431,7 +1494,7 @@ build_dist() {
fi
check_install_artifact "$current_dist"
elif [ "$config_type" = autoconf -o "$config_type" = autoreconf ] || [ -z "$config_type" -a \( -f configure -o -f Configure -o -f configure.ac -o -f configure.in -o -f Makefile.am \) ]; then
elif [ "$config_type" = autoconf -o "$config_type" = autoreconf -o "$config_type" = autoreconf_noargs ] || [ -z "$config_type" -a \( -f configure -o -f Configure -o -f configure.ac -o -f configure.in -o -f Makefile.am \) ]; then
# workaround a sometimes autoconf bug
touch config.rpath
@ -1441,20 +1504,23 @@ build_dist() {
else
autogen=
if [ "$config_type" = autoreconf ] || [ ! -f configure ]; then
if [ "$config_type" = autoreconf -o "$config_type" = autoreconf_noargs ] || [ ! -f configure ]; then
autogen=1
if [ "$config_type" != autoreconf_noargs ]; then
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
else
set --
fi
if [ -f autogen.sh ]; then
chmod +x autogen.sh
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
echo_run ./autogen.sh "$@"
elif [ -f buildconf.sh ]; then
chmod +x buildconf.sh
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
echo_run ./buildconf.sh "$@"
elif [ -f bootstrap ]; then
chmod +x bootstrap
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
echo_run ./bootstrap "$@"
else
if [ -d m4 ]; then
@ -1574,18 +1640,18 @@ build_dist() {
check_install_artifact "$current_dist"
elif [ "$config_type" = python ] || [ -z "$config_type" -a -f setup.py ]; then
if [ -z "$install_override" ]; then
pip=
set --
if grep -Eq 'Python :: 3' PKG-INFO 2>/dev/null; then
pip=pip3
set -- 'python3 -m pip'
fi
if grep -Eq 'Python :: 2' PKG-INFO 2>/dev/null; then
pip="$pip pip2"
set -- "$@" 'python2 -m pip'
fi
# default to python2 if no package info
[ -z "$pip" ] && pip=pip
[ "$#" = 0 ] && set -- 'python2 -m pip'
for pip in $pip; do
for pip in "$@"; do
if [ -n "$configure_override" ]; then
eval "set -- $extra_dist_args"
echo_eval_run "$configure_override $@"
@ -1607,7 +1673,7 @@ build_dist() {
echo_eval_run "$configure_override $@"
else
eval "set -- $(dist_args "$current_dist" perl) $extra_dist_args"
echo_run perl Makefile.PL "$@"
echo_run "$perl" Makefile.PL "$@"
fi
dist_post_configure "$current_dist"
@ -1680,11 +1746,16 @@ make_install() {
cd ..
ORIG_LIBRARY_PATH="$LIBRARY_PATH"
unset LIBRARY_PATH
if grep -Eq 'DESTDIR|cmake_install\.cmake' $(find . -name Makefile -o -name makefile -o -name '*.mk' -o -name '*.mak') 2>/dev/null; then
echo_eval_run make install $(dist_make_args $current_dist) prefix="${prefix}" PREFIX="${prefix}" DESTDIR="$PWD/destdir" "$@" || :
else
echo_eval_run make install $(dist_make_args $current_dist) prefix="$PWD/destdir${prefix}" PREFIX="$PWD/destdir${prefix}" INSTALL_PREFIX="$PWD/destdir${prefix}" INSTALL_ROOT="$PWD/destdir${prefix}" INSTALLTOP="/..${prefix}/" "$@" || :
fi
export LIBRARY_PATH="$ORIG_LIBRARY_PATH"
}
# assumes make install has run into ./destdir

View File

@ -43,14 +43,40 @@ if [ "$target_bits" -eq 32 ] && [ -d /Applications/Xcode9.app ]; then
sudo xcode-select -s /Applications/Xcode9.app/Contents/Developer
fi
# Unlink brew wxwidgets if installed because it interferes with ours.
brew unlink wxwidgets >/dev/null 2>&1
export BUILD_ROOT="${BUILD_ROOT:-$HOME/vbam-build-mac-${target_bits}bit}$BUILD_ROOT_SUFFIX"
export BUILD_ROOT="$HOME/vbam-build-mac-${target_bits}bit"
ver_file=$(mktemp)
sw_vers -productVersion | sed 's/\./ /g' > "$ver_file"
read -r macos_major macos_minor macos_patch < "$ver_file"
rm -f "$ver_file"
# Find the highest version clang and llvm in Nix or Homebrew.
best_llvm=$(
(
for nix_clang in $(find /nix/store -maxdepth 1 -type d -name '*-clang-[0-9]*[0-9]'); do
llvm_ver=$(echo "$nix_clang" | sed -E 's/.*-([0-9][0-9.]*[0-9])$/\1/')
nix_llvm=$(find /nix/store -maxdepth 1 -type d -name '*-llvm-'"$llvm_ver")
if [ -x "$nix_clang/bin/clang++" ]; then
echo "$nix_clang:$nix_llvm $($nix_clang/bin/clang++ --version | head -1 | awk '{ print $NF }')"
fi
done
for brew_llvm in $(find /usr/local/opt -maxdepth 1 -type l -name 'llvm*'); do
if [ -x "$brew_llvm/bin/clang++" ]; then
echo "$brew_llvm $($brew_llvm/bin/clang++ --version | head -1 | awk '{ print $NF }')"
fi
done
) | sort -k2,2 -V -r | head -1 | awk '{ print $1 }'
)
BUILD_ENV=$(cat <<EOF
export MACOSX_DEPLOYMENT_TARGET=10.7
export COMMAND_MODE=unix2003
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
[ -n "$best_llvm" ] && export PATH="$best_llvm/bin:\$PATH"
export CC=clang
export CXX=clang++
export CPPFLAGS="-DICONV_CONST="
@ -65,6 +91,7 @@ EOF
)
export BUILD_ENV
export TAR=tar
if [ "$target_cpu" = i386 ]; then
@ -73,10 +100,20 @@ fi
. "$(dirname "$0")/../builder/core.sh"
# Remove -lm, macOS does not use it and it can cause build failures.
BUILD_ENV=$(printf '%s' "$BUILD_ENV" | sed 's/ -lm / /g')
export BUILD_ENV
for dist in flex libsecret c2man graphviz zip; do
table_line_remove DISTS "$dist"
done
# LLVM libunwind.
table_insert_after DISTS cmake '
libunwind https://github.com/llvm-mirror/libunwind/archive/3e6ec2ae9afaa3683269b690612f84d907943ea2.tar.gz lib/libunwind.a
'
# issues with perl modules linked to our libs and brew perl
table_line_remove DISTS shared-mime-info
@ -92,13 +129,29 @@ else
table_line_replace DIST_CONFIGURE_OVERRIDES openssl './Configure darwin64-x86_64-cc no-shared --prefix=/usr --openssldir=/etc/ssl'
fi
table_line_append DIST_EXTRA_CFLAGS libogg "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
table_line_append DIST_PATCHES glib " \
https://gist.githubusercontent.com/rkitover/05fb70a11cc8ddcea11230b4dc5fd48b/raw/b44288a2357acd4da62ee5f07ee106d36c91b887/macOS-glib-link-static-libintl-gettext.patch \
"
table_line_append DIST_EXTRA_CFLAGS libvorbis "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
stdint_h=
table_line_append DIST_EXTRA_CFLAGS libtheora "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
if [ -f "$(xcode-select -p)/SDKs/MacOSX.sdk/usr/include/stdint.h" ]; then
stdint_h="\"$(xcode-select -p)\"/SDKs/MacOSX.sdk/usr/include/stdint.h"
elif [ -f "$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h" ]; then
stdint_h="\"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
else
die "Can't find macOS SDK 'stdint.h'"
fi
table_line_append DIST_EXTRA_CFLAGS ffmpeg "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
table_line_append DIST_EXTRA_CFLAGS libogg "-include $stdint_h"
table_line_append DIST_EXTRA_CFLAGS libvorbis "-include $stdint_h"
table_line_append DIST_EXTRA_CFLAGS libtheora "-include $stdint_h"
table_line_append DIST_EXTRA_CFLAGS ffmpeg "-include $stdint_h"
table_line_append DIST_MAKE_ARGS unzip "LD=clang"
# -Wl,-no_compact_unwind must be passed in LDFLAGS to openssl
table_line_append DIST_MAKE_ARGS openssl "LDFLAGS=\"\$LDFLAGS\""
@ -151,6 +204,3 @@ if [ -n "$PREV_XCODE" ]; then
printf "\nRe-setting '$PREV_XCODE' as the default Xcode...\n\n"
sudo xcode-select -s "$PREV_XCODE"
fi
# Link brew wxwidgets back if installed.
brew link wxwidgets >/dev/null 2>&1