Skip to content

infinitycoding/mercury

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mercury

A small standard c library which is easy to port and supports a lot of embedded compiletime features.

Dependecies:

  • gcc/clang (only for compilation)
  • make (only for compilation)
  • nasm (only for compilation for x86)

Currently supported operating systems:

  • universe
  • linux

Currently supported architectures:

  • X86

Features:

  • noos=true Disables any kind of function that does use a operating system ABI

  • noheap=true Disables dynamic memory allocation

Planed features:

  • vfs=true Adds a virtual filesystem which overides the usual file API. The VFS requres a heap so it is not compatible with noheap=true. The virtual Filesystem can mount your operating sytems file system.

How to configure/compile:

    make TARGET={the operating system you are compiling for} <any other flag from above>

Project structure:

The folders are named after the include file which contains the prototypes. In each of these folders is a subfolder which contains the functionalities that need a operating system. /test contains unittests for each library function. /system contains the operating system specific files /system/< arch > contains the operating system specific files dependend on the processor architecture

About

The standard libc of the universe operating system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published