# -*- 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/.

Library('icu')

if CONFIG['MOZ_NATIVE_ICU']:
    OS_LIBS += CONFIG['MOZ_ICU_LIBS']
else:
    # Order needs to be preserved
    for l in CONFIG['ICU_LIB_NAMES']:
        USE_LIBS += ['%s/intl/icu/target/lib/%s%s' % (
            'static:' if not CONFIG['MOZ_SHARED_ICU'] else '',
            l,
            CONFIG['MOZ_ICU_DBG_SUFFIX']
        )]

    if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
        OS_LIBS += [
            'gabi++',
        ]
    if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android' and CONFIG['MOZ_ANDROID_CXX_STL'] == 'mozstlport':
        USE_LIBS += [
            'gabi++'
        ]
