aboutsummaryrefslogtreecommitdiffstats
path: root/java/jc/Makefile
blob: 8478ebac2a26bc25da1ff892a585023b37e68d15 (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
# New ports collection makefile for:    jc
# Date created:                 20 Feb 2004
# Whom:                         Archie Cobbs <archie@freebsd.org>
#
# $FreeBSD$
#

PORTNAME=   jc
PORTVERSION=    1.2.2
CATEGORIES= java
MASTER_SITES=   ${MASTER_SITE_SOURCEFORGE} \
        ${MASTER_SITE_GNU:S/$/:CLASSPATH/g}
MASTER_SITE_SUBDIR=jcvm/ classpath/:CLASSPATH
DISTFILES=  ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
        classpath-${CLASSPATHVERSION}${EXTRACT_SUFX}:CLASSPATH
DIST_SUBDIR=    jcvm

MAINTAINER= archie@freebsd.org
COMMENT=    JVM that converts class files to C source and compiles them with GCC

BUILD_DEPENDS=  jikes:${PORTSDIR}/java/jikes \
        zip:${PORTSDIR}/archivers/zip
LIB_DEPENDS=    popt.0:${PORTSDIR}/devel/popt \
        ffi.2:${PORTSDIR}/devel/libffi \
        gtk-x11-2.0:${PORTSDIR}/x11-toolkits/gtk20 \
        art_lgpl_2:${PORTSDIR}/graphics/libart_lgpl2

USE_LIBTOOL_VER=15
LIBTOOLFILES=   ${CLASSPATHDIR}/configure
USE_GMAKE=  yes
INSTALLS_SHLIB= yes
PLIST_SUB=  PORTVERSION=${PORTVERSION}
GNU_CONFIGURE=  yes
CONFIGURE_ENV=  CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \
        LDFLAGS="${LDFLAGS} -L${PREFIX}/lib"
PATCH_WRKSRC=   ${WRKDIR}
INFO=       jc
ONLY_FOR_ARCHS= i386

# Directories for the two source components
JCDIR=      ${PORTNAME}-${PORTVERSION}
CLASSPATHDIR=   classpath-${CLASSPATHVERSION}

# Classpath version
CLASSPATHVERSION=0.10

# Jikes version expected
JIKESVERSION=   1.21

# Configure args
CLASSPATH_CONF= --prefix=${PREFIX}/jc --enable-jni --with-jikes
CONFIGURE_ARGS= --prefix=${PREFIX}

pre-configure:
        @${ECHO} "===>    Configuring ${CLASSPATHDIR}"
        @( cd ${.CURDIR} && ${MAKE} do-configure \
            CONFIGURE_WRKSRC=${WRKDIR}/${CLASSPATHDIR} \
            CONFIGURE_ARGS="${CLASSPATH_CONF}" )
        @${ECHO} "===>    Configuring ${JCDIR}"

pre-build:
        @JIKESVER=`jikes -version 2>&1 | ${GREP} -wi version | ${SED} -E 's/^.*[Vv]ersion[[:space:]]+([0-9.]+).*$$/\1/g'`; \
        if [ "$${JIKESVER}" != "" -a "$${JIKESVER}" != "${JIKESVERSION}" ]; then \
            ${ECHO} ''; \
            ${ECHO} '***' '                    ' WARNING; \
            ${ECHO} '***'; \
            ${ECHO} '***' You have jikes version $${JIKESVER} installed instead of version ${JIKESVERSION}.; \
            ${ECHO} '***' This will cause JC to have to bootstrap re-generate all JC and; \
            ${ECHO} '***' Classpath source files when it first runs, which requires that; \
            ${ECHO} '***' the JDK \(or some other JVM\) be installed. To avoid this, hit; \
            ${ECHO} '***' CTRL-C now and install jikes version ${JIKESVERSION}.; \
            ${ECHO} '***' ; \
            ${ECHO} ''; \
            sleep 10; \
        fi
        @${ECHO} "===>    Building ${CLASSPATHDIR}"
        @( cd ${.CURDIR} && ${MAKE} do-build \
            BUILD_WRKSRC=${WRKDIR}/${CLASSPATHDIR} )
        @${ECHO} "===>    Building ${JCDIR}"

pre-install:
        @${ECHO} "===>    Installing ${CLASSPATHDIR}"
        @( cd ${.CURDIR} && ${MAKE} do-install \
            INSTALL_WRKSRC=${WRKDIR}/${CLASSPATHDIR} )
        @${ECHO} "===>    Installing ${JCDIR}"

.include <bsd.port.mk>