2012-06-14 13:05:44 +00:00
|
|
|
dnl Process this file with autoconf to produce a configure script
|
|
|
|
AC_INIT([osmo-pcu],
|
|
|
|
m4_esyscmd([./git-version-gen .tarball-version]),
|
2015-05-22 02:43:34 +00:00
|
|
|
[osmocom-net-gprs@lists.osmocom.org])
|
2012-06-14 13:05:44 +00:00
|
|
|
|
2016-09-30 22:35:06 +00:00
|
|
|
dnl *This* is the root dir, even if an install-sh exists in ../ or ../../
|
|
|
|
AC_CONFIG_AUX_DIR([.])
|
|
|
|
|
2012-06-14 13:05:44 +00:00
|
|
|
AM_INIT_AUTOMAKE([dist-bzip2])
|
2013-07-28 14:45:54 +00:00
|
|
|
AC_CONFIG_TESTDIR(tests)
|
2012-06-14 13:05:44 +00:00
|
|
|
|
2019-09-18 09:15:28 +00:00
|
|
|
CXXFLAGS="$CXXFLAGS -std=gnu++03"
|
2021-01-27 16:55:04 +00:00
|
|
|
CFLAGS="$CFLAGS -std=gnu11"
|
2019-09-18 09:15:28 +00:00
|
|
|
|
2012-06-14 13:05:44 +00:00
|
|
|
dnl kernel style compile messages
|
|
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
|
|
2017-08-24 11:53:25 +00:00
|
|
|
dnl include release helper
|
|
|
|
RELMAKE='-include osmo-release.mk'
|
|
|
|
AC_SUBST([RELMAKE])
|
|
|
|
|
2012-06-14 13:05:44 +00:00
|
|
|
dnl checks for programs
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_CXX
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
LT_INIT
|
|
|
|
|
2020-08-18 11:36:59 +00:00
|
|
|
dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang
|
2020-04-10 23:19:46 +00:00
|
|
|
AS_CASE(["$LD"],[*clang*],
|
|
|
|
[AS_CASE(["${host_os}"],
|
|
|
|
[*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])])
|
|
|
|
|
2016-09-30 22:52:10 +00:00
|
|
|
dnl check for pkg-config (explained in detail in libosmocore/configure.ac)
|
|
|
|
AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no)
|
|
|
|
if test "x$PKG_CONFIG_INSTALLED" = "xno"; then
|
|
|
|
AC_MSG_WARN([You need to install pkg-config])
|
|
|
|
fi
|
|
|
|
PKG_PROG_PKG_CONFIG([0.20])
|
|
|
|
|
2012-06-14 13:05:44 +00:00
|
|
|
dnl checks for header files
|
|
|
|
AC_HEADER_STDC
|
|
|
|
|
|
|
|
dnl Checks for typedefs, structures and compiler characteristics
|
|
|
|
|
2017-12-21 16:27:34 +00:00
|
|
|
AC_ARG_ENABLE(sanitize,
|
|
|
|
[AS_HELP_STRING([--enable-sanitize], [Compile with address sanitizer enabled], )],
|
|
|
|
[sanitize=$enableval], [sanitize="no"])
|
|
|
|
if test x"$sanitize" = x"yes"
|
|
|
|
then
|
|
|
|
CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined"
|
2018-09-10 12:50:24 +00:00
|
|
|
CXXFLAGS="$CXXFLAGS -fsanitize=address -fsanitize=undefined"
|
2017-12-21 16:27:34 +00:00
|
|
|
CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined"
|
2018-01-14 21:17:10 +00:00
|
|
|
LDFLAGS="$LDFLAGS -fsanitize=address -fsanitize=undefined"
|
2017-12-21 16:27:34 +00:00
|
|
|
fi
|
|
|
|
|
2018-03-05 19:44:11 +00:00
|
|
|
AC_ARG_ENABLE(werror,
|
|
|
|
[AS_HELP_STRING(
|
|
|
|
[--enable-werror],
|
|
|
|
[Turn all compiler warnings into errors, with exceptions:
|
|
|
|
a) deprecation (allow upstream to mark deprecation without breaking builds);
|
|
|
|
b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds)
|
|
|
|
]
|
|
|
|
)],
|
|
|
|
[werror=$enableval], [werror="no"])
|
|
|
|
if test x"$werror" = x"yes"
|
|
|
|
then
|
|
|
|
WERROR_FLAGS="-Werror"
|
|
|
|
WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations"
|
|
|
|
WERROR_FLAGS+=" -Wno-error=cpp" # "#warning"
|
|
|
|
CFLAGS="$CFLAGS $WERROR_FLAGS"
|
|
|
|
CPPFLAGS="$CPPFLAGS $WERROR_FLAGS"
|
|
|
|
fi
|
|
|
|
|
2017-12-28 13:18:02 +00:00
|
|
|
AC_ARG_ENABLE(profile,
|
|
|
|
[AS_HELP_STRING([--enable-profile], [Compile with profiling support enabled], )],
|
|
|
|
[profile=$enableval], [profile="no"])
|
|
|
|
if test x"$profile" = x"yes"
|
|
|
|
then
|
|
|
|
CFLAGS="$CFLAGS -pg"
|
|
|
|
CPPFLAGS="$CPPFLAGS -pg"
|
|
|
|
fi
|
|
|
|
|
2012-06-14 13:05:44 +00:00
|
|
|
dnl checks for libraries
|
2020-08-18 11:43:43 +00:00
|
|
|
PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0)
|
|
|
|
PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0)
|
Introduce NACC support
A new nacc_fsm is introduced per MS object, with its partner priv
structure struct nacc_fsm_ctx, which exists and is available in the MS
object only during the duration of the NACC procedure.
The NACC context is created on an MS whenever a Pkt Cell Change
Notification is received on Uplink RLCMAC, which asks for neighbor
information of a given ARFCN+BSIC.
First, the target ARFCN+BSIC needs to be translated into a CGI-PS
(RAC+CI) address. That's done by asking the BSC through the Neighbour
Resolution Service available in osmo-bsc using the CTRL interface.
Once the CGI-PS of the target cell is known, PCU starts a RIM RAN-INFO
request against the SGSN (which will route the request as needed), and
wait for a response containing the SI bits from the target cell.
After the SI are received, the scheduler is instructed to eventually
poll a TBF for the MS originating the CCN, so that we can send the SI
encapsulated into multiple Packet Neighbor Cell Data messages on the
downlink.
One all the SI bits are sent, the scheduler is instructed to send a
Packet Cell Change Continue message.
Once the message above has been sent, the FSM autodestroys itself.
Caches are also introduced in this patch which allows for re-using
recently known translations ARFCN+BSIC -> CGI-PS and CGI-PS -> SI_INFO
respectively.
Change-Id: Id35f40d05f3e081f32fddbf1fa34cb338db452ca
2021-01-21 17:46:13 +00:00
|
|
|
PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0)
|
2020-08-18 11:43:43 +00:00
|
|
|
PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0)
|
|
|
|
PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.4.0)
|
2012-06-14 13:05:44 +00:00
|
|
|
|
2012-12-18 09:47:28 +00:00
|
|
|
AC_MSG_CHECKING([whether to enable direct DSP access for PDCH of sysmocom-bts])
|
|
|
|
AC_ARG_ENABLE(sysmocom-dsp,
|
configure: fix --enable-sysmocom-dsp and --with-sysmobts flags
Fix multiple problems around the sysmobts DSP access and headers:
- Use the proper variable name to detect the choice: $enable_sysmocom_bts was
not set anywhere and would actually be used from the current user env, if
present, instead of from configure args.
- Quote the $CPPFLAGS when assigning to oldCPPFLAGS and back.
- When checking SYSMOBTS_INCDIR, do not allow an empty "-I" without a dir.
- Ensure the --with-sysmobts path is used as an absolute path.
- Error out if --with-sysmobts is paired with --disable-sysmocom-dsp.
Also tweak reporting.
The resulting behavior now is:
./configure --disable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... no
./configure --enable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found, see --with-sysmobts
./configure --disable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... error
configure: error: --with-sysmobts does not work with --disable-sysmocom-dsp
./configure --enable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=/nonexisting/path
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/nonexisting/path
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/nonexisting/path, see --with-sysmobts
./configure --with-sysmobts=/var/log
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/var/log
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/var/log, see --with-sysmobts
Change-Id: I2f5988730dbbcf3b21d8c647c499623843ed3da9
2018-03-29 14:47:41 +00:00
|
|
|
AC_HELP_STRING([--enable-sysmocom-dsp],
|
|
|
|
[enable code for direct sysmocom DSP access[default=no]]),
|
|
|
|
[enable_sysmocom_dsp="$enableval"], [enable_sysmocom_dsp="unset"])
|
|
|
|
AC_ARG_WITH([sysmobts],
|
|
|
|
[AS_HELP_STRING([--with-sysmobts=INCLUDE_DIR],
|
|
|
|
[Location of the sysmobts API header files, implies --enable-sysmocom-dsp])],
|
|
|
|
[sysmobts_incdir="$withval"], [sysmobts_incdir=""])
|
|
|
|
if test "x$sysmobts_incdir" != "x"; then
|
|
|
|
# --with-sysmobts was passed, imply enable_sysmocom_dsp
|
|
|
|
if test "x$enable_sysmocom_dsp" = "xno"; then
|
|
|
|
AC_MSG_RESULT([error])
|
|
|
|
AC_MSG_ERROR([--with-sysmobts does not work with --disable-sysmocom-dsp])
|
|
|
|
fi
|
|
|
|
enable_sysmocom_dsp="yes"
|
|
|
|
# 'readlink' should make an absolute path, but must not return empty if the path does not exist,
|
|
|
|
# so we can still report on it below.
|
|
|
|
sysmobts_incdir="$(readlink -fm "$sysmobts_incdir")"
|
|
|
|
AC_SUBST([SYSMOBTS_INCDIR], $sysmobts_incdir)
|
|
|
|
AC_MSG_RESULT([yes, using -I$SYSMOBTS_INCDIR])
|
|
|
|
else
|
|
|
|
AC_SUBST([SYSMOBTS_INCDIR], "")
|
|
|
|
AC_MSG_RESULT([$enable_sysmocom_dsp])
|
|
|
|
fi
|
2012-12-18 09:47:28 +00:00
|
|
|
AM_CONDITIONAL(ENABLE_SYSMODSP, test "x$enable_sysmocom_dsp" = "xyes")
|
configure: fix --enable-sysmocom-dsp and --with-sysmobts flags
Fix multiple problems around the sysmobts DSP access and headers:
- Use the proper variable name to detect the choice: $enable_sysmocom_bts was
not set anywhere and would actually be used from the current user env, if
present, instead of from configure args.
- Quote the $CPPFLAGS when assigning to oldCPPFLAGS and back.
- When checking SYSMOBTS_INCDIR, do not allow an empty "-I" without a dir.
- Ensure the --with-sysmobts path is used as an absolute path.
- Error out if --with-sysmobts is paired with --disable-sysmocom-dsp.
Also tweak reporting.
The resulting behavior now is:
./configure --disable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... no
./configure --enable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found, see --with-sysmobts
./configure --disable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... error
configure: error: --with-sysmobts does not work with --disable-sysmocom-dsp
./configure --enable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=/nonexisting/path
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/nonexisting/path
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/nonexisting/path, see --with-sysmobts
./configure --with-sysmobts=/var/log
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/var/log
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/var/log, see --with-sysmobts
Change-Id: I2f5988730dbbcf3b21d8c647c499623843ed3da9
2018-03-29 14:47:41 +00:00
|
|
|
if test "x$enable_sysmocom_dsp" = "xyes"; then
|
|
|
|
oldCPPFLAGS="$CPPFLAGS"
|
|
|
|
_sysmobts_include=""
|
|
|
|
_sysmobts_include_msg=""
|
|
|
|
if test -n "$SYSMOBTS_INCDIR"; then
|
|
|
|
_sysmobts_include="-I$SYSMOBTS_INCDIR"
|
|
|
|
_sysmobts_include_msg=" in -I$SYSMOBTS_INCDIR"
|
|
|
|
fi
|
|
|
|
CPPFLAGS="$CPPFLAGS $_sysmobts_include -I$srcdir/include $LIBOSMOCORE_CFLAGS"
|
2018-01-15 15:43:22 +00:00
|
|
|
AC_CHECK_HEADER([sysmocom/femtobts/superfemto.h],[],
|
configure: fix --enable-sysmocom-dsp and --with-sysmobts flags
Fix multiple problems around the sysmobts DSP access and headers:
- Use the proper variable name to detect the choice: $enable_sysmocom_bts was
not set anywhere and would actually be used from the current user env, if
present, instead of from configure args.
- Quote the $CPPFLAGS when assigning to oldCPPFLAGS and back.
- When checking SYSMOBTS_INCDIR, do not allow an empty "-I" without a dir.
- Ensure the --with-sysmobts path is used as an absolute path.
- Error out if --with-sysmobts is paired with --disable-sysmocom-dsp.
Also tweak reporting.
The resulting behavior now is:
./configure --disable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... no
./configure --enable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found, see --with-sysmobts
./configure --disable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... error
configure: error: --with-sysmobts does not work with --disable-sysmocom-dsp
./configure --enable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=/nonexisting/path
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/nonexisting/path
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/nonexisting/path, see --with-sysmobts
./configure --with-sysmobts=/var/log
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/var/log
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/var/log, see --with-sysmobts
Change-Id: I2f5988730dbbcf3b21d8c647c499623843ed3da9
2018-03-29 14:47:41 +00:00
|
|
|
[AC_MSG_ERROR([sysmocom/femtobts/superfemto.h can not be found$_sysmobts_include_msg, see --with-sysmobts])],
|
2018-01-15 15:43:22 +00:00
|
|
|
[#include <sysmocom/femtobts/superfemto.h>])
|
configure: fix --enable-sysmocom-dsp and --with-sysmobts flags
Fix multiple problems around the sysmobts DSP access and headers:
- Use the proper variable name to detect the choice: $enable_sysmocom_bts was
not set anywhere and would actually be used from the current user env, if
present, instead of from configure args.
- Quote the $CPPFLAGS when assigning to oldCPPFLAGS and back.
- When checking SYSMOBTS_INCDIR, do not allow an empty "-I" without a dir.
- Ensure the --with-sysmobts path is used as an absolute path.
- Error out if --with-sysmobts is paired with --disable-sysmocom-dsp.
Also tweak reporting.
The resulting behavior now is:
./configure --disable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... no
./configure --enable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found, see --with-sysmobts
./configure --disable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... error
configure: error: --with-sysmobts does not work with --disable-sysmocom-dsp
./configure --enable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=/nonexisting/path
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/nonexisting/path
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/nonexisting/path, see --with-sysmobts
./configure --with-sysmobts=/var/log
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/var/log
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/var/log, see --with-sysmobts
Change-Id: I2f5988730dbbcf3b21d8c647c499623843ed3da9
2018-03-29 14:47:41 +00:00
|
|
|
CPPFLAGS="$oldCPPFLAGS"
|
2018-01-15 15:43:22 +00:00
|
|
|
fi
|
2012-12-18 09:47:28 +00:00
|
|
|
|
2016-05-19 09:08:03 +00:00
|
|
|
AC_MSG_CHECKING([whether to enable direct PHY access for PDCH of NuRAN Wireless Litecell 1.5 BTS])
|
|
|
|
AC_ARG_ENABLE(lc15bts-phy,
|
|
|
|
AC_HELP_STRING([--enable-lc15bts-phy],
|
|
|
|
[enable code for Litecell 1.5 PHY [default=no]]),
|
|
|
|
[enable_lc15bts_phy="$enableval"],[enable_lc15bts_phy="no"])
|
|
|
|
AC_ARG_WITH([litecell15], [AS_HELP_STRING([--with-litecell15=INCLUDE_DIR], [Location of the litecell 1.5 API header files])],
|
2017-06-11 09:36:33 +00:00
|
|
|
[litecell15_cflags="-I$withval"],[litecell15_cflags=""])
|
|
|
|
AC_SUBST([LITECELL15_CFLAGS], $litecell15_cflags)
|
2016-05-19 09:08:03 +00:00
|
|
|
AC_MSG_RESULT([$enable_lc15bts_phy])
|
|
|
|
AM_CONDITIONAL(ENABLE_LC15BTS_PHY, test "x$enable_lc15bts_phy" = "xyes")
|
|
|
|
if test "$enable_litecell15" = "yes"; then
|
2018-03-29 15:04:43 +00:00
|
|
|
oldCPPFLAGS="$CPPFLAGS"
|
2017-06-11 09:36:33 +00:00
|
|
|
CPPFLAGS="$CPPFLAGS $LITECELL15_CFLAGS -I$srcdir/include $LIBOSMOCORE_CFLAGS"
|
2016-05-19 09:08:03 +00:00
|
|
|
AC_CHECK_HEADER([nrw/litecell15/litecell15.h],[],
|
2017-06-11 09:36:33 +00:00
|
|
|
[AC_MSG_ERROR([nrw/litecell15/litecell15.h can not be found using $litecell15_cflags])],
|
2016-05-19 09:08:03 +00:00
|
|
|
[#include <nrw/litecell15/litecell15.h>])
|
2018-03-29 15:04:43 +00:00
|
|
|
CPPFLAGS="$oldCPPFLAGS"
|
2016-05-19 09:08:03 +00:00
|
|
|
fi
|
|
|
|
|
2017-06-05 18:44:57 +00:00
|
|
|
AC_MSG_CHECKING([whether to enable direct PHY access for PDCH of NuRAN Wireless OC-2G BTS])
|
|
|
|
AC_ARG_ENABLE(oc2gbts-phy,
|
|
|
|
AC_HELP_STRING([--enable-oc2gbts-phy],
|
|
|
|
[enable code for OC-2G PHY [default=no]]),
|
|
|
|
[enable_oc2gbts_phy="$enableval"],[enable_oc2gbts_phy="no"])
|
|
|
|
AC_ARG_WITH([oc2g], [AS_HELP_STRING([--with-oc2g=INCLUDE_DIR], [Location of the OC-2G API header files])],
|
|
|
|
[oc2g_incdir="$withval"],[oc2g_incdir="$incdir"])
|
|
|
|
AC_SUBST([OC2G_INCDIR], $oc2g_incdir)
|
|
|
|
AC_MSG_RESULT([$enable_oc2gbts_phy])
|
|
|
|
AM_CONDITIONAL(ENABLE_OC2GBTS_PHY, test "x$enable_oc2gbts_phy" = "xyes")
|
|
|
|
if test "$enable_oc2g" = "yes"; then
|
|
|
|
oldCPPFLAGS=$CPPFLAGS
|
|
|
|
CPPFLAGS="$CPPFLAGS -I$OC2G_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS"
|
|
|
|
AC_CHECK_HEADER([nrw/oc2g/oc2g.h],[],
|
|
|
|
[AC_MSG_ERROR([nrw/oc2g/oc2g.h can not be found in $oc2g_incdir])],
|
|
|
|
[#include <nrw/oc2g/oc2g.h>])
|
|
|
|
CPPFLAGS=$oldCPPFLAGS
|
|
|
|
fi
|
|
|
|
|
2013-04-05 19:44:46 +00:00
|
|
|
AC_ARG_ENABLE([vty_tests],
|
|
|
|
AC_HELP_STRING([--enable-vty-tests],
|
2013-04-24 11:53:25 +00:00
|
|
|
[Include the VTY tests in make check [default=no]]),
|
|
|
|
[enable_vty_tests="$enableval"],[enable_vty_tests="no"])
|
2013-04-05 19:44:46 +00:00
|
|
|
if test "x$enable_vty_tests" = "xyes" ; then
|
|
|
|
AM_PATH_PYTHON
|
|
|
|
AC_CHECK_PROG(OSMOTESTVTY_CHECK,osmotestvty.py,yes)
|
|
|
|
if test "x$OSMOTESTVTY_CHECK" != "xyes" ; then
|
|
|
|
AC_MSG_ERROR([Please install osmocom-python to run the vty tests.])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether to enable VTY tests])
|
|
|
|
AC_MSG_RESULT([$enable_vty_tests])
|
|
|
|
AM_CONDITIONAL(ENABLE_VTY_TESTS, test "x$enable_vty_tests" = "xyes")
|
|
|
|
|
2016-09-30 14:25:16 +00:00
|
|
|
STD_DEFINES_AND_INCLUDES="-Wall"
|
|
|
|
AC_SUBST(STD_DEFINES_AND_INCLUDES)
|
|
|
|
|
2018-11-14 09:47:01 +00:00
|
|
|
# Generate manuals
|
|
|
|
AC_ARG_ENABLE(manuals,
|
|
|
|
[AS_HELP_STRING(
|
|
|
|
[--enable-manuals],
|
|
|
|
[Generate manual PDFs [default=no]],
|
|
|
|
)],
|
|
|
|
[osmo_ac_build_manuals=$enableval], [osmo_ac_build_manuals="no"])
|
|
|
|
AM_CONDITIONAL([BUILD_MANUALS], [test x"$osmo_ac_build_manuals" = x"yes"])
|
|
|
|
AC_ARG_VAR(OSMO_GSM_MANUALS_DIR, [path to common osmo-gsm-manuals files, overriding pkg-config and "../osmo-gsm-manuals"
|
|
|
|
fallback])
|
|
|
|
if test x"$osmo_ac_build_manuals" = x"yes"
|
|
|
|
then
|
|
|
|
# Find OSMO_GSM_MANUALS_DIR (env, pkg-conf, fallback)
|
|
|
|
if test -n "$OSMO_GSM_MANUALS_DIR"; then
|
|
|
|
echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from env)"
|
|
|
|
else
|
|
|
|
OSMO_GSM_MANUALS_DIR="$($PKG_CONFIG osmo-gsm-manuals --variable=osmogsmmanualsdir 2>/dev/null)"
|
|
|
|
if test -n "$OSMO_GSM_MANUALS_DIR"; then
|
|
|
|
echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from pkg-conf)"
|
|
|
|
else
|
|
|
|
OSMO_GSM_MANUALS_DIR="../osmo-gsm-manuals"
|
|
|
|
echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (fallback)"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if ! test -d "$OSMO_GSM_MANUALS_DIR"; then
|
|
|
|
AC_MSG_ERROR("OSMO_GSM_MANUALS_DIR does not exist! Install osmo-gsm-manuals or set OSMO_GSM_MANUALS_DIR.")
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Find and run check-depends
|
|
|
|
CHECK_DEPENDS="$OSMO_GSM_MANUALS_DIR/check-depends.sh"
|
|
|
|
if ! test -x "$CHECK_DEPENDS"; then
|
|
|
|
CHECK_DEPENDS="osmo-gsm-manuals-check-depends"
|
|
|
|
fi
|
|
|
|
if ! $CHECK_DEPENDS; then
|
|
|
|
AC_MSG_ERROR("missing dependencies for --enable-manuals")
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Put in Makefile with absolute path
|
|
|
|
OSMO_GSM_MANUALS_DIR="$(realpath "$OSMO_GSM_MANUALS_DIR")"
|
|
|
|
AC_SUBST([OSMO_GSM_MANUALS_DIR])
|
|
|
|
fi
|
|
|
|
|
2018-09-10 11:28:25 +00:00
|
|
|
# https://www.freedesktop.org/software/systemd/man/daemon.html
|
|
|
|
AC_ARG_WITH([systemdsystemunitdir],
|
|
|
|
[AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
|
|
|
|
[with_systemdsystemunitdir=auto])
|
|
|
|
AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
|
|
|
|
def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
|
|
|
|
|
|
|
|
AS_IF([test "x$def_systemdsystemunitdir" = "x"],
|
|
|
|
[AS_IF([test "x$with_systemdsystemunitdir" = "xyes"],
|
|
|
|
[AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])
|
|
|
|
with_systemdsystemunitdir=no],
|
|
|
|
[with_systemdsystemunitdir="$def_systemdsystemunitdir"])])
|
|
|
|
AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
|
|
|
|
[AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
|
|
|
|
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])
|
|
|
|
|
2018-03-05 19:44:11 +00:00
|
|
|
AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"])
|
2018-09-10 12:50:24 +00:00
|
|
|
AC_MSG_RESULT([CFLAGS="$CFLAGS"])
|
|
|
|
AC_MSG_RESULT([CXXFLAGS="$CXXFLAGS"])
|
|
|
|
AC_MSG_RESULT([LDFLAGS="$LDFLAGS"])
|
2018-03-05 19:44:11 +00:00
|
|
|
|
2012-06-14 13:05:44 +00:00
|
|
|
AC_OUTPUT(
|
2016-11-16 21:48:33 +00:00
|
|
|
include/Makefile
|
2012-06-14 13:05:44 +00:00
|
|
|
src/Makefile
|
2018-09-12 17:14:07 +00:00
|
|
|
doc/Makefile
|
|
|
|
doc/examples/Makefile
|
2013-07-28 14:15:41 +00:00
|
|
|
tests/Makefile
|
2018-11-14 09:47:01 +00:00
|
|
|
doc/manuals/Makefile
|
2018-09-10 11:28:25 +00:00
|
|
|
contrib/Makefile
|
|
|
|
contrib/systemd/Makefile
|
2020-05-14 09:51:10 +00:00
|
|
|
contrib/osmo-pcu.spec
|
2012-06-14 13:05:44 +00:00
|
|
|
Makefile)
|