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

PORTNAME=	jc
PORTVERSION=	1.2
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
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

#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.09

# Jikes version expected
JIKESVERSION=	1.21

# 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>