summaryrefslogtreecommitdiffstats
path: root/features
diff options
context:
space:
mode:
authorPasi Pentikainen <pasi.a.pentikainen@nokia.com>2011-12-01 16:22:30 +0200
committerPasi Pentikainen <pasi.a.pentikainen@nokia.com>2011-12-02 16:50:31 +0200
commit500297890de63c1ecec5c16511b80a788f6812f1 (patch)
treeb790a1967feeb03a9116515d8ee63eca78a742d1 /features
parent8932a8942d6a35917fc7a083efc043db1764bcec (diff)
ServiceFW Symbian ROM DB creation fix
Move the Service Framework ROM DB creation into FINAL phase of raptor extension, so that 1) there is just one export even if multiple packages are adding to DB, and 2) the DB creation is done on single step to prevent any parallel build issues. Reviewed-by: Aapo Haapanen Task-number: ou1cimx1#933912
Diffstat (limited to 'features')
-rw-r--r--features/mkservicedb/bld.inf11
-rw-r--r--features/mkservicedb/qtmobilitydb.flm47
-rw-r--r--features/mkservicedb/qtmobilitydb.meta3
-rw-r--r--features/mkservicedb/qtmobilitydb.xml (renamed from features/qtservice.xml)5
-rw-r--r--features/qtservice.flm50
-rw-r--r--features/qtservice.prf14
6 files changed, 66 insertions, 64 deletions
diff --git a/features/mkservicedb/bld.inf b/features/mkservicedb/bld.inf
new file mode 100644
index 0000000000..64cb2330bd
--- /dev/null
+++ b/features/mkservicedb/bld.inf
@@ -0,0 +1,11 @@
+PRJ_EXPORTS
+
+qtmobilitydb.flm /epoc32/tools/makefile_templates/qt/
+qtmobilitydb.meta /epoc32/tools/makefile_templates/qt/
+qtmobilitydb.xml /epoc32/tools/makefile_templates/qt/
+
+
+PRJ_EXTENSIONS
+
+START EXTENSION qt/qtmobilitydb
+END \ No newline at end of file
diff --git a/features/mkservicedb/qtmobilitydb.flm b/features/mkservicedb/qtmobilitydb.flm
new file mode 100644
index 0000000000..14fa1f0f2f
--- /dev/null
+++ b/features/mkservicedb/qtmobilitydb.flm
@@ -0,0 +1,47 @@
+# /****************************************************************************
+# **
+# ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+# **
+# ****************************************************************************/
+
+# FLM to be used for registering/unregistering QtServiceFW services build time
+SFWTOOL := $(EPOCROOT)/epoc32/tools/servicedbgen$(DOTEXE)
+
+#choose target database to deal with
+ifeq ($(PLATFORM), WINSCW)
+QTSERVICE_TARGET := -twinscw
+DES_DIR := $(EPOCROOT)/epoc32/winscw/c/private/2002AC7F/des
+DBFILENAME := $(EPOCROOT)/epoc32/winscw/c/private/2002AC7F/QtServiceFramework_4.8_system.db
+else
+ifeq ($(PLATFORM), ARMV5)
+QTSERVICE_TARGET := -tarmv5
+DES_DIR := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/des
+DBFILENAME := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/QtServiceFramework_4.8_system.db
+else
+QTSERVICE_TARGET := -tall
+DES_DIR := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/des
+DBFILENAME := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/QtServiceFramework_4.8_system.db
+endif
+endif
+
+define handle_service
+
+# Files named as init_*.xml need the -i flag, others do not
+FINAL::
+ $(call startrule,add_services,FORCESUCCESS) \
+ $(foreach file,$(filter init_%,$(notdir $(wildcard $(DES_DIR)/*.xml))), \
+ $(SFWTOOL) $(QTSERVICE_TARGET) -i add $(DES_DIR)/$(file); ) \
+ $(foreach file,$(filter-out init_%,$(notdir $(wildcard $(DES_DIR)/*.xml))), \
+ $(SFWTOOL) $(QTSERVICE_TARGET) add $(DES_DIR)/$(file); ) \
+ $(call endrule,add_services)
+endef
+
+SINGLETON:=done_$(call sanitise,$(DES_DIR))
+
+ifeq ($($(SINGLETON)),)
+$(SINGLETON):=1
+$(eval $(handle_service))
+$(eval $(call raptor_release,$(DBFILENAME),WHATMAKEFILE))
+$(eval $(call raptor_clean,$(DBFILENAME),WHATMAKEFILE))
+endif
+
diff --git a/features/mkservicedb/qtmobilitydb.meta b/features/mkservicedb/qtmobilitydb.meta
new file mode 100644
index 0000000000..889a078abe
--- /dev/null
+++ b/features/mkservicedb/qtmobilitydb.meta
@@ -0,0 +1,3 @@
+platform win32
+makefile gnumake
+techstream qt
diff --git a/features/qtservice.xml b/features/mkservicedb/qtmobilitydb.xml
index 2e467cda28..6af45a9012 100644
--- a/features/qtservice.xml
+++ b/features/mkservicedb/qtmobilitydb.xml
@@ -5,9 +5,6 @@
<!-- Tools interfaces -->
- <interface name="qt.qtservice" extends="Symbian.UserFLM" flm="qtservice.flm">
- <param name='QTSERVICE_DESCRIPTOR' default='' />
- <param name='QTSERVICE_INITIALIZE' default='' />
- </interface>
+ <interface name="qt.qtmobilitydb" extends="Symbian.UserFLM" flm="qtmobilitydb.flm"/>
</build>
diff --git a/features/qtservice.flm b/features/qtservice.flm
deleted file mode 100644
index 9d3ae40905..0000000000
--- a/features/qtservice.flm
+++ /dev/null
@@ -1,50 +0,0 @@
-# /****************************************************************************
-# **
-# ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact:
-# **
-# ****************************************************************************/
-
-# FLM to be used for registering/unregistering QtServiceFW services build time
-SFWTOOL := $(EPOCROOT)/epoc32/tools/servicedbgen$(DOTEXE)
-
-#choose target database to deal with
-ifeq ($(PLATFORM), WINSCW)
-QTSERVICE_TARGET := -twinscw
-DES_PATH := ${EPOCROOT}/epoc32/winscw/c/private/2002AC7F/des/$(QTSERVICE_DESCRIPTOR)
-RELEASEABLES := ${EPOCROOT}/epoc32/winscw/c/private/2002AC7F/QtServiceFramework_4.8_system.db
-else
-ifeq ($(PLATFORM), ARMV5)
-QTSERVICE_TARGET := -tarmv5
-DES_PATH := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/des/$(QTSERVICE_DESCRIPTOR)
-RELEASEABLES := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/QtServiceFramework_4.8_system.db
-else
-QTSERVICE_TARGET := -tall
-DES_PATH := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/des/$(QTSERVICE_DESCRIPTOR)
-RELEASEABLES := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/QtServiceFramework_4.8_system.db
-endif
-endif
-
-define handle_service
-
-MAKEFILE::
- $(call startrule,add_service,FORCESUCCESS) \
- $(SFWTOOL) $(QTSERVICE_TARGET) $(QTSERVICE_INITIALIZE) add $(DES_PATH) \
- $(call endrule,add_service)
-
-CLEAN::
- $(call startrule,remove_service,FORCESUCCESS) \
- $(SFWTOOL) $(QTSERVICE_TARGET) $(QTSERVICE_INITIALIZE) remove $(DES_PATH) \
- $(call endrule,remove_service)
-
-endef
-
-SINGLETON:=done_$(call sanitise,$(DES_PATH))
-
-ifeq ($($(SINGLETON)),)
-$(SINGLETON):=1
-$(eval $(handle_service))
-# this is going to cause some problems when several component are trying to register to the db...
-$(eval $(call whatmacro,$(RELEASEABLES),WHATMAKEFILE))
-endif
-
diff --git a/features/qtservice.prf b/features/qtservice.prf
index ed7f522440..00999f1144 100644
--- a/features/qtservice.prf
+++ b/features/qtservice.prf
@@ -11,26 +11,20 @@ symbian {
QTC_COMMAND = add
contains(QTSERVICE.INITIALIZE, yes) {
QTSERVICE_INITIALIZE = -i
+
+ #raptor uses filename for determining the usage of -i
+ symbian-sbsv2:QTSERVICE_INITIALIZE_PREFIX=init_
}
#deploy descriptor file to service framework server's private folder
#so batch mode tool execution can include the service
qtservice_descriptors = $$QTSERVICE.DESCRIPTOR
for(descriptor, qtservice_descriptors) {
- BASENAME = $$basename(descriptor)
+ BASENAME = $${QTSERVICE_INITIALIZE_PREFIX}$$basename(descriptor)
BLD_INF_RULES.prj_exports += "$$descriptor /epoc32/winscw/c/private/2002AC7F/des/$$BASENAME"
BLD_INF_RULES.prj_exports += "$$descriptor /epoc32/data/z/private/2002AC7F/des/$$BASENAME"
}
- symbian-sbsv2{
- sfwextension = \
- "START EXTENSION qt/qtservice" \
- "OPTION QTSERVICE_DESCRIPTOR $$basename(QTSERVICE.DESCRIPTOR)" \
- "OPTION QTSERVICE_INITIALIZE $$QTSERVICE_INITIALIZE" \
- "END"
- BLD_INF_RULES.prj_extensions += sfwextension
- }
-
symbian-abld{
DUMMY = qtservice.out
qtc.output = $$DUMMY