Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is not to be merged, but for showing some issues when trying multiple build options on MSYS2:
Default
This is the PKGBUILD upstreamed to msys2/MINGW-packages. It generates two packages: ghdl-mcode for MINGW32 and ghdl-llvm for MINGW64. It is tested as a reference, since it is known to work.
Clang
Same PKGBUILD as the 'Default', but using Clang instead of GCC by setting the following envvars:
On MINGW32 (mcode), the build fails because the machine is not detected properly:
I could fix that by patching
configure
(see commitmsys2: fix MINGW32 detection
). However, the build then fails with:On MINGW64 (LLVM), the build is successful, but the testsuite needs to be executed with
CC=gcc
, otherwisebug097
fails with:LLVM
Instead of using different backends, in this case LLVM is used both on MINGW32 and MINGW64. The compiler is GCC.
On MINGW64, the build is successful and the testsuite too. In fact, this is the same context as the Default.
On MINGW32, the build fails with a not very meaningful error:
Static
Same PKGBUILD as the 'Default', with
libghdl_static.diff
patch borrowed from open-tool-forge/fpga-toolchain.On MINGW32 (mcode), the build and the testsuite are successful.
On MINGW64 (LLVM), the build is successful but the first sanity test fails with:
LLVM static
Mixture of 'LLVM' and 'Static'. An attempt at generating static builds with LLVM backend on both MINGW32 and MINGW64.
On MINGW64, the build is successful but the first sanity test fails as in case 'Static'.
On MINGW32, the build fails as in case 'LLVM'.