Installing libp11
Installation is quite easy:
wget http://www.opensc-project.org/files/libp11-0.1.tar.gz tar xfvz libp11-0.1.tar.gz cd libp11-0.1 ./configure --prefix=/usr make make install
is all you need. Libp11 depends on pkg-config, openssl and libltdl.
If you don't have pkg-config installed, please do so and try again. If pkg-config is not found, please change your PATH environment setting.
If openssl is not installed, please do so. If openssl is not found, please change your PKG_CONFIG_PATH environment setting to include the directory with "openssl.pc" file. Some linux distributions split openssl into a runtime package and a development package, you need to install both.
Libltdl3 is shipped with most linux distribution. It can be either found in the libtool package, or in a seperate libltdl3 package, some distributions even have a runtime and a development package, in those case you need to install both.
Compiling on Windows
Windows
To compile libp11 on Windows extract the source with 7-zip, winzip or a similar application, and edit the file src/Makefile.mak, edit these lines:
LIBLTDL_INC = # E.g. /IC:\libtool-1.5.8-lib\include LIBLTDL_LIB = # E.g. C:\libtool-1.5.8-lib\lib\libltdl.lib OPENSSL_INC = /IC:\openssl\include OPENSSL_LIB = C:\openssl\out32dll\libeay32.lib
Then you can run nmake /f Makefile.mak to compile libp11. The makefile includes no install target, so you can copy the header files, lib file and dll to do that.
Using libp11
To use libp11 in your application: in the source code add
#include <libp11.h>
and in your Makefile add
CFLAGS=$(shell pkg-config --cflags libp11) LDLFLAGS=$(shell pkg-config --libs libp11)
or if you are using autoconf/automake, you can add this to configure.ac
PKG_CHECK_MODULES([LIBP11], [libp11])
and edit your Makefile.am to include
myapplication_INCLUDES = @LIBP11_CFLAGS@ myapplication_LIBADD = @LIBP11_LIBS@