Step 1, the compile, must be done locally on a MacOSX machine. This
gives us the contents of the resource fork, which will be checked into
CVS as script_compiled.rsrc every time the script sources change. Step 2
can be done remotely on the SF compile farm: reconstruct the script
from the separate data and resource fork files.
- not all filesystems support resource forks! I added a test in the
makefile to check that the resource fork is accessible, so that at least
we will get a clear error message if the filesystem doesn't support it.
- configure script adds -DBX_PLUGIN_PATH="${plugdir}" to CFLAGS/CXXFLAGS
in the Makefile.
- in main.cc, if plugins enabled and the environment variable LTDL_LIBRARY_PATH
is not set, then it gets set to the value supplied by BX_PLUGIN_PATH.
Modified Files:
main.cc Makefile.in configure.in config.h.in configure
> Dlltool creates a useless file called 'mingwex'.
> I think the first dlltool call should only contain bochs object files and
> no link options or external libraries.
needs to include the .o's and .a's that are part of the Bochs source code
so that it can create a list of Bochs symbols that need to be exported.
I started out using the same list as the link line, but dlltool
doesn't accept all the same options as the link such as -I and -L.
- plugins are installed into ${plugdir} which is defined to be
${libdir}/bochs-${VERSION}/plugins.
Modified Files:
Makefile.in plugin.cc configure.in configure gui/Makefile.in
iodev/Makefile.in
I believe that if we had correct BOCHSAPI macros on everything then it
would not be necessary, and on my cygwin box it isn't necessary. However
it seems that on other versions of cygwin it is necessary. The trouble with
--export-all-symbols is that it's making bochs.exp much bigger so the binary
grows by 900k, compared to exporting only the symbols that are marked. If
someone with that "other" version of cygwin can figure out where BOCHSAPI is
needed, this can be removed.
a control panel, but now we're calling it a text configuration interface.
Modified:
.bochsrc Makefile.in bochs.h main.cc cpu/Makefile.in
debug/Makefile.in disasm/Makefile.in fpu/Makefile.in
gui/Makefile.in iodev/Makefile.in memory/Makefile.in
Update Makefile.in to compile it that way.
This fixes a VisualAge problem which prevented bximage from compiling.
I still use the C++ linker for bximage since I don't think it
makes any difference. If it does, that should be changed also.
Patch name: patch.macosx-console-launch-script
Author: Jeremy Parsons <brefin@mac.com>
Date: Wed Oct 16 2002
Detailed description:
Since the Carbon gui does not yet have a console window of its own, then it
can't be configured from the gui (only the command line) and stdout/stderr both
go to the console. As a shortcut, I offer this patch consisting of this file and
build/macosx/script.data
build/macosx/script.r
build/macosx/bochs.applescript
script.data and script.r are taken from a script compiled into an application.
Flattened out to be checked in. (osacompile can produce runnable scripts, but
wants to create them for the classic environment, so I use these files as part
of a workaround)
When bochs.app is built, it also builds bochs.scpt. To use bochs.scpt you put
both bochs.app and bochs.scpt into the directory with your bochsrc.txt.
bochs.scpt is an applescript that when run notes the current directory, then
tells the terminal application to open a window, cd to the current directory,
and run bochs from the commandline.
----------------------------------------------------------------------
Modified Files:
Makefile.in
Added Files:
build/macosx/bochs.applescript build/macosx/script.data
build/macosx/script.r
when making windows releases, and copy it into the build directory.
However, since some make programs (e.g. freebsd) are giving errors when
bochsdbg is not found (in Linux it just gives a little warning), I have tried
to do it in a more clean way. I put bochsdbg into an "optional" install
list, and put a minus before the line that installs optional files. This
should cause make to ignore any errors that occur while trying to install the
optional ones.
override default. This is useful if you have more than one wx installation,
for example debug and release libraries.
- modified: Makefile.in configure.in configure
instead of winmm being a part of GUI_LINK_OPTS_WIN32 only, it is
placed in @DEVICE_LINE_OPTS@ so that it will be used for sdl, rfb, wx,
etc.
- solve compile problems when building bximage, niclist, and any other
console based program. The compile flags returned by wx-config and
sdl-config did strange things to these console programs, for example
redefining main to SDL_main. Because I wanted to use the
configure-generated CFLAGS to compile the programs, but I wanted to
avoid including GUI specific compile options, I split up the configure's
@CFLAGS@ variable into @CFLAGS@ and @GUI_CFLAGS@, and split
@CXXFLAGS@ into @CXXFLAGS@ and @GUI_CXXFLAGS@. All programs in the
Bochs binary will use both, but the console programs will just use
@CFLAGS@ or @CXXFLAGS@.
- gui/Makefile.in, I no longer use the gui specific CFLAGS variables,
SDL_CFLAGS and WX_CXXFLAGS. These values are included in CFLAGS and
CXXFLAGS now.
- modified: configure.in, configure, all Makefile.in's
enhancement to bochs. You can now configure with
--enable-guest2host-tlb.
Force the support of big pages (PSE) when x86-64 is configured.
Reverted back to only one kind of TLB entry style, since everything
is ported.
Fixed one bug in io.cc with as_64 and the index registers.
There are others, as noticed by Peter.
be used at all, and Peter didn't want it. "extdb.o" is compiled
into libcpu.a, if configured for it.
Removed a few #warnings for x86-64 compile, based on Peter's
line-item comments regarding the warnings I inserted during
the port/merge.
to incrementally merge files. For a test, shift16.cc is always
compiled in the cpu/ directory regardless of 32/64-bit configure.
Ultimately, all files will migrate from cpu64 to cpu.
This adds a whole new directory cpu64 with the new emulation code.
Very few changes were necessary outside cpu64. To try it, configure
with --enable-x86-64 and make.
- also this adds Peter Tattam's external debugger interface.
- modified files: Makefile.in bochs.h config.h.in configure.in
load32bitOShack.cc logio.cc cpu/Makefile.in cpu/cpu.cc debug/dbg_main.cc
- added files: cpu/extdb.cc cpu/extdb.h and cpu64/*
files that need them. This is more in line with the other gui libraries,
and the compile line is easier to read.
- modified: Makefile.in configure.in configure gui/Makefile.in
references in the other manpages are updated.
- the version placeholder is now written in lowercase. This prevents the
modification of the sed argument by 'configure'
- install/uninstall commands for the manpages in Makefile.in modified to make
the changes obove work.
- header and footer of the manpages fixed
- pathnames of installed files updated (FHS compatibility)
- "parport1" section in the bochsrc manpage added
- new option "cdrom" in the "boot" section of the bochsrc manpage added
see patch [ 551811 ]
Location of some files on Bochs installation breaks the
Filesystem Hierrachy Standard, to be found at:
http://www.pathname.com/fhs/
It is important to comply with FHS because most
distributions require it in order to accept packages.
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".
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.
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.
which were generated with gcc -MM to the end of each Makefile.in
so that make understands which files depend on which. Basically,
everything depends on bochs.h, which depends on everything, which
is not ideal.
to run the conf script in order to even have a Makefile. Instead, I just
added some instructions that tell you to run the .conf.win32-vcpp script
yourself and then do "make win32_snap" to unzip the workspace files and
zip up the whole source package.
--with-amigaos is allowed and sets up the makefiles correctly. It
defines a symbol called BX_WITH_AMIGAOS, which should be used in
#if..#endif constructs that are specific to amigaos.
- if --enable-cdrom is used with --with-amigaos, the cdrom_amigaos.o
object file will be added to CDROM_OBJS in the iodev makefile.
- 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