You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libtqt-perl/kalyptus
Michele Calgaro ed5ee2e39d
Align kalyptus to changes made inx TDE/tdebindings#36
3 weeks ago
..
Ast.pm Initial import of libqt-perl (not yet TQt compatible) 13 years ago
ChangeLog Replace Q_OBJECT with TQ_OBJECT 9 months ago
Iter.pm Initial import of libqt-perl (not yet TQt compatible) 13 years ago
Makefile.cvs Update embedded kalyptus installation 12 years ago
Makefile.in Update embedded kalyptus installation 12 years ago
README Update kalyptus according to tdebindings 10 years ago
TODO Initial import of libqt-perl (not yet TQt compatible) 13 years ago
Version Initial import of libqt-perl (not yet TQt compatible) 13 years ago
configure.in Update embedded kalyptus installation 12 years ago
dcopidlng Update embedded kalyptus installation 12 years ago
findperl Update embedded kalyptus installation 12 years ago
install-sh Update embedded kalyptus installation 12 years ago
kalyptus Align kalyptus to changes made inx TDE/tdebindings#36 3 weeks ago
kalyptus.spec.in qt -> tqt conversion: 6 years ago
kalyptusCxxToCSharp.pm Replace various Q_* and QT_* defines with TQ_* and TQT_* 8 months ago
kalyptusCxxToDcopIDL.pm Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
kalyptusCxxToECMA.pm Update embedded kalyptus installation 12 years ago
kalyptusCxxToJNI.pm Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
kalyptusCxxToJava.pm Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
kalyptusCxxToKimono.pm Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
kalyptusCxxToSmoke.pm Removed unsupported qtint*/qtuint*/qreal types 7 months ago
kalyptusCxxToSwig.pm Update kalyptus according to tdebindings 10 years ago
kalyptusDataDict.pm Drop attic Qt2 classes (TQtMultiLineEdit and TQtTableView) 10 months ago
kdocAstUtil.pm Merge fixes for kalyptus that were made in tdelibs/dcopidlng: 4 years ago
kdocLib.pm Rename KApplication to TDEApplication to avoid conflicts with KDE4 11 years ago
kdocParseDoc.pm Merge fixes for kalyptus that were made in tdelibs/dcopidlng: 4 years ago
kdocUtil.pm Update embedded kalyptus installation 12 years ago
perlbin Update embedded kalyptus installation 12 years ago

README

KALYPTUS -- C, Objective-C and Java bindings generator

Version 0.9

KALYPTUS creates language bindings for Qt and KDE C++ libraries
directly from the headers. Documentation embedded in special doc
comments in the source is translated to an appropriate format for
the target language.

REQUIREMENTS

You need perl 5.005 or greater to run kalyptus.

HOWTO

If you are running this straight from CVS, you will need to run 

	make -f Makefile.cvs

before building.

This should install kalyptus:

./configure; make; make install

CREDITS
-------

Richard Dale - kdoc adaption, C/Objective-C/Java code generation.

Sirtaj Singh Kang for writing the original kdoc utility (kalyptus was
derived from kdoc).

Copyright(C) 2001, Lost Highway Ltd

------

Copyright(C) 1999, Sirtaj Singh Kang <taj@kde.org>
Distributed under the GPL.

NOTES ON USING THE CONVERTER
----------------------------

JAVA
----

Here are some of the shell commands that were used in the conversion process:

Remove any TQ_OVERRIDE macros from the Qt headers, and remove EXPORT_DOCKCLASS from the
KDE headers

# Generate Java and C++ sources. Copy all the target headers to directory 'test/tmp'
kalyptus -fjava test/tmp/*.h test/tmp/dom/*.h test/tmp/tdeio/*.h test/tmp/tdeprint/*.h \
   test/tmp/kjs/*.h test/tmp/tdeparts/*.h test/tmp/tdesu/*.h test/ktextedit/*.h test/tmp/libtdemid/*.h

# Shorten generated filenames
mv DOM__Node.cpp DOMNode.cpp
mv DOM__Node.java DOMNode.java
mv DOM__Document.cpp DOMDocument.cpp
mv DOM__Document.java DOMDocument.java
for FILE in *__* ; do
 NAME=`echo $FILE | sed -e 's/^.*__//'`;
 echo $NAME;
 mv $FILE $NAME;
done
mv SlaveInterface.cpp Slave.cpp
mv SlaveInterface.java Slave.java

# Edit and Compile the generated java
cd tdejava/koala/org/trinitydesktop/koala
make

# Build C++ JNI .h header files
cd qtjava/javalib/org/trinitydesktop/qt
for FILE in *.class ; do NAME=`echo $FILE | sed 's/.class//'`; echo $NAME; javah  -classpath '../../..' org.trinitydesktop.qt.$NAME ; done
for FILE in org_trinitydesktop* ; do NAME=`echo $FILE | sed -e 's/org_trinitydesktop_qt_//'`; echo $NAME; mv $FILE $NAME; done

cd tdejava/koala/org/trinitydesktop/koala
for FILE in *.class ; do NAME=`echo $FILE | sed 's/.class//'`; echo $NAME; javah  -classpath '../../..:../../../../../qtjava/javalib/qtjava.jar' org.trinitydesktop.koala.$NAME ; done
for FILE in org_trinitydesktop* ; do NAME=`echo $FILE | sed -e 's/org_trinitydesktop_koala_//'`; echo $NAME; mv $FILE $NAME; done
# Copy headers to tdejava/koala/tdejava

# Check that  the JNI .h function names match the .cpp ones
cd tdejava/koala/org/trinitydesktop/koala
grep ^Java_ *.cpp | sed -e 's/^[^:]*:\([^(]*\).*/\1/'  | grep -v '[/]' | sort | uniq > cpp.fns
grep Java_ *.h | awk '{ print $4 }' |  grep -v '[/]' | sort | uniq > h.fns
kompare h.fns cpp.fns
# Reconcile and fix any differences

# Edit and compile the generated .cpp and .h files with KDevelop