While exploring why logging is disabled but still shows up in the binaries I kind of wondered how all the config.h HAVE_XX checks we have everwhere work. Apparently they do not work at all, due to missing or misplaced include of config.h.
This affects tons of other checks as well.
The jenkins hook ensures the include order is checked to ensure config.h does not get misplaced or lost in the future.
Before 9197c1ac, the AC_ARG_ENABLE(log_macros, ...) action was hardcoded to [log_macros="yes"], so *any* use of the flag --enable-log-macros or --disable-log-macros would set log_macros="yes" -> AC_DEFINE([LIBOSMOCORE_NO_LOGGING]).
The commit changed this to the standard [log_macros=$enableval], but broke the conditional test, so - AC_ARG_ENABLE sets $enableval to "no" for --disable-* flags -> log_macros is now "no" -> test fails -> LIBOSMOCORE_NO_LOGGING is never defined...
gsm0808: fix wrong codec defaults for OFR_AMR_WB 3GPP TS 48.008 chapter 3.2.2.103 states that the configuration bits of OFR_AMR_WB are coded as follows: "S0, S2, S4 indicates the supported Codec Configurations. S1, S3, S5, S6, S7 are reserved and coded with zeroes." The current default setting of 0x3F violates this requirement. Lets set the "forbidden" settings zu zero and keep only the allowed ones. Change-Id: I4a481def59e9c98cfdcafc2b80c0ac7df0c14130
gsm0808: add function to convert amr gsm0408 setings to gsm0808 Add a function to convert struct gsm48_multi_rate_conf, which holds the codec settings for AMR, to S0-S15 bit representation as defined in 3GPP TS 48.008 3.2.2.49 Change-Id: I4e656731b16621736c7a2f4e64d9ce63b1064e98 Related: OS#3548