| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
A warning was printed even if the deprecation didn't apply to
libosmocore because it is still allowed to use it internally.
This patch fixes this case while still printing a warning if external
projects build using libosmocore headers.
Change-Id: I32212f20756f828af1017482a71e29e4b3adbad4
|
|
|
|
|
|
|
|
|
|
|
| |
In tightly embedded builds (--enable-embedded), we want the ability to
replace talloc with a very simple heap allocator to avoid the complexity
of talloc without modifying all our code that assumes talloc.
This will break the hierarchical notion of the allocator, but
libosmo{core,gsm,coding,codec} don't rely on that anyway.
Change-Id: Ie341034076f242a813f081919dd09d845775ad35
|
|
|
|
|
|
|
|
|
|
|
|
| |
The '__builtin_cpu_supports' is a GCC's built-in function which
returns a positive integer if the run-time CPU supports specified
SIMD feature and returns 0 otherwise. It is required for further
SSE optimization of Viterbi decoder.
This change adds a new check, whether compiler supports this call.
See /gcc/X86-Built-in-Functions.html at gcc.gnu.org for reference.
Change-Id: I5d52cfb3e8fab3eedc0293a2842708cbee0f476a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds a check whether compiler supports some SIMD
(Single Instruction, Multiple Data) instructions. It is enabled
by default, and can be disabled by configure option --disable-simd.
The check macro is based on the AX_EXT from autoconf-archive:
www.gnu.org/software/autoconf-archive/ax_ext.html
And depends on the ax_check_compile_flag macro:
www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
Currently only the following SIMD extensions are being checked:
AVX2, SSE3, SSE4.1, but adding others is also possible. All found
extensions are being defined in the 'config.h' header.
Change-Id: Idf8fff984bd936a75c7c307338df88ba4b005817
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are some projects, such as GR-GSM and OsmocomBB, which would
benefit from using one shared implementation of GSM 05.03 code. So,
this commit introduces a new sub-library called libosmocoding, which
(for now) provides GSM, GPRS and EDGE transcoding routines, migrated
from OsmoBTS.
The original GSM 05.03 code from OsmoBTS was relicensed under
GPLv2-or-later with permission of copyright holders (Andreas Eversberg,
Alexander Chemeris and Tom Tsou).
The following data types are currently supported:
- xCCH
- PDTCH (CS 1-4 and MCS 1-9)
- TCH/FR
- TCH/HR
- TCH/AFS
- RCH/AHS
- RACH
- SCH
Change-Id: I0c3256b87686d878e4e716d12393cad5924fdfa1
|
|
|
|
|
|
|
| |
The EMBEDDED conditional is used for building inside 'bare iron'
embedded devices like OsmocomBB phones. There's no PC/SC in them.
Change-Id: I2ef7561d7fdb1ef1c060f8ac73d8588fc0f8eb3f
|
|
|
|
|
|
|
|
| |
Using --disable-ctrl, one can disable the building of libosmoctrl.
The 'embedded' target will also automaticall disable ctrl.
Change-Id: I6912396338c5b23ae860fef2a55854d6df9a579d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Numerous issues caused sim_test to be attempted even though libosmosim was not
built:
In configure.ac, the ENABLE_PCSC variable lacked an AC_SUBST() to be exported.
Furthermore in configure.ac, no value 'yes'/'no' was assigned to the
ENABLE_PCSC variable, only to the enable_pcsc value.
In testsuite.at, encapsulating the sim_test in 'if ENABLE_PCSC' seems to have
no effect, regardless (not even when using a variable that should be defined
accurately).
So fix with these steps, similarly to how we do it in openbsc:
In AC_ARG_ENABLE, directly use 'ENABLE_PCSC' to assign 'yes'/'no'.
Export the same using AC_SUBST().
Add tests/atlocal.in to translate ENABLE_PCSC to enable_sim_test (also add
atlocal to AC_OUTPUT and distclean).
Use enable_sim_test in testuite.at, as seen in openbsc: use AT_CHECK() to
indicate skipping the test if enable_sim_test isn't 'yes'.
Change-Id: I9e8740c7d2dfbd272e22fee85972ef3fda7184a8
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--enable-sanitize adds address sanitizer CFLAGS/CPPFLAGS to the entire build.
Also pass UBSAN_OPTIONS to the test suite run (only has effect during runtime).
Add this flag to jenkins.sh's configure step. To ensure that we get the
sanitize results, add 'make check' to jenkins to catch sanitize failures;
Keep 'make distcheck' without ASAN; it has its own configure which omits
--enable-sanitize. This way we test both with and without ASAN.
Change-Id: Idf7f46fa048608c2951f2473cb528f6c8dc2681d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: If2afbe62e9ceeac8052c7b882ff92a548f3af0bf
|
|
|
|
|
|
|
|
|
|
|
| |
On a fresh installation, I was puzzled by a configure.ac 'syntax error' for
PKG_CHECK_MODULES(TALLOC). It took me some time to figure out that merely
pkg-config was missing.
Add a check for pkg-config, which isn't as straightforward as I would wish,
so comment generously.
Change-Id: I2e7cdc37eb59f9947a45fbc5baddbaf71b655bc0
|
|
|
|
|
|
|
| |
Shipping our own private copy of talloc was a good idea in 2008,
when it was not readily available on most target platforms. Today,
the situation is quite different, as it is a standard library on
major Linux distributions.
|
|
|
|
|
|
| |
As we are making a decision whether we should use an existing system
library, we call it --with-system-talloc, rather than
--enable-system-talloc.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://autotools.io/pkgconfig/pkg_check_modules.html
> If you have the first call to PKG_CHECK_MODULES inside a bash
> conditional block, the expansion of PKG_PROG_PKG_CONFIG will also be
> conditional
> You can solve this problem in two ways; you can either explicitly call
> PKG_PROG_PKG_CONFIG outside of any conditional, forcing checking for
> pkg-config as soon as possible; or you can rewrite your conditionals
> to use the proper syntax
|
|
|
|
|
|
|
|
|
| |
This introduces a new configure flag by which the libosmocore-internal
talloc code is not compiled, but rather a system-wide libtalloc is used.
When we started openbsc/libosmocore in 2008, libtalloc was not widely
present on systems yet. This has changed meanwhile, and we should
simply use the system-wide library
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using configure --disable-static, no libosmogsm.a will be
created, and the tests fail to link because symbols like _a5_3 and
_a5_4 are not exported through the only remaining libosmogsm.so.
A method to overcome this is an intermediate private non-distributed
library, examples of which are present in e.g. libabc, kmod and
systemd.
With this, disable-static can now be the default and practical compile
time be halved.
|
|
|
|
|
|
|
| |
This fixes warning (and even build on some newer automake).
This should now work in the CI as well thanks to the fix for tests.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 7c942ba1475a366cc7c8a129fbdd335166ce21c6.
With automake 1.14 and using the above option the distclean
will fail with:
Making distclean in tests
gmake[2]: Entering directory '/home/builder/source/workspace/libosmocore/label/FreeBSD_amd64/libosmocore-0.8.0.47-7c94/_build/tests'
Makefile:848: ../src/gsm/.deps/a5.Po: No such file or directory
Makefile:849: ../src/gsm/.deps/kasumi.Po: No such file or directory
gmake[2]: *** No rule to make target '../src/gsm/.deps/kasumi.Po'. Stop.
gmake[2]: Leaving directory '/home/builder/source/workspace/libosmocore/label/FreeBSD_amd64/libosmocore-0.8.0.47-7c94/_build/tests'
Makefile:506: recipe for target 'distclean-recursive' failed
gmake[1]: *** [distclean-recursive] Error 1
gmake[1]: Leaving directory '/home/builder/source/workspace/libosmocore/label/FreeBSD_amd64/libosmocore-0.8.0.47-7c94/_build'
Makefile:714: recipe for target 'distcheck' failed
As we are not required to use the option, let's fix the build
|
|
|
|
| |
Apparently this is required under latest autotools versions.
|
|
|
|
|
|
| |
this fixes some compilation issues with libosmocore under NuttX,
particularly as some #defines are missing or some header files are
slightly different.
|
|
|
|
|
|
|
|
| |
* PCSC is enabled by default
* --enable-pcsc is enabling it
* --disable-pcscis disabling it
* Fix the makefile of the utilities to not build pcsc and
use the right header files/libraries.
|
| |
|
| |
|
|
|
|
| |
Now we actually build the recently-imported libctrl
|
|
|
|
|
|
|
| |
FreeBSD 10.0 ships an execinfo.h but one needs to link to an
additional library for the backtrace functions. Check if there
is a backtrace symbol in libexecinfo and if so link to that
library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the following complaint by autoconf 2.69-1, automake 1.13.1-1.
: configure.ac:80: error: 'AM_CONFIG_HEADER': this macro is obsolete.
: You should use the 'AC_CONFIG_HEADERS' macro instead.
: /usr/share/aclocal-1.13/obsolete-err.m4:12: AM_CONFIG_HEADER is expan
: configure.ac:80: the top level
Automake 1:1.11.3-1ubuntu2, autoconf 2.68-1ubuntu2 don't even emit a warning
without, and work just fine with this patch.
Signed-off-by: Christian Vogel <vogelchr@vogel.cx>
|
|
|
|
|
| |
Add a check to not use --version-script linker flag if compiled on OSX
since it doesn't exist there
|
|
|
|
|
| |
when we build for osmocom-bb cross-compilation, we don't have
sockets nor netinet/in.h and thus NS/BSSGP make no sense...
|
|
|
|
|
|
|
|
| |
This was fixed in 9c3dc90d16a40789081c84e46620f4d66689fec1 of
openbsc.git, after the sms code had been migrated here:
introduce HAVE_TM_GMTOFF_IN_TM
Not all architectures have the tm.tm_gmtoff member. This fixes cygwin builds.
|
|
|
|
|
|
|
|
| |
This actually allows for the user to override the decision and at the
same time supports compilers that might not be able to use -fPIC at
all.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
|
|
|
| |
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
|
|
|
|
|
|
| |
This line was reporting "command not found" and should not be a
problem, as there's a check for the same thing later on.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
|
|
|
|
|
|
| |
There's little to no point to build the gzip version of the tarball
when we're building the bzip2 version.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no real reason to keep the include directory a multi-level
recursion, so instead declare everything within include (so that we
can use proper nobase_ declarations) and be it.
Please note that since we removed the sub-Makefile.am, ./configure
will not create the directory structure for us on out-of-tree builds,
so we have to make sure the directory we're generating to exists first.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using a ./configure parameter to decide whehter to build
tests or not, use the check_PROGRAMS variable so that the tests are
only built when running `make check`.
To avoid slowing down the test phase itself, collapse the declaration
of the test targets in the tests/Makefile.am file, this way they can
be built and linked in parallel before the testsuite is executed.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|
| |
|
|
|
|
|
|
|
|
| |
There is now a "libosmogsm.map" file containing an explicit list of
to-be-exported symbols. This should prevent us from leaking non-static
symbols into the global namespace.
A similar scheme should be adopted by all other osmocom libraries
|
| |
|
|
|
|
|
|
| |
This tests verifies the content of the GSM 08.08 messages, it does
not verify the remaining headroom (which the SCCP/IPA code relies
on being plenty to prepend the header). More to come in the future.
|
|
|
|
|
|
|
| |
This is testing the establishment of two ends (BTS, MS) one is in
the polling mode as used by osmo-bts. Transfer data between the two
ends. The sent data is not verified though. This should be followed
up soon.
|
| |
|
|
|
|
|
|
|
| |
It tests both a given test vector encoding/decoding, and
some random coding/decoding cycles.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
| |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output of make check is looking like this now:
Regression tests.
1: bits ok
2: msgfile ok
3: sms ok
4: smscb ok
5: timer FAILED (testsuite.at:38)
6: ussd FAILED (testsuite.at:44)
|
|
|
|
|
|
|
|
|
|
|
| |
alloca.h is not available on FreeBSD, use the default autoconf
function to check for it, there is a complete list[1] of what to
do for using alloca but let us see how far we get with this test.
Include netinet/in.h for the IPv4 and IPv6 socket address. Check
for dlopen in libraries and use this instead of linking -dl.
[1] http://www.gnu.org/s/hello/manual/autoconf/Particular-Functions.html
|
|
|
|
| |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
| |
|
|
|
|
|
| |
Sometimes we need stuff like reversing every bit in each byte (but not
the byte-order).
|