forked from smbkr/libspatialite-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmake-framework.sh
More file actions
executable file
·33 lines (26 loc) · 1.16 KB
/
Copy pathmake-framework.sh
File metadata and controls
executable file
·33 lines (26 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
set -e
# Paths
UNIVERSAL_LIB="lib/libspatialiteall.a"
HEADERS_DIR="include"
THIN_LIB_DIR="thin_libs"
XCFRAMEWORK_OUTPUT="libspatialite.xcframework"
rm -rf "$THIN_LIB_DIR" "$XCFRAMEWORK_OUTPUT"
mkdir -p "$THIN_LIB_DIR"
# Extract slices
for ARCH in armv7 arm64 i386 x86_64; do
echo "Extracting ${ARCH}..."
lipo "$UNIVERSAL_LIB" -thin "$ARCH" -output "${THIN_LIB_DIR}/libspatialite_${ARCH}.a"
done
# Create fat libraries for device and simulator
echo "Creating device library (armv7 & arm64)..."
lipo -create "${THIN_LIB_DIR}/libspatialite_armv7.a" "${THIN_LIB_DIR}/libspatialite_arm64.a" -output "${THIN_LIB_DIR}/libspatialite_device.a"
echo "Creating simulator library (i386 & x86_64)..."
lipo -create "${THIN_LIB_DIR}/libspatialite_i386.a" "${THIN_LIB_DIR}/libspatialite_x86_64.a" -output "${THIN_LIB_DIR}/libspatialite_simulator.a"
# Build the xcframework
echo "Creating XCFramework..."
xcodebuild -create-xcframework \
-library "${THIN_LIB_DIR}/libspatialite_device.a" -headers "$HEADERS_DIR" \
-library "${THIN_LIB_DIR}/libspatialite_simulator.a" -headers "$HEADERS_DIR" \
-output "$XCFRAMEWORK_OUTPUT"
echo "XCFramework created at $XCFRAMEWORK_OUTPUT"