visualboyadvance-m/tools/win/cygwin-cross-builder

69 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
set -e
# turn on real symlinks on cygwin
if [ "$(uname -o 2>/dev/null || :)" = Cygwin ]; then
new_cygwin= replaced=
for part in $CYGWIN; do
case "$part" in
winsymlinks:*)
new_cygwin="$new_cygwin winsymlinks:native"
replaced=1
;;
*)
new_cygwin="$new_cygwin $part"
;;
esac
done
if [ -n "$replaced" ]; then
export CYGWIN=$new_cygwin
else
export CYGWIN="winsymlinks:native $new_cygwin"
fi
fi
REQUIRED_CMAKE_ARGS="-DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=\"\$BUILD_ROOT/host/bin/msgfmt\" -DGETTEXT_MSGMERGE_EXECUTABLE=\"\$BUILD_ROOT/host/bin/msgmerge\""
. "${0%/*}/../builder/mingw-cross.sh"
table_line_append DIST_MAKE_ARGS unzip 'CFLAGS="$CFLAGS -DNO_LCHMOD"'
# parallel build of openssl doesn't work for cygwin layer
table_line_append DIST_MAKE_ARGS openssl -j1
# FIXME: problems with autopoint that need to be sorted
table_line_remove DISTS flex
table_line_append DIST_PRE_BUILD pkgconfig ":; \
sed -i.bak ' \
s/platform_win32=yes/platform_win32=no/; \
s/#define G_PLATFORM_WIN32//; \
s/PLATFORMDEP=gwin32\\.lo/PLATFORMDEP=/ \
' glib/configure; \
"
table_line_append DIST_PRE_BUILD c2man ":; \
sed -i.bak '/test -d c:\\//,/^fi\$/d' Configure; \
"
table_line_replace DIST_CONFIGURE_TYPES freetype-target cmake
table_line_remove DIST_ARGS freetype-target
table_line_append DIST_POST_BUILD freetype-target ":; \
sed ' \
s,%prefix%,$BUILD_ROOT/root,g; \
s,%exec_prefix%,$BUILD_ROOT/root,g; \
s,%libdir%,$BUILD_ROOT/root/lib,g; \
s,%includedir%,$BUILD_ROOT/root/include,g; \
s,%ft_version%,20.0.14,g; \
s|%REQUIRES_PRIVATE%|zlib, bzip2, libpng|; \
s,%LIBS_PRIVATE%,-lpng -lz -lbz2 -llzma -lharfbuzz,; \
s/-lfreetype/-lfreetype -lpng -lz -lbz2 -llzma/; \
' ../builds/unix/freetype2.in > "$BUILD_ROOT"/root/lib/pkgconfig/freetype2.pc; \
"
table_line_append DIST_EXTRA_LIBS fontconfig-target '-lpng -lz -lbz2 -llzma'
builder "$@"