an improvement because you have to do a configure before using any makefile.
It used to be "configure; make rpm" and now it's just
"./build/redhat/make-rpm".
of it into pieces, so that you can unzip&configure with one prefix setting
and install with another. This should fix the dlxlinux/bochsrc.txt
pathname problem.
the dlx linux install into 1) unpack and configure, and 2) copy into place.
Because they are separate, we can unpack and configure with prefix=/usr
and then copy into place with prefix=$BUILDROOT/dlxlinux.
under /usr/bochs was just a hack so that I didn't have to list the individual
man pages in the file list. But nobody would find the man pages in
/usr/bochs/man unless they changed their manpath.
everything about the installation path. There should be no more
hardcoded references to /usr/local/bochs. Instead, there are
references to @prefix@ which get replaced by the configure script
with the real prefix.
what directory they were installed in. For example bochs-dlx and
bochs-docs, etc. have the $prefix substituted into them, so if the
prefix is /var/tmp/rpm-buildroot/usr/bochs then they will not work
right.
user's home directory the first time they run bochs-dlx and runs it
from there. This avoids the need for a world-writable directory installed
by the RPM.
for debug configuration or obj-release for release configuration.
- instead of gui,iodev,cpu,etc. having their own obj-debug directory, it
all goes into a single output directory for the whole project. I did
this when I was having trouble getting any debug information from the
static library directories to be recognized in the VC++ debugger. Maybe
it's not necessary.
- changed the compile arguments for the debug config so that debug symbols
are created. We used to have:
debug config: /G6 /MT /W4 /GX /O2
Now it says this:
debug config: /MTd /W3 /GX /Z7 /Od
I guess I haven't tested the release config yet, but the debug config is
working great now. I even have symbolic debugging of functions in the
gui/iodev/cpu libraries.
I don't have to list them, and also apparantly fixes a mysterious problem
which occurred when Anders Nielsen was trying to build the RPM for
PPC: his rpm appears to gzip the man pages automatically, and then
complains that /usr/man/man1/bochs.1 is not found!
- start using autoconf/configure's standard of prefix, exec_prefix, bindir,
mandir to control where make install puts things
- added script install-x11-fonts
- make install no longer tries to install DLXlinux (since not everyone will
want it). Now you must do make install_dlx if you want it.
- renamed erase_install to uninstall
- in RPM spec file:
- run .conf.linux instead of .conf.linux-x86. This is just a name change.
- build directory hierarchy in the buildroot
- patch up broken symbolic links in buildroot (ugly)
- run font install script in %post
- clean up dlxlinux directory in %preun to avoid warning about not
removing /usr/local/bochs/dlxlinux/bochsout.txt
- remove /usr/local/bochs if nothing left in it
in BRANCH-smp-bochs revisions.
- The general task was to make multiple CPU's which communicate
through their APICs. So instead of BX_CPU and BX_MEM, we now have
BX_CPU(x) and BX_MEM(y). For an SMP simulation you have several
processors in a shared memory space, so there might be processors
BX_CPU(0..3) but only one memory space BX_MEM(0). For cosimulation,
you could have BX_CPU(0) with BX_MEM(0), then BX_CPU(1) with
BX_MEM(1). WARNING: Cosimulation is almost certainly broken by the
SMP changes.
- to simulate multiple CPUs, you have to give each CPU time to execute
in turn. This is currently implemented using debugger guards. The
cpu loop steps one CPU for a few instructions, then steps the
next CPU for a few instructions, etc.
- there is some limited support in the debugger for two CPUs, for
example printing information from each CPU when single stepping.