aboutsummaryrefslogtreecommitdiffstats
path: root/java/jc/Makefile
blob: 1bc5246480c6eeafc2a61aafb984c4c20a48304a (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
97
98
99
100
101
102
103
104
105
106
107
108
# New ports collection makefile for:    jc
# Date created:                 20 Feb 2004
# Whom:                         Archie Cobbs <archie@freebsd.org>
#
# $FreeBSD$
#

PORTNAME=   jc
PORTVERSION=    1.0.0
CATEGORIES= java
MASTER_SITES=   ${MASTER_SITE_SOURCEFORGE} \
        http://ftp.gnu.org/gnu/classpath/:CLASSPATH
MASTER_SITE_SUBDIR=jcvm/
DISTFILES=  ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
        classpath-${CLASSPATHVERSION}${EXTRACT_SUFX}:CLASSPATH

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

#USE_LIBTOOL=   yes
#LIBTOOLFILES=  ${JCDIR}/aclocal.m4 ${CLASSPATHDIR}/aclocal.m4
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

.if defined(WITH_GNOMELIBS) || exists(${X11BASE}/include/gnome-1.0/libart_lgpl/art_misc.h)
USE_GNOME=  gnomelibs
PLIST_SUB+= GNOME:=""
.else
PLIST_SUB+= GNOME:="@comment "
.endif

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

# Classpath version
CLASSPATHVERSION=0.07

# Jikes version expected
JIKESVERSION=   1.18

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

# Conditionally compile the gnome-dependent stuff
.if !defined(WITH_GNOMELIBS) && !exists(${X11BASE}/include/gnome-1.0/libart_lgpl/art_misc.h)
CLASSPATH_CONF+=--disable-gtk-peer
pre-fetch:
    @${ECHO} ''
    @${ECHO} '***' '                 ' NOTICE
    @${ECHO} '***'
    @${ECHO} '***' You do not seem to have the Gnome libraries installed.
    @${ECHO} '***' Therefore, Classpath will be built without graphics
    @${ECHO} '***' support. If you would like to install the Classpath
    @${ECHO} '***' libraries to include graphics support, hit Control-C
    @${ECHO} '***' now and type \'make WITH_GNOMELIBS=yes\'.
    @${ECHO} '***'
    @${ECHO} ''
    @sleep 3
.endif

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>