Sorry for not congratulating you earlier--thanks for putting the search-path system up. You have done a good job with it: 'locate' also works on OS X. I'll try to answer the rest of the questions tomorrow, I guess. (Long day).
-Pete On Aug 31, 2006, at 9:45 PM, skaller wrote: >> Why not add these things as ./configure flags? > > Why not? :) > > You might want: > > --with-paths=pathfile.paths > > i.e. to make a file with all the directories to search, and just > name the file. This would be more 'persistent' than having > to type the name of the directories every time you run configure. In that case set priorities: --with-paths=pathfile.paths should be searched second, after the user-entered config paths (--with-gmp=/usr/ local), on the assumption that a user would not add a ./configure flag contrary to a (possibly old) path file without cause (they wanted to override the path file without modifying it); last should come the standard search paths. > On Unix you could even default to > > /etc/felix/pathfile.paths > > if it exists. The Felix compiler flxg already searches -I directories, > so using paths is logical .. the problem is really: > > "Arggg .. there are so many ways to do this, which > one do we pick?" (1) follow set priorities (search each) (2) if all fail, issue error (these are user-defined parameters, they deserve a chance to correct their error) (3) allow user to quit error (if they decide they don't want to build with the third-party library) > With hundreds of configuration parameters of unbounded > number due to extensibility, and with frequent changes > to the build system .. this made developers life a nightmare. > > In principle, if the config was stable this wouldn't affect > end users .. but the config has not only changed by extending > fields with successive releases .. the structure has changed > each time too. This will all stabilise at some point; possibly faster if you determine a goal to converge towards. >>> (c) modifyable -- the user can change it >> >> Put flx_config.fpc in the user's home directory, under .felix (on >> Posix); in the registry on Windows. > > Can't: Debian autobuilder etc. Some Unix users will be ordinary, > some will be group admins, some will be the sys admins, and > some will be the actual system, some will even be networked. I mentioned user-space as a standard path > What you suggest makes sense IF there were also a parameterised > modular extensible install system, so we could distinguish > installation classes and build models for them. > >>> (e) changeable -- new versions use different layouts >> >> This requirement seems to kill all the others, > > Yeah. That's the problem. > >> particularly (a), >> since it implies the configuration system *must* clobber any >> persistent header. > > Well, the way to think about this is by analogy. > > Software engineering faces this problem all the time. > The requirement is the Open/Closed principle. > > Programs usually change representations with conversion > functions -- you just stamp the config with a version number, > detect it, and convert if an old format is found. > > In theory .. it's not that hard. But this is a LOT of > work for a system without a stable user base. At least it isn't Ruby on Rails: Error message "Rails does not work with Ruby version 1.8.3 Please upgrade to version 1.8.4 or downgrade to version 1.8.2." > We've already put too much work into packaging and > the build system, IMHO, compared to actually writing > libraries. I think the system is great so far. Just writing libraries and letting the language evolve through use would be fine. > If Ocaml supported Ocaml dynamic loading with native code > Felix might not exist at all -- I'd be using Ocaml and telling > everyone else to as well. LOL :) This way you are coming up with a better language at the same time. (By the way, I don't hate OCaml, I really like how snappy it is and how everything just works; it just has some features I can't use without a big hassle.) >> Why is that? Can't the system follow symbolic links? > > Sure, but Windows doesn't have symbolic links. > And you really don't want to symlink all 150+ test > examples do you? Symlinking the directory of > course doesn't help. Shadow-link the directory using lndir --it'll do everything for you. I am not exactly sure about Windows but there should be some way to do it. -Pete ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Felix-language mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/felix-language
