From df8b44b1cae2f665c99ae9429c321732b097ed07023d3a6b60b83240f06159fe Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Sat, 6 Apr 2019 07:44:05 +0000 Subject: [PATCH] Accepting request 691977 from home:plater sync new csound OBS-URL: https://build.opensuse.org/request/show/691977 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/csound?expand=0&rev=25 --- Csound5.18.02.tar.gz | 3 - csound-6.08-64-bit-plugin-path.patch | 40 ++ csound-6.08-default-pulse.patch | 13 + csound-6.08-fix-conflicts.patch | 118 ++++ csound-6.08-sse2.patch | 33 + csound-6.08-xdg-open.patch | 22 + csound-6.12.2.tar.gz | 3 + csound-scons-on-py3.patch | 962 --------------------------- csound-strncat-fix.patch | 28 - csound.spec | 128 +++- fluidsynth2.patch | 60 ++ 11 files changed, 389 insertions(+), 1021 deletions(-) delete mode 100644 Csound5.18.02.tar.gz create mode 100644 csound-6.08-64-bit-plugin-path.patch create mode 100644 csound-6.08-default-pulse.patch create mode 100644 csound-6.08-fix-conflicts.patch create mode 100644 csound-6.08-sse2.patch create mode 100644 csound-6.08-xdg-open.patch create mode 100644 csound-6.12.2.tar.gz delete mode 100644 csound-scons-on-py3.patch delete mode 100644 csound-strncat-fix.patch create mode 100644 fluidsynth2.patch diff --git a/Csound5.18.02.tar.gz b/Csound5.18.02.tar.gz deleted file mode 100644 index 8e2149d..0000000 --- a/Csound5.18.02.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c461cf3bf60b83671224949dd33805379b7121bf2c0ad6af5e191e7f6f8adc8 -size 9211491 diff --git a/csound-6.08-64-bit-plugin-path.patch b/csound-6.08-64-bit-plugin-path.patch new file mode 100644 index 0000000..e8db155 --- /dev/null +++ b/csound-6.08-64-bit-plugin-path.patch @@ -0,0 +1,40 @@ +--- CMakeLists.txt.orig 2017-02-04 22:30:16.670767865 +0200 ++++ CMakeLists.txt 2017-02-04 22:29:23.216953000 +0200 +@@ -35,11 +35,10 @@ message(STATUS "LIBRARY INSTALL DIR: ${L + + if(USE_DOUBLE) + message(STATUS "Building with 64-bit floats") +- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins64-${APIVERSION}") + else() + message(STATUS "Building with 32-bit floats") +- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}") + endif() ++set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}") + + + execute_process ( +--- installer/misc/mkpackage.py.orig 2017-02-04 20:49:47.206563224 +0200 ++++ installer/misc/mkpackage.py 2017-02-04 20:50:43.818304341 +0200 +@@ -27,7 +27,7 @@ libDir2 = libDir + '/csound/lib' + # single precision plugin libraries + pluginDir32 = libDir + '/csound/plugins' + # double precision plugin libraries +-pluginDir64 = libDir + '/csound/plugins64' ++pluginDir64 = libDir + '/csound/plugins' + # documentation + docDir = instPrefix + '/share/doc/csound' + # tclcsound.so +--- Top/csmodule.c.orig 2016-11-25 01:42:03.000000000 +0200 ++++ Top/csmodule.c 2017-02-04 20:52:48.869523561 +0200 +@@ -146,9 +146,9 @@ static const char *plugindir64_env + # define ENABLE_OPCODEDIR_WARNINGS 0 + # ifndef CS_DEFAULT_PLUGINDIR + # ifndef USE_DOUBLE +-# define CS_DEFAULT_PLUGINDIR "/usr/local/lib/csound/plugins" ++# define CS_DEFAULT_PLUGINDIR "/usr/lib/csound/plugins" + # else +-# define CS_DEFAULT_PLUGINDIR "/usr/local/lib/csound/plugins64" ++# define CS_DEFAULT_PLUGINDIR "/usr/lib64/csound/plugins" + # endif + # endif + #endif diff --git a/csound-6.08-default-pulse.patch b/csound-6.08-default-pulse.patch new file mode 100644 index 0000000..2a42e47 --- /dev/null +++ b/csound-6.08-default-pulse.patch @@ -0,0 +1,13 @@ +Index: csound-6.12.2/Top/csound.c +=================================================================== +--- csound-6.12.2.orig/Top/csound.c 2018-11-07 16:05:23.000000000 +0200 ++++ csound-6.12.2/Top/csound.c 2019-04-05 15:32:03.893551257 +0200 +@@ -3443,7 +3443,7 @@ PUBLIC void csoundReset(CSOUND *csound) + csoundCreateGlobalVariable(csound, "_RTAUDIO", (size_t) max_len); + s = csoundQueryGlobalVariable(csound, "_RTAUDIO"); + #ifndef LINUX +- strcpy(s, "PortAudio"); ++ strcpy(s, "pulse"); + #else + strcpy(s, "alsa"); + #endif diff --git a/csound-6.08-fix-conflicts.patch b/csound-6.08-fix-conflicts.patch new file mode 100644 index 0000000..6860b3f --- /dev/null +++ b/csound-6.08-fix-conflicts.patch @@ -0,0 +1,118 @@ +--- installer/linux/d32.sh.orig 2014-05-04 05:49:43.213736146 -0600 ++++ installer/linux/d32.sh 2014-05-05 20:15:00.000000000 -0600 +@@ -13,7 +13,7 @@ mkdir -p -m 0755 ../../../CSDIST/$DIR/lo + + rm ../../../CSDIST/$DIR/bin/* + +-cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,mixer,envext,extract,extractor,pvanal,pvlook,het_export,het_import,hetro,scale,scot,scsort,sdif2ad,srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,sndinfo} ../../../CSDIST/$DIR/bin ++cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,cs-mixer,cs-envext,cs-extract,cs-extractor,pvanal,pvlook,het_export,het_import,hetro,scale,cs-scot,scsort,sdif2ad,cs-srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,cs-sndinfo} ../../../CSDIST/$DIR/bin + + strip ../../../CSDIST/$DIR/bin/* + +--- installer/linux/d64.sh.orig 2014-05-04 05:49:43.213736146 -0600 ++++ installer/linux/d64.sh 2014-05-05 20:15:00.000000000 -0600 +@@ -12,7 +12,7 @@ mkdir -p -m 0755 ../../../CSDIST/$DIR/lo + + rm ../../../CSDIST/$DIR/bin/* + +-cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,mixer,envext,extract,extractor,pvanal,pvlook,het_export,het_import,hetro,scale,scot,scsort,sdif2ad,srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,sndinfo,cseditor} ../../../CSDIST/$DIR/bin ++cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,mixer,cs-envext,cs-extract,cs-extractor,pvanal,pvlook,het_export,het_import,hetro,scale,cs-scot,scsort,sdif2ad,cs-srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,cs-sndinfo,cseditor} ../../../CSDIST/$DIR/bin + + strip ../../../CSDIST/$DIR/bin/* + +--- installer/linux/f32.sh.orig 2014-05-04 05:49:43.213736146 -0600 ++++ installer/linux/f32.sh 2014-05-05 20:15:00.000000000 -0600 +@@ -12,7 +12,7 @@ mkdir -p -m 0755 ../../../CSDIST/$DIR/lo + + rm ../../../CSDIST/$DIR/bin/* + +-cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,mixer,envext,extract,extractor,pvanal,pvlook,het_export,het_import,hetro,scale,scot,scsort,sdif2ad,srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,sndinfo} ../../../CSDIST/$DIR/bin ++cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,cs-mixer,cs-envext,cs-extract,cs-extractor,pvanal,pvlook,het_export,het_import,hetro,scale,cs-scot,scsort,sdif2ad,cs-srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,cs-sndinfo} ../../../CSDIST/$DIR/bin + + strip ../../../CSDIST/$DIR/bin/* + +--- installer/linux/f64.sh.orig 2014-05-04 05:49:43.213736146 -0600 ++++ installer/linux/f64.sh 2014-05-05 20:15:00.000000000 -0600 +@@ -12,7 +12,7 @@ mkdir -p -m 0755 ../../../CSDIST/$DIR/lo + + rm ../../../CSDIST/$DIR/bin/* + +-cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,mixer,envext,extract,extractor,pvanal,pvlook,het_export,het_import,hetro,scale,scot,scsort,sdif2ad,srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,sndinfo,cseditor} ../../../CSDIST/$DIR/bin ++cp -pv ../../{linseg,lpanal,brkpt,lpc_export,lpc_import,cs,makecsd,csb64enc,cscore,csound,csound5gui,cvanal,dnoise,cs-mixer,cs-envext,cs-extract,cs-extractor,pvanal,pvlook,het_export,het_import,hetro,scale,cs-scot,scsort,sdif2ad,cs-srconv,tabdes,winsound,cstclsh,cswish,matrix.tk,pv_export,pv_import,atsa,cs-sndinfo,cseditor} ../../../CSDIST/$DIR/bin + + strip ../../../CSDIST/$DIR/bin/* + +--- installer/misc/mkpackage.py.orig 2014-05-05 17:00:10.347460267 -0600 ++++ installer/misc/mkpackage.py 2014-05-05 20:15:00.000000000 -0600 +@@ -71,13 +71,13 @@ headerFiles += ['interfaces/CppSound.hpp + headerFiles += ['interfaces/CsoundFile.hpp'] + + utils1 = ['csound', 'winsound', 'cstclsh', 'cswish', +- 'atsa', 'cvanal', 'dnoise', 'envext', 'extractor', ++ 'atsa', 'cvanal', 'dnoise', 'cs-envext', 'cs-extractor', + 'het_export', 'het_import', 'hetro', 'lpanal', +- 'lpc_export', 'lpc_import', 'mixer', 'pvanal', +- 'pvlook', 'pv_export', 'pv_import', 'scale', 'sndinfo', +- 'srconv', 'cseditor'] ++ 'lpc_export', 'lpc_import', 'cs-mixer', 'pvanal', ++ 'pvlook', 'pv_export', 'pv_import', 'cs-scale', 'cs-sndinfo', ++ 'cs-srconv', 'cseditor'] + +-utils2 = ['scsort', 'extract', 'cs', 'csb64enc', 'makecsd', 'scot'] ++utils2 = ['scsort', 'cs-extract', 'cs', 'csb64enc', 'makecsd', 'cs-scot'] + + docFiles = ['COPYING', 'ChangeLog', 'INSTALL', 'readme-csound6.txt'] + +--- util1/CMakeLists.txt.orig 2014-05-04 05:49:44.284746142 -0600 ++++ util1/CMakeLists.txt 2014-05-05 20:15:00.000000000 -0600 +@@ -1,7 +1,7 @@ + #extra utilities + + make_utility(scsort sortex/smain.c) +-make_utility(extract sortex/xmain.c) ++make_utility(cs-extract sortex/xmain.c) + + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) + if(HAVE_UNISTD_H) +@@ -19,6 +19,6 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMP + + set(scot_SRCS + scot/scot_main.c scot/scot.c) +- make_utility(scot "${scot_SRCS}") ++ make_utility(cs-scot "${scot_SRCS}") + endif() + +--- util/CMakeLists.txt.orig 2016-11-25 01:42:03.000000000 +0200 ++++ util/CMakeLists.txt 2017-02-04 21:13:26.135024754 +0200 +@@ -23,15 +23,15 @@ if(BUILD_UTILITIES) + make_utility(csanalyze csanalyze.c) + make_utility(cvanal cvl_main.c) + make_utility(dnoise dnoise_main.c) +- make_utility(envext env_main.c) +- make_utility(extractor xtrc_main.c) ++ make_utility(cs-envext env_main.c) ++ make_utility(cs-extractor xtrc_main.c) + make_utility(het_export hetx_main.c) + make_utility(het_import heti_main.c) + make_utility(hetro het_main.c) + make_utility(lpanal lpc_main.c) + make_utility(lpc_export lpcx_main.c) + make_utility(lpc_import lpci_main.c) +- make_executable(mixer-bin mixer_main.c "${CSOUNDLIB}" mixer) ++ make_executable(mixer-bin mixer_main.c "${CSOUNDLIB}" cs-mixer) + if(LINUX) + target_link_libraries(mixer-bin m) + endif() +@@ -39,9 +39,9 @@ if(BUILD_UTILITIES) + make_utility(pvlook pvl_main.c) + make_utility(pv_export pvx_main.c) + make_utility(pv_import pvi_main.c) +- make_utility(scale scale_main.c) +- make_utility(sndinfo sndinfo_main.c) +- make_utility(srconv srconv_main.c) ++ make_utility(cs-scale scale_main.c) ++ make_utility(cs-sndinfo sndinfo_main.c) ++ make_utility(cs-srconv srconv_main.c) + + + find_library(LIBSNDFILE_LIBRARY sndfile) diff --git a/csound-6.08-sse2.patch b/csound-6.08-sse2.patch new file mode 100644 index 0000000..eef2f8f --- /dev/null +++ b/csound-6.08-sse2.patch @@ -0,0 +1,33 @@ +--- cmake/CompilerOptimizations.cmake.orig 2017-02-04 21:33:49.238875410 +0200 ++++ cmake/CompilerOptimizations.cmake 2017-02-04 21:38:33.681564067 +0200 +@@ -19,30 +19,6 @@ if (HAS_CXX_FAST_MATH AND NOT MINGW) + endif() + + +-if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +- +-check_c_compiler_flag(-mfpmath=sse HAS_FPMATH_SSE) +-check_cxx_compiler_flag(-mfpmath=sse HAS_CXX_FPMATH_SSE) +- if (HAS_FPMATH_SSE) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse") +-endif() +-if (HAS_CXX_FPMATH_SSE) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse") +-endif() +- +-endif() +- +- +-check_c_compiler_flag(-msse2 HAS_SSE2) +-check_cxx_compiler_flag(-msse2 HAS_CXX_SSE2) +- if (HAS_SSE2 AND NOT IOS) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2") +-endif() +-if (HAS_CXX_SSE2 AND NOT IOS) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") +-endif() +- +- + check_c_compiler_flag(-fomit-frame-pointer HAS_OMIT_FRAME_POINTER) + check_cxx_compiler_flag(-fomit-frame-pointer HAS_CXX_OMIT_FRAME_POINTER) + if (HAS_OMIT_FRAME_POINTER) diff --git a/csound-6.08-xdg-open.patch b/csound-6.08-xdg-open.patch new file mode 100644 index 0000000..5acc505 --- /dev/null +++ b/csound-6.08-xdg-open.patch @@ -0,0 +1,22 @@ +Index: csound-6.12.2/installer/misc/vim/cshelp +=================================================================== +--- csound-6.12.2.orig/installer/misc/vim/cshelp 2018-11-07 16:05:23.000000000 +0200 ++++ csound-6.12.2/installer/misc/vim/cshelp 2019-04-05 15:32:23.670308342 +0200 +@@ -3,7 +3,9 @@ + BROWSER_CMD="" + + if [ "${DISPLAY}" != "" ] ; then +- if ( which links | grep -q -G -e "^/usr" ) ; then ++ if ( which xdg-open | grep -E -e "^(/usr)?/bin" ); then ++ BROWSER_CMD="xdg-open" ; ++ elif ( which links | grep -q -G -e "^/usr" ) ; then + BROWSER_CMD="links -g" ; + elif ( which konqueror | grep -q -G -e "^/opt" ) ; then + BROWSER_CMD="konqueror" ; +@@ -38,5 +40,5 @@ else + OPNAME="${1}" ; + fi + +-exec ${BROWSER_CMD} "/usr/local/share/doc/csound/manual/${OPNAME}.html" ++exec ${BROWSER_CMD} "/usr/share/doc/csound-manual/${OPNAME}.html" + diff --git a/csound-6.12.2.tar.gz b/csound-6.12.2.tar.gz new file mode 100644 index 0000000..1407081 --- /dev/null +++ b/csound-6.12.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39f4872b896eb1cbbf596fcacc0f2122fd3e5ebbb5cec14a81b4207d6b8630ff +size 26297850 diff --git a/csound-scons-on-py3.patch b/csound-scons-on-py3.patch deleted file mode 100644 index 776882b..0000000 --- a/csound-scons-on-py3.patch +++ /dev/null @@ -1,962 +0,0 @@ -Index: Csound5.18.02/SConstruct -=================================================================== ---- Csound5.18.02.orig/SConstruct -+++ Csound5.18.02/SConstruct -@@ -1,5 +1,5 @@ - #J vim:syntax=python --print ''' -+print (''' - C S O U N D 5 - - SCons build file for Csound 5: -@@ -16,7 +16,7 @@ For MinGW, run in the MSys shell - and use www.python.org WIN32 Python to run scons. - For Microsoft Visual C++, run in the Platform SDK - command shell, and use www.python.org WIN32 Python to run scons. --''' -+''') - - import time - import glob -@@ -67,7 +67,7 @@ def getPlatform(): - # - ############################################################################# - --print "System platform is '" + getPlatform() + "'." -+print ("System platform is '" + getPlatform() + "'.") - - - # Create options that can be set from the command line. -@@ -326,10 +326,10 @@ elif getPlatform() == 'win32': - optionsFilename = 'custom-mingw.py' - - if(not FindFile(optionsFilename, '.')): -- print "\n\n*************************************************" -- print "%s NOT FOUND, please copy one of the custom-***.py" % optionsFilename -- print "as %s and modify it to suit your system, if necessary" % optionsFilename -- print "*************************************************" -+ print ("\n\n*************************************************") -+ print ("%s NOT FOUND, please copy one of the custom-***.py" % optionsFilename) -+ print ("as %s and modify it to suit your system, if necessary" % optionsFilename) -+ print ("*************************************************") - Exit(-1) - - -@@ -341,7 +341,7 @@ if commonEnvironment['custom']: - Requires(optionsFilename, commonEnvironment) - - --print "Using options from '%s.'" % optionsFilename -+print ("Using options from '%s.'" % optionsFilename) - - fileOptions = Options(optionsFilename) - fileOptions.Add('customCPPPATH', 'List of custom CPPPATH variables') -@@ -370,21 +370,21 @@ commonEnvironment.Prepend(SWIGFLAGS = cu - - # Define options for different platforms. - if getPlatform() != 'win32' and getPlatform() != 'sunos': -- print "Build platform is '" + getPlatform() + "'." -+ print ("Build platform is '" + getPlatform() + "'.") - elif getPlatform() == 'sunos': - if compilerSun(): -- print "Build platform is Sun Studio." -+ print ("Build platform is Sun Studio.") - elif compilerGNU(): -- print "Build platform is '" + getPlatform() + "'." -+ print ("Build platform is '" + getPlatform() + "'.") - else: - if compilerMicrosoft(): -- print "Build platform is Microsoft Visual C++ (MSVC)." -+ print ("Build platform is Microsoft Visual C++ (MSVC).") - elif compilerIntel(): -- print "Build platform is the Intel C++ Compiler (ICL)." -+ print ("Build platform is the Intel C++ Compiler (ICL).") - elif compilerGNU(): -- print "Build platform is MinGW/MSYS" -+ print ("Build platform is MinGW/MSYS") - --print "SCons tools on this platform: ", commonEnvironment['TOOLS'] -+print ("SCons tools on this platform: ", commonEnvironment['TOOLS']) - - commonEnvironment.Prepend(CPPPATH = ['.', './H']) - if commonEnvironment['useLrint'] != '0': -@@ -393,7 +393,7 @@ if commonEnvironment['useLrint'] != '0': - cf = Configure(commonEnvironment) - if commonEnvironment['useGettext'] == '1': - if cf.CheckHeader("libintl.h"): -- print "CONFIGURATION DECISION: Using GNU gettext scheme" -+ print ("CONFIGURATION DECISION: Using GNU gettext scheme") - commonEnvironment.Prepend(CCFLAGS = ['-DGNU_GETTEXT']) - if getPlatform() == "win32": - commonEnvironment.Append(LIBS=['intl']) -@@ -402,7 +402,7 @@ if commonEnvironment['useGettext'] == '1 - if getPlatform() == "sunos": - commonEnvironment.Append(LIBS=['intl']) - else: -- print "CONFIGURATION DECISION: No localisation" -+ print ("CONFIGURATION DECISION: No localisation") - - commonEnvironment = cf.Finish() - -@@ -481,9 +481,9 @@ if commonEnvironment['Word64'] == '1': - commonEnvironment.Append(CCFLAGS = ['-fPIC']) - - if commonEnvironment['useDouble'] == '0': -- print 'CONFIGURATION DECISION: Using single-precision floating point for audio samples.' -+ print ('CONFIGURATION DECISION: Using single-precision floating point for audio samples.') - else: -- print 'CONFIGURATION DECISION: Using double-precision floating point for audio samples.' -+ print ('CONFIGURATION DECISION: Using double-precision floating point for audio samples.') - commonEnvironment.Append(CPPFLAGS = ['-DUSE_DOUBLE']) - - # Define different build environments for different types of targets. -@@ -510,7 +510,7 @@ elif getPlatform() == 'darwin': - commonEnvironment.Append(CPPPATH = '/usr/local/include') - commonEnvironment.Append(CCFLAGS = "-DPIPES") - if commonEnvironment['useAltivec'] == '1': -- print 'CONFIGURATION DECISION: Using Altivec optimisation' -+ print ('CONFIGURATION DECISION: Using Altivec optimisation') - commonEnvironment.Append(CCFLAGS = "-faltivec") - elif getPlatform() == 'win32': - commonEnvironment.Append(CCFLAGS = '-D_WIN32') -@@ -551,7 +551,7 @@ elif getPlatform() == 'win32': - if compilerMicrosoft(): - commonEnvironment.Append(CCFLAGS = '/arch:sse') - if compilerIntel(): -- print 'Generating code optimized for Intel Core 2 Duo and Pentium 4 that will run on other processors also.' -+ print ('Generating code optimized for Intel Core 2 Duo and Pentium 4 that will run on other processors also.') - commonEnvironment.Append(CCFLAGS = Split('/O3 /QaxTP')) - - if getPlatform() == 'linux': -@@ -586,7 +586,7 @@ elif getPlatform() == 'darwin': - kernelstr = fout.readline() - fout.close() - OSXvers = int(kernelstr[:kernelstr.find('.')]) - 4 -- print "Mac OS X version 10.%d" % OSXvers -+ print ("Mac OS X version 10.%d" % OSXvers) - # dictionary mapping OS X version to Apple Python version - # ex. 4:3 maps OS X 10.4 to Python 2.3 - # Note that OS X 10.2 did not ship with a Python framework -@@ -594,21 +594,21 @@ elif getPlatform() == 'darwin': - OSXSystemPythonVersions = { 0:0, 1:0, 2:2, 3:3, 4:3, 5:5, 6:6, 7:7 } - sysPyVers = OSXSystemPythonVersions[OSXvers] - if OSXvers >= 2: -- print "Apple Python version is 2.%d" % sysPyVers -+ print ("Apple Python version is 2.%d" % sysPyVers) - # vers = (int(sys.hexversion) >> 24, (int(sys.hexversion) >> 16) & 255) - vers = sys.version_info - pvers = "%s.%s" % (vers[0], vers[1]) - # This logic is not quite right on OS X 10.2 and earlier - # or if the MacPython version equals the expected Apple Python version - if vers[1] == sysPyVers: -- print "Current Python version is %s, using Apple Python Framework" % pvers -+ print ("Current Python version is %s, using Apple Python Framework" % pvers) - pyBasePath = '/System/Library/Frameworks' - else: -- print "Current Python version is %s, using MacPython Framework" % pvers -+ print ("Current Python version is %s, using MacPython Framework" % pvers) - pyBasePath = '/Library/Frameworks' - if commonEnvironment['pythonVersion'] != pvers: - commonEnvironment['pythonVersion'] = pvers -- print "WARNING python version used is " + pvers -+ print ("WARNING python version used is " + pvers) - pythonIncludePath = ['%s/Python.Framework/Headers' % pyBasePath] - pythonLinkFlags = [ '-F' + pyBasePath, '-framework', 'python'] - path1 = '%s/Python.framework/Versions/Current/lib' % pyBasePath -@@ -665,15 +665,15 @@ configure = commonEnvironment.Configure( - }) - - if not configure.CheckHeader("stdio.h", language = "C"): -- print " *** Failed to compile a simple test program. The compiler is" -- print " *** possibly not set up correctly, or is used with invalid flags." -- print " *** Check config.log to find out more about the error." -+ print (" *** Failed to compile a simple test program. The compiler is") -+ print (" *** possibly not set up correctly, or is used with invalid flags.") -+ print (" *** Check config.log to find out more about the error.") - Exit(-1) - if not configure.CheckLibWithHeader("sndfile", "sndfile.h", language = "C"): -- print "The sndfile library is required to build Csound 5." -+ print ("The sndfile library is required to build Csound 5.") - Exit(-1) - if not configure.CheckLibWithHeader("pthread", "pthread.h", language = "C"): -- print "The pthread library is required to build Csound 5." -+ print ("The pthread library is required to build Csound 5.") - Exit(-1) - - # Support for GEN49 (load MP3 file) -@@ -681,24 +681,24 @@ if not configure.CheckLibWithHeader("pth - if commonEnvironment['includeWii'] != '0' and configure.CheckHeader("wiiuse.h", language = "C"): - wiifound = 1 - wiiversion = commonEnvironment['includeWii'] -- print 'CONFIGURATION DECISION: Building with Wiimote support' -+ print ('CONFIGURATION DECISION: Building with Wiimote support') - else: - wiifound = 0 -- print 'CONFIGURATION DECISION: No Wiimote support' -+ print ('CONFIGURATION DECISION: No Wiimote support') - - if commonEnvironment['includeP5Glove'] == '1' : - p5gfound = 1 -- print 'CONFIGURATION DECISION: Building with P5 Glove support' -+ print ('CONFIGURATION DECISION: Building with P5 Glove support') - else: - p5gfound = 0 -- print 'CONFIGURATION DECISION: No P5 Glove support' -+ print ('CONFIGURATION DECISION: No P5 Glove support') - - if commonEnvironment['includeSerial'] == '1' : - serialfound = 1 -- print 'CONFIGURATION DECISION: Building with Serial code support' -+ print ('CONFIGURATION DECISION: Building with Serial code support') - else: - serialfound = 0 -- print 'CONFIGURATION DECISION: No Serial code support' -+ print ('CONFIGURATION DECISION: No Serial code support') - - - #pthreadSpinlockFound = configure.CheckLibWithHeader('pthread', 'pthread.h', 'C', 'pthread_spin_lock(0);') -@@ -706,13 +706,13 @@ if getPlatform() != 'darwin': # pthreadS - commonEnvironment.Append(CPPFLAGS = ['-DHAVE_PTHREAD_SPIN_LOCK']) - pthreadBarrierFound = configure.CheckLibWithHeader('pthread', 'pthread.h', 'C', 'pthread_barrier_init(0, NULL, 0);') - if pthreadBarrierFound: -- print 'CONFIGURATION DECISION: Using HAVE_PTHREAD_BARRIER_INIT' -+ print ('CONFIGURATION DECISION: Using HAVE_PTHREAD_BARRIER_INIT') - commonEnvironment.Append(CPPFLAGS = ['-DHAVE_PTHREAD_BARRIER_INIT']) - else: -- print 'CONFIGURATION DECISION: Not using HAVE_PTHREAD_BARRIER_INIT' -+ print ('CONFIGURATION DECISION: Not using HAVE_PTHREAD_BARRIER_INIT') - openMpFound = configure.CheckLibWithHeader('gomp', 'omp.h', 'C++', 'int n = omp_get_num_threads();') - if openMpFound and pthreadBarrierFound and commonEnvironment['useOpenMP'] == '1': -- print 'CONFIGURATION DECISION: Using OpenMP.' -+ print ('CONFIGURATION DECISION: Using OpenMP.') - commonEnvironment.Append(CFLAGS = ['-fopenmp']) - commonEnvironment.Append(CXXFLAGS = ['-fopenmp']) - commonEnvironment.Append(CPPFLAGS = ['-DUSE_OPENMP']) -@@ -725,7 +725,7 @@ else: - syncLockTestAndSetFound = configure.CheckLibWithHeader('m', 'stdint.h', 'C', '__sync_lock_test_and_set((int32_t *)0, 0);') - if syncLockTestAndSetFound: - commonEnvironment.Append(CPPFLAGS = ['-DHAVE_SYNC_LOCK_TEST_AND_SET']) -- print 'found sync lock' -+ print ('found sync lock') - vstSdkFound = configure.CheckHeader("frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h", language = "C++") - portaudioFound = configure.CheckHeader("portaudio.h", language = "C") - #portmidiFound = configure.CheckHeader("portmidi.h", language = "C") -@@ -758,8 +758,8 @@ midiPluginSdkFound = configure.CheckHead - luaFound = configure.CheckHeader("lua.h", language = "C") - #print 'LUA: %s' % (['no', 'yes'][int(luaFound)]) - swigFound = 'swig' in commonEnvironment['TOOLS'] --print 'Checking for SWIG... %s' % (['no', 'yes'][int(swigFound)]) --print "Python Version: " + commonEnvironment['pythonVersion'] -+print ('Checking for SWIG... %s' % (['no', 'yes'][int(swigFound)])) -+print ("Python Version: " + commonEnvironment['pythonVersion']) - pythonFound = configure.CheckHeader("Python.h", language = "C") - if not pythonFound: - if getPlatform() == 'darwin': -@@ -827,7 +827,7 @@ elif configure.CheckHeader("dirent.h", l - commonEnvironment.Append(CPPFLAGS = ['-DHAVE_DIRENT_H']) - - if not configure.CheckSndFile(): -- print "The sndfile library >= 1.0.19 is required to build Csound 5." -+ print ("The sndfile library >= 1.0.19 is required to build Csound 5.") - Exit(-1) - - # Package contents. -@@ -881,9 +881,9 @@ lexBuild = csoundLibraryEnvironment.CFil - preBuild = csoundLibraryEnvironment.CFile(target = 'Engine/csound_prelex.c', - source = 'Engine/csound_pre.lex') - if commonEnvironment['NewParserDebug'] != '0': -- print 'CONFIGURATION DECISION: Building with new parser debugging' -+ print ('CONFIGURATION DECISION: Building with new parser debugging') - csoundLibraryEnvironment.Append(CPPFLAGS = ['-DPARSER_DEBUG=1']) --else: print 'CONFIGURATION DECISION: Not building with new parser debugging' -+else: print ('CONFIGURATION DECISION: Not building with new parser debugging') - - csoundLibraryEnvironment.Append(CPPFLAGS = ['-D__BUILDING_LIBCSOUND']) - if commonEnvironment['buildRelease'] != '0': -@@ -978,7 +978,7 @@ if buildOSXFramework: - tmp += ['%s/Resources/Opcodes64' % OSXFrameworkCurrentVersion] - for i in tmp: - try: -- os.mkdir(i, 0755) -+ os.mkdir(i, 0o755) - except: - pass - # set up symbolic links -@@ -1007,7 +1007,7 @@ def MacOSX_InstallHeader(headerName): - - def MacOSX_InstallPlugin(fileName): - if buildOSXFramework: -- print "COPYINNG plugin" -+ print ("COPYINNG plugin") - pluginDir = '%s/Resources/Opcodes' % OSXFrameworkCurrentVersion - if commonEnvironment['useDouble'] != '0': - pluginDir += '64' -@@ -1194,7 +1194,7 @@ libCsoundSources += newParserSources - - csoundLibraryEnvironment.Append(CCFLAGS='-fPIC') - if commonEnvironment['dynamicCsoundLibrary'] == '1': -- print 'CONFIGURATION DECISION: Building dynamic Csound library' -+ print ('CONFIGURATION DECISION: Building dynamic Csound library') - if getPlatform() == 'linux' or getPlatform() == 'sunos': - libName = 'lib' + csoundLibraryName + '.so' - libName2 = libName + '.' + csoundLibraryVersion -@@ -1246,7 +1246,7 @@ if commonEnvironment['dynamicCsoundLibra - csoundLibrary = csoundDynamicLibraryEnvironment.SharedLibrary( - csoundLibraryName, libCsoundSources) - else: -- print 'CONFIGURATION DECISION: Building static Csound library' -+ print ('CONFIGURATION DECISION: Building static Csound library') - csoundLibraryEnvironment.Append(CCFLAGS='-fPIC') - csoundLibrary = csoundLibraryEnvironment.Library( - csoundLibraryName, libCsoundSources) -@@ -1316,7 +1316,7 @@ def makePythonModule(env, targetName, so - pyModule_ = env.SharedLibrary('_%s' % targetName, sources, SHLIBSUFFIX = '.pyd') - if getPlatform() == 'win32' and pythonLibs[0] < 'python24': - Depends(pyModule_, pythonImportLibrary) -- print "PYTHON MODULE %s..." % targetName -+ print ("PYTHON MODULE %s..." % targetName) - pythonModules.append(pyModule_) - pythonModules.append('%s.py' % targetName) - return pyModule_ -@@ -1330,15 +1330,15 @@ def makeLuaModule(env, targetName, srcs) - luaModule_ = env.SharedLibrary('%s' % targetName, srcs, SHLIBPREFIX="", SHLIBSUFFIX = '.so') - else: - luaModule_ = env.SharedLibrary('%s' % targetName, srcs, SHLIBSUFFIX = '.dll') -- print "LUA MODULE %s..." % targetName -+ print ("LUA MODULE %s..." % targetName) - return luaModule_ - - # libcsnd.so is used by all wrapper libraries. - - if not (commonEnvironment['buildInterfaces'] == '1'): -- print 'CONFIGURATION DECISION: Not building Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Not building Csound C++ interface library.') - else: -- print 'CONFIGURATION DECISION: Building Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Building Csound C++ interface library.') - csoundInterfacesEnvironment.Append(CPPPATH = ['interfaces']) - if musicXmlFound: - csoundInterfacesEnvironment.Prepend(LIBS = 'musicxml2') -@@ -1416,36 +1416,36 @@ else: - option = '-I' + option - csoundWrapperEnvironment.Append(SWIGFLAGS = [option]) - swigflags = csoundWrapperEnvironment['SWIGFLAGS'] -- print 'swigflags:', swigflags -+ print ('swigflags:', swigflags) - luaWrapper = None - if not (luaFound and commonEnvironment['buildLuaWrapper'] != '0'): -- print 'CONFIGURATION DECISION: Not building Lua wrapper to Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Not building Lua wrapper to Csound C++ interface library.') - else: -- print 'CONFIGURATION DECISION: Building Lua wrapper to Csound C++ interface library.' -- luaWrapperEnvironment = csoundWrapperEnvironment.Clone() -+ print ('CONFIGURATION DECISION: Building Lua wrapper to Csound C++ interface library.') -+ luaWrapperEnvironment = csoundWrapperEnvironment.Clone() - if getPlatform() != 'win32': - csoundWrapperEnvironment.Append(CPPPATH=['/usr/include/lua5.1']) - if getPlatform() == 'win32': - csoundLuaInterface = luaWrapperEnvironment.SharedObject( - 'interfaces/lua_interface.i', - SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.']) -- luaWrapperEnvironment.Prepend(LIBS = ['csnd','lua51']) -- else: -- csoundLuaInterface = luaWrapperEnvironment.SharedObject( -- 'interfaces/lua_interface.i', -- SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.']) -+ luaWrapperEnvironment.Prepend(LIBS = ['csnd','lua51']) -+ else: -+ csoundLuaInterface = luaWrapperEnvironment.SharedObject( -+ 'interfaces/lua_interface.i', -+ SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.']) - luaWrapperEnvironment.Prepend(LIBS = ['csnd','luajit-5.1']) - luaWrapper = makeLuaModule(luaWrapperEnvironment, 'luaCsnd', [csoundLuaInterface]) -- Depends(luaWrapper, csoundLuaInterface) -+ Depends(luaWrapper, csoundLuaInterface) - - if not (javaFound and commonEnvironment['buildJavaWrapper'] != '0'): -- print 'CONFIGURATION DECISION: Not building Java wrapper to Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Not building Java wrapper to Csound C++ interface library.') - else: -- print 'CONFIGURATION DECISION: Building Java wrapper to Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Building Java wrapper to Csound C++ interface library.') - javaWrapperEnvironment = csoundWrapperEnvironment.Clone() - if getPlatform() == 'darwin': - javaWrapperEnvironment.Append(LINKFLAGS = ['-L.', '-l_csnd']) -- else: javaWrapperEnvironment.Prepend(LIBS = ['csnd']) -+ else: javaWrapperEnvironment.Prepend(LIBS = ['csnd']) - if getPlatform() == 'darwin': - javaWrapperEnvironment.Append(CPPPATH = - ['/System/Library/Frameworks/JavaVM.framework/Headers']) -@@ -1485,7 +1485,7 @@ else: - target = './interfaces', source = './interfaces', - JAVACFLAGS = ['-source', '5', '-target', '5']) - try: -- os.mkdir('interfaces/csnd', 0755) -+ os.mkdir('interfaces/csnd', 0o755) - except: - pass - jcsndJar = javaWrapperEnvironment.Jar( -@@ -1495,57 +1495,57 @@ else: - # Please do not remove these two variables, needed to get things to build on Windows... - pythonWrapper = None - if not (pythonFound and commonEnvironment['buildPythonWrapper'] != '0'): -- print 'CONFIGURATION DECISION: Not building Python wrapper to Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Not building Python wrapper to Csound C++ interface library.') - else: -- print 'CONFIGURATION DECISION: Building Python wrapper to Csound C++ interface library.' -+ print ('CONFIGURATION DECISION: Building Python wrapper to Csound C++ interface library.') - pythonWrapperEnvironment = csoundWrapperEnvironment.Clone() - if getPlatform() == 'darwin': - pythonWrapperEnvironment.Append(LINKFLAGS = ['-L.', '-l_csnd']) - else: pythonWrapperEnvironment.Prepend(LIBS = Split('csnd')) -- if getPlatform() == 'linux': -- os.spawnvp(os.P_WAIT, 'rm', ['rm', '-f', '_csnd.so']) -- # os.symlink('lib_csnd.so', '_csnd.so') -- pythonWrapperEnvironment.Append(LINKFLAGS = ['-Wl,-rpath-link,.']) -- if getPlatform() == 'darwin': -+ if getPlatform() == 'linux': -+ os.spawnvp(os.P_WAIT, 'rm', ['rm', '-f', '_csnd.so']) -+ # os.symlink('lib_csnd.so', '_csnd.so') -+ pythonWrapperEnvironment.Append(LINKFLAGS = ['-Wl,-rpath-link,.']) -+ if getPlatform() == 'darwin': - #pythonWrapperEnvironment.Append(LINKFLAGS = pythonLinkFlags) -- if commonEnvironment['dynamicCsoundLibrary'] == '1': -- #ilibName = "lib_csnd.dylib" -- #ilibVersion = csoundLibraryVersion -- #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -compatibility_version -Xlinker %s''' % ilibVersion)) -- #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -current_version -Xlinker %s''' % ilibVersion)) -- #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-install_name /Library/Frameworks/%s/%s''' % (OSXFrameworkCurrentVersion, ilibName))) -- pythonWrapperEnvironment.Append(LINKFLAGS = Split('''-undefined dynamic_lookup''')) -+ if commonEnvironment['dynamicCsoundLibrary'] == '1': -+ #ilibName = "lib_csnd.dylib" -+ #ilibVersion = csoundLibraryVersion -+ #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -compatibility_version -Xlinker %s''' % ilibVersion)) -+ #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -current_version -Xlinker %s''' % ilibVersion)) -+ #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-install_name /Library/Frameworks/%s/%s''' % (OSXFrameworkCurrentVersion, ilibName))) -+ pythonWrapperEnvironment.Append(LINKFLAGS = Split('''-undefined dynamic_lookup''')) - pythonWrapperEnvironment.Append(CPPPATH = pythonIncludePath) -- #pythonWrapper = pythonWrapperEnvironment.SharedLibrary('_csnd', pythonWrapperSources) -- pyVersToken = '-DPYTHON_24_or_newer' -- csoundPythonInterface = pythonWrapperEnvironment.SharedObject( -- 'interfaces/python_interface.i', -- SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken]) -- pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h') -- #try: os.symlink('lib_csnd.dylib', 'libcsnd.dylib') -- #except: print "link exists..." -- else: -- pythonWrapperEnvironment.Append(LINKFLAGS = pythonLinkFlags) -- pythonWrapperEnvironment.Prepend(LIBPATH = pythonLibraryPath) -- if getPlatform() == 'win32': -- pythonWrapperEnvironment.Prepend(LIBS = pythonLibs) -- pythonWrapperEnvironment.Append(CPPPATH = pythonIncludePath) -- fixCFlagsForSwig(pythonWrapperEnvironment) -- pyVersToken = '-DPYTHON_24_or_newer' -- csoundPythonInterface = pythonWrapperEnvironment.SharedObject( -- 'interfaces/python_interface.i', -- SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken]) -- pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h') -- if getPlatform() == 'win32' and pythonLibs[0] < 'python24' and compilerGNU(): -- Depends(csoundPythonInterface, pythonImportLibrary) -- pythonWrapper = makePythonModule(pythonWrapperEnvironment, 'csnd', [csoundPythonInterface]) -- pythonModules.append('csnd.py') -- Depends(pythonWrapper, csnd) -+ #pythonWrapper = pythonWrapperEnvironment.SharedLibrary('_csnd', pythonWrapperSources) -+ pyVersToken = '-DPYTHON_24_or_newer' -+ csoundPythonInterface = pythonWrapperEnvironment.SharedObject( -+ 'interfaces/python_interface.i', -+ SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken]) -+ pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h') -+ #try: os.symlink('lib_csnd.dylib', 'libcsnd.dylib') -+ #except: print ("link exists...") -+ else: -+ pythonWrapperEnvironment.Append(LINKFLAGS = pythonLinkFlags) -+ pythonWrapperEnvironment.Prepend(LIBPATH = pythonLibraryPath) -+ if getPlatform() == 'win32': -+ pythonWrapperEnvironment.Prepend(LIBS = pythonLibs) -+ pythonWrapperEnvironment.Append(CPPPATH = pythonIncludePath) -+ fixCFlagsForSwig(pythonWrapperEnvironment) -+ pyVersToken = '-DPYTHON_24_or_newer' -+ csoundPythonInterface = pythonWrapperEnvironment.SharedObject( -+ 'interfaces/python_interface.i', -+ SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken]) -+ pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h') -+ if getPlatform() == 'win32' and pythonLibs[0] < 'python24' and compilerGNU(): -+ Depends(csoundPythonInterface, pythonImportLibrary) -+ pythonWrapper = makePythonModule(pythonWrapperEnvironment, 'csnd', [csoundPythonInterface]) -+ pythonModules.append('csnd.py') -+ Depends(pythonWrapper, csnd) - - if commonEnvironment['generatePdf'] == '0': -- print 'CONFIGURATION DECISION: Not generating Csound API PDF documentation.' -+ print ('CONFIGURATION DECISION: Not generating Csound API PDF documentation.') - else: -- print 'CONFIGURATION DECISION: Generating Csound API PDF documentation.' -+ print ('CONFIGURATION DECISION: Generating Csound API PDF documentation.') - refmanTex = commonEnvironment.Command('doc/latex/refman.tex', 'Doxyfile', ['doxygen $SOURCE']) - Depends(refmanTex, csoundLibrary) - csoundPdf = commonEnvironment.Command('refman.pdf', 'doc/latex/refman.tex', ['pdflatex --include-directory=doc/latex --interaction=nonstopmode --job-name=CsoundAPI $SOURCE']) -@@ -1678,9 +1678,9 @@ makePlugin(pluginEnvironment, 'cellular' - ############################################################################# - # UDP opcodes - if commonEnvironment['useUDP'] == '0': -- print "CONFIGURATION DECISION: Not building UDP plugins." -+ print ("CONFIGURATION DECISION: Not building UDP plugins.") - else: -- print "CONFIGURATION DECISION: Building UDP plugins." -+ print ("CONFIGURATION DECISION: Building UDP plugins.") - udpEnvironment = pluginEnvironment.Clone() - udpEnvironment.Append(LIBS = ['pthread']) - if getPlatform() == 'win32': -@@ -1692,9 +1692,9 @@ else: - - # OSC opcodes - if not (commonEnvironment['useOSC'] == '1' and oscFound): -- print "CONFIGURATION DECISION: Not building OSC plugin." -+ print ("CONFIGURATION DECISION: Not building OSC plugin.") - else: -- print "CONFIGURATION DECISION: Building OSC plugin." -+ print ("CONFIGURATION DECISION: Building OSC plugin.") - oscEnvironment = pluginEnvironment.Clone() - oscEnvironment.Append(LIBS = ['lo', 'pthread']) - if getPlatform() == 'win32': -@@ -1728,32 +1728,32 @@ if jackFound and commonEnvironment['useJ - jpluginEnvironment.Append(LIBS = ['jackdmp']) - elif getPlatform() == 'darwin': - jpluginEnvironment.Append(LIBS = ['pthread']) -- jpluginEnvironment.Append(LINKFLAGS = ['-framework', 'Jackmp']) -+ jpluginEnvironment.Append(LINKFLAGS = ['-framework', 'Jackmp']) - makePlugin(jpluginEnvironment, 'jackTransport', 'Opcodes/jackTransport.c') - makePlugin(jpluginEnvironment, 'jacko', 'Opcodes/jacko.cpp') - if boostFound: - makePlugin(pluginEnvironment, 'chua', 'Opcodes/chua/ChuaOscillator.cpp') - if gmmFound and commonEnvironment['useDouble'] != '0': - makePlugin(pluginEnvironment, 'linear_algebra', 'Opcodes/linear_algebra.cpp') -- print 'CONFIGURATION DECISION: Building linear algebra opcodes.' -+ print ('CONFIGURATION DECISION: Building linear algebra opcodes.') - else: -- print 'CONFIGURATION DECISION: Not building linear algebra opcodes.' -+ print ('CONFIGURATION DECISION: Not building linear algebra opcodes.') - - if commonEnvironment['buildImageOpcodes'] == '1': - if getPlatform() == 'win32': - if configure.CheckHeader("png.h", language="C") and zlibhfound: -- print 'CONFIGURATION DECISION: Building image opcodes' -+ print ('CONFIGURATION DECISION: Building image opcodes') - imEnv = pluginEnvironment.Clone() - imEnv.Append(LIBS= Split(''' fltk_png fltk_z ''')) - makePlugin(imEnv, 'image', ['Opcodes/imageOpcodes.c']) - else: - if configure.CheckHeader("png.h", language="C") and zlibhfound: -- print 'CONFIGURATION DECISION: Building image opcodes' -+ print ('CONFIGURATION DECISION: Building image opcodes') - imEnv = pluginEnvironment.Clone() - imEnv.Append(LIBS= Split(''' png z ''')) - makePlugin(imEnv, 'image', ['Opcodes/imageOpcodes.c']) - else: -- print 'CONFIGURATION DECISION: Not building image opcodes' -+ print ('CONFIGURATION DECISION: Not building image opcodes') - - # FLTK widgets - -@@ -1767,11 +1767,11 @@ if getPlatform() != 'darwin': - if ((commonEnvironment['buildCsoundVST'] == '1') and boostFound and fltkFound): - try: - if vstEnvironment.ParseConfig(fltkConfigFlags): -- print 'Parsed fltk-config.' -+ print ('Parsed fltk-config.') - else: -- print 'Could not parse fltk-config.' -+ print ('Could not parse fltk-config.') - except: -- print 'Exception when attempting to parse fltk-config.' -+ print ('Exception when attempting to parse fltk-config.') - if getPlatform() == 'darwin': - vstEnvironment.Append(LIBS = ['fltk', 'fltk_images']) # png z jpeg are not on OSX at the mo - if getPlatform() == 'win32': -@@ -1804,7 +1804,7 @@ else: - csoundProgramEnvironment.Append(LINKFLAGS = Split('''-framework Carbon -framework CoreAudio -framework CoreMIDI''')) - - if (not (commonEnvironment['useFLTK'] == '1' and fltkFound)): -- print 'CONFIGURATION DECISION: Not building with FLTK graphs and widgets.' -+ print ('CONFIGURATION DECISION: Not building with FLTK graphs and widgets.') - else: - widgetsEnvironment = pluginEnvironment.Clone() - if (commonEnvironment['buildvst4cs'] == '1'): -@@ -1832,9 +1832,9 @@ else: - ['InOut/FL_graph.cpp', 'InOut/winFLTK.c', 'InOut/widgets.cpp']) - - if commonEnvironment['buildVirtual'] == '0' or not fltk117Found: -- print "CONFIGURATION DECISION: Not building Virtual Keyboard plugin. (FLTK 1.1.7+ required)" -+ print ("CONFIGURATION DECISION: Not building Virtual Keyboard plugin. (FLTK 1.1.7+ required)") - else: -- print "CONFIGURATION DECISION: Building Virtual Keyboard plugin." -+ print ("CONFIGURATION DECISION: Building Virtual Keyboard plugin.") - widgetsEnvironment.Append(CPPPATH = ['./InOut', './InOut/virtual_keyboard']) - makePlugin(widgetsEnvironment, 'virtual', - ['InOut/virtual_keyboard/FLTKKeyboard.cpp', -@@ -1850,7 +1850,7 @@ else: - # REAL TIME AUDIO AND MIDI - - if commonEnvironment['useCoreAudio'] == '1' and getPlatform() == 'darwin': -- print "CONFIGURATION DECISION: Building CoreAudio plugin." -+ print ("CONFIGURATION DECISION: Building CoreAudio plugin.") - coreaudioEnvironment = pluginEnvironment.Clone() - coreaudioEnvironment.Append(CCFLAGS = ['-I/System/Library/Frameworks/CoreAudio.framework/Headers']) - # makePlugin(coreaudioEnvironment, 'rtcoreaudio', ['InOut/rtcoreaudio.c']) -@@ -1858,18 +1858,18 @@ if commonEnvironment['useCoreAudio'] == - coreaudioEnvironment.Append(LINKFLAGS = ['-framework', 'AudioUnit']) - makePlugin(coreaudioEnvironment, 'rtauhal', ['InOut/rtauhal.c']) - else: -- print "CONFIGURATION DECISION: Not building CoreAudio plugin." -+ print ("CONFIGURATION DECISION: Not building CoreAudio plugin.") - - if not (commonEnvironment['useALSA'] == '1' and alsaFound): -- print "CONFIGURATION DECISION: Not building ALSA plugin." -+ print ("CONFIGURATION DECISION: Not building ALSA plugin.") - else: -- print "CONFIGURATION DECISION: Building ALSA plugin." -+ print ("CONFIGURATION DECISION: Building ALSA plugin.") - alsaEnvironment = pluginEnvironment.Clone() - alsaEnvironment.Append(LIBS = ['asound', 'pthread']) - makePlugin(alsaEnvironment, 'rtalsa', ['InOut/rtalsa.c']) - - if pulseaudioFound and (getPlatform() == 'linux' or getPlatform() == 'sunos'): -- print "CONFIGURATION DECISION: Building PulseAudio plugin" -+ print ("CONFIGURATION DECISION: Building PulseAudio plugin") - pulseaudioEnv = pluginEnvironment.Clone() - pulseaudioEnv.Append(LIBS = ['pulse-simple']) - makePlugin(pulseaudioEnv, 'rtpulse', ['InOut/rtpulse.c']) -@@ -1880,9 +1880,9 @@ if getPlatform() == 'win32': - makePlugin(winmmEnvironment, 'rtwinmm', ['InOut/rtwinmm.c']) - - if not (commonEnvironment['usePortAudio'] == '1' and portaudioFound): -- print "CONFIGURATION DECISION: Not building PortAudio module." -+ print ("CONFIGURATION DECISION: Not building PortAudio module.") - else: -- print "CONFIGURATION DECISION: Building PortAudio module." -+ print ("CONFIGURATION DECISION: Building PortAudio module.") - portaudioEnvironment = pluginEnvironment.Clone() - if getPlatform() == 'win32': - portaudioEnvironment.Append(LIBS = ['portaudio']) -@@ -1890,7 +1890,7 @@ else: - portaudioEnvironment.Append(LIBS = ['portaudio']) - if (getPlatform() == 'linux'): - if (commonEnvironment['useJack']=='1' and jackFound): -- print "Adding Jack library for PortAudio" -+ print ("Adding Jack library for PortAudio") - portaudioEnvironment.Append(LIBS = ['jack']) - portaudioEnvironment.Append(LIBS = ['asound', 'pthread']) - makePlugin(portaudioEnvironment, 'rtpa', ['InOut/rtpa.c']) -@@ -1902,9 +1902,9 @@ else: - makePlugin(portaudioEnvironment, 'rtpa', ['InOut/rtpa.c']) - - if not (commonEnvironment['useJack'] == '1' and jackFound): -- print "CONFIGURATION DECISION: Not building JACK plugin." -+ print ("CONFIGURATION DECISION: Not building JACK plugin.") - else: -- print "CONFIGURATION DECISION: Building JACK plugin." -+ print ("CONFIGURATION DECISION: Building JACK plugin.") - jackEnvironment = pluginEnvironment.Clone() - if getPlatform() == 'linux': - jackEnvironment.Append(LIBS = ['jack', 'asound', 'pthread']) -@@ -1915,7 +1915,7 @@ else: - makePlugin(jackEnvironment, 'rtjack', ['InOut/rtjack.c']) - - if commonEnvironment['usePortMIDI'] == '1' and portmidiFound: -- print 'CONFIGURATION DECISION: Building with PortMIDI.' -+ print ('CONFIGURATION DECISION: Building with PortMIDI.') - portMidiEnvironment = pluginEnvironment.Clone() - portMidiEnvironment.Append(LIBS = ['portmidi']) - if getPlatform() != 'darwin' and getPlatform() != 'win32': -@@ -1927,7 +1927,7 @@ if commonEnvironment['usePortMIDI'] == ' - portMidiEnvironment.Append(LIBS = ['asound']) - makePlugin(portMidiEnvironment, 'pmidi', ['InOut/pmidi.c']) - else: -- print 'CONFIGURATION DECISION: Not building with PortMIDI.' -+ print ('CONFIGURATION DECISION: Not building with PortMIDI.') - - if getPlatform() == 'darwin': - coreMidiEnvironment = pluginEnvironment.Clone() -@@ -1939,30 +1939,30 @@ if getPlatform() == 'darwin': - # FLUIDSYNTH OPCODES - - if not configure.CheckHeader("fluidsynth.h", language = "C"): -- print "CONFIGURATION DECISION: Not building fluid opcodes." -+ print ("CONFIGURATION DECISION: Not building fluid opcodes.") - else: -- print "CONFIGURATION DECISION: Building fluid opcodes." -+ print ("CONFIGURATION DECISION: Building fluid opcodes.") - fluidEnvironment = pluginEnvironment.Clone() - if getPlatform() == 'win32': -- if compilerGNU(): -- fluidEnvironment.Append(LIBS = ['fluidsynth']) -- else: -- fluidEnvironment.Append(LIBS = ['fluidsynth']) -- fluidEnvironment.Append(CPPFLAGS = ['-DFLUIDSYNTH_NOT_A_DLL']) -- fluidEnvironment.Append(LIBS = ['winmm', 'dsound']) -- fluidEnvironment.Append(LIBS = csoundWindowsLibraries) -+ if compilerGNU(): -+ fluidEnvironment.Append(LIBS = ['fluidsynth']) -+ else: -+ fluidEnvironment.Append(LIBS = ['fluidsynth']) -+ fluidEnvironment.Append(CPPFLAGS = ['-DFLUIDSYNTH_NOT_A_DLL']) -+ fluidEnvironment.Append(LIBS = ['winmm', 'dsound']) -+ fluidEnvironment.Append(LIBS = csoundWindowsLibraries) - elif getPlatform() == 'linux' or getPlatform() == 'darwin': -- fluidEnvironment.Append(LIBS = ['fluidsynth']) -- fluidEnvironment.Append(LIBS = ['pthread']) -+ fluidEnvironment.Append(LIBS = ['fluidsynth']) -+ fluidEnvironment.Append(LIBS = ['pthread']) - makePlugin(fluidEnvironment, 'fluidOpcodes', - ['Opcodes/fluidOpcodes/fluidOpcodes.cpp']) - - # VST HOST OPCODES - - if (commonEnvironment['buildvst4cs'] != '1'): -- print "CONFIGURATION DECISION: Not building vst4cs opcodes." -+ print ("CONFIGURATION DECISION: Not building vst4cs opcodes.") - else: -- print "CONFIGURATION DECISION: Building vst4cs opcodes." -+ print ("CONFIGURATION DECISION: Building vst4cs opcodes.") - if (getPlatform() == 'win32'or getPlatform() == 'linux') and fltkFound: - vst4Environment = vstEnvironment.Clone() - vst4Environment.Append(CPPFLAGS = ['-DCS_VSTHOST']) -@@ -1996,19 +1996,19 @@ else: - # DSSI HOST OPCODES - - if (commonEnvironment['buildDSSI'] == '1' and (getPlatform() == 'linux' or getPlatform() == 'darwin') and configure.CheckHeader("ladspa.h", language = "C")) and configure.CheckHeader("dssi.h", language = "C"): -- print "CONFIGURATION DECISION: Building DSSI plugin host opcodes." -+ print ("CONFIGURATION DECISION: Building DSSI plugin host opcodes.") - dssiEnvironment = pluginEnvironment.Clone() - dssiEnvironment.Append(LIBS = ['dl']) - makePlugin(dssiEnvironment, 'dssi4cs', - ['Opcodes/dssi4cs/src/load.c', 'Opcodes/dssi4cs/src/dssi4cs.c']) - else: -- print "CONFIGURATION DECISION: Not building DSSI plugin host opcodes." -+ print ("CONFIGURATION DECISION: Not building DSSI plugin host opcodes.") - - # Loris opcodes - #if not (commonEnvironment['buildLoris'] == '1' and configure.CheckHeader("Opcodes/Loris/src/loris.h") and configure.CheckHeader("fftw3.h")): --# print "CONFIGURATION DECISION: Not building Loris Python extension and Csound opcodes." -+# print ("CONFIGURATION DECISION: Not building Loris Python extension and Csound opcodes."( - #else: --# print "CONFIGURATION DECISION: Building Loris Python extension and Csound opcodes." -+# print ("CONFIGURATION DECISION: Building Loris Python extension and Csound opcodes.") - # For Loris, we build only the loris Python extension module and - # the Csound opcodes (modified for Csound 5). - # It is assumed that you have copied all contents of the Loris -@@ -2065,9 +2065,9 @@ else: - # STK opcodes - - if not (commonEnvironment['buildStkOpcodes'] == '1' and stkFound): -- print 'CONFIGURATION DECISION: Not building STK opcodes.' -+ print ('CONFIGURATION DECISION: Not building STK opcodes.') - else: -- print 'CONFIGURATION DECISION: Building STK opcodes.' -+ print ('CONFIGURATION DECISION: Building STK opcodes.') - # For the STK opcodes, the STK distribution include, src, and rawwaves - # directories should be copied thusly: - # csound5/Opcodes/stk/include -@@ -2126,9 +2126,9 @@ else: - # Python opcodes - - if not (pythonFound and commonEnvironment['buildPythonOpcodes'] != '0'): -- print "CONFIGURATION DECISION: Not building Python opcodes." -+ print ("CONFIGURATION DECISION: Not building Python opcodes.") - else: -- print "CONFIGURATION DECISION: Building Python opcodes." -+ print ("CONFIGURATION DECISION: Building Python opcodes.") - pyEnvironment = pluginEnvironment.Clone() - if getPlatform() != 'darwin': - pyEnvironment.Append(CPPPATH = pythonIncludePath) -@@ -2152,9 +2152,9 @@ else: - # Python opcodes - - if not (commonEnvironment['buildLuaOpcodes'] != '0'): -- print "CONFIGURATION DECISION: Not building Lua opcodes." -+ print ("CONFIGURATION DECISION: Not building Lua opcodes.") - else: -- print "CONFIGURATION DECISION: Building Lua opcodes." -+ print ("CONFIGURATION DECISION: Building Lua opcodes.") - luaEnvironment = pluginEnvironment.Clone() - - if getPlatform() == 'linux': -@@ -2269,9 +2269,9 @@ def fluidTarget(env, dirName, baseName, - # Build Csound5gui (FLTK frontend) - - if not (commonEnvironment['buildCsound5GUI'] != '0' and fltk117Found): -- print 'CONFIGURATION DECISION: Not building FLTK CSOUND5GUI frontend.' -+ print ('CONFIGURATION DECISION: Not building FLTK CSOUND5GUI frontend.') - else: -- print 'CONFIGURATION DECISION: Building FLTK GUI CSOUND5GUI frontend.' -+ print ('CONFIGURATION DECISION: Building FLTK GUI CSOUND5GUI frontend.') - csound5GUIEnvironment = csoundProgramEnvironment.Clone() - csound5GUIEnvironment.Append(CPPPATH = ['./interfaces']) - if jackFound: -@@ -2347,9 +2347,9 @@ else: - # Build CsoundAC - - if not ((commonEnvironment['buildCsoundAC'] == '1') and fltkFound and boostFound and fltkFound and eigenFound): -- print 'CONFIGURATION DECISION: Not building CsoundAC extension module for Csound with algorithmic composition.' -+ print ('CONFIGURATION DECISION: Not building CsoundAC extension module for Csound with algorithmic composition.') - else: -- print 'CONFIGURATION DECISION: Building CsoundAC extension module for Csound with algorithmic composition.' -+ print ('CONFIGURATION DECISION: Building CsoundAC extension module for Csound with algorithmic composition.') - acEnvironment = vstEnvironment.Clone() - if getPlatform() == 'linux': - acEnvironment.ParseConfig('fltk-config --use-images --cflags --cxxflags --ldflags') -@@ -2414,7 +2414,7 @@ else: - for option in acEnvironment['CPPPATH']: - option = '-I' + option - acEnvironment.Append(SWIGFLAGS = [option]) -- print 'PATH =', commonEnvironment['ENV']['PATH'] -+ print ('PATH =', commonEnvironment['ENV']['PATH']) - csoundAcSources = Split(''' - frontends/CsoundAC/allegro.cpp - frontends/CsoundAC/allegrord.cpp -@@ -2485,7 +2485,7 @@ else: - csoundAcPythonModule = makePythonModule(pythonCsoundACWrapperEnvironment, 'CsoundAC', - csoundAcPythonWrapper) - if getPlatform() == 'win32' and pythonLibs[0] < 'python24' and compilerGNU(): -- Depends(csoundAcPythonModule, pythonImportLibrary) -+ Depends(csoundAcPythonModule, pythonImportLibrary) - pythonModules.append('CsoundAC.py') - Depends(csoundAcPythonModule, pythonWrapper) - Depends(csoundAcPythonModule, csoundac) -@@ -2510,9 +2510,9 @@ else: - # Build CsoundVST - - if not ((commonEnvironment['buildCsoundVST'] == '1') and boostFound and fltkFound): -- print 'CONFIGURATION DECISION: Not building CsoundVST plugin and standalone.' -+ print ('CONFIGURATION DECISION: Not building CsoundVST plugin and standalone.') - else: -- print 'CONFIGURATION DECISION: Building CsoundVST plugin and standalone.' -+ print ('CONFIGURATION DECISION: Building CsoundVST plugin and standalone.') - headers += glob.glob('frontends/CsoundVST/*.h') - headers += glob.glob('frontends/CsoundVST/*.hpp') - vstEnvironment.Prepend(CPPPATH = ['interfaces', 'frontends/CsoundVST']) -@@ -2544,7 +2544,7 @@ else: - vstEnvironment.Append(LIBS = Split('fltk fltk_images fltk_png fltk_jpeg fltk_z')) - else: - vstEnvironment.Append(LIBS = Split('csound64 csnd fltk fltkimages fltkpng fltkjpeg fltkz')) -- print 'PATH =', commonEnvironment['ENV']['PATH'] -+ print ('PATH =', commonEnvironment['ENV']['PATH']) - csoundVstSources = Split(''' - frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp - frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.cpp -@@ -2578,9 +2578,9 @@ else: - - # Build csoundapi~ (pd class) - --print commonEnvironment['buildPDClass'], pdhfound -+print (commonEnvironment['buildPDClass'], pdhfound) - if commonEnvironment['buildPDClass'] == '1' and pdhfound: -- print "CONFIGURATION DECISION: Building PD csoundapi~ class" -+ print ("CONFIGURATION DECISION: Building PD csoundapi~ class") - pdClassEnvironment = commonEnvironment.Clone() - pdClassEnvironment.Append(LINKFLAGS = libCsoundLinkFlags) - pdClassEnvironment.Append(LIBS = libCsoundLibs) -@@ -2610,7 +2610,7 @@ if commonEnvironment['buildPDClass'] == - # Build tclcsound - - if commonEnvironment['buildTclcsound'] == '1' and tclhfound: -- print "CONFIGURATION DECISION: Building Tclcsound frontend" -+ print ("CONFIGURATION DECISION: Building Tclcsound frontend") - csTclEnvironment = commonEnvironment.Clone() - csTclEnvironment.Append(LINKFLAGS = libCsoundLinkFlags) - csTclEnvironment.Append(LIBS = libCsoundLibs) -@@ -2662,7 +2662,7 @@ if commonEnvironment['buildTclcsound'] = - executables.append(csTk) - libs.append(Tclcsoundlib) - try: -- os.mkdir('tclcsound', 0755) -+ os.mkdir('tclcsound', 0o755) - except: - pass - # if getPlatform() == 'darwin': -@@ -2674,12 +2674,12 @@ if commonEnvironment['buildTclcsound'] = - # csTclEnvironment.Command('tclcsound/pkgIndex.tcl', 'tclcsound/tclcsound.dll','tclsh84 pkgbuild.tcl') - - else: -- print "CONFIGURATION DECISION: Not building Tclcsound" -+ print ("CONFIGURATION DECISION: Not building Tclcsound") - - # Build Winsound FLTK frontend - - if commonEnvironment['buildWinsound'] == '1' and fltkFound: -- print "CONFIGURATION DECISION: Building Winsound frontend" -+ print ("CONFIGURATION DECISION: Building Winsound frontend") - # should these be installed ? - # headers += glob.glob('frontends/winsound/*.h') - csWinEnvironment = commonEnvironment.Clone() -@@ -2726,10 +2726,10 @@ if commonEnvironment['buildWinsound'] == - Depends(winsound5, csoundLibrary) - executables.append(winsound5) - else: -- print "CONFIGURATION DECISION: Not building Winsound" -+ print ("CONFIGURATION DECISION: Not building Winsound") - - #if (getPlatform() == 'darwin' and commonEnvironment['buildOSXGUI'] == '1'): --# print "CONFIGURATION DECISION: building OSX GUI frontend" -+# print ("CONFIGURATION DECISION: building OSX GUI frontend") - # csOSXGUIEnvironment = commonEnvironment.Clone() - # OSXGUI = csOSXGUIEnvironment.Command( - # '''frontends/OSX/build/Csound 5.app/Contents/MacOS/Csound 5''', -@@ -2737,10 +2737,10 @@ else: - # "cd frontends/OSX; xcodebuild -buildstyle Deployment") - # Depends(OSXGUI, csoundLibrary) - #else: --# print "CONFIGURATION DECISION: Not building OSX GUI frontend" -+# print ("CONFIGURATION DECISION: Not building OSX GUI frontend") - - # build csLADSPA --print "CONFIGURATION DEFAULT: Building csLadspa." -+print ("CONFIGURATION DEFAULT: Building csLadspa.") - csLadspaEnv = commonEnvironment.Clone() - csLadspaEnv.Append(LINKFLAGS = libCsoundLinkFlags) - csLadspaEnv.Append(LIBS=libCsoundLibs) -@@ -2759,9 +2759,9 @@ libs.append(csladspa) - # Build beats (score generator) - - if not (commonEnvironment['buildBeats'] != '0'): -- print 'CONFIGURATION DECISION: Not building beats score frontend.' -+ print ('CONFIGURATION DECISION: Not building beats score frontend.') - else: -- print "CONFIGURATION DECISION: Building beats score frontend" -+ print ("CONFIGURATION DECISION: Building beats score frontend") - csBeatsEnvironment = commonEnvironment.Clone() - csBeatsEnvironment.Append(LINKFLAGS = ['-lm']) - csBeatsEnvironment.Append(YACCFLAGS = ['-d']) -@@ -2777,9 +2777,9 @@ else: - executables.append(bb) - - if not (commonEnvironment['buildcatalog'] != '0'): -- print 'CONFIGURATION DECISION: Not building catalog builder.' -+ print ('CONFIGURATION DECISION: Not building catalog builder.') - else: -- print "CONFIGURATION DECISION: Building catalog builder" -+ print ("CONFIGURATION DECISION: Building catalog builder") - catEnvironment = Environment(ENV = os.environ) - catEnvironment.Append(LINKFLAGS = ['-ldl']) - bb = catEnvironment.Program('mkdb', ['mkdb.c']) -@@ -2787,9 +2787,9 @@ else: - - - if (commonEnvironment['generateTags']=='0') or (getPlatform() != 'darwin' and getPlatform() != 'linux'): -- print "CONFIGURATION DECISION: Not calling TAGS" -+ print ("CONFIGURATION DECISION: Not calling TAGS") - else: -- print "CONFIGURATION DECISION: Calling TAGS" -+ print ("CONFIGURATION DECISION: Calling TAGS") - allSources = string.join(glob.glob('*/*.h*')) - allSources = allSources + ' ' + string.join(glob.glob('*/*.c')) - allSources = allSources + ' ' + string.join(glob.glob('*/*.cpp')) -@@ -2860,7 +2860,7 @@ if commonEnvironment['install'] == '1': - Alias('install', [installExecutables, installOpcodes, installLibs, installHeaders, installPythonModules]) - - if getPlatform() == 'darwin' and commonEnvironment['useFLTK'] == '1': -- print "CONFIGURATION DECISION: Adding resource fork for csound" -+ print ("CONFIGURATION DECISION: Adding resource fork for csound") - addOSXResourceFork(commonEnvironment, 'csound', '') - - ###Code to create pkconfig files diff --git a/csound-strncat-fix.patch b/csound-strncat-fix.patch deleted file mode 100644 index 52651ac..0000000 --- a/csound-strncat-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -Index: OOps/dumpf.c -=================================================================== ---- OOps/dumpf.c.orig -+++ OOps/dumpf.c -@@ -175,19 +175,19 @@ static void nkdump(CSOUND *csound, MYFLT - outbuf[0] = '\0'; - while (--nk) { - sprintf(buf1, "%ld\t", (long) *kp++); -- strncat(outbuf, buf1, 256); -+ strncat(outbuf, buf1, sizeof(outbuf)-strlen(buf1)-1); - } - sprintf(buf1, "%ld\n", (long) *kp); -- strncat(outbuf, buf1, 256); -+ strncat(outbuf, buf1, sizeof(outbuf)-strlen(buf1)-1); - len = strlen(outbuf); - break; - case 8: *outbuf = '\0'; - while (--nk) { - sprintf(buf1, "%6.4f\t", *kp++); -- strncat(outbuf, buf1, 256); -+ strncat(outbuf, buf1, sizeof(outbuf)-strlen(buf1)-1); - } - sprintf(buf1, "%6.4f\n", *kp); -- strncat(outbuf, buf1, 256); -+ strncat(outbuf, buf1, sizeof(outbuf)-strlen(buf1)-1); - len = strlen(outbuf); - break; - default: csound->Die(csound, Str("unknown kdump format")); diff --git a/csound.spec b/csound.spec index 0625758..78646df 100644 --- a/csound.spec +++ b/csound.spec @@ -16,21 +16,51 @@ # -%define support_fltk 0 +%define support_fltk 1 +%define maj 6 +%define min 0 Name: csound +Version: 6.12.2 +Release: 0 +Summary: Computer Sound Synthesis and Composition Program +License: GFDL-1.2 and LGPL-2.1+ and MIT +Group: Productivity/Multimedia/Sound/Utilities +Url: http://www.csounds.com +Source: https://github.com/%{name}/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: README.SuSE +# Default to using pulseaudio instead of portaudio +Patch2: csound-6.08-default-pulse.patch +# Do not use SSE2 on non-x86_64 platforms +Patch3: csound-6.08-sse2.patch +# Use xdg-open to open a browser to view the manual +Patch4: csound-6.08-xdg-open.patch +# fixup library dirs to use rpm variables +#Patch5: csound-6.08-fix-library-dirs.patch +Patch6: fluidsynth2.patch +Patch0: csound-scons-on-py3.patch +BuildRequires: gcc-c++ BuildRequires: alsa-devel BuildRequires: bison +BuildRequires: libboost_atomic-devel +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_locale-devel +BuildRequires: libboost_regex-devel +BuildRequires: libboost_thread-devel +BuildRequires: cmake +BuildRequires: doxygen +BuildRequires: eigen3-devel BuildRequires: fdupes BuildRequires: flex BuildRequires: fluidsynth-devel BuildRequires: gcc-c++ BuildRequires: jack-devel BuildRequires: liblo-devel +#BuildRequires: lua-devel BuildRequires: libsndfile-devel BuildRequires: portaudio-devel -BuildRequires: python-devel -BuildRequires: scons +BuildRequires: python3-devel +#BuildRequires: scons BuildRequires: swig %if %support_fltk BuildRequires: fltk-devel @@ -38,54 +68,96 @@ BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: xorg-x11-devel %endif -Version: 5.18.02 -Release: 0 -Summary: Computer Sound Synthesis and Composition Program -License: GFDL-1.2 and LGPL-2.1+ and MIT -Group: Productivity/Multimedia/Sound/Utilities -Url: http://www.csounds.com -Source: Csound%{version}.tar.gz -Source1: README.SUSE -Patch0: csound-scons-on-py3.patch -Patch3: %{name}-strncat-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build +%global luaver %(lua -v | sed -r 's/Lua ([[:digit:]]+\\.[[:digit:]]+).*/\\1/') + %description Csound is a software synthesis program. It is fully modular and supports an unlimited amount of oscillators and filters. +%package -n libcsnd6_%{maj}_%{min} +Summary: csound6 library +Group: System/Libraries + +%description -n libcsnd6_%{maj}_%{min} +Library for csound use + +%package -n libcsnd64_%{maj}_%{min} +Summary: csound6 library +Group: System/Libraries + +%description -n libcsnd64_%{maj}_%{min} +Library for csound use + +%package -n lib_jcsound6 +Summary: csound6 library +Group: System/Libraries + +%description -n lib_jcsound6 +Library for csound use + +%package plugins +Summary: Plugins +Group: Productivity/Multimedia/Other + +%description plugins +Plugins for csound + +%package python-bindings +Summary: Plugins +Group: Productivity/Multimedia/OtherBUILDROOT/ + +%description python-bindings +Plugins for csound + + %package devel Summary: Development files for Csound, a sound synthesis program Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} -Provides: %{name}-devel-static = %{version} +Requires: libcsnd6_%{maj}_%{min} = %{version} +Requires: libcsnd64_%{maj}_%{min} = %{version} +Requires: lib_jcsound6 = %{version} %description devel Development files for Csound. %prep -%setup -q -n Csound%{version} -%patch0 -p1 -%patch3 +%setup -q +%patch2 -p1 -b .default-pulse +%ifnarch x86_64 +%patch3 -p1 -b .sse2 +%endif +%patch4 -p1 -b .xdg-open +#%%patch5 -p1 +%patch6 -p1 + # remove __DATE__ from source files, causes unnecessary rebuilds -sed -i 's:__DATE__:"":' Engine/musmon.c frontends/CsoundVST/CsoundVstFltk.cpp Top/main.c +sed -i 's:__DATE__:"":' Engine/musmon.c include/version.h Top/main.c # copy readme cp %{SOURCE1} . -# fix encoding -iconv -f latin1 -t utf8 readme-csound5.txt > README -test -f custom.py || cp custom.py.mkg custom.py %build +# Needed to link libbuchla.so +export CFLAGS="%{optflags} -lm" +export CXXFLAGS="%{optflags} -std=c++11" + +%cmake -DPYTHON_LIBRARY="%{_libdir}/libpython%{python_version}.so" \ + -DPYTHON_INCLUDE_DIR="%{_includedir}/python%{python_version}" \ + -DNEED_PORTTIME:BOOL=OFF \ + -DRPM_LUAVER:STRING=%{luaver} \ %if %{_lib} == "lib64" -args="Word64=1" + -DUSE_LIB64:BOOL=ON %else -args="" + -DUSE_LIB64:BOOL=OFF %endif -scons prefix=%{_prefix} buildRelease=1 $args \ - customCCFLAGS="%{optflags} -fno-strict-aliasing" \ - customCXXFLAGS="%{optflags} -fno-strict-aliasing" +# -DRPM_PYTHON_SITEARCH:STRING=%%{python_sitelib} \ + +make %{_smp_mflags} %install +%cmake_install + %if %{_lib} == "lib64" args="--word64" %else @@ -102,7 +174,7 @@ mv %{buildroot}%{_bindir}/extract %{buildroot}%{_bindir}/csound-extract %files -f %{name}5.lang %defattr(-,root,root) -%doc AUTHORS COPYING ChangeLog README README.SUSE +%doc AUTHORS COPYING ChangeLog README README.SuSE %{_bindir}/* %{_libdir}/csound/ diff --git a/fluidsynth2.patch b/fluidsynth2.patch new file mode 100644 index 0000000..3225d66 --- /dev/null +++ b/fluidsynth2.patch @@ -0,0 +1,60 @@ +Index: csound-6.12.2/Opcodes/fluidOpcodes/fluidOpcodes.cpp +=================================================================== +--- csound-6.12.2.orig/Opcodes/fluidOpcodes/fluidOpcodes.cpp 2018-11-07 16:05:23.000000000 +0200 ++++ csound-6.12.2/Opcodes/fluidOpcodes/fluidOpcodes.cpp 2019-04-05 15:33:21.652528196 +0200 +@@ -208,6 +208,7 @@ public: + } else if (listPresets) { + fluid_sfont_t *fluidSoundfont = + fluid_synth_get_sfont_by_id(fluidSynth, soundFontId); ++#if FLUIDSYNTH_VERSION_MAJOR < 2 + fluid_preset_t fluidPreset; + fluidSoundfont->iteration_start(fluidSoundfont); + OPARMS oparms; +@@ -218,6 +219,19 @@ public: + soundFontId, fluidPreset.get_banknum(&fluidPreset), + fluidPreset.get_num(&fluidPreset), + fluidPreset.get_name(&fluidPreset)); ++#else ++ fluid_preset_t *fluidPreset; ++ fluid_sfont_iteration_start(fluidSoundfont); ++ OPARMS oparms; ++ csound->GetOParms(csound, &oparms); ++ if (oparms.msglevel & 0x7) ++ while (fluidPreset = fluid_sfont_iteration_next(fluidSoundfont)) ++ { ++ log(csound, "SoundFont: %3d Bank: %3d Preset: %3d %s\n", ++ soundFontId, fluid_preset_get_banknum(fluidPreset), ++ fluid_preset_get_num(fluidPreset), ++ fluid_preset_get_name(fluidPreset)); ++#endif + } + } + return result; +@@ -279,6 +293,7 @@ public: + toa(iFluidSynth, fluidSynth); + fluid_sfont_t *fluidSoundfont = + fluid_synth_get_sfont(fluidSynth, 0); ++#if FLUIDSYNTH_VERSION_MAJOR < 2 + fluid_preset_t fluidPreset; + fluidSoundfont->iteration_start(fluidSoundfont); + OPARMS oparms; +@@ -290,6 +305,19 @@ public: + ss << "Bank: " << fluidPreset.get_banknum(&fluidPreset) << + " Preset: " << fluidPreset.get_num(&fluidPreset) << + " Name: " << fluidPreset.get_name(&fluidPreset); ++#else ++ fluid_preset_t *fluidPreset; ++ fluid_sfont_iteration_start(fluidSoundfont); ++ OPARMS oparms; ++ csound->GetOParms(csound, &oparms); ++ if (oparms.msglevel & 0x7) ++ while (fluidPreset = fluid_sfont_iteration_next(fluidSoundfont)) ++ { ++ std::stringstream ss; ++ ss << "Bank: " << fluid_preset_get_banknum(fluidPreset) << ++ " Preset: " << fluid_preset_get_num(fluidPreset) << ++ " Name: " << fluid_preset_get_name(fluidPreset); ++#endif + programs.push_back(ss.str()); + } +