IRC log for #brlcad on 20110620

01:20.46 CIA-62 BRL-CAD: 03brlcad * r45109 10/brlcad/trunk/include/bu.h: prefix all doxygen file markers with the library they belong to in order to avoid conflicts with same-named files in other directories being processed simultaneously.
02:10.22 CIA-62 BRL-CAD: 03brlcad * r45110 10/brlcad/trunk/include/bu.h: this file isn't in the libbu dir
02:11.22 CIA-62 BRL-CAD: 03brlcad * r45111 10/brlcad/trunk/src/libbn/ (22 files): prefix all of the doxygen file commands with libbn so we don't conflict with same-named files in other directories
02:22.22 CIA-62 BRL-CAD: 03brlcad * r45112 10/brlcad/trunk/src/ (425 files in 15 dirs): prefix all of the library @file doxygen commands with the library dir/name in order to avoid conflicts with same-named files in other directories. was causing processing woes.
02:26.07 CIA-62 BRL-CAD: 03brlcad * r45113 10/brlcad/trunk/src/ (168 files in 5 dirs): more @file prefixing in order to deconfuse doxygen bulk processing where file names are non-unique.
02:40.31 CIA-62 BRL-CAD: 03brlcad * r45114 10/brlcad/trunk/src/ (469 files in 10 dirs): more @file directive clarification for doxygen to avoid naming conflicts with other same-named files in other directories.
02:43.38 CIA-62 BRL-CAD: 03brlcad * r45115 10/brlcad/trunk/src/ (59 files in 3 dirs): few more @file doxygen conflict cases
02:44.14 CIA-62 BRL-CAD: 03brlcad * r45116 10/brlcad/trunk/src/proc-db/brep_cube.cpp: proper header
03:13.07 CIA-62 BRL-CAD: 03brlcad * r45117 10/brlcad/trunk/src/proc-db/ (brep_cube.cpp brep_simple.cpp csgbrep.cpp): header cleanup, refer to the proper filename
03:17.22 CIA-62 BRL-CAD: 03brlcad * r45118 10/brlcad/trunk/src/vfont/vfont.h: filename is vfont
03:21.09 CIA-62 BRL-CAD: 03brlcad * r45119 10/brlcad/trunk/include/vector_fpu.h: add missing common.h include for UNUSED() definition.
03:25.55 *** join/#brlcad juanman (~quassel@unaffiliated/juanman)
07:02.21 *** join/#brlcad d_rossberg (~rossberg@BZ.BZFLAG.BZ)
08:16.14 *** join/#brlcad merzo (~merzo@193.254.217.44)
09:05.10 *** join/#brlcad Stattrav (~Stattrav@122.167.214.98)
09:05.10 *** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
10:56.20 CIA-62 BRL-CAD: 03Kunigami 07http://brlcad.org * r2924 10/wiki/User:Kunigami/GSoc2011/Reports: /* Reports */
10:57.57 CIA-62 BRL-CAD: 03Kunigami 07http://brlcad.org * r2925 10/wiki/User:Kunigami/GSoc2011/Proposal: /* Timeline */ updated timeline
14:28.53 *** join/#brlcad merzo (~merzo@193.254.217.44)
14:37.35 *** join/#brlcad Stattrav (~Stattrav@117.192.151.196)
14:37.35 *** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
14:50.11 CIA-62 BRL-CAD: 03erikgreenwald * r45120 10/brlcad/trunk/include/raytrace.h: Some parsers freak out when they see */*stp*/, thinking it's an end of comment. Adding a space seems to make them happy.
15:11.48 brlcad wb
15:12.31 ``Erik yargh
15:12.43 ``Erik vacations never last long enough. :/
15:22.20 CIA-62 BRL-CAD: 03brlcad * r45121 10/brlcad/trunk/src/ (52 files in 7 dirs): (log message trimmed)
15:22.20 CIA-62 BRL-CAD: remove the SCLLOG/SCLBOOL wrappers on the SCL Boolean and Logical enums. they
15:22.20 CIA-62 BRL-CAD: were being conditionally put into a namespace in order to be protected in case
15:22.20 CIA-62 BRL-CAD: they're used within a 3rd party context (like CORBA) that might also define
15:22.20 CIA-62 BRL-CAD: same-named enums, but the macrofied protection just adds complexity. iff a
15:22.21 CIA-62 BRL-CAD: conflict is encountered, the types can be put into an SCL or P23 or SDAI
15:22.22 CIA-62 BRL-CAD: namespace. 'Boolean' would be prime for outright removal/replacement with
15:22.36 brlcad kunigami: make sure all files you add have a proper header and footer, e.g.: sh/header.sh lgpl src/liboptical/osl-renderer.cpp
15:23.30 brlcad sh/header.sh, sh/footer.sh, or sh/template.sh (to apply both header and footer)
15:23.58 brlcad sh/ws.sh and sh/indent.sh will clean up the formatting so it's consistent with the rest of the source code
15:24.50 brlcad just make sure any cleanup commits aren't mixed with actual code/logic changes
15:40.15 CIA-62 BRL-CAD: 03kunigami * r45122 10/brlcad/trunk/src/liboptical/osl-renderer.cpp: Cleaning up formatting of osl-renderer.cpp
15:50.21 CIA-62 BRL-CAD: 03erikgreenwald * r45123 10/brlcad/trunk/src/other/m4/lib/ohash.h: include sys/types.h for u_int32_t
16:28.43 CIA-62 BRL-CAD: 03starseeker * r45124 10/brlcad/trunk/src/other/m4/ (eval.c gnum4.c main.c misc.c): Try the BRL-CAD wrapper for unistd.h here...
16:31.10 kunigami when I run indent with osl-renderer.h it changes spacing to 2 while in osl-renderer.cpp it keeps 4. it that the default?
16:34.11 kunigami hmm, actually I'd rather ask why footer.sh does not add "c-basic-offset: 4" line?
16:48.32 CIA-62 BRL-CAD: 03starseeker * r45125 10/brlcad/trunk/src/other/m4/lib/libyywrap.c: Hmm - MSVC doesn't like __P for some reason.
16:49.32 CIA-62 BRL-CAD: 03kunigami * r45126 10/brlcad/trunk/src/liboptical/ (osl-renderer.cpp osl-renderer.h osl_rt.cpp osl_rt2.c): formatting changes for several files
16:50.21 CIA-62 BRL-CAD: 03starseeker * r45127 10/brlcad/trunk/src/other/m4/generated/tokenizer.c: one more unistd.h case
16:52.44 CIA-62 BRL-CAD: 03kunigami * r45128 10/brlcad/trunk/src/liboptical/osl-renderer.cpp: typo on osl-renderer.cpp local variables
16:53.23 brlcad starseeker: egads man
16:53.56 brlcad if you had to paste it just twice .. should've been a hint to refactor :)
16:54.21 brlcad put that mess into a header and just #include it...
16:57.27 brlcad I know you're just trying to "get it to work" .. but egads .. that's passing the buck and really making more work for later
16:59.35 CIA-62 BRL-CAD: 03starseeker * r45129 10/brlcad/trunk/src/other/m4/ (eval.c extern.h gnum4.c main.c mdef.h): Remove the doesyscmd option from the m4 logic. May have to revisit this if it turns out later we need it, but this will be problematic on Win32.
17:00.45 brlcad also, fwiw, __P is undoubtedly defined like BU_ARGS() used to be .. it makes the parameter list conditional
17:01.17 brlcad the __P protection belongs where it's defined, not where it was used in libyywrap.c
17:04.43 CIA-62 BRL-CAD: 03starseeker * r45130 10/brlcad/trunk/src/other/m4/ (14 files in 2 dirs):
17:04.43 CIA-62 BRL-CAD: Hack, slash and burn approach to MSVC building - this has lots of unresolved
17:04.43 CIA-62 BRL-CAD: external symbols and may not function at all anywhere, but it should indicate
17:04.43 CIA-62 BRL-CAD: what further changes are needed. Will also need regex linked in, need to take
17:04.43 CIA-62 BRL-CAD: care of that.
17:05.02 brlcad kunigami: c-file-style: "Stroustrup" sets 4-char indents
17:06.27 starseeker brlcad: oh, I know - I've got a lot of refactoring to do - I'm just trying to get a feel for the scope of what's needed
17:06.37 kunigami that's strange. even with that line indent.sh used 2 spaces. When I added c-basic-offset:4 it correclty used 4
17:07.00 starseeker brlcad: it wasn't immediately clear how deep into "unixy" coding this m4 was
17:10.02 CIA-62 BRL-CAD: 03brlcad * r45131 10/brlcad/trunk/src/liboptical/osl-renderer.h: restructure around a WITH_OSL keyword instead of __cplusplus since it should always be possible to compile the sh_osl C interface.
17:11.07 brlcad starseeker: http://gnuwin32.sourceforge.net/packages/m4.htm
17:11.50 brlcad enough to warrant someone making a fork instead of trying to make it portable
17:11.57 brlcad but then that could have just been laziness or simplicity
17:12.14 starseeker nods - yeah, saw that - but this isn't GNU m4
17:12.25 starseeker it's the netbsd port of the openbsd m4
17:12.41 starseeker was going for the smallest m4 that looked like it might have a hope of working with flex
17:12.55 starseeker both for build simplicity/porting simplicity and to keep the size of src/other smaller :-P
17:13.25 starseeker so far this feels a lot like working with the find code for the search command
17:13.54 kunigami brlcad: I didn't understand your changes to osl-renderer.h. It was already possible to compile with sh_osl C interface.
17:14.34 brlcad if we really wanted simplicity and a small src/other, we'd just generate the files, add them to svn, and compile those on windows :)
17:14.39 CIA-62 BRL-CAD: 03starseeker * r45132 10/brlcad/trunk/src/other/m4/lib/libyywrap.c: Ah, that's why cdefs was included here. Win32 doesn't have cdefs, so be more direct...
17:15.02 brlcad way more simple than these 3-4 new dependencies, build system mods, maintenance woes
17:15.20 *** join/#brlcad roberthl (~robert@mediawiki/RobertL)
17:15.21 kunigami the reason for __cplusplus was that C++ code would see a different interface than C code
17:16.31 brlcad kunigami: which C++ code?
17:16.56 kunigami brlcad: osl-renderer.cpp which is an interface to osl system
17:17.25 kunigami both osl-renderer.cpp and sh_osl.c share the interface osl-renderer.h
17:18.05 brlcad iirc, technically doesn' sh_osl.c only "share" the inteface via the C callbacks declared at the bottom of osl-renderer.h?
17:18.26 *** join/#brlcad yukonbob (~bch@S0106002191d1591c.ok.shawcable.net)
17:18.26 brlcad it's "declare class" or "declare typedefs and C funcs"
17:18.31 yukonbob hello, #brlcad
17:18.41 brlcad rather, it was
17:18.46 brlcad hello yukonbob
17:19.26 brlcad kunigami: something to consider, sh_osl doesn't have to be C -- it can be a C++ file
17:19.55 brlcad so you can call right into osl-renderer.h classes
17:20.17 brlcad the only protection really necessary is whether we have OSL or not
17:21.18 brlcad that was the motivation, move towards blocking based on the build feature, since the compilation of the interface file is already built-in
17:22.35 kunigami I'm not sure if I understood what you meant, but when OSL is not enabled, osl-renderer.h is not even compiled.
17:23.42 brlcad right, it's either on and OSL is available or it's off
17:23.51 brlcad sh_osl.c doesn't get compiled if it's off, right?
17:23.56 kunigami yup
17:24.10 kunigami I added a conditional on CMakeLists.txt
17:24.28 brlcad so then if it's only on when osl is compiled, and osl is c++, then sh_osl can be c++
17:24.41 brlcad and the c wrapping isn't needed
17:25.07 brlcad just adds complexity and code that won't ever get executed/used
17:25.22 brlcad make sense?
17:25.32 kunigami brlcad: right. I didn't know that sh_osl could be c++.
17:26.01 brlcad yep, you could svn mv sh_osl.c sh_osl.cpp if you really wanted
17:26.18 brlcad the only important part is that C++ types aren't publicly exposed by liboptical
17:26.56 brlcad so if you find yourself needing to add a C++ class / typedef into a header file in the top-level include/ directory, then it might be an issue and require some rethought
17:27.24 kunigami but if sh_osl is C++ then I'll have to export functions using "extern C" anyway, because AFAIK C++ exports mangled functions names
17:27.52 brlcad sure, if you call C functions
17:28.11 brlcad and call them outside that compilation unit
17:28.43 brlcad the c functions you had looked like logic that wouldn't need to live in osl-renderer, they'd just be part of the logic in sh_osl.c
17:28.47 brlcad er sh_osl.cpp
17:29.24 brlcad i.e., you don't need wrappers, you'd just create OSL_Renderer objects and use them
17:29.44 kunigami perfect
17:29.50 kunigami I'll give it a try
17:30.32 brlcad at most, you'd maybe have to stash an OSL_Renderer* object into a struct so you could pass it around as a void* through the various liboptical callback functions
17:30.42 brlcad (the 'dpp' parameter)
17:30.56 brlcad that's a user data pointer
17:31.22 brlcad and that's only because c++ forbids casting objects through void*, have to stash in struct and cast the struct through void*
17:32.00 brlcad make sure you quell all warnings ;)
17:32.44 kunigami right
17:34.35 brlcad starseeker: those big repeated code blocks are more a mentality issue, not letting yourself create extra work in the first place
17:35.14 *** join/#brlcad crazy_imp (~mj@a89-182-170-199.net-htp.de)
17:35.56 brlcad plus, i've heard you say something to the effect of "I've got a lot of refactoring to do"
17:35.59 brlcad with plans to clean some bit of code up "later" on at least three other occasions now :D
17:36.24 brlcad and that "later" never manifested itself
17:36.54 brlcad code complete, deep not wide
17:45.04 brlcad kunigami: not sure about the 2 vs 4 indents -- maybe something in your .emacs file? if I move mine out of the way, I get 4char indents
17:45.10 CIA-62 BRL-CAD: 03starseeker * r45133 10/brlcad/trunk/src/other/m4/ (common.h eval.c gnum4.c main.c misc.c pstdint.h): move unistd.h wrapper to common file, add portability guarantee with pstdint.h
17:52.33 CIA-62 BRL-CAD: 03starseeker * r45134 10/brlcad/trunk/src/other/m4/ (expr.c look.c trace.c): Replace a few direct calls to stdint.h
17:53.40 CIA-62 BRL-CAD: 03brlcad * r45135 10/brlcad/trunk/src/other/m4/lib/libyywrap.c: even simpler, it's a preansiism
17:59.14 CIA-62 BRL-CAD: 03starseeker * r45136 10/brlcad/trunk/src/other/m4/ (generated/tokenizer.c parser.y tokenizer.l): Ah, hiding in the tokenizer. Should get us down to the regex header.
18:00.44 CIA-62 BRL-CAD: 03starseeker * r45137 10/brlcad/trunk/src/other/m4/lib/ohash_int.h: Nope, one more - ohash
18:05.46 CIA-62 BRL-CAD: 03erikgreenwald * r45138 10/brlcad/trunk/src/other/m4/generated/parser.c: remove stdint.h in favor of common.h/pstdint.h
18:06.49 *** join/#brlcad yukonbob (~bch@S0106002191d1591c.ok.shawcable.net)
18:09.59 CIA-62 BRL-CAD: 03starseeker * r45139 10/brlcad/trunk/src/other/m4/ (CMake/ CMake/FindREGEX.cmake CMakeLists.txt): Add logic to locate and link in regex library.
18:14.20 brlcad starseeker: so how's the prognosis looking ... have a thought that might make the effort somewhat moot
18:14.32 starseeker brlcad: not bad, actually
18:14.36 starseeker at least, not so far
18:14.41 starseeker what's the though?
18:15.10 brlcad ditch lex/yacc for antlr
18:15.10 CIA-62 BRL-CAD: 03starseeker * r45140 10/brlcad/trunk/src/other/m4/CMakeLists.txt: Dur - try linking the library, not compiling it.
18:15.26 brlcad it's half the code side and supports windows
18:15.42 starseeker huh, never heard of it before
18:15.43 brlcad but would require rewriting our few existing lex/yacc files in their syntax (which is nearly identical)
18:15.50 starseeker reads...
18:17.03 starseeker brlcad: it's java based?
18:18.24 starseeker or are you looking at the C runtime distributions?
18:19.01 brlcad http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3
18:23.03 brlcad another tutorial: http://supportweb.cs.bham.ac.uk/docs/tutorials/docsystem/build/tutorials/antlr/antlr.html
18:23.53 starseeker don't we need java to run antlr and generate the code though?
18:26.13 brlcad either hook in the java binary (which we could probably bundle precompiled if it's small enough), or compile them via the C runtime (which is about 25k lines of code, about the size of flex)
18:27.03 brlcad if I'm understanding their setup correctly, that would even be more ideal than the lex/yacc approach for things like libgcv where we just want the parsing functions, not a main()
18:28.06 brlcad of course, the java app may still be required to compile the functions and then the C runtime to use them, not 100% sure on that detail
18:28.13 starseeker I'm trying to figure out if the runtime can eat the grammer and execute code, or if you still need the java tools to generate the code
18:28.17 starseeker er, yeah :-)
18:29.51 starseeker I'm thinking you need java to compile the grammar - I just built libantlr3c and there's no tool I can see to generate C code...
18:30.34 starseeker I did a survey a while back looking for lex/yacc alternatives that were in C and I remember coming up rather short...
18:33.12 starseeker hmm...
18:33.26 starseeker brlcad: maybe http://www.hwaci.com/sw/lemon/ ?
18:35.06 starseeker if we're willing to rewrite our definitions, that might be a way to go
18:35.54 *** join/#brlcad crazy_imp (~mj@a89-182-141-171.net-htp.de)
18:36.25 kunigami I didn't know in C it's allowed to set a function like "void foo(int x)" to a function pointer "void (*fp)()". In C++ it seems it is not allowed. Any suggestions?
18:36.55 brlcad starseeker: it'd be worth giving it a try, maybe start with the simple parser in src/mged/points
18:37.42 brlcad that's a prime simple test case for conversion, if it works, that'd probably be good enough proof of concept to run forward with it
18:39.09 brlcad not nearly as complicated as the others
18:39.23 starseeker nods - sounds good
18:39.24 brlcad kunigami: I'm working on fixing that right now
18:39.39 brlcad kunigami: that's an old carry-over from k&r days of C
18:39.57 kunigami brlcad: ok, thanks!
18:42.11 brlcad c++ has the same behavior as the concept of "calling a function" in either is as simple as jumping to a pointer address
18:42.39 brlcad it just adds type safety during compilation so it can enforce only jumping to a "compatible" address
18:44.07 yukonbob starseeker: what are you looking for lex/yacc alternatives for?
18:44.34 brlcad C will happily jump to whatever you ask, compiler won't even warn by default unless you ask it to
18:44.47 kunigami hmm interesting
18:45.08 starseeker yukonbob: we need to be able to handle a (potentially large) number of grammar definitions for geometry format conversion (and other uses, like MGED's point abilities)
18:45.35 starseeker we also need to be portable, and (right now) recent flex versions aren't working on Windows
18:45.46 yukonbob starseeker: and lex/yacc are unsuitable for some reason?
18:45.48 starseeker we also need something that's LGPL-or-freer
18:45.51 yukonbob ah
18:46.07 yukonbob checks.
18:46.14 starseeker The best combination I had come up with so far was the netbsd m4 + byacc + flex
18:46.21 brlcad license compatible and portable to windows .. good luck ;)
18:46.21 starseeker but that'll have to be ported to Windows
18:46.47 yukonbob heh -- that's what I was just looking up.
18:47.04 yukonbob NetBSD runs everything, even if it's not.
18:47.13 yukonbob ;)
18:47.29 starseeker the commits you saw earlier were me and ``Erik getting NetBSD's m4 compiling on MSVC
18:47.59 starseeker as long as we don't have to run system commands, it doesn't look too bad - mostly just need to swat all the uses of err, warnx, etc.
18:48.45 starseeker flex will be a bit trickier, since it wants to run m4 from within it's own source code (ick)
18:49.09 yukonbob starseeker: like exec("m4"...");?
18:49.10 starseeker fortunately we just need to run 'em during build, and don't have to install them
18:49.23 starseeker pretty much
18:49.27 yukonbob sweet.
18:50.38 starseeker byacc I'm more hopeful about - the dev was very helpful and added a couple Bison features to get our libobj examples working
18:50.55 starseeker but of course that too is untried on Windows
18:51.16 starseeker yukonbob: if you know of something less gnarly we'd LOVE to hear about it :-P
18:51.16 yukonbob starseeker: I haven't worked w/ flex/yacc in ages, but aren't their artifacts just .c and .h? Considered just generating those on a *nix and shipping those artifacts as part of the repo?
18:51.47 starseeker yukonbob: the problem with that is the grammar definitions are what you edit during the development process
18:52.17 starseeker we want potential developers to edit the source, type "make" (or do the MSVC thing on Windows) and have it Just Work
18:52.50 yukonbob ya -- my suggestion is certainly non-elegant in that regard.
18:52.51 starseeker the temptation when you have generated source files is to tweak those files and not the original grammar definitions, which very quickly divorces the code (and fixes) from what should be the canonical source code
18:53.28 yukonbob inlucde a comment "Edit this code under threat of death as punishment"...
18:53.34 starseeker a geometry conversion library may potentially grow to have dozens of grammars that need to be handled, and that will be quite a job even if we AREN'T having to worry about syncing back and forth
18:53.46 starseeker heh
18:54.10 starseeker that's a great way to encourage contributions :-P
18:54.35 yukonbob starseeker: anybody who's able to contribute to a lexer/parser will know what it means.
18:55.12 yukonbob but meh... best case is a truly portable lex/yacc
18:55.25 starseeker yukonbob: if we're building just the sources though, new devs may head straight for the sources to fix a problem
18:55.37 starseeker would probably do that, without knowing better
18:55.56 starseeker and would probably run screaming :-P
18:57.45 yukonbob starseeker: is your list of candidates posted anywhere?|
18:57.49 starseeker because the lex/yacc or whatever files are the "user editable" form of the logic, we also want to make sure they continue to work and don't "bit rot" - if the C files work, but no one has done the generation in a few years, who knows what may have gone wrong next time we NEED to do the generation?
18:57.59 starseeker yukonbob: uh - src/other? :-P
18:58.12 starseeker will make a wiki page quick...
19:05.59 yukonbob starseeker: re: bit rot -- build is automated for producing various binaries, no?
19:07.22 starseeker er, huh?
19:07.56 yukonbob on major releases, you have a system that generates binaries, no?
19:08.15 starseeker Oh, you mean binary releases? yeah
19:09.21 yukonbob so for case of ppl tweaking lex/yacc artifacts and not being able to actually produce them canonically, that'd be tested periodically w/ testing for formal releases...
19:09.58 yukonbob should stop worrying about project-wide builds and see if his NetBSD build still stands up to latests sources...
19:10.01 starseeker yukonbob: but if it's not integrated into our build, it becomes an extra overhead/step that consumes developer time (a lot of it, over the long pull)
19:18.34 yukonbob ! -- this has bumped 2 minor versions since I last checked...
19:21.07 CIA-62 BRL-CAD: 03Starseeker 07http://brlcad.org * r2926 10/wiki/Lexer_Parser: Stub in a page for discussing lexers/parsers
19:21.48 CIA-62 BRL-CAD: 03Starseeker 07http://brlcad.org * r2927 10/wiki/Lexer_Parser:
19:26.08 starseeker hmm - re2c actually might be interesting
19:28.20 starseeker http://lekernel.net/blog/2009/02/re2c-and-lemon-an-elegant-alternative-to-flex-and-bison/
19:31.20 starseeker O.o apparently someone is building re2c on MSVC?
19:31.52 yukonbob familiar w/ lemon, but not re2c
19:32.11 starseeker yukonbob: what do you think of lemon?
19:35.16 yukonbob likes things that come from drh
19:35.24 starseeker yukonbob: know anything about styx? http://speculate.de/
19:35.58 yukonbob like I said, I haven't played in that domain for a while, but conceptually, lemon is nice, and is thoroughly tested via sqlite
19:36.20 starseeker huh - styx has Express (from STEP) as an example grammar
19:36.26 yukonbob likes this "non statement" in the re2c:
19:36.33 yukonbob "...equal to hand-written code in terms of size, speed and quality."
19:36.43 yukonbob *re2c site..
19:37.25 yukonbob my understanding w/ parser code is that rolling your own is often error-prone, difficult, often inefficient, etc., etc.
19:38.09 starseeker heh - if I read that right, it dates back to when people were hand-tuning code due to machine speed constraints
19:38.35 yukonbob ya -- /me just getting into site, so may be pulling out of context, but still made me chuckle.
19:39.24 CIA-62 BRL-CAD: 03Starseeker 07http://brlcad.org * r2928 10/wiki/Lexer_Parser: Add a few more notes
19:39.37 yukonbob heh -- oh, and holding up PHP as a flagship project...
19:42.50 starseeker still - if it doesn't need m4 and already builds on Windows...
19:46.07 *** join/#brlcad epileg (~epileg@unaffiliated/epileg)
19:46.44 CIA-62 BRL-CAD: 03Starseeker 07http://brlcad.org * r2929 10/wiki/Lexer_Parser: not links
19:53.59 CIA-62 BRL-CAD: 03Starseeker 07http://brlcad.org * r2930 10/wiki/Lexer_Parser: Few more comments on re2c, link to example using lemon
20:30.13 CIA-62 BRL-CAD: 03erikgreenwald * r45141 10/brlcad/trunk/src/other/m4/ (14 files in 3 dirs): rename common.h to commonm4.h, as our regex.h requires include/common.h
20:30.30 starseeker nods - good catch
20:38.08 CIA-62 BRL-CAD: 03erikgreenwald * r45142 10/brlcad/trunk/src/other/m4/ (gnum4.c main.c misc.c): errx->m4errx
20:40.06 CIA-62 BRL-CAD: 03Starseeker 07http://brlcad.org * r2931 10/wiki/Lexer_Parser: Add notes on Antlr
20:48.17 CIA-62 BRL-CAD: 03erikgreenwald * r45143 10/brlcad/trunk/src/other/m4/misc.c: add some windows portability functions. Includes getopt from libbu, LGPL pollution.
20:51.09 CIA-62 BRL-CAD: 03starseeker * r45144 10/brlcad/trunk/src/other/byacc/main.c: Looks like this is the only use byacc makes of unistd, so just wrap it here.
20:51.32 kunigami When I finish porting sh_osl.c to sh_osl.cpp, OSLRenderer object will need to be declared at a global scope. In which place do you think it's better to keep it? I though of putting it on "struct application", but this struct is not passed as parameter to osl_setup.
20:59.49 kunigami hmm the problem of letting OSLRenderer global is that we will need a opaque pointer because it will be visible for C code.
21:01.22 kunigami Is it possible to declare it in such a way that it is visible to all sh_osl instances as a global object, while not exposing it to C code?
21:02.54 brlcad you mean like static? :)
21:06.52 kunigami probably is that what I want
21:08.31 brlcad definitely don't want something globally visible
21:09.09 brlcad a static global will limit scope to that file, a static variable inside a callback will limit scope even further to callers of an accessor function
21:09.32 CIA-62 BRL-CAD: 03starseeker * r45145 10/brlcad/trunk/src/other/flex/ (CMake/ CMake/FindREGEX.cmake CMakeLists.txt): flex will need the regex lib too (and a good deal more, but start with this.)
21:09.49 brlcad what else does flex need?
21:10.03 starseeker er, sorry - phrased that wrong
21:10.16 starseeker needs tests (limit.h, sys/wait.h, etc.)
21:10.24 brlcad ah
21:16.48 kunigami I was thinking about a possible problem: I only managed to make OSLRenderer work when I grouped all osl shaders in a single class (I've tried using a OSLRenderer for each osl shader, but it didn't work). It's probably the case that some information must be stored in a global context and shared among the shaders. If this is true, it won't be possible to mix brl-cad and osl shaders :( I've to investigate it further...
21:26.51 CIA-62 BRL-CAD: 03starseeker * r45146 10/brlcad/trunk/src/other/flex/CMakeLists.txt: No doubt a fair number of these tests need to be more sophisticated, but this gives us a first cut at supporting most of conf.in's variables.
21:57.29 CIA-62 BRL-CAD: 03starseeker * r45147 10/brlcad/trunk/src/other/flex/CMakeLists.txt: Whoops - add in the REGEX include dir too.
21:58.57 *** join/#brlcad epileg (~epileg@unaffiliated/epileg)
22:01.02 CIA-62 BRL-CAD: 03brlcad * r45148 10/brlcad/trunk/include/optical.h: document optical_shader_init()
22:04.54 CIA-62 BRL-CAD: 03starseeker * r45149 10/brlcad/trunk/src/other/flex/scan.c: wrap unistd.h in scan.c - will need to fix the generation in some fashion for this, probably add the wrapper to the skeleton...
22:07.35 CIA-62 BRL-CAD: 03starseeker * r45150 10/brlcad/trunk/src/other/flex/scan.c: Hmm... need something a bit different here, apparently... - try going minimal...
22:07.37 *** join/#brlcad dtidrow (~dtidrow@c-68-60-53-123.hsd1.mi.comcast.net)
22:10.12 CIA-62 BRL-CAD: 03starseeker * r45151 10/brlcad/trunk/src/other/flex/parse.c: Hmm. Possibly a stray semicolon, could also be an error in the if/else logic...
23:06.52 brlcad kunigami: if it's hooked through our shader system, there really is no limitation on mixing shader types because the mixing is per-pixel and happening on our end
23:07.19 brlcad you might not be able to get neat blending effects, like a caustic on a non-osl shader, but that's okay
23:07.58 *** join/#brlcad Ralith (~ralith@S010600221561996a.vc.shawcable.net)
23:08.39 brlcad it's really a question of whether osl can shade a single pixel without shooting the ray itself -- if it can, then it should be entirely possible
23:09.06 brlcad finally finishes an exhaustive day refactoring liboptical .. now to make sure it still works!
23:09.15 *** part/#brlcad Ralith (~ralith@S010600221561996a.vc.shawcable.net)
23:35.52 CIA-62 BRL-CAD: 03bhinesley * r45152 10/brlcad/trunk/src/libged/translate.c: adding 'f_tr_obj' functionality to 'translate'

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.