Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Development (http://angband.oook.cz/forum/forumdisplay.php?f=10)
-   -   Getting Angband from Github and compiling it (http://angband.oook.cz/forum/showthread.php?t=4302)

Magnate April 9, 2011 22:17

Getting Angband from Github and compiling it
 
This tutorial assumes that you are using git at a command line. If you are using git via a GUI or IDE, you probably know all this already. Besides, there are too many possible GUIs to cover them all.

If you are seeking to build v4 rather than V, follow the instructions below, but everywhere you see github.com/something/angband, use github.com/something/v4 instead.

1. First, create yourself an account at github.com. We'll call this account yourname. You don't strictly have to do this: if you really don't want a github account, skip step 2.

2. Having logged into your github account, go to http://github.com/angband/angband and click the Fork button. This will create a fork of the official repo at your github account.

3. On your local machine do "git clone git://github.com/yourname/angband dirname". This will create a local copy of your fork of the official repo in dirname. If you didn't create a github account, just clone git://github.com/angband/angband instead, and that will create a local copy of the official repo directly. This means that you won't be able to push any changes back to github, so you can't share your brilliant fixes and customisations with the rest of us, but never mind.

4. Change directory into dirname, and that's basically it - you are now able to build the latest nightly version of angband yourself. How you do this will depend on your build environment, but don't forget to "make clean" in between builds - and if you're on *nix, you'll need to use "./autogen.sh; ./configure" the first time you build, and after every "make distclean".

You can use "configure --help" to see the different options available. The ones you may want to consider are

--with-no-install, if you want to play it from the git directory, rather than installing it elsewhere on your system

--enable-sdl, to build the SDL port (start it with "angband -msdl")

(the rest of these are irrelevant on Windows, but useful on unix/mac)

--enable-gtk, to build the GTK port (start with "angband -mgtk")

--disable-x11, if you don't want it to build the x11 port

--disable-curses, if you don't want it to build the console port

--with-setgid=groupname, if you want a system-wide installation (i.e. for all users)

myshkin April 9, 2011 23:05

Mac OS X users will need to have the Developer Tools installed, or some other means of getting at a compiler. Also, while the autoconf/configure toolchain works on Mac OS X, it won't yet generate Mac OS X application bundles. If you want to play under the terminal or in X11, that's fine. Otherwise, instead of Magnate's step 4, cd into the src directory and run make -f Makefile.osx. I intend to add Mac OS X support to configure.ac, but would welcome patches, as it's not highest on my to-do list.

Spacebux May 12, 2011 23:10

Little help, please... ( * o *)/~~
 
Quote:

Originally Posted by Magnate (Post 50873)
(Pav - I thought I'd offer this because the stickied SVN thread is now out-of-date for V - feel free to nuke it if it's not helpful enough. Maybe it's obsolete now we have nightlies?)

This tutorial assumes that you are using git at a command line. ...

I cannot get past this compile error for z-file.c on Windows using Cygwin/MinGW.

gcc -DWINDOWS -Wall -Wextra -Wno-unused-parameter -std=c99 -Wdeclaration-after-s
tatement -O2 -I. -c -o z-file.o z-file.c
z-file.c:25:21: direct.h: No such file or directory
z-file.c: In function `dir_create':
z-file.c:713: error: too few arguments to function `mkdir'
z-file.c:716: error: too few arguments to function `mkdir'

make: *** [z-file.o] Error 1
I have looked, but I fail to see the issue in the code. More specifically, I'm not sure how many arguments and which are missing from mkdir.

I've fallen and cannot get up....

Also, I had to resort to the 3.2.0 source Makefile to get it to go... couldn't get any of the newer Makefiles to work with my Cygwin setup, even after updating MinGW. clueless...

-SBux-

d_m May 13, 2011 00:00

To build for Windows, you're supposed to cd into src and then run "make -f Makefile.win"... is that what you're doing?

Spacebux May 13, 2011 01:06

Quote:

Originally Posted by d_m (Post 52822)
To build for Windows, you're supposed to cd into src and then run "make -f Makefile.win"... is that what you're doing?

Yeah, that is what I was doing...

It couldn't locate that certain header file, so I yanked that section out of the code, and it compiles.

direct.h <-- file not found... so, no directory creation for me. :D

-SBux-

takkaria May 13, 2011 03:15

Quote:

Originally Posted by Spacebux (Post 52823)
Yeah, that is what I was doing...

It couldn't locate that certain header file, so I yanked that section out of the code, and it compiles.

direct.h <-- file not found... so, no directory creation for me. :D

-SBux-

do you not mean dirent.h?

Spacebux May 13, 2011 04:35

Quote:

Originally Posted by takkaria (Post 52825)
do you not mean dirent.h?

Did not thunk of that it might be a simple mis-spelling:

https://github.com/angband/angband/b...c/z-file.c#L18
#ifdef WINDOWS
# include <windows.h>
# include <io.h>
# include <direct.h>
#endif

takkaria May 13, 2011 09:39

Quote:

Originally Posted by Spacebux (Post 52828)
Did not thunk of that it might be a simple mis-spelling:

https://github.com/angband/angband/b...c/z-file.c#L18
#ifdef WINDOWS
# include <windows.h>
# include <io.h>
# include <direct.h>
#endif

Actually, it's not just a simple misspelling, because that works absolutely fine when building the game for me. But if it fixes it for you, excellent. :)

Tobias May 13, 2011 14:45

How do you pull changes from the main repo into your personal fork?

takkaria May 13, 2011 16:15

Quote:

Originally Posted by Tobias (Post 52840)
How do you pull changes from the main repo into your personal fork?

If you branched from the official github repository, then 'git pull' should automatically merge them in for you.


All times are GMT +1. The time now is 20:00.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.