selecting the build architecture.
configure.in: Add the configuration option.
INSTALL: Documented it.
chores.3dfx: Make it selectable easily from this script.
134 lines
5.9 KiB
Plaintext
134 lines
5.9 KiB
Plaintext
QuickStart Instructions
|
|
=======================
|
|
% ./chores.3dfx --clean --generate \
|
|
--configure[=whatever configuration options you want] \
|
|
--build
|
|
% cd build
|
|
% ./build.3dfx install
|
|
N.B.: The last command may have to be executed as root. It will
|
|
install libglide3x.so into /usr/lib, and the glide include
|
|
files into /usr/include/glide3.
|
|
|
|
SwiftButNotQuickButMoreConventionalStart Instructions
|
|
=====================================================
|
|
% aclocal && automake && autoconf
|
|
% mkdir build
|
|
% cd build
|
|
% ../configure [ whatever options you want ]
|
|
% make -f makefile.autoconf all 2>&1 | tee make.hst
|
|
|
|
SlowStart Instructions
|
|
======================
|
|
This is generally a standard GNU automake/autoconf project.
|
|
o There is a script named "configure" in the root of the
|
|
source directory which creates makefiles with parameters
|
|
set as appropriate for a particular system.
|
|
o We use automake to make makefile templates and autoconf
|
|
to make a configure script from configure.in.
|
|
|
|
However, there are some small wrinkles.
|
|
0.) Building from the CVS archive requires several tools,
|
|
notably automake autoconf and libtool. These, in
|
|
turn, have their own requirements. The versions of some of the
|
|
tools used to create the configuration are:
|
|
o automake: 1.4
|
|
o autoconf: 2.13
|
|
o libtool: 1.3.3
|
|
o GNU m4: 1.4 (used by autoconf.)
|
|
o perl 5.005_03
|
|
FWIW, this was debugged on a Debian distribution, using
|
|
a not-completely-current frozen release.
|
|
1.) The makefiles are all named makefile.autoconf. This is because
|
|
the Glide code is built for several platforms, one of which
|
|
is Win32. The Win32 build uses the name makefile, and so we need
|
|
to use another. Except for the top build, the makefile.autoconf
|
|
makefiles take care of choosing the right names. (But see
|
|
the note below about build.3dfx.)
|
|
2.) The (canonical) sequence of files is:
|
|
makefile.autoconf.am --> makefile.autoconf.in (b)
|
|
--> makefile.autoconf (c)
|
|
Note:
|
|
(a) You will have to run aclocal before automake.
|
|
(b) makefile.autoconf.in is created by automake as usual.
|
|
(c) makefile.autoconf is created by the configure script,
|
|
as usual. It is the concatenation of the
|
|
makefile.autoconf.in file created by automake, and
|
|
some constant boilerplate from the file
|
|
swlibs/include/make/makefile.autoconf.bottom
|
|
3.) The configuration options are:
|
|
--enable-fx-debug: Build for debugging. This is
|
|
actually the default. Turn it
|
|
off by --disable-fx-debug or
|
|
else --enable-fx-debug=no.
|
|
--enable-fx-glide-hw=<asic> Build for the given asic.
|
|
asic HW
|
|
h5 Voodoo4/VoodooV
|
|
h3 Voodoo3/Banshee
|
|
cvg Voodoo2. (It's not clear that this
|
|
works at all.)
|
|
--enable-fx-dri-build Make links called *.c to the files
|
|
named *.c.dri. This will build
|
|
h3 for DRI. To build h3 stand alone,
|
|
use --disable-fx-dri-build.
|
|
--enable-amd3d Build with 3DNow instructions.
|
|
--enable-fx-texus=library Choose which texture manipulation
|
|
library to use. The default value,
|
|
texus, is the only one which is
|
|
currently functional.
|
|
--enable-build-architecture Choose which architecture to build
|
|
for. The legal values are i[3456]86,
|
|
or the alpha.
|
|
4.) There is a script, build.3dfx, which is installed by the
|
|
configure script at the root of every build directory. It
|
|
is essentially the single line:
|
|
make -f makefile.autoconf "$@"2>&1
|
|
however, there is some cruft to determine how much time and
|
|
disk space is used by the compilation. There is also some
|
|
stuff there to put information in the title bar of xterms,
|
|
because I like it. If you don't like this, don't use it,
|
|
and build your own script.
|
|
5.) There is a second script, chores.3dfx, which takes care of some
|
|
chores, such as cleaning emacs backup files, deleting old makefiles,
|
|
generating new makefiles and configuring. I find this is useful,
|
|
but it is not required. The --help command gives usage.
|
|
6.) A special note about H3:
|
|
The Glide3 H3 source can be built as a DRI client or as a
|
|
stand alone library. Controlling which gets built is done by
|
|
setting up symlinks. The configuration script sets up the
|
|
symlinks in the build directory.
|
|
|
|
To setup glide3x/h3 to build as a DRI client, configure with
|
|
the --enable-fx-dri-build. To setup glide3x/h3 to build as a
|
|
stand alone client, configure with --disable-fx-dri-build.
|
|
|
|
The default is to build as a DRI client.
|
|
7.) A special note about H5:
|
|
The Glide3 H5 source can only be built as a DRI client, so the
|
|
symlinks necessary for the H3 tree are not necessary for the H3
|
|
tree.
|
|
|
|
So, to make things from absolute scratch, run one of these command
|
|
sequences:
|
|
1.) Using chores.3dfx
|
|
% ./chores.3dfx --clean --generate --configure --build
|
|
This will build in a directory named "build". If you want to
|
|
use another name, use "--build=build_dir". For example,
|
|
--build=/tmp/glide.build
|
|
2.) Not using chores.3dfx
|
|
#
|
|
# Create the makefile.autoconf files.
|
|
#
|
|
% aclocal && automake && autoconf
|
|
#
|
|
# Make a build directory and configure it.
|
|
#
|
|
% mkdir build
|
|
% cd build
|
|
% ../configure [whatever options you want here]
|
|
#
|
|
# Build everything, using one of these two commands:
|
|
1.) % ./build.3dfx all | tee make.hst
|
|
2.) % make -f makefile.autoconf all 2>&1 | tee make.hst
|
|
#
|
|
#
|