Hi Harald,

> The difference is:
>
> * openbsc doesn't install any headers, and thus all 'include/openbsc'
>  headers are local to the program
> * libosmocore isntalls all headers, and thus all 'include/osmocom'
>  headers are installable

It is reasonable, and I support this idea. But anyway we have some
noinst_HEADERS in include/Makefile.am, they are:

noinst_HEADERS = \
    osmocom/core/timer_compat.h \
    osmocom/gsm/kasumi.h osmocom/gsm/gea.h

So why they are among with other installable headers?
Are there any reasons to keep them here?

> So if you want to have private header files in libosmcoore
> (or any other library) you have to put them somewhere else,
> e.g. in the 'src' directory, as it is already done at several
> other places.

I think, you already pointed the strongest reason, why this
header should be outside the include/ directory: because it
only needed during unit tests, and nowhere else. And I absolutely
agree with you.

Now the problem is solved, and this discussion should be closed.


With best regards,
Vadim Yanitskiy.

2017-05-03 3:36 GMT+07:00 Harald Welte <laforge@gnumonks.org>:
Hi Vadim,

On Wed, May 03, 2017 at 03:19:03AM +0700, Vadim Yanitskiy wrote:

> > We tend to put all headers used from several locations in
> > openbsc/openbsc/include/openbsc/ (as noinst_HEADERS in the Makefile.am).
> > To #include, you would use something like #include <openbsc/conv.h>.
>
> Yeah, I tried to put one into include/osmocom/tests/, but Harald and Sylvain
> voted against this approach. So I decided to go this way.

The difference is:

* openbsc doesn't install any headers, and thus all 'include/openbsc'
  headers are local to the program
* libosmocore isntalls all headers, and thus all 'include/osmocom'
  headers are installable

So if you want to have private header files in libosmcoore (or any other
library) you have to put them somewhere else, e.g. in the 'src'
directory, as it is already done at several other places.
--
- Harald Welte <laforge@gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)