libvga.so.1.* and libvgagl.so.1.* will be created when you compile svgalib
Greetings Rich,
Thanks for the motavation, but w_n_o_$ is my dialect.
What TCP indexing unzips svgalib and what directory should svgalib be in when unzipping?
Also, 'make' should follow what install criteria for TCP:
Installation
If you are happy with the configuration in 'Makefile.cfg' which means
that you want to install an ELF shared library and probably an a.out
shared library for support of some old binaries (and if the svgalib tar
file you got already contains such an precompiled a.out shared library)
just running
make install
as root should take care of proper installation. After installation,
you MUST edit /etc/vga/libvga.config to set the monitor and mouse type.
Depending on your hardware, other setup might be required. Checkout
'man 7 svgalib' for details after you installed svgalib (or see
doc/0-README)
It is a good idea to read and check the configurable section of
Makefile.cfg nevertheless, even if you don't think you have to. Also,
if your are using GLIBC you have to uncomment the definition of
USEGLIBC in Makefile.cfg as glibc is not completely compatible to the
linux libc (at least at compile time).
Let me rephrase this: YOU MUST COMPILE AND INSTALL AS ROOT.
If you don't nothing bad will happen during compilation, but certain
tools won't be able to become SETUID ROOT which is required for
proper operation.
In case you change anything in 'Makefile.cfg' which does not just control
which parts to install and where, you *MUST* issue a 'make clean' prior to
'make install' to remove any already compiled objects and force complete
recompilation.
Edit Makefile.cfg to change installation paths and to select the parts
that should be installed.
If you have an ET4000 card, read 'man 7 svgalib.et4000' and copy the
appropriate register file to et4000.regs. Remember to set the DAC type.
The default behaviour is the following:
Shared libraries are installed in /lib and /usr/local/lib, header files
in /usr/local/include (any old header files in /usr/include are
removed). In the Slackware distribution the linkable libraries are in
/usr/lib, and the utilities in /usr/bin; these are now removed by 'make
install'. Until now just doing make install with Slackware might have
produced duplicate binaries, but fortunately the newer version in
/usr/local/* would have taken precedence in use.
The et4000 registers (et4000.regs) are installed as
/etc/vga/libvga.et4000, but only if this file does not exit yet. The
same goes for the configuration file, libvga.config.
Textmode utilities are installed in /usr/local/bin. These are
restorefont, runx, restorepalette, dumpreg, restoretextmode, textmode,
savetextmode, fix132x43, and mode3.
If you change Makefile.cfg to install the static libraries, static
libraries are compiled, and installed in /usr/local/lib. Note that you
do not need to do this; the shared library is enough.
If you now run 'make demoprogs', the demo programs are created in the
demos/ and threeDKit/ directory. If you
You can remove previously installed files (not the et4000 registers and
config file and manual pages) with 'make uninstall'.
In 1.28 the makefiles were changed. With minimal effort you can compile
it from a separate (even read-only) source tree. Just make a copy of
Makefile and Makefile.cfg into a writable dir, and change srcdir (or
override from environment) to the directory where the source code is.
This feature, as well as the code for ELF compilation was kindly
contributed by Stephen Lee <sl14@crux1.cit.cornell.edu>.
`make static' compiles a static version of svgalib. It is not
automatically installed by default but you can enable that from
Makefile.cfg. Note though, that if you specify installation of the static
libraries in 'Makefile.cfg' a simple 'make install' will compile the
static library first.
If you do not configure Makefile.cfg to install the shared libs, the
demoprogs and utilities are linked against the new static lib
(regardless of one already installed). However, the static libraries are
not build automatically then. You must issue a 'make static' first.
Building elf or a.out shared libraries can easily be configured in the
Makefile.cfg. Be sure to issue a `make clean' after changing the
TARGET_FORMAT setting.
If you specified elf, `make install' will compile the shared libs as
they don't come pre-built. This is nothing to worry about. Compilation
is easy and will not use any user action.
This is not true for a.out and there is a special hack in the makefiles
for this. As svgalib is distributed there is no attempt to recompile the
a.out sharedlibs. Prebuild images are already included.
If you have the required tools-* installed and if you made patches (or
just feel like recompiling) issue a `make clean' and `make shared' to
enforce recompiling of the a.out sharedlibs (from then on even a make
install will update the shared library if sources changed). Issue `make
distclean' after a `make shared' to fall back to the distribution
behaviour.
However, getting the right tools becomes more and more complicated as
it gets less important to give a.out support. Right now you even have to
hand patch the last tools-* release to make it usuable with current
compilers. In general I discourage trying to compile the a.out libs.
Just use the images that come with svgalib.