1*********************************
2*
3* Installing xye
4*
5*********************************
6
7
8Compiling
9==========
10
11 Unless you got xye from a binary package you'll need to follow the next steps.
12
13 Xye is based on gcc's library and SDL with SDL_image, it should be usable in many other platforms, but I am going to support win32 and linux only, mainly because I don't have access to other platforms and can't test xye on them  currently.
14
15* Make sure you have gcc compiler and make
16
17
18* Install SDL, SDL_image and SDL_ttf many linux distributions have packages for these libraries available, otherwise refer http://www.libsdl.org for more information about installing them.
19* If you found packages in your distribution, make sure to also install the 'dev' versions of those libraries. (Since we want to compile the game)
20
21
22* extract the tar.gz .
23
24* From now we'll call the folder where the files were extracted: /xyelocation/
25
26  cd /xyelocation/ or chdir /xyelocation/
27
28  ./configure
29
30* If you get errors here most likely you need to install SDL and SDL_image correctly, we require version 1.2.7 or higher for SDL, and SDL_image requires png support (should be the biggest reason to ever use SDL_image).
31
32   make
33   make install.
34   xye
35
36* some systems require you to use sudo for make install (namely ubuntu)
37
38   sudo make install
39  instead of
40   make install
41
42* For ubuntu I recommend to use "sudo checkinstall" so you can later uninstall the game if you want.
43
44* You can now use "xye" on the command line to run xye, you can also set up a desktop icon for the xye command depending on your distribution.
45
46Alternative Setup
47=================
48If you don't have priviledges to make install then you can just compile it normally then when you want to run the game:
49
50cd /xyelocation/
51./xye ./
52Will use the levels/ and res/ folders of the same folder where you are located.
53
54You can also use the command
55/xyelocation/xye/ /xyelocation/
56
57
58Advanced: Removing SDL_TTF requirement.
59=============================
60You can make remove this requirement and make xye use bitmap fonts instead (no UTF8 support) NOTRUETYPE should be defined when compiling, and also make sure to change the skin files so they point to the bitmap font files instead of truetype fonts (and remove the size attribute). Do not hesitate to send queries to vexorian@gmail.com for more information.
61
62---
63
64
65
66What's left is the usual INSTALL file for autoconf packages:
67
68
69Basic Installation
70==================
71
72   These are generic installation instructions.
73
74   The `configure' shell script attempts to guess correct values for
75various system-dependent variables used during compilation.  It uses
76those values to create a `Makefile' in each directory of the package.
77It may also create one or more `.h' files containing system-dependent
78definitions.  Finally, it creates a shell script `config.status' that
79you can run in the future to recreate the current configuration, a file
80`config.cache' that saves the results of its tests to speed up
81reconfiguring, and a file `config.log' containing compiler output
82(useful mainly for debugging `configure').
83
84   If you need to do unusual things to compile the package, please try
85to figure out how `configure' could check whether to do them, and mail
86diffs or instructions to the address given in the `README' so they can
87be considered for the next release.  If at some point `config.cache'
88contains results you don't want to keep, you may remove or edit it.
89
90   The file `configure.in' is used to create `configure' by a program
91called `autoconf'.  You only need `configure.in' if you want to change
92it or regenerate `configure' using a newer version of `autoconf'.
93
94The simplest way to compile this package is:
95
96  1. `cd' to the directory containing the package's source code and type
97     `./configure' to configure the package for your system.  If you're
98     using `csh' on an old version of System V, you might need to type
99     `sh ./configure' instead to prevent `csh' from trying to execute
100     `configure' itself.
101
102     Running `configure' takes a while.  While running, it prints some
103     messages telling which features it is checking for.
104
105  2. Type `make' to compile the package.
106
107  3. Type `make install' to install the programs and any data files and
108     documentation.
109
110  NOTE: If you don't have priviledges to make install, you can execute xye like this:
111     ./xye ./
112
113
114  4. You can remove the program binaries and object files from the
115     source code directory by typing `make clean'.
116
117Compilers and Options
118=====================
119
120   Some systems require unusual options for compilation or linking that
121the `configure' script does not know about.  You can give `configure'
122initial values for variables by setting them in the environment.  Using
123a Bourne-compatible shell, you can do that on the command line like
124this:
125     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
126
127Or on systems that have the `env' program, you can do it like this:
128     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
129
130Compiling For Multiple Architectures
131====================================
132
133   You can compile the package for more than one kind of computer at the
134same time, by placing the object files for each architecture in their
135own directory.  To do this, you must use a version of `make' that
136supports the `VPATH' variable, such as GNU `make'.  `cd' to the
137directory where you want the object files and executables to go and run
138the `configure' script.  `configure' automatically checks for the
139source code in the directory that `configure' is in and in `..'.
140
141   If you have to use a `make' that does not supports the `VPATH'
142variable, you have to compile the package for one architecture at a time
143in the source code directory.  After you have installed the package for
144one architecture, use `make distclean' before reconfiguring for another
145architecture.
146
147Installation Names
148==================
149
150   By default, `make install' will install the package's files in
151`/usr/local/bin', `/usr/local/man', etc.  You can specify an
152installation prefix other than `/usr/local' by giving `configure' the
153option `--prefix=PATH'.
154
155   You can specify separate installation prefixes for
156architecture-specific files and architecture-independent files.  If you
157give `configure' the option `--exec-prefix=PATH', the package will use
158PATH as the prefix for installing programs and libraries.
159Documentation and other data files will still use the regular prefix.
160
161   If the package supports it, you can cause programs to be installed
162with an extra prefix or suffix on their names by giving `configure' the
163option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
164
165Optional Features
166=================
167
168   Some packages pay attention to `--enable-FEATURE' options to
169`configure', where FEATURE indicates an optional part of the package.
170They may also pay attention to `--with-PACKAGE' options, where PACKAGE
171is something like `gnu-as' or `x' (for the X Window System).  The
172`README' should mention any `--enable-' and `--with-' options that the
173package recognizes.
174
175   For packages that use the X Window System, `configure' can usually
176find the X include and library files automatically, but if it doesn't,
177you can use the `configure' options `--x-includes=DIR' and
178`--x-libraries=DIR' to specify their locations.
179
180Specifying the System Type
181==========================
182
183   There may be some features `configure' can not figure out
184automatically, but needs to determine by the type of host the package
185will run on.  Usually `configure' can figure that out, but if it prints
186a message saying it can not guess the host type, give it the
187`--host=TYPE' option.  TYPE can either be a short name for the system
188type, such as `sun4', or a canonical name with three fields:
189     CPU-COMPANY-SYSTEM
190
191See the file `config.sub' for the possible values of each field.  If
192`config.sub' isn't included in this package, then this package doesn't
193need to know the host type.
194
195   If you are building compiler tools for cross-compiling, you can also
196use the `--target=TYPE' option to select the type of system they will
197produce code for and the `--build=TYPE' option to select the type of
198system on which you are compiling the package.
199
200Sharing Defaults
201================
202
203   If you want to set default values for `configure' scripts to share,
204you can create a site shell script called `config.site' that gives
205default values for variables like `CC', `cache_file', and `prefix'.
206`configure' looks for `PREFIX/share/config.site' if it exists, then
207`PREFIX/etc/config.site' if it exists.  Or, you can set the
208`CONFIG_SITE' environment variable to the location of the site script.
209A warning: not all `configure' scripts look for a site script.
210
211Operation Controls
212==================
213
214   `configure' recognizes the following options to control how it
215operates.
216
217`--cache-file=FILE'
218     Use and save the results of the tests in FILE instead of
219     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
220     debugging `configure'.
221
222`--help'
223     Print a summary of the options to `configure', and exit.
224
225`--quiet'
226`--silent'
227`-q'
228     Do not print messages saying which checks are being made.
229
230`--srcdir=DIR'
231     Look for the package's source code in directory DIR.  Usually
232     `configure' can determine that directory automatically.
233
234`--version'
235     Print the version of Autoconf used to generate the `configure'
236     script, and exit.
237
238`configure' also accepts some other, not widely useful, options.
239
240
241
242