Index: beast-0.7.1/bse/tests/resamplehandle.cc =================================================================== --- beast-0.7.1.orig/bse/tests/resamplehandle.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/tests/resamplehandle.cc 2008-07-06 13:22:05.000000000 +0200 @@ -24,6 +24,7 @@ #include <bse/gsldatautils.h> #include <bse/bseblockutils.hh> #include <vector> +#include <cstdlib> using std::vector; using std::max; Index: beast-0.7.1/bse/tests/firhandle.cc =================================================================== --- beast-0.7.1.orig/bse/tests/firhandle.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/tests/firhandle.cc 2008-07-06 13:22:05.000000000 +0200 @@ -26,6 +26,7 @@ #include <math.h> #include <complex> #include <vector> +#include <cstdlib> using std::vector; using std::min; Index: beast-0.7.1/bse/tests/filtertest.cc =================================================================== --- beast-0.7.1.orig/bse/tests/filtertest.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/tests/filtertest.cc 2008-07-06 13:22:05.000000000 +0200 @@ -26,6 +26,7 @@ #include "topconfig.h" #include <math.h> #include <complex> +#include <cstdlib> typedef std::complex<double> Complex; using namespace Birnet; Index: beast-0.7.1/bse/bseresamplerimpl.hh =================================================================== --- beast-0.7.1.orig/bse/bseresamplerimpl.hh 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/bseresamplerimpl.hh 2008-07-06 13:22:05.000000000 +0200 @@ -23,6 +23,8 @@ #include <bse/bseresampler.hh> #include <birnet/birnet.hh> #include <math.h> +#include <cstring> +#include <cstdlib> #ifdef __SSE__ #include <xmmintrin.h> #endif Index: beast-0.7.1/bse/bseprocidl.cc =================================================================== --- beast-0.7.1.orig/bse/bseprocidl.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/bseprocidl.cc 2008-07-06 13:22:05.000000000 +0200 @@ -24,6 +24,7 @@ #include <stdio.h> #include <string> #include <set> +#include <cstring> std::set<std::string> needTypes; std::set<std::string> needClasses; Index: beast-0.7.1/bse/bsecxxplugin.hh =================================================================== --- beast-0.7.1.orig/bse/bsecxxplugin.hh 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/bsecxxplugin.hh 2008-07-06 13:22:05.000000000 +0200 @@ -18,6 +18,14 @@ #ifndef __BSE_CXX_PLUGIN_H__ #define __BSE_CXX_PLUGIN_H__ +#define static_template static +#if defined __GNUC__ +# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) +# undef static_template +# define static_template +# endif +#endif + #include <bse/bsecxxmodule.hh> #include <bse/bseexports.h> #include <bse/bseparam.h> @@ -56,7 +64,7 @@ #define BSE_CXX_REGISTER_STATIC_HOOK(HookType) BSE_CXX_REGISTER_HOOK_NODE (HookType, 1) #define BSE_CXX_REGISTER_HOOK_NODE(HookType, __static) \ template<class E> static BseExportNode* bse_export_node (); \ - template<> static BseExportNode* \ + template<> static_template BseExportNode* \ bse_export_node<HookType> () \ { \ static BseExportNodeHook hnode = { \ @@ -91,7 +99,7 @@ (::NameSpace::bse_type_keeper__3##EnumType.get_type ()) #define BSE_CXX_DECLARE_ENUM(EnumType,EnumName,N,ICode) \ template<class E> static BseExportNode* bse_export_node (); \ - template<> static BseExportNode* \ + template<> static_template BseExportNode* \ bse_export_node<EnumType> () \ { \ static BseExportNodeEnum enode = { \ @@ -145,7 +153,7 @@ (::NameSpace::bse_type_keeper__1##RecordType.get_type ()) #define BSE_CXX_DECLARE_RECORD(RecordType) \ template<class E> static BseExportNode* bse_export_node (); \ - template<> static BseExportNode* \ + template<> static_template BseExportNode* \ bse_export_node<RecordType> () \ { \ static BseExportNodeBoxed bnode = { \ @@ -181,7 +189,7 @@ (::NameSpace::bse_type_keeper__2##SequenceType.get_type ()) #define BSE_CXX_DECLARE_SEQUENCE(SequenceType) \ template<class E> static BseExportNode* bse_export_node (); \ - template<> static BseExportNode* \ + template<> static_template BseExportNode* \ bse_export_node<SequenceType> () \ { \ static BseExportNodeBoxed bnode = { \ @@ -219,7 +227,7 @@ extern ::Bse::ExportTypeKeeper bse_type_keeper__9##ProcType; #define BSE_CXX_REGISTER_PROCEDURE(ProcType) \ template<class C> static ::BseExportNode* bse_export_node (); \ - template<> static ::BseExportNode* \ + template<> static_template ::BseExportNode* \ bse_export_node<Procedure::ProcType> () \ { \ static ::BseExportNodeProc pnode = { \ @@ -259,7 +267,7 @@ #define BSE_CXX_REGISTER_EFFECT(Effect) \ BSE_CXX_DEFINE_STATIC_DATA (Effect##Base); \ template<class C> static ::BseExportNode* bse_export_node (); \ - template<> static ::BseExportNode* \ + template<> static_template ::BseExportNode* \ bse_export_node<Effect> () \ { \ static ::BseExportNodeClass cnode = { \ Index: beast-0.7.1/bse/bseloader-guspatch.cc =================================================================== --- beast-0.7.1.orig/bse/bseloader-guspatch.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/bseloader-guspatch.cc 2008-07-06 13:22:05.000000000 +0200 @@ -22,6 +22,7 @@ #include <errno.h> #include <vector> #include <string> +#include <cstring> #undef WITH_GUSPATCH_XINFOS static SFI_MSG_TYPE_DEFINE (debug_guspatch, "guspatch", SFI_MSG_DEBUG, NULL); Index: beast-0.7.1/bse/bsesequencer.cc =================================================================== --- beast-0.7.1.orig/bse/bsesequencer.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/bse/bsesequencer.cc 2008-07-06 13:22:05.000000000 +0200 @@ -30,6 +30,7 @@ #include <fcntl.h> #include <errno.h> #include <vector> +#include <cstring> /* due to a linker/compiler bug on SuSE 9.2, we need to * define extern "C" symbols outside of any C++ namespace, Index: beast-0.7.1/sfi/sfidl-cxxbase.cc =================================================================== --- beast-0.7.1.orig/sfi/sfidl-cxxbase.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/sfi/sfidl-cxxbase.cc 2008-07-06 13:22:05.000000000 +0200 @@ -23,6 +23,7 @@ #include <unistd.h> #include <errno.h> #include <ctype.h> +#include <cstring> #include "sfidl-namespace.hh" #include "sfidl-options.hh" #include "sfidl-parser.hh" Index: beast-0.7.1/sfi/sfidl-namespace.cc =================================================================== --- beast-0.7.1.orig/sfi/sfidl-namespace.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/sfi/sfidl-namespace.cc 2008-07-06 13:22:05.000000000 +0200 @@ -21,6 +21,7 @@ #include <list> #include <string> #include <map> +#include <algorithm> #include "sfidl-namespace.hh" #include <sfi/glib-extra.h> Index: beast-0.7.1/sfi/sfidl-options.cc =================================================================== --- beast-0.7.1.orig/sfi/sfidl-options.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/sfi/sfidl-options.cc 2008-07-06 13:22:05.000000000 +0200 @@ -22,6 +22,7 @@ #include "topconfig.h" #include <sfi/glib-extra.h> #include <stdio.h> +#include <cstring> /* FIXME: should be filled out and written into topconfig.h by configure */ #define SFIDL_VERSION BST_VERSION Index: beast-0.7.1/sfi/sficxx.hh =================================================================== --- beast-0.7.1.orig/sfi/sficxx.hh 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/sfi/sficxx.hh 2008-07-06 13:22:05.000000000 +0200 @@ -23,6 +23,7 @@ #include <sfi/sfi.h> #include <string> #include <new> +#include <cstring> namespace Sfi { Index: beast-0.7.1/sfi/sfidl-factory.cc =================================================================== --- beast-0.7.1.orig/sfi/sfidl-factory.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/sfi/sfidl-factory.cc 2008-07-06 13:22:05.000000000 +0200 @@ -18,6 +18,7 @@ */ #include "sfidl-factory.hh" #include "glib-extra.h" +#include <algorithm> using namespace Sfidl; using namespace std; Index: beast-0.7.1/sfi/sfidl-parser.cc =================================================================== --- beast-0.7.1.orig/sfi/sfidl-parser.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/sfi/sfidl-parser.cc 2008-07-06 13:22:05.000000000 +0200 @@ -27,6 +27,9 @@ #include <iostream> #include <set> #include <stack> +#include <cstring> +#include <cstdlib> +#include <algorithm> const std::string Sfidl::string_from_int (long long int lli) Index: beast-0.7.1/tests/bse/filtertest.cc =================================================================== --- beast-0.7.1.orig/tests/bse/filtertest.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/tests/bse/filtertest.cc 2008-07-06 13:22:05.000000000 +0200 @@ -28,6 +28,7 @@ #include <birnet/birnettests.h> #include "topconfig.h" #include <errno.h> +#include <cstdlib> using std::string; using std::vector; Index: beast-0.7.1/tools/bsewavetool.cc =================================================================== --- beast-0.7.1.orig/tools/bsewavetool.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/tools/bsewavetool.cc 2008-07-06 13:22:05.000000000 +0200 @@ -34,6 +34,7 @@ #include <fcntl.h> #include <vector> #include <map> +#include <algorithm> namespace BseWaveTool { Index: beast-0.7.1/tools/bsefcompare.cc =================================================================== --- beast-0.7.1.orig/tools/bsefcompare.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/tools/bsefcompare.cc 2008-07-06 13:22:05.000000000 +0200 @@ -28,6 +28,7 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> +#include <cstring> #include "topconfig.h" Index: beast-0.7.1/tools/bsefextract.cc =================================================================== --- beast-0.7.1.orig/tools/bsefextract.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/tools/bsefextract.cc 2008-07-06 13:22:05.000000000 +0200 @@ -27,6 +27,8 @@ #include <errno.h> #include <assert.h> #include "topconfig.h" +#include <cstring> +#include <cstdlib> #include <map> #include <string> Index: beast-0.7.1/birnet/tests/sorting.cc =================================================================== --- beast-0.7.1.orig/birnet/tests/sorting.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/tests/sorting.cc 2008-07-06 13:22:05.000000000 +0200 @@ -19,6 +19,8 @@ // #define TEST_VERBOSE #include <birnet/birnettests.h> #include <math.h> +#include <cstdlib> +#include <algorithm> namespace { using namespace Birnet; Index: beast-0.7.1/birnet/tests/strings.cc =================================================================== --- beast-0.7.1.orig/birnet/tests/strings.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/tests/strings.cc 2008-07-06 13:22:05.000000000 +0200 @@ -18,6 +18,7 @@ */ //#define TEST_VERBOSE #include <birnet/birnettests.h> +#include <cstdlib> using namespace Birnet; namespace { Index: beast-0.7.1/birnet/tests/threads.cc =================================================================== --- beast-0.7.1.orig/birnet/tests/threads.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/tests/threads.cc 2008-07-06 13:22:05.000000000 +0200 @@ -18,6 +18,7 @@ */ //#define TEST_VERBOSE #include <birnet/birnettests.h> +#include <cstdlib> namespace { using namespace Birnet; Index: beast-0.7.1/birnet/birnetutils.cc =================================================================== --- beast-0.7.1.orig/birnet/birnetutils.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/birnetutils.cc 2008-07-06 13:22:05.000000000 +0200 @@ -31,6 +31,7 @@ #include <algorithm> #include <cxxabi.h> #include <signal.h> +#include <cstring> #ifndef _ #define _(s) s Index: beast-0.7.1/birnet/birnetsignal.hh =================================================================== --- beast-0.7.1.orig/birnet/birnetsignal.hh 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/birnetsignal.hh 2008-07-06 13:22:05.000000000 +0200 @@ -435,7 +435,7 @@ /* --- predefined signals --- */ template<class Emitter> struct SignalFinalize : Signal0 <Emitter, void, ScopeReferenceFinalizationMark> { - typedef Signal0<Emitter, void, ScopeReferenceFinalizationMark> Signal0; + typedef Birnet::Signals::Signal0<Emitter, void, ScopeReferenceFinalizationMark> Signal0; explicit SignalFinalize (Emitter &emitter) : Signal0 (emitter) {} explicit SignalFinalize (Emitter &emitter, void (Emitter::*method) ()) : Signal0 (emitter, method) {} BIRNET_PRIVATE_CLASS_COPY (SignalFinalize); @@ -443,7 +443,7 @@ template<class Emitter> struct SignalVoid : Signal0 <Emitter, void> { - typedef Signal0<Emitter, void> Signal0; + typedef Birnet::Signals::Signal0<Emitter, void> Signal0; explicit SignalVoid (Emitter &emitter) : Signal0 (emitter) {} explicit SignalVoid (Emitter &emitter, void (Emitter::*method) (void)) : Signal0 (emitter, method) {} BIRNET_PRIVATE_CLASS_COPY (SignalVoid); Index: beast-0.7.1/birnet/birnetmsg.cc =================================================================== --- beast-0.7.1.orig/birnet/birnetmsg.cc 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/birnetmsg.cc 2008-07-06 13:22:05.000000000 +0200 @@ -21,6 +21,7 @@ #include "birnetthread.hh" #include <syslog.h> #include <errno.h> +#include <cstring> #ifndef _ // FIXME #define _(x) (x) Index: beast-0.7.1/birnet/birnetsignaltemplate.hh =================================================================== --- beast-0.7.1.orig/birnet/birnetsignaltemplate.hh 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/birnet/birnetsignaltemplate.hh 2008-07-06 13:22:05.000000000 +0200 @@ -165,7 +165,7 @@ template<class Emitter, typename R0, typename A1, typename A2, typename A3, class Collector> struct Signal<Emitter, R0 (A1, A2, A3), Collector> : Signal3<Emitter, R0, A1, A2, A3, Collector> { - typedef Signal3<Emitter, R0, A1, A2, A3, Collector> Signal3; + typedef Birnet::Signals::Signal3<Emitter, R0, A1, A2, A3, Collector> Signal3; explicit Signal (Emitter &emitter) : Signal3 (emitter) {} Index: beast-0.7.1/shell/bsescm.c =================================================================== --- beast-0.7.1.orig/shell/bsescm.c 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/shell/bsescm.c 2008-07-06 13:22:05.000000000 +0200 @@ -18,6 +18,7 @@ #include <string.h> #include <errno.h> #include <unistd.h> +#include <locale.h> #include <guile/gh.h> #include <bse/bse.h> #include <bse/bsemain.h> /* for bse_init_textdomain_only() */ Index: beast-0.7.1/beast-gtk/bstmain.c =================================================================== --- beast-0.7.1.orig/beast-gtk/bstmain.c 2008-07-06 13:11:21.000000000 +0200 +++ beast-0.7.1/beast-gtk/bstmain.c 2008-07-06 13:22:05.000000000 +0200 @@ -32,6 +32,7 @@ #include "data/beast-images.h" #include <unistd.h> #include <string.h> +#include <locale.h> #include <sys/time.h> #include <sys/resource.h> // #include "sfi/toyprof-mem.h" Index: beast-0.7.1/beast-gtk/testgui.c =================================================================== --- beast-0.7.1.orig/beast-gtk/testgui.c 2008-07-06 13:22:15.000000000 +0200 +++ beast-0.7.1/beast-gtk/testgui.c 2008-07-06 13:22:50.000000000 +0200 @@ -16,6 +16,7 @@ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. */ +#include <locale.h> #include "topconfig.h" #include "bstutils.h" #include "bse/bse.h"