p≡p for Java
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Hussein Kasem 15b9fe1062 JNI-120 Android build: Update sequoia version and use rust nightly
Currently is needed to use rust nightly to cross-build the latest sequoia version for Android.

Before building again is needed to run, on the build machine:
    rustup default nightly
    rustup update nightly
    rustup component add rust-src
    rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
3 years ago
android JNI-120 Android build: Update sequoia version and use rust nightly 3 years ago
androidTests Update gradle versions and engine version 5 years ago
doc/doxygen Added doc/ dir, added Doxygen fox c++ and java. use "make doxy-all" 3 years ago
src just cosmetics 3 years ago
test Merge in JNI-114 (new callback param PassphraseType) 3 years ago
utils JNI-81 Add missing file to build openssl 4 years ago
.hgignore just cosmetics 3 years ago
LICENSE.txt switching to AGPL 7 years ago
Makefile Makefiles. More structure. More logging 3 years ago
Makefile.conf Add comipler optimization -O3 to release build 3 years ago
README.md Build config, added foo_PATH vars, for more flexible reuse of paths 4 years ago
local.conf.example Add DEBUG or RELEASE build option 3 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).