ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/mports/trunk/emulators/bochs/Makefile
Revision: 14011
Committed: Thu Apr 11 12:21:50 2013 UTC (10 years, 11 months ago) by laffer1
File size: 11507 byte(s)
Log Message:
2.6

File Contents

# User Rev Content
1 laffer1 14011 # $MidnightBSD: mports/emulators/bochs/Makefile,v 1.9 2011/02/02 21:42:14 laffer1 Exp $
2 laffer1 331
3     PORTNAME= bochs
4 laffer1 14011 PORTVERSION= 2.6
5 laffer1 331 PORTEPOCH= 2
6     CATEGORIES= emulators
7 laffer1 7141 MASTER_SITES= SF
8 laffer1 331
9 laffer1 7141 MAINTAINER= ports@MidnightBSD.org
10 laffer1 331 COMMENT= An IA-32 (x86) PC emulator that runs DOS, Win 95, and more
11    
12 laffer1 14011 LICENSE= lpgl
13    
14     OPTIONS_DEFINE= A20_PIN ALIGN_CHECK ASSERT_CHECK \
15     CDROM CHAINING CLGD54XX CONF_MSRS CPP_SUFX \
16     DISASM DOCS \
17     E1000 ES1370 FAST_FUNCCALL FPU \
18     GAMEPORT IDLE_HACK IODEBUG \
19     LARGE_RAMFILE LOGGING LONG_PHY_ADDR \
20     MISALIGNEDSSE MWAIT NE2000 OPTIMIZATIONS PCI PLUGINS PNIC \
21     RAW_SERIAL READLINE REPEAT_SPEED RFB \
22     SB16 SDL SHOW_IPS SMP SVGA SVM TERM USB USB_OHCI USB_XHCI \
23     VMX WX X11 X86_64 XPM
24     OPTIONS_RADIO= DEBUG
25     OPTIONS_RADIO_DEBUG= DEBUGGER GDB_STUB
26     OPTIONS_DEFAULT=A20_PIN ALIGN_CHECK CDROM CONF_MSRS DISASM FPU LOGGING \
27     NE2000 OPTIMIZATIONS SB16 X11
28    
29     A20_PIN_DESC= Enable support for A20 pin
30     ALIGN_CHECK_DESC= Enable alignment check support
31     ASSERT_CHECK_DESC= Enable BX_ASSERT checks
32     CDROM_DESC= Enable CDROM support
33     CHAINING_DESC= Enable handlers-chaining emulation speedups
34     CLGD54XX_DESC= Enable Cirrus Logic GD54xx video card
35     CONF_MSRS_DESC= Enable configurable MSR registers support
36     CPP_SUFX_DESC= Use .cpp as C++ suffix
37     DEBUG_DESCR= Enable Debugging, select this and one of DEBUGGER or GDB_STUB (or none)
38     DEBUGGER_DESC= Enable debugger support
39     DEBUGGER_X86_DESC= Enable x86 hardware debugger
40     DISASM_DESC= Enable disassemler support
41     E1000_DESC= Enable Intel(R) Gigabit Ethernet support
42     ES1370_DESC= Enable ES1370 soundcard support
43     FAST_FUNCCALL_DESC= Enable fast function calls support (x86 only)
44     FPU_DESC= Enable FPU emulator
45     GAMEPORT_DESC= Enable standard PC gameport support
46     GDB_STUB_DESC= Enable GDB stub support
47     IDLE_HACK_DESC= Keep Bochs from using all CPU time
48     IODEBUG_DESC= Enable I/O interface to debugger
49     LARGE_RAMFILE_DESC= Enable large ramfile support
50     LOGGING_DESC= Enable logging
51     LONG_PHY_ADDR_DESC= Enable support for physical address >= 32bit
52     MISALIGNEDSSE_DESC= Enable misaligned SSE support
53     MWAIT_DESC= Enable experimental MONITOR/MWAIT support
54     NE2000_DESC= Enable limited ne2000 support
55     OPTIMIZATIONS_DESC= Enable all safe speed optimizations
56     PCI_DESC= Enable limited i440FX PCI support
57     PLUGINS_DESC= Enable building dynamic loadable plugins
58     PNIC_DESC= Enable PCI pseudo NIC (network card) support
59     RAW_SERIAL_DESC= Use raw serial port access
60     READLINE_DESC= Enable readline support in debugger
61     REPEAT_SPEED_DESC= Enable repeated IO and mem copy speedups
62     RFB_DESC= Enable VNC server support in display
63     SB16_DESC= Enable Sound Blaster 16 emulation
64     SDL_DESC= Enable SDL display interface
65     SHOW_IPS_DESC= Enable logging of measured IPS
66     SMP_DESC= Enable SMP simulation support (CPU level 6)
67     SVGA_DESC= Enable SVGAlib support
68     SVM_DESC= Enable SVM (AMD: secure virtual machine) emulation
69     TERM_DESC= Use text only, console based interface
70     USB_DESC= Enable limited USB UHCI support
71     USB_OHCI_DESC= Enable limited USB OHCI support
72     USB_XHCI_DESC= Enable limited USB xHCI support
73     VMX_DESC= Enable Virtialization extensions
74     WX_DESC= Use WxWidgets display interface
75     X86_64_DESC= Enable AMD x86-64 support
76     XPM_DESC= Enable XPM library support
77    
78 laffer1 331 USE_GMAKE= yes
79 laffer1 10716 USE_AUTOTOOLS= libtool
80 laffer1 14011 CONFIGURE_ARGS= --disable-docbook --disable-instrumentation
81     MAKE_JOBS_SAFE= yes
82 laffer1 331
83 laffer1 14011 CFLAGS+= -fno-exceptions -fomit-frame-pointer ${CPPFLAGS}
84 laffer1 9516 CXXFLAGS+= -fno-rtti
85 laffer1 14011 CPPFLAGS+= -I${LOCALBASE}/include
86     LDFLAGS+= -L${LOCALBASE}/lib
87 laffer1 331
88     MANCOMPRESSED= yes
89     MAN1= bochs.1 bochs-dlx.1 bxcommit.1 bximage.1
90     MAN5= bochsrc.5
91    
92     SUB_FILES= pkg-message
93    
94 laffer1 14011 .include <bsd.mport.options.mk>
95 laffer1 7141
96 laffer1 14011 .if empty(PORT_OPTIONS:MTERM) && empty(PORT_OPTIONS:MWX) && empty(PORT_OPTIONS:MX11)
97 laffer1 7141 CONFIGURE_ARGS+=--with-nogui
98 laffer1 331 .endif
99    
100 laffer1 14011 .if ${PORT_OPTIONS:MA20_PIN}
101     CONFIGURE_ARGS+=--enable-a20-pin
102     .else
103 laffer1 9516 CONFIGURE_ARGS+=--disable-a20-pin
104     .endif
105    
106 laffer1 14011 .if ${PORT_OPTIONS:MALIGN_CHECK}
107     CONFIGURE_ARGS+=--enable-alignment-check
108 laffer1 9516 .else
109     CONFIGURE_ARGS+=--disable-alignment-check
110     .endif
111    
112 laffer1 14011 .if ${PORT_OPTIONS:MASSERT_CHECK}
113 laffer1 9516 CONFIGURE_ARGS+=--enable-assert-checks
114     .else
115     CONFIGURE_ARGS+=--disable-assert-checks
116     .endif
117    
118 laffer1 14011 .if ${PORT_OPTIONS:MCDROM}
119     CONFIGURE_ARGS+=--enable-cdrom
120     .else
121 laffer1 7141 CONFIGURE_ARGS+=--disable-cdrom
122 laffer1 14011 .endif
123    
124     .if ${PORT_OPTIONS:MCHAINING}
125     CONFIGURE_ARGS+=--enable-handlers-chaining
126 laffer1 9516 .else
127 laffer1 14011 CONFIGURE_ARGS+=--disable-handlers-chaining
128 laffer1 331 .endif
129    
130 laffer1 14011 .if ${PORT_OPTIONS:MCLGD54XX}
131 laffer1 7141 CONFIGURE_ARGS+=--enable-clgd54xx
132 laffer1 9516 .else
133     CONFIGURE_ARGS+=--disable-clgd54xx
134 laffer1 331 .endif
135    
136 laffer1 14011 .if ${PORT_OPTIONS:MCONF_MSRS}
137     CONFIGURE_ARGS+=--enable-configurable-msrs
138     .else
139 laffer1 9516 CONFIGURE_ARGS+=--disable-configurable-msrs
140 laffer1 14011 .endif
141    
142     .if ${PORT_OPTIONS:MCPP_SUFX}
143     CONFIGURE_ARGS+=--enable-cpp
144 laffer1 9516 .else
145 laffer1 14011 CONFIGURE_ARGS+=--disable-cpp
146 laffer1 9516 .endif
147    
148 laffer1 14011 .if ${PORT_OPTIONS:MDEBUGGER}
149 laffer1 9516 CONFIGURE_ARGS+=--enable-debugger
150     .else
151     CONFIGURE_ARGS+=--disable-debugger
152 laffer1 331 .endif
153    
154 laffer1 14011 .if ${PORT_OPTIONS:MDEBUGGER_X86}
155 laffer1 7141 CONFIGURE_ARGS+=--enable-x86-debugger
156 laffer1 9516 .else
157     CONFIGURE_ARGS+=--disable-x86-debugger
158 laffer1 331 .endif
159    
160 laffer1 14011 .if ${PORT_OPTIONS:MDISASM}
161     CONFIGURE_ARGS+=--enable-disasm
162     .else
163 laffer1 9516 CONFIGURE_ARGS+=--disable-disasm
164 laffer1 14011 .endif
165    
166     .if ${PORT_OPTIONS:ME1000}
167     CONFIGURE_ARGS+=--enable-e1000
168 laffer1 9516 .else
169 laffer1 14011 CONFIGURE_ARGS+=--disable-e1000
170 laffer1 9516 .endif
171    
172 laffer1 14011 .if ${PORT_OPTIONS:MES1370}
173     CONFIGURE_ARGS+=--enable-es1370
174     .else
175     CONFIGURE_ARGS+=--disable-es1370
176     .endif
177    
178     .if ${PORT_OPTIONS:MFAST_FUNCCALL}
179 laffer1 9516 CONFIGURE_ARGS+=--enable-fast-function-calls
180     .else
181     CONFIGURE_ARGS+=--disable-fast-function-calls
182     .endif
183    
184 laffer1 14011 .if ${PORT_OPTIONS:MFPU}
185     CONFIGURE_ARGS+=--enable-fpu
186     .else
187 laffer1 9516 CONFIGURE_ARGS+=--disable-fpu
188 laffer1 331 .endif
189    
190 laffer1 14011 .if ${PORT_OPTIONS:MGAMEPORT}
191 laffer1 9516 CONFIGURE_ARGS+=--enable-gameport
192     .else
193     CONFIGURE_ARGS+=--disable-gameport
194     .endif
195    
196 laffer1 14011 .if ${PORT_OPTIONS:MGDB_STUB}
197 laffer1 9516 CONFIGURE_ARGS+=--enable-gdb-stub
198     .else
199     CONFIGURE_ARGS+=--disable-gdb-stub
200     .endif
201    
202 laffer1 14011 .if ${PORT_OPTIONS:MIDLE_HACK}
203 laffer1 7141 CONFIGURE_ARGS+=--enable-idle-hack
204 laffer1 9516 .else
205     CONFIGURE_ARGS+=--disable-idle-hack
206 laffer1 331 .endif
207    
208 laffer1 14011 .if ${PORT_OPTIONS:MIODEBUG}
209     CONFIGURE_ARGS+=--enable-iodebug
210 laffer1 9516 .else
211 laffer1 14011 CONFIGURE_ARGS+=--disable-iodebug
212 laffer1 9516 .endif
213    
214 laffer1 14011 .if ${PORT_OPTIONS:MLARGE_RAMFILE}
215     CONFIGURE_ARGS+=--enable-large-ramfile
216 laffer1 9516 .else
217 laffer1 14011 CONFIGURE_ARGS+=--disable-large-ramfile
218 laffer1 9516 .endif
219    
220 laffer1 14011 .if ${PORT_OPTIONS:MLOGGING}
221     CONFIGURE_ARGS+=--enable-logging
222     .else
223 laffer1 9516 CONFIGURE_ARGS+=--disable-logging
224     .endif
225    
226 laffer1 14011 .if ${PORT_OPTIONS:MLONG_PHY_ADDR}
227 laffer1 9516 CONFIGURE_ARGS+=--enable-long-phy-address
228     .else
229     CONFIGURE_ARGS+=--disable-long-phy-address
230     .endif
231    
232 laffer1 14011 .if ${PORT_OPTIONS:MMISALIGNEDSSE}
233 laffer1 9516 CONFIGURE_ARGS+=--enable-misaligned-sse
234     .else
235     CONFIGURE_ARGS+=--disable-misaligned-sse
236     .endif
237    
238 laffer1 14011 .if ${PORT_OPTIONS:MMWAIT}
239 laffer1 7141 CONFIGURE_ARGS+=--enable-monitor-mwait
240 laffer1 9516 .else
241     CONFIGURE_ARGS+=--disable-monitor-mwait
242 laffer1 331 .endif
243 laffer1 7141
244 laffer1 14011 .if ${PORT_OPTIONS:MNE2000}
245 laffer1 7141 CONFIGURE_ARGS+=--enable-ne2000
246 laffer1 9516 .else
247     CONFIGURE_ARGS+=--disable-ne2000
248 laffer1 331 .endif
249 laffer1 7141
250 laffer1 14011 .if ${PORT_OPTIONS:MOPTIMIZATIONS}
251 laffer1 7141 CONFIGURE_ARGS+=--enable-all-optimizations
252 laffer1 9516 .else
253     CONFIGURE_ARGS+=--disable-all-optimizations
254 laffer1 331 .endif
255 laffer1 7141
256 laffer1 14011 .if ${PORT_OPTIONS:MPCI}
257 laffer1 7141 CONFIGURE_ARGS+=--enable-pci
258 laffer1 9516 .else
259     CONFIGURE_ARGS+=--disable-pci
260 laffer1 331 .endif
261 laffer1 7141
262 laffer1 14011 .if ${PORT_OPTIONS:MPLUGINS}
263 laffer1 7141 CONFIGURE_ARGS+=--enable-plugins
264 laffer1 9516 .else
265     CONFIGURE_ARGS+=--disable-plugins
266 laffer1 331 .endif
267 laffer1 7141
268 laffer1 14011 .if ${PORT_OPTIONS:MPNIC}
269 laffer1 7141 CONFIGURE_ARGS+=--enable-pnic
270 laffer1 9516 .else
271     CONFIGURE_ARGS+=--disable-pnic
272 laffer1 331 .endif
273    
274 laffer1 14011 .if ${PORT_OPTIONS:MRAW_SERIAL}
275 laffer1 9516 CONFIGURE_ARGS+=--enable-raw-serial
276     .else
277     CONFIGURE_ARGS+=--disable-raw-serial
278 laffer1 7141 .endif
279    
280 laffer1 14011 .if ${PORT_OPTIONS:MREADLINE}
281     USE_READLINE= yes
282 laffer1 7141 CONFIGURE_ARGS+=--enable-readline
283     .else
284     CONFIGURE_ARGS+=--disable-readline
285     .endif
286    
287 laffer1 14011 .if ${PORT_OPTIONS:MREPEAT_SPEED}
288 laffer1 9516 CONFIGURE_ARGS+=--enable-repeat-speedups
289     .else
290     CONFIGURE_ARGS+=--disable-repeat-speedups
291     .endif
292    
293 laffer1 14011 .if ${PORT_OPTIONS:MRFB}
294 laffer1 7141 CONFIGURE_ARGS+=--with-rfb
295 laffer1 9516 .else
296     CONFIGURE_ARGS+=--without-rfb
297 laffer1 7141 .endif
298    
299 laffer1 14011 .if ${PORT_OPTIONS:MSB16}
300     CONFIGURE_ARGS+=--enable-sb16
301 laffer1 7141 .endif
302    
303 laffer1 14011 .if ${PORT_OPTIONS:MSDL}
304 laffer1 7141 USE_SDL= sdl
305     CONFIGURE_ARGS+=--with-sdl
306     .endif
307    
308 laffer1 14011 .if ${PORT_OPTIONS:MSHOW_IPS}
309 laffer1 7141 CONFIGURE_ARGS+=--enable-show-ips
310 laffer1 9516 .else
311     CONFIGURE_ARGS+=--disable-show-ips
312 laffer1 7141 .endif
313    
314 laffer1 14011 .if ${PORT_OPTIONS:MSMP}
315 laffer1 9516 CONFIGURE_ARGS+=--enable-smp
316     WITH_CPU_LEVEL= 6
317     .endif
318    
319 laffer1 14011 .if ${PORT_OPTIONS:MSVGA}
320     LIB_DEPENDS+= vga:${PORTSDIR}/graphics/svgalib
321 laffer1 7141 CONFIGURE_ARGS+=--with-svga
322 laffer1 14011 .else
323     CONFIGURE_ARGS+=--without-svga
324 laffer1 7141 .endif
325    
326 laffer1 14011 .if ${PORT_OPTIONS:MSVM}
327     CONFIGURE_ARGS+=--enable-svm
328     .else
329     CONFIGURE_ARGS+=--disable-svm
330 laffer1 7141 .endif
331    
332 laffer1 14011 .if ${PORT_OPTIONS:MTERM}
333     CONFIGURE_ARGS+=--with-term
334 laffer1 7141 .else
335 laffer1 14011 CONFIGURE_ARGS+=--without-term
336 laffer1 7141 .endif
337    
338 laffer1 14011 .if ${PORT_OPTIONS:MUSB}
339 laffer1 7141 CONFIGURE_ARGS+=--enable-usb
340 laffer1 9516 .else
341     CONFIGURE_ARGS+=--disable-usb
342 laffer1 7141 .endif
343    
344 laffer1 14011 .if ${PORT_OPTIONS:MUSB_OHCI}
345 laffer1 9516 CONFIGURE_ARGS+=--enable-usb-ohci
346     .else
347     CONFIGURE_ARGS+=--disable-usb-ohci
348     .endif
349    
350 laffer1 14011 .if ${PORT_OPTIONS:MUSB_XHCI}
351     CONFIGURE_ARGS+=--enable-usb-xhci
352 laffer1 9516 .else
353 laffer1 14011 CONFIGURE_ARGS+=--disable-usb-xhci
354 laffer1 7141 .endif
355    
356 laffer1 14011 .if ${PORT_OPTIONS:MVMX}
357 laffer1 9516 CONFIGURE_ARGS+=--enable-vmx
358 laffer1 10662 WITH_CPU_LEVEL= 6
359 laffer1 9516 .else
360     CONFIGURE_ARGS+=--disable-vmx
361     .endif
362    
363 laffer1 14011 .if ${PORT_OPTIONS:MWX}
364 laffer1 10662 USE_WX= 2.4+
365     CONFIGURE_ENV= WX_CONFIG="${WX_CONFIG}"
366 laffer1 7141 CONFIGURE_ARGS+=--with-wx
367 laffer1 9516 .else
368     CONFIGURE_ARGS+=--disable-debugger-gui
369 laffer1 7141 .endif
370    
371 laffer1 14011 .if ${PORT_OPTIONS:MX11}
372     USE_XORG= xrandr
373 laffer1 7141 CONFIGURE_ARGS+=--with-x11
374     .endif
375    
376 laffer1 14011 .if ${PORT_OPTIONS:MX86_64}
377 laffer1 7141 CONFIGURE_ARGS+=--enable-x86-64
378 laffer1 9516 .else
379     CONFIGURE_ARGS+=--disable-x86-64
380 laffer1 7141 .endif
381    
382 laffer1 14011 .if ${PORT_OPTIONS:MXPM} && ${PORT_OPTIONS:MX11}
383     USE_XORG+= xpm
384 laffer1 9516 CONFIGURE_ARGS+=--enable-xpm
385 laffer1 7141 .else
386     CONFIGURE_ARGS+=--disable-xpm
387     .endif
388    
389     .if defined(WITH_CPU_LEVEL)
390     .if ${WITH_CPU_LEVEL} < 3 || ${WITH_CPU_LEVEL} > 6
391     IGNORE= can not install: WITH_CPU_LEVEL must be an integer value between 3 and 6
392     .endif
393     CONFIGURE_ARGS+=--enable-cpu-level=${WITH_CPU_LEVEL}
394     .endif
395    
396 laffer1 14011 .if ${PORT_OPTIONS:MSB16} || ${PORT_OPTIONS:MES1370}
397     LIB_DEPENDS+= asound:${PORTSDIR}/audio/alsa-lib
398     CONFIGURE_ENV+= SOUND_LINK_OPTS="-L${LOCALBASE}/lib"
399     .endif
400    
401     .if ${PORT_OPTIONS:MGDB_STUB} && ${PORT_OPTIONS:MSMP}
402     IGNORE= GDB_STUB is incompatible with multiprocessor
403     .endif
404    
405 laffer1 7141 pre-everything::
406 laffer1 14011 .if !defined(WITH_CPU_LEVEL)
407 laffer1 7141 @${ECHO_CMD}
408     @${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}
409 laffer1 14011 @${ECHO_CMD}
410 laffer1 7141 .endif
411    
412 laffer1 331 post-patch:
413 laffer1 7141 @${REINPLACE_CMD} -Ee \
414     's|$$BXSHARE/|${DATADIR}/|; \
415     s|^#clock: sync=none|clock: sync=realtime|; \
416     s|^log: .+|log: /dev/null|; \
417     s|^panic: .+|panic: action=ask|; \
418     s|^parport1: .+|#&|' \
419     ${WRKSRC}/.bochsrc
420     @${REINPLACE_CMD} -Ee \
421     's|install_share install_doc|install_share|; \
422     s|(^sharedir.+=).+|\1 ${DATADIR}|; \
423     s|(^docdir.+=).+|\1 ${DOCSDIR}|' \
424     ${WRKSRC}/Makefile.in
425     @${REINPLACE_CMD} -e \
426     's|/usr/local/share/bochs|${DATADIR}|; \
427     s|/usr/local/share/doc/bochs|${DOCSDIR}|' \
428     ${WRKSRC}/doc/docbook/user/user.dbk ${WRKSRC}/doc/man/*.[15]
429     @${REINPLACE_CMD} -Ee 's|/usr/(include/vga\.h)|${LOCALBASE}/\1|' \
430 laffer1 14011 ${WRKSRC}/gui/svga.cc
431 laffer1 10662 @${REINPLACE_CMD} -Ee \
432     's|(^LOCAL_CXXFLAGS.+=)|\1 @CPPFLAGS@|; \
433     s|(-lvgagl)$$|\1 @LDFLAGS@|' \
434     ${WRKSRC}/gui/Makefile.in
435 laffer1 331
436     post-install:
437 laffer1 14011 .if ${PORT_OPTIONS:MPLUGINS}
438 laffer1 7141 @${FIND} ${PREFIX}/lib/bochs ! -type d | \
439     ${SED} 's,^${PREFIX}/,,' >> ${TMPPLIST}
440     @${FIND} ${PREFIX}/lib/bochs -type d | ${SORT} -r | \
441     ${SED} 's,^${PREFIX}/,@dirrm ,' >> ${TMPPLIST}
442     .endif
443 laffer1 14011 .if ${PORT_OPTIONS:MDOCS}
444 laffer1 331 @${MKDIR} ${DOCSDIR}
445 laffer1 7141 @${INSTALL_DATA} ${WRKSRC}/CHANGES ${DOCSDIR}/CHANGES
446     @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}/README
447     @${INSTALL_DATA} ${WRKSRC}/TODO ${DOCSDIR}/TODO
448     @${INSTALL_DATA} ${WRKSRC}/.bochsrc ${DOCSDIR}/bochsrc-sample.txt
449 laffer1 331 @${INSTALL_DATA} ${WRKSRC}/docs-html/*.txt ${DOCSDIR}
450     @${MKDIR} ${DOCSDIR}/html
451     @${INSTALL_DATA} ${WRKSRC}/docs-html/*.html ${DOCSDIR}/html
452     .endif
453 laffer1 14011 @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
454 laffer1 331
455 laffer1 14011 .include <bsd.port.mk>

Properties

Name Value
cvs2svn:cvs-rev 1.10