pkgsrc/emulators/bochs/Makefile
ryoon 4d723578bc Update to 2.6.2
* Remove obsolete patch.
* Remove deprecated CONFIGURE_ARGS.

Changelog:

Changes in 2.6.2 (May 26, 2013):

- CPU
  - VMX: implemented VMENTER to non-active guest state (HLT, SHUTDOWN, WAIT-FOR-SIPI)
  - VMX: fixed write of guest segment access rights VMCS fields (32-bit field
    was truncated to 16-bit)
  - CPUID: Don't report Architectural Performance Monitoring in CPUID.
    Reporting true capabilities without actually supporting them breaks Win7 x64 installation.
  - CPUID: Fixed bx_generic CPUID std leafs (all std leafs > 2 were corrupted)
  - CPUID: Enable all supported VMX capabilities for bx_generic CPUID configuration.
  - CPUID: Enable X2APIC support for Ivy Bridge CPUDB configuration.

- Configure and compile
  - Enabled VMX compilation by default in shortcut scripts.
  - Allow CPU_LEVEL=5 configurations (pentium_mmx and amd_k2_chomper) even when Bochs was
    compiled with CPU_LEVEL > 5.

- Misc
  - Fixes for Bochs port on MorphOS (based on a patch by Thore Sittly):
    missing functions, byte-swapping and cdrom support.

-------------------------------------------------------------------------
Changes in 2.6.1 (April 7, 2013):

- CPU / CPUDB
  - Bochs is fully aligned with rev45 of the of Intel(R) Architecture Manual.
    - Implemented Supervisor Mode Access Prevention (SMAP) support
    - Implemented VMX APIC Registers Virtualization and VMX Virtual Interrupt Delivery
    - Implemented VMCS Shadowing and #VE exception secondary VMEXIT controls emulation
    - Implemented RDRAND and RDSEED instructions
  ! CPUDB: Added AMD FX-4100 (Zambezi) configuration to CPUDB
  - Bugfixes for CPU emulation correctness (critical fixes for SVM and AVX2 emulation)

- Bochs Debugger and Instrumentation
  - Use Enhanced GUI Debugger instead of old-style wx debugger with wx gui.
    The old-style wx debugger support was deprecated and removed from the source code.

- I/O Devices
  - Implemented 3dfx Voodoo Graphics card emulation based on DOSBox patch, to enable
    configure with --enable-voodoo option.
  - Hard drive / HD image
    - Added full save restore support for most of the disk image formats
    - undoable / volatile mode: added support of other types of r/o base images
    - DLL HD support rewritten and enabled for WIN32 host
  - PCI chipset
    - Implemented i430FX chipset emulation
    - USB UHCI always enabled in the i440FX case

- Config interface
  - Configure option --enable-misaligned-sse moved to runtime option in .bochsrc. The old
    option is deprecated and should not be used anymore.
  - moved 'user_shortcut' bochsrc option to the 'keyboard' option
  - save log options per device to bochsrc
  - win32: implemented scrollable dialog items for large parameter lists

- GUI and display libraries
  - Graphics snapshot feature rewritten to support all kinds of graphics modes
  - wx: starting a second simulation without closing Bochs now almost possible

- Tools
  - bxcommit: added support for converting flat to growing mode images
2013-06-09 06:03:33 +00:00

151 lines
4 KiB
Makefile

