Document Windows developer setup for building the plugin

Open Beginner friendly
#259 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
rust

Research direction

Read the README's Prerequisites table and decide whether to add a Windows developer setup section there or create docs/windows-setup.md linked from it. Put the supplied Windows setup steps in order, with commands usable from cmd and a check after each step; preserve the warnings about shell-specific commands, PATH, and closing X-Plane. Done when a developer can follow the guide and verify each tool is available.

Written by the indexing model from the issue text.

Description

area:docs area:xplane-plugin documentation needs-triage

Problem

Once #258 exists the lab PCs no longer need the build toolchain, but anyone changing the plugin or baton still does. The README's Prerequisites table names the tools without saying how to install them on Windows. These are what we had to work out on the lab PC on 2026-10-29:

  • mingw-w64. Install MSYS2 (winget install MSYS2.MSYS2), then run pacman -S --needed mingw-w64-x86_64-gcc from the MSYS2 MINGW64 shell. pacman is not recognised in cmd or PowerShell. We chose the MINGW64 package over UCRT64 because Rust's x86_64-pc-windows-gnu target uses the same msvcrt runtime; that reasoning has not been tested against UCRT64.
  • PATH. Add C:\msys64\mingw64\bin to the user Path, not C:\msys64\usr\bin, which would put MSYS2's own Python ahead of the real one. Open a new terminal afterwards.
  • Meson and Ninja. pip install puts them in Python's Scripts folder, which is often not on PATH, giving 'meson' is not recognized. python -m pip show -f meson shows where they went.
  • Compiler selection. Set CC=gcc and CXX=g++ before the first meson setup so Meson cannot pick MSVC. The syntax depends on the shell: set CC=gcc in cmd, $env:CC="gcc" in PowerShell. The PowerShell form in cmd fails with The filename, directory name, or volume label syntax is incorrect.
  • Rust target. Run rustup target add x86_64-pc-windows-gnu (already in the README).
  • Installing a rebuilt plugin. Close X-Plane first, since it locks the .xpl.
  • Where to look when it does not connect:
    • %TEMP%\baton_debug.log
    • Log.txt in the X-Plane folder
    • Plugins > Plugin Admin, to untick and re-tick the plugin (the X-Plane 12 menu bar stays hidden until the mouse reaches the top edge)

Proposal

A "Windows developer setup" section in the README, or docs/windows-setup.md linked from it, with the steps above in order, every command given for cmd, and a check after each step (gcc --version, meson --version, and so on).

Dominant language
Python
Stars
4
Forks
9
Avg merge
4d 17h
Merged PRs (30d)
7

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from oss-slu/PilotDataSynchronization

All issues in oss-slu/PilotDataSynchronization

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.