Merge remote-tracking branch 'origin/stable' into dev
Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
This commit is contained in:
commit
e2776b44a0
@ -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).
|
||||||
|
|
||||||
|
207
bin/syncqt.pl
207
bin/syncqt.pl
@ -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
45
configure
vendored
@ -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
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -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()
|
||||||
|
@ -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()
|
||||||
|
@ -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 \
|
||||||
|
@ -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$,,
|
||||||
|
@ -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%
|
||||||
|
@ -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 ...
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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 \
|
||||||
|
@ -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 \
|
||||||
|
@ -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")
|
||||||
|
@ -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";
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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()
|
||||||
|
@ -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, \
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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!
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -1031,7 +1031,7 @@ void QRegularExpressionPrivate::getPatternInfo()
|
|||||||
*/
|
*/
|
||||||
class QPcreJitStackPointer
|
class QPcreJitStackPointer
|
||||||
{
|
{
|
||||||
Q_DISABLE_COPY(QPcreJitStackPointer);
|
Q_DISABLE_COPY(QPcreJitStackPointer)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/*!
|
/*!
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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();
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -441,7 +441,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(WindowSystemEventList);
|
Q_DISABLE_COPY(WindowSystemEventList)
|
||||||
};
|
};
|
||||||
|
|
||||||
static WindowSystemEventList windowSystemEventQueue;
|
static WindowSystemEventList windowSystemEventQueue;
|
||||||
|
@ -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.
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -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
Loading…
Reference in New Issue
Block a user