Lines Matching +full:windows +full:- +full:build +full:- +full:rules

1 This file contains instructions to build and install the TSS libraries.
4 To build and install the tpm2-tss software the following software packages
15 * pkg-config
22 however libgcrypt-dev is required as a dependency for the configure script
24 See https://github.com/tpm2-software/tpm2-tss/issues/1365 for more info.
27 * Integration test suite (see ./configure option --enable-integration):
28 - uthash development libraries and header files
29 - ps executable (usually in the procps package)
30 - ss executable (usually in the iproute2 package)
31 - tpm_server executable (from https://sourceforge.net/projects/ibmswtpm2/)
32 * Unit test suite (see ./configure option --enable-unit):
33 - cmocka unit test framework, version >= 1.0
35 - lcov
41 $ sudo apt -y update
42 $ sudo apt -y install \
43 autoconf-archive \
45 libcmocka-dev \
48 build-essential \
50 pkg-config \
54 libssl-dev \
55 uthash-dev \
58 libjson-c-dev \
59 libini-config-dev \
60 libcurl-dev \
61 libgcrypt-dev
63-archive packages are incompatible with each other. It is recommended to download autoconf-archive…
67 There is a package already, so the package build dependencies information can be
71 $ sudo dnf builddep tpm2-tss
74 ## Windows section in Dependencies
75 Windows dlls built using the Clang/LLVM "Platform Toolset" are currently
78 (tss2-mu.dll) and the system API (tss2-sapi.dll) should be as simple as
79 loading the tpm2-tss solution (tpm2-tss.sln) with a compatible and properly
80 configured version of Visual Studio 2017 and pressing the 'build' button.
83 …l Studio 2017 with "Clang for Windows": https://blogs.msdn.microsoft.com/vcblog/2017/03/07/use-any
84 …& setup instructions: https://docs.microsoft.com/en-us/cpp/porting/upgrade-your-code-to-the-univer…
87 ## Bootstrapping the Build
88 To configure the tpm2-tss source code first run the bootstrap script, which
96 ## Configuring the Build
109 Invoking the configure script with the `--help` option will display
113 https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
115 ### udev Rules
116 The typical operation for the `tpm2-abrmd` is for it to communicate directly
117 with the Linux TPM driver using `libtcti-device` from the TPM2.0-TSS project.
118 This requires that the user account that's running the `tpm2-abrmd` have both
119 read and write access to the TPM device node `/dev/tpm[0-9]`. But users could
120 also access the TPM directly so the udev rule is installed by `tpm2-tss`.
122 #### `--with-udevrulesdir`
125 `${libdir}/udev/rules.d`. If your distro stores these rules elsewhere you will
126 need to tell the build about this location.
128 Using Debian as an example we can instruct the build to install the udev
129 rules in the right location with the following configure option:
131 --with-udevrulesdir=/etc/udev/rules.d
134 #### `--with-udevrulesprefix`
135 It is common for Linux distros to prefix udev rules files with a numeric
136 string (e.g. "70-"). This allows for the rules to be applied in a predictable
137 order. This option allows for the name of the installed udev rules file to
143 $ make -j$(nproc)
147 Once you've built the tpm2-tss software it can be installed with:
153 See the output of ./configure --help for the available options. Typically you
154 won't need to do much more than provide an alternative --prefix option at
158 # Post-install
162 you'll need to instruct udev to reload its rules and apply the new rule.
165 $ sudo udevadm control --reload-rules && sudo udevadm trigger
173 It may be necessary to run ldconfig (as root) to update the run-time
183 build in a container.
186 $ docker build -t tpm2 .
187 $ docker run --name temp tpm2 /bin/true
188 $ docker cp temp:/tmp/tpm2-tss tpm2-tss
192 tpm2-tss is now in your working directory and contains all the built files.
194 To rebuild using your local changes mount your tpm2-tss directory as a volume.
197 $ docker run --rm -ti -v $PWD:/tmp/tpm2-tss tpm2-tss \
198 sh -c 'make -j$(nproc) check'
203 To build Doxygen documentation files, first install package Doxygen.
207 $ ./configure --enable-doxygen-doc
208 $ make doxygen-doc
212 * doxygen-doc/html HTML format (start with file doxygen-doc/html/index.html)
213 * doxygen-doc/rtf/refman.rtf RTF format