# HG changeset patch # User Chris Cannam # Date 1424873200 0 # Node ID c678de1d1a92f0bdfccec35f74b7aee31eda2936 # Parent 2a2c65a20a8b16d43fec86d12e72b609849cee26 Toward support for VamPy plugins on Windows diff -r 2a2c65a20a8b -r c678de1d1a92 .hgignore --- a/.hgignore Wed Feb 25 14:05:22 2015 +0000 +++ b/.hgignore Wed Feb 25 14:06:40 2015 +0000 @@ -1,3 +1,5 @@ syntax: glob *~ REPORTS +*.pyo +*.pyc diff -r 2a2c65a20a8b -r c678de1d1a92 .hgsubstate --- a/.hgsubstate Wed Feb 25 14:05:22 2015 +0000 +++ b/.hgsubstate Wed Feb 25 14:06:40 2015 +0000 @@ -18,4 +18,4 @@ f021dc97da29d9c92cfec37b0a100723b6921f3e vamp-simple-cepstrum 02721bb9c4f07dadfe5fd32e2ac9d6f6958749a5 vamp-tempogram 42e71acaba8eb051b46009459ddd1e99f2176270 vamp-test-plugin -d8eaa10e153e8c7a2731ea99e932cc7308a6c967 vampy +5e26aaba2eedd7d3c51d2b8cb4c6593ed9adf623 vampy diff -r 2a2c65a20a8b -r c678de1d1a92 SCRIPTS/process.sh --- a/SCRIPTS/process.sh Wed Feb 25 14:05:22 2015 +0000 +++ b/SCRIPTS/process.sh Wed Feb 25 14:06:40 2015 +0000 @@ -9,7 +9,7 @@ ## does not export any unnecessary symbols ## has valid .cat and .n3 -set -eu +set -e mydir=$(dirname "$0") case "$mydir" in /*);; *) mydir=$(pwd)/"$mydir";; esac @@ -117,6 +117,9 @@ archflags="-mmacosx-version-min=10.6 -arch x86_64 -arch i386" identpattern='Mach-O 64-bit .*x86_64' ;; + *) + usage + ;; esac; shift @@ -145,8 +148,12 @@ depincdir="$mydir"/../DEPENDENCIES/$platform$bits/include deplibdir="$mydir"/../DEPENDENCIES/$platform$bits/lib +depincdir_generic="$mydir"/../DEPENDENCIES/generic/include -depincdir_generic="$mydir"/../DEPENDENCIES/generic/include +pyver=27 +pyincdir="$mydir"/../DEPENDENCIES/$platform$bits/Python$pyver/include +numpyincdir="$mydir"/../DEPENDENCIES/$platform$bits/Python$pyver/Lib/site-packages/numpy/core/include +pylibdir="$mydir"/../DEPENDENCIES/$platform$bits/Python$pyver/libs plugindirs="$@" if [ -z "$plugindirs" ]; then @@ -160,6 +167,8 @@ done fi +set -u + reportdir="REPORTS/$platform$bits" packagedir="PACKAGES/$platform$bits" @@ -266,8 +275,8 @@ if [ -n "$mfile" ]; then target=$(target_for "$dir") TOOLPREFIX="$toolprefix" \ - CXXFLAGS="-I${depincdir} -I${depincdir_generic} -I../vamp-plugin-sdk" \ - LDFLAGS="-L${deplibdir} -L../vamp-plugin-sdk" \ + CXXFLAGS="-I${depincdir} -I${pyincdir} -I${numpyincdir} -I${depincdir_generic} -I../vamp-plugin-sdk" \ + LDFLAGS="-L${deplibdir} -L${pylibdir} -L../vamp-plugin-sdk" \ ARCHFLAGS="$archflags" \ make -C "$dir" -f "$mfile" $target 2>&1 | \ tee "$log" @@ -275,7 +284,7 @@ elif have_vampy_plugins "$dir"; then return 0 else - echo "Failed to find a Makefile in $dir!" | tee "$log" + echo "*** Failed to find a Makefile in $dir!" | tee "$log" return 1 fi fi @@ -292,13 +301,13 @@ elif make -C "$dir" -f "$mfile" clean; then build "$dir" else - echo "Failed to 'make clean' in $dir!" | tee "$log" + echo "*** Failed to 'make clean' in $dir!" | tee "$log" return 1 fi elif have_vampy_plugins "$dir"; then return 0 else - echo "Failed to find a Makefile in $dir!" | tee "$log" + echo "*** Failed to find a Makefile in $dir!" | tee "$log" return 1 fi fi @@ -592,7 +601,7 @@ } if ! build_or_rebuild "vamp-plugin-sdk"; then - echo "Failed to build Vamp plugin SDK!" + echo "*** Failed to build Vamp plugin SDK!" exit 1 fi @@ -605,10 +614,24 @@ done if ! build_or_rebuild "vamp-plugin-tester"; then - echo "Failed to build Vamp plugin tester!" + echo "*** Failed to build Vamp plugin tester!" exit 1 fi +need_vampy=no +for dir in $plugindirs ; do + if have_vampy_plugins "$dir"; then + need_vampy=yes + break + fi +done +if [ "$need_vampy" = "yes" ] && [ "$plugindirs" != "vampy" ]; then + if ! build_or_rebuild "vampy"; then + echo "*** Failed to build VamPy! (needed for other plugins)" + exit 1 + fi +fi + for dir in $plugindirs ; do dir=${dir%/*} echo