// Copyright (c) 2016, Intel Corporation
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation and/or
// other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its contributors
// may be used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cc_defaults {
    name: "pfw_defaults",
    host_supported: true,
    vendor_available: true,

    cflags: [
        "-frtti",
        "-fexceptions",
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    rtti: true,
}

cc_library_static {
    name: "libpfw_utility",
    defaults: ["pfw_defaults"],
    host_supported: true,
    vendor_available: true,

    export_include_dirs: ["upstream/utility"],

    srcs: [
        "upstream/utility/DynamicLibrary.cpp",
        "upstream/utility/posix/DynamicLibrary.cpp",
        "upstream/utility/Tokenizer.cpp",
        "upstream/utility/Utility.cpp",
    ],
}

cc_library {
    name: "libremote-processor",
    defaults: ["pfw_defaults"],
    export_include_dirs: [
        "upstream/remote-processor",
        "support/android/remote-processor",
    ],
    local_include_dirs: [
        "asio/include",
        "support/android/asio",
    ],
    srcs: [
        "upstream/remote-processor/RequestMessage.cpp",
        "upstream/remote-processor/Message.cpp",
        "upstream/remote-processor/AnswerMessage.cpp",
        "upstream/remote-processor/RemoteProcessorServer.cpp",
        "upstream/remote-processor/BackgroundRemoteProcessorServer.cpp",
    ],
    cflags: [
        "-Wno-unused-local-typedef",
        "-Wno-implicit-fallthrough"
    ],
    static_libs: ["libpfw_utility"],
}

cc_library {
    name: "libparameter",
    defaults: ["pfw_defaults"],
    vendor_available: true,

    cppflags: [
        "-Wno-instantiation-after-specialization",
        "-Wno-implicit-fallthrough",
    ],
    export_include_dirs: [
        "upstream/parameter",
        "upstream/parameter/log/include",
        "upstream/parameter/include",
        "upstream/xmlserializer",
        "upstream/remote-processor",
        "support/android/parameter",
    ],
    shared_libs: [
        "libxml2",
        "libremote-processor",
    ],
    static_libs: [
        "libpfw_utility",
    ],

    srcs: [
        "upstream/parameter/ParameterMgrPlatformConnector.cpp",
        "upstream/parameter/LoggingElementBuilderTemplate.cpp",
        "upstream/parameter/StringParameterType.cpp",
        "upstream/parameter/SyncerSet.cpp",
        "upstream/parameter/BitParameter.cpp",
        "upstream/parameter/BaseParameter.cpp",
        "upstream/parameter/ParameterBlockType.cpp",
        "upstream/parameter/FloatingPointParameterType.cpp",
        "upstream/parameter/SelectionCriteriaDefinition.cpp",
        "upstream/parameter/EnumValuePair.cpp",
        "upstream/parameter/SelectionCriteria.cpp",
        "upstream/parameter/SelectionCriterionRule.cpp",
        "upstream/parameter/AreaConfiguration.cpp",
        "upstream/parameter/BitParameterBlockType.cpp",
        "upstream/parameter/ConfigurationAccessContext.cpp",
        "upstream/parameter/BitwiseAreaConfiguration.cpp",
        "upstream/parameter/ArrayParameter.cpp",
        "upstream/parameter/ParameterBlackboard.cpp",
        "upstream/parameter/InstanceConfigurableElement.cpp",
        "upstream/parameter/LogarithmicParameterAdaptation.cpp",
        "upstream/parameter/ConfigurableDomain.cpp",
        "upstream/parameter/FormattedSubsystemObject.cpp",
        "upstream/parameter/MappingData.cpp",
        "upstream/parameter/SubsystemElementBuilder.cpp",
        "upstream/parameter/BooleanParameterType.cpp",
        "upstream/parameter/FixedPointParameterType.cpp",
        "upstream/parameter/ComponentType.cpp",
        "upstream/parameter/EnumParameterType.cpp",
        "upstream/parameter/RuleParser.cpp",
        "upstream/parameter/VirtualSubsystem.cpp",
        "upstream/parameter/Element.cpp",
        "upstream/parameter/ParameterFrameworkConfiguration.cpp",
        "upstream/parameter/SelectionCriterionLibrary.cpp",
        "upstream/parameter/StringParameter.cpp",
        "upstream/parameter/CompoundRule.cpp",
        "upstream/parameter/ConfigurableDomains.cpp",
        "upstream/parameter/VirtualSyncer.cpp",
        "upstream/parameter/MappingContext.cpp",
        "upstream/parameter/LinearParameterAdaptation.cpp",
        "upstream/parameter/ComponentLibrary.cpp",
        "upstream/parameter/BitParameterBlock.cpp",
        "upstream/parameter/ParameterMgrFullConnector.cpp",
        "upstream/parameter/ConfigurableElement.cpp",
        "upstream/parameter/ConfigurableElementAggregator.cpp",
        "upstream/parameter/SubsystemObject.cpp",
        "upstream/parameter/TypeElement.cpp",
        "upstream/parameter/PathNavigator.cpp",
        "upstream/parameter/ElementLocator.cpp",
        "upstream/parameter/SimulatedBackSynchronizer.cpp",
        "upstream/parameter/Parameter.cpp",
        "upstream/parameter/ComponentInstance.cpp",
        "upstream/parameter/InstanceDefinition.cpp",
        "upstream/parameter/SubsystemObjectCreator.cpp",
        "upstream/parameter/ParameterType.cpp",
        "upstream/parameter/DomainConfiguration.cpp",
        "upstream/parameter/PluginLocation.cpp",
        "upstream/parameter/HardwareBackSynchronizer.cpp",
        "upstream/parameter/SystemClass.cpp",
        "upstream/parameter/ElementLibrary.cpp",
        "upstream/parameter/ParameterAccessContext.cpp",
        "upstream/parameter/XmlParameterSerializingContext.cpp",
        "upstream/parameter/ElementHandle.cpp",
        "upstream/parameter/ParameterMgr.cpp",
        "upstream/parameter/SelectionCriterionType.cpp",
        "upstream/parameter/Subsystem.cpp",
        "upstream/parameter/BaseIntegerParameterType.cpp",
        "upstream/parameter/BitParameterType.cpp",
        "upstream/parameter/SelectionCriterion.cpp",
        "upstream/parameter/XmlElementSerializingContext.cpp",
        "upstream/parameter/ElementLibrarySet.cpp",
        "upstream/parameter/FrameworkConfigurationLocation.cpp",
        "upstream/parameter/ParameterAdaptation.cpp",
        "upstream/parameter/XmlFileIncluderElement.cpp",
        "upstream/xmlserializer/XmlElement.cpp",
        "upstream/xmlserializer/XmlSerializingContext.cpp",
        "upstream/xmlserializer/XmlMemoryDocSource.cpp",
        "upstream/xmlserializer/XmlDocSource.cpp",
        "upstream/xmlserializer/XmlMemoryDocSink.cpp",
        "upstream/xmlserializer/XmlStreamDocSink.cpp",
        "upstream/parameter/CommandHandlerWrapper.cpp",
    ],
}

