Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
RISC_OSLib RISC_OSLib
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • RiscOS
    • SSources
  • Lib
  • RISC_OSLibRISC_OSLib
  • Merge requests
  • !5

Merged
Created Nov 04, 2019 by Ben Avison@bavisonDeveloper

Cross-compilation support

  • Overview 7
  • Commits 3
  • Pipelines 15
  • Changes 51

Detail:

  • GNUmakefile: add translation of Makefile to GNU make / cross-compilation requirements (this component is too non-standard to make much use of the shared makefiles)
  • Makefile: comment out rules for objects that aren't used for any targets, for clarity; auto-create empty directories and don't clean files that are never created
  • Various: change to using OS-agnostic filename path syntax
  • Various: ensure case matches for filename paths (don't assume host filing system is case-agnostic)
  • Remove empty directories and have the Makefiles create them
  • Consolidate and complete .gitignore
  • Enable GitLab CI, and address the warnings generated (apart from any relating to cppcheck)
  • Enable GitLab CD for stubs (used implicitly when linker is invoked by cc)

All phases are now supported for cross-compilation, but it has not yet been tested end-to-end in a ROM build. However, many of the build tools rely on data structures defined in kernel.h in their internal OS abstraction, so this MR is required in order to build their cross-compilation variants. Perversely, this makes this a high priority component! Fortunately, since it uses a separate GNUmakefile, it's very low risk to native builds.

Edited May 05, 2022 by Ben Avison
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: CrossCompilationSupport