summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL89
1 files changed, 89 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..e91cf2d
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,89 @@
+ THE UR-QUAN MASTERS: BUILD INSTRUCTIONS
+ ---------------------------------------
+
+INSTALLING PREREQUISITES
+------------------------
+
+To build The Ur-Quan Masters, you must first install its
+prerequisites: SDL2, PNG, Ogg Vorbis, and Zlib. How to do this will
+depend on what operating system you are running:
+
+On Debian or similar systems like Ubuntu, install the following packages:
+
+ sudo apt-get install build-essential libogg-dev libpng-dev libsdl2-dev \
+ libvorbis-dev libz-dev
+
+On Fedora or similar systems like CentOS, install these packages:
+ sudo dnf install libogg-devel libpng-devel libvorbis-devel make SDL2-devel \
+ zlib-devel
+
+On macOS, install Xcode from the App Store, and then install
+"Additional components" when you run it for the first time. You can
+then install brew from https://brew.sh and then use it to install your
+requirements from the Terminal:
+
+ brew install libogg libpng libvorbis sdl2
+
+On Windows, you will need to use the MSYS2 system from
+https://www.msys2.org -- after you install the base system, open an
+"MSYS2 MSYS" window and update the system with the command
+
+ pacman -Syuu
+
+until there is nothing left to do. Aftr that you can install the
+packages you will need to build the 32-bit version of UQM:
+
+ pacman -S make pkg-config mingw-w64-i686-gcc mingw-w64-i686-libogg \
+ mingw-w64-i686-libpng mingw-w64-i686-libsystre \
+ mingw-w64-i686-libvorbis mingw-w64-i686-SDL2 mingw-w64-i686-zlib
+
+Actually building UQM will need to be done from a "MSYS2 MinGW 32-bit"
+window, not "MSYS2 MSYS".
+
+BUILDING THE PROGRAM
+--------------------
+
+Building and configuration is managed by the "build.sh" script in the
+same directory as this file. Ordinarily, you will only need the command
+
+ ./build.sh uqm
+
+To configure and build the system. Pass an argument like "-j5" for a
+parallel build using 5 processes. To delete the current bulid and
+reconfigure, issue the command
+
+ ./build.sh uqm clean
+
+And it will clear out all configuration choices.
+
+The configuration process is interactive; for unattended or scripted
+installs, consult the "config.state" file generated by the
+configuration process and synthesize an equivalent as needed; builds
+will then skip the configure step after that.
+
+After the build completes, a binary named "uqm" or "uqm-debug" will be
+created, and should be runnable out of this directory. To produce a
+distributable or installable package that runs on any system, more
+work is needed.
+
+BUILDING AN INSTALLABLE PACKAGE
+-------------------------------
+
+LINUX: The UQM project does not officially maintain any installation
+packages for any Linux distro, but other volunteers have often done
+this already. In general, all that will be needed is to arrange
+matters so that the uqm binary and the content directory are installed
+into globally accessible locations, and that it is invoked with
+arguments that properly identify those directories.
+
+WINDOWS: An installable Windows build takes the UQM.EXE file created
+by the build process and then correlates it with the prepackaged
+content packs to produce an installer executable that will download
+all other data from sourceforge. See INSTALL.win32 for the extra steps
+required for this.
+
+MAC: A redistributable package on macOS is an app bundle that contains
+everything needed to run the program. Because of the way brew handles
+system dependencies, the program must be built differently to be
+redistributable. See INSTALL.macos for details on how to do this.
+