# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

DIRS += ['crmf']

if CONFIG['MOZ_NATIVE_NSS']:
    Library('nss')
    OS_LIBS += CONFIG['NSS_LIBS']
elif CONFIG['MOZ_FOLD_LIBS']:
    GeckoSharedLibrary('nss', linkage=None)
    # TODO: The library name can be changed when bug 845217 is fixed.
    SHARED_LIBRARY_NAME = 'nss3'

    SDK_LIBRARY = True

    # Normally, there should be /something/ to ensure nspr is built
    # before this directory, but since nspr is built during "export",
    # it actually doesn't matter.
    if CONFIG['OS_TARGET'] == 'WINNT':
        suffix = '_s'
    else:
        suffix = ''
    USE_LIBS += [
        'static:/nsprpub/lib/ds/plds4%s' % suffix,
        'static:/nsprpub/lib/libc/src/plc4%s' % suffix,
        'static:/nsprpub/pr/src/nspr4%s' % suffix,
    ]

    OS_LIBS += CONFIG['REALTIME_LIBS']

    if CONFIG['OS_TARGET'] == 'WINNT':
        DEFFILE = 'nss3.def'

    if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['GCC_USE_GNU_LD']:
        LD_VERSION_SCRIPT = 'nss3.def'
else:
    Library('nss')
    USE_LIBS += [
        '/security/nss/lib/nss/nss3',
        '/security/nss/lib/smime/smime3',
        '/security/nss/lib/ssl/ssl3',
        '/security/nss/lib/util/nssutil3',
        'sqlite',
    ]

# XXX: We should fix these warnings.
ALLOW_COMPILER_WARNINGS = True
