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
This commit is contained in:
Harald Welte 2020-03-15 22:50:06 +01:00
parent 2862f9082e
commit cb929c5d66
3 changed files with 14 additions and 8 deletions

View File

@ -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)

View File

@ -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

View File

@ -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;
}