2018-06-17 23:01:40 +00:00
|
|
|
#!/usr/local/bin/bash
|
2017-10-12 08:32:18 +00:00
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2020-06-07 12:38:48 +00:00
|
|
|
LANG=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C LC_ALL=C
|
|
|
|
export LANG LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LC_ALL
|
|
|
|
|
2018-06-17 23:01:40 +00:00
|
|
|
## bash 3 does not work for this code
|
|
|
|
#if [ -z "$IN_DASH" ]; then
|
|
|
|
# if command -v dash >/dev/null; then
|
|
|
|
# export IN_DASH=1
|
|
|
|
# exec dash "$0" "$@"
|
|
|
|
# else
|
|
|
|
# echo >&2 "please install dash from homebrew or macports to run this script"
|
|
|
|
# exit 1
|
|
|
|
# fi
|
|
|
|
#fi
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
target_bits=64
|
|
|
|
target_cpu=x86_64
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
-64)
|
|
|
|
shift
|
|
|
|
;;
|
|
|
|
-32)
|
|
|
|
target_bits=32
|
|
|
|
target_cpu=i386
|
|
|
|
shift
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2019-12-25 23:14:45 +00:00
|
|
|
# Need to use Xcode 9 for 32 bit builds on Mojave and newer.
|
|
|
|
# Place it in /Applications/Xcode9.app .
|
|
|
|
if [ "$target_bits" -eq 32 ] && [ -d /Applications/Xcode9.app ]; then
|
|
|
|
PREV_XCODE=$(xcode-select -p)
|
|
|
|
printf "\nSetting Xcode9 as the default Xcode for 32 bit build...\n\n"
|
|
|
|
sudo xcode-select -s /Applications/Xcode9.app/Contents/Developer
|
|
|
|
fi
|
|
|
|
|
2018-11-15 09:54:19 +00:00
|
|
|
export BUILD_ROOT="$HOME/vbam-build-mac-${target_bits}bit"
|
2018-09-03 14:21:35 +00:00
|
|
|
|
|
|
|
BUILD_ENV=$(cat <<EOF
|
2018-02-24 19:39:29 +00:00
|
|
|
export MACOSX_DEPLOYMENT_TARGET=10.7
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
export COMMAND_MODE=unix2003
|
2018-02-24 19:39:29 +00:00
|
|
|
export CC=clang
|
|
|
|
export CXX=clang++
|
|
|
|
export CPPFLAGS="-DICONV_CONST="
|
2019-01-23 02:50:33 +00:00
|
|
|
export CFLAGS="-m${target_bits} -framework Carbon -framework Foundation -framework CoreServices -stdlib=libc++ -Wno-unused-command-line-argument -DICONV_CONST= -Wl,-no_compact_unwind"
|
2018-09-03 14:21:35 +00:00
|
|
|
export CXXFLAGS="-m${target_bits} -stdlib=libc++ -framework Carbon -framework Foundation -framework CoreServices -Wno-unused-command-line-argument -DICONV_CONST= -Wl,-no_compact_unwind"
|
|
|
|
export OBJCXXFLAGS="-m${target_bits} -stdlib=libc++ -framework Carbon -framework Foundation -framework CoreServices -Wno-unused-command-line-argument -DICONV_CONST= -Wl,-no_compact_unwind"
|
2019-01-23 02:50:33 +00:00
|
|
|
export LDFLAGS="-m${target_bits} -framework Carbon -framework Foundation -framework CoreServices -stdlib=libc++ -Wno-unused-command-line-argument -Wl,-no_compact_unwind"
|
2018-09-03 14:21:35 +00:00
|
|
|
|
|
|
|
export UUID_CFLAGS="-I\$BUILD_ROOT/root/stow/libuuid/include"
|
|
|
|
export UUID_LIBS="-L\$BUILD_ROOT/root/stow/libuuid/lib -luuid"
|
2018-02-24 19:39:29 +00:00
|
|
|
EOF
|
|
|
|
)
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2018-11-15 09:54:19 +00:00
|
|
|
export BUILD_ENV
|
|
|
|
export TAR=tar
|
2017-10-22 22:35:56 +00:00
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
if [ "$target_cpu" = i386 ]; then
|
2019-09-12 16:42:43 +00:00
|
|
|
export CONFIGURE_REQUIRED_ARGS='--host=i386-apple-darwin --build=x86_64-apple-darwin'
|
2018-09-03 14:21:35 +00:00
|
|
|
fi
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
|
2018-02-24 19:39:29 +00:00
|
|
|
. "$(dirname "$0")/../builder/core.sh"
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2018-02-24 19:39:29 +00:00
|
|
|
table_line_remove DISTS flex
|
|
|
|
table_line_remove DISTS libsecret
|
2021-02-01 17:39:48 +00:00
|
|
|
table_line_remove DISTS c2man
|
|
|
|
table_line_remove DISTS graphviz
|
2017-10-12 21:31:23 +00:00
|
|
|
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
# issues with perl modules linked to our libs and brew perl
|
|
|
|
table_line_remove DISTS shared-mime-info
|
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
table_line_replace DIST_PREFIX libuuid /usr/stow/libuuid
|
|
|
|
|
2021-02-01 17:39:48 +00:00
|
|
|
table_line_append DIST_PRE_BUILD zip " \
|
|
|
|
sed -i.bak 's/-DZMEM//g; s/-DNO_DIR//g;' unix/configure \
|
|
|
|
"
|
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
if [ "$target_cpu" = i386 ]; then
|
|
|
|
table_line_replace DIST_CONFIGURE_OVERRIDES openssl './Configure darwin-i386-cc no-shared --prefix=/usr --openssldir=/etc/ssl'
|
|
|
|
else
|
|
|
|
table_line_replace DIST_CONFIGURE_OVERRIDES openssl './Configure darwin64-x86_64-cc no-shared --prefix=/usr --openssldir=/etc/ssl'
|
|
|
|
fi
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
|
builder: re-enable ffmpeg, update dists
Update the following dists:
bzip2, xz, libiconv, gettext, ninja, meson, libgcrypt, libsecret, sdl2,
flac, libogg, libvorbis, wxwidgets
and the following ffmpeg deps:
graphite2, xvidcore, libgsm, opus, libsoxr, libass, libbluray, libvpx,
libx264, libx265
Enable ffmpeg for vbam again as we now have working recording code
thanks to @denisfa.
Disable graphviz and libzvbi for the time being since we don't really
need them.
For mp3lame use the msys2 patch to remove posix code instead of linking
to catgets.
For libogg and libvorbis on mac, add `-include /path/to/stdint.h` to
`CFLAGS` when building.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2019-09-17 02:21:40 +00:00
|
|
|
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_EXTRA_CFLAGS libvorbis "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
|
|
|
|
2019-09-28 19:07:44 +00:00
|
|
|
table_line_append DIST_EXTRA_CFLAGS libtheora "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
|
|
|
|
|
|
|
table_line_append DIST_EXTRA_CFLAGS ffmpeg "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
|
|
|
|
2018-06-30 22:48:58 +00:00
|
|
|
# -Wl,-no_compact_unwind must be passed in LDFLAGS to openssl
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
table_line_append DIST_MAKE_ARGS openssl "LDFLAGS=\"\$LDFLAGS\""
|
|
|
|
|
|
|
|
# m4 crashes on 10.13
|
|
|
|
table_line_append DIST_PATCHES m4 '-p0 https://raw.githubusercontent.com/macports/macports-ports/edf0ee1e2cf/devel/m4/files/secure_snprintf.patch'
|
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
# 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 pkgconfig '--host= --build='
|
|
|
|
table_line_append DIST_ARGS docbook2x '--host= --build='
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
# python does not support cross-compiling to 32bits
|
|
|
|
table_line_append DIST_ARGS python2 '--host= --build='
|
|
|
|
table_line_append DIST_ARGS python3 '--host= --build='
|
support older 32 bit macs running 10.7, fix build
Make mac builder use -m32 in CFLAGS etc. to produce a 32 bit binary
targetting 10.7 (Lion.) This provides the greatest backward
compatibility for older macs, and also allows for asm filters.
Fix an issue with m4 on 10.13 using a patch from macports.
Support `-pX` patch level args in DIST_PATCHES in builder.
Fix an issue with bison on 10.13 by bumping the version to 3.0.5.
Build libxslt `--without-crypto` so that it doesn't try to link the brew
libgcrypt.
Invoke cmake for dists with -DCMAKE_C_COMPILER_LAUNCHER=ccache and
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache to use ccache, and set
CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the actual compilers not
prefixed by ccache.
When checking for ccache in vbam cmake code, check that
CMAKE_CXX_COMPILER_LAUNCHER and CMAKE_C_COMPILER_LAUNCHER were not
already defined (generally on the command line.)
Remove align attributes from sections in 2xSaImmx.asm, macho format on
mac does not support this and the filter works fine without them.
In the Quartz2D renderer, pass the NSRect view.bounds through
NSRectToCGRect when calling CGContextDrawImage(), this is necessary for
the 32 bit API.
Bump openssl to 1.0.2o.
Bump libxml2 to 2.9.8.
Update URL for urw fonts, and improve the dist downloading/unpacking
code to handle URLs that do not contain the filename (for .tar.gz and
.zip as identified by `file`.)
Change post-build for harfbuzz from `rebuild_dist freetype;` to
`rebuild_dist freetype --with-harfbuzz=yes;` as it was supposed to have
been.
Build cmake itself with --parallel and --enable-ccache.
Silence errors from killed jobs due to tmp directory being gone.
Write a couple of string functions, rtrim() and gsub().
Make path_exists() handle globs with spaces in them, by escaping the
space.
Use --host and --build args to autoconf configure to "cross-compile" for
32 bits, this is necessary for some dists, and does not work for others,
remove it for dists where it does not work.
Add COMMAND_MODE=unix2003 to the build environment, this is necessary to
fix some build errors, why I have no clue, found it on stackoverflow.
Pass -Wl,-no_compact_unwind in LDFLAGS to openssl, this is necessary for
32 bits.
Force sfml to compile as 32 bit, it normally does not allow this.
Remove shared-mime-info from this build, it's not necessary for anything
and there are issues XML::Parser linked to our expat and brew perl that
need to be resolved.
2018-06-30 10:38:22 +00:00
|
|
|
|
2018-09-03 14:21:35 +00:00
|
|
|
table_line_append DIST_ARGS sfml '-DCMAKE_OSX_ARCHITECTURES=i386'
|
|
|
|
|
|
|
|
table_line_append DIST_PRE_BUILD sfml " \
|
|
|
|
sed -i.bak '/FATAL_ERROR \"Only 64-bit architecture is supported/d' CMakeLists.txt; \
|
|
|
|
"
|
2019-02-25 11:06:38 +00:00
|
|
|
|
|
|
|
table_line_append DIST_ARGS libicu '--host= --build='
|
2018-09-03 14:21:35 +00:00
|
|
|
fi
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2018-02-24 19:39:29 +00:00
|
|
|
table_line_replace DIST_CONFIGURE_TYPES libmodplug autoreconf
|
|
|
|
table_line_append DIST_PRE_BUILD libmodplug " \
|
|
|
|
sed -i.bak '/-mmacosx-version-min=/d' configure.ac; \
|
|
|
|
sed -i.bak 's/-lstdc++/-lc++/g' libmodplug.pc.in; \
|
|
|
|
"
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2018-02-24 19:39:29 +00:00
|
|
|
table_line_append DIST_PRE_BUILD libzmq "sed -i.bak 's/-lstdc++/-lc++/g' src/libzmq.pc.in"
|
|
|
|
table_line_append DIST_PRE_BUILD ffmpeg "sed -i.bak 's/-lstdc++/-lc++/g' configure"
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2021-02-01 17:39:48 +00:00
|
|
|
table_line_replace DISTS wxwidgets "https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.5.1/wxWidgets-3.0.5.1.tar.bz2 lib/libwx_baseu-3.0*.a"
|
|
|
|
|
|
|
|
table_line_append DIST_CONFIGURE_OVERRIDES wxwidgets "--with-macosx-version-min=\$MACOSX_DEPLOYMENT_TARGET LDFLAGS=\"\$LDFLAGS -stdlib=libc++\" --disable-stl"
|
2019-09-28 19:07:44 +00:00
|
|
|
|
2018-02-24 19:39:29 +00:00
|
|
|
table_line_append DIST_ARGS libmodplug "CC=clang++ CXX=clang++"
|
2017-10-12 21:31:23 +00:00
|
|
|
|
2020-06-07 12:38:48 +00:00
|
|
|
table_line_append DIST_PRE_BUILD libvpx " \
|
|
|
|
sed -E -i.bak 's/(-mmacosx-version-min=)[[:digit:].]+/\1'\$MACOSX_DEPLOYMENT_TARGET'/g' build/make/configure.sh; \
|
|
|
|
"
|
|
|
|
|
2019-09-28 19:07:44 +00:00
|
|
|
table_line_append DIST_CONFIGURE_OVERRIDES ffmpeg "--disable-videotoolbox --extra-ldflags='-framework CoreText'"
|
|
|
|
|
2021-02-01 17:39:48 +00:00
|
|
|
table_line_append DIST_PATCHES ffmpeg "-p0 https://gist.githubusercontent.com/rkitover/db75d083b74617b186eec11965c1da74/raw/20da2f8c6d8c02ce284096c5e805ae671351cc6e/ffmpeg-macos10-7.patch"
|
|
|
|
|
2018-02-24 19:39:29 +00:00
|
|
|
builder "$@"
|
2019-12-25 23:14:45 +00:00
|
|
|
|
|
|
|
if [ -n "$PREV_XCODE" ]; then
|
|
|
|
printf "\nRe-setting '$PREV_XCODE' as the default Xcode...\n\n"
|
|
|
|
sudo xcode-select -s "$PREV_XCODE"
|
|
|
|
fi
|