summaryrefslogtreecommitdiff
path: root/tools/windows_packaging/package_win32.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/windows_packaging/package_win32.sh')
-rwxr-xr-xtools/windows_packaging/package_win32.sh242
1 files changed, 242 insertions, 0 deletions
diff --git a/tools/windows_packaging/package_win32.sh b/tools/windows_packaging/package_win32.sh
new file mode 100755
index 0000000000..5ef6c17cf9
--- /dev/null
+++ b/tools/windows_packaging/package_win32.sh
@@ -0,0 +1,242 @@
+#!/bin/bash
+function copydll () {
+ if [ -f $GTK/bin/$1 ] ; then
+ echo "cp $GTK/bin/$1 $2"
+ cp $GTK/bin/$1 $2 || return 1
+ return 0
+ fi
+
+ if [ -f $GTK/lib/$1 ] ; then
+ echo "cp $GTK/lib/$1 $2"
+ cp $GTK/lib/$1 $2 || return 1
+ return 0
+ fi
+
+ if [ -f $A3/bin/$1 ] ; then
+ echo "cp $A3/bin/$1 $2"
+ cp $A3/bin/$1 $2 || return 1
+ return 0
+ fi
+
+ if [ -f $A3/lib/$1 ] ; then
+ echo "$A3/lib/$1 $2"
+ cp $A3/lib/$1 $2 || return 1
+ return 0
+ fi
+ if which $1 ; then
+ echo "cp `which $1` $2"
+ cp `which $1` $2 || return 1
+ return 0
+ fi
+
+ echo "there is no $1"
+ return 1
+}
+
+# libcrypto-10.dll -- OOPS
+# libgnomecanvasmm-2.6-1.dll -- OOPS
+# iconv.dll == libiconv-2.dll
+# libpng15-15.dll == libpng16-16.dll
+# liblo-7.dll == liblo.dll
+
+ABANDONEDDLLS='
+jack-0.dll
+jackserver-0.dll
+libbz2-1.dll
+libcppunit-1-12-1.dll
+libexpat-1.dll
+libgnurx-0.dll
+libharfbuzz-0.dll
+libFLAC-8.dll
+libvorbis-0.dll
+libvorbisenc-2.dll
+libidn-11.dll
+libssh2-1.dll
+libssl-10.dll
+pthreadGC2.dll
+'
+
+DLLS='
+libiconv-2.dll
+libpng16-16.dll
+liblo.dll
+libart_lgpl_2-2.dll
+libatk-1.0-0.dll
+libatkmm-1.6-1.dll
+libcairo-2.dll
+libcairo-gobject-2.dll
+libcairomm-1.0-1.dll
+libcairo-script-interpreter-2.dll
+libcurl-4.dll
+libfftw3-3.dll
+libfftw3f-3.dll
+libfontconfig-1.dll
+libfreetype-6.dll
+libgailutil-18.dll
+libgdkmm-2.4-1.dll
+libgdk_pixbuf-2.0-0.dll
+libgdk-win32-2.0-0.dll
+libgio-2.0-0.dll
+libgiomm-2.4-1.dll
+libglib-2.0-0.dll
+libglibmm-2.4-1.dll
+libglibmm_generate_extra_defs-2.4-1.dll
+libgmodule-2.0-0.dll
+libgnomecanvas-2-0.dll
+libgobject-2.0-0.dll
+libgthread-2.0-0.dll
+libgtkmm-2.4-1.dll
+libgtk-win32-2.0-0.dll
+libiconv-2.dll
+libogg-0.dll
+libffi-6.dll
+libintl-8.dll
+libpango-1.0-0.dll
+libpangocairo-1.0-0.dll
+libpangoft2-1.0-0.dll
+libpangomm-1.4-1.dll
+libpangowin32-1.0-0.dll
+libpixman-1-0.dll
+libsamplerate-0.dll
+libsigc-2.0-0.dll
+libsndfile-1.dll
+libxml2-2.dll
+zlib1.dll
+libstdc++-6.dll
+libgcc_s_sjlj-1.dll
+libwinpthread-1.dll
+libeay32.dll
+ssleay32.dll
+libregex-1.dll
+libportaudio-2.dll
+'
+. ./win32-env.sh
+. ./print-env.sh
+
+cd $BASE || exit 1
+
+if ! test -f $BUILD_CACHE_FILE; then
+ echo "ERROR: $APPNAME is not configured and built yet..."
+ exit 1
+fi
+
+if [ -d $PACKAGE_DIR ]; then
+ echo "Removing old package directory structure ..."
+ rm -rf $PACKAGE_DIR || exit 1
+fi
+echo "./waf --destdir=$PACKAGE_DIR install"
+
+./waf --destdir=$PACKAGE_DIR install || exit 1
+
+echo "Moving everything from $PACKAGE_DIR/msys to $PACKAGE_DIR ..."
+mv $PACKAGE_DIR/msys/* $PACKAGE_DIR || exit 1
+rmdir $PACKAGE_DIR/msys || exit 1
+
+
+echo "Moving Ardour dll's and executable to $PACKAGE_DIR ..."
+
+echo "mv $PACKAGE_DIR/lib/ardour3/*.dll $PACKAGE_DIR"
+echo "mv $PACKAGE_DIR/lib/ardour3/*.exe $PACKAGE_DIR"
+
+mv $PACKAGE_DIR/lib/ardour3/*.dll $PACKAGE_DIR || exit 1
+mv $PACKAGE_DIR/lib/ardour3/*.exe $PACKAGE_DIR || exit 1
+
+echo "Deleting import libs ..."
+
+rm $PACKAGE_DIR/lib/*dll.a || exit 1
+
+# delete sh script
+rm $PACKAGE_DIR/ardour3 || exit 1
+
+if test x$WITH_TESTS != x ; then
+ echo "Copying tests and test data to $PACKAGE_DIR ..."
+ cp $BUILD_DIR/libs/pbd/run-tests.exe $PACKAGE_DIR/pbd-run-tests.exe || exit 1
+ cp -r $BASE/libs/pbd/test $PACKAGE_DIR/pbd_testdata || exit 1
+
+ cp $BUILD_DIR/libs/evoral/run-tests.exe $PACKAGE_DIR/evoral-run-tests.exe || exit 1
+ mkdir -p $PACKAGE_DIR/test/testdata || exit 1
+ cp -r $BASE/libs/evoral/test/testdata/TakeFive.mid $PACKAGE_DIR/test/testdata || exit 1
+
+ cp -r $BASE/libs/ardour/test/data $PACKAGE_DIR/ardour_testdata || exit 1
+fi
+
+echo "Copying mingw config files to $PACKAGE_DIR ..."
+# just copy it all for now
+cp -r $MINGW_ROOT/etc $PACKAGE_DIR || exit 1
+
+cp -r $GTK/lib/gtk-2.0 $PACKAGE_DIR/lib || exit 1
+cp -r $GTK/lib/gdk-pixbuf-2.0 $PACKAGE_DIR/lib || exit 1
+cp $TOOLS_DIR/loaders.cache $PACKAGE_DIR/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache || exit 1
+
+mkdir -p $PACKAGE_DIR/lib/pango/1.6.0/modules || exit 1
+cp -r $GTK/lib/pango/1.6.0/modules/*.dll $PACKAGE_DIR/lib/pango/1.6.0/modules || exit 1
+
+cp -r $TOOLS_DIR/mingw64/* $PACKAGE_DIR/etc || exit 1
+
+echo "Copying mingw shared libraries to $PACKAGE_DIR ..."
+
+for i in $DLLS;
+do
+copydll "$i" "$PACKAGE_DIR" || exit 1
+done
+
+echo "Copying JACK server and drivers to $PACKAGE_DIR ..."
+
+# VK: -- FIXIT cp $MINGW_ROOT/bin/jackd.exe $PACKAGE_DIR || exit 1
+# VK: -- FIXIT cp -r $MINGW_ROOT/bin/jack $PACKAGE_DIR || exit 1
+# VK: -- FIXIT cp $MINGW_ROOT/bin/libportaudio-2.dll $PACKAGE_DIR || exit 1
+
+SRC_DIRS='
+libs/ardour
+libs/pbd
+libs/gtkmm2ext
+libs/midi++2
+libs/evoral
+libs/panners
+libs/timecode
+libs/audiographer
+'
+
+if test x$DEBUG != x ; then
+
+ PACKAGE_SRC_DIR=$PACKAGE_DIR/src
+ echo "Copying source files to $PACKAGE_SRC_DIR ..."
+ mkdir -p $PACKAGE_SRC_DIR/libs || exit 1
+ cp -r $BASE/gtk2_ardour $PACKAGE_SRC_DIR || exit 1
+ for i in $SRC_DIRS;
+ do
+ cp -r -p $BASE/$i $PACKAGE_SRC_DIR/libs || exit 1
+ done
+
+ echo "Copying JACK utility programs to $PACKAGE_DIR ..."
+ # VK: -- FIXIT cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR || exit 1
+
+ echo "Copying any debug files to $PACKAGE_DIR ..."
+ # VK: -- FIXIT cp $MINGW_ROOT/bin/*.debug $PACKAGE_DIR || exit 1
+
+ echo "Copying gdb to $PACKAGE_DIR ..."
+ cp $MINGW_ROOT/bin/gdb.exe $PACKAGE_DIR || exit 1
+
+ echo "Copying .gdbinit to $PACKAGE_DIR ..."
+ cp $TOOLS_DIR/gdbinit $PACKAGE_DIR/.gdbinit || exit 1
+
+ echo "Copying Gtk demo to $PACKAGE_DIR ..."
+ cp $GTK/bin/gtk-demo.exe $PACKAGE_DIR || exit 1
+else
+ echo "Optimized build Stripping executable ..."
+ $STRIP $PACKAGE_DIR/ardour-3.0.exe || exit 1
+ echo "Stripping libraries ..." || exit 1
+ find $PACKAGE_DIR -type f -name "*.dll*" | xargs $STRIP
+fi
+
+if [ "$1" == "--tarball" ]; then
+ echo "Creating tarball from $PACKAGE_DIR ..."
+ cd $BASE || exit 1
+ tar -cvJf $PACKAGE_DIR.tar.xz $PACKAGE_DIR || exit 1
+fi
+
+if [ "$1" == "--zip" ]; then
+ echo "Creating zip file from $PACKAGE_DIR ..."
+ cd $BASE || exit 1
+ zip -r $PACKAGE_DIR.zip $PACKAGE_DIR || exit 1
+fi