mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 14:54:07 +10:00
Added mecha-style comment docs to a bunch of headers
This commit is contained in:
@@ -1,15 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
/*!
|
||||
# toy_common.h
|
||||
|
||||
This file is generally included in most header files within Toy, as it is where the TOY_API macro is defined. It also has some utilities intended for use only by the repl.
|
||||
|
||||
## Defined Macros
|
||||
!*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define TOY_VERSION_MAJOR 1
|
||||
#define TOY_VERSION_MINOR 1
|
||||
#define TOY_VERSION_PATCH 6
|
||||
#define TOY_VERSION_BUILD Toy_private_version_build()
|
||||
/*!
|
||||
### TOY_API
|
||||
|
||||
This definition of this macro is platform-dependant, and used to enable cross-platform compilation of shared and static libraries.
|
||||
!*/
|
||||
|
||||
//platform/compiler-specific instructions
|
||||
#if defined(__linux__) || defined(__MINGW32__) || defined(__GNUC__)
|
||||
|
||||
#define TOY_API extern
|
||||
@@ -28,8 +36,53 @@
|
||||
|
||||
#endif
|
||||
|
||||
/*!
|
||||
### TOY_VERSION_MAJOR
|
||||
|
||||
The current major version of Toy. This value is embedded into the bytecode, and the interpreter will refuse to run bytecode with a major version that does not match it’s own version.
|
||||
|
||||
This value MUST fit into an unsigned char.
|
||||
!*/
|
||||
|
||||
#define TOY_VERSION_MAJOR 1
|
||||
|
||||
/*!
|
||||
### TOY_VERSION_MINOR
|
||||
|
||||
The current minor version of Toy. This value is embedded into the bytecode, and the interpreter will refuse to run bytecode with a minor version that is greater than its own minor version.
|
||||
|
||||
This value MUST fit into an unsigned char.
|
||||
!*/
|
||||
|
||||
#define TOY_VERSION_MINOR 1
|
||||
|
||||
/*!
|
||||
### TOY_VERSION_PATCH
|
||||
|
||||
The current patch version of Toy. This value is embedded into the bytecode.
|
||||
|
||||
This value MUST fit into an unsigned char.
|
||||
!*/
|
||||
|
||||
#define TOY_VERSION_PATCH 6
|
||||
|
||||
/*!
|
||||
### TOY_VERSION_BUILD
|
||||
|
||||
The current build version of Toy. This value is embedded into the bytecode.
|
||||
|
||||
This evaluates to a c-string, which contains build information such as compilation date and time of the interpreter. When in verbose mode, the compiler will display a warning if the build version of the bytecode does not match the build version of the interpreter.
|
||||
|
||||
This macro may also be used to store additonal information about forks of the Toy codebase.
|
||||
!*/
|
||||
|
||||
#define TOY_VERSION_BUILD Toy_private_version_build()
|
||||
TOY_API const char* Toy_private_version_build();
|
||||
|
||||
/*
|
||||
The following code is intended only for use within the repl.
|
||||
*/
|
||||
|
||||
//for processing the command line arguments in the repl
|
||||
typedef struct {
|
||||
bool error;
|
||||
|
||||
Reference in New Issue
Block a user