diff --git a/bin/syncqt.pl b/bin/syncqt.pl index 3bee0175fff..3b3e127e86e 100755 --- a/bin/syncqt.pl +++ b/bin/syncqt.pl @@ -190,8 +190,9 @@ sub shouldMasterInclude { } ###################################################################### -# Syntax: classNames(iheader) +# Syntax: classNames(iheader, clean) # Params: iheader, string, filename to parse for classname "symlinks" +# (out) clean, boolean, will be set to false if the header isn't clean # # Purpose: Scans through iheader to find all classnames that should be # synced into library's include structure. @@ -199,7 +200,8 @@ sub shouldMasterInclude { ###################################################################### sub classNames { my @ret; - my ($iheader) = @_; + my ($iheader, $clean) = @_; + $$clean = 1; my $ihdrbase = basename($iheader); my $classname = $classnames{$ihdrbase}; @@ -212,6 +214,7 @@ sub classNames { chomp $line; chop $line if ($line =~ /\r$/); if($line =~ /^\#/) { + $$clean = 0 if ($line =~ m/^#pragma qt_sync_skip_header_check/); return @ret if($line =~ m/^#pragma qt_sync_stop_processing/); push(@ret, $1) if($line =~ m/^#pragma qt_class\(([^)]*)\)[\r\n]*$/); $line = 0; @@ -828,6 +831,7 @@ foreach my $lib (@modules_to_sync) { my $pri_install_pfiles = ""; my $pri_install_qpafiles = ""; my $pri_injections = ""; + my $pri_clean_files = ""; my $libcapitals = uc($lib); my $master_contents = @@ -929,9 +933,10 @@ foreach my $lib (@modules_to_sync) { } } + my $clean_header; my $iheader = $subdir . "/" . $header; $iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow); - my @classes = $public_header && (!$minimal && $is_qt) ? classNames($iheader) : (); + my @classes = $public_header && (!$minimal && $is_qt) ? classNames($iheader, \$clean_header) : (); if($showonly) { print "$header [$lib]\n"; foreach(@classes) { @@ -980,6 +985,7 @@ foreach my $lib (@modules_to_sync) { $injection .= ":$class"; } $pri_install_files.= "$pri_install_iheader ";; + $pri_clean_files .= "$pri_install_iheader " if ($clean_header); } elsif ($qpa_header) { $pri_install_qpafiles.= "$pri_install_iheader ";; @@ -1120,6 +1126,7 @@ foreach my $lib (@modules_to_sync) { $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\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.CLEAN_HEADER_FILES = $pri_clean_files\n"; $headers_pri_contents .= "SYNCQT.INJECTIONS = $pri_injections\n"; my $headers_pri_file = "$out_basedir/include/$lib/headers.pri"; writeFile($headers_pri_file, $headers_pri_contents, $lib, "headers.pri file"); diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro index 623726c9f39..b63c75c0700 100644 --- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro +++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro @@ -2,8 +2,6 @@ SOURCES = eglfs-brcm.cpp CONFIG -= qt -INCLUDEPATH += $$[QT_SYSROOT]/opt/vc/include \ - $$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \ - $$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux +INCLUDEPATH += $$QMAKE_INCDIR_EGL -LIBS += -L$$[QT_SYSROOT]/opt/vc/lib -lEGL -lGLESv2 -lbcm_host +LIBS += -L$$QMAKE_LIBDIR_EGL -lEGL -lGLESv2 -lbcm_host diff --git a/configure b/configure index 4addf22896d..03421dfc4c4 100755 --- a/configure +++ b/configure @@ -762,6 +762,7 @@ QPA_PLATFORM_GUARD=yes CFG_CXX11=auto CFG_DIRECTWRITE=no CFG_WERROR=auto +CFG_HEADERSCLEAN=auto CFG_QREAL=double OPT_MAC_SDK= COMMERCIAL_USER=ask @@ -2240,6 +2241,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + headersclean) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_HEADERSCLEAN="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; xkb-config-root) CFG_XKB_CONFIG_ROOT="$VAL" ;; @@ -6712,8 +6720,16 @@ if [ "$CFG_DEV" = "yes" ]; then if [ "$CFG_WERROR" != "no" ]; then QMAKE_CONFIG="$QMAKE_CONFIG warnings_are_errors" fi -elif [ "$CFG_WERROR" = "yes" ]; then - QMAKE_CONFIG="$QMAKE_CONFIG warnings_are_errors" + if [ "$CFG_HEADERSCLEAN" != "no" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG headersclean" + fi +else + if [ "$CFG_WERROR" = "yes" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG warnings_are_errors" + fi + if [ "$CFG_HEADERSCLEAN" = "yes" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG headersclean" + fi fi cat >>"$QTCONFIG.tmp" <\n" \ " \n" \ "\n" \ "
\n" \ "
\n" \ - " \n" \ + " \n" \ "
\n" \ "
\n" \ " \n" \ diff --git a/doc/global/html-header-online.qdocconf b/doc/global/html-header-online.qdocconf index e6dcbe19fa1..aa67c439476 100644 --- a/doc/global/html-header-online.qdocconf +++ b/doc/global/html-header-online.qdocconf @@ -29,7 +29,7 @@ HTML.headerstyles = \ HTML.headerscripts = \ " \n" \ - " \n" \ + " \n" \ " \n" \ " \n" \ "