# HG changeset patch # User William Roberts # Date 1279035662 -3600 # Node ID f3b4a10db92c90b3333ce055206875981b1923eb # Parent d706e2bc01db8fe8bc508fe0263008ac641b0425# Parent 198b9127f0f0e3675c71e04a32c6a0c108f30034 Re-merge fixes for bug 476, bug 1895, bug 2049, bug 2149, bug 2509, bug 2539 and bug 2531. diff -r d706e2bc01db -r f3b4a10db92c imgtools_os/romkiteka2/include/featuredatabase.xml --- a/imgtools_os/romkiteka2/include/featuredatabase.xml Wed Jun 23 19:29:20 2010 +0300 +++ b/imgtools_os/romkiteka2/include/featuredatabase.xml Tue Jul 13 16:41:02 2010 +0100 @@ -46,19 +46,19 @@ - + - + - + - + - + @@ -76,32 +76,29 @@ - + - + - + - + - - - - + - + @@ -110,7 +107,7 @@ - + @@ -125,16 +122,16 @@ - + - + - + - + @@ -147,6 +144,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/binutils/make.exe Binary file sbsv1_os/e32toolp/binutils/make.exe has changed diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/binutils/scpp.exe Binary file sbsv1_os/e32toolp/binutils/scpp.exe has changed diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/genutil/conv_khronos_openvg_hdr_to_cpp.pl --- a/sbsv1_os/e32toolp/genutil/conv_khronos_openvg_hdr_to_cpp.pl Wed Jun 23 19:29:20 2010 +0300 +++ b/sbsv1_os/e32toolp/genutil/conv_khronos_openvg_hdr_to_cpp.pl Tue Jul 13 16:41:02 2010 +0100 @@ -62,11 +62,12 @@ { @lines = ; my $s = ""; - foreach (@lines) { + foreach my $line (@lines) { # Find function prototype lines - if (/^VG[U]?_API_CALL/ || length($s) != 0) { - $s = $s.$_; - if (/;/) { + if ($line =~ /^VG[U]?_API_CALL/ || length($s) != 0) { + $line =~ s/^VG[U]?_API_CALL/EXPORT_C/; + $s = $s.$line; + if ($line =~ /;/) { # Convert the function prototype into a stub function definition $s =~ s/\;$/ { }/; # Record the stub functions. There will be a stub implementation diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/genutil/listzip.pl --- a/sbsv1_os/e32toolp/genutil/listzip.pl Wed Jun 23 19:29:20 2010 +0300 +++ b/sbsv1_os/e32toolp/genutil/listzip.pl Tue Jul 13 16:41:02 2010 +0100 @@ -32,6 +32,9 @@ _print_err_and_die("$prefix is not a directory.") unless -d $prefix; _print_err_and_die("$zipf doesn't exist.") unless -f $zipf; + $prefix =~ s/\/\//\//g; # SBS provides "Q://", so reduce the doubling + $prefix =~ s/\/$//; # remove trailing /, if any + my @raw_data = qx/unzip -l $zipf/; for (@raw_data) diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/group/bld.inf --- a/sbsv1_os/e32toolp/group/bld.inf Wed Jun 23 19:29:20 2010 +0300 +++ b/sbsv1_os/e32toolp/group/bld.inf Tue Jul 13 16:41:02 2010 +0100 @@ -47,8 +47,6 @@ ../../../toolsandutils/buildsystem/extension/application-protocols/buildstubsis.mk /epoc32/tools/makefile_templates/application-protocols/buildstubsis.mk ../../../toolsandutils/buildsystem/extension/base/bootstrap.meta /epoc32/tools/makefile_templates/base/bootstrap.meta ../../../toolsandutils/buildsystem/extension/base/bootstrap.mk /epoc32/tools/makefile_templates/base/bootstrap.mk -../../../toolsandutils/buildsystem/extension/base/bootstrap.flm /epoc32/tools/makefile_templates/base/bootstrap.flm -../../../toolsandutils/buildsystem/extension/base/bootstrap.xml /epoc32/tools/makefile_templates/base/bootstrap.xml ../../../toolsandutils/buildsystem/extension/base/config.meta /epoc32/tools/makefile_templates/base/config.meta ../../../toolsandutils/buildsystem/extension/base/config.mk /epoc32/tools/makefile_templates/base/config.mk ../../../toolsandutils/buildsystem/extension/base/copy_default.meta /epoc32/tools/makefile_templates/base/copy_default.meta diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/group/setupprj.bat --- a/sbsv1_os/e32toolp/group/setupprj.bat Wed Jun 23 19:29:20 2010 +0300 +++ b/sbsv1_os/e32toolp/group/setupprj.bat Tue Jul 13 16:41:02 2010 +0100 @@ -117,18 +117,21 @@ closedir CONFIGDIR; -opendir SUBDIR, "..\\Docs" or die "ERROR: Can't open dir \"..\\Docs\"\n"; -my @Docs = map lc $_, readdir SUBDIR; -@Docs = grep /^[^\.].+\.(rtf|doc|changes|txt|html|htm)$/o, @Docs; +my @Docs; +if (-d "..\\Docs") { + opendir SUBDIR, "..\\Docs" or die "ERROR: Can't open dir \"..\\Docs\"\n"; + @Docs = map lc $_, readdir SUBDIR; + @Docs = grep /^[^\.].+\.(rtf|doc|changes|txt|html|htm)$/o, @Docs; + closedir SUBDIR; +} -closedir SUBDIR; open TEMPLATEFILESUBDIR, "\"dir \/s \/b \/a-d ..\\..\\..\\toolsandutils\\buildsystem\\extension\" |"; my @TemplateFiles=(); my %TemplateDirs; while () { - next if ($_ !~ /\.(mk|meta)$/i); + next if ($_ !~ /\.(mk|meta|flm|xml)$/i); $_ =~ s/^.*\\buildsystem\\extension\\//i; chomp $_; push @TemplateFiles, $_; @@ -241,6 +244,16 @@ ); } +if (scalar @Docs) { + &Output( + "$DocsPath :\n", + "\t\@perl -w ..\\genutil\\emkdir.pl $DocsPath\n", + "\n" + ); +} else { + $DocsPath = ""; # suppresses $DocsPath as a dependency in the main rules +} + &Output( "$ShellFilePath :\n", "\t\@perl -w ..\\genutil\\emkdir.pl $ShellFilePath\n", @@ -248,9 +261,6 @@ "$EPOCToolsConfigFilePath :\n", "\t\@perl -w ..\\genutil\\emkdir.pl $EPOCToolsConfigFilePath\n", "\n", - "$DocsPath :\n", - "\t\@perl -w ..\\genutil\\emkdir.pl $DocsPath\n", - "\n", "\n", "deb : $EPOCToolsPath $EPOCToolsConfigFilePath $DocsPath $TemplateFilePath $ShellFilePath " ); diff -r d706e2bc01db -r f3b4a10db92c sbsv1_os/e32toolp/makmake/makmake.pl --- a/sbsv1_os/e32toolp/makmake/makmake.pl Wed Jun 23 19:29:20 2010 +0300 +++ b/sbsv1_os/e32toolp/makmake/makmake.pl Tue Jul 13 16:41:02 2010 +0100 @@ -457,7 +457,7 @@ @reusedHash = featurevariantmap->CheckOldVmapFile($vmap, \%FeatureVariantInfo); } } - if(defined(@reusedHash)) + if(@reusedHash) { $FeatureVariantInfo{$bld."_LABEL"} = $reusedHash[0]; $FeatureVariantInfo{$bld."_FEATURES"} = $reusedHash[1]; @@ -558,7 +558,7 @@ $variant_info = &Path_Chop($E32env::Data{BldPath}).$Path{BldInfPath}."\\FeatureVariantInfo\\".$Plat{Real}."\\".$Plat{Real}.".".$FeatureVariantInfo{NAME}.".info" if ! -e $MMPFILE; # modified by SV end: makefile improvement my $variant_key = "VARIANT_PLAT_NAME_".&Path_Split('Base', $MMPFILE); - $variant_info_new = $variant_info.".tmp"; + my $variant_info_new = $variant_info.".tmp"; open VARIANTINFOR_NEW, ">$variant_info_new" or die "ERROR: Can't open or create file \"$variant_info_new\"\n"; # Open the variant infor file diff -r d706e2bc01db -r f3b4a10db92c toolsandutils/buildsystem/extension/base/bootstrap.flm --- a/toolsandutils/buildsystem/extension/base/bootstrap.flm Wed Jun 23 19:29:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ -# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# - -ifeq ($($(NAME)_$(PLATFORM_PATH)_bootstrap_flm),) -$(NAME)_$(PLATFORM_PATH)_bootstrap_flm := 1 - -E32PATH := $(EXTENSION_ROOT)/$(E32PATH) -SOURCES := $(foreach S,$(SOURCES),$(addprefix $(EXTENSION_ROOT)/,$(S))) -INCLUDES2:=$(addprefix $(EXTENSION_ROOT)/,$(INCLUDES)) -EXTRA_INC_PATH := $(foreach S,$(EXTRA_INC_PATH),$(addprefix $(EXTENSION_ROOT)/,$(S))) -GENINCLUDES_HEADERS := $(foreach H,$(GENINCLUDES_HEADERS),$(addprefix $(EXTENSION_ROOT)/,$(H))) - -ifndef LINKBASE -LINKBASE := 0x00000000 -endif - -UNIQ:=$(E32PATH)$(PLATFORM_PATH)$(NAME)$(MEMMODEL)$(SOURCES)$(ASM_MACROS) -UNIQ:=$(word 1,$(shell echo $(UNIQ) | $(GNUMD5SUM))) - -# Make the output build directory name unique, starting with NAME of the binary being built -EPOCBLDABS := $(EPOCBLD)/$(NAME)_$(UNIQ) - -EPOCINC := $(EPOCROOT)/epoc32/include -EPOCKERNINC := $(EPOCINC)/kernel -EPOCCPUINC := $(EPOCKERNINC)/$(CPU) -EPOCTRG := $(EPOCROOT)/epoc32/release/$(PLATFORM_PATH) -TRG := $(EPOCTRG)/$(NAME).bin -TEMPTRG := $(EPOCBLDABS)/$(NAME).bin -ASMINCPATH := -ASM_MACROS := -CLEANTARGETS := - -CLEANTARGETS := $(CLEANTARGETS) $(TRG) $(TEMPTRG) $(join $(basename $(TRG)),.sym) - -ifneq ($(EXTRA_INC_PATH),) -ASMINCPATH := $(EXTRA_INC_PATH) -endif - -ASMINCPATH := . $(EPOCBLDABS) $(ASMINCPATH) $(EXTENSION_ROOT) $(EPOCCPUINC) $(EXTRA_EPOC32_INC_PATH) $(E32PATH)/eka/include/kernel/$(CPU) - -ifeq ($(MEMMODEL),) -$(error MEMMODEL parameter not specified) -endif - -# Convert MEMMODEL parameter to lower case -MEMMODEL := $(shell echo $(MEMMODEL) | tr A-Z a-z) - -ifeq ($(MEMMODEL),direct) -CFG_MM := CFG_MMDirect -HEADERS_MM := -endif -ifeq ($(MEMMODEL),flexible) -CFG_MM := CFG_MMFlexible -HEADERS_MM := $(E32PATH)/eka/include/memmodel/epoc/flexible/$(CPU)/mmboot.h -endif -ifeq ($(MEMMODEL),moving) -CFG_MM := CFG_MMMoving -HEADERS_MM := $(E32PATH)/eka/include/memmodel/epoc/moving/$(CPU)/mmboot.h -endif -ifeq ($(MEMMODEL),multiple) -CFG_MM := CFG_MMMultiple -HEADERS_MM := $(E32PATH)/eka/include/memmodel/epoc/multiple/$(CPU)/mmboot.h -endif -ifndef CFG_MM -$(error '$(MEMMODEL)' memory model unknown) -endif - -ASM_MACROS := $(ASM_MACROS) $(CFG_MM) -ifneq ($(SMP),) -ASM_MACROS := $(ASM_MACROS) SMP -endif - -ASMINCPATHCMD := $(foreach dir,$(ASMINCPATH),$(join -I ,$(dir))) -ASM_MACROS := $(ASM_MACROS) USE_CXSF - -INCEXT := inc -ASM_MACRO_CMD := $(foreach macro,$(ASM_MACROS),--predefine "$(macro) SETL {TRUE}") -AFLAGS := -g --keep $(ASM_MACRO_CMD) $(ASMINCPATHCMD) -LFLAGS := --ro-base $(LINKBASE) --entry $(LINKBASE) --map -SYMOPT := --symdefs - -define bootstrap_asm -$(1) : $(2) : $(3) - $(call startrule,bootstrap_rvct_asm) \ - $(ASM) $(AFLAGS) -o $$@ --LIST $$(join $$(basename $$@),.lst) $$< \ - $(call endrule,bootstrap_rvct_asm) -endef - -define bootstrap_link -$(EPOCBLDABS)/$(NAME).in : $(LINKOBJECTS) $(LINKFILE) | $(EPOCBLDABS) - $(call startrule,bootstrap_rvct_link) \ - $(LD) $(LFLAGS) $(SYMOPT) $$(join $$(basename $$@),.sym) -o $$@ $$(filter %.o,$$^); \ - $(GNUCP) $$@ $$(join $$(basename $(TRG)),.sym) \ - $(call endrule,bootstrap_rvct_link) -endef - -define bootstrap_strip -$(TRG) : $(EPOCBLDABS)/$(NAME).in - $(call startrule,bootstrap_strip) \ - $(FROMELF) --bin --output $$@ $$< \ - $(call endrule,bootstrap_rvct_strip) -endef - -define bootstrap_h2inc -# How to translate the .h files to .inc -$(1) : $(2) - $(call startrule,bootstrap_h2inc) \ - $(PERL) $(EPOCROOT)/epoc32/tools/h2inc.pl $$< $$@ ARMASM \ - $(call endrule, bootsrap_h2inc) -endef - -# Joins two lists with a 1:1 mapping, separated by a -> -# $(call bootstrap_joinlists,a b c,d e f) returns a->d b->e c->f -define bootstrap_joinlists -$(join $(1),$(addprefix ->,$(2))) -endef - -# Path for generic source files -BASESRCPATH := $(E32PATH)/eka/kernel/$(CPU) - -# Generic source files -BASESOURCES := $(foreach S,$(BASESOURCES_NAMES),$(addprefix $(BASESRCPATH)/,$(S))) - -HEADERS:= $(E32PATH)/eka/include/kernel/kernboot.h $(E32PATH)/eka/include/kernel/arm/bootdefs.h $(E32PATH)/eka/include/e32rom.h $(GENINCLUDES_HEADERS) $(HEADERS_MM) - -# Generated include files -BOOTSTRAP_GENINCLUDES := $(foreach f,$(HEADERS),$(basename $(notdir $(f))).$(INCEXT)) - -# Non-generated generic include files -ifeq ($(BASEINCLUDES),) -BASEINCLUDES := $(E32PATH)/eka/include/kernel/$(CPU)/bootcpu.inc $(E32PATH)/eka/include/kernel/$(CPU)/bootmacro.inc -endif -INCLUDES2 := $(foreach f,$(INCLUDES2),$(basename $(f)).$(INCEXT)) - -# Generic object files -FULLBASEOBJECTS := $(foreach src, $(BASESOURCES_NAMES), $(addprefix $(EPOCBLDABS)/,$(basename $(src)).o)) - -# Platform specific object files -FULLOBJECTS := $(foreach src, $(SOURCES), $(addprefix $(EPOCBLDABS)/,$(basename $(notdir $(src))).o)) - -LINKOBJECTS := $(FULLBASEOBJECTS) $(FULLOBJECTS) - -# Generated include files with paths -FULLGENINCLUDES := $(addprefix $(EPOCBLDABS)/,$(BOOTSTRAP_GENINCLUDES)) - -CLEANTARGETS := $(CLEANTARGETS) $(FULLBASEOBJECTS) $(FULLOBJECTS) $(LINKOBJECTS) $(FULLGENINCLUDES) - -CLEANTARGETS := $(CLEANTARGETS) $(EPOCBLDABS)/$(NAME).in $(join $(basename $(EPOCBLDABS)/$(NAME).in),.sym) - -JOINED_INC := $(call bootstrap_joinlists,$(FULLGENINCLUDES),$(HEADERS)) -$(foreach J,$(JOINED_INC),$(eval $(call bootstrap_h2inc,$(word 1,$(subst ->, ,$(J))),$(word 2,$(subst ->, ,$(J))) | $(EPOCBLDABS)))) - -# How to strip linked object to binary -$(eval $(call bootstrap_strip,$(TRG),$(EPOCBLDABS)/$(NAME).in)) - -LISTFILE := $(foreach f,$(FULLBASEOBJECTS),$(join $(basename $(f)),.lst)) $(foreach f,$(FULLOBJECTS),$(join $(basename $(f)),.lst)) -CLEANTARGETS := $(CLEANTARGETS) $(LISTFILE) - -JOINED_BASEOBJECTS := $(call bootstrap_joinlists,$(FULLBASEOBJECTS),$(BASESOURCES)) - -$(foreach J,$(JOINED_BASEOBJECTS),$(eval $(call bootstrap_asm,$(word 1,$(subst ->, ,$(J))),$(EPOCBLDABS)/%.o,$(word 2,$(subst ->, ,$(J))) $(BASEINCLUDES) $(FULLGENINCLUDES) $(INCLUDES2) | $(EPOCBLDABS)))) - -JOINED_OBJECTS := $(call bootstrap_joinlists,$(FULLOBJECTS),$(SOURCES)) - -$(foreach J,$(JOINED_OBJECTS),$(eval $(call bootstrap_asm,$(word 1,$(subst ->, ,$(J))),$(EPOCBLDABS)/%.o,$(word 2,$(subst ->, ,$(J))) $(BASEINCLUDES) $(FULLGENINCLUDES) $(INCLUDES2) |$(EPOCBLDABS)))) - -# How to link the object files -$(eval $(bootstrap_link)) - -# Hook into global targets -TARGET :: $(TRG) - -############################################# - -# --what to show releasables -$(eval $(call whatmacro,$(TRG),USERFLM)) -# create directory -CREATABLEPATHS := $(EPOCBLDABS) $(EPOCTRG) -$(call makepath,$(CREATABLEPATHS)) -# clean up -$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(BUILDLOC))) - -endif diff -r d706e2bc01db -r f3b4a10db92c toolsandutils/buildsystem/extension/base/bootstrap.mk --- a/toolsandutils/buildsystem/extension/base/bootstrap.mk Wed Jun 23 19:29:20 2010 +0300 +++ b/toolsandutils/buildsystem/extension/base/bootstrap.mk Tue Jul 13 16:41:02 2010 +0100 @@ -77,13 +77,15 @@ ifeq "$(CPU)" "arm" ASMINCPATH := . $(EPOCBLDABS) $(ASMINCPATH) $(EXTENSION_ROOT) $(EPOCCPUINC) ARMASM_OUT := $(shell armasm 2>&1) -ARMASM_OUT_4 := $(word 4,$(ARMASM_OUT)) +ARMASM_OUT_RVCT := $(wordlist 1,6,$(ARMASM_OUT)) ARMASM_OUT_6 := $(word 6,$(ARMASM_OUT)) # Use GCC toolchain if no other is available TOOLVER := GCC -RVCTSTR := $(strip $(findstring RVCT, $(ARMASM_OUT_4))) +# ARM/Thumb Macro Assembler, RVCT2.2 [Build 616] +# ARM Assembler, RVCT4.0 [Build 529] +RVCTSTR := $(strip $(findstring RVCT, $(ARMASM_OUT_RVCT))) ifeq "$(RVCTSTR)" "RVCT" TOOLVER := RVCT OP := -- diff -r d706e2bc01db -r f3b4a10db92c toolsandutils/buildsystem/extension/base/bootstrap.xml --- a/toolsandutils/buildsystem/extension/base/bootstrap.xml Wed Jun 23 19:29:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff -r d706e2bc01db -r f3b4a10db92c toolsandutils/buildsystem/extension/tools/compsupp.mk --- a/toolsandutils/buildsystem/extension/tools/compsupp.mk Wed Jun 23 19:29:20 2010 +0300 +++ b/toolsandutils/buildsystem/extension/tools/compsupp.mk Tue Jul 13 16:41:02 2010 +0100 @@ -37,7 +37,7 @@ SAVESPACE : do_nothing RELEASABLES : - @perl -S $(EPOCROOT)epoc32/tools/listzip.pl $(EPOCROOT)epoc32/release $(FILE) + @perl -S $(EPOCROOT)epoc32/tools/listzip.pl $(TODIR) $(FILE) CLEAN : do_nothing