Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Migen Supported Environments on Windows
- Goal: Least amount of changes/Windows-environment specific code in Migen/MiSoC
- ## Cygwin
- * Migen/MiSoC installed using Cygwin `python` (3.6- requires patch).
- * `~` provided by Cygwin is home directory.
- * GNU `make`, `chmod` provided by Cygwin.
- * `gcc` provided/compiled using Cygwin.
- * Other command-line programs provided via compilation under Cygwin or Cygwin packages.
- * `flterm` uses `/dev/ttyS*` (currently broken).
- * Xilinx ISE does not understand Cygwin paths- must have paths updated via `cygpath`.
- * Invokes `cmd.exe` subshell/creates batch file which runs actual build commands.
- * `yosys` provided by Cygwin- calls out to shell script.
- * This doesn't work if `yosys` is used as the front end to Xilinx- still need batch file in case Xilinx back ends choke on Cygwin paths.
- * If I make `yosys` run in a `cmd.exe` subshell I can't enforce "use a Cygwin `yosys`".
- * _Cygwin binaries understand Windows paths_.
- ## MSYS2/MinGW64
- * Migen/MiSoC installed using MSYS2 `python` (3.6- requires patch).
- * `~` provided by MSYS2 is home directory.
- * GNU `make`, `chmod` provided by MSYS2.
- * `gcc` provided/compiled under MSYS2.
- * Other command-line programs provided via compilation under MSYS2 or MSYS2 `pacman`.
- * `flterm` uses `COM*` (untested).
- * All toolchains use batch files.
- * `yosys` compiled under MSYS2, MXE, or Visual Studio (basically _not_ Cygwin).
- ## Native Windows
- * Migen/MiSoC installed using Native `python` (3.5).
- * `%USERPROFILE%` is home directory. `~` from MSYS2 may be picked up by accident sometimes.
- * GNU `make`, `chmod` provided by MSYS2, GnuWin32, or external package plus DLLs.
- * MSYS2 preferred.
- * Packaging requires: `msys-intl-8.dll`, `msys-iconv-2.dll`, `msys-2.0.dll`
- * Perhaps conditional code to skip `chmod` step on Native Windows?
- * `gcc` provided/compiled under MSYS2, or external package plus DLLs.
- * Compiling your own preferred- `lm32-elf-gcc`/`binutils` compilation is well-behaved.
- * Packaging requires: `libgcc.dll`, `libiconv-2.dll`, `libintl-8.dll`, `zlib1.dll`
- * Other command-line programs provided via compilation under MSYS2 or MSYS2 `pacman`, or binaries/installers.
- * `flterm` uses `COM*` (patch required/available).
- * All toolchains use batch files.
- * Same rules for `yosys` as MSYS2/MinGW64.
- Mixing environments not listed in their own sections is unsupported.
Add Comment
Please, Sign In to add comment