Allow specifying sysmocom headers explicitly

The headers for LC1.5 are specified explicitly. Add corresponding option
to specify sysmoBTS headers location and use it in jenkins build. While
at it, unify header fixup code with the one used in OsmoBTS.

Change-Id: I5248e8b389fd240b4d5a0bcf6c954d6115262462
diff --git a/configure.ac b/configure.ac
index 56e2057..3706b6c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,8 +65,19 @@
 		AC_HELP_STRING([--enable-sysmocom-dsp],
 				[enable code for sysmocom DSP [default=no]]),
 		[enable_sysmocom_dsp="$enableval"],[enable_sysmocom_dsp="no"])
+AC_ARG_WITH([sysmobts], [AS_HELP_STRING([--with-sysmobts=INCLUDE_DIR], [Location of the sysmobts API header files])],
+			 [sysmobts_incdir="$withval"],[sysmobts_incdir="$incdir"])
+AC_SUBST([SYSMOBTS_INCDIR], $sysmobts_incdir)
 AC_MSG_RESULT([$enable_sysmocom_dsp])
 AM_CONDITIONAL(ENABLE_SYSMODSP, test "x$enable_sysmocom_dsp" = "xyes")
+if test "$enable_sysmocom_bts" = "yes"; then
+	oldCPPFLAGS=$CPPFLAGS
+	CPPFLAGS="$CPPFLAGS -I$SYSMOBTS_INCDIR -I$srcdir/include $LIBOSMOCORE_CFLAGS"
+	AC_CHECK_HEADER([sysmocom/femtobts/superfemto.h],[],
+			[AC_MSG_ERROR([sysmocom/femtobts/superfemto.h can not be found in $sysmobts_incdir])],
+			[#include <sysmocom/femtobts/superfemto.h>])
+	CPPFLAGS=$oldCPPFLAGS
+fi
 
 AC_MSG_CHECKING([whether to enable direct PHY access for PDCH of NuRAN Wireless Litecell 1.5 BTS])
 AC_ARG_ENABLE(lc15bts-phy,
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index b7cfc3d..af25c69 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -26,15 +26,13 @@
 # Collect configure options for osmo-pcu
 PCU_CONFIG=""
 if [ "$with_dsp" = sysmo ]; then
-  PCU_CONFIG="$PCU_CONFIG --enable-sysmocom-dsp"
+  PCU_CONFIG="$PCU_CONFIG --enable-sysmocom-dsp --with-sysmobts=$inst/include/"
 
   # For direct sysmo DSP access, provide the SysmoBTS Layer 1 API
   cd "$deps"
   osmo-layer1-headers.sh sysmo
-  cd layer1-headers
-  api_incl="$inst/include/sysmocom/femtobts/"
-  mkdir -p "$api_incl"
-  cp include/*.h "$api_incl"
+  mkdir -p "$inst/include/sysmocom/femtobts"
+  ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
   cd "$base"
 
 elif [ "$with_dsp" = lc15 ]; then
diff --git a/src/Makefile.am b/src/Makefile.am
index a6e98e5..7d2a62e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -103,7 +103,7 @@
 osmo_pcu_SOURCES = pcu_main.cpp
 
 if ENABLE_SYSMODSP
-AM_CPPFLAGS += -I$(srcdir)/osmo-bts-sysmo
+AM_CPPFLAGS += -I$(srcdir)/osmo-bts-sysmo -I$(SYSMOBTS_INCDIR)
 
 EXTRA_DIST = \
 	osmo-bts-sysmo/sysmo_l1_if.c \