Hi Holger,
On Sat, Jun 03, 2017 at 12:17:08AM +0800, Holger Freyther wrote:
The first failure is because of:
libosmo_sigtran_la_LDFLAGS = -version-info $(LIBVERSION) \
-no-undefined \
-export-symbols-regex '^osmo_'
The testcases use xua_* sua_ symbols but they are not exported. Shall
we export them or shall we forbid --disable-static on libosmo-sccp?
I actually really liked the idea as an elegant way to have test cases
access more "private" / "low-end" functions inside the
implementation,
while ensuring only proper APIs are exposed to actual applications
(which use dynamic libs). I would actually like to use that in all the
other libraries / code we have.
So yes, the idea can still be bad, but what other option do we have in
terms of having more symbols available to test caeses than those used in
production? Manually linking the individual .o files is ugly, as the
list keeps growing for each and every unit test as the library code
evolves. What about having a separate static library only used for the
unit tests, and building that even while --disable-static is used? In
that case one could even play games like
#define STATIC static
in production builds, and define it to nothing in the build for unit
tests, if needed.
The second part is that I had preferred the sccp
library to be static
only to avoid having to do proper ABI checking/versioning. If we fix
the above, maybe we have to fix this part too?
I'm not sure why it should be different from all the other libosmo*
libraries in that regard?
--
- 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)