Building and running the swtpm has dependencies on the following packages:

- automake
- autoconf
- bash
- coreutils
- expect
- libtool
- sed
- libtpms
- libtpms-devel
- fuse
- fuse-devel
- glib2
- glib2-devel
- net-tools
- python3
- python3-twisted
- selinux-policy-devel
- trousers
- tpm-tools
- gnutls
- gnutls-devel
- libtasn1
- libtasn1-tools
- libtasn1-devel
- rpm-build (to build RPMs)

Debian/Ubuntu also needs the following packages to build:

- build-essential
- devscripts
- equivs

On RHEL or Fedora use either one of the following methods to install
the above dependencies:

 - sudo dnf builddep ./dist/swtpm.spec  (Fedora >= 22)
 - sudo yum install yum-utils ; sudo yum-builddep ./dist/swtpm.spec  (RHEL and Fedora <= 21)
 - sudo yum install <package name(s)>

On Ubuntu use the following command:

 - sudo mk-build-deps --install ./debian/control


Use the following sequence to build and install the Software TPM.

./autogen.sh
./configure --prefix=/usr
make
make check
make install


To build an rpm on a Fedora or RHEL host do:

./autogen.sh
./configure
make dist
mkdir -p ~/rpmbuild/SOURCES
cp swtpm-0.x.y-tar.gz ~/rpmbuild/SOURCES
rpmbuild -ba dist/swtpm.spec


To build a Debian package on a Debian compatible host do:

echo "libtpms0 libtpms" > ./debian/shlibs.local
debuild -us -uc
