diff options
author | Alejandro Pulver <alepulver@FreeBSD.org> | 2006-10-31 18:48:16 +0000 |
---|---|---|
committer | Alejandro Pulver <alepulver@FreeBSD.org> | 2006-10-31 18:48:16 +0000 |
commit | 78aa7cac7d4699a3cf4c8f56a601d9f882458f16 (patch) | |
tree | 927cfc86ed77a113256e106bf1f25b8b8f20a8bb /emulators/bochs | |
parent | aea502d4451348d8fb6ba1f2530f77412fc310e7 (diff) | |
download | ports-78aa7cac7d4699a3cf4c8f56a601d9f882458f16.tar.gz ports-78aa7cac7d4699a3cf4c8f56a601d9f882458f16.zip |
Notes
Diffstat (limited to 'emulators/bochs')
-rw-r--r-- | emulators/bochs/Makefile | 281 | ||||
-rw-r--r-- | emulators/bochs/files/bochs.sh | 25 | ||||
-rw-r--r-- | emulators/bochs/files/patch-aa | 62 | ||||
-rw-r--r-- | emulators/bochs/files/pkg-message.in | 2 | ||||
-rw-r--r-- | emulators/bochs/pkg-descr | 2 | ||||
-rw-r--r-- | emulators/bochs/pkg-plist | 1 |
6 files changed, 198 insertions, 175 deletions
diff --git a/emulators/bochs/Makefile b/emulators/bochs/Makefile index 779c3d60e01c..93f576f57ed8 100644 --- a/emulators/bochs/Makefile +++ b/emulators/bochs/Makefile @@ -1,4 +1,3 @@ -# ex:ts=8 # Ports collection makefile for: bochs # Date created: 16 December 1997 # Whom: alex @@ -10,27 +9,49 @@ PORTNAME= bochs PORTVERSION= 2.3 PORTEPOCH= 2 CATEGORIES= emulators -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= ${PORTNAME} +MASTER_SITES= SF MAINTAINER= ports@FreeBSD.org COMMENT= An IA-32 (x86) PC emulator that runs DOS, Win 95, and more BUILD_DEPENDS= mkfontdir:${X_CLIENTS_PORT} -RUN_DEPENDS= mkfontdir:${X_CLIENTS_PORT} +RUN_DEPENDS:= ${BUILD_DEPENDS} -USE_XLIB= yes USE_GMAKE= yes - GNU_CONFIGURE= yes -CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} -CONFIGURE_ARGS= --disable-split-hd \ - --enable-all-optimizations \ - --with-x11 \ - --enable-pci \ - --enable-sb16=freebsd \ - --enable-ne2000 \ - --enable-vbe +CONFIGURE_ARGS= --disable-docbook +CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL} +CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib" + +OPTIONS= CDROM "Enable CDROM support" on \ + CLGD54XX "Enable Cirrus Logic GD54xx video card" off \ + DEBUGGER "Enable debugger and disassembler support" off \ + DEBUGGER_X86 "Enable x86 hardware debugger" off \ + FPU "Enable FPU emulator" on \ + IDLE_HACK "Keep Bochs from using all CPU time" off \ + IGNORE_BAD_MSR "Ignore unknown MSR references (don't panic)" off \ + NE2000 "Enable limited ne2000 support" on \ + NEW_PIT "Enable use of the new PIT model" on \ + OPTIMIZATIONS "Enable all safe speeed optimizations" on \ + PCI "Enable limited i440FX PCI support" on \ + PLUGINS "Enable building dynamic loadable plugins" off \ + PNIC "Enable PCI pseudo NIC (network card) support" off \ + PORT_E9_HACK "Writes to port e9 go to console" on \ + READLINE "Enable readline support in debugger" off \ + RFB "Enable VNC server support in display" off \ + SAVE_RESTORE "Enable limited save/restore support" off \ + SB16 "Enable Sound Blaster 16 emulation" on \ + SDL "Enable SDL display interface" off \ + SHOW_IPS "Enable logging of measured IPS" off \ + SMP "Enable SMP simulation support (CPU level 6)" off \ + SVGA "Enable SVGAlib support" off \ + TERM "Use text only, console based interface" off \ + USB "Enable limited i440FX PCI USB support" off \ + VBE "Enable VGA BIOS Extensions" on \ + WX "Use WxWidgets display interface" off \ + X11 "Use X11 display interface" on \ + X86_64 "Enable AMD x86-64 support" off \ + XPM "Enable XPM library support" off CFLAGS+= -fno-rtti -fno-exceptions -fomit-frame-pointer @@ -40,106 +61,194 @@ MAN5= bochsrc.5 SUB_FILES= pkg-message -.if defined(WITH_BOCHS_SMP) -CONFIGURE_ARGS+= --enable-smp -WITH_BOCHS_CPU_LEVEL= 6 +.include <bsd.port.pre.mk> + +.if defined(WITHOUT_TERM) && defined(WITHOUT_WX) && defined(WITHOUT_X11) +CONFIGURE_ARGS+=--with-nogui +.endif + +.if defined(WITHOUT_CDROM) +CONFIGURE_ARGS+=--disable-cdrom +.endif + +.if defined(WITH_CLGD54XX) +CONFIGURE_ARGS+=--enable-clgd54xx +.endif + +.if defined(WITH_DEBUGGER) +CONFIGURE_ARGS+=--enable-debugger --enable-disasm +.endif + +.if defined(WITH_DEBUGGER_X86) +CONFIGURE_ARGS+=--enable-x86-debugger +.endif + +.if defined(WITH_FPU) +CONFIGURE_ARGS+=--enable-fpu +.endif + +.if defined(WITH_IDLE_HACK) +CONFIGURE_ARGS+=--enable-idle-hack +.endif + +.if defined(WITH_IGNORE_BAD_MSR) +CONFIGURE_ARGS+=--enable-ignore-bad-msr +.endif + +.if defined(WITH_NE2000) +CONFIGURE_ARGS+=--enable-ne2000 +.endif + +.if defined(WITHOUT_NEW_PIT) +CONFIGURE_ARGS+=--disable-new-pit +.endif + +.if defined(WITH_OPTIMIZATIONS) +CONFIGURE_ARGS+=--enable-all-optimizations +.endif + +.if defined(WITH_PCI) +CONFIGURE_ARGS+=--enable-pci .endif -.if defined(WITH_BOCHS_CPU_LEVEL) -.if ${WITH_BOCHS_CPU_LEVEL} < 3 || ${WITH_BOCHS_CPU_LEVEL} > 6 -IGNORE= cannot install: WITH_BOCHS_CPU_LEVEL must be an integer value between 3 and 6 +.if defined(WITH_PLUGINS) +CONFIGURE_ARGS+=--enable-plugins .endif -CONFIGURE_ARGS+= --enable-cpu-level=${WITH_BOCHS_CPU_LEVEL} -.if ${WITH_BOCHS_CPU_LEVEL} < 5 -CONFIGURE_ARGS+= --disable-mmx + +.if defined(WITH_PNIC) +CONFIGURE_ARGS+=--enable-pnic .endif + +.if defined(WITHOUT_PORT_E9_HACK) +CONFIGURE_ARGS+=--disable-port-e9-hack .endif -.if defined(WITH_BOCHS_GUI_TERM) -CONFIGURE_ARGS+= --with-term +.if defined(WITH_READLINE) +CONFIGURE_ARGS+=--enable-readline +.else +CONFIGURE_ARGS+=--disable-readline .endif -.if defined(WITH_BOCHS_GUI_NOGUI) -CONFIGURE_ARGS+= --with-nogui +.if defined(WITH_RFB) +CONFIGURE_ARGS+=--with-rfb .endif -.if defined(WITH_BOCHS_AMD64) -CONFIGURE_ARGS+= --enable-x86-64 +.if defined(WITH_SB16) +CONFIGURE_ARGS+=--enable-sb16=freebsd .endif -.if defined(WITH_BOCHS_DEBUGGER) -CONFIGURE_ARGS+= --enable-debugger --enable-disasm +.if defined(WITH_SMP) +CONFIGURE_ARGS+=--enable-smp +WITH_CPU_LEVEL= 6 .endif -.if defined(WITH_BOCHS_X86_DEBUGGER) -CONFIGURE_ARGS+= --enable-x86-debugger +.if defined(WITH_SAVE_RESTORE) +CONFIGURE_ARGS+=--enable-save-restore .endif -.if defined(WITH_BOCHS_PORT_E9_HACK) -CONFIGURE_ARGS+= --enable-port-e9-hack +.if defined(WITH_SDL) +USE_SDL= sdl +CONFIGURE_ARGS+=--with-sdl .endif -pre-patch:: - @${ECHO_MSG} -.if !defined(WITH_BOCHS_CPU_LEVEL) - @${ECHO_MSG} "If you want to change the processor level to emulate (default is 5, aka Pentium)" - @${ECHO_MSG} "Choices are 3,4,5,6 which mean target 386, 486, Pentium or Pentium Pro emulation" - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_CPU_LEVEL=<cpu level>\"" - @${ECHO_MSG} +.if defined(WITH_SHOW_IPS) +CONFIGURE_ARGS+=--enable-show-ips .endif -.if !defined(WITH_BOCHS_GUI_TERM) - @${ECHO_MSG} "If you want to enable the plain text, console-based bochs interface" - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_GUI_TERM=yes\"" - @${ECHO_MSG} + +.if defined(WITH_SVGA) +LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib +CONFIGURE_ARGS+=--with-svga .endif -.if !defined(WITH_BOCHS_GUI_NOGUI) - @${ECHO_MSG} "If you want the bochs display" - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_GUI_NOGUI=yes\"" - @${ECHO_MSG} + +.if defined(WITH_TERM) +CONFIGURE_ARGS+=--with-term .endif -.if !defined(WITH_BOCHS_SMP) - @${ECHO_MSG} "If you want to compile with SMP support (implies WITH_BOCHS_CPU_LEVEL=6)," - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_SMP\"" - @${ECHO_MSG} + +.if defined(WITH_USB) +CONFIGURE_ARGS+=--enable-usb .endif -.if !defined(WITH_BOCHS_DEBUGGER) - @${ECHO_MSG} "If you want to compile with builtin debugger and disassembler support," - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_DEBUGGER=yes\"" - @${ECHO_MSG} + +.if defined(WITH_VBE) +CONFIGURE_ARGS+=--enable-vbe .endif -.if !defined(WITH_BOCHS_X86_DEBUGGER) - @${ECHO_MSG} "If you want to compile with x86 hardware debugger support," - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_X86_DEBUGGER=yes\"" - @${ECHO_MSG} + +.if defined(WITH_WX) +USE_WX= 2.4-2.6 +CONFIGURE_ARGS+=--with-wx +.endif + +.if defined(WITH_X11) +USE_XLIB= yes +CONFIGURE_ARGS+=--with-x11 .endif -.if !defined(WITH_BOCHS_AMD64) - @${ECHO_MSG} "If you want to compile with AMD x86-64 support," - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_AMD64=yes\"" - @${ECHO_MSG} + +.if defined(WITH_X86_64) +CONFIGURE_ARGS+=--enable-x86-64 .endif -.if !defined(WITH_BOCHS_PORT_E9_HACK) - @${ECHO_MSG} "If you want to compile with port e9 hack support," - @${ECHO_MSG} "hit Ctrl-C right now and use \"make WITH_BOCHS_PORT_E9_HACK=yes\"" - @${ECHO_MSG} + +.if defined(WITH_XPM) +USE_XPM= yes +CONFIGURE_ARGS+=--with-xpm .endif +.if defined(WITH_CPU_LEVEL) +.if ${WITH_CPU_LEVEL} < 3 || ${WITH_CPU_LEVEL} > 6 +IGNORE= can not install: WITH_CPU_LEVEL must be an integer value between 3 and 6 +.endif +CONFIGURE_ARGS+=--enable-cpu-level=${WITH_CPU_LEVEL} +.if ${WITH_CPU_LEVEL} < 5 +CONFIGURE_ARGS+=--disable-mmx +.endif +.endif + +.if defined(WITH_SSE_LEVEL) +.if ${WITH_SSE_LEVEL} >= 1 && ${WITH_SSE_LEVEL} <= 3 +CONFIGURE_ARGS+=--enable-sse=${WITH_SSE_LEVEL} +.else +IGNORE= can not install: WITH_SSE_LEVEL must be an integer value between 1 and 3 +.endif +.endif + +pre-everything:: + @${ECHO_CMD} +.if !defined(WITH_CPU_LEVEL) + @${ECHO_CMD} "If you want to change the processor level to emulate (default is 5, aka Pentium), set WITH_CPU_LEVEL to the desired value. Choices are 3, 4, 5 and 6 which mean target 386, 486, Pentium or Pentium Pro emulation." | ${FMT} +.endif +.if !defined(WITH_SSE_LEVEL) + @${ECHO_CMD} "If you want to enable SSE you have to set WITH_SSE_LEVEL to 1, 2 or 3." | ${FMT} +.endif + @${ECHO_CMD} + post-patch: - @${REINPLACE_CMD} -E ' \ - s|file=bios/|file=${DATADIR}/|; \ - s|bios/VGABIOS|${DATADIR}/VGABIOS|; \ - ' ${WRKSRC}/.bochsrc - @${REINPLACE_CMD} -E ' \ - s|install_share install_doc|install_share|; \ - s|(^sharedir.+=).+|\1 ${DATADIR}|; \ - s|(^docdir.+=).+|\1 ${DOCSDIR}|; \ - ' ${WRKSRC}/Makefile.in - @${REINPLACE_CMD} -e ' \ - s|/usr/local/share/bochs|${DATADIR}|; \ - s|/usr/local/share/doc/bochs|${DOCSDIR}|; \ - ' ${WRKSRC}/doc/docbook/user/user.dbk ${WRKSRC}/doc/man/*.1 \ - ${WRKSRC}/doc/man/*.5 + @${REINPLACE_CMD} -Ee \ + 's|$$BXSHARE/|${DATADIR}/|; \ + s|^#clock: sync=none|clock: sync=realtime|; \ + s|^log: .+|log: /dev/null|; \ + s|^panic: .+|panic: action=ask|; \ + s|^parport1: .+|#&|' \ + ${WRKSRC}/.bochsrc + @${REINPLACE_CMD} -Ee \ + 's|(^sharedir.+=).+|\1 ${DATADIR}|; \ + s|(^docdir.+=).+|\1 ${DOCSDIR}|' \ + ${WRKSRC}/Makefile.in + @${REINPLACE_CMD} -e \ + 's|/usr/local/share/bochs|${DATADIR}|; \ + s|/usr/local/share/doc/bochs|${DOCSDIR}|' \ + ${WRKSRC}/doc/docbook/user/user.dbk ${WRKSRC}/doc/man/*.[15] + @${REINPLACE_CMD} -Ee 's|/usr/(include/vga\.h)|${LOCALBASE}/\1|' \ + ${WRKSRC}/gui/svga.cc +.if defined(WITH_SVGA) + @${REINPLACE_CMD} -e 's|-lvga -lvgagl|@LDFLAGS@ &|' \ + ${WRKSRC}/gui/Makefile.in +.endif post-install: +.if defined(WITH_PLUGINS) + @${FIND} ${PREFIX}/lib/bochs ! -type d | \ + ${SED} 's,^${PREFIX}/,,' >> ${TMPPLIST} + @${FIND} ${PREFIX}/lib/bochs -type d | ${SORT} -r | \ + ${SED} 's,^${PREFIX}/,@dirrm ,' >> ${TMPPLIST} +.endif .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} @${INSTALL_DATA} ${WRKSRC}/CHANGES ${DOCSDIR}/CHANGES @@ -150,6 +259,6 @@ post-install: @${MKDIR} ${DOCSDIR}/html @${INSTALL_DATA} ${WRKSRC}/docs-html/*.html ${DOCSDIR}/html .endif - @${CAT} ${PKGMESSAGE} + @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD} -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/emulators/bochs/files/bochs.sh b/emulators/bochs/files/bochs.sh deleted file mode 100644 index 1c93e9789f2c..000000000000 --- a/emulators/bochs/files/bochs.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# -# Bochs wrapper -# - -bin_dir=%%PREFIX%%/libexec -xbin_dir=%%X11BASE%%/bin -font_dir=%%FONT_DIR%% - -${xbin_dir}/xset -q | grep -q ${font_dir} -rc=$? - -if [ $rc != 0 ]; then - ${xbin_dir}/xset fp+ ${font_dir} - ${xbin_dir}/xset fp rehash -fi - -${bin_dir}/bochs.bin ${1+"$@"} - -if [ $rc != 0 ]; then - ${xbin_dir}/xset fp- ${font_dir} - ${xbin_dir}/xset fp rehash -fi diff --git a/emulators/bochs/files/patch-aa b/emulators/bochs/files/patch-aa deleted file mode 100644 index 12d5dae4a650..000000000000 --- a/emulators/bochs/files/patch-aa +++ /dev/null @@ -1,62 +0,0 @@ ---- .bochsrc.orig Sun Jan 29 07:56:01 2006 -+++ .bochsrc Mon Feb 20 21:10:38 2006 -@@ -74,7 +74,7 @@ - # now supported, but we still recommend to use the BIOS distributed with - # Bochs. Now the start address can be calculated from image size. - #======================================================================= --romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000 -+romimage: file=/usr/local/share/bochs/BIOS-bochs-latest, address=0xf0000 - #romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - #romimage: file=mybios.bin # calculate start address from image size - -@@ -147,9 +147,9 @@ - # VGAROMIMAGE - # You now need to load a VGA ROM BIOS into C0000. - #======================================================================= --#vgaromimage: file=bios/VGABIOS-elpin-2.40 --vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest --#vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus -+#vgaromimage: file=/usr/local/share/bochs/VGABIOS-elpin-2.40 -+vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest -+#vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest-cirrus - - #======================================================================= - # VGA: -@@ -319,7 +319,7 @@ - # - # Default value are sync=none, time0=local - #======================================================================= --#clock: sync=none, time0=local -+clock: sync=realtime, time0=local - - - #======================================================================= -@@ -344,8 +344,8 @@ - # log: ./bochs.out - # log: /dev/tty - #======================================================================= --#log: /dev/null --log: bochsout.txt -+log: /dev/null -+#log: bochsout.txt - - #======================================================================= - # LOGPREFIX: -@@ -385,7 +385,7 @@ - # cause bochs to become unstable. The panic is a "graceful exit," so - # if you disable it you may get a spectacular disaster instead. - #======================================================================= --panic: action=ask -+panic: action=fatal - error: action=report - info: action=report - debug: action=ignore -@@ -442,7 +442,7 @@ - # parport2: enabled=1, file="/dev/lp0" - # parport1: enabled=0 - #======================================================================= --parport1: enabled=1, file="parport.out" -+#parport1: enabled=1, file="parport.out" - - #======================================================================= - # SB16: diff --git a/emulators/bochs/files/pkg-message.in b/emulators/bochs/files/pkg-message.in index 2985cb484324..7b46ee416780 100644 --- a/emulators/bochs/files/pkg-message.in +++ b/emulators/bochs/files/pkg-message.in @@ -1,7 +1,7 @@ =========================================================================== Bochs requires a .bochsrc file to be present in either your current -directory or your home directory before starting. A sample .bochsrc +directory or your home directory before starting. A sample .bochsrc file can be found in %%DOCSDIR%%/bochsrc-sample.txt =========================================================================== diff --git a/emulators/bochs/pkg-descr b/emulators/bochs/pkg-descr index c025bbb90db0..31fb2bd2a0da 100644 --- a/emulators/bochs/pkg-descr +++ b/emulators/bochs/pkg-descr @@ -5,7 +5,7 @@ be compiled to emulate a 386, 486, Pentium, Pentium Pro or AMD64 CPU, including optional MMX, SSE, SSE2 and 3DNow instructions. Bochs is capable of running most Operating Systems inside the emulation -including Linux, Windows 95, DOS, and Windows NT 4. +including Linux, DOS, Windows® 95/98 and Windows® NT/2000/XP. Bochs was written by Kevin Lawton and is currently maintained by the Bochs project. diff --git a/emulators/bochs/pkg-plist b/emulators/bochs/pkg-plist index b38f76248f03..01fba0ef0b8a 100644 --- a/emulators/bochs/pkg-plist +++ b/emulators/bochs/pkg-plist @@ -23,6 +23,7 @@ bin/bximage %%DATADIR%%/keymaps/x11-pc-si.map %%DATADIR%%/keymaps/x11-pc-uk.map %%DATADIR%%/keymaps/x11-pc-us.map +%%PORTDOCS%%%%DOCSDIR%%/COPYING %%PORTDOCS%%%%DOCSDIR%%/CHANGES %%PORTDOCS%%%%DOCSDIR%%/README %%PORTDOCS%%%%DOCSDIR%%/TODO |