/mulle-objc-runtime-startup

▶️ Startup library for mulle-objc-runtime

Primary LanguageCOtherNOASSERTION

mulle-objc-runtime-startup

▶️ Startup code for the mulle-objc runtime

This static library provides the required __register_mulle_objc_universe function for executables, that link against mulle-objc-runtime only.

Use this library, if you want to create executables, that only require the mulle-objc-runtime and nothing else. Most projects will link against MulleObjC or the MulleFoundation though, and will use the startup libraries.

Release Version Release Notes
Mulle kybernetiK tag Build Status RELEASENOTES

Sourcetree

The main raison d'être of mulle-objc-runtime-startup as a seperate library is to bequeath the required dependencies mulle-atinit and mulle-atexit for linking with the executable.

Requirements

Requirement Release Version Description
mulle-objc-runtime Mulle kybernetiK tag Build Status ⏩ A fast, portable Objective-C runtime written 100% in C11
mulle-atinit Mulle kybernetiK tag Build Status 🤱🏼 Compatibility library for deterministic initializers
mulle-atexit Mulle kybernetiK tag Build Status 👼 Compatibility library to fix atexit
mulle-dlfcn Mulle kybernetiK tag Build Status ♿️ Shared library helper

Add

Use mulle-sde to add mulle-objc-runtime-startup to your project:

mulle-sde add github:/

To only add the sources of mulle-objc-runtime-startup with dependency sources use clib:

clib install --out src/ /

Add -isystem src/ to your CFLAGS and compile all the sources that were downloaded with your project.

Install

Install with mulle-sde

Use mulle-sde to build and install mulle-objc-runtime-startup and all dependencies:

mulle-sde install --prefix /usr/local \
   https://github.com///archive/latest.tar.gz

Manual Installation

Install the Requirements and then install mulle-objc-runtime-startup with cmake:

cmake -B build \
      -DCMAKE_INSTALL_PREFIX=/usr/local \
      -DCMAKE_PREFIX_PATH=/usr/local \
      -DCMAKE_BUILD_TYPE=Release &&
cmake --build build --config Release &&
cmake --install build --config Release

Author

Nat! for Mulle kybernetiK