2022-06-20 03:51:19 +00:00
|
|
|
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2023-03-30 23:43:03 +00:00
|
|
|
ABOUT
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2022-06-26 04:39:15 +00:00
|
|
|
|
2022-08-06 11:53:50 +00:00
|
|
|
Ciabatta - An implementation of cross-platform C standard library with the
|
|
|
|
following goals:
|
|
|
|
|
|
|
|
- Providing C standard library that fully implements all C features. Some
|
|
|
|
standard libraries lack many features of C11 and C23, like threads.h or
|
|
|
|
aligned_alloc in case of msvcrt.
|
|
|
|
|
|
|
|
- Making standard library that is easy to port to other platforms, for example
|
|
|
|
an embedded platform or a custom operating system.
|
|
|
|
|
|
|
|
- Allowing applications to debug and step into standard library functions
|
|
|
|
|
|
|
|
- Reasonably fast CRT compared to MSVCRT and glibc.
|
|
|
|
|
|
|
|
- Extend the possibilities of C standard library with commonly used
|
|
|
|
functionality: implementing POSIX standard (including directories and
|
|
|
|
sockets), capability for unicode processing.
|
|
|
|
|
|
|
|
Ciabatta is not binary-compatible with other CRT libraries. That means that any
|
|
|
|
libraries that your project uses have to also be compiled with Ciabatta,
|
|
|
|
otherwise you might run into issues.
|
|
|
|
|
|
|
|
Please note that as of today ciabatta is still during development and does not
|
|
|
|
implement many of the features that need to be implemented. Using it at current
|
|
|
|
time is discouraged.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
2022-06-26 04:39:15 +00:00
|
|
|
PLATFORM SUPPORT
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
OS:
|
|
|
|
- Win64
|
|
|
|
- Linux (planned)
|
|
|
|
- ...? (not planned)
|
2022-06-20 03:51:19 +00:00
|
|
|
|
2022-08-06 11:53:50 +00:00
|
|
|
Processor Architecture:
|
|
|
|
- x86-64
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
2023-06-18 10:41:55 +00:00
|
|
|
USING THE LIBRARY
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Using ciabatta with msvc is not supported. The only compiler that the library
|
|
|
|
have been compiled and tested with is clang.
|
|
|
|
|
|
|
|
Note that the library can only be used with clang
|
2023-06-18 10:41:55 +00:00
|
|
|
1. Run ./build.cmd to compile ciabatta
|
|
|
|
1.5. (Optionally) Run `./test crt_functions` to make sure there are no errors
|
2022-08-06 11:53:50 +00:00
|
|
|
2. Grab the following files into your project's directory:
|
2023-06-18 07:28:07 +00:00
|
|
|
- The ./include folder
|
|
|
|
- The ./ciabatta.lib archive file
|
|
|
|
- The ./utf8.obj object file
|
2022-08-06 11:53:50 +00:00
|
|
|
3. Add the following flags to your compilation command:
|
2023-06-18 07:28:07 +00:00
|
|
|
-I ./include utf8.obj -nostdlib -mfma
|
2022-08-06 11:53:50 +00:00
|
|
|
4. Don't forget to link to the following libraries:
|
|
|
|
-lciabatta.lib
|
2022-06-20 03:51:19 +00:00
|
|
|
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2022-06-20 03:51:19 +00:00
|
|
|
CONTRIBUTING
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2022-06-20 03:51:19 +00:00
|
|
|
|
2022-08-06 11:53:50 +00:00
|
|
|
Pull requests welcome and accepted in any form.
|
2022-06-20 03:51:19 +00:00
|
|
|
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2022-06-20 03:51:19 +00:00
|
|
|
LICENCE
|
2022-08-06 11:53:50 +00:00
|
|
|
-------------------------------------------------------------------------------
|
2022-06-20 03:51:19 +00:00
|
|
|
|
2022-06-26 04:39:15 +00:00
|
|
|
TBD, but probably i'll make it MIT or WTFPL :kekw:
|