# HG changeset patch # User Jon Chatten # Date 1266247040 0 # Node ID b719d614d65227bd5f30e6f4d460362fc46129ef # Parent 604f2aceff591c19942b925625ab8555bddc5206# Parent cfeb5b6280482f1d10c2707ca699233e0a06dac3 DPDEF142718 Incremental rebuild fails if dependent files deleted (resurrection through merge). diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/RELEASE-NOTES.txt --- a/sbsv2/raptor/RELEASE-NOTES.txt Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/RELEASE-NOTES.txt Mon Feb 15 15:17:20 2010 +0000 @@ -7,6 +7,9 @@ - Better error messages for make-engine selection. e.g. "sbs -e arm" will now produce a useful error message rather than a traceback. "arm" is a real variant but it's not a make engine. In the past sbs would have tried to use it and would have failed with a complicated traceback. Also doesn't traceback for non-existent make engines. - sbs_filter chose wrong embedded default python version. Set to 2.6.4 now. - FilterCheck did not check files when run from sbs_filter +- DPDEF142718 Incremental rebuild fails if dependent files deleted + --no-depend-generate added to suppress the generation and processing of dependency files + .DEFAULT target introduced for all non --no-depend-generate and/or --no-depend-include builds version 2.12.1 diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/lib/flm/e32abiv2.flm --- a/sbsv2/raptor/lib/flm/e32abiv2.flm Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/lib/flm/e32abiv2.flm Mon Feb 15 15:17:20 2010 +0000 @@ -773,20 +773,23 @@ $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \ $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \ $(if $(NOHIDEALL),--no_hide_all,) \ - $(DEPEND_OPTION) $(call dblquote,$(1).d) \ - $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \ + $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \ + $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \ $(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \ --via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) \ $(call endrule,compile) -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) -ifneq "$(DEPENDFILE)" "" -ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) +ifeq ($(NO_DEPEND_GENERATE),) + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) +endif + +ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif -endif # individual source file compilation SOURCETARGET_$(call sanitise,$(2)): $(1) @@ -866,20 +869,23 @@ $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \ $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \ $(if $(NOHIDEALL),--no_hide_all,) \ - $(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \ + $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \ $$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \ $(call endrule,e32listing) CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET) -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) -ifneq "$(DEPENDFILE)" "" -ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) +ifeq ($(NO_DEPEND_GENERATE),)) + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) +endif + +ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif -endif endef @@ -985,19 +991,21 @@ $(e32abiv2_PREFILE): $1 $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) $(call startrule,cia2cpp,,$1) \ $(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \ - $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) && \ - $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix \ - $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d) \ + $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) \ + $(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \ $(call endrule,cia2cpp) -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) -ifneq "$(DEPENDFILE)" "" -ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) +ifeq ($(NO_DEPEND_GENERATE),) + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) +endif + +ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif -endif endef @@ -1027,22 +1035,27 @@ $(call startrule,asmcompile,,$(2)) \ $(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \ $(CC) $(e32abiv2_asm_OPTIONS) \ - $(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \ + $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \ $$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \ $(call endrule,asmcompile) +ifeq ($(NO_DEPEND_GENERATE),) $(call startrule,asmdependencies) \ $(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \ $(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \ $(call endrule,asmdependencies) +endif -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) -ifneq "$(DEPENDFILE)" "" -ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) +ifeq ($(NO_DEPEND_GENERATE),) + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) +endif + +ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif -endif CREATABLEPATHS:=$$(CREATABLEPATHS) $(INTERMEDIATEPATH) diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/lib/flm/emulator.xml --- a/sbsv2/raptor/lib/flm/emulator.xml Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/lib/flm/emulator.xml Mon Feb 15 15:17:20 2010 +0000 @@ -89,7 +89,6 @@ - diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/lib/flm/gccxml.flm --- a/sbsv2/raptor/lib/flm/gccxml.flm Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/lib/flm/gccxml.flm Mon Feb 15 15:17:20 2010 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -200,7 +200,7 @@ define gccxmlprocesssource $(eval DEPENDFILENAME:=$(call mapsource2output,$(1),.xml.d)) - $(eval DEPENDFILE:=$(DEPENDFILENAME)) + $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) $(call mapsource2output,$(1),.xml): $(1) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) $(call startrule,gccxmlprocesssource) \ @@ -214,13 +214,13 @@ $(call endrule,gccxmlprocesssource) CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) - ifneq "$(DEPENDFILE)" "" - ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) + ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif - endif endef $(foreach SRCFILE,$(SOURCE),$(eval $(call gccxmlprocesssource,$(SRCFILE)))) diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/lib/flm/standard.xml --- a/sbsv2/raptor/lib/flm/standard.xml Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/lib/flm/standard.xml Mon Feb 15 15:17:20 2010 +0000 @@ -106,7 +106,6 @@ - diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/lib/flm/tools2common.flm --- a/sbsv2/raptor/lib/flm/tools2common.flm Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/lib/flm/tools2common.flm Mon Feb 15 15:17:20 2010 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -75,17 +75,22 @@ $(compile2object_TARGET): $(1) $(if (DEPENDFILE),,EXPORT) $(call startrule,compile2object,,$(1)) \ $(if $(COMPILER_PATH),COMPILER_PATH="$(COMPILER_PATH)",) \ - $(COMPILER) $(CFLAGS) $(CDEFS.TOOLS2) -MD -MT"$$@" -MF"$(DEPENDFILENAME)" $(INCLUDES) $(OPT.O)"$$@" "$(1)" \ + $(COMPILER) $(CFLAGS) $(CDEFS.TOOLS2) \ + $(if $(NO_DEPEND_GENERATE),,-MD -MT"$$@" -MF"$(DEPENDFILENAME)") \ + $(INCLUDES) $(OPT.O)"$$@" "$(1)" \ $(call endrule,compile2object) -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) -ifneq "$(DEPENDFILE)" "" -ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) +ifeq ($(NO_DEPEND_GENERATE),) + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) +endif + +ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif -endif endef diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/lib/flm/win32.flm --- a/sbsv2/raptor/lib/flm/win32.flm Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/lib/flm/win32.flm Mon Feb 15 15:17:20 2010 +0000 @@ -150,7 +150,7 @@ endif # get the compiler to generate dependencies for us? -ifeq ($(DEPEND_SKIP),) +ifeq ($(NO_DEPEND_GENERATE),) CFLAGS:=$(CFLAGS) $(OPT.DEPEND) endif @@ -379,20 +379,21 @@ $(call startrule,win32compile2object,,$(1)) \ $(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \ $(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \ - $(DEFINES) $(INCLUDES) $(OPT.OUT)"$$@" "$(1)" && \ - $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.o): $1 \1#' $(call mapwin32file,$(1),.dep) > $(call mapwin32file,$(1),.o.d) \ + $(DEFINES) $(INCLUDES) $(OPT.OUT)"$$@" "$(1)" \ + $(if $(NO_DEPEND_GENERATE),,&& $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.o): $1 \1#' $(call mapwin32file,$(1),.dep) > $(call mapwin32file,$(1),.o.d)) \ $(call endrule,win32compile2object) - CLEANTARGETS:=$$(CLEANTARGETS) $(call mapwin32file,$(1),.dep) - - CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) - ifneq "$(DEPENDFILE)" "" - ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) + ifeq ($(NO_DEPEND_GENERATE),) + CLEANTARGETS:=$$(CLEANTARGETS) $(call mapwin32file,$(1),.dep) $(DEPENDFILENAME) + endif + + ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif - endif # individual source file compilation SOURCETARGET_$(call sanitise,$(1)): $(call mapwin32file,$(1),.o) @@ -419,28 +420,32 @@ STDMWCINCLUDEPATHS:=$(if $(MWCSym2Includes),$(MWCSym2Includes),$(MWCSYM2INCLUDES)) define win32resourcecompile - # Note that two calls are made to the resource compiler here. There seems to be no means to override the - # default behaviour of dumping dependency files into the CWD when using -MD. So - we compile once for real, - # and then pipe dependency output through SED afterwards to create the dependency file where we want it + # Note that, if dependency files are required, two calls are made to the resource compiler here. + # There seems to be no means to override the default behaviour of dumping dependency files into the CWD when using -MD. + # So - we compile once for real, and then pipe dependency output through SED afterwards to create the dependency file where we want it $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.res.d)) $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) $(call mapwin32file,$(1),.res): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) $(call startrule,win32resourcecompile,,$(1)) \ - MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) $(OPT.OUT)"$$@" "$(1)" && \ - MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) -make $(OPT.OUT)"$$@" "$(1)" | \ - $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.res): $1 \1#' > $(call mapwin32file,$(1),.res.d) \ + MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) $(OPT.OUT)"$$@" "$(1)" \ + $(if $(NO_DEPEND_GENERATE),,&& \ + MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) -make $(OPT.OUT)"$$@" "$(1)" | \ + $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.res): $1 \1#' > $(call mapwin32file,$(1),.res.d)) \ $(call endrule,win32resourcecompile) - CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) - ifneq "$(DEPENDFILE)" "" - ifeq ($(NO_DEPEND_INCLUDE),) - ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" - -include $(DEPENDFILE) + ifeq ($(NO_DEPEND_GENERATE),) + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) + endif + + ifneq ($(DEPENDFILE),) + ifeq ($(NO_DEPEND_INCLUDE),) + ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),) + -include $(DEPENDFILE) + endif endif endif - endif endef diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/python/raptor.py --- a/sbsv2/raptor/python/raptor.py Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/python/raptor.py Mon Feb 15 15:17:20 2010 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -329,6 +329,12 @@ if build.timing == True: cli_options += " --timing" + if build.noDependInclude == True: + cli_options += " --no-depend-include" + + if build.noDependGenerate == True: + cli_options += " --no-depend-generate" + nc = len(self.children) number_blocks = build.jobs @@ -501,6 +507,7 @@ self.doExport = True self.noBuild = False self.noDependInclude = False + self.noDependGenerate = False self.projects = set() self.cache = raptor_cache.Cache(self) @@ -619,6 +626,10 @@ self.noDependInclude = TrueOrFalse return True + def SetNoDependGenerate(self, TrueOrFalse): + self.noDependGenerate = TrueOrFalse + return True + def SetKeepGoing(self, TrueOrFalse): self.keepGoing = TrueOrFalse return True diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/python/raptor_cli.py --- a/sbsv2/raptor/python/raptor_cli.py Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/python/raptor_cli.py Mon Feb 15 15:17:20 2010 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -47,7 +47,7 @@ LIBRARY Create import libraries from frozen .DEF files LISTING Create assembler listing files for source files REALLYCLEAN Same as CLEAN but also remove exported files -RESOURCE Create resource files and AIFs +RESOURCE Create resource files ROMFILE Create an IBY file to be included in a ROM TARGET Create main executables WHAT List all releaseable targets @@ -119,6 +119,9 @@ parser.add_option("--no-depend-include",action="store_true",dest="noDependInclude", help="Do not include generated dependency files. This is only useful for extremely large non-incremental builds.") + +parser.add_option("--no-depend-generate",action="store_true",dest="noDependGenerate", + help="Do not generate dependency files. This is only useful for extremely large non-incremental builds. Implies --no-depend-include.") parser.add_option("-o","--orderlayers",action="store_true",dest="sys_def_order_layers", help="Build layers in the System Definition XML file in the order listed or, if given, in the order of -l options.") @@ -274,6 +277,7 @@ 'make_engine': Raptor.SetMakeEngine, 'make_option': Raptor.AddMakeOption, 'noDependInclude': Raptor.SetNoDependInclude, + 'noDependGenerate': Raptor.SetNoDependGenerate, 'number_of_jobs': Raptor.SetJobs, 'project_name' : Raptor.AddProject, 'filter_list' : Raptor.FilterList, @@ -285,8 +289,8 @@ 'timing' : Raptor.SetTiming, 'source_target' : Raptor.AddSourceTarget, 'command_file' : CommandFile, - 'parallel_parsing' : Raptor.SetParallelParsing, - 'version' : Raptor.PrintVersion + 'parallel_parsing' : Raptor.SetParallelParsing, + 'version' : Raptor.PrintVersion } # Check if Quiet mode has been specified (otherwise we will make noise) diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/python/raptor_make.py --- a/sbsv2/raptor/python/raptor_make.py Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/python/raptor_make.py Mon Feb 15 15:17:20 2010 +0000 @@ -178,6 +178,20 @@ talon_settings, self.raptor.systemFLM.Append('globals.mk') ) + # Unless dependency processing has been eschewed via the CLI, use a .DEFAULT target to + # trap missing dependencies (ignoring user config files that we know are usually absent) + if not (self.raptor.noDependGenerate or self.raptor.noDependInclude): + self.makefile_prologue += """ + +$(FLMHOME)/user/final.mk: +$(FLMHOME)/user/default.flm: +$(FLMHOME)/user/globals.mk: + +.DEFAULT:: + @echo "Missing dependency detected: $@" + +""" + # Only output timings if requested on CLI if self.raptor.timing: self.makefile_prologue += "\n# Print Start-time of Makefile parsing\n" \ @@ -427,9 +441,13 @@ command += " " + o # Switch off dependency file including? - if self.raptor.noDependInclude: + if self.raptor.noDependInclude or self.raptor.noDependGenerate: command += " NO_DEPEND_INCLUDE=1" + # Switch off dependency file generation (and, implicitly, inclusion)? + if self.raptor.noDependGenerate: + command += " NO_DEPEND_GENERATE=1" + if self.usetalon: # use the descrambler if we set it up command += ' TALON_DESCRAMBLE=' diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/basic_dependency.py --- a/sbsv2/raptor/test/smoke_suite/basic_dependency.py Mon Feb 15 13:33:43 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -# -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# - -from raptor_tests import SmokeTest -from raptor_meta import BldInfFile - -def run(): - result = SmokeTest.PASS - - t = SmokeTest() - t.id = "0098a" - t.name = "Build a component to begin with" - t.description = "Build a simple component" - t.usebash = True - t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf" - - t.targets = [ - "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe", - "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map", - "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe", - "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map", - "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe", - "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe" - ] - t.run() - if t.result == SmokeTest.FAIL: - result = SmokeTest.FAIL - - # Ensure we don't clean up from the previous build in any subsequent runs - t = SmokeTest() - t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', []) - t.targets = [] - t.usebash = True - - t.id = "0098b" - t.name ="Touch a source file dependency and make sure thats the only one rebuilt" - t.description = "Touches one source file's dependency to check if its rebuilt" - t.command = """ - sleep 1 - touch smoke_suite/test_resources/simple/test.h - sbs -f - -b smoke_suite/test_resources/simple/bld.inf """ - # We should only recompile 1 source file, twice for armv5 and twice for winscw - t.countmatch = [ - [".*recipe name='compile'.*", 2], - [".*recipe name='win32compile2object'.*", 2] - ] - - t.run() - if t.result == SmokeTest.FAIL: - result = SmokeTest.FAIL - - # Invalidate the dependency file to make sure its not regenerated - t = SmokeTest() - # Ensure we don't clean up from the previous build in any subsequent runs - t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', []) - t.targets = [] - t.usebash = True - - t.id = "0098c" - t.name ="Invalidate the dependency file to make sure its not regenerated" - t.description = "Invalidate the dependency file to make sure its not regenerated" - fragment = BldInfFile.outputPathFragment('smoke_suite/test_resources/simple/Bld.inf') - t.command = """ - sleep 1 - touch smoke_suite/test_resources/simple/test.cpp - echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/armv5/urel/test.o.d - echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/winscw/urel/test.o.d - sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel -c winscw_urel - rm -rf $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/armv5/urel/test.o.d - rm -rf $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/winscw/urel/test.o.d""" - t.errors = 1 # We expect the build to fail since we messed up the dependency file - t.run() - if t.result == SmokeTest.FAIL: - result = SmokeTest.FAIL - - t.id = "98" - t.name = "basic_dependency" - t.result = result - t.print_result() - return t diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/dependencies.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/dependencies.py Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,194 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +from raptor_tests import AntiTargetSmokeTest +from raptor_meta import BldInfFile +import os + +def run(): + t = AntiTargetSmokeTest() + t.usebash = True + + genericTargets = [ + "$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe", + "$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe.map", + "$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe", + "$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe.map", + "$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe", + "$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe.map", + "$(EPOCROOT)/epoc32/release/winscw/udeb/dependency.exe", + "$(EPOCROOT)/epoc32/include/dependency.rsg", + "$(EPOCROOT)/epoc32/data/z/resource/apps/dependency.rsc", + "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/dependency.rsc", + "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/dependency.rsc", + "$(EPOCROOT)/epoc32/include/main.rsg", + "$(EPOCROOT)/epoc32/data/z/resource/apps/main.rsc", + "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/main.rsc", + "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/main.rsc" + ] + windowsTargets = [ + "$(EPOCROOT)/epoc32/release/tools2/rel/dependency.exe", + "$(EPOCROOT)/epoc32/tools/dependency.exe" + ] + linuxTargets = [ + "$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/dependency", + "$(EPOCROOT)/epoc32/tools/dependency" + ] + + # Set general host platform specifics from first test run, but assume Windows initially + hostPlatform = "windows" + hostPlatformTargets = genericTargets + windowsTargets + hostPlatformOffset = "" + + t.id = "0098a" + t.name = "baseline_build" + t.description = "Build a component with source and resource files that are dependent on header files exported in the build" + t.command = """ + cp smoke_suite/test_resources/dependencies/src/dependency1.cpp smoke_suite/test_resources/dependencies/dependency.cpp + cp smoke_suite/test_resources/dependencies/src/dependency1.rss smoke_suite/test_resources/dependencies/dependency.rss + sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" + t.mustnotmatch = [ + "Missing dependency detected: .*" + ] + t.targets = hostPlatformTargets + t.run(hostPlatform) + if t.result == AntiTargetSmokeTest.SKIP: + hostPlatform = "linux" + hostPlatformTargets = genericTargets + linuxTargets + hostPlatformOffset = "$(HOSTPLATFORM_DIR)/" + t.targets = hostPlatformTargets + t.run(hostPlatform) + + # Ensure we don't clean up from the previous build in the following two tests + t.targets = [] + + # Core expected outcome for the following two tests + t.mustmatch = [ + ".*recipe name='compile' target='.*dependency\.o'", + ".*recipe name='win32compile2object' target='.*dependency\.o'", + ".*recipe name='compile2object' target='.*dependency\.o'", + ".*recipe name='resourcecompile' target='.*dependency\.rsc'" + ] + t.countmatch = [ + [".*recipe name='compile'", 2], + [".*recipe name='win32compile2object'", 2], + [".*recipe name='compile2object'", 1], + [".*recipe name='resourcecompile'", 1] + ] + + + t.id = "0098b" + t.name ="touched_header_dependencies" + t.description = "Touch the exported header files and check that only the related source and resource files are re-built" + t.command = """ + sleep 1 + touch $(EPOCROOT)/epoc32/include/dependency.h + touch $(EPOCROOT)/epoc32/include/dependency.rh + sbs -f- -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" + t.run() + + + t.id = "0098c" + t.name ="redundant_header_dependencies" + t.description = """ + Build the component again, but manipulate it so that (a) it no longer has a dependency on the exported header files and + (b) the header files have been removed and (c) the header files are no longer exported. Check that only the related source + and resource files are re-built""" + t.command = """ + cp smoke_suite/test_resources/dependencies/src/dependency2.cpp smoke_suite/test_resources/dependencies/dependency.cpp + cp smoke_suite/test_resources/dependencies/src/dependency2.rss smoke_suite/test_resources/dependencies/dependency.rss + rm -rf $(EPOCROOT)/epoc32/include/dependency.h + rm -rf $(EPOCROOT)/epoc32/include/dependency.rh + sbs -f- --noexport -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" + t.mustnotmatch = [] + # Note that the resource build does not exhibit a missing dependency as its dependency files are generated in a separate stage where + # the target file isn't actually a target of that stage + t.mustmatch.extend([ + "Missing dependency detected: .*/epoc32/include/dependency.h" + ]) + t.warnings = 1 + t.run() + + + t.id = "0098d" + t.name ="invalid_dependency_files" + t.description = "Invalidate dependency files, then make sure we can clean and re-build successfully" + buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_" + t.command = """ + sleep 1 + touch smoke_suite/test_resources/dependencies/dependency.cpp + echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d + echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d + echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d + echo INVALIDATE_RESOURCE_DEPENDENCY_FILE >> """+buildLocation+"""/dependency__resource_apps_sc.rpp.d + sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel + sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel clean + sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" + t.mustmatch = [] + t.countmatch = [] + t.warnings = 0 + t.errors = 1 # We expect an error from the first build due to the deliberate dependency file corruption + t.targets = hostPlatformTargets + t.run(hostPlatform) + + + t.id = "0098e" + t.name ="no_depend_include" + t.description = "Invalidate dependency files in order to confirm they aren't processed when --no-depend-include is used" + buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_" + t.command = """ + sleep 1 + touch smoke_suite/test_resources/dependencies/dependency.cpp + echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d + echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d + echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d + sbs --no-depend-include -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" + t.errors = 0 + t.targets = hostPlatformTargets + t.run(hostPlatform) + + + t.id = "0098f" + t.name ="no_depend_generate" + t.description = "Invalidate and remove dependency files in order to confirm they are neither included nor re-generated when --no-depend-generate is used" + buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_" + t.command = """ + sleep 1 + touch smoke_suite/test_resources/dependencies/dependency.cpp + touch smoke_suite/test_resources/dependencies/main.cpp + echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d + echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d + echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d + sbs --no-depend-generate -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel""" + t.antitargets = [ + buildLocation+"/armv5/urel/main.o.d", + buildLocation+"/armv5/udeb/main.o.d", + buildLocation+"/winscw/urel/main.o.d", + buildLocation+"/winscw/udeb/main.o.d", + buildLocation+"/dependency_exe/tools2/rel/"+hostPlatformOffset+"main.o.d" + ] + t.targets = hostPlatformTargets + t.run(hostPlatform) + + # clean-up + os.remove("smoke_suite/test_resources/dependencies/dependency.cpp") + os.remove("smoke_suite/test_resources/dependencies/dependency.rss") + + t.id = "98" + t.name = "dependencies" + t.print_result() + return t + diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/make_engine_errors.py --- a/sbsv2/raptor/test/smoke_suite/make_engine_errors.py Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/test/smoke_suite/make_engine_errors.py Mon Feb 15 15:17:20 2010 +0000 @@ -31,7 +31,7 @@ t.usebash = True t.errors = 1 t.returncode = 1 - base_command = "sbs -b smoke_suite/test_resources/make_engine_errors/bld.inf -f-" + base_command = "sbs --no-depend-generate -b smoke_suite/test_resources/make_engine_errors/bld.inf -f-" t.id = "113a" t.name = "gmake_engine_errors" diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/bld.inf Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +PRJ_EXPORTS +inc/dependency.h +inc/dependency.rh + +PRJ_PLATFORMS +ARMV5 WINSCW TOOLS2 + +PRJ_MMPFILES +dependencies.mmp diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +* Test component that can build as a basic EXE for both OS and tools platforms +* +*/ + +TARGET dependency +TARGETTYPE exe +UID 0x100039ce 0x00000001 +SYSTEMINCLUDE /epoc32/include +SOURCE main.cpp +SOURCE dependency.cpp + +#ifndef TOOLS2 +SYSTEMINCLUDE /epoc32/include/techview + +START RESOURCE main.rss +HEADER +TARGETPATH /resource/apps +END + +START RESOURCE dependency.rss +HEADER +TARGETPATH /resource/apps +END + +LIBRARY euser.lib +#endif diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.h Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,18 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#define DEPENDENCY_VALUE 1 diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.rh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.rh Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,18 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#define DEPENDENCY_TEXT SomeText diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.cpp Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __TOOLS2__ +#include +TInt E32Main() +#else +int main(void) +#endif + { + return 0; + } diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.rss Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +NAME MAIN + +#include +#include +#include + +RESOURCE TBUF { buf=""; } +RESOURCE TBUF r_somestaticresource { buf="text"; } diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.cpp Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,20 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include + +int SomeVariable = DEPENDENCY_VALUE; diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.rss Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +NAME DEPE + +#include +#include +#include +#include + +RESOURCE TBUF { buf=""; } +RESOURCE TBUF r_someresource { buf="DEPENDENCY_TEXT"; } diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.cpp Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,18 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +int SomeVariable = 0; diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.rss Mon Feb 15 15:17:20 2010 +0000 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +NAME DEPE + +#include +#include +#include + +RESOURCE TBUF { buf=""; } +RESOURCE TBUF r_someresource { buf="SomeText"; } diff -r 604f2aceff59 -r b719d614d652 sbsv2/raptor/test/unit_suite/raptor_cli_unit.py --- a/sbsv2/raptor/test/unit_suite/raptor_cli_unit.py Mon Feb 15 13:33:43 2010 +0000 +++ b/sbsv2/raptor/test/unit_suite/raptor_cli_unit.py Mon Feb 15 15:17:20 2010 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -14,7 +14,7 @@ # Description: # -1# Unit Test for the Raptor_cli (command line interface) module +# Unit Test for the Raptor_cli (command line interface) module import raptor_cli import sys @@ -42,6 +42,8 @@ self.allowCommandLineOverrides = True self.ignoreOsDetection = False self.filterList = "filter_terminal,filter_logfile" + self.noDependInclude = False + self.noDependGenerate = False def AddConfigName(self,configname): self.listconfig.append(configname) @@ -128,6 +130,11 @@ return True def SetNoDependInclude(self, yesOrNo): + self.noDependInclude = yesOrNo + return True + + def SetNoDependGenerate(self, yesOrNo): + self.noDependGenerate = yesOrNo return True def SetJobs(self, N): @@ -187,7 +194,9 @@ '--export-only', '--source-target', 'some_source_file.cpp', '--source-target', 'some_resource_file.rss', - '--pp', 'on'] + '--pp', 'on', + '--no-depend-include', + '--no-depend-generate'] raptor_cli.GetArgs(self,args) self.assertEqual(self.RunningQuiet,False) @@ -206,6 +215,8 @@ self.assertEqual(self.targets[0], 'some_source_file.cpp') self.assertEqual(self.targets[1], 'some_resource_file.rss') self.assertEqual(self.pp, 'on') + self.assertEqual(self.noDependInclude, True) + self.assertEqual(self.noDependGenerate, True) # run all the tests