[kepler-dev] Re: [SDM-SPA] RFC new directory structure

Matt Jones jones at nceas.ucsb.edu
Thu Mar 18 09:45:29 PST 2004


Christopher Hylands Brooks wrote:
> I like the CVS structure you propose below.
> 
[snip]
> * With regard to dlls etc., if there are dlls, then there are probably
> lib*.so files for Linux etc.  In Ptolemy classic, each platform
> had a lib.$PTARCH and bin.$PTARCH directory for platform dependent
> variables.   PTARCH was usually set to a platform, such as sol2.8, or
> linux, but could also be set to include a specific platform and or
> debugging level (sol2.8.cfront.debug).  This allows the developer to
> use multiple compilers and debugging levels.
> 
> I'm not sure if this would applies to your situation.  Ptolemy II
> does not use this system (it probably should).
> 
> I'm slightly opposed to a directory called dll, if only because there
> is probably a need for a place for shared libraries under Linux or
> Solaris as well.  I would rather see the directory called w32.
> I don't feel strongly about this, it is just a slight preference.
Yeah, I think you're right about the dll directory name.  We need to 
discuss and agree on a general scheme for native code.  The GARP actor 
that Chad added depends on compiling a C++ model that is accessed via 
JNI in an actor.  Compiling that C++ code can be a pain, although is 
worked out on Windows and Linux.  The resulting dll and *.so files were 
checked in to make it easier for someone without the proper C++ 
compilers on Windows to use that actor.  Chad -- can you outline your 
strategy for where to put c++ code and libs and how it fits into the 
build process?

> 
> * Another issue is that Ptolemy II has a vendors/ directory that
> contains software from other vendors that we are not shipping, but
> portions of Ptolemy II rely on it.  Often the configure script will
> look in vendors/ for optional packages and if the code is not found,
> print a message about where to get the software and where to install
> it.
> 
> Having a vendors/ directory might eventually be useful.
> 
> * I prefer to see the tests adjacent to the code that is tested.
>   - It makes it easier for the developer to run unit tests, in
>   Ptolemy, the developer can run 'make test' in many directories
>   and something useful will happen.
>   - If only a portion of a project is shipped, it is easier to include
>   the tests.  This is especially true if a end user decides that they
>   only want to use a few directories in a project of their own.
>   If the tests are adjacent or under the code, they are more likely
>   to copy the tests.
I can see the argument for this.  We currently have tests as a separate 
  (but parallel in structure) tree.  This allows us to easily build the 
system without worrying about the tests.

> 
> * How are nightly builds and tests handled right now?  Forgive my
> ignorance on this, it might be apparent from the code, I just have
> not looked.
We don't have a nightly build.  We should get one :)  I know your 
existing makefile permits this.  Somtime I would like to discuss the 
Makefile with you and try to figure out why it builds so much more 
slowly than the ant build that I wrote.  Then it would make more sense 
to use it directly for the nightly build.

Matt

> 
> -Christopher

-- 
-------------------------------------------------------------------
Matt Jones                                     jones at nceas.ucsb.edu
http://www.nceas.ucsb.edu/    Fax: 425-920-2439    Ph: 907-789-0496
National Center for Ecological Analysis and Synthesis (NCEAS)
University of California Santa Barbara
Interested in ecological informatics? http://www.ecoinformatics.org
-------------------------------------------------------------------



More information about the Kepler-dev mailing list