aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-03-15 22:50:06 +0100
committerHarald Welte <laforge@osmocom.org>2020-03-16 11:28:21 +0100
commit3c44a646bd036785fd54dd3ae9fb06d9d6d3d107 (patch)
tree3f2d773b0998760dc158982bca37e69a51972964
parent3a5917bd5044eaf5327d15766a2ef900433b6627 (diff)
libosmosim: Build irrespective of PC/SC support
libosmosim contains a variety of definitions and utility fuinctions useful when working with SIM card [protocol]. They can not only be used with PC/SC readers but also in other contexts. Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631
-rw-r--r--configure.ac1
-rw-r--r--src/sim/Makefile.am18
-rw-r--r--src/sim/reader.c3
3 files changed, 14 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 1056a0a2..3b4ad40e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -142,6 +142,7 @@ AC_ARG_ENABLE([pcsc], [AS_HELP_STRING([--disable-pcsc], [Build without PC/SC sup
])
AS_IF([test "x$ENABLE_PCSC" = "xyes"], [
PKG_CHECK_MODULES(PCSC, libpcsclite)
+ AC_DEFINE([HAVE_PCSC],[1],[Build with PC/SC support])
])
AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes")
AC_SUBST(ENABLE_PCSC)
diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am
index c608757e..14bbbd84 100644
--- a/src/sim/Makefile.am
+++ b/src/sim/Makefile.am
@@ -4,24 +4,26 @@
LIBVERSION=1:2:1
AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include
-AM_CFLAGS = -fPIC -Wall $(PCSC_CFLAGS) $(TALLOC_CFLAGS)
+AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS)
AM_LDFLAGS = $(COVERAGE_LDFLAGS)
-if ENABLE_PCSC
-# FIXME: only build the PC/SC dependent part conditional, but always build other parts
-
noinst_HEADERS = sim_int.h gsm_int.h
+if !EMBEDDED
lib_LTLIBRARIES = libosmosim.la
-libosmosim_la_SOURCES = core.c reader.c reader_pcsc.c class_tables.c \
+libosmosim_la_SOURCES = core.c reader.c class_tables.c \
card_fs_sim.c card_fs_usim.c card_fs_uicc.c \
card_fs_isim.c card_fs_tetra.c
libosmosim_la_LDFLAGS = -version-info $(LIBVERSION)
libosmosim_la_LIBADD = \
$(top_builddir)/src/libosmocore.la \
$(top_builddir)/src/gsm/libosmogsm.la \
- $(TALLOC_LIBS) \
- $(PCSC_LIBS)
-
+ $(TALLOC_LIBS)
+if ENABLE_PCSC
+AM_CFLAGS += $(PCSC_CFLAGS)
+libosmosim_la_SOURCES += reader_pcsc.c
+libosmosim_la_LIBADD += $(PCSC_LIBS)
endif
+
+endif # !EMBEDDED
diff --git a/src/sim/reader.c b/src/sim/reader.c
index d1a9ae60..d5292baa 100644
--- a/src/sim/reader.c
+++ b/src/sim/reader.c
@@ -35,6 +35,7 @@
#include <osmocom/core/msgb.h>
#include <osmocom/sim/sim.h>
+#include "config.h"
#include "sim_int.h"
@@ -242,9 +243,11 @@ struct osim_reader_hdl *osim_reader_open(enum osim_reader_driver driver, int idx
struct osim_reader_hdl *rh;
switch (driver) {
+#ifdef HAVE_PCSC
case OSIM_READER_DRV_PCSC:
ops = &pcsc_reader_ops;
break;
+#endif
default:
return NULL;
}