Commit df8fe2e0 authored by Thomas Grill's avatar Thomas Grill
Browse files

More fixes to template code.

parent 18547c31
......@@ -66,6 +66,64 @@
E907FC1B1ACB4B3E003B821A /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
E907FC1C1ACB4B3E003B821A /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
E907FC2F1ACB4EEF003B821A /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
E907FC321AD081EA003B821A /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC331AD081EA003B821A /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC341AD081EA003B821A /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC351AD081EA003B821A /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC361AD081EA003B821A /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC371AD081EA003B821A /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC381AD081EA003B821A /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC391AD081EA003B821A /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC3A1AD081EA003B821A /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC3B1AD081EA003B821A /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC3C1AD081EA003B821A /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC3D1AD081EA003B821A /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC3E1AD081EA003B821A /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC3F1AD081EA003B821A /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC401AD081EA003B821A /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC411AD081EA003B821A /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC421AD081EA003B821A /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC431AD081EA003B821A /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC441AD081EA003B821A /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC451AD081EA003B821A /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC461AD081EA003B821A /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; settings = {ATTRIBUTES = (Public, ); }; };
E907FC471AD081EA003B821A /* atomic_int.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8B0D35903A00E692EF /* atomic_int.hpp */; };
E907FC481AD081EA003B821A /* atomic_ptr.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8C0D35903A00E692EF /* atomic_ptr.hpp */; };
E907FC491AD081EA003B821A /* branch_hints.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8D0D35903A00E692EF /* branch_hints.hpp */; };
E907FC4A1AD081EA003B821A /* cas.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8E0D35903A00E692EF /* cas.hpp */; };
E907FC4B1AD081EA003B821A /* fifo.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D8F0D35903A00E692EF /* fifo.hpp */; };
E907FC4C1AD081EA003B821A /* prefix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D900D35903A00E692EF /* prefix.hpp */; };
E907FC4D1AD081EA003B821A /* stack.hpp in Headers */ = {isa = PBXBuildFile; fileRef = E99A3D910D35903A00E692EF /* stack.hpp */; };
E907FC4E1AD081EA003B821A /* flcontainers.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD50D3592D100E692EF /* flcontainers.h */; };
E907FC4F1AD081EA003B821A /* flfeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD60D3592D100E692EF /* flfeatures.h */; };
E907FC501AD081EA003B821A /* flmap.h in Headers */ = {isa = PBXBuildFile; fileRef = E99A3DD70D3592D100E692EF /* flmap.h */; };
E907FC511AD081EA003B821A /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; };
E907FC521AD081EA003B821A /* flpopns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B34410F40BEF0006336AA /* flpopns.h */; };
E907FC541AD081EA003B821A /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
E907FC551AD081EA003B821A /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
E907FC561AD081EA003B821A /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
E907FC571AD081EA003B821A /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
E907FC581AD081EA003B821A /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
E907FC591AD081EA003B821A /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
E907FC5A1AD081EA003B821A /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
E907FC5B1AD081EA003B821A /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
E907FC5C1AD081EA003B821A /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
E907FC5D1AD081EA003B821A /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
E907FC5E1AD081EA003B821A /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
E907FC5F1AD081EA003B821A /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
E907FC601AD081EA003B821A /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
E907FC611AD081EA003B821A /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
E907FC621AD081EA003B821A /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
E907FC631AD081EA003B821A /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
E907FC641AD081EA003B821A /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
E907FC651AD081EA003B821A /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
E907FC661AD081EA003B821A /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
E907FC671AD081EA003B821A /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
E907FC681AD081EA003B821A /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
E907FC691AD081EA003B821A /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
E907FC6A1AD081EA003B821A /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
E907FC6B1AD081EA003B821A /* flmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E99A3DCE0D3592AB00E692EF /* flmap.cpp */; };
E907FC6D1AD081EA003B821A /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
E95B343B0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; };
E95B343C0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; };
E95B343D0F40BEE3006336AA /* flpushns.h in Headers */ = {isa = PBXBuildFile; fileRef = E95B343A0F40BEE3006336AA /* flpushns.h */; };
......@@ -429,6 +487,7 @@
/* Begin PBXFileReference section */
E907FBFC1AC9FCEC003B821A /* libflext-pd_i.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_i.a"; sourceTree = BUILT_PRODUCTS_DIR; };
E907FC711AD081EA003B821A /* libflext-pd_ti.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_ti.a"; sourceTree = BUILT_PRODUCTS_DIR; };
E95B343A0F40BEE3006336AA /* flpushns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flpushns.h; sourceTree = "<group>"; };
E95B34410F40BEF0006336AA /* flpopns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flpopns.h; sourceTree = "<group>"; };
E99747CD0770545100206F68 /* libflext-pd_sd.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-pd_sd.a"; sourceTree = BUILT_PRODUCTS_DIR; };
......@@ -511,6 +570,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
E907FC6C1AD081EA003B821A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
E907FC6D1AD081EA003B821A /* vecLib.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E99747CB0770545100206F68 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
......@@ -580,6 +647,7 @@
E9974BC407705F1400206F68 /* libflext-max_td.a */,
E9974BFA07705F4F00206F68 /* libflext-max_d.dylib */,
E907FBFC1AC9FCEC003B821A /* libflext-pd_i.a */,
E907FC711AD081EA003B821A /* libflext-pd_ti.a */,
);
name = Products;
sourceTree = "<group>";
......@@ -741,6 +809,46 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
E907FC311AD081EA003B821A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
E907FC321AD081EA003B821A /* flprefix.h in Headers */,
E907FC331AD081EA003B821A /* flbase.h in Headers */,
E907FC341AD081EA003B821A /* flclass.h in Headers */,
E907FC351AD081EA003B821A /* fldoxygen.h in Headers */,
E907FC361AD081EA003B821A /* fldsp.h in Headers */,
E907FC371AD081EA003B821A /* flext.h in Headers */,
E907FC381AD081EA003B821A /* flinternal.h in Headers */,
E907FC391AD081EA003B821A /* flmspbuffer.h in Headers */,
E907FC3A1AD081EA003B821A /* flstdc.h in Headers */,
E907FC3B1AD081EA003B821A /* flsupport.h in Headers */,
E907FC3C1AD081EA003B821A /* fldefs.h in Headers */,
E907FC3D1AD081EA003B821A /* fldefs_attradd.h in Headers */,
E907FC3E1AD081EA003B821A /* fldefs_attrcb.h in Headers */,
E907FC3F1AD081EA003B821A /* fldefs_attrvar.h in Headers */,
E907FC401AD081EA003B821A /* fldefs_hdr.h in Headers */,
E907FC411AD081EA003B821A /* fldefs_methadd.h in Headers */,
E907FC421AD081EA003B821A /* fldefs_methbind.h in Headers */,
E907FC431AD081EA003B821A /* fldefs_methcall.h in Headers */,
E907FC441AD081EA003B821A /* fldefs_methcb.h in Headers */,
E907FC451AD081EA003B821A /* fldefs_meththr.h in Headers */,
E907FC461AD081EA003B821A /* fldefs_setup.h in Headers */,
E907FC471AD081EA003B821A /* atomic_int.hpp in Headers */,
E907FC481AD081EA003B821A /* atomic_ptr.hpp in Headers */,
E907FC491AD081EA003B821A /* branch_hints.hpp in Headers */,
E907FC4A1AD081EA003B821A /* cas.hpp in Headers */,
E907FC4B1AD081EA003B821A /* fifo.hpp in Headers */,
E907FC4C1AD081EA003B821A /* prefix.hpp in Headers */,
E907FC4D1AD081EA003B821A /* stack.hpp in Headers */,
E907FC4E1AD081EA003B821A /* flcontainers.h in Headers */,
E907FC4F1AD081EA003B821A /* flfeatures.h in Headers */,
E907FC501AD081EA003B821A /* flmap.h in Headers */,
E907FC511AD081EA003B821A /* flpushns.h in Headers */,
E907FC521AD081EA003B821A /* flpopns.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E99747C90770545100206F68 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
......@@ -1005,6 +1113,23 @@
productReference = E907FBFC1AC9FCEC003B821A /* libflext-pd_i.a */;
productType = "com.apple.product-type.library.static";
};
E907FC301AD081EA003B821A /* PD template multi */ = {
isa = PBXNativeTarget;
buildConfigurationList = E907FC6E1AD081EA003B821A /* Build configuration list for PBXNativeTarget "PD template multi" */;
buildPhases = (
E907FC311AD081EA003B821A /* Headers */,
E907FC531AD081EA003B821A /* Sources */,
E907FC6C1AD081EA003B821A /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "PD template multi";
productName = "PD static single";
productReference = E907FC711AD081EA003B821A /* libflext-pd_ti.a */;
productType = "com.apple.product-type.library.static";
};
E99747CC0770545100206F68 /* PD static single */ = {
isa = PBXNativeTarget;
buildConfigurationList = E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */;
......@@ -1134,6 +1259,7 @@
E9974B9207705F1400206F68 /* Max static multi */,
E9974BC507705F4F00206F68 /* Max shared */,
E907FBBB1AC9FCEC003B821A /* PD template single */,
E907FC301AD081EA003B821A /* PD template multi */,
);
};
/* End PBXProject section */
......@@ -1170,6 +1296,37 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
E907FC531AD081EA003B821A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E907FC541AD081EA003B821A /* flattr.cpp in Sources */,
E907FC551AD081EA003B821A /* flmsg.cpp in Sources */,
E907FC561AD081EA003B821A /* flbind.cpp in Sources */,
E907FC571AD081EA003B821A /* flatom_pr.cpp in Sources */,
E907FC581AD081EA003B821A /* flout.cpp in Sources */,
E907FC591AD081EA003B821A /* flutil.cpp in Sources */,
E907FC5A1AD081EA003B821A /* fldsp.cpp in Sources */,
E907FC5B1AD081EA003B821A /* fltimer.cpp in Sources */,
E907FC5C1AD081EA003B821A /* fllib.cpp in Sources */,
E907FC5D1AD081EA003B821A /* flproxy.cpp in Sources */,
E907FC5E1AD081EA003B821A /* flattr_ed.cpp in Sources */,
E907FC5F1AD081EA003B821A /* flthr.cpp in Sources */,
E907FC601AD081EA003B821A /* flsimd.cpp in Sources */,
E907FC611AD081EA003B821A /* flatom.cpp in Sources */,
E907FC621AD081EA003B821A /* flitem.cpp in Sources */,
E907FC631AD081EA003B821A /* flatom_part.cpp in Sources */,
E907FC641AD081EA003B821A /* flqueue.cpp in Sources */,
E907FC651AD081EA003B821A /* flbuf.cpp in Sources */,
E907FC661AD081EA003B821A /* flext.cpp in Sources */,
E907FC671AD081EA003B821A /* flmeth.cpp in Sources */,
E907FC681AD081EA003B821A /* flsupport.cpp in Sources */,
E907FC691AD081EA003B821A /* flxlet.cpp in Sources */,
E907FC6A1AD081EA003B821A /* flbase.cpp in Sources */,
E907FC6B1AD081EA003B821A /* flmap.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E99747CA0770545100206F68 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
......@@ -1400,6 +1557,49 @@
};
name = Deployment;
};
E907FC6F1AD081EA003B821A /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"FLEXT_SYS=2",
FLEXT_INLINE,
FLEXT_THREADS,
);
HEADER_SEARCH_PATHS = "$(PD)/src";
INSTALL_PATH = /usr/local/lib;
LIBRARY_STYLE = STATIC;
OTHER_REZFLAGS = "";
PRODUCT_NAME = "flext-pd_ti";
};
name = Development;
};
E907FC701AD081EA003B821A /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_ENABLE_SSE3_EXTENSIONS = YES;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"FLEXT_SYS=2",
FLEXT_INLINE,
FLEXT_THREADS,
);
HEADER_SEARCH_PATHS = "$(PD)/src";
INSTALL_PATH = /usr/local/lib;
LIBRARY_STYLE = STATIC;
OTHER_REZFLAGS = "";
PRODUCT_NAME = "flext-pd_ti";
SECTORDER_FLAGS = "";
};
name = Deployment;
};
E9A5BCA20A3381C400AD9F03 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
......@@ -1739,6 +1939,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Deployment;
};
E907FC6E1AD081EA003B821A /* Build configuration list for PBXNativeTarget "PD template multi" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E907FC6F1AD081EA003B821A /* Development */,
E907FC701AD081EA003B821A /* Deployment */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Deployment;
};
E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */ = {
isa = XCConfigurationList;
buildConfigurations = (
......
......@@ -449,17 +449,16 @@ $LastChangedBy$
# endif
#endif
// macro definitions for inline flext usage
#ifdef FLEXT_INLINE
# define FLEXT_TEMPLATE template<typename>
# define FLEXT_TEMPIMPL(fun) template<typename T> fun<T>
# define FLEXT_TEMPLATE template<typename flext_T>
# define FLEXT_TEMPIMPL(fun) template<typename flext_T> fun<flext_T>
# define FLEXT_TEMPINST(fun) fun<void>
# define FLEXT_TEMPDEF template<>
# define FLEXT_TEMPSUB(fun) typename fun<T>
# define FLEXT_TEMPSUB(fun) typename fun<flext_T>
#else
# define FLEXT_TEMPLATE
# define FLEXT_TEMPIMPL(fun) fun
# define FLEXT_TEMPINST(fun) fun
# define FLEXT_TEMPDEF
# define FLEXT_TEMPSUB(fun) fun
#endif
......
......@@ -31,7 +31,7 @@ $LastChangedBy$
#ifdef FLEXT_THREADS
//! Thread id of message queue thread
FLEXT_TEMPIMPL(FLEXT_CLASSDEF(flext)::thrid_t FLEXT_CLASSDEF(flext))::thrmsgid;
FLEXT_TEMPIMPL(FLEXT_TEMPINST(FLEXT_CLASSDEF(flext))::thrid_t FLEXT_CLASSDEF(flext))::thrmsgid;
#endif
FLEXT_TEMPIMPL(bool FLEXT_CLASSDEF(flext_base))::qustarted = false;
......@@ -46,7 +46,7 @@ FLEXT_TEMPIMPL(bool FLEXT_CLASSDEF(flext_base))::qustarted = false;
template<typename=void> void Trigger();
template<typename=void>
class QueueFifo
: public PooledFifo<flext::MsgBundle>
{
......@@ -57,16 +57,35 @@ public:
template<typename=void>
class Queue:
public flext,
public QueueFifo
public QueueFifo<>
{
public:
inline bool Empty() const { return !Avail(); }
Queue(void *dummy=NULL) {} // strange... constructor is needed to auto-instantiate static data of this kind
inline void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...)
inline bool Empty() const { return !Avail(); }
static Queue queue;
void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...)
};
template<typename T=void>
struct QVars {
#if FLEXT_QMODE == 2
static flext::ThrCond qthrcond;
#elif FLEXT_QMODE == 0
static t_clock *qclk;
#endif
static Queue<T> queue;
};
#if FLEXT_QMODE == 2
template<typename T> flext::ThrCond QVars<T>::qthrcond;
#elif FLEXT_QMODE == 0
template<typename T> t_clock *QVars<T>::qclk = NULL;
#endif
template<typename T> Queue<T> QVars<T>::queue(NULL);
#define STATSIZE 8
FLEXT_TEMPIMPL(class FLEXT_CLASSDEF(flext))::MsgBundle:
......@@ -76,7 +95,7 @@ FLEXT_TEMPIMPL(class FLEXT_CLASSDEF(flext))::MsgBundle:
public:
static MsgBundle *New()
{
MsgBundle *m = Queue<>::queue.New();
MsgBundle *m = QVars<>::queue.New();
m->msg.Init();
return m;
}
......@@ -90,7 +109,7 @@ public:
mi = mn;
}
m->msg.Free();
Queue<>::queue.Free(m);
QVars<>::queue.Free(m);
}
bool BelongsTo(flext_base *t) const
......@@ -327,14 +346,13 @@ private:
}
};
QueueFifo::~QueueFifo()
template<typename T> QueueFifo<T>::~QueueFifo()
{
flext::MsgBundle *n;
while((n = Get()) != NULL) delete n;
}
template<typename T>
inline void Queue<T>::Push(MsgBundle *m)
template<typename T> void Queue<T>::Push(MsgBundle *m)
{
if(LIKELY(m)) {
Put(m);
......@@ -342,21 +360,6 @@ inline void Queue<T>::Push(MsgBundle *m)
}
}
template<typename=void>
struct QVars {
#if FLEXT_QMODE == 2
static flext::ThrCond qthrcond;
#elif FLEXT_QMODE == 0
static t_clock *qclk;
#endif
};
#if FLEXT_QMODE == 2
template<> flext::ThrCond QVars<>::qthrcond;
#elif FLEXT_QMODE
template<> t_clock *QVars<>::qclk = NULL;
#endif
#define CHUNK 10
#if FLEXT_QMODE == 1
......@@ -397,13 +400,13 @@ template<typename=void> bool QWork(bool syslock,flext_base *flushobj = NULL)
// qc will be a minimum guaranteed number of present queue elements.
// On the other hand, if new queue elements are added by the methods called
// in the loop, these will be sent in the next tick to avoid recursion overflow.
if(!Queue<>::queue.Avail()) break;
if(!QVars<>::queue.Avail()) break;
#if FLEXT_QMODE == 2
if(syslock) flext::Lock();
#endif
while((q = Queue<>::queue.Get()) != NULL) {
while((q = QVars<>::queue.Get()) != NULL) {
if(q->Send())
newmsgs.Push(q); // remember messages to be processed again
else
......@@ -419,11 +422,11 @@ template<typename=void> bool QWork(bool syslock,flext_base *flushobj = NULL)
// enqueue messages that have to be processed again
while((q = newmsgs.Get()) != NULL)
if(!flushobj || !q->BelongsTo(flushobj))
Queue<>::queue.Push(q);
QVars<>::queue.Push(q);
else
flext::MsgBundle::Free(q);
return Queue<>::queue.Avail();
return QVars<>::queue.Avail();
}
#endif
......@@ -471,7 +474,7 @@ But then the order of sent messages is not as intended
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::QFlush(flext_base *th)
{
FLEXT_ASSERT(!IsThreadRegistered());
while(!Queue<>::queue.Empty()) QWork(false,th);
while(!QVars<>::queue.Empty()) QWork(false,th);
}
template<typename>
......@@ -553,12 +556,12 @@ FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext))::MsgFree(MsgBundle *m)
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext))::ToSysMsg(MsgBundle *m)
{
m->Send();
Queue<>::queue.Free(m);
QVars<>::queue.Free(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext))::ToQueueMsg(MsgBundle *m)
{
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
......@@ -567,49 +570,49 @@ FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueBang(int o) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueFloat(int o,float f) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o,f);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueInt(int o,int f) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o,f);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueSymbol(int o,const t_symbol *s) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o,s);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueAtom(int o,const t_atom &at) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o,at);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueList(int o,int argc,const t_atom *argv) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o,argc,argv);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ToQueueAnything(int o,const t_symbol *s,int argc,const t_atom *argv) const
{
MsgBundle *m = MsgBundle::New();
m->Add(const_cast<flext_base *>(this),o,s,argc,argv);
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
......@@ -671,7 +674,7 @@ FLEXT_TEMPIMPL(bool FLEXT_CLASSDEF(flext))::QueueForward(const t_symbol *recv,co
MsgBundle *m = MsgBundle::New();
m->Add(recv,s,argc,argv);
// send over queue
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
return true;
}
......@@ -686,7 +689,7 @@ FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::AddIdle()
MsgBundle *m = MsgBundle::New();
m->Idle(const_cast<flext_base *>(this));
// send over queue
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::AddIdle(bool (*idlefun)(int argc,const t_atom *argv),int argc,const t_atom *argv)
......@@ -694,7 +697,7 @@ FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::AddIdle(bool (*idlefun)(int arg
MsgBundle *m = MsgBundle::New();
m->Idle(idlefun,argc,argv);
// send over queue
Queue<>::queue.Push(m);
QVars<>::queue.Push(m);
}
#include "flpopns.h"
......
......@@ -33,33 +33,33 @@ $LastChangedBy$
#define snprintf _snprintf
#endif
FLEXT_TEMPDEF const t_symbol *flext::sym__ = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_float = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_symbol = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_bang = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_list = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_pointer = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_int = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_signal = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym__ = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_float = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_symbol = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_bang = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_list = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_pointer = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_int = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_signal = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_anything = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_anything = NULL;
#if FLEXT_SYS == FLEXT_SYS_MAX
FLEXT_TEMPDEF const t_symbol *flext::sym_buffer = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_size = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_dirty = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_buffer = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_size = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_dirty = NULL;
#endif
FLEXT_TEMPDEF const t_symbol *flext::sym_attributes = NULL;
FLEXT_TEMPDEF const t_symbol *flext::sym_methods = NULL;
FLEXT_TEMPIMPL(const t_symbol *FLEXT_CLASSDEF(flext))::sym_attributes = NULL;