GithubHelp home page GithubHelp logo

mulle-objc / mulleobjc Goto Github PK

View Code? Open in Web Editor NEW
51.0 10.0 6.0 1.89 MB

๐Ÿ’Ž A collection of Objective-C root classes for mulle-objc

Home Page: https://www.mulle-kybernetik.com/mulle-objc

License: Other

CMake 0.21% Shell 0.77% Makefile 0.04% Objective-C 78.18% C 20.80%
mulle-objc classes nsobject

mulleobjc's Introduction

MulleObjC

๐Ÿ’Ž A collection of Objective-C root classes for mulle-objc

MulleObjC supplies the most basic runtime components like NSObject or NSThread to build a foundation on top of it. MulleObjC depends on standard C libraries only and for instance not on <unistd.h>.

Release Version Release Notes
Mulle kybernetiK tag Build Status RELEASENOTES

API

Classes

  • NSAutoreleasePool - garbage collection
  • NSObject - the root class of everything
  • NSInvocation - method call serialization
  • NSMethodSignature - method description
  • NSProxy - the other root class of everything :=)
  • NSThread - threads

Protocol and Protocolclasses

  • NSCoding - object serialization
  • NSCopying - object copying
  • NSFastEnumeration - support for for ... in loops
  • NSLocking - support for for ... in loops
  • NSObject - for objects that don't want to behave like NSObject but can't be them
  • MulleObjCClassCluster - enables classes to act as class clusters
  • MulleObjCException - enabled a class to act as an exception
  • MulleObjCRuntimeObject - documents the minimum required id superset
  • MulleObjCSingleton - enables classes to produce singletons
  • MulleObjCTaggedPointer - enables classes to use tagged pointers

Functions

  • mulle_printf and variants

It does all the interfacing with the mulle-objc runtime. Any library code above MulleObjC ideally, should not be using the mulle-objc runtime directly. Creating a foundation on top of mulle-objc without using MulleObjC is a foolhardy endeavor IMO.

MulleObjC must be compiled with the mulle-clang compiler, or a compiler which supports the metaABI required for the mulle-objc runtime.

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-objc-debug Mulle kybernetiK tag Build Status ๐Ÿž Debug support for the mulle-objc-runtime
mulle-objc-cc Mulle kybernetiK tag Build Status โฉ make mulle-clang the default Objective-C compiler
mulle-objc-list Mulle kybernetiK tag Build Status ๐Ÿ“’ Lists mulle-objc runtime information contained in executables.

Add

Add as an individual component

Use mulle-sde to add MulleObjC to your project:

mulle-sde add github:mulle-objc/MulleObjC

To only add the sources of MulleObjC with dependency sources use clib:

clib install --out src/mulle-objc mulle-objc/MulleObjC

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 MulleObjC and all dependencies:

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

Manual Installation

Install the Requirements and then install MulleObjC 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

mulleobjc's People

Contributors

3a4ot avatar codeon-nat avatar imgbotapp avatar mulle-kybernetik-tv avatar mulle-nat avatar znek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mulleobjc's Issues

path issue: Could not find mulle-bashfunctions libexec directory

I haven't looked into it ... certainly mulle-bashfunctions is in /Users/wc/scratch/mulle/usr/bin which is in PATH

CC=/Users/wc/scratch/mulle/bin-release/mulle-clang-project/14.0.6.2/bin/mulle-clang \
cmake \
        -DCMAKE_PREFIX_PATH="$HOME/scratch/mulle/usr" \
        -DCMAKE_LIBRARY_PATH=$HOME/scratch/mulle/usr/lib \
        -DCMAKE_C_FLAGS="-I$HOME/scratch/mulle/usr/include" \
        -DDEPENDENCY_DIR=$HOME/scratch/mulle/usr \
        -DCMAKE_INSTALL_PREFIX=$HOME/scratch/mulle/usr .

make

