diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-11-09 11:26:15 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-11-09 11:56:56 +0100 |
commit | 4772348b4f99c81575b8613c0fbe1533bd261b42 (patch) | |
tree | 60dd7d10db4ff9d65d228a1c76a0b7b7397b5bf1 | |
parent | 07f1103782a94090c2cef46de8a3f6d03ddfeef7 (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.ac | 4 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/conv.c | 4 | ||||
-rw-r--r-- | src/socket.c | 2 |
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 @@ -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> |