diff options
| author | Ahmad Fatoum <ahmad@a3f.at> | 2018-02-22 02:05:00 +0100 |
|---|---|---|
| committer | Ahmad Fatoum <ahmad@a3f.at> | 2018-02-24 15:37:37 +0100 |
| commit | 6ffc8cb7990fb4ff40f205cb53bec797b10e48a2 (patch) | |
| tree | 82a7ac62531aee879891164c478efda6924e2db7 /projects/CodeBlocks/raylib_codeblocks_tpl.layout | |
| parent | e4d7bbec1ef08279495ac41f5f8c4be359c58cf0 (diff) | |
| download | raylib-6ffc8cb7990fb4ff40f205cb53bec797b10e48a2.tar.gz raylib-6ffc8cb7990fb4ff40f205cb53bec797b10e48a2.zip | |
raymath.h: Use C99 inline semantics
RAYMATH_EXTERN_INLINE was renamed to RAYMATH_HEADER_ONLY, which user code
may define if they want to use it as header-only library. If multiple
files in the same project define RAYMATH_HEADER_ONLY, they might each
have duplicate out-of-line definitions of the same functions.
By default, raymath.h exposes inline definitions, which instructs the
compiler _not_ to generate out-of-line definitons, if out-of-line
definitions are required, those of the file defined with
RAYLIB_IMPLEMENTATION are used instead. There may be only one such file.
In C++ mode, the compiler will select only one out-of-line definition
automatically, so no need to define a RAYLIB_IMPLEMENTATION.
Unfortunately, we have to remove raymath function declaration from
raylib.h as those declarations would lead to duplicate out-of-line
definitions which would yield linker errors. This problem didn't
exist with GNU89 or C++, because there multiple defintions are ok,
but in C99 they aren't.
Diffstat (limited to 'projects/CodeBlocks/raylib_codeblocks_tpl.layout')
0 files changed, 0 insertions, 0 deletions
