Blob Blame History Raw
diff --git a/.travis.yml b/.travis.yml
index be3bf06..b6acd39 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,10 @@
 language: c
 dist: trusty
 
+arch:
+  - amd64
+  - arm64
+
 compiler:
   - clang
   - gcc
diff --git a/Makefile.am b/Makefile.am
index db4fcfc..5917023 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -31,9 +31,10 @@ rngd_LDADD	= librngd.a -lsysfs $(LIBS) ${libp11_LIBS} ${libcrypto_LIBS} ${libcur
 
 if PKCS11 
 rngd_SOURCES	+= rngd_pkcs11.c
+pkcs11_ENGINE = -DDEFAULT_PKCS11_ENGINE=\"$(PKCS11_ENGINE)\"
 endif
 
-rngd_CFLAGS	= ${pkcs11_CFLAGS} ${libp11_CFLAGS} ${libcrypto_CFLAGS} ${libxml2_CFLAGS} ${openssl_CFLAGS} $(PTHREAD_CFLAGS)
+rngd_CFLAGS	= ${pkcs11_CFLAGS} ${pkcs11_ENGINE} ${libp11_CFLAGS} ${libcrypto_CFLAGS} ${libxml2_CFLAGS} ${openssl_CFLAGS} $(PTHREAD_CFLAGS)
 rngd_LDFLAGS	= $(PTHREAD_CFLAGS) 
 
 rngtest_SOURCES	= exits.h stats.h stats.c rngtest.c
diff --git a/configure.ac b/configure.ac
index f252d03..616d8fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -111,6 +111,15 @@ AS_IF(
 		PKG_CHECK_MODULES([libp11], [libp11], [], [AC_MSG_ERROR([libp11 is required])])
 		PKG_CHECK_MODULES([libcrypto], [libcrypto], [], [AC_MSG_ERROR([libcrypto is required])])
 		AC_DEFINE([HAVE_PKCS11],1,[Enable PKCS11])
+                AS_CASE([$host_cpu],
+                        [i?86|armv7hl],
+                        [
+                                PKCS11_ENGINE=/usr/lib/opensc-pkcs11.so
+                        ],
+                        [
+                                PKCS11_ENGINE=/usr/lib64/opensc-pkcs11.so
+                        ])
+                AC_SUBST([PKCS11_ENGINE])
 	]
 )