aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2018-03-01timer: Introduce osmo_clock_gettime to override clock_gettimePau Espin Pedrol1-1/+2
Change-Id: I5bebc6e01fc9d238065bc2517058f0ba85620349
2017-11-17conv_acc: Our code requires SSSE3, not just SSE3Harald Welte1-5/+5
The accelerated convolutional decoder uses SSSE3 instructions such as PSIGNW (via _mm_sign_epi16) which go beyond what SSE3 offers. So let's make sure we use the right compiler flag (-mssse3) and also the right runtime check. Without this patch, we would use illegal instructions e.g. on Opteron Gen3 such as Opteron 2427, which are also used as build.opensuse.org build hosts (build31 through build36) where we wouldn't pass "make check" as a result. Change-Id: I2754164384109f2821fd98ffb48f625893f2923d Fixes: OS#2386
2017-10-30Move additional libraries to appropriate placeMax1-3/+3
According to https://www.gnu.org/software/automake/manual/automake.html#Libtool-Flags the libraries supposed to be added to *_LDADD or *_LIBADD while *_LDFLAGS should contain additional libtool linking flags. Previously we used both. Let's unify this and move all the libraries into proper automake variable. While at it - also add libosmocore.la for tests to LDADD since all the tests link against it anyway. Change-Id: Ia657a66db75df831421af5df1175a992da5ba80f
2017-10-27Tag/Release version 0.10.00.10.0Harald Welte1-1/+1
It's been way too long since the last release. Almost one year and 468 commits. A brief summary of the changes below: * Doxygen for libosmo{coding,gb} * pseudotalloc for embedded builds, jenkins for arm-none-gnueabi * --disable-doxygen, --disable-ctrl, --disable-simd * update debian packaging * gsm0503 coding routines * osmo_hton[sl] * statistics.h -> counter.h * QCDIAG in gsmtap * llist_{first,last}_entry() * llist_count() * LOGPSRC() macro * msgb_pull_to_l2() * msgb_printf() * prbs * osmo_sock_init2() * osmo_sock_mcast_{name,loop_set,ttl_set,all_set,subscribe,ip}() * OSMO_STRINGIFY() * OSMO_VALUE_STRING() * OSMO_BYTES_FOR_BITS() * osmo_talloc_asprintf() * osmo_sub_auth_type_name() * osmo_sub_auth_data support for IND/SQN_MS * osmo_fsm ctrl interface * ctrl_handle_alloc2() * ctrl_interface_setup_dynip2() * OSMO_CTRL_PORT_HLR * bssgp_tx_bvc_ptp_reset() * gprs_ns_inst connect/remote_{ip,port} * osmo_gprs_{ul,dl}_block_size_{bits,bytes}() * osmo_gprs_{dl,ul}_cs_by_block_bytes() * gprs_ns_pdu_strings[] * more BSSGP cause values * abis_nm_admin_name() * AoIP support in gsm0808 * gsm_fn_as_gsmtime_str() * osmo_dump_gsmtime() * gsup charging support * ipa_ccm_make_id_resp() * ipa_ccm_make_id_resp_from_req() * struct gsm48_gprs_susp_req * gsm_04_14.h * rsl measurement preprocessing related IEs * abis_nm_event_cause_names[] * abis_nm_sw_desc and friends * more SYSINFO_TYPE_ values * osmo_earfcn_bit_size_ext() * t16lv_put() * msgb_t16lv_put() * tlvp_val16be() * tlvp_val32be() * osmo_tlvp_copy() * osmo_tlvp_merge() * many additional VTY nodes * cmd_node.name member * bitvec_set_u64() * bitvec_rl_curbit * ctrl_lookup_register() * osmo_fsm_find_by_name() * osmo_fsm_inst_find_by_name() * osmo_fsm_inst_find_by_id() Change-Id: Ieb5db2e910a90db780ea058b3280f2facbd68d76
2017-10-15Rename 'statistics.c' to 'counter.c'Harald Welte1-1/+1
With stat_item, stats.c and stats_statsd.c, it is becoming a bit difficult to understand file naming. Also, the 'statistics.c' file actually only contained osmo_counter handling, so let's rename it to counter.c altogether. Change-Id: I2cfb2310543902b7da46cb15a76e2da317eaed7d
2017-07-10Add pseudo-random bit sequence generator to libosmcooreHarald Welte1-1/+1
These PRBS sequences are specified in ITU-T O.150. They are typically used as test data to be transmitted for BER (bit error rate) testing. Change-Id: I227b6a6e86a251460ecb816afa9a7439d5fb94d1
2017-06-19src/Makefile.am: fix build: use AM_CFLAGS, not CFLAGSNeels Hofmeyr1-4/+4
This allows passing 'make CFLAGS+="..."' without breaking the build. Suggested-by: zecke Change-Id: I0628a9c739cded771605f5c55df7f21cb07beb3b
2017-06-19core/conv: use proper filenamesVadim Yanitskiy1-8/+8
We already have generic convolutional transcoding implementation written by Sylvain Munaut and named 'conv.c', so 'viterbi_*' names looked a bit confusing. Let's use a single naming scheme for Viterbi related code. Change-Id: I61062a8d1fbf5f5fc85b4fac58dc4e9fa8b5ef90
2017-05-29core/conv: do not mix up AVX and SSE codeVadim Yanitskiy1-2/+15
According to GCC's wiki: If you specify command-line switches such as -msse, the compiler could use the extended instruction sets even if the built-ins are not used explicitly in the program. For this reason, applications that perform run-time CPU detection must compile separate files for each supported architecture, using the appropriate flags. In particular, the file containing the CPU detection code should be compiled without these options. So, this change introduces a separate Viterbi implementation, which is almost the same as previous one, but is being compiled with -mavx2. This implementation will be only used by CPUs with both SSE and AVX support: SSE3 and AVX2: viterbi_sse_avx.c SSE3 only: viterbi_sse.c Generic: viterbi_generic.c Change-Id: I042cc76258df7e4c6c90a73af3d0a6e75999b2b0
2017-05-29core/conv: rename viterbi_gen.c to viterbi_generic.cVadim Yanitskiy1-1/+1
Let's avoid confusion with generated files which have ending with _gen.* as well. Change-Id: I3ecd8f9e73c05236f2cdc186f58b3d0ba552283f
2017-05-24core/conv: add x86 SSE support for Viterbi decoderTom Tsou1-0/+6
Fast convolutional decoding is provided through x86 intrinsic based SSE operations. SSE3, found on virtually all modern x86 processors, is the minimal requirement. SSE4.1 and AVX2 are used if available. Also, the original code was extended with runtime SIMD detection, so only supported extensions will be used by target CPU. It makes the library more partable, what is very important for binary packages distribution. Runtime SIMD detection is currently implemented through the __builtin_cpu_supports call. Change-Id: I1da6d71ed0564f1d684f3a836e998d09de5f0351
2017-05-17add libpseudotalloc as super-simplistic talloc replacementHarald Welte1-0/+4
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
2017-05-17sercomm: Include in libosmocore MakefileHarald Welte1-1/+1
Change-Id: If9d50d634381f43b2c67b97fea36a462a66e4559
2017-04-11core/conv: implement optimized Viterbi decoderTom Tsou1-1/+2
Add a separate, faster convolution decoding implementation for rates up to N=4 and constraint lengths of K=5 and K=7, which covers the most GSM code uses. The decoding algorithm exploits the symmetric structure of the Viterbi add-compare-select (ACS) operation - commonly known as the ACS butterfly. This shift-register optimization can be found in the well-known text by Dave Forney. Forney, G.D., "The Viterbi Algorithm," Proc. of the IEEE, March 1973. Implementation is non-architecture specific and improves performance on x86 as well as ARM processors. Existing API is unchanged with optimized code being called internally for supported codes. The original code was relicensed under GPLv2-or-later with permission of copyright holder - Tom Tsou. Change-Id: I74d355274b4176a7d924f91ef3c96912ce338fb2
2016-12-21Catch-up with git version tagsMax1-2/+3
* update debian/changelog * update TODO-RELEASE * add comments to Makefile.am and TODO-RELEASE to simplify the process in future * add link to libtool docs to Makefile.am to simplify LIBVERSION maintenance Related: OS#1861 Change-Id: I22c257e357f597519120232d742d6a61289db021
2016-12-09Implement GSMTAP log targetHarald Welte1-1/+1
This target wraps the to-be-logged string (With metadata) into a GSMTAP packet and sends it to the configured destination address. Change-Id: I9a7e72b8c9c6f6f2d76d1ea2332dcdee12394625
2016-09-22add osmo_gettimeofday as a shim around gettimeofdayNeels Hofmeyr1-1/+1
This allows feeding a custom time for unit tests by overriding osmo_gettimeofday. Change-Id: Ic7a81a6eb51f27fe452962b91f2eae2070d87089
2016-06-16Add Finite State Machine abstraction codeHarald Welte1-1/+1
This code is supposed to formalize some of the state machine handling in Osmocom code. Change-Id: I0b0965a912598c1f6b84042a99fea9d522642466 Reviewed-on: https://gerrit.osmocom.org/163 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-02-18Add T4 bit map compression routinesMax1-1/+1
Add bit map encoder and decoder functions: decoder is fully functional while encoder is good enough for testing - no backtracking to find the best possible compression is implemented. If somebody is willing to implement MS side of EDGE than this has to be expanded. Add corresponding tests. N. B: the encoding is implemented according to ETSI TS 44.060 which is slightly different from T4 used for fax according to CCITT G31D (RFC 804). Ticket: OW#2407 Sponsored-by: On-Waves ehf Signed-off-by: Max <msuraev@sysmocom.de>
2015-12-23Add osmo_prim_op_names[] symbol and _SAP_SS7_BASE defineHarald Welte1-1/+1
2015-12-05remove our internal copy of talloc, use system libtallocHarald Welte1-11/+5
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.
2015-11-26stats: Move statsd related code into a separate fileJacob Erlbeck1-1/+1
This commit moves the stats specific code parts into stats_statsd.c while keeping the generic parts in stats.c. The code in stats.c no longer contains references to statsd symbols. Note that the VTY code still needs to know about every stats reporter backend. Sponsored-by: On-Waves ehf
2015-10-29stats: Add the reporting frameworkJacob Erlbeck1-1/+1
This commit provides the stats reporting framework that can manage several types of measurement reporters. Initially support for rate_ctr and the statsd protocol is included. Sponsored-by: On-Waves ehf
2015-10-28stats: Add stat_item for value monitoringJacob Erlbeck1-1/+1
This commit adds instrumentation function to gather measurement and statistical values similar to counter groups. Multiple values can be stored per item, which can be retrieved in FIFO order. Getting values from the item does not modify its state to allow for multiple independant backends (e.g. VTY and statd). When a new value is set, the oldest value gets silently overwritten. Lost values are skipped when getting values from the item. Sponsored-by: On-Waves ehf
2015-01-18Prepare a new libosmocore release0.8.0Holger Hans Peter Freyther1-1/+1
2014-10-03build: remove unused all_includes and use AM_CPPFLAGSJan Engelhardt1-1/+2
Preprocessor flags are best placed in AM_CPPFLAGS. Remove use of the unused all_includes variable, which is never set.
2014-08-25logging: Add ability to save/print current log filtersHarald Welte1-1/+1
This enables the persistent configuration of let's say 'log filter imsi 012345678' for a given log file in the config file.
2014-08-18osmocore: Add function osmo_macaddr_parse() to parse ETH MAC addressHarald Welte1-1/+2
2014-04-17backtrace: Speculative fix for FreeBSD10.0 and execinfo.hHolger Hans Peter Freyther1-1/+2
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.
2013-03-03cygwin: Link many libraries with -no-undefined to create a dllHolger Hans Peter Freyther1-2/+2
Only the Gb library relies on having undefined references to a symbol that needs to be provided by the host application. For all other libraries we can link with -no-undefined.
2013-02-27Added a ring buffer log target to store the last N log messages.Katerina Barone-Adesi1-2/+2
The log target can be used via log alarms and show alarms. Why? This feature was proposed/requested at http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget All messages use the same amount of space, prioritizing simplicity.
2013-02-27Revert "Added a ring buffer log target to store the last N log messages."Holger Hans Peter Freyther1-2/+2
I noticed some more issues and it is the easiest to revert and include the fixed version. This reverts commit 73377229bb33ab79682ce4b126a63602d13304ad.
2013-02-27Added a ring buffer log target to store the last N log messages.Katerina Barone-Adesi1-2/+2
The log target can be used via log alarms and show alarms. Why? This feature was proposed/requested at http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget All messages use the same amount of space, prioritizing simplicity.
2012-12-11build: Don't use the deprecated INCLUDES in the various Makefile.amSylvain Munaut1-2/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2012-06-30build: use LT_INIT(pic-only) instead of forcing -fPIC.0.5.2Diego Elio Pettenò1-1/+1
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>
2012-06-30build: avoid multi-level recursion for src/ directory.Diego Elio Pettenò1-2/+0
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-06-30build: use BUILT_SOURCES for the generated source files.Diego Elio Pettenò1-0/+2
This avoids possible race conditions on heavily multi-core systems. Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-06-30build: use the standard AM_V_GEN definition for output.Diego Elio Pettenò1-2/+1
This actually allows for the command to be printed if using `make V=1` Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-06-17libosmogb: move files to proper location and fix build0.5.0Harald Welte1-1/+1
2011-11-24libosmocore: Update LIBVERSION because of ABI chaangesSylvain Munaut1-1/+1
The recent convolutional code changes break the ABI. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-11-09freebsd: Fixes for the compilation of libosmocore on FreeBSDHolger Hans Peter Freyther1-1/+1
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
2011-10-21core: Fix include path to use top_builddir as well for generated headersSylvain Munaut1-1/+1
With the new generated headers for the CRC code, we need to include the builddir as well in case we're building out of tree. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-10-17bump major library version / breaking the ABI with the rb_tree timersHarald Welte1-1/+1
2011-10-17add rb-tree implementation to libosmocorePablo Neira Ayuso1-1/+1
This patch adds red black trees implementation to libosmocore. This data structure is very useful to search for elements in ordered sets in O(log n) instead of O(n) that lists provide. The first client of this code will be one follow up patch that implements rbtree-based timer scheduler.
2011-10-10build: resolve link failure when --disable-talloc is usedJan Engelhardt1-0/+2
2011-10-10update LIBVERSION to reflect new API additions0.3.10Harald Welte1-1/+1
2011-09-16core: Add generic CRC functions (templates expended to 8 16 32 64 bits)Sylvain Munaut1-1/+6
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-09-02core/serial: Add utilities to deal with serial portsSylvain Munaut1-0/+4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-06-26merge process.[ch] with application.[ch]Harald Welte1-1/+1
2011-05-22gsmtap: rework GSMTAP API to be more future-proof0.3.1Harald Welte1-2/+2
* use write_queue where applicable * provide functions that work on raw FD and those with osmo_fd * add support for multiple gsmtap instances (no global variables)