From 3affbffeb656c314152fcde554fed0832fb9d595 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Tue, 30 Nov 2021 15:18:57 +0100 Subject: [PATCH 01/33] IPS-100 Draft a new system of Makefiles. The idea is pretty similar to GNUstep-make, but all our own. Minimalist and compliant to usual pEp policies. Probably needs more options for local.conf, but we can add them as needed. --- .gitignore | 2 + Makefile.common | 53 +++++++++++++++++++ Makefile.conf | 8 +++ .../PEPObjCTypes/build-linux/GNUmakefile | 44 --------------- .../PEPObjCTypes/build-linux/Makefile | 8 +++ 5 files changed, 71 insertions(+), 44 deletions(-) create mode 100644 Makefile.common create mode 100644 Makefile.conf delete mode 100644 Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/GNUmakefile create mode 100644 Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile diff --git a/.gitignore b/.gitignore index 58774e3e..4283934c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,8 @@ ### Artefacts *.so* +*.a +*.o ### obj/ diff --git a/Makefile.common b/Makefile.common new file mode 100644 index 00000000..482471e5 --- /dev/null +++ b/Makefile.common @@ -0,0 +1,53 @@ +# Makefile skeleton to build static libraries from objective C. +# Define $(TARGET) (library name), $(OBJECTS) (*.o files) and then include this. +# This will respect local.conf automatically. + +HERE:=$(dir $(lastword $(MAKEFILE_LIST))) +include $(HERE)/Makefile.conf + +# Disable default rules. +.SUFFIXES: + +INCLUDES = \ + -I$(HERE)/pEpObjCAdapter \ + -I$(HERE)/pEpObjCAdapter/Extensions \ + -I$(HERE)/pEpObjCAdapter/PublicHeaders \ + -I$(HERE)/pEpObjCTests/TestUtils \ + -I$(HERE)/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/PublicHeaders \ + -I$(HERE)/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders \ + -I$(HERE)/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPEqualableTools \ + -I$(HERE)/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders \ + -I$(PREFIX)/System/Library/Headers \ + -I$(PREFIX)/include/ \ + -I../src/ \ + +OBJCFLAGS = $(CFLAGS) \ + -MMD -MP \ + -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=0 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 \ + -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS \ + -fconstant-string-class=NSConstantString \ + -fobjc-runtime=gnustep-2.0 -fobjc-arc -fblocks -x objective-c \ + -include PEPObjCGNUStepOptimizations.h + +# Unless any rule is defined before including this, this will be the default rule. +$(TARGET) : $(TARGET).a $(TARGET).so + +$(TARGET).a : $(OBJECTS) + ar rc $@ $^ + ranlib $@ + +$(TARGET).so : $(OBJECTS) + clang --shared $(LD_FLAGS) -o $@ $^ $(LD_LIBS) + + +%.o: %.m $(GENERATED) + clang $(OBJCFLAGS) $(INCLUDES) -o $@ -c $< + +clean: + rm -f $(OBJECTS) $(DEPFILES) $(TARGET).a + +install: + install $(TARGET).a $(PREFIX)/lib/ + install $(HEADERS) $(PREFIX)/include/ + + diff --git a/Makefile.conf b/Makefile.conf new file mode 100644 index 00000000..fa0e1d6d --- /dev/null +++ b/Makefile.conf @@ -0,0 +1,8 @@ + +# Build default config +PREFIX ?= $(HOME)/local/ +CFLAGS ?= -fPIC -DPIC -g -Og + +# Overrides +-include $(HERE)/local.conf + diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/GNUmakefile b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/GNUmakefile deleted file mode 100644 index f9024e57..00000000 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/GNUmakefile +++ /dev/null @@ -1,44 +0,0 @@ -# -# Dox: http://www.gnustep.org/resources/documentation/make_1.html -# -# To Run: `make messages=yes shared=no debug=yes` -# - -# Include the common variables defined by the Makefile Package -include $(GNUSTEP_MAKEFILES)/common.make - -LIBRARY_NAME = pEpObjCTypes - -# Build pre-compiled prefix header -GNUSTEPHELPER_DIR=../../../../../pepgnustephelper -FLAGS_FOR_PRECOMPILED_HEADER_DEBUG="-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -FLAGS_FOR_PRECOMPILED_HEADER_RELEASE="-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -O2 -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -ifeq ($(debug), yes) - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_DEBUG} -else - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_RELEASE} -endif -SHELL_RESULT := $(shell ${GNUSTEPHELPER_DIR}/build-precompiled-header.sh ${FLAGS_FOR_PRECOMPILED_HEADER}) -# Keep. Useful to manually figure out flags for precompiled header. -#pEpObjCTypes_OBJC_PRECOMPILED_HEADERS = PEPObjCGNUStepOptimizations.h - -# Finds all dirs in src and prefixes with "-I" -ALL_PRIVATE_HEADER_DIRS_PREFIXED := $(shell find ../src/ -type d | sed -e 's/^/-I/;') -pEpObjCTypes_INCLUDE_DIRS = -I../PublicHeaders/ ${ALL_PRIVATE_HEADER_DIRS_PREFIXED} - -ALL_DOT_M_FILES := $(shell find ../src/ -type f | grep .m) -pEpObjCTypes_OBJC_FILES = ${ALL_DOT_M_FILES} -pEpObjCTypes_RESOURCE_FILES = - -ADDITIONAL_OBJCFLAGS += -include-pch PEPObjCGNUStepOptimizations.h.gch -Winvalid-pch -ADDITIONAL_OBJC_LIBS = -ldispatch -ADDITIONAL_FLAGS = -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC - -HEADER_FILES_INSTALL_DIR = build - -# For lib -include $(GNUSTEP_MAKEFILES)/library.make - -# Copy Artefacts -SHELL_RESULT := $(shell mkdir -p build) -SHELL_RESULT := $(shell cp obj/*.a build/) diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile new file mode 100644 index 00000000..1a8fbfd6 --- /dev/null +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile @@ -0,0 +1,8 @@ + +OBJECTS := $(patsubst %.m,%.o,$(wildcard ../src/*.m)) +DEPFILES := $(wildcard ../src/*.d) +HEADERS := $(wildcard ../PublicHeaders/*.h) +TARGET = libPEPObjCTypes + +include ../../../../Makefile.common +include $(DEPFILES) From 6b00780ddea510ae875b9554a4000ada22899a24 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Tue, 30 Nov 2021 15:31:04 +0100 Subject: [PATCH 02/33] IPS-100 Another makefile. map_asn1.h is not installed by the engine, this currently needs a workaround in local.conf (point to the engine src there). --- Makefile.common | 2 + Makefile.conf | 4 ++ .../PEPObjCTypeUtils/build-linux/GNUmakefile | 49 ------------------- .../PEPObjCTypeUtils/build-linux/Makefile | 8 +++ 4 files changed, 14 insertions(+), 49 deletions(-) delete mode 100644 Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/GNUmakefile create mode 100644 Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile diff --git a/Makefile.common b/Makefile.common index 482471e5..d0069378 100644 --- a/Makefile.common +++ b/Makefile.common @@ -19,7 +19,9 @@ INCLUDES = \ -I$(HERE)/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders \ -I$(PREFIX)/System/Library/Headers \ -I$(PREFIX)/include/ \ + -I$(PEP_INCLUDE) \ -I../src/ \ + $(EXTRA_INCLUDES) \ OBJCFLAGS = $(CFLAGS) \ -MMD -MP \ diff --git a/Makefile.conf b/Makefile.conf index fa0e1d6d..2b7d88d1 100644 --- a/Makefile.conf +++ b/Makefile.conf @@ -3,6 +3,10 @@ PREFIX ?= $(HOME)/local/ CFLAGS ?= -fPIC -DPIC -g -Og +# pEp Engine header files (including pEp/ prefix) +PEP_INCLUDE = $(PREFIX)/include/pEp/ +EXTRA_INCLUDES = + # Overrides -include $(HERE)/local.conf diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/GNUmakefile b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/GNUmakefile deleted file mode 100644 index 744805e3..00000000 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/GNUmakefile +++ /dev/null @@ -1,49 +0,0 @@ -# -# Dox: http://www.gnustep.org/resources/documentation/make_1.html -# -# To Run: `make install messages=yes shared=no debug=yes -# - -# Include the common variables defined by the Makefile Package -include $(GNUSTEP_MAKEFILES)/common.make - -LIBRARY_NAME = pEpObjCTypeUtils - -# Build Dependencies ... -SHELL_RESULT := $(shell ./build-dependencies.sh) - -# Build pre-compiled prefix header -GNUSTEPHELPER_DIR=../../../../../pepgnustephelper -FLAGS_FOR_PRECOMPILED_HEADER_DEBUG="-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -FLAGS_FOR_PRECOMPILED_HEADER_RELEASE="-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -O2 -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -ifeq ($(debug), yes) - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_DEBUG} -else - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_RELEASE} -endif -SHELL_RESULT := $(shell ${GNUSTEPHELPER_DIR}/build-precompiled-header.sh ${FLAGS_FOR_PRECOMPILED_HEADER}) -# Keep. Useful to manually figure out flags for precompiled header. -#pEpObjCTypeUtils_OBJC_PRECOMPILED_HEADERS = PEPObjCGNUStepOptimizations.h - -# Finds all dirs containing headers and prefixes with "-I" -ALL_LOCAL_INCLUDE_HEADER_DIRS_PREFIXED := $(shell find ~/local/include/ -type d | sed -e 's/^/-I/;') -PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED := $(shell find ../../../PEPObjCTypes/PEPObjCTypes/PublicHeaders/ -type d | sed -e 's/^/-I/;') - -pEpObjCTypeUtils_INCLUDE_DIRS = -I../PublicHeaders/ ${ALL_LOCAL_INCLUDE_HEADER_DIRS_PREFIXED} ${PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED} - -ALL_DOT_M_FILES := $(shell find ../ -type f -name "*.m") -pEpObjCTypeUtils_OBJC_FILES = ${ALL_DOT_M_FILES} -pEpObjCTypeUtils_RESOURCE_FILES = - -ADDITIONAL_OBJCFLAGS += -include-pch PEPObjCGNUStepOptimizations.h.gch -Winvalid-pch -ADDITIONAL_OBJC_LIBS = -ldispatch -ADDITIONAL_FLAGS = -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC - -HEADER_FILES_INSTALL_DIR = build - -# For lib -include $(GNUSTEP_MAKEFILES)/library.make - -# Copy Artefacts -SHELL_RESULT := $(shell mkdir -p build) -SHELL_RESULT := $(shell cp obj/*.a build/) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile new file mode 100644 index 00000000..d909814b --- /dev/null +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile @@ -0,0 +1,8 @@ + +OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) +DEPFILES := $(wildcard ../*.d) +HEADERS := $(wildcard ../PublicHeaders/*.h) +TARGET = libPEPObjCTypeUtils + +include ../../../../Makefile.common +include $(DEPFILES) From 0601073dcbeebc34cbd3b12a528e2f06da1e4f5b Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Tue, 30 Nov 2021 15:50:30 +0100 Subject: [PATCH 03/33] IPS-100 Even more makefiles. The adapter does not build on linux due to URLsForDirectory:inDomains:, introduced in 1d1f8b6916fc6309 (IPS-91), which is not implemented in GNUstep. --- Makefile.common | 4 +- .../build-linux/GNUmakefile | 44 -------------- .../build-linux/Makefile | 8 +++ pEpObjCAdapter/build-linux/GNUmakefile | 57 ------------------- pEpObjCAdapter/build-linux/Makefile | 8 +++ 5 files changed, 18 insertions(+), 103 deletions(-) delete mode 100644 Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/GNUmakefile create mode 100644 Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile delete mode 100644 pEpObjCAdapter/build-linux/GNUmakefile create mode 100644 pEpObjCAdapter/build-linux/Makefile diff --git a/Makefile.common b/Makefile.common index d0069378..8855a271 100644 --- a/Makefile.common +++ b/Makefile.common @@ -39,14 +39,14 @@ $(TARGET).a : $(OBJECTS) ranlib $@ $(TARGET).so : $(OBJECTS) - clang --shared $(LD_FLAGS) -o $@ $^ $(LD_LIBS) + clang --shared $(LD_FLAGS) -Wl,--no-undefined -o $@ $^ $(LD_LIBS) %.o: %.m $(GENERATED) clang $(OBJCFLAGS) $(INCLUDES) -o $@ -c $< clean: - rm -f $(OBJECTS) $(DEPFILES) $(TARGET).a + rm -f $(OBJECTS) $(DEPFILES) $(TARGET).a $(TARGET).so install: install $(TARGET).a $(PREFIX)/lib/ diff --git a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/GNUmakefile b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/GNUmakefile deleted file mode 100644 index f29cc143..00000000 --- a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/GNUmakefile +++ /dev/null @@ -1,44 +0,0 @@ -# -# Dox: http://www.gnustep.org/resources/documentation/make_1.html -# -# To Run: `make install messages=yes shared=no debug=yes -# - -# Include the common variables defined by the Makefile Package -include $(GNUSTEP_MAKEFILES)/common.make - -LIBRARY_NAME = pEpObjCAdapterProtocols - -# Build pre-compiled prefix header -GNUSTEPHELPER_DIR=../../../../../pepgnustephelper -FLAGS_FOR_PRECOMPILED_HEADER_DEBUG="-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -FLAGS_FOR_PRECOMPILED_HEADER_RELEASE="-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -O2 -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -ifeq ($(debug), yes) - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_DEBUG} -else - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_RELEASE} -endif -SHELL_RESULT := $(shell ${GNUSTEPHELPER_DIR}/build-precompiled-header.sh ${FLAGS_FOR_PRECOMPILED_HEADER}) - -# Header Search Paths -PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED := -I../../../PEPObjCTypes/PEPObjCTypes/PublicHeaders/ -pEpObjCAdapterProtocols_INCLUDE_DIRS = -I../PublicHeaders/ ${PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED} - -# SRC Files -ALL_DOT_M_FILES := $(shell find ../ -type f -name "*.m") -pEpObjCAdapterProtocols_OBJC_FILES = ${ALL_DOT_M_FILES} -pEpObjCAdapterProtocols_RESOURCE_FILES = - -# Build Settings -ADDITIONAL_OBJCFLAGS += -include-pch PEPObjCGNUStepOptimizations.h.gch -Winvalid-pch -ADDITIONAL_OBJC_LIBS = -ldispatch -ADDITIONAL_FLAGS = -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC - -pEpObjCAdapterProtocols_HEADER_FILES_INSTALL_DIR = build/include - -# For lib -include $(GNUSTEP_MAKEFILES)/library.make - -# Copy Artefacts -SHELL_RESULT := $(shell mkdir -p build) -SHELL_RESULT := $(shell cp obj/*.a build/) diff --git a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile new file mode 100644 index 00000000..db64e975 --- /dev/null +++ b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile @@ -0,0 +1,8 @@ + +OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) +DEPFILES := $(wildcard ../*.d) +HEADERS := $(wildcard ../PublicHeaders/*.h) +TARGET = libPEPObjCAdapterProtocols + +include ../../../../Makefile.common +include $(DEPFILES) diff --git a/pEpObjCAdapter/build-linux/GNUmakefile b/pEpObjCAdapter/build-linux/GNUmakefile deleted file mode 100644 index 1663756f..00000000 --- a/pEpObjCAdapter/build-linux/GNUmakefile +++ /dev/null @@ -1,57 +0,0 @@ -# -# Dox: http://www.gnustep.org/resources/documentation/make_1.html -# -# To Run: `make messages=yes shared=no debug=yes -# - -# Include the common variables defined by the Makefile Package -include $(GNUSTEP_MAKEFILES)/common.make - -# Build Dependencies -SHELL_RESULT := $(shell ./build-dependencies.sh) - -LIBRARY_NAME = pEpObjCAdapter - -# Build pre-compiled prefix header -GNUSTEPHELPER_DIR=../../../pepgnustephelper -FLAGS_FOR_PRECOMPILED_HEADER_DEBUG="-pthread -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -FLAGS_FOR_PRECOMPILED_HEADER_RELEASE="-pthread -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -O2 -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -ifeq ($(debug), yes) - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_DEBUG} -else - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_RELEASE} -endif -SHELL_RESULT := $(shell ${GNUSTEPHELPER_DIR}/build-precompiled-header.sh ${FLAGS_FOR_PRECOMPILED_HEADER}) -# Keep. Useful to manually figure out flags for precompiled header. -# pEpObjCAdapter_OBJC_PRECOMPILED_HEADERS = PEPObjCGNUStepOptimizations.h - -# Header Search Paths -#Finds all dirs containing headers and prefixes with "-I" -ALL_LOCAL_INCLUDE_HEADER_DIRS_PREFIXED := $(shell find ~/local/include/ -type d | sed -e 's/^/-I/;') -PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED := -I../../Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/ -PEP_OBJC_TYPE_UTILS_HEADER_DIRS_PREFIXED := -I../../Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/ -PEP_OBJC_ADAPTER_PROTOCOLS_HEADER_DIRS_PREFIXED := -I../../Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/PublicHeaders/ - -PEP_OBJC_ADAPTER_HEADER_DIRS_PREFIXED := $(shell find ../../pEpObjCAdapter/ -type d | sed -e 's/^/-I/;') -pEpObjCAdapter_INCLUDE_DIRS = ${PEP_OBJC_ADAPTER_HEADER_DIRS_PREFIXED} ${ALL_LOCAL_INCLUDE_HEADER_DIRS_PREFIXED} ${PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED} ${PEP_OBJC_TYPE_UTILS_HEADER_DIRS_PREFIXED} ${PEP_OBJC_ADAPTER_PROTOCOLS_HEADER_DIRS_PREFIXED} - -# SRC Files -ALL_DOT_M_FILES := $(shell find ../ -type f -name "*.m") -pEpObjCAdapter_OBJC_FILES = ${ALL_DOT_M_FILES} -pEpObjCAdapter_RESOURCE_FILES = - -# Build Settings -pEpObjCAdapter_LDFLAGS = ../../Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/build/libpEpObjCTypes.a ../../Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/build/libpEpObjCTypeUtils.a ../../Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/build/libpEpObjCAdapterProtocols.a - -ADDITIONAL_OBJCFLAGS += -include-pch PEPObjCGNUStepOptimizations.h.gch -Winvalid-pch -ADDITIONAL_OBJC_LIBS = -ldispatch -ADDITIONAL_FLAGS = -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -O0 - -HEADER_FILES_INSTALL_DIR = build - -# For lib -include $(GNUSTEP_MAKEFILES)/library.make - -# Copy Artefacts -SHELL_RESULT := $(shell mkdir -p build) -SHELL_RESULT := $(shell cp obj/*.a build/) diff --git a/pEpObjCAdapter/build-linux/Makefile b/pEpObjCAdapter/build-linux/Makefile new file mode 100644 index 00000000..28b1034c --- /dev/null +++ b/pEpObjCAdapter/build-linux/Makefile @@ -0,0 +1,8 @@ + +OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) +DEPFILES := $(wildcard ../*.d) +HEADERS := $(wildcard ../PublicHeaders/*.h) +TARGET = libpEpObjCAdapter + +include ../../Makefile.common +include $(DEPFILES) From 3c7bdfb726ada52c0369cf6d7a19ff2c7ddfeed2 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Tue, 30 Nov 2021 16:26:18 +0100 Subject: [PATCH 04/33] IPS-100 Linking Experiments. We can't really link statically yet, but we can build a .so of the adapter, which means we know all the dependencies and we have the required obj-c options. --- .gitignore | 3 ++- Makefile.common | 12 ++++++++++-- Makefile.conf | 8 ++++++++ .../PEPObjCTypes/PEPObjCTypes/build-linux/Makefile | 2 +- pEpObjCAdapter/build-linux/Makefile | 2 ++ 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 4283934c..84249f45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -##GNUstep +# pEp build config +local.conf ### Pre Compiled Headers *.d diff --git a/Makefile.common b/Makefile.common index 8855a271..4eaa47d5 100644 --- a/Makefile.common +++ b/Makefile.common @@ -1,5 +1,7 @@ # Makefile skeleton to build static libraries from objective C. -# Define $(TARGET) (library name), $(OBJECTS) (*.o files) and then include this. +# Define $(TARGET) (library name), $(OBJECTS) (*.o files), $(LIBS) (linker +# flags specific to this library), $(HEADERS) (header files to be installed) +# and then include this. # This will respect local.conf automatically. HERE:=$(dir $(lastword $(MAKEFILE_LIST))) @@ -31,6 +33,12 @@ OBJCFLAGS = $(CFLAGS) \ -fobjc-runtime=gnustep-2.0 -fobjc-arc -fblocks -x objective-c \ -include PEPObjCGNUStepOptimizations.h +OBJCLINKFLAGS = $(LDFLAGS) \ + -fuse-ld=/usr/bin/ld.gold \ + -pthread -fexceptions -rdynamic -fblocks \ + -fobjc-runtime=gnustep-2.0 \ + + # Unless any rule is defined before including this, this will be the default rule. $(TARGET) : $(TARGET).a $(TARGET).so @@ -39,7 +47,7 @@ $(TARGET).a : $(OBJECTS) ranlib $@ $(TARGET).so : $(OBJECTS) - clang --shared $(LD_FLAGS) -Wl,--no-undefined -o $@ $^ $(LD_LIBS) + clang --shared $(OBJCLINKFLAGS) -Wl,--no-undefined -o $@ $^ $(LD_LIBS) $(LIBS) %.o: %.m $(GENERATED) diff --git a/Makefile.conf b/Makefile.conf index 2b7d88d1..7e6ca268 100644 --- a/Makefile.conf +++ b/Makefile.conf @@ -1,12 +1,20 @@ # Build default config + +# Prefix to install things to, we also expect to find dependencies (incl. GNUstep) there. PREFIX ?= $(HOME)/local/ + CFLAGS ?= -fPIC -DPIC -g -Og # pEp Engine header files (including pEp/ prefix) PEP_INCLUDE = $(PREFIX)/include/pEp/ EXTRA_INCLUDES = +# these are only needed for building shared libs. +LD_LIBS = -L$(PREFIX)/lib/ -L$(PREFIX)/Library/Libraries -L$(PREFIX)/System/Library/Libraries \ + -lgnustep-base -ldispatch -lpthread -lobjc -lm + + # Overrides -include $(HERE)/local.conf diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile index 1a8fbfd6..6110b526 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile @@ -1,5 +1,5 @@ -OBJECTS := $(patsubst %.m,%.o,$(wildcard ../src/*.m)) +OBJECTS := $(patsubst %.m,%.o,$(wildcard ../src/*.m ../src/*/*.m)) DEPFILES := $(wildcard ../src/*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) TARGET = libPEPObjCTypes diff --git a/pEpObjCAdapter/build-linux/Makefile b/pEpObjCAdapter/build-linux/Makefile index 28b1034c..a74b2fbd 100644 --- a/pEpObjCAdapter/build-linux/Makefile +++ b/pEpObjCAdapter/build-linux/Makefile @@ -3,6 +3,8 @@ OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) DEPFILES := $(wildcard ../*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) TARGET = libpEpObjCAdapter +LIBS = -lpEpEngine -Wl,--whole-archive -lPEPObjCTypes -lPEPObjCTypeUtils -lPEPObjCAdapterProtocols -Wl,--no-whole-archive + include ../../Makefile.common include $(DEPFILES) From fee9168a31957896ef4966a53db6487de97da3d7 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Wed, 1 Dec 2021 10:31:01 +0100 Subject: [PATCH 05/33] IPS-100 Move Makefile.common outside the Repo. This repo is really four projects that happen to share the same repo. Everythin should either be project-local or pEp-global, not on repo-level. --- Makefile.common | 63 ------------------- Makefile.conf | 20 ------ .../PEPObjCTypeUtils/build-linux/Makefile | 1 + pEpObjCAdapter/build-linux/Makefile | 21 ++++++- 4 files changed, 20 insertions(+), 85 deletions(-) delete mode 100644 Makefile.common delete mode 100644 Makefile.conf diff --git a/Makefile.common b/Makefile.common deleted file mode 100644 index 4eaa47d5..00000000 --- a/Makefile.common +++ /dev/null @@ -1,63 +0,0 @@ -# Makefile skeleton to build static libraries from objective C. -# Define $(TARGET) (library name), $(OBJECTS) (*.o files), $(LIBS) (linker -# flags specific to this library), $(HEADERS) (header files to be installed) -# and then include this. -# This will respect local.conf automatically. - -HERE:=$(dir $(lastword $(MAKEFILE_LIST))) -include $(HERE)/Makefile.conf - -# Disable default rules. -.SUFFIXES: - -INCLUDES = \ - -I$(HERE)/pEpObjCAdapter \ - -I$(HERE)/pEpObjCAdapter/Extensions \ - -I$(HERE)/pEpObjCAdapter/PublicHeaders \ - -I$(HERE)/pEpObjCTests/TestUtils \ - -I$(HERE)/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/PublicHeaders \ - -I$(HERE)/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders \ - -I$(HERE)/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPEqualableTools \ - -I$(HERE)/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders \ - -I$(PREFIX)/System/Library/Headers \ - -I$(PREFIX)/include/ \ - -I$(PEP_INCLUDE) \ - -I../src/ \ - $(EXTRA_INCLUDES) \ - -OBJCFLAGS = $(CFLAGS) \ - -MMD -MP \ - -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=0 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 \ - -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS \ - -fconstant-string-class=NSConstantString \ - -fobjc-runtime=gnustep-2.0 -fobjc-arc -fblocks -x objective-c \ - -include PEPObjCGNUStepOptimizations.h - -OBJCLINKFLAGS = $(LDFLAGS) \ - -fuse-ld=/usr/bin/ld.gold \ - -pthread -fexceptions -rdynamic -fblocks \ - -fobjc-runtime=gnustep-2.0 \ - - -# Unless any rule is defined before including this, this will be the default rule. -$(TARGET) : $(TARGET).a $(TARGET).so - -$(TARGET).a : $(OBJECTS) - ar rc $@ $^ - ranlib $@ - -$(TARGET).so : $(OBJECTS) - clang --shared $(OBJCLINKFLAGS) -Wl,--no-undefined -o $@ $^ $(LD_LIBS) $(LIBS) - - -%.o: %.m $(GENERATED) - clang $(OBJCFLAGS) $(INCLUDES) -o $@ -c $< - -clean: - rm -f $(OBJECTS) $(DEPFILES) $(TARGET).a $(TARGET).so - -install: - install $(TARGET).a $(PREFIX)/lib/ - install $(HEADERS) $(PREFIX)/include/ - - diff --git a/Makefile.conf b/Makefile.conf deleted file mode 100644 index 7e6ca268..00000000 --- a/Makefile.conf +++ /dev/null @@ -1,20 +0,0 @@ - -# Build default config - -# Prefix to install things to, we also expect to find dependencies (incl. GNUstep) there. -PREFIX ?= $(HOME)/local/ - -CFLAGS ?= -fPIC -DPIC -g -Og - -# pEp Engine header files (including pEp/ prefix) -PEP_INCLUDE = $(PREFIX)/include/pEp/ -EXTRA_INCLUDES = - -# these are only needed for building shared libs. -LD_LIBS = -L$(PREFIX)/lib/ -L$(PREFIX)/Library/Libraries -L$(PREFIX)/System/Library/Libraries \ - -lgnustep-base -ldispatch -lpthread -lobjc -lm - - -# Overrides --include $(HERE)/local.conf - diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile index d909814b..43717787 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile @@ -3,6 +3,7 @@ OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) DEPFILES := $(wildcard ../*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) TARGET = libPEPObjCTypeUtils +LIBS = -lpEpEngine -lasn1 include ../../../../Makefile.common include $(DEPFILES) diff --git a/pEpObjCAdapter/build-linux/Makefile b/pEpObjCAdapter/build-linux/Makefile index a74b2fbd..91f4e66a 100644 --- a/pEpObjCAdapter/build-linux/Makefile +++ b/pEpObjCAdapter/build-linux/Makefile @@ -1,10 +1,27 @@ +root = ../../ +# Content of this library +TARGET = libpEpObjCAdapter OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) DEPFILES := $(wildcard ../*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) -TARGET = libpEpObjCAdapter + +# Dependencies *within* this repo (other headers should be installed and found in $PREFIX). +INCLUDES = \ + -I$(root)/pEpObjCAdapter/PublicHeaders \ + -I$(root)/pEpObjCAdapter/Extensions \ + -I$(root)/pEpObjCAdapter \ + -I$(root)/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/PublicHeaders \ + -I$(root)/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders \ + -I$(root)/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders \ + -I$(PEP_INCLUDE) + +# Only for making .so libs. Libs for static linking are defined with the final binary. LIBS = -lpEpEngine -Wl,--whole-archive -lPEPObjCTypes -lPEPObjCTypeUtils -lPEPObjCAdapterProtocols -Wl,--no-whole-archive +# Load the shared pEp ObjC Makefile. +MAKEFILE_COMMON ?= ../../../pepgnustephelper/ +include $(MAKEFILE_COMMON)/Makefile.common -include ../../Makefile.common +# This enables proper header-dependencies based on .d files made by the compiler. include $(DEPFILES) From 6fce4adbe235fe5706fbe06e35b454e96840719b Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Wed, 1 Dec 2021 10:53:42 +0100 Subject: [PATCH 06/33] IPS-100 Adjust the other Make files. --- .../build-linux/Makefile | 18 +++++++++++--- .../PEPObjCTypeUtils/build-linux/Makefile | 24 ++++++++++++++++--- .../PEPObjCTypes/build-linux/Makefile | 21 ++++++++++++---- 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile index db64e975..33818834 100644 --- a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile +++ b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile @@ -1,8 +1,20 @@ - +# Content of this library +TARGET = libPEPObjCAdapterProtocols OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) DEPFILES := $(wildcard ../*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) -TARGET = libPEPObjCAdapterProtocols -include ../../../../Makefile.common +# Dependencies *within* this repo (other headers should be installed and found in $PREFIX). +INCLUDES = \ + -I../ \ + -I../PublicHeaders + +# Only for making .so libs. Libs for static linking are defined with the final binary. +LIBS = + +# Load the shared pEp ObjC Makefile. +MAKEFILE_COMMON ?= ../../../../../pepgnustephelper/ +include $(MAKEFILE_COMMON)/Makefile.common + +# This enables proper header-dependencies based on .d files made by the compiler. include $(DEPFILES) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile index 43717787..ab7064c4 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile @@ -1,9 +1,27 @@ +root = ../../../../ +# Content of this library +TARGET = libPEPObjCTypeUtils OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) DEPFILES := $(wildcard ../*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) -TARGET = libPEPObjCTypeUtils -LIBS = -lpEpEngine -lasn1 -include ../../../../Makefile.common +# Dependencies *within* this repo (other headers should be installed and found in $PREFIX). +# PEP_INCLUDE is the pEp/ folder (since we don't prefix headers here), PEP_SRC +# is the engine source directory, since we may use uninstalled headers. +INCLUDES = \ + -I../ \ + -I../PublicHeaders \ + -I$(PEP_INCLUDE) \ + -I$(PEP_SRC) + + +# Only for making .so libs. Libs for static linking are defined with the final binary. +LIBS = -lpEpEngine -lasn1 -lPEPObjCTypes + +# Load the shared pEp ObjC Makefile. +MAKEFILE_COMMON ?= ../../../../../pepgnustephelper/ +include $(MAKEFILE_COMMON)/Makefile.common + +# This enables proper header-dependencies based on .d files made by the compiler. include $(DEPFILES) diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile index 6110b526..de70ee64 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile @@ -1,8 +1,21 @@ - +# Content of this library +TARGET = libPEPObjCTypes OBJECTS := $(patsubst %.m,%.o,$(wildcard ../src/*.m ../src/*/*.m)) -DEPFILES := $(wildcard ../src/*.d) +DEPFILES := $(wildcard ..src/*.d ../src/*/*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) -TARGET = libPEPObjCTypes -include ../../../../Makefile.common +# Dependencies *within* this repo (other headers should be installed and found in $PREFIX). +INCLUDES = \ + -I../PublicHeaders \ + -I../src \ + -I../src/PEPEqualableTools + +# Only for making .so libs. Libs for static linking are defined with the final binary. +LIBS = + +# Load the shared pEp ObjC Makefile. +MAKEFILE_COMMON ?= ../../../../../pepgnustephelper/ +include $(MAKEFILE_COMMON)/Makefile.common + +# This enables proper header-dependencies based on .d files made by the compiler. include $(DEPFILES) From 1ca5b798a7722588cb8a98160795af17a3540530 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Wed, 1 Dec 2021 12:07:16 +0100 Subject: [PATCH 07/33] IPS-100 Build test_project. The linking step was pleasantly painless, but we don't have gnustep statically yet. --- pEpObjCAdapter/build-linux/Makefile | 2 +- .../build-linux/test_project/GNUmakefile | 72 ------------------- .../build-linux/test_project/Makefile | 39 ++++++++++ 3 files changed, 40 insertions(+), 73 deletions(-) delete mode 100644 pEpObjCAdapter/build-linux/test_project/GNUmakefile create mode 100644 pEpObjCAdapter/build-linux/test_project/Makefile diff --git a/pEpObjCAdapter/build-linux/Makefile b/pEpObjCAdapter/build-linux/Makefile index 91f4e66a..dc782e7a 100644 --- a/pEpObjCAdapter/build-linux/Makefile +++ b/pEpObjCAdapter/build-linux/Makefile @@ -2,7 +2,7 @@ root = ../../ # Content of this library TARGET = libpEpObjCAdapter -OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) +OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m ../*/*.m)) DEPFILES := $(wildcard ../*.d) HEADERS := $(wildcard ../PublicHeaders/*.h) diff --git a/pEpObjCAdapter/build-linux/test_project/GNUmakefile b/pEpObjCAdapter/build-linux/test_project/GNUmakefile deleted file mode 100644 index fd69a6c1..00000000 --- a/pEpObjCAdapter/build-linux/test_project/GNUmakefile +++ /dev/null @@ -1,72 +0,0 @@ -# -# An example GNUmakefile -# -# To Run: `make messages=yes -# Include the common variables defined by the Makefile Package -include $(GNUSTEP_MAKEFILES)/common.make -#include $(GNUSTEP_MAKEFILES)/rules.make - -####################################### -# Sampel Excecutable Using PEPObjCAdapter -####################################### - -# Build Dependencies -SHELL_RESULT := $(shell ./build-dependencies.sh) - -TOOL_NAME = ClientOfObjcAdapter - -# Build pre-compiled prefix header -GNUSTEPHELPER_DIR=../../../../pepgnustephelper -FLAGS_FOR_PRECOMPILED_HEADER_DEBUG="-pthread -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -FLAGS_FOR_PRECOMPILED_HEADER_RELEASE="-pthread -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1 -DGNUSTEP_BASE_LIBRARY=1 -I./obj/pEpObjCTypes.obj/PrecompiledHeaders/ObjC -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-runtime=gnustep-2.0 -fobjc-arc -fPIC -g -O2 -fblocks -fobjc-runtime=gnustep-2.0 -fblocks -fconstant-string-class=NSConstantString -I../PublicHeaders/ -I../src/ -I../src/PEPEqualableTools -I. -I/home/user/GNUstep/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/System/Library/Headers -fblocks -x objective-c -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/p11-kit-1" -ifeq ($(debug), yes) - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_DEBUG} -else - FLAGS_FOR_PRECOMPILED_HEADER = ${FLAGS_FOR_PRECOMPILED_HEADER_RELEASE} -endif -SHELL_RESULT := $(shell ${GNUSTEPHELPER_DIR}/build-precompiled-header.sh ${FLAGS_FOR_PRECOMPILED_HEADER}) -# Keep. Useful to manually figure out flags for precompiled header. -#pEpObjCAdapter_OBJC_PRECOMPILED_HEADERS = ${GNUSTEPHELPER_DIR}/PEPObjCGNUStepOptimizations.h - -# Header Search Paths -PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED := -I../../../Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/ -PEP_OBJC_TYPE_UTILS_HEADER_DIRS_PREFIXED := -I../../../Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/ -PEP_OBJC_ADAPTER_PROTOCOLS_HEADER_DIRS_PREFIXED := -I../../../Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/PublicHeaders/ -PEP_OBJC_ADAPTER_HEADER_DIRS_PREFIXED := $(shell find ../../../pEpObjCAdapter/ -type d | sed -e 's/^/-I/;') -CLIENT_OF_OBJC_ADAPTER_HEADER_DIRS_PREFIXED := $(shell find ../ -type d | sed -e 's/^/-I/;') - -ClientOfObjcAdapter_INCLUDE_DIRS = ${CLIENT_OF_OBJC_ADAPTER_HEADER_DIRS_PREFIXED} ${PEP_OBJC_TYPES_HEADER_DIRS_PREFIXED} ${PEP_OBJC_TYPE_UTILS_HEADER_DIRS_PREFIXED} ${PEP_OBJC_ADAPTER_PROTOCOLS_HEADER_DIRS_PREFIXED} ${PEP_OBJC_ADAPTER_HEADER_DIRS_PREFIXED} - -# SRC Files -ALL_DOT_M_FILES := $(shell find . -type f -name "*.m") -ClientOfObjcAdapter_OBJC_FILES = main.m - -ClientOfObjcAdapter_RESOURCE_FILES = - -ADDITIONAL_OBJCFLAGS += -include-pch PEPObjCGNUStepOptimizations.h.gch -Winvalid-pch -ADDITIONAL_FLAGS += -fobjc-runtime=gnustep-2.0 -fobjc-arc - -## Linking Libs - Take Care !! The Order *DOES* Matter -ADDITIONAL_OBJC_LIBS = -ldispatch \ --l/usr/GNUstep/Local/Library/Libraries/libpEpObjCAdapter.so \ --l/usr/GNUstep/Local/Library/Libraries/libpEpObjCAdapterProtocols.a \ --l/usr/GNUstep/Local/Library/Libraries/libpEpObjCTypeUtils.a\ --l/usr/GNUstep/Local/Library/Libraries/libpEpObjCTypes.a \ --l${HOME}/local/lib/libpEpEngine.a \ --luuid \ --lz \ --l${HOME}/local/lib/libetpan.a \ --l${HOME}/local/lib/libasn1.a \ --l${HOME}/local/lib/libsqlite3.a \ --lpthread \ --ldl \ --l${HOME}/local/lib/libsequoia_openpgp_ffi.a \ --l${HOME}/local/lib/libhogweed.a \ --l${HOME}/local/lib/libnettle.a \ --l${HOME}/local/lib/libgmp.a - -# -l/usr/GNUstep/Local/Library/Libraries/libpEpObjCAdapter.a\ - -ADDITIONAL_LDFLAGS += -L/usr/GNUstep/Local/Library/Libraries - -include $(GNUSTEP_MAKEFILES)/tool.make diff --git a/pEpObjCAdapter/build-linux/test_project/Makefile b/pEpObjCAdapter/build-linux/test_project/Makefile new file mode 100644 index 00000000..fb2a7313 --- /dev/null +++ b/pEpObjCAdapter/build-linux/test_project/Makefile @@ -0,0 +1,39 @@ +root = ../../../ + +# Content of this library +TARGET_EXE = test_project +OBJECTS := $(patsubst %.m,%.o,$(wildcard *.m)) +DEPFILES := $(wildcard *.d) +HEADERS := + +# Dependencies *within* this repo (other headers should be installed and found in $PREFIX). +INCLUDES = \ + -I$(root)/pEpObjCAdapter/PublicHeaders + +# Since we link an excecuatble here, these options matter a lot. We also need +# to list all transitive dependincies if we want to link statically. +# ObjC stuff needs to be linked with --whole-archive to mae Extensions work. +# Otherwise, we link "our" dependencies with -Bstatic to perfer static linking, +# but allow dynamic linking in the end for system stuff. +LIBS = \ + -Wl,-Bstatic \ + -Wl,--whole-archive \ + -lpEpObjCAdapter \ + -lPEPObjCTypes \ + -lPEPObjCTypeUtils \ + -lPEPObjCAdapterProtocols \ + -Wl,--no-whole-archive \ + -lpEpEngine -lasn1 -lsqlite3 -letpan -liconv -luuid \ + -lsequoia_openpgp_ffi -lhogweed -lnettle -lgmp -lbz2 \ + -Wl,-Bdynamic \ + -ldl # dlsym is needed by some rust thing in sequoia. + +# Default rule, to build the executable instead of libraries. +all: $(TARGET_EXE) + +# Load the shared pEp ObjC Makefile. +MAKEFILE_COMMON ?= ../../../../pepgnustephelper/ +include $(MAKEFILE_COMMON)/Makefile.common + +# This enables proper header-dependencies based on .d files made by the compiler. +include $(DEPFILES) From b1c329b47f514984f9a902720685422c169dc158 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 13:17:08 +0100 Subject: [PATCH 08/33] IOSAD-228 TMP Make the tests build no matter what --- .../project.pbxproj | 2 ++ pEpObjCAdapter.xcodeproj/project.pbxproj | 36 +++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj index 23fa266b..f311b645 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj @@ -19,6 +19,7 @@ 15BD31732742820400B1B1F5 /* PEPStatusNSErrorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 15BD31702742820400B1B1F5 /* PEPStatusNSErrorUtil.h */; }; 15BD31742742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; 15BD31752742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; + 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1598060126CFC0C500593C9D /* libPEPObjCTypes_macOS.a */; }; 43B0EAC0274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC1274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC3274D1EA700F5D076 /* PEPMessage+ASN1.h in Headers */ = {isa = PBXBuildFile; fileRef = 43B0EAC2274D1EA700F5D076 /* PEPMessage+ASN1.h */; }; @@ -164,6 +165,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, 43B0EAD5274D21E100F5D076 /* libPEPObjCTypeUtils_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/pEpObjCAdapter.xcodeproj/project.pbxproj b/pEpObjCAdapter.xcodeproj/project.pbxproj index 68465875..a4a16620 100644 --- a/pEpObjCAdapter.xcodeproj/project.pbxproj +++ b/pEpObjCAdapter.xcodeproj/project.pbxproj @@ -174,6 +174,8 @@ 15D3D761200F61BB00A0DA20 /* PEPSessionProviderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 15D3D760200F61BB00A0DA20 /* PEPSessionProviderTest.m */; }; 43062BAD24EEC83400489258 /* PEPIdentity+isPEPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 43062BAC24EEC83400489258 /* PEPIdentity+isPEPUser.m */; }; 430D78E02681E19000B12650 /* libPEPObjCAdapterProtocols_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 430D78DF2681E13300B12650 /* libPEPObjCAdapterProtocols_iOS.a */; platformFilter = ios; }; + 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */; }; + 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 432EF60C1C58B77900B6782A /* 0xB623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF6091C58B77900B6782A /* 0xB623F674.asc */; }; 432EF60E1C58B77900B6782A /* msg_to_B623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF60B1C58B77900B6782A /* msg_to_B623F674.asc */; }; 432FA2D21C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; @@ -231,7 +233,6 @@ 43F2952C273E7BE0009611F8 /* 6FF00E97.asc in Resources */ = {isa = PBXBuildFile; fileRef = 64415E421BEA523300F6CBB2 /* 6FF00E97.asc */; }; 43F2952D273E7BE0009611F8 /* pEpTrustWords.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 64AE6B211BE15E3A000867E4 /* pEpTrustWords.bundle */; }; 43F2952E273E7BE0009611F8 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; - 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 4E51BFA726CBC685007A2164 /* libPEPToolbox_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BFA626CBC685007A2164 /* libPEPToolbox_macOS.a */; }; 4E57581226821A760084F02D /* libPEPObjCAdapterProtocols_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */; }; 640F79231C9B517C00DBEC4E /* 5CB2C182_sec.asc in Resources */ = {isa = PBXBuildFile; fileRef = 640F79211C9B517C00DBEC4E /* 5CB2C182_sec.asc */; }; @@ -332,6 +333,20 @@ remoteGlobalIDString = 4E23E7032681D5F300B8F4C2; remoteInfo = PEPObjCAdapterProtocols_iOS; }; + 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4E51BF3826CA5E5C007A2164 /* PEPObjCTypes.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 439F4C36275632B2005F278E; + remoteInfo = PEPObjCTypesTests_macOS; + }; + 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1585EB15269861D700B822E1 /* PEPObjCTypeUtils.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 43B0EAD1274D21E100F5D076; + remoteInfo = PEPObjCTypeUtilsTests_macOS; + }; 43F29505273E7BE0009611F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 64DA243B1B833248000BEE80 /* pEpEngine.xcodeproj */; @@ -561,7 +576,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, + 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, + 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -625,6 +641,7 @@ children = ( 1585EC50269C38FB00B822E1 /* libPEPObjCTypeUtils_macOS.a */, 1585EC52269C38FB00B822E1 /* libPEPObjCTypeUtils_iOS.a */, + 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -781,6 +798,7 @@ 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */, 4E51BF4126CA5E5C007A2164 /* libPEPObjCTypes_iOS.a */, 4E51BF4326CA5E5C007A2164 /* PEPObjCTypesTests_iOS.xctest */, + 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -1130,6 +1148,20 @@ remoteRef = 430D78DE2681E13300B12650 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = PEPObjCTypesTests_macOS.xctest; + remoteRef = 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = PEPObjCTypeUtilsTests_macOS.xctest; + remoteRef = 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; From 95af61d5cc084f802cd2f8074e06ba913dfecd70 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 14:00:44 +0100 Subject: [PATCH 09/33] IOSAD-228 Note compatibility --- pEpObjCAdapter/PEPObjCAdapter.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index 13c24c8e..fa49b574 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -272,6 +272,9 @@ static id s_passphraseProvider = nil; /// Determines whether the adapter is running under a XCTest. /// +/// Uses `NSClassFromString`, `[NSObject valueForKey]` and `[NSProcessInfo processInfo]` and should therefore +/// compile on most GNUstep platforms an macOS. +/// /// This is only used under macOS, although it should work on iOS as well. + (BOOL)isXCTestRunning { From 2b0bc365016e280bb8cc4707c4f3029573fc4e24 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 14:01:56 +0100 Subject: [PATCH 10/33] IOSAD-228 Mark use of URLsForDirectory --- pEpObjCAdapter/PEPObjCAdapter.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index fa49b574..1ca4fe30 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -292,6 +292,8 @@ static id s_passphraseProvider = nil; } /// Creates a pEp directory for use by the engine that is nowhere in a production data area, for use by XCTests. +/// +/// Uses `[NSFileManager URLsForDirectory:inDomains:]`, so not safe for other platforms besides macOS. + (NSURL *)createTestDataDirectoryMacOS { NSFileManager *fm = [NSFileManager defaultManager]; From b331527b6638fde544e4e40a4eea3f738bb011fb Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 14:14:56 +0100 Subject: [PATCH 11/33] IOSAD-228 Try TARGET_OS_OSX, and comment --- pEpObjCAdapter/PEPObjCAdapter.m | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index 1ca4fe30..265e8202 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -121,18 +121,20 @@ static id s_passphraseProvider = nil; } + (void)setupPerUserDirectory { - // The Engine uses the home env as per-user-directory. We hijack that on iOS, + // The Engine uses the HOME env as per-user-directory. We hijack that on iOS, // or when running XCTests on macOS. #if TARGET_OS_IPHONE s_homeURL = [self createApplicationDirectory]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); -#else + return; +#elsif TARGET_OS_OSX if ([self isXCTestRunning]) { s_homeURL = [self createTestDataDirectoryMacOS]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); - } else { - // For macOS there is nothing toDo. The defaults in Engine platform_unix.h should do. } + return; +#else + // The engine will use the $HOME from the starting process/user #endif } @@ -291,6 +293,8 @@ static id s_passphraseProvider = nil; return isTesting || configFp != nil; } +#if TARGET_OS_OSX + /// Creates a pEp directory for use by the engine that is nowhere in a production data area, for use by XCTests. /// /// Uses `[NSFileManager URLsForDirectory:inDomains:]`, so not safe for other platforms besides macOS. @@ -316,4 +320,6 @@ static id s_passphraseProvider = nil; return dirPath; } +#endif + @end From 3aa4effeed5698419201e8752980c942ba871480 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 14:18:14 +0100 Subject: [PATCH 12/33] IOSAD-228 Also check for TARGET_OS_MAC --- pEpObjCAdapter/PEPObjCAdapter.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index 265e8202..b038eef5 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -123,6 +123,7 @@ static id s_passphraseProvider = nil; + (void)setupPerUserDirectory { // The Engine uses the HOME env as per-user-directory. We hijack that on iOS, // or when running XCTests on macOS. +#if TARGET_OS_MAC #if TARGET_OS_IPHONE s_homeURL = [self createApplicationDirectory]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); @@ -133,8 +134,9 @@ static id s_passphraseProvider = nil; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); } return; +#endif #else - // The engine will use the $HOME from the starting process/user + // No mac/iOS platform. The engine will use the $HOME from the starting process/user #endif } From 7502c4b95759d439993c7831c5434ddcfc09f17f Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 14:28:48 +0100 Subject: [PATCH 13/33] IOSAD-228 Fix the directives, change comments --- pEpObjCAdapter/PEPObjCAdapter.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index b038eef5..c4bab5be 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -124,19 +124,22 @@ static id s_passphraseProvider = nil; // The Engine uses the HOME env as per-user-directory. We hijack that on iOS, // or when running XCTests on macOS. #if TARGET_OS_MAC + #if TARGET_OS_IPHONE s_homeURL = [self createApplicationDirectory]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); return; -#elsif TARGET_OS_OSX + +#elif TARGET_OS_OSX if ([self isXCTestRunning]) { s_homeURL = [self createTestDataDirectoryMacOS]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); } return; #endif + #else - // No mac/iOS platform. The engine will use the $HOME from the starting process/user + // Neither macOS nor iOS. The engine will use $HOME. #endif } From 72186893fd66d2662699e0dd4607b754e7b2a0fd Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 14:30:35 +0100 Subject: [PATCH 14/33] IOSAD-228 Format --- pEpObjCAdapter/PEPObjCAdapter.m | 1 - 1 file changed, 1 deletion(-) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index c4bab5be..7490f578 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -129,7 +129,6 @@ static id s_passphraseProvider = nil; s_homeURL = [self createApplicationDirectory]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); return; - #elif TARGET_OS_OSX if ([self isXCTestRunning]) { s_homeURL = [self createTestDataDirectoryMacOS]; From 638ef5638ff6b93f98488bb09db131a650eb1991 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Tue, 7 Dec 2021 15:58:39 +0100 Subject: [PATCH 15/33] IOSAD-228 Revert "TMP Make the tests build no matter what" This reverts commit b1c329b47f514984f9a902720685422c169dc158. --- .../project.pbxproj | 2 -- pEpObjCAdapter.xcodeproj/project.pbxproj | 36 ++----------------- 2 files changed, 2 insertions(+), 36 deletions(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj index f311b645..23fa266b 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ 15BD31732742820400B1B1F5 /* PEPStatusNSErrorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 15BD31702742820400B1B1F5 /* PEPStatusNSErrorUtil.h */; }; 15BD31742742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; 15BD31752742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; - 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1598060126CFC0C500593C9D /* libPEPObjCTypes_macOS.a */; }; 43B0EAC0274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC1274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC3274D1EA700F5D076 /* PEPMessage+ASN1.h in Headers */ = {isa = PBXBuildFile; fileRef = 43B0EAC2274D1EA700F5D076 /* PEPMessage+ASN1.h */; }; @@ -165,7 +164,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, 43B0EAD5274D21E100F5D076 /* libPEPObjCTypeUtils_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/pEpObjCAdapter.xcodeproj/project.pbxproj b/pEpObjCAdapter.xcodeproj/project.pbxproj index a4a16620..68465875 100644 --- a/pEpObjCAdapter.xcodeproj/project.pbxproj +++ b/pEpObjCAdapter.xcodeproj/project.pbxproj @@ -174,8 +174,6 @@ 15D3D761200F61BB00A0DA20 /* PEPSessionProviderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 15D3D760200F61BB00A0DA20 /* PEPSessionProviderTest.m */; }; 43062BAD24EEC83400489258 /* PEPIdentity+isPEPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 43062BAC24EEC83400489258 /* PEPIdentity+isPEPUser.m */; }; 430D78E02681E19000B12650 /* libPEPObjCAdapterProtocols_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 430D78DF2681E13300B12650 /* libPEPObjCAdapterProtocols_iOS.a */; platformFilter = ios; }; - 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */; }; - 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 432EF60C1C58B77900B6782A /* 0xB623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF6091C58B77900B6782A /* 0xB623F674.asc */; }; 432EF60E1C58B77900B6782A /* msg_to_B623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF60B1C58B77900B6782A /* msg_to_B623F674.asc */; }; 432FA2D21C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; @@ -233,6 +231,7 @@ 43F2952C273E7BE0009611F8 /* 6FF00E97.asc in Resources */ = {isa = PBXBuildFile; fileRef = 64415E421BEA523300F6CBB2 /* 6FF00E97.asc */; }; 43F2952D273E7BE0009611F8 /* pEpTrustWords.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 64AE6B211BE15E3A000867E4 /* pEpTrustWords.bundle */; }; 43F2952E273E7BE0009611F8 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; + 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 4E51BFA726CBC685007A2164 /* libPEPToolbox_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BFA626CBC685007A2164 /* libPEPToolbox_macOS.a */; }; 4E57581226821A760084F02D /* libPEPObjCAdapterProtocols_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */; }; 640F79231C9B517C00DBEC4E /* 5CB2C182_sec.asc in Resources */ = {isa = PBXBuildFile; fileRef = 640F79211C9B517C00DBEC4E /* 5CB2C182_sec.asc */; }; @@ -333,20 +332,6 @@ remoteGlobalIDString = 4E23E7032681D5F300B8F4C2; remoteInfo = PEPObjCAdapterProtocols_iOS; }; - 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4E51BF3826CA5E5C007A2164 /* PEPObjCTypes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 439F4C36275632B2005F278E; - remoteInfo = PEPObjCTypesTests_macOS; - }; - 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1585EB15269861D700B822E1 /* PEPObjCTypeUtils.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 43B0EAD1274D21E100F5D076; - remoteInfo = PEPObjCTypeUtilsTests_macOS; - }; 43F29505273E7BE0009611F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 64DA243B1B833248000BEE80 /* pEpEngine.xcodeproj */; @@ -576,8 +561,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, - 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, + 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -641,7 +625,6 @@ children = ( 1585EC50269C38FB00B822E1 /* libPEPObjCTypeUtils_macOS.a */, 1585EC52269C38FB00B822E1 /* libPEPObjCTypeUtils_iOS.a */, - 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -798,7 +781,6 @@ 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */, 4E51BF4126CA5E5C007A2164 /* libPEPObjCTypes_iOS.a */, 4E51BF4326CA5E5C007A2164 /* PEPObjCTypesTests_iOS.xctest */, - 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -1148,20 +1130,6 @@ remoteRef = 430D78DE2681E13300B12650 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PEPObjCTypesTests_macOS.xctest; - remoteRef = 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PEPObjCTypeUtilsTests_macOS.xctest; - remoteRef = 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; From 9c290bddd83e736aed202abbfbada0d65d919ce0 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Tue, 7 Dec 2021 16:18:05 +0100 Subject: [PATCH 16/33] IPS-100 We should not need headers from src/. If aything, we install them in our build script. --- .../PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile index ab7064c4..7c942460 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile @@ -13,7 +13,6 @@ INCLUDES = \ -I../ \ -I../PublicHeaders \ -I$(PEP_INCLUDE) \ - -I$(PEP_SRC) # Only for making .so libs. Libs for static linking are defined with the final binary. From 0660458d4e4256737f75ea5f3157cf01fdbc4f63 Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Wed, 8 Dec 2021 13:24:04 +0100 Subject: [PATCH 17/33] IOS-2879 fixes thesame issue (redifinition of ...) for ObjCTypes also --- .../PEPObjCTypes.xcodeproj/project.pbxproj | 54 ++++++++++++++++--- ...ulemap => pEpObjCTypesModuleMap.modulemap} | 0 ...ulemap => pEpObjCTypesModuleMap.modulemap} | 0 3 files changed, 46 insertions(+), 8 deletions(-) rename Subprojects/PEPObjCTypes/PEPObjCTypes_iOS/{module.modulemap => pEpObjCTypesModuleMap.modulemap} (100%) rename Subprojects/PEPObjCTypes/PEPObjCTypes_macOS/{module.modulemap => pEpObjCTypesModuleMap.modulemap} (100%) diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj index 09bc70c9..edfe164b 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj @@ -10,7 +10,7 @@ 1598061A26CFC5D800593C9D /* PEPObjCTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E575841268328CD0084F02D /* PEPObjCTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1598061B26CFC5D900593C9D /* PEPObjCTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E575841268328CD0084F02D /* PEPObjCTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; 43D44C822685BB3600638D1C /* PEPObjCTypes_iOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E575867268329A20084F02D /* PEPObjCTypes_iOS.h */; platformFilter = ios; settings = {ATTRIBUTES = (Public, ); }; }; - 43D44C842685BEB400638D1C /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = 43D44C832685BE4300638D1C /* module.modulemap */; platformFilter = ios; }; + 43D44C842685BEB400638D1C /* pEpObjCTypesModuleMap.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = 43D44C832685BE4300638D1C /* pEpObjCTypesModuleMap.modulemap */; platformFilter = ios; }; 4E57585B268329170084F02D /* PEPObjCTypes_macOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E57585A268329170084F02D /* PEPObjCTypes_macOS.h */; }; 4E57585D268329170084F02D /* PEPObjCTypes_macOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E57585C268329170084F02D /* PEPObjCTypes_macOS.m */; }; 4E575869268329A20084F02D /* PEPObjCTypes_iOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E575868268329A20084F02D /* PEPObjCTypes_iOS.m */; platformFilter = ios; }; @@ -56,7 +56,7 @@ 4E5758B02683331C0084F02D /* PEPLanguage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E57588226832F2F0084F02D /* PEPLanguage.h */; platformFilter = ios; settings = {ATTRIBUTES = (Public, ); }; }; 4E5758B1268333230084F02D /* NSObject+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E57587726832F2F0084F02D /* NSObject+Extension.h */; platformFilter = ios; }; 4E5758B626833A4E0084F02D /* PEPObjCTypes_macOS.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4E57585A268329170084F02D /* PEPObjCTypes_macOS.h */; }; - 4E5758B726833A560084F02D /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4E5758B4268339450084F02D /* module.modulemap */; }; + 4E5758B726833A560084F02D /* pEpObjCTypesModuleMap.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4E5758B4268339450084F02D /* pEpObjCTypesModuleMap.modulemap */; }; 4E5758C426833D140084F02D /* libPEPObjCTypes_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E575865268329A20084F02D /* libPEPObjCTypes_iOS.a */; platformFilter = ios; }; 4E5758D126833F920084F02D /* PEPAttachment+SecureCodingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5758CA26833F920084F02D /* PEPAttachment+SecureCodingTest.m */; }; 4E5758D226833F920084F02D /* PEPIdentity+SecureCodingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5758CB26833F920084F02D /* PEPIdentity+SecureCodingTest.m */; }; @@ -82,7 +82,7 @@ dstPath = "include/$(PRODUCT_NAME)"; dstSubfolderSpec = 16; files = ( - 43D44C842685BEB400638D1C /* module.modulemap in CopyFiles */, + 43D44C842685BEB400638D1C /* pEpObjCTypesModuleMap.modulemap in CopyFiles */, 4E57586A268329A20084F02D /* PEPObjCTypes_iOS.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; @@ -93,7 +93,7 @@ dstPath = "include/$(PRODUCT_NAME)"; dstSubfolderSpec = 16; files = ( - 4E5758B726833A560084F02D /* module.modulemap in CopyFiles */, + 4E5758B726833A560084F02D /* pEpObjCTypesModuleMap.modulemap in CopyFiles */, 4E5758B626833A4E0084F02D /* PEPObjCTypes_macOS.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; @@ -101,7 +101,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 43D44C832685BE4300638D1C /* module.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = ""; }; + 43D44C832685BE4300638D1C /* pEpObjCTypesModuleMap.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = pEpObjCTypesModuleMap.modulemap; sourceTree = ""; }; 4E575841268328CD0084F02D /* PEPObjCTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCTypes.h; sourceTree = ""; }; 4E575858268329170084F02D /* libPEPObjCTypes_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPObjCTypes_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4E57585A268329170084F02D /* PEPObjCTypes_macOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCTypes_macOS.h; sourceTree = ""; }; @@ -129,7 +129,7 @@ 4E57588626832F2F0084F02D /* PEPIdentity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPIdentity.h; sourceTree = ""; }; 4E57588726832F2F0084F02D /* PEPLanguage+SecureCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PEPLanguage+SecureCoding.h"; sourceTree = ""; }; 4E57588826832F2F0084F02D /* PEPIdentity+SecureCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PEPIdentity+SecureCoding.h"; sourceTree = ""; }; - 4E5758B4268339450084F02D /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = ""; }; + 4E5758B4268339450084F02D /* pEpObjCTypesModuleMap.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = pEpObjCTypesModuleMap.modulemap; sourceTree = ""; }; 4E5758B926833A700084F02D /* libpEpEngine_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libpEpEngine_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4E5758BF26833D140084F02D /* PEPObjCTypesTests_iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PEPObjCTypesTests_iOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4E5758C326833D140084F02D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -203,7 +203,7 @@ children = ( 4E57585A268329170084F02D /* PEPObjCTypes_macOS.h */, 4E57585C268329170084F02D /* PEPObjCTypes_macOS.m */, - 4E5758B4268339450084F02D /* module.modulemap */, + 4E5758B4268339450084F02D /* pEpObjCTypesModuleMap.modulemap */, ); path = PEPObjCTypes_macOS; sourceTree = ""; @@ -213,7 +213,7 @@ children = ( 4E575867268329A20084F02D /* PEPObjCTypes_iOS.h */, 4E575868268329A20084F02D /* PEPObjCTypes_iOS.m */, - 43D44C832685BE4300638D1C /* module.modulemap */, + 43D44C832685BE4300638D1C /* pEpObjCTypesModuleMap.modulemap */, ); path = PEPObjCTypes_iOS; sourceTree = ""; @@ -353,6 +353,7 @@ 4E575855268329170084F02D /* Sources */, 4E575856268329170084F02D /* Frameworks */, 4E5758B526833A120084F02D /* CopyFiles */, + 15A9C9322760D85F00307D3F /* Rename Module Map File - Workaround for "duplicate module definition" - IOS-2879 */, 4E5758F7268371770084F02D /* Copy artefacts to custom build dir */, ); buildRules = ( @@ -372,6 +373,7 @@ 4E575861268329A20084F02D /* Sources */, 4E575862268329A20084F02D /* Frameworks */, 4E575863268329A20084F02D /* CopyFiles */, + 15A9C9332760D86500307D3F /* Rename Module Map File - Workaround for "duplicate module definition" - IOS-2879 */, 4E5758F8268371B10084F02D /* Copy artefacts to custom build dir */, ); buildRules = ( @@ -451,6 +453,42 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 15A9C9322760D85F00307D3F /* Rename Module Map File - Workaround for "duplicate module definition" - IOS-2879 */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Rename Module Map File - Workaround for \"duplicate module definition\" - IOS-2879"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "BUILD_INCLUDE_DIR=\"${BUILT_PRODUCTS_DIR}/include/PEPObjCTypes_macOS\"\nmv ${BUILD_INCLUDE_DIR}/pEpObjCTypesModuleMap.modulemap ${BUILD_INCLUDE_DIR}/module.modulemap\n"; + }; + 15A9C9332760D86500307D3F /* Rename Module Map File - Workaround for "duplicate module definition" - IOS-2879 */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Rename Module Map File - Workaround for \"duplicate module definition\" - IOS-2879"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "BUILD_INCLUDE_DIR=\"${BUILT_PRODUCTS_DIR}/include/PEPObjCTypes_iOS\"\nmv ${BUILD_INCLUDE_DIR}/pEpObjCTypesModuleMap.modulemap ${BUILD_INCLUDE_DIR}/module.modulemap\n"; + }; 4E5758F7268371770084F02D /* Copy artefacts to custom build dir */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes_iOS/module.modulemap b/Subprojects/PEPObjCTypes/PEPObjCTypes_iOS/pEpObjCTypesModuleMap.modulemap similarity index 100% rename from Subprojects/PEPObjCTypes/PEPObjCTypes_iOS/module.modulemap rename to Subprojects/PEPObjCTypes/PEPObjCTypes_iOS/pEpObjCTypesModuleMap.modulemap diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes_macOS/module.modulemap b/Subprojects/PEPObjCTypes/PEPObjCTypes_macOS/pEpObjCTypesModuleMap.modulemap similarity index 100% rename from Subprojects/PEPObjCTypes/PEPObjCTypes_macOS/module.modulemap rename to Subprojects/PEPObjCTypes/PEPObjCTypes_macOS/pEpObjCTypesModuleMap.modulemap From 68b34b772c8f49d6f5c977618a976806d82070cd Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Thu, 9 Dec 2021 11:54:28 +0100 Subject: [PATCH 18/33] rm needless forward declaration --- .../PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPIdentity.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPIdentity.h b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPIdentity.h index 02d0b6ca..b9657dac 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPIdentity.h +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPIdentity.h @@ -10,8 +10,6 @@ #import "PEPEngineTypes.h" -@class PEPSession; - @interface PEPIdentity : NSObject /** From fa0a50cfdf0400543144dd5bc1ba29c49c5c2e5d Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Thu, 9 Dec 2021 12:35:48 +0100 Subject: [PATCH 19/33] fixes: quotes used for header import from lib --- .../PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h index 4340ae47..3312f711 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h @@ -7,7 +7,7 @@ #import -#import "transport.h" +#import @class PEPTransport; @class PEPMessage; From 7894580019214504ddc9f8ebf080b09845161340 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 13:37:28 +0100 Subject: [PATCH 20/33] IOSAD-228 TMP Make the tests build no matter what This reverts commit 638ef5638ff6b93f98488bb09db131a650eb1991. --- .../project.pbxproj | 2 ++ pEpObjCAdapter.xcodeproj/project.pbxproj | 36 +++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj index 23fa266b..f311b645 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj @@ -19,6 +19,7 @@ 15BD31732742820400B1B1F5 /* PEPStatusNSErrorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 15BD31702742820400B1B1F5 /* PEPStatusNSErrorUtil.h */; }; 15BD31742742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; 15BD31752742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; + 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1598060126CFC0C500593C9D /* libPEPObjCTypes_macOS.a */; }; 43B0EAC0274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC1274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC3274D1EA700F5D076 /* PEPMessage+ASN1.h in Headers */ = {isa = PBXBuildFile; fileRef = 43B0EAC2274D1EA700F5D076 /* PEPMessage+ASN1.h */; }; @@ -164,6 +165,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, 43B0EAD5274D21E100F5D076 /* libPEPObjCTypeUtils_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/pEpObjCAdapter.xcodeproj/project.pbxproj b/pEpObjCAdapter.xcodeproj/project.pbxproj index 68465875..a4a16620 100644 --- a/pEpObjCAdapter.xcodeproj/project.pbxproj +++ b/pEpObjCAdapter.xcodeproj/project.pbxproj @@ -174,6 +174,8 @@ 15D3D761200F61BB00A0DA20 /* PEPSessionProviderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 15D3D760200F61BB00A0DA20 /* PEPSessionProviderTest.m */; }; 43062BAD24EEC83400489258 /* PEPIdentity+isPEPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 43062BAC24EEC83400489258 /* PEPIdentity+isPEPUser.m */; }; 430D78E02681E19000B12650 /* libPEPObjCAdapterProtocols_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 430D78DF2681E13300B12650 /* libPEPObjCAdapterProtocols_iOS.a */; platformFilter = ios; }; + 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */; }; + 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 432EF60C1C58B77900B6782A /* 0xB623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF6091C58B77900B6782A /* 0xB623F674.asc */; }; 432EF60E1C58B77900B6782A /* msg_to_B623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF60B1C58B77900B6782A /* msg_to_B623F674.asc */; }; 432FA2D21C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; @@ -231,7 +233,6 @@ 43F2952C273E7BE0009611F8 /* 6FF00E97.asc in Resources */ = {isa = PBXBuildFile; fileRef = 64415E421BEA523300F6CBB2 /* 6FF00E97.asc */; }; 43F2952D273E7BE0009611F8 /* pEpTrustWords.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 64AE6B211BE15E3A000867E4 /* pEpTrustWords.bundle */; }; 43F2952E273E7BE0009611F8 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; - 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 4E51BFA726CBC685007A2164 /* libPEPToolbox_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BFA626CBC685007A2164 /* libPEPToolbox_macOS.a */; }; 4E57581226821A760084F02D /* libPEPObjCAdapterProtocols_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */; }; 640F79231C9B517C00DBEC4E /* 5CB2C182_sec.asc in Resources */ = {isa = PBXBuildFile; fileRef = 640F79211C9B517C00DBEC4E /* 5CB2C182_sec.asc */; }; @@ -332,6 +333,20 @@ remoteGlobalIDString = 4E23E7032681D5F300B8F4C2; remoteInfo = PEPObjCAdapterProtocols_iOS; }; + 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4E51BF3826CA5E5C007A2164 /* PEPObjCTypes.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 439F4C36275632B2005F278E; + remoteInfo = PEPObjCTypesTests_macOS; + }; + 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1585EB15269861D700B822E1 /* PEPObjCTypeUtils.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 43B0EAD1274D21E100F5D076; + remoteInfo = PEPObjCTypeUtilsTests_macOS; + }; 43F29505273E7BE0009611F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 64DA243B1B833248000BEE80 /* pEpEngine.xcodeproj */; @@ -561,7 +576,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, + 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, + 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -625,6 +641,7 @@ children = ( 1585EC50269C38FB00B822E1 /* libPEPObjCTypeUtils_macOS.a */, 1585EC52269C38FB00B822E1 /* libPEPObjCTypeUtils_iOS.a */, + 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -781,6 +798,7 @@ 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */, 4E51BF4126CA5E5C007A2164 /* libPEPObjCTypes_iOS.a */, 4E51BF4326CA5E5C007A2164 /* PEPObjCTypesTests_iOS.xctest */, + 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -1130,6 +1148,20 @@ remoteRef = 430D78DE2681E13300B12650 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = PEPObjCTypesTests_macOS.xctest; + remoteRef = 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = PEPObjCTypeUtilsTests_macOS.xctest; + remoteRef = 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; From b871fd450b17af06bd650f26616ffe96dc810cd3 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 14:13:53 +0100 Subject: [PATCH 21/33] IOSAD-228 Check for PEP_TEST --- pEpObjCAdapter/PEPObjCAdapter.m | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index 7490f578..f79133df 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -130,7 +130,7 @@ static id s_passphraseProvider = nil; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); return; #elif TARGET_OS_OSX - if ([self isXCTestRunning]) { + if ([self isXCTestRunning] || [self isRunningInDevelopmentEnvironment]) { s_homeURL = [self createTestDataDirectoryMacOS]; setenv("HOME", [[s_homeURL path] cStringUsingEncoding:NSUTF8StringEncoding], 1); } @@ -297,6 +297,20 @@ static id s_passphraseProvider = nil; return isTesting || configFp != nil; } +/// Checks the environment for a variable that hints at development. +/// +/// In a development environment, the engine should never read from or write to production data. +/// +/// @note While this kind of check is feasible on all kinds of OSs, it should be used only on macOS, +/// because there is a strict separation between a shell environment (used by developers) and the +/// environment used by apps and background tasks. +/// @return `YES` when the `PEP_TEST` environment variable is set. ++ (BOOL)isRunningInDevelopmentEnvironment +{ + id pEpTest = [[[NSProcessInfo processInfo] environment] valueForKey:@"PEP_TEST"]; + return pEpTest != nil; +} + #if TARGET_OS_OSX /// Creates a pEp directory for use by the engine that is nowhere in a production data area, for use by XCTests. From 90ddd07e03eac18fd32b8eb5c931291219ae8ff7 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 14:20:48 +0100 Subject: [PATCH 22/33] IOSAD-228 Link --- pEpObjCAdapter/PEPObjCAdapter.m | 1 + 1 file changed, 1 insertion(+) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index f79133df..1bd959b0 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -304,6 +304,7 @@ static id s_passphraseProvider = nil; /// @note While this kind of check is feasible on all kinds of OSs, it should be used only on macOS, /// because there is a strict separation between a shell environment (used by developers) and the /// environment used by apps and background tasks. +/// E.g., see https://support.apple.com/guide/terminal/use-environment-variables-apd382cc5fa-4f58-4449-b20a-41c53c006f8f/2.11/mac/11.0 /// @return `YES` when the `PEP_TEST` environment variable is set. + (BOOL)isRunningInDevelopmentEnvironment { From cdb174da08d591da5373d86dbc198a6d7f321abe Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 15:50:11 +0100 Subject: [PATCH 23/33] IOSAD-228 Revert "TMP Make the tests build no matter what" This reverts commit 7894580019214504ddc9f8ebf080b09845161340. --- .../project.pbxproj | 2 -- pEpObjCAdapter.xcodeproj/project.pbxproj | 36 ++----------------- 2 files changed, 2 insertions(+), 36 deletions(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj index f311b645..23fa266b 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ 15BD31732742820400B1B1F5 /* PEPStatusNSErrorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 15BD31702742820400B1B1F5 /* PEPStatusNSErrorUtil.h */; }; 15BD31742742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; 15BD31752742820400B1B1F5 /* PEPStatusNSErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 15BD31712742820400B1B1F5 /* PEPStatusNSErrorUtil.m */; }; - 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1598060126CFC0C500593C9D /* libPEPObjCTypes_macOS.a */; }; 43B0EAC0274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC1274D1E7B00F5D076 /* PEPMessage+ASN1.m in Sources */ = {isa = PBXBuildFile; fileRef = 43B0EABB274D1E7B00F5D076 /* PEPMessage+ASN1.m */; }; 43B0EAC3274D1EA700F5D076 /* PEPMessage+ASN1.h in Headers */ = {isa = PBXBuildFile; fileRef = 43B0EAC2274D1EA700F5D076 /* PEPMessage+ASN1.h */; }; @@ -165,7 +164,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43217FE0275F87FB008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, 43B0EAD5274D21E100F5D076 /* libPEPObjCTypeUtils_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/pEpObjCAdapter.xcodeproj/project.pbxproj b/pEpObjCAdapter.xcodeproj/project.pbxproj index a4a16620..68465875 100644 --- a/pEpObjCAdapter.xcodeproj/project.pbxproj +++ b/pEpObjCAdapter.xcodeproj/project.pbxproj @@ -174,8 +174,6 @@ 15D3D761200F61BB00A0DA20 /* PEPSessionProviderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 15D3D760200F61BB00A0DA20 /* PEPSessionProviderTest.m */; }; 43062BAD24EEC83400489258 /* PEPIdentity+isPEPUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 43062BAC24EEC83400489258 /* PEPIdentity+isPEPUser.m */; }; 430D78E02681E19000B12650 /* libPEPObjCAdapterProtocols_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 430D78DF2681E13300B12650 /* libPEPObjCAdapterProtocols_iOS.a */; platformFilter = ios; }; - 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */; }; - 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 432EF60C1C58B77900B6782A /* 0xB623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF6091C58B77900B6782A /* 0xB623F674.asc */; }; 432EF60E1C58B77900B6782A /* msg_to_B623F674.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432EF60B1C58B77900B6782A /* msg_to_B623F674.asc */; }; 432FA2D21C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; @@ -233,6 +231,7 @@ 43F2952C273E7BE0009611F8 /* 6FF00E97.asc in Resources */ = {isa = PBXBuildFile; fileRef = 64415E421BEA523300F6CBB2 /* 6FF00E97.asc */; }; 43F2952D273E7BE0009611F8 /* pEpTrustWords.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 64AE6B211BE15E3A000867E4 /* pEpTrustWords.bundle */; }; 43F2952E273E7BE0009611F8 /* partner1_F2D281C2789DD7F6_pub.asc in Resources */ = {isa = PBXBuildFile; fileRef = 432FA2CF1C884C5F00DDF874 /* partner1_F2D281C2789DD7F6_pub.asc */; }; + 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 4E51BFA726CBC685007A2164 /* libPEPToolbox_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BFA626CBC685007A2164 /* libPEPToolbox_macOS.a */; }; 4E57581226821A760084F02D /* libPEPObjCAdapterProtocols_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */; }; 640F79231C9B517C00DBEC4E /* 5CB2C182_sec.asc in Resources */ = {isa = PBXBuildFile; fileRef = 640F79211C9B517C00DBEC4E /* 5CB2C182_sec.asc */; }; @@ -333,20 +332,6 @@ remoteGlobalIDString = 4E23E7032681D5F300B8F4C2; remoteInfo = PEPObjCAdapterProtocols_iOS; }; - 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4E51BF3826CA5E5C007A2164 /* PEPObjCTypes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 439F4C36275632B2005F278E; - remoteInfo = PEPObjCTypesTests_macOS; - }; - 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1585EB15269861D700B822E1 /* PEPObjCTypeUtils.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 43B0EAD1274D21E100F5D076; - remoteInfo = PEPObjCTypeUtilsTests_macOS; - }; 43F29505273E7BE0009611F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 64DA243B1B833248000BEE80 /* pEpEngine.xcodeproj */; @@ -576,8 +561,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43217FE4275F882A008CFEAE /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, - 43217FBE275F87CC008CFEAE /* libPEPObjCTypes_macOS.a in Frameworks */, + 43F2958B273E8A8D009611F8 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -641,7 +625,6 @@ children = ( 1585EC50269C38FB00B822E1 /* libPEPObjCTypeUtils_macOS.a */, 1585EC52269C38FB00B822E1 /* libPEPObjCTypeUtils_iOS.a */, - 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -798,7 +781,6 @@ 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */, 4E51BF4126CA5E5C007A2164 /* libPEPObjCTypes_iOS.a */, 4E51BF4326CA5E5C007A2164 /* PEPObjCTypesTests_iOS.xctest */, - 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -1148,20 +1130,6 @@ remoteRef = 430D78DE2681E13300B12650 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 43217FBD275F87CC008CFEAE /* PEPObjCTypesTests_macOS.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PEPObjCTypesTests_macOS.xctest; - remoteRef = 43217FBC275F87CC008CFEAE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 43217FDD275F87CC008CFEAE /* PEPObjCTypeUtilsTests_macOS.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PEPObjCTypeUtilsTests_macOS.xctest; - remoteRef = 43217FDC275F87CC008CFEAE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; From 42d0a96acbeec0860a6d09eb06dc96a3f3178ed4 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 15:55:00 +0100 Subject: [PATCH 24/33] IOSAD-228 TMP Revive console app from IPS-91 This reverts commit 56974065a12387df6f36c7cf3ed7bbf3f10db08f. --- pEpObjCAdapter.xcodeproj/project.pbxproj | 159 ++++++++++++++++++ ...jCAdapterTestStartup_4ipsec_macOS.xcscheme | 85 ++++++++++ pEpObjCAdapterTestStartup/main.m | 22 +++ 3 files changed, 266 insertions(+) create mode 100644 pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme create mode 100644 pEpObjCAdapterTestStartup/main.m diff --git a/pEpObjCAdapter.xcodeproj/project.pbxproj b/pEpObjCAdapter.xcodeproj/project.pbxproj index 68465875..e350f835 100644 --- a/pEpObjCAdapter.xcodeproj/project.pbxproj +++ b/pEpObjCAdapter.xcodeproj/project.pbxproj @@ -187,10 +187,13 @@ 434226811D4F60000083ED79 /* PepTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 434226801D4F60000083ED79 /* PepTests.m */; }; 434707F924C30E9700E05485 /* PEPSessionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 434707F824C30E9700E05485 /* PEPSessionTest.m */; }; 4349CD7924ADDB8800A22A13 /* PEPPassphraseCache+Reset.m in Sources */ = {isa = PBXBuildFile; fileRef = 4349CD7824ADDB8800A22A13 /* PEPPassphraseCache+Reset.m */; }; + 4352DD5827624FAB007A82D9 /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */; }; 43589EFB24A4ACFC0079BEA2 /* PEPPassphraseCacheTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 43589EFA24A4ACFC0079BEA2 /* PEPPassphraseCacheTest.m */; }; 43676B661C57EA1A00233933 /* B623F674_sec.asc in Resources */ = {isa = PBXBuildFile; fileRef = 43676B641C57EA1A00233933 /* B623F674_sec.asc */; }; 436E917224B714A2000296FF /* Rick Deckard (43F270EC) – Secret.asc in Resources */ = {isa = PBXBuildFile; fileRef = 436E917124B714A1000296FF /* Rick Deckard (43F270EC) – Secret.asc */; }; 436E917724B71E12000296FF /* PEPPassphraseProviderMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 436E917624B71E12000296FF /* PEPPassphraseProviderMock.m */; }; + 437C09512754EE4B00E86695 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 437C09502754EE4B00E86695 /* main.m */; }; + 437C09772754EE9B00E86695 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 4396CEB82187196600FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4396CEB62187190F00FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.m */; }; 4396CECB2187220200FDD398 /* PEPInternalSessionTestSendMessageDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4396CEC8218721F900FDD398 /* PEPInternalSessionTestSendMessageDelegate.m */; }; 43D2D5F12632B0FA00088BDC /* XCTestCase+PEPSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 43D2D5F02632B0FA00088BDC /* XCTestCase+PEPSession.m */; }; @@ -332,6 +335,27 @@ remoteGlobalIDString = 4E23E7032681D5F300B8F4C2; remoteInfo = PEPObjCAdapterProtocols_iOS; }; + 4352DD5627624FAB007A82D9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4E51BF3826CA5E5C007A2164 /* PEPObjCTypes.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 439F4C36275632B2005F278E; + remoteInfo = PEPObjCTypesTests_macOS; + }; + 437C09742754EE4B00E86695 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1585EB15269861D700B822E1 /* PEPObjCTypeUtils.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 43B0EAD1274D21E100F5D076; + remoteInfo = PEPObjCTypeUtilsTests_macOS; + }; + 437C09782754EEAD00E86695 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 352988A21AEF964100FA7E2E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 15C3084B26E8B5030013F39F; + remoteInfo = PEPObjCAdapter_4ipsec_macOS; + }; 43F29505273E7BE0009611F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 64DA243B1B833248000BEE80 /* pEpEngine.xcodeproj */; @@ -409,6 +433,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 437C094C2754EE4B00E86695 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -495,6 +528,8 @@ 436E917124B714A1000296FF /* Rick Deckard (43F270EC) – Secret.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Rick Deckard (43F270EC) – Secret.asc"; sourceTree = ""; }; 436E917524B71E12000296FF /* PEPPassphraseProviderMock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPPassphraseProviderMock.h; sourceTree = ""; }; 436E917624B71E12000296FF /* PEPPassphraseProviderMock.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPPassphraseProviderMock.m; sourceTree = ""; }; + 437C094E2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = pEpObjCAdapterTestStartup_4ipsec_macOS; sourceTree = BUILT_PRODUCTS_DIR; }; + 437C09502754EE4B00E86695 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 4396CEB52187190F00FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPInternalSessionTestNotifyHandshakeDelegate.h; sourceTree = ""; }; 4396CEB62187190F00FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPInternalSessionTestNotifyHandshakeDelegate.m; sourceTree = ""; }; 4396CEC8218721F900FDD398 /* PEPInternalSessionTestSendMessageDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPInternalSessionTestSendMessageDelegate.m; sourceTree = ""; }; @@ -557,6 +592,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 437C094B2754EE4B00E86695 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4352DD5827624FAB007A82D9 /* libPEPObjCTypes_macOS.a in Frameworks */, + 437C09772754EE9B00E86695 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 43F29515273E7BE0009611F8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -625,6 +669,7 @@ children = ( 1585EC50269C38FB00B822E1 /* libPEPObjCTypeUtils_macOS.a */, 1585EC52269C38FB00B822E1 /* libPEPObjCTypeUtils_iOS.a */, + 437C09752754EE4B00E86695 /* PEPObjCTypeUtilsTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -695,6 +740,7 @@ 1552D93C2576602D00A92F71 /* PEPObjCAdapter_macOS */, 1543DC67257943CE0041EFB5 /* PEPObjCAdapter_iOS */, 64415E181BE94FCB00F6CBB2 /* pEpObjCTests */, + 437C094F2754EE4B00E86695 /* pEpObjCAdapterTestStartup */, 352988AB1AEF964100FA7E2E /* Products */, 43447C51221D448500B6323E /* Frameworks */, 43F29533273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS.plist */, @@ -709,6 +755,7 @@ 1543DC66257943CE0041EFB5 /* libPEPObjCAdapter_iOS.a */, 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */, 43F29532273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS.xctest */, + 437C094E2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */, ); name = Products; sourceTree = ""; @@ -758,6 +805,14 @@ name = Frameworks; sourceTree = ""; }; + 437C094F2754EE4B00E86695 /* pEpObjCAdapterTestStartup */ = { + isa = PBXGroup; + children = ( + 437C09502754EE4B00E86695 /* main.m */, + ); + path = pEpObjCAdapterTestStartup; + sourceTree = ""; + }; 438C0EE1254026E200337922 /* Extensions */ = { isa = PBXGroup; children = ( @@ -781,6 +836,7 @@ 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */, 4E51BF4126CA5E5C007A2164 /* libPEPObjCTypes_iOS.a */, 4E51BF4326CA5E5C007A2164 /* PEPObjCTypesTests_iOS.xctest */, + 4352DD5727624FAB007A82D9 /* PEPObjCTypesTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -998,6 +1054,24 @@ productReference = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; productType = "com.apple.product-type.library.static"; }; + 437C094D2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 437C09762754EE4B00E86695 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTestStartup_4ipsec_macOS" */; + buildPhases = ( + 437C094A2754EE4B00E86695 /* Sources */, + 437C094B2754EE4B00E86695 /* Frameworks */, + 437C094C2754EE4B00E86695 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 437C09792754EEAD00E86695 /* PBXTargetDependency */, + ); + name = pEpObjCAdapterTestStartup_4ipsec_macOS; + productName = pEpObjCAdapterTestStartup; + productReference = 437C094E2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */; + productType = "com.apple.product-type.tool"; + }; 43F29503273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS */ = { isa = PBXNativeTarget; buildConfigurationList = 43F2952F273E7BE0009611F8 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTests_4ipsec_macOS" */; @@ -1051,6 +1125,9 @@ CreatedOnToolsVersion = 12.2; LastSwiftMigration = 1240; }; + 437C094D2754EE4B00E86695 = { + CreatedOnToolsVersion = 13.1; + }; 64415E161BE94FCB00F6CBB2 = { CreatedOnToolsVersion = 7.1; DevelopmentTeam = NQLYU6MGPN; @@ -1097,6 +1174,7 @@ 64415E161BE94FCB00F6CBB2 /* pEpObjCAdapterTests */, 15C3084B26E8B5030013F39F /* PEPObjCAdapter_4ipsec_macOS */, 43F29503273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS */, + 437C094D2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */, ); }; /* End PBXProject section */ @@ -1130,6 +1208,20 @@ remoteRef = 430D78DE2681E13300B12650 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 4352DD5727624FAB007A82D9 /* PEPObjCTypesTests_macOS.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = PEPObjCTypesTests_macOS.xctest; + remoteRef = 4352DD5627624FAB007A82D9 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 437C09752754EE4B00E86695 /* PEPObjCTypeUtilsTests_macOS.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = PEPObjCTypeUtilsTests_macOS.xctest; + remoteRef = 437C09742754EE4B00E86695 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1398,6 +1490,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 437C094A2754EE4B00E86695 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 437C09512754EE4B00E86695 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 43F29506273E7BE0009611F8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1483,6 +1583,11 @@ name = PEPObjCAdapterProtocols_iOS; targetProxy = 430D78E12681E1CF00B12650 /* PBXContainerItemProxy */; }; + 437C09792754EEAD00E86695 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 15C3084B26E8B5030013F39F /* PEPObjCAdapter_4ipsec_macOS */; + targetProxy = 437C09782754EEAD00E86695 /* PBXContainerItemProxy */; + }; 43F29504273E7BE0009611F8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = pEpTrustWords; @@ -1819,6 +1924,51 @@ }; name = Release; }; + 437C09522754EE4B00E86695 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = NQLYU6MGPN; + ENABLE_HARDENED_RUNTIME = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + MACOSX_DEPLOYMENT_TARGET = 11.5; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Debug; + }; + 437C09532754EE4B00E86695 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = NQLYU6MGPN; + ENABLE_HARDENED_RUNTIME = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + MACOSX_DEPLOYMENT_TARGET = 11.5; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Release; + }; 43F29530273E7BE0009611F8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1968,6 +2118,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 437C09762754EE4B00E86695 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTestStartup_4ipsec_macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 437C09522754EE4B00E86695 /* Debug */, + 437C09532754EE4B00E86695 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 43F2952F273E7BE0009611F8 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTests_4ipsec_macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme b/pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme new file mode 100644 index 00000000..367c900c --- /dev/null +++ b/pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pEpObjCAdapterTestStartup/main.m b/pEpObjCAdapterTestStartup/main.m new file mode 100644 index 00000000..2801d61c --- /dev/null +++ b/pEpObjCAdapterTestStartup/main.m @@ -0,0 +1,22 @@ +// +// main.m +// pEpObjCAdapterTestStartup +// +// Created by Dirk Zimmermann on 29.11.21. +// Copyright © 2021 p≡p. All rights reserved. +// + +#import + +#import "PEPObjCAdapter.h" +#import "PEPSession.h" + +int main(int argc, const char * argv[]) { + @autoreleasepool { + NSLog(@"Hello, World!"); + + PEPSession *session = [PEPSession new]; + [session ratingFromString:@"blarg"]; + } + return 0; +} From 93bea13d30ca97f177333ee1ef55a4d5c32b6fef Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 15:57:17 +0100 Subject: [PATCH 25/33] IOSAD-228 Comment --- pEpObjCAdapter/PEPObjCAdapter.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pEpObjCAdapter/PEPObjCAdapter.m b/pEpObjCAdapter/PEPObjCAdapter.m index 1bd959b0..043afa8f 100644 --- a/pEpObjCAdapter/PEPObjCAdapter.m +++ b/pEpObjCAdapter/PEPObjCAdapter.m @@ -314,7 +314,8 @@ static id s_passphraseProvider = nil; #if TARGET_OS_OSX -/// Creates a pEp directory for use by the engine that is nowhere in a production data area, for use by XCTests. +/// Creates a pEp directory for use by the engine that doesn't affect production data, +/// e.g. for use by XCTests or when running in a development environment. /// /// Uses `[NSFileManager URLsForDirectory:inDomains:]`, so not safe for other platforms besides macOS. + (NSURL *)createTestDataDirectoryMacOS From be07161199207f515be5ef9910c7a6d10ec85a66 Mon Sep 17 00:00:00 2001 From: Dirk Zimmermann Date: Thu, 9 Dec 2021 16:55:18 +0100 Subject: [PATCH 26/33] IOSAD-228 Revert "TMP Revive console app from IPS-91" This reverts commit 42d0a96acbeec0860a6d09eb06dc96a3f3178ed4. --- pEpObjCAdapter.xcodeproj/project.pbxproj | 159 ------------------ ...jCAdapterTestStartup_4ipsec_macOS.xcscheme | 85 ---------- pEpObjCAdapterTestStartup/main.m | 22 --- 3 files changed, 266 deletions(-) delete mode 100644 pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme delete mode 100644 pEpObjCAdapterTestStartup/main.m diff --git a/pEpObjCAdapter.xcodeproj/project.pbxproj b/pEpObjCAdapter.xcodeproj/project.pbxproj index e350f835..68465875 100644 --- a/pEpObjCAdapter.xcodeproj/project.pbxproj +++ b/pEpObjCAdapter.xcodeproj/project.pbxproj @@ -187,13 +187,10 @@ 434226811D4F60000083ED79 /* PepTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 434226801D4F60000083ED79 /* PepTests.m */; }; 434707F924C30E9700E05485 /* PEPSessionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 434707F824C30E9700E05485 /* PEPSessionTest.m */; }; 4349CD7924ADDB8800A22A13 /* PEPPassphraseCache+Reset.m in Sources */ = {isa = PBXBuildFile; fileRef = 4349CD7824ADDB8800A22A13 /* PEPPassphraseCache+Reset.m */; }; - 4352DD5827624FAB007A82D9 /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */; }; 43589EFB24A4ACFC0079BEA2 /* PEPPassphraseCacheTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 43589EFA24A4ACFC0079BEA2 /* PEPPassphraseCacheTest.m */; }; 43676B661C57EA1A00233933 /* B623F674_sec.asc in Resources */ = {isa = PBXBuildFile; fileRef = 43676B641C57EA1A00233933 /* B623F674_sec.asc */; }; 436E917224B714A2000296FF /* Rick Deckard (43F270EC) – Secret.asc in Resources */ = {isa = PBXBuildFile; fileRef = 436E917124B714A1000296FF /* Rick Deckard (43F270EC) – Secret.asc */; }; 436E917724B71E12000296FF /* PEPPassphraseProviderMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 436E917624B71E12000296FF /* PEPPassphraseProviderMock.m */; }; - 437C09512754EE4B00E86695 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 437C09502754EE4B00E86695 /* main.m */; }; - 437C09772754EE9B00E86695 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; }; 4396CEB82187196600FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4396CEB62187190F00FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.m */; }; 4396CECB2187220200FDD398 /* PEPInternalSessionTestSendMessageDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4396CEC8218721F900FDD398 /* PEPInternalSessionTestSendMessageDelegate.m */; }; 43D2D5F12632B0FA00088BDC /* XCTestCase+PEPSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 43D2D5F02632B0FA00088BDC /* XCTestCase+PEPSession.m */; }; @@ -335,27 +332,6 @@ remoteGlobalIDString = 4E23E7032681D5F300B8F4C2; remoteInfo = PEPObjCAdapterProtocols_iOS; }; - 4352DD5627624FAB007A82D9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4E51BF3826CA5E5C007A2164 /* PEPObjCTypes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 439F4C36275632B2005F278E; - remoteInfo = PEPObjCTypesTests_macOS; - }; - 437C09742754EE4B00E86695 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1585EB15269861D700B822E1 /* PEPObjCTypeUtils.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 43B0EAD1274D21E100F5D076; - remoteInfo = PEPObjCTypeUtilsTests_macOS; - }; - 437C09782754EEAD00E86695 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 352988A21AEF964100FA7E2E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 15C3084B26E8B5030013F39F; - remoteInfo = PEPObjCAdapter_4ipsec_macOS; - }; 43F29505273E7BE0009611F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 64DA243B1B833248000BEE80 /* pEpEngine.xcodeproj */; @@ -433,15 +409,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 437C094C2754EE4B00E86695 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -528,8 +495,6 @@ 436E917124B714A1000296FF /* Rick Deckard (43F270EC) – Secret.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Rick Deckard (43F270EC) – Secret.asc"; sourceTree = ""; }; 436E917524B71E12000296FF /* PEPPassphraseProviderMock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPPassphraseProviderMock.h; sourceTree = ""; }; 436E917624B71E12000296FF /* PEPPassphraseProviderMock.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPPassphraseProviderMock.m; sourceTree = ""; }; - 437C094E2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = pEpObjCAdapterTestStartup_4ipsec_macOS; sourceTree = BUILT_PRODUCTS_DIR; }; - 437C09502754EE4B00E86695 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 4396CEB52187190F00FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPInternalSessionTestNotifyHandshakeDelegate.h; sourceTree = ""; }; 4396CEB62187190F00FDD398 /* PEPInternalSessionTestNotifyHandshakeDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPInternalSessionTestNotifyHandshakeDelegate.m; sourceTree = ""; }; 4396CEC8218721F900FDD398 /* PEPInternalSessionTestSendMessageDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPInternalSessionTestSendMessageDelegate.m; sourceTree = ""; }; @@ -592,15 +557,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 437C094B2754EE4B00E86695 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4352DD5827624FAB007A82D9 /* libPEPObjCTypes_macOS.a in Frameworks */, - 437C09772754EE9B00E86695 /* libPEPObjCAdapter_4ipsec_macOS.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 43F29515273E7BE0009611F8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -669,7 +625,6 @@ children = ( 1585EC50269C38FB00B822E1 /* libPEPObjCTypeUtils_macOS.a */, 1585EC52269C38FB00B822E1 /* libPEPObjCTypeUtils_iOS.a */, - 437C09752754EE4B00E86695 /* PEPObjCTypeUtilsTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -740,7 +695,6 @@ 1552D93C2576602D00A92F71 /* PEPObjCAdapter_macOS */, 1543DC67257943CE0041EFB5 /* PEPObjCAdapter_iOS */, 64415E181BE94FCB00F6CBB2 /* pEpObjCTests */, - 437C094F2754EE4B00E86695 /* pEpObjCAdapterTestStartup */, 352988AB1AEF964100FA7E2E /* Products */, 43447C51221D448500B6323E /* Frameworks */, 43F29533273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS.plist */, @@ -755,7 +709,6 @@ 1543DC66257943CE0041EFB5 /* libPEPObjCAdapter_iOS.a */, 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */, 43F29532273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS.xctest */, - 437C094E2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */, ); name = Products; sourceTree = ""; @@ -805,14 +758,6 @@ name = Frameworks; sourceTree = ""; }; - 437C094F2754EE4B00E86695 /* pEpObjCAdapterTestStartup */ = { - isa = PBXGroup; - children = ( - 437C09502754EE4B00E86695 /* main.m */, - ); - path = pEpObjCAdapterTestStartup; - sourceTree = ""; - }; 438C0EE1254026E200337922 /* Extensions */ = { isa = PBXGroup; children = ( @@ -836,7 +781,6 @@ 4E51BF3F26CA5E5C007A2164 /* libPEPObjCTypes_macOS.a */, 4E51BF4126CA5E5C007A2164 /* libPEPObjCTypes_iOS.a */, 4E51BF4326CA5E5C007A2164 /* PEPObjCTypesTests_iOS.xctest */, - 4352DD5727624FAB007A82D9 /* PEPObjCTypesTests_macOS.xctest */, ); name = Products; sourceTree = ""; @@ -1054,24 +998,6 @@ productReference = 15C3089226E8B5030013F39F /* libPEPObjCAdapter_4ipsec_macOS.a */; productType = "com.apple.product-type.library.static"; }; - 437C094D2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 437C09762754EE4B00E86695 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTestStartup_4ipsec_macOS" */; - buildPhases = ( - 437C094A2754EE4B00E86695 /* Sources */, - 437C094B2754EE4B00E86695 /* Frameworks */, - 437C094C2754EE4B00E86695 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - 437C09792754EEAD00E86695 /* PBXTargetDependency */, - ); - name = pEpObjCAdapterTestStartup_4ipsec_macOS; - productName = pEpObjCAdapterTestStartup; - productReference = 437C094E2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */; - productType = "com.apple.product-type.tool"; - }; 43F29503273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS */ = { isa = PBXNativeTarget; buildConfigurationList = 43F2952F273E7BE0009611F8 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTests_4ipsec_macOS" */; @@ -1125,9 +1051,6 @@ CreatedOnToolsVersion = 12.2; LastSwiftMigration = 1240; }; - 437C094D2754EE4B00E86695 = { - CreatedOnToolsVersion = 13.1; - }; 64415E161BE94FCB00F6CBB2 = { CreatedOnToolsVersion = 7.1; DevelopmentTeam = NQLYU6MGPN; @@ -1174,7 +1097,6 @@ 64415E161BE94FCB00F6CBB2 /* pEpObjCAdapterTests */, 15C3084B26E8B5030013F39F /* PEPObjCAdapter_4ipsec_macOS */, 43F29503273E7BE0009611F8 /* pEpObjCAdapterTests_4ipsec_macOS */, - 437C094D2754EE4B00E86695 /* pEpObjCAdapterTestStartup_4ipsec_macOS */, ); }; /* End PBXProject section */ @@ -1208,20 +1130,6 @@ remoteRef = 430D78DE2681E13300B12650 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 4352DD5727624FAB007A82D9 /* PEPObjCTypesTests_macOS.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PEPObjCTypesTests_macOS.xctest; - remoteRef = 4352DD5627624FAB007A82D9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 437C09752754EE4B00E86695 /* PEPObjCTypeUtilsTests_macOS.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PEPObjCTypeUtilsTests_macOS.xctest; - remoteRef = 437C09742754EE4B00E86695 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 4E23E6F62681C8AF00B8F4C2 /* libPEPObjCAdapterProtocols_macOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1490,14 +1398,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 437C094A2754EE4B00E86695 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 437C09512754EE4B00E86695 /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 43F29506273E7BE0009611F8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1583,11 +1483,6 @@ name = PEPObjCAdapterProtocols_iOS; targetProxy = 430D78E12681E1CF00B12650 /* PBXContainerItemProxy */; }; - 437C09792754EEAD00E86695 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 15C3084B26E8B5030013F39F /* PEPObjCAdapter_4ipsec_macOS */; - targetProxy = 437C09782754EEAD00E86695 /* PBXContainerItemProxy */; - }; 43F29504273E7BE0009611F8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = pEpTrustWords; @@ -1924,51 +1819,6 @@ }; name = Release; }; - 437C09522754EE4B00E86695 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = NQLYU6MGPN; - ENABLE_HARDENED_RUNTIME = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - MACOSX_DEPLOYMENT_TARGET = 11.5; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - 437C09532754EE4B00E86695 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = NQLYU6MGPN; - ENABLE_HARDENED_RUNTIME = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - MACOSX_DEPLOYMENT_TARGET = 11.5; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; 43F29530273E7BE0009611F8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2118,15 +1968,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 437C09762754EE4B00E86695 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTestStartup_4ipsec_macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 437C09522754EE4B00E86695 /* Debug */, - 437C09532754EE4B00E86695 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 43F2952F273E7BE0009611F8 /* Build configuration list for PBXNativeTarget "pEpObjCAdapterTests_4ipsec_macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme b/pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme deleted file mode 100644 index 367c900c..00000000 --- a/pEpObjCAdapter.xcodeproj/xcshareddata/xcschemes/pEpObjCAdapterTestStartup_4ipsec_macOS.xcscheme +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pEpObjCAdapterTestStartup/main.m b/pEpObjCAdapterTestStartup/main.m deleted file mode 100644 index 2801d61c..00000000 --- a/pEpObjCAdapterTestStartup/main.m +++ /dev/null @@ -1,22 +0,0 @@ -// -// main.m -// pEpObjCAdapterTestStartup -// -// Created by Dirk Zimmermann on 29.11.21. -// Copyright © 2021 p≡p. All rights reserved. -// - -#import - -#import "PEPObjCAdapter.h" -#import "PEPSession.h" - -int main(int argc, const char * argv[]) { - @autoreleasepool { - NSLog(@"Hello, World!"); - - PEPSession *session = [PEPSession new]; - [session ratingFromString:@"blarg"]; - } - return 0; -} From 20ce6d7c471771164279a94bd6a5ef8a65f12026 Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Thu, 9 Dec 2021 17:35:14 +0100 Subject: [PATCH 27/33] IPS-120 rm obsolete PEPTransport type --- .../PEPObjCTypes.xcodeproj/project.pbxproj | 14 +------------ .../PEPObjCTypes/PublicHeaders/PEPTransport.h | 17 ---------------- .../PEPObjCTypes/src/PEPTransport.m | 20 ------------------- 3 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransport.h delete mode 100644 Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransport.m diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj index 46a4aa92..d71ff957 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes.xcodeproj/project.pbxproj @@ -9,12 +9,8 @@ /* Begin PBXBuildFile section */ 1598061A26CFC5D800593C9D /* PEPObjCTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E575841268328CD0084F02D /* PEPObjCTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1598061B26CFC5D900593C9D /* PEPObjCTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E575841268328CD0084F02D /* PEPObjCTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1598067426CFE9B100593C9D /* PEPTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = 1598067226CFE9B100593C9D /* PEPTransport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1598067526CFE9B100593C9D /* PEPTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = 1598067226CFE9B100593C9D /* PEPTransport.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1598067626CFE9B100593C9D /* PEPTransportConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1598067326CFE9B100593C9D /* PEPTransportConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1598067726CFE9B100593C9D /* PEPTransportConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1598067326CFE9B100593C9D /* PEPTransportConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1598067A26CFE9CF00593C9D /* PEPTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = 1598067826CFE9CF00593C9D /* PEPTransport.m */; }; - 1598067B26CFE9CF00593C9D /* PEPTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = 1598067826CFE9CF00593C9D /* PEPTransport.m */; }; 1598067C26CFE9CF00593C9D /* PEPTransportConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 1598067926CFE9CF00593C9D /* PEPTransportConfig.m */; }; 1598067D26CFE9CF00593C9D /* PEPTransportConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 1598067926CFE9CF00593C9D /* PEPTransportConfig.m */; }; 15BD2F9A27342A2400B1B1F5 /* PEPEqualableTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 15BD2F9827342A2400B1B1F5 /* PEPEqualableTools.h */; }; @@ -110,16 +106,14 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 43D44C832685BE4300638D1C /* pEpObjCTypesModuleMap.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = pEpObjCTypesModuleMap.modulemap; sourceTree = ""; }; - 1598067226CFE9B100593C9D /* PEPTransport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPTransport.h; sourceTree = ""; }; 1598067326CFE9B100593C9D /* PEPTransportConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPTransportConfig.h; sourceTree = ""; }; - 1598067826CFE9CF00593C9D /* PEPTransport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPTransport.m; sourceTree = ""; }; 1598067926CFE9CF00593C9D /* PEPTransportConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPTransportConfig.m; sourceTree = ""; }; 15BD2F9827342A2400B1B1F5 /* PEPEqualableTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPEqualableTools.h; sourceTree = ""; }; 15BD2F9927342A2400B1B1F5 /* PEPEqualableTools.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPEqualableTools.m; sourceTree = ""; }; 15BD319A2742A1B500B1B1F5 /* PEPErrors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPErrors.h; sourceTree = ""; }; 15BD319B2742A1B500B1B1F5 /* PEPErrors.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPErrors.m; sourceTree = ""; }; 439F4C36275632B2005F278E /* PEPObjCTypesTests_macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PEPObjCTypesTests_macOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 43D44C832685BE4300638D1C /* pEpObjCTypesModuleMap.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = pEpObjCTypesModuleMap.modulemap; sourceTree = ""; }; 4E575841268328CD0084F02D /* PEPObjCTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCTypes.h; sourceTree = ""; }; 4E575858268329170084F02D /* libPEPObjCTypes_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPObjCTypes_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4E57585A268329170084F02D /* PEPObjCTypes_macOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCTypes_macOS.h; sourceTree = ""; }; @@ -247,7 +241,6 @@ 4E57587326832F2F0084F02D /* src */ = { isa = PBXGroup; children = ( - 1598067826CFE9CF00593C9D /* PEPTransport.m */, 1598067926CFE9CF00593C9D /* PEPTransportConfig.m */, 4E57587826832F2F0084F02D /* PEPAttachment.m */, 4E57587526832F2F0084F02D /* PEPIdentity.m */, @@ -263,7 +256,6 @@ isa = PBXGroup; children = ( 4E575841268328CD0084F02D /* PEPObjCTypes.h */, - 1598067226CFE9B100593C9D /* PEPTransport.h */, 1598067326CFE9B100593C9D /* PEPTransportConfig.h */, 4E57587F26832F2F0084F02D /* PEPEngineTypes.h */, 4E57588126832F2F0084F02D /* PEPTypes.h */, @@ -318,7 +310,6 @@ 4E5758A026832F2F0084F02D /* PEPMessage.h in Headers */, 15BD319C2742A1B500B1B1F5 /* PEPErrors.h in Headers */, 1598061B26CFC5D900593C9D /* PEPObjCTypes.h in Headers */, - 1598067426CFE9B100593C9D /* PEPTransport.h in Headers */, 4E5758A126832F2F0084F02D /* PEPAttachment.h in Headers */, 4E57589C26832F2F0084F02D /* PEPEngineTypes.h in Headers */, 4E57585B268329170084F02D /* PEPObjCTypes_macOS.h in Headers */, @@ -336,7 +327,6 @@ 4E5758AC2683331C0084F02D /* PEPIdentity.h in Headers */, 1598061A26CFC5D800593C9D /* PEPObjCTypes.h in Headers */, 15BD319D2742A1B500B1B1F5 /* PEPErrors.h in Headers */, - 1598067526CFE9B100593C9D /* PEPTransport.h in Headers */, 4E5758AE2683331C0084F02D /* PEPTypes.h in Headers */, 4E5758B02683331C0084F02D /* PEPLanguage.h in Headers */, 4E5758A82683331C0084F02D /* PEPEngineTypes.h in Headers */, @@ -582,7 +572,6 @@ 4E57589626832F2F0084F02D /* PEPLanguage.m in Sources */, 4E57589026832F2F0084F02D /* PEPAttachment.m in Sources */, 4E57588B26832F2F0084F02D /* PEPIdentity.m in Sources */, - 1598067A26CFE9CF00593C9D /* PEPTransport.m in Sources */, 1598067C26CFE9CF00593C9D /* PEPTransportConfig.m in Sources */, 4E57585D268329170084F02D /* PEPObjCTypes_macOS.m in Sources */, 4E57589A26832F2F0084F02D /* PEPMessage.m in Sources */, @@ -598,7 +587,6 @@ 4E57589726832F2F0084F02D /* PEPLanguage.m in Sources */, 4E57589126832F2F0084F02D /* PEPAttachment.m in Sources */, 4E57588C26832F2F0084F02D /* PEPIdentity.m in Sources */, - 1598067B26CFE9CF00593C9D /* PEPTransport.m in Sources */, 1598067D26CFE9CF00593C9D /* PEPTransportConfig.m in Sources */, 4E575869268329A20084F02D /* PEPObjCTypes_iOS.m in Sources */, 4E57589B26832F2F0084F02D /* PEPMessage.m in Sources */, diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransport.h b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransport.h deleted file mode 100644 index aba390e0..00000000 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransport.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// PEPTransport.h -// -// Created by Andreas Buff on 16.08.21. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -/// Represents pEpEngine struct _PEP_transport_t -/// Intentinally unimplemented as currently unused (is meant to use when the Engine will do transport, offering some infos and callbacks to do the actual work) -@interface PEPTransport : NSObject - -@end - -NS_ASSUME_NONNULL_END diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransport.m b/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransport.m deleted file mode 100644 index c380dd78..00000000 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransport.m +++ /dev/null @@ -1,20 +0,0 @@ -// -// PEPTransport.m -// -// Created by Andreas Buff on 16.08.21. -// - -#import "PEPTransport.h" - -@implementation PEPTransport - -// Intentionally unimplemented. See info in header -- (instancetype)init -{ - self = [super init]; - if (self) { - NSAssert(false, @"unimplemented stub"); - } - return self; -} -@end From 67b80a8e21853944eb3110497f3f4480a247990d Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Fri, 10 Dec 2021 11:10:09 +0100 Subject: [PATCH 28/33] IPS-100 Use new Makefile.common functions. --- .../PEPObjCAdapterProtocols/build-linux/Makefile | 9 ++++----- .../PEPObjCTypeUtils/build-linux/Makefile | 12 +++++++----- .../PEPObjCTypes/PEPObjCTypes/build-linux/Makefile | 9 ++++----- pEpObjCAdapter/build-linux/Makefile | 6 +++--- pEpObjCAdapter/build-linux/test_project/Makefile | 6 +++--- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile index 33818834..32005ab3 100644 --- a/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile +++ b/Subprojects/PEPObjCAdapterProtocols/PEPObjCAdapterProtocols/build-linux/Makefile @@ -1,13 +1,12 @@ # Content of this library TARGET = libPEPObjCAdapterProtocols -OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) -DEPFILES := $(wildcard ../*.d) -HEADERS := $(wildcard ../PublicHeaders/*.h) +OBJECTS = $(call find-objects,..) +DEPFILES = $(call find-deps,..) +HEADERS = $(call find-headers,../PublicHeaders/) # Dependencies *within* this repo (other headers should be installed and found in $PREFIX). INCLUDES = \ - -I../ \ - -I../PublicHeaders + $(call find-includes,..) # Only for making .so libs. Libs for static linking are defined with the final binary. LIBS = diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile index 7c942460..ee7a43fa 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/build-linux/Makefile @@ -2,17 +2,16 @@ root = ../../../../ # Content of this library TARGET = libPEPObjCTypeUtils -OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m)) -DEPFILES := $(wildcard ../*.d) -HEADERS := $(wildcard ../PublicHeaders/*.h) +OBJECTS = $(call find-objects,..) +DEPFILES = $(call find-deps,..) +HEADERS = $(call find-headers,../PublicHeaders) # Dependencies *within* this repo (other headers should be installed and found in $PREFIX). # PEP_INCLUDE is the pEp/ folder (since we don't prefix headers here), PEP_SRC # is the engine source directory, since we may use uninstalled headers. INCLUDES = \ - -I../ \ - -I../PublicHeaders \ -I$(PEP_INCLUDE) \ + $(call find-includes,..) # Only for making .so libs. Libs for static linking are defined with the final binary. @@ -22,5 +21,8 @@ LIBS = -lpEpEngine -lasn1 -lPEPObjCTypes MAKEFILE_COMMON ?= ../../../../../pepgnustephelper/ include $(MAKEFILE_COMMON)/Makefile.common +print: + echo $(OBJECTS) + # This enables proper header-dependencies based on .d files made by the compiler. include $(DEPFILES) diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile index de70ee64..f70d2c17 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/build-linux/Makefile @@ -1,14 +1,13 @@ # Content of this library TARGET = libPEPObjCTypes -OBJECTS := $(patsubst %.m,%.o,$(wildcard ../src/*.m ../src/*/*.m)) -DEPFILES := $(wildcard ..src/*.d ../src/*/*.d) -HEADERS := $(wildcard ../PublicHeaders/*.h) +OBJECTS = $(call find-objects,../src) +DEPFILES = $(call find-deps,../src) +HEADERS = $(call find-headers,../PublicHeaders/) # Dependencies *within* this repo (other headers should be installed and found in $PREFIX). INCLUDES = \ -I../PublicHeaders \ - -I../src \ - -I../src/PEPEqualableTools + $(call find-includes,..) # Only for making .so libs. Libs for static linking are defined with the final binary. LIBS = diff --git a/pEpObjCAdapter/build-linux/Makefile b/pEpObjCAdapter/build-linux/Makefile index dc782e7a..6b29d4c0 100644 --- a/pEpObjCAdapter/build-linux/Makefile +++ b/pEpObjCAdapter/build-linux/Makefile @@ -2,9 +2,9 @@ root = ../../ # Content of this library TARGET = libpEpObjCAdapter -OBJECTS := $(patsubst %.m,%.o,$(wildcard ../*.m ../*/*.m)) -DEPFILES := $(wildcard ../*.d) -HEADERS := $(wildcard ../PublicHeaders/*.h) +OBJECTS = $(call find-objects,..) +DEPFILES = $(call find-deps,..) +HEADERS = $(call find-headers,../PublicHeaders/) # Dependencies *within* this repo (other headers should be installed and found in $PREFIX). INCLUDES = \ diff --git a/pEpObjCAdapter/build-linux/test_project/Makefile b/pEpObjCAdapter/build-linux/test_project/Makefile index fb2a7313..f8d3b20a 100644 --- a/pEpObjCAdapter/build-linux/test_project/Makefile +++ b/pEpObjCAdapter/build-linux/test_project/Makefile @@ -2,9 +2,9 @@ root = ../../../ # Content of this library TARGET_EXE = test_project -OBJECTS := $(patsubst %.m,%.o,$(wildcard *.m)) -DEPFILES := $(wildcard *.d) -HEADERS := +OBJECTS = $(call find-objects,.) +DEPFILES = $(call find-deps,.) +HEADERS = # Dependencies *within* this repo (other headers should be installed and found in $PREFIX). INCLUDES = \ From 82534c74833ce1da88849c0449f1a67180746f39 Mon Sep 17 00:00:00 2001 From: Marcel Schneider Date: Fri, 10 Dec 2021 12:01:30 +0100 Subject: [PATCH 29/33] IPS-100 Fix pEpObjCAdapter Makefile. We could also patch Makefile.common to hide the build-* folders, but let's try to avoid magic for now. --- pEpObjCAdapter/build-linux/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pEpObjCAdapter/build-linux/Makefile b/pEpObjCAdapter/build-linux/Makefile index 6b29d4c0..fc5f46ed 100644 --- a/pEpObjCAdapter/build-linux/Makefile +++ b/pEpObjCAdapter/build-linux/Makefile @@ -2,7 +2,7 @@ root = ../../ # Content of this library TARGET = libpEpObjCAdapter -OBJECTS = $(call find-objects,..) +OBJECTS = $(patsubst %.m,%.o,$(wildcard ../*.m ../*/*.m)) DEPFILES = $(call find-deps,..) HEADERS = $(call find-headers,../PublicHeaders/) From 75634d844700a336dbed749e1d59477fd71f365e Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Fri, 10 Dec 2021 15:53:35 +0100 Subject: [PATCH 30/33] Adds forgotten tyoe to umbrella header. Rm size property, does make sense in struct only --- .../PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPObjCTypes.h | 1 + .../PEPObjCTypes/PublicHeaders/PEPTransportConfig.h | 3 +-- Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransportConfig.m | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPObjCTypes.h b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPObjCTypes.h index 111ac2ad..05d2f03b 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPObjCTypes.h +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPObjCTypes.h @@ -14,6 +14,7 @@ #import "PEPAttachment.h" #import "PEPIdentity.h" #import "PEPErrors.h" +#import "PEPTransportConfig.h" @interface PEPObjCTypes : NSObject diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransportConfig.h b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransportConfig.h index dcd26520..d69f3a4e 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransportConfig.h +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/PublicHeaders/PEPTransportConfig.h @@ -11,10 +11,9 @@ NS_ASSUME_NONNULL_BEGIN @interface PEPTransportConfig : NSObject -@property (nonatomic) Size size; @property (nonatomic) UInt16 port; -- (instancetype)initWithSize:(Size)size port:(UInt16)port; +- (instancetype)initWithPort:(UInt16)port; @end diff --git a/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransportConfig.m b/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransportConfig.m index d6b43abe..df4e74a6 100644 --- a/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransportConfig.m +++ b/Subprojects/PEPObjCTypes/PEPObjCTypes/src/PEPTransportConfig.m @@ -9,11 +9,10 @@ @implementation PEPTransportConfig -- (instancetype)initWithSize:(Size)size port:(UInt16)port +- (instancetype)initWithPort:(UInt16)port { self = [super init]; if (self) { - _size = size; _port = port; } return self; From cbcf488e4a4a074ee96d835ab534231dafd1126f Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Wed, 15 Dec 2021 18:58:01 +0100 Subject: [PATCH 31/33] IPS-120 cleaner imports --- .../PEPObjCTypeUtils/PEPMessage+ASN1.m | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPMessage+ASN1.m b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPMessage+ASN1.m index fe35eec0..a789a9df 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPMessage+ASN1.m +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPMessage+ASN1.m @@ -7,14 +7,13 @@ #import "PEPMessage+ASN1.h" -#import "PEPObjCTypeUtils.h" -#import "map_asn1.h" -#import "message_codec.h" +#import "PEPObjCTypeConversionUtil.h" +#import +#import @implementation PEPMessage (ASN1) -+ (instancetype _Nullable)messageFromAsn1Data:(NSData *)asn1Data -{ ++ (instancetype _Nullable)messageFromAsn1Data:(NSData *)asn1Data { ASN1Message_t *asn1Message = NULL; PEP_STATUS status = decode_ASN1Message_message(asn1Data.bytes, asn1Data.length, &asn1Message); if (status != PEP_STATUS_OK) { @@ -32,8 +31,7 @@ return [PEPObjCTypeConversionUtil pEpMessagefromStruct:msg]; } -- (NSData *)asn1Data -{ +- (NSData *)asn1Data { message *msg = [PEPObjCTypeConversionUtil structFromPEPMessage:self]; ASN1Message_t *asn1Message = ASN1Message_from_message(msg, NULL, YES, 0); free_message(msg); From da3a3d8809c0d5b19662d25da303cce6d8678737 Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Thu, 16 Dec 2021 11:08:26 +0100 Subject: [PATCH 32/33] IPS-120 fixes: missing symbols in tests --- .../PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj index 23fa266b..12eda840 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 150B1946276B460B001A7D03 /* libPEPObjCTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1598060126CFC0C500593C9D /* libPEPObjCTypes_macOS.a */; }; 1554D09D2757C72E00529E81 /* libpEpEngine_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1585EC93269C51EC00B822E1 /* libpEpEngine_macOS.a */; }; 1585EBC32698A8FC00B822E1 /* PEPObjCTypeUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1585EBC12698A8FC00B822E1 /* PEPObjCTypeUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1585EC79269C3E1700B822E1 /* PEPObjCTypeUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1585EBC12698A8FC00B822E1 /* PEPObjCTypeUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -164,6 +165,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 150B1946276B460B001A7D03 /* libPEPObjCTypes_macOS.a in Frameworks */, 43B0EAD5274D21E100F5D076 /* libPEPObjCTypeUtils_macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; From 814fb3f0e4a87442c11404e2adf83a16e9482635 Mon Sep 17 00:00:00 2001 From: Andreas Buff Date: Thu, 16 Dec 2021 12:51:35 +0100 Subject: [PATCH 33/33] rm obsolete code (PEPTransport) --- .../PEPObjCTypeConversionUtil.m | 23 ------------------- .../PublicHeaders/PEPObjCTypeConversionUtil.h | 10 -------- 2 files changed, 33 deletions(-) diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPObjCTypeConversionUtil.m b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPObjCTypeConversionUtil.m index 7c64a7a1..ce3c57ae 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPObjCTypeConversionUtil.m +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PEPObjCTypeConversionUtil.m @@ -7,7 +7,6 @@ #import "PEPObjCTypeConversionUtil.h" -#import #import #import #import @@ -16,28 +15,6 @@ @implementation PEPObjCTypeConversionUtil -// MARK: - PEPTransport - -+ (PEPTransport * _Nullable)pEpTransportfromStruct:(PEP_transport_t * _Nonnull)transportStruct -{ - PEPTransport *result = nil; - NSAssert(false, @"unimplemented stub"); - return result; -} - -+ (PEP_transport_t *)structFromPEPTransport:(PEPTransport *)pEpTransport -{ - PEP_transport_t *transportStruct = NULL; - NSAssert(false, @"unimplemented stub"); - return transportStruct; -} - -+ (void)overWritePEPTransportObject:(PEPTransport *)pEpTransport - withValuesFromStruct:(PEP_transport_t * _Nonnull)transportStruct -{ - NSAssert(false, @"unimplemented stub"); -} - // MARK: - PEPMessage + (PEPMessage * _Nullable)pEpMessagefromStruct:(message * _Nullable)msg diff --git a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h index 3312f711..51bc4ec2 100644 --- a/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h +++ b/Subprojects/PEPObjCTypeUtils/PEPObjCTypeUtils/PublicHeaders/PEPObjCTypeConversionUtil.h @@ -9,7 +9,6 @@ #import -@class PEPTransport; @class PEPMessage; @class PEPIdentity; @class PEPAttachment; @@ -18,15 +17,6 @@ NS_ASSUME_NONNULL_BEGIN @interface PEPObjCTypeConversionUtil : NSObject -// MARK: - PEPTransport - -+ (PEPTransport * _Nullable)pEpTransportfromStruct:(PEP_transport_t * _Nonnull)transportStruct; - -+ (PEP_transport_t *)structFromPEPTransport:(PEPTransport *)pEpTransport; - -+ (void)overWritePEPTransportObject:(PEPTransport *)pEpTransport - withValuesFromStruct:(PEP_transport_t * _Nonnull)transportStruct; - // MARK: - PEPMessage + (PEPMessage * _Nullable)pEpMessagefromStruct:(message * _Nullable)msg;