under way to move the remnants of the a.out toolchain to ports. As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL. It has already lasted WAY beyond
that.
Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.
Tested on: i386 (extensively), alpha
EXEGRP and EXEMODE are used to install DOS (EXE format) binaries.
doscmd(1) can optionally be installed as ``setgid kmem''.
Hence the assignment operator for EXEGRP.
PR: bin/30538
- slightly more accurate VGA hardware emulation;
- more int 10 functions, especially wrt to palette handling;
- first shot at graphics support;
- mode switching.
Bugs:
- graphics too slow;
- only 16 color modes work for now;
- works only under X, and only with 16 bit TrueColor visuals;
- far from being genuinely useful (I can play an old EGA game now, though
(mahjongg.exe)).
Also, the code has been cleaned up a bit (more to come in a separate commit).
breaking a cross-build caused by taking the X libraries on the
build machine. In general this means that we never compile with
X support. The user has to manually compile doscmd for that.
Suggested by: bde, imp (among others)
`ld ... <fudged ${LDFLAGS}>' to invoke the linker. This gets the
flags and standard library paths right without complications.
Unfortunately, it doesn't help for the X11 library paths -- cc
only appends /aout for standard library paths.
since it means -s (strip), and static linkage is forced correctly
anyway. Other things in ${LDFLAGS} are still bogusly passed to ld.
This only affects the aout case.
Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.
This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.
We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
linkage rule is overridden. The -L option must be in ${DPADD} so that
`make checkdpadd' works. Actually use ${DPADD}.
FIxed missing dependencies for doscmd. Use ${LIBCRT0} instead of a
hard-coded path in the rule for doscmd.
Added comments about the kludges used to build 2 binaries and 2 data
files in one directory. It shouldn't be done this way. The dependencies
on sources took extra work to get right, and the dependencies on objects
are still broken (one set is missing and the other has the wrong libs).
Fixed some style bugs while I'm here:
- don't override the (correct) default for MAN1.
- use `beforeinstall', not `afterinstall' to install auxiliary files.
`afterinstall' is for fixing messes made by `install'.
interface for callbacks to doscmd from DOS, obsoleting the instbsdi
redirector. (redir.com replaces it)
A temporary hack is in place so the instbsdi program will (hopefully) work
in the short term.
Submitted by: Helmut F. Wirth <hfwirth@ping.at>
include directory, rather than X11BASE. This fixes the build for people
who only have the shared X11 distribution installed.
Requested-by: A Joseph Koshy <koshy@india.hp.com>