p≡p for Java
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
heck 0eb4e3469b Tests: "encrypt msg to self using imported key with passphrase" 2 years ago
android JNI-111 Update Makefile.conf and build.gradle 2 years ago
androidTests Update gradle versions and engine version 4 years ago
doc/doxygen Added doc/ dir, added Doxygen fox c++ and java. use "make doxy-all" 2 years ago
src this "return" is not correct 2 years ago
test Tests: "encrypt msg to self using imported key with passphrase" 2 years ago
utils JNI-81 Add missing file to build openssl 3 years ago
.hgignore Remove testcase for rejected issue 2 years ago
LICENSE.txt switching to AGPL 6 years ago
Makefile Makefiles. More structure. More logging 2 years ago
Makefile.conf Makefiles. More structure. More logging 2 years ago
README.md Build config, added foo_PATH vars, for more flexible reuse of paths 3 years ago
local.conf.example Add DEBUG or RELEASE build option 2 years ago

README.md

p≡p JNI Adapter

More complete developer instructions can be found here: https://dev.pep.foundation/JNI%20Adapter/Tutorial.

Prerequisites

yml2

To set up yml2 properly, consult the documentation of pEp Engine (linked below). yml2 is a build dependency of pEp Engine.

C and C++ compiler

Any gcc or clang distribution offered by your OS is fine.

pEp Engine

Instructions for obtaining the pEp Engine can be found on https://pep.foundation/dev/repos/pEpEngine/file/.

libpEpAdapter

Instructions for obtaining libpEpAdapter can be found on https://pep.foundation/dev/repos/libpEpAdapter/file/.

Java 8 (or newer) JDK

Download Oracle Java from https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.

OpenJDK can be installed from macports on macOS with one of the following commands:

sudo port install openjdk8
sudo port install openjdk11

Building

Build configuration will be the result of including these files in the following order:

  • Makefile.conf - Defaults
  • local.conf - optional cfg (overwrites existing values)
  • src/local.conf- optional cfg for src dir (overwrites existing values)

An example local.conf looks like this:

JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk8/Contents/Home

YML2_PATH=$(HOME)/code/yml2

ENGINE_INC_PATH=$(HOME)/code/engine/build/include
ENGINE_LIB_PATH=$(HOME)/code/engine/build/lib

AD_INC_PATH=$(HOME)/code/libad/build/include
AD_LIB_PATH=$(HOME)/code/libad/build/lib

The the foo_PATH variables will be turned into compiler directives (-I / -L), which can be directly set by just omitting "_PATH" (e.g. ENGINE_INC). They will take priority.

Depending on what is already set in your environment, or can be found in your default include/library paths, setting any of these variables may be optional on your platform.

Now, build the Adapter with

On Linux:

make src

On macOS:

make src

(The GNU Make distributed with macOS might be too old, in this case install GNU Make "gmake" from macPorts).