[IGSTK-Developers] IGSTK main library-sandbox cross build system

David Gobbi dgobbi at atamai.com
Sat Jan 14 10:32:07 EST 2006


Hi Andinet,

I'm with Stephen.  I added comments similar to his on the Wiki before I read my email this
morning:

http://public.kitware.com/IGSTKWIKI/index.php/Main_library-sandbox_cross-build_system

 - David


--- Andinet Enquobahrie <andinet.enqu at kitware.com> wrote:

> Hi Stephen,
> 
> Thank you for your comments...
> 
> > Some ideas:
> > 1) The IGSTK subdir in the sandbox should replicate the directory 
> > structure of IGSTK.  That is, the sandbox/IGSTK dir should not be a 
> > flat directory just in case the same filename is used in different 
> > IGSTK subdirs.
> 
> If I am not wrong, the bug fixes and feature adds are implemented only 
> in the source and header files in the IGSTK/Source subdirectory. Hence, 
> we won't have a file name collision problem.
> 
> >
> > 2) With this process - do we need the rest of the sandbox?   Couldn't 
> > the entire sandbox be put into the sandbox/IGSTK subdir.   Then code 
> > review would just go thru the files in the sandbox/IGSTK subdir.
> >
> >
> I take it when you say the "entire sandbox", you are referring to the 
> files in Sandbox/Source subdirectory ( We have also Example applications 
> in the Sandbox). This can be done.  I just thought that keeping them 
> separate would be cleaner and also CMake can easily decide whether it 
> will need to generate a new IGSTK library  or not by just checking if 
> there are any files in the IGSTK subdirectory.  If there are no files in 
> the subdirectory, already-built IGSTK lib will be linked to the Sandbox 
> library.
> 
> -Andinet
> 
> >
> > Andinet Enquobahrie wrote:
> >
> >> Folks,
> >>
> >> On the tcon yesterday, we discussed the need for IGSTK main 
> >> library-sandbox cross build system which accomodates changes to the 
> >> main library.
> >> The main motivations behind such a build system are
> >>
> >>  1. Expedite development and testing of new classes in the sandbox  
> >> which require minor (light-weight) modification of the main library
> >>  2. Enforce minor changes in the main library to pass through the 
> >> regular review process
> >>
> >> To implement this scheme, we will be using cmake language capability. 
> >> The envisaged implementation is as follows
> >>
> >>  1. IGSTK subdirectory will be created in the Sandbox
> >>  2. The developer who is interested in making minor modifications to 
> >> a  particular file in the main library, will make a copy this file to
> >>     the IGSTK subdirectory.
> >>  3. CMake file in the sandbox is modified so that
> >>        3.1  The build system checks if there are any files in the 
> >> IGSTK  sub-directory.
> >>        3.2. If there are files in the IGSTK subdirectory, a new IGSTK 
> >> library will be generated. To generate this new IGSTK main library
> >>              3.2.1. All source files in the main library except the 
> >> ones with new versions in the IGSTK subdirectory of the Sandbox and 
> >> source files in the IGSTK subdirectory are
> >>                        used.
> >>              3.2.2. If modified header files exist in the IGSTK 
> >> subdirectory of the sandbox, then these modified header are included 
> >> before the header files in the
> >>                        main library during compilation.
> >>        3.3  If there are no files in the IGSTK subdirectory, the 
> >> already-built IGSTK library will be used.
> >>
> >> How does this cross-build system affect bug fix process?
> >>
> >> If bug fixes are made on files that are not currently in the IGSTK 
> >> subdirectory, then there will not be a change in the process. 
> >> However, if bug fixes are made on files that are
> >> currently in the IGSTK subdirectory, then the developer who fixs bugs 
> >> in the main library is responsible to make the corresponding changes 
> >> to the version in the IGSTK
> >> subdirectory of the Sandbox.
> >>
> >> How does this cross-build system affect code review process?
> >>
> >> During our regular code review process for release, the new version 
> >> of the IGSTK main library programs stored in the IGSTK subdirectory 
> >> will be reviewed in addition to
> >> the new files in the sandbox.
> >>
> >> Please, let me have your comments.
> >>
> >> Thanks
> >>
> >> -Andinet
> >>
> >> PS: By the way, I have posted this message in its entirety to the 
> >> wiki...
> >>
> >> http://public.kitware.com/IGSTKWIKI/index.php/Main_library-sandbox_cross-build_system 
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> IGSTK-Developers mailing list
> >> IGSTK-Developers at public.kitware.com
> >> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
> >>
> >
> 
> 
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
> 




More information about the IGSTK-Developers mailing list