1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7EXPORTS.mozilla.net += [
8    'usrsctp.h',
9]
10
11SOURCES += [
12    'netinet/sctp_asconf.c',
13    'netinet/sctp_auth.c',
14    'netinet/sctp_bsd_addr.c',
15    'netinet/sctp_callout.c',
16    'netinet/sctp_cc_functions.c',
17    'netinet/sctp_crc32.c',
18    'netinet/sctp_indata.c',
19    'netinet/sctp_input.c',
20    'netinet/sctp_output.c',
21    'netinet/sctp_pcb.c',
22    'netinet/sctp_peeloff.c',
23    'netinet/sctp_sha1.c',
24    'netinet/sctp_ss_functions.c',
25    'netinet/sctp_sysctl.c',
26    'netinet/sctp_timer.c',
27    'netinet/sctp_userspace.c',
28    'netinet/sctp_usrreq.c',
29    'netinet/sctputil.c',
30    'netinet6/sctp6_usrreq.c',
31    'user_environment.c',
32    'user_mbuf.c',
33    'user_recv_thread.c',
34    'user_socket.c',
35]
36
37Library('nksctp_s')
38
39# We allow warnings for third-party code that can be updated from upstream.
40AllowCompilerWarnings()
41
42FINAL_LIBRARY = 'xul'
43
44LOCAL_INCLUDES += [
45    '/dom/base',
46    '/netwerk/base',
47]
48
49for var in ('__Userspace__',
50            'SCTP_SIMPLE_ALLOCATOR',
51            'SCTP_PROCESS_LEVEL_LOCKS',
52            'SCTP_DEBUG'):
53    DEFINES[var] = 1
54
55if CONFIG['OS_TARGET'] in ('Linux', 'Android'):
56    DEFINES['_GNU_SOURCE'] = 1
57elif CONFIG['OS_TARGET'] == 'Darwin':
58    DEFINES['__APPLE_USE_RFC_2292'] = 1
59