[build] Create a libbsc.a as noinst_LIBRARY, link bsc_hack and tests against it

Link the tests against the libbsc.a to avoid most of the breakage
when creating new symbols.
diff --git a/configure.in b/configure.in
index edcbe3b..8076c34 100644
--- a/configure.in
+++ b/configure.in
@@ -7,6 +7,7 @@
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_INSTALL
+AC_PROG_RANLIB
 AM_PROG_LEX
 
 dnl checks for libraries
diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am
index 59a9599..51463dc 100644
--- a/tests/gsm0408/Makefile.am
+++ b/tests/gsm0408/Makefile.am
@@ -1,4 +1,5 @@
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
 noinst_PROGRAMS = gsm0408_test
 
-gsm0408_test_SOURCES = gsm0408_test.c $(top_srcdir)/src/gsm_04_08.c $(top_srcdir)/src/debug.c
+gsm0408_test_SOURCES = gsm0408_test.c
+gsm0408_test_LDADD = $(top_builddir)/src/libbsc.a -ldbi
diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c
index 8b3a376..c99766a 100644
--- a/tests/gsm0408/gsm0408_test.c
+++ b/tests/gsm0408/gsm0408_test.c
@@ -68,19 +68,5 @@
 /*
  * Stubs to compile and link
  */
-void rsl_data_request(void) {}
-void gsm0411_rcv_sms(void) {}
-void schedule_timer(void) {}
-void del_timer(void) {}
-void subscr_get_by_tmsi(void) {}
-void subscr_update(void) {}
-void subscr_put(void) {}
-void db_subscriber_assoc_imei(void) {}
-void db_subscriber_alloc_tmsi(void) {}
-void db_create_subscriber(void) {}
-void rsl_chan_release(void) {}
-void msgb_alloc(void) {}
-void gsm0411_send_sms(void) {}
-void lchan_auto_release(void) {}
-void page_request_stop(void) {}
-void paging_request_stop(void) {}
+void input_event(void) {}
+void nm_state_event(void) {}
diff --git a/tests/sms/Makefile.am b/tests/sms/Makefile.am
index d2b4736..23df871 100644
--- a/tests/sms/Makefile.am
+++ b/tests/sms/Makefile.am
@@ -1,15 +1,5 @@
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
 noinst_PROGRAMS = sms_test
 
-sms_test_SOURCES = sms_test.c $(top_srcdir)/src/input/misdn.c \
-		   $(top_srcdir)/src/abis_rsl.c $(top_srcdir)/src/abis_nm.c \
-		   $(top_srcdir)/src/gsm_04_08.c $(top_srcdir)/src/gsm_data.c \
-		$(top_srcdir)/src/gsm_subscriber.c $(top_srcdir)/src/msgb.c \
-		$(top_srcdir)/src/select.c $(top_srcdir)/src/chan_alloc.c \
-		$(top_srcdir)/src/timer.c $(top_srcdir)/src/debug.c \
-		$(top_srcdir)/src/db.c $(top_srcdir)/src/gsm_04_11.c \
-		$(top_srcdir)/src/paging.c $(top_srcdir)/src/e1_input.c \
-		$(top_srcdir)/src/e1_config.c $(top_srcdir)/src/subchan_demux.c \
-		$(top_srcdir)/src/trau_mux.c $(top_srcdir)/src/trau_frame.c
-
-sms_test_LDADD = -ldl -ldbi
+sms_test_SOURCES = sms_test.c
+sms_test_LDADD = $(top_builddir)/src/libbsc.a -ldl -ldbi
diff --git a/tests/sms/sms_test.c b/tests/sms/sms_test.c
index d850f3b..fe1c346 100644
--- a/tests/sms/sms_test.c
+++ b/tests/sms/sms_test.c
@@ -91,3 +91,4 @@
 
 /* stubs */
 void input_event(void) {}
+void nm_state_event(void) {}