1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-31 10:46:16 +00:00

- Use SF macro in MASTER_SITES.

- Add more OPTIONS and knobs.
This commit is contained in:
Alejandro Pulver 2006-10-31 18:48:16 +00:00
parent aea502d445
commit 78aa7cac7d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=175909
6 changed files with 214 additions and 191 deletions

View File

@ -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(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(WITHOUT_CDROM)
CONFIGURE_ARGS+=--disable-cdrom
.endif
CONFIGURE_ARGS+= --enable-cpu-level=${WITH_BOCHS_CPU_LEVEL}
.if ${WITH_BOCHS_CPU_LEVEL} < 5
CONFIGURE_ARGS+= --disable-mmx
.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_PLUGINS)
CONFIGURE_ARGS+=--enable-plugins
.endif
.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_READLINE)
CONFIGURE_ARGS+=--enable-readline
.else
CONFIGURE_ARGS+=--disable-readline
.endif
.if defined(WITH_RFB)
CONFIGURE_ARGS+=--with-rfb
.endif
.if defined(WITH_SB16)
CONFIGURE_ARGS+=--enable-sb16=freebsd
.endif
.if defined(WITH_SMP)
CONFIGURE_ARGS+=--enable-smp
WITH_CPU_LEVEL= 6
.endif
.if defined(WITH_SAVE_RESTORE)
CONFIGURE_ARGS+=--enable-save-restore
.endif
.if defined(WITH_SDL)
USE_SDL= sdl
CONFIGURE_ARGS+=--with-sdl
.endif
.if defined(WITH_SHOW_IPS)
CONFIGURE_ARGS+=--enable-show-ips
.endif
.if defined(WITH_SVGA)
LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib
CONFIGURE_ARGS+=--with-svga
.endif
.if defined(WITH_TERM)
CONFIGURE_ARGS+=--with-term
.endif
.if defined(WITH_USB)
CONFIGURE_ARGS+=--enable-usb
.endif
.if defined(WITH_VBE)
CONFIGURE_ARGS+=--enable-vbe
.endif
.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_X86_64)
CONFIGURE_ARGS+=--enable-x86-64
.endif
.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_BOCHS_GUI_TERM)
CONFIGURE_ARGS+= --with-term
.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
.if defined(WITH_BOCHS_GUI_NOGUI)
CONFIGURE_ARGS+= --with-nogui
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_BOCHS_AMD64)
CONFIGURE_ARGS+= --enable-x86-64
.endif
.if defined(WITH_BOCHS_DEBUGGER)
CONFIGURE_ARGS+= --enable-debugger --enable-disasm
.endif
.if defined(WITH_BOCHS_X86_DEBUGGER)
CONFIGURE_ARGS+= --enable-x86-debugger
.endif
.if defined(WITH_BOCHS_PORT_E9_HACK)
CONFIGURE_ARGS+= --enable-port-e9-hack
.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}
.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}
.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}
.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}
.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}
.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}
.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}
.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_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>

View File

@ -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

View File

@ -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:

View File

@ -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
===========================================================================

View File

@ -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.

View File

@ -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