1# Copyright (c) 2016, Intel Corporation
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without modification,
5# are permitted provided that the following conditions are met:
6#
7# 1. Redistributions of source code must retain the above copyright notice, this
8# list of conditions and the following disclaimer.
9#
10# 2. Redistributions in binary form must reproduce the above copyright notice,
11# this list of conditions and the following disclaimer in the documentation and/or
12# other materials provided with the distribution.
13#
14# 3. Neither the name of the copyright holder nor the names of its contributors
15# may be used to endorse or promote products derived from this software without
16# specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
22# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29ifeq ($(LOCAL_IS_HOST_MODULE),true)
30SUFFIX := _host
31else
32SUFFIX :=
33endif
34
35LOCAL_MODULE := libparameter$(SUFFIX)
36LOCAL_MODULE_CLASS := SHARED_LIBRARIES
37LOCAL_SRC_FILES := \
38    upstream/parameter/ParameterMgrPlatformConnector.cpp \
39    upstream/parameter/LoggingElementBuilderTemplate.cpp \
40    upstream/parameter/StringParameterType.cpp \
41    upstream/parameter/SyncerSet.cpp \
42    upstream/parameter/BitParameter.cpp \
43    upstream/parameter/BaseParameter.cpp \
44    upstream/parameter/ParameterBlockType.cpp \
45    upstream/parameter/FloatingPointParameterType.cpp \
46    upstream/parameter/SelectionCriteriaDefinition.cpp \
47    upstream/parameter/EnumValuePair.cpp \
48    upstream/parameter/SelectionCriteria.cpp \
49    upstream/parameter/SelectionCriterionRule.cpp \
50    upstream/parameter/AreaConfiguration.cpp \
51    upstream/parameter/BitParameterBlockType.cpp \
52    upstream/parameter/ConfigurationAccessContext.cpp \
53    upstream/parameter/BitwiseAreaConfiguration.cpp \
54    upstream/parameter/ArrayParameter.cpp \
55    upstream/parameter/ParameterBlackboard.cpp \
56    upstream/parameter/InstanceConfigurableElement.cpp \
57    upstream/parameter/LogarithmicParameterAdaptation.cpp \
58    upstream/parameter/ConfigurableDomain.cpp \
59    upstream/parameter/FormattedSubsystemObject.cpp \
60    upstream/parameter/MappingData.cpp \
61    upstream/parameter/SubsystemElementBuilder.cpp \
62    upstream/parameter/BooleanParameterType.cpp \
63    upstream/parameter/FixedPointParameterType.cpp \
64    upstream/parameter/ComponentType.cpp \
65    upstream/parameter/EnumParameterType.cpp \
66    upstream/parameter/RuleParser.cpp \
67    upstream/parameter/VirtualSubsystem.cpp \
68    upstream/parameter/Element.cpp \
69    upstream/parameter/ParameterFrameworkConfiguration.cpp \
70    upstream/parameter/SelectionCriterionLibrary.cpp \
71    upstream/parameter/StringParameter.cpp \
72    upstream/parameter/CompoundRule.cpp \
73    upstream/parameter/ConfigurableDomains.cpp \
74    upstream/parameter/VirtualSyncer.cpp \
75    upstream/parameter/MappingContext.cpp \
76    upstream/parameter/LinearParameterAdaptation.cpp \
77    upstream/parameter/ComponentLibrary.cpp \
78    upstream/parameter/BitParameterBlock.cpp \
79    upstream/parameter/ParameterMgrFullConnector.cpp \
80    upstream/parameter/ConfigurableElement.cpp \
81    upstream/parameter/ConfigurableElementAggregator.cpp \
82    upstream/parameter/SubsystemObject.cpp \
83    upstream/parameter/TypeElement.cpp \
84    upstream/parameter/PathNavigator.cpp \
85    upstream/parameter/ElementLocator.cpp \
86    upstream/parameter/SimulatedBackSynchronizer.cpp \
87    upstream/parameter/Parameter.cpp \
88    upstream/parameter/ComponentInstance.cpp \
89    upstream/parameter/InstanceDefinition.cpp \
90    upstream/parameter/SubsystemObjectCreator.cpp \
91    upstream/parameter/ParameterType.cpp \
92    upstream/parameter/DomainConfiguration.cpp \
93    upstream/parameter/PluginLocation.cpp \
94    upstream/parameter/HardwareBackSynchronizer.cpp \
95    upstream/parameter/SystemClass.cpp \
96    upstream/parameter/ElementLibrary.cpp \
97    upstream/parameter/ParameterAccessContext.cpp \
98    upstream/parameter/XmlParameterSerializingContext.cpp \
99    upstream/parameter/ElementHandle.cpp \
100    upstream/parameter/ParameterMgr.cpp \
101    upstream/parameter/SelectionCriterionType.cpp \
102    upstream/parameter/Subsystem.cpp \
103    upstream/parameter/IntegerParameterType.cpp \
104    upstream/parameter/BitParameterType.cpp \
105    upstream/parameter/SelectionCriterion.cpp \
106    upstream/parameter/XmlElementSerializingContext.cpp \
107    upstream/parameter/ElementLibrarySet.cpp \
108    upstream/parameter/FrameworkConfigurationLocation.cpp \
109    upstream/parameter/ParameterAdaptation.cpp \
110    upstream/parameter/XmlFileIncluderElement.cpp \
111    upstream/xmlserializer/XmlElement.cpp \
112    upstream/xmlserializer/XmlSerializingContext.cpp \
113    upstream/xmlserializer/XmlMemoryDocSource.cpp \
114    upstream/xmlserializer/XmlDocSource.cpp \
115    upstream/xmlserializer/XmlMemoryDocSink.cpp \
116    upstream/xmlserializer/XmlStreamDocSink.cpp \
117    upstream/parameter/CommandHandlerWrapper.cpp
118
119LOCAL_EXPORT_C_INCLUDE_DIRS := \
120    $(LOCAL_PATH)/upstream/parameter/ \
121    $(LOCAL_PATH)/upstream/parameter/log/include \
122    $(LOCAL_PATH)/upstream/parameter/include \
123    $(LOCAL_PATH)/upstream/xmlserializer/ \
124    $(LOCAL_PATH)/upstream/remote-processor/ \
125    $(LOCAL_PATH)/support/android/parameter/
126
127common_copy_headers_to := parameter
128common_copy_headers := \
129    upstream/parameter/include/ParameterMgrLoggerForward.h \
130    upstream/parameter/include/ParameterMgrPlatformConnector.h \
131    upstream/parameter/include/ParameterMgrFullConnector.h \
132    upstream/parameter/include/SelectionCriterionTypeInterface.h \
133    upstream/parameter/include/SelectionCriterionInterface.h \
134    upstream/parameter/include/ParameterHandle.h \
135    support/android/parameter/parameter_export.h \
136    upstream/parameter/include/ElementHandle.h
137
138LOCAL_C_INCLUDES := $(LOCAL_EXPORT_C_INCLUDE_DIRS)
139
140LOCAL_COPY_HEADERS_TO := $(common_copy_headers_to)
141LOCAL_COPY_HEADERS := $(common_copy_headers)
142
143LOCAL_C_INCLUDES := $(LOCAL_EXPORT_C_INCLUDE_DIRS)
144
145LOCAL_SHARED_LIBRARIES := libremote-processor$(PFW_NETWORKING_SUFFIX)$(SUFFIX)
146LOCAL_C_INCLUDES += \
147    external/libxml2/include \
148    external/icu/icu4c/source/common
149
150LOCAL_CFLAGS := -frtti -fexceptions
151
152LOCAL_STATIC_LIBRARIES := \
153    libpfw_utility$(SUFFIX) \
154    libxml2
155
156LOCAL_CLANG := true
157