a6fef54678
- for bochs files with other header, replaced with current mandrake header
247 lines
8.9 KiB
HTML
247 lines
8.9 KiB
HTML
<HTML>
|
|
|
|
<HEAD>
|
|
<META NAME="copyright" CONTENT="Copyright 2001 by MandrakeSoft S.A.">
|
|
<META NAME="Author" CONTENT="Kevin Lawton">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
|
|
<TITLE>Running ./configure</TITLE>
|
|
</HEAD>
|
|
|
|
<BODY TEXT="#000000" BGCOLOR="#ececec" LINK="#3333cc" VLINK="#666666">
|
|
|
|
<CENTER><H1>Running ./configure</H1></CENTER>
|
|
|
|
This is a summary of all the possible options to ./configure.
|
|
Generally speaking, you can just take the defaults and run
|
|
configure without any options. If you need something
|
|
outside of the defaults, consult the following section.
|
|
<p>
|
|
Note that the configure script sets up the Makefiles to use
|
|
the compiler and compiler options from your environment.
|
|
You should set 4 environment variables, before calling configure.
|
|
For example, in bash:
|
|
<pre>
|
|
CC="egcs"
|
|
CXX="$CC"
|
|
CFLAGS="-Wall -O2 -m486 -fomit-frame-pointer -pipe"
|
|
CXXFLAGS="$CFLAGS"
|
|
|
|
export CC
|
|
export CXX
|
|
export CFLAGS
|
|
export CXXFLAGS
|
|
|
|
./configure
|
|
</pre>
|
|
I cheat and use script files to do this for me. You can look
|
|
in files such as ".conf.x86" to see what options I use, and how
|
|
I invoke configure.
|
|
|
|
|
|
<CENTER><H1>Configure Options</H1></CENTER>
|
|
<table border>
|
|
<tr>
|
|
<th>Option</th>
|
|
<th>Defaults to</th>
|
|
<th>Comments</th>
|
|
<tr>
|
|
<td>--enable-cpu-level={3,4,5}</td>
|
|
<td>5
|
|
<td>Select which CPU level to emulate. Choices are 3,4,5 which
|
|
mean target 386, 486 or Pentium emulation.
|
|
</td>
|
|
<tr>
|
|
<td>--enable-cdrom</td>
|
|
<td>no
|
|
<td>Enable use of a real CDROM. The cdrom emulation is always
|
|
present, and emulates a drive without media by default.
|
|
You can use this option to compile in support for accessing
|
|
the media in your workstation's cdrom drive. To use it,
|
|
a small amount of code specific to your platform must be
|
|
written. So far, only Linux is supported. The module
|
|
iodev/cdrom.cc is the place to add more support. For the
|
|
most part, you need to figure out the right set of ioctl()
|
|
calls.
|
|
</td>
|
|
<tr>
|
|
<td>--enable-sb16={<i>dummy, win, linux</i>}</td>
|
|
<td>no
|
|
<td>Enable Sound Blaster emulation.
|
|
The option <i>dummy</i> means support an SB16, but don't use an
|
|
output device. The other options, mean output goes
|
|
to a device on the corresponding platform. So for example,
|
|
you might use '--enable-sb16=linux'. You're platform may
|
|
not be supported yet. Check out <a href="sound.html">
|
|
sound.html</a> for more info.
|
|
</td>
|
|
<tr>
|
|
<td>--enable-dynamic</td>
|
|
<td>no
|
|
<td>Enable dynamic translation support. Actually, this is
|
|
not an option currently. I'm going to rehash the dynamic
|
|
translation support in the future. Don't use this option.</td>
|
|
<tr>
|
|
<td>--enable-ne2000</td>
|
|
<td>no
|
|
<td>Enable limited ne2000 support. This requires a low-level
|
|
component to be written for each OS. One is written only
|
|
for FreeBSD so far. Not complete yet. Don't use this option yet.</td>
|
|
<tr>
|
|
<td>--enable-pci</td>
|
|
<td>no
|
|
<td>Enable limited i440FX PCI support. This is not complete.
|
|
Don't use this option.</td>
|
|
<tr>
|
|
<td>--enable-port-e9-hack</td>
|
|
<td>no
|
|
<td>Writes to port e9 go to console. Unless you know you want
|
|
this option, you don't.</td>
|
|
<tr>
|
|
<td>--enable-cpp</td>
|
|
<td>no
|
|
<td>Use .cpp as C++ suffix. Moves all the .cc files to .cpp for
|
|
use with compilers which want that, like MS C++ compilers.
|
|
Don't use this option unless you know you need it.</td>
|
|
<tr>
|
|
<td>--enable-debugger</td>
|
|
<td>no
|
|
<td>Compile in support for Bochs internal command-line debugger.
|
|
This has nothing to do with x86 hardware debug support. It
|
|
is a more powerful and non-intrusive native debugger.
|
|
Enabling this will of course slow down the emulation.
|
|
You only need this option if you know you need it. After
|
|
you have run ./configure, you may want to edit 'config.h'
|
|
to customize the debugger further. Look at the section
|
|
entitled 'OPTIONAL DEBUGGER SECTION'.</td>
|
|
<tr>
|
|
<td>--enable-disasm</td>
|
|
<td>no
|
|
<td>Compile in support for built-in disassembler. Bochs has
|
|
a built-in disassembler, which is useful if you either
|
|
run the built-in debugger (--enable-debugger), or want
|
|
disassembly of the current instruction when there is a
|
|
panic in bochs. You don't need this option.</td>
|
|
<tr>
|
|
<td>--enable-loader</td>
|
|
<td>no
|
|
<td>Support calling external loader from debugger. This
|
|
is an unsupported option. Don't use it.</td>
|
|
<tr>
|
|
<td>--enable-instrumentation</td>
|
|
<td>no
|
|
<td>Compile in support for instrumentation. This allows
|
|
you to collect instrumentation data from bochs as
|
|
it executes code. You have to create your own
|
|
instrumentation library and define the instrumentation
|
|
macros (hooks in bochs) to either call your library
|
|
functions or not, depending upon whether you want
|
|
to collect each piece of data. I broke some of
|
|
the hooks when I recoded the fetch/decode loop.
|
|
Contact me if you need this option.</td>
|
|
<tr>
|
|
<td>--enable-simid={0, 1}</td>
|
|
<td>0
|
|
<td>CPU simulator ID. You likely don't need this
|
|
option. If you are using bochs to cosimulate, that
|
|
is to run multiple simulators in parallel so that you
|
|
can compare results and check for divergence, each
|
|
simulator needs an ID. When you only have one CPU
|
|
simulator (as usual) the default of 0 is fine. I
|
|
use this option occasionally to run 2 versions of
|
|
bochs against each other and check for divergence,
|
|
to find bugs etc. This option gets broken more than
|
|
not due to architectural changes, and I usually end of fixing
|
|
it each time I use it. <b>NOTE: if you use this to link with
|
|
another simulator, that is outside of the standard
|
|
license, and you need to negotiate a special one with me.</b>
|
|
</td>
|
|
<tr>
|
|
<td>--enable-num-sim={1, 2}</td>
|
|
<td>1
|
|
<td>Number of CPU simulators. The default of 1 is likely what
|
|
you want, so don't use this option. It is for assigning
|
|
an ID to the simulator, for cosimulation described above.</td>
|
|
<tr>
|
|
<td>--enable-time0=n</td>
|
|
<td>no
|
|
<td>Start CMOS clock at at time0 of n instead of using time().
|
|
You likely don't want this
|
|
option. When debugging, it is very helpful to have
|
|
deterministic execution, and the clock is something that
|
|
can skew determinism. If you supply this option, pass
|
|
it a value returned by the time(NULL) call, relating to
|
|
the time you want bochs to start the CMOS clock from. For
|
|
instance, '--enable-time0=917385580'. If you use this option
|
|
but don't provide a value, configure uses a default value.
|
|
Note that the time0 option in .bochsrc will override this value.
|
|
Without this option, the CMOS clock uses a time0 based on
|
|
the value of time(NULL), which is probably what you want.
|
|
</td>
|
|
<tr>
|
|
<td>--enable-vga</td>
|
|
<td>yes
|
|
<td>Use VGA emulation. VGA is the only supported option and
|
|
since it's the default, you don't need to include this option.</td>
|
|
<tr>
|
|
<td>--enable-fpu</td>
|
|
<td>no
|
|
<td>If you want to compile bochs to make use of the FPU emulator
|
|
written by Bill Metzenthen (the one used by the Linux kernel),
|
|
use this option. Since the emulator is now part of the main
|
|
bochs source code, you no longer need to pass any arguments
|
|
to this options.
|
|
</td>
|
|
<tr>
|
|
<td>--enable-x86-debugger</td>
|
|
<td>no
|
|
<td>X86 debugger support. If the software you run in bochs
|
|
needs to use the x86 hardware debugging facilities such as
|
|
DR0..DR8, instruction and data breakpoints etc., then you
|
|
should use this option. Otherwise don't use it, as it
|
|
will slow down the emulation.</td>
|
|
<tr>
|
|
<td>--enable-hga-dumps=Nmicroseconds</td>
|
|
<td>no
|
|
<td>Copy memory to HGA video buffer every N useconds. A
|
|
deprecated option, don't use.</td>
|
|
<tr>
|
|
<td>--with-x11</td>
|
|
<td>yes
|
|
<td>Use X11 GUI. This is the default and you don't need
|
|
this option if you are using X11.</td>
|
|
<tr>
|
|
<td>--with-beos</td>
|
|
<td>no
|
|
<td>Use BeOS GUI. The configure script will run natively
|
|
on BeOS and use this option when doing so.</td>
|
|
<tr>
|
|
<td>--with-win32</td>
|
|
<td>no
|
|
<td>Use Win32 GUI. I think this option was similar to
|
|
--with-win32-vcpp, but for targeting a Win32/gcc
|
|
environment. Deprecated option.</td>
|
|
<tr>
|
|
<td>--with-win32-vcpp</td>
|
|
<td>no
|
|
<td>Use Win32 GUI/Visual C++ environment. This is for running
|
|
configure on a platform which supports running configure, so
|
|
that you may then transfer the configured code over to
|
|
an MS Win32/Visual C++ environment.</td>
|
|
<tr>
|
|
<td>--with-macos</td>
|
|
<td>no
|
|
<td>Use Macintosh/CodeWarrior environment</td>
|
|
<tr>
|
|
<td>--with-nogui</td>
|
|
<td>no
|
|
<td>No native GUI, just use blank stubs. This is if you don't
|
|
care about having video output, but are just running tests.
|
|
This option may not be up-to-date, but can be made so
|
|
easily. If you need it let me know.</td>
|
|
</table>
|
|
|
|
|
|
|
|
</BODY>
|
|
</HTML>
|