|
![]() |
#1 |
Rookie
Join Date: Feb 2018
Posts: 12
![]() |
How to make a binary release of Angband 4.1.0
I made a kind of variant of Angband 4.1.0 (see 10v24.net/ang) a few years ago and never made a Windows binary of it. Now I have a Windows 8.1 computer and have installed msys2 and so on, and want to make a Windows binary that people can download.
In ./configure, there are three options for installation: shared scorefile (like on old fashioned Unix server), private directory, and "with no install". Each option sets a different path or paths for game data, etc. From the output of ./configure, it looks like the path is always to something particular to my computer. Is there a graceful way to have it have a relative path, so that it would work wherever the user installed it? I assume that when the developers make a binary for distribution, they have some way to make it work that way.
__________________
angband-tr (10v24.net/ang) |
![]() |
![]() |
![]() |
#2 |
Swordsman
Join Date: Aug 2019
Posts: 349
![]() |
Does running this in the top-level directory,
Code:
./configure --enable-win --disable-curses --disable-x11 make cp src/angband.exe . cp src/win/dll/*.dll . scripts/pkg_win name_you_want_for_release_here |
![]() |
![]() |
![]() |
#3 |
Veteran
Join Date: Apr 2009
Location: Pisa / DL0
Posts: 1,023
![]() |
If you use git, the fastest way to a Windows release might be copying Vanilla's github workflows to cross-compile to Windows.
__________________
Dive fast, die young, leave a high-CHA corpse. -- You read a scroll labeled 'lol gtfo' of Teleport Level. |
![]() |
![]() |
![]() |
#4 |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 57
Posts: 9,481
Donated: $60
![]() ![]() |
IIRC the simple way to compile on Windows is
Code:
cd src MINGW=yes make -f Makefile.win Then doing Code:
cd .. cp src/angband.exe . cp src/win/dll/*.dll . scripts/pkg_win name_you_want_for_release_here
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
![]() |
![]() |
![]() |
#5 |
Rookie
Join Date: Feb 2018
Posts: 12
![]() |
Thanks for the advice. I now have the problem that when I compile, ld.exe says that some things in mon-blows.h are multiply defined, as though mon-blows.h is included multiple times, perhaps, and this prevents linking from completing. I do see that mon-blows.h includes monster.h, which includes mon-blows.h, which is circular, but this shouldn't be a problem since conditional compilation is used. I have successfully compiled this project in Linux, so I'm guessing maybe there's some difference between the preprocessor (or linker?) in my Linux gcc and my MingW.
I'm wondering if I supplied the right flag to MingW, that would fix it (something like std=c99? which is already set by default).
__________________
angband-tr (10v24.net/ang) |
![]() |
![]() |
![]() |
#6 |
Swordsman
Join Date: Aug 2019
Posts: 349
![]() |
That's a problem from Angband 4.1.0, which you'd also see if compiling 4.1.0 on versions of Linux from the past 3 years or so (certainly happens with Debian 11 and its packaged versions of gcc and ld). See https://github.com/angband/angband/c...106f679b7845c2 for the fix: modify src/mon-blows.h to add extern to the declarations for blow_methods and blow_effects.
|
![]() |
![]() |
![]() |
#7 |
Rookie
Join Date: Feb 2018
Posts: 12
![]() |
Okay, thanks everyone for the advice, I got it to compile finally, and packaged.
__________________
angband-tr (10v24.net/ang) |
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Making player status effects less binary | Nick | Vanilla | 23 | May 6, 2019 11:23 |
Composband 7.0.3 binary release | Gwarl | Variants | 27 | March 12, 2018 00:45 |
Make Angband Harder ! | Sky | Vanilla | 7 | October 4, 2017 19:22 |
Trying to make ego lights for Angband 2.9.3 | Hajo | Development | 7 | September 1, 2010 09:27 |
Universal Binary? | fyonn | Vanilla | 11 | August 7, 2007 02:29 |