Still working on getting all the dependencies to cross-compile properly.
This commit is contained in:
parent
be5e72fc6b
commit
11c80af82f
1 changed files with 93 additions and 17 deletions
|
@ -21,23 +21,56 @@
|
||||||
|
|
||||||
|
|
||||||
if [[ -z $1 ]]; then
|
if [[ -z $1 ]]; then
|
||||||
|
G_PLATFORM=mingw
|
||||||
|
# G_PLATFORM=linux
|
||||||
G_BITS=64
|
G_BITS=64
|
||||||
G_THIRDPARTY=$(pwd)/thirdparty
|
G_THIRDPARTY=$(pwd)/thirdparty
|
||||||
G_DEST="$(pwd)/../thirdparty-build/${G_BITS}"
|
G_DEST="$(pwd)/../thirdparty-build/${G_PLATFORM}/${G_BITS}"
|
||||||
else
|
else
|
||||||
G_THIRDPARTY=$1
|
G_THIRDPARTY=$1
|
||||||
G_DEST=$2/$3
|
|
||||||
G_BITS=$3
|
G_BITS=$3
|
||||||
|
G_PLATFORM=$4
|
||||||
|
G_DEST=$2/$4/$3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
G_INSTALLED="${G_DEST}/installed"
|
G_INSTALLED="${G_DEST}/installed"
|
||||||
G_L="-------------------------------------------------------------------------------"
|
G_L="-------------------------------------------------------------------------------"
|
||||||
|
|
||||||
|
# Work out compiler settings
|
||||||
|
case "${G_PLATFORM}" in
|
||||||
|
linux)
|
||||||
|
G_OS="linux"
|
||||||
|
G_CCOMPILER="gcc"
|
||||||
|
G_CPPCOMPILER="g++"
|
||||||
|
G_CROSS="x86_64-linux-gnu"
|
||||||
|
G_LUAPLAT="linux"
|
||||||
|
G_ARCH="x86_64"
|
||||||
|
;;
|
||||||
|
|
||||||
|
mingw)
|
||||||
|
G_OS="mingw32"
|
||||||
|
G_CCOMPILER="x86_64-w64-mingw32-gcc"
|
||||||
|
G_CPPCOMPILER="x86_64-w64-mingw32-g++"
|
||||||
|
G_CROSS="x86_64-w64-mingw32"
|
||||||
|
G_LUAPLAT="generic"
|
||||||
|
G_ARCH="x86_64"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
function autoBuild() {
|
function autoBuild() {
|
||||||
local LOOKFOR=$1 # File in G_DEST/lib to check to see if this library is already installed
|
local LOOKFOR=$1 # File in G_DEST/lib to check to see if this library is already installed
|
||||||
local LOCATION=$2 # Path under G_THIRDPARTY where code exists
|
local LOCATION=$2 # Path under G_THIRDPARTY where code exists
|
||||||
local OPTIONS=$3 # Additional configure options
|
local OPTIONS=$3 # Additional configure options
|
||||||
|
local TARGET=$4 # Custom 'make' target name
|
||||||
|
local O_CC=${CC}
|
||||||
|
local O_CXX=${CXX}
|
||||||
|
local O_CFLAGS=${CFLAGS}
|
||||||
|
local O_CXXFLAGS=${CXXFLAGS}
|
||||||
|
local O_CPPFLAGS=${CPPFLAGS}
|
||||||
|
local O_LDFLAGS=${LDFLAGS}
|
||||||
|
local O_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
|
||||||
|
local O_PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR}
|
||||||
|
|
||||||
if [[ ! -e "${G_INSTALLED}/lib/${LOOKFOR}" ]]; then
|
if [[ ! -e "${G_INSTALLED}/lib/${LOOKFOR}" ]]; then
|
||||||
echo ${G_L}
|
echo ${G_L}
|
||||||
|
@ -53,18 +86,53 @@ function autoBuild() {
|
||||||
popd
|
popd
|
||||||
mkdir -p "${G_DEST}/${LOCATION}"
|
mkdir -p "${G_DEST}/${LOCATION}"
|
||||||
pushd "${G_DEST}/${LOCATION}"
|
pushd "${G_DEST}/${LOCATION}"
|
||||||
PKG_CONFIG_LIBDIR="${G_INSTALLED}/lib/pkgconfig" \
|
|
||||||
CFLAGS="-I${G_INSTALLED}/include ${MORE_CFLAGS}" \
|
export CC=${G_CCOMPILER}
|
||||||
CXXFLAGS="-I${G_INSTALLED}/include ${MORE_CFLAGS}" \
|
export CXX=${G_CPPCOMPILER}
|
||||||
LDFLAGS="-L${G_INSTALLED}/lib ${MORE_LIBS}" \
|
export CFLAGS="-isystem${G_INSTALLED}/include ${MORE_CFLAGS}"
|
||||||
|
export CXXFLAGS="-isystem${G_INSTALLED}/include ${MORE_CFLAGS}"
|
||||||
|
export CPPFLAGS="-isystem${G_INSTALLED}/include ${MORE_CFLAGS}"
|
||||||
|
export LDFLAGS="-L${G_INSTALLED}/lib ${MORE_LIBS}"
|
||||||
|
export LD_LIBRARY_PATH=${G_INSTALLED}/lib
|
||||||
|
export PKG_CONFIG_LIBDIR=${G_INSTALLED}/lib/pkgconfig
|
||||||
|
|
||||||
|
if [[ "${LOCATION}" == "ffmpeg" ]]; then
|
||||||
"${G_THIRDPARTY}/${LOCATION}/configure" \
|
"${G_THIRDPARTY}/${LOCATION}/configure" \
|
||||||
|
--target-os="${G_OS}" \
|
||||||
|
--cross-prefix="${G_CROSS}-" \
|
||||||
|
--arch=${G_ARCH} \
|
||||||
--enable-static \
|
--enable-static \
|
||||||
--disable-shared \
|
--disable-shared \
|
||||||
|
--program-suffix="" \
|
||||||
--prefix="${G_INSTALLED}" ${OPTIONS}
|
--prefix="${G_INSTALLED}" ${OPTIONS}
|
||||||
if [[ ${OPTIONS} != --help* && ${OPTIONS} != *--help ]]; then
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
else
|
else
|
||||||
|
"${G_THIRDPARTY}/${LOCATION}/configure" \
|
||||||
|
--target="${G_CROSS}" \
|
||||||
|
--host="${G_CROSS}" \
|
||||||
|
--build=x86_64-linux \
|
||||||
|
--enable-static \
|
||||||
|
--disable-shared \
|
||||||
|
--program-suffix="" \
|
||||||
|
--prefix="${G_INSTALLED}" ${OPTIONS}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${OPTIONS} != --help* && ${OPTIONS} != *--help ]]; then
|
||||||
|
make ${TARGET}
|
||||||
|
if [[ -z ${TARGET} ]]; then
|
||||||
|
make install
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
export CC=${O_CC}
|
||||||
|
export CXX=${O_CXX}
|
||||||
|
export CFLAGS=${O_CFLAGS}
|
||||||
|
export CXXFLAGS=${O_CXXFLAGS}
|
||||||
|
export CPPFLAGS=${O_CFLAGS}
|
||||||
|
export LDFLAGS=${O_LDFLAGS}
|
||||||
|
export LD_LIBRARY_PATH=${O_LD_LIBRARY_PATH}
|
||||||
|
export PKG_CONFIG_LIBDIR=${O_PKG_CONFIG_LIBDIR}
|
||||||
|
|
||||||
|
if [[ ${OPTIONS} == --help* || ${OPTIONS} == *--help ]]; then
|
||||||
popd
|
popd
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -150,7 +218,7 @@ if [[ ! -e "${G_INSTALLED}/lib/libz.a" ]]; then
|
||||||
echo ${G_L}
|
echo ${G_L}
|
||||||
mkdir -p "${G_DEST}/zlib"
|
mkdir -p "${G_DEST}/zlib"
|
||||||
pushd "${G_DEST}/zlib"
|
pushd "${G_DEST}/zlib"
|
||||||
"${G_THIRDPARTY}/zlib/configure" --static --prefix="${G_INSTALLED}"
|
CC="${G_CCOMPILER}" "${G_THIRDPARTY}/zlib/configure" --static --prefix="${G_INSTALLED}"
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
popd
|
popd
|
||||||
|
@ -164,7 +232,7 @@ if [[ ! -e "${G_INSTALLED}/lib/libbz2.a" ]]; then
|
||||||
mkdir -p "${G_DEST}/bzip2"
|
mkdir -p "${G_DEST}/bzip2"
|
||||||
pushd "${G_DEST}/bzip2"
|
pushd "${G_DEST}/bzip2"
|
||||||
cp -fr "${G_THIRDPARTY}/bzip2/." .
|
cp -fr "${G_THIRDPARTY}/bzip2/." .
|
||||||
make install PREFIX="${G_INSTALLED}"
|
make install PREFIX="${G_INSTALLED}" CC="${G_CCOMPILER}"
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -176,7 +244,7 @@ if [[ ! -e "${G_INSTALLED}/lib/liblua.a" ]]; then
|
||||||
mkdir -p "${G_DEST}/lua"
|
mkdir -p "${G_DEST}/lua"
|
||||||
pushd "${G_DEST}/lua"
|
pushd "${G_DEST}/lua"
|
||||||
cp -fr "${G_THIRDPARTY}/lua/." .
|
cp -fr "${G_THIRDPARTY}/lua/." .
|
||||||
make linux
|
make ${G_LUAPLAT} CC="${G_CCOMPILER}"
|
||||||
make install INSTALL_TOP="${G_INSTALLED}"
|
make install INSTALL_TOP="${G_INSTALLED}"
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
@ -189,7 +257,7 @@ if [[ ! -e "${G_INSTALLED}/lib/libjbig.a" ]]; then
|
||||||
mkdir -p "${G_DEST}/SDL2_image/jbig"
|
mkdir -p "${G_DEST}/SDL2_image/jbig"
|
||||||
pushd "${G_DEST}/SDL2_image/jbig"
|
pushd "${G_DEST}/SDL2_image/jbig"
|
||||||
cp -fr "${G_THIRDPARTY}/jbigkit/." .
|
cp -fr "${G_THIRDPARTY}/jbigkit/." .
|
||||||
make lib
|
make lib CC="${G_CCOMPILER}"
|
||||||
cp -f libjbig/*.a "${G_INSTALLED}/lib/."
|
cp -f libjbig/*.a "${G_INSTALLED}/lib/."
|
||||||
cp -f libjbig/*.h "${G_INSTALLED}/include/."
|
cp -f libjbig/*.h "${G_INSTALLED}/include/."
|
||||||
popd
|
popd
|
||||||
|
@ -205,7 +273,10 @@ autoBuild libtiff.a SDL2_image/external/tiff-4.1.0
|
||||||
autoBuild libwebp.a SDL2_image/external/libwebp-1.0.3
|
autoBuild libwebp.a SDL2_image/external/libwebp-1.0.3
|
||||||
|
|
||||||
# === PNG ===
|
# === PNG ===
|
||||||
autoBuild libpng.a SDL2_image/external/libpng-1.6.37
|
#O_PNG_COPTS=${PNG_COPTS}
|
||||||
|
#export PNG_COPTS="-I${G_INSTALLED}/include"
|
||||||
|
autoBuild libpng.a SDL2_image/external/libpng-1.6.37 "--with-zlib-prefix=\"${G_INSTALLED}\""
|
||||||
|
#export PNG_COPTS=${O_PNG_COPTS}
|
||||||
|
|
||||||
# === JPEG ===
|
# === JPEG ===
|
||||||
autoBuild libjpeg.a SDL2_image/external/jpeg-9c
|
autoBuild libjpeg.a SDL2_image/external/jpeg-9c
|
||||||
|
@ -240,14 +311,19 @@ if [[ ! -e extensions.h ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# === FFMS2 ===
|
# === FFMS2 ===
|
||||||
FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lpthread -lXv -lX11 -lXext -lm" \
|
if [[ "${G_PLATFORM}" == "mingw" ]]; then
|
||||||
|
FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lm -lbcrypt" \
|
||||||
|
autoBuild libffms2.a ffms2 "" "src/core/libffms2.la install-libLTLIBRARIES install-includeHEADERS"
|
||||||
|
else
|
||||||
|
FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lpthread -lXv -lX11 -lXext -lm" \
|
||||||
autoBuild libffms2.a ffms2
|
autoBuild libffms2.a ffms2
|
||||||
|
fi
|
||||||
|
|
||||||
# === FreeType 2 ===
|
# === FreeType 2 ===
|
||||||
autoBuild libfreetype.a freetype2 --without-harfbuzz
|
autoBuild libfreetype.a freetype2 --without-harfbuzz
|
||||||
|
|
||||||
# === Harfbuzz ===
|
# === Harfbuzz ===
|
||||||
autoBuild libharfbuzz.a harfbuzz "--with-glib=no --with-icu=builtin --with-cairo=no --with-fontconfig=no --with-freetype=yes"
|
autoBuild libharfbuzz.a harfbuzz "--with-glib=no --with-icu=builtin --with-cairo=no --with-fontconfig=no --with-freetype=yes -with-icu=no"
|
||||||
|
|
||||||
# === SDL2 ===
|
# === SDL2 ===
|
||||||
autoBuild libSDL2.a SDL2
|
autoBuild libSDL2.a SDL2
|
||||||
|
|
Loading…
Add table
Reference in a new issue