Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
This commit is contained in:
commit
2dd7f02bb9
@ -14,8 +14,8 @@ TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas
|
||||
Agreement version 2.4
|
||||
|
||||
This Technology Preview License Agreement ("Agreement")is a legal agreement
|
||||
between Digia USA, Inc. ("Digia"), with its registered office at 32 W.
|
||||
Loockerman Street, Suite 201, City of Dover, County of Kent, Delaware 19904,
|
||||
between Digia USA, Inc. ("Digia"), with its registered office at 2350
|
||||
Mission College Blvd., Suite 1020, Santa Clara, California 95054,
|
||||
U.S.A. and you (either an individual or a legal entity) ("Licensee") for the
|
||||
Licensed Software (as defined below).
|
||||
|
||||
|
109
bin/syncqt.pl
109
bin/syncqt.pl
@ -171,6 +171,30 @@ sub checkRelative {
|
||||
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)
|
||||
# Params: iheader, string, filename to parse for classname "symlinks"
|
||||
@ -382,6 +406,32 @@ sub 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)
|
||||
# Params: file1, string, filename of first file
|
||||
@ -802,6 +852,12 @@ foreach my $lib (@modules_to_sync) {
|
||||
my $pri_install_pfiles = "";
|
||||
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
|
||||
if($remove_stale) {
|
||||
my %injections = ();
|
||||
@ -867,15 +923,8 @@ foreach my $lib (@modules_to_sync) {
|
||||
#calc files and "copy" them
|
||||
foreach my $subdir (@subdirs) {
|
||||
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 = "";
|
||||
foreach my $header (@headers) {
|
||||
my $shadow = ($header =~ s/^\*//);
|
||||
$header = 0 if($header =~ /^ui_.*.h/);
|
||||
foreach (@ignore_headers) {
|
||||
$header = 0 if($header eq $_);
|
||||
@ -897,7 +946,6 @@ foreach my $lib (@modules_to_sync) {
|
||||
}
|
||||
|
||||
my $iheader = $subdir . "/" . $header;
|
||||
$iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow);
|
||||
my @classes = $public_header && !$minimal ? classNames($iheader) : ();
|
||||
if($showonly) {
|
||||
print "$header [$lib]\n";
|
||||
@ -938,10 +986,13 @@ foreach my $lib (@modules_to_sync) {
|
||||
}
|
||||
|
||||
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) {
|
||||
#put it into the master file
|
||||
$master_contents .= "#include \"$public_header\"\n" if (shouldMasterInclude($iheader));
|
||||
|
||||
#deal with the install directives
|
||||
if($public_header) {
|
||||
my $pri_install_iheader = fixPaths($iheader, $dir);
|
||||
@ -1000,6 +1051,11 @@ foreach my $lib (@modules_to_sync) {
|
||||
}
|
||||
}
|
||||
|
||||
# close the master include:
|
||||
$master_contents .=
|
||||
"#include \"".lc($lib)."version.h\"\n" .
|
||||
"#endif\n";
|
||||
|
||||
unless ($showonly || $minimal) {
|
||||
# create deprecated headers
|
||||
my $first = 1;
|
||||
@ -1068,6 +1124,23 @@ foreach my $lib (@modules_to_sync) {
|
||||
syncHeader($lib, $VHeader, $vheader, 0);
|
||||
$pri_install_files .= 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
|
||||
my $headers_pri_contents = "";
|
||||
@ -1076,23 +1149,7 @@ foreach my $lib (@modules_to_sync) {
|
||||
$headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
|
||||
$headers_pri_contents .= "SYNCQT.QPA_HEADER_FILES = $pri_install_qpafiles\n";
|
||||
my $headers_pri_file = "$out_basedir/include/$lib/headers.pri";
|
||||
if(-e $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);
|
||||
}
|
||||
writeFile($headers_pri_file, $headers_pri_contents, $lib, "headers.pri file");
|
||||
}
|
||||
}
|
||||
unless($showonly || !$create_uic_class_map) {
|
||||
|
41
configure
vendored
41
configure
vendored
@ -2389,13 +2389,6 @@ fi
|
||||
if [ "$OPT_SHADOW" = "yes" ]; then
|
||||
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"
|
||||
|
||||
# save a pre-existing mkspecs/modules dir
|
||||
@ -3895,7 +3888,14 @@ fi
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# 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
|
||||
fi
|
||||
|
||||
@ -4028,6 +4028,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
|
||||
|
||||
echo "BUILD_PATH = $adjoutpath" >> "$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 "QT_VERSION = $QT_VERSION" >> "$mkfile"
|
||||
echo "EXTRA_CFLAGS = $EXTRA_CFLAGS" >> "$mkfile"
|
||||
@ -6419,9 +6424,23 @@ else
|
||||
[ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
|
||||
mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
|
||||
chmod -w "$outpath/src/corelib/global/qconfig.h"
|
||||
if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
|
||||
ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
|
||||
fi
|
||||
fi
|
||||
|
||||
# create a forwarding header
|
||||
mkdir -p "$outpath/include/QtCore" || exit
|
||||
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
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
@ -32,7 +32,7 @@
|
||||
\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
|
||||
QDirModel class to provide file and directory information.
|
||||
QFileSystemModel class to provide file and directory information.
|
||||
|
||||
\image dirview-example.png
|
||||
*/
|
||||
|
@ -46,6 +46,12 @@ if exist "%frameworkdir%\%jarfile%" goto JarFileOk
|
||||
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
|
||||
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
|
||||
|
||||
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_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
|
||||
|
||||
exists($$MODULE_PROFILE_DIR/.git): \
|
||||
CONFIG += git_build
|
||||
|
||||
!prefix_build {
|
||||
QTDIR = $$[QT_HOST_PREFIX]
|
||||
# Permit modules to enforce being built outside QTDIR ...
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
load(qt_build_paths)
|
||||
|
||||
!build_pass {
|
||||
!build_pass:git_build {
|
||||
qtPrepareTool(QMAKE_SYNCQT, syncqt)
|
||||
minimal_syncqt {
|
||||
QMAKE_SYNCQT += -minimal $$QMAKE_SYNCQT_OPTIONS
|
||||
@ -29,66 +29,25 @@ load(qt_build_paths)
|
||||
minimal_syncqt: return()
|
||||
|
||||
#load up the headers info
|
||||
include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true)
|
||||
|
||||
lctarget = $$lower($$MODULE_INCNAME)
|
||||
uctarget = $$upper($$MODULE_INCNAME)
|
||||
|
||||
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)
|
||||
}
|
||||
git_build: \
|
||||
INC_PATH = $$MODULE_BASE_OUTDIR
|
||||
else: \
|
||||
INC_PATH = $$MODULE_BASE_DIR
|
||||
include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
|
||||
|
||||
autogen_warning = \
|
||||
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
|
||||
|
||||
# Create module version header
|
||||
MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$)
|
||||
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
|
||||
# Create a module master depends header
|
||||
MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends
|
||||
!build_pass {
|
||||
MODULE_MASTER_HEADER_CONT = \
|
||||
$$autogen_warning \
|
||||
"$${LITERAL_HASH}ifndef QT_$${ucmodule}_MODULE_H" \
|
||||
"$${LITERAL_HASH}define QT_$${ucmodule}_MODULE_H"
|
||||
MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning
|
||||
for(dep, MODULE_DEPENDS) {
|
||||
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): \
|
||||
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.")
|
||||
write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.")
|
||||
}
|
||||
SYNCQT.HEADER_FILES += $$MODULE_MASTER_HEADER
|
||||
SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
|
||||
|
||||
CONFIG += qt_install_headers
|
||||
|
@ -52,9 +52,22 @@ else: \
|
||||
else: \
|
||||
module_config =
|
||||
!no_module_headers:!minimal_syncqt {
|
||||
MODULE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME"
|
||||
MODULE_PRIVATE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
|
||||
\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME"
|
||||
MODULE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME
|
||||
MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
|
||||
\$\$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 = \
|
||||
"QT.$${MODULE}.VERSION = $${VERSION}" \
|
||||
@ -97,7 +110,8 @@ else: \
|
||||
"QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
|
||||
"QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
|
||||
"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.")
|
||||
touch($$MODULE_FWD_PRI, $$MODULE_PRI)
|
||||
MODULE_PRI_FILES += $$MODULE_FWD_PRI
|
||||
|
@ -85,8 +85,8 @@ DEPEND_SRC = \
|
||||
CPPFLAGS = -g $(EXTRA_CPPFLAGS) \
|
||||
-I$(QMKSRC) -I$(QMKLIBSRC) -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$(QMAKESPEC) \
|
||||
-I$(SOURCE_PATH)/tools/shared \
|
||||
|
@ -34,7 +34,7 @@ CFLAGS_BARE = -c -Fo./ \
|
||||
-W3 -nologo -O1 \
|
||||
$(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$(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$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \
|
||||
-I$(SOURCE_PATH)\tools\shared \
|
||||
|
@ -29,6 +29,11 @@ SOURCES += \
|
||||
# qlibraryinfo.cpp includes qconfig.cpp
|
||||
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
|
||||
PRECOMPILED_HEADER = global/qt_pch.h
|
||||
|
||||
|
@ -2527,7 +2527,7 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile,
|
||||
character in keys. In addition, if you save a top-level
|
||||
setting (a key with no slashes in it, e.g., "someKey"), it
|
||||
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
|
||||
"%General" section, \e not in the "General" section.
|
||||
|
||||
|
@ -99,6 +99,7 @@ QSizeF QEglFSHooks::physicalScreenSize() const
|
||||
struct fb_var_screeninfo vinfo;
|
||||
int w = -1;
|
||||
int h = -1;
|
||||
QSize screenResolution;
|
||||
|
||||
if (framebuffer != -1) {
|
||||
if (ioctl(framebuffer, FBIOGET_VSCREENINFO, &vinfo) == -1) {
|
||||
@ -106,12 +107,15 @@ QSizeF QEglFSHooks::physicalScreenSize() const
|
||||
} else {
|
||||
w = vinfo.width;
|
||||
h = vinfo.height;
|
||||
screenResolution = QSize(vinfo.xres, vinfo.yres);
|
||||
}
|
||||
} else {
|
||||
screenResolution = screenSize();
|
||||
}
|
||||
|
||||
const int defaultPhysicalDpi = 100;
|
||||
size.setWidth(w <= 0 ? vinfo.xres * Q_MM_PER_INCH / defaultPhysicalDpi : qreal(w));
|
||||
size.setHeight(h <= 0 ? vinfo.yres * Q_MM_PER_INCH / defaultPhysicalDpi : qreal(h));
|
||||
size.setWidth(w <= 0 ? screenResolution.width() * Q_MM_PER_INCH / defaultPhysicalDpi : qreal(w));
|
||||
size.setHeight(h <= 0 ? screenResolution.height() * Q_MM_PER_INCH / defaultPhysicalDpi : qreal(h));
|
||||
|
||||
if (w <= 0 || h <= 0) {
|
||||
qWarning("EGLFS: Unable to query physical screen size, defaulting to %d dpi.\n"
|
||||
|
@ -68,11 +68,11 @@ QEglFSWindow::~QEglFSWindow()
|
||||
|
||||
void QEglFSWindow::create()
|
||||
{
|
||||
setWindowState(Qt::WindowFullScreen);
|
||||
|
||||
if (m_window)
|
||||
return;
|
||||
|
||||
setWindowState(Qt::WindowFullScreen);
|
||||
|
||||
if (window()->type() == Qt::Desktop) {
|
||||
QRect rect(QPoint(), QEglFSHooks::hooks()->screenSize());
|
||||
QPlatformWindow::setGeometry(rect);
|
||||
|
@ -1089,7 +1089,7 @@ QStringList Config::getFilesHere(const QString& uncleanDir,
|
||||
const QSet<QString> &excludedDirs,
|
||||
const QSet<QString> &excludedFiles)
|
||||
{
|
||||
QString dir = location.isEmpty() ? QDir::cleanPath(uncleanDir) : Location::canonicalRelativePath(uncleanDir);
|
||||
QString dir = location.isEmpty() ? QDir::cleanPath(uncleanDir) : QDir(uncleanDir).canonicalPath();
|
||||
QStringList result;
|
||||
if (excludedDirs.contains(dir))
|
||||
return result;
|
||||
|
@ -587,8 +587,8 @@ QT_CLASS_LIB(QFontDialog, QtWidgets, qfontdialog.h)
|
||||
QT_CLASS_LIB(QInputDialog, QtWidgets, qinputdialog.h)
|
||||
QT_CLASS_LIB(QMessageBox, QtWidgets, qmessagebox.h)
|
||||
QT_CLASS_LIB(QPageSetupDialog, QtWidgets, qpagesetupdialog.h)
|
||||
QT_CLASS_LIB(QPrintDialog, QtWidgets, qprintdialog.h)
|
||||
QT_CLASS_LIB(QPrintPreviewDialog, QtWidgets, qprintpreviewdialog.h)
|
||||
QT_CLASS_LIB(QPrintDialog, QtPrintSupport, qprintdialog.h)
|
||||
QT_CLASS_LIB(QPrintPreviewDialog, QtPrintSupport, qprintpreviewdialog.h)
|
||||
QT_CLASS_LIB(QProgressDialog, QtWidgets, qprogressdialog.h)
|
||||
QT_CLASS_LIB(QWizard, QtWidgets, qwizard.h)
|
||||
QT_CLASS_LIB(QWizardPage, QtWidgets, qwizard.h)
|
||||
@ -944,7 +944,7 @@ QT_CLASS_LIB(QMenuBar, QtWidgets, qmenubar.h)
|
||||
QT_CLASS_LIB(QMenuItem, QtWidgets, qmenudata.h)
|
||||
QT_CLASS_LIB(QPlainTextEdit, QtWidgets, qplaintextedit.h)
|
||||
QT_CLASS_LIB(QPlainTextDocumentLayout, QtWidgets, qplaintextedit.h)
|
||||
QT_CLASS_LIB(QPrintPreviewWidget, QtWidgets, qprintpreviewwidget.h)
|
||||
QT_CLASS_LIB(QPrintPreviewWidget, QtPrintSupport, qprintpreviewwidget.h)
|
||||
QT_CLASS_LIB(QProgressBar, QtWidgets, qprogressbar.h)
|
||||
QT_CLASS_LIB(QPushButton, QtWidgets, qpushbutton.h)
|
||||
QT_CLASS_LIB(QRadioButton, QtWidgets, qradiobutton.h)
|
||||
|
@ -24,7 +24,6 @@
|
||||
%classnames = (
|
||||
"qglobal.h" => "QtGlobal",
|
||||
"qendian.h" => "QtEndian",
|
||||
"qconfig.h" => "QtConfig",
|
||||
"qplugin.h" => "QtPlugin",
|
||||
"qalgorithms.h" => "QtAlgorithms",
|
||||
"qcontainerfwd.h" => "QtContainerFwd",
|
||||
|
@ -1841,7 +1841,7 @@ bool Configure::displayHelp()
|
||||
desc("BUILD_QMAKE", "no", "-no-qmake", "Do not compile qmake.");
|
||||
desc("BUILD_QMAKE", "yes", "-qmake", "Compile qmake.\n");
|
||||
|
||||
desc("PROCESS", "partial", "-process", "Generate top-level Makefiles/Project files.");
|
||||
desc("PROCESS", "partial", "-process", "Generate only top-level Makefile.");
|
||||
desc("PROCESS", "full", "-fully-process", "Generate Makefiles/Project files for the entire Qt\ntree.");
|
||||
desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files.\n");
|
||||
|
||||
@ -1987,7 +1987,7 @@ QString Configure::defaultTo(const QString &option)
|
||||
return "auto";
|
||||
|
||||
if (option == "SYNCQT"
|
||||
&& (!QFile::exists(sourcePath + "/bin/syncqt.pl")))
|
||||
&& (!QFile::exists(sourcePath + "/.git")))
|
||||
return "no";
|
||||
|
||||
// Do not actually build the examples in production builds with -prefix, unless requested
|
||||
@ -3351,6 +3351,37 @@ void Configure::generateConfigfiles()
|
||||
tmpFile.close();
|
||||
}
|
||||
|
||||
QTemporaryFile tmpFile2;
|
||||
if (tmpFile2.open()) {
|
||||
tmpStream.setDevice(&tmpFile2);
|
||||
tmpStream << "#include \"../../src/corelib/global/qconfig.h\"" << endl;
|
||||
|
||||
tmpStream.flush();
|
||||
tmpFile2.flush();
|
||||
|
||||
outName = buildPath + "/include/QtCore/qconfig.h";
|
||||
::SetFileAttributes((wchar_t*)outName.utf16(), FILE_ATTRIBUTE_NORMAL);
|
||||
QFile::remove(outName);
|
||||
|
||||
tmpFile2.copy(outName);
|
||||
tmpFile2.close();
|
||||
}
|
||||
QTemporaryFile tmpFile2a;
|
||||
if (tmpFile2a.open()) {
|
||||
tmpStream.setDevice(&tmpFile2a);
|
||||
tmpStream << "#include \"qconfig.h\"" << endl;
|
||||
|
||||
tmpStream.flush();
|
||||
tmpFile2a.flush();
|
||||
|
||||
outName = buildPath + "/include/QtCore/QtConfig";
|
||||
::SetFileAttributes((wchar_t*)outName.utf16(), FILE_ATTRIBUTE_NORMAL);
|
||||
QFile::remove(outName);
|
||||
|
||||
tmpFile2a.copy(outName);
|
||||
tmpFile2a.close();
|
||||
}
|
||||
|
||||
QTemporaryFile tmpFile3;
|
||||
if (tmpFile3.open()) {
|
||||
tmpStream.setDevice(&tmpFile3);
|
||||
@ -3779,7 +3810,10 @@ void Configure::buildQmake()
|
||||
QTextStream stream(&out);
|
||||
stream << "#AutoGenerated by configure.exe" << endl
|
||||
<< "BUILD_PATH = " << QDir::toNativeSeparators(buildPath) << endl
|
||||
<< "SOURCE_PATH = " << QDir::toNativeSeparators(sourcePath) << endl;
|
||||
<< "SOURCE_PATH = " << QDir::toNativeSeparators(sourcePath) << endl
|
||||
<< "INC_PATH = " << QDir::toNativeSeparators(
|
||||
(QFile::exists(sourcePath + "/.git") ? buildPath : sourcePath)
|
||||
+ "/include") << endl;
|
||||
stream << "QT_VERSION = " << dictionary["VERSION"] << endl;
|
||||
if (dictionary[ "QMAKESPEC" ] == QString("win32-g++")) {
|
||||
stream << "QMAKESPEC = $(SOURCE_PATH)\\mkspecs\\win32-g++" << endl
|
||||
@ -3920,7 +3954,8 @@ void Configure::generateMakefiles()
|
||||
{
|
||||
QString dirName;
|
||||
bool generate = true;
|
||||
bool doDsp = (dictionary["VCPROJFILES"] == "yes");
|
||||
bool doDsp = (dictionary["VCPROJFILES"] == "yes"
|
||||
&& dictionary["PROCESS"] == "full");
|
||||
while (generate) {
|
||||
QString pwd = QDir::currentPath();
|
||||
QString dirPath = buildPath + dirName;
|
||||
|
Loading…
Reference in New Issue
Block a user