- **status**: assigned --> review


---

** [tickets:#2084] build: Refactor the directory structure and build system**

**Status:** review
**Milestone:** 5.2.FC
**Created:** Thu Sep 29, 2016 02:15 PM UTC by Anders Widell
**Last Updated:** Fri Dec 02, 2016 01:02 PM UTC
**Owner:** Anders Widell


Improve the OpenSAF directory structure and build system:

* In order to support better modularity of the different OpenSAF services, 
collect all files belonging to a particular OpenSAF service under a separate 
subdirectory per service. Previously, files belonging to one single service 
(source code, library code, header files, tests, command-line tools, API tests) 
were scattered in many places.
* Renamed directories where appropriate. For example removed the "sv" suffix, 
e.g. clmsv -> clm.
* Use three top-level source code directories: "java" for java source code, 
"python" for python source code, and "src" for C and C++ source code.
* Reduce the depth of the directory hierarchy. Some levels of the directory 
structure were removed, for example the separate "include" directory that some 
services (but not all) previously used for their header files. Header are now 
always placed in the same directory as the corresponding source files. Another 
example is that we don't really need to divide services into "saf" and 
"infrastructure" and thus this level in the tree was removed.
* Use non-recursive make. This improves the speed of parallel builds when using 
"make -j", and also improved the dependency handling so that object files are 
re-build when necessary.
* Remove the separate automake file for the contrib subdirector and move plmc 
into src/plm, to speed up automake. Remove cruft from the automake files to 
speed up execution further.

The directory structure now looks like this:

~~~
.
+-- bin  (Built executables)
+-- java  (Java source code)
|   +-- ais_api
|   |   +-- src
|   |       +-- org
|   |           +-- saforum
|   |               +-- ais
|   |                   +-- amf
|   |                   +-- clm
|   +-- ais_api_impl  (Java AIS API mapping Implementation for AMF,CLM)
|   |   +-- src
|   |       +-- org
|   |           +-- opensaf
|   |               +-- ais
|   |                   +-- amf
|   |                   +-- clm
|   +-- am4j_sailfin
|   |   +-- amf-configuration
|   |   +-- clc-cli-scripts
|   +-- amf_agent
|   |   +-- src
|   |       +-- com
|   |           +-- ericsson
|   |               +-- saf
|   |                   +-- amf
|   +-- apitest  (OpenSAF Test suites)
|       +-- configandscript
|       +-- src
|           +-- org
|               +-- opensaf
|                   +-- ais
|                       +-- amf
|                       |   +-- test
|                       +-- clm
|                       |   +-- test
|                       +-- test
+-- lib  (Built libraries)
+-- m4  (Extra M4 macros for the build)
+-- pkgconfig  (OpenSAF Pkgconfig file)
+-- python  (Python source code)
|   +-- pyosaf
|   |   +-- utils
|   |       +-- clm
|   |       +-- immoi
|   |       +-- immom
|   |       +-- log
|   |       +-- ntf
|   +-- samples
+-- rpms  (Built RPMs)
+-- samples  (OpenSAF sample applications for SAF services)
|   +-- amf
|   |   +-- campaigns
|   |   +-- non_sa_aware
|   |   +-- proxy
|   |   +-- sa_aware
|   |   +-- wrapper
|   +-- cpsv
|   |   +-- ckpt_demo
|   |   +-- ckpt_track_demo
|   +-- edsv
|   +-- glsv
|   +-- immsv
|   |   +-- immom_python
|   |   +-- immutils
|   +-- m4
|   +-- mqsv
|   +-- smfsv
|       +-- campaigns
+-- scripts  (OpenSAF scripts)
+-- src  (C and C++ source code)
|   +-- amf
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- amfd
|   |   |   +-- tests
|   |   +-- amfnd
|   |   +-- amfwd
|   |   +-- saf
|   |   +-- tools
|   +-- base  (OpenSAF base library)
|   |   +-- tests
|   +-- ckpt
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- ckptd
|   |   +-- ckptnd
|   |   +-- saf
|   +-- clm
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- clmd
|   |   +-- clmnd
|   |   +-- saf
|   +-- dtm
|   |   +-- dtmnd
|   |   +-- transport
|   |       +-- tests
|   +-- evt
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- evtd
|   |   +-- saf
|   +-- fm
|   |   +-- fmd
|   +-- imm
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   |   +-- implementer
|   |   |   +-- management
|   |   +-- immd
|   |   +-- immloadd
|   |   +-- immnd
|   |   +-- immpbed
|   |   +-- saf
|   |   +-- tools  (IMM commandline utilities and IMM XML merge tool)
|   +-- lck
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- lckd
|   |   +-- lcknd
|   |   +-- saf
|   +-- libjava
|   +-- log
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- logd
|   |   +-- saf
|   |   +-- tools  (SAFLOG command line utility)
|   +-- mbc
|   |   +-- apitest  (OpenSAF Test suites)
|   +-- mds
|   |   +-- apitest  (OpenSAF Test suites)
|   +-- msg
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- msgd
|   |   +-- msgnd
|   |   +-- saf
|   +-- nid
|   |   +-- agent  (sources for OpenSAF agents)
|   +-- ntf
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- ntfd
|   |   +-- ntfimcnd
|   |   +-- saf
|   |   +-- tools  (SAFNTF command line utility)
|   +-- osaf
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- immutil
|   |   +-- saf
|   |   +-- saflog
|   +-- plm
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- apitest  (OpenSAF Test suites)
|   |   +-- plmcd
|   |   +-- plmd
|   |   +-- saf
|   +-- rde
|   |   +-- agent  (sources for OpenSAF agents)
|   |   +-- rded
|   |   +-- tools
|   +-- smf
|       +-- agent  (sources for OpenSAF agents)
|       +-- saf
|       +-- scripts
|       +-- smfd
|       +-- smfnd
|       +-- tools
+-- tools  (OpenSAF developer tools and UML devel environment)
    +-- cluster_sim_uml
    |   +-- archive
    |   |   +-- scripts
    |   +-- bin
    |   +-- etc
    |   |   +-- init.d
    |   +-- uml
    |       +-- bin
    |       +-- config
    |       +-- root_template
    |           +-- bin
    |           +-- dev
    |           |   +-- pts
    |           |   +-- shm
    |           +-- etc
    |           |   +-- init.d
    |           +-- home
    |           +-- lib
    |           |   +-- modules
    |           +-- lib64
    |           +-- opt
    |           +-- proc
    |           +-- root
    |           |   +-- www
    |           |       +-- cgi-bin
    |           +-- sbin
    |           +-- sys
    |           +-- tmp
    |           +-- usr
    |           |   +-- bin
    |           |   +-- sbin
    |           +-- var
    |               +-- lib
    |               |   +-- opensaf
    |               +-- log
    |               |   +-- opensaf
    |               +-- run
    |                   +-- opensaf
    +-- devel
        +-- dot
        +-- doxygen
        +-- indent
        +-- model
        +-- review
~~~


---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to