Browse Source

IOSAD-186 builds fine. Client still needs libz and libiconf linked to dynamic, system version. Could not force libetpan to link them statically yet.

IOS-2651
buff 2 years ago
committed by Andreas Buff
parent
commit
1e41520b91
4 changed files with 44 additions and 20 deletions
  1. +14
    -8
      DELETE_--TEST--_DELETE_/TEST_ObjCAdapterStaticLibUsage/TEST_ObjCAdapterStaticLibUsage.xcodeproj/project.pbxproj
  2. +1
    -1
      DELETE_--TEST--_DELETE_/TEST_ObjCAdapterStaticLibUsage/TEST_ObjCAdapterStaticLibUsage/ViewController.m
  3. +19
    -5
      README.md
  4. +10
    -6
      pEpObjCAdapter.xcodeproj/project.pbxproj

+ 14
- 8
DELETE_--TEST--_DELETE_/TEST_ObjCAdapterStaticLibUsage/TEST_ObjCAdapterStaticLibUsage.xcodeproj/project.pbxproj View File

@ -7,6 +7,9 @@
objects = {
/* Begin PBXBuildFile section */
1543DB2E257902EF0041EFB5 /* libPEPObjCAdapter_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1543DB2D257902EF0041EFB5 /* libPEPObjCAdapter_macOS.a */; };
1543DBA9257912750041EFB5 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 1543DB30257902FB0041EFB5 /* libz.tbd */; };
1543DBD6257935C00041EFB5 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 1543DB33257903030041EFB5 /* libiconv.tbd */; };
1552D9B92576660300A92F71 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1552D9B82576660300A92F71 /* AppDelegate.m */; };
1552D9BC2576660300A92F71 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1552D9BB2576660300A92F71 /* ViewController.m */; };
1552D9BE2576660400A92F71 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1552D9BD2576660400A92F71 /* Assets.xcassets */; };
@ -15,6 +18,9 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1543DB2D257902EF0041EFB5 /* libPEPObjCAdapter_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapter_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
1543DB30257902FB0041EFB5 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
1543DB33257903030041EFB5 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
1552D9B42576660300A92F71 /* TEST_ObjCAdapterStaticLibUsage.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TEST_ObjCAdapterStaticLibUsage.app; sourceTree = BUILT_PRODUCTS_DIR; };
1552D9B72576660300A92F71 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
1552D9B82576660300A92F71 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@ -25,10 +31,6 @@
1552D9C22576660400A92F71 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
1552D9C32576660400A92F71 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
1552D9C52576660400A92F71 /* TEST_ObjCAdapterStaticLibUsage.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = TEST_ObjCAdapterStaticLibUsage.entitlements; sourceTree = "<group>"; };
1552D9CF257666D300A92F71 /* libPEPObjCAdapter_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapter_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
1552DA102576687000A92F71 /* libPEPObjCAdapterTypes_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapterTypes_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
1552DA1925766A5700A92F71 /* libpEpEngine.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libpEpEngine.a; sourceTree = BUILT_PRODUCTS_DIR; };
1552DA2E25766C1900A92F71 /* libpEpEngine.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpEpEngine.a; path = ../../../../src_pEp4ThunderbirdMacInstaller/pep4thunderbird_macos_installer_buildscript/local/lib/libpEpEngine.a; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -36,6 +38,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1543DBD6257935C00041EFB5 /* libiconv.tbd in Frameworks */,
1543DBA9257912750041EFB5 /* libz.tbd in Frameworks */,
1543DB2E257902EF0041EFB5 /* libPEPObjCAdapter_macOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -78,10 +83,9 @@
1552D9CE257666D300A92F71 /* Frameworks */ = {
isa = PBXGroup;
children = (
1552DA2E25766C1900A92F71 /* libpEpEngine.a */,
1552D9CF257666D300A92F71 /* libPEPObjCAdapter_macOS.a */,
1552DA102576687000A92F71 /* libPEPObjCAdapterTypes_macOS.a */,
1552DA1925766A5700A92F71 /* libpEpEngine.a */,
1543DB33257903030041EFB5 /* libiconv.tbd */,
1543DB30257902FB0041EFB5 /* libz.tbd */,
1543DB2D257902EF0041EFB5 /* libPEPObjCAdapter_macOS.a */,
);
name = Frameworks;
sourceTree = "<group>";
@ -310,6 +314,7 @@
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "security.pep.TEST-ObjCAdapterStaticLibUsage";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@ -332,6 +337,7 @@
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "security.pep.TEST-ObjCAdapterStaticLibUsage";
PRODUCT_NAME = "$(TARGET_NAME)";
};


+ 1
- 1
DELETE_--TEST--_DELETE_/TEST_ObjCAdapterStaticLibUsage/TEST_ObjCAdapterStaticLibUsage/ViewController.m View File

@ -16,7 +16,7 @@
// Do any additional setup after loading the view.
NSLog(@"Started up");
PEPRating rating = [[PEPSession init] ratingFromString:@"reliable"];
PEPRating rating = [[PEPSession new] ratingFromString:@"reliable"];
NSLog(@"PEPRating rating = [[PEPSession init] ratingFromString:@\"reliable\"];: %d", rating);
}


+ 19
- 5
README.md View File

