diff -r 9435b9008a58 -r a4eca1f021ac imgtools/buildrom/tools/buildrom.pm --- a/imgtools/buildrom/tools/buildrom.pm Mon Aug 30 15:04:06 2010 +0800 +++ b/imgtools/buildrom/tools/buildrom.pm Thu Sep 09 19:09:10 2010 +0800 @@ -66,8 +66,8 @@ my $enforceFeatureManager = 0; # Flag to make Feature Manager mandatory if SYMBIAN_FEATURE_MANAGER macro is defined. my $BuildromMajorVersion = 3 ; -my $BuildromMinorVersion = 27; -my $BuildromPatchVersion = 2; +my $BuildromMinorVersion = 28; +my $BuildromPatchVersion = 0; sub print_usage @@ -158,6 +158,7 @@ -prependepocroot -- if there is no EPOCROOT## before /epoc32/, prepend EPOCROOT## to epoc32. -stdcpp -- ignore symbian customized cpp and try to find another cpp in the PATH.(for Windows only) -cpp=xxx -- specify a CPP preprocessor used by Buildrom. + -xiponly -- just create the XIP ROM image without creating the ROFS image. Popular -D defines to use include @@ -352,6 +353,7 @@ my $obycharset; my $cppoption = 0; my $preprocessor = "cpp"; +my $opt_xiponly = 0; sub match_obyfile { @@ -1232,6 +1234,11 @@ $lowMem = $arg; next; } + if( $arg =~ /^-xiponly$/i) + { + $opt_xiponly = 1; + next; + } if ($arg =~ /^-/) { print "Unknown arg: $arg\n"; @@ -3184,7 +3191,12 @@ foreach $line (@obydata) { track_source($line); - if ($line =~ /^\s*REM/i || $line =~ /^\s*TIME\s*=\s*/i) + if (($opt_xiponly == 1) && ($line =~ /^\s*REM\s*ROM_IMAGE\[\s*[^0]\s*\]/i)) + { + print "Skip all the content for ROFS image\n" if($opt_v); + last; + } + elsif ($line =~ /^\s*REM/i || $line =~ /^\s*TIME\s*=\s*/i) { # ignore REM statements, to avoid processing "REM data=xxx yyy" } @@ -4402,7 +4414,7 @@ $rombuild .= " -symbols" unless($nosymbols) ; run_rombuilder($rombuild.$compress, $obeyfile, $thisdir."ROMBUILD.LOG"); } - else + elsif($opt_xiponly == 0) { # efficient_rom_paging.pm can move everything to core rom. # If that is the case, don't run rofsbuild at all to avoid errors.