diff --git a/bochs/doc/docbook/user/user.dbk b/bochs/doc/docbook/user/user.dbk index 8fb60d0c4..947bc86d3 100644 --- a/bochs/doc/docbook/user/user.dbk +++ b/bochs/doc/docbook/user/user.dbk @@ -1,7 +1,7 @@
Compiling on Win32 with Cygwin - Cygwin is a free Unix-like environment for Windows written by Steve Chamberlain and now maintained by RedHat, Inc. You can download it from www.cygwin.com. Because Cygwin supports the configure script and uses GNU gcc/g++, you can use the -standard compile process. A few compiler options are needed, so it is -best to use the configure shortcut script called -.conf.win32-cygwin. Edit the shortcut script if you -want to modify the configure options. Then, to compile in Cygwin, just type: +standard compile process. The configure script should automatically detect +Cygwin and add "-mno-cygwin -DWIN32" to the compiler options. You should +get a working Bochs if you just type: + + configure + make + + +Optionally, you can use the configure shortcut script for Cygwin, +.conf.win32-cygwin, instead of running configure +directly. If this script is close to what you need, just edit the script and +then run it. To use the configure shortcut script and compile in Cygwin, the +commands are sh .conf.win32-cygwin make -These options are known to work in cygwin, so they are enabled in the configure shortcut file: +These options are known to work in Cygwin, so they are enabled in the configure +shortcut file: --enable-cdrom --enable-sb16=win + --enable-ne2000 + --enable-vbe
Compiling on MacOS 9 with CodeWarrior -Possibly hasn't been tried since 1999. In theory, you run -sh .conf.macos on a unix box to build the +It is possible that this hasn't been tried since 1999. In theory, you run +sh .conf.macos on a Unix box to build the makefiles and headers, copy the whole thing over to a Mac, and then use CodeWarrior to compile. Since it hasn't been tested in so long, it is quite likely that some work is needed to bring the Mac port up to date. + + +If you are interested and have the required MacOS development tools, please +let use know. Someone requests a MacOS port almost once a month, but none of +the developers know how to help them. +
Compiling on MacOS X The port to MacOS X with Carbon API by Emmanuel Mailliard is quite new, and the -configure and makefile support was added by Bryce Denney. You need to install -the compiler and libraries from the development tools CD. It should configure -and compile ok if you use the .conf.macosx configure -shortcut script. MacOS X has a special format for an application bundle, which -looks like a directory that contains the required resource files and binaries. -The Makefile currently creates this application bundle "by hand" using mkdir -and copy, which is surely the wrong way to do it. Bryce doesn't know the -official way to create an application from a Makefile, so this hack will remain -until a real Mac developer helps to clean it up. +configure and makefile support was added by Bryce Denney. You will need +the compiler and libraries from the development tools CD. Bochs should +configure and compile with the Carbon GUI if you simply type: + configure + make + +Optionally, you can use the configure shortcut script for MacOS X, +.conf.macosx, instead of running configure directly. +If this script is close to what you need, just edit the script and then +run it. To use the configure shortcut script and compile, the commands +are + sh .conf.macosx make + +MacOS X has a special format for an application bundle, which looks like a +directory that contains the required resource files and binaries. The Makefile +currently creates this application bundle "by hand" using mkdir and copy, which +is surely the wrong way to do it. Bryce doesn't know the official way to +create an application from a Makefile, so this hack will remain until a real +Mac developer helps to clean it up. - -If you have X windows installed, you should also be able to build Bochs -with X windows GUI. To try it, just run configure -instead of the .conf.macosx shortcut script. +On MacOS X the default GUI is the Carbon interface, but you can also try other +Bochs GUIs. Use --enable-x11 for X windows, --enable-rfb for VNC/RFB, or +--enable-sdl for SDL. - -
Compiling on BeOS Kevin Lawton ported Bochs to BeOS. Bernd Korz has taken over the port, -and is working on raw cdrom and raw floppy support. It should compile if you -configure with --with-beos or use the .conf.beos-x86-R4 -script. +and is working on raw cdrom and raw floppy support. As of Bochs 1.4, it should +compile if you just type "configure && make", because configure will +detect the BeOS platform and assume you want the BeOS GUI. Optionally, +you can use the configure shortcut script for BeOS, +.conf.beos-x86-R4.
Compiling on Amiga/MorphOS Nicholai Benalal created this port to MorphOS running on Amiga. It should -compile with - ./configure --with-amigaos; make +compile with + + configure && make -Bryce also made an (untested) .conf.amigaos script that -enables FPU and CDROM. +If the platform is not detected properly, you might need to use +--enable-amigaos as a configure option. Optionally, you can use +the configure shortcut script, .conf.amigaos.
Building an RPM on Linux RPM stands for "RedHat Package Manager." An RPM is a compressed file -containing files to be installed on your system. The Bochs makefile -has a special make target that can be used to build an RPM of Bochs. -Start with a clean source directory. Edit .conf.linux first if you want to -adjust the configure options. Then, type: +containing files to be installed on your system. Bochs +has a special shell script called make-rpm that helps +to build an RPM of Bochs. Start with a clean source directory. Edit +.conf.linux first if you want to adjust the configure options. Then, type: su root @@ -1621,32 +1661,87 @@ linkend="linuxrpm">here.
Configure Options -This section describes the configure options for Bochs. Perhaps the -most important option is , since it gives you a list of -all the other options. The options in the first table choose which GUI library -to use. The default is so if you don't include - it will try to compile for X windows. +This section describes the configure options for Bochs. Perhaps the most +important option is , since it gives you a list of all +the other options. The configure script will detect your platform and choose +the default GUI for your platform. If the default choice is not what you want, +use a option to override the default. The options in +the first table tell which GUI library is the default for each platform. + + +The concept of platform detection and default GUIs was added in Bochs 1.4. +In Bochs 1.3 and before, the X11 gui was always the default. + + -Configure Options to select the GUI + +
Defaults by Platform + + + + Platform + Default GUI + Extra compile flags + + + + + win32 or Cygwin + --with-win32 + If using nmake method, compile using cl /nologo /G6 /MT /W3 /GX /DNDEBUG /DWIN32 /D_WINDOWS /O2. If using Visual C++ workspace, see the workspace file for compile settings. See Compiling on Win32 with Microsoft VC++ for instructions. + + + + MacOS X or Darwin + --with-carbon + -fpascal-strings -fno-common -arch ppc -Wno-four-char-constants -Wno-unknown-pragmas -Dmacintosh + + + + MacOS 9 or before + --with-macos + none + + + + BeOS + --with-beos + none + + + + AmigaOS + --with-amigaos + none + + + + any other platform + --with-x11 + none + + + +
+ +Configure Options to Select the GUI (optional) Option - Default Comments --with-x11 - yes - Use X windows user interface. This is the default, so you - never actually need to type it. + Use X windows user interface. On many operating systems, + Bochs will use X windows by default. + --with-win32-vcpp - no 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 @@ -1656,27 +1751,23 @@ to use. The default is so if you don't include --with-win32 - no Use Win32 GUI, but compile with a Win32/gcc - environment such as cygwin. For cygwin, see .conf.win32-cygwin + environment such as Cygwin. For Cygwin, see .conf.win32-cygwin for the correct compile options. --with-carbon - no Compile for MacOS X with the Carbon GUI. See the .conf.macosx file for the correct MacOS X compile options. --with-amigaos - no Compile for Amiga MorphOS. This code is written by Nicholai Benalal. --with-rfb - no Use RFB protocol to talk to AT&T's VNC Viewer. The RFB code was written by Don Becker x-odus@iname.com, @@ -1685,22 +1776,30 @@ to use. The default is so if you don't include RFB mode has been tested in Linux and Win32. + + --with-sdl + This option enables Dave Poirier's SDL gui interface. To + compile with SDL, you must first install the SDL library + from libsdl.org. You + can either get the source code and compile it yourself, or install + the development libraries for your platform (already compiled). + SDL is available for many platforms including Win32, Linux, IRIX, + MacOS, MacOS X, and BeOS. + + --with-beos - no Use BeOS GUI. The configure script will run natively on BeOS; use this option when doing so. --with-term - no Use text-only gui with curses library. Almost certainly won't work right with the debugger or the control panel. --with-macos - no Use Macintosh/CodeWarrior environment. This is for running configure on a platform which supports running configure, so that you may then transfer the configured code over to the @@ -1709,7 +1808,6 @@ to use. The default is so if you don't include --with-nogui - no No native GUI; just use blank stubs. This is if you don't care about having video output, but are just running tests. @@ -1821,10 +1919,10 @@ turn it off. Enable NE2000 network card support. This requires a low-level component to be written for each OS. The NE2000 option is only supported on FreeBSD, OpenBSD, Linux, and Windows - NT/2K Windows support was very recently added by - Don Becker, and will not work on Windows 95/98. . When - enabled and configured, the NE2000 device model can talk to any computer - on the network EXCEPT FOR the local host. + 95/98/NT/2K. When enabled and configured, the NE2000 device model can + talk to any computer on the network EXCEPT FOR the local host. + Exception: Under most circumstances, Bochs can talk to the local host + on Windows, and in the ethertap interface for Linux. @@ -1833,6 +1931,14 @@ turn it off. Use VGA emulation. VGA is the only supported option and since it's the default, you don't need to include this option. + + --enable-vbe + yes + Use VGA BIOS Extensions (VBE) by Jeroen Janssen. To take + advantage of the VBE, you must tell Bochs to use the LGPL VGA BIOS + version 0.3a or higher in the vgaromimage line of your bochsrc file. + + --enable-fpu yes @@ -1882,7 +1988,8 @@ turn it off. Use .cpp as C++ suffix. Renames 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. + unless you know you need it. The configure shortcut script for + Win32 uses this option. @@ -1902,7 +2009,7 @@ turn it off. --enable-iodebug - no + yes if debugger is on Dave Poirier has written an experimental interface to the debugger using I/O ports, so that software running in the guest OS can access @@ -1944,7 +2051,7 @@ turn it off. to spend extra time simulating the different CPUs (even if they're mostly idle) and the communication between them. Use it to try out an SMP OS if you don't have an SMP machine, or to debug SMP OS drivers. Click - here &FIXME; for more details on SMP in Bochs. + here for more details on SMP in Bochs. @@ -2852,7 +2959,7 @@ files with the bochs disk images. This is what I found out: -
Simulating a Multiprocessor Machine +
Simulating a Symmetric Multiprocessor (SMP) Machine Bochs can now simulate an SMP machine when you use "--enable-processors=N" in the configure command. SMP support was added by Bryce Denney, who