// Userdebug only, should not be used in a user build device image.
cc_binary {
    name: "test-platform",
    defaults: ["pfw_defaults"],

    local_include_dirs: [
        "upstream/test/test-platform",
        "support/android/asio",
        "asio/include",
    ],
    srcs: [
        "upstream/test/test-platform/main.cpp",
        "upstream/test/test-platform/TestPlatform.cpp",
    ],
    cflags: [
        "-Wno-unused-local-typedef",
        "-Wno-implicit-fallthrough"
    ],
    static_libs: ["libpfw_utility"],
    shared_libs: [
        "libparameter",
        "libremote-processor",
    ],
}

cc_binary_host {
    name: "domainGeneratorConnector",
    defaults: ["pfw_defaults"],

    owner: "intel",
    static_libs: ["libpfw_utility"],
    shared_libs: ["libparameter"],
    srcs: ["upstream/tools/xmlGenerator/domainGeneratorConnector.cpp"],
}

// Resources are not compiled so the prebuild mechanism is used to export them.
//////////////////////////////////////////////////

filegroup {
    name: "parameter_frameworks_configuration_schemas",
    srcs: [
        "upstream/schemas/ParameterFrameworkConfiguration.xsd",
        "upstream/schemas/ConfigurableDomain.xsd",
        "upstream/schemas/ConfigurableDomains.xsd",
        "upstream/schemas/SystemClass.xsd",
        "upstream/schemas/ParameterSettings.xsd",
        "upstream/schemas/FileIncluder.xsd",
        "upstream/schemas/Subsystem.xsd",
        "upstream/schemas/ComponentLibrary.xsd",
        "upstream/schemas/ComponentTypeSet.xsd",
        "upstream/schemas/W3cXmlAttributes.xsd",
        "upstream/schemas/Parameter.xsd",
    ],
    path: "upstream/",
}

prebuilt_etc_host {
    name: "ParameterFrameworkConfiguration.xsd",
    owner: "intel",
    src: "upstream/schemas/ParameterFrameworkConfiguration.xsd",
    sub_dir: "parameter-framework/Schemas",
}

prebuilt_etc_host {
    name: "ConfigurableDomain.xsd",
    owner: "intel",
    src: "upstream/schemas/ConfigurableDomain.xsd",
    sub_dir: "parameter-framework/Schemas",
    required: ["ParameterSettings.xsd"],
}

prebuilt_etc_host {
    name: "ConfigurableDomains.xsd",
    owner: "intel",
    src: "upstream/schemas/ConfigurableDomains.xsd",
    sub_dir: "parameter-framework/Schemas",
    required: ["ConfigurableDomain.xsd"],
}

prebuilt_etc_host {
    name: "SystemClass.xsd",
    owner: "intel",
    src: "upstream/schemas/SystemClass.xsd",
    sub_dir: "parameter-framework/Schemas",
    required: [
        "FileIncluder.xsd",
        "Subsystem.xsd",
    ],
}

