[PD-cvs] externals/gridflow configure, 1.1, 1.2 TODO, 1.1, 1.2 README, 1.1, 1.2 Makefile.gf, 1.1, 1.2 ChangeLog, 1.1, 1.2
Mathieu Bouchard
matju at users.sourceforge.net
Wed Mar 15 05:48:10 CET 2006
- Previous message: [PD-cvs] externals/gridflow/optional/rblti LICENSE, NONE, 1.1 Makefile, NONE, 1.1 gen_ltilib_classes.py, NONE, 1.1 lti_manual.h, NONE, 1.1 rblti.i, NONE, 1.1 std_list_ruby.i, NONE, 1.1
- Next message: [PD-cvs] externals/gridflow/bundled/pd g_canvas.h,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
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 at 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):
- Previous message: [PD-cvs] externals/gridflow/optional/rblti LICENSE, NONE, 1.1 Makefile, NONE, 1.1 gen_ltilib_classes.py, NONE, 1.1 lti_manual.h, NONE, 1.1 rblti.i, NONE, 1.1 std_list_ruby.i, NONE, 1.1
- Next message: [PD-cvs] externals/gridflow/bundled/pd g_canvas.h,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Pd-cvs
mailing list