aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-11-09 11:26:15 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-11-09 11:56:56 +0100
commit4772348b4f99c81575b8613c0fbe1533bd261b42 (patch)
tree60dd7d10db4ff9d65d228a1c76a0b7b7397b5bf1
parent07f1103782a94090c2cef46de8a3f6d03ddfeef7 (diff)
freebsd: Fixes for the compilation of libosmocore on FreeBSD
alloca.h is not available on FreeBSD, use the default autoconf function to check for it, there is a complete list[1] of what to do for using alloca but let us see how far we get with this test. Include netinet/in.h for the IPv4 and IPv6 socket address. Check for dlopen in libraries and use this instead of linking -dl. [1] http://www.gnu.org/s/hello/manual/autoconf/Particular-Functions.html
-rw-r--r--configure.ac4
-rw-r--r--src/Makefile.am2
-rw-r--r--src/conv.c4
-rw-r--r--src/socket.c2
4 files changed, 10 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 52ab850f..7d8e6dda 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,6 +19,10 @@ AC_CONFIG_MACRO_DIR([m4])
dnl checks for header files
AC_HEADER_STDC
AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h syslog.h ctype.h)
+# for src/conv.c
+AC_FUNC_ALLOCA
+AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""])
+AC_SUBST(LIBRARY_DL)
AC_PATH_PROG(DOXYGEN,doxygen,false)
AM_CONDITIONAL(HAVE_DOXYGEN, test $DOXYGEN != false)
diff --git a/src/Makefile.am b/src/Makefile.am
index 6c0398bc..25da356a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,7 +19,7 @@ libosmocore_la_SOURCES = timer.c select.c signal.c msgb.c bits.c \
if ENABLE_PLUGIN
libosmocore_la_SOURCES += plugin.c
-libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -ldl
+libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) $(LIBRARY_DL)
else
libosmocore_la_LDFLAGS = -version-info $(LIBVERSION)
endif
diff --git a/src/conv.c b/src/conv.c
index f47d75cd..0416d272 100644
--- a/src/conv.c
+++ b/src/conv.c
@@ -29,8 +29,10 @@
/*! \file conv.c
* \file Osmocom convolutional encoder and decoder
*/
-
+#include "config.h"
+#ifdef HAVE_ALLOCA_H
#include <alloca.h>
+#endif
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
diff --git a/src/socket.c b/src/socket.c
index 1a1d71dc..8a8829b7 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -18,6 +18,8 @@
#include <sys/socket.h>
#include <sys/types.h>
+#include <netinet/in.h>
+
#include <stdio.h>
#include <unistd.h>
#include <stdint.h>