@@ -30,10 +30,12 @@ * [Amiga](#amiga) * [Writing your first application with ObjFW](#first-app) * [Documentation](#documentation) * [Bugs and feature requests](#bugs) * [Support and community](#support) + * [Donating](#donating) + * [Thanks](#thanks) * [Commercial use](#commercial-use)

What is ObjFW?

@@ -122,10 +124,16 @@ In order to verify the signature of the currently checked out checkin, you can use: $ fossil artifact current | gpg --verify + Please note that not all checkins are signed, as the signing key only resides + on trusted systems. This means that checkins I perform on e.g. Windows are + unsigned. However, usually it should not take long until there is another + signed checkin. Alternatively, you can go back until the last signed checkin + and review changes from there on. +

Git

To clone the Git repository, use the following: $ git clone https://github.com/ObjFW/ObjFW @@ -137,11 +145,12 @@ To install ObjFW, just run the following commands: $ ./configure $ make - $ make install + $ make check + $ sudo make install In case you checked out ObjFW from the Fossil or Git repository, you need to run the following command first: $ ./autogen.sh @@ -149,27 +158,33 @@

macOS and iOS

Building as a framework

When building for macOS or iOS, everything is built as a `.framework` by - default if `--disable-shared` has not been specified to `configure`. + default if `--disable-shared` has not been specified to `./configure`. The + frameworks will end up in `$PREFIX/Library/Frameworks`. - To build for iOS, use something like this: + To build for macOS, just follow the + regular instructions above. + + To build for iOS, follow the regular instructions, but instead of + `./configure` do something like this: $ clang="clang -isysroot $(xcrun --sdk iphoneos --show-sdk-path)" $ export OBJC="$clang -arch armv7 -arch arm64" $ export OBJCPP="$clang -arch armv7 -E" $ export IPHONEOS_DEPLOYMENT_TARGET="9.0" $ ./configure --prefix=/usr/local/ios --host=arm64-apple-darwin - To build for the iOS simulator, use something like this: + To build for the iOS simulator, follow the regular instructions, but instead + of `./configure` use something like this: $ clang="clang -isysroot $(xcrun --sdk iphonesimulator --show-sdk-path)" - $ export OBJC="$clang -arch i386 -arch x86_64" - $ export OBJCPP="$clang -arch i386 -E" + $ export OBJC="$clang -arch arm64 -arch x86_64" + $ export OBJCPP="$clang -arch arm64 -E" $ export IPHONEOS_DEPLOYMENT_TARGET="9.0" - $ ./configure --prefix=/usr/local/iossim --host=x86_64-apple-darwin + $ ./configure --prefix=/usr/local/iossim --host=arm64-apple-darwin

Using the macOS or iOS framework in Xcode

To use the macOS framework in Xcode, you need to add the `.framework`s to your project and add the following flags to `Other C Flags`: @@ -354,12 +369,27 @@ * A [Gitter room](https://gitter.im/ObjFW/ObjFW), bridged to the Matrix room above Please don't hesitate to join any or all of those! + +

Donating

+ + If you want to donate to ObjFW, you can read about possible ways to do so + [here](https://objfw.nil.im/wiki?name=Donating). + + +

Thanks

+ + * Thank you to [Jonathan Neuschäfer](https://github.com/neuschaefer) for + reviewing the *entirety* (all 84k LoC at the time) of ObjFW's codebase in + 2017! + * Thank you to [Hill Ma](https://github.com/mahiuchun) for donating an M1 Mac + Mini to the project! +

Commercial use

If for whatever reason neither the terms of the QPL nor those of the GPL work for you, a proprietary license for ObjFW including support is available upon request. Just write a mail to js@nil.im and we can find a reasonable solution for both parties.