Hi all!
I've been thinking a bit about what kind of code (and directory / library)
structure we should be having in order to build the various executables
from the functional blocks that we have.
The idea is to prepare for the upcoming / intended new projects while
reusing the functional blocks / modules whenver possible.
The graphical structure is at:
http://openbsc.osmocom.org/trac/wiki/NewCodeStructure
And the first steps in reorganizing directories and makefiles is
available at
http://cgit.osmocom.org/cgit/openbsc/log/?h=laforge/new_structure
The new directory structure now has
* directories that contain each one library
openbsc/src/{abis,bsc,common,gb,mgcp,msc,trau}
* directories that contain code for our daemons (BSC, etc.)
openbsc/src/{gprs,osmo-bsc,osmo-bsc_mgcp,osmo-bsc_nat,osmo-nitb}
* directories that contain code for utilities
openbsc/src/{ipaccess,utils}
There are still some additional/bogus dependencies between the libraries,
but I want to fix that and make sure the TRAU directory really only contains
code related to the TRAU and RTP frame processing. Some of the generic OML/RSL
parsing code should be moved from 'bsc' into the 'abis' directory, etc.
What do you generally think of this? If there is no big complaint, I
intend to import Andreas' osmocom-bb.git/jolly/bts code into the openbsc
repository (openbsc/src/bts) and start to merge the RTP code into src/trau
and the generic bits of RSL+OML into src/abis.
Some random ideas:
* prefix the library directories with 'lib', i.e. 'libbsc',
'libmsc' to
clearly state this is not a program but just library code
* rename the openbsc repository to smething more generic. but what?
I don't think we want to create multiple repositories but keep
everything in a single repo - at least until one of the sub-libraries
is self-contained enough.
* should we keep bsc_hack instead of osmo-nitb? (network-in-the-box)?
or should it rather be called osmo-niab (network-in-a-box)?
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)