-
Notifications
You must be signed in to change notification settings - Fork 400
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
Linux port #655
Comments
At this point I stumbled upon include dirs.
<debug/debug.h> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/random#L43And with added include dir "src/engine" #include <debug/debug.h includes "src/engine/debug/debug.h" https://github.com/nem0/LumixEngine/blob/94d51b06070084d1e6b9bd76077b00eea7efcdfa/src/engine/debug/debug.h and everything is screwed.I don't know if genie has option to add include dir only for quote includes. |
MSVS does not include <debug/debug.h> so it works on Windows. I guess we can rename debug.h to utils.h. If you have any better suggestions, I am listening. |
I thought about changing current include dirs. How about retain only "../src" and external includes? That way we hopefully add level of indirection and our own headers will not collide with system ones. |
Sounds OK |
I found a good portion of Windows-specific code in core/mt. What do you think about replacing at least part of it with standard C++ threading code? As far as I'm concerned some of the current code contains UB (e.g. using |
After all my experiences with STL (although it was years ago) I really do not like to use it anywhere. I have tried to include and the preprocessed file went from 19kB to ~950kB. Also if included in every file, compile time went from ~25s to ~45s. That being said I have no problem with STL if it's encapsulated inside one cpp, i.e. if Linux uses STL's mutex internally. As for undefined behaviour, there are places where it is intentional, e.g. I memcpy some classes with virtual functions somewhere. We need to discuss specific places. I would like to avoid using UB, but not if cost is too high, e.g. serious performance issues.
I am not sure which code is this about. |
For unions: for
I envy you 😃 , my experience with C++ compilation is much more sad. Ok, I will try to isolate these changes from rest of the codebase. |
Union: I think it was written by @tluqo this way for convenience. Feel free to change it if it causes any problems. I've created a wiki page about undefined behaviour, you can put there anything you find. I will also go through all the code as I do not remember where I used UB and I bet there is myriad of places with UB I do not even know about.
My experience is terrible. I tried to download one of the other smaller open source engines and compile it and it took like 5 minutes. And it even had less features than Lumix. That's why I put forward declarations or PIMPLs everywhere, and do all the other stuff that makes the code less readable. Yes, we can use precompiled header or unity builds, but they have their own problems and I want to avoid it as long as I can. |
It seems that crunch doesn't compile on x86_64 Linux. There is a pull request richgel999/crunch#19 but it not merged since November. As an option we can fork it and reference our fork. |
We can do that or switch from crunch to something else, I do not really care what library is used as long as it is simple, small and efficient. Do you know any better library we could use? |
Hi, I am working on it, I will let you know as soon as it's fixed |
@spacepluk I've commited some changes to both source code and data. Just make sure pipelines/shaderc is executable. Use forward rendering if you have a warning about unsupported blit. You can ignore the assert in crunch library for now, it seems it causes no problems. |
I forgot to mention that I had to copy |
hi there, I gave this another try today: https://gist.github.com/a79f2e2a142ea5eca915c26d31c36257 |
Hi, I have to implement mf_resource for linux and compile cmft library. I will try to fix this tonight or if it takes too much time then tomorrow. |
It should compile now |
thanks, I still can't get it to run on my system: https://gist.github.com/spacepluk/d3b6be3215ef23fd6d1bc6c88246f85e#file-studio-out-log |
I don't have access to Linux machine now. I tried OpenGL on Windows and fixed found issues, I will try Linux on Monday probably. |
Ok, I figured it out. All text files in pipelines/ directory (recursive) must be convertex from dos lineendings to unix lineendings |
Gives me:
|
@dud3 try to set genie_linux executable |
@nem0 |
make inside
I've tried Any ideas? |
Guessing that is 32bit issue, I'll try on 64bit some other day. |
Added info about 64bit limitation on wiki for other people. |
audio (missing effects)Effects will be reworkedmultiple windowsno support for multiple windows on linuxThe text was updated successfully, but these errors were encountered: