6334N/A#
6334N/A# CDDL HEADER START
6334N/A#
6334N/A# The contents of this file are subject to the terms of the
6334N/A# Common Development and Distribution License (the "License").
6334N/A# You may not use this file except in compliance with the License.
6334N/A#
6334N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6334N/A# or http://www.opensolaris.org/os/licensing.
6334N/A# See the License for the specific language governing permissions
6334N/A# and limitations under the License.
6334N/A#
6334N/A# When distributing Covered Code, include this CDDL HEADER in each
6334N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6334N/A# If applicable, add the following below this CDDL HEADER, with the
6334N/A# fields enclosed by brackets "[]" replaced with your own identifying
6334N/A# information: Portions Copyright [yyyy] [name of copyright owner]
6334N/A#
6334N/A# CDDL HEADER END
6334N/A#
6334N/A# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
6334N/A#
6334N/A
7102N/A# parfait is a bit unhappy (24796622)
7102N/Aexport PARFAIT_BUILD=no
7102N/A
6334N/ABUILD_BITS = 32_and_64
6334N/ACOMPILER = gcc
6334N/Ainclude ../../../make-rules/shared-macros.mk
6334N/A
6334N/ACOMPONENT_NAME= mozjs
6334N/ACOMPONENT_VERSION= 24.2.0
6334N/ACOMPONENT_PROJECT_URL= https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
6334N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
6334N/ACOMPONENT_ARCHIVE_HASH= \
6334N/A sha256:e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8
6334N/ACOMPONENT_ARCHIVE_URL= http://ftp.mozilla.org/pub/mozilla.org/js/$(COMPONENT_ARCHIVE)
6334N/ACOMPONENT_BUGDB= library/libmozjs
6334N/A
6334N/ATPNO= 25517
6334N/A
6334N/ACXXFLAGS += -std=c++11
6334N/A
6334N/A# Only used during build process.
6334N/APYTHON_VERSIONS= 2.7
6334N/APYTHON= $(PYTHON.2.7.$(BITS))
6334N/A
6334N/A# Tests take too long to run, disabled for now
6334N/ATEST_TARGET = $(SKIP_TEST)
6334N/A
6334N/Ainclude $(WS_MAKE_RULES)/common.mk
6334N/A
6334N/A# configure script is not at root of source tree.
6334N/ACONFIGURE_SCRIPT= $(SOURCE_DIR)/js/src/configure
6334N/A
6334N/ACONFIGURE_ENV += LDSHARED="$(CC) -shared"
6334N/ACONFIGURE_ENV += NSPR_CONFIG="/usr/bin/pkg-config nspr"
6334N/A
6334N/A# So build can find dtrace.
6334N/ACOMPONENT_BUILD_ENV += PATH="$(PATH):/usr/sbin"
6334N/A
6334N/ACONFIGURE_OPTIONS += --enable-ctypes
6334N/ACONFIGURE_OPTIONS += --enable-dtrace
6334N/A# Uses ancient embedded version of ICU.
6334N/ACONFIGURE_OPTIONS += --disable-intl-api
6334N/A# Resulting packages are a few hundred megabytes larger without this!
6334N/ACONFIGURE_OPTIONS += --enable-install-strip
6334N/ACONFIGURE_OPTIONS += --enable-readline
6334N/ACONFIGURE_OPTIONS += --enable-shared-js
6334N/ACONFIGURE_OPTIONS += --enable-system-ffi
6334N/ACONFIGURE_OPTIONS += --enable-threadsafe
6334N/ACONFIGURE_OPTIONS += --with-system-zlib
6334N/ACONFIGURE_OPTIONS += --with-x
6334N/ACONFIGURE_OPTIONS.32 += --with-system-nspr
6334N/A# A pkg-config file isn't shipped in Solaris for nspr 64-bit, so configure will
6334N/A# fail to find it, requiring manual specification of the flags and libs.
6334N/ACONFIGURE_OPTIONS.64 += --with-nspr-cflags="-I/usr/include/mps"
6334N/ACONFIGURE_OPTIONS.64 += --with-nspr-libs="-R/usr/lib/mps/64 -L/usr/lib/mps/64 -lplds4 -lplc4 -lnspr4"
6334N/A
6334N/Aunexport SHELLOPTS
6334N/ACOMPONENT_TEST_ARGS = -k -i
6334N/ACOMPONENT_TEST_TRANSFORMS += \
6334N/A '-n ' \
6334N/A '-e "/TOTAL:/p" ' \
6334N/A '-e "/SKIP:/p" ' \
6334N/A '-e "/PASS:/p" ' \
6334N/A '-e "/FAIL:/p" ' \
6334N/A '-e "/ERROR:/p" '
6334N/A
6334N/AREQUIRED_PACKAGES += library/libffi
6334N/AREQUIRED_PACKAGES += library/nspr
6334N/AREQUIRED_PACKAGES += library/readline
6334N/AREQUIRED_PACKAGES += library/security/nss
6334N/AREQUIRED_PACKAGES += library/zlib
6334N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
6334N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
6334N/AREQUIRED_PACKAGES += system/library/math