summaryrefslogtreecommitdiff
path: root/emulators/bochs/Makefile
blob: 94178e4a739e6a95586a43d692578e62c92c73de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# $NetBSD: Makefile,v 1.58 2009/05/25 12:54:48 mishka Exp $

DISTNAME=		bochs-2.3.7
PKGREVISION=		3
CATEGORIES=		emulators
MASTER_SITES=		${MASTER_SITE_SOURCEFORGE:=bochs/}

MAINTAINER=		pkgsrc-users@NetBSD.org
HOMEPAGE=		http://bochs.sourceforge.net/
COMMENT=		IA32 and AMD64 PC emulator

PKG_DESTDIR_SUPPORT=	user-destdir

GNU_CONFIGURE=		yes
USE_TOOLS+=		gmake
USE_TOOLS+=		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+=		notiny nox11 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+=	--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-3dnow
CONFIGURE_ARGS+=	--enable-4meg-pages
CONFIGURE_ARGS+=	--enable-all-optimizations
CONFIGURE_ARGS+=	--enable-apic
CONFIGURE_ARGS+=	--enable-cpu-level=6
CONFIGURE_ARGS+=	--enable-daz
CONFIGURE_ARGS+=	--enable-fpu
CONFIGURE_ARGS+=	--enable-global-pages
CONFIGURE_ARGS+=	--enable-guest2host-tlb
CONFIGURE_ARGS+=	--enable-host-specific-asms
CONFIGURE_ARGS+=	--enable-icache
CONFIGURE_ARGS+=	--enable-mmx
CONFIGURE_ARGS+=	--enable-pae
CONFIGURE_ARGS+=	--enable-pci
CONFIGURE_ARGS+=	--enable-repeat-speedups
CONFIGURE_ARGS+=	--enable-sep
CONFIGURE_ARGS+=	--enable-sse=3
CONFIGURE_ARGS+=	--enable-usb
CONFIGURE_ARGS+=	--enable-vbe
CONFIGURE_ARGS+=	--enable-x86-64
CONFIGURE_ARGS+=	--enable-popcnt
CONFIGURE_ARGS+=	--enable-smp
CONFIGURE_ARGS+=	--enable-ne2000
CONFIGURE_ARGS+=	--enable-acpi
CONFIGURE_ARGS+=	--enable-pnic
CONFIGURE_ARGS+=	--enable-large-pages
CONFIGURE_ARGS+=	--enable-mtrr
CONFIGURE_ARGS+=	--enable-clgd54xx
CONFIGURE_ARGS+=	--enable-sse-extension
CONFIGURE_ARGS+=	--enable-gameport
CONFIGURE_ARGS+=	--enable-misaligned-sse
CONFIGURE_ARGS+=	--enable-aes
CONFIGURE_ARGS+=	--enable-xsave
CONFIGURE_ARGS+=	--enable-vme
CONFIGURE_ARGS+=	--enable-plugins

.  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
.  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: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/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"