|
From: Martin W. <mai...@ma...> - 2015-05-03 21:47:52
|
Folks, The good news is that, courtesy of the Git for Windows and MSYS2 projects, it's got a lot easier to install a build environment for Icarus under Windows. The catch is that MSYS2 uses the mingw-w64 fork of MinGW (for both 32-bit and 64-bit builds). This is not 100% compatible with the original MinGW (32-bit only). The differences are not great - generally mingw-w64 doesn't have the quirks of the original MinGW, so is more compatible with *nix. Unfortunately, when run in the 32-bit MSYS2 environment, config.guess outputs the same tuple string as it does in the original MSYS environment, so it is not easy to handle the differences. As the original MinGW project seems to be stagnating (last update was Sep-2013), whereas the mingw-w64 project is still being actively developed, and as it is easier to install a build environment for the latter, I propose we drop support for the original MinGW. Does anyone want to argue against this. Note that I don't generally use Windows myself, so I'm looking to minimise the time I have to spend on maintaining the Windows builds. Martin |
|
From: <ni...@ly...> - 2015-05-04 06:57:55
|
Martin Whitaker <mai...@ma...> writes: > Note that I don't generally use Windows myself, so I'm looking to minimise the > time I have to spend on maintaining the Windows builds. Have you looked into cross-compiling? In other projects, I do windows builds by something like sudo apt-get install mingw-w64 wine ./configure --host=x86_64-w64-mingw32 make make check TEST_ENVIRONMENT=wine Not a perfect substitute for native testing, of course, but it makes it possible to do some testing without having to mess with a real MS windows installation. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. |
|
From: Cary R. <cy...@ya...> - 2015-05-04 16:47:09
|
Martin,
I see no problem with switching if we update the wiki regarding how to build under windows, though we should coordinate with Pablo who has been providing a windows binary to make sure he does not have any objections.
Cary
On Sunday, May 3, 2015 11:58 PM, Niels Möller <ni...@ly...> wrote:
Martin Whitaker <mai...@ma...> writes:
> Note that I don't generally use Windows myself, so I'm looking to minimise the
> time I have to spend on maintaining the Windows builds.
Have you looked into cross-compiling? In other projects, I do windows
builds by something like
sudo apt-get install mingw-w64 wine
./configure --host=x86_64-w64-mingw32
make
make check TEST_ENVIRONMENT=wine
Not a perfect substitute for native testing, of course, but it makes it
possible to do some testing without having to mess with a real MS
windows installation.
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Iverilog-devel mailing list
Ive...@li...
https://lists.sourceforge.net/lists/listinfo/iverilog-devel
|
|
From: Cary R. <cy...@ya...> - 2015-05-05 00:31:50
|
Martin, I tried cross compiling under cygwin using the i686-w64-mingw32 compilers and I get the following when trying to run make check: ./vvp -M../vpi ../../iverilog/vvp/examples/hello.vvp | grep 'Hello, World.' system:`../vpi\system.vpi' failed to open using dlopen() because: The specified module could not be found. . N/A:0: Error: System task/function $display() is not defined by any module. It looks like the old mingw32 may have translated / to \ in the dlopen() routine or maybe it is some other problem. To avoid too many cooks in the kitchen I'll let you look at this until told otherwise. Cary |
|
From: Martin W. <mai...@ma...> - 2015-05-05 19:10:50
|
Cary R. wrote: > Martin, > I tried cross compiling under cygwin using the i686-w64-mingw32 compilers and I get the following when trying to run make check: > ./vvp -M../vpi ../../iverilog/vvp/examples/hello.vvp | grep 'Hello, World.' > system:`../vpi\system.vpi' failed to open using dlopen() because: > The specified module could not be found. > . > N/A:0: Error: System task/function $display() is not defined by any module. > It looks like the old mingw32 may have translated / to \ in the dlopen() routine or maybe it is some other problem. To avoid too many cooks in the kitchen I'll let you look at this until told otherwise. It's working OK on my msys2 builds, so I suspect it's a configuration problem. I know when I last tried to cross-compile Icarus, I had to patch a few things to get it to work. Martin |
|
From: Martin W. <mai...@ma...> - 2015-05-10 22:54:12
|
Cary R. wrote: > Martin, I see no problem with switching if we update the wiki regarding how > to build under windows, though we should coordinate with Pablo who has been > providing a windows binary to make sure he does not have any objections. > I have updated the wiki and fixed the development branch to support both 32-bit and 64-bit builds. v0.9 can also be built with MSYS2, but I've not back-ported the changes to support 64-bit builds (on the basis we are releasing v10 soon). Doing this has allowed me to remove a lot of the MinGW workarounds from the code base and has reduced the number of tests that fail with MinGW. I've updated the test suite README file to reflect this. None of the changes I've made prevent building with the original MinGW (providing you use a reasonably up-to-date version), but a new incompatibility has crept into the code base - using %z in sscanf calls, which the original MinGW does not support. If Pablo does want to continue using the original MinGW, the simple fix is for him to replace %z with %. Martin |
|
From: Martin W. <mai...@ma...> - 2015-05-05 07:57:55
|
ni...@ly... (Niels Möller) wrote: > Have you looked into cross-compiling? In other projects, I do windows > builds by something like > > sudo apt-get install mingw-w64 wine > ./configure --host=x86_64-w64-mingw32 > make > make check TEST_ENVIRONMENT=wine > > Not a perfect substitute for native testing, of course, but it makes it > possible to do some testing without having to mess with a real MS > windows installation. > I use cross-compiling for another project (and have become sufficiently confident with it that I just send the binaries off to the people who need them). I'd not thought of using wine to test. MSYS2 makes the native build and test a lot easier than it used to be. Martin |
|
From: Stephen W. <st...@ic...> - 2015-05-05 15:09:21
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I cross compile for my day job. It's to the point where I don't even have Windows native makefiles for the (precious few) Windows binaries that I make. Seems to work fine. On 05/05/2015 12:57 AM, Martin Whitaker wrote: > ni...@ly... (Niels Möller) wrote: >> Have you looked into cross-compiling? In other projects, I do >> windows builds by something like >> >> sudo apt-get install mingw-w64 wine ./configure >> --host=x86_64-w64-mingw32 make make check TEST_ENVIRONMENT=wine >> >> Not a perfect substitute for native testing, of course, but it >> makes it possible to do some testing without having to mess with >> a real MS windows installation. >> > I use cross-compiling for another project (and have become > sufficiently confident with it that I just send the binaries off to > the people who need them). I'd not thought of using wine to test. > > MSYS2 makes the native build and test a lot easier than it used to > be. > > Martin > > ------------------------------------------------------------------------------ > > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable > Insights Deep dive visibility with transaction tracing using APM > Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ Iverilog-devel > mailing list Ive...@li... > https://lists.sourceforge.net/lists/listinfo/iverilog-devel > - -- Steve Williams "The woods are lovely, dark and deep. steve at icarus.com But I have promises to keep, http://www.icarus.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep." -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlVI3RIACgkQrPt1Sc2b3iluQwCfZdw6mSxdabjWhdhhczGfZ6hV sOQAoI9KKUBrCrdrdkmGVhtYkCdpfMEd =k0bb -----END PGP SIGNATURE----- |