summaryrefslogtreecommitdiffstats
path: root/rules/js.make
blob: 6dd8823376243e358b308fd14cc1335ee5755db8 (plain)
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# -*-makefile-*-
#
# Copyright (C) 2010 by Robert Schwebel <r.schwebel@pengutronix.de>
#               2011 by Michael Olbrich <m.olbrich@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_JS) += js

#
# Paths and names
#
JS_VERSION	:= 1.9.2.16
JS_MD5		:= 229fc3f629200561ad725fcddd435bf6
JS		:= js-$(JS_VERSION)
JS_SUFFIX	:= tar.bz2
JS_URL		:= http://www.pengutronix.de/software/ptxdist/temporary-src/xulrunner-$(JS_VERSION).source.$(JS_SUFFIX)
JS_SOURCE	:= $(SRCDIR)/xulrunner-$(JS_VERSION).source.$(JS_SUFFIX)
JS_DIR		:= $(BUILDDIR)/$(JS)
JS_SUBDIR	:= js/src
JS_LICENSE	:= unknown

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

JS_CONF_ENV := \
	$(CROSS_ENV) \
	ac_cv_path_DOXYGEN=/bin/true \
	ac_cv_path_WHOAMI=/bin/true \
	ac_cv_path_AUTOCONF=/bin/true \
	ac_cv_path_UNZIP=/bin/true \
	ac_cv_path_ZIP=/bin/true \
	ac_cv_va_copy=yes \
	ac_cv___va_copy=yes

# FIXME: is this correct?
ifdef PTXCONF_ARCH_PPC
JS_CONF_ENV += ac_cv_va_val_copy=no
else
JS_CONF_ENV += ac_cv_va_val_copy=yes
endif

#
# autoconf
#
JS_CONF_TOOL	:= autoconf

JS_CONF_OPT := \
	$(CROSS_AUTOCONF_USR) \
	--without-x \
	--disable-jig \
	--with-pthreads \
	--disable-tests \
	--disable-debug \
	--enable-optimize \
	--disable-debug-modules \
	--disable-debugger-info-modules \
	--disable-boehm \
	--disable-narcissus \
	--disable-trace-malloc \
	--disable-jemalloc \
	--disable-wrap-malloc \
	--disable-tracevis \
	--disable-valgrind \
	--disable-efence \
	--disable-jprof \
	--disable-shark \
	--disable-callgrind \
	--disable-vtune \
	--disable-gczeal \
	--disable-strip \
	--disable-install-strip \
	--disable-old-abi-compat-wrappers \
	--disable-timeline \
	--disable-eazel-profiler-support \
	--disable-profile-modules \
	--disable-insure \
	--disable-quantify \
	--disable-xterm-updates \
	--enable-long-long-warning \
	--disable-pedantic \
	--disable-cpp-rtti \
	--disable-cpp-exceptions \
	--disable-auto-deps \
	--disable-md \
	--disable-static \
	--disable-readline

# broken: --{en,dis}able-dtrace means both "enable"
#	--disable-dtrace
#	--disable-threadsafe

#  --disable-compile-environment
#                           Disable compiler/library checks.
#  --with-x                use the X Window System
#  --with-system-nspr      Use an NSPR that is already built and installed.
#                          Use the 'nspr-config' script in the current path,
#                          or look for the script in the directories given with
#                          --with-nspr-exec-prefix or --with-nspr-prefix.
#                          (Those flags are only checked if you specify
#                          --with-system-nspr.)
#  --with-nspr-cflags=FLAGS Pass FLAGS to CC when building code that uses NSPR.
#                          Use this when there's no accurate nspr-config
#                          script available.  This is the case when building
#                          SpiderMonkey as part of the Mozilla tree: the
#                          top-level configure script computes NSPR flags
#                          that accomodate the quirks of that environment.
#  --with-nspr-libs=LIBS   Pass LIBS to LD when linking code that uses NSPR.
#                          See --with-nspr-cflags for more details.
#  --with-nspr-prefix=PFX  Prefix where NSPR is installed
#  --with-nspr-exec-prefix=PFX
#                          Exec prefix where NSPR is installed
#  --with-arm-kuser         Use kuser helpers (Linux/ARM only -- requires kernel 2.6.13 or later)
#  --enable-ui-locale=ab-CD
#                          Select the user interface locale (default: en-US)
#  --with-wrap-malloc=DIR  Location of malloc wrapper library
#  --with-static-checking=path/to/gcc_dehydra.so
#                            Enable static checking of code using GCC-dehydra

# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------

JS_MAKE_OPT := HOST_CXX=$(HOSTCXX) HOST_CC=$(HOSTCC)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/js.targetinstall:
	@$(call targetinfo)

	@$(call install_init,  js)
	@$(call install_fixup, js,PRIORITY,optional)
	@$(call install_fixup, js,SECTION,base)
	@$(call install_fixup, js,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
	@$(call install_fixup, js,DESCRIPTION,missing)

	@$(call install_copy, js, 0, 0, 0755, -, /usr/lib/libmozjs.so)

	@$(call install_finish, js)

	@$(call touch)

# vim: syntax=make