- Description has changed:

Diff:

~~~~

--- old
+++ new
@@ -1,8 +1,227 @@
-Improve the OpenSAF directory structure and build system. The exact details of 
what and how to improve them is yet to be worked out, but below are some ideas:
+Improve the OpenSAF directory structure and build system:
 
-* In order to support better modularity of the different OpenSAF services, we 
should collect all files belonging to a particular OpenSAF service under a 
separate subdirectory per service. Today, files belonging to one single service 
(source code, library code, header files, tests, command-line tools) are 
scattered in many places.
-* Rename directories where appropriate. For example remove the "sv" suffix, 
e.g. clmsv -> clm.
-* Look at "standards" to see what kind of directory structure is commonly used 
by other projects. For example, maybe put the source code in a directory called 
"src".
-* Reduce the depth of the directory hierarchy. Some levels of the directory 
structure can be removed, for example the separate "include" directory that 
some services (but not all) currently use for their header files. Header files 
ought to into the same directory as source files. Another example is that we 
don't really need to divide services into "saf" and "infrastructure" and thus 
remove this level in the tree.
-* Improve parallelism of the build. I have a feeling that much more could be 
built in parallel than is possible today when you type "make -j".
-* Possibly look at alternatives to autotools, to see if we can also support 
something else (e.g. cmake) in addition to autotools.
+* 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
+~~~

~~~~




---

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

**Status:** assigned
**Milestone:** 5.2.FC
**Created:** Thu Sep 29, 2016 02:15 PM UTC by Anders Widell
**Last Updated:** Thu Sep 29, 2016 02:15 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