aboutsummaryrefslogtreecommitdiffstats
path: root/devel/gccxml/Makefile
blob: 07a305e5d5cbfad010f9c63494271b1e0c2d3922 (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
51
52
53
54
55
# New ports collection makefile for:    gccxml
# Date created:         2003-07-16
# Whom:             Volker Stolz <stolz@i2.informatik.rwth-aachen.de>
#
# $FreeBSD$
#

PORTNAME=   gccxml
PORTVERSION=    0.4.2
CATEGORIES= devel
MASTER_SITES=   http://www.gccxml.org/files/
DISTFILES=  ${DISTNAME}${EXTRACT_SUFX} ${DISTNAME}-cc1plus-304${EXTRACT_SUFX}

MAINTAINER= stolz@i2.informatik.rwth-aachen.de
COMMENT=    XML output extension to GCC

BUILD_DEPENDS=  cmake:${PORTSDIR}/devel/cmake

NOT_FOR_ARCHS=  amd64 sparc64 ia64 # cf. lang/gcc30

# This one's neat: We have to build things in two subdirectories,
#   but only need to invoke configure in one of them. This means we
#   only have to override the build-stage entirely but can keep the
#   other stages:

CONFIGURE_WRKSRC=   ${WRKDIR}/${DISTNAME}-cc1plus-304-build
CONFIGURE_SCRIPT=   ../${DISTNAME}-cc1plus-304/configure
INSTALL_WRKSRC=     ${WRKDIR}/${DISTNAME}-build

GNU_CONFIGURE=  YES
CONFIGURE_ARGS= --enable-languages=c++ --without-libstdcxx -disable-nls --without-libstdc

MAN1=   gccxml.1

PLIST_SUB=  PORTVERSION=${PORTVERSION}

pre-configure:
    ${MKDIR} ${CONFIGURE_WRKSRC}
    ${MKDIR} ${WRKDIR}/${DISTNAME}-build
    cd ${WRKDIR}/${DISTNAME}-build && \
    ${LOCALBASE}/bin/cmake ../${DISTNAME} -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX}

do-build:
    cd ${CONFIGURE_WRKSRC}/libiberty && ${MAKE} libiberty.a
    cd ${CONFIGURE_WRKSRC}/gcc && ${MAKE} tm.h tm_p.h cc1plus
    cd ${WRKDIR}/${DISTNAME}-build && ${MAKE}

post-install:
.if !defined(NOPORTDOCS)
    @${MKDIR} ${DOCSDIR}
    @${INSTALL_DATA} ${WRKSRC}/Copyright.txt ${DOCSDIR}
.endif
    ${INSTALL_PROGRAM} ${WRKDIR}/${DISTNAME}-cc1plus-304-build/gcc/cc1plus ${PREFIX}/bin/gccxml_cc1plus

.include <bsd.port.mk>