Skip to content

Commit 70aa8fe

Browse files
committed
Make build_xcode_frameworks.sh rely on C_BINDINGS_BASE for the header search paths.
1 parent 5284bfb commit 70aa8fe

File tree

2 files changed

+54
-29
lines changed

2 files changed

+54
-29
lines changed

xcode/LDKFramework/LDKFramework.xcodeproj/project.pbxproj

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@
1212
07344C65264277ED001CD90E /* LDKFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 07344C57264277ED001CD90E /* LDKFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
1313
07344C8726427F95001CD90E /* LDKExampleClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07344C8626427F95001CD90E /* LDKExampleClass.swift */; };
1414
07344C8826427F95001CD90E /* LDKExampleClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07344C8626427F95001CD90E /* LDKExampleClass.swift */; };
15-
0767D03A2698BB9800BEB4CC /* ldk_net.h in Headers */ = {isa = PBXBuildFile; fileRef = 0767D0352698BB9700BEB4CC /* ldk_net.h */; settings = {ATTRIBUTES = (Public, ); }; };
16-
0767D03B2698BB9800BEB4CC /* lightning.h in Headers */ = {isa = PBXBuildFile; fileRef = 0767D0362698BB9700BEB4CC /* lightning.h */; settings = {ATTRIBUTES = (Public, ); }; };
17-
0767D03C2698BB9800BEB4CC /* ldk_rust_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 0767D0372698BB9700BEB4CC /* ldk_rust_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
18-
0767D03D2698BB9800BEB4CC /* ldk_ver.h in Headers */ = {isa = PBXBuildFile; fileRef = 0767D0382698BB9700BEB4CC /* ldk_ver.h */; settings = {ATTRIBUTES = (Public, ); }; };
19-
0767D03E2698BB9800BEB4CC /* ldk_net.c in Sources */ = {isa = PBXBuildFile; fileRef = 0767D0392698BB9800BEB4CC /* ldk_net.c */; };
20-
0767D03F2698BB9800BEB4CC /* ldk_net.c in Sources */ = {isa = PBXBuildFile; fileRef = 0767D0392698BB9800BEB4CC /* ldk_net.c */; };
2115
07D3E668286C0B700095CCD8 /* PaymentSendFailure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E50C286C0B6F0095CCD8 /* PaymentSendFailure.swift */; };
2216
07D3E669286C0B700095CCD8 /* Option_u64Z.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E50D286C0B6F0095CCD8 /* Option_u64Z.swift */; };
2317
07D3E66A286C0B700095CCD8 /* Fallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E50E286C0B6F0095CCD8 /* Fallback.swift */; };
@@ -367,6 +361,11 @@
367361
07D3E7CE286C21AA0095CCD8 /* ChannelManagerConstructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E7C9286C21AA0095CCD8 /* ChannelManagerConstructor.swift */; };
368362
07D3E7CF286C21AA0095CCD8 /* UtilMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E7CA286C21AA0095CCD8 /* UtilMethods.swift */; };
369363
07D3E7D0286C21AA0095CCD8 /* UtilMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E7CA286C21AA0095CCD8 /* UtilMethods.swift */; };
364+
07D3E7D6286C9E540095CCD8 /* ldk_ver.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D3E7D2286C9E540095CCD8 /* ldk_ver.h */; settings = {ATTRIBUTES = (Public, ); }; };
365+
07D3E7D7286C9E540095CCD8 /* lightning.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D3E7D3286C9E540095CCD8 /* lightning.h */; settings = {ATTRIBUTES = (Public, ); }; };
366+
07D3E7D8286C9E540095CCD8 /* ldk_rust_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D3E7D4286C9E540095CCD8 /* ldk_rust_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
367+
07D3E7DC286C9E820095CCD8 /* ldk_net.c in Sources */ = {isa = PBXBuildFile; fileRef = 07D3E7DA286C9E820095CCD8 /* ldk_net.c */; };
368+
07D3E7DD286C9E820095CCD8 /* ldk_net.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D3E7DB286C9E820095CCD8 /* ldk_net.h */; settings = {ATTRIBUTES = (Public, ); }; };
370369
/* End PBXBuildFile section */
371370

