Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
environment:
SDL2_VERSION: 2.0.9
MINGW_SHELL: C:\MinGW\msys\1.0\bin\bash
CYG_ARCH: x86_64
CYG_ROOT: C:/cygwin64

matrix:
- MACEMU_PROJECT: BasiliskII
MACEMU_OS: Unix
- MACEMU_PROJECT: SheepShaver
MACEMU_OS: Windows


build: off

install:
- set PATH=C:\cygwin64\bin;%PATH%
- '%CYG_ROOT%\setup-%CYG_ARCH%.exe -qnNdO -R %CYG_ROOT%
-l %CYG_ROOT%/var/cache/setup
-P autoconf
-P automake
-P bison
-P curl
-P gcc-core
-P gcc-g++
-P gettext
-P gettext-devel
-P git
-P intltool
-P libgmp-devel
-P libiconv
-P libncurses-devel
-P libreadline-devel
-P libtool
-P make
-P mingw-binutils
-P mingw-gcc-core
-P mingw-gcc-g++
-P mingw-pthreads
-P mingw-runtime
-P mingw-w32api
-P pkg-config
-P wget'
- IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-%SDL2_VERSION%.zip appveyor DownloadFile http://libsdl.org/release/SDL2-%SDL2_VERSION%.zip
- unzip -o SDL2-%SDL2_VERSION%.zip
- ren SDL2-%SDL2_VERSION% my_SDL2
- '%MINGW_SHELL% -c "export PATH=.:/usr/local/bin:/mingw/bin:/bin:$PATH && cd my_SDL2 && ./autogen.sh && ./configure --disable-shared && make && make install"'


test_script:
- ps: $ProgressPreference = "SilentlyContinue"
- 'echo %MACEMU_PROJECT%'
- 'cd %MACEMU_PROJECT%'
- ps: ($env:MACEMU_PROJECT -eq "SheepShaver") -and $(make links)
- 'cd src/%MACEMU_OS%'
- '%MINGW_SHELL% -c "export PATH=.:/usr/local/bin:/mingw/bin:/bin:$PATH && NO_CONFIGURE=1 ./autogen.sh && ./configure && make"'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bit here fails because there is no autogen.sh in src/Windows. I tested it out by removing autogen.sh and replacing it with autoconf, which results in this:

https://ci.appveyor.com/project/davewongillies/macemu/builds/25887698

Here's my current appveyor.yml

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... it should be building out of src/unix (see the matrix env vars above), as per these instructions kanjitalk755/macemu#14 (comment)

I think there is indeed an autogen.sh in that directory. However, I will definitely run into that issue on the SheepShaver/Windows combination.

Copy link

@davewongillies davewongillies Jul 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so I just straight up copied the autogen.sh from the Unix directories. Looks like there's something funky with configure.ac with BasiliskII:

./configure: line 4220: syntax error near unexpected token `1.3.15,'
./configure: line 4220: `  AM_PATH_GTK_2_0(1.3.15, ,'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And SheepShaver has other errors: https://ci.appveyor.com/project/davewongillies/macemu/builds/25888060/job/huo5il5fbp40aiof

/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:186: the top level
done.
 + Running autoconf: configure.ac:186: warning: AC_CACHE_VAL(ac_cv_gcc_no_strict_aliasing, ...): suspicious presence of an AC_SUBST in the second argument, where no actions should be taken
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:186: the top level
configure.ac:31: error: possibly undefined macro: AM_PATH_GTK_2_0
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:32: error: possibly undefined macro: AC_MSG_WARN
done.
 + Running 'configure ':
   ** If you wish to pass arguments to ./configure, please
   ** specify them on the command line.
configure: error: cannot run /bin/sh ../Unix/config.sub

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So looking through this guide is looks like there's some steps there that aren't part of the default build process for Windows that possibly should get merged into here (I don't know how up to date that guide is though)?

Copy link
Member Author

@ianfixes ianfixes Jul 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is an old project with many guides still available online that have long since fallen out of date or relevance. @kanjitalk755 is the most active current maintainer, and that's where the guide I had followed came from.

... and I see now that I'm mistaken in using the unix build, it was just using the unix autogen.sh! Must have been a late night.

As far as the "syntax error near unexpected token" / "AM_*" error you're getting, is autoreconf getting run either directly or as part of any of the scripts you're running (it was in cxmon's boostrap.sh)? Supposedly that will fix those errors.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... it should be building out of src/unix (see the matrix env vars above), as per these instructions kanjitalk755/macemu#14 (comment)

Oh interesting. OK, so going off of those instructions, it looks like its building out of src/Windows but calling autogen.sh from src/Unix:

cd ~/src/macemu-master/BasiliskII/src/Windows
NO_CONFIGURE=1 ../Unix/autogen.sh
./configure
make

I've updated the build to do that an am getting further now:

https://ci.appveyor.com/project/davewongillies/macemu/build/job/qsp8gaylngd63o7b

It's failing to find some build deps, which is promising

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've switched back to building SDL in the test job instead of Cygwin's version and am now getting further in the build process: https://ci.appveyor.com/project/davewongillies/macemu/build/job/2985rhps1c0ve624

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm at bit of a loss here to what to do to get things pushed forward. I've tried quite a few things. I think (this is just a gut instinct) that the build environment should probably get changed from Cygwin to MinGW or MSYS2, but I don't really know either of those well enough.

Two errors that I hit on with both MSYS2 and Cygwin was:

checking whether your system supports Windows exceptions... no
configure: error: Sorry, Windows exceptions don't work as expected on your system.
make: *** No targets specified and no makefile found.  Stop.

or if I could force things past that point, compilation errors

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These links are all redirecting to the latest build, so I opened #109 to more easily track the progress.



# on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
29 changes: 0 additions & 29 deletions appveyor.yml

This file was deleted.