blob: 728173e40048ec0a67a43c1061247f9692ef9572 [file] [log] [blame]
Harald Welte4cd3d8a2010-03-23 00:30:19 +08001AC_INIT([libosmocore],
2 m4_esyscmd([./git-version-gen .tarball-version]),
Holger Hans Peter Freyther8db70202012-03-26 16:34:37 +02003 [openbsc@lists.osmocom.org])
Harald Welte3cae0392010-02-20 21:09:24 +01004
Harald Welte4cd3d8a2010-03-23 00:30:19 +08005AM_INIT_AUTOMAKE([dist-bzip2])
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +01006AC_CONFIG_TESTDIR(tests)
Harald Welte3cae0392010-02-20 21:09:24 +01007
8dnl kernel style compile messages
9m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
10
11dnl checks for programs
12AC_PROG_MAKE_SET
Diego Elio Pettenòd471a212012-06-29 13:01:19 -070013AC_PROG_MKDIR_P
Harald Welte3cae0392010-02-20 21:09:24 +010014AC_PROG_CC
15AC_PROG_INSTALL
Harald Welte4cd3d8a2010-03-23 00:30:19 +080016LT_INIT
Harald Welte3cae0392010-02-20 21:09:24 +010017AC_PROG_LIBTOOL
Harald Welte1c72bfb2012-04-04 22:05:24 +020018CHECK_GCC_FVISIBILITY
Harald Welte3cae0392010-02-20 21:09:24 +010019
Harald Welte4cd3d8a2010-03-23 00:30:19 +080020AC_CONFIG_MACRO_DIR([m4])
21
Harald Welte3cae0392010-02-20 21:09:24 +010022dnl checks for header files
23AC_HEADER_STDC
Harald Weltee4764422011-05-22 12:25:57 +020024AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h syslog.h ctype.h)
Holger Hans Peter Freyther47723482011-11-09 11:26:15 +010025# for src/conv.c
26AC_FUNC_ALLOCA
27AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""])
28AC_SUBST(LIBRARY_DL)
Harald Welte3cae0392010-02-20 21:09:24 +010029
Harald Welte21e73c22011-08-17 19:33:06 +020030AC_PATH_PROG(DOXYGEN,doxygen,false)
31AM_CONDITIONAL(HAVE_DOXYGEN, test $DOXYGEN != false)
32
Harald Welte3cae0392010-02-20 21:09:24 +010033# The following test is taken from WebKit's webkit.m4
34saved_CFLAGS="$CFLAGS"
35CFLAGS="$CFLAGS -fvisibility=hidden "
36AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden])
Alexander Huemer3d79f532011-05-24 15:16:13 +020037AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])],
Harald Welte3cae0392010-02-20 21:09:24 +010038 [ AC_MSG_RESULT([yes])
39 SYMBOL_VISIBILITY="-fvisibility=hidden"],
40 AC_MSG_RESULT([no]))
41CFLAGS="$saved_CFLAGS"
42AC_SUBST(SYMBOL_VISIBILITY)
43
44dnl Generate the output
45AM_CONFIG_HEADER(config.h)
46
Harald Weltecbb29f72010-03-07 20:24:30 +010047AC_ARG_ENABLE(talloc,
Sylvain Munautf23abab2010-07-25 16:16:42 +020048 [AS_HELP_STRING(
49 [--disable-talloc],
50 [Disable building talloc memory allocator]
51 )],
job36b4a202011-08-21 17:18:23 +020052 [enable_talloc=$enableval], [enable_talloc="yes"])
53AM_CONDITIONAL(ENABLE_TALLOC, [test x"$enable_talloc" = x"yes"])
Harald Weltecbb29f72010-03-07 20:24:30 +010054
Harald Welteb9ce51c2010-06-30 19:43:11 +020055AC_ARG_ENABLE(plugin,
Sylvain Munautf23abab2010-07-25 16:16:42 +020056 [AS_HELP_STRING(
57 [--disable-plugin],
58 [Disable support for dlopen plugins],
59 )],
job36b4a202011-08-21 17:18:23 +020060 [enable_plugin=$enableval], [enable_plugin="yes"])
61AM_CONDITIONAL(ENABLE_PLUGIN, test x"$enable_plugin" = x"yes")
Harald Welteb9ce51c2010-06-30 19:43:11 +020062
Harald Welte1067e8c2010-06-25 03:00:58 +020063AC_ARG_ENABLE(vty,
Sylvain Munautf23abab2010-07-25 16:16:42 +020064 [AS_HELP_STRING(
65 [--disable-vty],
66 [Disable building VTY telnet interface]
67 )],
job36b4a202011-08-21 17:18:23 +020068 [enable_vty=$enableval], [enable_vty="yes"])
69AM_CONDITIONAL(ENABLE_VTY, test x"$enable_vty" = x"yes")
Harald Welte54403772010-05-29 11:49:51 +020070
Sylvain Munautac3e61a2010-07-25 18:08:54 +020071AC_ARG_ENABLE(panic_infloop,
72 [AS_HELP_STRING(
73 [--enable-panic-infloop],
74 [Trigger infinite loop on panic rather than fprintf/abort]
75 )],
job36b4a202011-08-21 17:18:23 +020076 [panic_infloop=$enableval], [panic_infloop="no"])
77if test x"$panic_infloop" = x"yes"
Sylvain Munautac3e61a2010-07-25 18:08:54 +020078then
79 AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort])
80fi
81
Holger Hans Peter Freyther43558312010-08-06 06:48:43 +080082AC_ARG_ENABLE(bsc_fd_check,
83 [AS_HELP_STRING(
84 [--enable-bsc-fd-check],
85 [Instrument bsc_register_fd to check that the fd is registered]
86 )],
job36b4a202011-08-21 17:18:23 +020087 [fd_check=$enableval], [fd_check="no"])
88if test x"$fd_check" = x"no"
Holger Hans Peter Freyther43558312010-08-06 06:48:43 +080089then
90 AC_DEFINE([BSC_FD_CHECK],[1],[Instrument the bsc_register_fd])
91fi
92
Holger Hans Peter Freytherc87f2662010-10-07 00:00:15 +080093AC_ARG_ENABLE(msgfile,
94 [AS_HELP_STRING(
95 [--disable-msgfile],
96 [Disable support for the msgfile],
97 )],
job36b4a202011-08-21 17:18:23 +020098 [enable_msgfile=$enableval], [enable_msgfile="yes"])
99AM_CONDITIONAL(ENABLE_MSGFILE, test x"$enable_msgfile" = x"yes")
Holger Hans Peter Freytherc87f2662010-10-07 00:00:15 +0800100
Sylvain Munautfe28ded2011-09-02 22:18:24 +0200101AC_ARG_ENABLE(serial,
102 [AS_HELP_STRING(
103 [--disable-serial],
104 [Disable support for the serial helpers],
105 )],
106 [enable_serial=$enableval], [enable_serial="yes"])
107AM_CONDITIONAL(ENABLE_SERIAL, test x"$enable_serial" = x"yes")
108
job8e4deb62011-08-21 17:18:24 +0200109AC_ARG_ENABLE(utilities,
110 [AS_HELP_STRING(
111 [--disable-utilities],
112 [Disable building utility programs],
113 )],
114 [enable_utilities=$enableval], [enable_utilities="yes"])
115AM_CONDITIONAL(ENABLE_UTILITIES, test x"$enable_utilities" = x"yes")
116
117AC_ARG_ENABLE(embedded,
118 [AS_HELP_STRING(
119 [--enable-embedded],
120 [Enable building for embedded use and disable unsupported features]
121 )],
122 [embedded=$enableval], [embedded="no"])
123if test x"$embedded" = x"yes"
124then
125 AC_DEFINE([EMBEDDED],[1],[Select building for embedded use])
job8e4deb62011-08-21 17:18:24 +0200126 AM_CONDITIONAL(ENABLE_PLUGIN, false)
127 AM_CONDITIONAL(ENABLE_MSGFILE, false)
Sylvain Munautfe28ded2011-09-02 22:18:24 +0200128 AM_CONDITIONAL(ENABLE_SERIAL, false)
job8e4deb62011-08-21 17:18:24 +0200129 AM_CONDITIONAL(ENABLE_VTY, false)
130 AM_CONDITIONAL(ENABLE_TALLOC, false)
131 AM_CONDITIONAL(ENABLE_UTILITIES, false)
132 AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort])
133fi
Harald Welte54403772010-05-29 11:49:51 +0200134
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100135
Harald Welte3cae0392010-02-20 21:09:24 +0100136AC_OUTPUT(
137 libosmocore.pc
Sylvain Munautb99b9302010-10-24 18:23:10 +0200138 libosmocodec.pc
Harald Weltee352c522010-05-19 19:42:32 +0200139 libosmovty.pc
Pablo Neira Ayusofba495e2011-03-23 18:08:08 +0100140 libosmogsm.pc
Harald Welte641f7ce2012-06-17 23:05:26 +0800141 libosmogb.pc
Harald Welte3cae0392010-02-20 21:09:24 +0100142 include/Makefile
143 src/Makefile
Harald Welte3fb0b6f2010-05-19 19:02:52 +0200144 src/vty/Makefile
Sylvain Munaut1a4ea5b2010-10-08 15:09:16 +0200145 src/codec/Makefile
Pablo Neira Ayusofba495e2011-03-23 18:08:08 +0100146 src/gsm/Makefile
Harald Welte641f7ce2012-06-17 23:05:26 +0800147 src/gb/Makefile
Harald Welte3cae0392010-02-20 21:09:24 +0100148 tests/Makefile
Harald Welteeeb78dd2011-08-02 13:44:54 +0200149 utils/Makefile
Harald Weltec7859ed2011-08-20 12:54:17 +0200150 Doxyfile.core
Harald Welte49e10562011-08-17 19:21:07 +0200151 Doxyfile.gsm
152 Doxyfile.vty
153 Doxyfile.codec
Harald Welte3cae0392010-02-20 21:09:24 +0100154 Makefile)