Skip to content

update "Building SITL" document#11113

Merged
stronnag merged 1 commit into
masterfrom
jh_update_SITL_build_doc
Nov 11, 2025
Merged

update "Building SITL" document#11113
stronnag merged 1 commit into
masterfrom
jh_update_SITL_build_doc

Conversation

@stronnag

@stronnag stronnag commented Nov 11, 2025

Copy link
Copy Markdown
Collaborator

PR Type

Documentation


Description

  • Reorganized compiler requirements section to appear first

  • Enhanced Windows build instructions with Cygwin-specific steps

  • Updated GCC version recommendations to gcc13 or later

  • Improved supported environments list with MacOS and formatting fixes


Diagram Walkthrough

flowchart LR
  A["Original Structure"] -->|"Move to top"| B["Compiler Requirements"]
  C["Windows Instructions"] -->|"Add Cygwin details"| D["Enhanced Windows Steps"]
  E["GCC Requirements"] -->|"Update to gcc13+"| F["Updated Compiler Info"]
  G["Supported Environments"] -->|"Add MacOS, fix formatting"| H["Complete Platform List"]
Loading

File Walkthrough

Relevant files
Documentation
Building SITL.md
Reorganize structure and enhance SITL build documentation

docs/development/Building SITL.md

  • Moved "Compiler requirements" section to the beginning for better
    document flow
  • Expanded Windows build instructions with specific Cygwin package
    installation steps (rubygems, gem install getoptlong)
  • Updated GCC version recommendation from "GCC 10 to GCC 13" to "gcc13
    or later"
  • Changed "Build manager" from level 4 heading to level 3 heading for
    consistency
  • Added MacOS support to the "Supported environments" list with x86_64
    and Aarch64 architectures
  • Fixed formatting inconsistencies in supported environments (e.g.,
    "Rpi4" to "Rpi", "FreeBSD (x86_64 at least)" to "FreeBSD x86_64 (at
    least)")
+19/-11 

@qodo-code-review

qodo-code-review Bot commented Nov 11, 2025

Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

(Compliance updated until commit 45782ef)

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
Not Applicable: The PR only updates documentation text without introducing or modifying runtime code paths
that could affect audit logging; no actionable compliance determination can be made from
the diff alone.

Referred Code
## Building SITL

### Compiler requirements

* Modern GCC. Must be a *real* GCC, unless you're using MacOS; faking it with clang will not work. gcc13 or later is recommended.
* Unix sockets networking. Cygwin is required on Windows (vice `winsock`).
* Pthreads


### Linux and FreeBSD:

Almost like normal, ruby, cmake and make are also required.
With cmake, the option "-DSITL=ON" must be specified.

mkdir build_SITL
cd build_SITL
cmake -DSITL=ON ..
make




 ... (clipped 26 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status:
Not Code Change: This PR modifies documentation only and adds no identifiers or code constructs to evaluate
for naming clarity.

Referred Code
## Building SITL

### Compiler requirements

* Modern GCC. Must be a *real* GCC, unless you're using MacOS; faking it with clang will not work. gcc13 or later is recommended.
* Unix sockets networking. Cygwin is required on Windows (vice `winsock`).
* Pthreads


### Linux and FreeBSD:

Almost like normal, ruby, cmake and make are also required.
With cmake, the option "-DSITL=ON" must be specified.

mkdir build_SITL
cd build_SITL
cmake -DSITL=ON ..
make




 ... (clipped 26 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Documentation Only: No executable code or error handling logic was added or changed in this PR; compliance
cannot be assessed from documentation updates.

Referred Code
## Building SITL

### Compiler requirements

* Modern GCC. Must be a *real* GCC, unless you're using MacOS; faking it with clang will not work. gcc13 or later is recommended.
* Unix sockets networking. Cygwin is required on Windows (vice `winsock`).
* Pthreads


### Linux and FreeBSD:

Almost like normal, ruby, cmake and make are also required.
With cmake, the option "-DSITL=ON" must be specified.

mkdir build_SITL
cd build_SITL
cmake -DSITL=ON ..
make




 ... (clipped 26 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
No Inputs Affected: The changes are instructional documentation and do not introduce input handling,
validation, or data processing code to assess for security posture.

Referred Code
## Building SITL

### Compiler requirements

* Modern GCC. Must be a *real* GCC, unless you're using MacOS; faking it with clang will not work. gcc13 or later is recommended.
* Unix sockets networking. Cygwin is required on Windows (vice `winsock`).
* Pthreads


### Linux and FreeBSD:

Almost like normal, ruby, cmake and make are also required.
With cmake, the option "-DSITL=ON" must be specified.

mkdir build_SITL
cd build_SITL
cmake -DSITL=ON ..
make




 ... (clipped 26 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

Previous compliance checks

Compliance check up to commit 45782ef
Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Clarify compiler requirements for different operating systems

Clarify the compiler requirements for different operating systems by explicitly
stating that Linux requires a real GCC while MacOS supports its native clang
compiler.

docs/development/Building SITL.md [5]

-* Modern GCC. Must be a *real* GCC, unless you're using MacOS; faking it with clang will not work. gcc13 or later is recommended.
+* Modern GCC. On Linux, this must be a *real* GCC; faking it with clang will not work. On MacOS, the native clang compiler is supported. gcc13 or later is recommended where GCC is used.
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies an ambiguous statement about compiler requirements and proposes a much clearer version, which will help developers on different operating systems avoid build issues.

Low
  • More

@stronnag stronnag added this to the 9.0 milestone Nov 11, 2025
@stronnag
stronnag merged commit db16f53 into master Nov 11, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant