diff options
Diffstat (limited to 'bin/qt20fix')
-rwxr-xr-x | bin/qt20fix | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/bin/qt20fix b/bin/qt20fix deleted file mode 100755 index b6cf48a9c..000000000 --- a/bin/qt20fix +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/perl -w -# -# in sh/bash/zsh: -# make 2>&1 | .../qt/bin/qt20fix -# in csh/tcsh -# make |& .../qt/bin/qt20fix -# -# repeat as long as qt20fix says to. if your make supports the -k -# flag, that speeds up the process a bit. -# -# qt20fix tends to fix a bit over half of the remaining problems in -# each run. -# -# if you don't use gcc, you will need to change parseline. -# - - -# this function must accept one line, which is presumed to be an error -# message, and return an array of three strings: the file name, the -# line number and the variable that is undefined. -# -# it may also return an empty list, if the line isn't an error message. -# -# the function is called on each line in turn and only once on each -# line, so it's possible to save state. -# - -sub parseline{ - my( $line ) = @_; - - chomp $line; - - if ( $line =~ m%^([-a-zA-Z0-9_\./]+\.[a-zA-Z]+):(\d+):\s*\`(.+)\' undeclared% ) { - @r = ($1,$2,$3); - $r[0] = $currentdir . $r[0] if ( defined($currentdir) && - $r[0] =~ m%^[^/]% ); - return @r; - } elsif ( $line =~ m%^([-a-zA-Z0-9_\./]+\.[a-zA-Z]+):(\d+):\s*\`(.+)\' was not declared% ) { - @r = ($1,$2,$3); - $r[0] = $currentdir . $r[0] if ( defined($currentdir) && - $r[0] =~ m%^[^/]% ); - return @r; - } elsif ( $line =~ m%^g?make\[(\d+)\]: Entering directory \`(.*)\'% ) { - # make[1]: Entering directory `/home/agulbra/2x/src/ui' - my( $l, $c ) = ( $1, $2 ); - $c =~ s-/?$-/-; - $dirs[$l] = $c; - $currentdir = $c; - print "$line\n"; - } elsif ( $line =~ m%make\[(\d+)\]: Leaving directory \`.*\'$% ) { - # make[1]: Leaving directory `/home/agulbra/2x/src/ui' - $currentdir = defined( $dirs[$1 - 1] ) ? $dirs[$1 - 1] : ""; - print "$line\n"; - } elsif ( $line =~ m%^\S+:(?:\d+:)?\s+\S% ) { - # other compiler message - skip it - } else { - print "$line\n"; - } - - return (); -} - - -# -# this is the big array of globals and their replacements. add stuff -# at will. -# - -%globals = -( - "Event_None" => "QEvent::None", - "Event_Timer" => "QEvent::Timer", - "Event_MouseButtonPress" => "QEvent::MouseButtonPress", - "Event_MouseButtonRelease" => "QEvent::MouseButtonRelease", - "Event_MouseButtonDblClick" => "QEvent::MouseButtonDblClick", - "Event_MouseMove" => "QEvent::MouseMove", - "Event_KeyPress" => "QEvent::KeyPress", - "Event_KeyRelease" => "QEvent::KeyRelease", - "Event_FocusIn" => "QEvent::FocusIn", - "Event_FocusOut" => "QEvent::FocusOut", - "Event_Enter" => "QEvent::Enter", - "Event_Leave" => "QEvent::Leave", - "Event_Paint" => "QEvent::Paint", - "Event_Move" => "QEvent::Move", - "Event_Resize" => "QEvent::Resize", - "Event_Create" => "QEvent::Create", - "Event_Destroy" => "QEvent::Destroy", - "Event_Show" => "QEvent::Show", - "Event_Hide" => "QEvent::Hide", - "Event_Close" => "QEvent::Close", - "Event_Quit" => "QEvent::Quit", - "Event_Accel" => "QEvent::Accel", - "Event_Clipboard" => "QEvent::Clipboard", - "Event_SockAct" => "QEvent::SockAct", - "Event_DragEnter" => "QEvent::DragEnter", - "Event_DragMove" => "QEvent::DragMove", - "Event_DragLeave" => "QEvent::DragLeave", - "Event_Drop" => "QEvent::Drop", - "Event_DragResponse" => "QEvent::DragResponse", - "Event_ChildInserted" => "QEvent::ChildInserted", - "Event_ChildRemoved" => "QEvent::ChildRemoved", - "Event_LayoutHint" => "QEvent::LayoutHint", - "Event_User" => "QEvent::User", - - "color0" => "Qt::color0", - "color1" => "Qt::color1", - "black" => "Qt::black", - "white" => "Qt::white", - "darkGray" => "Qt::darkGray", - "gray" => "Qt::gray", - "lightGray" => "Qt::lightGray", - "red" => "Qt::red", - "green" => "Qt::green", - "blue" => "Qt::blue", - "cyan" => "Qt::cyan", - "magenta" => "Qt::magenta", - "yellow" => "Qt::yellow", - "darkRed" => "Qt::darkRed", - "darkGreen" => "Qt::darkGreen", - "darkBlue" => "Qt::darkBlue", - "darkCyan" => "Qt::darkCyan", - "darkMagenta" => "Qt::darkMagenta", - "darkYellow" => "Qt::darkYellow", - - "AlignLeft" => "Qt::AlignLeft", - "AlignRight" => "Qt::AlignRight", - "AlignHCenter" => "Qt::AlignHCenter", - "AlignTop" => "Qt::AlignTop", - "AlignBottom" => "Qt::AlignBottom", - "AlignVCenter" => "Qt::AlignVCenter", - "AlignCenter" => "Qt::AlignCenter", - "SingleLine" => "Qt::SingleLine", - "DontClip" => "Qt::DontClip", - "ExpandTabs" => "Qt::ExpandTabs", - "ShowPrefix" => "Qt::ShowPrefix", - "WordBreak" => "Qt::WordBreak", - "DontPrint" => "Qt::DontPrint", - - "TransparentMode" => "Qt::TransparentMode", - "OpaqueMode" => "Qt::OpaqueMode", - - "PixelUnit" => "Qt::PixelUnit", - "LoMetricUnit" => "Qt::LoMetricUnit", - "HiMetricUnit" => "Qt::HiMetricUnit", - "LoEnglishUnit" => "Qt::LoEnglishUnit", - "HiEnglishUnit" => "Qt::HiEnglishUnit", - "TwipsUnit" => "Qt::TwipsUnit", - - "WindowsStyle" => "Qt::WindowsStyle", - "MotifStyle" => "Qt::MotifStyle", - - "Horizontal" => "Qt::Horizontal", - "Vertical" => "Qt::Vertical", - - "PenStyle" => "Qt::PenStyle", - "NoPen" => "Qt::NoPen", - "SolidLine" => "Qt::SolidLine", - "DashLine" => "Qt::DashLine", - "DotLine" => "Qt::DotLine", - "DashDotLine" => "Qt::DashDotLine", - "DashDotDotLine" => "Qt::DashDotDotLine", - - "BrushStyle" => "Qt::BrushStyle", - "NoBrush" => "Qt::NoBrush", - "SolidPattern" => "Qt::SolidPattern", - "Dense1Pattern" => "Qt::Dense1Pattern", - "Dense2Pattern" => "Qt::Dense2Pattern", - "Dense3Pattern" => "Qt::Dense3Pattern", - "Dense4Pattern" => "Qt::Dense4Pattern", - "Dense5Pattern" => "Qt::Dense5Pattern", - "Dense6Pattern" => "Qt::Dense6Pattern", - "Dense7Pattern" => "Qt::Dense7Pattern", - "HorPattern" => "Qt::HorPattern", - "VerPattern" => "Qt::VerPattern", - "CrossPattern" => "Qt::CrossPattern", - "BDiagPattern" => "Qt::BDiagPattern", - "FDiagPattern" => "Qt::FDiagPattern", - "DiagCrossPattern" => "Qt::DiagCrossPattern", - "CustomPattern" => "Qt::CustomPattern", - - "arrowCursor" => "Qt::arrowCursor", - "upArrowCursor" => "Qt::upArrowCursor", - "crossCursor" => "Qt::crossCursor", - "waitCursor" => "Qt::waitCursor", - "ibeamCursor" => "Qt::ibeamCursor", - "sizeVerCursor" => "Qt::sizeVerCursor", - "sizeHorCursor" => "Qt::sizeHorCursor", - "sizeBDiagCursor" => "Qt::sizeBDiagCursor", - "sizeFDiagCursor" => "Qt::sizeFDiagCursor", - "sizeAllCursor" => "Qt::sizeAllCursor", - "blankCursor" => "Qt::blankCursor", - "splitVCursor" => "Qt::splitVCursor", - "splitHCursor" => "Qt::splitHCursor", - "pointingHandCursor" => "Qt::pointingHandCursor" -); - -if ( defined( $ENV{"QTDIR"} ) && - open( I, "< ". $ENV{"QTDIR"} . "/src/kernel/ntq1xcompatibility.h" ) ) { - while( <I> ) { - if ( /\#define\s+([a-zA-Z0-9_]+)\s+(\S+)/ ) { - if ( !defined( $globals{$1} ) ) { - $globals{$1} = $2; - } elsif ( $globals{$1} ne $2 ) { - #print "conflict: $1 is mapped to $2 and $globals{$1}\n"; - } - } - } - close I; -} - -# -# do the do -# - -while( <STDIN> ) { - @r = parseline($_); - next unless @r; - ($file, $line, $variable) = @r; - if ( defined( $variable ) && defined($globals{$variable}) ) { - if ( !defined($lastfile) || ($file ne $lastfile) ) { - $lastfile = undef if ( !$changes ); - if ( defined( $lastfile ) ) { - open( O, "> $lastfile" ) || - die "cannot write to $lastfile, stopped"; - print "qt20fix: writing $lastfile (changes: $changes)\n"; - print O @currentfile; - close O; - } - open( I, "< $file" ) || die "cannot read $file, stopped"; - @currentfile = <I>; - close I; - $lastfile = $file; - $changes = 0; - } - next unless ( defined( $currentfile[$line-1] ) ); - next unless ( $currentfile[$line-1] =~ /\b$variable\b/ ); - if ( $currentfile[$line-1] =~ s/([^a-zA-Z0-9])::$variable\b/$1$globals{$variable}/ || - $currentfile[$line-1] =~ s/([^a-zA-Z0-9:])$variable\b/$1$globals{$variable}/ ) { - print "$file:$line:replaced \`$variable\' with \`$globals{$variable}\'\n"; - $changes++; - $totalchanges++ - } - } elsif ( defined( $variable ) ) { - print "$file:$line: unknown undefined variable $variable\n"; - } -} - -if ( defined( $changes) && $changes > 0 && defined( $lastfile ) ) { - open( O, "> $lastfile" ) || - die "cannot write to $lastfile, stopped"; - print "qt20fix: writing $lastfile (changes: $changes)\n"; - print O @currentfile; - close O; -} - - -if ( defined( $totalchanges) && $totalchanges > 0 ) { - print "qt20fix: total changes: $totalchanges\nqt20fix: rerun recommended\n"; -} |