remove dependencies to openbsc/osmoggsn internals

...and link against libosmogb (part of libosmocore.git)
diff --git a/configure.ac b/configure.ac
index fd9ad28..9fe9fdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script
 AC_INIT([osmo-pcu],
 	m4_esyscmd([./git-version-gen .tarball-version]),
-	[osmocom-pcu@lists.openbsc.org])
+	[osmocom-pcu@lists.osmocom.org])
 
 AM_INIT_AUTOMAKE([dist-bzip2])
 
@@ -24,6 +24,7 @@
 PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore  >= 0.3.9)
 PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty)
 PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.3.3)
+PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 0.5.2)
 
 AC_MSG_CHECKING([whether to enable sysmocom-bts hardware support])
 AC_ARG_ENABLE(sysmocom-bts,
diff --git a/src/Makefile.am b/src/Makefile.am
index 4f8a548..78c01e1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,12 +18,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-# FIXME: This has to go!!
-OPENBSC_DIR = $(top_srcdir)/../openbsc/openbsc
-OPENGGSN_DIR = $(top_srcdir)/../openggsn
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) -I$(OPENBSC_DIR)/include
-AM_CXXFLAGS = -Wall -ldl -pthread -lgtp
+AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES)
+AM_CXXFLAGS = -Wall -ldl -pthread
 
 noinst_LTLIBRARIES = libgprs.la
 
@@ -69,18 +65,7 @@
 pcu_SOURCES = pcu_main.cpp
 pcu_LDADD = \
 	libgprs.la \
-	$(OPENBSC_DIR)/src/libgb/gprs_ns.o \
-	$(OPENBSC_DIR)/src/libgb/gprs_bssgp.o \
-	$(OPENBSC_DIR)/src/libgb/gprs_bssgp_bss.o \
-	$(OPENBSC_DIR)/src/libgb/gprs_bssgp_util.o \
-	$(OPENBSC_DIR)/src/libgb/gprs_ns_frgre.o \
-	$(OPENBSC_DIR)/src/libcommon/socket.o \
-	$(OPENBSC_DIR)/src/gprs/gprs_llc.o \
-	$(OPENBSC_DIR)/src/gprs/gprs_gmm.o \
-	$(OPENBSC_DIR)/src/gprs/gprs_sgsn.o \
-	$(OPENBSC_DIR)/src/gprs/sgsn_libgtp.o \
-	$(OPENBSC_DIR)/src/gprs/gprs_sndcp.o \
-	$(OPENBSC_DIR)/src/gprs/crc24.o \
+	$(LIBOSMOGB_LIBS) \
 	$(LIBOSMOCORE_LIBS) \
 	$(LIBOSMOGSM_LIBS) \
 	$(COMMON_LA)
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index 8d391f2..9084d84 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -279,3 +279,8 @@
 	}
 	return rc;
 }
+
+int bssgp_prim_cb(struct osmo_prim_hdr *oph, void *ctx)
+{
+	return 0;
+}
diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h
index dd9022f..584bbc2 100644
--- a/src/gprs_bssgp_pcu.h
+++ b/src/gprs_bssgp_pcu.h
@@ -25,10 +25,11 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/rate_ctr.h>
 #include <osmocom/core/logging.h>
-#include <openbsc/signal.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
+#include <osmocom/core/signal.h>
 #include <osmocom/core/application.h>
+#include <osmocom/gprs/gprs_ns.h>
+#include <osmocom/gprs/gprs_bssgp.h>
+#include <osmocom/gprs/gprs_msgb.h>
 
 int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause);
 
diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp
index 4bb9107..5caa377 100644
--- a/src/gprs_debug.cpp
+++ b/src/gprs_debug.cpp
@@ -28,8 +28,6 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/utils.h>
 #include <osmocom/core/logging.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
 #include <gprs_debug.h>
 
 /* default categories */
@@ -56,14 +54,9 @@
 static int filter_fn(const struct log_context *ctx,
 		     struct log_target *tar)
 {
-	struct gsm_subscriber *subscr = (struct gsm_subscriber*)ctx->ctx[BSC_CTX_SUBSCR];
 	const struct gprs_nsvc *nsvc = (const struct gprs_nsvc*)ctx->ctx[BSC_CTX_NSVC];
 	const struct gprs_nsvc *bvc = (const struct gprs_nsvc*)ctx->ctx[BSC_CTX_BVC];
 
-	if ((tar->filter_map & (1 << FLT_IMSI)) != 0
-	    && subscr && strcmp(subscr->imsi, (const char*)tar->filter_data[FLT_IMSI]) == 0)
-		return 1;
-
 	/* Filter on the NS Virtual Connection */
 	if ((tar->filter_map & (1 << FLT_NSVC)) != 0
 	    && nsvc && (nsvc == tar->filter_data[FLT_NSVC]))
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index c371295..08c75cc 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -63,7 +63,7 @@
 	osmo_init_logging(&gprs_log_info);
 	pcu_l1if_open();
 
-	sgsn_nsi = gprs_ns_instantiate(&sgsn_ns_cb);
+	sgsn_nsi = gprs_ns_instantiate(&sgsn_ns_cb, NULL);
 	bssgp_nsi = sgsn_nsi;
 
 	if (!bssgp_nsi)
@@ -87,7 +87,7 @@
 	dest.sin_port = htons(SGSN_PORT);
 	inet_aton(SGSN_IP, &dest.sin_addr);
 
-	nsvc = nsip_connect(sgsn_nsi, &dest, NSEI, nsvci);
+	nsvc = gprs_ns_nsip_connect(sgsn_nsi, &dest, NSEI, nsvci);
 	unsigned i = 0;
 	while (1) 
 	{