aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-11-16 22:15:22 +0100
committerHarald Welte <laforge@gnumonks.org>2012-11-16 22:16:46 +0100
commit6c7680d72691a11e9bf7f91fe1938a3c192b3511 (patch)
tree8116563c60897a1da791e4c565fc8596ae2a47e0
parent1a2993adb7031c7e908f478e64cf73b44419b500 (diff)
SMPP: build the smpp interface only in case of ./configure --enable-smpp
-rw-r--r--openbsc/configure.ac13
-rw-r--r--openbsc/src/libmsc/Makefile.am4
-rw-r--r--openbsc/src/libmsc/gsm_04_11.c2
-rw-r--r--openbsc/src/osmo-nitb/bsc_hack.c4
4 files changed, 19 insertions, 4 deletions
diff --git a/openbsc/configure.ac b/openbsc/configure.ac
index 279d12a66..b56254c46 100644
--- a/openbsc/configure.ac
+++ b/openbsc/configure.ac
@@ -41,12 +41,23 @@ AC_ARG_ENABLE([osmo-bsc], [AS_HELP_STRING([--enable-osmo-bsc], [Build the Osmo B
])
AM_CONDITIONAL(BUILD_BSC, test "x$osmo_ac_build_bsc" = "xyes")
+AC_ARG_ENABLE([smpp], [AS_HELP_STRING([--enable-smpp], [Build the SMPP interface])],
+ [
+ PKG_CHECK_MODULES(LIBSMPP34, libsmpp34 >= 1.10)
+ osmo_ac_build_smpp="yes"
+ AC_DEFINE(BUILD_SMPP, 1, [Define if we want to build SMPP])
+ ],
+ [
+ osmo_ac_build_smpp="no"
+ ])
+AM_CONDITIONAL(BUILD_SMPP, test "x$osmo_ac_build_smpp" = "xyes")
+
+
PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.3.2)
PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.3.0)
PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.3.0)
PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.1.0)
PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 0.5.2)
-PKG_CHECK_MODULES(LIBSMPP34, libsmpp34 >= 1.10)
found_libgtp=yes
PKG_CHECK_MODULES(LIBGTP, libgtp, , found_libgtp=no)
diff --git a/openbsc/src/libmsc/Makefile.am b/openbsc/src/libmsc/Makefile.am
index c29d521b5..89fee9189 100644
--- a/openbsc/src/libmsc/Makefile.am
+++ b/openbsc/src/libmsc/Makefile.am
@@ -16,6 +16,8 @@ libmsc_a_SOURCES = auth.c \
ussd.c \
vty_interface_layer3.c \
transaction.c \
- smpp_smsc.c smpp_openbsc.c \
osmo_msc.c
+if BUILD_SMPP
+libmsc_a_SOURCES += smpp_smsc.c smpp_openbsc.c
+endif
diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index 2ed31e37e..fe1b645a0 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -117,8 +117,10 @@ void sms_free(struct gsm_sms *sms)
subscr_put(sms->sender);
if (sms->receiver)
subscr_put(sms->receiver);
+#ifdef BUILD_SMPP
if (sms->smpp.esme)
smpp_esme_put(sms->smpp.esme);
+#endif
talloc_free(sms);
}
diff --git a/openbsc/src/osmo-nitb/bsc_hack.c b/openbsc/src/osmo-nitb/bsc_hack.c
index fa38f1f3f..b82a02621 100644
--- a/openbsc/src/osmo-nitb/bsc_hack.c
+++ b/openbsc/src/osmo-nitb/bsc_hack.c
@@ -312,10 +312,10 @@ int main(int argc, char **argv)
/* start the SMS queue */
if (sms_queue_start(bsc_gsmnet, 20) != 0)
return -1;
-
+#ifdef BUILD_SMPP
if (smpp_openbsc_init(bsc_gsmnet, 6040) < 0)
return -1;
-
+#endif
if (daemonize) {
rc = osmo_daemonize();
if (rc < 0) {