Guest User

Untitled

a guest
Nov 23rd, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. # Migen Supported Environments on Windows
  2. Goal: Least amount of changes/Windows-environment specific code in Migen/MiSoC
  3.  
  4. ## Cygwin
  5. * Migen/MiSoC installed using Cygwin `python` (3.6- requires patch).
  6. * `~` provided by Cygwin is home directory.
  7. * GNU `make`, `chmod` provided by Cygwin.
  8. * `gcc` provided/compiled using Cygwin.
  9. * Other command-line programs provided via compilation under Cygwin or Cygwin packages.
  10. * `flterm` uses `/dev/ttyS*` (currently broken).
  11. * Xilinx ISE does not understand Cygwin paths- must have paths updated via `cygpath`.
  12. * Invokes `cmd.exe` subshell/creates batch file which runs actual build commands.
  13. * `yosys` provided by Cygwin- calls out to shell script.
  14. * 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.
  15. * If I make `yosys` run in a `cmd.exe` subshell I can't enforce "use a Cygwin `yosys`".
  16. * _Cygwin binaries understand Windows paths_.
  17.  
  18. ## MSYS2/MinGW64
  19. * Migen/MiSoC installed using MSYS2 `python` (3.6- requires patch).
  20. * `~` provided by MSYS2 is home directory.
  21. * GNU `make`, `chmod` provided by MSYS2.
  22. * `gcc` provided/compiled under MSYS2.
  23. * Other command-line programs provided via compilation under MSYS2 or MSYS2 `pacman`.
  24. * `flterm` uses `COM*` (untested).
  25. * All toolchains use batch files.
  26. * `yosys` compiled under MSYS2, MXE, or Visual Studio (basically _not_ Cygwin).
  27.  
  28. ## Native Windows
  29. * Migen/MiSoC installed using Native `python` (3.5).
  30. * `%USERPROFILE%` is home directory. `~` from MSYS2 may be picked up by accident sometimes.
  31. * GNU `make`, `chmod` provided by MSYS2, GnuWin32, or external package plus DLLs.
  32. * MSYS2 preferred.
  33. * Packaging requires: `msys-intl-8.dll`, `msys-iconv-2.dll`, `msys-2.0.dll`
  34. * Perhaps conditional code to skip `chmod` step on Native Windows?
  35. * `gcc` provided/compiled under MSYS2, or external package plus DLLs.
  36. * Compiling your own preferred- `lm32-elf-gcc`/`binutils` compilation is well-behaved.
  37. * Packaging requires: `libgcc.dll`, `libiconv-2.dll`, `libintl-8.dll`, `zlib1.dll`
  38. * Other command-line programs provided via compilation under MSYS2 or MSYS2 `pacman`, or binaries/installers.
  39. * `flterm` uses `COM*` (patch required/available).
  40. * All toolchains use batch files.
  41. * Same rules for `yosys` as MSYS2/MinGW64.
  42.  
  43. Mixing environments not listed in their own sections is unsupported.
Add Comment
Please, Sign In to add comment