diff options
Diffstat (limited to 'config.profiles/symbian')
-rw-r--r-- | config.profiles/symbian/bld.inf | 3 | ||||
-rw-r--r-- | config.profiles/symbian/environment.prf | 5 | ||||
-rw-r--r-- | config.profiles/symbian/headerexport | 131 | ||||
-rw-r--r-- | config.profiles/symbian/qt.conf | 8 | ||||
-rw-r--r-- | config.profiles/symbian/qtconfig.flm | 21 |
5 files changed, 118 insertions, 50 deletions
diff --git a/config.profiles/symbian/bld.inf b/config.profiles/symbian/bld.inf index 91b90c2..21b3614 100644 --- a/config.profiles/symbian/bld.inf +++ b/config.profiles/symbian/bld.inf @@ -19,6 +19,7 @@ qtconfig.flm /epoc32/tools/makefile_templates/qt/qtconfig.flm ../../mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm /epoc32/tools/makefile_templates/qt/ ../../mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm /epoc32/tools/makefile_templates/qt/ ../../mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm /epoc32/tools/makefile_templates/qt/ +../../mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm /epoc32/tools/makefile_templates/qt/ ../../mkspecs/symbian-sbsv2/flm/qt/qt.xml /epoc32/tools/makefile_templates/qt/ qt.conf /epoc32/tools/qt.conf @@ -80,5 +81,5 @@ translations/qt_zh_tw_symbian.ts /epoc32/include/platform/qt/translations/qt_zh_ PRJ_EXTENSIONS START EXTENSION qt/qtconfig OPTION QT_ROOT .. -OPTION OPTIONS -opensource -confirm-license -openvg -opengl-es-2 -script -no-scripttools -no-webkit -make make -graphicssystem openvg -phonon -phonon-backend -no-usedeffiles -dont-process -nomake examples -nomake demos -nomake tools -audio-backend -fpu softvfp+vfpv2 +OPTION OPTIONS -opensource -confirm-license -openvg -opengl-es-2 -script -no-scripttools -no-webkit -make make -graphicssystem openvg -phonon -phonon-backend -usedeffiles -dont-process -nomake examples -nomake demos -nomake tools -audio-backend -fpu softvfp+vfpv2 END
\ No newline at end of file diff --git a/config.profiles/symbian/environment.prf b/config.profiles/symbian/environment.prf index 09ba90d..b9ab91e 100644 --- a/config.profiles/symbian/environment.prf +++ b/config.profiles/symbian/environment.prf @@ -4,6 +4,5 @@ CONFIG *= symbian_no_export_sqlite # STL autodetection in clean builds not working, specify it explicitly CONFIG *= stl - -S60_VERSION = 5.2 -SYMBIAN_VERSION = Symbian3
\ No newline at end of file +S60_VERSION = 5.4 +SYMBIAN_VERSION = 5.4 diff --git a/config.profiles/symbian/headerexport b/config.profiles/symbian/headerexport index e59979c..d252b26 100644 --- a/config.profiles/symbian/headerexport +++ b/config.profiles/symbian/headerexport @@ -60,6 +60,8 @@ my %moduleheaders = ( # restrict the module headers to those found in relative p #$modules{"QtCore"} .= ";$basedir/mkspecs/" . $ENV{"MKSPEC"} if defined $ENV{"MKSPEC"}; # global variables (modified by options) +my $what = 0; +my @whatArray; my $force_win = 0; my $check_includes = 0; my $create_uic_class_map = 1; @@ -81,6 +83,7 @@ sub showUsage print "$0 usage:\n"; print " -windows Force platform to Windows (default: " . ($force_win ? "yes" : "no") . ")\n"; print " -outdir <PATH> Specify output directory for sync (default: $out_basedir)\n"; + print " -what Output what files would be synced (default: " . ($what ? "yes" : "no") . ")\n"; print " -help This help\n"; exit 0; } @@ -307,6 +310,12 @@ sub syncHeader { my ($header, $iheader, $copy) = @_; $iheader =~ s=\\=/=g; $header =~ s=\\=/=g; + + if ($what) { + push(@whatArray, $header); + return 1; + } + return copyFile($iheader, $header) if($copy); unless(-e $header) { @@ -504,7 +513,7 @@ while ( @ARGV ) { $var = "output"; $val = shift @ARGV; } elsif($arg eq "-showonly" || $arg eq "-remove-stale" || $arg eq "-windows" || - $arg eq "-relative" || $arg eq "-check-includes") { + $arg eq "-relative" || $arg eq "-check-includes" || $arg eq "-what") { $var = substr($arg, 1); $val = "yes"; } elsif($arg =~ /^-no-(.*)$/) { @@ -524,6 +533,12 @@ while ( @ARGV ) { if(!$var || $var eq "show_help") { print "Unknown option: $arg\n\n" if(!$var); showUsage(); + } elsif ($var eq "what") { + if ($val eq "yes") { + $what++; + } elsif ($what) { + $what--; + } } elsif ($var eq "check-includes") { if($val eq "yes") { $check_includes++; @@ -553,9 +568,11 @@ while ( @ARGV ) { $isunix = checkUnix; #cache checkUnix -# create path -mkpath "$out_basedir/include"; -mkpath "$out_basedir/mw/Qt"; +if (!$what) { + # create path + mkpath "$out_basedir/include"; + mkpath "$out_basedir/mw/Qt"; +} my @ignore_headers = (); my $class_lib_map_contents = ""; @@ -699,25 +716,29 @@ foreach my $lib (@modules_to_sync) { # write forwarding headers to include/Qt if ($lib ne "phonon" && $subdir =~ /^$basedir\/src/) { my $file_name = "$out_basedir/mw/Qt/$header"; - my $file_op = '>'; - my $header_content = ''; - if (exists $colliding_headers{$file_name}) { - $file_op = '>>'; + if ($what) { + push(@whatArray, $file_name); } else { - $colliding_headers{$file_name} = 1; - my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.'; - $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" . - " #if defined(__GNUC__)\n" . - " #warning \"$warning_msg\"\n" . - " #elif defined(_MSC_VER)\n" . - " #pragma message(\"WARNING: $warning_msg\")\n" . - " #endif\n". - "#endif\n\n"; + my $file_op = '>'; + my $header_content = ''; + if (exists $colliding_headers{$file_name}) { + $file_op = '>>'; + } else { + $colliding_headers{$file_name} = 1; + my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.'; + $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" . + " #if defined(__GNUC__)\n" . + " #warning \"$warning_msg\"\n" . + " #elif defined(_MSC_VER)\n" . + " #pragma message(\"WARNING: $warning_msg\")\n" . + " #endif\n". + "#endif\n\n"; + } + $header_content .= '#include "' . "../$lib/$header" . "\"\n"; + open HEADERFILE, $file_op, $file_name or die "unable to open '$file_name' : $!\n"; + print HEADERFILE $header_content; + close HEADERFILE; } - $header_content .= '#include "' . "../$lib/$header" . "\"\n"; - open HEADERFILE, $file_op, $file_name or die "unable to open '$file_name' : $!\n"; - print HEADERFILE $header_content; - close HEADERFILE; } foreach my $full_class (@classes) { @@ -768,7 +789,7 @@ foreach my $lib (@modules_to_sync) { my $pri_install_iheader = fixPaths($iheader, $current_dir); $pri_install_pfiles.= "$pri_install_iheader ";; } - print "header created for $iheader ($header_copies)\n" if($header_copies > 0); + print "header created for $iheader ($header_copies)\n" if($header_copies > 0 && !$what); } } } @@ -791,15 +812,19 @@ foreach my $lib (@modules_to_sync) { my $oldmaster = <MASTERINCLUDE>; close MASTERINCLUDE; $oldmaster =~ s/\r//g; # remove \r's , so comparison is ok on all platforms - $master_include = 0 if($oldmaster eq $master_contents); + $master_include = 0 if($oldmaster eq $master_contents && !$what); } if($master_include && $master_contents) { - my $master_dir = dirname($master_include); - mkpath $master_dir; - print "header (master) created for $lib\n"; - open MASTERINCLUDE, ">$master_include"; - print MASTERINCLUDE $master_contents; - close MASTERINCLUDE; + if ($what) { + push(@whatArray, $master_include); + } else { + my $master_dir = dirname($master_include); + mkpath $master_dir; + print "header (master) created for $lib\n"; + open MASTERINCLUDE, ">$master_include"; + print MASTERINCLUDE $master_contents; + close MASTERINCLUDE; + } } } @@ -816,15 +841,19 @@ foreach my $lib (@modules_to_sync) { my $old_headers_pri_contents = <HEADERS_PRI_FILE>; close HEADERS_PRI_FILE; $old_headers_pri_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms - $headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents); + $headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents && !$what); } if($headers_pri_file && $master_contents) { - my $headers_pri_dir = dirname($headers_pri_file); - mkpath $headers_pri_dir; - print "headers.pri file created for $lib\n"; - open HEADERS_PRI_FILE, ">$headers_pri_file"; - print HEADERS_PRI_FILE $headers_pri_contents; - close HEADERS_PRI_FILE; + if ($what) { + push(@whatArray, $headers_pri_file); + } else { + my $headers_pri_dir = dirname($headers_pri_file); + mkpath $headers_pri_dir; + print "headers.pri file created for $lib\n"; + open HEADERS_PRI_FILE, ">$headers_pri_file"; + print HEADERS_PRI_FILE $headers_pri_contents; + close HEADERS_PRI_FILE; + } } } unless(!$create_uic_class_map) { @@ -836,14 +865,18 @@ unless(!$create_uic_class_map) { my $old_class_lib_map_contents = <CLASS_LIB_MAP>; close CLASS_LIB_MAP; $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms - $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents); + $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents && !$what); } if($class_lib_map) { - my $class_lib_map_dir = dirname($class_lib_map); - mkpath $class_lib_map_dir; - open CLASS_LIB_MAP, ">$class_lib_map"; - print CLASS_LIB_MAP $class_lib_map_contents; - close CLASS_LIB_MAP; + if ($what) { + push(@whatArray, $class_lib_map); + } else { + my $class_lib_map_dir = dirname($class_lib_map); + mkpath $class_lib_map_dir; + open CLASS_LIB_MAP, ">$class_lib_map"; + print CLASS_LIB_MAP $class_lib_map_contents; + close CLASS_LIB_MAP; + } } } @@ -974,4 +1007,18 @@ if($check_includes) { } } +if ($what) { + # Print contents of the what-array, removing duplicates + my @sortedWhat = sort(@whatArray); + my $whatItem; + my $previousWhatItem = ""; + foreach $whatItem (@sortedWhat) { + if ($previousWhatItem ne $whatItem) { + $previousWhatItem = $whatItem; + $whatItem =~ s=//=/=g; + print "$whatItem\n" ; + } + } +} + exit 0; diff --git a/config.profiles/symbian/qt.conf b/config.profiles/symbian/qt.conf index 29dfa88..072fd7b 100644 --- a/config.profiles/symbian/qt.conf +++ b/config.profiles/symbian/qt.conf @@ -1,6 +1,6 @@ [Paths] -Data = $(EPOCROOT)epoc32/tools/qt -Headers = $(EPOCROOT)epoc32/include/mw -Binaries = $(EPOCROOT)epoc32/tools -Prefix = $(EPOCROOT)sf/mw/qt +Data = $${EPOCROOT}epoc32/tools/qt +Headers = $${EPOCROOT}epoc32/include/mw +Binaries = $${EPOCROOT}epoc32/tools +Prefix = $${EPOCROOT}sf/mw/qt diff --git a/config.profiles/symbian/qtconfig.flm b/config.profiles/symbian/qtconfig.flm index 93410f0..94f732a 100644 --- a/config.profiles/symbian/qtconfig.flm +++ b/config.profiles/symbian/qtconfig.flm @@ -65,6 +65,27 @@ $(SOURCEDIR)/qmake$(DOTEXE): $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP) $(call startrule,mkspecexport) \ $(GNUCP) -R $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs $(MKSPECDIR) $(call endrule,mkspecexport) + +FINAL WHAT:: $(SOURCEDIR)/qmake$(DOTEXE) + $(call startrawoutput) \ + echo "$(call whatLogOpen)"; \ + cd $(EXTENSION_ROOT)/$(QT_ROOT)/config.profiles/symbian && \ + perl headerexport -base-dir $(EXTENSION_ROOT)/$(QT_ROOT) -outdir $(EPOCROOT)/epoc32/include/ -what | \ + (read -r LINE; \ + while [ $$$$? -eq 0 ]; do \ + echo "$(call whatLogItem,,$$$$LINE)"; \ + read -r LINE; \ + done; \ + ); \ + $(GNUFIND) $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs -type f | \ + (read -r LINE; \ + while [ $$$$? -eq 0 ]; do \ + echo "$(call whatLogItem,,$$$$LINE)" | $(GNUSED) 's#$(EXTENSION_ROOT)/$(QT_ROOT)#$(MKSPECDIR)#'; \ + read -r LINE; \ + done; \ + ); \ + echo "$(call whatLogClose)"; \ + $(call endrawoutput) endef # Here a variable named "done_<sanitised $SISFILE>" gets created |