[ 91%] Create: /Users/wc/scratch/mulle/MulleObjC/src/reflect/objc-loader.inc
fatal error (_fatal): Could not find mulle-bashfunctions libexec directory ($0="/Users/wc/scratch/mulle/usr/bin/mulle-bash", PWD="/Users/wc/scratch/mulle/MulleObjC", PATH="/usr/local/opt/openjdk/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/opt/node@18/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/usr/local/opt/openjdk/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/opt/node@18/bin:/Users/wc/scratch/mulle/usr/bin", MULLE_EXECUTABLE="/Users/wc/scratch/mulle/usr/bin/mulle-bashfunctions", MULLE_BASHFUNCTIONS_VERSION="5.0.3", MULLE_BASHFUNCTIONS_VARIANT="-minimal", MULLE_BASHFUNCTIONS_VERSION_QUALIFIER="")


wc@wcAir MulleObjC % ls -al /Users/wc/scratch/mulle/usr/bin
total 1256
drwxr-xr-x  17 wc  staff     544 Apr  1 18:58 .
drwxr-xr-x   7 wc  staff     224 Apr  1 18:58 ..
-rwxr-xr-x   1 wc  staff   18660 Apr  1 18:57 mulle-bash
-rwxr-xr-x   1 wc  staff   12974 Apr  1 18:57 mulle-bashfunctions
-rwxr-xr-x   1 wc  staff   34472 Mar 31 22:21 mulle-fnv1a
-rwxr-xr-x   1 wc  staff    2260 Apr  1 00:07 mulle-objc-encode
-rwxr-xr-x   1 wc  staff     838 Apr  1 00:07 mulle-objc-leaks
-rwxr-xr-x   1 wc  staff  370336 Apr  1 00:08 mulle-objc-list
-rwxr-xr-x   1 wc  staff   28052 Apr  1 00:07 mulle-objc-lista
-rwxr-xr-x   1 wc  staff   14652 Apr  1 00:07 mulle-objc-loader-tool
-rwxr-xr-x   1 wc  staff   16748 Apr  1 00:07 mulle-objc-optimize
-rwxr-xr-x   1 wc  staff    4048 Apr  1 00:07 mulle-objc-printline
-rwxr-xr-x   1 wc  staff   10774 Apr  1 00:07 mulle-objc-searchid
-rwxr-xr-x   1 wc  staff   36408 Apr  1 00:02 mulle-objc-signature
-rwxr-xr-x   1 wc  staff   26226 Apr  1 00:07 mulle-objc-unarchive
-rwxr-xr-x   1 wc  staff    2729 Apr  1 00:07 mulle-objc-uncovered-methods
-rwxr-xr-x   1 wc  staff   34864 Apr  1 00:02 mulle-objc-uniqueid

NSApp class that does the root object handling

This is obviously a sharedInstance.
Move the whole "roots" handling into NSApp. The only typical root class then is only NSApp in the runtime. Windows are then tied to NSApp and other root classes.

A garbage collector is needed

Hello
I am getting closer to using Mulle Objc.
I will need a garbage collector.

The basic idea is to build something like Erlang. Lots of communicating sequential processes, each written in Python.

Can you recommend a gargage collector?

Chris

Serialize an entire runtime world

In principle it should be possible with MulleObjC to serialize a world to persist a complete running system. I don't know if that's ever going to be useful, but it would be fun.

error: the runtime load version 17 is not compatible with this compiler 16

Trying to compile MulleObjC with mulle-clang 10.0.0 results in that error.

Command line:

$ cmake -H. -Bbuild -DCMAKE_INSTALL_PREFIX:PATH='/home/bugravirgomercury8/Desktop/objcthings/objcthings' \
      -DCMAKE_C_FLAGS="-I '/home/bugravirgomercury8/Desktop/objcthings/objcthings/include' -O3" \
      -DCMAKE_LIBRARY_PATH:PATH='/home/bugravirgomercury8/Desktop/objcthings/objcthings/lib'