# $NetBSD: Makefile,v 1.76 2013/06/09 06:03:33 ryoon Exp $
DISTNAME= bochs-2.6.2
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bochs/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://bochs.sourceforge.net/
COMMENT= IA32 and AMD64 PC emulator
LICENSE= gnu-lgpl-v2.1
MAKE_JOBS_SAFE= no
GNU_CONFIGURE= yes
USE_TOOLS+= gmake gunzip gzip
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
ONLY_FOR_COMPILER= gcc
CXXFLAGS+= -DPARANOID
CONFIGURE_ARGS+= --enable-cdrom
CONFIGURE_ARGS+= --enable-ne2000
MAKE_ENV+= GZIP_CMD=${GZIP_CMD:Q}
MAKE_ENV+= GUNZIP_CMD=${GUNZIP_CMD:Q}
MAKE_ENV+= WGET=${FETCH_CMD:Q}
PLIST_VARS+= debug notiny nox11 plugins x11
PKG_OPTIONS_VAR= PKG_OPTIONS.bochs
PKG_SUPPORTED_OPTIONS+= debug tiny x11
PKG_SUGGESTED_OPTIONS+= x11
.include "../../mk/bsd.prefs.mk"
.include "../../mk/bsd.options.mk"
# Debugging features for the client operating systems. These options are
# not enabled by default because they can adversely impact performance.
.if !empty(PKG_OPTIONS:Mdebug)
CONFIGURE_ARGS+= --disable-plugins
CONFIGURE_ARGS+= --enable-debugger
CONFIGURE_ARGS+= --enable-disasm
CONFIGURE_ARGS+= --enable-iodebug
CONFIGURE_ARGS+= --enable-x86-debugger
.endif
.if empty(PKG_OPTIONS:Mtiny)
PLIST.notiny= yes
CONFIGURE_ARGS+= --enable-idle-hack
CONFIGURE_ARGS+= --enable-a20-pin
CONFIGURE_ARGS+= --enable-x86-64
CONFIGURE_ARGS+= --enable-smp
CONFIGURE_ARGS+= --enable-long-phy-address
CONFIGURE_ARGS+= --enable-cpu-level=6
CONFIGURE_ARGS+= --enable-pci
CONFIGURE_ARGS+= --enable-usb
CONFIGURE_ARGS+= --enable-usb-ohci
CONFIGURE_ARGS+= --enable-pnic
CONFIGURE_ARGS+= --enable-repeat-speedups
CONFIGURE_ARGS+= --enable-configurable-msrs
CONFIGURE_ARGS+= --enable-all-optimizations
#CONFIGURE_ARGS+= --enable-instrumentation
CONFIGURE_ARGS+= --enable-clgd54xx
CONFIGURE_ARGS+= --enable-fpu
CONFIGURE_ARGS+= --enable-vmx=2
#CONFIGURE_ARGS+= --enable-3dnow
CONFIGURE_ARGS+= --enable-alignment-check
#CONFIGURE_ARGS+= --enable-gdb-stub
CONFIGURE_ARGS+= --enable-gameport
. if empty(PKG_OPTIONS:Mdebug)
PLIST.plugins= yes
CONFIGURE_ARGS+= --enable-plugins
. endif
. if !empty(MACHINE_PLATFORM:M*-*-i386)
CONFIGURE_ARGS+= --enable-fast-function-calls
. endif
. if ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --enable-sb16=osx
. elif ${OPSYS} == "FreeBSD"
CONFIGURE_ARGS+= --enable-sb16=freebsd
. elif ${OPSYS} == "Linux"
CONFIGURE_ARGS+= --enable-sb16=linux
CONFIGURE_ARGS+= --enable-pcidev
. else
CONFIGURE_ARGS+= --enable-sb16=dummy
. endif
.endif
.if empty(PKG_OPTIONS:Mx11)
PLIST.nox11= yes
CONFIGURE_ARGS+= --without-x
CONFIGURE_ARGS+= --without-x11
CONFIGURE_ARGS+= --with-term
.else
PLIST.x11= yes
.endif
.if ${OPSYS} == "Linux"
BOCHSRC_SUBST+= -e 's,@FLOPPY_BSD@,\#,'
BOCHSRC_SUBST+= -e 's,@FLOPPY_LINUX@,,'
.elif ${OPSYS} == "Darwin"
BOCHSRC_SUBST+= -e 's,@FLOPPY_BSD@,\#,'
BOCHSRC_SUBST+= -e 's,@FLOPPY_LINUX@,\#,'
.else
BOCHSRC_SUBST+= -e 's,@FLOPPY_BSD@,,'
BOCHSRC_SUBST+= -e 's,@FLOPPY_LINUX@,\#,'
.endif
.if ${OPSYS} == "Darwin"
MESSAGE_SRC= ${.CURDIR}/MESSAGE.Darwin
PLIST_SRC= ${.CURDIR}/PLIST.Darwin
post-build:
{ ${ECHO} '#! ${SH}'; \
${ECHO} 'exec ${PREFIX}/libexec/bochs.app/Contents/MacOS/bochs'\
'"$$@"'; } >${WRKDIR}/bochs.sh
post-install:
/Developer/Tools/CpMac -r -p ${WRKSRC}/bochs.app ${PREFIX}/libexec
${INSTALL_PROGRAM} ${WRKSRC}/bxcommit ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/bximage ${PREFIX}/bin
${RM} -rf ${PREFIX}/libexec/bochs.app/.build
${INSTALL_SCRIPT} ${WRKDIR}/bochs.sh ${PREFIX}/bin/bochs
.else
.if !empty(PKG_OPTIONS:Mdebug) && !empty(PKG_OPTIONS:Mx11)
.include "../../x11/gtk2/buildlink3.mk"
.endif
. if empty(PKG_OPTIONS:Mx11)
. include "../../mk/curses.buildlink3.mk"
. else
BUILDLINK_DEPMETHOD.libXt?= build
. include "../../x11/libSM/buildlink3.mk"
. include "../../x11/libX11/buildlink3.mk"
. include "../../x11/libXpm/buildlink3.mk"
. include "../../x11/libXrandr/buildlink3.mk"
. include "../../x11/libXt/buildlink3.mk"
. endif
.endif
pre-configure:
${SED} ${BOCHSRC_SUBST} <${WRKSRC}/.bochsrc >${WRKSRC}/.bochsrc.new
mv ${WRKSRC}/.bochsrc.new ${WRKSRC}/.bochsrc
.include "../../mk/bsd.pkg.mk"