aboutsummaryrefslogtreecommitdiffstats
path: root/emulators/gem5/Makefile
blob: cc23abec523766e8a106be87f88c9a6946d5decc (plain) (blame)
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
# Created by: Veniamin Gvozdikov <vg@FreeBSD.org>
# $FreeBSD$

PORTNAME=   gem5
PORTVERSION=    0.0.${DATE}
CATEGORIES= emulators

MAINTAINER= vg@FreeBSD.org
COMMENT=    gem5 Simulator System

BUILD_DEPENDS=  swig3.0:devel/swig30 \
        scons:devel/scons

BROKEN_armv6=       fails to link: undefined reference to HDLcd::BUS_OPTIONS_RESETV
BROKEN_armv7=       fails to link: undefined reference to HDLcd::BUS_OPTIONS_RESETV
BROKEN_i386=        does not build
BROKEN_mips64=      fails to build: claims that gcc version 4.6 or newer required
BROKEN_powerpc64=   fails to build: claims that gcc version 4.6 or newer required

DATE=       20140422
USE_GITHUB= yes
GH_ACCOUNT= CTSRD-CHERI
GH_TAGNAME= 99d65cc
SWIG_BIN=   swig3.0
USES=       gmake

.include <bsd.port.pre.mk>

post-patch:
    @${REINPLACE_CMD} -e 's|sys/termios.h|termios.h|' \
        ${WRKSRC}/src/base/vnc/vncserver.cc \
        ${WRKSRC}/src/dev/terminal.cc \
        ${WRKSRC}/util/term/term.c

do-build:
    cd ${WRKSRC} && ${GMAKE} -C util/term
    cd ${WRKSRC} && ${SETENV} SWIG="${PREFIX}/bin/${SWIG_BIN}" scons \
        build/ARM/gem5.opt

do-install:
    ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME} \
        ${STAGEDIR}${PREFIX}/${PORTNAME}/ARM
    (cd ${WRKSRC} && ${COPYTREE_SHARE} configs \
        ${STAGEDIR}${PREFIX}/${PORTNAME})
    (cd ${WRKSRC} && ${INSTALL_PROGRAM} build/ARM/gem5.opt \
        ${STAGEDIR}${PREFIX}/${PORTNAME}/ARM/gem5.opt)
    (cd ${WRKSRC} && ${INSTALL_PROGRAM} util/term/m5term \
        ${STAGEDIR}${PREFIX}/bin/m5term)

.include <bsd.port.post.mk>