-- The C compiler identification is Clang 10.0.0
-- Check for working C compiler: /home/bugravirgomercury8/Desktop/objcthings/mulle-clang/bin/mulle-clang
-- Check for working C compiler: /home/bugravirgomercury8/Desktop/objcthings/mulle-clang/bin/mulle-clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- MULLE_SDK_PATH=/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/dependency;/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/addiction
-- TMP_SDK_PATH=/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/dependency
-- TMP_SDK_PATH=/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/addiction
-- CMAKE_INCLUDE_PATH=""
-- CMAKE_LIBRARY_PATH="/home/bugravirgomercury8/Desktop/objcthings/objcthings/lib"
-- CMAKE_FRAMEWORK_PATH=""
-- INCLUDE_DIRS=""
-- CMAKE_PREFIX_PATH=""
-- CMAKE_INSTALL_PREFIX="/home/bugravirgomercury8/Desktop/objcthings/objcthings"
-- MULLE_OBJC_RUNTIME_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-objc-runtime.a
-- MULLE_DLFCN_HEADER is /home/bugravirgomercury8/Desktop/objcthings/objcthings/include/mulle-dlfcn/mulle-dlfcn.h
-- DL_LIBRARY is /usr/lib/x86_64-linux-gnu/libdl.so
-- MULLE_CONCURRENT_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-concurrent.a
-- MULLE_ABA_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-aba.a
-- MULLE_ALLOCATOR_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-allocator.a
-- MULLE_C11_HEADER is /home/bugravirgomercury8/Desktop/objcthings/objcthings/include/mulle-c11/mulle-c11.h
-- MULLE_THREAD_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-thread.a
-- PTHREADS_LIBRARY is /usr/lib/x86_64-linux-gnu/libpthread.so
-- /usr/lib/include/pthreads/cmake/DependenciesAndLibraries.cmake not found
-- /usr/lib/include/pthread/cmake/DependenciesAndLibraries.cmake not found
-- MULLE_VARARG_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-vararg.a
-- MULLE_STACKTRACE_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-stacktrace.a
-- MULLE_ATINIT_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-atinit.a
-- MULLE_ATEXIT_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-atexit.a
-- MULLE_DATA_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-data.a
-- MULLE_CONTAINER_LIBRARY is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib/libmulle-container.a
-- MULLE_OBJC_LOADER_TOOL is /home/bugravirgomercury8/Desktop/objcthings/objcthings/bin/mulle-objc-loader-tool
-- PUBLIC_HEADERS=src/MulleObjCCompiler.h;src/MulleObjCIntegralType.h;src/MulleObjCUniverse.h;src/MulleObjCVersion.h;src/MulleObjC.h;src/class/MulleObjCAutoreleasePool.h;src/class/MulleObjCLoader.h;src/class/NSAutoreleasePool.h;src/class/NSInvocation.h;src/class/NSLock.h;src/class/NSMethodSignature.h;src/class/NSObject+NSCodingSupport.h;src/class/NSObject.h;src/class/NSProxy.h;src/class/NSRecursiveLock.h;src/class/NSThread.h;src/function/MulleObjCAllocation.h;src/function/MulleObjCExceptionHandler.h;src/function/MulleObjCFunctions.h;src/function/MulleObjCHashFunctions.h;src/function/MulleObjCStackFrame.h;src/function/NSByteOrder.h;src/function/NSDebug.h;src/import.h;src/include.h;src/minimal.h;src/mulle-objc-classbit.h;src/mulle-objc-fastclassid.h;src/mulle-objc-fastmethodid.h;src/mulle-objc.h;src/mulle-objc-threadfoundationinfo.h;src/mulle-objc-type.h;src/protocol/MulleObjCClassCluster.h;src/protocol/MulleObjCException.h;src/protocol/MulleObjCProtocol.h;src/protocol/MulleObjCRuntimeObject.h;src/protocol/MulleObjCSingleton.h;src/protocol/MulleObjCTaggedPointer.h;src/protocol/NSCoding.h;src/protocol/NSContainer.h;src/protocol/NSCopying.h;src/protocol/NSEnumeration.h;src/protocol/NSLocking.h;src/protocol/NSMutableCopying.h;src/protocol/NSObjectProtocol.h;src/struct/MulleObjCContainerCallback.h;src/struct/NSRange.h;src/struct/NSZone.h
-- PRIVATE_HEADERS=src/class/NSMethodSignature-Private.h;src/function/MulleObjCExceptionHandler-Private.h;src/import-private.h;src/include-private.h;src/mulle-objc-autoreleasepointerarray-private.h;src/mulle-objc-exceptionhandlertable-private.h;src/mulle-objc-startup-private.inc;src/mulle-objc-universeconfiguration-private.h;src/mulle-objc-universefoundationinfo-private.h
-- PROJECT_INSTALLABLE_HEADERS=src/MulleObjCCompiler.h;src/MulleObjCIntegralType.h;src/MulleObjCUniverse.h;src/MulleObjCVersion.h;src/MulleObjC.h;src/class/MulleObjCAutoreleasePool.h;src/class/MulleObjCLoader.h;src/class/NSAutoreleasePool.h;src/class/NSInvocation.h;src/class/NSLock.h;src/class/NSMethodSignature.h;src/class/NSObject+NSCodingSupport.h;src/class/NSObject.h;src/class/NSProxy.h;src/class/NSRecursiveLock.h;src/class/NSThread.h;src/function/MulleObjCAllocation.h;src/function/MulleObjCExceptionHandler.h;src/function/MulleObjCFunctions.h;src/function/MulleObjCHashFunctions.h;src/function/MulleObjCStackFrame.h;src/function/NSByteOrder.h;src/function/NSDebug.h;src/import.h;src/include.h;src/minimal.h;src/mulle-objc-classbit.h;src/mulle-objc-fastclassid.h;src/mulle-objc-fastmethodid.h;src/mulle-objc.h;src/mulle-objc-threadfoundationinfo.h;src/mulle-objc-type.h;src/protocol/MulleObjCClassCluster.h;src/protocol/MulleObjCException.h;src/protocol/MulleObjCProtocol.h;src/protocol/MulleObjCRuntimeObject.h;src/protocol/MulleObjCSingleton.h;src/protocol/MulleObjCTaggedPointer.h;src/protocol/NSCoding.h;src/protocol/NSContainer.h;src/protocol/NSCopying.h;src/protocol/NSEnumeration.h;src/protocol/NSLocking.h;src/protocol/NSMutableCopying.h;src/protocol/NSObjectProtocol.h;src/struct/MulleObjCContainerCallback.h;src/struct/NSRange.h;src/struct/NSZone.h;src/reflect/_MulleObjC-import.h;src/reflect/_MulleObjC-include.h;src/class/NSMethodSignature-Private.h;src/function/MulleObjCExceptionHandler-Private.h;src/import-private.h;src/include-private.h;src/mulle-objc-autoreleasepointerarray-private.h;src/mulle-objc-exceptionhandlertable-private.h;src/mulle-objc-startup-private.inc;src/mulle-objc-universeconfiguration-private.h;src/mulle-objc-universefoundationinfo-private.h
-- OBJC_LOADER_INC is "/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/src/reflect/objc-loader.inc"
-- INHERITED_OBJC_LOADERS is ""
-- CMAKE_MODULE_PATH is /home/bugravirgomercury8/Desktop/objcthings/MulleObjC/cmake;/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/cmake/reflect;/home/bugravirgomercury8/Desktop/objcthings/MulleObjC/cmake/share
-- CMAKE_BUILD_TYPE is 
-- CMAKE_SYSTEM_NAME is Linux
-- BUILD_SHARED_LIBS is 
-- CMAKE_INCLUDE_PATH is 
-- CMAKE_LIBRARY_PATH is /home/bugravirgomercury8/Desktop/objcthings/objcthings/lib
-- MULLE_LANGUAGE is 
-- MULLE_C_COMPILER_ID is Clang
-- MULLE_CXX_COMPILER_ID is Clang
-- CMAKE_C_COMPILER_ID is Clang
-- CMAKE_C_FLAGS is -I '/home/bugravirgomercury8/Desktop/objcthings/objcthings/include' -O3  
-- CMAKE_CXX_COMPILER_ID is Clang
-- CMAKE_CXX_FLAGS is   
-- CMAKE_EXE_LINKER_FLAGS is 
-- CMAKE_SHARED_LINKER_FLAGS is 
-- CMAKE_STATIC_LINKER_FLAGS is 
-- CMAKE_INSTALL_RPATH="$ORIGIN/../lib"
-- Configuring done
-- Generating done
-- Build files have been written to: /home/bugravirgomercury8/Desktop/objcthings/MulleObjC/build