prebuilt_etc_host {
    name: "ParameterSettings.xsd",
    owner: "intel",
    src: "upstream/schemas/ParameterSettings.xsd",
    sub_dir: "parameter-framework/Schemas",
}

prebuilt_etc_host {
    name: "FileIncluder.xsd",
    owner: "intel",
    src: "upstream/schemas/FileIncluder.xsd",
    sub_dir: "parameter-framework/Schemas",
}

prebuilt_etc_host {
    name: "Subsystem.xsd",
    owner: "intel",
    src: "upstream/schemas/Subsystem.xsd",
    sub_dir: "parameter-framework/Schemas",
    required: ["ComponentLibrary.xsd"],
}

prebuilt_etc_host {
    name: "ComponentLibrary.xsd",
    owner: "intel",
    src: "upstream/schemas/ComponentLibrary.xsd",
    sub_dir: "parameter-framework/Schemas",
    required: [
        "ComponentTypeSet.xsd",
        "W3cXmlAttributes.xsd",
    ],
}

prebuilt_etc_host {
    name: "ComponentTypeSet.xsd",
    owner: "intel",
    src: "upstream/schemas/ComponentTypeSet.xsd",
    sub_dir: "parameter-framework/Schemas",
    required: [
        "Parameter.xsd",
        "W3cXmlAttributes.xsd",
    ],
}

prebuilt_etc_host {
    name: "W3cXmlAttributes.xsd",
    owner: "intel",
    src: "upstream/schemas/W3cXmlAttributes.xsd",
    sub_dir: "parameter-framework/Schemas",
}

prebuilt_etc_host {
    name: "Parameter.xsd",
    owner: "intel",
    src: "upstream/schemas/Parameter.xsd",
    sub_dir: "parameter-framework/Schemas",
}

filegroup {
    name: "EddParser.py-srcs",
    srcs: ["upstream/tools/xmlGenerator/EddParser.py"],
    path: "upstream/tools/xmlGenerator/",
}

python_library_host {
    name: "EddParser.py",
    defaults: ["pfw_defaults"],
    owner: "intel",

    srcs: [":EddParser.py-srcs"],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
        },
    },
}

filegroup {
    name: "PfwBaseTranslator.py-srcs",
    srcs: ["upstream/tools/xmlGenerator/PfwBaseTranslator.py"],
    path: "upstream/tools/xmlGenerator/",
}

python_library_host {
    name: "PfwBaseTranslator.py",
    defaults: ["pfw_defaults"],
    owner: "intel",

    srcs: [":PfwBaseTranslator.py-srcs"],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
        },
    },
}

filegroup {
    name: "PFWScriptGenerator.py-srcs",
    srcs: ["upstream/tools/xmlGenerator/PFWScriptGenerator.py"],
    path: "upstream/tools/xmlGenerator/",
}

python_library_host {
    name: "PFWScriptGenerator.py",
    defaults: ["pfw_defaults"],
    owner: "intel",

    srcs: [":PFWScriptGenerator.py-srcs"],
    libs: [
        "PfwBaseTranslator.py",
        "EddParser.py",
    ],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
        },
    },
}

sh_binary {
    name: "updateRoutageDomains.sh",
    owner: "intel",

    host_supported: true,
    src: "upstream/tools/xmlGenerator/updateRoutageDomains.sh",
}

filegroup {
    name: "hostConfig.py-srcs",
    srcs: ["upstream/tools/xmlGenerator/hostConfig.py"],
    path: "upstream/tools/xmlGenerator/",
}

python_library_host {
    name: "hostConfig.py",
    defaults: ["pfw_defaults"],
    owner: "intel",

    srcs: [":hostConfig.py-srcs"],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
        },
    },
}

python_binary_host {
    name: "domainGenerator.py",
    defaults: ["pfw_defaults"],
    owner: "intel",

    main: "upstream/tools/xmlGenerator/domainGenerator.py",
    srcs: ["upstream/tools/xmlGenerator/domainGenerator.py"],
    libs: [
        "EddParser.py",
        "hostConfig.py",
        "PFWScriptGenerator.py",
    ],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
        },
    },
    required: [
        "domainGeneratorConnector",
    ],
}

cc_prebuilt_binary {
    name: "domainGenerator.sh",
    defaults: ["pfw_defaults"],
    owner: "intel",

    host_supported: true,
    srcs: ["upstream/tools/xmlGenerator/domainGenerator.sh"],
}

cc_prebuilt_binary {
    name: "lightRoutingUpdate.sh",
    defaults: ["pfw_defaults"],
    owner: "intel",

    host_supported: true,
    srcs: ["upstream/tools/xmlGenerator/lightRoutingUpdate.sh"],
}

//////////////////////////////////////////////////

cc_binary {
    name: "remote-process",
    defaults: ["pfw_defaults"],

    srcs: ["upstream/remote-process/main.cpp"],
    local_include_dirs: [
        "upstream/utility",
        "support/android/asio",
        "asio/include",
    ],
    cflags: ["-Wno-unused-local-typedef"],
    shared_libs: ["libremote-processor"],
}
