Update of /cvsroot/pure-data/externals/gridflow In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23382
Modified Files: configure TODO README Makefile.gf ChangeLog Log Message: 0.8.1
Index: TODO =================================================================== RCS file: /cvsroot/pure-data/externals/gridflow/TODO,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TODO 4 Oct 2005 02:12:43 -0000 1.1 --- TODO 15 Mar 2006 04:48:05 -0000 1.2 *************** *** 1,45 **** /* $Id$ */
! matju cvs update -dP : ! P format/quicktimeapple.c ! cvs update: warning: pd_examples/binary_operations.pd was lost ! C pd_examples/color_correction.pd ! C pd_examples/convolve.pd ! C pd_examples/drag_rectangle.pd ! C pd_examples/eclipse.pd ! C pd_examples/linear_transform.pd ! C pd_examples/waves.pd
! Checking in README; ! /home/cvs/gridflow/README,v <-- README ! new revision: 1.22; previous revision: 1.21 ! done ! $helo_domain: web.artengine.ca ! $from_address: matju@web.artengine.ca (matju) ! loginfo.rb is writing changelog...done ! loginfo.rb is parsing log message...done ! loginfo.rb is testing modules...log info for `/home/cvs/gridflow/README' is not ready ! done ! loginfo.rb is composing a mail...done ! loginfo.rb is posting email to gridflow ...ERROR: cannot send email using MTA on ns ! 450 <gridflow>: Recipient address rejected: User unknown in local recipient table
- done - loginfo.rb is deleting tmp files...done
! AMD64 : ! char 1 1 ! short 2 2 ! int 4 4 ! long 4 8 ! long long 8 8 ! float 4 4 ! double 8 8 ! void * 4 8
! <ClaudiusMaximus> hmm, sending a [reassign( message to the right inlet of a [#store] segfaults Pd
! <ClaudiusMaximus> hmmm, i get a segfault with a simple patch sending "reassign, put_at ( 0 0 ), reassign" to the right inlet of [#store ( 3 3 # 0 )]
<alx1> matju: for the ./configure, I often get an error from aalib since common installs do not put the headers <alx1> matju: would it be possible to make it a user defined choice like --with-aalib and turn it off by default? --- 1,36 ---- /* $Id$ */
! [ ] SWIG: try -fcompact -fvirtual
! ClaudiusMaximus matju: [#draw_image] inlet 0 method "op <opname>" is undocumented, but very useful :) ! ClaudiusMaximus matju: [unix_time] is maldocumented, outlet 0 is a grid Dim[28](uint8), not a symbol
! [ ] pd_examples -> examples ! [ ] update doc ! [ ] 0.8.1 ! [ ] make good use of the R type (automatic Ruby/C++ convs) ! [ ] ditch xml, switch to docstrings or whatever ! [ ] ... ! claude wants http://en.wikipedia.org/wiki/Graham_scan
! X Error of failed request: BadValue (integer parameter out of range for operation) ! error=0x2 ! request=0x91 (MIT-SHM) ! minor=0x3 (X_ShmPutImage) ! value in failed request: 0x04b008 == 240*320*4+8 (matju)
! invalid read of size 1 (main.c.fcs:438) ! malloc alignment = 4 mod 8 (en utilisant valgrind) ! ! ClaudiusMaximus matju: feature request: [#store4], behaves like store but accepts grids ! of floats as coordinates and interpolate using 4-point interpolation, eg, right inlet -> ! (3 3 f # 0 0 0 1 1 1 2 4 8), left inlet -> (1 # 0.5) outputs (0.5 0.5 0.5) ! (or whatever the interpolation would really be), left inlet (2 # 1.5 1.5) outputs (3) ! ! AMD64 diffs: long 4->8, void * 4->8
+ <ClaudiusMaximus> hmm, sending a [reassign( message to the right inlet of a [#store] segfaults Pd + <ClaudiusMaximus> hmmm, i get a segfault with a simple patch sending "reassign, put_at ( 0 0 ), reassign" to the right inlet of [#store ( 3 3 # 0 )] <alx1> matju: for the ./configure, I often get an error from aalib since common installs do not put the headers <alx1> matju: would it be possible to make it a user defined choice like --with-aalib and turn it off by default? *************** *** 49,52 **** --- 40,44 ---- <alx1> matju: once I delete it, unlike the other gui objects, it takes about one second before it dissapears, maybe a difference in tcl versions?
+ http://oprofile.sourceforge.net/about/ for 0.8.0:
*************** *** 56,70 **** [gf] returns: #<GridFlow::FormatX11 [FormatX11 out]>
! test with waves.pd, 24 by 32. ! ==1673== 809108 bytes in 187 blocks are still reachable in loss record 64 of 64 ! ==1673== at 0x40026DAA: __builtin_vec_new (vg_replace_malloc.c:203) ! ==1673== by 0x40026E01: operator new[](unsigned) (vg_replace_malloc.c:216) ! ==1673== by 0x41FE269F: Grid::init(P<Dim>, NumberTypeE) (base/grid.h.fcs:910) ! ==1673== by 0x41FCBE27: Grid::init_from_ruby_list(int, unsigned long*, NumberTypeE) (base/grid.c.fcs:100) ! ==1673== by 0x41FCC679: Grid::init_from_ruby(unsigned long) (base/grid.c.fcs:117) ! ==1673== by 0x41FE223F: Grid::Grid(unsigned long) (base/grid.h.fcs:888) ! ==1673== by 0x42093152: convert(unsigned long, Grid**) (base/grid.h.fcs:921) ! ==1673== by 0x4208F72B: GridOuter::initialize_wrap(int, unsigned long*, unsigned long) (base/flow_objects.c.fcs:862) ! [ ] try removing or modifying -falign on PPC/OSX [ ] c++ typecasting is nuts (see class Pt<T>) --- 48,52 ---- [gf] returns: #<GridFlow::FormatX11 [FormatX11 out]>
! [ ] FIX LIBQUICKTIME CODE: #include <lqt/*> instead of <quicktime/*> [ ] try removing or modifying -falign on PPC/OSX [ ] c++ typecasting is nuts (see class Pt<T>) *************** *** 97,102 **** [ ] consider including [mysql] [renamefile] [ls] [shell] [ ] re-enable int64,float64 - [ ] <alx_> #define RUBY_STACK_END "0xbfffd5c0" (!?!?!?) - [ ] remember who i am supposed to credit for making pd_help back in march 2003... alx knows [ ] added #matrix_solve, #slice [ ] Copy-on-Write (COW) --- 79,82 ---- *************** *** 109,112 **** --- 89,93 ---- [ ] add support for "anything" methods (def _0_(sel,*a)) [ ] look into -ftree-vectorize + [ ] should STACK_ARRAY remain at all?
for 0.8.1: *************** *** 117,121 **** Bugs (High Priority) (!!! Fix all of these before 0.8.0 !!!)
! pick a number: [147]
[147] [#store] blows up in nervous_video (reassign) --- 98,102 ---- Bugs (High Priority) (!!! Fix all of these before 0.8.0 !!!)
! pick a number: [149]
[147] [#store] blows up in nervous_video (reassign) *************** *** 139,143 **** [129] jmax2pd: [display] should not be translated [128] jmax2pd(?): loadbang-messages (comma) don't get translated to .pd ?? - [119] osx: SDL doesn't work here [118] error messages can be unclear (eg. file not open... is it #in's, or #out's?) [117] osx: [#store] crash instead of raising --- 120,123 ---- *************** *** 178,182 **** [047] make system to ensure everything is working before a release. [048] potential issues between fork() and X11 ? - [050] BitPacking has trouble with masks that extend beyond int25be [051] remove the crap given by -w of ruby [054] it's possible to crash by sending data in two inlets of a same object at once --- 158,161 ----
Index: configure =================================================================== RCS file: /cvsroot/pure-data/externals/gridflow/configure,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** configure 4 Oct 2005 02:12:43 -0000 1.1 --- configure 15 Mar 2006 04:48:05 -0000 1.2 *************** *** 3,7 **** =begin GridFlow ! Copyright (c) 2001,2002,2003,2004 by Mathieu Bouchard
This program is free software; you can redistribute it and/or --- 3,7 ---- =begin GridFlow ! Copyright (c) 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard
This program is free software; you can redistribute it and/or *************** *** 26,32 **** --- 26,40 ---- require "ftools" include Config + OSX = !!( CONFIG["arch"] =~ /darwin/ ) + require "win32/process" if CONFIG["arch"] =~ /mingw/ LOG = File.open "./config.log", "w"
+ Red = "\e[0;1;31m" + Green = "\e[0;1;32m" + Light = "\e[0m" + Dark = "\e[0;1;30m" + Yellow = "\e[0;1;33;44m" + $verbose=false LOG.puts "-"*64 *************** *** 73,80 **** :OPTIONS => [], :DEFINES => { ! :RUBY_PREFIX => CONFIG['prefix'], :PREFIX => "/usr/local", :CPU => nil, :RUBY_ARCH => CONFIG['arch'], }, :CC => "g++", --- 81,90 ---- :OPTIONS => [], :DEFINES => { ! # :RUBY_PREFIX => CONFIG['prefix'], ! :RUBY_PREFIX => nil, :PREFIX => "/usr/local", :CPU => nil, :RUBY_ARCH => CONFIG['arch'], + :GEM_SOURCE => "../Gem/src", }, :CC => "g++", *************** *** 199,230 **** end
$C_INCLUDE_PATH = ( ! (ENV["CPLUS_INCLUDE_PATH"]||"").split(":") + ! (ENV["C_INCLUDE_PATH"]||"").split(":") + ["/usr/include"]).uniq
$LIBRARY_PATH = ( ! (ENV["LIBRARY_PATH"]||"").split(":") + ["/usr/lib","/lib"]).uniq
$LD_LIBRARY_PATH = ( ! (ENV["LD_LIBRARY_PATH"]||"").split(":") + ! read_ld_so_conf + ! ["/usr/lib","/lib"]).uniq
# making it easier for everybody I hope: ! ["/Applications/Pd.app/Contents/Resources","/sw","/usr/local",ENV["home"]].each do|base| ! if not $LD_LIBRARY_PATH.include? "#{base}/lib" and ! not $LIBRARY_PATH.include? "#{base}/lib" then ! $conf[:LDSOFLAGS].unshift "-L#{base}/lib" ! $LD_LIBRARY_PATH.unshift "#{base}/lib" ! $LIBRARY_PATH.unshift "#{base}/lib" end ! #and not $CPLUS_INCLUDE_PATH.include? "#{base}/include" ! if not $C_INCLUDE_PATH.include? "#{base}/include" then ! $CFLAGS += " -I#{base}/include" ! $C_INCLUDE_PATH.unshift "#{base}/include" end end
for var in [:$C_INCLUDE_PATH, :$LIBRARY_PATH, :$LD_LIBRARY_PATH] do --- 209,251 ---- end
+ def epath x; (ENV[x]||"").split(":") end + $C_INCLUDE_PATH = ( ! epath("CPLUS_INCLUDE_PATH") + ! epath("C_INCLUDE_PATH") + ["/usr/include"]).uniq
$LIBRARY_PATH = ( ! epath("LIBRARY_PATH") + ["/usr/lib","/lib"]).uniq
$LD_LIBRARY_PATH = ( ! epath("LD_LIBRARY_PATH") + ! read_ld_so_conf + ! ["/usr/lib","/lib"]).uniq ! $LIBX11DIR = ["-L/usr/X11R6/lib"] ! $LIBX11 = ["-L/usr/X11R6/lib","-lX11"]
# making it easier for everybody I hope: ! def prepend_path base ! bl = base+"/lib" ! bi = base+"/include" ! if not $LD_LIBRARY_PATH.include? bl and ! not $LIBRARY_PATH.include? bl then ! $conf[:LDSOFLAGS].unshift "-L"+bl ! $LD_LIBRARY_PATH.unshift bl ! $LIBRARY_PATH.unshift bl end ! #and not $CPLUS_INCLUDE_PATH.include? bi ! if not $C_INCLUDE_PATH.include? bi then ! $CFLAGS += " -I"+bi ! $C_INCLUDE_PATH.unshift bi end end + prepend_path "/Applications/Pd.app/Contents/Resources" if OSX + prepend_path "/sw" if OSX + prepend_path "/usr/local" + prepend_path ENV["HOME"] + # prepend_path "."
for var in [:$C_INCLUDE_PATH, :$LIBRARY_PATH, :$LD_LIBRARY_PATH] do *************** *** 262,265 **** --- 283,290 ---- [:ruby, "main.rb"], ], + [:directory, "optional/", + [:ruby, "usb.rb"], + [:ruby, "lti.rb"], + ], [:directory, "extra/", [:ruby, "smpte.rb"], *************** *** 274,284 **** #----------------------------------------------------------------# Feature.add { - tag :fast - name "Compile for speed (and not debuggability)" - } - Feature.add { tag :gcc3 name "GNU C++ Compiler 3" options ["HAVE_GCC3"] test proc { pi=File.popen "#{$conf[:CC]} -v 2>&1", "r" --- 299,306 ---- #----------------------------------------------------------------# Feature.add { tag :gcc3 name "GNU C++ Compiler 3" options ["HAVE_GCC3"] + =begin test proc { pi=File.popen "#{$conf[:CC]} -v 2>&1", "r" *************** *** 289,292 **** --- 311,328 ---- true } + =end + test proc { + c_test %{ + #include <stdio.h> + int main () { + printf("GCC_VERSION %d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); + return !(__GNUC__>=3); + }} + } + defines :GCC_VERSION => proc { + m = /GCC_VERSION\s+(.*)/.match(File.popen("tmp/#{$$}","r"){|f| f.read }) + m[1] + } + } Feature.add { *************** *** 310,314 **** #include <stdlib.h> #include <cstddef> ! #define T(a) printf("%s:%d; ",#a,sizeof(a)); int main () { T(void *)T(ptrdiff_t)T(off_t)T(size_t)puts(""); --- 346,350 ---- #include <stdlib.h> #include <cstddef> ! #define T(a) printf("%s:%ld; ",#a,(long)sizeof(a)); int main () { T(void *)T(ptrdiff_t)T(off_t)T(size_t)puts(""); *************** *** 322,332 **** #----------------------------------------------------------------#
! $stack_end_test = %{ #include <stdio.h> - #include <ruby.h> int main () { void *bp; ! printf("#define RUBY_STACK_END 0x%08lx",(long)&bp); ! return rb_rescue==0; } } --- 358,424 ---- #----------------------------------------------------------------#
! Feature.add { ! tag :libc_stack_end ! name "Stack end defined by LibC" ! status :disabled ! test proc { c_test ' ! #include <stdio.h> ! extern void *__libc_stack_end; ! int main () { ! printf("#define STACK_END 0x%0*lx",sizeof(long)*2,__libc_stack_end); ! return 0; ! } ! ', uses_bridge_so } ! defines :HAVE_LIBC_STACK_END ! defines :STACK_END => proc { ! m = /STACK_END\s+(.*)/.match(File.popen("tmp/#{$$}","r"){|f| f.read }) ! m[1] ! } ! } ! Feature.add { ! tag :segv_stack_end ! name "Stack end probed" ! test proc { c_test %` ! /* the segfault trick (by Mathieu Bouchard) */ ! #ifndef STACK_GROW_DIRECTION ! #define STACK_GROW_DIRECTION -1 ! #endif ! #include <stdio.h> ! #include <signal.h> ! #include <setjmp.h> ! static volatile long bogus = 0; // to force *bp to be read in memory ! static sigjmp_buf rescue_segfault; ! static void trap_segfault (int patate) { siglongjmp(rescue_segfault,11); } ! int main () { ! // get any stack address ! volatile long * volatile bp = (volatile long *)&bp; ! void (*oldsegv)(int) = signal(SIGSEGV,trap_segfault); ! void (*oldbus)(int) = signal(SIGBUS, trap_segfault); ! if (!sigsetjmp(rescue_segfault,0)) for (;;bp-=STACK_GROW_DIRECTION) bogus += *bp; ! printf("#define STACK_END 0x%0*lx\n",sizeof(long)*2,(long)(bp+STACK_GROW_DIRECTION)); ! return 0; ! } ! `, uses_bridge_so } ! defines :HAVE_LIBC_STACK_END ! defines :STACK_END => proc { ! m = /STACK_END\s+(.*)/.match(File.popen("tmp/#{$$}","r"){|f| f.read }) ! m[1] ! } ! } ! Feature.add { ! tag :wild_stack_end ! name "Stack end wild guess" ! unless_feature [:libc_stack_end,:segv_stack_end] ! test proc { c_test ' #include <stdio.h> int main () { void *bp; ! printf("#define STACK_END 0x%0*lx",sizeof(long)*2,(long)&bp); ! return 0; ! } ! ', uses_bridge_so } ! defines :STACK_END => proc { ! m = /STACK_END\s+(.*)/.match(File.popen("tmp/#{$$}","r"){|f| f.read }) ! m[1] } } *************** *** 336,344 **** uses_bridge_so ["-lruby"] #uses_h ["ruby.h"] # is in special directory ! defines :RUBY_STACK_END => proc { ! m = /RUBY_STACK_END\s+(.*)/.match(File.popen("tmp/#{$$}","r"){|f| f.read }) ! m[1] ! } ! test proc { c_test $stack_end_test, uses_bridge_so } } Feature.add { --- 428,433 ---- uses_bridge_so ["-lruby"] #uses_h ["ruby.h"] # is in special directory ! test proc { c_test "#include <ruby.h> ! int main () { return rb_rescue==0; }", uses_bridge_so } } Feature.add { *************** *** 349,362 **** uses_bridge_so { lib = " #{$LIBRUBY_A} #{CONFIG['LIBS']} " ! unless CONFIG["arch"] =~ /darwin/ ! lib = "-Wl,--whole-archive"+lib+"-Wl,--no-whole-archive" ! end [lib] } ! defines :RUBY_STACK_END => proc { ! m = /RUBY_STACK_END\s+(.*)/.match(File.popen("tmp/#{$$}","r"){|f| f.read }) ! m[1] ! } ! test proc { c_test $stack_end_test, ["-xnone", $LIBRUBY_A, *(CONFIG['LIBS'].split)] } options ["HAVE_STATIC_RUBY"] #!@#$ useless? } --- 438,447 ---- uses_bridge_so { lib = " #{$LIBRUBY_A} #{CONFIG['LIBS']} " ! lib = "-Wl,--whole-archive"+lib+"-Wl,--no-whole-archive" unless OSX [lib] } ! test proc { c_test "#include <ruby.h> ! int main () { return rb_rescue==0; }", ! ["-xnone", $LIBRUBY_A, *(CONFIG['LIBS'].split)] } options ["HAVE_STATIC_RUBY"] #!@#$ useless? } *************** *** 367,371 **** action proc { $conf[:DEFINES][:CPU] ||= "pentium" } test proc { ! (CONFIG["arch"] =~ /i\d86/) or raise "#{CONFIG["arch"]} instead" c_test ' #include <stdio.h> --- 452,456 ---- action proc { $conf[:DEFINES][:CPU] ||= "pentium" } test proc { ! (CONFIG["arch"] =~ /(i\d86|x86_64)/) or raise "#{CONFIG["arch"]} instead" c_test ' #include <stdio.h> *************** *** 469,473 **** tag :x11 name "X11 Display Protocol" ! uses_so ["-L/usr/X11R6/lib","-lX11","-lXext"] uses_h ["X11/Xlib.h"] test proc { --- 554,558 ---- tag :x11 name "X11 Display Protocol" ! uses_so $LIBX11 uses_h ["X11/Xlib.h"] test proc { *************** *** 481,487 **** Feature.add { tag :x11_shm ! name "X11 acceleration through shared memory" uses_feature [:x11] ! uses_so ["-L/usr/X11R6/lib","-lX11","-lXext"] uses_h ["X11/Xlib.h","sys/shm.h","X11/extensions/XShm.h"] test proc { --- 566,572 ---- Feature.add { tag :x11_shm ! name "X11 acceleration by shared memory (XSHM plugin)" uses_feature [:x11] ! uses_so $LIBX11+["-lXext"] uses_h ["X11/Xlib.h","sys/shm.h","X11/extensions/XShm.h"] test proc { *************** *** 496,506 **** options ["HAVE_X11_SHARED_MEMORY"] } ! =begin Feature.add { tag :opengl name "OpenGL (only as framebuffer)" ! status :disabled ! uses_so ["-L/usr/X11R6/lib","-lglut","-lGL","-lGLU"] ! uses_h ["GL/glut.h"] test proc { c_test " --- 581,604 ---- options ["HAVE_X11_SHARED_MEMORY"] } ! Feature.add { ! tag :x11_xv ! status :disabled ! name "X11 acceleration (XVIDEO plugin)" ! uses_feature [:x11] ! uses_so $LIBX11+["-lXext","-lXv"] ! uses_h ["X11/Xlib.h","X11/extensions/Xv.h"] ! test proc { ! c_test " ! #include# ! int main () {return 0;} ! " ! } ! options ["HAVE_X11_XVIDEO"] ! } Feature.add { tag :opengl name "OpenGL (only as framebuffer)" ! uses_so $LIBX11DIR+["-lglut","-lGL","-lGLU"] ! uses_h ["GL/gl.h","GL/glu.h","GL/glut.h"] test proc { c_test " *************** *** 511,515 **** uses_o ["format/opengl.o"] } - =end Feature.add { tag :sdl --- 609,612 ---- *************** *** 517,521 **** uses_so { a=["-lSDL","-lpthread"] ! a<<"-lobjc" if CONFIG["arch"] =~ /darwin/ a } --- 614,618 ---- uses_so { a=["-lSDL","-lpthread"] ! a<<"-lobjc" if OSX a } *************** *** 608,611 **** --- 705,709 ---- uses_o ["format/png.o"] } + #------------------------------------------------# Feature.add { tag :videodev *************** *** 623,628 **** tag :mpeg3 name "HeroineWarrior LibMPEG3" ! uses_so ["-lmpeg3","-lpthread","-lm", ! "-L/usr/X11R6/lib"] uses_h Or["libmpeg3/libmpeg3.h","libmpeg3.h"] test proc {|f| --- 721,725 ---- tag :mpeg3 name "HeroineWarrior LibMPEG3" ! uses_so $LIBX11DIR+["-lmpeg3","-lpthread","-lm"] uses_h Or["libmpeg3/libmpeg3.h","libmpeg3.h"] test proc {|f| *************** *** 650,658 **** tag :quicktimehw unless_feature :quicktimeapple ! name "HeroineWarrior QuickTime4Linux (or LibQuickTime)" uses_so Or[ ["-lquicktime","-lpthread","-lpng","-ldl","-lglib","-lz"], ["-lquicktime","-lpthread","-lpng","-ldl","-lglib-1.2","-lz"]] ! uses_h ["quicktime/quicktime.h","quicktime/lqt_version.h"] test proc {|f| f.c_test %` --- 747,758 ---- tag :quicktimehw unless_feature :quicktimeapple ! name "Plaum's LibQuickTime" uses_so Or[ ["-lquicktime","-lpthread","-lpng","-ldl","-lglib","-lz"], ["-lquicktime","-lpthread","-lpng","-ldl","-lglib-1.2","-lz"]] ! f = ["quicktime.h","colormodels.h","lqt.h","lqt_version.h","lqt_codecinfo.h"] ! uses_h Or[ ! f.map{|x| "quicktime/"+x }, ! f.map{|x| "lqt/"+x }] test proc {|f| f.c_test %` *************** *** 728,736 **** } }
$features_h = {} $features.each {|f| $features_h[f.tag]=f }
- #--------------------------------#
def usage --- 828,855 ---- } } + #--------------------------------# + Feature.add { + tag :gem + name "PureData GEM (source code)" + # uses_h [$conf[:DEFINES][:GEM_SOURCE]+"/src/Base/GemBase.h"] + uses_feature [:puredata] + uses_o ["optional/gem.o"] + test proc { + # hack + $C_INCLUDE_PATH.unshift $conf[:DEFINES][ :GEM_SOURCE] + $CFLAGS += " -I"+$conf[:DEFINES][ :GEM_SOURCE] + c_test %` + #include "Base/GemBase.h" + int main () { + return 0; + } + ` + } + } + #--------------------------------#
$features_h = {} $features.each {|f| $features_h[f.tag]=f }
def usage *************** *** 739,743 **** log << "[--use-compiler compiler] [--use-compiler-option option]* " log << "[--use-cpu cpu] [--lite] [--debug] [--debug-harder]" ! log << "[--ruby-prefix directory] " $features_h.keys.map {|k| k.to_s }.sort.each {|k| log << "[--no-#{k}] " } $features_h.keys.map {|k| k.to_s }.sort.each {|k| log << "[--force-#{k}] " } --- 858,863 ---- log << "[--use-compiler compiler] [--use-compiler-option option]* " log << "[--use-cpu cpu] [--lite] [--debug] [--debug-harder]" ! log << "[--ruby-prefix directory] [--gem-source directory]" ! # [--puredata-prefix directory] " $features_h.keys.map {|k| k.to_s }.sort.each {|k| log << "[--no-#{k}] " } $features_h.keys.map {|k| k.to_s }.sort.each {|k| log << "[--force-#{k}] " } *************** *** 779,784 **** $conf[:OPTIONS].push :HAVE_LITE when "--help"; usage; exit 0 ! when "--prefix", "--ruby-prefix" ! $conf[:DEFINES][:RUBY_PREFIX]=ARGV.shift when "--use-compiler" $conf[:CC] = ARGV.shift --- 899,907 ---- $conf[:OPTIONS].push :HAVE_LITE when "--help"; usage; exit 0 ! ! when "--prefix", "--ruby-prefix" : $conf[:DEFINES][:RUBY_PREFIX]=ARGV.shift ! when "--pd-prefix", "--puredata-prefix": $conf[:DEFINES][ :PD_PREFIX]=ARGV.shift ! when "--gem-source" : $conf[:DEFINES][ :GEM_SOURCE]=ARGV.shift ! when "--use-compiler" $conf[:CC] = ARGV.shift *************** *** 790,794 **** $verbose=true when "--bindir" ! $conv[:BINDIR] = ARGV.shift else puts "unknown option "#{arg}""; usage; exit 1 end --- 913,917 ---- $verbose=true when "--bindir" ! $conf[:BINDIR] = ARGV.shift else puts "unknown option "#{arg}""; usage; exit 1 end *************** *** 799,804 **** CONFIG["rubylibdir"] ||= "$(libdir)/ruby/$(ruby_version)" CONFIG["archdir"] ||= CONFIG["rubylibdir"] + "/" + CONFIG["arch"] ! ! $CFLAGS += " -I " + (make_expand CONFIG["archdir"])
#--------------------------------# --- 922,926 ---- CONFIG["rubylibdir"] ||= "$(libdir)/ruby/$(ruby_version)" CONFIG["archdir"] ||= CONFIG["rubylibdir"] + "/" + CONFIG["arch"] ! $CFLAGS += " -I" + (make_expand CONFIG["archdir"])
#--------------------------------# *************** *** 816,819 **** --- 938,942 ----
def try feature + if Or===feature.uses_so k=1 *************** *** 827,831 **** if Or===feature.uses_h feature.uses_h.a.each {|i| ! e=feature.dup; e.uses_h i; e.name(e.name+" <#{e.uses_h}>") r=try e; return r if r } --- 950,954 ---- if Or===feature.uses_h feature.uses_h.a.each {|i| ! e=feature.dup; e.uses_h i; e.name(e.name+" <#{i.to_a[0]}>") r=try e; return r if r } *************** *** 833,852 **** end LOG.puts "", "-"*64 ! DUAL.print "[#{feature.tag}] #{feature.name}: " (feature.uses_feature||[]).find {|f| if not ( if Or===f then f.a.find {|x| $conf[:FEATURES][x] } else $conf[:FEATURES][f] end ) then ! DUAL.puts "disabled (would need #{f})" return end } ! if feature.status==:disabled then DUAL.puts "disabled (by author)"; return end ! if not $features_h[feature.tag] then DUAL.puts "disabled (by user)"; return end fu = feature.unless_feature || [] fu = [fu] if not Array===fu for f in fu || [] do if $conf[:FEATURES][f] then ! DUAL.puts "disabled (using #{f} instead)" return end --- 956,978 ---- end LOG.puts "", "-"*64 ! line = "[#{feature.tag}] #{feature.name}: " ! DUAL.print Light + "[#{Yellow}#{feature.tag}#{Light}] #{feature.name}: " ! arrow = "-"*([78-line.length,0].max)+ "> " ! #DUAL.print Dark + arrow +Red (feature.uses_feature||[]).find {|f| if not ( if Or===f then f.a.find {|x| $conf[:FEATURES][x] } else $conf[:FEATURES][f] end ) then ! DUAL.puts Red+arrow+"disabled (would need #{f})" return end } ! if feature.status==:disabled then DUAL.puts Dark+arrow+"disabled (by author)"; return end ! if not $features_h[feature.tag] then DUAL.puts Dark+arrow+"disabled (by user)"; return end fu = feature.unless_feature || [] fu = [fu] if not Array===fu for f in fu || [] do if $conf[:FEATURES][f] then ! DUAL.puts Dark+arrow+"disabled (using #{f} instead)" return end *************** *** 859,863 **** end if tresult ! DUAL.puts "found "+(if tresult!=true then " (#{tresult})" else "" end) --- 985,989 ---- end if tresult ! DUAL.puts Green+arrow+"found "+(if tresult!=true then " (#{tresult})" else "" end) *************** *** 871,875 **** end else ! DUAL.puts "missing "+(if e then (if $verbose then "(#{e} @ #{e.backtrace.join', '})" --- 997,1001 ---- end else ! DUAL.puts Red+arrow+"missing "+(if e then (if $verbose then "(#{e} @ #{e.backtrace.join', '})" *************** *** 883,887 **** end else ! puts "enabled" $conf[:FEATURES][feature.tag] = feature feature.action.call if feature.action --- 1009,1013 ---- end else ! puts Green+arrow+"enabled" $conf[:FEATURES][feature.tag] = feature feature.action.call if feature.action *************** *** 899,903 **** end
! DUAL.puts "This is the GridFlow 0.8.0 configurator within Ruby version #{RUBY_VERSION}"
begin --- 1025,1029 ---- end
! DUAL.puts "This is the GridFlow 0.8.1 configurator within Ruby version #{RUBY_VERSION}"
begin *************** *** 908,915 **** end
$conf[:LDSOFLAGS].uniq! $conf[:BRIDGE_LDFLAGS].uniq!
! $CFLAGS += " -falign-functions=4" if $conf[:FEATURES][:gcc3]
#if not $conf[:FEATURES][:gcc3] --- 1034,1043 ---- end
+ puts Light + $conf[:LDSOFLAGS].uniq! $conf[:BRIDGE_LDFLAGS].uniq!
! $CFLAGS += " -falign-functions=16" if $conf[:FEATURES][:gcc3]
#if not $conf[:FEATURES][:gcc3] *************** *** 976,985 **** f.puts "BRIDGE_LDFLAGS = " + $conf[:BRIDGE_LDFLAGS].flatten.join(" ") + " " + $LDFLAGS
! if CONFIG["arch"] =~ /darwin/ then f.puts "BRIDGE_LDFLAGS += -bundle -flat_namespace" else f.puts "BRIDGE_LDFLAGS += -rdynamic -shared" end ! $CFLAGS += " -mcpu=$(CPU)" if $conf[:DEFINES][:CPU] $CFLAGS += " -march=$(CPU)" if $conf[:DEFINES][:CPU] #$CFLAGS += " -fforce-addr" --- 1104,1113 ---- f.puts "BRIDGE_LDFLAGS = " + $conf[:BRIDGE_LDFLAGS].flatten.join(" ") + " " + $LDFLAGS
! if OSX then f.puts "BRIDGE_LDFLAGS += -bundle -flat_namespace" else f.puts "BRIDGE_LDFLAGS += -rdynamic -shared" end ! $CFLAGS += " -mtune=$(CPU)" if $conf[:DEFINES][:CPU] $CFLAGS += " -march=$(CPU)" if $conf[:DEFINES][:CPU] #$CFLAGS += " -fforce-addr" *************** *** 987,990 **** --- 1115,1119 ---- #$CFLAGS += " -falign-jumps=4" #$CFLAGS += " -falign-loops=4" + $CFLAGS += " -DMACOSX" if OSX f.puts "CFLAGS += " + $CFLAGS
*************** *** 1024,1034 **** for k in $conf[:OPTIONS] do f.puts "#define #{k}" end for k,v in $conf[:DEFINES] do f.puts "#define #{k} "+v.inspect end ! if $conf[:FEATURES][:mpeg3] ! f.puts " ! #ifdef LIBMPEG_INCLUDE_HERE ! #include <#{$conf[:FEATURES][:mpeg3].uses_h}> ! #endif ! " end f.puts " #define RUBY_BINDIR #{make_expand(CONFIG['bindir']).inspect} --- 1153,1169 ---- for k in $conf[:OPTIONS] do f.puts "#define #{k}" end for k,v in $conf[:DEFINES] do f.puts "#define #{k} "+v.inspect end ! ! def include_here(f,a,b) ! return unless $conf[:FEATURES][b] ! f.puts "#ifdef #{a}_INCLUDE_HERE" ! for inc in $conf[:FEATURES][b].uses_h.to_a do ! f.puts "#include <#{inc}>" ! end ! f.puts "#endif" end + + include_here f,"LIBMPEG", :mpeg3 + include_here f,"QUICKTIMEHW",:quicktimehw + f.puts " #define RUBY_BINDIR #{make_expand(CONFIG['bindir']).inspect} *************** *** 1090,1094 **** "gfbindir = #{$conf[:BINDIR]}\n" mf.sub!(/^site-install:\s*install/,"site-install: ") ! mf.sub! /^prefix = .*$/, "prefix = " + make_expand($conf[:DEFINES][:RUBY_PREFIX]) mf.sub! /^LDSHARED = g?cc/, "LDSHARED = $(CXX)" # Adam Lindsay's Mac attempts. --- 1225,1235 ---- "gfbindir = #{$conf[:BINDIR]}\n" mf.sub!(/^site-install:\s*install/,"site-install: ") ! ! rp=$conf[:DEFINES][:RUBY_PREFIX] ! if rp ! mf.sub! /^prefix\s*=.*$/, "prefix = " + make_expand(rp) ! mf.sub! /^sitedir\s*=.*$/, "sitedir = " + make_expand(rp) ! end ! mf.sub! /^LDSHARED = g?cc/, "LDSHARED = $(CXX)" # Adam Lindsay's Mac attempts.
Index: Makefile.gf =================================================================== RCS file: /cvsroot/pure-data/externals/gridflow/Makefile.gf,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.gf 4 Oct 2005 02:12:43 -0000 1.1 --- Makefile.gf 15 Mar 2006 04:48:08 -0000 1.2 *************** *** 93,99 **** less gf-valgrind
- test16:: test - (ruby-1.6.7 -w $(TEST)) || $(BACKTRACE) - testpd:: rm -f gridflow.pd_linux && make && \ --- 93,96 ---- *************** *** 146,155 **** cp -r images/ $(PUREDATA_PATH)/extra/gridflow cp $(PD_LIB) pd_abstractions/*.pd $(PUREDATA_PATH)/extra ! for z in camera_control motion_detection color mouse centroid centre_of_gravity fade \ apply_colormap_channelwise checkers contrast posterize ravel remap_image solarize spread \ rgb_to_greyscale greyscale_to_rgb rgb_to_yuv yuv_to_rgb; do \ cp pd_abstractions/#$$z.pd $(PUREDATA_PATH)/extra/@$$z.pd; done mkdir -p $(PUREDATA_PATH)/extra/gridflow/icons ! $(INSTALL_DATA) java/peephole.gif $(PUREDATA_PATH)/extra/gridflow/icons/peephole.gif
else --- 143,152 ---- cp -r images/ $(PUREDATA_PATH)/extra/gridflow cp $(PD_LIB) pd_abstractions/*.pd $(PUREDATA_PATH)/extra ! for z in camera_control motion_detection color mouse centre_of_gravity fade \ apply_colormap_channelwise checkers contrast posterize ravel remap_image solarize spread \ rgb_to_greyscale greyscale_to_rgb rgb_to_yuv yuv_to_rgb; do \ cp pd_abstractions/#$$z.pd $(PUREDATA_PATH)/extra/@$$z.pd; done mkdir -p $(PUREDATA_PATH)/extra/gridflow/icons ! $(INSTALL_DATA) icons/peephole.gif $(PUREDATA_PATH)/extra/gridflow/icons/peephole.gif
else
Index: ChangeLog =================================================================== RCS file: /cvsroot/pure-data/externals/gridflow/ChangeLog,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ChangeLog 4 Oct 2005 02:12:43 -0000 1.1 --- ChangeLog 15 Mar 2006 04:48:08 -0000 1.2 *************** *** 1,4 **** --- 1,18 ---- /* $Id$ */
+ version 0.8.1 (2006.02.20): + + * [ls] now supports wildcards: ? [] * ** + * [#color] has new method: delegate + * added [regsub], [memstat], [listfind], [sendgui] + * x11: removed methods: draw,autodraw; added: use_shm,title + * examples : added markov.pd, bounce.pd, doodle.pd, mechanics.pd + * [#pack],[#unpack] now default to 2 values + * new numops: clip+,clip- + * fix for shared memory bug in [#out x11] + * added [#out tk] + * added [#out opengl] (using GLUT, hackishly) + * [unix_time] behaviour changed. (see manual) + version 0.8.0 (2005.06.06):
*************** *** 13,17 **** * merged [@],[@!] -> [#] and added message "op" * removed all one-input ops (see next...) ! * new two-input ops: abs- sq- avg hypot sqrt rand (soon erf* clip+ clip-) * [#fold],[#scan]: removed seed arg and right outlet; added msgs "op" and "seed" * [#inner],[#convolve] : added msgs "op" and "seed" --- 27,31 ---- * merged [@],[@!] -> [#] and added message "op" * removed all one-input ops (see next...) ! * new two-input ops: abs- sq- avg hypot sqrt rand * [#fold],[#scan]: removed seed arg and right outlet; added msgs "op" and "seed" * [#inner],[#convolve] : added msgs "op" and "seed" *************** *** 35,38 **** --- 49,53 ---- * in pd_examples added Alx's epicycloid.pd, scratch_video.pd, threshold.pd and Matju's goop.pd + * some new/updated help files by Stéphanie Brodeur & Darsha Hewitt
version 0.7.7 (2004.08.24):