@@ -60,6 +60,9 @@ else ifneq ($(filter shared_lib install-shared, $(MAKECMDGOALS)),)
60
60
else ifneq ($(filter static_lib install-static, $(MAKECMDGOALS)),)
61
61
DEBUG_LEVEL=0
62
62
LIB_MODE=static
63
+ else ifneq ($(filter xcframework, $(MAKECMDGOALS)),)
64
+ DEBUG_LEVEL=0
65
+ LIB_MODE=static
63
66
else ifneq ($(filter jtest rocksdbjava%, $(MAKECMDGOALS)),)
64
67
OBJ_DIR=jl
65
68
LIB_MODE=shared
@@ -280,14 +283,6 @@ endif
280
283
281
284
CXXFLAGS += $(ARCHFLAG )
282
285
283
- ifeq (,$(shell $(CXX ) -fsyntax-only -march=armv8-a+crc+crypto -xc /dev/null 2>&1) )
284
- ifneq ($(PLATFORM ) ,OS_MACOSX)
285
- CXXFLAGS += -march=armv8-a+crc+crypto
286
- CFLAGS += -march=armv8-a+crc+crypto
287
- ARMCRC_SOURCE =1
288
- endif
289
- endif
290
-
291
286
export JAVAC_ARGS
292
287
CLEAN_FILES += make_config.mk rocksdb.pc
293
288
@@ -1273,8 +1268,14 @@ package:
1273
1268
# Unit tests and tools
1274
1269
# ---------------------------------------------------------------------------
1275
1270
$(STATIC_LIBRARY ) : $(LIB_OBJECTS )
1276
- $(AM_V_AR ) rm -f $@ $(SHARED1 ) $(SHARED2 ) $(SHARED3 ) $(SHARED4 )
1277
- $(AM_V_at )$(AR ) $(ARFLAGS ) $@ $(LIB_OBJECTS )
1271
+ $(AM_V_AR ) rm -f iphonesimulator-$@ $(SHARED1 ) $(SHARED2 ) $(SHARED3 ) $(SHARED4 )
1272
+ $(AM_V_at )$(AR ) $(ARFLAGS ) iphonesimulator-$@ $(addprefix ./iphonesimulator/, $(LIB_OBJECTS ) )
1273
+
1274
+ $(AM_V_AR)rm -f iphonedevice-$@ $(SHARED1) $(SHARED2) $(SHARED3) $(SHARED4)
1275
+ $(AM_V_at)$(AR) $(ARFLAGS) iphonedevice-$@ $(addprefix ./iphonedevice/, $(LIB_OBJECTS))
1276
+
1277
+ $(AM_V_AR)rm -f maccatalyst-$@ $(SHARED1) $(SHARED2) $(SHARED3) $(SHARED4)
1278
+ $(AM_V_at)$(AR) $(ARFLAGS) maccatalyst-$@ $(addprefix maccatalyst/, $(LIB_OBJECTS))
1278
1279
1279
1280
$(STATIC_TEST_LIBRARY ) : $(TEST_OBJECTS )
1280
1281
$(AM_V_AR ) rm -f $@ $(SHARED_TEST_LIBRARY )
@@ -2499,25 +2500,32 @@ build_size:
2499
2500
ifeq ($(PLATFORM ) , IOS)
2500
2501
# For iOS, create universal object files to be used on both the simulator and
2501
2502
# a device.
2502
- XCODEROOT =$(shell xcode-select -print-path)
2503
- PLATFORMSROOT =$(XCODEROOT ) /Platforms
2504
- SIMULATORROOT =$(PLATFORMSROOT ) /iPhoneSimulator.platform/Developer
2505
- DEVICEROOT =$(PLATFORMSROOT ) /iPhoneOS.platform/Developer
2506
- IOSVERSION =$(shell defaults read $(PLATFORMSROOT ) /iPhoneOS.platform/version CFBundleShortVersionString)
2503
+ SIMULATORSDK =$(shell xcrun --sdk iphonesimulator --show-sdk-path)
2504
+ IPHONESDK =$(shell xcrun --sdk iphoneos --show-sdk-path)
2505
+ MACOSSDK =$(shell xcrun --sdk macosx --show-sdk-path)
2507
2506
2508
2507
.cc.o :
2509
- mkdir -p ios-x86/$(dir $@ )
2510
- $(CXX ) $(CXXFLAGS ) -isysroot $(SIMULATORROOT ) /SDKs/iPhoneSimulator$(IOSVERSION ) .sdk -arch i686 -arch x86_64 -c $< -o ios-x86/$@
2511
- mkdir -p ios-arm/$(dir $@ )
2512
- xcrun -sdk iphoneos $(CXX ) $(CXXFLAGS ) -isysroot $(DEVICEROOT ) /SDKs/iPhoneOS$(IOSVERSION ) .sdk -arch armv6 -arch armv7 -arch armv7s -arch arm64 -c $< -o ios-arm/$@
2513
- lipo ios-x86/$@ ios-arm/$@ -create -output $@
2508
+ mkdir -p iphonesimulator/$(dir $@ )
2509
+ xcrun -sdk iphonesimulator $(CXX ) $(CXXFLAGS ) -mios-simulator-version-min=15.0 -isysroot $(SIMULATORSDK ) -arch x86_64 -arch arm64 -c $< -o iphonesimulator/$@
2510
+ mkdir -p iphonedevice/$(dir $@ )
2511
+ xcrun -sdk iphoneos $(CXX ) $(CXXFLAGS ) -miphoneos-version-min=15.0 -isysroot $(IPHONESDK ) -arch arm64 -c $< -o iphonedevice/$@
2512
+ mkdir -p maccatalyst/$(dir $@ )
2513
+ xcrun -sdk macosx $(CXX ) $(CXXFLAGS ) -isysroot $(MACOSSDK ) -arch x86_64 -arch arm64 -target x86_64-apple-ios15.0-macabi -c $< -o maccatalyst/$@
2514
2514
2515
2515
.c.o :
2516
- mkdir -p ios-x86/$(dir $@ )
2517
- $(CC ) $(CFLAGS ) -isysroot $(SIMULATORROOT ) /SDKs/iPhoneSimulator$(IOSVERSION ) .sdk -arch i686 -arch x86_64 -c $< -o ios-x86/$@
2518
- mkdir -p ios-arm/$(dir $@ )
2519
- xcrun -sdk iphoneos $(CC ) $(CFLAGS ) -isysroot $(DEVICEROOT ) /SDKs/iPhoneOS$(IOSVERSION ) .sdk -arch armv6 -arch armv7 -arch armv7s -arch arm64 -c $< -o ios-arm/$@
2520
- lipo ios-x86/$@ ios-arm/$@ -create -output $@
2516
+ mkdir -p iphonesimulator/$(dir $@ )
2517
+ xcrun -sdk iphonesimulator $(CC ) $(CFLAGS ) -mios-simulator-version-min=15.0 -isysroot $(SIMULATORSDK ) -arch x86_64 -arch arm64 -c $< -o iphonesimulator/$@
2518
+ mkdir -p iphonedevice/$(dir $@ )
2519
+ xcrun -sdk iphoneos $(CC ) $(CFLAGS ) -miphoneos-version-min=15.0 -isysroot $(IPHONESDK ) -arch arm64 -c $< -o iphonedevice/$@
2520
+ mkdir -p maccatalyst/$(dir $@ )
2521
+ xcrun -sdk macosx $(CC ) $(CFLAGS ) -isysroot $(MACOSSDK ) -arch x86_64 -arch arm64 -target x86_64-apple-ios15.0-macabi -c $< -o maccatalyst/$@
2522
+
2523
+ xcframework :
2524
+ xcodebuild -create-xcframework \
2525
+ -library iphonedevice-librocksdb.a -headers ./include \
2526
+ -library iphonesimulator-librocksdb.a -headers ./include \
2527
+ -library maccatalyst-librocksdb.a -headers ./include \
2528
+ -output RocksDB.xcframework
2521
2529
2522
2530
else
2523
2531
ifeq ($(HAVE_POWER8 ) ,1)
0 commit comments