|
Packit |
6b81fa |
# libp11 Installation
|
|
Packit |
6b81fa |
The following instructions only apply to the [release tarballs.](https://github.com/OpenSC/libp11/releases)
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
## Unix Build
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
Install the OpenSSL development package. On Debian/Ubuntu use:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
sudo apt-get install libssl-dev
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
Build and install libp11:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
./configure && make && sudo make install
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
## Windows Build
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
Download and install OpenSSL, for example the Windows builds available here:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
* https://slproweb.com/products/Win32OpenSSL.html
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
### MSVC
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
To build libp11, start a Visual Studio Command Prompt and use:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
nmake -f Makefile.mak
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
In case your OpenSSL is installed in a different directory, use:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
nmake -f Makefile.mak OPENSSL_DIR=\your\openssl\directory
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
For x64 bit builds, make sure you opened the Native x64 VS Command Prompt and run:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
nmake /f Makefile.mak OPENSSL_DIR=c:\OpenSSL-Win64 BUILD_FOR=WIN64
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
If any of your builds fail for any reason, ensure you clean the src directory of obj files before re-making.
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
### MSYS2
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
To build libp11, download and install msys2-i686-*.exe from https://msys2.github.io
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
then start a MSYS2 MSYS console from the Start menu and use:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
pacman -S git pkg-config libtool autoconf automake make gcc openssl-devel
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
git clone https://github.com/OpenSC/libp11.git
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
cd libp11
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
autoreconf -fi
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
./configure --prefix=/usr/local
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
make && make install
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
### Cygwin
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
As above, assuming that you have mentioned packages already installed.
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
### MinGW / MSYS
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
To build libp11, download and install mingw-get-setup.exe from https://sourceforge.net/projects/mingw/
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
I'm assuming that you have selected all necessary MinGW and MSYS packages during install
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
(useful hint - after clicking at checkbox press key I).
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
You also need to install pkg-config or pkg-config-lite and update autoconf and openssl.
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
http://www.gaia-gis.it/spatialite-3.0.0-BETA/mingw_how_to.html#pkg-config
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
https://sourceforge.net/p/mingw/mailman/message/31908633/
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
https://sourceforge.net/projects/pkgconfiglite/files/
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
https://www.openssl.org/source/
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
You need to configure OpenSSL to replace very old mingw's version like this:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
./configure --prefix=/mingw threads shared mingw
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
make depend && make && make install
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
Then download and unpack libp11, in its directory use:
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
libtoolize --force
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
aclocal -I m4 --install
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
autoheader
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
automake --force-missing --add-missing
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
autoconf
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
./configure --prefix=/usr/local
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
make && make install
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
### MinGW cross-compile on a Unix host
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
We assume that OpenSSL is installed in /opt/openssl-mingw64.
|
|
Packit |
6b81fa |
Update the paths to match your environment.
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
export PKG_CONFIG_PATH=/opt/openssl-mingw64/lib/pkgconfig
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
./configure --host=x86_64-w64-mingw32 --prefix=/opt/libp11-mingw64
|
|
Packit |
6b81fa |
|
|
Packit |
6b81fa |
make && sudo make install
|
|
Packit |
6b81fa |
|