Improve GCC/Clang portability and header cleanliness#45
Closed
Whoneon wants to merge 2 commits intoran-j:mainfrom
Closed
Improve GCC/Clang portability and header cleanliness#45Whoneon wants to merge 2 commits intoran-j:mainfrom
Whoneon wants to merge 2 commits intoran-j:mainfrom
Conversation
Owner
|
Can you introduce a ci build for GCC/clang ? |
Added GitHub Actions job with GCC/Clang matrix to build the project on Linux. The job installs build tools and X11 deps required by raylib, then configures with CMake + Ninja and builds in Release. This helps avoiding Linux portability regressions and aligns with the projects GCC/Clang support. Also, extended .gitignore to cover common CMake/Ninja build directories for simplicity. Tests: local Release builds with GCC and Clang (Ninja). No runtime tests yet
Author
Changes
How it worksThe workflow sets CC/CXX from the matrix, then runs:
Tests performed
|
Owner
|
@Whoneon the build are failing |
Contributor
|
Hey guys, I was trying to compile the project and I had the same error as on the build jobs. The file index bc87b2a..7ee5b4e 100644
--- i/ps2xRuntime/include/ps2_call_list.h
+++ w/ps2xRuntime/include/ps2_call_list.h
@@ -603,4 +603,4 @@
X(syHwInit2) \
X(syMallocInit) \
X(syRtcInit) \
- /* Game/middleware */ \
\ No newline at end of file
+ /* Game/middleware */ |
Author
|
Was about to push this fix too. This should be it! |
Author
|
@emartinez-dev did this fix the CI as well? has this been tested again? |
Contributor
I didn't test it, but it should be fixed at least when compiling on clang |
Author
|
If needed, I can provide a new PR after the weekend. Thanks everyone! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR focuses on portability and build reliability across GCC/Clang while avoiding risky and huge changes. It makes several headers self‑contained by adding missing
<cstdint>includes for fixed‑width integer types, in order to prevent order‑dependent build failures. The syscallmutexis moved to a single translation unit to avoid per‑TU instances and ensure consistent locking behavior. The runtime target now enables-msse4.1on GCC/Clang, aligning with the projects documented SSE4 requirements and fixing compile errors.Finally, a duplicate
FetchContent_Declare(libdwarf)entry is removed for clarity.Wrapping it, here is the changes:
(<cstdint>)in core headers.g_sys_fd_mutexinps2_syscalls.cppto avoid multiple static instances.-msse4.1on GCC/Clang for SSE4.1 intrinsics.FetchContent_Declareforlibdwarf.