p≡p for Java
 
 
 
 
 
 
Go to file
heck ac91696b0a And suddenly my linux box javac needs "-encoding UTF-8", well, cant hurtbeing explicit about that in general.
(cherry picked from commit 242bdb073c)
2021-02-24 07:26:46 -05:00
.gitlab-ci-files CID: don't use insecure docker registries anymore 2021-02-23 23:04:15 +01:00
android JNI-120 Android build: Update referenced Engine version 2020-10-15 15:04:43 +02:00
androidTests Update gradle versions and engine version 2018-10-23 13:53:42 +02:00
doc/doxygen Added doc/ dir, added Doxygen fox c++ and java. use "make doxy-all" 2020-04-13 16:16:42 +02:00
scripts/debian10 CI: install JDK before building JNIAdapter 2021-02-23 23:04:15 +01:00
src And suddenly my linux box javac needs "-encoding UTF-8", well, cant hurtbeing explicit about that in general. 2021-02-24 07:26:46 -05:00
test And suddenly my linux box javac needs "-encoding UTF-8", well, cant hurtbeing explicit about that in general. 2021-02-24 07:26:46 -05:00
utils JNI-81 Add missing file to build openssl 2019-11-09 22:36:20 +01:00
.gitignore .gitgnore 2021-02-15 19:48:55 +01:00
.gitlab-ci.yml CI: remove incomplete CentOS jobs 2021-02-23 23:03:34 +01:00
DEPENDENCIES Add/update DEPENDENCIES 2021-02-16 23:50:16 +01:00
LICENSE.txt switching to AGPL 2016-11-20 13:12:32 +01:00
Makefile testcommit 2021-02-03 01:50:49 +01:00
Makefile.conf And suddenly my linux box javac needs "-encoding UTF-8", well, cant hurtbeing explicit about that in general. 2021-02-24 07:26:46 -05:00
README.md Build config, added foo_PATH vars, for more flexible reuse of paths 2019-12-12 02:23:50 +01:00
local.conf.example Add DEBUG or RELEASE build option 2020-05-06 18:10:06 +02:00

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).