[msc] Move gsm_04_08.c, mncc and various others to libmsc

Currently we have circular dependencies from libbsc to libmsc
and this requires to play some linker tricks. The problem will
be solved in two ways, first we will get rid of the circular
dependencies and second we can start using --start-group and
--end-group of the linker to play the tricks for us.
diff --git a/openbsc/src/Makefile.am b/openbsc/src/Makefile.am
index d90e483..cd0a0e6 100644
--- a/openbsc/src/Makefile.am
+++ b/openbsc/src/Makefile.am
@@ -5,19 +5,21 @@
 noinst_LIBRARIES = libbsc.a libmsc.a libvty.a
 noinst_HEADERS = vty/cardshell.h
 
-libbsc_a_SOURCES = abis_rsl.c abis_nm.c gsm_04_08.c gsm_data.c mncc.c \
+libbsc_a_SOURCES = abis_rsl.c abis_nm.c gsm_data.c \
 		msgb.c select.c chan_alloc.c timer.c debug.c \
-		gsm_subscriber_base.c gsm_04_11.c subchan_demux.c \
+		gsm_subscriber_base.c subchan_demux.c bsc_rll.c \
 		trau_frame.c trau_mux.c paging.c e1_config.c e1_input.c tlv_parser.c \
-		input/misdn.c input/ipaccess.c signal.c gsm_utils.c talloc.c talloc_ctx.c \
-		transaction.c rtp_proxy.c bsc_rll.c token_auth.c rrlp.c
+		input/misdn.c input/ipaccess.c signal.c gsm_utils.c talloc.c \
+		talloc_ctx.c
 
-libmsc_a_SOURCES = gsm_subscriber.c db.c telnet_interface.c
+libmsc_a_SOURCES = gsm_subscriber.c db.c telnet_interface.c \
+		mncc.c rtp_proxy.c gsm_04_08.c gsm_04_11.c transaction.c token_auth.c \
+		rrlp.c
 
 libvty_a_SOURCES = vty/buffer.c vty/command.c vty/vector.c vty/vty.c
 
 bsc_hack_SOURCES = bsc_hack.c vty_interface.c
-bsc_hack_LDADD = libbsc.a libmsc.a libvty.a -ldl -ldbi $(LIBCRYPT)
+bsc_hack_LDADD = libmsc.a libbsc.a libmsc.a libvty.a -ldl -ldbi $(LIBCRYPT)
 
 bs11_config_SOURCES = bs11_config.c abis_nm.c gsm_data.c msgb.c debug.c \
 		      select.c timer.c rs232.c tlv_parser.c signal.c talloc.c
@@ -25,6 +27,6 @@
 ipaccess_find_SOURCES = ipaccess-find.c select.c timer.c
 
 ipaccess_config_SOURCES = ipaccess-config.c
-ipaccess_config_LDADD = libbsc.a libmsc.a libvty.a -ldl -ldbi $(LIBCRYPT)
+ipaccess_config_LDADD = libbsc.a libmsc.a libbsc.a libvty.a -ldl -ldbi $(LIBCRYPT)
 
 isdnsync_SOURCES = isdnsync.c
diff --git a/openbsc/tests/db/Makefile.am b/openbsc/tests/db/Makefile.am
index c8a3970..8ce7e3c 100644
--- a/openbsc/tests/db/Makefile.am
+++ b/openbsc/tests/db/Makefile.am
@@ -4,5 +4,5 @@
 noinst_PROGRAMS = db_test
 
 db_test_SOURCES = db_test.c
-db_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a -ldl -ldbi
+db_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a -ldl -ldbi
 
diff --git a/openbsc/tests/gsm0408/Makefile.am b/openbsc/tests/gsm0408/Makefile.am
index fc834ad..c68b4ed 100644
--- a/openbsc/tests/gsm0408/Makefile.am
+++ b/openbsc/tests/gsm0408/Makefile.am
@@ -2,4 +2,4 @@
 noinst_PROGRAMS = gsm0408_test
 
 gsm0408_test_SOURCES = gsm0408_test.c
-gsm0408_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a -ldbi
+gsm0408_test_LDADD = $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a -ldbi
diff --git a/openbsc/tests/sms/Makefile.am b/openbsc/tests/sms/Makefile.am
index 2cb37b4..807c674 100644
--- a/openbsc/tests/sms/Makefile.am
+++ b/openbsc/tests/sms/Makefile.am
@@ -2,4 +2,4 @@
 noinst_PROGRAMS = sms_test
 
 sms_test_SOURCES = sms_test.c
-sms_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a -ldl -ldbi
+sms_test_LDADD = $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a -ldl -ldbi