Skip to content

▶️ Startup library for mulle-objc-runtime

License

Notifications You must be signed in to change notification settings

mulle-objc/mulle-objc-runtime-startup

Repository files navigation

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.

You are here

Overview

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

Add

Add as an individual component

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

mulle-sde add github:mulle-objc/mulle-objc-runtime-startup

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

clib install --out src/mulle-objc mulle-objc/mulle-objc-runtime-startup

Add -isystem src/mulle-objc 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/mulle-objc/mulle-objc-runtime-startup/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