OpenOrbis / mira-project

mira rewrite in cxx
GNU General Public License v3.0
290 stars 65 forks source link

Contribution guide? #126

Open sleirsgoevy opened 3 years ago

sleirsgoevy commented 3 years ago

Let's say I want to contribute a kernel plugin to Mira. Is there a contribution guide/style guide I have to follow? Most importantly, does it need to be written in object-oriented C++ (I assume yes), or is C code ok too?

EDIT: this is not a technical question, this is about what is acceptable and what rules I should respect, if any, to make my code acceptable for this project.

Al-Azif commented 3 years ago

I think we need a style guide as well, my IDE keeps applying it's best guess and the whitespace differences kill the GitHub diffs. A clang-format file would be fantastic.

ghost commented 3 years ago

Hmm, that depends of what you want to do ?

For example, if you want to create a plugin, just respect plugin standard (see other plugins and take it as an example)

kiwidoggie commented 3 years ago

I've added one to my downstream repo, if there are any more things that you need or would like described let me know here =]

/kernel should be C++ style code (c-cast's should be used rarely, only when the C++ notation would be significantly longer (kdlsym))

/loader is more C-oriented I believe but that comes from the older project.

Try and write C++ code as much as possible because it's just barebones C++ used for inheritance and virtuals mainly, no STL. Here's the preview that will be upstreamed when the next stable build is complete https://github.com/kiwidoggie/mira-project/blob/develop/CONTRIBUTION.md