Mercurial > repo
view interps/cfunge/cfunge-src/doc/API_CHANGES @ 12518:2d8fe55c6e65 draft default tip
<int-e> learn The password of the month is release incident pilot.
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Sun, 03 Nov 2024 00:31:02 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
In this file is a list of API changes that caused API to increment: Version 1 --------- Initial version, external API was not versioned before this. Version 2 --------- Main breaking change was changing prototype of fungespace_load_string from void fungespace_load_string(const unsigned char * restrict program); to void fungespace_load_string(const unsigned char * restrict program, size_t length); The parameter "length" should be like taking a strlen() on the program parameter (if program contains no embedded null-bytes). However as long as length is correct the code can handle embedded null bytes. Version 3 --------- Added CFUN_IS_IFFI to disable most of main.c. If you are not building with cmake, #define these as string constants: * CFUN_TARGET_PLATFORM Platform such as returned by uname -m (on target). * CFUN_TARGET_OS Platform as returned by uname -s (on target). * CFUN_COMPILER Compiler (full path). * CFUN_BUILD_TYPE Build type. For standard builds with cmake possible alternatives are: None, Debug, Release, RelWithDebInfo and MinSizeRel. * CFUN_COMPILED_ON A string constant like (shell syntax): "$(uname -s) $(uname -r) ($(uname -m))". This one represents the build system, not the target system (in case of cross compilation). * CFUN_USER_CFLAGS User defined CFLAGS (ones added by cfunge build system internally are not included). * CFUN_USER_LDFLAGS User defined LDFLAGS (ones added by cfunge build system internally are not included). Note that defining CFUN_IS_IFFI will currently disable the place where these are used. This may change without prior notice.