diff --git a/README.md b/README.md index e54a304..cfb565a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # PSCrypto -A wrapper around CryptoPP for use with Scala or Java. +A PlanetSide specific wrapper around CryptoPP for use with Scala or Java. These functions are used for establishing an authenticated and confidential connection between a PlanetSide server and client. + +To get the library, run ```shell $ git clone --recursive https://github.com/psforever/PSCrypto.git @@ -12,12 +14,15 @@ git submodule update --init --recursive ``` ## Building -GNU Make and a c++ compiler required. +GNU Make and an `g++` (GNU C++) required. Builds tested in Debian, Cygwin with Mingw64, and GNUWin32. +In the top-level PSCrypto directory (not the subfolder), run ```shell -$ make -j4 +$ make -j4 # build for current system ``` +This will build the CryptoPP dependency and then the `pscrypto` library, which links to CryptoPP. The pscrypto build artifact will be in pscrypto/ as `libpscrypto.so` or `pscrypto.dll` depending on your platform. Note that the library architecture must match that of the JVM or process you are loading it in to, otherwise you will see loader errors. + ## Cross Compiling Use the environment variable `PREFIX` to define a compiler tuple for building. For example @@ -25,4 +30,6 @@ Use the environment variable `PREFIX` to define a compiler tuple for building. F $ PREFIX=x86_64-w64-mingw32- make -j4 ``` -This will build a `pscrypto.dll` for 64-bit Windows. +This will build a `pscrypto.dll` for 64-bit Windows. Platform and architecture quirks are handled by the file `Makefile.inc`. + +You can also specify the `ARCH` variable manually (as `i686` or `x86_64`) in order to enable multilib building, if available.