We tagged 1.0.0 off a non-master version in the commit history in order
to keep the new TRAU frame handling out of the 1.0.0 release, but to
have all of the other fixes in a tagged release. This merge brings
master in sync with those changes.
Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b
Since I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b we are using a header
file provided by libosmocodec, which means we need to add it to our
dependencies (and include path). Linking against the library is
not required, as we don't use any symbols at this point.
Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d
osmo_use_count is available since libosmocore 1.1.0 release, so bump
required libosmocore version in autotools and packages.
struct e1inp_line field refcnt is kept in order to keep ABI
compatibility accessing struct fields. The new use_count is added at the
end. Size of struct changing is fine since it is allocated through
an API and a pointer should be used by clients.
e1inp_line_clone API is changed but it's not used by anyone outside
libosmo-abis, so it's fine.
Related: OS#4624
Change-Id: I0658b2e9c452598025cc0f1d0b060076171767cc
Remove OpenSUSE bug report link, set version to @VERSION@, make it build with
CentOS 8 etc.
Related: OS#4550
Change-Id: I3e135e5e7807688366598a24e121550d6292906c
As pointed out at https://github.com/libexpat/libexpat/issues/312
libtool does not play nice with clang sanitizer builds at all.
For those builds LD shoud be set to clang too (and LDFLAGS needs the
sanitizer flags as well), because the clang compiler driver knows how
linking to the sanitizer libs works, but then at a later stage libtool
fails to actually produce the shared libraries and the build fails. This
is fixed by this patch.
Addtionally LD_LIBRARY_PATH has no effect on conftest runs during
configure time, so the rpath needs to be set to the asan library path to
ensure the configure run does not fail due to a missing asan library,
i.e.:
SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan'
export CC=clang-10
ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`)
export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS"
Change-Id: Ia3644168bfea13bda5e09b8bfe1d2c65abd32ad7
osmo-e1d is part of the Osmocom 'software defined E1 interface,
which consists of a USB device for the actual E1 hardware interfacing,
and a daemon (osmo-e1d) implementing a libusb-based driver.
This commit adds initial support for talking to osmo-e1d using
the related libosmoe1d library. You need to use '--enable-e1d'
at configure time to enable it.
Change-Id: Ia0431c124e3b5b4108aee7b109d8c4bb0d8b45d4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
libosmo-abis was built with DAHDI support, if the related header files
were present at built time, and without if not. This kind of automagic
enabling/disabling of features is wrong. Let's require DAHDI support by
default, and force the user to take a conscious decision by using an
explicit --disable-dahdi if he doesn't want it.
At the same time, update debian/control to list dahdi-source as build
dependency.
Change-Id: Id9f7f063e7ca9e3ab4aa96fc93f243caf50fb66a
Closes: OS#4248
While building libosmo-netif on a system with an old ortp (0.22), it
was seen that warning related to RTP_SIGNAL_PTR_CAST not being correctly
selected were being printed. The compilation didn't fail there as
expected because the issue was being handled as a warning instead of an
error, so the void* ptr case was always being selected.
Change-Id: Ib5e7569e68fdb921c63e0c12e20e73aafbebda46
Provide a sane means of adding the -Werror compiler flag.
Currently, some of our jenkins.sh add -Werror by passing 'CFLAGS="-Werror"',
but that actually *overwrites* all the other CFLAGS we might want to have set.
Maintain these exceptions from -Werror:
a) deprecation (allow upstream to mark deprecation without breaking builds);
b) "#warning" pragmas (allow to remind ourselves of errors without breaking
builds)
As a last configure step before generating the output files, print the complete
CFLAGS and CPPFLAGS by means of AC_MSG_RESULT.
Change-Id: I20d5f18cf05c9e277d914ada259a95187b73fe39
Move function definition to the first argument of AC_LANG_PROGRAM
(prologue) instead of the second (body). Content of the body is writen
into the main() function of the file being compiled, while prologue is
writen before it.
Compiler from FreeBSD build host doesn't like definitions inside the
main function, it fails with the following error:
conftest.c:28:73: error: function definition is not allowed here
As the compilation test fails, unsigned int is used instead of void*, which
doesn't match the current headers in the current build, and then a
warning (or error with -Werror) is printed.
Change-Id: I83fc3997e5067b499bf43cea4ff953604d6cbeae
Issue first found in libosmocore. It seems the BSD build doesn't use
bash which means using += to append to a variable doesn't work
correctly.
Change-Id: Id509351104bc7466114d4b9be450814254110f44
As discussed in chat, -Werror should not be enabled by default.
Instead it should be added in our jenkins build scripts.
This reverts commit 7d1f53143e.
Change-Id: Ied6e21b72b24fcb623fd945ed9560b742a8eedf5
Since ortp commit 5ab29c50adc7948b11449e3aeee66010379ff7dc preceeding
ortp 0.24, the API is fixed and requests a pointer instead of an
unsigned long.
As we now require at least ortp 0.22 since libosmo-abis
15d9b7929d, we need to support both old
and new version of the API to continue having support for 0.22 but still
supporting new versions of the library.
Change-Id: I2dbd0498d75160358eca4336850e1a0ad2efdbeb
We need to use the include path[s] resolved by pkg-config for
ortp before trying to compile our test program. Without this
patch, compilation will fail e.g. on FreeBSD 11.
Change-Id: I0c95e37cc449297389bf31dd9d5dcaa922d75d0c
Commit 0c8d9ddaea8c1afdc0e9b8c37a31c9d158e57efd in ortp broke old API:
function ortp_set_log_level_mask requires one new parameter 'domain'.
This commit fixes compilation in my Archlinux box using ortp 1.0.1.
Change-Id: I46e565f1873c7baf3c3b0aafe73951d20ce083b4
Add ./configure option to enable ASAN checks and use it for jenkins
tests. While at it - also move to /bin/sh shebang as we don't use
bashisms anyway.
Change-Id: Ie26e54ab6b850c9adf124a6bc613ec9bc9e8a6e2
Explicitly set AC_CONFIG_AUX_DIR.
To reproduce the error avoided by this patch:
rm install-sh # in case it was already generated.
touch ../install-sh # yes, outside this source tree
autoreconf -fi
This will produce an error like
...
configure.ac:16: error: required file '../ltmain.sh' not found
configure.ac:5: installing '../missing'
src/Makefile.am: installing '../depcomp'
autoreconf: automake failed with exit status: 1
See also automake (vim `which automake`) and look for 'sub locate_aux_dir'.
Change-Id: I5f69112f58b0a8ce0d848b0b6b543500ee63d133
Require version 0.22.0 which matches Debian stable ATM to simplify
testing and maintenance across all supported BTS models and
corresponding toolchains.
Change-Id: I005d60bb50889edad3e6fc0cd9f7f180aeaf1dab
Fixes: SYS#2569
The second check used the cached result for ORTP. Store the result
in ORTP_VERSION and my system properly detects that it is running
on < 0.21.
The HAVE_ORTP_021 will always be defined so just use #if and not
the #ifdef to fix the build.
Therre is no current use of HAVE_* variables for these checks in the
code, so there is no reason to keep the checks around.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Also disable building the gzip distribution since we're building the
bzip2-compressed tarball already.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
This spares us another recursion, and allows a much higher
parallelisation, since trau is only one source unit and one standalone
library.
Incidentally, also make sure that the version specification for
libosmoabis is applied.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
automake is well capable of building sources present in sub-directory
without requiring a recursion, so there is no reason to use a
non-installed library just for the extra files.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
This simplifies installation of include files, as make no longer have
to recurse into subdirectories and install each subset of files in
different directories.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Also contextually remove the AC_PROG_LIBTOOL call (which is an
obsolete name for what is now LT_INIT).
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
This new library is intended to include everything related to
interfacing actual voice channels either via E1 or via RTP.
The first module in the library is osmo_rtp, based on the ortp library.
It's not a good idea to confuse the two changes with each other. Moving the
Abis part into a separate library is independent from the question whether we
have talloc inside libosmocore or use a stand-alone talloc library.