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,chmodprovided by Cygwin. gccprovided/compiled using Cygwin.- Other command-line programs provided via compilation under Cygwin or Cygwin packages.
fltermuses/dev/ttyS*(currently broken).- Xilinx ISE does not understand Cygwin paths- must have paths updated via
cygpath.- Invokes
cmd.exesubshell/creates batch file which runs actual build commands.
- Invokes
yosysprovided by Cygwin- calls out to shell script.- This doesn't work if
yosysis used as the front end to Xilinx- still need batch file in case Xilinx back ends choke on Cygwin paths. - If I make
yosysrun in acmd.exesubshell 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,chmodprovided by MSYS2. gccprovided/compiled under MSYS2.- Other command-line programs provided via compilation under MSYS2 or MSYS2
pacman. fltermusesCOM*(untested).- All toolchains use batch files.
yosyscompiled 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,chmodprovided 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
chmodstep on Native Windows?
- MSYS2 preferred.
gccprovided/compiled under MSYS2, or external package plus DLLs.- Compiling your own preferred-
lm32-elf-gcc/binutilscompilation 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. fltermusesCOM*(patch required/available).- All toolchains use batch files.
- Same rules for
yosysas MSYS2/MinGW64.
- Same rules for
Mixing environments not listed in their own sections is unsupported.