Goal: Least amount of changes/Windows-environment specific code in Migen/MiSoC
- 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.
- Invokes
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 acmd.exe
subshell I can't enforce "use a Cygwinyosys
".- Cygwin binaries understand Windows paths.
- This doesn't work if
- 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
usesCOM*
(untested).- All toolchains use batch files.
yosys
compiled under MSYS2, MXE, or Visual Studio (basically not Cygwin).
- 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
- Packaging requires:
- Perhaps conditional code to skip
chmod
step on Native Windows?
- MSYS2 preferred.
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
- Compiling your own preferred-
- Other command-line programs provided via compilation under MSYS2 or MSYS2
pacman
, or binaries/installers. flterm
usesCOM*
(patch required/available).- All toolchains use batch files.
- Same rules for
yosys
as MSYS2/MinGW64.
- Same rules for
Mixing environments not listed in their own sections is unsupported.