From af2f1e14f61ee8d3a4ade723aed9618d1707f975 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Date: Tue, 28 May 2013 20:29:47 +0200
Subject: [PATCH] don't touch deprecated headers unless they actually change

Change-Id: Iabeec90c2a6549cf92b3b8369a41764a576fd0aa
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
---
 bin/syncqt.pl | 47 +++++++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 22 deletions(-)

diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 255503c1275..d1424f0c325 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -1045,34 +1045,37 @@ foreach my $lib (@modules_to_sync) {
                 my $header_dir = dirname($header_path);
                 make_path($header_dir, $lib, $verbose_level);
 
-                open(HEADER, ">$header_path") || die "Could not open $header_path for writing: $!\n";
-                print HEADER "#ifndef $guard\n";
-                print HEADER "#define $guard\n";
+                my $hdrcont =
+                    "#ifndef $guard\n" .
+                    "#define $guard\n";
                 my $warning = "Header <$lib/";
                 $warning .= "private/" unless ($public_header);
                 $warning .= "$header> is deprecated. Please include <$include> instead.";
-                print HEADER "#if defined(__GNUC__)\n";
-                print HEADER "#  warning $warning\n";
-                print HEADER "#elif defined(_MSC_VER)\n";
-                print HEADER "#  pragma message (\"$warning\")\n";
-                print HEADER "#endif\n";
-                print HEADER "#include <$include>\n";
+                $hdrcont .=
+                    "#if defined(__GNUC__)\n" .
+                    "#  warning $warning\n" .
+                    "#elif defined(_MSC_VER)\n" .
+                    "#  pragma message (\"$warning\")\n" .
+                    "#endif\n" .
+                    "#include <$include>\n";
                 if ($public_header) {
-                    print HEADER "#if 0\n";
-                    print HEADER "#pragma qt_no_master_include\n";
-                    print HEADER "#endif\n";
+                    $hdrcont .=
+                        "#if 0\n" .
+                        "#pragma qt_no_master_include\n" .
+                        "#endif\n";
                 }
-                print HEADER "#endif\n";
-                close HEADER;
-
-                if ($verbose_level < 3) {
-                    my $line_prefix = ",";
-                    $line_prefix = "$lib: created deprecated header(s) {" if ($first);
-                    print "$line_prefix $header";
-                } else {
-                    print "$lib: created deprecated header $header => $include\n";
+                $hdrcont .=
+                    "#endif\n";
+                if (writeFile($header_path, $hdrcont)) {
+                    if ($verbose_level < 3) {
+                        my $line_prefix = ",";
+                        $line_prefix = "$lib: created deprecated header(s) {" if ($first);
+                        print "$line_prefix $header";
+                    } else {
+                        print "$lib: created deprecated header $header => $include\n";
+                    }
+                    $first = 0;
                 }
-                $first = 0;
             }
 
             my $addendum = fixPaths($header_path, $dir) . " ";
-- 
GitLab