372371
/* Begin PBXContainerItemProxy section */
@@ -389,11 +388,6 @@
389388
07344C8626427F95001CD90E /* LDKExampleClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LDKExampleClass.swift; sourceTree = "<group>"; };
390389
07344FCD26428DD2001CD90E /* LDKFramework.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = LDKFramework.modulemap; sourceTree = "<group>"; };
391390
0767D0322698BB9600BEB4CC /* LDKFrameworkTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LDKFrameworkTests-Bridging-Header.h"; sourceTree = "<group>"; };
392-
0767D0352698BB9700BEB4CC /* ldk_net.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ldk_net.h; sourceTree = SOURCE_ROOT; };
393-
0767D0362698BB9700BEB4CC /* lightning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lightning.h; sourceTree = SOURCE_ROOT; };
394-
0767D0372698BB9700BEB4CC /* ldk_rust_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ldk_rust_types.h; sourceTree = SOURCE_ROOT; };
395-
0767D0382698BB9700BEB4CC /* ldk_ver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ldk_ver.h; sourceTree = SOURCE_ROOT; };
396-
0767D0392698BB9800BEB4CC /* ldk_net.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ldk_net.c; sourceTree = SOURCE_ROOT; };
397391
0767DB2F26A0964800BEB4CC /* LDKFramework copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "LDKFramework copy-Info.plist"; path = "/Users/arik/Developer/ldk-swift-generator/xcode/LDKFramework/LDKFramework copy-Info.plist"; sourceTree = "<absolute>"; };
398392
07D3E50C286C0B6F0095CCD8 /* PaymentSendFailure.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSendFailure.swift; sourceTree = "<group>"; };
399393
07D3E50D286C0B6F0095CCD8 /* Option_u64Z.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Option_u64Z.swift; sourceTree = "<group>"; };
@@ -742,6 +736,11 @@
742736
07D3E7C5286C142F0095CCD8 /* libldk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libldk.a; sourceTree = "<group>"; };
743737
07D3E7C9286C21AA0095CCD8 /* ChannelManagerConstructor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelManagerConstructor.swift; sourceTree = "<group>"; };
744738
07D3E7CA286C21AA0095CCD8 /* UtilMethods.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UtilMethods.swift; sourceTree = "<group>"; };
739+
07D3E7D2286C9E540095CCD8 /* ldk_ver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ldk_ver.h; path = "../../../../ldk-c-bindings/lightning-c-bindings/include/ldk_ver.h"; sourceTree = "<group>"; };
740+
07D3E7D3286C9E540095CCD8 /* lightning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lightning.h; path = "../../../../ldk-c-bindings/lightning-c-bindings/include/lightning.h"; sourceTree = "<group>"; };
741+
07D3E7D4286C9E540095CCD8 /* ldk_rust_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ldk_rust_types.h; path = "../../../../ldk-c-bindings/lightning-c-bindings/include/ldk_rust_types.h"; sourceTree = "<group>"; };
742+
07D3E7DA286C9E820095CCD8 /* ldk_net.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ldk_net.c; path = "../../../../ldk-c-bindings/ldk-net/ldk_net.c"; sourceTree = "<group>"; };
743+
07D3E7DB286C9E820095CCD8 /* ldk_net.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ldk_net.h; path = "../../../../ldk-c-bindings/ldk-net/ldk_net.h"; sourceTree = "<group>"; };
745744
/* End PBXFileReference section */
746745

