Glad to know you managed to compile libecere against musl libc!
For the _Noreturn thing, in libecere eC source files I currently have a lot of
#define _Noreturn all over the place...
I'm not sure why __STDC_VERSION__ would not be defined when preprocessing eC source files?
For the alignment thing, it would seem that alignas(8) is a new way to specify alignment, that perhaps is now defined as a new compiler feature rather than __attribute__ as it was done before?
You should be able to write a define like so if there is not one defined:
#define alignas(x) __attribute__((aligned(x)))
These must all be new C language features that eC is not aware of (eC was actually defined as a superset of C89, but we do our best to catch up with features found in system headers that prevent modern C headers from being included).
In any case I imagine neither of these problems are specific to musl libc and we will likely encounter those issues again so we would like to get to the bottom of it eventually. If you think this warrants further action from us at this time, please file an issue on our Mantis bug tracker ( http://ecere.org/mantis
). But am I correct that you have things working / usable for now?
Regarding the ffi headers, ffi include paths seem to vary wildly from one distribution to another, surely partly because they are architecture specific. The symlink way is surely the easiest thing to do. The other way you could build the Ecere tarball would be by tweaking the 'default.cf' file and adding a:
CFLAGS += -I/usr/lib/libffi-3.2.1/include/
As you can imagine that's not a very standard path that we could include by default, especially with a version number in there. I suggest you look with your distribution as to where the FFI headers should be installed. Ecere does not use pkginfo to query installation paths however as we feel this is an overly complicated process and an unneeded tool to rely on, so hopefully there's a simpler / more standard path for where libffi resides.
I apologize again for the late reply. I'm glad you enjoyed the Tao, and thank you for all your kind appreciation of the SDK. I think the essential notions of the eC languages are still well explained in the Tao, though it's certainly dated and I hope to find time to improve / complete the work at some point. As for guidance on using the Ecere API, the samples are the best resource, and asking questions on our #ecere IRC channel on FreeNode or the forums here. We also have started to document the API Reference (F1 in the IDE) and hope to improve on that in the months to come. Hopefully one day I can complete the book with all the intended sections!