diff options
author | Pasi Pentikainen <pasi.a.pentikainen@nokia.com> | 2011-12-01 16:22:30 +0200 |
---|---|---|
committer | Pasi Pentikainen <pasi.a.pentikainen@nokia.com> | 2011-12-02 16:50:31 +0200 |
commit | 500297890de63c1ecec5c16511b80a788f6812f1 (patch) | |
tree | b790a1967feeb03a9116515d8ee63eca78a742d1 /features | |
parent | 8932a8942d6a35917fc7a083efc043db1764bcec (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.inf | 11 | ||||
-rw-r--r-- | features/mkservicedb/qtmobilitydb.flm | 47 | ||||
-rw-r--r-- | features/mkservicedb/qtmobilitydb.meta | 3 | ||||
-rw-r--r-- | features/mkservicedb/qtmobilitydb.xml (renamed from features/qtservice.xml) | 5 | ||||
-rw-r--r-- | features/qtservice.flm | 50 | ||||
-rw-r--r-- | features/qtservice.prf | 14 |
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 |