// 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_shared {
    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_shared {
    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.
// Schemas are only used by host, in order to validate xml files
//////////////////////////////////////////////////

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"],
}
