Skip to content

Add Linux Compatibility and Build Scripts#1

Merged
el-dockerr merged 11 commits intomainfrom
feature/add-linux-compatibilty-and-buildscripts-
Jan 30, 2026
Merged

Add Linux Compatibility and Build Scripts#1
el-dockerr merged 11 commits intomainfrom
feature/add-linux-compatibilty-and-buildscripts-

Conversation

@el-dockerr
Copy link
Copy Markdown
Owner

@el-dockerr el-dockerr commented Jan 30, 2026

This pull request introduces comprehensive cross-platform (Windows and Linux) build and runtime support for the GhostMem project. It adds CMake-based and direct build scripts, updates the documentation for cross-platform usage, and implements Linux-specific memory management and page fault handling. The changes modernize the build process, clarify platform requirements, and enable transparent memory compression on both Windows and Linux.

Cross-platform build and CI improvements:

  • Added a cross-platform CMake build system in CMakeLists.txt, supporting static/shared libraries and test builds for both Windows and Linux, with appropriate platform-specific compiler and linker flags.
  • Introduced GitHub Actions CI workflow (.github/workflows/build-and-test.yml) to automatically build, test, and perform static analysis on Windows and Linux for pull requests and pushes.
  • Added direct build scripts for quick compilation without CMake: build-simple.bat (Windows) and build-simple.sh (Linux); also added recommended build scripts using CMake: build.bat (Windows) and build.sh (Linux). [1] [2] [3] [4]

Linux support and platform abstraction:

  • Implemented Linux-specific memory reservation (using mmap), page protection/deprotection (using mprotect), and SIGSEGV-based page fault handling in GhostMemoryManager.cpp, enabling transparent memory compression on Linux. [1] [2] [3] [4]
  • Updated allocator headers to use #pragma once and ensure proper includes for cross-platform compatibility.

Documentation and usability improvements:

  • Significantly revised the README.md to document Linux support, build requirements, usage instructions, and output artifacts for both platforms. Added sections for quick/direct and CMake-based builds, and clarified the roadmap and limitations. [1] [2] [3]
  • Added copyright and descriptive comments to GhostMemoryManager.cpp.

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

@el-dockerr el-dockerr self-assigned this Jan 30, 2026
@el-dockerr el-dockerr merged commit 355fd06 into main Jan 30, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant