2007-11-13 09:54:30 -05:00
|
|
|
# $OpenBSD: Makefile,v 1.41 2007/11/13 14:54:30 steven Exp $
|
1999-02-21 23:52:22 -05:00
|
|
|
# $NetBSD: Makefile,v 1.2 1998/09/22 06:11:36 garbled Exp $
|
1998-05-20 03:11:31 -04:00
|
|
|
|
2007-09-15 20:45:13 -04:00
|
|
|
COMMENT= x86 machine simulator
|
2002-06-09 12:24:57 -04:00
|
|
|
|
2004-05-12 18:40:11 -04:00
|
|
|
DISTNAME= bochs-2.1.1
|
2007-11-13 09:54:30 -05:00
|
|
|
PKGNAME= ${DISTNAME}p1
|
1999-10-31 15:22:37 -05:00
|
|
|
CATEGORIES= emulators
|
2002-10-26 08:52:48 -04:00
|
|
|
|
2002-06-09 12:24:57 -04:00
|
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bochs/}
|
1998-10-15 00:33:25 -04:00
|
|
|
|
2001-05-26 01:52:55 -04:00
|
|
|
HOMEPAGE= http://bochs.sourceforge.net/
|
1999-10-31 15:22:37 -05:00
|
|
|
|
2002-05-08 13:19:36 -04:00
|
|
|
MAINTAINER= Todd T. Fries <todd@openbsd.org>
|
1999-10-31 15:22:37 -05:00
|
|
|
|
2003-01-03 13:44:33 -05:00
|
|
|
# GPL
|
2000-07-18 01:16:58 -04:00
|
|
|
PERMIT_PACKAGE_CDROM= Yes
|
|
|
|
PERMIT_PACKAGE_FTP= Yes
|
|
|
|
PERMIT_DISTFILES_CDROM= Yes
|
2000-03-16 17:26:18 -05:00
|
|
|
PERMIT_DISTFILES_FTP= Yes
|
2007-11-13 09:54:30 -05:00
|
|
|
|
|
|
|
WANTLIB= ICE SM X11 Xau Xdmcp Xpm c m stdc++ termlib z
|
2000-03-16 17:26:18 -05:00
|
|
|
|
2007-03-31 08:58:13 -04:00
|
|
|
USE_LIBTOOL= Yes
|
2002-06-09 12:24:57 -04:00
|
|
|
CONFIGURE_STYLE= gnu
|
|
|
|
CONFIGURE_ARGS= --enable-cdrom \
|
|
|
|
--enable-fpu \
|
|
|
|
--enable-ne2000 \
|
2004-01-09 11:15:04 -05:00
|
|
|
--with-nogui \
|
2004-01-22 09:43:01 -05:00
|
|
|
--with-term \
|
|
|
|
--enable-all-optimizations
|
1999-10-31 15:22:37 -05:00
|
|
|
|
2004-01-22 09:55:15 -05:00
|
|
|
FLAVORS= debug i386 i486 i686 x86_64 smp smp_4 smp_8 \
|
|
|
|
no_x11 no_mmx no_comp no_pci
|
2001-03-02 09:51:35 -05:00
|
|
|
FLAVOR?=
|
2000-07-18 01:16:58 -04:00
|
|
|
|
o take over maintainership
o too many changes to mention specifically, but amongst them:
- better error reporting
- openbsd boots, freebsd boots
- new 'term' flavor, I added a textmode interface, the only drawback
is that control-c is intercepted, and you must kill -9 it from
another tty if it doesn't exit normally
- new flavors:
- debugger -> debug (for shortness)
- i386
- pci
- smp
- net (compiles, does not yet provide networking, if anyone
wants to help, I'd be ELATED to have this fixed!)
- no_x11 (made it actually work)
- term (make sure to use 'log: /dev/null' or something else
on the cmdline, otherwise, debugging and the screen will
start getting quite confusing!)
- better error reporting (and no error reporting where it is not
necessary; a typicall boot of cdrom28.fs is a screenful of output now)
- in general, if the hardware reaches an unknown state, fail
gracefully instead of calling exit(1) .. are we trying to work or
are we trying to .. fail? I like working myself.
2001-02-02 11:59:05 -05:00
|
|
|
.if ${FLAVOR:L:Mdebug}
|
|
|
|
CONFIGURE_ARGS+= --enable-debugger --enable-disasm --enable-x86-debugger
|
2001-09-19 16:44:53 -04:00
|
|
|
CONFIGURE_ARGS+= --enable-readline
|
2004-11-27 05:39:13 -05:00
|
|
|
WANTLIB+= curses readline
|
o take over maintainership
o too many changes to mention specifically, but amongst them:
- better error reporting
- openbsd boots, freebsd boots
- new 'term' flavor, I added a textmode interface, the only drawback
is that control-c is intercepted, and you must kill -9 it from
another tty if it doesn't exit normally
- new flavors:
- debugger -> debug (for shortness)
- i386
- pci
- smp
- net (compiles, does not yet provide networking, if anyone
wants to help, I'd be ELATED to have this fixed!)
- no_x11 (made it actually work)
- term (make sure to use 'log: /dev/null' or something else
on the cmdline, otherwise, debugging and the screen will
start getting quite confusing!)
- better error reporting (and no error reporting where it is not
necessary; a typicall boot of cdrom28.fs is a screenful of output now)
- in general, if the hardware reaches an unknown state, fail
gracefully instead of calling exit(1) .. are we trying to work or
are we trying to .. fail? I like working myself.
2001-02-02 11:59:05 -05:00
|
|
|
.endif
|
|
|
|
|
2004-01-09 11:15:04 -05:00
|
|
|
.if !${FLAVOR:L:Mno_x11}
|
|
|
|
USE_X11= Yes
|
o take over maintainership
o too many changes to mention specifically, but amongst them:
- better error reporting
- openbsd boots, freebsd boots
- new 'term' flavor, I added a textmode interface, the only drawback
is that control-c is intercepted, and you must kill -9 it from
another tty if it doesn't exit normally
- new flavors:
- debugger -> debug (for shortness)
- i386
- pci
- smp
- net (compiles, does not yet provide networking, if anyone
wants to help, I'd be ELATED to have this fixed!)
- no_x11 (made it actually work)
- term (make sure to use 'log: /dev/null' or something else
on the cmdline, otherwise, debugging and the screen will
start getting quite confusing!)
- better error reporting (and no error reporting where it is not
necessary; a typicall boot of cdrom28.fs is a screenful of output now)
- in general, if the hardware reaches an unknown state, fail
gracefully instead of calling exit(1) .. are we trying to work or
are we trying to .. fail? I like working myself.
2001-02-02 11:59:05 -05:00
|
|
|
CONFIGURE_ARGS+= --with-x11
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${FLAVOR:L:Mi386}
|
2003-01-03 13:44:33 -05:00
|
|
|
CONFIGURE_ARGS+= --enable-cpu-level="3" --disable-mmx
|
2003-05-30 15:59:52 -04:00
|
|
|
. if ${FLAVOR:L:Mi486} || ${FLAVOR:L:Mi686} || ${FLAVOR:L:Mx86_64}
|
|
|
|
ERRORS += "Fatal: cannot use i486, i686, or x86_64 flavors with i386"
|
|
|
|
. endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${FLAVOR:L:Mi486}
|
2003-01-03 13:44:33 -05:00
|
|
|
CONFIGURE_ARGS+= --enable-cpu-level="4" --disable-mmx
|
2003-05-30 15:59:52 -04:00
|
|
|
. if ${FLAVOR:L:Mi386} || ${FLAVOR:L:Mi686} || ${FLAVOR:L:Mx86_64}
|
|
|
|
ERRORS += "Fatal: cannot use i386, i686, or x86_64 flavors with i486"
|
|
|
|
. endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ! ${FLAVOR:L:Mi386} && ! ${FLAVOR:L:Mi486} && ! ${FLAVOR:L:Mi686}
|
2003-01-03 13:44:33 -05:00
|
|
|
CONFIGURE_ARGS+= --enable-cpu-level="5"
|
|
|
|
.endif
|
|
|
|
|
2003-05-30 15:59:52 -04:00
|
|
|
.if ${FLAVOR:L:Mi686}
|
|
|
|
CONFIGURE_ARGS+= --enable-cpu-level="6"
|
|
|
|
. if ${FLAVOR:L:Mi386} || ${FLAVOR:L:Mi486}
|
|
|
|
ERRORS += "Fatal: cannot use i386 or i486 flavors with i686"
|
|
|
|
. endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${FLAVOR:L:Mx86_64}
|
2004-01-22 09:43:01 -05:00
|
|
|
CONFIGURE_ARGS+= --enable-x86-64 --enable-cpu-level="6"
|
2003-05-30 15:59:52 -04:00
|
|
|
.else
|
2003-01-03 13:44:33 -05:00
|
|
|
CONFIGURE_ARGS+= --disable-x86-64
|
o take over maintainership
o too many changes to mention specifically, but amongst them:
- better error reporting
- openbsd boots, freebsd boots
- new 'term' flavor, I added a textmode interface, the only drawback
is that control-c is intercepted, and you must kill -9 it from
another tty if it doesn't exit normally
- new flavors:
- debugger -> debug (for shortness)
- i386
- pci
- smp
- net (compiles, does not yet provide networking, if anyone
wants to help, I'd be ELATED to have this fixed!)
- no_x11 (made it actually work)
- term (make sure to use 'log: /dev/null' or something else
on the cmdline, otherwise, debugging and the screen will
start getting quite confusing!)
- better error reporting (and no error reporting where it is not
necessary; a typicall boot of cdrom28.fs is a screenful of output now)
- in general, if the hardware reaches an unknown state, fail
gracefully instead of calling exit(1) .. are we trying to work or
are we trying to .. fail? I like working myself.
2001-02-02 11:59:05 -05:00
|
|
|
.endif
|
|
|
|
|
2004-01-22 09:55:15 -05:00
|
|
|
.if !${FLAVOR:L:Mno_pci}
|
o take over maintainership
o too many changes to mention specifically, but amongst them:
- better error reporting
- openbsd boots, freebsd boots
- new 'term' flavor, I added a textmode interface, the only drawback
is that control-c is intercepted, and you must kill -9 it from
another tty if it doesn't exit normally
- new flavors:
- debugger -> debug (for shortness)
- i386
- pci
- smp
- net (compiles, does not yet provide networking, if anyone
wants to help, I'd be ELATED to have this fixed!)
- no_x11 (made it actually work)
- term (make sure to use 'log: /dev/null' or something else
on the cmdline, otherwise, debugging and the screen will
start getting quite confusing!)
- better error reporting (and no error reporting where it is not
necessary; a typicall boot of cdrom28.fs is a screenful of output now)
- in general, if the hardware reaches an unknown state, fail
gracefully instead of calling exit(1) .. are we trying to work or
are we trying to .. fail? I like working myself.
2001-02-02 11:59:05 -05:00
|
|
|
CONFIGURE_ARGS+= --enable-pci
|
|
|
|
.endif
|
|
|
|
|
update to bochs 2.0:
Changes in 2.0 (December 21, 2002):
Since the change log is hundreds of lines long, here is a very brief summary.
- 2x emulation speedup!!!
- added plugin devices and guis. Now you can compile with many more
options, and choose between them at runtime.
- added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
- add wxWindows port (a graphical configuration interface and display lib)
and SVGAlib port (full screen display for Linux without X11)
- improvements in many I/O devices: for example up to 8 hard disks/cdroms,
TUN/TAP network interface, 360k floppies,
- improved MacOSX/Carbon interface and updated MacOS9 port
- GDB remote stub, allows symbolic debugging with Bochs simulation.
- support for up to 32gig hard disk images
2002-12-28 01:20:19 -05:00
|
|
|
.if ${FLAVOR:L:Msmp} || ${FLAVOR:L:Msmp_4} || ${FLAVOR:L:Msmp_8}
|
2003-05-30 15:59:52 -04:00
|
|
|
. if ! ${FLAVOR:L:Mi686}
|
|
|
|
ERRORS += "Fatal: i686 flavor required for smp"
|
update to bochs 2.0:
Changes in 2.0 (December 21, 2002):
Since the change log is hundreds of lines long, here is a very brief summary.
- 2x emulation speedup!!!
- added plugin devices and guis. Now you can compile with many more
options, and choose between them at runtime.
- added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
- add wxWindows port (a graphical configuration interface and display lib)
and SVGAlib port (full screen display for Linux without X11)
- improvements in many I/O devices: for example up to 8 hard disks/cdroms,
TUN/TAP network interface, 360k floppies,
- improved MacOSX/Carbon interface and updated MacOS9 port
- GDB remote stub, allows symbolic debugging with Bochs simulation.
- support for up to 32gig hard disk images
2002-12-28 01:20:19 -05:00
|
|
|
. endif
|
|
|
|
. if ${FLAVOR:L:Msmp_8}
|
|
|
|
CONFIGURE_ARGS+= --enable-processors=8
|
|
|
|
. elif ${FLAVOR:L:Msmp_4}
|
|
|
|
CONFIGURE_ARGS+= --enable-processors=4
|
|
|
|
. else
|
2001-05-26 01:52:55 -04:00
|
|
|
CONFIGURE_ARGS+= --enable-processors=2
|
update to bochs 2.0:
Changes in 2.0 (December 21, 2002):
Since the change log is hundreds of lines long, here is a very brief summary.
- 2x emulation speedup!!!
- added plugin devices and guis. Now you can compile with many more
options, and choose between them at runtime.
- added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
- add wxWindows port (a graphical configuration interface and display lib)
and SVGAlib port (full screen display for Linux without X11)
- improvements in many I/O devices: for example up to 8 hard disks/cdroms,
TUN/TAP network interface, 360k floppies,
- improved MacOSX/Carbon interface and updated MacOS9 port
- GDB remote stub, allows symbolic debugging with Bochs simulation.
- support for up to 32gig hard disk images
2002-12-28 01:20:19 -05:00
|
|
|
. endif
|
|
|
|
CONFIGURE_ARGS+= --enable-apic
|
|
|
|
.else
|
|
|
|
CONFIGURE_ARGS+= --disable-apic
|
o take over maintainership
o too many changes to mention specifically, but amongst them:
- better error reporting
- openbsd boots, freebsd boots
- new 'term' flavor, I added a textmode interface, the only drawback
is that control-c is intercepted, and you must kill -9 it from
another tty if it doesn't exit normally
- new flavors:
- debugger -> debug (for shortness)
- i386
- pci
- smp
- net (compiles, does not yet provide networking, if anyone
wants to help, I'd be ELATED to have this fixed!)
- no_x11 (made it actually work)
- term (make sure to use 'log: /dev/null' or something else
on the cmdline, otherwise, debugging and the screen will
start getting quite confusing!)
- better error reporting (and no error reporting where it is not
necessary; a typicall boot of cdrom28.fs is a screenful of output now)
- in general, if the hardware reaches an unknown state, fail
gracefully instead of calling exit(1) .. are we trying to work or
are we trying to .. fail? I like working myself.
2001-02-02 11:59:05 -05:00
|
|
|
.endif
|
|
|
|
|
2004-01-22 09:43:01 -05:00
|
|
|
.if !${FLAVOR:L:Mno_mmx}
|
|
|
|
CONFIGURE_ARGS+= --enable-mmx
|
|
|
|
. if ${FLAVOR:L:Mi386} || ${FLAVOR:L:Mi486}
|
|
|
|
ERRORS += "Fatal: cannot use i386 or i486 with mmx"
|
|
|
|
. endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !${FLAVOR:L:Mno_comp}
|
|
|
|
CONFIGURE_ARGS+= --enable-compressed-hd
|
|
|
|
.endif
|
|
|
|
|
2004-08-11 00:46:49 -04:00
|
|
|
pre-build:
|
2000-07-18 01:16:58 -04:00
|
|
|
@sed -e 's@!!PREFIX!!@${PREFIX}@' \
|
1999-10-31 15:22:37 -05:00
|
|
|
< ${WRKSRC}/.bochsrc > ${WRKSRC}/bochsrc
|
1998-05-20 03:11:31 -04:00
|
|
|
|
2002-10-26 08:52:48 -04:00
|
|
|
NO_REGRESS= Yes
|
|
|
|
|
update to bochs 2.0:
Changes in 2.0 (December 21, 2002):
Since the change log is hundreds of lines long, here is a very brief summary.
- 2x emulation speedup!!!
- added plugin devices and guis. Now you can compile with many more
options, and choose between them at runtime.
- added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
- add wxWindows port (a graphical configuration interface and display lib)
and SVGAlib port (full screen display for Linux without X11)
- improvements in many I/O devices: for example up to 8 hard disks/cdroms,
TUN/TAP network interface, 360k floppies,
- improved MacOSX/Carbon interface and updated MacOS9 port
- GDB remote stub, allows symbolic debugging with Bochs simulation.
- support for up to 32gig hard disk images
2002-12-28 01:20:19 -05:00
|
|
|
.for _ncpu in 2 4 8
|
|
|
|
BIOS += BIOS-bochs-${_ncpu}-processors
|
|
|
|
.endfor
|
2001-06-13 12:12:49 -04:00
|
|
|
BIOS += BIOS-bochs-latest
|
update to bochs 2.0:
Changes in 2.0 (December 21, 2002):
Since the change log is hundreds of lines long, here is a very brief summary.
- 2x emulation speedup!!!
- added plugin devices and guis. Now you can compile with many more
options, and choose between them at runtime.
- added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
- add wxWindows port (a graphical configuration interface and display lib)
and SVGAlib port (full screen display for Linux without X11)
- improvements in many I/O devices: for example up to 8 hard disks/cdroms,
TUN/TAP network interface, 360k floppies,
- improved MacOSX/Carbon interface and updated MacOS9 port
- GDB remote stub, allows symbolic debugging with Bochs simulation.
- support for up to 32gig hard disk images
2002-12-28 01:20:19 -05:00
|
|
|
BIOS += VGABIOS-elpin-2.40 VGABIOS-elpin-LICENSE
|
|
|
|
BIOS += VGABIOS-lgpl-latest VGABIOS-lgpl-README
|
2001-05-26 01:52:55 -04:00
|
|
|
|
1998-05-20 03:11:31 -04:00
|
|
|
do-install:
|
2000-07-18 01:16:58 -04:00
|
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/bochs/bios
|
|
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/bochs
|
2002-06-09 12:24:57 -04:00
|
|
|
cd ${WRKBUILD}; ${INSTALL_PROGRAM} bochs bximage ${PREFIX}/bin
|
2001-05-26 01:52:55 -04:00
|
|
|
cd ${WRKSRC}/bios; ${INSTALL_DATA} ${BIOS} ${PREFIX}/share/bochs/bios
|
2002-06-09 12:24:57 -04:00
|
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/*.1 ${PREFIX}/man/man1
|
2004-01-09 11:15:04 -05:00
|
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/*.5 ${PREFIX}/man/man5
|
1999-10-31 15:22:37 -05:00
|
|
|
${INSTALL_DATA} ${WRKSRC}/docs-html/*.html ${PREFIX}/share/doc/bochs
|
2004-01-09 11:15:04 -05:00
|
|
|
${INSTALL_DATA} ${WRKSRC}/bochsrc ${PREFIX}/share/bochs
|
1998-05-20 03:11:31 -04:00
|
|
|
|
|
|
|
.include <bsd.port.mk>
|