freebsd-ports/emulators/bochs/Makefile

300 lines
7.6 KiB
Makefile
Raw Normal View History

2000-02-13 04:25:05 +01:00
# Ports collection makefile for: bochs
# Date created: 16 December 1997
# Whom: alex
#
1999-08-25 07:57:29 +02:00
# $FreeBSD$
#
2000-04-12 06:56:17 +02:00
PORTNAME= bochs
PORTVERSION= 2.3.7
PORTEPOCH= 2
2001-02-05 15:49:05 +01:00
CATEGORIES= emulators
MASTER_SITES= SF
MAINTAINER= ports@FreeBSD.org
COMMENT= An IA-32 (x86) PC emulator that runs DOS, Win 95, and more
BUILD_DEPENDS= mkfontdir:${PORTSDIR}/x11-fonts/mkfontdir
RUN_DEPENDS= mkfontdir:${PORTSDIR}/x11-fonts/mkfontdir
USE_GNOME= gnometarget
USE_GMAKE= yes
USE_AUTOTOOLS= libtool:15
CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
CONFIGURE_ARGS= --disable-docbook
OPTIONS= ACPI "Enable ACPI emulation" off \
AES "Enable support of AES CPU extensions" off \
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 \
MTRR "Enable MTRR emulation (CPU level >= 6)" off \
MWAIT "Enable experimental MONITOR/MWAIT support" 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 \
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 \
SSE4 "Enable emulation of SSE4.2 instruction set" off \
SVGA "Enable SVGAlib support" off \
TCACHE "Enable trace cache" on \
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 \
XSAVE "Enable support of XSAVE/XRSTOR CPU extensions" off
CFLAGS+= -fno-rtti -fno-exceptions -fomit-frame-pointer
CPPFLAGS= -I${LOCALBASE}/include
LDFLAGS= -L${LOCALBASE}/lib
MANCOMPRESSED= yes
2004-01-30 23:03:04 +01:00
MAN1= bochs.1 bochs-dlx.1 bxcommit.1 bximage.1
MAN5= bochsrc.5
SUB_FILES= pkg-message
.include <bsd.port.pre.mk>
.if defined(WITHOUT_TERM) && defined(WITHOUT_WX) && defined(WITHOUT_X11)
CONFIGURE_ARGS+=--with-nogui
.endif
.if defined(WITH_ACPI)
CONFIGURE_ARGS+=--enable-acpi
.endif
.if defined(WITH_AES)
CONFIGURE_ARGS+=--enable-aes
.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_MTRR)
CONFIGURE_ARGS+=--enable-mtrr
.endif
.if defined(WITH_MWAIT)
CONFIGURE_ARGS+=--enable-monitor-mwait
.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_SDL)
USE_SDL= sdl
CONFIGURE_ARGS+=--with-sdl
.endif
.if defined(WITH_SHOW_IPS)
CONFIGURE_ARGS+=--enable-show-ips
.endif
.if defined(WITH_SSE4) || defined(WITH_AES) || defined(WITH_XSAVE)
CONFIGURE_ARGS+=--enable-sse=4 --enable-sse-extension
WITH_CPU_LEVEL= 6
.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(WITHOUT_TCACHE)
CONFIGURE_ARGS+=--disable-trace-cache
.else
CONFIGURE_ARGS+=--enable-trace-cache
.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_XORG= xext xt
CONFIGURE_ARGS+=--with-x11
.endif
.if defined(WITH_X86_64)
CONFIGURE_ARGS+=--enable-x86-64
.endif
.if defined(WITH_XPM)
USE_XORG= xpm
.else
CONFIGURE_ARGS+=--disable-xpm
.endif
.if defined(WITH_XSAVE)
CONFIGURE_ARGS+=--enable-xsave
.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} -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|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/*.[15]
@${REINPLACE_CMD} -Ee 's|/usr/(include/vga\.h)|${LOCALBASE}/\1|' \
${WRKSRC}/gui/svga.cc
@${REINPLACE_CMD} -Ee 's|(^LOCAL_CXXFLAGS.+=)|\1 @CPPFLAGS@|' \
${WRKSRC}/gui/Makefile.in
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
@${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}/README
@${INSTALL_DATA} ${WRKSRC}/TODO ${DOCSDIR}/TODO
@${INSTALL_DATA} ${WRKSRC}/.bochsrc ${DOCSDIR}/bochsrc-sample.txt
@${INSTALL_DATA} ${WRKSRC}/docs-html/*.txt ${DOCSDIR}
@${MKDIR} ${DOCSDIR}/html
@${INSTALL_DATA} ${WRKSRC}/docs-html/*.html ${DOCSDIR}/html
.endif
@${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
.include <bsd.port.post.mk>