From c14d1681e23b065b9b8e89b06050806574ffc2d7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 1 Oct 2014 16:22:22 +0200 Subject: [PATCH] update mingw build script: * create libs with debug symbols for now * stack align: http://www.peterstock.co.uk/games/mingw_sse/ * deploy latest binary (when reconfigured) * workaround libxml doctype issue (-O2 causes issues) * fix LV2 install path --- tools/x-mingw.sh | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/tools/x-mingw.sh b/tools/x-mingw.sh index f049ccc845..2942c2443c 100755 --- a/tools/x-mingw.sh +++ b/tools/x-mingw.sh @@ -18,7 +18,7 @@ # sudo i386 cowbuilder --login --bindmounts /tmp \ # --basepath /var/cache/pbuilder/jessie-i386/base.cow # -### inside cowbuilder (/tmp/ is shared wit host) +### inside cowbuilder (/tmp/ is shared with host) # /tmp/this_script.sh # ############################################################################### @@ -71,9 +71,10 @@ function autoconfbuild { set -e echo "======= $(pwd) =======" PATH=${PREFIX}/bin:/usr/bin:/bin:/usr/sbin:/sbin \ +#CPPFLAGS="-I${PREFIX}/include -DDEBUG$CPPFLAGS" \ CPPFLAGS="-I${PREFIX}/include$CPPFLAGS" \ - CFLAGS="-I${PREFIX}/include -O2$CFLAGS" \ - CXXFLAGS="-I${PREFIX}/include -O2$CXXFLAGS" \ + CFLAGS="-I${PREFIX}/include -O2 -g -mstackrealign$CFLAGS" \ + CXXFLAGS="-I${PREFIX}/include -O2 -g -mstackrealign$CXXFLAGS" \ LDFLAGS="-L${PREFIX}/lib$LDFLAGS" \ ./configure --host=i686-w64-mingw32 --build=i386-linux \ --prefix=$PREFIX $@ @@ -94,6 +95,10 @@ PATH=${PREFIX}/bin:/usr/bin:/bin:/usr/sbin:/sbin \ STRIP=i686-w64-mingw32-strip \ RANLIB=i686-w64-mingw32-ranlib \ DLLTOOL=i686-w64-mingw32-dlltool \ + CPPFLAGS="-I${PREFIX}/include$CPPFLAGS" \ + CFLAGS="-I${PREFIX}/include -O2 -g -mstackrealign$CFLAGS" \ + CXXFLAGS="-I${PREFIX}/include -O2 -g -mstackrealign$CXXFLAGS" \ + LDFLAGS="-L${PREFIX}/lib$LDFLAGS" \ ./waf configure --prefix=$PREFIX $@ \ && ./waf && ./waf install } @@ -102,11 +107,15 @@ PATH=${PREFIX}/bin:/usr/bin:/bin:/usr/sbin:/sbin \ if test -z "$NOSTACK"; then ################################################################################ +# jack headers, .dll and pkg-config file from jackd 1.9.10 +# the .dll is not shipped and only used for linking. +# This is currently the only part not built from source. download jack_win32.tar.xz http://robin.linuxaudio.org/jack_win32.tar.xz cd "$PREFIX" tar xf ${SRCDIR}/jack_win32.tar.xz "$PREFIX"/update_pc_prefix.sh + 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} tar xzf ${SRCDIR}/pthreads-w32-2-9-1-release.tar.gz @@ -147,7 +156,6 @@ ed Makefile.in << EOF wq EOF autoconfbuild -# add -lwsock32 to /usr/src/win-stack/lib/pkgconfig/flac.pc ?? src libsndfile-1.0.25 tar.gz http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz ed Makefile.in << EOF @@ -175,7 +183,8 @@ src libiconv-1.14 tar.gz ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz autoconfbuild --with-included-gettext --with-libiconv-prefix=$PREFIX src libxml2-2.7.8 tar.gz ftp://xmlsoft.org/libxslt/libxml2-2.7.8.tar.gz -autoconfbuild --with-threads=no +CFLAGS=" -O0" CXXFLAGS=" -O0" \ +autoconfbuild --with-threads=no --with-zlib=$PREFIX src freetype-2.5.3 tar.gz http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz autoconfbuild -with-harfbuzz=no --with-png=no @@ -217,8 +226,6 @@ autoconfbuild --with-pcre=internal --disable-silent-rules --with-libiconv=no ################################################################################ dpkg -P gettext python || true -export PATH=$PREFIX/bin:$PATH -rm -f ${PREFIX}/lib/pkgconfig/harfbuzz.pc || true ################################################################################ src pango-1.36.8 tar.xz http://ftp.gnome.org/pub/GNOME/sources/pango/1.36/pango-1.36.8.tar.xz @@ -235,8 +242,9 @@ ed Makefile.in << EOF %s/demos / / wq EOF -autoconfbuild --disable-modules --disable-rebuilds - +autoconfbuild --disable-rebuilds # --disable-modules \ +# --with-included-immodules=ime \ +# --with-gdktarget=win32 \ #http://ardour.org/files/gtk-engines-2.21.0.tar.gz #http://ftp.gnome.org/pub/GNOME/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2 @@ -421,7 +429,7 @@ wq EOF src portaudio tgz http://portaudio.com/archives/pa_stable_v19_20140130.tgz -autoconfbuild +autoconfbuild # does not include asio, yet ################################################################################ fi # $NOSTACK @@ -445,6 +453,8 @@ export STRIP=i686-w64-mingw32-strip export RANLIB=i686-w64-mingw32-ranlib export DLLTOOL=i686-w64-mingw32-dlltool +CFLAGS="-mstackrealign" \ +CXXFLAGS="-mstackrealign" \ LDFLAGS="-L${PREFIX}/lib" ./waf configure \ --dist-target=mingw --windows-vst \ --also-include=${PREFIX}/include \ @@ -470,7 +480,6 @@ mkdir -p $DESTDIR/bin mkdir -p $DESTDIR/share/ mkdir -p $ALIBDIR/surfaces mkdir -p $ALIBDIR/backends -mkdir -p $ALIBDIR/lv2 mkdir -p $ALIBDIR/panners mkdir -p $ALIBDIR/fst @@ -484,7 +493,7 @@ cp build/libs/canvas/canvas-0.dll $DESTDIR/bin/ cp build/libs/pbd/pbd-4.dll $DESTDIR/bin/ cp build/libs/audiographer/audiographer-0.dll $DESTDIR/bin/ cp build/libs/fst/ardour-vst-scanner.exe $ALIBDIR/fst/ -cp build/gtk2_ardour/ardour-*.exe $DESTDIR/bin/ardour.exe +cp `ls -t build/gtk2_ardour/ardour-*.exe | head -n1` $DESTDIR/bin/ardour.exe cp build/libs/clearlooks-newer/clearlooks.dll $DESTDIR/bin/ cp $PREFIX/bin/*dll $DESTDIR/bin/ @@ -494,7 +503,8 @@ rm -rf $DESTDIR/bin/libjack.dll cp `find build/libs/surfaces/ -iname "*.dll"` $ALIBDIR/surfaces/ cp `find build/libs/backends/ -iname "*.dll"` $ALIBDIR/backends/ cp `find build/libs/panners/ -iname "*.dll"` $ALIBDIR/panners/ -cp -r build/libs/LV2/* $DESTDIR/lib/lv2/ + +cp -r build/libs/LV2 $ALIBDIR/ mv $ALIBDIR/surfaces/ardourcp-4.dll $DESTDIR/bin/ @@ -505,10 +515,6 @@ cp /usr/lib/gcc/i686-w64-mingw32/4.6/libstdc++-6.dll /$DESTDIR/bin/ cp -r $PREFIX/share/ardour3 $DESTDIR/share/ cp -r $PREFIX/etc/ardour3/* $DESTDIR/share/ardour3/ -# parser errors: "DOCTYPE improperly terminated" - probably '\r\n' ?? -rm -rf $DESTDIR/share/ardour3/patchfiles -rm -rf $DESTDIR/share/ardour3/midi_maps - du -sch $DESTDIR ################################################################################