Merge remote-tracking branch 'origin/stable' into dev

Conflicts:
	src/plugins/platforms/cocoa/qcocoamenubar.mm

Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
This commit is contained in:
Frederik Gladhorn 2013-06-12 19:17:07 +02:00
commit e2776b44a0
156 changed files with 1303 additions and 558 deletions

View File

@ -14,8 +14,8 @@ TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas
Agreement version 2.4 Agreement version 2.4
This Technology Preview License Agreement ("Agreement")is a legal agreement This Technology Preview License Agreement ("Agreement")is a legal agreement
between Digia USA, Inc. ("Digia"), with its registered office at 32 W. between Digia USA, Inc. ("Digia"), with its registered office at 2350
Loockerman Street, Suite 201, City of Dover, County of Kent, Delaware 19904, Mission College Blvd., Suite 1020, Santa Clara, California 95054,
U.S.A. and you (either an individual or a legal entity) ("Licensee") for the U.S.A. and you (either an individual or a legal entity) ("Licensee") for the
Licensed Software (as defined below). Licensed Software (as defined below).

View File

@ -97,7 +97,6 @@ my $force_win = 0;
my $force_relative = 0; my $force_relative = 0;
my $check_includes = 0; my $check_includes = 0;
my $copy_headers = 0; my $copy_headers = 0;
my $create_uic_class_map = 0;
my $create_private_headers = 1; my $create_private_headers = 1;
my $minimal = 0; my $minimal = 0;
my $module_version = 0; my $module_version = 0;
@ -171,6 +170,30 @@ sub checkRelative {
return 1; return 1;
} }
######################################################################
# Syntax: shouldMasterInclude(iheader)
# Params: iheader, string, filename to verify inclusion
#
# Purpose: Determines if header should be in the master include file.
# Returns: 0 if file contains "#pragma qt_no_master_include" or not
# able to open, else 1.
######################################################################
sub shouldMasterInclude {
my ($iheader) = @_;
return 0 if (basename($iheader) =~ /_/);
return 0 if (basename($iheader) =~ /qconfig/);
if (open(F, "<$iheader")) {
while (<F>) {
chomp;
return 0 if (/^\#pragma qt_no_master_include$/);
}
close(F);
} else {
return 0;
}
return 1;
}
###################################################################### ######################################################################
# Syntax: classNames(iheader) # Syntax: classNames(iheader)
# Params: iheader, string, filename to parse for classname "symlinks" # Params: iheader, string, filename to parse for classname "symlinks"
@ -382,6 +405,32 @@ sub fileContents {
return $filecontents; return $filecontents;
} }
######################################################################
# Syntax: writeFile(filename, contents)
# Params: filename, string, filename of file to write
# contents, string, new contents for the file
#
# Purpose: Write file with given contents. If new contents match old
# ones, do no change the file's timestamp.
# Returns: 1 if the file's contents changed.
######################################################################
sub writeFile {
my ($filename, $contents, $lib, $what) = @_;
my $oldcontents = fileContents($filename);
$oldcontents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
if ($oldcontents ne $contents) {
open(O, "> " . $filename) || die "Could not open $filename for writing: $!\n";
print O $contents;
close O;
if ($lib && $verbose_level) {
my $action = ($oldcontents eq "") ? "created" : "updated";
print "$lib: $action $what\n";
}
return 1;
}
return 0;
}
###################################################################### ######################################################################
# Syntax: fileCompare(file1, file2) # Syntax: fileCompare(file1, file2)
# Params: file1, string, filename of first file # Params: file1, string, filename of first file
@ -457,36 +506,6 @@ sub copyFile
return 0; return 0;
} }
######################################################################
# Syntax: symlinkFile(file, ifile)
# Params: file, string, filename to create "symlink" for
# ifile, string, destination name of symlink
#
# Purpose: File is symlinked to ifile (or copied if filesystem doesn't
# support symlink).
# Returns: 1 on success, else 0.
######################################################################
sub symlinkFile
{
my ($lib, $file, $ifile) = @_;
if ($isunix) {
print "$lib: symlink created for $file " if ($verbose_level);
if ( $force_relative && ($ifile =~ /^$quoted_basedir/)) {
my $t = getcwd();
my $c = -1;
my $p = "../";
$t =~ s-^$quoted_basedir/--;
$p .= "../" while( ($c = index( $t, "/", $c + 1)) != -1 );
$file =~ s-^$quoted_basedir/-$p-;
print " ($file)\n" if($verbose_level);
}
print "\n" if($verbose_level);
return symlink($file, $ifile);
}
return copyFile($lib, $file, $ifile);
}
###################################################################### ######################################################################
# Syntax: findFiles(dir, match, descend) # Syntax: findFiles(dir, match, descend)
# Params: dir, string, directory to search for name # Params: dir, string, directory to search for name
@ -736,7 +755,6 @@ while ( @ARGV ) {
$modules{$module} = $prodir; $modules{$module} = $prodir;
push @modules_to_sync, $module; push @modules_to_sync, $module;
$moduleheaders{$module} = $headerdir; $moduleheaders{$module} = $headerdir;
$create_uic_class_map = 0;
} elsif ($var eq "version") { } elsif ($var eq "version") {
if($val) { if($val) {
$module_version = $val; $module_version = $val;
@ -802,6 +820,12 @@ foreach my $lib (@modules_to_sync) {
my $pri_install_pfiles = ""; my $pri_install_pfiles = "";
my $pri_install_qpafiles = ""; my $pri_install_qpafiles = "";
my $libcapitals = uc($lib);
my $master_contents =
"#ifndef QT_".$libcapitals."_MODULE_H\n" .
"#define QT_".$libcapitals."_MODULE_H\n" .
"#include <$lib/${lib}Depends>\n";
#remove the old files #remove the old files
if($remove_stale) { if($remove_stale) {
my %injections = (); my %injections = ();
@ -867,15 +891,8 @@ foreach my $lib (@modules_to_sync) {
#calc files and "copy" them #calc files and "copy" them
foreach my $subdir (@subdirs) { foreach my $subdir (@subdirs) {
my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0); my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0);
if (defined $inject_headers{$subdir}) {
foreach my $if (@{$inject_headers{$subdir}}) {
@headers = grep(!/^\Q$if\E$/, @headers); #in case we configure'd previously
push @headers, "*".$if;
}
}
my $header_dirname = ""; my $header_dirname = "";
foreach my $header (@headers) { foreach my $header (@headers) {
my $shadow = ($header =~ s/^\*//);
$header = 0 if($header =~ /^ui_.*.h/); $header = 0 if($header =~ /^ui_.*.h/);
foreach (@ignore_headers) { foreach (@ignore_headers) {
$header = 0 if($header eq $_); $header = 0 if($header eq $_);
@ -897,7 +914,6 @@ foreach my $lib (@modules_to_sync) {
} }
my $iheader = $subdir . "/" . $header; my $iheader = $subdir . "/" . $header;
$iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow);
my @classes = $public_header && !$minimal ? classNames($iheader) : (); my @classes = $public_header && !$minimal ? classNames($iheader) : ();
if($showonly) { if($showonly) {
print "$header [$lib]\n"; print "$header [$lib]\n";
@ -938,10 +954,13 @@ foreach my $lib (@modules_to_sync) {
} }
foreach(@headers) { #sync them foreach(@headers) { #sync them
$header_copies++ if(syncHeader($lib, $_, $iheader, $copy_headers && !$shadow, $ts)); $header_copies++ if (syncHeader($lib, $_, $iheader, $copy_headers, $ts));
} }
if($public_header) { if($public_header) {
#put it into the master file
$master_contents .= "#include \"$public_header\"\n" if (shouldMasterInclude($iheader));
#deal with the install directives #deal with the install directives
if($public_header) { if($public_header) {
my $pri_install_iheader = fixPaths($iheader, $dir); my $pri_install_iheader = fixPaths($iheader, $dir);
@ -1000,6 +1019,11 @@ foreach my $lib (@modules_to_sync) {
} }
} }
# close the master include:
$master_contents .=
"#include \"".lc($lib)."version.h\"\n" .
"#endif\n";
unless ($showonly || $minimal) { unless ($showonly || $minimal) {
# create deprecated headers # create deprecated headers
my $first = 1; my $first = 1;
@ -1021,34 +1045,37 @@ foreach my $lib (@modules_to_sync) {
my $header_dir = dirname($header_path); my $header_dir = dirname($header_path);
make_path($header_dir, $lib, $verbose_level); make_path($header_dir, $lib, $verbose_level);
open(HEADER, ">$header_path") || die "Could not open $header_path for writing: $!\n"; my $hdrcont =
print HEADER "#ifndef $guard\n"; "#ifndef $guard\n" .
print HEADER "#define $guard\n"; "#define $guard\n";
my $warning = "Header <$lib/"; my $warning = "Header <$lib/";
$warning .= "private/" unless ($public_header); $warning .= "private/" unless ($public_header);
$warning .= "$header> is deprecated. Please include <$include> instead."; $warning .= "$header> is deprecated. Please include <$include> instead.";
print HEADER "#if defined(__GNUC__)\n"; $hdrcont .=
print HEADER "# warning $warning\n"; "#if defined(__GNUC__)\n" .
print HEADER "#elif defined(_MSC_VER)\n"; "# warning $warning\n" .
print HEADER "# pragma message (\"$warning\")\n"; "#elif defined(_MSC_VER)\n" .
print HEADER "#endif\n"; "# pragma message (\"$warning\")\n" .
print HEADER "#include <$include>\n"; "#endif\n" .
"#include <$include>\n";
if ($public_header) { if ($public_header) {
print HEADER "#if 0\n"; $hdrcont .=
print HEADER "#pragma qt_no_master_include\n"; "#if 0\n" .
print HEADER "#endif\n"; "#pragma qt_no_master_include\n" .
"#endif\n";
} }
print HEADER "#endif\n"; $hdrcont .=
close HEADER; "#endif\n";
if (writeFile($header_path, $hdrcont)) {
if ($verbose_level < 3) { if ($verbose_level < 3) {
my $line_prefix = ","; my $line_prefix = ",";
$line_prefix = "$lib: created deprecated header(s) {" if ($first); $line_prefix = "$lib: created deprecated header(s) {" if ($first);
print "$line_prefix $header"; print "$line_prefix $header";
} else { } else {
print "$lib: created deprecated header $header => $include\n"; print "$lib: created deprecated header $header => $include\n";
}
$first = 0;
} }
$first = 0;
} }
my $addendum = fixPaths($header_path, $dir) . " "; my $addendum = fixPaths($header_path, $dir) . " ";
@ -1068,6 +1095,23 @@ foreach my $lib (@modules_to_sync) {
syncHeader($lib, $VHeader, $vheader, 0); syncHeader($lib, $VHeader, $vheader, 0);
$pri_install_files .= fixPaths($vheader, $dir) . " "; $pri_install_files .= fixPaths($vheader, $dir) . " ";
$pri_install_classes .= fixPaths($VHeader, $dir) . " "; $pri_install_classes .= fixPaths($VHeader, $dir) . " ";
my @versions = split(/\./, $module_version);
my $modulehexstring = sprintf("0x%02X%02X%02X", $versions[0], $versions[1], $versions[2]);
my $vhdrcont =
"/* This file was generated by syncqt. */\n".
"#ifndef QT_".uc($lib)."_VERSION_H\n".
"#define QT_".uc($lib)."_VERSION_H\n".
"\n".
"#define ".uc($lib)."_VERSION_STR \"".$module_version."\"\n".
"\n".
"#define ".uc($lib)."_VERSION ".$modulehexstring."\n".
"\n".
"#endif // QT_".uc($lib)."_VERSION_H\n";
writeFile($vheader, $vhdrcont, $lib, "version header");
my $master_include = "$out_basedir/include/$lib/$lib";
$pri_install_files .= fixPaths($master_include, $dir) . " ";
writeFile($master_include, $master_contents, $lib, "master header");
#handle the headers.pri for each module #handle the headers.pri for each module
my $headers_pri_contents = ""; my $headers_pri_contents = "";
@ -1076,42 +1120,7 @@ foreach my $lib (@modules_to_sync) {
$headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n"; $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
$headers_pri_contents .= "SYNCQT.QPA_HEADER_FILES = $pri_install_qpafiles\n"; $headers_pri_contents .= "SYNCQT.QPA_HEADER_FILES = $pri_install_qpafiles\n";
my $headers_pri_file = "$out_basedir/include/$lib/headers.pri"; my $headers_pri_file = "$out_basedir/include/$lib/headers.pri";
if(-e $headers_pri_file) { writeFile($headers_pri_file, $headers_pri_contents, $lib, "headers.pri file");
open HEADERS_PRI_FILE, "<$headers_pri_file";
local $/;
binmode HEADERS_PRI_FILE;
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);
}
if($headers_pri_file) {
my $headers_pri_dir = dirname($headers_pri_file);
make_path($headers_pri_dir, $lib, $verbose_level);
open HEADERS_PRI_FILE, ">$headers_pri_file";
print HEADERS_PRI_FILE $headers_pri_contents;
close HEADERS_PRI_FILE;
print "$lib: created headers.pri file\n" if($verbose_level);
}
}
}
unless($showonly || !$create_uic_class_map) {
my $class_lib_map = "$out_basedir/src/tools/uic/qclass_lib_map.h";
if(-e $class_lib_map) {
open CLASS_LIB_MAP, "<$class_lib_map";
local $/;
binmode CLASS_LIB_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);
}
if($class_lib_map) {
my $class_lib_map_dir = dirname($class_lib_map);
make_path($class_lib_map_dir, "<outdir>", $verbose_level);
open CLASS_LIB_MAP, ">$class_lib_map";
print CLASS_LIB_MAP $class_lib_map_contents;
close CLASS_LIB_MAP;
} }
} }

45
configure vendored
View File

@ -2389,13 +2389,6 @@ fi
if [ "$OPT_SHADOW" = "yes" ]; then if [ "$OPT_SHADOW" = "yes" ]; then
echo "Preparing build tree..." echo "Preparing build tree..."
if [ -z "$PERL" ]; then
echo
echo "You need perl in your PATH to make a shadow build."
echo "Cannot proceed."
exit 1
fi
[ -d "$outpath/bin" ] || mkdir -p "$outpath/bin" [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
# save a pre-existing mkspecs/modules dir # save a pre-existing mkspecs/modules dir
@ -3918,7 +3911,14 @@ fi
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# symlink includes # symlink includes
if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt.pl" ]; then if [ -e "$relpath/.git" ]; then
if [ -z "$PERL" ]; then
echo
echo "You need perl in your PATH to make a build from GIT."
echo "Cannot proceed."
exit 1
fi
"$relpath/bin/syncqt.pl" -minimal -module QtCore "$relpath" || exit 1 "$relpath/bin/syncqt.pl" -minimal -module QtCore "$relpath" || exit 1
fi fi
@ -4051,6 +4051,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
echo "BUILD_PATH = $adjoutpath" >> "$mkfile" echo "BUILD_PATH = $adjoutpath" >> "$mkfile"
echo "SOURCE_PATH = $adjrelpath" >> "$mkfile" echo "SOURCE_PATH = $adjrelpath" >> "$mkfile"
if [ -e "$relpath/.git" ]; then
echo 'INC_PATH = $(BUILD_PATH)/include' >> "$mkfile"
else
echo 'INC_PATH = $(SOURCE_PATH)/include' >> "$mkfile"
fi
echo "QMAKESPEC = $adjqmakespec" >> "$mkfile" echo "QMAKESPEC = $adjqmakespec" >> "$mkfile"
echo "QT_VERSION = $QT_VERSION" >> "$mkfile" echo "QT_VERSION = $QT_VERSION" >> "$mkfile"
echo "EXTRA_CFLAGS = $EXTRA_CFLAGS" >> "$mkfile" echo "EXTRA_CFLAGS = $EXTRA_CFLAGS" >> "$mkfile"
@ -6438,12 +6443,24 @@ echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$out
if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
rm -f "$outpath/src/corelib/global/qconfig.h.new" rm -f "$outpath/src/corelib/global/qconfig.h.new"
else else
[ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h" mv -f "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h" fi
chmod -w "$outpath/src/corelib/global/qconfig.h"
if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then # create a forwarding header
ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h" mkdir -p "$outpath/include/QtCore" || exit
fi echo '#include "../../src/corelib/global/qconfig.h"' > $outpath/include/QtCore/qconfig.h.new
if cmp -s "$outpath/include/QtCore/qconfig.h.new" "$outpath/include/QtCore/qconfig.h"; then
rm -f "$outpath/include/QtCore/qconfig.h.new"
else
mv "$outpath/include/QtCore/qconfig.h.new" "$outpath/include/QtCore/qconfig.h" || exit
fi
# create a camelcase forwarding header
echo '#include "qconfig.h"' > $outpath/include/QtCore/QtConfig.new
if cmp -s "$outpath/include/QtCore/QtConfig.new" "$outpath/include/QtCore/QtConfig"; then
rm -f "$outpath/include/QtCore/QtConfig.new"
else
mv "$outpath/include/QtCore/QtConfig.new" "$outpath/include/QtCore/QtConfig" || exit
fi fi
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------

View File

@ -32,7 +32,7 @@
\brief This example demonstrates the usage of a tree view. \brief This example demonstrates the usage of a tree view.
\brief The Dir View example shows a tree view onto the local filing system. It uses the \brief The Dir View example shows a tree view onto the local filing system. It uses the
QDirModel class to provide file and directory information. QFileSystemModel class to provide file and directory information.
\image dirview-example.png \image dirview-example.png
*/ */

View File

@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthreads
QMAKE_AR = ar -X64 cq QMAKE_AR = ar -X64 cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = ranlib -X64 QMAKE_RANLIB = ranlib -X64
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthreads
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -63,6 +63,7 @@ QMAKE_LIBS_THREAD = -lpthreads
QMAKE_AR = ar -X64 cq QMAKE_AR = ar -X64 cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = ranlib -X64 QMAKE_RANLIB = ranlib -X64
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -66,6 +66,7 @@ QMAKE_LIBS_THREAD = -lpthreads
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = ranlib QMAKE_RANLIB = ranlib
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -137,6 +137,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_LINK
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ar cqs QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ar cqs
QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-objcopy QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-objcopy
QMAKE_NM = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-nm -P
QMAKE_STRIP = QMAKE_STRIP =
#$$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-strip #$$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-strip

View File

@ -65,6 +65,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_LINK
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-ar cqs QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-ar cqs
QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-objcopy QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-objcopy
QMAKE_NM = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-nm -P
QMAKE_STRIP = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-strip QMAKE_STRIP = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-strip
QMAKE_RANLIB = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-ranlib QMAKE_RANLIB = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-ranlib

View File

@ -48,6 +48,7 @@ QMAKE_DEFINES_XCB =
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_STRIP = strip QMAKE_STRIP = strip

View File

@ -25,5 +25,6 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_RANLIB = ranlib -s QMAKE_RANLIB = ranlib -s
QMAKE_NM = nm -P
include(unix.conf) include(unix.conf)

View File

@ -7,5 +7,6 @@ QMAKE_LINK = i686-nacl-g++
QMAKE_LINK_SHLIB = i686-nacl-g++ QMAKE_LINK_SHLIB = i686-nacl-g++
QMAKE_AR = i686-nacl-ar q QMAKE_AR = i686-nacl-ar q
QMAKE_OBJCOPY = i686-nacl-objcopy QMAKE_OBJCOPY = i686-nacl-objcopy
QMAKE_NM = i686-nacl-nm -P
QMAKE_STRIP = i686-nacl-strip QMAKE_STRIP = i686-nacl-strip

View File

@ -7,5 +7,6 @@ QMAKE_LINK = x86_64-nacl-g++
QMAKE_LINK_SHLIB = x86_64-nacl-g++ QMAKE_LINK_SHLIB = x86_64-nacl-g++
QMAKE_AR = x86_64-nacl-ar q QMAKE_AR = x86_64-nacl-ar q
QMAKE_OBJCOPY = x86_64-nacl-objcopy QMAKE_OBJCOPY = x86_64-nacl-objcopy
QMAKE_NM = x86_64-nacl-nm -P
QMAKE_STRIP = x86_64-nacl-strip QMAKE_STRIP = x86_64-nacl-strip

View File

@ -15,6 +15,7 @@ include(qcc-base-qnx.conf)
QMAKE_AR = ntoarmv7-ar cqs QMAKE_AR = ntoarmv7-ar cqs
QMAKE_OBJCOPY = ntoarmv7-objcopy QMAKE_OBJCOPY = ntoarmv7-objcopy
QMAKE_NM = ntoarmv7-nm -P
QMAKE_RANLIB = ntoarmv7-ranlib QMAKE_RANLIB = ntoarmv7-ranlib
QMAKE_STRIP = ntoarmv7-strip QMAKE_STRIP = ntoarmv7-strip

View File

@ -15,6 +15,7 @@ include(qcc-base-qnx.conf)
QMAKE_AR = ntox86-ar cqs QMAKE_AR = ntox86-ar cqs
QMAKE_OBJCOPY = ntox86-objcopy QMAKE_OBJCOPY = ntox86-objcopy
QMAKE_NM = ntox86-nm -P
QMAKE_RANLIB = ntox86-ranlib QMAKE_RANLIB = ntox86-ranlib
QMAKE_STRIP = ntox86-strip QMAKE_STRIP = ntox86-strip

View File

@ -70,6 +70,7 @@ QMAKE_EXTENSION_STATICLIB = a
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/shell-unix.conf) include(../common/shell-unix.conf)

View File

@ -76,6 +76,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = ranlib -s QMAKE_RANLIB = ranlib -s
QMAKE_PCH_OUTPUT_EXT = .gch QMAKE_PCH_OUTPUT_EXT = .gch

View File

@ -21,4 +21,5 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip

View File

@ -27,6 +27,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

View File

@ -19,6 +19,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_CFLAGS += -mfloat-abi=softfp -mfpu=neon -mcpu=cortex-a9 QMAKE_CFLAGS += -mfloat-abi=softfp -mfpu=neon -mcpu=cortex-a9

View File

@ -43,6 +43,7 @@ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_INCDIR += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/include QMAKE_INCDIR += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/include

View File

@ -23,6 +23,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

View File

@ -23,6 +23,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_CFLAGS += -mfloat-abi=hard -mfpu=neon -march=armv7-a -mcpu=cortex-a8 QMAKE_CFLAGS += -mfloat-abi=hard -mfpu=neon -march=armv7-a -mcpu=cortex-a8

View File

@ -21,6 +21,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
#TODO: Clean Qt to work with uclibc not calling itself GLIBC. #TODO: Clean Qt to work with uclibc not calling itself GLIBC.

View File

@ -21,6 +21,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
deviceSanityCheckCompiler() deviceSanityCheckCompiler()

View File

@ -21,6 +21,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
deviceSanityCheckCompiler() deviceSanityCheckCompiler()

View File

@ -20,6 +20,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \

View File

@ -54,7 +54,7 @@ defineReplace(cmakeProcessLibs) {
variable = $$1 variable = $$1
out = out =
for(v, variable) { for(v, variable) {
if(!equals(v, -framework)) { if(!equals(v, -framework):!equals(v, -L.*)) {
v ~= s,^-l,, v ~= s,^-l,,
v ~= s,^-lib,, v ~= s,^-lib,,
v ~= s,.lib$,, v ~= s,.lib$,,

View File

@ -46,6 +46,12 @@ if exist "%frameworkdir%\%jarfile%" goto JarFileOk
if exist "%frameworkdir%\%jarfile%" goto JarFileOk if exist "%frameworkdir%\%jarfile%" goto JarFileOk
set "frameworkdir=%androidsdk%\framework" set "frameworkdir=%androidsdk%\framework"
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
set "frameworkdir=%androidsdk%\build-tools\%ANDROID_BUILD_TOOLS_REVISION%\lib"
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
set "frameworkdir=%androidsdk%\build-tools\17.0.0\lib"
:JarFileOk :JarFileOk
set jarpath=%frameworkdir%\%jarfile% set jarpath=%frameworkdir%\%jarfile%

View File

@ -16,6 +16,9 @@ isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR) isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
exists($$MODULE_PROFILE_DIR/.git): \
CONFIG += git_build
!prefix_build { !prefix_build {
QTDIR = $$[QT_HOST_PREFIX] QTDIR = $$[QT_HOST_PREFIX]
# Permit modules to enforce being built outside QTDIR ... # Permit modules to enforce being built outside QTDIR ...

View File

@ -11,7 +11,7 @@
load(qt_build_paths) load(qt_build_paths)
!build_pass { !build_pass:git_build {
qtPrepareTool(QMAKE_SYNCQT, syncqt) qtPrepareTool(QMAKE_SYNCQT, syncqt)
minimal_syncqt { minimal_syncqt {
QMAKE_SYNCQT += -minimal $$QMAKE_SYNCQT_OPTIONS QMAKE_SYNCQT += -minimal $$QMAKE_SYNCQT_OPTIONS
@ -29,66 +29,25 @@ load(qt_build_paths)
minimal_syncqt: return() minimal_syncqt: return()
#load up the headers info #load up the headers info
include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true) git_build: \
INC_PATH = $$MODULE_BASE_OUTDIR
lctarget = $$lower($$MODULE_INCNAME) else: \
uctarget = $$upper($$MODULE_INCNAME) INC_PATH = $$MODULE_BASE_DIR
include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
defineTest(shouldMasterInclude) {
bn = $$basename(1)
contains(bn, .*_.*):return(false)
contains(bn, ^qconfig.*):return(false)
lines = $$cat($$_PRO_FILE_PWD_/$$1, lines)
contains(lines, $${LITERAL_HASH}pragma qt_no_master_include):return(false)
return(true)
}
autogen_warning = \ autogen_warning = \
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */" "/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
# Create module version header # Create a module master depends header
MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$) MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends
count(MODULE_VERSION_HEADER, 1) {
MODULE_VERSION_HEADER = $$absolute_path($$MODULE_VERSION_HEADER, $$_PRO_FILE_PWD_)
!build_pass {
majorhexstr = $$format_number($$section(VERSION, ., 0, 0), width=2 zeropad obase=16)
minorhexstr = $$format_number($$section(VERSION, ., 1, 1), width=2 zeropad obase=16)
patchhexstr = $$format_number($$section(VERSION, ., 2, 2), width=2 zeropad obase=16)
modulehexstring = 0x$${majorhexstr}$${minorhexstr}$${patchhexstr}
MODULE_VERSION_HEADER_CONT = \
$$autogen_warning \
"$${LITERAL_HASH}ifndef QT_$${uctarget}_VERSION_H" \
"$${LITERAL_HASH}define QT_$${uctarget}_VERSION_H" \
"" \
"$${LITERAL_HASH}define $${uctarget}_VERSION_STR \"$$VERSION\"" \
"" \
"$${LITERAL_HASH}define $${uctarget}_VERSION $$modulehexstring" \
"" \
"$${LITERAL_HASH}endif // QT_$${uctarget}_VERSION_H"
write_file($$MODULE_VERSION_HEADER, MODULE_VERSION_HEADER_CONT)|error("Aborting.")
}
HEADERS += $$MODULE_VERSION_HEADER
}
# Create a module master header
MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME
!build_pass { !build_pass {
MODULE_MASTER_HEADER_CONT = \ MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning
$$autogen_warning \
"$${LITERAL_HASH}ifndef QT_$${ucmodule}_MODULE_H" \
"$${LITERAL_HASH}define QT_$${ucmodule}_MODULE_H"
for(dep, MODULE_DEPENDS) { for(dep, MODULE_DEPENDS) {
depname = $$eval(QT.$${dep}.name) depname = $$eval(QT.$${dep}.name)
MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>" MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>"
} }
for(hdr, SYNCQT.HEADER_FILES): \ write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.")
shouldMasterInclude($$hdr): \
MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include \"$$replace(hdr, .*/, )\""
MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}endif"
write_file($$MODULE_MASTER_HEADER, MODULE_MASTER_HEADER_CONT)|error("Aborting.")
} }
SYNCQT.HEADER_FILES += $$MODULE_MASTER_HEADER SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
CONFIG += qt_install_headers CONFIG += qt_install_headers

View File

@ -52,9 +52,22 @@ else: \
else: \ else: \
module_config = module_config =
!no_module_headers:!minimal_syncqt { !no_module_headers:!minimal_syncqt {
MODULE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME" MODULE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME
MODULE_PRIVATE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \ MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME" \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME
}
!git_build:if(!equals(_PRO_FILE_PWD_, $$OUT_PWD) \
|if(!prefix_build:!equals(MODULE_BASE_DIR, $$[QT_HOST_PREFIX]))) {
pub_inc = $$replace(MODULE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
priv_inc = $$replace(MODULE_PRIVATE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
force_independent {
MODULE_FWD_PRI_CONT_SUFFIX = \
"QT.$${MODULE}.includes += $$pub_inc" \
"QT.$${MODULE}.private_includes = $$priv_inc"
} else {
MODULE_INCLUDES += $$pub_inc
MODULE_PRIVATE_INCLUDES = $$priv_inc
}
} }
MODULE_PRI_CONT = \ MODULE_PRI_CONT = \
"QT.$${MODULE}.VERSION = $${VERSION}" \ "QT.$${MODULE}.VERSION = $${VERSION}" \
@ -97,7 +110,8 @@ else: \
"QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \ "QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
"QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \ "QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
"QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \ "QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \
"include($$MODULE_PRI)" "include($$MODULE_PRI)" \
$$MODULE_FWD_PRI_CONT_SUFFIX
write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.") write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
touch($$MODULE_FWD_PRI, $$MODULE_PRI) touch($$MODULE_FWD_PRI, $$MODULE_PRI)
MODULE_PRI_FILES += $$MODULE_FWD_PRI MODULE_PRI_FILES += $$MODULE_FWD_PRI

View File

@ -28,6 +28,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -28,6 +28,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -87,6 +87,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -108,6 +108,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -106,6 +106,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -87,6 +87,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -70,6 +70,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -71,6 +71,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -63,6 +63,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -106,6 +106,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -73,6 +73,7 @@ QMAKE_LIBS_YACC = -ly
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -38,6 +38,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_STRIP = strip QMAKE_STRIP = strip

View File

@ -98,6 +98,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = CC -ar -o QMAKE_AR = CC -ar -o
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files

View File

@ -98,6 +98,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = CC -ar -o QMAKE_AR = CC -ar -o
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files

View File

@ -68,6 +68,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = so_locations QMAKE_CLEAN = so_locations

View File

@ -68,6 +68,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = so_locations QMAKE_CLEAN = so_locations

View File

@ -19,5 +19,6 @@ QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = arm-linux-gnueabi-ar cqs QMAKE_AR = arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
QMAKE_NM = arm-linux-gnueabi-nm -P
QMAKE_STRIP = arm-linux-gnueabi-strip QMAKE_STRIP = arm-linux-gnueabi-strip
load(qt_config) load(qt_config)

View File

@ -73,6 +73,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = xiar cqs QMAKE_AR = xiar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files

View File

@ -73,6 +73,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = -r $(OBJECTS_DIR)ti_files QMAKE_CLEAN = -r $(OBJECTS_DIR)ti_files

View File

@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -68,6 +68,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_STRIP = strip QMAKE_STRIP = strip

View File

@ -66,6 +66,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = ranlib QMAKE_RANLIB = ranlib
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -67,6 +67,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar q QMAKE_AR = ar q
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = ranlib QMAKE_RANLIB = ranlib
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -60,6 +60,7 @@ QMAKE_LIBS_OPENGL = -lGL -lXt
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -62,6 +62,7 @@ QMAKE_LIBS_OPENGL = -lGL
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -85,6 +85,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = CC -xar -o QMAKE_AR = CC -xar -o
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache

View File

@ -68,6 +68,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = CC -xar -o QMAKE_AR = CC -xar -o
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache

View File

@ -89,6 +89,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -72,6 +72,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -62,6 +62,7 @@ QMAKE_LIBS_THREAD = -lrt
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthread -lexc -lrt
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -66,6 +66,7 @@ QMAKE_LIBS_THREAD =
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -65,6 +65,7 @@ QMAKE_LIBS_THREAD = -lthread
QMAKE_AR = ar cq QMAKE_AR = ar cq
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
include(../common/unix.conf) include(../common/unix.conf)

View File

@ -90,6 +90,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_LINK
QMAKE_AR = $${ANDROID_TOOLCHAIN_PREFIX}ar cqs QMAKE_AR = $${ANDROID_TOOLCHAIN_PREFIX}ar cqs
QMAKE_OBJCOPY = $${ANDROID_TOOLCHAIN_PREFIX}objcopy QMAKE_OBJCOPY = $${ANDROID_TOOLCHAIN_PREFIX}objcopy
QMAKE_NM = $${ANDROID_TOOLCHAIN_PREFIX}nm -P
QMAKE_STRIP = $${ANDROID_TOOLCHAIN_PREFIX}strip QMAKE_STRIP = $${ANDROID_TOOLCHAIN_PREFIX}strip
QMAKE_RANLIB = $${ANDROID_TOOLCHAIN_PREFIX}ranlib QMAKE_RANLIB = $${ANDROID_TOOLCHAIN_PREFIX}ranlib

View File

@ -107,6 +107,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_AR = host-ar cqs QMAKE_AR = host-ar cqs
QMAKE_OBJCOPY = host-objcopy QMAKE_OBJCOPY = host-objcopy
QMAKE_NM = host-nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_STRIP = host-strip QMAKE_STRIP = host-strip

View File

@ -28,6 +28,7 @@ QMAKE_LINK_SHLIB = sb2 g++
# modifications to linux.conf # modifications to linux.conf
QMAKE_AR = sb2 ar cqs QMAKE_AR = sb2 ar cqs
QMAKE_OBJCOPY = sb2 objcopy QMAKE_OBJCOPY = sb2 objcopy
QMAKE_NM = sb2 nm -P
QMAKE_STRIP = sb2 strip QMAKE_STRIP = sb2 strip
load(qt_config) load(qt_config)

View File

@ -82,6 +82,7 @@ QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethost
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_STRIP = strip QMAKE_STRIP = strip

View File

@ -81,6 +81,7 @@ QMAKE_LIBS_NETWORK = # -lnet # only needed if kernel is missing gethostbyna
QMAKE_AR = ar cqs QMAKE_AR = ar cqs
QMAKE_OBJCOPY = objcopy QMAKE_OBJCOPY = objcopy
QMAKE_NM = nm -P
QMAKE_RANLIB = QMAKE_RANLIB =
QMAKE_STRIP = strip QMAKE_STRIP = strip

View File

@ -108,4 +108,6 @@ QMAKE_RC = $${CROSS_COMPILE}windres
QMAKE_STRIP = $${CROSS_COMPILE}strip QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_STRIPFLAGS_LIB += --strip-unneeded QMAKE_STRIPFLAGS_LIB += --strip-unneeded
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
load(qt_config) load(qt_config)

View File

@ -85,8 +85,8 @@ DEPEND_SRC = \
CPPFLAGS = -g $(EXTRA_CPPFLAGS) \ CPPFLAGS = -g $(EXTRA_CPPFLAGS) \
-I$(QMKSRC) -I$(QMKLIBSRC) -I$(QMKSRC)/generators -I$(QMKSRC)/generators/unix -I$(QMKSRC)/generators/win32 \ -I$(QMKSRC) -I$(QMKLIBSRC) -I$(QMKSRC)/generators -I$(QMKSRC)/generators/unix -I$(QMKSRC)/generators/win32 \
-I$(QMKSRC)/generators/mac -I$(QMKSRC)/generators/integrity \ -I$(QMKSRC)/generators/mac -I$(QMKSRC)/generators/integrity \
-I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \ -I$(INC_PATH) -I$(INC_PATH)/QtCore \
-I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \ -I$(INC_PATH)/QtCore/$(QT_VERSION) -I$(INC_PATH)/QtCore/$(QT_VERSION)/QtCore \
-I$(BUILD_PATH)/src/corelib/global -DHAVE_QCONFIG_CPP \ -I$(BUILD_PATH)/src/corelib/global -DHAVE_QCONFIG_CPP \
-I$(QMAKESPEC) \ -I$(QMAKESPEC) \
-I$(SOURCE_PATH)/tools/shared \ -I$(SOURCE_PATH)/tools/shared \

View File

@ -34,7 +34,7 @@ CFLAGS_BARE = -c -Fo./ \
-W3 -nologo -O1 \ -W3 -nologo -O1 \
$(CFLAGS_EXTRA) \ $(CFLAGS_EXTRA) \
-I$(QMKSRC) -I$(QMKSRC)\library -I$(QMKSRC)\generators -I$(QMKSRC)\generators\unix -I$(QMKSRC)\generators\win32 -I$(QMKSRC)\generators\mac -I$(QMKSRC)\generators\integrity \ -I$(QMKSRC) -I$(QMKSRC)\library -I$(QMKSRC)\generators -I$(QMKSRC)\generators\unix -I$(QMKSRC)\generators\win32 -I$(QMKSRC)\generators\mac -I$(QMKSRC)\generators\integrity \
-I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore -I$(BUILD_PATH)\include\QtCore\$(QT_VERSION) -I$(BUILD_PATH)\include\QtCore\$(QT_VERSION)\QtCore \ -I$(INC_PATH) -I$(INC_PATH)\QtCore -I$(INC_PATH)\QtCore\$(QT_VERSION) -I$(INC_PATH)\QtCore\$(QT_VERSION)\QtCore \
-I$(BUILD_PATH)\src\corelib\global -DHAVE_QCONFIG_CPP \ -I$(BUILD_PATH)\src\corelib\global -DHAVE_QCONFIG_CPP \
-I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \ -I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \
-I$(SOURCE_PATH)\tools\shared \ -I$(SOURCE_PATH)\tools\shared \

View File

@ -1340,7 +1340,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
ProString dir = project->first("DESTDIR"); ProString dir = project->first("DESTDIR");
if (QDir::isRelativePath(dir.toQString())) if (QDir::isRelativePath(dir.toQString()))
dir.prepend(qmake_getpwd() + Option::dir_sep); dir.prepend(qmake_getpwd() + Option::dir_sep);
t << "\t\t\t\t" << writeSettings("TARGET_BUILD_DIR", dir) << ";" << "\n"; t << "\t\t\t\t" << writeSettings("INSTALL_DIR", dir) << ";" << "\n";
} }
if (project->first("TEMPLATE") == "lib") if (project->first("TEMPLATE") == "lib")

View File

@ -200,8 +200,9 @@ const char _slnSolutionConf[] = "\n\tGlobalSection(SolutionConfiguration) = pr
"\n\t\tConfigName.0 = Debug|Win32" "\n\t\tConfigName.0 = Debug|Win32"
"\n\t\tConfigName.1 = Release|Win32" "\n\t\tConfigName.1 = Release|Win32"
"\n\tEndGlobalSection"; "\n\tEndGlobalSection";
const char _slnProjDepBeg[] = "\n\tGlobalSection(ProjectDependencies) = postSolution";
const char _slnProjDepEnd[] = "\n\tEndGlobalSection"; const char _slnProjDepBeg[] = "\n\tProjectSection(ProjectDependencies) = postProject";
const char _slnProjDepEnd[] = "\n\tEndProjectSection";
const char _slnProjConfBeg[] = "\n\tGlobalSection(ProjectConfiguration) = postSolution"; const char _slnProjConfBeg[] = "\n\tGlobalSection(ProjectConfiguration) = postSolution";
const char _slnProjRelConfTag1[]= ".Release|%1.ActiveCfg = Release|"; const char _slnProjRelConfTag1[]= ".Release|%1.ActiveCfg = Release|";
const char _slnProjRelConfTag2[]= ".Release|%1.Build.0 = Release|"; const char _slnProjRelConfTag2[]= ".Release|%1.Build.0 = Release|";
@ -571,10 +572,6 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt
#endif #endif
solution_cleanup.append(newDep); solution_cleanup.append(newDep);
solution_depends.insert(newDep->target, newDep); solution_depends.insert(newDep->target, newDep);
t << _slnProjectBeg << _slnMSVCvcprojGUID << _slnProjectMid
<< "\"" << newDep->orig_target << "\", \"" << newDep->vcprojFile
<< "\", \"" << newDep->uuid << "\"";
t << _slnProjectEnd;
} }
nextfile: nextfile:
qmake_setpwd(oldpwd); qmake_setpwd(oldpwd);
@ -634,6 +631,30 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
QHash<QString, ProStringList> subdirProjectLookup; QHash<QString, ProStringList> subdirProjectLookup;
collectDependencies(project, profileLookup, projGuids, extraSubdirs, solution_depends, solution_cleanup, t, subdirProjectLookup); collectDependencies(project, profileLookup, projGuids, extraSubdirs, solution_depends, solution_cleanup, t, subdirProjectLookup);
// write out projects
for (QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
t << _slnProjectBeg << _slnMSVCvcprojGUID << _slnProjectMid
<< "\"" << (*it)->orig_target << "\", \"" << (*it)->vcprojFile
<< "\", \"" << (*it)->uuid << "\"";
debug_msg(1, "Project %s has dependencies: %s", (*it)->target.toLatin1().constData(), (*it)->dependencies.join(" ").toLatin1().constData());
bool hasDependency = false;
for (QStringList::iterator dit = (*it)->dependencies.begin(); dit != (*it)->dependencies.end(); ++dit) {
if (VcsolutionDepend *vc = solution_depends[*dit]) {
if (!hasDependency) {
hasDependency = true;
t << _slnProjDepBeg;
}
t << "\n\t\t" << vc->uuid << " = " << vc->uuid;
}
}
if (hasDependency)
t << _slnProjDepEnd;
t << _slnProjectEnd;
}
t << _slnGlobalBeg; t << _slnGlobalBeg;
QHashIterator<VcsolutionDepend *, QStringList> extraIt(extraSubdirs); QHashIterator<VcsolutionDepend *, QStringList> extraIt(extraSubdirs);
@ -657,20 +678,9 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
} }
t << slnConf; t << slnConf;
t << _slnProjDepBeg;
// Restore previous after_user_var options // Restore previous after_user_var options
Option::globals->postcmds = old_after_vars; Option::globals->postcmds = old_after_vars;
// Figure out dependencies
for(QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
int cnt = 0;
for(QStringList::iterator dit = (*it)->dependencies.begin(); dit != (*it)->dependencies.end(); ++dit) {
if(VcsolutionDepend *vc = solution_depends[*dit])
t << "\n\t\t" << (*it)->uuid << "." << cnt++ << " = " << vc->uuid;
}
}
t << _slnProjDepEnd;
t << _slnProjConfBeg; t << _slnProjConfBeg;
for(QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) { for(QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
QString platform = is64Bit ? "x64" : "Win32"; QString platform = is64Bit ? "x64" : "Win32";

View File

@ -29,6 +29,11 @@ SOURCES += \
# qlibraryinfo.cpp includes qconfig.cpp # qlibraryinfo.cpp includes qconfig.cpp
INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global
# configure creates these, not syncqt, so we need to manually inject them
targ_headers.files += \
$$OUT_PWD/global/qconfig.h \
$$QT_BUILD_TREE/include/QtCore/QtConfig
# Only used on platforms with CONFIG += precompile_header # Only used on platforms with CONFIG += precompile_header
PRECOMPILED_HEADER = global/qt_pch.h PRECOMPILED_HEADER = global/qt_pch.h

View File

@ -255,6 +255,7 @@ qint64 QFSFileEnginePrivate::nativeSize() const
if (!filled) { if (!filled) {
thatQ->setError(QFile::UnspecifiedError, qt_error_string(errno)); thatQ->setError(QFile::UnspecifiedError, qt_error_string(errno));
return 0;
} }
return metaData.size(); return metaData.size();
} }

View File

@ -2527,7 +2527,7 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile,
character in keys. In addition, if you save a top-level character in keys. In addition, if you save a top-level
setting (a key with no slashes in it, e.g., "someKey"), it setting (a key with no slashes in it, e.g., "someKey"), it
will appear in the INI file's "General" section. To avoid will appear in the INI file's "General" section. To avoid
overwriting other keys, if you save something using the a key overwriting other keys, if you save something using a key
such as "General/someKey", the key will be located in the such as "General/someKey", the key will be located in the
"%General" section, \e not in the "General" section. "%General" section, \e not in the "General" section.

View File

@ -1468,11 +1468,12 @@ static void mapToLowerCase(QString *str, int from)
int l = 1; int l = 1;
while (l < 4 && entry->mapping[l]) while (l < 4 && entry->mapping[l])
++l; ++l;
if (l > 1) { if (l > 1 || uc > 0xffff) {
if (uc <= 0xffff) if (uc <= 0xffff)
str->replace(i, 1, reinterpret_cast<const QChar *>(&entry->mapping[0]), l); str->replace(i, 1, reinterpret_cast<const QChar *>(&entry->mapping[0]), l);
else else
str->replace(i-1, 2, reinterpret_cast<const QChar *>(&entry->mapping[0]), l); str->replace(--i, 2, reinterpret_cast<const QChar *>(&entry->mapping[0]), l);
i += l - 1;
d = 0; d = 0;
} else { } else {
if (!d) if (!d)
@ -1501,18 +1502,20 @@ static bool isMappedToNothing(uint uc)
} }
static void stripProhibitedOutput(QString *str, int from) static bool containsProhibitedOuptut(const QString *str, int from)
{ {
ushort *out = (ushort *)str->data() + from; const ushort *in = reinterpret_cast<const ushort *>(str->begin() + from);
const ushort *in = out;
const ushort *end = (ushort *)str->data() + str->size(); const ushort *end = (ushort *)str->data() + str->size();
while (in < end) { for ( ; in < end; ++in) {
uint uc = *in; uint uc = *in;
if (QChar(uc).isHighSurrogate() && in < end - 1) { if (QChar(uc).isHighSurrogate() && in < end - 1) {
ushort low = *(in + 1); ushort low = *(in + 1);
if (QChar(low).isLowSurrogate()) { if (QChar(low).isLowSurrogate()) {
++in; ++in;
uc = QChar::surrogateToUcs4(uc, low); uc = QChar::surrogateToUcs4(uc, low);
} else {
// unpaired surrogates are prohibited
return true;
} }
} }
if (uc <= 0xFFFF) { if (uc <= 0xFFFF) {
@ -1537,7 +1540,7 @@ static void stripProhibitedOutput(QString *str, int from)
|| (uc >= 0xFDD0 && uc <= 0xFDEF) || (uc >= 0xFDD0 && uc <= 0xFDEF)
|| uc == 0xFEFF || uc == 0xFEFF
|| (uc >= 0xFFF9 && uc <= 0xFFFF))) { || (uc >= 0xFFF9 && uc <= 0xFFFF))) {
*out++ = *in; continue;
} }
} else { } else {
if (!((uc >= 0x1D173 && uc <= 0x1D17A) if (!((uc >= 0x1D173 && uc <= 0x1D17A)
@ -1561,14 +1564,12 @@ static void stripProhibitedOutput(QString *str, int from)
|| (uc >= 0xFFFFE && uc <= 0xFFFFF) || (uc >= 0xFFFFE && uc <= 0xFFFFF)
|| (uc >= 0x100000 && uc <= 0x10FFFD) || (uc >= 0x100000 && uc <= 0x10FFFD)
|| (uc >= 0x10FFFE && uc <= 0x10FFFF))) { || (uc >= 0x10FFFE && uc <= 0x10FFFF))) {
*out++ = QChar::highSurrogate(uc); continue;
*out++ = QChar::lowSurrogate(uc);
} }
} }
++in; return true;
} }
if (in != out) return false;
str->truncate(out - str->utf16());
} }
static bool isBidirectionalRorAL(uint uc) static bool isBidirectionalRorAL(uint uc)
@ -2028,7 +2029,7 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
for ( ; out < e; ++out) { for ( ; out < e; ++out) {
register ushort uc = out->unicode(); register ushort uc = out->unicode();
if (uc > 0x80) { if (uc >= 0x80) {
break; break;
} else if (uc >= 'A' && uc <= 'Z') { } else if (uc >= 'A' && uc <= 'Z') {
*out = QChar(uc | 0x20); *out = QChar(uc | 0x20);
@ -2065,8 +2066,8 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
if (uc <= 0xFFFF) { if (uc <= 0xFFFF) {
*out++ = *in; *out++ = *in;
} else { } else {
*out++ = QChar::highSurrogate(uc); *out++ = in[-1];
*out++ = QChar::lowSurrogate(uc); *out++ = in[0];
} }
} }
} }
@ -2083,7 +2084,10 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
firstNonAscii > from ? firstNonAscii - 1 : from); firstNonAscii > from ? firstNonAscii - 1 : from);
// Strip prohibited output // Strip prohibited output
stripProhibitedOutput(source, firstNonAscii); if (containsProhibitedOuptut(source, firstNonAscii)) {
source->resize(from);
return;
}
// Check for valid bidirectional characters // Check for valid bidirectional characters
bool containsLCat = false; bool containsLCat = false;

View File

@ -90,6 +90,7 @@ struct DefinedTypesFilter {
/*! /*!
\macro Q_DECLARE_OPAQUE_POINTER(PointerType) \macro Q_DECLARE_OPAQUE_POINTER(PointerType)
\relates QMetaType \relates QMetaType
\since 5.0
This macro enables pointers to forward-declared types (\a PointerType) This macro enables pointers to forward-declared types (\a PointerType)
to be registered with QMetaType using either Q_DECLARE_METATYPE() to be registered with QMetaType using either Q_DECLARE_METATYPE()

View File

@ -1822,8 +1822,8 @@ struct QMetaTypeId_ ## SMART_POINTER ## _QObjectStar<T, true> \
return id; \ return id; \
const char * const cName = T::staticMetaObject.className(); \ const char * const cName = T::staticMetaObject.className(); \
QByteArray typeName; \ QByteArray typeName; \
typeName.reserve(sizeof(#SMART_POINTER) + 1 + strlen(cName) + 1); \ typeName.reserve(int(sizeof(#SMART_POINTER) + 1 + strlen(cName) + 1)); \
typeName.append(#SMART_POINTER, sizeof(#SMART_POINTER) - 1) \ typeName.append(#SMART_POINTER, int(sizeof(#SMART_POINTER)) - 1) \
.append('<').append(cName).append('>'); \ .append('<').append(cName).append('>'); \
const int newId = qRegisterNormalizedMetaType< SMART_POINTER<T> >( \ const int newId = qRegisterNormalizedMetaType< SMART_POINTER<T> >( \
typeName, \ typeName, \

View File

@ -121,6 +121,10 @@ void QFactoryLoader::update()
d->loadedPaths << pluginDir; d->loadedPaths << pluginDir;
QString path = pluginDir + d->suffix; QString path = pluginDir + d->suffix;
if (qt_debug_component())
qDebug() << "QFactoryLoader::QFactoryLoader() checking directory path" << path << "...";
if (!QDir(path).exists(QLatin1String("."))) if (!QDir(path).exists(QLatin1String(".")))
continue; continue;

View File

@ -33,7 +33,7 @@
\brief The <QtAlgorithms> header includes the generic, template-based algorithms. \brief The <QtAlgorithms> header includes the generic, template-based algorithms.
Qt provides a number of global template functions in \c Qt provides a number of global template functions in \c
<QtAlgorithms> that work on containers and perform well-know <QtAlgorithms> that work on containers and perform well-known
algorithms. You can use these algorithms with any \l {container algorithms. You can use these algorithms with any \l {container
class} that provides STL-style iterators, including Qt's QList, class} that provides STL-style iterators, including Qt's QList,
QLinkedList, QVector, QMap, and QHash classes. QLinkedList, QVector, QMap, and QHash classes.

View File

@ -62,7 +62,7 @@ struct QPodArrayOps
Q_ASSERT(newSize <= this->alloc); Q_ASSERT(newSize <= this->alloc);
::memset(this->end(), 0, (newSize - this->size) * sizeof(T)); ::memset(this->end(), 0, (newSize - this->size) * sizeof(T));
this->size = newSize; this->size = int(newSize);
} }
void copyAppend(const T *b, const T *e) void copyAppend(const T *b, const T *e)
@ -84,7 +84,7 @@ struct QPodArrayOps
const T *const end = iter + n; const T *const end = iter + n;
for (; iter != end; ++iter) for (; iter != end; ++iter)
::memcpy(iter, &t, sizeof(T)); ::memcpy(iter, &t, sizeof(T));
this->size += n; this->size += int(n);
} }
void truncate(size_t newSize) void truncate(size_t newSize)
@ -92,7 +92,7 @@ struct QPodArrayOps
Q_ASSERT(!this->ref.isShared()); Q_ASSERT(!this->ref.isShared());
Q_ASSERT(newSize < size_t(this->size)); Q_ASSERT(newSize < size_t(this->size));
this->size = newSize; this->size = int(newSize);
} }
void destroyAll() // Call from destructors, ONLY! void destroyAll() // Call from destructors, ONLY!

View File

@ -123,7 +123,8 @@ QT_BEGIN_NAMESPACE
*/ */
QBitArray::QBitArray(int size, bool value) QBitArray::QBitArray(int size, bool value)
{ {
if (!size) { Q_ASSERT_X(size >= 0, "QBitArray::QBitArray", "Size must be greater than or equal to 0.");
if (size <= 0) {
d.resize(0); d.resize(0);
return; return;
} }

View File

@ -1031,7 +1031,7 @@ void QRegularExpressionPrivate::getPatternInfo()
*/ */
class QPcreJitStackPointer class QPcreJitStackPointer
{ {
Q_DISABLE_COPY(QPcreJitStackPointer); Q_DISABLE_COPY(QPcreJitStackPointer)
public: public:
/*! /*!

View File

@ -240,14 +240,14 @@ inline quint64 _xgetbv(__int64) { return 0; }
#endif #endif
static void xgetbv(uint in, uint &eax, uint &edx) static void xgetbv(uint in, uint &eax, uint &edx)
{ {
#ifdef Q_OS_WIN #if defined(Q_CC_GNU)
quint64 result = _xgetbv(in);
eax = result;
edx = result >> 32;
#elif defined(Q_CC_GNU)
asm (".byte 0x0F, 0x01, 0xD0" // xgetbv instruction asm (".byte 0x0F, 0x01, 0xD0" // xgetbv instruction
: "=a" (eax), "=d" (edx) : "=a" (eax), "=d" (edx)
: "c" (in)); : "c" (in));
#elif defined(Q_OS_WIN)
quint64 result = _xgetbv(in);
eax = result;
edx = result >> 32;
#endif #endif
} }

View File

@ -197,6 +197,8 @@ private:
template <class T, int Prealloc> template <class T, int Prealloc>
Q_INLINE_TEMPLATE QVarLengthArray<T, Prealloc>::QVarLengthArray(int asize) Q_INLINE_TEMPLATE QVarLengthArray<T, Prealloc>::QVarLengthArray(int asize)
: s(asize) { : s(asize) {
Q_STATIC_ASSERT_X(Prealloc > 0, "QVarLengthArray Prealloc must be greater than 0.");
Q_ASSERT_X(s >= 0, "QVarLengthArray::QVarLengthArray()", "Size must be greater than or equal to 0.");
if (s > Prealloc) { if (s > Prealloc) {
ptr = reinterpret_cast<T *>(malloc(s * sizeof(T))); ptr = reinterpret_cast<T *>(malloc(s * sizeof(T)));
Q_CHECK_PTR(ptr); Q_CHECK_PTR(ptr);

View File

@ -398,7 +398,8 @@ QVector<T> &QVector<T>::operator=(const QVector<T> &v)
template <typename T> template <typename T>
QVector<T>::QVector(int asize) QVector<T>::QVector(int asize)
{ {
if (Q_LIKELY(asize)) { Q_ASSERT_X(asize >= 0, "QVector::QVector", "Size must be greater than or equal to 0.");
if (Q_LIKELY(asize > 0)) {
d = Data::allocate(asize); d = Data::allocate(asize);
d->size = asize; d->size = asize;
defaultConstruct(d->begin(), d->end()); defaultConstruct(d->begin(), d->end());
@ -410,7 +411,8 @@ QVector<T>::QVector(int asize)
template <typename T> template <typename T>
QVector<T>::QVector(int asize, const T &t) QVector<T>::QVector(int asize, const T &t)
{ {
if (asize) { Q_ASSERT_X(asize >= 0, "QVector::QVector", "Size must be greater than or equal to 0.");
if (asize > 0) {
d = Data::allocate(asize); d = Data::allocate(asize);
d->size = asize; d->size = asize;
T* i = d->end(); T* i = d->end();

View File

@ -782,12 +782,14 @@ static void init_platform(const QString &pluginArgument, const QString &platform
QGuiApplicationPrivate::platform_name = new QString(name); QGuiApplicationPrivate::platform_name = new QString(name);
} else { } else {
QStringList keys = QPlatformIntegrationFactory::keys(platformPluginPath); QStringList keys = QPlatformIntegrationFactory::keys(platformPluginPath);
QString fatalMessage =
QString::fromLatin1("Failed to load platform plugin \"%1\". Available platforms are: \n").arg(name); QString fatalMessage
foreach(const QString &key, keys) { = QStringLiteral("Failed to find or load platform plugin \"%1\".\n").arg(name);
fatalMessage.append(key + QLatin1Char('\n')); if (!keys.isEmpty())
} fatalMessage += QStringLiteral("Available platforms are: %1\n").arg(
qFatal("%s", fatalMessage.toLocal8Bit().constData()); keys.join(QStringLiteral(", ")));
fatalMessage += QStringLiteral("GUI applications require a platform plugin. Terminating.");
qFatal(qPrintable(fatalMessage));
return; return;
} }
@ -2251,8 +2253,8 @@ void QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::E
if (!p->receivedExpose) { if (!p->receivedExpose) {
if (p->resizeEventPending) { if (p->resizeEventPending) {
// as a convenience for plugins, send a resize event before the first expose event if they haven't done so // as a convenience for plugins, send a resize event before the first expose event if they haven't done so
QSize size = p->geometry.size(); // window->geometry() should have a valid size as soon as a handle exists.
QResizeEvent e(size, size); QResizeEvent e(window->geometry().size(), p->geometry.size());
QGuiApplication::sendSpontaneousEvent(window, &e); QGuiApplication::sendSpontaneousEvent(window, &e);
p->resizeEventPending = false; p->resizeEventPending = false;

View File

@ -96,7 +96,7 @@ private:
friend class QOpenGLContextGroupPrivate; friend class QOpenGLContextGroupPrivate;
friend class QOpenGLMultiGroupSharedResource; friend class QOpenGLMultiGroupSharedResource;
Q_DISABLE_COPY(QOpenGLSharedResource); Q_DISABLE_COPY(QOpenGLSharedResource)
}; };
class Q_GUI_EXPORT QOpenGLSharedResourceGuard : public QOpenGLSharedResource class Q_GUI_EXPORT QOpenGLSharedResourceGuard : public QOpenGLSharedResource

View File

@ -441,7 +441,7 @@ public:
} }
} }
private: private:
Q_DISABLE_COPY(WindowSystemEventList); Q_DISABLE_COPY(WindowSystemEventList)
}; };
static WindowSystemEventList windowSystemEventQueue; static WindowSystemEventList windowSystemEventQueue;

View File

@ -1064,7 +1064,6 @@ QImage QOpenGLFramebufferObject::toImage() const
/*! /*!
\fn bool QOpenGLFramebufferObject::bindDefault() \fn bool QOpenGLFramebufferObject::bindDefault()
\internal
Switches rendering back to the default, windowing system provided Switches rendering back to the default, windowing system provided
framebuffer. framebuffer.

View File

@ -147,6 +147,9 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
return; return;
} }
GLint oldFbo;
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &oldFbo);
int oldWidth = m_textureResource->m_width; int oldWidth = m_textureResource->m_width;
int oldHeight = m_textureResource->m_height; int oldHeight = m_textureResource->m_height;
@ -265,7 +268,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
glDeleteTextures(1, &tmp_texture); glDeleteTextures(1, &tmp_texture);
glDeleteTextures(1, &oldTexture); glDeleteTextures(1, &oldTexture);
funcs.glBindFramebuffer(GL_FRAMEBUFFER, ctx->d_func()->current_fbo); funcs.glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo);
if (pex != 0) { if (pex != 0) {
glViewport(0, 0, pex->width, pex->height); glViewport(0, 0, pex->width, pex->height);

View File

@ -1316,6 +1316,12 @@ void QFontEngineFT::doKerning(QGlyphLayout *g, QFontEngine::ShaperFlags flags) c
unlockFace(); unlockFace();
} }
} }
if (shouldUseDesignMetrics(flags) && !(fontDef.styleStrategy & QFont::ForceIntegerMetrics))
flags |= DesignMetrics;
else
flags &= ~DesignMetrics;
QFontEngine::doKerning(g, flags); QFontEngine::doKerning(g, flags);
} }
@ -1571,12 +1577,18 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
return true; return true;
} }
bool QFontEngineFT::shouldUseDesignMetrics(QFontEngine::ShaperFlags flags) const
{
if (!FT_IS_SCALABLE(freetype->face))
return false;
return default_hint_style == HintNone || default_hint_style == HintLight || (flags & DesignMetrics);
}
void QFontEngineFT::recalcAdvances(QGlyphLayout *glyphs, QFontEngine::ShaperFlags flags) const void QFontEngineFT::recalcAdvances(QGlyphLayout *glyphs, QFontEngine::ShaperFlags flags) const
{ {
FT_Face face = 0; FT_Face face = 0;
bool design = (default_hint_style == HintNone || bool design = shouldUseDesignMetrics(flags);
default_hint_style == HintLight ||
(flags & DesignMetrics)) && FT_IS_SCALABLE(freetype->face);
for (int i = 0; i < glyphs->numGlyphs; i++) { for (int i = 0; i < glyphs->numGlyphs; i++) {
Glyph *g = cacheEnabled ? defaultGlyphSet.getGlyph(glyphs->glyphs[i]) : 0; Glyph *g = cacheEnabled ? defaultGlyphSet.getGlyph(glyphs->glyphs[i]) : 0;
// Since we are passing Format_None to loadGlyph, use same default format logic as loadGlyph // Since we are passing Format_None to loadGlyph, use same default format logic as loadGlyph

View File

@ -325,6 +325,7 @@ private:
friend class QFontEngineMultiFontConfig; friend class QFontEngineMultiFontConfig;
int loadFlags(QGlyphSet *set, GlyphFormat format, int flags, bool &hsubpixel, int &vfactor) const; int loadFlags(QGlyphSet *set, GlyphFormat format, int flags, bool &hsubpixel, int &vfactor) const;
bool shouldUseDesignMetrics(ShaperFlags flags) const;
GlyphFormat defaultFormat; GlyphFormat defaultFormat;
FT_Matrix matrix; FT_Matrix matrix;

View File

@ -125,6 +125,7 @@ public:
bool m_forceToActiveWindow; bool m_forceToActiveWindow;
QTouchDevice *m_device; QTouchDevice *m_device;
bool m_typeB; bool m_typeB;
QTransform m_rotate;
}; };
QEvdevTouchScreenData::QEvdevTouchScreenData(QEvdevTouchScreenHandler *q_ptr, const QStringList &args) QEvdevTouchScreenData::QEvdevTouchScreenData(QEvdevTouchScreenHandler *q_ptr, const QStringList &args)
@ -177,10 +178,24 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
QStringList args = spec.split(QLatin1Char(':')); QStringList args = spec.split(QLatin1Char(':'));
int rotationAngle = 0;
for (int i = 0; i < args.count(); ++i) { for (int i = 0; i < args.count(); ++i) {
if (args.at(i).startsWith(QLatin1String("/dev/"))) { if (args.at(i).startsWith(QLatin1String("/dev/")) && dev.isEmpty()) {
dev = args.at(i); dev = args.at(i);
break; } else if (args.at(i).startsWith(QLatin1String("rotate"))) {
QString rotateArg = args.at(i).section(QLatin1Char('='), 1, 1);
bool ok;
uint argValue = rotateArg.toUInt(&ok);
if (ok) {
switch (argValue) {
case 90:
case 180:
case 270:
rotationAngle = argValue;
default:
break;
}
}
} }
} }
@ -265,6 +280,9 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
#endif #endif
qDebug("Protocol type %c %s", d->m_typeB ? 'B' : 'A', mtdevStr); qDebug("Protocol type %c %s", d->m_typeB ? 'B' : 'A', mtdevStr);
if (rotationAngle)
d->m_rotate = QTransform::fromTranslate(0.5, 0.5).rotate(rotationAngle).translate(-0.5, -0.5);
d->registerDevice(); d->registerDevice();
} }
@ -421,6 +439,11 @@ void QEvdevTouchScreenData::processInputEvent(input_event *data)
tp.normalPosition = QPointF((contact.x - hw_range_x_min) / qreal(hw_range_x_max - hw_range_x_min), tp.normalPosition = QPointF((contact.x - hw_range_x_min) / qreal(hw_range_x_max - hw_range_x_min),
(contact.y - hw_range_y_min) / qreal(hw_range_y_max - hw_range_y_min)); (contact.y - hw_range_y_min) / qreal(hw_range_y_max - hw_range_y_min));
if (!m_rotate.isIdentity())
tp.normalPosition = m_rotate.map(tp.normalPosition);
tp.rawPositions.append(QPointF(contact.x, contact.y));
m_touchPoints.append(tp); m_touchPoints.append(tp);
if (contact.state == Qt::TouchPointReleased) if (contact.state == Qt::TouchPointReleased)
@ -513,9 +536,10 @@ void QEvdevTouchScreenData::reportPoints()
QWindowSystemInterface::TouchPoint &tp(m_touchPoints[i]); QWindowSystemInterface::TouchPoint &tp(m_touchPoints[i]);
// Generate a screen position that is always inside the active window // Generate a screen position that is always inside the active window
// or the primary screen. // or the primary screen. Even though we report this as a QRectF, internally
const qreal wx = winRect.left() + tp.normalPosition.x() * winRect.width(); // Qt uses QRect/QPoint so we need to bound the size to winRect.size() - QSize(1, 1)
const qreal wy = winRect.top() + tp.normalPosition.y() * winRect.height(); const qreal wx = winRect.left() + tp.normalPosition.x() * (winRect.width() - 1);
const qreal wy = winRect.top() + tp.normalPosition.y() * (winRect.height() - 1);
const qreal sizeRatio = (winRect.width() + winRect.height()) / qreal(hw_w + hw_h); const qreal sizeRatio = (winRect.width() + winRect.height()) / qreal(hw_w + hw_h);
if (tp.area.width() == -1) // touch major was not provided if (tp.area.width() == -1) // touch major was not provided
tp.area = QRectF(0, 0, 8, 8); tp.area = QRectF(0, 0, 8, 8);

View File

@ -74,7 +74,6 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, ConnmanMap &map)
return argument; return argument;
} }
static QDBusConnection dbusConnection = QDBusConnection::systemBus();
QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent) QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent)
: QDBusAbstractInterface(QLatin1String(CONNMAN_SERVICE), : QDBusAbstractInterface(QLatin1String(CONNMAN_SERVICE),
QLatin1String(CONNMAN_MANAGER_PATH), QLatin1String(CONNMAN_MANAGER_PATH),
@ -98,7 +97,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal)
QLatin1String(CONNMAN_MANAGER_INTERFACE), QLatin1String(CONNMAN_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(QString,QDBusVariant)))) { this,SIGNAL(propertyChanged(QString,QDBusVariant)))) {
qWarning() << "PropertyCHanged not connected"; qWarning() << "PropertyChanged not connected";
} }
} }
@ -118,7 +117,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal)
QConnmanDBusHelper *helper; QConnmanDBusHelper *helper;
helper = new QConnmanDBusHelper(this); helper = new QConnmanDBusHelper(this);
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE), QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
QLatin1String(CONNMAN_MANAGER_PATH), QLatin1String(CONNMAN_MANAGER_PATH),
QLatin1String(CONNMAN_MANAGER_INTERFACE), QLatin1String(CONNMAN_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
@ -379,7 +378,7 @@ void QConnmanProfileInterface::connectNotify(const QMetaMethod &signal)
{ {
static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanProfileInterface::propertyChanged); static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanProfileInterface::propertyChanged);
if (signal == propertyChangedSignal) { if (signal == propertyChangedSignal) {
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE), QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
this->path(), this->path(),
QLatin1String(CONNMAN_PROFILE_INTERFACE), QLatin1String(CONNMAN_PROFILE_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
@ -449,7 +448,7 @@ void QConnmanServiceInterface::connectNotify(const QMetaMethod &signal)
{ {
static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanServiceInterface::propertyChanged); static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanServiceInterface::propertyChanged);
if (signal == propertyChangedSignal) { if (signal == propertyChangedSignal) {
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE), QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
this->path(), this->path(),
QLatin1String(CONNMAN_SERVICE_INTERFACE), QLatin1String(CONNMAN_SERVICE_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
@ -460,7 +459,7 @@ void QConnmanServiceInterface::connectNotify(const QMetaMethod &signal)
QConnmanDBusHelper *helper; QConnmanDBusHelper *helper;
helper = new QConnmanDBusHelper(this); helper = new QConnmanDBusHelper(this);
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE), QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
this->path(), this->path(),
QLatin1String(CONNMAN_SERVICE_INTERFACE), QLatin1String(CONNMAN_SERVICE_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
@ -514,9 +513,6 @@ void QConnmanServiceInterface::remove()
QDBusReply<QVariantMap> reply = this->call(QLatin1String("Remove")); QDBusReply<QVariantMap> reply = this->call(QLatin1String("Remove"));
} }
// void moveBefore(QDBusObjectPath &service);
// void moveAfter(QDBusObjectPath &service);
// properties // properties
QString QConnmanServiceInterface::getState() QString QConnmanServiceInterface::getState()
{ {
@ -779,7 +775,7 @@ void QConnmanTechnologyInterface::connectNotify(const QMetaMethod &signal)
{ {
static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanTechnologyInterface::propertyChanged); static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanTechnologyInterface::propertyChanged);
if (signal == propertyChangedSignal) { if (signal == propertyChangedSignal) {
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE), QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
this->path(), this->path(),
QLatin1String(CONNMAN_TECHNOLOGY_INTERFACE), QLatin1String(CONNMAN_TECHNOLOGY_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
@ -790,7 +786,7 @@ void QConnmanTechnologyInterface::connectNotify(const QMetaMethod &signal)
QConnmanDBusHelper *helper; QConnmanDBusHelper *helper;
helper = new QConnmanDBusHelper(this); helper = new QConnmanDBusHelper(this);
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE), QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
this->path(), this->path(),
QLatin1String(CONNMAN_TECHNOLOGY_INTERFACE), QLatin1String(CONNMAN_TECHNOLOGY_INTERFACE),
QLatin1String("PropertyChanged"), QLatin1String("PropertyChanged"),
@ -861,23 +857,11 @@ QConnmanAgentInterface::~QConnmanAgentInterface()
void QConnmanAgentInterface::connectNotify(const QMetaMethod &signal) void QConnmanAgentInterface::connectNotify(const QMetaMethod &signal)
{ {
Q_UNUSED(signal); Q_UNUSED(signal);
// static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanAgentInterface::propertyChanged);
// if (signal == propertyChangedSignal) {
// dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
// this->path(),
// QLatin1String(CONNMAN_NETWORK_INTERFACE),
// QLatin1String("PropertyChanged"),
// this,SIGNAL(propertyChanged(QString,QVariant&)));
// }
} }
void QConnmanAgentInterface::disconnectNotify(const QMetaMethod &signal) void QConnmanAgentInterface::disconnectNotify(const QMetaMethod &signal)
{ {
Q_UNUSED(signal); Q_UNUSED(signal);
// static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanAgentInterface::propertyChanged);
// if (signal == propertyChangedSignal) {
// }
} }
@ -889,10 +873,6 @@ void QConnmanAgentInterface::reportError(QDBusObjectPath &/*path*/, const QStrin
{ {
} }
//dict QConnmanAgentInterface::requestInput(QDBusObjectPath &path, dict fields)
//{
//}
void QConnmanAgentInterface::cancel() void QConnmanAgentInterface::cancel()
{ {
} }

View File

@ -151,8 +151,7 @@
[kids addObject: element]; [kids addObject: element];
[element release]; [element release];
} }
// ### maybe we should use NSAccessibilityUnignoredChildren(kids); this needs more profiling return NSAccessibilityUnignoredChildren(kids);
return kids;
} else if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) { } else if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) {
// Just check if the app thinks we're focused. // Just check if the app thinks we're focused.
@ -272,8 +271,7 @@
// No child found, meaning we hit this element. // No child found, meaning we hit this element.
if (!childInterface) { if (!childInterface) {
// qDebug() << "Hit test returns: " << id << iface; // qDebug() << "Hit test returns: " << id << iface;
return self; return NSAccessibilityUnignoredAncestor(self);
//return NSAccessibilityUnignoredAncestor(self);
} }
QAccessible::Id childId = QAccessible::uniqueId(childInterface); QAccessible::Id childId = QAccessible::uniqueId(childInterface);

Some files were not shown because too many files have changed in this diff Show More