@ -111,16 +111,30 @@ autoreconf -iv
make install
popd
ICONV_VERSION="1.16"
ICONV_DIR="libiconv-${ICONV_VERSION}"
TARBALL="libiconv-${ICONV_VERSION}.tar.gz"
wget -nc https://ftp.gnu.org/pub/gnu/libiconv/${TARBALL}
tar xvf "${TARBALL}"
pushd ${ICONV_DIR}
./configure --prefix=$(pwd)/../local/ --enable-static
make -j 4
make install
popd
# //BUFF: weget and build libz too and link it to libetpan. Rm linking dynamic lib in client afterwards.
git clone https://github.com/fdik/libetpan
pushd libetpan
./autogen.sh --prefix=$(pwd)/../local/
# //BUFF: This is not working (afaics). libetpan is still using the systems dynamic iconv lib. I was unable yet to force libetpan to use libiconv.a
unset CFLAGS
unset LDFLAGS
export LDFLAGS="-Wl/Users/buff/workspace/pEp/src_pEpObjCAdapter_macOS/local/libiconv.a"
./autogen.sh --prefix=$(pwd)/../local/ --enable-shared=no
make install
popd
#BAD, required due to ios libetpan sub project. RM after moving out of project
#BAD, required due to ios libetpan sub project. RM after moving out of project or even better being able to build macOS libetpan with the Xcode project
rm -rf libetpan
#BAD, required due to ios libetpan sub project. RM after moving out of project
git clone https://pep-security.lu/gitlab/misc/libetpan.git
git clone https://pep-security.lu/gitlab/misc/sqlite.git


+ 10
- 6
pEpObjCAdapter.xcodeproj/project.pbxproj View File

@ -16,6 +16,8 @@
150E8FC325755B7200AE2198 /* PEPLanguage.m in Sources */ = {isa = PBXBuildFile; fileRef = 15B107AB257520DE00D06C34 /* PEPLanguage.m */; };
150E8FC425755B7200AE2198 /* PEPAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 15B107A6257520DE00D06C34 /* PEPAttachment.m */; };
152A9C472010F50400F962ED /* PEPInternalSessionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 152A9C462010F50400F962ED /* PEPInternalSessionTest.m */; };
1543D9E02577EF260041EFB5 /* libpEpEngine_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1552DCBD2577E0B600A92F71 /* libpEpEngine_macOS.a */; };
1543DA892577FE230041EFB5 /* libPEPObjCAdapterTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 150E8FB225755B6900AE2198 /* libPEPObjCAdapterTypes_macOS.a */; };
1552D92325765EC900A92F71 /* NSObject+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = 15B109FA2575510300D06C34 /* NSObject+Extension.h */; };
1552D92825765EDC00A92F71 /* PEPLanguage.h in Headers */ = {isa = PBXBuildFile; fileRef = 15B107A7257520DE00D06C34 /* PEPLanguage.h */; settings = {ATTRIBUTES = (Public, ); }; };
1552D92925765EDC00A92F71 /* PEPSessionProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 15B109E525754F8100D06C34 /* PEPSessionProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -35,7 +37,6 @@
1552D9502576607900A92F71 /* PEPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 434707F424C210CA00E05485 /* PEPSession.h */; settings = {ATTRIBUTES = (Public, ); }; };
1552D9512576607900A92F71 /* PEPConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 435C0CAB222930340025C6B5 /* PEPConstants.m */; };
1552D9522576607900A92F71 /* PEPObjCAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 43209B2F1ECC2ACD007E7E2E /* PEPObjCAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
1552D95D257660A800A92F71 /* libPEPObjCAdapterTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 150E8FB225755B6900AE2198 /* libPEPObjCAdapterTypes_macOS.a */; };
1552D963257660C900A92F71 /* NSString+NormalizePassphrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 4349CD6D24AC73FC00A22A13 /* NSString+NormalizePassphrase.h */; };
1552D964257660C900A92F71 /* PEPQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 43209B311ECC2ACD007E7E2E /* PEPQueue.h */; };
1552D965257660C900A92F71 /* NSArray+Take.m in Sources */ = {isa = PBXBuildFile; fileRef = 43209B271ECC2ACD007E7E2E /* NSArray+Take.m */; };
@ -386,7 +387,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1552D95D257660A800A92F71 /* libPEPObjCAdapterTypes_macOS.a in Frameworks */,
1543D9E02577EF260041EFB5 /* libpEpEngine_macOS.a in Frameworks */,
1543DA892577FE230041EFB5 /* libPEPObjCAdapterTypes_macOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1174,6 +1176,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_LIBTOOLFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
@ -1196,6 +1199,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_FAST_MATH = YES;
OTHER_LIBTOOLFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
@ -1222,7 +1226,7 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "${PROJECT_DIR}/../../src_pEp4ThunderbirdMacInstaller/pep4thunderbird_macos_installer_buildscript/local/lib/libpEpEngine.a ${PROJECT_DIR}/../../src_pEp4ThunderbirdMacInstaller/pep4thunderbird_macos_installer_buildscript/local/lib/libasn1.a";
OTHER_LIBTOOLFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
@ -1246,7 +1250,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "${PROJECT_DIR}/../../src_pEp4ThunderbirdMacInstaller/pep4thunderbird_macos_installer_buildscript/local/lib/libpEpEngine.a ${PROJECT_DIR}/../../src_pEp4ThunderbirdMacInstaller/pep4thunderbird_macos_installer_buildscript/local/lib/libasn1.a";
OTHER_LIBTOOLFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
@ -1346,8 +1350,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../Sequoia4iOS/build/include",
"$(PROJECT_DIR)/../pEpEngine/src",
"$(PROJECT_DIR)/../local/include/**",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/../Sequoia4iOS/build/lib";
@ -1400,8 +1404,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../Sequoia4iOS/build/include",
"$(PROJECT_DIR)/../pEpEngine/src",
"$(PROJECT_DIR)/../local/include/**",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/../Sequoia4iOS/build/lib";


Loading…
Cancel
Save