DavidKinder / Windows-Frotz

Z-code interpreter for Windows, based on Stefan Jokisch's Frotz interpreter core.
http://www.davidkinder.co.uk/frotz.html
GNU General Public License v2.0
58 stars 12 forks source link

Continuous integration using appveyor #10

Closed borg323 closed 3 years ago

borg323 commented 5 years ago

I don't know if this is of interest, but I managed to get Windows-Frotz building under appveyor. You can see the details in https://github.com/borg323/Windows-Frotz/tree/appveyor.

DavidKinder commented 5 years ago

Thanks, but I'm going to pass on this - Windows Frotz doesn't usually see that much development these days, so I don't think it's really worth it.

borg323 commented 5 years ago

This is fine, but note that this branch has two patches that may be of interest:

  1. https://github.com/borg323/Windows-Frotz/commit/97c3b9756de32f003968ac7d7b1f4f915d594cf5 makes some changes that were needed in order to build with VS2017 and VS2019. I'm don't normally use VS so there may be better ways to do this but I had to change the link order of two libraries and a resource file was not found.
  2. https://github.com/borg323/Windows-Frotz/commit/a47c86b9d2a98aed24f2b5db4499ecec7ba40bfa is to use the latest jpeg lib. This looks bigger than it is, it just removes two source files and adds two new ones.
DavidKinder commented 5 years ago

On the patches:

  1. I will have a look at these and see if I want some or all of them, so I've re-opened the issue.
  2. Hmmm. The latest libjpeg is rather controversial. The libjpeg project seems to have been revived by a different author (Guido Vollbeding) who seems to have some distinctly odd opinions on the legality of forking software, along with some other strangeness (see, for example, https://en.wikipedia.org/wiki/Talk:Libjpeg) For now, I am sticking with libjpeg 6b. If I were to upgrade, it would be to libjpeg-turbo, which is what most of the Linux distributions seem to have done.
borg323 commented 5 years ago

The only reason I used the latest libjpeg version is that 6b has a typedef for INT32 that is incompatible with a microsoft header definition. I can just use sed to change it, or maybe define somewhere XMD_H which avoids the offending typedef but is a bit messy. Using libjpeg-turbo is also an option as it handles this better: https://github.com/libjpeg-turbo/libjpeg-turbo/blob/master/jmorecfg.h#L175

borg323 commented 5 years ago

Just noticed that using libjpeg 6b was an explicit decision (commit https://github.com/DavidKinder/Windows-Frotz/commit/c03ea408708bdb6a5e2c596f4a93f866f7f84b5d). I'll work around the INT32 issue another way.

DavidKinder commented 3 years ago

Closing as Windows Frotz is now built with Visual Studio 2019.