# 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/.
{
  'includes': [
    '../../coreconf/config.gypi'
  ],
  'targets': [
    {
      'target_name': 'softokn_static',
      'type': 'static_library',
      'defines': [
        'NSS_STATIC_SOFTOKEN',
      ],
      'dependencies': [
        'softokn_base',
        '<(DEPTH)/exports.gyp:nss_exports',
        '<(DEPTH)/lib/freebl/freebl.gyp:freebl_static',
      ],
      'conditions': [
        [ 'use_system_sqlite==1', {
          'dependencies': [
            '<(DEPTH)/lib/sqlite/sqlite.gyp:sqlite3',
          ],
        }, {
          'dependencies': [
            '<(DEPTH)/lib/sqlite/sqlite.gyp:sqlite',
          ],
        }],
      ],
    },
    {
      'target_name': 'softokn',
      'type': 'static_library',
      'dependencies': [
        'softokn_base',
        '<(DEPTH)/exports.gyp:nss_exports',
        '<(DEPTH)/lib/sqlite/sqlite.gyp:sqlite3',
        '<(DEPTH)/lib/freebl/freebl.gyp:freebl',
      ]
    },
    {
      'target_name': 'softokn_base',
      'type': 'none',
      'conditions': [
        [ 'fuzz==1', {
          'direct_dependent_settings': {
            'defines': [
              'SOFTOKEN_FUZZ',
            ],
          },
        }],
      ],
      'direct_dependent_settings': {
        'sources': [
          'fipsaudt.c',
          'fipstest.c',
          'fipstokn.c',
          'jpakesftk.c',
          'kbkdf.c',
          'kem.c',
          'lowkey.c',
          'lowpbe.c',
          'padbuf.c',
          'pkcs11.c',
          'pkcs11c.c',
          'pkcs11u.c',
          'sdb.c',
          'sftkdhverify.c',
          'sftkdb.c',
          'sftkhmac.c',
          'sftkike.c',
          'sftkmessage.c',
          'sftkpars.c',
          'sftkpwd.c',
          'softkver.c',
          'tlsprf.c'
        ],
        'conditions': [
          [ 'disable_dbm==0', {
            'sources': [
              'lgglue.c',
            ]
          }],
        ]
      },
    },
    {
      'target_name': 'softokn3',
      'type': 'shared_library',
      'dependencies': [
        'softokn',
      ],
      'conditions': [
        [ 'moz_fold_libs==0', {
          'dependencies': [
            '<(DEPTH)/lib/util/util.gyp:nssutil3',
          ],
        }, {
          'libraries': [
            '<(moz_folded_library_name)',
          ],
        }],
      ],
      'variables': {
        'mapfile': 'softokn.def'
      }
    }
  ],
  'target_defaults': {
    'defines': [
      'SHLIB_SUFFIX=\"<(dll_suffix)\"',
      'SHLIB_PREFIX=\"<(dll_prefix)\"',
      'SOFTOKEN_LIB_NAME=\"<(dll_prefix)softokn3.<(dll_suffix)\"',
      'SHLIB_VERSION=\"3\"'
    ]
  },
  'variables': {
    'module': 'nss'
  }
}
