~/bochs-2.6.2
mingw pthread(增加多线程库)
release:
$ ./configure -enable-smp --enable-cpu-level=6 --enable-all-optimizations --enable-x86-64 --enable-vmx --enable-avx --enable-sb16 --enable-cdrom
或debug:
$ ./configure -enable-smp --enable-cpu-level=6 --enable-all-optimizations --enable-x86-64 --enable-vmx --enable-debugger --enable-disasm --enable-avx --enable-sb16
make
make install
编译源码得到支持smp,x86-64的环境,默认发布的提供的是p4 不支持x64。
`configure' configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
X features:
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-static[=PKGS] build static libraries [default=no]
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-ltdl-install install libltdl
--disable-largefile omit support for large files
--enable-idle-hack use Roland Mainz's idle hack (no)
--enable-plugins enable plugin support (no)
--enable-a20-pin compile in support for A20 pin (yes)
--enable-x86-64 compile in support for x86-64 instructions (no)
--enable-smp compile in support for SMP configurations (no)
--enable-cpu-level select cpu level (3,4,5,6 - default is 6)
--enable-long-phy-address
compile in support for physical address larger than
32 bit (yes, if cpu level >= 5)
--enable-large-ramfile enable large ramfile support (yes)
--enable-ne2000 enable NE2000 support (no)
--enable-pci enable i440FX PCI support (yes)
--enable-pcidev enable PCI host device mapping support (no - linux
host only)
--enable-usb enable USB UHCI support (no)
--enable-usb-ohci enable USB OHCI support (no)
--enable-usb-xhci enable experimental USB xHCI support (no -
incomplete)
--enable-pnic enable PCI pseudo NIC support (no)
--enable-e1000 enable Intel(R) Gigabit Ethernet support (no)
--enable-repeat-speedups
support repeated IO and mem copy speedups (no)
--enable-fast-function-calls
support for fast function calls (no - gcc on x86
only)
--enable-handlers-chaining
support handlers-chaining emulation speedups (no)
--enable-configurable-msrs
support for configurable MSR registers (yes if cpu
level >= 5)
--enable-show-ips show IPS in Bochs status bar / log file (yes)
--enable-cpp use .cpp as C++ suffix (no)
--enable-debugger compile in support for Bochs internal debugger (no)
--enable-disasm compile in support for disassembler (no)
--enable-debugger-gui compile in support for Bochs internal debugger GUI
(yes, if debugger is on)
--enable-gdb-stub enable gdb stub support (no)
--enable-iodebug enable I/O interface to debugger (yes, if debugger
is on)
--enable-all-optimizations
compile in all possible optimizations (no)
--enable-readline use readline library, if available (no)
--enable-instrumentation=instrument-dir
compile in support for instrumentation (no)
--enable-logging enable logging (yes)
--enable-assert-checks enable BX_ASSERT checks (yes, if debugger is on)
--enable-raw-serial use raw serial port access (no - incomplete)
--enable-clgd54xx enable CLGD54XX emulation (no)
--enable-voodoo enable 3dfx Voodoo Graphics emulation (no)
--enable-fpu compile in FPU emulation (yes)
--enable-vmx VMX (virtualization extensions) emulation
(--enable-vmx=[no|1|2])
--enable-svm SVM (AMD: secure virtual machine) emulation (no)
--enable-3dnow 3DNow! support (no - incomplete)
--enable-alignment-check
alignment check (#AC) support (yes, if cpu level >
3)
--enable-monitor-mwait support for MONITOR/MWAIT instructions (yes, if cpu
level > 5 - experimental)
--enable-avx support for AVX instructions (no)
--enable-x86-debugger x86 debugger support (no)
--enable-cdrom CDROM support (yes)
--enable-sb16 Sound Blaster 16 Support (no)
--enable-es1370 enable ES1370 soundcard support (no)
--enable-gameport enable standard PC gameport support (yes, if
soundcard present)
--enable-docbook build the Docbook documentation (yes, if docbook
present)
--enable-xpm enable the check for XPM support (yes)
--enable-trace-cache support instruction trace cache (deprecated)
--enable-misaligned-sse misaligned SSE support (deprecated)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-tags[=TAGS] include additional configurations [automatic]
--with-x use the X Window System
--with-x11 use X11 GUI
--with-win32 use Win32 GUI
--with-macos use Macintosh/CodeWarrior environment
--with-carbon compile for MacOS X with Carbon GUI
--with-nogui no native GUI, just use blank stubs
--with-term textmode terminal environment
--with-rfb use RFB protocol, works with VNC viewer
--with-amigaos use AmigaOS (or MorphOS) GUI
--with-sdl use SDL libraries
--with-svga use SVGALib libraries
--with-wx use wxWidgets libraries
--with-all-libs compile all guis that Bochs supports
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
XMKMF Path to xmkmf, Makefile generator for X Window System
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.
debug版本调试: