2 # Copyright (C) 2009 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=otp_src_
$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:= http
://www.erlang.org
/download
/ \
16 http
://erlang.mirror.su.se
/
17 PKG_MD5SUM
:=76804ff9c18710184cf0c0230a0443fc
19 PKG_BUILD_DEPENDS
:=erlang
/host openssl
21 HOST_BUILD_DIR
:=$(BUILD_DIR_HOST
)/otp_src_
$(PKG_VERSION
)
22 PKG_BUILD_DIR
:=$(BUILD_DIR
)/otp_src_
$(PKG_VERSION
)
24 include $(INCLUDE_DIR
)/host-build.mk
25 include $(INCLUDE_DIR
)/package.mk
27 define Package
/erlang
/Default
31 TITLE
:=Erlang
/OTP programming language
32 URL
:=http
://www.erlang.org
/
35 define Package
/erlang
/Default
/description
36 Erlang
/OTP is a general-purpose programming language and runtime
37 environment. Erlang has built-in support for concurrency
, distribution
43 $(call Package
/erlang
/Default
)
44 DEPENDS
+= +libncurses
+librt
45 PROVIDES
:= erlang-erts
=5.7 erlang-kernel
=2.13 erlang-sasl
=2.1.6 erlang-stdlib
=1.16
48 define Package
/erlang
/description
49 $(call Package
/erlang
/Default
/description
)
51 This package contains the runtime implementation and a minimal set of
52 modules
(erts
, kernel
, sasl
& stdlib
).
56 define Package
/erlang-asn1
57 $(call Package
/erlang
/Default
)
58 TITLE
:=Abstract Syntax Notation One
(ASN
.1) support
60 DEPENDS
+= +erlang
+erlang-syntax-tools
63 define Package
/erlang-asn1
/description
64 $(call Package
/erlang
/Default
/description
)
66 This Erlang
/OTP package provides Abstract Syntax Notation One
(ASN
.1)
71 define Package
/erlang-compiler
72 $(call Package
/erlang
/Default
)
73 TITLE
:=Byte code compiler
75 DEPENDS
+= +erlang
+erlang-hipe
78 define Package
/erlang-compiler
/description
79 $(call Package
/erlang
/Default
/description
)
81 This Erlang
/OTP package provides a byte code compiler for Erlang which
82 produces highly compact code.
86 define Package
/erlang-crypto
87 $(call Package
/erlang
/Default
)
88 TITLE
:=Cryptography support
90 DEPENDS
+= +erlang
+libopenssl
93 define Package
/erlang-crypto
/description
94 $(call Package
/erlang
/Default
/description
)
96 This Erlang
/OTP package provides functions for computation of message
97 digests
, and encryption and decryption functions.
101 define Package
/erlang-hipe
102 $(call Package
/erlang
/Default
)
103 TITLE
:=High Performance Erlang
108 define Package
/erlang-hipe
/description
109 $(call Package
/erlang
/Default
/description
)
111 This Erlang
/OTP package provides HiPE
(High Performance Erlang
)
116 define Package
/erlang-inets
117 $(call Package
/erlang
/Default
)
118 TITLE
:=Internet clients and servers
123 define Package
/erlang-inets
/description
124 $(call Package
/erlang
/Default
/description
)
126 This Erlang
/OTP package provides a container for Internet clients and
127 servers. Currently a FTP client
, a HTTP client and server
, and a tftp
128 client and server have been incorporated in Inets.
132 define Package
/erlang-mnesia
133 $(call Package
/erlang
/Default
)
134 TITLE
:=Distributed database
139 define Package
/erlang-mnesia
/description
140 $(call Package
/erlang
/Default
/description
)
142 This Erlang
/OTP package provides a distributed DataBase Management
143 System
(DBMS
), appropriate for telecommunications applications and
144 other Erlang applications which require continuous operation and
145 exhibit soft real-time properties.
149 define Package
/erlang-runtime-tools
150 $(call Package
/erlang
/Default
)
151 TITLE
:=Low-profile debugging
/tracing tools
156 define Package
/erlang-runtime-tools
/description
157 $(call Package
/erlang
/Default
/description
)
159 This Erlang
/OTP package provides low footprint tracing
/debugging tools
160 suitable for inclusion in a production system.
164 define Package
/erlang-snmp
165 $(call Package
/erlang
/Default
)
166 TITLE
:=Simple Network Management Protocol
(SNMP
) support
168 DEPENDS
+= +erlang
+erlang-asn1
171 define Package
/erlang-snmp
/description
172 $(call Package
/erlang
/Default
/description
)
174 This Erlang
/OTP package provides Simple Network Management Protocol
175 (SNMP
) support including a MIB compiler and tools for creating SNMP
180 define Package
/erlang-ssh
181 $(call Package
/erlang
/Default
)
182 TITLE
:=Secure Shell
(SSH
) support
184 DEPENDS
+= +erlang
+erlang-crypto
187 define Package
/erlang-ssh
/description
188 $(call Package
/erlang
/Default
/description
)
190 This Erlang
/OTP package provides an implementation of the Secure Shell
191 protocol
, with SSH
& SFTP support.
195 define Package
/erlang-ssl
196 $(call Package
/erlang
/Default
)
197 TITLE
:=Secure Sockets Layer
(SSL
) support
199 DEPENDS
+= +erlang
+erlang-crypto
202 define Package
/erlang-ssl
/description
203 $(call Package
/erlang
/Default
/description
)
205 This Erlang
/OTP package provides support for secure communication over
210 define Package
/erlang-syntax-tools
211 $(call Package
/erlang
/Default
)
212 TITLE
:=Abstract Erlang syntax trees handling support
217 define Package
/erlang-syntax-tools
/description
218 $(call Package
/erlang
/Default
/description
)
220 This Erlang
/OTP package provides support for handling abstract Erlang
227 HOST_CONFIGURE_ARGS
+= \
229 --disable-smp-support \
233 HOST_CONFIGURE_VARS
+= \
234 ac_cv_prog_JAVAC
="" \
235 ac_cv_prog_javac_ver_1_2
=no \
238 $(MAKE
) -C
$(HOST_BUILD_DIR
) all
242 $(MAKE
) -C
$(HOST_BUILD_DIR
) install
250 --disable-smp-support \
253 --with-ssl
="$(STAGING_DIR)/usr" \
254 --enable-dynamic-ssl-lib \
257 SHLIB_LD
="$(TARGET_CC)" \
258 TARGET_ARCH
="$(TARGET_ARCH)" \
259 ac_cv_prog_RX_LD
="$(TARGET_LD)" \
260 ac_cv_prog_JAVAC
="" \
261 ac_cv_prog_javac_ver_1_2
=no \
262 ac_cv_func_getaddrinfo
=no \
263 ac_cv_func_mmap_fixed_mapped
=yes \
264 ac_cv_path_WX_CONFIG_PATH
=no \
267 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
269 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
270 INSTALL_PREFIX
="$(PKG_INSTALL_DIR)" \
274 define Package
/erlang
/install
275 $(INSTALL_DIR
) $(1)/usr
/bin
276 for f in epmd erl erlc escript run_erl
; do \
277 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/$$$$f $(1)/usr
/bin
/ ; \
279 $(INSTALL_DIR
) $(1)/usr
/lib
/erlang
/bin
280 for f in erl erlc escript run_erl start start.boot start.script start_clean.boot start_erl start_sasl.boot to_erl
; do \
281 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/erlang
/bin
/$$$$f $(1)/usr
/lib
/erlang
/bin
/ ; \
283 $(INSTALL_DIR
) $(1)/usr
/lib
/erlang
/lib
284 for m in erts kernel sasl stdlib
; do \
285 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/erlang
/lib
/$$$$m-* $(1)/usr
/lib
/erlang
/lib
/ ; \
286 rm -rf
$(1)/usr
/lib
/erlang
/lib
/$$$$m-*/examples
; \
287 rm -rf
$(1)/usr
/lib
/erlang
/lib
/$$$$m-*/src
; \
289 $(INSTALL_DIR
) $(1)/usr
/lib
/erlang
290 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/erlang
/erts-
* $(1)/usr
/lib
/erlang
/
291 rm -rf
$(1)/usr
/lib
/erlang
/erts-
*/{doc
,include,lib
,man
,src
}
292 rm -rf
$(1)/usr
/lib
/erlang
/erts-
*/bin
/*.src
293 $(INSTALL_DIR
) $(1)/usr
/lib
/erlang
/releases
294 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/erlang
/releases
/* $(1)/usr
/lib
/erlang
/releases
/
295 $(SED
) 's,%ERL_ROOT%,/usr/lib/erlang,g' \
296 $(1)/usr
/lib
/erlang
/releases
/RELEASES.src
297 mv
-f
$(1)/usr
/lib
/erlang
/releases
/RELEASES.src \
298 $(1)/usr
/lib
/erlang
/releases
/RELEASES
299 for f in bin
/erl bin
/start erts-
*/bin
/erl erts-
*/bin
/start
; do \
300 $(SED
) 's,^\(ROOTDIR\)=.*,\1=/usr/lib/erlang,g' \
301 $(1)/usr
/lib
/erlang
/$$$$f ; \
308 define Package
/erlang-
$(1)/install
309 $(INSTALL_DIR
) $$(1)/usr
/lib
/erlang
/lib
311 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/erlang
/lib
/$$$$$$$$m-* $$(1)/usr
/lib
/erlang
/lib
/ ; \
312 rm -rf
$$(1)/usr
/lib
/erlang
/lib
/$$$$$$$$m-*/{examples
,priv
/obj
,src
} ; \
316 $$(eval
$$(call BuildPackage
,erlang-
$(1)))
321 $(eval
$(call HostBuild
))
322 $(eval
$(call BuildPackage
,erlang
))
323 $(eval
$(call BuildModule
,asn1
,asn1
))
324 $(eval
$(call BuildModule
,compiler
,compiler
))
325 $(eval
$(call BuildModule
,crypto
,crypto
))
326 $(eval
$(call BuildModule
,hipe
,hipe
))
327 $(eval
$(call BuildModule
,inets
,inets
))
328 $(eval
$(call BuildModule
,mnesia
,mnesia
))
329 $(eval
$(call BuildModule
,runtime-tools
,runtime_tools
))
330 $(eval
$(call BuildModule
,snmp
,snmp
))
331 $(eval
$(call BuildModule
,ssh
,ssh
))
332 $(eval
$(call BuildModule
,ssl
,ssl
))
333 $(eval
$(call BuildModule
,syntax-tools
,syntax_tools
))