summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac178
1 files changed, 178 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 00000000..977eef9d
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,178 @@
+AC_INIT([libosmocore],
+ m4_esyscmd([./git-version-gen .tarball-version]),
+ [openbsc@lists.osmocom.org])
+
+AM_INIT_AUTOMAKE([dist-bzip2])
+AC_CONFIG_TESTDIR(tests)
+
+dnl kernel style compile messages
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+dnl checks for programs
+AC_PROG_MAKE_SET
+AC_PROG_CC
+AC_PROG_INSTALL
+LT_INIT
+AC_PROG_LIBTOOL
+CHECK_GCC_FVISIBILITY
+
+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)
+
+# The following test is taken from WebKit's webkit.m4
+saved_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -fvisibility=hidden "
+AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden])
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])],
+ [ AC_MSG_RESULT([yes])
+ SYMBOL_VISIBILITY="-fvisibility=hidden"],
+ AC_MSG_RESULT([no]))
+CFLAGS="$saved_CFLAGS"
+AC_SUBST(SYMBOL_VISIBILITY)
+
+dnl Generate the output
+AM_CONFIG_HEADER(config.h)
+
+AC_ARG_ENABLE(talloc,
+ [AS_HELP_STRING(
+ [--disable-talloc],
+ [Disable building talloc memory allocator]
+ )],
+ [enable_talloc=$enableval], [enable_talloc="yes"])
+AM_CONDITIONAL(ENABLE_TALLOC, [test x"$enable_talloc" = x"yes"])
+
+AC_ARG_ENABLE(plugin,
+ [AS_HELP_STRING(
+ [--disable-plugin],
+ [Disable support for dlopen plugins],
+ )],
+ [enable_plugin=$enableval], [enable_plugin="yes"])
+AM_CONDITIONAL(ENABLE_PLUGIN, test x"$enable_plugin" = x"yes")
+
+AC_ARG_ENABLE(tests,
+ [AS_HELP_STRING(
+ [--disable-tests],
+ [Disable building test programs]
+ )],
+ [enable_tests=$enableval], [enable_tests="yes"])
+AM_CONDITIONAL(ENABLE_TESTS, test x"$enable_tests" = x"yes")
+
+AC_ARG_ENABLE(vty,
+ [AS_HELP_STRING(
+ [--disable-vty],
+ [Disable building VTY telnet interface]
+ )],
+ [enable_vty=$enableval], [enable_vty="yes"])
+AM_CONDITIONAL(ENABLE_VTY, test x"$enable_vty" = x"yes")
+
+AC_ARG_ENABLE(panic_infloop,
+ [AS_HELP_STRING(
+ [--enable-panic-infloop],
+ [Trigger infinite loop on panic rather than fprintf/abort]
+ )],
+ [panic_infloop=$enableval], [panic_infloop="no"])
+if test x"$panic_infloop" = x"yes"
+then
+ AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort])
+fi
+
+AC_ARG_ENABLE(bsc_fd_check,
+ [AS_HELP_STRING(
+ [--enable-bsc-fd-check],
+ [Instrument bsc_register_fd to check that the fd is registered]
+ )],
+ [fd_check=$enableval], [fd_check="no"])
+if test x"$fd_check" = x"no"
+then
+ AC_DEFINE([BSC_FD_CHECK],[1],[Instrument the bsc_register_fd])
+fi
+
+AC_ARG_ENABLE(msgfile,
+ [AS_HELP_STRING(
+ [--disable-msgfile],
+ [Disable support for the msgfile],
+ )],
+ [enable_msgfile=$enableval], [enable_msgfile="yes"])
+AM_CONDITIONAL(ENABLE_MSGFILE, test x"$enable_msgfile" = x"yes")
+
+AC_ARG_ENABLE(serial,
+ [AS_HELP_STRING(
+ [--disable-serial],
+ [Disable support for the serial helpers],
+ )],
+ [enable_serial=$enableval], [enable_serial="yes"])
+AM_CONDITIONAL(ENABLE_SERIAL, test x"$enable_serial" = x"yes")
+
+AC_ARG_ENABLE(utilities,
+ [AS_HELP_STRING(
+ [--disable-utilities],
+ [Disable building utility programs],
+ )],
+ [enable_utilities=$enableval], [enable_utilities="yes"])
+AM_CONDITIONAL(ENABLE_UTILITIES, test x"$enable_utilities" = x"yes")
+
+AC_ARG_ENABLE(embedded,
+ [AS_HELP_STRING(
+ [--enable-embedded],
+ [Enable building for embedded use and disable unsupported features]
+ )],
+ [embedded=$enableval], [embedded="no"])
+if test x"$embedded" = x"yes"
+then
+ AC_DEFINE([EMBEDDED],[1],[Select building for embedded use])
+ AM_CONDITIONAL(ENABLE_TESTS, false)
+ AM_CONDITIONAL(ENABLE_PLUGIN, false)
+ AM_CONDITIONAL(ENABLE_MSGFILE, false)
+ AM_CONDITIONAL(ENABLE_SERIAL, false)
+ AM_CONDITIONAL(ENABLE_VTY, false)
+ AM_CONDITIONAL(ENABLE_TALLOC, false)
+ AM_CONDITIONAL(ENABLE_UTILITIES, false)
+ AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort])
+fi
+
+
+AC_OUTPUT(
+ libosmocore.pc
+ libosmocodec.pc
+ libosmovty.pc
+ libosmogsm.pc
+ include/osmocom/Makefile
+ include/osmocom/vty/Makefile
+ include/osmocom/codec/Makefile
+ include/osmocom/crypt/Makefile
+ include/osmocom/gsm/Makefile
+ include/osmocom/gsm/protocol/Makefile
+ include/osmocom/core/Makefile
+ include/Makefile
+ src/Makefile
+ src/vty/Makefile
+ src/codec/Makefile
+ src/gsm/Makefile
+ tests/Makefile
+ tests/timer/Makefile
+ tests/sms/Makefile
+ tests/msgfile/Makefile
+ tests/ussd/Makefile
+ tests/smscb/Makefile
+ tests/bits/Makefile
+ tests/a5/Makefile
+ tests/auth/Makefile
+ tests/conv/Makefile
+ tests/lapd/Makefile
+ tests/gsm0808/Makefile
+ utils/Makefile
+ Doxyfile.core
+ Doxyfile.gsm
+ Doxyfile.vty
+ Doxyfile.codec
+ Makefile)