-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new kernel header gap_all.h
for use by package authors instead of compiled.h
#3745
Conversation
So far, most package kernel extensions `#include "compiled.h"` in order to conveniently get access to (almost) all source headers of GAP at once (which is nice for us because it means we are free to rename headers or move stuff around between them without breaking kernel extensions). But the result is rather counterintuitive: if one is not familiar with this, seeing `#include "compiled.h"` in code is not at all clear. Also, the original of `compiled.h` was to be included by C code generated by `gac`, and it contains stuff we'd rather not encourage others to use. Thus, add a new header `gap_all.h` containing all `#include` statements formerly found in `compiled.h` -- this resolves all concerns.
No objections. It might be worth looking for cases where packages use the other functionality from |
@fingolfin It seems to me we might want to add this to the release notes so people who write kernel extensions are actually aware of this change? |
The change looks ok to me. I have checked that the |
@stevelinton I am pretty sure we can easily adapt any package which uses something from @DominikBernhardt agreed, so I added the label @frankluebeck thanks for the test! |
@fingolfin Agreed. My thinking was just that it might point us to things in |
Backported to stable-4.11 in commit 35ffd5f |
gap_all.h
for use by package authors instead of compiled.h
So far, most package kernel extensions
#include "compiled.h"
in orderto conveniently get access to (almost) all source headers of GAP at once
(which is nice for us because it means we are free to rename headers or
move stuff around between them without breaking kernel extensions).
But the result is rather counterintuitive: if one is not familiar with
this, seeing
#include "compiled.h"
in code is not at all clear. Also,the original of
compiled.h
was to be included by C code generated bygac
, and it contains stuff we'd rather not encourage others to use.Thus, add a new header
gap_all.h
containing all#include
statementsformerly found in
compiled.h
-- this resolves all concerns.Of course it will take time for kernel extensions to switch to this new header, especially if they care about staying compatible with older GAP versions. But the sooner we add this, the sooner such a switch could happen. Hence it would be nice to backport this (any objections).