win-build:
* /tmp -> /var/tmp for persistence * allow 32 & 64bit stacks to co-exist * enable ASIO/waves backend by default
This commit is contained in:
parent
000609901b
commit
5f100d8c13
@ -20,16 +20,16 @@
|
|||||||
#
|
#
|
||||||
### 'interactive build'
|
### 'interactive build'
|
||||||
#
|
#
|
||||||
# sudo cowbuilder --login --bindmounts /tmp \
|
# sudo cowbuilder --login --bindmounts /var/tmp \
|
||||||
# --basepath /var/cache/pbuilder/jessie-amd64/base.cow
|
# --basepath /var/cache/pbuilder/jessie-amd64/base.cow
|
||||||
#
|
#
|
||||||
### now, inside cowbuilder (/tmp/ is shared with host, -> bindmounts)
|
### now, inside cowbuilder (/var/tmp/ is shared with host, -> bindmounts)
|
||||||
#
|
#
|
||||||
# /tmp/this_script.sh
|
# /var/tmp/this_script.sh
|
||||||
#
|
#
|
||||||
### go for a coffee and ~40min later find /tmp/ardour-{VERSION}-Setup.exe
|
### go for a coffee and ~40min later find /var/tmp/ardour-{VERSION}-Setup.exe
|
||||||
###
|
###
|
||||||
### instead of cowbuilder --login, cowbuilder --execute /tmp/x-mingw.sh
|
### instead of cowbuilder --login, cowbuilder --execute /var/tmp/x-mingw.sh
|
||||||
### does it all by itself, a ~/.pbuilderrc or /etc//etc/pbuilderrc
|
### does it all by itself, a ~/.pbuilderrc or /etc//etc/pbuilderrc
|
||||||
### can be used to set bindmounts and basepath... last but not least
|
### can be used to set bindmounts and basepath... last but not least
|
||||||
### ccache helps a lot to speed up recompiles. see also
|
### ccache helps a lot to speed up recompiles. see also
|
||||||
@ -38,40 +38,30 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
### influential environment variables
|
### influential environment variables
|
||||||
|
|
||||||
: ${XARCH=i686} # or x86_64
|
: ${XARCH=i686} # or x86_64
|
||||||
: ${ASIO=} # set to build with ASIO/waves backend
|
: ${ASIO=yes} # [yes|no] build with ASIO/waves backend
|
||||||
: ${SRCDIR=/tmp/winsrc} # source-code tgz are cached here
|
|
||||||
|
|
||||||
: ${MAKEFLAGS=-j4}
|
: ${MAKEFLAGS=-j4}
|
||||||
: ${ARDOURCFG=--with-dummy --windows-vst}
|
|
||||||
: ${STACKCFLAGS="-O2 -g"}
|
: ${STACKCFLAGS="-O2 -g"}
|
||||||
|
: ${ARDOURCFG=--with-dummy --windows-vst}
|
||||||
|
|
||||||
: ${NOSTACK=} # set to skip building the build-stack
|
: ${NOSTACK=} # set to skip building the build-stack
|
||||||
: ${RMSTACK=} # rm -rf $PREFIX $BUILDD - exclusive with NOSTACK
|
|
||||||
: ${TMPDIR=/tmp}
|
|
||||||
|
|
||||||
# directories inside the build-chroot:
|
: ${SRCDIR=/var/tmp/winsrc} # source-code tgz cache
|
||||||
: ${SRC=/usr/src}
|
: ${TMPDIR=/var/tmp} # package is built (and zipped) here.
|
||||||
: ${PREFIX=$SRC/win-stack}
|
|
||||||
: ${BUILDD=$SRC/win-build}
|
: ${ROOT=/home/ardour} # everything happens below here :)
|
||||||
|
# src, build and stack-install
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
if [ "$(id -u)" != "0" -a -z "$SUDO" ]; then
|
if [ "$(id -u)" != "0" -a -z "$SUDO" ]; then
|
||||||
echo "This script must be run as root in pbuilder" 1>&2
|
echo "This script must be run as root in pbuilder" 1>&2
|
||||||
echo "e.g sudo DIST=jessie cowbuilder --bindmounts /tmp --execute $0"
|
echo "e.g sudo DIST=jessie cowbuilder --bindmounts /var/tmp --execute $0"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$NOSTACK" -a -n "$RMSTACK"; then
|
|
||||||
echo "NOSTACK and RMSTACK are exclusive"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$RMSTACK"; then
|
|
||||||
rm -rf ${PREFIX} ${BUILDD}
|
|
||||||
fi
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@ -89,6 +79,9 @@ else
|
|||||||
DEBIANPKGS="gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools mingw32"
|
DEBIANPKGS="gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools mingw32"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
: ${PREFIX=${ROOT}/win-stack-$WARCH}
|
||||||
|
: ${BUILDD=${ROOT}/win-build-$WARCH}
|
||||||
|
|
||||||
apt-get -y install build-essential \
|
apt-get -y install build-essential \
|
||||||
${DEBIANPKGS} \
|
${DEBIANPKGS} \
|
||||||
git autoconf automake libtool pkg-config \
|
git autoconf automake libtool pkg-config \
|
||||||
@ -126,6 +119,7 @@ test -f ${SRCDIR}/$1 || curl -k -L -o ${SRCDIR}/$1 $2
|
|||||||
function src {
|
function src {
|
||||||
download ${1}.${2} $3
|
download ${1}.${2} $3
|
||||||
cd ${BUILDD}
|
cd ${BUILDD}
|
||||||
|
rm -rf $1
|
||||||
tar xf ${SRCDIR}/${1}.${2}
|
tar xf ${SRCDIR}/${1}.${2}
|
||||||
cd $1
|
cd $1
|
||||||
}
|
}
|
||||||
@ -186,6 +180,7 @@ tar xf ${SRCDIR}/jack_win3264.tar.xz
|
|||||||
|
|
||||||
download pthreads-w32-2-9-1-release.tar.gz ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.tar.gz
|
download pthreads-w32-2-9-1-release.tar.gz ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.tar.gz
|
||||||
cd ${BUILDD}
|
cd ${BUILDD}
|
||||||
|
rm -rf pthreads-w32-2-9-1-release
|
||||||
tar xzf ${SRCDIR}/pthreads-w32-2-9-1-release.tar.gz
|
tar xzf ${SRCDIR}/pthreads-w32-2-9-1-release.tar.gz
|
||||||
cd pthreads-w32-2-9-1-release
|
cd pthreads-w32-2-9-1-release
|
||||||
make clean GC CROSS=${XPREFIX}-
|
make clean GC CROSS=${XPREFIX}-
|
||||||
@ -208,6 +203,7 @@ autoconfbuild
|
|||||||
|
|
||||||
download jpegsrc.v9a.tar.gz http://www.ijg.org/files/jpegsrc.v9a.tar.gz
|
download jpegsrc.v9a.tar.gz http://www.ijg.org/files/jpegsrc.v9a.tar.gz
|
||||||
cd ${BUILDD}
|
cd ${BUILDD}
|
||||||
|
rm -rf jpeg-9a
|
||||||
tar xzf ${SRCDIR}/jpegsrc.v9a.tar.gz
|
tar xzf ${SRCDIR}/jpegsrc.v9a.tar.gz
|
||||||
cd jpeg-9a
|
cd jpeg-9a
|
||||||
autoconfbuild
|
autoconfbuild
|
||||||
@ -493,7 +489,7 @@ wq
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
rm -f ${PREFIX}/include/pa_asio.h ${PREFIX}/include/portaudio.h ${PREFIX}/include/asio.h
|
rm -f ${PREFIX}/include/pa_asio.h ${PREFIX}/include/portaudio.h ${PREFIX}/include/asio.h
|
||||||
if test -n "$ASIO"; then
|
if test "$ASIO" != "no"; then
|
||||||
if test ! -d ${SRCDIR}/soundfind.git.reference; then
|
if test ! -d ${SRCDIR}/soundfind.git.reference; then
|
||||||
git clone --mirror git://github.com/aardvarkk/soundfind.git ${SRCDIR}/soundfind.git.reference
|
git clone --mirror git://github.com/aardvarkk/soundfind.git ${SRCDIR}/soundfind.git.reference
|
||||||
fi
|
fi
|
||||||
@ -520,13 +516,13 @@ fi
|
|||||||
fi # $NOSTACK
|
fi # $NOSTACK
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
if test -n "$ASIO"; then
|
if test "$ASIO" != "no"; then
|
||||||
ARDOURCFG="$ARDOURCFG --with-wavesbackend"
|
ARDOURCFG="$ARDOURCFG --with-wavesbackend"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
cd ${SRC}
|
cd ${ROOT}
|
||||||
ARDOURSRC=ardour-${WARCH}
|
ARDOURSRC=ardour-${WARCH}
|
||||||
# create a git cache to speed up future clones
|
# create a git cache to speed up future clones
|
||||||
if test ! -d ${SRCDIR}/ardour.git.reference; then
|
if test ! -d ${SRCDIR}/ardour.git.reference; then
|
||||||
@ -645,11 +641,13 @@ du -sh $DESTDIR
|
|||||||
### include static gdb - re-zipped binaries from
|
### include static gdb - re-zipped binaries from
|
||||||
### http://sourceforge.net/projects/mingw/files/MinGW/Extension/gdb/gdb-7.6.1-1/gdb-7.6.1-1-mingw32-bin.tar.lzma
|
### http://sourceforge.net/projects/mingw/files/MinGW/Extension/gdb/gdb-7.6.1-1/gdb-7.6.1-1-mingw32-bin.tar.lzma
|
||||||
### http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.1/threads-win32/sjlj/x86_64-4.9.1-release-win32-sjlj-rt_v3-rev1.7z
|
### http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.1/threads-win32/sjlj/x86_64-4.9.1-release-win32-sjlj-rt_v3-rev1.7z
|
||||||
#download gdb-static-win3264.tar.xz http://robin.linuxaudio.org/gdb-static-win3264.tar.xz
|
if ! echo "$ARDOURCFG" | grep -q -- "--optimize"; then
|
||||||
#cd ${SRCDIR} && tar xz gdb-static-win3264.tar.xz
|
download gdb-static-win3264.tar.xz http://robin.linuxaudio.org/gdb-static-win3264.tar.xz
|
||||||
#cd ${SRC}${ARDOURSRC}
|
cd ${SRCDIR}
|
||||||
|
tar xf gdb-static-win3264.tar.xz
|
||||||
|
cd ${ROOT}/${ARDOURSRC}
|
||||||
|
|
||||||
if test -d ${SRCDIR}/gdb_$WARCH; then # TODO, grep for --optimize in $ARDOURCFG
|
echo " === Creating ardbg.bat"
|
||||||
cp -r ${SRCDIR}/gdb_$WARCH $DESTDIR/gdb
|
cp -r ${SRCDIR}/gdb_$WARCH $DESTDIR/gdb
|
||||||
cat > $DESTDIR/ardbg.bat << EOF
|
cat > $DESTDIR/ardbg.bat << EOF
|
||||||
cd bin
|
cd bin
|
||||||
|
Loading…
Reference in New Issue
Block a user