diff options
Diffstat (limited to 'kalyptus/kalyptus')
-rw-r--r-- | kalyptus/kalyptus | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/kalyptus/kalyptus b/kalyptus/kalyptus index 596f6c59..ad897365 100644 --- a/kalyptus/kalyptus +++ b/kalyptus/kalyptus @@ -27,7 +27,7 @@ use vars qw/ %rootNodes $declNodeType @includes_list %options @formats_wanted $a $libdir $libname $outputdir @libs $parse_global_space $qt_embedded $qt4 $striphpath $doPrivate $readstdin $Version $quiet $debug $debuggen $parseonly $currentfile $cSourceNode $exe %formats %flagnames @allowed_k_dcop_accesors $allowed_k_dcop_accesors_re $rootNode - @classStack $cNode $globalSpaceClassName + @classStack $cNode $globalSpaceClassName $have_tdehw_lib $lastLine $docNode @includes $cpp $defcppcmd $cppcmd $docincluded $inExtern $inNamespace %stats %definitions @inputqueue @codeqobject @qt4_codeqobject @qte_codeqobject /; @@ -131,10 +131,9 @@ $allowed_k_dcop_accesors_re = join("|", @allowed_k_dcop_accesors); _STYLE_PLATINUM => '', _STYLE_SGI => '', _STYLE_WINDOWS => '', - QT_STATIC_CONST => 'static const', - Q_EXPORT => '', + TQ_EXPORT => '', Q_EXPORT_CODECS_BIG5 => '', - Q_REFCOUNT => '', + TQ_REFCOUNT => '', TQM_EXPORT_CANVAS => '', TQM_EXPORT_DNS => '', TQM_EXPORT_ICONVIEW => '', @@ -143,11 +142,11 @@ $allowed_k_dcop_accesors_re = join("|", @allowed_k_dcop_accesors); TQM_EXPORT_WORKSPACE => '', TQT_NO_REMOTE => 'TQT_NO_REMOTE', QT_ACCESSIBILITY_SUPPORT => 'QT_ACCESSIBILITY_SUPPORT', - Q_WS_X11 => 'Q_WS_X11', + TQ_WS_X11 => 'TQ_WS_X11', TQ_DISABLE_COPY => 'TQ_DISABLE_COPY', - Q_WS_QWS => 'undef', - Q_WS_MAC => 'undef', - Q_OBJECT => <<'CODE', + TQ_WS_QWS => 'undef', + TQ_WS_MAC => 'undef', + TQ_OBJECT => <<'CODE', public: virtual TQMetaObject *metaObject() const; virtual const char *className() const; @@ -230,6 +229,18 @@ if ( $#includes >= 0 && !$cpp ) { die "$exe: --includedir requires --cpp\n"; } +# Check for tdehw lib headers presence +if (-e "$ENV{KDE_PREFIX}/include/tdehardwaredevices.h") +{ + $have_tdehw_lib = 1; + print "kalyptus: tdehw headers found in $ENV{KDE_PREFIX}/include\n"; +} +else +{ + $have_tdehw_lib = 0; + print "kalyptus: tdehw headers not found in $ENV{KDE_PREFIX}/include\n"; +} + # Check output formats. HTML is the default if( $#formats_wanted < 0 ) { push @formats_wanted, "java"; @@ -364,7 +375,7 @@ sub parseFiles || croak "Can't preprocess $currentfile"; } else { - open( INPUT, "tqt-replace-stream $currentfile |" ) + open( INPUT, "$currentfile" ) || croak "Can't read from $currentfile"; } @@ -456,7 +467,7 @@ sub readSourceLine =head2 readCxxLine Reads a C++ source line, skipping comments, blank lines, - preprocessor tokens and the Q_OBJECT macro + preprocessor tokens and the TQ_OBJECT macro =cut @@ -484,7 +495,7 @@ LOOP: } } - if ( $p =~ /^\s*Q_OBJECT/ ) { + if ( $p =~ /^\s*TQ_OBJECT/ ) { if ($qt_embedded) { push @inputqueue, @qte_codeqobject; } elsif ($qt4) { @@ -496,14 +507,12 @@ LOOP: } # Hack, waiting for real handling of preprocessor defines $p =~ s/QT_MODULE\(\w+\)//; - $p =~ s/QT_STATIC_CONST/static const/; $p =~ s/QT_WEAK_SYMBOL//; $p =~ s/QT_MOC_COMPAT//; $p =~ s/Q_EXPORT_CODECS_BIG5//; $p =~ s/QT_COMPAT / /; $p =~ s/TQ_DISABLE_COPY\((\w+)\)/$1(const $1 &);\n$1 &operator=(const $1 &);/; $p =~ s/TQWIDGETSIZE_MAX/32767/; # Qt/E uses this #define as an enum value - yuck! - $p =~ s/Q_SIGNALS/signals/; $p =~ s/ASYNC/void/; $p =~ s/[A-Z_]*_EXPORT_DEPRECATED//; $p =~ s/[A-Z_]*_EXPORT\s/ /; @@ -533,7 +542,7 @@ LOOP: next if ( $p =~ /^\s*$/s ); # blank lines -# || $p =~ /^\s*Q_OBJECT/ # TQObject macro +# || $p =~ /^\s*TQ_OBJECT/ # TQObject macro # ); # @@ -546,7 +555,7 @@ LOOP: || $p =~ /^\s*Q_GADGET/ || $p =~ /^\s*TQ_OVERRIDE/ # and TQ_OVERRIDE || $p =~ /^\s*TQ_SETS/ - || $p =~ /^\s*Q_DUMMY_COMPARISON_OPERATOR/ + || $p =~ /^\s*TQ_DUMMY_COMPARISON_OPERATOR/ || $p =~ /^\s*K_SYCOCATYPE/ # and K_SYCOCA stuff || $p =~ /^\s*K_SYCOCAFACTORY/ # || $p =~ /^\s*KSVG_/ # and KSVG stuff ;) @@ -577,13 +586,13 @@ LOOP: else { # Skip platform-specific stuff, or #if 0 stuff # or #else of something we parsed (e.g. for TQKeySequence) - if ( $p =~ m/^#\s*ifdef\s*Q_WS_/ or - $p =~ m/^#\s*if\s+defined\(Q_WS_/ or + if ( $p =~ m/^#\s*ifdef\s*TQ_WS_/ or + $p =~ m/^#\s*if\s+defined\(TQ_WS_/ or ($p =~ m/^#\s*ifdef\s+_WS_QWS_/ and $qt_embedded) or ($p =~ m/^#\s*ifndef\s+TQT_NO_MIMECLIPBOARD/ and $qt_embedded) or ($p =~ m/^#\s*if\s+defined\(_WS_X11_/ and $qt_embedded) or - ($p =~ m/^#\s*if\s+defined\(Q_WS_X11_/ and $qt_embedded) or - ($p =~ m/^#\s*if\s+defined\(Q_WS_WIN_/ and $qt_embedded) or + ($p =~ m/^#\s*if\s+defined\(TQ_WS_X11_/ and $qt_embedded) or + ($p =~ m/^#\s*if\s+defined\(TQ_WS_WIN_/ and $qt_embedded) or ($p =~ m/^#\s*if\s+defined\(_WS_MAC_/ and $qt_embedded) or ($p =~ m/^#\s*if\s+defined\(Q_INCOMPATIBLE_3_0_ADDONS/ and $qt_embedded) or $p =~ m/^#\s*ifndef\s+TQT_NO_STL/ or @@ -591,7 +600,7 @@ LOOP: $p =~ m/^#\s*if\s+defined\(Q_CC_/ or $p =~ m/^#\s*if\s+defined\(TQT_THREAD_SUPPORT/ or $p =~ m/^#\s*else/ or - $p =~ m/^#\s*if\s+defined\(Q_FULL_TEMPLATE_INSTANTIATION/ or + $p =~ m/^#\s*if\s+defined\(TQ_FULL_TEMPLATE_INSTANTIATION/ or $p =~ m/^#\s*ifdef\s+QT_WORKSPACE_WINDOWMODE/ or $p =~ m/^#\s*ifdef\s+QT_COMPAT/ or $p =~ m/^#\s*if\s+defined\s*\(?QT_COMPAT/ or @@ -602,6 +611,7 @@ LOOP: $p =~ m/^#\s*if\s+defined\s*\(qdoc/ or $p =~ m/^#\s*ifndef\s+TQT_NO_MEMBER_TEMPLATES/ or $p =~ m/^#if\s*!defined\(Q_NO_USING_KEYWORD\)/ or + (not $have_tdehw_lib and $p =~ m/^#\s*ifdef\s+__TDE_HAVE_TDEHWLIB/) or &$match_qt_defines( $p ) or $p =~ m/^#\s*if\s+0\s+/ ) { my $if_depth = 1; @@ -864,7 +874,7 @@ sub identifyDecl (?:\s*TQ[A-Z_]*EXPORT[A-Z_]*)? (?:\s*Q[A-Z_]*EXPORT[A-Z_]*)? (?:\s*TQ_PACKED)? - (?:\s*Q_REFCOUNT)? + (?:\s*TQ_REFCOUNT)? \s+([\w_]+ # 3 name (?:<[\w_ :,]+?>)? # maybe explicit template # (eat chars between <> non-hungry) @@ -942,7 +952,10 @@ sub identifyDecl \( (.*?) \) # parameters \s*((?:const)?)\s* (?:throw\s*\(.*?\))? - \s*((?:=\s*0(?:L?))?)\s* # Pureness. is "0L" allowed? + \s*((?:=\s*(?: + 0(?:L?)| # Pureness. is "0L" allowed? + default # Default method + ))?) \s*[;{]+/xs ) { # rest my $tpn = $1; # type + name @@ -954,7 +967,7 @@ sub identifyDecl } my $const = $3 eq "" ? 0 : 1; - my $pure = $4 eq "" ? 0 : 1; + my $pure = $4 eq "" ? 0 : ($4 =~ "default" ? 0 : 1); $tpn =~ s/\s+/ /g; $tpn =~ s/operator\s+([^\w])/operator$1/g; $params =~ s/\s+/ /g; |