summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2018-10-31 19:58:10 +0100
committerMarcel Holtmann <marcel@holtmann.org>2018-10-31 19:58:10 +0100
commit8452a7f34907472c5e21c334673afd10df409eef (patch)
tree242b2afdfe2a4838f054cf9b871d932977032674
parent814f7fc7442d5886b71f6ca6dd2b006eda896f00 (diff)
downloadofono-8452a7f34907472c5e21c334673afd10df409eef.tar.gz
build: Add support for internal and external Embedded Linux library
-rw-r--r--.gitignore7
-rw-r--r--Makefile.am138
-rw-r--r--configure.ac27
-rw-r--r--drivers/mbimmodem/mbim-message.c1
4 files changed, 114 insertions, 59 deletions
diff --git a/.gitignore b/.gitignore
index e5c6e1ef..3601f1ec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,8 +22,7 @@ ltmain.sh
missing
stamp-h1
autom4te.cache
-test-driver
-test-suite.log
+ell
ofono.pc
include/ofono
@@ -48,9 +47,11 @@ unit/test-rilmodem-cb
unit/test-rilmodem-cs
unit/test-rilmodem-gprs
unit/test-rilmodem-sms
+unit/test-mbim
unit/test-*.log
unit/test-*.trs
-unit/test-mbim
+test-driver
+test-suite.log
tools/huawei-audio
tools/auto-enable
diff --git a/Makefile.am b/Makefile.am
index e8e4ed95..b00767cf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,6 +3,54 @@ AM_MAKEFLAGS = --no-print-directory
noinst_LTLIBRARIES =
+if EXTERNAL_ELL
+ell_cflags = @ELL_CFLAGS@
+ell_ldadd = @ELL_LIBS@
+ell_dependencies =
+ell_built_sources =
+else
+ell_cflags =
+ell_ldadd = ell/libell-internal.la
+ell_dependencies = $(ell_ldadd)
+ell_built_sources = ell/internal ell/ell.h
+
+noinst_LTLIBRARIES += ell/libell-internal.la
+
+ell_headers = ell/util.h \
+ ell/test.h \
+ ell/strv.h \
+ ell/utf8.h \
+ ell/queue.h \
+ ell/main.h \
+ ell/idle.h \
+ ell/signal.h \
+ ell/io.h \
+ ell/log.h \
+ ell/checksum.h \
+ ell/random.h \
+ ell/uuid.h \
+ ell/file.h
+
+ell_sources = ell/private.h \
+ ell/missing.h \
+ ell/util.c \
+ ell/test.c \
+ ell/strv.c \
+ ell/utf8.c \
+ ell/queue.c \
+ ell/main.c \
+ ell/idle.c \
+ ell/signal.c \
+ ell/io.c \
+ ell/log.c \
+ ell/checksum.c \
+ ell/random.c \
+ ell/uuid.c \
+ ell/file.c
+
+ell_libell_internal_la_SOURCES = $(ell_headers) $(ell_sources)
+endif
+
pkginclude_HEADERS = include/log.h include/plugin.h include/history.h \
include/dbus.h include/modem.h include/types.h \
include/call-barring.h include/call-forwarding.h \
@@ -243,6 +291,31 @@ builtin_modules += gobi
builtin_sources += plugins/gobi.c
endif
+if MBIMMODEM
+mbim_sources = drivers/mbimmodem/mbim.h \
+ drivers/mbimmodem/mbim.c \
+ drivers/mbimmodem/mbim-desc.h \
+ drivers/mbimmodem/mbim-desc.c \
+ drivers/mbimmodem/mbim-message.h \
+ drivers/mbimmodem/mbim-message.c
+
+builtin_modules += mbimmodem
+builtin_sources += $(mbim_sources) \
+ drivers/mbimmodem/util.h \
+ drivers/mbimmodem/util.c \
+ drivers/mbimmodem/mbimmodem.h \
+ drivers/mbimmodem/mbimmodem.c \
+ drivers/mbimmodem/devinfo.c \
+ drivers/mbimmodem/sim.c \
+ drivers/mbimmodem/network-registration.c \
+ drivers/mbimmodem/sms.c \
+ drivers/mbimmodem/gprs.c \
+ drivers/mbimmodem/gprs-context.c
+
+builtin_modules += mbim
+builtin_sources += plugins/mbim.c
+endif
+
if ATMODEM
builtin_modules += atmodem
builtin_sources += drivers/atmodem/atmodem.h \
@@ -610,36 +683,6 @@ builtin_sources += plugins/push-notification.c
builtin_modules += allowed_apns
builtin_sources += plugins/allowed-apns.c
-if ELL
-builtin_cflags += @ELL_CFLAGS@
-builtin_libadd += @ELL_LIBS@
-
-if MBIMMODEM
-mbim_sources = drivers/mbimmodem/mbim.h \
- drivers/mbimmodem/mbim.c \
- drivers/mbimmodem/mbim-desc.h \
- drivers/mbimmodem/mbim-desc.c \
- drivers/mbimmodem/mbim-message.h \
- drivers/mbimmodem/mbim-message.c
-
-builtin_modules += mbimmodem
-builtin_sources += $(mbim_sources) \
- drivers/mbimmodem/util.h \
- drivers/mbimmodem/util.c \
- drivers/mbimmodem/mbimmodem.h \
- drivers/mbimmodem/mbimmodem.c \
- drivers/mbimmodem/devinfo.c \
- drivers/mbimmodem/sim.c \
- drivers/mbimmodem/network-registration.c \
- drivers/mbimmodem/sms.c \
- drivers/mbimmodem/gprs.c \
- drivers/mbimmodem/gprs-context.c
-
-builtin_modules += mbim
-builtin_sources += plugins/mbim.c
-endif
-endif
-
sbin_PROGRAMS = src/ofonod
src_ofonod_SOURCES = $(builtin_sources) $(gatchat_sources) src/ofono.ver \
@@ -671,13 +714,15 @@ src_ofonod_SOURCES = $(builtin_sources) $(gatchat_sources) src/ofono.ver \
src/netmon.c src/lte.c src/ims.c \
src/netmonagent.c src/netmonagent.h
-src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
+src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) $(ell_ldadd) \
@GLIB_LIBS@ @DBUS_LIBS@ -ldl
src_ofonod_LDFLAGS = -Wl,--export-dynamic \
-Wl,--version-script=$(srcdir)/src/ofono.ver
-BUILT_SOURCES = $(local_headers) src/builtin.h
+src_ofonod_DEPENDENCIES = $(ell_dependencies)
+
+BUILT_SOURCES = $(local_headers) $(ell_built_sources) src/builtin.h
CLEANFILES = $(BUILT_SOURCES) $(rules_DATA)
@@ -689,7 +734,7 @@ else
build_plugindir = $(plugindir)
endif
-AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ $(builtin_cflags) \
+AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ $(ell_cflags) $(builtin_cflags) \
-DOFONO_PLUGIN_BUILTIN \
-DPLUGINDIR=\""$(build_plugindir)"\"
@@ -847,18 +892,12 @@ unit_objects =
unit_tests = unit/test-common unit/test-util unit/test-idmap \
unit/test-simutil unit/test-stkutil \
unit/test-sms unit/test-cdmasms \
+ unit/test-mbim \
unit/test-rilmodem-cs \
unit/test-rilmodem-sms \
unit/test-rilmodem-cb \
unit/test-rilmodem-gprs
-if ELL
-if MBIMMODEM
-unit_tests += unit/test-mbim
-endif
-endif
-
-
noinst_PROGRAMS = $(unit_tests) \
unit/test-sms-root unit/test-mux unit/test-caif
@@ -949,7 +988,7 @@ unit_objects += $(unit_test_rilmodem_gprs_OBJECTS)
unit_test_mbim_SOURCES = unit/test-mbim.c \
drivers/mbimmodem/mbim-message.c \
drivers/mbimmodem/mbim.c
-unit_test_mbim_LDADD = @ELL_LIBS@
+unit_test_mbim_LDADD = $(ell_ldadd)
unit_objects += $(unit_test_mbim_OBJECTS)
TESTS = $(unit_tests)
@@ -1050,5 +1089,22 @@ include/ofono/%.h: $(abs_top_srcdir)/include/%.h
$(AM_V_at)$(MKDIR_P) include/ofono
$(AM_V_GEN)$(LN_S) $< $@
+ell/internal: Makefile
+ $(AM_V_at)$(MKDIR_P) ell
+ $(AM_V_GEN)for f in $(ell_headers) $(ell_sources) ; do \
+ if [ ! -f $$f ] ; then \
+ $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
+ fi \
+ done > $@
+
+ell/ell.h: Makefile
+ $(AM_V_at)echo -n > $@
+ $(AM_V_GEN)for f in $(ell_headers) ; do \
+ echo "#include <$$f>" >> $@ ; \
+ done
+
+maintainer-clean-local:
+ -rm -rf ell
+
clean-local:
@$(RM) -rf include/ofono
diff --git a/configure.ac b/configure.ac
index 5a8fb6f5..026c9a6a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -160,6 +160,11 @@ AC_ARG_ENABLE(qmimodem, AC_HELP_STRING([--disable-qmimodem],
[enable_qmimodem=${enableval}])
AM_CONDITIONAL(QMIMODEM, test "${enable_qmimodem}" != "no")
+AC_ARG_ENABLE(mbimmodem, AC_HELP_STRING([--disable-mbimmodem],
+ [disable MBIM modem support]),
+ [enable_mbimmodem=${enableval}])
+AM_CONDITIONAL(MBIMMODEM, test "${enable_mbimmodem}" != "no")
+
AC_ARG_ENABLE(bluetooth, AC_HELP_STRING([--disable-bluetooth],
[disable BlueZ 4 and BlueZ 5 plugins support]),
[enable_bluetooth=${enableval}])
@@ -207,24 +212,16 @@ AC_ARG_ENABLE(upower, AC_HELP_STRING([--disable-upower],
[enable_upower=${enableval}])
AM_CONDITIONAL(UPOWER, test "${enable_power}" != "no")
-AC_ARG_ENABLE(mbimmodem, AC_HELP_STRING([--enable-mbimmodem],
- [enable MBIM based modem support]),
- [enable_mbimmodem=${enableval}])
-
-AC_ARG_ENABLE(ell, AC_HELP_STRING([--enable-ell],
- [enable support for ell]),
- [enable_ell=${enableval}])
-
-if (test "${enable_ell}" = "yes"); then
- AC_DEFINE(HAVE_ELL, 1, [Defined if Ell is enabled])
- PKG_CHECK_MODULES(ELL, ell >= 0.2, dummy=yes,
- AC_MSG_ERROR(ell library >= 0.2 is required))
+AC_ARG_ENABLE([external_ell], AC_HELP_STRING([--enable-external-ell],
+ [enable external Embedded Linux library]),
+ [enable_external_ell=${enableval}])
+if (test "${enable_external_ell}" = "yes"); then
+ PKG_CHECK_MODULES(ELL, ell >= 0.12, dummy=yes,
+ AC_MSG_ERROR(Embedded Linux library >= 0.12 is required))
AC_SUBST(ELL_CFLAGS)
AC_SUBST(ELL_LIBS)
fi
-
-AM_CONDITIONAL(MBIMMODEM, test "${enable_ell}" != "no" && test "${enable_mbimmodem}" = "yes")
-AM_CONDITIONAL(ELL, test "${enable_ell}" != "no")
+AM_CONDITIONAL(EXTERNAL_ELL, test "${enable_external_ell}" = "yes")
AC_ARG_ENABLE(datafiles, AC_HELP_STRING([--disable-datafiles],
[do not install configuration and data files]),
diff --git a/drivers/mbimmodem/mbim-message.c b/drivers/mbimmodem/mbim-message.c
index 9b5bd4e2..07f6cd2d 100644
--- a/drivers/mbimmodem/mbim-message.c
+++ b/drivers/mbimmodem/mbim-message.c
@@ -23,6 +23,7 @@
#include <config.h>
#endif
+#include <stdlib.h>
#include <sys/uio.h>
#include <linux/types.h>