Difference between revisions of "Online builds 10-apr-2013"

From GlueXWiki
Jump to: navigation, search
m
m
Line 1: Line 1:
 +
== File structure for release area ==
 +
 
Simple but cluttered:
 
Simple but cluttered:
  
Line 33: Line 35:
 
         `-- SCONS
 
         `-- SCONS
  
Better organization using "packages" directory:
+
= Build System =
 +
 
 +
* Based on SCONS and Python/Perl scripts (by Maurizio, Elliott and Dave L).
 +
* Builds libsrc,binsrc and installs include,libsrc,binsrc,scripts into $INSTALL_DIR (default is package directory).
 +
* Builds test but only installs it locally (i.e. ignores INSTALL_DIR env var)
 +
* Ignores examples and other directories in src.
 +
* Note: Include statements MUST be qualified by package name (e.g. #include <cMsg2et/cMsg2et.h>) (thus the soft link in libsrc dir).
 +
 
 +
== File structure for release area ==
 +
 
 +
* This shows the release directory structure (rw from hdsys account, ro from all other accounts).
 +
* Package directories are what's in SVN, can be checked out by anyone.
 +
* Should SCONS dir be under packages?  Should it be installed?
 +
 
  
 
  -- builds
 
  -- builds

Revision as of 16:32, 6 May 2013

File structure for release area

Simple but cluttered:

-- builds
   `-- devel
       |-- aPackage
       |-- anotherPackage
       |-- cMsg2et
       |   |-- doc
       |   |-- java
       |       `-- org
       |           `-- jlab
       |               `-- halld
       |   |-- jar
       |   |-- Linux_RHEL6-x86_64-gcc4.8.0
       |   |   |-- bin
       |   |   |-- include
       |   |   |-- lib
       |   |   `-- scripts
       |   `-- src
       |       |-- binsrc
       |       |-- examples
       |       |-- libsrc
       |       |   `-- cMsg2et -> .
       |       |-- scripts
       |       `-- test
       |-- doc
       |-- jar
       |-- Linux_RHEL6-x86_64-gcc4.8.0
       |   |-- bin
       |   |-- include
       |   |-- lib
       |   `-- scripts
       `-- SCONS

Build System

  • Based on SCONS and Python/Perl scripts (by Maurizio, Elliott and Dave L).
  • Builds libsrc,binsrc and installs include,libsrc,binsrc,scripts into $INSTALL_DIR (default is package directory).
  • Builds test but only installs it locally (i.e. ignores INSTALL_DIR env var)
  • Ignores examples and other directories in src.
  • Note: Include statements MUST be qualified by package name (e.g. #include <cMsg2et/cMsg2et.h>) (thus the soft link in libsrc dir).

File structure for release area

  • This shows the release directory structure (rw from hdsys account, ro from all other accounts).
  • Package directories are what's in SVN, can be checked out by anyone.
  • Should SCONS dir be under packages? Should it be installed?


-- builds
   `-- devel
       |-- doc
       |-- jar
       |-- Linux_RHEL6-x86_64-gcc4.8.0
       |   |-- bin
       |   |-- include
       |   |-- lib
       |   `-- scripts
       |-- packages
       |   |-- aPackage
       |   |-- anotherPackage
       |   `-- cMsg2et
       |       |-- doc
       |       |-- java
       |           `-- org
       |               `-- jlab
       |                   `-- halld
       |       |-- jar
       |       |-- Linux_RHEL6-x86_64-gcc4.8.0
       |       |   |-- bin
       |       |   |-- include
       |       |   |-- lib
       |       |   `-- scripts
       |       `-- src
       |           |-- binsrc
       |           |-- examples
       |           |-- libsrc
       |           |   `-- cMsg2et -> .
       |           |-- scripts
       |           `-- test
       `-- SCONS