Index: README.md
==================================================================
--- README.md
+++ README.md
@@ -5,35 +5,33 @@
want to be portable.
See https://objfw.nil.im/ for more information.
-Table of Contents
-=================
+
Table of Contents
* [Installation](#installation)
* [macOS and iOS](#macos-and-ios)
- * [Building as a framework](#building-as-a-framework)
- * [Using the macOS or iOS framework in Xcode](#using-the-macos-or-ios-framework-in-xcode)
+ * [Building as a framework](#building-framework)
+ * [Using the macOS or iOS framework in Xcode](#framework-in-xcode)
* [Broken Xcode versions](#broken-xcode-versions)
* [Windows](#windows)
* [Getting MSYS2](#getting-msys2)
* [Updating MSYS2](#updating-msys2)
- * [Installing MinGW-w64 using MSYS2](#installing-mingw-w64-using-msys2)
- * [Getting, building and installing ObjFW](#getting-building-and-installing-objfw)
- * [Nintendo DS, Nintendo 3DS and Wii](#nintendo-ds-nintendo-3ds-and-wii)
+ * [Installing MinGW-w64 using MSYS2](#installing-mingw-w64)
+ * [Getting, building and installing ObjFW](#steps-windows)
+ * [Nintendo DS, Nintendo 3DS and Wii](#nintendo)
* [Nintendo DS](#nintendo-ds)
* [Nintendo 3DS](#nintendo-3ds)
* [Wii](#wii)
* [Amiga](#amiga)
- * [Writing your first application with ObjFW](#writing-your-first-application-with-objfw)
- * [Bugs and feature requests](#bugs-and-feature-requests)
+ * [Writing your first application with ObjFW](#first-app)
+ * [Bugs and feature requests](#bugs)
* [Commercial use](#commercial-use)
-Installation
-============
+Installation
To install ObjFW, just run the following commands:
$ ./configure
$ make
@@ -42,14 +40,13 @@
In case you checked out ObjFW from the Git repository, you need to run the
following command first:
$ ./autogen.sh
-macOS and iOS
--------------
+macOS and iOS
-### Building as a framework
+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`.
To build for iOS, use something like this:
@@ -66,18 +63,18 @@
$ export OBJC="$clang -arch i386 -arch x86_64"
$ export OBJCPP="$clang -arch i386 -E"
$ export IPHONEOS_DEPLOYMENT_TARGET="9.0"
$ ./configure --prefix=/usr/local/iossim --host=i386-apple-darwin
-### Using the macOS or iOS framework in Xcode
+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`:
-fconstant-string-class=OFConstantString -fno-constant-cfstrings
-### Broken Xcode versions
+Broken Xcode versions
Some versions of Xcode shipped with a version of Clang that ignores
`-fconstant-string-class=OFConstantString`. This will manifest in an error
like this:
@@ -96,30 +93,30 @@
You can get older versions of Xcode
[here](https://developer.apple.com/download) by clicking on "More" in the
top-right corner.
-Windows
--------
+Windows
Windows is only officially supported when following these instructions, as
there are many MinGW versions that behave slightly differently and often
cause problems.
-### Getting MSYS2
+Getting MSYS2
The first thing to install is [MSYS2](https://www.msys2.org) to provide a
basic UNIX-like environment for Windows. Unfortunately, the binaries are not
signed and there is no way to verify their integrity, so only download this
from a trusted connection. Everything else you will download using MSYS2
later will be cryptographically signed.
-### Updating MSYS2
+Updating MSYS2
The first thing to do is updating MSYS2. It is important to update things in
a certain order, as `pacman` (the package manager MSYS2 uses, which comes
- from ArchLinux) does not know about a few things that are special on Windows.
+ from Arch Linux) does not know about a few things that are special on
+ Windows.
First, update the mirror list:
$ pacman -Sy pacman-mirrors
@@ -134,11 +131,11 @@
Now you have a fully updated MSYS2. Whenever you want to update MSYS2,
proceed in this order. Notice that the first `pacman` invocation includes
`-y` to actually fetch a new list of packages.
-### Installing MinGW-w64 using MSYS2
+Installing MinGW-w64 using MSYS2
Now it's time to install MinGW-w64. If you want to build 32 bit binaries:
$ pacman -S mingw-w64-i686-clang mingw-w64-i686-gcc-objc
@@ -153,11 +150,11 @@
Finally, install a few more things needed to build ObjFW:
$ pacman -S autoconf automake git make
-### Getting, building and installing ObjFW
+Getting, building and installing ObjFW
Start the MinGW-w64 Win32 or Win64 Shell (depening on what version you want
to build - do *not* use the MSYS2 Shell shortcut, but use the MinGW-w64 Win32
or Win64 Shell shortcut instead!) and check out ObjFW:
@@ -169,44 +166,41 @@
$ ./autogen.sh && ./configure && make -j16 install
If everything was successfully, you can now build projects using ObjFW for
Windows using the normal `objfw-compile` and friends.
-Nintendo DS, Nintendo 3DS and Wii
----------------------------------
+Nintendo DS, Nintendo 3DS and Wii
Download and install [devkitPro](https://devkitpro.org/wiki/Getting_Started).
-### Nintendo DS
+Nintendo DS
Follow the normal process, but instead of `./configure` run:
$ ./configure --host=arm-none-eabi --with-nds
-### Nintendo 3DS
+Nintendo 3DS
Follow the normal process, but instead of `./configure` run:
$ ./configure --host=arm-none-eabi --with-3ds
-### Wii
+Wii
Follow the normal process, but instead of `./configure` run:
$ ./configure --host=powerpc-eabi --with-wii
-Amiga
------
+Amiga
Install [amiga-gcc](https://github.com/bebbo/amiga-gcc). Then follow the
normal process, but instead of `./configure` run:
$ ./configure --host=m68k-amigaos
-Writing your first application with ObjFW
-=========================================
+Writing your first application with ObjFW
To create your first, empty application, you can use `objfw-new`:
$ objfw-new app MyFirstApp
@@ -224,19 +218,17 @@
`objfw-compile` is a tool that allows building applications and libraries
using ObjFW without needing a full-blown build system. If you want to use
your own build system, you can get the necessary flags from `objfw-config`.
-Bugs and feature requests
-=========================
+Bugs and feature requests
If you find any bugs or have feature requests, feel free to send a mail to
js@nil.im!
-Commercial use
-==============
+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.