aboutsummaryrefslogtreecommitdiffstats
path: root/devel/msp430-gcc/Makefile
blob: 6a4d0d1011f4b4a32f7ef1f3dd90bc81fa3234b6 (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
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
# Created by: Lev Serebryakov <lev@serebryakov.spb.ru>
# $FreeBSD$

PORTNAME=   gcc
PORTVERSION=    ${GCCVERSION}.${LTSVERSION}
PORTREVISION=   3
PORTEPOCH=  2
CATEGORIES= devel
MASTER_SITES=   ${MASTER_SITE_SOURCEWARE} \
        SF/mspgcc/mspgcc:mspgcc
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${PORTNAME}-${GCCVERSION}
PKGNAMEPREFIX=  msp430-
DISTNAME=   ${PORTNAME}-${GCCVERSION}
DISTFILES=  ${PORTNAME}-core-${GCCVERSION}${EXTRACT_SUFX} \
        ${PORTNAME}-g++-${GCCVERSION}${EXTRACT_SUFX} \
        mspgcc-${LTSVERSION}${EXTRACT_SUFX}:mspgcc

PATCH_SITES=        ${MASTER_SITE_SOURCEFORGE}
PATCH_SITE_SUBDIR=  mspgcc/Patches/LTS/${LTSVERSION}
PATCHFILES=     ${LTS_PATCHES}
PATCH_DIST_STRIP=   -p1

MAINTAINER= lev@FreeBSD.org
COMMENT=    FSF GCC 4.6 for TI's msp430 MCUs cross-development

LICENSE=    GPLv3

BUILD_DEPENDS=  ${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils \
        ${PKGNAMEPREFIX}ld:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils
RUN_DEPENDS=    ${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils \
        ${PKGNAMEPREFIX}ld:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils
LIB_DEPENDS=    libgmp.so:${PORTSDIR}/math/gmp \
        libmpfr.so:${PORTSDIR}/math/mpfr \
        libmpc.so:${PORTSDIR}/math/mpc

CONFLICTS=  msp430-gcc3-3.*

GCCVERSION= 4.6.3
LTSVERSION= 20120406
PATCHVERSION=   20120406
BUGS_FIXED= 3540953 3559978
LTS_PATCHES!=   for bugid in ${BUGS_FIXED} ; do echo ${PKGNAMEPREFIX}${PORTNAME}-${GCCVERSION}-${PATCHVERSION}-sf$${bugid}.patch ; done

SRCDIR=     ${WRKDIR}/${PORTNAME}-${GCCVERSION}
WRKSRC=     ${WRKDIR}/build
PATCH_WRKSRC=   ${SRCDIR}

USES=       bison gmake iconv libtool makeinfo perl5 tar:bzip2
USE_PERL5=  build

GNU_CONFIGURE=  yes
CONFIGURE_SCRIPT=../${SRCDIR:S/${WRKDIR}\///}/configure
CONFIGURE_ARGS+=--target=${PKGNAMEPREFIX:S/-$//} \
        --enable-languages=c,c++ \
        --enable-lto \
        --with-gmp=${LOCALBASE} --with-mpfr=${LOCALBASE} \
        --with-mpc=${LOCALBASE} ${ICONV_CONFIGURE_ARG} \
        --with-system-zlib --disable-nls \
        --with-pkgversion="MSPGCC_${LTSVERSION}"
INFO_PATH=  ${PKGNAMEPREFIX:S/-$//}/info
MAKE_ENV=   PATH=${PREFIX}/bin:${PATH}

PLIST_SUB+= PORTVERSION=${PORTVERSION} GCC_TARG=${PKGNAMEPREFIX:S/-$//} \
        GCC_REV=${GCCVERSION}

INFO=       cpp cppinternals gcc gccinstall gccint libquadmath
INFO_PATH=  ${PKGNAMEPREFIX:S/-$//}/info

BINARIES=   gcc gcc-${GCCVERSION} c++ g++ gcov cpp

.include <bsd.port.pre.mk>

.if ${ARCH} == "amd64"
CONFIGURE_TARGET=   x86_64-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET=   ${ARCH}-portbld-freebsd${OSREL}
.endif

pre-patch:
    @cd ${SRCDIR} && ${PATCH} -s -p1 < ../mspgcc-${LTSVERSION}/${PKGNAMEPREFIX}${PORTNAME}-${GCCVERSION}-${PATCHVERSION}.patch

pre-configure:
    cd ${SRCDIR} ; contrib/gcc_update --touch
    @${MKDIR} ${CONFIGURE_WRKSRC}

post-configure:
    @${PERL} -pi.bak -e 's,^(TARGET_CONFIGDIRS\s*=).+$$,\1,' ${WRKSRC}/Makefile

post-install:
    @${MKDIR} ${STAGEDIR}${PREFIX}/${PKGNAMEPREFIX:S/-$//}/bin
.for F in ${BINARIES}
    @${LN} -f ${STAGEDIR}${PREFIX}/bin/${PKGNAMEPREFIX}$F \
        ${STAGEDIR}${PREFIX}/${PKGNAMEPREFIX:S/-$//}/bin/$F
.endfor

.include <bsd.port.post.mk>