$ cmake --build ./build --target install --config Release
Scanning dependencies of target _1_MulleObjC
[  3%] Building C object CMakeFiles/_1_MulleObjC.dir/src/class/NSAutoreleasePool.m.o
error: the runtime load version 17 is not compatible with this compiler 16
1 error generated.
make[2]: *** [CMakeFiles/_1_MulleObjC.dir/build.make:63: CMakeFiles/_1_MulleObjC.dir/src/class/NSAutoreleasePool.m.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/_1_MulleObjC.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

mulle-clang --version

mulle-clang 10.0.0.2 (runtime-load-version: 16) clang version 10.0.0 
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/bugravirgomercury8/Desktop/objcthings/mulle-clang/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Candidate multilib: .;@m64
Selected multilib: .;@m64

Now, why does mulle-sde is a dependency

CC=/Users/wc/scratch/mulle/bin-release/mulle-clang-project/14.0.6.2/bin/mulle-clang \
cmake \
        -DCMAKE_PREFIX_PATH="$HOME/scratch/mulle/usr" \
        -DCMAKE_LIBRARY_PATH=$HOME/scratch/mulle/usr/lib \
        -DCMAKE_C_FLAGS="-I$HOME/scratch/mulle/usr/include" \
        -DDEPENDENCY_DIR=$HOME/scratch/mulle/usr \
        -DCMAKE_INSTALL_PREFIX=$HOME/scratch/mulle/usr .


/opt/homebrew/Cellar/cmake/3.26.2/bin/cmake -S/Users/wc/scratch/mulle/MulleObjC -B/Users/wc/scratch/mulle/MulleObjC --check-build-system CMakeFiles/Makefile.cmake 0
/opt/homebrew/Cellar/cmake/3.26.2/bin/cmake -E cmake_progress_start /Users/wc/scratch/mulle/MulleObjC/CMakeFiles /Users/wc/scratch/mulle/MulleObjC//CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/_1_MulleObjC.dir/build.make CMakeFiles/_1_MulleObjC.dir/depend
cd /Users/wc/scratch/mulle/MulleObjC && /opt/homebrew/Cellar/cmake/3.26.2/bin/cmake -E cmake_depends "Unix Makefiles" /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC/CMakeFiles/_1_MulleObjC.dir/DependInfo.cmake --color=
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/_1_MulleObjC.dir/build.make CMakeFiles/_1_MulleObjC.dir/build
make[2]: Nothing to be done for `CMakeFiles/_1_MulleObjC.dir/build'.
[ 85%] Built target _1_MulleObjC
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/_3_MulleObjC.dir/build.make CMakeFiles/_3_MulleObjC.dir/depend
cd /Users/wc/scratch/mulle/MulleObjC && /opt/homebrew/Cellar/cmake/3.26.2/bin/cmake -E cmake_depends "Unix Makefiles" /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC/CMakeFiles/_3_MulleObjC.dir/DependInfo.cmake --color=
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/_3_MulleObjC.dir/build.make CMakeFiles/_3_MulleObjC.dir/build
make[2]: Nothing to be done for `CMakeFiles/_3_MulleObjC.dir/build'.
[ 88%] Built target _3_MulleObjC
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/__objc_loader_inc__.dir/build.make CMakeFiles/__objc_loader_inc__.dir/depend
cd /Users/wc/scratch/mulle/MulleObjC && /opt/homebrew/Cellar/cmake/3.26.2/bin/cmake -E cmake_depends "Unix Makefiles" /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC /Users/wc/scratch/mulle/MulleObjC/CMakeFiles/__objc_loader_inc__.dir/DependInfo.cmake --color=
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/__objc_loader_inc__.dir/build.make CMakeFiles/__objc_loader_inc__.dir/build
[ 91%] Create: /Users/wc/scratch/mulle/MulleObjC/src/reflect/objc-loader.inc
/Users/wc/scratch/mulle/usr/bin/mulle-objc-loader-tool -p "" -c "" -o /Users/wc/scratch/mulle/MulleObjC/src/reflect/objc-loader.inc /Users/wc/scratch/mulle/MulleObjC/lib_3_MulleObjC.a
/Users/wc/scratch/mulle/usr/bin/mulle-objc-loader-tool: line 436: mulle-sde: command not found
mulle-objc-loader-tool fatal error: MULLE_VIRTUAL_ROOT can not be determined

Put Cocotron on top of MulleObjC

Porting Cocotron to mulle-objc should be relatively easy. Remove the Cocotron classes that are supplied by MulleObjC and you might be good to go. Cocotron looks like its also MIT or BSD licensed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.