747746
/* Begin PBXFrameworksBuildPhase section */
@@ -818,11 +817,11 @@
818817
0767D0312698BB8800BEB4CC /* headers */ = {
819818
isa = PBXGroup;
820819
children = (
821-
0767D0392698BB9800BEB4CC /* ldk_net.c */,
822-
0767D0352698BB9700BEB4CC /* ldk_net.h */,
823-
0767D0372698BB9700BEB4CC /* ldk_rust_types.h */,
824-
0767D0382698BB9700BEB4CC /* ldk_ver.h */,
825-
0767D0362698BB9700BEB4CC /* lightning.h */,
820+
07D3E7D4286C9E540095CCD8 /* ldk_rust_types.h */,
821+
07D3E7D2286C9E540095CCD8 /* ldk_ver.h */,
822+
07D3E7D3286C9E540095CCD8 /* lightning.h */,
823+
07D3E7DA286C9E820095CCD8 /* ldk_net.c */,
824+
07D3E7DB286C9E820095CCD8 /* ldk_net.h */,
826825
0767D0322698BB9600BEB4CC /* LDKFrameworkTests-Bridging-Header.h */,
827826
);
828827
name = headers;
@@ -1237,11 +1236,11 @@
12371236
isa = PBXHeadersBuildPhase;
12381237
buildActionMask = 2147483647;
12391238
files = (
1240-
0767D03B2698BB9800BEB4CC /* lightning.h in Headers */,
1241-
0767D03A2698BB9800BEB4CC /* ldk_net.h in Headers */,
1242-
0767D03C2698BB9800BEB4CC /* ldk_rust_types.h in Headers */,
1239+
07D3E7D7286C9E540095CCD8 /* lightning.h in Headers */,
1240+
07D3E7D6286C9E540095CCD8 /* ldk_ver.h in Headers */,
1241+
07D3E7DD286C9E820095CCD8 /* ldk_net.h in Headers */,
1242+
07D3E7D8286C9E540095CCD8 /* ldk_rust_types.h in Headers */,
12431243
07344C65264277ED001CD90E /* LDKFramework.h in Headers */,
1244-
0767D03D2698BB9800BEB4CC /* ldk_ver.h in Headers */,
12451244
);
12461245
runOnlyForDeploymentPostprocessing = 0;
12471246
};
@@ -1295,7 +1294,7 @@
12951294
TargetAttributes = {
12961295
07344C53264277EC001CD90E = {
12971296
CreatedOnToolsVersion = 12.3;
1298-
LastSwiftMigration = 1230;
1297+
LastSwiftMigration = 1340;
12991298
};
13001299
07344C5C264277ED001CD90E = {
13011300
CreatedOnToolsVersion = 12.3;
@@ -1359,7 +1358,6 @@
13591358
07D3E75C286C0B710095CCD8 /* BestBlock.swift in Sources */,
13601359
07D3E66E286C0B700095CCD8 /* Option_TypeZ.swift in Sources */,
13611360
07D3E707286C0B700095CCD8 /* Result_NodeIdDecodeErrorZ.swift in Sources */,
1362-
0767D03E2698BB9800BEB4CC /* ldk_net.c in Sources */,
13631361
07D3E788286C0B710095CCD8 /* PrivateRoute.swift in Sources */,
13641362
07D3E795286C0B710095CCD8 /* ChannelDetails.swift in Sources */,
13651363
07D3E682286C0B700095CCD8 /* SignOrCreationError.swift in Sources */,
@@ -1488,6 +1486,7 @@
14881486
07D3E714286C0B710095CCD8 /* Result_u32GraphSyncErrorZ.swift in Sources */,
14891487
07D3E6C1286C0B700095CCD8 /* Result_C2Tuple_PaymentHashPaymentIdZPaymentSendFailureZ.swift in Sources */,
14901488
07D3E6D5286C0B700095CCD8 /* Result_PaymentSecretAPIErrorZ.swift in Sources */,
1489+
07D3E7DC286C9E820095CCD8 /* ldk_net.c in Sources */,
14911490
07D3E767286C0B710095CCD8 /* FundingCreated.swift in Sources */,
14921491
07D3E73D286C0B710095CCD8 /* Result_ClosingSignedDecodeErrorZ.swift in Sources */,
14931492
07D3E6AD286C0B700095CCD8 /* C2Tuple_TxidCVec_C2Tuple_u32ScriptZZZ.swift in Sources */,
@@ -1702,7 +1701,6 @@
17021701
07D3E7D0286C21AA0095CCD8 /* UtilMethods.swift in Sources */,
17031702
07344C63264277ED001CD90E /* LDKFrameworkTests.swift in Sources */,
17041703
07344C8826427F95001CD90E /* LDKExampleClass.swift in Sources */,
1705-
0767D03F2698BB9800BEB4CC /* ldk_net.c in Sources */,
17061704
07D3E7CE286C21AA0095CCD8 /* ChannelManagerConstructor.swift in Sources */,
17071705
);
17081706
runOnlyForDeploymentPostprocessing = 0;
@@ -1855,7 +1853,10 @@
18551853
DYLIB_CURRENT_VERSION = 1;
18561854
DYLIB_INSTALL_NAME_BASE = "@rpath";
18571855
EXCLUDED_ARCHS = "";
1858-
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)";
1856+
HEADER_SEARCH_PATHS = (
1857+
"${LDK_C_BINDINGS_BASE}/lightning-c-bindings/include",
1858+
"${LDK_C_BINDINGS_BASE}/ldk-net",
1859+
);
18591860
INFOPLIST_FILE = LDKFramework/Info.plist;
18601861
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
18611862
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
@@ -1891,7 +1892,10 @@
18911892
DYLIB_INSTALL_NAME_BASE = "@rpath";
18921893
EXCLUDED_ARCHS = "";
18931894
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
1894-
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)";
1895+
HEADER_SEARCH_PATHS = (
1896+
"${LDK_C_BINDINGS_BASE}/lightning-c-bindings/include",
1897+
"${LDK_C_BINDINGS_BASE}/ldk-net",
1898+
);
18951899
INFOPLIST_FILE = LDKFramework/Info.plist;
18961900
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
18971901
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
@@ -1918,7 +1922,10 @@
19181922
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
19191923
CLANG_ENABLE_MODULES = YES;
19201924
CODE_SIGN_STYLE = Automatic;
1921-
HEADER_SEARCH_PATHS = "";
1925+
HEADER_SEARCH_PATHS = (
1926+
"${LDK_C_BINDINGS_BASE}/lightning-c-bindings/include",
1927+
"${LDK_C_BINDINGS_BASE}/ldk-net",
1928+
);
19221929
INFOPLIST_FILE = LDKFrameworkTests/Info.plist;
19231930
LD_RUNPATH_SEARCH_PATHS = (
19241931
"$(inherited)",
@@ -1943,7 +1950,10 @@
19431950
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
19441951
CLANG_ENABLE_MODULES = YES;
19451952
CODE_SIGN_STYLE = Automatic;
1946-
HEADER_SEARCH_PATHS = "";
1953+
HEADER_SEARCH_PATHS = (
1954+
"${LDK_C_BINDINGS_BASE}/lightning-c-bindings/include",
1955+
"${LDK_C_BINDINGS_BASE}/ldk-net",
1956+
);
19471957
INFOPLIST_FILE = LDKFrameworkTests/Info.plist;
19481958
LD_RUNPATH_SEARCH_PATHS = (
19491959
"$(inherited)",

xcode/build_xcode_frameworks.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ BASEDIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
77
BUILD_PRODUCTS_DIR="${BASEDIR}/../bindings/bin" # directory to copy the shared library and headers into
88
BUILD_LOG_PATH="${BASEDIR}/build_xcode_frameworks.log"
99

10+
LDK_DIRECTORY=$1 # directory to compile the C bindings in
11+
12+
usage() {
13+
echo "USAGE: path/to/ldk-c-bindings"
14+
exit 1
15+
}
16+
17+
[ "${LDK_DIRECTORY}" = "" ] && echo "Usage: ./build_xcode_frameworks.sh /path/to/ldk-c-bindings" && exit 1;
18+
[ ! -d "${LDK_DIRECTORY}" ] && echo "Provided directory does not exist" && exit 1;
19+
1020
# initialize the build log
1121
echo -n "" > $BUILD_LOG_PATH
1222

@@ -47,13 +57,18 @@ do
4757
find "${CURRENT_ARCHIVE_DIRECTORY}" -mindepth 1 -delete
4858
find "${CURRENT_DERIVED_DATA_DIRECTORY}" -mindepth 1 -delete
4959

50-
LDK_C_BINDINGS_BINARY_DIRECTORY="${CURRENT_LIPO_DIRECTORY_PATH}" xcodebuild archive -verbose -project "${BASEDIR}/LDKFramework/LDKFramework.xcodeproj" -scheme LDKFramework -destination "generic/platform=${CURRENT_DESTINATION_NAME}" -derivedDataPath "${CURRENT_DERIVED_DATA_DIRECTORY}" -archivePath "${CURRENT_ARCHIVE_PATH}" ENABLE_BITCODE=NO EXCLUDED_ARCHS="i386 armv7" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
60+
LDK_C_BINDINGS_BASE="${LDK_DIRECTORY}" LDK_C_BINDINGS_BINARY_DIRECTORY="${CURRENT_LIPO_DIRECTORY_PATH}" xcodebuild archive -verbose -project "${BASEDIR}/LDKFramework/LDKFramework.xcodeproj" -scheme LDKFramework -destination "generic/platform=${CURRENT_DESTINATION_NAME}" -derivedDataPath "${CURRENT_DERIVED_DATA_DIRECTORY}" -archivePath "${CURRENT_ARCHIVE_PATH}" ENABLE_BITCODE=NO EXCLUDED_ARCHS="i386 armv7" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
5161

5262
XCFRAMEWORK_INPUT_FLAGS="${XCFRAMEWORK_INPUT_FLAGS}-framework ${CURRENT_ARCHIVE_PATH}.xcarchive/Products/Library/Frameworks/LDKFramework.framework "
5363
echo "Current xcframework flags: ${XCFRAMEWORK_INPUT_FLAGS}" >> $BUILD_LOG_PATH
5464
echo "" >> $BUILD_LOG_PATH
5565
done
5666

57-
XCODEBUILD_COMMAND="xcodebuild -create-xcframework ${XCFRAMEWORK_INPUT_FLAGS} -output ${BUILD_PRODUCTS_DIR}/LDKFramework.xcframework"
67+
XCFRAMEWORK_OUTPUT_PATH="${BUILD_PRODUCTS_DIR}/${RUST_CONFIGURATION}/LDKFramework.xcframework"
68+
echo "Xcframework output path: ${XCFRAMEWORK_OUTPUT_PATH}" >> $BUILD_LOG_PATH
69+
70+
rm -f "${XCFRAMEWORK_OUTPUT_PATH}"
71+
72+
XCODEBUILD_COMMAND="xcodebuild -create-xcframework ${XCFRAMEWORK_INPUT_FLAGS} -output ${XCFRAMEWORK_OUTPUT_PATH}"
5873
echo "Xcode build command: ${XCODEBUILD_COMMAND}" >> $BUILD_LOG_PATH
5974
eval "${XCODEBUILD_COMMAND}"

0 commit comments

Comments
 (0)