From 0114a99bad161fb0e8de5a384e7e13c9a79f8c98 Mon Sep 17 00:00:00 2001
From: Aaron McCarthy <mccarthy.aaron@gmail.com>
Date: Sun, 4 Nov 2012 21:51:07 +1000
Subject: [PATCH] Fix missing namespace macro warnings when building Qt Addon
 modules.

Addon modules may not be in the standard Qt namespace and therefore do
not use the QT_{BEGIN,END}_NAMESPACE macros.  Instead module specific
QT_{BEGIN,END}_NAMESPACE_FOO macros are used.  Extend the syncqt test
to allow for this and ensure that the QT_END_NAMESPACE suffix matches
the QT_BEGIN_NAMESPACE suffix.

Change-Id: I33110c01118b0fb4376307db7447f747fc38bb29
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
---
 bin/syncqt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/bin/syncqt b/bin/syncqt
index 88f71357750..33dec2d9435 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -1172,6 +1172,7 @@ if($check_includes) {
                             if(open(F, "<$iheader")) {
                                 my $qt_begin_namespace_found = 0;
                                 my $qt_end_namespace_found = 0;
+                                my $qt_namespace_suffix = "";
                                 my $line;
                                 my $stop_processing = 0;
                                 while($line = <F>) {
@@ -1196,9 +1197,10 @@ if($check_includes) {
                                                 }
                                             }
                                         }
-                                    } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) {
+                                    } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE(_[A-Z_]+)?\s*$/) {
+                                        $qt_namespace_suffix = $1 // "";
                                         $qt_begin_namespace_found = 1;
-                                    } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) {
+                                    } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE$qt_namespace_suffix\s*$/) {
                                         $qt_end_namespace_found = 1;
                                     }
                                 }
@@ -1209,7 +1211,7 @@ if($check_includes) {
                                     }
 
                                     if ($qt_begin_namespace_found && $qt_end_namespace_found == 0) {
-                                        print "$lib: WARNING: $iheader has QT_BEGIN_NAMESPACE but no QT_END_NAMESPACE\n";
+                                        print "$lib: WARNING: $iheader has QT_BEGIN_NAMESPACE$qt_namespace_suffix but no QT_END_NAMESPACE$qt_namespace_suffix\n";
                                     }
                                 }
 
-- 
GitLab