There are several interrelated things in this refactor:
1. Code is taken out of *all* declarations, so that they are plain
declarations. (This includes struct and array init declarations.)
2. The y_call*() and y_return*() macros are added to every function that
can have them.
3. Functions that cannot have them are marked with warning comments.
4. All predefined C types are changed for Yc's own where possible.
5. Various style and bug fixes where I found them because disentangling
them would have been too much work.
This commit basically gives Yc a new style, which is mostly the same as
the old one, but with plain declarations.
Signed-off-by: Gavin Howard <gavin@yzena.com>
This keyword is explained by the comment in the commit, but it basically
just does a straight copy of a file from the source directory to the
build directory, using a dependency to prevent useless copies.
This also changes the configure_file keyword to create a target like the
copy_file keyword.
Signed-off-by: Gavin Howard <gavin@yzena.com>
This does not get rid of the CMake build system yet. It only brings the
Rig build up to par with the CMake one, or it would if Rig and Yao had
all of the features required.
They don't, of course, but I did this commit before because these build
files are now going to be used to implement the missing features
one-by-one.
It will be slow going, but at the end of it, I can get rid of the CMake
build system. However, before I do that, I need to make sure Rig builds
itself on Linux, Mac OSX, FreeBSD, OpenBSD, NetBSD, and Windows.
Signed-off-by: Gavin Howard <gavin@yzena.com>