The recommended editor for working with the native C code is Xcode. Even for non-Apple targets.
This works thanks to crossclang, also see Cross-compiling junixsocket.
In order to develop with Xcode, using crossclang, you need to install a custom Xcode SDK.
Run the following script from the Terminal, which creates a symbolic link under
~/Library/Developer/Toolchains
to the crossclang.sdk
, which essentially tells Xcode to use
our "crossclang" clang wrapper script instead of its built-in version, among other things.
./junixsocket-native/crossclang/Xcode-Support/install
You then need to:
- Restart Xcode
- Set the Toolchain to "crossclang" (via Xcode -> Toolchains..., or via a button in the launch window)
- Open junixsocket-native.xcodeproj
- Run "Clean Build Folder"
- Run "Build"
Note that you need to switch back to the default Xcode Toolchain when you develop other projects.
AFter installing the "crossclang" Toolchain, you can also build from the command-line. In this case, you don't have to switch the Toolchain via Xcode:
xcodebuild -project junixsocket-native/junixsocket-native.xcodeproj -configuration Release \
-target "All Architectures" -toolchain crossclang USE_HEADERMAP=NO \
CURRENT_ARCH=undefined_arch arch=undefined_arch ARCHS=arm64 CODE_SIGNING_ALLOWED=NO \
clean build