summaryrefslogtreecommitdiff
path: root/tools/windows_packaging
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2014-05-13 14:37:27 +1000
committerTim Mayberry <mojofunk@gmail.com>2014-05-14 09:47:59 +1000
commit2379321355365e1f6442eee368f71385b56ed9fd (patch)
treeebeb2bc7fa38e3a5207170ac1590d0fb9cce0ad7 /tools/windows_packaging
parente4442b45cfd71c0bdcc20ad65985aaf44cb42caa (diff)
Change windows packaging to have separate scripts for Fedora 19 and 20
A large part of the packaging is shared in package.sh, this approach should work on windows with another dll list in package-waves.sh and redefined copydll function(which I've added untested as copydll-waves.sh) Also add support for 64bit mingw builds via ARCH env variable. If unset defaults to 32bit build
Diffstat (limited to 'tools/windows_packaging')
-rwxr-xr-xtools/windows_packaging/copydll-fedora.sh12
-rwxr-xr-xtools/windows_packaging/copydll-waves.sh35
-rwxr-xr-xtools/windows_packaging/mingw-env.sh31
-rwxr-xr-xtools/windows_packaging/package-f19.sh73
-rwxr-xr-xtools/windows_packaging/package-f20.sh73
-rwxr-xr-xtools/windows_packaging/package.sh101
6 files changed, 241 insertions, 84 deletions
diff --git a/tools/windows_packaging/copydll-fedora.sh b/tools/windows_packaging/copydll-fedora.sh
new file mode 100755
index 0000000000..dcfbc41ac6
--- /dev/null
+++ b/tools/windows_packaging/copydll-fedora.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+function copydll () {
+ if [ -f $MINGW_ROOT/bin/$1 ] ; then
+ echo "cp $MINGW_ROOT/bin/$1 $2"
+ cp $MINGW_ROOT/bin/$1 $2 || return 1
+ return 0
+ fi
+
+ echo "ERROR: File $1 does not exist"
+ return 1
+}
diff --git a/tools/windows_packaging/copydll-waves.sh b/tools/windows_packaging/copydll-waves.sh
new file mode 100755
index 0000000000..fe2b5edf3c
--- /dev/null
+++ b/tools/windows_packaging/copydll-waves.sh
@@ -0,0 +1,35 @@
+#!/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
+}
diff --git a/tools/windows_packaging/mingw-env.sh b/tools/windows_packaging/mingw-env.sh
index 983e6d0b9b..00145de2ad 100755
--- a/tools/windows_packaging/mingw-env.sh
+++ b/tools/windows_packaging/mingw-env.sh
@@ -1,11 +1,23 @@
#!/bin/bash
-BASE=$(readlink -f $0)
-BASE=$(dirname $BASE) # up one
-BASE=$(dirname $BASE) # up one more
-BASE=$(dirname $BASE) # up one more
+if [ -z "$ARCH" ]; then
+ echo "ARCH not set defaulting to win32"
+ ARCH=win32
+elif [ "$ARCH" == "win32" ]; then
+ echo "ARCH set to win32"
+elif [ "$ARCH" == "win64" ]; then
+ echo "ARCH set to win64"
+else
+ echo "ARCH set invalid value aborting..."
+ exit 1
+fi
+
+if [ "$ARCH" == "win32" ]; then
+ HOST=i686-w64-mingw32
+else
+ HOST=x86_64-w64-mingw32
+fi
-HOST=i686-w64-mingw32
MINGW_ROOT=/usr/$HOST/sys-root/mingw
export PKG_CONFIG_PREFIX=$MINGW_ROOT
@@ -22,6 +34,11 @@ export LINK_CXX=$HOST-g++
export WINRC=$HOST-windres
export STRIP=$HOST-strip
+BASE=$(readlink -f $0)
+BASE=$(dirname $BASE) # up one
+BASE=$(dirname $BASE) # up one more
+BASE=$(dirname $BASE) # up one more
+
BUILD_DIR=$BASE/build
BUILD_CACHE_FILE=$BUILD_DIR/c4che/_cache.py
TOOLS_DIR=$BASE/tools/windows_packaging
@@ -35,9 +52,9 @@ then
# Figure out the Build Type
if [ x$DEBUG = xT ]; then
- PACKAGE_DIR="$APPNAME-${release_version}-win32-dbg"
+ PACKAGE_DIR="$APPNAME-${release_version}-$ARCH-dbg"
else
- PACKAGE_DIR="$APPNAME-${release_version}-win32"
+ PACKAGE_DIR="$APPNAME-${release_version}-$ARCH"
fi
if grep -q "BUILD_TESTS = True" $BUILD_CACHE_FILE; then
diff --git a/tools/windows_packaging/package-f19.sh b/tools/windows_packaging/package-f19.sh
new file mode 100755
index 0000000000..3900571fd6
--- /dev/null
+++ b/tools/windows_packaging/package-f19.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+DLLS='
+jack-0.dll
+jackserver-0.dll
+libatk-1.0-0.dll
+libatkmm-1.6-1.dll
+libbz2-1.dll
+libcairo-2.dll
+libcairo-gobject-2.dll
+libcairomm-1.0-1.dll
+libcairo-script-interpreter-2.dll
+libcppunit-1-12-1.dll
+libcrypto-10.dll
+libcurl-4.dll
+libexpat-1.dll
+libfftw3-3.dll
+libfftw3f-3.dll
+libfontconfig-1.dll
+libfreetype-6.dll
+libgailutil-18.dll
+libgcc_s_sjlj-1.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
+libgnurx-0.dll
+libgobject-2.0-0.dll
+libgthread-2.0-0.dll
+libgtkmm-2.4-1.dll
+libgtk-win32-2.0-0.dll
+libharfbuzz-0.dll
+iconv.dll
+libFLAC-8.dll
+libogg-0.dll
+libvorbis-0.dll
+libvorbisenc-2.dll
+libffi-6.dll
+libidn-11.dll
+libintl-8.dll
+liblo-7.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
+libpng15-15.dll
+rubberband-2.dll
+libsamplerate-0.dll
+libsigc-2.0-0.dll
+libsndfile-1.dll
+libssh2-1.dll
+libssl-10.dll
+libstdc++-6.dll
+libtag.dll
+libxml2-2.dll
+pthreadGC2.dll
+portaudio-2.dll
+vamp-hostsdk-3.dll
+vamp-sdk-2.dll
+zlib1.dll
+'
+
+WITH_JACK='TRUE'
+
+. ./copydll-fedora.sh
+. ./package.sh
diff --git a/tools/windows_packaging/package-f20.sh b/tools/windows_packaging/package-f20.sh
new file mode 100755
index 0000000000..50cbcd9734
--- /dev/null
+++ b/tools/windows_packaging/package-f20.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+DLLS='
+jack-0.dll
+jackserver-0.dll
+libatk-1.0-0.dll
+libatkmm-1.6-1.dll
+libbz2-1.dll
+libcairo-2.dll
+libcairo-gobject-2.dll
+libcairomm-1.0-1.dll
+libcairo-script-interpreter-2.dll
+libcppunit-1-12-1.dll
+libcrypto-10.dll
+libcurl-4.dll
+libexpat-1.dll
+libfftw3-3.dll
+libfftw3f-3.dll
+libfontconfig-1.dll
+libfreetype-6.dll
+libgailutil-18.dll
+libgcc_s_sjlj-1.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
+libgnurx-0.dll
+libgobject-2.0-0.dll
+libgthread-2.0-0.dll
+libgtkmm-2.4-1.dll
+libgtk-win32-2.0-0.dll
+libharfbuzz-0.dll
+iconv.dll
+libFLAC-8.dll
+libogg-0.dll
+libvorbis-0.dll
+libvorbisenc-2.dll
+libffi-6.dll
+libidn-11.dll
+libintl-8.dll
+liblo-7.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
+libpng16-16.dll
+rubberband-2.dll
+libsamplerate-0.dll
+libsigc-2.0-0.dll
+libsndfile-1.dll
+libssh2-1.dll
+libssl-10.dll
+libstdc++-6.dll
+libtag.dll
+libxml2-2.dll
+libwinpthread-1.dll
+portaudio-2.dll
+vamp-hostsdk-3.dll
+vamp-sdk-2.dll
+zlib1.dll
+'
+
+WITH_JACK='TRUE'
+
+. ./copydll-fedora.sh
+. ./package.sh
diff --git a/tools/windows_packaging/package.sh b/tools/windows_packaging/package.sh
index dd1ec88119..33eaa350e3 100755
--- a/tools/windows_packaging/package.sh
+++ b/tools/windows_packaging/package.sh
@@ -4,6 +4,11 @@
. ./print-env.sh
+if [ -z "$DLLS" ]; then
+ echo "ERROR: DLLS variable is not defined..."
+ exit 1
+fi
+
cd $BASE || exit 1
if ! test -f $BUILD_CACHE_FILE; then
@@ -50,90 +55,30 @@ cp -r $MINGW_ROOT/lib/gtk-2.0 $PACKAGE_DIR/lib
cp -r $MINGW_ROOT/lib/gdk-pixbuf-2.0 $PACKAGE_DIR/lib
cp $TOOLS_DIR/loaders.cache $PACKAGE_DIR/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
-mkdir -p $PACKAGE_DIR/lib/pango/1.6.0/modules
-cp -r $MINGW_ROOT/lib/pango/1.6.0/modules/*.dll $PACKAGE_DIR/lib/pango/1.6.0/modules
+if test x$WITH_PANGO_1_6 != x; then
+ mkdir -p $PACKAGE_DIR/lib/pango/1.6.0/modules
+ cp -r $MINGW_ROOT/lib/pango/1.6.0/modules/*.dll $PACKAGE_DIR/lib/pango/1.6.0/modules
+else
+ mkdir -p $PACKAGE_DIR/lib/pango/1.8.0/modules
+ cp -r $MINGW_ROOT/lib/pango/1.8.0/modules/*.dll $PACKAGE_DIR/lib/pango/1.8.0/modules
+fi
+
cp $TOOLS_DIR/pango.modules $PACKAGE_DIR/etc/pango
cp $TOOLS_DIR/README $PACKAGE_DIR
-DLLS='
-jack-0.dll
-jackserver-0.dll
-libart_lgpl_2-2.dll
-libatk-1.0-0.dll
-libatkmm-1.6-1.dll
-libbz2-1.dll
-libcairo-2.dll
-libcairo-gobject-2.dll
-libcairomm-1.0-1.dll
-libcairo-script-interpreter-2.dll
-libcppunit-1-12-1.dll
-libcrypto-10.dll
-libcurl-4.dll
-libexpat-1.dll
-libfftw3-3.dll
-libfftw3f-3.dll
-libfontconfig-1.dll
-libfreetype-6.dll
-libgailutil-18.dll
-libgcc_s_sjlj-1.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
-libgnomecanvasmm-2.6-1.dll
-libgnurx-0.dll
-libgobject-2.0-0.dll
-libgthread-2.0-0.dll
-libgtkmm-2.4-1.dll
-libgtk-win32-2.0-0.dll
-libharfbuzz-0.dll
-libiconv-2.dll
-iconv.dll
-libFLAC-8.dll
-libogg-0.dll
-libvorbis-0.dll
-libvorbisenc-2.dll
-libffi-6.dll
-libidn-11.dll
-libintl-8.dll
-liblo-7.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
-libpng15-15.dll
-libsamplerate-0.dll
-libsigc-2.0-0.dll
-libsndfile-1.dll
-libssh2-1.dll
-libssl-10.dll
-libstdc++-6.dll
-libxml2-2.dll
-pthreadGC2.dll
-zlib1.dll
-'
-
echo "Copying mingw shared libraries to $PACKAGE_DIR ..."
for i in $DLLS;
do
-cp $MINGW_ROOT/bin/$i $PACKAGE_DIR
+ copydll "$i" "$PACKAGE_DIR" || exit 1
done
-echo "Copying JACK server and drivers to $PACKAGE_DIR ..."
-
-cp $MINGW_ROOT/bin/jackd.exe $PACKAGE_DIR
-cp -r $MINGW_ROOT/bin/jack $PACKAGE_DIR
-cp $MINGW_ROOT/bin/libportaudio-2.dll $PACKAGE_DIR
+if test x$WITH_JACK != x; then
+ echo "Copying JACK server and drivers to $PACKAGE_DIR ..."
+ cp $MINGW_ROOT/bin/jackd.exe $PACKAGE_DIR
+ cp -r $MINGW_ROOT/bin/jack $PACKAGE_DIR
+fi
SRC_DIRS='
libs/ardour
@@ -156,9 +101,11 @@ if [ x$DEBUG = xT ]; then
do
cp -r -p $BASE/$i $PACKAGE_SRC_DIR/libs
done
-
- echo "Copying JACK utility programs to $PACKAGE_DIR ..."
- cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR
+
+ if test x$WITH_JACK != x; then
+ echo "Copying JACK utility programs to $PACKAGE_DIR ..."
+ cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR
+ fi
#echo "Copying any debug files to $PACKAGE_DIR ..."
#cp $MINGW_ROOT/bin/*.debug $PACKAGE_DIR