2011-03-04 13:18:10 +00:00
dnl Process this file with autoconf to produce a configure script
2011-09-07 19:28:27 +00:00
AC_INIT([osmo-bts],
m4_esyscmd([./git-version-gen .tarball-version]),
[openbsc-devel@lists.openbsc.org])
2011-03-04 13:18:10 +00:00
2016-09-30 23:04:19 +00:00
dnl *This* is the root dir, even if an install-sh exists in ../ or ../../
AC_CONFIG_AUX_DIR([.])
2015-11-05 21:48:24 +00:00
AM_INIT_AUTOMAKE([dist-bzip2])
2011-12-01 08:12:47 +00:00
AC_CONFIG_TESTDIR(tests)
2011-03-04 13:18:10 +00:00
dnl kernel style compile messages
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl checks for programs
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB
2016-09-30 22:51:48 +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])
2011-06-27 09:45:15 +00:00
dnl checks for header files
AC_HEADER_STDC
dnl Checks for typedefs, structures and compiler characteristics
2011-03-04 13:18:10 +00:00
dnl checks for libraries
2011-09-04 21:00:20 +00:00
PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.3.9)
2011-03-04 13:18:10 +00:00
PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty)
2015-10-12 10:11:53 +00:00
PKG_CHECK_MODULES(LIBOSMOTRAU, libosmotrau >= 0.3.2)
2011-06-27 09:32:11 +00:00
PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.3.3)
2014-08-24 15:04:54 +00:00
PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl)
2013-02-10 09:21:12 +00:00
PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis)
2013-02-16 13:28:25 +00:00
PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec)
2015-11-05 21:49:19 +00:00
PKG_CHECK_MODULES(ORTP, ortp)
2011-03-04 13:18:10 +00:00
2015-10-12 10:15:49 +00:00
AC_MSG_CHECKING([whether to enable support for sysmoBTS L1/PHY support])
2011-06-27 09:45:15 +00:00
AC_ARG_ENABLE(sysmocom-bts,
AC_HELP_STRING([--enable-sysmocom-bts],
2015-10-12 10:15:49 +00:00
[enable code for sysmoBTS L1/PHY [default=no]]),
2011-06-27 09:45:15 +00:00
[enable_sysmocom_bts="yes"],[enable_sysmocom_bts="no"])
AC_MSG_RESULT([$enable_sysmocom_bts])
AM_CONDITIONAL(ENABLE_SYSMOBTS, test "x$enable_sysmocom_bts" = "xyes")
2015-10-12 10:09:54 +00:00
if test "$enable_sysmocom_bts" = "yes"; then
PKG_CHECK_MODULES(LIBGPS, libgps)
fi
2011-03-04 13:18:10 +00:00
2015-10-12 10:15:49 +00:00
AC_MSG_CHECKING([whether to enable support for osmo-trx based L1/PHY support])
2013-02-05 10:45:28 +00:00
AC_ARG_ENABLE(trx,
AC_HELP_STRING([--enable-trx],
2015-10-12 10:15:49 +00:00
[enable code for osmo-trx L1/PHY [default=no]]),
2013-02-05 10:45:28 +00:00
[enable_trx="yes"],[enable_trx="no"])
AC_MSG_RESULT([$enable_trx])
AM_CONDITIONAL(ENABLE_TRX, test "x$enable_trx" = "xyes")
2015-09-06 14:04:32 +00:00
AC_MSG_CHECKING([whether to enable support for Octasic OCTPHY-2G])
AC_ARG_ENABLE(octphy,
AC_HELP_STRING([--enable-octphy],
[enable code for Octasic OCTPHY-2G [default=no]]),
[enable_octphy="yes"],[enable_octphy="no"])
AC_ARG_WITH([octsdr-2g], [AS_HELP_STRING([--with-octsdr-2g], [Location of the OCTSDR-2G API header files])],
[octsdr2g_incdir="$withval"],[octsdr2g_incdir="`cd $srcdir; pwd`/src/osmo-bts-octphy/"])
AC_SUBST([OCTSDR2G_INCDIR], $octsdr2g_incdir)
AC_MSG_RESULT([$enable_octphy])
AM_CONDITIONAL(ENABLE_OCTPHY, test "x$enable_octphy" = "xyes")
if test "$enable_octphy" = "yes" ; then
oldCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$OCTSDR2G_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS"
AC_CHECK_HEADER([octphy/octvc1/gsm/octvc1_gsm_default.h],[],
[AC_MSG_ERROR([octphy/octvc1/gsm/octvc1_gsm_default.h can not be found in $octsdr2g_incdir])],
[#include <octphy/octvc1/gsm/octvc1_gsm_default.h>])
2016-11-25 12:25:27 +00:00
AC_CHECK_MEMBER([tOCTVC1_GSM_TRX_CONFIG.usCentreArfcn], AC_DEFINE([OCTPHY_MULTI_TRX], [1], [Define to 1 if your octphy header files support multi-trx]), [], [#include <octphy/octvc1/gsm/octvc1_gsm_api.h>])
2015-09-06 14:04:32 +00:00
CPPFLAGS=$oldCPPFLAGS
fi
2015-11-12 13:32:07 +00:00
AC_MSG_CHECKING([whether to enable NuRAN Wireless Litecell 1.5 hardware support])
2016-01-20 15:33:48 +00:00
AC_ARG_ENABLE(litecell15,
AC_HELP_STRING([--enable-litecell15],
2015-11-12 13:32:07 +00:00
[enable code for NuRAN Wireless Litecell15 bts [default=no]]),
2016-01-20 15:33:48 +00:00
[enable_litecell15="yes"],[enable_litecell15="no"])
2016-01-20 15:56:34 +00:00
AC_ARG_WITH([litecell15], [AS_HELP_STRING([--with-litecell15=INCLUDE_DIR], [Location of the litecell 1.5 API header files])],
[litecell15_incdir="$withval"],[litecell15_incdir="$incdir"])
AC_SUBST([LITECELL15_INCDIR], $litecell15_incdir)
2016-01-20 15:33:48 +00:00
AC_MSG_RESULT([$enable_litecell15])
AM_CONDITIONAL(ENABLE_LC15BTS, test "x$enable_litecell15" = "xyes")
2016-01-20 15:56:34 +00:00
if test "$enable_litecell15" = "yes"; then
oldCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$LITECELL15_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS"
AC_CHECK_HEADER([nrw/litecell15/litecell15.h],[],
[AC_MSG_ERROR([nrw/litecell15/litecell15.h can not be found in $litecell15_incdir])],
[#include <nrw/litecell15/litecell15.h>])
CPPFLAGS=$oldCPPFLAGS
fi
2015-11-12 13:32:07 +00:00
2012-12-19 22:53:34 +00:00
# We share gsm_data.h with OpenBSC and need to be pointed to the source
# directory of OpenBSC for now.
2012-12-19 23:04:20 +00:00
AC_ARG_WITH([openbsc],
[AS_HELP_STRING([--with-openbsc=INCLUDE_DIR],
[OpenBSC include directory for openbsc/gsm_data_shared.h])],
[openbsc_incdir="$withval"],
2012-12-19 23:21:38 +00:00
[openbsc_incdir="`cd $srcdir; pwd`/../openbsc/openbsc/include"])
2012-12-19 22:53:34 +00:00
AC_SUBST([OPENBSC_INCDIR], $openbsc_incdir)
2012-12-19 23:21:38 +00:00
oldCPPFLAGS=$CPPFLAGS
New generic transmit power handling
In order to support transmit power reduction by thermal management
as well as the variety of new internal / external PA configurations
of BTSs, we need a slightly more complex system.
Also, as at high power a single dB can be quite a big difference,
we are now doing all computations in milli-dB(m), i.e. 1/10000 bel.
Ramping is now used both for up and down ramping, as that is useful in
cases where you want to gracefully shut down a cell by shrinking its
radius, gradually handing over subscribers to neighboring cells.
Furthermore, this code is becoming part of the 'common' codebase, as it
is not really specific to how sysmobts is working.
The user can specify a single aggregate value for external system
gain/attenuation. Let's say you have 1dB loss of antenna cable, so you
can put that as 'user-gain -1' into the config, which means that a
'transmit power of 20dBm' will be compensatet for that and the TRX is
instructed to output 21dBm to compensate the cable loss. Similarly,
external PAs can be described by a positive user-gain.
One of the next steps will be to communicate those values and the
nominal power capability of the specific BTS to the BSC, so the BSC will
automatically show correct signal levels in the VTY and log files.
The code includes provisions for future extensions regarding
* an external and an internal PA with calibration tables
* a thermal attenuation setting to be controlled by the site manager
2014-08-22 00:46:15 +00:00
CPPFLAGS="$CPPFLAGS -I$OPENBSC_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS"
2012-12-19 23:21:38 +00:00
AC_CHECK_HEADER([openbsc/gsm_data_shared.h],[],
[AC_MSG_ERROR([openbsc/gsm_data_shared.h can not be found in $openbsc_incdir])],
New generic transmit power handling
In order to support transmit power reduction by thermal management
as well as the variety of new internal / external PA configurations
of BTSs, we need a slightly more complex system.
Also, as at high power a single dB can be quite a big difference,
we are now doing all computations in milli-dB(m), i.e. 1/10000 bel.
Ramping is now used both for up and down ramping, as that is useful in
cases where you want to gracefully shut down a cell by shrinking its
radius, gradually handing over subscribers to neighboring cells.
Furthermore, this code is becoming part of the 'common' codebase, as it
is not really specific to how sysmobts is working.
The user can specify a single aggregate value for external system
gain/attenuation. Let's say you have 1dB loss of antenna cable, so you
can put that as 'user-gain -1' into the config, which means that a
'transmit power of 20dBm' will be compensatet for that and the TRX is
instructed to output 21dBm to compensate the cable loss. Similarly,
external PAs can be described by a positive user-gain.
One of the next steps will be to communicate those values and the
nominal power capability of the specific BTS to the BSC, so the BSC will
automatically show correct signal levels in the VTY and log files.
The code includes provisions for future extensions regarding
* an external and an internal PA with calibration tables
* a thermal attenuation setting to be controlled by the site manager
2014-08-22 00:46:15 +00:00
[#include <osmo-bts/tx_power.h>])
2012-12-19 23:21:38 +00:00
CPPFLAGS=$oldCPPFLAGS
2014-03-12 15:19:59 +00:00
# Check for the sbts2050_header.h that was added after the 3.6 release
2014-03-12 15:51:27 +00:00
oldCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$OPENBSC_INCDIR $LIBOSMOCORE_CFLAGS"
2014-03-12 15:19:59 +00:00
AC_CHECK_HEADER([sysmocom/femtobts/sbts2050_header.h],
[sysmo_uc_header="yes"],[])
2014-03-12 15:51:27 +00:00
CPPFLAGS=$oldCPPFLAGS
2014-03-12 15:19:59 +00:00
if test "$sysmo_uc_header" = "yes" ; then
AC_DEFINE(BUILD_SBTS2050, 1, [Define if we want to build SBTS2050])
fi
AM_CONDITIONAL(BUILD_SBTS2050, test "x$sysmo_uc_header" = "xyes")
AM_CONFIG_HEADER(btsconfig.h)
2011-03-04 13:18:10 +00:00
AC_OUTPUT(
src/Makefile
src/common/Makefile
2011-06-27 09:25:35 +00:00
src/osmo-bts-sysmo/Makefile
2015-11-12 13:32:07 +00:00
src/osmo-bts-litecell15/Makefile
2013-02-05 10:45:28 +00:00
src/osmo-bts-trx/Makefile
2015-09-06 14:04:32 +00:00
src/osmo-bts-octphy/Makefile
2011-03-04 13:18:10 +00:00
include/Makefile
include/osmo-bts/Makefile
2011-12-01 08:12:47 +00:00
tests/Makefile
tests/paging/Makefile
2014-02-21 15:12:46 +00:00
tests/agch/Makefile
2012-12-26 17:55:54 +00:00
tests/cipher/Makefile
2013-06-20 15:18:38 +00:00
tests/sysmobts/Makefile
2014-05-22 19:17:49 +00:00
tests/misc/Makefile
2013-02-05 10:52:38 +00:00
tests/bursts/Makefile
2013-06-17 06:23:04 +00:00
tests/handover/Makefile
2017-02-07 15:12:17 +00:00
tests/tx_power/Makefile
2011-03-04 13:18:10 +00:00
Makefile)