@@ -7,13 +7,14 @@ OSX_SDKROOT=$(xcrun --sdk macosx --show-sdk-path)
7
7
IOS_SDKROOT=$( xcrun --sdk iphoneos --show-sdk-path)
8
8
SIM_SDKROOT=$( xcrun --sdk iphonesimulator --show-sdk-path)
9
9
10
+ FRAMEWORKS=$PWD /Frameworks
10
11
echo " Building for iOS:"
11
12
rm Frameworks
12
13
ln -s Frameworks_iOS Frameworks
13
14
14
15
make distclean
15
16
# 1) configure
16
- ./configure vim_cv_toupper_broken=no vim_cv_terminfo=no vim_cv_tgetent=zero vim_cv_memmove_handles_overlap=no vim_cv_memcpy_handles_overlap=no vim_cv_bcopy_handles_overlap=no vim_cv_tty_group=world vim_cv_stat_ignores_slash=yes vim_cv_getcwd_broken=no LUA_PREFIX=${PWD} vi_cv_path_plain_lua=/usr/bin/lua vi_cv_version_plain_lua=5.3.4 --with-tlib=ncurses --with-features=big --enable-terminal --enable-luainterp --enable-python3interp --with-python3-command=python3 CC=clang CXX=clang++ CFLAGS=" -DEXITFREE -arch arm64 -g2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT -fembed-bitcode" CPPFLAGS=" -DEXITFREE -arch arm64 -g2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT " CXXFLAGS=" -DEXITFREE -arch arm64 -g2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT -fembed-bitcode" LDFLAGS=" -shared -arch arm64 -g2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT " --build=x86_64-apple-darwin --host=armv7-apple-darwin
17
+ ./configure vim_cv_toupper_broken=no vim_cv_terminfo=no vim_cv_tgetent=zero vim_cv_memmove_handles_overlap=no vim_cv_memcpy_handles_overlap=no vim_cv_bcopy_handles_overlap=no vim_cv_tty_group=world vim_cv_stat_ignores_slash=yes vim_cv_getcwd_broken=no LUA_PREFIX=${PWD} vi_cv_path_plain_lua=/usr/bin/lua vi_cv_version_plain_lua=5.3.4 --with-tlib=ncurses --with-features=big --enable-terminal --enable-luainterp --enable-python3interp --with-python3-command=python3 CC=clang CXX=clang++ CFLAGS=" -DEXITFREE -arch arm64 -O2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT -fembed-bitcode" CPPFLAGS=" -DEXITFREE -arch arm64 -O2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT " CXXFLAGS=" -DEXITFREE -arch arm64 -O2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT -fembed-bitcode" LDFLAGS=" -shared -arch arm64 -O2 -miphoneos-version-min=14.0 -isysroot $IOS_SDKROOT -F $FRAMEWORKS -framework ios_system " --build=x86_64-apple-darwin --host=armv7-apple-darwin
17
18
18
19
# 2) make. This creates ./src/vim, a Mach-O 64-bit dynamically linked shared library for arm64.
19
20
make
@@ -33,12 +34,28 @@ signature=${framework//_/-}
33
34
plutil -replace CFBundleIdentifier -string Nicolas-Holzschuch.$signature Frameworks/$framework .framework/Info.plist
34
35
install_name_tool -id @rpath/$framework .framework/$framework Frameworks/$framework .framework/$framework
35
36
37
+ echo " Creating: Frameworks/xxd.framework"
38
+ framework=xxd
39
+ libraryFile=src/xxd/xxd
40
+ rm -rf Frameworks/$framework .framework
41
+ mkdir -p Frameworks/$framework .framework
42
+ cp $libraryFile Frameworks/$framework .framework/$framework
43
+ cp basic_Info.plist Frameworks/$framework .framework/Info.plist
44
+ plutil -replace CFBundleExecutable -string $framework Frameworks/$framework .framework/Info.plist
45
+ plutil -replace CFBundleName -string $framework Frameworks/$framework .framework/Info.plist
46
+ # underscore is not allowed in CFBundleIdentifier:
47
+ signature=${framework// _/ -}
48
+ plutil -replace CFBundleIdentifier -string Nicolas-Holzschuch.$signature Frameworks/$framework .framework/Info.plist
49
+ install_name_tool -id @rpath/$framework .framework/$framework Frameworks/$framework .framework/$framework
50
+
51
+
52
+
36
53
echo " Building for Simulator:"
37
54
rm Frameworks
38
55
ln -s Frameworks_Simulator Frameworks
39
56
40
57
make distclean
41
- ./configure vim_cv_toupper_broken=no vim_cv_terminfo=no vim_cv_tgetent=zero vim_cv_memmove_handles_overlap=no vim_cv_memcpy_handles_overlap=no vim_cv_bcopy_handles_overlap=no vim_cv_tty_group=world vim_cv_stat_ignores_slash=yes vim_cv_getcwd_broken=no --with-tlib=ncurses --with-features=big --enable-terminal CC=clang CXX=clang++ CFLAGS=" -DEXITFREE -g2 -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT -fembed-bitcode" CPPFLAGS=" -DEXITFREE -g2 -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT " CXXFLAGS=" -DEXITFREE -g2 -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT -fembed-bitcode" LDFLAGS=" -g2 -shared -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT -fembed-bitcode" --build=x86_64-apple-darwin --host=armv7-apple-darwin
58
+ ./configure vim_cv_toupper_broken=no vim_cv_terminfo=no vim_cv_tgetent=zero vim_cv_memmove_handles_overlap=no vim_cv_memcpy_handles_overlap=no vim_cv_bcopy_handles_overlap=no vim_cv_tty_group=world vim_cv_stat_ignores_slash=yes vim_cv_getcwd_broken=no --with-tlib=ncurses --with-features=big --enable-terminal CC=clang CXX=clang++ CFLAGS=" -DEXITFREE -O2 -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT -fembed-bitcode" CPPFLAGS=" -DEXITFREE -O2 -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT " CXXFLAGS=" -DEXITFREE -O2 -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT -fembed-bitcode" LDFLAGS=" -O2 -shared -mios-simulator-version-min=14.0 -isysroot $SIM_SDKROOT -fembed-bitcode -F $FRAMEWORKS -framework ios_system " --build=x86_64-apple-darwin --host=armv7-apple-darwin
42
59
43
60
# 2) make. This creates ./src/vim, a Mach-O 64-bit dynamically linked shared library for arm64.
44
61
make
@@ -58,11 +75,25 @@ signature=${framework//_/-}
58
75
plutil -replace CFBundleIdentifier -string Nicolas-Holzschuch.$signature Frameworks/$framework .framework/Info.plist
59
76
install_name_tool -id @rpath/$framework .framework/$framework Frameworks/$framework .framework/$framework
60
77
78
+ echo " Creating: Frameworks/xxd.framework"
79
+ framework=xxd
80
+ libraryFile=src/xxd/xxd
81
+ rm -rf Frameworks/$framework .framework
82
+ mkdir -p Frameworks/$framework .framework
83
+ cp $libraryFile Frameworks/$framework .framework/$framework
84
+ cp basic_Info_Simulator.plist Frameworks/$framework .framework/Info.plist
85
+ plutil -replace CFBundleExecutable -string $framework Frameworks/$framework .framework/Info.plist
86
+ plutil -replace CFBundleName -string $framework Frameworks/$framework .framework/Info.plist
87
+ # underscore is not allowed in CFBundleIdentifier:
88
+ signature=${framework// _/ -}
89
+ plutil -replace CFBundleIdentifier -string Nicolas-Holzschuch.$signature Frameworks/$framework .framework/Info.plist
90
+ install_name_tool -id @rpath/$framework .framework/$framework Frameworks/$framework .framework/$framework
91
+
61
92
# 6)
62
93
echo " Merging into xcframeworks:"
63
94
rm Frameworks
64
95
65
- for framework in vim
96
+ for framework in vim xxd
66
97
do
67
98
rm -rf $framework .xcframework
68
99
xcodebuild -create-xcframework -framework Frameworks_iOS/$framework .framework -framework Frameworks_Simulator/$framework .framework -output $framework .xcframework
0 commit comments