Merge branch 'master' into generate_api

generate_api
Nana 2 years ago
commit 484897a18c

64
.gitignore vendored

@ -31,6 +31,7 @@ build-android/pEpEngine-android-1.zip
build-android/third-party
build-android/pEpEngine-android-1
build-linux/*
build-windows/libpEpasn1/libpEpasn1.vcxproj.user
*.dSYM*
*_test
msg4.asc
@ -40,7 +41,7 @@ Makefile.protocols
test/msg_encrypt_for_self.asc
tags
asn.1/pEpEngineASN1/pEpEngineASN1.vcxproj.user
sync/generated
codegen/generated
*.xml
*.dot
*.svg
@ -54,7 +55,10 @@ trustdb.gpg
.cache
__pycache__
*.pyc
test/gtest_parallel.py
test/python_tests/test?
test/python_tests/dummyhome?
test/python_tests/common
test/pEp_test_home
test/TestDriver
test/local
@ -65,19 +69,22 @@ test/src/engine_test/LocalPlayground.cc
*/*/.tags
asn.1/.generated
src/KeySync_*
src/TrustSync_*
src/GroupSync_*
src/Sync_*
src/sync_codec.*
src/distribution_codec.*
src/storage_codec.*
asn.1/keysync.asn1
asn.1/trustsync.asn1
asn.1/groupsync.asn1
asn.1/keyreset.asn1
asn.1/sync.asn1
asn.1/distribution.asn1
sync/.codecs
sync/.messages
sync/.actions
sync/.codegen
sync/.statemachines
sync/.copy
asn.1/exploration.asn1
asn.1/managedgroup.asn1
asn.1/storage.asn1
asn.1/messagestorage.asn1
test/msg_2.0.asc
test/*.txt
lldb-history
@ -87,6 +94,30 @@ test/EngineTests
test/googletest
test/tmp/*
src/commit_hash.h
.idea/
venv/
venv2/
cleangit.py
newgit
# Xcode related ignores
build/
DerivedData/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
*.moved-aside
*.xccheckout
*.xcscmblueprint
xcshareddata
# ignore generated test data
test/655_16F07F382FB3CF5DF977005D1069C7CACF9C23C6.asc
@ -99,3 +130,22 @@ test/test_keys/736_a.asc
test/test_keys/736_b.asc
test/test_mails/ENGINE-654_bob_mail.eml
# ignore generated data
codegen/generated/
codegen/*.gen
.copy
# Don't remove these if you want to live a long life. It's necessary because it doesn't get cleaned up between branches.
sync/generated
sync/.codecs
sync/.messages
sync/.actions
sync/.codegen
sync/.statemachines
sync/.copy
*.ignore
# Will remove once KER comes in
test/test_mails/default_keys_test_*.eml

@ -0,0 +1,22 @@
.ensure_docker: &ensure_docker
# Check for docker and install if missing
- 'which docker || ( sudo apt-get update -y && sudo apt-get install docker.io -y )'
.ensure_rsync: &ensure_rsync
# Install rsync and deps if missing
- 'which ssh-agent || ( sudo apt-get update -y && sudo apt-get install openssh-client -y )'
- 'which rsync || ( sudo apt-get update -y && sudo apt-get install rsync -y )'
- 'which make || ( sudo apt-get update -y && sudo apt-get install make -y )'
.standard_job:
tags: [kvm]
before_script:
- *ensure_docker
- *ensure_rsync
.make_in_docker:
extends: .standard_job
script:
- docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST}
- cd scripts/${CI_DISTRO_TARGET}
- make

@ -0,0 +1,46 @@
include:
- '.gitlab-ci-files/common-prepare.yml'
stages:
- build
# Debian
debian10:build:
extends: .make_in_docker
stage: build
variables:
CI_DISTRO_TARGET: "debian10"
DEBIAN_FRONTEND: "noninteractive"
rules:
- if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/'
debian10:tagged-build:
extends: .make_in_docker
stage: build
variables:
CI_DISTRO_TARGET: "debian10"
DEBIAN_FRONTEND: "noninteractive"
TAGGED_BUILD: "true"
rules:
- if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/'
# CentOS
centos8:build:
extends: .make_in_docker
stage: build
variables:
CI_DISTRO_TARGET: "centos8"
rules:
- if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/'
centos8:tagged-build:
extends: .make_in_docker
stage: build
variables:
CI_DISTRO_TARGET: "centos8"
TAGGED_BUILD: "true"
rules:
- if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/'

@ -0,0 +1,4 @@
# 1st Party Dependencies
## Prefer git tags instead of SHA hashes when possible.
sequoia=openpgp/v1.1.0
yml2=2.7.0

@ -19,24 +19,37 @@ ifdef BUILD_CONFIG
$(info ================================================)
endif
.PHONY: all sync asn1 build install dbinstall uninstall clean tags test package db
BUILT_IN_MIME=
build: asn1
ifdef PEP_MIME
BUILT_IN_MIME=pepmime
endif
.PHONY: all $(BUILT_IN_MIME) codegen asn1 build install dbinstall uninstall clean tags test package db
build: $(BUILT_IN_MIME) asn1
$(MAKE) -C src
all: build
# `make all` is not for tests, that's what `make test` is for
# $(MAKE) -C test
sync:
$(MAKE) -C sync
pepmime:
$(MAKE) -C pEpMIME lib
codegen:
$(MAKE) -C codegen
asn1: sync
asn1: codegen
$(MAKE) -C asn.1
install: build
$(MAKE) -C src install
$(MAKE) -C asn.1 install
ifeq ($(BUILT_IN_MIME),pepmime)
$(MAKE) -C pEpMIME install
endif
beinstall:
$(MAKE) -C src beinstall
@ -53,7 +66,11 @@ clean:
$(MAKE) -C test clean
$(MAKE) -C db clean
$(MAKE) -C asn.1 clean
$(MAKE) -C sync clean
$(MAKE) -C codegen clean
$(MAKE) -C build-android clean
ifdef PEP_MIME
$(MAKE) -C pEpMIME clean
endif
tags:
$(MAKE) -C asn.1 tags

@ -15,7 +15,6 @@
# It is possible to use multiple variants simultaniously.
# If nothing is changed according to these 3 methods, a default configuration for your platform (specified below) will be used for the build.
######### Header #########
HERE:=$(dir $(lastword $(MAKEFILE_LIST)))
@ -74,28 +73,29 @@ TARGET_ARCH=
# The following two variables will be appended to.
# You can thus not set them to a final, fixed value here.
ifeq ($(BUILD_FOR),Linux)
LDFLAGS=
LDFLAGS+=
else ifeq ($(BUILD_FOR),Darwin)
# "-bind_at_load" helps find symbol resolution errors faster
LDFLAGS=-bind_at_load
LDFLAGS+=-bind_at_load
endif
# Are we wiping this on purpose?
LDLIBS=
######### C #########
ifeq ($(BUILD_FOR),Linux)
CC=gcc -std=c99 -pthread
CC=gcc
else ifeq ($(BUILD_FOR),Darwin)
# clang issues a warning when "-pthread" is used for linking.
# So, include it in CFLAGS, and not in CC
CC=clang -std=c99
CC=clang
endif
CFLAGS+=-std=c99 -pthread
CFLAGS+=-fPIC -fstrict-aliasing
ifeq ($(BUILD_FOR),Linux)
CFLAGS=-fPIC -fstrict-aliasing -fdiagnostics-color=auto
CFLAGS+=-fdiagnostics-color=auto
else ifeq ($(BUILD_FOR),Darwin)
CFLAGS=-pthread -fPIC -fstrict-aliasing -fcolor-diagnostics
CFLAGS+=-fcolor-diagnostics
endif
# The flag -DNDEBUG will always be removed from CFLAGS for compiling tests.
@ -131,24 +131,28 @@ ifeq ($(BUILD_FOR),Linux)
# otherwise printed during the compilation of every asn1c-generated C file.
# It's a glibc specific warning, only present in few versions around ~2.19.
# See https://lwn.net/Articles/590381/ for a discussion.
CFLAGS_GENERATED=-D_DEFAULT_SOURCE
CPPFLAGS_GENERATED=-D_DEFAULT_SOURCE
else ifeq ($(BUILD_FOR),Darwin)
CFLAGS_GENERATED=
CPPFLAGS_GENERATED=
endif
######### C++ #########
ifeq ($(BUILD_FOR),Linux)
CXX=g++ -std=gnu++11 -pthread
CXX=g++
CXXFLAGS+=-std=gnu++11
else ifeq ($(BUILD_FOR),Darwin)
# clang issues a warning when "-pthread" is used for linking. So, include it in CXXFLAGS, and not in CXX
CXX=clang -std=c++11
CXX=clang
CXXFLAGS+=-std=c++11
endif
# The flag -DNDEBUG will always be removed from CXXFLAGS for compiling tests.
CXXFLAGS+=-pthread
# The flag -DNDEBUG will always be removed from CPPFLAGS for compiling tests.
#
# The tests do not work properly, if compiled with -DNDEBUG
ifeq ($(BUILD_FOR),Linux)
CXXFLAGS=-fdiagnostics-color=auto -I../src -I../asn.1 $(ETPAN_INC)
CXXFLAGS+=-fdiagnostics-color=auto -I../src -I../asn.1 $(ETPAN_INC)
ifdef WARN
CXXFLAGS+=
else
@ -157,10 +161,11 @@ ifeq ($(BUILD_FOR),Linux)
ifdef DEBUG
CXXFLAGS+= -g -ggdb
else
CXXFLAGS+= -O3 -DNDEBUG
CXXFLAGS+= -O3
CPPFLAGS+= -DNDEBUG
endif
else ifeq ($(BUILD_FOR),Darwin)
CXXFLAGS=-pthread -fcolor-diagnostics -I../src -I../asn.1 $(ETPAN_INC)
CXXFLAGS+=-fcolor-diagnostics -I../src -I../asn.1 $(ETPAN_INC)
ifdef WARN
CXXFLAGS+=
else
@ -169,16 +174,18 @@ else ifeq ($(BUILD_FOR),Darwin)
ifdef DEBUG
CXXFLAGS+= -O0 -g
else
CXXFLAGS+= -O3 -DNDEBUG
CXXFLAGS+= -O3
CPPFLAGS+= -DNDEBUG
endif
endif
######### C and C++ #########
ifeq ($(BUILD_FOR),Darwin)
CPPFLAGS=-D_DARWIN_C_SOURCE
CPPFLAGS+=-D_DARWIN_C_SOURCE
LDLIBS+=-liconv
else
CPPFLAGS=
LDLIBS+=-luuid
endif
@ -200,39 +207,42 @@ ASN1C_INC=
#ASN1C_INC=-I$(HOME)/include
######### libetpan #########
# libetpan library search flag
ETPAN_LIB=
#ETPAN_LIB=-L$(HOME)/lib
######### sqlite3 #########
# If empty (or undefined), compile sqlite3 from the sources shipped with the pEp distribution.
# Otherwise, use an sqlite3 implementation found in the OS's include/library paths.
SQLITE3_FROM_OS=placeholder
# libetpan include search flag
ETPAN_INC=
#ETPAN_INC=-I$(HOME)/include
######### MIME #########
######### pEp MIME #########
# set this to skip libetpan and use PEP_MIME instead
# PEP_MIME=1
# Set pEpMIME= anything (there are ifdefs on it) in your local.conf if you want
# to compile built-in pEpMIME (requires a separate libppEpMIME source repo to be
# checked out elsewhere on the system - define or redefine these in local.conf
# if you want to use it; otherwise, we default to etpan. (This will eventually
# become the default, but not yet.
#
# pEp MIME library search flag
PEP_MIME_LIB=
# pEp MIME include search flag
PEP_MIME_INC=
PEP_MIME=
PEP_MIME_SRC=$(HOME)/src/pEpMIME/src
######### sqlite3 #########
# If empty (or undefined), compile sqlite3 from the sources shipped with the pEp distribution.
# Otherwise, use an sqlite3 implementation found in the OS's include/library paths.
SQLITE3_FROM_OS=placeholder
######### libetpan #########
# libetpan library search flag
#
ETPAN_LIB=
#ETPAN_LIB=-L$(HOME)/lib
# libetpan include search flag
ETPAN_INC=
#ETPAN_INC=-I$(HOME)/include
######### OpenPGP #########
# Selects OpenPGP implementation. must be `SEQUOIA`
OPENPGP=SEQUOIA
# Sequoia-specific variables
SEQUOIA_CFLAGS=
SEQUOIA_LDFLAGS=
SEQUOIA_CFLAGS+=
SEQUOIA_LDFLAGS+=
SEQUOIA_LIB=
SEQUOIA_INC=
@ -258,6 +268,10 @@ EXCLUDE=
######### Footer #########
################################
# Include local.conf for any overrides and additional flags
################################
-include $(HERE)/local.conf
ifdef BUILD_CONFIG
@ -265,26 +279,43 @@ ifdef BUILD_CONFIG
endif
######### Post processing assignments ########
# These variables are ineffective when set anywhere else but here.
# KB: I have no idea why we do this - it totally defeats the purpose of
# local.conf.
# For now: set if has no value.
# If sequoia has been set up and the SEQUOIA flags aren't defined, set them up.
# Otherwise, add them to the CFLAGS/CXXFLAGS/LDFLAGS and library/include variables
ifeq ($(OPENPGP),SEQUOIA)
ifeq ($(SEQUOIA_CFLAGS),)
SEQUOIA_CFLAGS=$(shell pkg-config --cflags-only-other sequoia-openpgp)
SEQUOIA_CFLAGS+=$(shell pkg-config --cflags-only-other sequoia-openpgp)
endif
ifeq ($(SEQUOIA_LDFLAGS),)
SEQUOIA_LDFLAGS=$(shell pkg-config --libs-only-l --libs-only-other sequoia-openpgp)
SEQUOIA_LDFLAGS+=$(shell pkg-config --libs-only-l sequoia-openpgp)
endif
ifeq ($(SEQUOIA_LIB),)
SEQUOIA_LIB=$(shell pkg-config --libs-only-L sequoia-openpgp)
SEQUOIA_LIB=$(shell pkg-config --libs-only-L --libs-only-other sequoia-openpgp)
endif
ifeq ($(SEQUOIA_INC),)
SEQUOIA_INC=$(shell pkg-config --cflags-only-I sequoia-openpgp)
endif
CFLAGS+= $(SEQUOIA_CFLAGS)
CXXFLAGS+= $(SEQUOIA_CFLAGS)
LD_FLAGS+= $(SEQUOIA_LDFLAGS)
endif
# YML_PATH is needed in the environment of every call to a program of the YML2 distribution
export YML_PATH=$(YML2_PATH)
# Postprocess for pEpMIME
ifdef PEP_MIME
# Replace c++11 with c++14 for now (limiting the subst to the ++11 means it doesn't matter if gnu or not)
CXXFLAGS:=$(subst ++11,++14,$(CXXFLAGS)) -fPIC -fvisibility=hidden
endif
ifdef PEP_MIME
ifndef PEP_MIME_SRC
$(error "Compiling with the PEP_MIME option set requires the value of PEP_MIME_SRC to be set to the source directory for libpEpMIME")
else
CPPFLAGS+=-DPEP_BUILTIN_MIME
LDLIBS+=-lstdc++
ETPAN_LIB=
ETPAN_INC=
endif
endif

@ -43,7 +43,7 @@ It is under active development by several full-time employees of the p≡p found
The most recent version of the source code can be obtained here: <https://pep.foundation/dev/repos>.
This is the only offical way to obtain a copy of the source code.
# I would like to contribute to the p≡p Engine or a realated project, where do I start?
# I would like to contribute to the p≡p Engine or a related project, where do I start?
First of all, excellent! You can find further information here: <https://contribution.pep.foundation/>
# Legal notes

@ -5,32 +5,47 @@ include ../Makefile.conf
ALL_SOURCE=$(subst $(NO_SOURCE),,$(wildcard *.c))
ALL_OBJECTS=$(subst .c,.o,$(ALL_SOURCE))
CPPFLAGS+=$(CFLAGS_GENERATED)
CPPFLAGS+=$(CPPFLAGS_GENERATED)
ASN1C_INC+= -I.
ASN1C_OPTIONS = -fincludes-quoted -fcompound-names -pdu=auto
DISTRIBUTION = distribution keyreset managedgroup exploration
SYNC = sync keysync trustsync groupsync
STORAGE = storage messagestorage
DISTRIBUTION_FILES = $(addsuffix .asn1, $(DISTRIBUTION))
SYNC_FILES = $(addsuffix .asn1, $(SYNC))
STORAGE_FILES = $(addsuffix .asn1, $(STORAGE))
.PHONY: all clean install uninstall
all: Sync.c Distribution.c
all: Sync.c Distribution.c Storage.c
$(MAKE) libasn1.a
libasn1.a: $(ALL_OBJECTS)
$(AR) -rc $@ $(ALL_OBJECTS)
%.o: %.c %.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) $(ASN1C_INC) -c $< -o $@
$(CC) $(CFLAGS) $(CPPFLAGS) $(OPTIMIZE) $(ASN1C_INC) -c $< -o $@
Sync.c: sync.asn1 keysync.asn1 pEp.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keysync.asn1 $<
Sync.c: $(SYNC_FILES) $(DISTRIBUTION_FILES) pEp.asn1
$(ASN1C) -gen-PER $(ASN1C_OPTIONS) $+
rm -f converter-sample.c
touch Sync.c
Distribution.c: distribution.asn1 keyreset.asn1 pEp.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keyreset.asn1 $<
Distribution.c: $(DISTRIBUTION_FILES) pEp.asn1
$(ASN1C) -gen-PER $(ASN1C_OPTIONS) $+
rm -f converter-sample.c
touch Distribution.c
Storage.c: $(STORAGE_FILES) pEp.asn1
$(ASN1C) -gen-PER $(ASN1C_OPTIONS) $+
rm -f converter-sample.c
touch Storage.c
clean:
rm -f *.a *.o *.c *.h *.sample sync.asn1 keysync.asn1 distribution.asn1 keyreset.asn1
rm -f *.a *.o *.c *.h *.sample \
$(SYNC_FILES) $(DISTRIBUTION_FILES) $(STORAGE_FILES)
install:
@ -38,3 +53,8 @@ uninstall:
tags: $(wildcard *.c) $(wildcard *.h)
ctags --sort=yes *.c *.h
# ensure generated files are here - useful after "make clean"
$(SYNC_FILES) $(DISTRIBUTION_FILES) $(STORAGE_FILES):
rm -f ../codegen/.copy
$(MAKE) -C ../codegen .copy

@ -1,7 +1,7 @@
-- This file is under BSD License 2.0
-- Sync protocol for p≡p
-- Copyright (c) 2016, 2017 p≡p foundation
-- Copyright (c) 2016-2021 p≡p foundation
-- Written by Volker Birk
@ -12,7 +12,7 @@ DEFINITIONS AUTOMATIC TAGS EXTENSIBILITY IMPLIED ::=
BEGIN
EXPORTS Identity, IdentityList, TID, Hash, Version;
EXPORTS Identity, IdentityList, TID, Hash, Version, Rating;
ISO639-1 ::= PrintableString(FROM ("a".."z")) (SIZE(2))
Hex ::= PrintableString(FROM ("A".."F") | FROM ("0".."9"))
@ -36,5 +36,31 @@ Version ::= SEQUENCE {
minor INTEGER (0..255) DEFAULT 2
}
Rating ::= ENUMERATED {
-- no color
cannot-decrypt (1),
have-no-key (2),
unencrypted (3),
unreliable (5),
b0rken (-2),
-- yellow
reliable (6),
-- green
trusted (7),
trusted-and-anonymized (8),
fully-anonymous (9),
-- red
mistrust (-1),
under-attack (-3)
}
END

@ -0,0 +1,13 @@
# Copyright 2020, pEp Foundation
# This file is part of pEpEngine - Android Build
# This file may be used under the terms of the GNU General Public License version 3
# see LICENSE.txt
include ../Makefile.conf
all:
echo "Placeholder command, this is meant to be cleaned by JNIAdapter Android build"
.PHONY: clean
clean:
rm -rf include/

@ -0,0 +1,485 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
1500C9AE264BE75F001FD417 /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = 151672CE262F38D900E99CE5 /* sqlite3.c */; };
151672D0262F38D900E99CE5 /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = 151672CE262F38D900E99CE5 /* sqlite3.c */; };
151672D1262F38D900E99CE5 /* sqlite3.h in Headers */ = {isa = PBXBuildFile; fileRef = 151672CF262F38D900E99CE5 /* sqlite3.h */; };
151672D4262F38E500E99CE5 /* sqlite3.h in Headers */ = {isa = PBXBuildFile; fileRef = 151672CF262F38D900E99CE5 /* sqlite3.h */; };
15A326372612055F009D07EB /* PEPSQLITE3_iOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 15A326362612055F009D07EB /* PEPSQLITE3_iOS.m */; };
15A326382612055F009D07EB /* PEPSQLITE3_iOS.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 15A326352612055F009D07EB /* PEPSQLITE3_iOS.h */; };
15A32656261205E7009D07EB /* PEPSQLITE3_macOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 15A32655261205E7009D07EB /* PEPSQLITE3_macOS.h */; };
15A32658261205E7009D07EB /* PEPSQLITE3_macOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 15A32657261205E7009D07EB /* PEPSQLITE3_macOS.m */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
15A326312612055F009D07EB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
15A326382612055F009D07EB /* PEPSQLITE3_iOS.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
151672CE262F38D900E99CE5 /* sqlite3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sqlite3.c; path = ../../../../sqlite/sqlite3.c; sourceTree = "<group>"; };
151672CF262F38D900E99CE5 /* sqlite3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sqlite3.h; path = ../../../../sqlite/sqlite3.h; sourceTree = "<group>"; };
15A3260B2611F646009D07EB /* PEPSQLITE3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPSQLITE3.h; sourceTree = "<group>"; };
15A3260C2611F646009D07EB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
15A326332612055F009D07EB /* libPEPSQLITE3_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPSQLITE3_iOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
15A326352612055F009D07EB /* PEPSQLITE3_iOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPSQLITE3_iOS.h; sourceTree = "<group>"; };
15A326362612055F009D07EB /* PEPSQLITE3_iOS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPSQLITE3_iOS.m; sourceTree = "<group>"; };
15A32653261205E7009D07EB /* libPEPSQLITE3_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPSQLITE3_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
15A32655261205E7009D07EB /* PEPSQLITE3_macOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPSQLITE3_macOS.h; sourceTree = "<group>"; };
15A32657261205E7009D07EB /* PEPSQLITE3_macOS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPSQLITE3_macOS.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
15A326302612055F009D07EB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
15A32651261205E7009D07EB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
151672CD262F388F00E99CE5 /* src */ = {
isa = PBXGroup;
children = (
151672CE262F38D900E99CE5 /* sqlite3.c */,
151672CF262F38D900E99CE5 /* sqlite3.h */,
);
name = src;
sourceTree = "<group>";
};
15A325FE2611F646009D07EB = {
isa = PBXGroup;
children = (
151672CD262F388F00E99CE5 /* src */,
15A3260A2611F646009D07EB /* PEPSQLITE3 */,
15A326342612055F009D07EB /* PEPSQLITE3_iOS */,
15A32654261205E7009D07EB /* PEPSQLITE3_macOS */,
15A326092611F646009D07EB /* Products */,
);
sourceTree = "<group>";
};
15A326092611F646009D07EB /* Products */ = {
isa = PBXGroup;
children = (
15A326332612055F009D07EB /* libPEPSQLITE3_iOS.a */,
15A32653261205E7009D07EB /* libPEPSQLITE3_macOS.a */,
);
name = Products;
sourceTree = "<group>";
};
15A3260A2611F646009D07EB /* PEPSQLITE3 */ = {
isa = PBXGroup;
children = (
15A3260B2611F646009D07EB /* PEPSQLITE3.h */,
15A3260C2611F646009D07EB /* Info.plist */,
);
path = PEPSQLITE3;
sourceTree = "<group>";
};
15A326342612055F009D07EB /* PEPSQLITE3_iOS */ = {
isa = PBXGroup;
children = (
15A326352612055F009D07EB /* PEPSQLITE3_iOS.h */,
15A326362612055F009D07EB /* PEPSQLITE3_iOS.m */,
);
path = PEPSQLITE3_iOS;
sourceTree = "<group>";
};
15A32654261205E7009D07EB /* PEPSQLITE3_macOS */ = {
isa = PBXGroup;
children = (
15A32655261205E7009D07EB /* PEPSQLITE3_macOS.h */,
15A32657261205E7009D07EB /* PEPSQLITE3_macOS.m */,
);
path = PEPSQLITE3_macOS;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
15A3264F261205E7009D07EB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
151672D4262F38E500E99CE5 /* sqlite3.h in Headers */,
15A32656261205E7009D07EB /* PEPSQLITE3_macOS.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
15A326812612066D009D07EB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
151672D1262F38D900E99CE5 /* sqlite3.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
15A326322612055F009D07EB /* PEPSQLITE3_iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 15A326392612055F009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_iOS" */;
buildPhases = (
15A326812612066D009D07EB /* Headers */,
15A3262F2612055F009D07EB /* Sources */,
15A326302612055F009D07EB /* Frameworks */,
15A326312612055F009D07EB /* CopyFiles */,
15A3268926120716009D07EB /* Copy Artefacts & Headers to Custom Build Dir */,
);
buildRules = (
);
dependencies = (
);
name = PEPSQLITE3_iOS;
productName = PEPSQLITE3_iOS;
productReference = 15A326332612055F009D07EB /* libPEPSQLITE3_iOS.a */;
productType = "com.apple.product-type.library.static";
};
15A32652261205E7009D07EB /* PEPSQLITE3_macOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 15A32659261205E7009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_macOS" */;
buildPhases = (
15A3264F261205E7009D07EB /* Headers */,
15A32650261205E7009D07EB /* Sources */,
15A32651261205E7009D07EB /* Frameworks */,
15A3268A26120757009D07EB /* Copy Artefacts & Headers to Custom Build Dir */,
);
buildRules = (
);
dependencies = (
);
name = PEPSQLITE3_macOS;
productName = PEPSQLITE3_macOS;
productReference = 15A32653261205E7009D07EB /* libPEPSQLITE3_macOS.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
15A325FF2611F646009D07EB /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1240;
TargetAttributes = {
15A326322612055F009D07EB = {
CreatedOnToolsVersion = 12.4;
};
15A32652261205E7009D07EB = {
CreatedOnToolsVersion = 12.4;
};
};
};
buildConfigurationList = 15A326022611F646009D07EB /* Build configuration list for PBXProject "PEPSQLITE3" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 15A325FE2611F646009D07EB;
productRefGroup = 15A326092611F646009D07EB /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
15A326322612055F009D07EB /* PEPSQLITE3_iOS */,
15A32652261205E7009D07EB /* PEPSQLITE3_macOS */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
15A3268926120716009D07EB /* Copy Artefacts & Headers to Custom Build Dir */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Copy Artefacts & Headers to Custom Build Dir";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "CUSTOM_BUILD_DIR=\"${PROJECT_DIR}/build\"\nCUSTOM_INCLUDE_DIR=\"${CUSTOM_BUILD_DIR}/include\"\nmkdir -p ${CUSTOM_INCLUDE_DIR}\ncp -R \"${PROJECT_DIR}\"/../../../../sqlite/*.h ${CUSTOM_INCLUDE_DIR}\ncp \"${TARGET_BUILD_DIR}/libPEPSQLITE3_iOS.a\" ${CUSTOM_BUILD_DIR}\n\n";
showEnvVarsInLog = 0;
};
15A3268A26120757009D07EB /* Copy Artefacts & Headers to Custom Build Dir */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Copy Artefacts & Headers to Custom Build Dir";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "CUSTOM_BUILD_DIR=\"${PROJECT_DIR}/build\"\nCUSTOM_INCLUDE_DIR=\"${CUSTOM_BUILD_DIR}/include\"\nmkdir -p ${CUSTOM_INCLUDE_DIR}\ncp -R \"${TARGET_BUILD_DIR}\"/usr/local/include/sqlite3.h ${CUSTOM_INCLUDE_DIR}\ncp \"${TARGET_BUILD_DIR}/libPEPSQLITE3_macOS.a\" ${CUSTOM_BUILD_DIR}\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
15A3262F2612055F009D07EB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
15A326372612055F009D07EB /* PEPSQLITE3_iOS.m in Sources */,
151672D0262F38D900E99CE5 /* sqlite3.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
15A32650261205E7009D07EB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
15A32658261205E7009D07EB /* PEPSQLITE3_macOS.m in Sources */,
1500C9AE264BE75F001FD417 /* sqlite3.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
15A3260E2611F646009D07EB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = NO;
TARGETED_DEVICE_FAMILY = "";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
15A3260F2611F646009D07EB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = NO;
TARGETED_DEVICE_FAMILY = "";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
15A3263A2612055F009D07EB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
15A3263B2612055F009D07EB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
15A3265A261205E7009D07EB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
};
name = Debug;
};
15A3265B261205E7009D07EB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
15A326022611F646009D07EB /* Build configuration list for PBXProject "PEPSQLITE3" */ = {
isa = XCConfigurationList;
buildConfigurations = (
15A3260E2611F646009D07EB /* Debug */,
15A3260F2611F646009D07EB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
15A326392612055F009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
15A3263A2612055F009D07EB /* Debug */,
15A3263B2612055F009D07EB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
15A32659261205E7009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_macOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
15A3265A261205E7009D07EB /* Debug */,
15A3265B261205E7009D07EB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 15A325FF2611F646009D07EB /* Project object */;
}

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>

@ -0,0 +1,18 @@
//
// PEPSQLITE3.h
// PEPSQLITE3
//
// Created by Andreas Buff on 29.03.21.
//
#import <Foundation/Foundation.h>
//! Project version number for PEPSQLITE3.
FOUNDATION_EXPORT double PEPSQLITE3VersionNumber;
//! Project version string for PEPSQLITE3.
FOUNDATION_EXPORT const unsigned char PEPSQLITE3VersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <PEPSQLITE3/PublicHeader.h>

@ -0,0 +1,12 @@
//
// PEPSQLITE3_iOS.h
// PEPSQLITE3_iOS
//
// Created by Andreas Buff on 29.03.21.
//
#import <Foundation/Foundation.h>
@interface PEPSQLITE3_iOS : NSObject
@end

@ -0,0 +1,12 @@
//
// PEPSQLITE3_iOS.m
// PEPSQLITE3_iOS
//
// Created by Andreas Buff on 29.03.21.
//
#import "PEPSQLITE3_iOS.h"
@implementation PEPSQLITE3_iOS
@end

@ -0,0 +1,12 @@
//
// PEPSQLITE3_macOS.h
// PEPSQLITE3_macOS
//
// Created by Andreas Buff on 29.03.21.
//
#import <Foundation/Foundation.h>
@interface PEPSQLITE3_macOS : NSObject
@end

@ -0,0 +1,12 @@
//
// PEPSQLITE3_macOS.m
// PEPSQLITE3_macOS
//
// Created by Andreas Buff on 29.03.21.
//
#import "PEPSQLITE3_macOS.h"
@implementation PEPSQLITE3_macOS
@end

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>

@ -0,0 +1,18 @@
//
// pEpASN1.h
// pEpASN1
//
// Created by Andreas Buff on 26.03.21.
//
#import <Foundation/Foundation.h>
//! Project version number for pEpASN1.
FOUNDATION_EXPORT double pEpASN1VersionNumber;
//! Project version string for pEpASN1.
FOUNDATION_EXPORT const unsigned char pEpASN1VersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <pEpASN1/PublicHeader.h>

@ -0,0 +1,12 @@
//
// pEpASN1_iOS.h
// pEpASN1_iOS
//
// Created by Andreas Buff on 26.03.21.
//
#import <Foundation/Foundation.h>
@interface pEpASN1_iOS : NSObject
@end

@ -0,0 +1,12 @@
//
// pEpASN1_iOS.m
// pEpASN1_iOS
//
// Created by Andreas Buff on 26.03.21.
//
#import "pEpASN1_iOS.h"
@implementation pEpASN1_iOS
@end

@ -0,0 +1,12 @@
//
// pEpASN1_macOS.h
// pEpASN1_macOS
//
// Created by Andreas Buff on 26.03.21.
//
#import <Foundation/Foundation.h>
@interface pEpASN1_macOS : NSObject
@end

@ -0,0 +1,12 @@
//
// pEpASN1_macOS.m
// pEpASN1_macOS
//
// Created by Andreas Buff on 26.03.21.
//
#import "pEpASN1_macOS.h"
@implementation pEpASN1_macOS
@end

@ -70,6 +70,10 @@ $(SRCROOT)/../asn.1/PString.c
$(SRCROOT)/../asn.1/PString.h
$(SRCROOT)/../asn.1/PrintableString.c
$(SRCROOT)/../asn.1/PrintableString.h
$(SRCROOT)/../asn.1/Rating.c
$(SRCROOT)/../asn.1/Rating.h
$(SRCROOT)/../asn.1/ReceiverRating.c
$(SRCROOT)/../asn.1/ReceiverRating.h
$(SRCROOT)/../asn.1/Rollback.c
$(SRCROOT)/../asn.1/Rollback.h
$(SRCROOT)/../asn.1/Sync.c

File diff suppressed because it is too large Load Diff

@ -6,20 +6,6 @@
parallelizeBuildables = "NO"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "159EF1E022B6AB0700149C0C"
BuildableName = "sequoia.framework"
BlueprintName = "sequoia"
ReferencedContainer = "container:../../Sequoia4iOS/Sequoia4iOS.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1220"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
buildImplicitDependencies = "NO">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1552DB102577D4F100A92F71"
BuildableName = "libpEpEngine_macOS.a"
BlueprintName = "pEpEngine_macOS"
ReferencedContainer = "container:pEpEngine.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1552DB102577D4F100A92F71"
BuildableName = "libpEpEngine_macOS.a"
BlueprintName = "pEpEngine_macOS"
ReferencedContainer = "container:pEpEngine.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -0,0 +1,13 @@
//
// pEpEngine_macOS.h
// pEpEngine_macOS
//
// Created by Andreas Buff on 02.12.20.
// Copyright © 2020 p≡p Security S.A. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface pEpEngine_macOS : NSObject
@end

@ -0,0 +1,13 @@
//
// pEpEngine_macOS.m
// pEpEngine_macOS
//
// Created by Andreas Buff on 02.12.20.
// Copyright © 2020 pp Security S.A. All rights reserved.
//
#import "pEpEngine_macOS.h"
@implementation pEpEngine_macOS
@end

@ -1,78 +1,84 @@
@ECHO OFF
PUSHD .
SET pwd=%cd%
CD %pwd%\sync
:: The script is located in ...\pEpForWindowsAdapterSolution\pEpEngine\build-windows\
SET current_directory=%~dp0
:: Engine directory is ...\pEpForWindowsAdapterSolution\pEpEngine\
SET engine_directory=%current_directory:~0,-14%
:: YML2 directory is ...\pEpForWindowsAdapterSolution\yml2\
SET yml2_directory=%engine_directory:~0,-11%\yml2
:: Create the system.db
PUSHD %engine_directory%\db
CALL make_systemdb
IF NOT EXIST "%ProgramData%\pEp" "MKDIR %ProgramData%\pEp"
DEL "%ProgramData%\pEp\system.db"
MOVE system.db "%ProgramData%\pEp\system.db"
:: Generate code in ...\pEpEngine\sync
CD ..\sync
:: Make sure YML2 is installed
PY -m pip install --upgrade pip
PY -m pip install wheel
PY -m pip install yml2
:: Generate the Sync code
IF NOT EXIST generated MKDIR generated
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_actions.ysl2 sync.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_actions.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_codec.ysl2 distribution.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_codec.ysl2 distribution.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_codec.ysl2 sync.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_codec.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_messages.ysl2 sync.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_messages.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_messages.ysl2 distribution.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_messages.ysl2 distribution.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_message_func.ysl2 sync.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_message_func.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
ECHO py "%YML_PATH%\yml2proc" -E utf-8 -y gen_statemachine.ysl2 sync.fsm
py "%YML_PATH%\yml2proc" -E utf-8 -y gen_statemachine.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
xcopy /y generated\*.asn1 ..\asn.1\
xcopy /y generated\*.c ..\src\
xcopy /y generated\*.h ..\src\
CD %pwd%\asn.1
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_actions.ysl2 sync.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_actions.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_codec.ysl2 distribution.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_codec.ysl2 distribution.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_codec.ysl2 sync.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_codec.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_messages.ysl2 sync.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_messages.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_messages.ysl2 distribution.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_messages.ysl2 distribution.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_message_func.ysl2 sync.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_message_func.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
ECHO PY -m yml2.yml2proc -E utf-8 -y gen_statemachine.ysl2 sync.fsm
PY -m yml2.yml2proc -E utf-8 -y gen_statemachine.ysl2 sync.fsm
IF %ERRORLEVEL% NEQ 0 GOTO end
XCOPY /y generated\*.asn1 ..\asn.1\
XCOPY /y generated\*.c ..\src\
XCOPY /y generated\*.h ..\src\
CD %engine_directory%\asn.1
DEL *.h
DEL *.c
..\..\Tools\asn1c\bin\asn1c -S ../../Tools/asn1c/share/asn1c -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keysync.asn1 sync.asn1
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
IF %ERRORLEVEL% NEQ 0 GOTO end
..\..\Tools\asn1c\bin\asn1c -S ../../Tools/asn1c/share/asn1c -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keyreset.asn1 distribution.asn1
IF %ERRORLEVEL% NEQ 0 (
POPD
EXIT /B 1
)
IF %ERRORLEVEL% NEQ 0 GOTO end<