aboutsummaryrefslogtreecommitdiff
path: root/lang/spidermonkey17/Makefile
blob: e4663cbb320757feaa2fb594027ea24d7111d1d5 (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
# Created by: Dan Rench <citric@cubicone.tmetic.com>

PORTNAME=	spidermonkey17
DISTVERSION=	1.7.0
PORTREVISION=	5
CATEGORIES=	lang
MASTER_SITES=	MOZILLA/js
DISTNAME=	js-${DISTVERSION}

MAINTAINER=	citric@cubicone.tmetic.com
COMMENT=	Standalone JavaScript interpreter from the Mozilla project

BROKEN_aarch64=		fails to link: missing sbrk
BROKEN_armv6=		fails to link: final link failed: Nonrepresentable section on output
BROKEN_armv7=		fails to link: /nxb-bin/usr/bin/ld: FreeBSD12.0-CURRENT_DBG.OBJ/js: hidden symbol `__aeabi_uidivmod' in /usr/lib/libgcc.a(aeabi_uidivmod.o) is referenced by DSO
BROKEN_mips64=		fails to link: final link failed: Nonrepresentable section on output
BROKEN_riscv64=		fails to link: missing sbrk
BROKEN_sparc64=		fails to link

LIB_DEPENDS=	libnspr4.so:devel/nspr

MAKE_ARGS+=	JS_THREADSAFE=YES \
		PROG_LIBS="-lreadline -lncurses -lm -lpthread" \
		LDFLAGS="-L${LOCALBASE}/lib"
CFLAGS+=	-I${LOCALBASE}/include/nspr

USES=		gmake ncurses readline
MAKEFILE=	Makefile.ref
ALL_TARGET=	${OPSYS}`${UNAME} -r`_DBG.OBJ/js
MAKE_ENV+=	CCC="${CXX}"
USE_LDCONFIG=	yes
SRC_DIR=	js/src

JSH=		jsapi.h jsarena.h jsarray.h jsatom.h jsautocfg.h jsbool.h \
		jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdhash.h \
		jsdtoa.h jsemit.h jsexn.h jsfun.h jsgc.h jshash.h jsinterp.h \
		jsiter.h jslibmath.h jslock.h jslong.h jsmath.h jsnum.h jsobj.h \
		jsopcode.h jsosdep.h jsotypes.h jsparse.h jsprf.h jsprvtd.h \
		jspubtd.h jsutil.h jsregexp.h jsscan.h jsscope.h jsscript.h \
		jsstr.h jstypes.h jsxdrapi.h jsxml.h \
		js.msg jsproto.tbl

PLIST_FILES=	bin/js lib/libjs.so lib/libjs.so.1 ${JSH:S,^,include/js-1.7/,}
WRKSRC=		${WRKDIR}/${SRC_DIR}
EXTRACT_AFTER_ARGS=	--exclude js/jsd

OPTIONS_DEFINE=	UTF8

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MUTF8}
CFLAGS+=	-DJS_C_STRINGS_ARE_UTF8
.endif

do-configure:
	${CP} ${WRKSRC}/config/Linux_All.mk \
		${WRKSRC}/config/${OPSYS}`${UNAME} -r`.mk

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/js \
		${STAGEDIR}${PREFIX}/bin
	${INSTALL_PROGRAM} ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/libjs.so \
		${STAGEDIR}${PREFIX}/lib
	${LN} -sf libjs.so ${STAGEDIR}${PREFIX}/lib/libjs.so.1
	${CP} ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/jsautocfg.h ${WRKSRC}
	@${MKDIR} ${STAGEDIR}${PREFIX}/include/js-1.7
	@${INSTALL_DATA} ${JSH:S,^,${WRKSRC}/,} \
		${STAGEDIR}${PREFIX}/include/js-1.7/

.include <bsd.port.mk>