Compare commits

..

4 Commits

Author SHA1 Message Date
Mario Fetka 47cc8f14fa Import release 2.0alpha 2008-05-01 22:23:21 +00:00
Mario Fetka ca041a4e14 Import release 1.5.1 2008-04-06 14:46:38 +00:00
Mario Fetka 5165abf494 Import release 1.5 2008-01-09 22:42:53 +00:00
Mario Fetka 80c63a8d5b Import CVS HEAD before SVN migration 2007-03-19 12:00:00 +00:00
723 changed files with 120709 additions and 188253 deletions
-28
View File
@@ -1,28 +0,0 @@
acinclude.m4
aclocal.m4
autom4te*.cache
build-debug
build-default
config.h
config.h.in
config.log
config.status
configure
configure.files
configure.in
conftest
inst-apps
kmess.kdevelop.pcs
kmess.kdevses
libtool
Makefile
Makefile.am
Makefile.in
Makefile.rules.in
MakeVars.in
snapshot-info
stamp-h
stamp-h1
stamp-h1.in
stamp-h.in
subdirs
+49 -26
View File
@@ -2,30 +2,49 @@ Developers:
Mike K. Bennett <mkb137@users.sourceforge.net>
Michael Curtis <mdcurtis@users.sourceforge.net>
Jan Toenjes <jan.toenjes@web.de>
Lin Haoxiang <linhaoxiang@hotmail.com>
Diederik van der Boor <vdboor@codingdomain.com>
Richard Conway <richardconway@users.sourceforge.net>
Valerio Pilo <amroth@coldshock.net>
Translations:
Arabic - Mohamed Aser <mohasr@link.net>
Brazilian Portuguese - Mauricio Rother <mauricio@digicomm.com.br>
Catalan - Jaume Cornadó <jaumec@lleida.net>
Danish - Lars Sommer <admin@lasg.dk>
Dutch - Arend van Beelen Jr. <arend@auton.nl>
Estonian - Jyri Toomessoo <nuubik@hotmail.com>
German - Jan Tönjes <jan.toenjes@web.de>
French - Choplair <pachilor@yahoo.co.jp>
Vincent Fretin <fretinvincent@hotmail.com>
Italian - David Vignoni <dvgn@libero.it>
Korean - Park Dong Cheon <pdc@kaist.ac.kr>
Norsk Bokmal - Øyvind Sæther <oyvind@sather.tk>
Simplified Chinese - Lin Haoxiang <linhaoxiang@hotmail.com>
Spanish - Johanna Gersch
J.C.A. Javi <yovoya30ks@hotmail.com>
Thai - Rachan Hongpairote <rachanh@yahoo.com>
Turkish - Gorkem Cetin <gorkem@gelecek.com.tr>
Barbaros Ulutas <tebarul@yahoo.com>
Arabic - Mohamed Aser <mohasr@link.net>
Youssef Chahibi <chahibi@gmail.com>
Brazilian Portuguese - Mauricio Rother <mauricio@digicomm.com.br>
Catalan - Jaume Cornadó <jaumec@lleida.net>
Chinese (Simplified) - Lin Haoxiang <linhaoxiang@hotmail.com>
Liu Sizhuang <chinatslsz@hotmail.com>
Chinese (Traditional) - Yen-chou Chen <yenchou.mse90@nctu.edu.tw>
Danish - Lars Sommer <admin@lasg.dk>
Pascal d'Hermilly <pascal@tipisoft.dk>
Dutch - Arend van Beelen Jr. <arend@auton.nl>
Diederik van der Boor <vdboor@codingdomain.com>
Jaap Woldringh <jjh.woldringh@planet.nl>
Estonian - Jyri Toomessoo <nuubik@hotmail.com>
Finnish - Markus Vuori <markus@vuoret.net>
Joonas Niilola <juippis@roskakori.org>
Jussi Timperi <jussi.timperi@gmail.com>
French - Choplair <pachilor@yahoo.co.jp>
Vincent Fretin <fretinvincent@hotmail.com>
Andrea Blankenstijn <darkan9el@gmail.com>
German - Jan Tönjes <jan.toenjes@web.de>
Hungarian - Páder Rezsõ <rezso@rezso.net>
Italian - David Vignoni <dvgn@libero.it>
Valerio Pilo <amroth@coldshock.net>
Vincenzo Reale <smart2128@baslug.org>
Korean - Park Dong Cheon <pdc@kaist.ac.kr>
Norsk Bokmal - Øyvind Sæther <oyvind@sather.tk>
Slovenian - Matjaž kaše <kase@g-kabel.si>
Spanish - Johanna Gersch
J.C.A. Javi <yovoya30ks@hotmail.com>
Alejandro Araiza Alvarado <mebrelith@gmail.com>
Jaume Corbí <jaume4@gmail.com>
Christian Kaiser <k39@users.sourceforge.net>
Swedish - Christian Lundgren <zeflunk@gmail.com>
Thai - Rachan Hongpairote <rachanh@yahoo.com>
Turkish - Gorkem Cetin <gorkem@gelecek.com.tr>
Barbaros Ulutas <tebarul@yahoo.com>
Uğur Çetin <ugur.jnmbk@gmail.com>
Also tranks to:
Jan Tönjes <jan.toenjes@web.de>
@@ -33,13 +52,13 @@ Also tranks to:
Dane Harnett <dynamitedane@hotmail.com>
- web design
David Vignoni <dvgn@libero.it>
- the main yellow/blue/violet emoticon sets
Laurence Anderson <l.d.anderson@warwick.ac.uk>
- original file receive code
Scott Morgan <blumf@blumf.freeserve.co.uk>
- Xinerama fixes
@@ -51,12 +70,12 @@ Also tranks to:
Choe Hwanjin <hjchoe@hancom.com>
- Various internationalization fixes.
Vincent Fretin <fretinvincent@hotmail.com>
- MSN6 emoticon definitions
Lin Haoxiang <linhaoxiang@hotmail.com>
- Send file bugfix
- Send file bugfix, proxy code
Tobias Tönjes
- Guy with a bag over his head
@@ -68,8 +87,12 @@ Also tranks to:
- Inspiration and assorted code
Kopete <http://kopete.kde.org/>
- Popup Balloon code, initial p2p code
- Old Popup Balloon code
- Initial p2p code
- MSN Challenge handler
KScreensaver
- Idle timer code
Liu Sizhuang <chinatslsz@hotmail.com>
- P4-Context field support
+95
View File
@@ -0,0 +1,95 @@
PROJECT( kmess )
#### System checks ####
# To add checks, see
# /usr/share/cmake/Modules
# /usr/share/kde4/apps/cmake/modules
# Check for cmake, same as minimum for KDE 4.0.0
CMAKE_MINIMUM_REQUIRED( VERSION 2.4.5 )
# Check for KDE 4
FIND_PACKAGE( KDE4 REQUIRED )
# Check for libxml2
FIND_PACKAGE( LibXml2 REQUIRED )
MACRO_OPTIONAL_FIND_PACKAGE( LibXml2 )
MACRO_LOG_FEATURE( LIBXML2_FOUND "LibXML2" "Libraries used to develop XML applications" "http://xmlsoft.org" FALSE "" "Required for the chat styles system." )
# Check for libxslt
FIND_PACKAGE( LibXslt REQUIRED )
MACRO_OPTIONAL_FIND_PACKAGE( LibXslt )
MACRO_LOG_FEATURE( LIBXSLT_FOUND "LibXSLT" "A library to transform XML files into other XML files" "http://xmlsoft.org/XSLT" FALSE "" "Required for the chat styles system." )
# Check for XScreenSaver extension
MACRO_BOOL_TO_01( X11_Xscreensaver_FOUND HAVE_XSCREENSAVER )
MACRO_LOG_FEATURE( X11_Xscreensaver_FOUND "XScreenSaver" "X11 extension used to check idle state" "" FALSE "" "Required for the auto-away feature." )
#### Configure build ####
INCLUDE( MacroLibrary )
INCLUDE( KDE4Defaults )
ADD_DEFINITIONS( ${QT_DEFINITIONS} ${KDE4_DEFINITIONS} )
INCLUDE_DIRECTORIES( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${LIBXML2_INCLUDE_DIR} )
#### Define the app version number ####
# Switch between the following two commands to force using a predefined version number
# EXECUTE_PROCESS( COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cmake/get-svn-version.sh OUTPUT_VARIABLE KMESS_VERSION )
SET( KMESS_VERSION "2.0alpha" )
#### Define compiler flags ####
# Tune the debug build with even more flags
# also see FindKDE4Internal.cmake for more defaults
IF( CMAKE_COMPILER_IS_GNUCXX )
# skipped: -ansi -pendantic -Wfatal-errors -Wold-style-cast
SET( CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall" )
SET( CMAKE_CXX_FLAGS_DEBUGFULL "-O0 -g3 -fno-inline -Wall -Woverloaded-virtual -Wsign-compare -Wundef -Wconversion" )
ENDIF( CMAKE_COMPILER_IS_GNUCXX )
# Define the default build type
# Possible values:
# - none
# - release
# - debug
# - debugfull (even fewer optimisations)
# - relwithdebinfo (release with debug info)
# - minsizerel (minsize release)
# Uncomment the next line to always force building in full debug mode
SET( CMAKE_BUILD_TYPE debugfull )
# Enable the KMess debug output when compiling a debug build
IF( CMAKE_BUILD_TYPE STREQUAL debugfull OR DEFINED KMESS_DEBUG_OUTPUT )
SET( KMESS_ENABLE_DEBUG_OUTPUT "1" )
ELSE( CMAKE_BUILD_TYPE STREQUAL debugfull OR DEFINED KMESS_DEBUG_OUTPUT )
SET( KMESS_ENABLE_DEBUG_OUTPUT "0" )
ENDIF( CMAKE_BUILD_TYPE STREQUAL debugfull OR DEFINED KMESS_DEBUG_OUTPUT )
# Set a default installation path
IF( NOT CMAKE_INSTALL_PREFIX )
SET( CMAKE_INSTALL_PREFIX "/usr" )
ENDIF( NOT CMAKE_INSTALL_PREFIX )
#### Other settings ####
# Generate config-kmess.h
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/config-kmess.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-kmess.h )
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
# continue in directories
ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( po )
ADD_SUBDIRECTORY( data )
ADD_SUBDIRECTORY( doc )
+895 -2
View File
@@ -1,4 +1,896 @@
--- 2.0alpha released ---
2008-05-01 (Diederik)
* Final updates to release the alpha: 702 commits since the start of porting.
at subversion revision 3041.
2008-05-01 (Valerio, Diederik, Sifcenter)
List of all new features not mentioned before:
* Fixed bug which prevented KMess from closing
* Added a log of contacts logins and logouts in the Contact List
* Added chatwindow reactivation when reconnecting
* Added the right-click Copy sidebar option to the contacts in the list, too
* Added automatic stack backtrace output in console if KMess crashes
* Added a wrapper "configure" script to CMake, to make transition easier
2008-04-11 (sifcenter)
* Added ability to copy links from personal messages and friendlynames of the contacts.
2008-04-10 (Diederik)
* Fix lost font color settings when using the chat window:
- settings were reset when opening the account settings
- current font color was not selected.
* Fix contact re-invites (chat resumes) to the chat when the first attempt failed.
2008-04-06 (Diederik)
* Merged KDE 4 porting with trunk:
code porting complete and major are regressions fixed.
at subversion revision 2859.
2008-03-28 (Valerio)
* Added count of online contacts in group names shown in the Contact List.
2008-03-26 (Valerio)
* Added combobox to select which group to place new contacts in when adding them to the contact list.
2008-03-26 (Diederik)
* Implement ink receiving inspired by a patch of sifcenter.
2008-03-16 (Diederik)
* Improved client name detection, for both normal and third party clients.
* Move ContactExtension settings to a different config section.
2008-03-13 (Diederik)
* Merged patch from Antonio Nastasi to have fast retype of the last sentence.
2008-02-09
* Most crashes and errors cleared away, simple chat messages work again:
see: http://www.codingdomain.com/blog/archives/19-KDE-4-porting-of-KMess.html
2008-01-29
* KDE 4 branch compiles again after 190 commits.
2008-01-15
* Start of KDE 4 porting as separate branch:
parallel in development of KMess 1.5.1
at subversion revision 2338.
--- 1.5.1 branch ---
2008-04-06 (Diederik)
* Added a warning message for broken SOCKS implementations which could cause KMess to freeze.
2008-03-20 (Valerio)
* Backported a patch by sifcenter, stop the chat window title's blinking when the chat is given focus.
2008-03-15 (Valerio)
* Backported a patch by sifcenter, always give focus to the Message Box when the chat window is given focus.
2008-03-13 (Valerio)
* Backported the fix for a crash happening when removing a contact completely from the list while it was added to a group.
2008-03-12 (Diederik)
* Fixed a crash introduced by the patch to display a client name, happens with contacts invited to your chat.
2008-02-25 (Valerio)
* Fixed invisible text in the contact list when using some dark KDE color themes.
2009-02-21 (Diederik)
* Updated translation for Danish by Pascal d'Hermilly.
2008-02-21 (Valerio)
* Fixed empty contact client name when it's not in our list of 3rd-party clients.
* Hide both the standard and the custom emoticons tabs when sending a message.
* Fixed appearance of multiple error message boxes when the connection is closed by the server or lost.
2008-02-20 (Valerio)
* Updated translation files with the most recent strings.
2008-02-17 (Valerio)
* Moved contact's groups parsing to the notification class, where it's more logic for this to happen.
2008-02-15 (Valerio)
* Improved the Contact Sidebar frame layout. Removed the separator line.
* Improved the Contact Sidebar frame appearance. Removed the "(status)" string at the end of the
contact nickname. Also moved the status to the tooltip for the contact status icon.
2009-02-10 (Diederik)
* Updated translation for Traditional Chinese by Ynehcou Chen.
2009-01-20 (Diederik)
* Fixed a possible freeze in the developer build, caused by the network window formatting remaining p2p fragments.
2008-01-16 (Diederik)
* Fixed selecting a picture in the Autopackage version, and KDE 3.2 / 3.3 installations.
2008-01-10 (Valerio)
* Disable the popups when a full-screen application or screen saver is active.
* Added option (in View menu) to show contacts' display pictures in the contact list. Thanks to Guido Solinas for the patch.
* Disabled many popups for MSN warning messages, and put them on the status bar.
* Added automatic KDE spell checker to the chat window. Thanks to jnmbk for the initial suggestion.
* Added a contact list popup text showing which MSN client your contacts use. Thanks to Guido Solinas for the patch.
* Added a little screenshot of the notification area when closing KMess to tray for the first time, to help find our tray icon.
* Disabled nickname changes when using a non-verified account. See trac, #21.
* Added menu options to manually set your own MSN status as Idle. See trac, #80.
--- 1.5 released ---
2008-01-07 (Diederik)
* Fixed corrupt direct connections due to message fragmentation.
* Fixed new hanging sockets caused by the previous commit.
2008-01-06 (Diederik)
* Fixed compiling with KDE 3.2
* Fixed sending remaining p2p message when direct connection write buffer is full.
* Fixed possible read error with direct connection length field.
* Fixed duplicate switchboard write handlers when multiple transfers fail.
2008-01-02 (Diederik)
* Fixed invalid connection for KExtendedSocket::closed() signal for direct connection.
* Fix sending messages over the switchboard when writing to the direct connection fails.
* Fixed sending double handshake messages if a previous file transfer application is not terminated yet (e.g. by not receiving a BYE from amsn 0.97).
* Fixed userAborted(), it could display "session cancelled" after "transfer complete", revealed by amsn which restarted the switchboard.
* Fixed receiving more files from amsn 0.97.
- Added support for receiving a new direct connection invitation while one exists already.
- Fixed reverting back to the switchboard when a direct connection gets write errors.
* Fixed displaying "session cancelled" message mulitple times if the contact does not send a SLP BYE (also happens with amsn 0.97).
2007-12-29 (Diederik)
* Updated Spanish translation by Christian Kaiser.
* Updated Danish translation by Pascal d'Hermilly.
* Fix small p2p debugging issue, make sure we can differentiate between the session INVITE and transfer INVITE.
2007-12-25 (Diederik)
* Improved the P2P application flags for the various ack messages, to behave much more like WLM does.
* Updated admin folder with contents from KDE 3.5.7
2007-12-25 (Valerio)
* Fixed typo in a regexp causing geek links to not always work.
2007-12-24 (Diederik)
* Fixed P2P issues all over the place, fixes:
- displaying "transfer complete" followed by "contact aborted".,
- more issues with slow WLM computers, starting transfer before the DC is set up.
- data sending continued while contact aborted.
* Improved many P2P debug mesasges for get more precise logs.
* Added support for KExtendedSocket::closed() signal.
2007-12-24 (Valerio)
* Added timeout detection for Direct Connections, to avoid NAT timeouts.
2007-12-19 (Valerio)
* Fixed falling back to standard emoticons when emoticon themes are not fully compatible with MSN.
* Updated the XML namespace for chat styles.
* Changed in the styles XML the old userPhotoUrl attribute with a new tag, <displayPicture/>.
* Improved the KMess manual by separating app configuration into its own section.
2007-12-19 (Diederik)
* Fine tuned P2P error flags to make our P2P implementation even closer to WLM.
* Fixed invalid switchboard assertion message.
* Fixed direct connection timer problem, could be fired after a connection was set up.
* Fixed sending data while contact aborts the application.
2007-12-16 (Valerio)
* Changed sounds behavior, don't play them at all if the corresponding notification balloon option is disabled.
* Improved contact list behavior when clicking accidentally.
2007-12-16 (Diederik)
* Fix for file transfers with WLM at slow computers, by adding support for receiving file data out of order.
* Updated p2p debug statements to log error handling too.
* Improved scaling of unknown.png, preserved aspect ratio while being squared.
* Slighly improved sending more files in parallel, sendNextDataParts() receives preferred ammounts of packets to send.
* Fix issues picture/emoticon transfer problems with Messenger for the Mac.
Interestingly enough Microsoft breaks it's own protocol here. :-p
- handle situation where BYE is sent before the all-data-received ack.
* Fix emoticon transfers to aMsn 0.97rc1 and Messenger for the Mac. Both use AppID 1 for emoticons.
* Fix warning about closing ack, which can't be linked to a message at all.
2007-12-06 (Diederik)
* Improve debugging with network window, insert space between messages to mark idle time. Also added more commands.
* Fixed file transfer issues with overloaded systems, increased timeout values.
* P2P applications send 0x06 message now if an ACK is missing.
* Fixed potential crash with aborting applications and starting new chat session at the same time.
* Fix unwanted closing of the direct connection if all applications are aborted.
* Fix sending P2P 0x02 message followed by 0x08 if sendSlpError() can't send a SLP message back.
* Fix starting the picture transfer after WLM requested a direct connection first.
* Fix handling of SLP ACK messages without a zero session ID set.
* Added "keep alive / time wait" support to receive final P2P response before destroying application instances.
2007-11-29 (Valerio)
* Brought back the Transfer Window to the previous quality level: fixed entries and window resizing.
* Fixed now listening icon in the contact frames was not being deactivated along with the other controls.
* Always show the Account Settings page when opening the Settings dialog.
* Explicitly ignore messages from MSN Alerts/Calendar/Mobile - and dump them in debug mode.
* Improved the icons for a couple menu items.
* Only dump messages body when the pertinent debug define is turned on: dumps are mostly useless.
2007-11-28 (Diederik)
* Fixed issue with direct connection, it could be reset when receiving files.
2007-11-27 (Valerio)
* Fixed one pixel margin around the Sidebar, which caused a line to be displayed around it when using many Qt themes.
2007-11-25 (Valerio)
* Updated the chat styles to show the date along the time, when receiving offline messages.
* Added a Now Playing icon next to the contact's PM space in the Contact Frame, if the contact is listening
to music.
* As requested: only force the emoticons to have a maximum height, but always preserve their aspect ratio.
2007-11-24 (Valerio)
* Changed base class to the Transfer Window, partially rewritten to be more reliable; added an UI file
for its interface.
* Always set up as chat window caption the first participant's name when creating the new chat. Also improved
the code by moving&fixing getCaption() from MsnSwitchboardConnection to ChatWindow.
2007-11-22 (Valerio)
* Fixed a crash when closing applications.
* Reduced unneeded debug verbosity of Msn(Notification|Switchboard)?Connection classes.
* Fixed i18n for the transfer window messages, which can be translated now.
* Also updated the translations with the "new" messages.
2007-11-21 (Diederik)
* Fixed unwanted destroying of the direct connection if a switchboard connection restarts.
* Fixed freeze with starting file transfers, signal for all connections failed sent too early.
2007-11-17 (Valerio)
* Largely improved the contact list rendering code, now works with all color themes and will display our
list background without glitches. It's faster too, and should cause less flickering.
* Fixed translation code for Transfer entries. It can be translated now.
* Removed check for already sent custom emoticons for compatibility with WLM8+; but will use a bit more bandwidth.
2007-11-13 (Valerio)
* Improved visual aspect of custom emoticons, which are now limited to a maximum of 128x128px and
keep their original aspect ratio.
2007-11-12 (Diederik)
* Fix more direct connection issues, make sure applications are correctly unregistered as data senders when an error occured.
2007-11-12 (Valerio)
* Changed the contact frame, now shows Now Playing music instead of the Personal Message if available.
* Improved fix of 2007-11-04 (rev 2180) to avoid (for example) ":")" from being parsed as ":';)"
2007-11-10 (Valerio)
* Added limit of 7 characters in emoticon shortcuts when renaming them from the Emoticon Settings.
2007-11-09 (Valerio)
* Fixed a crash when receiving MSN Plus' default sound messages.
* Greatly improved the support for MSN Plus' default sound messages. The sounds will not be played, we don't have the sound files.
They're annoying, too.
2007-11-07 (Valerio)
* Fixed a potential crash when status for a contact changes and chat windows with that contact don't have a switchboard ready.
2007-11-07 (Diederik)
* Received updated translations for Danish, Dutch, Hangarian, Turkish, Thai and Simplified Chinese.
* Make sure `po/mergetrans` won't remove translations on error.
* Removed unwanted access keys and widget names from the translations again.
2007-11-06 (Valerio)
* Made the Transfer Window to be shown minimized, to avoid interrupting the user when a transfer is accepted by a contact.
* Forced the Custom Emoticons Settings to update the view when an emoticon is renamed or deleted.
2007-11-04 (Valerio)
* Fixed issue with HTML-encoded characters followed by a closed parenthesis generating emoticons ( like ":')" ).
2007-11-03 (Valerio)
* Fixed issue with the internationalized names of the standard emoticons set.
2007-11-01 (Valerio)
* Improved geek-style link parsing.
2007-10-31 (Valerio)
* Fixed connection issue when timeout occurs before the initial login; increased by 15 seconds the login timeout.
* Fixed issue custom emoticon shortcuts which contain quotes.
* Fixed a regexp parsing problem which caused misinterpretation of attributes delimited with double quotes.
* Improved a bit the custom emoticons code performance.
* Deleted most custom emoticon tooltips due to an issue with KHTML and title tooltips.
* Fixed issue which prevented emoticons copy/pasting.
* Added forcing a limit of seven characters for custom emoticon shortcuts like MSN Messenger does.
* Fixed notification sound for contacts which login to a status different than Online.
* Improved saving settings after login, now saves all settings instead of just those of the connected account.
* Added file overwriting dialog when saving chats.
* Send again the custom emoticons definitions if all contacts leave a chat and then someone joins it.
* Added emoticon overwriting dialog when renaming an emoticon to an already existing name.
* Improved shutdown by saving the contact list only when the msn connection is closed, and not also when exiting.
2007-10-31 (Diederik)
* Updated the French translation by Andrea Blankenstijn.
* Fixed a new issue with the direct connection code which aborts the connection when the buffer is empty.
* Fixed message in the transfer dialog when the contact aborts during code style changes.
* Fixed duplicate messages from the direct connection in the transfer debug dialog.
* Fixed crashes with direct connection setup when connection is closed at initialisation.
2007-10-29 (Valerio)
* Fixed a lot of compiler warnings.
2007-10-28 (Valerio)
* Added a quick fix for the duplicated chat windows bug. (ticket #136)
* Fixed MSN Objects received by clients with different character lengths being not recognized. (see ticket #150)
* Removed a compiler warning and added a bit more debugging information to PictureTransferP2P.
* Disabled the Browse button when adding a new emoticon clicked in a chat window. Also fixed a compiler error with debugging on.
* Fixed display and parsing issues with received custom emoticons; they weren't being displayed correctly sometimes, and weren't being converted when downloaded.
* Added file size to the message displayed when sending a file.
* Updated again the user manual with all latest KMess features; reorganized the sections to be easier to browse, corrected
a couple typos.
2007-10-25 (Valerio)
* Improved direct connection read sensing, to avoid non-existant socket read errors.
2007-10-23 (Valerio)
* Worked around a Mercury Messenger issue, sending files to it was causing the message "transfer successful" to be followed
by "transfer canceled".
2007-10-21 (Valerio)
* Added more detail to debugging statements for Direct Connection classes.
* Fixed Direct Connection bug which prevented DC transfers to start, when receiving data.
* Fixed setting display picture with new accounts.
2007-10-20 (Valerio)
* Made all TransferEntry parameters as copies instead of references.
* Small improvement to Custom Emoticons settings, added button to force in-place emoticon renaming.
* Fixed buttons not disabling when deleting emoticons.
* Fixed incorrect message "conversation went idle, contact left" in group chats.
2007-10-19 (Valerio)
* Added some more timeout to login, to avoid stopping the process if the MSN contact list server is slow.
2007-10-17 (Valerio)
* Commented out the warning on filetransfer activity; was too unreliable to be released with 1.5 without introducing problems.
Postponed to 1.6. (ticket #53)
2007-10-16 (Valerio)
* Heavily reworked the interaction between the classes related to Transfer Window. This *should* fix the occasional crashes.
* Removed a meaningless debug warning appearing with new accounts.
* Added a better filter for the custom picture open dialog, in the contact properties.
* Updated the strings file from source; merged the translations with current strings. Also fixed the merge command to support UTF-8 characters.
2007-10-15 (Diederik)
* Fixed empty chat message after file transfer completes. Also fixes a warning in the logs.
* Improved some debug messages, to ease debugging.
* Fixed broken contact images which don't get updated; added data hash check.
* Fixed subtle GUI flashing in the chat window for the contact picture.
* Added support for P4-Context field, used for by plugins of the official client for contact aliases (i.e. Xiaoi's Qun). Patch by Liu Sizhuang.
* Updated Simplified Chinese translation by Liu Sizhuang.
* Fixed compile error with 'time' function call, replaced with QDateTime.
2007-10-15 (Valerio)
* Fixed "contact online" sound was issued even when a contact's status changed to Online.
* Save the account settings instantly when changing preferences from the chat window.
* Also save the account settings when changing Personal Message.
2007-10-14 (Valerio)
* Fixed messed up *text* /effects/ codes which were present into HTML tags (like emoticon code tooltips).
* Merged patch from Mr.White, fixing the chat close warning with active transfers.
* Save the account settings upon successful login, so if KMess crashes (unpossible! :) you'll not lose your ID.
* Fixed tooltip when receiving an already added emoticon with an HTML shortcut text. Also fixes a minor parser problem.
* Improved a little the "contact is typing" commit made yesterday. (Ticket #19)
2007-10-13 (Valerio)
* Another improvement to notifications code, moved all responsibility for notifications to the pertinent classes,
and reordered the code for the chat and status notification.
* Merged patch from Mr. White, which cleans up the status bar message codes and removes the ugly LED from the contact list.
* Improved own display picture path checking, so the chat styles which show them can correctly display the default KMess
picture.
* Divided notification events from balloons, to allow having only sounds or blinking windows without the balloons.
* Added disabling the autoreply message when disconnecting an account.
* Added support to send custom emoticons.
- Completely rewrote the standard emoticon system, now uses standard XML emoticon theme files.
- Improved the emoticon settings dialog with a tabbed view, added the custom emoticons management tab. You can add, remove, rename emoticons.
- Added a right-click popup menu item in chat to add new custom emoticons.
- Improved the standard emoticons themes list in Emoticon Widget, now if a theme contains at least one
valid emoticon, that will be shown as theme preview.
* Fixed "contact is typing" status bar message in the chat windows, so it can be correctly read when multiple contacts are
typing at the same time.
* Merged patch from Mr. White, show a warning when closing a chat with active file transfers, telling that they will be interrupted.
2007-10-06 (Valerio)
* Fixed a notification balloons problem when enabling or disabling the relative options.
* Fixed a focus problem when updating the personal message and closing/reopening the contact list window.
* Removed the default sound from the eventsrc file, to match the default notification balloons settings.
2007-11-04 (Diederik)
* Major update to file sending architecture, to fix issues with picture/file transfers.
- Transfers corrupted with congested connections because the socket wasn't able to send all data.
- This also improves the throughput for high speed links.
- Applications now wait for a readyWrite() signal from the direct connection socket to send more data.
* - Added tests whether messages are only partially written to the connection.
* Fix broken file transfer after receiving SLP ACK; use the same message ID for all data fragments.
* Small fix with switchboard transfers.
- Avoid resuming applications when there are still too many messages in the pending queue already.
* Small debugging statement improvement in ContentExtension.
* Reduced direct connection attempt time to 10 seconds.
2007-10-04 (Valerio)
* Fixed playing sounds for contacts status changes.
* Reverted two wrong commits, one adding useless deletions to ContactFrame destructor, one overwriting the default
kdevelop project file. Sorry!
2007-10-03 (Valerio)
* Fixed saving contacts settings when the account connection is canceled.
* Added vertical scrollbar to the Emoticons Sidebar.
2007-10-02 (Valerio)
* Changed the old ugly icon for the initial screen's Connect button.
2007-09-30 (Valerio)
* Removed old parsing code which blocked displaying emoticons with double colons in the shortcut text.
* Fixed a possible very small memory leak.
2007-09-29 (Diederik)
* Improved debug statements of destructors by adding contact information.
2007-09-02 (Valerio)
* Added to the chat window right-click context menu items for urls and email addresses.
* Added a couple new error logs.
* Removed an old UI file (kmess/settings/imagewidgetinterface.ui).
2007-09-01 (Valerio)
* Removed some old images from the pics/ folder, updated the "messenger" emoticon ( code: (m) ).
2007-08-29 (Diederik)
* Fix a crash if the properties of a contact without display picture are saved.
2007-08-29 (Valerio)
* Avoid a crash if a contact cancels a file transfer while we're still choosing where to save it.
* Fixed clicking a contact with an already open chat on the contact list didn't raise it.
2007-08-28 (Valerio)
* Added right-click menu items in the chat window's contact frames to allow,add and remove a contact.
2007-08-27 (Valerio)
* Improved class naming in the debug output for file transfer classes.
* Removed reference in ChatWindow to the Chat Master.
* Fixed the block/unblock contact right-click menuitems in the chat window.
2007-08-27 (Diederik)
* Make sure image preview is stored locally in the transfer window, will hopefully fix weird crashes.
* Added file preview to the transfer dialog for sent files, was only visible for received files before.
2007-08-24 (Valerio)
* Fixed double status notification when receiving status changes which don't actually change status. (for example, when receiving a status
change from online to online)
2007-08-22 (Valerio)
* Changed the chat preview text in the account settings: this one should not scare away little children!
* Added specification for the default folder in which to save a chat to.
* Also added to the default folder a default name for the chat.
* Fixed broken signal which prevented to send messages.
2007-08-21 (Diederik)
* Reorganized credits / translators in the about dialog.
* Reorganized the manual completely.
* Updated P2PApplication APIDOX with information about P2P message identifiers.
* Fixed handling of SLP ACK messages which have a zero session-id as well,
also avoid treating those messages as new INVITE.
2007-08-21 (Valerio)
* Fixed changing user font color didn't instantly update the chat preview in the settings.
* Improved disconnection process; now the open chat windows will not be closed, just disabled, so you can read messages received before the
disconnection.
* Improved the way KMess reports a failure in chat message sending.
2007-08-20 (Valerio)
* Unified constructors for ChatMessage and added the isIncoming parameter, to find which messages come from a contact's actions and which come
from us or from kmess. Another commit will change the Applications to allow them using this change.
* Modified the Application classes to distinguish between events from us or kmess and events from our contacts. Now kmess won't tell you that
someone is sending you a file when you drag'n'drop a file to send.
2007-08-19 (Valerio)
* Modified a previous commit which avoided getting newlines in friendly names; now they're allowed, but stripped out anywhere their rendering
would cause problems, like in the chat window's status bar.
2007-08-19 (Diederik)
* Made sue MSNSLP ACK messages (application/x-msnmsgr-transdestaddrupdate) are answered with a P2P ACK.
* Rewrote delivery of incoming MSNSLP ACK messages, which have a null-guid as Call-ID.
* Made sure the P2P message body is only dumped at errors when it's an MSNSLP messages.
* Updated the French translation by Andrea Blankenstijn.
* Updated the Finnish translation by Jussi Timperi.
* Renamed context menu option renamed "Save to file" to "Save chat" because its ambigious when pressing hyperlinks, and not consistent with the menu bar.
* Re-enabled more debugging with --enable-debug-output, except really verbose debug statements.
2007-08-16 (Valerio)
* Changed name to a signal forward method.
* Modified the contact list's contact tooltip so it shows the current media in another line: readability will be increased.
* Added another MSN server error message.
* Fixed drag'n'dropping a file into a chatwindow to send it, made a notification balloon to appear stating that the contact was sending us a file.
2007-08-13 (Valerio)
* Fixed notification was not shown if a contact came online with a status different than "Online". Also now the contacts coming online will be
notified as "come online" even if they've logged in with a different status.
* Improved the status text for file transfers. Enabled the transfer window's debug output.
* Added filtering all email handles incoming from the UI and MSN servers to lowercase, to avoid matching problems.
2007-08-10 (Valerio)
* Fixed closing two times the active switchboard connections when the msn account gets disconnected; improved behavior when disconnecting, now closes first the active chats, then the background switchboards.
* Avoid crashing when closing a contact frame which contains a reference to a Contact which doesn't exist anymore.
* Avoid crashing when closing a chat window which contains a reference to a MsnSwitchboardConnection which doesn't exist anymore.
* Fixed not all chat windows were being closed when disconnecting.
2007-08-08 (Valerio)
* Fixed contact frames not appearing in group chats for unknown contacts.
* Fixed sending two times the autoreply message.
* Fixed incorrect "500 Internal Error" response when transferring via P2P with Windows Live Messenger.
* Added more debugging info and P2P message dumps to help find new Windows Live Messenger P2P messages.
2007-08-07 (Valerio)
* Avoid having newline characters included in nicknames, which cause bad UI resizes.
2007-08-03 (Valerio)
* Improved contact list UI when not using a display picture. Also improved KMessView performance by using the stored CurrentAccount reference.
* Changed contact list icons to KDE theme's ones. Removed now unused email icon from the app's pics.
* Changed behavior, when a contact removes their picture, use the 'no avatar/bag-on-head-guy' picture,
instead of keeping the old pic.
* Added displaying the file transfer size in a more readable form (MB, kB, instead of the byte size).
* Added MSNObject parsing and more debugging information to the Picture Transfer class, to improve debugging (see trac #68).
* Fixed connecting while network is down was blocking KMess for a minute. Also unified a couple error messages, and reduced the
login timeout time, so errors are reported faster. Under heavy traffic conditions, just connecting shouldn't take more than 10s.
30 more seconds are for authentication and contact list downloading.
* Fixed clicking on a balloon for a minimized chatwindow didn't make it show up. Thanks to Wesbluemarine for reporting this one!
2007-08-02 (Valerio)
* Improved notifications system, fixed a couple inconsistencies.
* Fixed another problem with chat popups, which were shown only when popups for all chat messages were on.
2007-08-01 (Valerio)
* Fixed duplicated notifications issue.
* Fixed chat messages notifications.
2007-07-31 (Valerio)
* Fixed chat notifications weren't using the correct window data.
* Fixed sidebar not hiding correctly and not having its size saved; smoothened a bit the chat window loading process.
* Added a script, executed on configure time, to identify the SVN revision of the built version. The full revision info
will be visible in both the About window and in the tray icon tooltip, along with the build date.
* Fixed emptying the picture field in the contact properties didn't restore the original contact's image.
* Updated the user manual. Updated authors and contributors.
* Added some margins to the Chat Window layout.
2007-07-30 (Valerio)
* Redesigned notification balloons settings. Now every kind of balloon can be disabled independently.
* Disabled an alarming warning message, which was in fact a normal situation when logging in.
* Removed a failing assert, should be of no harm.
* Removed warnings about a 'kv' field, which is not sent anymore by the MSN servers, nor used to access Hotmail inboxes.
* Fixed a problem with a signal connection.
* Fixed tray icon tooltip wasn't updated when changing own friendly name.
* Fixed contact name changes weren't being shown in chat windows' titles.
* Made KMess to allow only one settings dialog open at once.
* Improved InitialView: fixed tab order; added a couple spacers to visually separate the account options; if both the
email and password are filled, allow connecting by just pressing Enter.
* Fixed a little focus losing problem with the personal message input box.
* Updated the chat window appearance: Added a right-click menu to the contact frames; made both the sidebar and the message
box resizable.
2007-07-28 (Diederik)
* Changed default chat style to "Fresh", old style (called "Default") is renamed to "Classic".
* Enabled "group follow up messages" by default.
* Fixed duplicate 'chat message' notification, was left over from the old notification system.
2007-07-28 (Valerio)
* Fixed nicknames containing HTML codes weren't being displayed correctly by the notification balloons.
* Fixed non working 'open inbox/send mail' links for non-Hotmail accounts, which now open the settings-specified mail account.
* Reduced the balloon minimum size, removed the "right-click to dismiss" text.
* Added the contacts' status icon in the notification balloons.
2007-07-25 (Diederik)
* Removed custom proxy support in favour of the automatic support by KExtendedSocket.
Current code is hard to maintain, HTTP proxy is broken, and kdelibs already handles proxy support transparently.
2007-07-24 (Valerio)
* Changed a debugging define for MsnNotificationConnection, which shows a line so long it breaks KDevelop's log output.
2007-07-19 (Diederik)
* Fixed some memory leaks using Valgrind. Largest leak was in the XslTransformation class.
It seams QSimpleRichText is also a source of leaks (at least in openSUSE 10.2).
* Fixed suppressing error messages for picture transfers, broken by new detailed balloon messages.
2007-07-15 (Diederik)
* Avoid showing the main window when KMess is started with KDE.
2007-07-11 (Diederik)
* Updated Arabic translation by Youssef Chahibi.
2007-07-11 (Valerio)
* Avoid friendlynames containing newline characters, which mess up with the UI.
* Changed one more time the chat window raising code.
2007-07-09 (Valerio)
* Changed the tooltip in the system tray widget.
2007-07-08 (Diederik)
* Another fix with automatic picture downloading, used wrong contact handle to initiate; skipping the first, and causing the empty "CAL" command.
* Improved debugging statements and added new times (ChatMaster, TransferEntry, P2P transfers).
* Fixed memory leaks with state application instances.
* Fixed a crash if there are multiple chats open with an 'invited contact' who is not on your list.
* Fixed aborting of applications if there are still other switchboards connections with the contact.
* Avoid GUI repaints for the same percentage in the transfer dialog.
2007-07-04 (Valerio)
* Fixed non focused chat windows behavior when receiving messages, it was irritating and obtrusive. Reordered a bit Chatwindow::receivedMessage(), too.
2007-07-03 (Valerio)
* Added initial status drop down box at login, the status you select there will be remembered on next login, but can be
also changed from the Account Settings. The "login as invisible" checkbox is gone. Optionally, I suppose we could also add
a checkbox to make KMess remember instead of the initially set status, the last status set while being connected.
2007-07-02 (Valerio)
* Fixed changing switchboard of a chat window.
* Added a tooltip to the system tray widget which shows the version, the name of the connected account, and the status.
* Removed from the emoticon settings the useless "Install new" button, until we actually implement its functionality.
* Improved how the contact typing picture is handled in the contact frame, will use less CPU.
* Fixed a failing assert in ChatWindow.
* Improved how chat windows switchboards are updated.
* Reverted commit to check SHA1 hashes of incoming MSNObjects, many of them don't have the hash so they're considered broken.
* Added checking if newly changed MSN objects have already been downloaded.
* Improved status dropdown, now at login it changes to the initial status of the account that is connecting.
2007-07-01 (Valerio)
* Added a temporary fix to avoid receiving server commands which start or end with newlines. There probably is some
other problem to be resolved in MsnConnection.
* Fixed a crash caused by a contact going offline before receiving a switchboard's join for that same contact. Cleaned up a lot the way MsnSwitchboardConnection deletes old participants, should be more stable.
* Added another validity check for received msnObjects, using the associated SHA hash.
2007-07-01 (Diederik)
* Fixed compiling at Mac OS X (fink environment with KDE3/X11).
2007-06-30 (Valerio)
* New chat message contents "classes". Now the balloons always display the correct message when transferring files or
doing other types of activities (webcam, audio, etc.)
* Fixed serious bug which was leading to lose incoming messages, closing a window did not close the switchboard too.
* Fixed duplicated chat window closing, caused a warning in debug output.
* Fixed very annoying debug message "QObject::disconnect: Unexpected null parameter", was caused by the deletion of notification popups.
* Fixed incoming messages containing HTML codes like <> weren't being displayed by the notification balloons.
* Improved keepalive system to detect when a session has been closed due to inactivity or to the contact closing his/her chat window.
* Improved detection of invalid and null avatars (MSN Objects).
* Fixed receiving Kopete's custom emoticons made KMess to freeze, and added a protection against other malformed custom emoticon lists.
* Removed empty space at the end of received message bodies which added two empty lines after them.
2007-06-24 (Diederik)
* Fixed receiving of Winks, were removed due an corrupted image check.
* Prevent starting chats with an empty contact handle. Helps debugging the real source.
* Improved P2P debug messages to new readable style.
2007-06-21 (Valerio)
* Fixed a problem with automatic downloading of display pictures; if the dp download queue size is shorter than 4 elements, use its actual size to count how many DPs to download.
2007-06-12 (Valerio)
* Fixed (again) a crash when closing KMess.
2007-06-10 (Diederik)
* Fixed withdrawing a P2P invitation, it needs to send BYE then, KMess sent "500 Internal Error".
This difference is not noticable by Windows Live Messenger users though.
* Fixed downloading of display pictures in the background.
- check all prerequisites before starting a switchboard connection.
- moved checks to the actual timedUpdate() method to avoid race conditions.
2007-06-10 (Valerio)
* Fixed a crash when closing KMess.
* Fixed a freeze when loading the initial contact list - will probably also fix a couple other rare problem conditions.
2007-06-05 (Valerio)
* Temporary fix to ChatMaster::showSpecialMessage(); it needs a serious change to be able to not open new chat windows to only display "transfer failed" or the like. See the Trac ticket "Applications and message types enhancement".
2007-06-04 (Valerio)
* Cleaned up code in ChatMaster and MsnSwitchboardConnection.
* Fixed a little problem in ChatMaster when the switchboard request for a contact picture failed, it was still pulled from the pending requests list.
* Improved behavior when closing chat windows, the SB session wasn't correctly closed.
* Fixed a possible bug when receiving application messages, new offline switchboards were being created.
* MsnSwitchboardConnection: Moved inviting contacts after reconnection from connectTo() to gotUsr().
* Fixed a TODO entry in MsnSwitchboardConnection - when a NAK was received and no chat window is available, the message could not be delivered.
* Updated again the strings translation file (kmess.pot).
* Fixed a problem with the new documentation XML code.
* Fixed drag&drop in chat window allowed to send dropped items which were dragged from the chatwindow itself (for example, display pictures or file transfer previews).
* Fixed automatic download of display pictures tried to do it also when the status was hidden, and also allowed duplication of
pending requests.
* Fixed possible crash on KMess close due to a switchboard trying to delete stuff which was already gone.
2007-06-03 (Diederik)
* Rewrote the introduction of the application manual.
2007-06-02 (Diederik)
* Updated French translation by Andrea Blankenstijn.
2007-05-26 (Valerio)
* Added some debugging info.
* Fixed probably an annoying bug happening when file transfers start on disconnected switchboard connections.
2007-05-23 (Valerio)
* Fixed the bug which made 'join contact to chat' invitations ignored if the switchboard wasn't connected (gray display pics). It needs testing, but should work. Duh.
* Fixed ctrl+enter, shift+enter weren't working any more after my patch to allow drag&drop in the message box.
* Made chatwindow drag&drop mechanism simpler.
* Fixed being unable to write when focus got pulled away from message box to the message view.
* Fixed keyboard shortcuts for the Chat Message View.
2007-05-22 (Valerio)
* Improved the way pending switchboard requests are managed: should reduce the number of "different transaction-id" errors, and behave better when a request gets lost through the internet.
2007-05-20 (Valerio)
* Enabled automatic download of contacts' display pictures; eight every
minute are asked, to avoid flooding the MSN servers.
* Enabled files dragging & dropping on the message box, too.
* Fixed a compiler warning in ChatMessageView.
* Fixed a warning in ChatMessageStyle.
* Changed the way the chatwindows are raised.
* Unified the check for valid account emails, from MsnNotificationConnection::addNewContact() to KMess::isValidEmail().
* Improved account settings dialog, which was blocking user interaction with the UI.
* Improved behavior when trying to add as account an invalid email address.
* Fixed personal message being updated too much when switching windows (like with alt-tab).
* Fixed Hotmail folders opening in wrong browser, removed temporary file generation.
* Fixed wrong style image when contacts don't have a display picture or it's not valid anymore.
* Added verification of received pictures, to delete broken ones.
2007-05-19 (Valerio)
* Fixed a problem in ChatMessageStyle which caused a freeze; also reformatted the code around that method.
* Removed some stale old code in ChatMaster.
* Improved how the NotificationChat balloon displays its message, it didn't limit the message size, and the messages were hard to translate.
2007-05-18 (Valerio)
* Fixed sending nudges to currently disconnected chats, it didn't display the contact name.
* Fixed email parser didn't allow adding contacts whose emails contained '-' characters.
2007-05-17 (Valerio)
* Fixed a signal disconnection also disabled all application commands. (invitation links not working)
* Fixed, probably, a couple crashes caused by incorrect switchboard deallocations.
* Added SVN version to the configure script.
2007-05-16 (Diederik)
* Fixed login redirects for real.
2007-05-16 (Valerio)
* Finally committed the "big one", completely reworked session management system. A lot of classes have been changed;
more testing is still needed. Sorry for the single monolithic commit!
* Improved debugging for MsnSwitchboardConnection.
* Fixed a lot of signal/slot names, which were misleading.
* Improved further the separation between connections to contacts and chat windows. KMess should now use less memory
and be faster when using connections to just transfer pictures, and not chat messages.
* Improved behavior when saving chat logs, use the name of the last contact if no more contacts are active in the chat.
* Unified behavior for opening online and offline chat windows. Should make also easier enabling sending of offline messages
in the future.
2007-05-15 (Diederik)
* Fixed new passport login, added support for redirects. Required for @msn.com accounts.
* Committed more APIDOX improvements to the MsnNotificationConnection class, still uncommitted.
* Fixed infinite loop when there are too many unacked P2P messages in a chat.
2007-05-09 (Jan)
* Updated german translation
2007-05-09 (Valerio)
* Fixed a crash caused by clicking a "new chat message" balloon for a chat window which was already closed.
* Improved behavior of the Contact Frames, now they get deleted when contacts leave the chat, until there's only one left.
* Added method to unify the way chatwindows are raised.
* Fixed possible bug in ChatMaster::getContactSwitchboardConnection().
2007-05-08 (Valerio)
* Improved KMess' icons for right-click context menu, in application menus, and added a separator in the chatwindow toolbar.
2007-05-07 (Valerio)
* Fixed (but temporarily disabled, see TODO) automatic download of changed MSN Objects.
* Improved method names in ChatMaster.
* Made some minor formatting changes in ChatMaster and ChatWindow.
* Improved signals and method names in ChatMaster.
* Improved signals in MsnNotificationConnection.
* Improved some debugging info and made some cosmetic fixes in MsnSwitchboardConnection.
* Further improved signals names in MsnNotificationConnection.
* Improved ChatMaster::getContactSwitchboardConnection() to check in inactive chats too, also made some cosmetic changes.
* Made some minor changes in debugging code and comments; improved methods which raise chatwindows
2007-05-07 (Diederik)
* Fixed double connect with attaching MsnSwitchboardConnection to a chat window.
2007-05-04 (Valerio)
* Removed nicknames from most debug messages, as they are usually too long and render debugging even harder.
* Merged patch by Mr. White, fixes a couple inconsistencies in group context menu.
2007-05-03 (Valerio)
* Improved switchboard code, now it's fully separated from ChatWindow.
* Fixed repeated clicks on a contact in the list opening multiple chat windows.
* Improved signals names for chat opening and switchboard management.
* Fixed changing an account's email did not get reflected in the initial login UI and the menus.
* Merged patch by Mr. White, updates the zooming icons implementation to be more KMess API friendly.
* Fixed signal connection error in NotificationContactOffline and some code alignment and method ordering in notifications code.
* Fixed new keepalive code also kept alive background connections.
* Added keepalive system to kill old background connections.
2007-05-02 (Diederik)
* Start of APIDOX for MsnNotificationConnection.
* Fixed compiling passive popups with KDE 3.2 (really cool balloons require KDE 3.5).
2007-05-02 (Valerio)
* Added a button menu in the account properties browse for display pictures button,
to allow cropping the image after choosing the image.
2007-05-01 (Diederik)
* Added some toolbar separators to the chat window.
2007-04-30 (Valerio)
* Merged patches from Mr.White; changes
- always use the same string for "connected" and "connection still up" statuses (to avoid confusion between similar strings)
- Added chat font size resizing buttons and menu entries.
* Fixed notification balloons text with special messages, like nudges or file transfers.
* Improved a couple debug messages, restyled many others, in chat/ChatMaster
2007-04-30 (Diederik)
* Updated APIDOX of Contact class.
* Added APIDOX to MsnConnection, except proxy methods.
2007-04-29 (Diederik)
* Upgraded login code to Passport 3.0 webservices.
* Fixed crash with offline-im downloading during a second login.
* Fixed hidden crash with SOAP response handling (was not exposed by code yet).
* Fixed 'connection timeout' error for Offline-IM services.
* Updated APIDOX of soap classes.
* Updated APIDOX about debugging practices.
2007-04-26 (Valerio)
* Added a keep alive functionality in the SB, to check when your contacts close the chatwindow.
* Added status message upon incoming server shutdown for maintenance.
2007-04-23 (Valerio)
* Fixed being unable to copy text via the Ctrl+C keyboard shortcut in the chat window.
2007-04-22 (Diederik)
* Fixed account warning about "returning reference" for proxy type settings.
This might fix the proxy settings too, but that needs to be tested too.
* Moved all SOAP classes to network/soap.
Also renamed MsnAppDirectoryConnection to MsnAppDirectoryService.
* Moved InvitedContact class from chat to contact.
* Fixed crash with downloading Offline-IM messages.
* Upgraded login handling to Passport 3.0.
2007-04-22 (Valerio)
* Fixed password changed in the initial login view didn't get saved
* Added cleaning up the configuration files from info of contacts not in list anymore, and avoid saving default contacts config.
* Improved code for contacts moving between groups.
* Improved groups right-click menu.
* Improved detection (and errors) for adding invalid addresses to the list.
* Improved readability for the commands receiving method in MsnNotificationConnection.
* Slightly improved notifications text.
2007-04-21 (Jan)
* Updated german translation
2007-04-21 (Valerio)
* Added the possibility to insert new lines in the chat messages with the keyboard.
2007-04-20 (Valerio)
* Added dragging and dropping of files to be sent into the chat window.
2007-04-19 (Diederik)
* Fixed the 'eventsrc' message, finally includes "kmess" folder.
2007-04-19 (Valerio)
* Fixed registration and account verification links in the settings.
* Fixed chat settings emoticons not showing in the checkbox.
* Fixed settings dialog height for small displays.
* Fixed data classes dependencies from the QWidget class.
* Improved the "remember profile" checkbox, it's now consistent with the selected account.
* Fixed 'eventsrc' file not being found by KMess.
* Removed all the old notification balloons, implemented KDE's passive popups with a custom UI file.
2007-04-18 (Diederik)
* Updated translation by Yenchou Chen.
* Fixed now playing icon, previous one was SUSE-specific.
* Merged patch by Valerio Pilo; fix URL encoding in contact group commands.
2007-04-09 (Diederik)
* Merged patch by Valerio Pilo; save settings directly, not when KMess quits.
* Merged patch by Valerio Pilo; settings of balloon notifiations are applied now.
2007-04-07 (Diederik)
* Merged patch by Valerio Pilo, changes
- added save/clear/remove buttons in network debug window.
- added "remove and block" option in the remove contact dialog.
- added a warning when chat logs can't be saved (e.g. wrong permissions).
- added internationalization support to messenger status url.
- fixed replacing emoticons with HTML characters.
- improved statusbar notification of new messages, added asterisk in front.
* Fixed infinite loop when requesting/resuming two chats at the same time.
* Updated French translation by Choplair.
--- 1.5 pre2 released ---
2007-03-16 (Diederik)
* Fix compiling for KDE 3.2 in chatview.cpp, KAction::setDisabled() call.
@@ -827,7 +1719,7 @@
* Fixed binary relocatable support, added configure check and made it optional.
* Fixed cancelling of incoming (receiving) P2P-filetransfers.
* Fixed a crash with the "Clean up" button after a P2P-filetransfer was cancelled.
* Fixed calculating of filesize for incoming files larger then 255 bytes.
* Fixed calculating of filesize for incoming files larger then 255 bytes.
* Fixed the filesize displayed in the transfer window, it always displayed 0 bytes for incoming P2P-filetransfers.
2004-07-18 (Diederik)
@@ -1060,7 +1952,7 @@
The the two file transfer mechanisms need to be integrated in the UI now.
* Changed the "eventsrc" default settings, the taskbar will flash for each new message.
* Network window is only visible if kmess is configured with --enable-debug-output
2004-10-27 (Diederik)
* The "mark taskbar" option in KNofify (KDE System Notifications) marks the chatwindow now.
* Kmess notifies the user now if it receives an unknown MSN6 P2P-invitation type.
@@ -1602,3 +2494,4 @@ New Features (so I don't forget)
an email's subject as well as sender.
* Stopped deleting ContactActions - the source of much on-exit crashiness.
* Ctrl+T can now be used to close the contact sidebar in the chat window.
+1 -1
View File
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = KMess
PROJECT_NUMBER = 1.5-pre2
PROJECT_NUMBER = 2.0alpha
OUTPUT_DIRECTORY = ./apidocs
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
+24 -6
View File
@@ -1,17 +1,35 @@
KMess Feature list
========================
- 2.0 -
Support to receive Ink (hand-written) messages.
Options to copy a contact's email, name, message and links present in the name/message
List of contact events, such as logins and logouts.
Chat Windows can be used again when reconnecting.
Quick retype of previous sent messages, using Ctrl+Up/Ctrl+Down.
- 1.5.1 -
Contact's MSN client detection.
Option to view contacts' Display Pictures in the contact list.
Option to enable spell checking in the chat windows.
Disable notification popups when there's a screen saver or a full screen application.
Added option to manually set your own MSN status to Idle.
When closing KMess to tray for the first time, a little screenshot of the notification area will help finding KMess' tray icon.
- 1.5 -
Support for new chat content:
- custom emoticons
- nudges
- winks
- offline-im messages.
File transfers support MSN6-style direct connections
Support to exchange (send and receive) custom emoticons and nudges.
Receive-only support for winks and offline-im messages.
Fast file transfers, supporting MSN6+ direct connections.
MSN7 personal status messages are supported.
The appearance of chat message and emoticons can be changed on the fly.
Users with a temporary "guest" account can upgrade to a regular "stored" account.
Messages from the same contact can be grouped.
New default chat style, 'Fresh', making chats more colorful and friendly.
Now listening information can be exchanged.
New KDE style balloon notification popups.
Right-click options for links in the chat window.
Improved and more compact visual style for the chat windows.
Automatically download the display pictures of your contacts.
Option to select an image to use as display picture and to then crop unneeded parts away.
- 1.4 -
MSN6 display picture transfers are supported
+38 -5
View File
@@ -2,12 +2,22 @@
Installation Tip:
=================
In order for KMess to work properly, it must be configured first.
Run the configure script like this:
NOTE: This package is used to build KMess from source code.
If you're looking for a simple way to install KMess,
take a look at http://www.kmess.org/download/.
./configure
To install KMess from this source package you need to create a separate
build directory first. It must be created outside the source folder.
If the ./configure script completed with success, then type
mkdir kmess2-build
Then configure your build using cmake,
and point to the source folder:
cd kmess2-build
cmake ../kmess2
If the cmake scripts did not display any errors, you can run:
make
@@ -15,7 +25,30 @@ and then, as root, type
make install
That's it.
That's it!
Useful cmake parameters:
========================
Try the following switches the change the build.
-D CMAKE_INSTALL_PREFIX=/usr
Install in the /usr directory instead.
-D CMAKE_BUILD_TYPE=[none,debug,debugfull,release,relwithdebuginfo,minsizerel]
Set the preferred build type, which sets recommended compiler flags automatically.
Also consider running "ccmake" for an curses-interface to cmake.
That only works after the build directory is configured with cmake before.
* * * * * * The parts below do not apply to KMess 2 yet! * * * * * *
-15
View File
@@ -1,15 +0,0 @@
####### kdevelop will overwrite this part!!! (begin)##########
SUBDIRS = kmess po doc
EXTRA_DIST = kmess.kdevelop admin AUTHORS COPYING ChangeLog INSTALL README TODO FEATURES kmess.lsm
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
# Code for standard deps
# (like regenerating configure)
include admin/deps.am
include admin/Doxyfile.am
-14
View File
@@ -1,14 +0,0 @@
all:
@echo "This Makefile is only for the CVS repository"
@echo "This will be deleted before making the distribution"
@echo ""
@if test ! -d admin; then \
echo "Please recheckout this module!" ;\
echo "for cvs: use checkout once and after that update again" ;\
echo "for cvsup: checkout kde-common from cvsup and" ;\
echo " link kde-common/admin to ./admin" ;\
exit 1 ;\
fi
$(MAKE) -f admin/Makefile.common cvs
.SILENT:
-976
View File
@@ -1,976 +0,0 @@
# Makefile.in generated by automake 1.8.5 from Makefile.am.
# KDE tags expanded automatically by am_edit - $Revision: 1.5 $
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
####### kdevelop will overwrite this part!!! (begin)##########
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/admin/Doxyfile.am \
$(srcdir)/admin/deps.am $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
TODO admin/compile admin/config.guess admin/config.sub \
admin/depcomp admin/install-sh admin/ltmain.sh admin/missing \
admin/mkinstalldirs admin/ylwrap
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
#>- html-recursive info-recursive install-data-recursive \
#>- install-exec-recursive install-info-recursive \
#>- install-recursive installcheck-recursive installdirs-recursive \
#>- pdf-recursive ps-recursive uninstall-info-recursive \
#>- uninstall-recursive
#>+ 6
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive nmcheck-recursive bcheck-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
#>+ 1
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
ARTSCCONFIG = @ARTSCCONFIG@
AUTOCONF = @AUTOCONF@
AUTODIRS = @AUTODIRS@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONF_FILES = @CONF_FILES@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCOPIDL = @DCOPIDL@
DCOPIDL2CPP = @DCOPIDL2CPP@
DCOPIDLNG = @DCOPIDLNG@
DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
GMSGFMT = @GMSGFMT@
HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
KCONFIG_COMPILER = @KCONFIG_COMPILER@
KDECONFIG = @KDECONFIG@
KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
KDE_INCLUDES = @KDE_INCLUDES@
KDE_LDFLAGS = @KDE_LDFLAGS@
KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
KDE_MT_LIBS = @KDE_MT_LIBS@
KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
KDE_PLUGIN = @KDE_PLUGIN@
KDE_RPATH = @KDE_RPATH@
KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
KDE_USE_FPIE = @KDE_USE_FPIE@
KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
KDE_USE_PIE = @KDE_USE_PIE@
KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
KPHONEDIR = @KPHONEDIR@
KPHONE_AUDIOBUFFER_OBJ = @KPHONE_AUDIOBUFFER_OBJ@
KPHONE_CALLAUDIO_MOC_OBJ = @KPHONE_CALLAUDIO_MOC_OBJ@
KPHONE_CALLAUDIO_OBJ = @KPHONE_CALLAUDIO_OBJ@
KPHONE_DISSIPATE2_LIB = @KPHONE_DISSIPATE2_LIB@
KPHONE_DSPAUDIOIN_OBJ = @KPHONE_DSPAUDIOIN_OBJ@
KPHONE_DSPAUDIOOUT_OBJ = @KPHONE_DSPAUDIOOUT_OBJ@
KPHONE_DSPAUDIO_OBJ = @KPHONE_DSPAUDIO_OBJ@
KPHONE_DSPOUTOSS_OBJ = @KPHONE_DSPOUTOSS_OBJ@
KPHONE_DSPOUTRTP_OBJ = @KPHONE_DSPOUTRTP_OBJ@
KPHONE_DSPOUT_OBJ = @KPHONE_DSPOUT_OBJ@
KPHONE_DTMFGENERATOR_OBJ = @KPHONE_DTMFGENERATOR_OBJ@
KPHONE_G711_OBJ = @KPHONE_G711_OBJ@
KPHONE_GSM_LIB = @KPHONE_GSM_LIB@
KPHONE_ILBC_LIB = @KPHONE_ILBC_LIB@
LDFLAGS = @LDFLAGS@
LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
LIBCOMPAT = @LIBCOMPAT@
LIBCRYPT = @LIBCRYPT@
LIBDL = @LIBDL@
LIBJPEG = @LIBJPEG@
LIBOBJS = @LIBOBJS@
LIBPNG = @LIBPNG@
LIBPTHREAD = @LIBPTHREAD@
LIBRESOLV = @LIBRESOLV@
LIBS = @LIBS@
LIBSM = @LIBSM@
LIBSOCKET = @LIBSOCKET@
LIBTOOL = @LIBTOOL@
LIBUCB = @LIBUCB@
LIBUTIL = @LIBUTIL@
LIBXML_CFLAGS = @LIBXML_CFLAGS@
LIBXML_LIBS = @LIBXML_LIBS@
LIBXML_RPATH = @LIBXML_RPATH@
LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@
LIBXSLT_LIBS = @LIBXSLT_LIBS@
LIBXSLT_RPATH = @LIBXSLT_RPATH@
LIBZ = @LIBZ@
LIB_KAB = @LIB_KAB@
LIB_KABC = @LIB_KABC@
LIB_KDECORE = @LIB_KDECORE@
LIB_KDED = @LIB_KDED@
LIB_KDEPIM = @LIB_KDEPIM@
LIB_KDEPRINT = @LIB_KDEPRINT@
LIB_KDEUI = @LIB_KDEUI@
LIB_KDNSSD = @LIB_KDNSSD@
LIB_KFILE = @LIB_KFILE@
LIB_KFM = @LIB_KFM@
LIB_KHTML = @LIB_KHTML@
LIB_KIMPROXY = @LIB_KIMPROXY@
LIB_KIO = @LIB_KIO@
LIB_KJS = @LIB_KJS@
LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
LIB_KPARTS = @LIB_KPARTS@
LIB_KSPELL = @LIB_KSPELL@
LIB_KSYCOCA = @LIB_KSYCOCA@
LIB_KUNITTEST = @LIB_KUNITTEST@
LIB_KUTILS = @LIB_KUTILS@
LIB_POLL = @LIB_POLL@
LIB_QPE = @LIB_QPE@
LIB_QT = @LIB_QT@
LIB_SMB = @LIB_SMB@
LIB_X11 = @LIB_X11@
LIB_XEXT = @LIB_XEXT@
LIB_XRENDER = @LIB_XRENDER@
LIB_XSCREENSAVER = @LIB_XSCREENSAVER@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
MCOPIDL = @MCOPIDL@
MEINPROC = @MEINPROC@
MOC = @MOC@
MSGFMT = @MSGFMT@
NOOPT_CFLAGS = @NOOPT_CFLAGS@
NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
QTE_NORTTI = @QTE_NORTTI@
QT_INCLUDES = @QT_INCLUDES@
QT_LDFLAGS = @QT_LDFLAGS@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TOPSUBDIRS = @TOPSUBDIRS@
UIC = @UIC@
UIC_TR = @UIC_TR@
USER_INCLUDES = @USER_INCLUDES@
USER_LDFLAGS = @USER_LDFLAGS@
USE_EXCEPTIONS = @USE_EXCEPTIONS@
USE_RTTI = @USE_RTTI@
USE_THREADS = @USE_THREADS@
VERSION = @VERSION@
WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
XGETTEXT = @XGETTEXT@
XMLLINT = @XMLLINT@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_INCLUDES = @X_INCLUDES@
X_LDFLAGS = @X_LDFLAGS@
X_PRE_LIBS = @X_PRE_LIBS@
X_RPATH = @X_RPATH@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
all_includes = @all_includes@
all_libraries = @all_libraries@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
include_ARTS_FALSE = @include_ARTS_FALSE@
include_ARTS_TRUE = @include_ARTS_TRUE@
include_x11_FALSE = @include_x11_FALSE@
include_x11_TRUE = @include_x11_TRUE@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
kde_appsdir = @kde_appsdir@
kde_bindir = @kde_bindir@
kde_confdir = @kde_confdir@
kde_datadir = @kde_datadir@
kde_htmldir = @kde_htmldir@
kde_icondir = @kde_icondir@
kde_includes = @kde_includes@
kde_kcfgdir = @kde_kcfgdir@
kde_libraries = @kde_libraries@
kde_libs_htmldir = @kde_libs_htmldir@
kde_libs_prefix = @kde_libs_prefix@
kde_locale = @kde_locale@
kde_mimedir = @kde_mimedir@
kde_moduledir = @kde_moduledir@
kde_qtver = @kde_qtver@
kde_servicesdir = @kde_servicesdir@
kde_servicetypesdir = @kde_servicetypesdir@
kde_sounddir = @kde_sounddir@
kde_styledir = @kde_styledir@
kde_templatesdir = @kde_templatesdir@
kde_wallpaperdir = @kde_wallpaperdir@
kde_widgetdir = @kde_widgetdir@
kdeinitdir = @kdeinitdir@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
qt_includes = @qt_includes@
qt_libraries = @qt_libraries@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
unsermake_enable_pch_FALSE = @unsermake_enable_pch_FALSE@
unsermake_enable_pch_TRUE = @unsermake_enable_pch_TRUE@
x_includes = @x_includes@
x_libraries = @x_libraries@
xdg_appsdir = @xdg_appsdir@
xdg_directorydir = @xdg_directorydir@
xdg_menudir = @xdg_menudir@
SUBDIRS = kmess po doc
EXTRA_DIST = kmess.kdevelop admin AUTHORS COPYING ChangeLog INSTALL README TODO FEATURES kmess.lsm
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
#>- all: config.h
#>+ 1
all: docs-am config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/admin/deps.am $(srcdir)/admin/Doxyfile.am $(am__configure_deps)
#>- @for dep in $?; do \
#>- case '$(am__configure_deps)' in \
#>- *$$dep*) \
#>- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
#>- cd $(srcdir) && $(AUTOMAKE) --gnu \
#>- && exit 0; \
#>- exit 1;; \
#>- esac; \
#>- done; \
#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
#>- cd $(top_srcdir) && \
#>- $(AUTOMAKE) --gnu Makefile
#>+ 14
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
( \
cd $(srcdir) && $(AUTOMAKE) --gnu \
) || exit 1; echo ' cd $(top_srcdir) && perl admin/am_edit '; cd $(top_srcdir) && perl admin/am_edit && exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
cd $(top_srcdir) && perl admin/am_edit Makefile.in
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
#>- cd $(srcdir) && $(AUTOCONF)
#>+ 2
cd $(srcdir) && rm -f configure
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/admin
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| mkdir "$(distdir)/$$subdir" \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="../$(top_distdir)" \
distdir="../$(distdir)/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
#>- clean: clean-recursive
#>+ 1
clean: kde-rpo-clean clean-recursive
#>- clean-am: clean-generic clean-libtool mostlyclean-am
#>+ 1
clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-data-local
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am uninstall-local
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-libtool clean-recursive \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-data-local install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am uninstall-local
$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in $(top_srcdir)/admin/cvs.sh $(top_srcdir)/admin/pkg.m4.in
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh acinclude_m4
$(top_srcdir)/configure.in: $(top_srcdir)/subdirs $(top_srcdir)/configure.files $(top_srcdir)/admin/cvs.sh
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure_in
$(top_srcdir)/configure.files: $(top_srcdir)/subdirs $(CONF_FILES)
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure.files $(top_srcdir)/admin/cvs.sh
$(top_srcdir)/Makefile.am: $(top_srcdir)/Makefile.am.in $(top_srcdir)/subdirs $(top_srcdir)/admin/cvs.sh
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh Makefile_am
$(top_srcdir)/subdirs: $(top_srcdir)/Makefile.am.in $(top_srcdir)/admin/cvs.sh
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh subdirs
# defining default rules for files that may not be present
$(top_srcdir)/Makefile.am.in:
$(CONF_FILES):
apidox-am-yes:
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
fi ; \
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
test -d $(top_builddir)/apidocs || \
( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
--no-modulename --installdir=$(kde_libs_htmldir)/en \
--no-recurse $(abs_top_srcdir) . ) ; \
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
--recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \
$$abs_top_srcdir $(subdir)
apidox-am-toplevel-yes:
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
fi ; \
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
--no-modulename --installdir=$(kde_libs_htmldir)/en \
$$abs_top_srcdir
apidox-am-no:
apidox-am-toplevel-no:
apidox:
@if test "$(subdir)" != "."; then \
$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\
else \
$(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\
fi
install-data-local: install-apidox
install-apidox:
@if test "$(subdir)" != "."; then \
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \
if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \
echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
fi; \
if test -d $(top_builddir)/apidocs/$(subdir)/html; then \
list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \
echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\
for file in $$list; do \
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \
done; \
fi; \
else\
if test -d $(top_builddir)/apidocs; then \
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\
list=`cd $(top_builddir)/apidocs && ls -1`; \
echo "installing $(top_builddir)/apidocs/$$file" ;\
echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \
for file in $$list; do \
if test -f $(top_builddir)/apidocs/$$file; then \
$(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
fi; \
done ; fi; \
fi
uninstall-local: uninstall-apidox
uninstall-apidox:
@if test "$(subdir)" != "."; then \
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \
rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
fi \
else \
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \
rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
fi \
fi
install-apidox-recurse: install-apidox
@set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \
list='$(SUBDIRS)'; \
for subdir in $$list; do \
if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \
echo "Installing apidox from $$subdir"; \
if test "$$subdir" != "."; then \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \
fi ; fi ;\
done; \
fi
.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes
# Local Variables:
# mode: makefile
# End:
# Code for standard deps
# (like regenerating configure)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
#>+ 2
KDE_DIST=stamp-h.in subdirs configure.in.bot Makefile.in configure.files config.h.in configure.in aclocal.m4 Doxyfile Makefile.dist kmess.spec configure.in.in Makefile.am acinclude.m4 configure
#>+ 2
docs-am:
#>+ 7
force-reedit:
\
cd $(srcdir) && $(AUTOMAKE) --gnu \
cd $(top_srcdir) && perl admin/am_edit Makefile.in
#>+ 21
clean-bcheck:
rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
bcheck: bcheck-recursive
bcheck-am:
@for i in ; do \
if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
echo "$$i"; \
if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
rm -f $$i.bchecktest.cc; exit 1; \
fi ; \
echo "" >> $$i.bchecktest.cc.class; \
perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
rm -f a.out; \
fi ; \
done
#>+ 3
final:
$(MAKE) all-am
#>+ 3
final-install:
$(MAKE) install-am
#>+ 3
no-final:
$(MAKE) all-am
#>+ 3
no-final-install:
$(MAKE) install-am
#>+ 3
kde-rpo-clean:
-rm -f *.rpo
#>+ 3
nmcheck:
nmcheck-am: nmcheck
+148 -2
View File
@@ -1,5 +1,151 @@
Changes between KMess 2.0-alpha and 1.5.1:
--------------------------------------
- ported to KDE 4.
- added support to receive ink messages.
- added ability to re-use previously opened chat windows after reconnecting.
- added a log for contact logins and logouts at the bottom of the contact list
- added copy options for name, email, personal message, and links to right-click menu of contacts.
- added fast-retype of previous sentences using Ctrl+Up.
- added group selection box to the "add contact" dialog.
- improved overall user interface.
- improved client name detection of contacts.
- fixed font color chooser in the chat window, settings could be lost.
- fixed contact re-invites (chat resumes) to the chat when the first attempt failed.
Changes between KMess CVS and 1.5pre1:
Changes between KMess 1.5.1 and 1.5:
--------------------------------------
- added checking if a screensaver or fullscreen app is running, and disable notification popups.
- added option to show contact display pictures in the contact list.
- added spell checker to the chat window, its option is in the Settings menu.
- added a contact list popup text showing which MSN client your contacts use.
- added a little screenshot of the tray icon area when closing KMess to tray for the first time, to help finding where it is.
- added ability to manually select the Idle MSN status.
- added a warning message for broken SOCKS implementations which could cause KMess to freeze.
- fixed selecting a picture in the Autopackage version, and KDE 3.2 / KDE 3.3 installations.
- fixed a possible freeze, could only happen in developer builds (--enable-debug-output).
- fixed focus of typing area when reactivating the chat window.
- fixed the chat window title, which could continue blinking after its window had been given focus.
- updated Danish translation by Pascal d'Hermilly
- updated Traditional Chinese translation by Yen-chou Chen.
Changes between KMess 1.5 and 1.5pre2:
--------------------------------------
- added support to send custom emoticons.
- added support for P4-Context field, used for by plugins of the official client for contact aliases (i.e. Xiaoi's Qun). Patch by LiuSizhuang.
- added initial status chooser at login, and in the account settings.
- added drag&drop for files in the chat window to send files.
- added internationalization support to the service status URL.
- added automatic download of new display pictures in the background.
- added option to crop a picture before using it as display picture.
- added zoom buttons to scale the chat window text.
- added context menu to open and copy links in chat window.
- added "remove and block" option in the contact remove dialog.
- added dialog to confirm overwrite when saving a chat to file.
- added dialog to confirm overwrite when renaming custom emoticons.
- added auto clean up of the configuration files for outdated info.
- added keepalive support to see when a contact really closed the chat window, or the chat went idle.
- added a tooltip to the system tray, showing current name and status.
- added warning message when chatlogs can't be saved (e.g. wrong permissions).
- added status message upon server shutdown for maintenance notification.
- added notification balloons for contact typing and contact status changes.
- added a workaround for NAT timeouts when behind a "black hole" router.
- changed default chat style to "Fresh", old style is renamed to "Classic".
- improved notification balloons, completely new implementation using more standard KDE functionality.
- improved notifications with correct balloons when transferring files and receiving winks and nudges.
- improved taskbar notification of new messages, added asterisk in front.
- improved "Remember this profile" checkbox, it's consistent with the selected account.
- improved error messages for adding invalid MSN accounts.
- improved memory usage by reducing dependencies on QWidget.
- improved memory usage when a chat is started to download a display picture in the background.
- improved tests for invalid e-mail addresses when adding a new contacts.
- improved account settings dialog behavior when adding invalid email addresses.
- improved chat window appearance, with a new right-click menu for the listed contacts, and a resizable message box.
- improved file transfer speed over high speed links.
- improved saving of settings; save directly, not only when KMess quits.
- improved login handling to Passport 3.0 webservices.
- improved the user manual, reorganized completely.
- improved developer API documentation, especially the networking classes.
- improved transfer window's reliability.
- prepared preliminary support for tabbed chats.
- fixed multiple problems with broken file/picture transfers, especially over slow links or slow systems.
- fixed replacing of custom emoticon placeholders which contain <, > or & characters, or quotes.
- fixed support for default messages from MSN Plus!.
- fixed keyboard shortcut to insert new lines in the chat messages.
- fixed keyboard shortcut to copy text in the chat window.
- fixed background rendering in the contact list.
- fixed now playing icon, previous one was SUSE-specific.
- fixed Hotmail folders opening in wrong browser.
- fixed login selectbox, display last selected account at logout.
- fixed opening the main window when KMess is started with KDE.
- fixed missing emoticon example pictures next to the emoticons checkbox.
- fixed settings dialog height, was too big for 800x600 displays.
- fixed settings of notification balloons, balloons can be disabled again.
- fixed emoticon theme settings previews, some themes lacked a preview image.
- fixed links to account registration and verification in the settings dialog.
- fixed maximum length of displayed messages in the message balloons.
- fixed notification balloons text with special messages, like nudges or file transfers.
- fixed resuming chats when there was no connection to switchboard (gray display pictures in the chat).
- fixed raising existing chats when trying to open one from the contact list.
- fixed duplicate chat windows when clicking repeatedly on a contact in the list.
- fixed reuse of chat windows to use expected behavour.
- fixed subtle GUI flashing in the chat window for the contact picture.
- fixed changing an accounts email, it did not get reflected in the initial login UI and the menu's.
- fixed personal message being sent when the main window lost focus, not only when we confirm its change.
- fixed non working 'open inbox/send mail' links for non-Hotmail accounts, which now open the mail account specified in the settings.
- fixed broken contact images which don't get updated; added data hash check.
- fixed connection timeout error with downloading offline-im messages.
- fixed connection timeout issues during login for slow connections.
- fixed incorrect "transfer failed" message when sending files to Mercury Messenger.
- fixed internal protocol message to withdraw a started file transfer (not visible with WLM).
- fixed internal protocol encoding with commands which update groups in the contact list.
- fixed internal protocol handling to allow MSNSLP ACK messages.
- fixed invalid image when contacts don't have a display picture or it's not valid anymore.
- fixed unwanted destroying of the direct connection if a switchboard connection restarts.
- fixed handling of direct connection write errors, revering to the switchboard.
- fixed unwanted "session is cancelled" messages after completing a file transfer.
- fixed issues with aborting invitations when a chat window closes.
- fixed blocking KMess user interface with account settings dialog.
- fixed blocking user interface when the network is down or slow during the login.
- fixed 'eventsrc' file not being found by KMess.
- fixed 'eventsrc' warning, path should be 'kmess/eventsrc'.
- fixed compiling in Mac OS X (fink environment with KDE3/X11).
- fixed a series of potential crashes with closing the chat window.
- fixed a crash when closing the application.
- fixed a crash when downloading offline-im messages.
- fixed a crash when the contact was removed with it's chat window open.
- fixed a crash when the contact cancels a file transfer and the user is still choosing a destination folder.
- fixed a crash when the direct connection could not be initialized correctly.
- fixed a crash when a contact changes status but its chatwindow is not yet loaded.
- fixed a freeze when receiving custom emoticons from Kopete.
- fixed a freeze when starting/resuming multiple chats at the same time.
- fixed a freeze when there are too many unacked P2P messages in a chat.
- fixed a freeze when starting a file transfer with direct connections.
- fixed a possible freeze when inserting emoticons into the messages.
- fixed memory leaks in the chat window using Valgrind.
- fixed many compiler warnings.
- fixed word puzzles in translations with notification balloons.
- fixed translations for the Transfer Window messages.
- removed custom proxy support in favor of the global KDE settings.
- reduced the time KMess waits before detecting a connection error.
- updated Arabic translation by Youssef Chahibi.
- updated Danish translation by Pascal d'Hermilly.
- updated Dutch translation by Jaap Woldringh.
- updated Finnish translation by Jussi Timperi.
- updated French translation by Andrea Blankenstijn and Choplair.
- updated German translation.
- updated Hungarian translation by Páder Rezsõ.
- updated Italian translation by Vincento Reale.
- updated Spanish translation by Christian Kaiser.
- updated Swedish translation by Christian Lundgren.
- updated Thai translation by Rachan Hongpairote.
- updated Turkish translation by Uğur Çetin.
- updated Simplified Chinese translation by Liu Sizhuang.
- updated Traditional Chinese translation by Yen-chou Chen.
Changes between KMess 1.5pre2 and 1.5pre1:
--------------------------------------
- added "now playing" support, both sending and receiving.
- added file transfer preview support, both sending and receiving.
@@ -47,7 +193,7 @@ Changes between KMess CVS and 1.5pre1:
- updated Hungarian translation by Páder Rezsõ.
- updated Italian translation by Valerio Pilo.
- updated Spanish translation by Jaume Corbí.
- updated Turkish translation, by Uğur Çetin.
- updated Turkish translation by Uğur Çetin.
- updated Traditional Chinese translation, by Yen-chou Chen.
- added Hungarian translation by Páder Rezsõ.
- Removed ASL and unhappy icon because these are no longer used in Windows Live Messenger.
+91 -22
View File
@@ -16,12 +16,49 @@ The licensing terms are the GNU General Public License.
Installation Tip:
=================
In order for KMess to work properly, it must be configured first.
Run the configure script like this:
NOTE: This package is used to build KMess from source code.
If you're looking for a simple way to install KMess,
take a look at http://www.kmess.org/download/.
./configure
First configure your build using the configure script:
If the ./configure script completed with success, then type
./configure --prefix=/usr
If everything went well, you can run:
cd build
make
and then, as root, type
make install
That's it!
Compiling with cmake:
=====================
KMess 2 is KDE 4 software, which uses 'cmake' to build the software.
To make it a bit more familiar for you, we have created a 'configure'
script which does all the cmake magic behind the scenes.
It's also possible to use 'cmake' directly.
The build commands become a little bit different.
First, you need to create a separate build directory:
mkdir build
Then configure your build using cmake,
and point to the source folder:
cd build
cmake ../
You can provide extra parameters with the '-D' option, see below.
If the cmake scripts did not display any errors, you can run:
make
@@ -29,7 +66,38 @@ and then, as root, type
make install
That's it.
Useful cmake parameters:
========================
Try the following switches to change the build.
-D CMAKE_INSTALL_PREFIX=/usr
Install in the /usr directory instead (default is /usr/local).
-D CMAKE_BUILD_TYPE=[none,debug,debugfull,release,relwithdebuginfo,minsizerel]
Set the preferred build type, which sets recommended compiler flags automatically.
-D KMESS_DEBUG_OUTPUT=[1,0]
Activates/deactivates KMess debugging output to console, even on release builds.
This flag is automatically enabled when the build type is "debugfull".
If you find this too difficult, consider using our "./configure" script
instead. This is a wrapper these 'cmake' arguments to make it easier,
and more familiar, to compile software.
Also consider running "ccmake" for an curses-interface to cmake.
That only works after the build directory is configured with cmake before.
* * * * * * The parts below do not apply to KMess 2 yet! * * * * * *
@@ -113,7 +181,7 @@ you need to install the "libjpeg-devel" package.
If you get this error:
''checking for Qt... configure: error:
Qt (>= Qt 3.1 (20021021)) (headers and libraries) not found.
Please check your installation!''
Please check your installation!''
you need to install the "qt-devel" (or "qt3-devel") package.
@@ -127,28 +195,26 @@ you need to make sure "kdelibs-devel" (or "kdelibs3-devel") is installed!
Installing from CVS:
Installing from SVN:
====================
If there is any need to install the CVS version, read on.
If there is any need to install the SVN version, read on.
The KMess CVS contains the latest changes made to KMess.
Each new feature or bugfix will be stored into CVS by developers.
The code in CVS will eventually become the new KMess release.
The KMess SVN repository contains the latest changes made to KMess.
Each new feature or bugfix will be stored into SVN by developers.
The code in SVN will eventually become the new KMess release.
Note that the CVS version is the equivalent
of an "alpha" or "beta" release!
NOTE: The SVN version is the equivalent
of an "alpha" or "beta" release; there also is
a little possibility that it won't even compile!
The changes made to CVS could take a few days to reach
the public servers. To install KMess from CVS you need to
have the packages "autoconf" and "automake" installed.
To install KMess from SVN you need to have the packages "autoconf"
and "automake" installed.
To download the CVS version, run these commands:
To download the SVN version, run these commands:
cvs -d :pserver:anonymous@cvs.sf.net/cvsroot/kmess login
(hit enter when prompted for a password)
cvs -d :pserver:anonymous@cvs.sf.net/cvsroot/kmess -z3 checkout kmess
svn checkout http://kmess.svn.sourceforge.net/svnroot/kmess/trunk/kmess/
If the download succeeds, run this command:
@@ -158,9 +224,9 @@ This will generate the ./configure script and Makefile templates.
Then you can proceed with the normal installation.
Each time the CVS version is updated, you can run
Each time the SVN version is updated, you can run
cvs update
svn update
make -f Makefile.dist
./configure
make
@@ -168,6 +234,9 @@ Each time the CVS version is updated, you can run
and you'll have the latest KMess version installed.
For more information about accessing the KMess SVN repository,
visit the KMess site at http://kmess.org/svn/ .
Updating the translations
+72 -88
View File
@@ -1,36 +1,13 @@
Before release:
===============
___ Update Changelog, NEWS, FEATURES
___ Add/update release tagline in Changelog and NEWS
___ Update version in: configure.in.in Doxyfile kmess.spec kmess.lsm autopackage/default.apspec
___ Run includemocs
___ Set <UI version="3.1" ..> in *.ui files
check using: find . -name *.ui | xargs grep 'version='
___ Test P2P support with new clients, including msn 7.5, amsn, gaim, e-messenger, kopete.
___ Test rtl support with chat styles:
cd kmess/styles
for i in */*.xsl; do name=`dirname $i`; xsltproc $i examplemessage.xml > $name/test.html; done
konqueror */test.html
Creating the release:
=====================
___ Checkout CVS in a fresh directory:
mkdir kmess-ver
cvs -d ":ext:account@kmess.cvs.sourceforge.net:/cvsroot/kmess" checkout -d kmess-ver kmess
___ run make -f Makefile.dist (this also updates version from configure.in.in)
___ Remove autom4te.cache and the 'CVS' dirs.
rm -Rf autom4te.cache
find . -type d -name CVS -exec rm -Rf {} \;
___ Create the tarball.
___ Verify whether it compiles with KDE 3.2 (using Slackware 10.0 for example)
When it doesn't work, commit fixes to CVS and start over. This avoids releasing the wrong code.
___ Tag version in CVS
Please note this file is replaced by an online Trac installation.
Our trac installation can be found at: http://trac.kmess.org/
If you're looking for junior jobs, you may also contact us
at the KMess help forums.
Thanks
After release:
==============
___ Update freshmeat, kde-apps.org, kde-announce-apps
To do:
@@ -40,7 +17,6 @@ Unfinished new features:
___ Invite contacts for a new chat session when the current chat is used for file transfers.
___ Invite contacts for a new chat session when the current chat has multiple participants (display dialog to choose the contact).
___ Change mouse cursor when hovering over the "personal status message" widget, make non-active background color less dark.
___ (in progress) Restore the context menu in the chat window.
___ Lookup all "TODO" items in the code.
Unfinished protocol features:
@@ -54,61 +30,31 @@ ___ Update the classic FileTransfer application to use the new async-cnnect, Dir
Critical bugs:
___ Restore the documentation
___ Restore the translations
___ Crash with downloading offline-im messages: http://www.kmess.org/board/viewtopic.php?t=1490
Junior jobs:
___ Fix settings for balloon notifications, see http://www.kmess.org/board/viewtopic.php?t=559
___ Fix e-mail support for non-Hotmail accounts, don't attempt to use Hotmail. Use chosen app or default KDE mail app instead).
___ (in progress) Drag and drop of files in the chat window.
___ Add save log button to network window.
___ Allow users to scale fonts in the chat window (zoom icons).
___ Automatically save settings when pressing OK, not when closing KMess.
___ Add a balloon if the contact start the chat with an filetransfer/nudge/wink.
___ Implement KDE passive popups so the balloon code can be removed later.
___ Improve wink playing, include preview, offer "play" button (also see other showWink() issues). Also fixes issues when chat is started with a wink.
___ Implement phone settings (PRP and BPR fields).
___ Implement privacy settings (GTC and BLP fields, messages like "can't chat with invited contact" because not in the AL).
___ Implement setEnabled() checks for the contact group context menu in KMessView::slotContextMenu().
___ Test whether a display picture is fully received, and remove the image from the cache otherwise.
___ Group chats: fix status bar when multiple users are typing a message.
___ Add the ability to select another browser for opened links, instead of the kde's default browser.
... And if you're up for a challenge, you could try one of the "Low priority protocol features" below too.
... Or try to implement a new MSN feature (see "Future ideas" section).
Annoying bugs:
___ When the switchboard is disconnected (gray contact pictures), it's not possible to invite new contacts.
___ Fix repeated picture transfer invitations when contact declines or aborts the invitation (preferably disable only for a few minutes).
___ Login blocks all gui-events: make all connection attempts async (put TcpConnectionBase under MsnConnection).
___ Delete contact settings when contact no longer exists in the contact list.
___ Implement cleaning up of the kmessrc file, remove old Contact entries that are no longer used.
___ Automatically clean up the displaypics folder, and msnpicture-alias-##.png images that are older then 1 month.
___ Fix error messages with 'actions -> new contact' on a 'non-existing contact', 'existing contact' and 'contact without @'.
___ Fix contact list background picture scrolling
___ Hide the register link when editing an account.
___ Improve settingsdialog height, for 800x600 displays.
___ Add detection for NAK responses to file transfer invitations
___ Replace warning message "you can't change your friendly name" with something less unobtrusive.
___ Improve performance of restyling the chat window: combine xml to one string.
___ Make moving of contacts smoother, see MsnNotificationConnection::getAdc().
___ Display a message box if the chat logs can't be saved because the folder no longer exists.
___ Fix MsnConnection::addPercents(), replace with KURL::encode_string(), but test for compatibility.
___ Fix problems with clicking on contacts rapidly, see http://www.kmess.org/board/viewtopic.php?t=533
___ Fix newline shortkey Ctrl+Enter / Shift+Enter in GNOME.
___ Now listening icon is SUSE specific
___ Emoticons are no longer displayed in the chat settings tab.
___ Contact list items flicker, specially when there are a lot of contacts.
Low-priority features:
___ Highlight the text of the contact list item when it's active.
___ Improve wink processing messages of `cabextract` output in ChatWindow::showWink().
___ In the emoticon settings panel, don't assume "smile.png" will always be available (parse theme, preferably with an EmoticonTheme class).
___ When chat window closes, inform user the file transfers will also abort.
___ Balloon size fix (2 contacts on balloon), might become obsolute when passive popups are used instead.
___ See what happens when there is a picture transfer in a multi-chat, and: 1) a private chat with the same contact is started 2) when one of the chats becomes buzy.
___ Improve the parsing of *bold* /italics/ and _underline_, so http:/website/ does not become italic and avoid mangling <a href="http:/<i>website</i>">.
___ See what happens when there is a picture transfer in a multi-chat, and one of the chats becomes buzy.
___ Improve the parsing of *bold* /italics/ and _underline_, so http:/website/ does not become italic and avoid mangling <a href="http://website/"> to <a href="http:/<i>/website/</i>">.
___ Disable cut/copy for the password line (InitialViewInterface, not using KPasswordEdit because it disables too much).
_N_ Create an Apt repository online
___ When opening chat windows, shift their position to make them cascade.
Low-priority code changes:
___ Update binreloc support to version 2.0.
___ Add Application::get..TransferAbortMessage().
___ Only allow plugins/non-local files temporary when displaying winks?
___ Implement Application::attachToChat(..) feature to improve aborting?
@@ -116,16 +62,12 @@ ___ Create a WinkArchive class for the code in ChatWindow::showWink().
___ Include contact meta-data in receivedMessage() call of ChatWindow::showWink().
___ Use kdWarning() instead of kdDebug() << "WARNING", for warning messages.
___ Use if(KMESS_NULL(..)) checks instead of current if(.. != 0) { .. }
___ Remove the dependency on QWidget for data-classes.
___ Move chat/invitedcontact.h to the contact folder.
___ Move network/extra/httpsoapconnection to the network root folder.
___ Move utility classes to a separate folder.
___ Decouple the MsnSwitchboardConnection from the ChatWindow class, for picture transfers in the background.
___ Put TcpConnectionBase under MsnConnection.
___ Remove all #includes for <kdebug.h> and replace it with "kmessdebug.h" (watch for inclusions from subdirs)
Low-priority protocol features:
___ Support removing a contact from just one group.
___ Support adding contacts to multiple groups.
___ Improve removing contacts, offer dialog to block the contact as well (currently always kept in allowed list).
___ Detect multiple external IP addresses to advertise in file transfer invite message.
___ Support sending the data-preparation ACK later with Windows Live Messenger picture transfers.
___ Support direct connection setups when requesting contact pictures.
@@ -134,32 +76,22 @@ ___ Support the datacast emulation over MSNP2P for MSNC1-compatible clients (for
___ Test whether applications need to be aborted when the switchboard reconnects.
___ Check P2P incomingMessages_ / outgoingMessages_ cache for timeouts.
___ Leave a P2PApplication half-open to receive a final error message.
___ Make sure the proxy code works without a sockaddr_in structure (need to test somehow).
___ Check if the mutex lock in MsnConnection is really needed anymore.
___ Use "URL PERSON/PROFILE" settings.
Wishes by users for 1.5:
___ Include a tooltip in the contact sidebar.
___ Include a contact menu in the contact sidebar (see https://www.lab.fi.uva.es/~albgonz/kmesss.jpg)
___ Improve the contact list contact menu
___ Compact sidebar list as described in http://www.kmess.org/board/viewtopic.php?t=460
(make it optional, let the user choose between "no", "compact", "full")
___ Maybe: improve chat window layout like http://kde-apps.org/content/show.php?content=24461
(looks more clean, though it's a bit kmerlin like though, and the current pictures list is not that bad for multi-chat)
(looks more clean, though it's a bit kmerlin like though, and the current pictures list is not that bad for multi-chat) - Being worked on
___ Group off-line contacts in one single group.
___ Group chats: remove contact frame when a user leaves the chat.
___ Group chats: use more compact ontact frame.
___ Group chats: use more compact contact frame.
___ Account menu's: only show submenu when there are multiple accounts.
___ XMMS2 now listening: http://www.kmess.org/board/viewtopic.php?t=1569 (use relaytool from autopackage.org for that).
___ Optionally download contact pictures when the picture changed but they're not in a chat yet.
Wishes by users for 1.6:
___ Tabbed chats.
___ Get rid of the balloons
Open for discussion:
___ Implement text/x-keepalive message so be sure when a contact really left a chat.
___ When the contact disables it's picture, should we leave the current one active, or revert the the "unknown" picture?
___ Order of the title in the main window, account before or after. Should distinguish from the chat windows though.
Implemented for 1.5:
@@ -176,6 +108,63 @@ _Y_ Contact sidebar width is not saved/restord anymore.
_Y_ Contact sidebar width is changed when the chat window resizes.
_Y_ Check if our eventsrc file is found in the KDE-dirs, otherwise warn KMess can't notify or flash the taskbar or play sounds (see: http://www.kmess.org/board/viewtopic.php?t=1619)
_N_ (caused by Beryl bug) "Focus stealing prevention", open the new chat windows in the background by default.
_Y_ Add save log button to network window.
_Y_ Improve removing contacts, offer dialog to block the contact as well (currently always kept in allowed list).
_Y_ Display a message box if the chat logs can't be saved because the folder no longer exists.
_Y_ Automatically save settings when pressing OK, not when closing KMess.
_Y_ Fix settings for balloon notifications, see http://www.kmess.org/board/viewtopic.php?t=559
_Y_ Now listening icon is SUSE specific
_Y_ Fix MsnConnection::addPercents(), replace with KURL::encode_string(), but test for compatibility.
_Y_ Replace warning message "you can't change your friendly name" with something less unobtrusive.
_Y_ Emoticons are no longer displayed in the chat settings tab.
_Y_ Improve settingsdialog height, for 800x600 displays.
_Y_ Hide the register link when editing an account.
_Y_ Remove the dependency on QWidget for data-classes.
_Y_ Add a balloon if the contact start the chat with an filetransfer/nudge/wink.
_Y_ Implement KDE passive popups so the balloon code can be removed later.
_Y_ Balloon size fix (2 contacts on balloon), might become obsolute when passive popups are used instead.
_Y_ Get rid of the balloons
_Y_ Drag and drop of files in the chat window.
_Y_ Fix newline shortkey Ctrl+Enter / Shift+Enter in GNOME. In fact it didn't work at all, not only in GNOME. :P
_Y_ Delete contact settings when contact no longer exists in the contact list.
_Y_ Implement cleaning up of the kmessrc file, remove old Contact entries that are no longer used.
_Y_ Make moving of contacts smoother, see MsnNotificationConnection::getAdc().
_Y_ Fix error messages with 'actions -> new contact' on a 'non-existing contact', 'existing contact' and 'contact without @'.
_N_ Move network/extra/httpsoapconnection to the network root folder.
_Y_ Move chat/invitedcontact.h to the contact folder.
_Y_ Implement text/x-keepalive message so be sure when a contact really left a chat.
_Y_ Update binreloc support to version 2.0.
_Y_ Crash with downloading offline-im messages: http://www.kmess.org/board/viewtopic.php?t=1490
_Y_ Login blocks all gui-events: make all connection attempts async
_Y_ Allow users to scale fonts in the chat window (zoom icons).
_Y_ Fix problems with clicking on contacts rapidly, see http://www.kmess.org/board/viewtopic.php?t=533
_Y_ Decouple the MsnSwitchboardConnection from the ChatWindow class, for picture transfers in the background.
_Y_ Highlight the text of the contact list item when it's active.
_Y_ Fix contact list background picture scrolling
_Y_ Implement setEnabled() checks for the contact group context menu in KMessView::slotContextMenu().
_Y_ Optionally download contact pictures when the picture changed but they're not in a chat yet.
_Y_ Test whether a display picture is fully received, and remove the image from the cache otherwise.
_Y_ Limit the maximum number of MSN Object simultaneous downloads, to avoid server flooding. See ChatMaster::slotContactChangedMsnObject().
_Y_ Fix e-mail support for non-Hotmail accounts, don't attempt to use Hotmail. Use chosen app or default KDE mail app instead).
_Y_ Update the accounts listed in the initial list When one of the registered accounts is deleted.
_Y_ Improve the contact list contact menu
_N_ Check if the mutex lock in MsnConnection is really needed anymore.
_Y_ Restore the context menu in the chat window.
_Y_ Disallow logging in without having entered a password.
_Y_ When the switchboard is disconnected (gray contact pictures), the command to invite new contacts will get ignored when a new switchboard gets ready.
_Y_ In the emoticon settings panel, don't assume "smile.png" will always be available (parse theme, preferably with an EmoticonTheme class).
_Y_ Include a tooltip in the contact sidebar.
_Y_ Include a contact menu in the contact sidebar (see https://www.lab.fi.uva.es/~albgonz/kmesss.jpg)
_Y_ When the contact disables it's picture, should we leave the current one active, or revert the the "unknown" picture?
_Y__ Group chats: remove contact frame when a user leaves the chat.
_Y_ Support removing a contact from just one group.
_Y_ Group chats: fix status bar when multiple users are typing a message.
_Y_ Implement UPnP support
_Y_ Add winks support
_Y_ Add emoticon transfer support
_N_ "Who has me in his/hers contact list?" dialog (allowed/removed groups already reveal this)
_N_ Include the network-window as "--with-network-window" if the network-window-code displays traffic nicer.
@@ -184,7 +173,6 @@ Future ideas:
MSN Protocol support:
___ Improve old file transfer code, multiple connections like MSN5 does.
_Y_ Implement UPnP support
___ Implement a settings category ("File transfers") where the user can at least choose:
- "[x] Allow KMess to control my internet router programmatically [learn more]"
- "Use the following port to receive UPnP broadcast responses: [default 1900]"
@@ -192,8 +180,6 @@ ___ Implement STUN support, also for Connection-Type field, see http://en.wikipe
___ Add voice (SIP) support
___ Add Voice clips support, see http://www.hypothetic.org/docs/msn/phorum/read.php?f=1&i=11505&t=11437
___ Add webcam (RTP) support, see http://www.hypothetic.org/docs/msn/phorum/read.php?f=1&i=9837&t=9837
_Y_ Add winks support
_Y_ Add emoticon transfer support
___ Add Ink support?
___ Fix msn remote desktop invitation support (context field with user/pass)
___ Add HTTP connection method.
@@ -212,8 +198,6 @@ ___ Update contact properties edit dialog, icon button for contact icon.
___ Browse/view the contact picture cache (include meta data, like contact handle and date/time)
___ Show an icon overlay for contact connected with webmessenger.msn.com / MSN Mobile
___ Add contact icon (purple?) for unknown contacts added by others in a multi-chat session.
_N_ "Who has me in his/hers contact list?" dialog (allowed/removed groups already reveal this)
_N_ Include the network-window as "--with-network-window" if the network-window-code displays traffic nicer.
KDE Integration:
___ KDE-IM bridge (http://developer.kde.org/documentation/library/cvs-api/interfaces/html/classKIMIface.html)
-11920
View File
File diff suppressed because it is too large Load Diff
Vendored
-933
View File
@@ -1,933 +0,0 @@
# generated automatically by aclocal 1.8.5 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# -*- Autoconf -*-
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
# Generated from amversion.in; do not edit by hand.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.8.5])])
# AM_AUX_DIR_EXPAND
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
[dnl Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])dnl
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 6
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE])
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
# serial 7 -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
# Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
# Solaris 8's {/usr,}/bin/sh.
touch sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
case $depmode in
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
none) break ;;
esac
# We check with `-c' and `-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle `-M -o', and we need to detect this.
if depmode=$depmode \
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
])
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE(dependency-tracking,
[ --disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
# When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
for file in `sed -n '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 7
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 11
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.58])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_CC],
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$1 | $1:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# -*- Autoconf -*-
# Copyright (C) 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo done
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# We grep out `Entering directory' and `Leaving directory'
# messages which can occur if `w' ends up in MAKEFLAGS.
# In particular we don't look at `^make:' because GNU make might
# be invoked under some other name (usually "gmake"), in which
# case it prints its new name instead of `make'.
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
am__include=include
am__quote=
_am_result=GNU
fi
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include
am__quote="\""
_am_result=BSD
fi
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
# -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
# AM_PROG_MKDIR_P
# ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
# This was a mistake. There are at least two reasons why we must not
# use `-m 0755':
# - it causes special bits like SGID to be ignored,
# - it may be too restrictive (some setups expect 775 directories).
#
# Do not use -m 0755 and let people choose whatever they expect by
# setting umask.
#
# We cannot accept any implementation of `mkdir' that recognizes `-p'.
# Some implementations (such as Solaris 8's) are not thread-safe: if a
# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
# concurrently, both version can detect that a/ is missing, but only
# one can create it and the other will error out. Consequently we
# restrict ourselves to GNU make (using the --version option ensures
# this.)
AC_DEFUN([AM_PROG_MKDIR_P],
[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without
# argument. Indeed, we sometimes output rules like
# $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined.
# (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
# expensive solution, as it forces Make to start a sub-shell.)
mkdir_p='mkdir -p -- .'
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
for d in ./-p ./--version;
do
test -d $d && rmdir $d
done
# $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
if test -f "$ac_aux_dir/mkinstalldirs"; then
mkdir_p='$(mkinstalldirs)'
else
mkdir_p='$(install_sh) -d'
fi
fi
AC_SUBST([mkdir_p])])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
#
# Check to make sure that the build environment is sane.
#
# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])
# AM_PROG_INSTALL_STRIP
# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
m4_include([acinclude.m4])
-102
View File
@@ -1,102 +0,0 @@
## generate API documentation with doxygen
apidox-am-yes:
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
fi ; \
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
test -d $(top_builddir)/apidocs || \
( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
--no-modulename --installdir=$(kde_libs_htmldir)/en \
--no-recurse $(abs_top_srcdir) . ) ; \
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
--recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \
$$abs_top_srcdir $(subdir)
apidox-am-toplevel-yes:
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
fi ; \
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
--no-modulename --installdir=$(kde_libs_htmldir)/en \
$$abs_top_srcdir
## Don't generate API documentation without doxygen
apidox-am-no:
apidox-am-toplevel-no:
apidox:
@if test "$(subdir)" != "."; then \
$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\
else \
$(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\
fi
install-data-local: install-apidox
## install API documentation
install-apidox:
@if test "$(subdir)" != "."; then \
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \
if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \
echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
fi; \
if test -d $(top_builddir)/apidocs/$(subdir)/html; then \
list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \
echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\
for file in $$list; do \
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \
done; \
fi; \
else\
if test -d $(top_builddir)/apidocs; then \
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\
list=`cd $(top_builddir)/apidocs && ls -1`; \
echo "installing $(top_builddir)/apidocs/$$file" ;\
echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \
for file in $$list; do \
if test -f $(top_builddir)/apidocs/$$file; then \
$(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
fi; \
done ; fi; \
fi
uninstall-local: uninstall-apidox
## uninstall API documentation
uninstall-apidox:
@if test "$(subdir)" != "."; then \
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \
rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
fi \
else \
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \
rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
fi \
fi
install-apidox-recurse: install-apidox
@set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \
list='$(SUBDIRS)'; \
for subdir in $$list; do \
if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \
echo "Installing apidox from $$subdir"; \
if test "$$subdir" != "."; then \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \
fi ; fi ;\
done; \
fi
.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes
# Local Variables:
# mode: makefile
# End:
-192
View File
@@ -1,192 +0,0 @@
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = NO
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 4
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
QUIET = YES
WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_FORMAT =
WARN_LOGFILE =
INPUT =
FILE_PATTERNS = *.h \
*.cpp \
*.cc \
*.hpp \
*.dox \
*.c++ \
*.cxx \
*.h++ \
*.hh
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = *.moc.* \
moc* \
*.all_cpp.* \
*unload.* \
*/test/* \
*/tests/* \
*_p.h
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = YES
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 3
HTML_OUTPUT =
HTML_FILE_EXTENSION = .html
HTML_HEADER = ../apidocs/common/header.html
HTML_FOOTER = ../apidocs/common/footer.html
HTML_STYLESHEET = ../apidocs/common/doxygen.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
GENERATE_LATEX = NO
LATEX_OUTPUT =
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
GENERATE_RTF = NO
RTF_OUTPUT =
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
GENERATE_MAN = NO
MAN_OUTPUT =
MAN_EXTENSION = .kde3
MAN_LINKS = YES
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = NO
GENERATE_AUTOGEN_DEF = NO
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = QT_VERSION=320 \
__cplusplus \
Q_WS_X11
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = NO
PERL_PATH =
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = NO
UML_LOOK = NO
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 800
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
SEARCHENGINE = NO
### KDE Settings
ALIASES = \
"intern=\par<b>Internal use only.</b>" \
"reimp=\par<b>Reimplemented from superclass.</b>" \
"obsolete=@deprecated" \
"feature=\xrefitem features \"Feature(s)\" \"Features\"" \
"maintainer=\xrefitem maintainers \"Maintainer(s)\" \"Maintainers\"" \
"unmaintained=\xrefitem unmaintained \"Unmaintained\" \"Unmaintained\"" \
"requirement=\xrefitem requirements \"Requirement(s)\" \"Requirements\"" \
"faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \
"authors=\xrefitem authors \"Author(s)\" \"Authors\"" \
"FIXME=\xrefitem fixme \"Fixme\" \"Fixme\""
HTML_ALIGN_MEMBERS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
VERBATIM_HEADERS = NO
GENERATE_HTML = YES
SOURCE_BROWSER = YES
GENERATE_AUTOGEN_DEF = NO
DETAILS_AT_TOP = YES
SORT_MEMBER_DOCS = YES
GENERATE_TODOLIST = YES
IGNORE_PREFIX = K
GENERATE_HTML = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
-37
View File
@@ -1,37 +0,0 @@
### Makefile.common
###
### Copyright (C) 2002 by the KDE developers
### All the real work is done by the shellscript cvs.sh
SHELL=/bin/sh
cvs dist configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages:
@admindir=$(admindir); \
if test "x$$admindir" = x; then \
admindir=.; until test -f $$admindir/admin/cvs.sh; do \
admindir=$$admindir/..; \
if test `cd $$admindir && pwd` = / ; then break; fi; \
done; \
admindir=$$admindir/admin; \
if test -f $$admindir/cvs.sh; then :; else \
echo "Can't find the admin/ directory in any parent of the"; \
echo "current directory. Please set it with admindir=..."; \
exit 1; \
fi; \
fi; \
if test "$@" = "package-merge"; then \
MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \
$(SHELL) $$admindir/cvs.sh package-merge ;\
else \
MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\
fi
configure.in: configure.files subdirs
configure.files: subdirs
svn: cvs
.SILENT:
.PHONY: svn cvs dist package-merge package-messages
File diff suppressed because it is too large Load Diff
-2445
View File
File diff suppressed because it is too large Load Diff
-157
View File
@@ -1,157 +0,0 @@
#!/usr/bin/perl -w
use DB_File;
use Fcntl ':flock';
if (!defined($ARGV[0])) {
print "usage: requires .class dump as parameter!\n";
exit;
}
sub bailout
{
untie %bcheckdb if(defined(%bcheckdb));
if(defined(MYLOCK)) {
flock MYLOCK, LOCK_UN;
close(MYLOCK);
}
print @_;
exit 5;
}
sub ask_user
{
my ($dbkey, $dbchunk) = @_;
if (defined($ENV{"BCHECK_UPDATE"})) {
$bcheckdb{$dbkey} = $dbchunk;
return;
}
&bailout("BC problem detected") if (! -t STDIN);
print "(I)gnore / (Q)uit / (U)pdate: ";
my $key;
while(defined(read STDIN, $key, 1)) {
$key = lc($key);
print "got: >$key<\n";
return if ($key eq 'i');
&bailout("BC problem. aborted") if ($key eq 'q');
if ($key eq 'u') {
$bcheckdb{$dbkey} = $dbchunk;
return;
}
print "\n(I)gnore / (Q)uit / (U)pdate: ";
}
}
sub diff_chunk($$)
{
my ($oldl, $newl) = @_;
my @old = split /^/m, $oldl;
my @new = split /^/m, $newl;
my $haschanges = 0;
my $max = $#old > $#new ? $#old : $#new;
die "whoops. key different" if ($old[0] ne $new[0]);
if ($#old != $#new) {
warn ("Structural difference.\n");
print @old;
print "-----------------------------------------------\n";
print @new;
$haschanges = 1;
return $haschanges;
}
print $old[0];
my ($class) = ($old[0] =~ /^(?:Class |Vtable for )(\S+)/);
my $c = 1;
while ($c < $max) {
my ($o, $n) = ($old[$c], $new[$c]);
chomp $o;
chomp $n;
$c++;
next if ($o eq $n);
if(defined($class) and $n =~ /^(\d+\s+)\w+(::\S+\s*.*)$/) {
next if ($n eq "$1$class$2");
}
$haschanges = 1;
print "-$o\n+$n\n\n";
}
return $haschanges;
}
local $dblock = $ENV{"HOME"} . "/bcheck.lock";
my $dbfile = $ENV{"HOME"} . "/bcheck.db";
my $cdump = $ARGV[0];
die "file $cdump is not readable: $!" if (! -f $cdump);
# make sure the advisory lock exists
open(MYLOCK, ">$dblock");
print MYLOCK "";
flock MYLOCK, LOCK_EX;
tie %bcheckdb, 'DB_File', $dbfile;
my $chunk = "";
open (IN, "<$cdump") or die "cannot open $cdump: $!";
while (<IN>) {
chop;
s/0x[0-9a-fA-F]+/0x......../g;
s/base size=/size=/g;
s/\(\)\s*$//g;
s/base align=/align=/g;
$chunk .= $_ . "\n";
if(/^\s*$/) {
my @lines = split /^/m, $chunk;
my $key = $lines[0];
chomp $key;
if($key !~ /<anonymous struct>/ &&
$key !~ /<anonymous union>/) {
if(defined($bcheckdb{$key})) {
my $dbversion = $bcheckdb{$key};
if($dbversion ne $chunk) {
&ask_user($key, $chunk) if(&diff_chunk($dbversion, $chunk));
}
}
else {
$bcheckdb{$key} = $chunk;
print "NEW: $key\n";
}
}
$chunk = "";
next;
}
}
close(IN);
untie %bcheckdb;
flock MYLOCK, LOCK_UN;
close(MYLOCK);
exit 0;
-142
View File
@@ -1,142 +0,0 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand `-c -o'.
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
esac
ofile=
cfile=
eat=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
-191
View File
@@ -1,191 +0,0 @@
#!/usr/bin/env perl
# this script patches a config.status file, to use our own perl script
# in the main loop
# we do it this way to circumvent hacking (and thereby including)
# autoconf function (which are GPL) into our LGPL acinclude.m4.in
# written by Michael Matz <matz@kde.org>
# adapted by Dirk Mueller <mueller@kde.org>
#
# This file is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public License
# along with this library; see the file COPYING.LIB. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
# we have to change two places
# 1. the splitting of the substitutions into chunks of 90 (or even 48 in
# later autoconf's
# 2. the big main loop which patches all Makefile.in's
use strict;
use File::Basename;
my $ac_aux_dir = dirname($0);
my ($flag);
my $ac_version = 0;
my $vpath_seen = 0;
$flag = 0;
while (<>) {
# usage of $flag: 0 -- we have seen nothing yet
# 1 -- we are in (1)
# 2 -- we have ended (1)
# 3 -- we are in (2)
# 4 -- we ended (2)
if ($flag == 4) {
print;
} elsif ($flag == 0) {
# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..."
# ends with (excluding) "CONFIG_FILE=..."
# in later autoconf (2.14.1) there is no CONFIG_FILES= line,
# but instead the (2) directly follow (1)
if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) {
$flag = 1;
if ($1 eq 'lines') {
# lets hope its different with 2141,
# wasn't able to verify that
if ($2 eq '48') {
$ac_version = 250;
}
else {
$ac_version = 2141;
}
} elsif ($1 eq 'cmds') {
$ac_version = 213;
}
# hmm, we don't know the autoconf version, but we try anyway
} else {
print;
}
} elsif ($flag == 1) {
if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) {
print;
$flag = 2;
} elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
$flag = 3;
}
} elsif ($flag == 2) {
# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1))
# end with: "rm -f conftest.s\*"
# on autoconf 250, it ends with '# CONFIG_HEADER section'
#
# gg: if a post-processing commands section is found first,
# stop there and insert a new loop to honor the case/esac.
# (pattern: /^\s+#\sRun the commands associated with the file./)
if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
$flag = 3;
} else {
print;
}
} elsif ($flag == 3) {
if (/^\s*rm\s+-f\s+conftest/ ) {
$flag = 4;
&insert_main_loop();
} elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) {
$flag = 4;
&insert_main_loop();
#die "hhhhhhh";
if ($ac_version != 2141) {
print STDERR "hmm, don't know autoconf version\n";
}
} elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) {
$flag = 4;
my $commands = defined $2;
&insert_main_loop();
$commands && insert_command_loop();
if($ac_version != 250) {
print STDERR "hmm, something went wrong :-(\n";
}
} elsif (/VPATH/ ) {
$vpath_seen = 1;
}
}
}
die "wrong input (flag != 4)" unless $flag == 4;
print STDERR "hmm, don't know autoconf version\n" unless $ac_version;
sub insert_main_loop {
if ($ac_version == 250) {
&insert_main_loop_250();
}
else {
&insert_main_loop_213();
}
}
sub insert_main_loop_250 {
print <<EOF;
#echo Doing the fast build of Makefiles -- autoconf $ac_version
EOF
if ($vpath_seen) {
print <<EOF;
# VPATH subst was seen in original config.status main loop
echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >>\$tmp/subs.sed
EOF
}
print <<EOF;
rm -f \$tmp/subs.files
for ac_file in .. \$CONFIG_FILES ; do
if test "x\$ac_file" != x..; then
echo \$ac_file >> \$tmp/subs.files
fi
done
if test -f \$tmp/subs.files ; then
perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL"
fi
rm -f \$tmp/subs.files
fi
EOF
return;
}
sub insert_main_loop_213 {
print <<EOF;
#echo Doing the fast build of Makefiles -- autoconf $ac_version
if test "x\$ac_cs_root" = "x" ; then
ac_cs_root=conftest
fi
EOF
if ($vpath_seen) {
print <<EOF;
# VPATH subst was seen in original config.status main loop
echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >> \$ac_cs_root.subs
EOF
}
print <<EOF;
rm -f \$ac_cs_root.sacfiles
for ac_file in .. \$CONFIG_FILES ; do
if test "x\$ac_file" != x..; then
echo \$ac_file >> \$ac_cs_root.sacfiles
fi
done
if test -f \$ac_cs_root.sacfiles ; then
perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL"
fi
rm -f \$ac_cs_root.s*
EOF
return;
}
sub insert_command_loop {
print <<EOF;
for ac_file in .. \$CONFIG_FILES ; do
EOF
}
-1464
View File
File diff suppressed because it is too large Load Diff
-238
View File
@@ -1,238 +0,0 @@
#!/usr/bin/env perl
# a script for use by autoconf to make the Makefiles
# from the Makefile.in's
#
# the original autoconf mechanism first splits all substitutions into groups
# of ca. 90, and than invokes sed for _every_ Makefile.in and every group
# (so around 2-3 times per Makefile.in). So this takes forever, as sed
# has to recompile the regexps every time.
#
# this script does better. It changes all Makefile.ins in one process.
# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec!
#
# written by Michael Matz <matz@kde.org>
# adapted by Dirk Mueller <mueller@kde.org>
# This file is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public License
# along with this library; see the file COPYING.LIB. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
use strict;
use File::Path;
my $ac_subs=$ARGV[0];
my $ac_sacfiles = $ARGV[1];
my $ac_given_srcdir=$ARGV[2];
my $ac_given_INSTALL=$ARGV[3];
my @comp_match;
my @comp_subs;
#print "ac_subs=$ac_subs\n";
#print "ac_sacfiles=$ac_sacfiles\n";
#print "ac_given_srcdir=$ac_given_srcdir\n";
#print "ac_given_INSTALL=$ac_given_INSTALL\n";
my $configure_input;
my ($srcdir, $top_srcdir);
my $INSTALL;
my $bad_perl = ($] < 5.005);
my $created_file_count = 0;
open(CF, "< $ac_subs") || die "can't open $ac_subs: $!";
my @subs = <CF>;
my $pat;
close(CF);
chomp @subs;
@comp_match=();
@comp_subs=();
if ($bad_perl) {
print "Using perl older than version 5.005\n";
foreach $pat (@subs) {
if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ )
|| ($pat =~ m/s%([^%]*)%([^%]*)%;t/ )
|| ($pat =~ m/s,([^,]*),(.*),;t/)
|| ($pat =~ m%s/([^/]*)/([^/]*)/g% )
|| ($pat =~ m%s/([^/]*)/([^/]*)/;t% )
) {
# form : s%bla%blubb%g
# or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?)
# or s,bla,blubb,;t t (autoconf 2.52)
my $srch = $1;
my $repl = $2;
$repl =~ s/\\(.)/$1/g;
push @comp_subs, make_closure($srch, $repl);
} elsif ( ($pat =~ /%([^%]*)%d/ )
|| ($pat =~ m%/([^/]*)/d% )
) {
push @comp_subs, make_closure($1, "");
} else {
die "Uhh. Malformed pattern in $ac_subs ($pat)"
unless ( $pat =~ /^\s*$/ ); # ignore white lines
}
}
} else {
foreach $pat (@subs) {
if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) ||
($pat =~ /s%([^%]*)%([^%]*)%;t/ ) ||
($pat =~ /s,([^,]*),(.*),;t/) ) {
# form : s%bla%blubb%g
# or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?)
# or s,bla,blubb,;t t (autoconf 2.52)
my $srch = $1;
my $repl = $2;
push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern
$repl =~ s/\\(.)/$1/g;
push @comp_subs, $repl;
} elsif ( ($pat =~ /%([^%]*)%d/ )
|| ($pat =~ m%/([^/]*)/d% )
) {
push @comp_match, eval "qr/\Q$1\E/";
push @comp_subs, "";
} else {
die "Uhh. Malformed pattern in $ac_subs ($pat)"
unless ( $pat =~ /^\s*$/ ); # ignore white lines
}
}
}
undef @subs;
# read the list of files to be patched, form:
# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile
open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!";
my @ac_files = <CF>;
close(CF);
chomp @ac_files;
my $ac_file;
foreach $ac_file (@ac_files) {
next if $ac_file =~ /\.\./;
next if $ac_file =~ /^\s*$/;
my $ac_file_in;
my ($ac_dir, $ac_dots, $ac_dir_suffix);
if ($ac_file =~ /.*:.*/ ) {
($ac_file_in = $ac_file) =~ s%[^:]*:%%;
$ac_file =~ s%:.*%%;
} else {
$ac_file_in = $ac_file.".in";
}
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%;
if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) {
# The file is in a subdirectory.
if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; }
($ac_dir_suffix = $ac_dir) =~ s%^./%%;
$ac_dir_suffix="/".$ac_dir_suffix;
# A "../" for each directory in $ac_dir_suffix.
($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g;
} else {
$ac_dir_suffix="";
$ac_dots="";
}
if ($ac_given_srcdir eq ".") {
$srcdir=".";
if ($ac_dots) {
( $top_srcdir = $ac_dots) =~ s%/$%%;
} else { $top_srcdir="."; }
} elsif ($ac_given_srcdir =~ m%^/%) {
$srcdir=$ac_given_srcdir.$ac_dir_suffix;
$top_srcdir = $ac_given_srcdir;
} else {
$srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix;
$top_srcdir = $ac_dots.$ac_given_srcdir;
}
if ($ac_given_INSTALL) {
if ($ac_given_INSTALL =~ m%^/% ) {
$INSTALL = $ac_given_INSTALL;
} else {
$INSTALL = $ac_dots.$ac_given_INSTALL;
}
}
print "fast creating $ac_file\n";
unlink $ac_file;
my $ac_comsub="";
my $fname=$ac_file_in;
$fname =~ s%.*/%%;
$configure_input="$ac_file. Generated from $fname by config.pl.";
my $ac_file_inputs;
($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%;
$ac_file_inputs =~ s%:% $ac_given_srcdir/%g;
patch_file($ac_file, $ac_file_inputs);
++$created_file_count;
}
print "config.pl: fast created $created_file_count file(s).\n";
sub patch_file {
my ($outf, $infiles) = @_;
my $filedata;
my @infiles=split(' ', $infiles);
my $i=0;
my $name;
foreach $name (@infiles) {
if (open(CF, "< $name")) {
while (<CF>) {
$filedata .= $_;
}
close(CF);
} else {
print STDERR "can't open $name: $!"."\n";
}
}
$filedata =~ s%\@configure_input\@%$configure_input%g;
$filedata =~ s%\@srcdir\@%$srcdir%g;
$filedata =~ s%\@top_srcdir\@%$top_srcdir%g;
$filedata =~ s%\@INSTALL\@%$INSTALL%g;
if ($bad_perl) {
while ($i <= $#comp_subs) {
my $ref = $comp_subs[$i];
&$ref(\$filedata);
$i++;
}
} else {
while ($i <= $#comp_match) {
$filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g;
$i++;
}
}
open(CF, "> $outf") || die "can't create $outf: $!";
print CF $filedata;
close(CF);
}
sub make_closure {
my ($pat, $sub) = @_;
my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }";
if ($@) {
print "can't create CODE: $@\n";
}
return $ret;
}
-1575
View File
File diff suppressed because it is too large Load Diff
-45
View File
@@ -1,45 +0,0 @@
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
# And if so, warn when they don't match
if test "$kde_libs_prefix" != "$given_prefix"; then
# And if kde doesn't know about the prefix yet
echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
if test $? -ne 0; then
echo ""
echo "Warning: you chose to install this package in $given_prefix,"
echo "but KDE was found in $kde_libs_prefix."
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
echo "Then restart KDE."
echo ""
fi
fi
fi
if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
echo ""
echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
echo "was not included. Therefore, GCC symbol visibility support remains disabled."
echo ""
echo "For better performance, consider including the Qt visibility supporting patch"
echo "located at:"
echo ""
echo "http://bugs.kde.org/show_bug.cgi?id=109386"
echo ""
echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
echo "everything will continue to work just fine without it."
echo ""
fi
if test "$all_tests" = "bad"; then
if test ! "$cache_file" = "/dev/null"; then
echo ""
echo "Please remove the file $cache_file after changing your setup"
echo "so that configure will find the changes next time."
echo ""
fi
else
echo ""
echo "Good - your configure finished. Start make now"
echo ""
fi
-57
View File
@@ -1,57 +0,0 @@
dnl This file is part of the KDE libraries/packages
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
dnl This file is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl You should have received a copy of the GNU Library General Public License
dnl along with this library; see the file COPYING.LIB. If not, write to
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
dnl Boston, MA 02110-1301, USA.
# Original Author was Kalle@kde.org
# I lifted it in some mater. (Stephan Kulow)
# I used much code from Janos Farkas
dnl Process this file with autoconf to produce a configure script.
AC_INIT(acinclude.m4) dnl a source file from your sub dir
dnl This is so we can use kde-common
AC_CONFIG_AUX_DIR(admin)
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
unset CDPATH
dnl Checking host/target/build systems, for make, install etc.
AC_CANONICAL_SYSTEM
dnl Perform program name transformation
AC_ARG_PROGRAM
dnl Automake doc recommends to do this only here. (Janos)
AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs
KDE_SET_PREFIX
dnl generate the config header
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
dnl Checks for programs.
AC_CHECK_COMPILERS
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
KDE_PROG_LIBTOOL
dnl for NLS support. Call them in this order!
dnl WITH_NLS is for the po files
AM_KDE_WITH_NLS
dnl KDE_USE_QT
AC_PATH_KDE
-661
View File
@@ -1,661 +0,0 @@
#! /bin/sh
#
# cvs.sh
#
# This file contains support code from Makefile.common
# It defines a shell function for each known target
# and then does a case to call the correct function.
unset MAKEFLAGS
call_and_fix_autoconf()
{
$AUTOCONF || exit 1
if test -r configure.in.in ; then
perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\
\\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\
\\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\
\\n rm -f \\\$CONFIG_STATUS.bak\\nfi\
\\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure
fi
}
strip_makefile()
{
if test ! -f $makefile_wo; then
perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo
fi
}
check_autotool_versions()
{
required_autoconf_version="2.53 or newer"
AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
case $AUTOCONF_VERSION in
Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;;
"" )
echo "*** AUTOCONF NOT FOUND!."
echo "*** KDE requires autoconf $required_autoconf_version"
exit 1
;;
* )
echo "*** YOU'RE USING $AUTOCONF_VERSION."
echo "*** KDE requires autoconf $required_autoconf_version"
exit 1
;;
esac
AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
case $AUTOHEADER_VERSION in
Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;;
"" )
echo "*** AUTOHEADER NOT FOUND!."
echo "*** KDE requires autoheader $required_autoconf_version"
exit 1
;;
* )
echo "*** YOU'RE USING $AUTOHEADER_VERSION."
echo "*** KDE requires autoheader $required_autoconf_version"
exit 1
;;
esac
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
required_automake_version="1.6.1 or newer"
case $AUTOMAKE_STRING in
automake*1.5d* | automake*1.5* | automake*1.5-* )
echo "*** YOU'RE USING $AUTOMAKE_STRING."
echo "*** KDE requires automake $required_automake_version"
exit 1
;;
automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
echo "*** $AUTOMAKE_STRING found."
UNSERMAKE=no
;;
"" )
echo "*** AUTOMAKE NOT FOUND!."
echo "*** KDE requires automake $required_automake_version"
exit 1
;;
*unsermake* ) :
echo "*** YOU'RE USING UNSERMAKE."
echo "*** GOOD LUCK!! :)"
UNSERMAKE=unsermake
;;
* )
echo "*** YOU'RE USING $AUTOMAKE_STRING."
echo "*** KDE requires automake $required_automake_version"
exit 1
;;
esac
unset required_automake_version
}
cvs()
{
check_autotool_versions
acinclude_m4
### Make new subdirs and configure.in.
### The make calls could be optimized away here,
### with a little thought.
if test -r configure.in.in; then
rm -f configure.in
echo "*** Creating list of subdirectories"
create_subdirs
if test -r Makefile.am.in; then
echo "*** Creating Makefile.am"
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
else
Makefile_am
fi
fi
configure_files
echo "*** Creating configure.in"
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
else
configure_in
fi
fi
echo "*** Creating aclocal.m4"
$ACLOCAL $ACLOCALFLAGS || exit 1
echo "*** Creating configure"
call_and_fix_autoconf
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
echo "*** Creating config.h template"
$AUTOHEADER || exit 1
touch config.h.in
fi
echo "*** Creating Makefile templates"
$AUTOMAKE || exit 1
if test "$UNSERMAKE" = no; then
echo "*** Postprocessing Makefile templates"
perl -w admin/am_edit || exit 1
fi
if egrep "^cvs-local:" $makefile_am >/dev/null; then \
strip_makefile
$MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1
fi
echo "*** Creating date/time stamp"
touch stamp-h.in
echo "*** Finished"
echo " Don't forget to run ./configure"
echo " If you haven't done so in a while, run ./configure --help"
}
dist()
{
check_autotool_versions
###
### First build all of the files necessary to do just "make"
###
acinclude_m4
if test -r configure.in.in; then
rm -f configure.in
create_subdirs
if test -r Makefile.am.in; then
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
else
Makefile_am
fi
fi
configure_files
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
else
configure_in
fi
fi
$ACLOCAL $ACLOCALFLAGS
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
echo "*** Creating config.h template"
$AUTOHEADER || exit 1
touch config.h.in
fi
$AUTOMAKE --foreign || exit 1
if test "$UNSERMAKE" = no; then
echo "*** Postprocessing Makefile templates"
perl -w admin/am_edit || exit 1
fi
call_and_fix_autoconf
touch stamp-h.in
if grep "^cvs-local:" $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo cvs-local top_srcdir=.
fi
###
### Then make messages
###
if test -d po; then
LIST=`find ./po -name "*.po"`
for i in $LIST; do
file2=`echo $i | sed -e "s#\.po#\.gmo#"`
msgfmt -o $file2 $i || touch $file2
done
fi
if grep "^cvs-dist-local:" $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo cvs-dist-local top_srcdir=.
fi
}
subdir_dist()
{
$ACLOCAL $ACLOCALFLAGS
$AUTOHEADER
touch config.h.in
$AUTOMAKE
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
case $AUTOMAKE_STRING in
*unsermake* ) :
;;
*)
perl -w ../admin/am_edit --path=../admin
esac
call_and_fix_autoconf
touch stamp-h.in
}
configure_in()
{
rm -f configure.in configure.in.new
kde_use_qt_param=
test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"`
: > configure.in.new
for file in $list; do
echo "dnl =======================================================" >> configure.in.new
echo "dnl FILE: $file" >> configure.in.new
echo "dnl =======================================================" >> configure.in.new
echo "" >> configure.in.new
cat $file >> configure.in.new
done
echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
if test -f Makefile.am.in; then
subdirs=`cat subdirs`
for dir in $subdirs; do
vdir=`echo $dir | sed -e 's,[-+.@],_,g'`
echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new
if test -f "$dir/configure.in"; then
echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new
echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new
echo "fi" >> configure.in.new
fi
done
fi
echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
if test -f inst-apps; then
topleveldirs=`cat inst-apps`
else
topleveldirs=
for dir in `ls -1d * | sort`; do
if test "$dir" != "debian" && test -d $dir; then
topleveldirs="$topleveldirs $dir"
fi
done
fi
for topleveldir in $topleveldirs; do
if test -f $topleveldir/configure.in; then
continue
fi
if test -f $topleveldir/Makefile.am; then :; else
continue
fi
mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \
sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'`
for i in $mfs; do
echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new
done
done
files=`cat configure.files`
list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"`
for file in $list; do
echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new
done
midfiles=`cat configure.files | fgrep "configure.in.mid"`
test -n "$midfiles" && cat $midfiles >> configure.in.new
echo "AC_OUTPUT" >> configure.in.new
modulename=
if test -f configure.in.in; then
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then
kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"`
fi
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then
line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in`
if test -n "$line"; then
modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"`
VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"`
fi
sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \
configure.in.new > configure.in && mv configure.in configure.in.new
fi
fi
if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
VERSION="\"3.5.6\""
fi
if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then
modulename=`pwd`;
modulename=`basename $modulename`
esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"`
modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"`
fi
if test -n "$kde_use_qt_param"; then
sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \
configure.in.new > configure.in && mv configure.in configure.in.new
fi
sed -e "s#@MODULENAME@#$modulename#" configure.in.new |
sed -e "s#@VERSION@#$VERSION#" > configure.in
botfiles=`cat configure.files | egrep "configure.in.bot"`
test -n "$botfiles" && cat $botfiles >> configure.in
cat $admindir/configure.in.bot.end >> configure.in
rm -f configure.in.new
}
configure_files()
{
echo "*** Creating configure.files"
admindir=NO
for i in . .. ../.. ../../..; do
if test -x $i/admin; then admindir=$i/admin; break; fi
done
rm -f configure.files
touch configure.files
if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then
echo $admindir/configure.in.min >> configure.files
fi
test -f configure.in.in && echo configure.in.in >> configure.files
# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs
if test -f inst-apps; then
inst=`cat inst-apps`
list=""
for i in $inst; do
list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`"
done
else
list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`
fi
for i in $list; do if test -f $i && test `dirname $i` != "." ; then
echo $i >> configure.files
fi; done
test -f configure.in.mid && echo configure.in.mid >> configure.files
test -f configure.in.bot && echo configure.in.bot >> configure.files
if test ! -s configure.files; then
echo "There are no files to build a configure. Please check your checkout."
exit 1
fi
}
create_subdirs()
{
if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then
# as many modules contain rules to create subdirs without any
# dependencies make won't create it unless there is no file.
# so we check if that's a dummy rule or one that works
rm -f subdirs.cvs.sh.$$
if test -f subdirs; then
mv subdirs subdirs.cvs.sh.$$
fi
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1
if test -f subdirs.cvs.sh.$$; then
if test -s subdirs; then
rm subdirs.cvs.sh.$$
else
mv subdirs.cvs.sh.$$ subdirs
fi
fi
else
subdirs
fi
}
subdirs()
{
dirs=
idirs=
if test -f inst-apps; then
idirs=`cat inst-apps`
else
idirs=`ls -1 | sort`
fi
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
for i in $idirs; do
if test -f $i/Makefile.am; then
case " $compilefirst $compilelast " in
*" $i "*) ;;
*) dirs="$dirs $i"
esac
fi
done
: > ./_SUBDIRS
for d in $compilefirst; do
echo $d >> ./_SUBDIRS
done
(for d in $dirs; do
list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
for s in $list; do
echo $s $d
done
list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
for s in $list; do
echo $d $s
done
echo $d $d
done ) | tsort >> ./_SUBDIRS
for d in $compilelast; do
echo $d >> ./_SUBDIRS
done
if test -r subdirs && cmp -s subdirs _SUBDIRS; then
rm -f _SUBDIRS
fi
test -r _SUBDIRS && mv _SUBDIRS subdirs || true
}
Makefile_am()
{
if test -f Makefile.am.in; then
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
idirs=
dirs=
if test -f inst-apps; then
idirs=`cat inst-apps`
else
idirs=`cat subdirs`
fi
for i in $idirs; do
case " $compilefirst $compilelast " in
*" $i "*) ;;
*) dirs="$dirs $i"
esac
done
adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'`
if echo "$adds" | fgrep "*" >/dev/null ; then
adds=`ls -d -1 $adds 2>/dev/null`
fgrep -v '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds
str='$(top_srcdir)/acinclude.m4:'
for add in $adds; do
str="$str \$(top_srcdir)/$add"
done
echo $str >> Makefile.am.in.adds
else
cat Makefile.am.in > Makefile.am.in.adds
fi
cat Makefile.am.in.adds | \
sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \
sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am
echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am
rm Makefile.am.in.adds
fi
}
acinclude_m4()
{
echo "*** Creating acinclude.m4"
adds=
if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
strip_makefile
rm -f acinclude.m4
adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'`
if echo $adds | fgrep "*" >/dev/null ; then
adds=`ls -d -1 $adds 2>/dev/null`
else
$MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1
fi
else
rm -f acinclude.m4
fi
# if it wasn't created up to now, then we do it better
if test ! -f acinclude.m4; then
cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4
fi
}
package_merge()
{
catalogs=$POFILES
for cat in $catalogs; do
msgmerge -o $cat.new $cat $PACKAGE.pot
if test -s $cat.new; then
grep -v "\"POT-Creation" $cat.new > $cat.new.2
grep -v "\"POT-Creation" $cat >> $cat.new.1
if diff $cat.new.1 $cat.new.2; then
rm $cat.new
else
mv $cat.new $cat
fi
rm -f $cat.new.1 $cat.new.2
fi
done
}
extract_messages()
{
podir=${podir:-$PWD/po}
files=`find . -name Makefile.am | xargs egrep -l '^messages:' `
dirs=`for i in $files; do echo \`dirname $i\`; done`
tmpname="$PWD/messages.log"
if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi
if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi
export EXTRACTRC PREPARETIPS
for subdir in $dirs; do
test -z "$VERBOSE" || echo "Making messages in $subdir"
(cd $subdir
if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then
$EXTRACTRC *.rc *.ui *.kcfg > rc.cpp
else
candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null`
if test -n "$candidates"; then
echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line"
fi
fi
if find . -name \*.c\* -o -name \*.h\* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then
echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp
else echo " " > _translatorinfo.cpp
fi
perl -e '$mes=0; while (<STDIN>) { next if (/^(if\s|else\s|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile
kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot
if ! test -f $kdepotpath; then
kdepotpath=`kde-config --expandvars --prefix`/include/kde.pot
fi
$MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. \
XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages
exit_code=$?
if test "$exit_code" != 0; then
echo "make exit code: $exit_code"
fi
) 2>&1 | grep -v '^make\[1\]' > $tmpname
test -s $tmpname && { echo $subdir ; cat "$tmpname"; }
test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp
rm -f $subdir/_translatorinfo.cpp
rm -f $subdir/_transMakefile
done
rm -f $tmpname
}
package_messages()
{
rm -rf po.backup
mkdir po.backup
for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i
cat po/$i > po.backup/backup_$i
touch -r po/$i po.backup/backup_$i
rm po/$i
done
extract_messages
for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do
test -f po/$i || echo "disappeared: $i"
done
for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
sed -e 's,^"Content-Type: text/plain; charset=CHARSET\\n"$,"Content-Type: text/plain; charset=UTF-8\\n",' po/$i > po/$i.new && mv po/$i.new po/$i
#msgmerge -q -o po/$i po/$i po/$i
egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot
if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then
echo "will update $i"
else
if test -f po.backup/backup_$i; then
test -z "$VERBOSE" || echo "I'm restoring $i"
mv po.backup/backup_$i po/$i
rm po.backup/$i
else
echo "will add $i"
fi
fi
done
rm -f temp.pot
rm -rf po.backup
}
# Make sure that sorting is always done the same way
LC_ALL=C
export LC_ALL
unset LANG || :
unset LC_CTYPE || :
unset LANGUAGE || :
unset CDPATH || :
admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`
test "x$admindir" = "x$0" && admindir=.
test "x$MAKE" = x && MAKE=make
makefile_am=Makefile.am
makefile_wo=Makefile.am.wo
if test -f Makefile.am.in; then
makefile_am=Makefile.am.in
makefile_wo=Makefile.am.in.wo
rm -f $makefile_wo
fi
# Call script to find autoconf and friends. Uses eval since the script outputs
# sh-compatible code.
eval `$admindir/detect-autoconf.pl`
###
### Main
###
arg=`echo $1 | tr .- __`
case $arg in
cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \
cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;;
configure ) call_and_fix_autoconf ;;
* ) echo "Usage: cvs.sh <target>"
echo "Target can be one of:"
echo " cvs svn dist"
echo " configure.in configure.files"
echo " package-merge package-messages"
echo ""
echo "Usage: anything but $1"
exit 1 ;;
esac
if test -f $makefile_wo; then
rm $makefile_wo
fi
exit 0
-43
View File
@@ -1,43 +0,0 @@
#!/usr/bin/perl -w
use Shell qw(mv cp mkdir rm) ;
use File::Find;
use Cwd;
$origPwd = `pwd`;
chomp $origPwd;
$kde_prefix = "/usr";
$sysconfdir = "/etc";
$kde_includedir = "$kde_prefix/include/kde";
$infodir = "$kde_prefix/share/info";
$mandir = "$kde_prefix/share/man";
$qtdir = "/usr/share/qt3";
$kde_cgidir = "$kde_prefix/lib/cgi-bin";
$kde_confdir = "$sysconfdir/kde3";
$kde_htmldir = "$kde_prefix/share/doc/kde/HTML";
if (defined $ENV{DEB_BUILD_OPTIONS} &&
$ENV{DEB_BUILD_OPTIONS} =~ /\bnostrip\b/) {
$enable_debug="--enable-debug=full";
} else {
$enable_debug="--disable-debug";
}
if (@ARGV && $ARGV[0] eq 'echodirs') {
print STDOUT "export kde_prefix=$kde_prefix\n";
print STDOUT "export sysconfdir=$sysconfdir\n";
print STDOUT "export kde_includedir=$kde_includedir\n";
print STDOUT "export infodir=$infodir\n";
print STDOUT "export mandir=$mandir\n";
print STDOUT "export qtdir=$qtdir\n";
print STDOUT "export kde_cgidir=$kde_cgidir\n";
print STDOUT "export kde_confdir=$kde_confdir\n";
print STDOUT "export kde_htmldir=$kde_htmldir\n";
print STDOUT "configkde=$enable_debug --disable-rpath --prefix=\$(kde_prefix) --sysconfdir=\$(sysconfdir) --includedir=\$(kde_includedir) --infodir=\$(infodir) --mandir=\$(mandir) --with-qt-dir=\$(qtdir)\n";
exit
}
-530
View File
@@ -1,530 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
-19
View File
@@ -1,19 +0,0 @@
$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in $(top_srcdir)/admin/cvs.sh $(top_srcdir)/admin/pkg.m4.in
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh acinclude_m4
$(top_srcdir)/configure.in: $(top_srcdir)/subdirs $(top_srcdir)/configure.files $(top_srcdir)/admin/cvs.sh
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure_in
$(top_srcdir)/configure.files: $(top_srcdir)/subdirs $(CONF_FILES)
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure.files $(top_srcdir)/admin/cvs.sh
$(top_srcdir)/Makefile.am: $(top_srcdir)/Makefile.am.in $(top_srcdir)/subdirs $(top_srcdir)/admin/cvs.sh
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh Makefile_am
$(top_srcdir)/subdirs: $(top_srcdir)/Makefile.am.in $(top_srcdir)/admin/cvs.sh
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh subdirs
# defining default rules for files that may not be present
$(top_srcdir)/Makefile.am.in:
$(CONF_FILES):
-173
View File
@@ -1,173 +0,0 @@
#!/usr/bin/env perl
# Try to locate best version of auto*
# By Michael Pyne <michael.pyne@kdemail.net>
#
# Copyright (c) 2005.
# This code is public domain. You may use it however you like (including
# relicensing).
# Emulate the 'which' program.
sub which
{
my $prog = shift;
my @paths = split(/:/, $ENV{'PATH'});
for $path (@paths)
{
return "$path/$prog" if -x "$path/$prog";
}
return "";
}
# Subroutine to determine the highest installed version of the given program,
# searching from the given paths.
sub findBest
{
my ($program, @paths) = @_;
my $best_version_found = '0'; # Deliberately a string.
my %versions;
my %minimumVersions = (
'autoconf' => '2.5',
'automake' => '1.6',
);
# Allow user to use environment variable to override search.
return $ENV{uc $program} if $ENV{uc $program};
for $prefix (@paths)
{
@files = glob "$prefix/$program*";
for $file (@files)
{
# Don't check non-executable scripts.
next unless -x $file;
($version) = $file =~ /$prefix\/$program-?(.*)$/;
$version =~ s/-|\.//g;
# Special case some programs to make sure it has a minimum version.
if (not $version and exists $minimumVersions{$program})
{
my $min_version = $minimumVersions{$program};
my $versionOutput = `$program --version 2>/dev/null | head -n 1`;
# If we can't run the script to get the version it likely won't work later.
next unless $versionOutput;
# Use number.number for version (we don't need the excess in general).
($versionOutput) = ($versionOutput =~ /(\d\.\d)/);
# Use lt to do lexicographical comparison of strings (which should be
# equivalent and doesn't involve issues with floating point conversions).
if (not $versionOutput or $versionOutput lt $min_version)
{
next;
}
}
# If no version suffix then use it in favor of a versioned autotool
# since the ever-popular WANT_AUTOFOO should then work (in theory).
return $file unless $version;
# Emulate 'which', and abort if we've already seen this version.
next if exists $versions{$version};
# Save filename of program.
$versions{$version} = $file;
# Use string comparison so that e.g. 253a will be > 253 but < 254.
if ($version gt $best_version_found)
{
$best_version_found = $version;
}
}
}
return $versions{$best_version_found};
}
# Find an appropriate "which" program for later use by the shell script calling
# us.
sub findWhich
{
for $candidate ('type -p', 'which', 'type')
{
$test = `$candidate sh 2>/dev/null`;
chomp $test;
return $candidate if -x $test;
}
}
# Uses which() to find a program unless the user provided its path in the
# environment (the upper case program name is searched).
sub findProgram
{
$suffix = ""; # For use if @_ has only one param.
my ($program, $suffix) = @_;
return $ENV{uc $program} if $ENV{uc $program};
return which("$program$suffix");
}
# SCRIPT STARTS.
# Search in path.
@paths = split(/:/, $ENV{'PATH'});
# Make sure at least /usr/bin and /usr/local/bin are in this search.
unshift @paths, '/usr/local/bin' unless grep $_ eq '/usr/local/bin', @paths;
unshift @paths, '/usr/bin' unless grep $_ eq '/usr/bin', @paths;
$autoconf = findBest('autoconf', @paths);
($autoconf_suffix) = $autoconf =~ /.*autoconf(.*)$/;
# Find matching autoconf companions.
$autoheader = findProgram('autoheader', $autoconf_suffix);
$autom4te = findProgram('autom4te', $autoconf_suffix);
# Get best automake, and look for unsermake to possibly override it.
$automake = findBest('automake', @paths);
$unsermake = "";
# backward compatible: if $UNSERMAKE points to a path, use it
$unsermake = findProgram('unsermake') if (defined($ENV{'UNSERMAKE'}) and $ENV{'UNSERMAKE'} =~ /\//);
# new compatible: if it says 'yes', use the one from path
$unsermake = which('unsermake') if ($ENV{'UNSERMAKE'} eq 'yes');
($automake_suffix) = $automake =~ /.*automake(.*)$/;
# Use unsermake if we found it.
$automake = "$unsermake -c" if $unsermake;
# Find matching automake companions.
$aclocal = findProgram('aclocal', $automake_suffix);
$which = findWhich();
# Make sure we have all of the needed programs.
for $i (qw'autoconf autoheader autom4te automake aclocal')
{
unless(${$i})
{
print "# Unable to find $i!!\n";
exit 1;
}
}
# Print results in eval-able form.
print <<EOF;
AUTOCONF="$autoconf"
AUTOHEADER="$autoheader"
AUTOM4TE="$autom4te"
AUTOMAKE="$automake"
ACLOCAL="$aclocal"
WHICH="$which"
export AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE ACLOCAL WHICH
EOF
exit 0;
-96
View File
@@ -1,96 +0,0 @@
#!/bin/bash
# this is a script around make which basicly checks
# if it's in srcdir or in builddir and changes to
# the right directory for calling /usr/bin/make
# (C) Stephan Kulow
# You may need to set OBJ_REPLACEMENT variable to get it to work.
# In the variable use the sed syntax to switch directories, for example
# export OBJ_REPLACEMENT="s:/home/zack/cvs/kde:/home/zack/build:"
# will assure that the builds are performed under /home/zack/build
# directory, when the cvs is held under /home/zack/cvs/kde.
file=Makefile
dir=.
args=()
jobs=
while test $# -gt 0 ; do
case "${1}" in
-f)
shift
file="${1}"
shift
args=("${args[@]}" -f $file)
;;
-C)
shift
dir="${1}"
shift ;;
-j)
shift
jobs="${1}"
shift ;;
-j*)
jobs="${1/-j/}"
shift ;;
*)
args=("${args[@]}" "$1")
shift
;;
esac
done
if test ! -f $dir/$file; then
if test -n "$OBJ_SUBDIR"; then
dir=$PWD
subdir=.
while test ! -f $dir/$OBJ_SUBDIR/$file; do
subdir=`basename $dir`"/$subdir"
dir=`dirname $dir`
if test "$dir" = "/"; then
# the case that someone puts the compile dir in /
# is very unlikely, so we better skip here ;)
echo "can't find $OBJ_SUBDIR above current dir"
exit 1
fi
done
cd $dir/$OBJ_SUBDIR/$subdir
else
if test -n "$OBJ_REPLACEMENT"; then
pwd=`echo $PWD | sed -e "$OBJ_REPLACEMENT"`
if test ! -f $pwd/$dir/$file; then
echo "no objdir found. Tried $pwd"
exit 1
fi
cd $pwd/$dir
fi
fi
else
cd $dir
fi
echo "makeobj[0]: Entering directory \`$PWD'"
if test -z "$MAKE"; then
if head -n 1 $file | grep unsermake >/dev/null; then
MAKE=`type -p unsermake`
if test ! -x "$MAKE"; then
echo 'Makefile was created with unsermake, but there'
echo 'is no unsermake in $PATH'
exit 1
fi
MAKE="$MAKE --no-real-compare VERBOSE=1"
if test -n "$jobs"; then args=("${args[@]}" --compile-jobs=$jobs); fi
else
MAKE=/usr/bin/make
if test -n "$jobs"; then args=("${args[@]}" -j $jobs); fi
fi
fi
echo "Calling $MAKE ${args[@]}"
LANGUAGE=C $MAKE "${args[@]}"
retval=$?
echo "makeobj[0]: Leaving directory \`$PWD'"
exit $retval
-883
View File
@@ -1,883 +0,0 @@
#! /bin/sh
#
# doxygen.sh Copyright (C) 2005 by Adriaan de Groot
# Based on some code from Doxyfile.am, among other things.
# License: GPL version 2.
# See file COPYING in kdelibs for details.
echo "*** doxygen.sh"
# Recurse handling is a little complicated, since normally
# subdir (given on the command-line) processing doesn't recurse
# but you can force it to do so.
recurse=1
recurse_given=NO
use_modulename=1
cleanup=YES
while test -n "$1" ; do
case "x$1" in
"x--no-cleanup" )
cleanup=NO
;;
"x--no-recurse" )
recurse=0
recurse_given=YES
;;
"x--recurse" )
recurse=1
recurse_given=YES
;;
"x--no-modulename" )
use_modulename=0
;;
"x--modulename" )
use_modulename=1
;;
"x--help" )
echo "doxygen.sh usage:"
echo "doxygen.sh [--no-recurse] [--no-modulename] <srcdir> [<subdir>]"
exit 2
;;
x--doxdatadir=* )
DOXDATA=`echo $1 | sed -e 's+--doxdatadir=++'`
;;
x--installdir=*)
PREFIX=`echo $1 | sed -e 's+--installdir=++'`
;;
x--* )
echo "Unknown option: $1"
exit 1
;;
* )
top_srcdir="$1"
break
;;
esac
shift
done
### Sanity check the mandatory "top srcdir" argument.
if test -z "$top_srcdir" ; then
echo "Usage: doxygen.sh <top_srcdir>"
exit 1
fi
if test ! -d "$top_srcdir" ; then
echo "top_srcdir ($top_srcdir) is not a directory."
exit 1
fi
### Normalize top_srcdir so it is an absolute path.
if expr "x$top_srcdir" : "x/" > /dev/null ; then
# top_srcdir is absolute already
:
else
top_srcdir=`cd "$top_srcdir" 2> /dev/null && pwd`
if test ! -d "$top_srcdir" ; then
echo "top_srcdir ($top_srcdir) is not a directory."
exit 1
fi
fi
### Sanity check and guess QTDOCDIR.
if test -z "$QTDOCDIR" ; then
if test -z "$QTDIR" ; then
for i in /usr/X11R6/share/doc/qt/html
do
QTDOCDIR="$i"
test -d "$QTDOCDIR" && break
done
else
for i in share/doc/qt/html doc/html
do
QTDOCDIR="$QTDIR/$i"
test -d "$QTDOCDIR" && break
done
fi
fi
if test -z "$QTDOCDIR" || test ! -d "$QTDOCDIR" ; then
if test -z "$QTDOCDIR" ; then
echo "* QTDOCDIR could not be guessed."
else
echo "* QTDOCDIR does not name a directory."
fi
if test -z "$QTDOCTAG" ; then
echo "* QTDOCDIR set to \"\""
QTDOCDIR=""
else
echo "* But I'll use $QTDOCDIR anyway because of QTDOCTAG."
fi
fi
### Get the "top srcdir", also its name, and handle the case that subdir "."
### is given (which would be top_srcdir then, so it's equal to none-given
### but no recursion either).
###
# top_srcdir="$1" # Already set by options processing
module_name=`basename "$top_srcdir"`
subdir="$2"
if test "x." = "x$subdir" ; then
subdir=""
if test "x$recurse_given" = "xNO" ; then
recurse=0
fi
fi
if test "x" != "x$subdir" ; then
# If no recurse option given explicitly, default to
# no recurse when processing subdirs given on the command-line.
if test "x$recurse_given" = "xNO" ; then
recurse=0
fi
fi
if test -z "$DOXDATA" || test ! -d "$DOXDATA" ; then
if test -n "$DOXDATA" ; then
echo "* \$DOXDATA is '$DOXDATA' which does not name a directory"
fi
DOXDATA="$top_srcdir/doc/common"
fi
if test ! -d "$DOXDATA" ; then
echo "* \$DOXDATA does not name a directory ( or is unset ), tried \"$DOXDATA\""
exit 1
fi
if test -n "$PREFIX" && test ! -d "$PREFIX" ; then
echo "* \$PREFIX does not name a directory, tried \"$PREFIX\""
echo "* \$PREFIX is disabled."
PREFIX=""
fi
### We need some values from top-level files, which
### are not preserved between invocations of this
### script, so factor it out for easy use.
create_doxyfile_in()
{
eval `grep 'VERSION="' "$top_srcdir/admin/cvs.sh"`
echo "PROJECT_NUMBER = $VERSION" > Doxyfile.in
grep '^KDE_INIT_DOXYGEN' "$top_srcdir/configure.in.in" | \
sed -e 's+[^[]*\[\([^]]*\)+PROJECT_NAME = "\1"+' \
-e 's+].*++' >> Doxyfile.in
}
apidoxdir="$module_name"-apidocs
test "x$use_modulename" = "x0" && apidoxdir="apidocs"
### If we're making the top subdir, create the structure
### for the apidox and initialize it. Otherwise, just use the
### structure assumed to be there.
if test -z "$subdir" ; then
if test ! -d "$apidoxdir" ; then
mkdir "$apidoxdir" > /dev/null 2>&1
fi
cd "$apidoxdir" > /dev/null 2>&1 || {
echo "Cannot create and cd into $apidoxdir"
exit 1
}
test -f "Doxyfile.in" || create_doxyfile_in
# Copy in logos and the like
for i in "favicon.ico" "kde_gear_64.png"
do
cp "$DOXDATA/$i" . > /dev/null 2> /dev/null
done
for i in "$top_srcdir/doc/api/Dox-"*.png
do
T=`basename "$i" | sed -e 's+Dox-++'`
test -f "$i" && cp "$i" "./$T" > /dev/null 2> /dev/null
done
top_builddir="."
srcdir="$1"
subdir="."
else
cd "$apidoxdir" > /dev/null 2>&1 || {
echo "Cannot cd into $apidoxdir -- maybe you need to"
echo "build the top-level dox first."
exit 1
}
if test "x1" = "x$recurse" ; then
# OK, so --recurse was requested
if test ! -f "subdirs.top" ; then
echo "* No subdirs.top available in the $apidoxdir."
echo "* The --recurse option will be ignored."
recurse=0
fi
fi
fi
### Read a single line (TODO: support \ continuations) from the Makefile.am.
### Used to extract variable assignments from it.
extract_line()
{
file="$2" ; test -z "$file" && file="$srcdir/Makefile.am"
pattern=`echo "$1" | tr + .`
grep "^$1" "$file" | \
sed -e "s+$pattern.*=\s*++"
}
### Handle the COMPILE_{FIRST,LAST,BEFORE,AFTER} part of Makefile.am
### in the toplevel. Copied from admin/cvs.sh. Licence presumed LGPL).
create_subdirs()
{
echo "* Sorting top-level subdirs"
dirs=
idirs=
if test -f "$top_srcdir/inst-apps"; then
idirs=`cat "$top_srcdir/"inst-apps`
else
idirs=`cd "$top_srcdir" && ls -1 | sort`
fi
compilefirst=""
compilelast=""
if test -f "$top_srcdir/"Makefile.am.in ; then
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1`
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1`
fi
for i in $idirs; do
if test -f "$top_srcdir/$i"/Makefile.am; then
case " $compilefirst $compilelast " in
*" $i "*) ;;
*) dirs="$dirs $i"
esac
fi
done
: > ./_SUBDIRS
for d in $compilefirst; do
echo $d >> ./_SUBDIRS
done
(for d in $dirs; do
list=""
if test -f "$top_srcdir/"Makefile.am.in ; then
list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1`
fi
for s in $list; do
echo $s $d
done
list=""
if test -f "$top_srcdir/"Makefile.am.in ; then
list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1`
fi
for s in $list; do
echo $d $s
done
echo $d $d
done ) | tsort >> ./_SUBDIRS
for d in $compilelast; do
echo $d >> ./_SUBDIRS
done
test -r _SUBDIRS && mv _SUBDIRS subdirs.top || true
}
### Add HTML header, footer, CSS tags to Doxyfile.
### Assumes $subdir is set. Argument is a string
### to stick in front of the file if needed.
apidox_htmlfiles()
{
dox_header="$top_srcdir/doc/api/$1header.html"
dox_footer="$top_srcdir/doc/api/$1footer.html"
dox_css="$top_srcdir/doc/api/doxygen.css"
test -f "$dox_header" || dox_header="$DOXDATA/$1header.html"
test -f "$dox_footer" || dox_footer="$DOXDATA/$1footer.html"
test -f "$dox_css" || dox_css="$DOXDATA/doxygen.css"
echo "HTML_HEADER = $dox_header" >> "$subdir/Doxyfile" ; \
echo "HTML_FOOTER = $dox_footer" >> "$subdir/Doxyfile" ; \
echo "HTML_STYLESHEET = $dox_css" >> "$subdir/Doxyfile"
}
apidox_specials()
{
line=`extract_line DOXYGEN_PROJECTNAME "$1"`
test -n "$line" && echo "PROJECT_NAME = \"$line\"" >> "$2"
}
apidox_local()
{
for i in "$top_srcdir/doc/api/Doxyfile.local"
do
if test -f "$i" ; then
cat "$i" >> "$subdir/Doxyfile"
break
fi
done
}
### Post-process HTML files by substituting in the menu files
#
# In non-top directories, both <!-- menu --> and <!-- gmenu -->
# are calculated and replaced. Top directories get an empty <!-- menu -->
# if any.
doxyndex()
{
# Special case top-level to have an empty MENU.
if test "x$subdir" = "x." ; then
MENU=""
htmldir="."
htmltop="$top_builddir" # Just ., presumably
echo "* Post-processing top-level files"
else
MENU="<ul>"
htmldir="$subdir/html"
htmltop="$top_builddir.." # top_builddir ends with /
echo "* Post-processing files in $htmldir"
# Build a little PHP file that maps class names to file
# names, for the quick-class-picker functionality.
# (The quick-class-picker is disabled due to styling
# problems in IE & FF).
(
echo "<?php \$map = array("; \
for htmlfile in `find $htmldir/ -type f -name "class[A-Z]*.html" | grep -v "\-members.html$"`; do
classname=`echo $htmlfile | sed -e "s,.*/class\\(.*\\).html,\1," -e "s,_1_1,::,g" -e "s,_01, ,g" -e "s,_4,>,g" -e "s+_00+,+g" -e "s+_3+<+g" | tr "[A-Z]" "[a-z]"`
echo " \"$classname\" => \"$htmlfile\","
done | sort ; \
echo ") ?>"
) > "$subdir/classmap.inc"
# This is a list of pairs, with / separators so we can use
# basename and dirname (a crude shell hack) to split them
# into parts. For each, if the file part exists (as a html
# file) tack it onto the MENU variable as a <li> with link.
for i in "Main Page/index" \
"Modules/modules" \
"Namespace List/namespaces" \
"Class Hierarchy/hierarchy" \
"Alphabetical List/classes" \
"Class List/annotated" \
"File List/files" \
"Directories/dirs" \
"Namespace Members/namespacemembers" \
"Class Members/functions" \
"Related Pages/pages"
do
NAME=`dirname "$i"`
FILE=`basename "$i"`
test -f "$htmldir/$FILE.html" && MENU="$MENU<li><a href=\"$FILE.html\">$NAME</a></li>"
done
MENU="$MENU</ul>"
fi
# Get the list of global Menu entries.
GMENU=`cat subdirs | tr -d '\n'`
PMENU=`grep '<!-- pmenu' "$htmldir/index.html" | sed -e 's+.*pmenu *++' -e 's+ *-->++' | awk '{ c=split($0,a,"/"); for (j=1; j<=c; j++) { printf " / <a href=\""; if (j==c) { printf("."); } for (k=j; k<c; k++) { printf "../"; } if (j<c) { printf("../html/index.html"); } printf "\">%s</a>\n" , a[j]; } }' | tr -d '\n'`
# Map the PHP file into HTML options so that
# it can be substituted in for the quick-class-picker.
CMENU=""
# For now, leave the CMENU disabled
CMENUBEGIN="<!--"
CMENUEND="-->"
if test "x$subdir" = "x." ; then
# Disable CMENU on toplevel anyway
CMENUBEGIN="<!--"
CMENUEND="-->"
else
test -f "$subdir/classmap.inc" && \
CMENU=`grep '=>' "$subdir/classmap.inc" | sed -e 's+"\([^"]*\)" => "'"$subdir/html/"'\([^"]*\)"+<option value="\2">\1<\/option>+' | tr -d '\n'`
if test -f "$subdir/classmap.inc" && grep "=>" "$subdir/classmap.inc" > /dev/null 2>&1 ; then
# Keep the menu, it's useful
:
else
CMENUBEGIN="<!--"
CMENUEND="-->"
fi
fi
# Now substitute in the MENU in every file. This depends
# on HTML_HEADER (ie. header.html) containing the
# <!-- menu --> comment.
for i in "$htmldir"/*.html
do
if test -f "$i" ; then
sed -e "s+<!-- menu -->+$MENU+" \
-e "s+<!-- gmenu -->+$GMENU+" \
-e "s+<!-- pmenu.*-->+$PMENU+" \
-e "s+<!-- cmenu.begin -->+$CMENUBEGIN+" \
-e "s+<!-- cmenu.end -->+$CMENUEND+" \
< "$i" | sed -e "s+@topdir@+$htmltop+g" > "$i.new" && mv "$i.new" "$i"
sed -e "s+<!-- cmenu -->+$CMENU+" < "$i" > "$i.new"
test -s "$i.new" && mv "$i.new" "$i"
fi
done
}
### Handle the Doxygen processing of a toplevel directory.
apidox_toplevel()
{
echo ""
echo "*** Creating API documentation main page for $module_name"
echo "*"
rm -f "Doxyfile"
for i in "$top_srcdir/doc/api/Doxyfile.global" \
"$top_srcdir/admin/Doxyfile.global" \
"$DOXDATA/Doxyfile.global"
do
if test -f "$i" ; then
cp "$i" Doxyfile
break
fi
done
if test ! -f "Doxyfile" ; then
echo "* Cannot create Doxyfile."
exit 1
fi
cat "$top_builddir/Doxyfile.in" >> Doxyfile
echo "INPUT = $top_srcdir" >> Doxyfile
echo "OUTPUT_DIRECTORY = $top_builddir" >> Doxyfile ; \
echo "FILE_PATTERNS = *.dox" >> Doxyfile ; \
echo "RECURSIVE = NO" >> Doxyfile ; \
echo "ALPHABETICAL_INDEX = NO" >> Doxyfile ; \
echo "HTML_OUTPUT = ." >> Doxyfile ; \
apidox_htmlfiles "main"
# KDevelop has a top-level Makefile.am with settings.
for i in "$top_srcdir/Makefile.am.in" "$top_srcdir/Makefile.am"
do
if test -f "$i" ; then
grep '^DOXYGEN_SET_' "$i" | \
sed -e 's+DOXYGEN_SET_++' -e "s+@topdir@+$top_srcdir+" >> Doxyfile
apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile"
break
fi
done
apidox_local
doxygen Doxyfile
( cd "$top_srcdir" && grep -l '^include.*Doxyfile.am' `find . -name Makefile.am` ) | sed -e 's+/Makefile.am$++' -e 's+^\./++' | sort > subdirs.in
for i in `cat subdirs.in`
do
test "x." = "x$i" && continue;
dir=`dirname "$i"`
file=`basename "$i"`
if test "x." = "x$dir" ; then
dir=""
else
dir="$dir/"
fi
indent=`echo "$dir" | sed -e 's+[^/]*/+\&nbsp;\&nbsp;+g' | sed -e 's+&+\\\&+g'`
entryname=`extract_line DOXYGEN_SET_PROJECT_NAME "$top_srcdir/$dir/$file/Makefile.am"`
test -z "$entryname" && entryname="$file"
if grep DOXYGEN_EMPTY "$top_srcdir/$dir/$file/Makefile.am" > /dev/null 2>&1 ; then
echo "<li>$indent$file</li>"
else
echo "<li>$indent<a href=\"@topdir@/$dir$file/html/index.html\">$entryname</a></li>"
fi
done > subdirs
doxyndex
}
### Handle the Doxygen processing of a non-toplevel directory.
apidox_subdir()
{
echo ""
echo "*** Creating apidox in $subdir"
echo "*"
rm -f "$subdir/Doxyfile"
if test ! -d "$top_srcdir/$subdir" ; then
echo "* No source (sub)directory $subdir"
return
fi
for i in "$top_srcdir/doc/api/Doxyfile.global" \
"$top_srcdir/admin/Doxyfile.global" \
"$DOXDATA/Doxyfile.global"
do
if test -f "$i" ; then
cp "$i" "$subdir/Doxyfile"
break
fi
done
test -f "Doxyfile.in" || create_doxyfile_in
cat "Doxyfile.in" >> "$subdir/Doxyfile"
echo "PROJECT_NAME = \"$subdir\"" >> "$subdir/Doxyfile"
echo "INPUT = $srcdir" >> "$subdir/Doxyfile"
echo "OUTPUT_DIRECTORY = ." >> "$subdir/Doxyfile"
if grep -l "$subdir/" subdirs.in > /dev/null 2>&1 ; then
echo "RECURSIVE = NO" >> "$subdir/Doxyfile"
fi
echo "HTML_OUTPUT = $subdir/html" >> "$subdir/Doxyfile"
echo "GENERATE_TAGFILE = $subdir/$subdirname.tag" >> "$subdir/Doxyfile"
test -d "$top_srcdir/doc/api" && \
echo "IMAGE_PATH = $top_srcdir/doc/api" >> "$subdir/Doxyfile"
apidox_htmlfiles ""
# Makefile.ams may contain overrides to our settings,
# so copy them in.
grep '^DOXYGEN_SET_' "$srcdir/Makefile.am" | \
sed -e 's+DOXYGEN_SET_++' >> "$subdir/Doxyfile"
apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile"
excludes=`extract_line DOXYGEN_EXCLUDE`
if test -n "$excludes"; then
patterns=""
dirs=""
for item in `echo "$excludes"`; do
if test -d "$top_srcdir/$subdir/$item"; then
dirs="$dirs $top_srcdir/$subdir/$item/"
else
patterns="$patterns $item"
fi
done
echo "EXCLUDE_PATTERNS += $patterns" >> "$subdir/Doxyfile"
echo "EXCLUDE += $dirs" >> "$subdir/Doxyfile"
fi
echo "TAGFILES = \\" >> "$subdir/Doxyfile"
## For now, don't support \ continued references lines
tags=`extract_line DOXYGEN_REFERENCES`
for i in $tags qt ; do
tagsubdir=`dirname $i` ; tag=`basename $i`
tagpath=""
not_found=""
if test "x$tagsubdir" = "x." ; then
tagsubdir=""
else
tagsubdir="$tagsubdir/"
fi
# Find location of tag file
if test -f "$tagsubdir$tag/$tag.tag" ; then
file="$tagsubdir$tag/$tag.tag"
loc="$tagsubdir$tag/html"
else
# This checks for dox built with_out_ --no-modulename
# in the same build dir as this dox run was started in.
file=`ls -1 ../*-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null`
if test -n "$file" ; then
loc=`echo "$file" | sed -e "s/$tag.tag\$/html/"`
else
# If the tag file doesn't exist yet, but should
# because we have the right dirs here, queue
# this directory for re-processing later.
if test -d "$top_srcdir/$tagsubdir$tag" ; then
echo "* Need to re-process $subdir for tag $i"
echo "$subdir" >> "subdirs.later"
else
# Re-check in $PREFIX if needed.
test -n "$PREFIX" && \
file=`cd "$PREFIX" && \
ls -1 *-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null`
# If something is found, patch it up. The location must be
# relative to the installed location of the dox and the
# file must be absolute.
if test -n "$file" ; then
loc=`echo "../$file" | sed -e "s/$tag.tag\$/html/"`
file="$PREFIX/$file"
echo "* Tags for $tagsubdir$tag will only work when installed."
not_found="YES"
fi
fi
fi
fi
if test "$tag" = "qt" ; then
if test -z "$QTDOCDIR" ; then
echo " $file" >> "$subdir/Doxyfile"
else
if test -z "$file" ; then
# Really no Qt tags
echo "" >> "$subdir/Doxyfile"
else
echo " $file=$QTDOCDIR" >> "$subdir/Doxyfile"
fi
fi
else
if test -n "$file" ; then
test -z "$not_found" && echo "* Found tag $file"
echo " $file=../$top_builddir$loc \\" >> "$subdir/Doxyfile"
fi
fi
done
apidox_local
if grep '^DOXYGEN_EMPTY' "$srcdir/Makefile.am" > /dev/null 2>&1 ; then
# This directory is empty, so don't process it, but
# *do* handle subdirs that might have dox.
:
else
# Regular processing
doxygen "$subdir/Doxyfile"
doxyndex
fi
}
### Run a given subdir by setting up global variables first.
do_subdir()
{
subdir=`echo "$1" | sed -e 's+/$++'`
srcdir="$top_srcdir/$subdir"
subdirname=`basename "$subdir"`
mkdir -p "$subdir" 2> /dev/null
if test ! -d "$subdir" ; then
echo "Can't create dox subdirectory $subdir"
return
fi
top_builddir=`echo "/$subdir" | sed -e 's+/[^/]*+../+g'`
apidox_subdir
}
### Create installdox-slow in the toplevel
create_installdox()
{
# Fix up the installdox script so it accepts empty args
#
# This code is copied from the installdox generated by Doxygen,
# copyright by Dimitri van Heesch and released under the GPL.
# This does a _slow_ update of the dox, because it loops
# over the given substitutions instead of assuming all the
# needed ones are given.
#
cat <<\EOF
#! /usr/bin/env perl
%subst = () ;
$quiet = 0;
if (open(F,"search.cfg"))
{
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
}
while ( @ARGV ) {
$_ = shift @ARGV;
if ( s/^-// ) {
if ( /^l(.*)/ ) {
$v = ($1 eq "") ? shift @ARGV : $1;
($v =~ /\/$/) || ($v .= "/");
$_ = $v;
if ( /(.+)\@(.+)/ ) {
$subst{$1} = $2;
} else {
print STDERR "Argument $_ is invalid for option -l\n";
&usage();
}
}
elsif ( /^q/ ) {
$quiet = 1;
}
elsif ( /^\?|^h/ ) {
&usage();
}
else {
print STDERR "Illegal option -$_\n";
&usage();
}
}
else {
push (@files, $_ );
}
}
if ( ! @files ) {
if (opendir(D,".")) {
foreach $file ( readdir(D) ) {
$match = ".html";
next if ( $file =~ /^\.\.?$/ );
($file =~ /$match/) && (push @files, $file);
($file =~ "tree.js") && (push @files, $file);
}
closedir(D);
}
}
if ( ! @files ) {
print STDERR "Warning: No input files given and none found!\n";
}
foreach $f (@files)
{
if ( ! $quiet ) {
print "Editing: $f...\n";
}
$oldf = $f;
$f .= ".bak";
unless (rename $oldf,$f) {
print STDERR "Error: cannot rename file $oldf\n";
exit 1;
}
if (open(F,"<$f")) {
unless (open(G,">$oldf")) {
print STDERR "Error: opening file $oldf for writing\n";
exit 1;
}
if ($oldf ne "tree.js") {
while (<F>) {
foreach $sub (keys %subst) {
s/doxygen\=\"$sub\:([^ \"\t\>\<]*)\" (href|src)=\"\1/doxygen\=\"$sub:$subst{$sub}\" \2=\"$subst{$sub}/g;
print G "$_";
}
}
}
else {
while (<F>) {
foreach $sub (keys %subst) {
s/\"$sub\:([^ \"\t\>\<]*)\", \"\1/\"$sub:$subst{$sub}\" ,\"$subst{$sub}/g;
print G "$_";
}
}
}
}
else {
print STDERR "Warning file $f does not exist\n";
}
unlink $f;
}
sub usage {
print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
print STDERR "Options:\n";
print STDERR " -l tagfile\@linkName tag file + URL or directory \n";
print STDERR " -q Quiet mode\n\n";
exit 1;
}
EOF
}
# Do only the subdirs that match the RE passed in as $1
do_subdirs_re()
{
RE=`echo "$1" | sed -e 's+/$++'`
# Here's a queue of dirs to re-process later when
# all the rest have been done already.
> subdirs.later
# subdirs.top lists _all_ subdirs of top in the order they
# should be handled; subdirs.in lists those dirs that contain
# dox. So the intersection of the two is the ordered list
# of top-level subdirs that contain dox.
#
# subdirs.top also doesn't contain ".", so that special
# case can be ignored in the loop.
(
for i in `grep "^$RE" subdirs.top`
do
if test "x$i" = "x." ; then
continue
fi
# Calculate intersection of this element and the
# set of dox dirs.
if grep "^$i\$" subdirs.in > /dev/null 2>&1 ; then
echo "$i"
mkdir -p "$i" 2> /dev/null
# Handle the subdirs of this one
for j in `grep "$i/" subdirs.in`
do
echo "$j"
mkdir -p "$j" 2> /dev/null
done
fi
done
# Now we still need to handle whatever is left
for i in `cat subdirs.in`
do
test -d "$i" || echo "$i"
mkdir -p "$i" 2> /dev/null
done
) > subdirs.sort
for i in `cat subdirs.sort`
do
do_subdir "$i"
done
if test -s "subdirs.later" ; then
sort subdirs.later | uniq > subdirs.sort
for i in `cat subdirs.sort`
do
: > subdirs.later
echo "*** Reprocessing $i"
do_subdir "$i"
test -s "subdirs.later" && echo "* Some tag files were still not found."
done
fi
}
if test "x." = "x$top_builddir" ; then
apidox_toplevel
create_subdirs
create_installdox > installdox-slow
if test "x$recurse" = "x1" ; then
if test "x$module_name" = "xkdelibs" ; then
if test -z "$QTDOCTAG" && test -d "$QTDOCDIR" && \
test ! -f "qt/qt.tag" ; then
# Special case: create a qt tag file.
echo "*** Creating a tag file for the Qt library:"
mkdir qt
doxytag -t qt/qt.tag "$QTDOCDIR" > /dev/null 2>&1
fi
fi
if test -n "$QTDOCTAG" && test -r "$QTDOCTAG" ; then
echo "*** Copying tag file for the Qt library:"
mkdir qt
cp "$QTDOCTAG" qt/qt.tag
fi
do_subdirs_re "."
fi
else
if test "x$recurse" = "x1" ; then
do_subdirs_re "$subdir"
else
do_subdir "$subdir"
fi
fi
# At the end of a run, clean up stuff.
if test "YES" = "$cleanup" ; then
rm -f subdirs.in subdirs.later subdirs.sort subdirs.top Doxyfile.in
rm -f `find . -name Doxyfile`
rm -f qt/qt.tag
rmdir qt > /dev/null 2>&1
fi
exit 0
-401
View File
@@ -1,401 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2005-11-07.23
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
posix_glob=
posix_mkdir=
# Symbolic mode for testing mkdir with directories.
# It is the same as 755, but also tests that "u+" works.
test_mode=u=rwx,g=rx,o=rx,u+wx
# Desired mode of installed file.
mode=0755
# Desired mode of newly created intermediate directories.
# It is empty if not known yet.
intermediate_mode=
chmodcmd=$chmodprog
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-c) shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
test -n "$dir_arg" || trap '(exit $?); exit' 1 2 13 15
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| \
. : '\(.\)' 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
/^X\(\/\/\)$/{ s//\1/; q; }
/^X\(\/\).*/{ s//\1/; q; }
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
posix_mkdir=false
if $mkdirprog -m $test_mode -p -- / >/dev/null 2>&1; then
posix_mkdir=true
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./-m "$test_mode" ./-p ./-- 2>/dev/null
fi ;;
esac
if
$posix_mkdir && {
# With -d, create the new directory with the user-specified mode.
# Otherwise, create it using the same intermediate mode that
# mkdir -p would use when creating intermediate directories.
# POSIX says that this mode is "$(umask -S),u+wx", so use that
# if umask -S works.
if test -n "$dir_arg"; then
mkdir_mode=$mode
else
case $intermediate_mode in
'')
if umask_S=`(umask -S) 2>/dev/null`; then
intermediate_mode=$umask_S,u+wx
else
intermediate_mode=$test_mode
fi ;;
esac
mkdir_mode=$intermediate_mode
fi
$mkdirprog -m "$mkdir_mode" -p -- "$dstdir"
}
then :
else
# mkdir does not conform to POSIX, or it failed possibly due to
# a race condition. Create the directory the slow way, step by
# step, checking for races as we go.
case $dstdir in
/*) pathcomp=/ ;;
-*) pathcomp=./ ;;
*) pathcomp= ;;
esac
case $posix_glob in
'')
if (set -f) 2>/dev/null; then
posix_glob=true
else
posix_glob=false
fi ;;
esac
oIFS=$IFS
IFS=/
$posix_glob && set -f
set fnord $dstdir
shift
$posix_glob && set +f
IFS=$oIFS
for d
do
test "x$d" = x && continue
pathcomp=$pathcomp$d
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# Don't fail if two instances are running concurrently.
test -d "$pathcomp" || exit 1
fi
pathcomp=$pathcomp/
done
obsolete_mkdir_used=true
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd "$mode" "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$mode" "$dsttmp"; } &&
# Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dst"; then
$doit $rmcmd -f "$dst" 2>/dev/null \
|| { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|| {
echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
} || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
-5891
View File
File diff suppressed because it is too large Load Diff
-6389
View File
File diff suppressed because it is too large Load Diff
-353
View File
@@ -1,353 +0,0 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2004-09-07.08
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
msg="missing on your system"
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit 0
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit 0
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
tar)
shift
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
-158
View File
@@ -1,158 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
scriptversion=2005-06-29.22
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain.
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
errstatus=0
dirmode=
usage="\
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
Report bugs to <bug-automake@gnu.org>."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage"
exit $?
;;
-m) # -m PERM arg
shift
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
dirmode=$1
shift
;;
--version)
echo "$0 $scriptversion"
exit $?
;;
--) # stop option processing
shift
break
;;
-*) # unknown option
echo "$usage" 1>&2
exit 1
;;
*) # first non-opt arg
break
;;
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
# mkdir -p a/c at the same time, both will detect that a is missing,
# one will create a, then the other will try to create a and die with
# a "File exists" error. This is a problem when calling mkinstalldirs
# from a parallel make. We use --version in the probe to restrict
# ourselves to GNU mkdir, which is thread-safe.
case $dirmode in
'')
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./--version && rmdir ./--version
fi
;;
*)
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
test ! -d ./--version; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
else
# Clean up after NextStep and OpenStep mkdir.
for d in ./-m ./-p ./--version "./$dirmode";
do
test -d $d && rmdir $d
done
fi
;;
esac
for file
do
case $file in
/*) pathcomp=/ ;;
*) pathcomp= ;;
esac
oIFS=$IFS
IFS=/
set fnord $file
shift
IFS=$oIFS
for d
do
test "x$d" = x && continue
pathcomp=$pathcomp$d
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp=$pathcomp/
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
-371
View File
@@ -1,371 +0,0 @@
#!/usr/bin/perl -w
# Check namespace cleanness of a library.
# Allowed symbols are passed as arguments.
# They may have trailing * = wildcard.
# Wildcards may be also specified as *::* (e.g. K*::* for all KDE classes)
# Symbols are listed as full function unmangled names without arguments,
# e.g. 'foo bar* nspace::*' allows foo(), foo(int), bar(), barbar()
# and all symbols in namespace/class nspace.
# If an argument has comma in it, it's a filename of a file containing
# allowed symbols, one per line.
$thisProg = "$0"; # This programs name
$library = "";
$allowed_symbols = "";
$debug = 0;
$allowed_weak = "";
$weak_specified = 0;
while( defined( $ARGV[ 0 ] ))
{
$_ = shift;
if( /^--verbose$|^-v$/ )
{
$debug = 1;
}
elsif( /^--help$|^-h$/ )
{
print STDOUT "Usage $thisProg [OPTION] ... library [allowed symbols] ...\n",
"\n",
"Check if the given library has only allowed public symbols.\n",
"\n",
" --allowweak=[symbol] allow only these weak symbols\n",
" -v, --verbose verbosely list files processed\n",
" -h, --help print this help, then exit\n";
exit 0;
}
elsif( /^--allowweak=(.*)$/ )
{
$allowed_weak .= " " . $1;
$weak_specified = 1;
}
elsif( /^--allowweak$/ ) # simply list all weak
{
$allowed_weak .= " ";
$weak_specified = 1;
}
elsif( /^--*/ )
{
die "Invalid argument!\n";
}
else
{
if( ! $library )
{
$library = $_;
}
else
{
$allowed_symbols .= " " . $_;
}
}
}
if( ! $weak_specified )
{
$allowed_weak = "*";
# allow all weak symbols by default
# instances of templates and similar stuff - unfortunately includes also things from other libraries,
# so it cannot be on by default
}
print STDERR "library:" . $library . "\n" if $debug;
print STDERR "allowed_symbols:" . $allowed_symbols . "\n" if $debug;
print STDERR "allowed_weak:" . $allowed_weak . "\n" if $debug;
$default_symbols = "_fini _init"; # system symbols
# on my system, every .so has :
# A _DYNAMIC
# A _GLOBAL_OFFSET_TABLE_
# A __bss_start
# A _edata
# A _end
# T _fini
# T _init
# no need to list A symbols in $default_symbols
print STDERR "default_symbols: " . $default_symbols . "\n" if $debug;
print STDOUT "Namespace cleanness check for " . $library . " :\n";
$lib_file = "";
if( $library =~ /\.la$/ )
{
# get the real library file from .la
open( FILEIN, $library ) || die "Couldn't open $! !\n";
while( $line = <FILEIN> )
{
if( $line =~ /library_names=\'([^ ]*).*/o )
{
$lib_file = $1;
}
}
close( FILEIN );
if( ! $lib_file )
{
print STDERR "Library file not found in .la file!\n";
exit 1;
}
my $libpath = $library;
$libpath =~ s%[^/]*$%%;
if( -e $libpath . ".libs/" . $lib_file )
{
$lib_file = $libpath . ".libs/" . $lib_file;
}
else
{
$lib_file = $libpath . $lib_file;
}
}
else
{
$lib_file = $library;
}
print STDERR "libfile: ". $lib_file . "\n" if $debug;
$allowed_symbols .= " " . $default_symbols;
sub process_symbols($\@\%\@);
@wildcards = ();
%exacts = ();
@regwildcards = ();
process_symbols( $allowed_symbols, @wildcards, %exacts, @regwildcards );
@weak_wildcards = ();
%weak_exacts = ();
@weak_regwildcards = ();
process_symbols( $allowed_weak, @weak_wildcards, %weak_exacts, @weak_regwildcards );
# grep is for stripping not exported symbols, which don't have address (=first column)
$nm_command = "nm -BDCg " . $lib_file . " | grep -v '^ ' |";
# TODO how portable is this nmcheck stuff?
print STDERR "nm command:" . $nm_command . "\n" if $debug;
open( FILEIN, $nm_command ) || die "nm command failed\n";
my $exit_code = 0;
while( $line = <FILEIN> )
{
my $type;
my $symbol;
if( $line =~ /^[^ ]* (.) (.*)$/o )
{
$type = $1;
$symbol = $2;
}
else
{
die "Invalid line: " . $line . "\n";
}
print STDERR "Type: " . $type . " , symbol: " . $symbol . "\n" if $debug;
if( $type eq "A" )
{ # these should be system symbols, so ignore them
next;
}
my $orig_symbol = $symbol;
if( $symbol =~ /\(anonymous namespace\)/o )
{ # TODO tell to prefer named namespaces? (shorter symbols)
next;
}
# strip prefixes
# the :: appending is to make "CLASS::*" work also for "vtable for CLASS"
$symbol =~ s/^typeinfo for (.*)$/$1::/o;
$symbol =~ s/^typeinfo fn for (.*)$/$1::/o;
$symbol =~ s/^typeinfo name for (.*)$/$1::/o;
$symbol =~ s/^vtable for (.*)$/$1::/o;
$symbol =~ s/^guard variable for (.*)$/$1::/o;
$symbol =~ s/^reference temporary for (.*)$/$1::/o;
$symbol =~ s/^VTT for (.*)$/$1::/o;
$symbol =~ s/^virtual thunk \[[^\]]*\] to (.*)$/$1::/o;
$symbol =~ s/^non-virtual thunk \[[^\]]*\] to (.*)$/$1::/o;
$symbol =~ s/^covariant return thunk \[[^\]]*\] to (.*)$/$1::/o;
$symbol =~ s/^construction vtable thunk for (.*)$/$1::/o;
$symbol =~ s/^construction vtable for .*-in-(.*) [0-9]*$/$1::/o;
# templates seem to have also return types mangled in their name, and nm prints it too
# they have also template arguments in the symbol
# get rid of both of those
while( $symbol =~ /<.*>/o )
{
$symbol =~ s/<[^<>]*>//o; # strip innermost <>
}
if( $symbol !~ /operator\(\)/o )
{
$symbol =~ s/ ?\(.*\).*$//o; # strip () and all after it
}
else
{
$symbol =~ s/(^|:| )operator\(\) ?\(.*\).*$//o; # strip () and all after it
}
$symbol =~ s/\[.*\] *$//o; # strip [in-charge] etc.
if( $symbol =~ /(^|:| )operator /o )
{
$symbol =~ s/.* ([^\s]*)operator /$1/o; # strip everything before 'X::operator blah'
}
else
{
$symbol =~ s/.* ([^\s]+) *$/$1/o; # get last word (strip return type)
}
# print STDERR "Processed symbol: " . $symbol . "\n" if $debug;
my $found = 0;
if( $exacts{ $symbol } )
{
$found = 1;
}
if( ! $found )
{
for my $wild ( @wildcards )
{
if( index( $symbol, $wild ) == 0 )
{
$found = 1;
last;
}
}
}
if( ! $found )
{
for my $wild ( @regwildcards )
{
if( $symbol =~ /^$wild$/ )
{
$found = 1;
last;
}
}
}
if( ( ! $found ) && ( $type eq "W" || $type eq "V" ))
{
if( $weak_exacts{ $symbol } )
{
$found = 1;
}
if( ! $found )
{
for my $wild ( @weak_wildcards )
{
if( index( $symbol, $wild ) == 0 )
{
$found = 1;
last;
}
}
}
if( ! $found )
{
for my $wild ( @weak_regwildcards )
{
if( $symbol =~ /^$wild$/ )
{
$found = 1;
last;
}
}
}
}
if( ! $found )
{
print STDERR "Public symbol " . $orig_symbol . " is not allowed!\n";
$exit_code = 1;
}
}
close( FILEIN );
print STDOUT $exit_code == 0 ? "OK\n" : "FAILED\n";
exit $exit_code;
sub process_symbols($\@\%\@)
{
my $allowed_symbols = $_[ 0 ];
my $wildcards_ref = $_[ 1 ];
my $exacts_ref = $_[ 2 ];
my $regwildcards_ref = $_[ 3 ];
$allowed_symbols =~ s/^ *//o; # strip whitespace
$allowed_symbols =~ s/ *$//o;
if( $allowed_symbols eq "NONE" )
{
$allowed_symbols = "";
}
my @symbols1 = split( ' ', $allowed_symbols );
my $i = 0;
my @symbols2 = ();
while( defined( $symbols1[ $i ] ))
{
my $symbol = $symbols1[ $i ];
if( $symbol =~ /\./ ) # dot in name -> file
{
open( SYMIN, $symbol ) || die ( "Cannot open file " . $symbol . "!" );
while( $line = <SYMIN> )
{
$line =~ s/^\s*//o; # strip whitespace
$line =~ s/\s*$//o;
if( $line !~ /^$/o # empty line
&& $line !~ /^\s*#/ ) # comment line starting with #
{
$symbols2[ $#symbols2 + 1 ] = $line;
}
}
close( SYMIN );
}
else
{
$symbols2[ $#symbols2 + 1 ] = $symbol;
}
$i++;
}
$i = 0;
while( defined( $symbols2[ $i ] ))
{
my $symbol = $symbols2[ $i ];
if( $symbol =~ /__/
|| $symbol =~ /^_[A-Z]/ )
{ # ISO C++ 2.10.2
die "Symbols containing a double underscore or beginning with an underscore and an upper-case letter are reserved!\n";
}
elsif( $symbol eq "main"
|| $symbol eq "main*" )
{
die "Symbol main is not allowed!\n";
}
if( $symbol =~ /^([^\*]*)\*$/o # trailing * without any * before it
&& $symbol !~ /operator\*$/o )
{
print STDERR "wildcard:" . $symbol . "\n" if $debug;
$wildcards_ref->[ $#{$wildcards_ref} + 1 ] = $1;
}
elsif( $symbol =~ /\*$/o
&& ( $symbol =~ /\*::/o || $symbol =~ /::\*/o )
&& $symbol !~ /^\*/o
&& $symbol !~ /operator\*$/o )
{
print STDERR "regwildcard:" . $symbol . "\n" if $debug;
$symbol =~ s/\*/\.\*/go; # change * to .* (regexp)
$regwildcards_ref->[ $#{$regwildcards_ref} + 1 ] = $symbol;
}
else
{
print STDERR "exact:" . $symbol . "\n" if $debug;
$exacts_ref->{ $symbol } = 1;
}
$i++;
}
}
-192
View File
@@ -1,192 +0,0 @@
### -*- autoconf -*-
dnl This file is part of the KDE libraries/packages
dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
dnl This file is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl You should have received a copy of the GNU Library General Public License
dnl along with this library; see the file COPYING.LIB. If not, write to
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
dnl Boston, MA 02110-1301, USA.
AC_DEFUN([KDE_CHECK_MICO],
[
AC_REQUIRE([KDE_CHECK_LIBDL])
AC_REQUIRE([KDE_MISC_TESTS])
AC_MSG_CHECKING(for MICO)
if test -z "$MICODIR"; then
kde_micodir=/usr/local
else
kde_micodir="$MICODIR"
fi
AC_ARG_WITH(micodir,
[ --with-micodir=micodir where mico is installed ],
kde_micodir=$withval,
kde_micodir=$kde_micodir
)
AC_CACHE_VAL(kde_cv_mico_incdir,
[
mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
])
kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
if test ! -r $kde_micodir/include/CORBA.h; then
AC_MSG_ERROR([No CORBA.h found, specify another micodir])
fi
AC_MSG_RESULT($kde_micodir)
MICO_INCLUDES=-I$kde_micodir/include
AC_SUBST(MICO_INCLUDES)
MICO_LDFLAGS=-L$kde_micodir/lib
AC_SUBST(MICO_LDFLAGS)
micodir=$kde_micodir
AC_SUBST(micodir)
AC_MSG_CHECKING([for MICO version])
AC_CACHE_VAL(kde_cv_mico_version,
[
AC_LANG_C
cat >conftest.$ac_ext <<EOF
#include <stdio.h>
#include <mico/version.h>
int main() {
printf("MICO_VERSION=%s\n",MICO_VERSION);
return (0);
}
EOF
ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
if AC_TRY_EVAL(ac_compile); then
if eval `./conftest 2>&5`; then
kde_cv_mico_version=$MICO_VERSION
else
AC_MSG_ERROR([your system is not able to execute a small application to
find MICO version! Check $kde_micodir/include/mico/version.h])
fi
else
AC_MSG_ERROR([your system is not able to compile a small application to
find MICO version! Check $kde_micodir/include/mico/version.h])
fi
])
dnl installed MICO version
mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
if test "x$1" = "x"; then
req_version="2.3.0"
else
req_version=$1
fi
dnl required MICO version
req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
if test "$mico_v_maj" -lt "$req_v_maj" || \
( test "$mico_v_maj" -eq "$req_v_maj" && \
test "$mico_v_mid" -lt "$req_v_mid" ) || \
( test "$mico_v_mid" -eq "$req_v_mid" && \
test "$mico_v_min" -lt "$req_v_min" )
then
AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
at least is required. You should upgrade MICO.])
else
AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
fi
LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
AC_SUBST(LIBMICO)
if test -z "$IDL"; then
IDL='$(kde_bindir)/cuteidl'
fi
AC_SUBST(IDL)
IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
AC_SUBST(IDL_DEPENDENCIES)
idldir="\$(includedir)/idl"
AC_SUBST(idldir)
])
AC_DEFUN([KDE_CHECK_MINI_STL],
[
AC_REQUIRE([KDE_CHECK_MICO])
AC_MSG_CHECKING(if we use mico's mini-STL)
AC_CACHE_VAL(kde_cv_have_mini_stl,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
kde_save_cxxflags="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
AC_TRY_COMPILE(
[
#include <mico/config.h>
],
[
#ifdef HAVE_MINI_STL
#error "nothing"
#endif
],
kde_cv_have_mini_stl=no,
kde_cv_have_mini_stl=yes)
CXXFLAGS="$kde_save_cxxflags"
AC_LANG_RESTORE
])
if test "x$kde_cv_have_mini_stl" = "xyes"; then
AC_MSG_RESULT(yes)
$1
else
AC_MSG_RESULT(no)
$2
fi
])
])
AC_DEFUN([KDE_CHECK_ANSI],
[
])
AC_DEFUN([KDE_CHECK_INSURE],
[
AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]],
[
if test $enableval = "no"; dnl
then ac_use_insure="no"
else ac_use_insure="yes"
fi
], [ac_use_insure="no"])
AC_MSG_CHECKING(if we will use Insure++ to debug)
AC_MSG_RESULT($ac_use_insure)
if test "$ac_use_insure" = "yes"; dnl
then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
fi
])
AC_DEFUN([KDE_CHECK_NEWLIBS],
[
])
-57
View File
@@ -1,57 +0,0 @@
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
dnl also defines GSTUFF_PKG_ERRORS on error
AC_DEFUN([PKG_CHECK_MODULES], [
succeeded=no
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" = "no" ; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
echo "*** to the full path to pkg-config."
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
else
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
AC_MSG_CHECKING(for $2)
if $PKG_CONFIG --exists "$2" ; then
AC_MSG_RESULT(yes)
succeeded=yes
AC_MSG_CHECKING($1_CFLAGS)
$1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
AC_MSG_RESULT($$1_CFLAGS)
AC_MSG_CHECKING($1_LIBS)
$1_LIBS=`$PKG_CONFIG --libs "$2"`
AC_MSG_RESULT($$1_LIBS)
else
$1_CFLAGS=""
$1_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
$1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
ifelse([$4], ,echo $$1_PKG_ERRORS,)
fi
AC_SUBST($1_CFLAGS)
AC_SUBST($1_LIBS)
else
echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
echo "*** See http://www.freedesktop.org/software/pkgconfig"
fi
fi
if test $succeeded = yes; then
ifelse([$3], , :, [$3])
else
ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
fi
])
-223
View File
@@ -1,223 +0,0 @@
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
scriptversion=2005-05-14.22
# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case "$1" in
'')
echo "$0: No files given. Try \`$0 --help' for more information." 1>&2
exit 1
;;
--basedir)
basedir=$2
shift 2
;;
-h|--h*)
cat <<\EOF
Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
Wrapper for lex/yacc invocations, renaming files as desired.
INPUT is the input file
OUTPUT is one file PROG generates
DESIRED is the file we actually want instead of OUTPUT
PROGRAM is program to run
ARGS are passed to PROG
Any number of OUTPUT,DESIRED pairs may be used.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v|--v*)
echo "ylwrap $scriptversion"
exit $?
;;
esac
# The input.
input="$1"
shift
case "$input" in
[\\/]* | ?:[\\/]*)
# Absolute path; do nothing.
;;
*)
# Relative path. Make it absolute.
input="`pwd`/$input"
;;
esac
pairlist=
while test "$#" -ne 0; do
if test "$1" = "--"; then
shift
break
fi
pairlist="$pairlist $1"
shift
done
# The program to run.
prog="$1"
shift
# Make any relative path in $prog absolute.
case "$prog" in
[\\/]* | ?:[\\/]*) ;;
*[\\/]*) prog="`pwd`/$prog" ;;
esac
# FIXME: add hostname here for parallel makes that run commands on
# other machines. But that might take us over the 14-char limit.
dirname=ylwrap$$
trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
mkdir $dirname || exit 1
cd $dirname
case $# in
0) $prog "$input" ;;
*) $prog "$@" "$input" ;;
esac
ret=$?
if test $ret -eq 0; then
set X $pairlist
shift
first=yes
# Since DOS filename conventions don't allow two dots,
# the DOS version of Bison writes out y_tab.c instead of y.tab.c
# and y_tab.h instead of y.tab.h. Test to see if this is the case.
y_tab_nodot="no"
if test -f y_tab.c || test -f y_tab.h; then
y_tab_nodot="yes"
fi
# The directory holding the input.
input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
# Quote $INPUT_DIR so we can use it in a regexp.
# FIXME: really we should care about more than `.' and `\'.
input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
while test "$#" -ne 0; do
from="$1"
# Handle y_tab.c and y_tab.h output by DOS
if test $y_tab_nodot = "yes"; then
if test $from = "y.tab.c"; then
from="y_tab.c"
else
if test $from = "y.tab.h"; then
from="y_tab.h"
fi
fi
fi
if test -f "$from"; then
# If $2 is an absolute path name, then just use that,
# otherwise prepend `../'.
case "$2" in
[\\/]* | ?:[\\/]*) target="$2";;
*) target="../$2";;
esac
# We do not want to overwrite a header file if it hasn't
# changed. This avoid useless recompilations. However the
# parser itself (the first file) should always be updated,
# because it is the destination of the .y.c rule in the
# Makefile. Divert the output of all other files to a temporary
# file so we can compare them to existing versions.
if test $first = no; then
realtarget="$target"
target="tmp-`echo $target | sed s/.*[\\/]//g`"
fi
# Edit out `#line' or `#' directives.
#
# We don't want the resulting debug information to point at
# an absolute srcdir; it is better for it to just mention the
# .y file with no path.
#
# We want to use the real output file name, not yy.lex.c for
# instance.
#
# We want the include guards to be adjusted too.
FROM=`echo "$from" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
TARGET=`echo "$2" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
-e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
# Check whether header files must be updated.
if test $first = no; then
if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
echo "$2" is unchanged
rm -f "$target"
else
echo updating "$2"
mv -f "$target" "$realtarget"
fi
fi
else
# A missing file is only an error for the first file. This
# is a blatant hack to let us support using "yacc -d". If -d
# is not specified, we don't want an error when the header
# file is "missing".
if test $first = yes; then
ret=1
fi
fi
shift
shift
first=no
done
else
ret=$?
fi
# Remove the directory.
cd ..
rm -rf $dirname
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
+1 -1
View File
@@ -4,7 +4,7 @@
RootName: @kmess.sourceforge.net/kmess:$SOFTWAREVERSION
DisplayName: KMess
ShortName: kmess
SoftwareVersion: 1.5pre2
SoftwareVersion: 1.5
Maintainer: The KMess Developers
Packager: Diederik van der Boor
Summary: MSN Messenger client for KDE
+20
View File
@@ -0,0 +1,20 @@
/**
* KMess configuration file
*
* The value for these defines is controlled by CMake at configuration time.
*/
/* Define the application version */
#define KMESS_VERSION "${KMESS_VERSION}"
/* Define if debug output should be enabled */
#define KMESS_DEBUG ${KMESS_ENABLE_DEBUG_OUTPUT}
/* Define the fallback prefix */
#define KMESS_PREFIX "${CMAKE_INSTALL_PREFIX}"
/* Define if you have the XScreenSaver extension */
#cmakedefine HAVE_XSCREENSAVER ${HAVE_XSCREENSAVER}
/* Define if you have KPhone installed (for SIP voice chat) */
// #define HAS_KPHONE 1
+30
View File
@@ -0,0 +1,30 @@
#!/bin/sh
cd `dirname $0`/..
appver="`cat kmess.lsm | grep Version: | sed -re 's/[^0-9]+//'`"
date="`date +%Y%m%d`"
# Make sure we have the right repository
if [ ! -f kmess.kdevelop ]; then
echo -n "svn (unknown)"
exit
fi
# Display normal version if subversion is not installed
if [ ! -x `which svnversion 2>/dev/null` ]; then
echo -n "$appver"
exit
fi
# Display subversion version if this is a working copy
svnver=`LANG=C svnversion`
# see if this is not a repository.
if [ "$svnver" = "exported" ]; then
echo -n "$appver";
exit;
fi
# display subversion version and date
echo -n "$appver-svn (`svnversion` >= $date)"
-261
View File
@@ -1,261 +0,0 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* Include pthread support for binary relocation? */
#undef BR_PTHREAD
/* enable kphone? */
#undef HAS_KPHONE
/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
#undef HAVE_CARBON_CARBON_H
/* Define if you have the CoreAudio API */
#undef HAVE_COREAUDIO
/* Define to 1 if you have the <crt_externs.h> header file. */
#undef HAVE_CRT_EXTERNS_H
/* Defines if your system has the crypt function */
#undef HAVE_CRYPT
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if you have libjpeg */
#undef HAVE_LIBJPEG
/* Define if you have libpng */
#undef HAVE_LIBPNG
/* Define to 1 if you have the `pthread' library (-lpthread). */
#undef HAVE_LIBPTHREAD
/* Define if you have libxml2 libraries and header files */
#undef HAVE_LIBXML2
/* Define if you have libxslt libraries and header files */
#undef HAVE_LIBXSLT
/* Define if you have libz */
#undef HAVE_LIBZ
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define if your system needs _NSGetEnviron to set up the environment */
#undef HAVE_NSGETENVIRON
/* Define if you have res_init */
#undef HAVE_RES_INIT
/* Define if you have the res_init prototype */
#undef HAVE_RES_INIT_PROTO
/* Define if you have a STL implementation by SGI */
#undef HAVE_SGI_STL
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have strlcat */
#undef HAVE_STRLCAT
/* Define if you have the strlcat prototype */
#undef HAVE_STRLCAT_PROTO
/* Define if you have strlcpy */
#undef HAVE_STRLCPY
/* Define if you have the strlcpy prototype */
#undef HAVE_STRLCPY_PROTO
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if you have the <X11/extensions/scrnsaver.h> header file. */
#undef HAVE_X11_EXTENSIONS_SCRNSAVER_H
/* Define if you have the XScreenSaver extension */
#undef HAVE_XSCREENSAVER
/* Suffix for lib directories */
#undef KDELIBSUFF
/* output debug? */
#undef KMESS_DEBUG
/* Define the default fallback prefix when binreloc fails */
#undef KMESS_PREFIX
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* The size of a `char *', as computed by sizeof. */
#undef SIZEOF_CHAR_P
/* The size of a `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of a `short', as computed by sizeof. */
#undef SIZEOF_SHORT
/* The size of a `size_t', as computed by sizeof. */
#undef SIZEOF_SIZE_T
/* The size of a `unsigned long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Defined if compiling without arts */
#undef WITHOUT_ARTS
/*
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
* headers and I'm too lazy to write a configure test as long as only
* unixware is related
*/
#ifdef _UNIXWARE
#define HAVE_BOOLEAN
#endif
/*
* AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
* that defines bzero.
*/
#if defined(_AIX)
#include <strings.h>
#endif
#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
# include <sys/time.h>
# include <crt_externs.h>
# define environ (*_NSGetEnviron())
#endif
#if !defined(HAVE_RES_INIT_PROTO)
#ifdef __cplusplus
extern "C" {
#endif
int res_init(void);
#ifdef __cplusplus
}
#endif
#endif
#if !defined(HAVE_STRLCAT_PROTO)
#ifdef __cplusplus
extern "C" {
#endif
unsigned long strlcat(char*, const char*, unsigned long);
#ifdef __cplusplus
}
#endif
#endif
#if !defined(HAVE_STRLCPY_PROTO)
#ifdef __cplusplus
extern "C" {
#endif
unsigned long strlcpy(char*, const char*, unsigned long);
#ifdef __cplusplus
}
#endif
#endif
/*
* On HP-UX, the declaration of vsnprintf() is needed every time !
*/
#if !defined(HAVE_VSNPRINTF) || defined(hpux)
#if __STDC__
#include <stdarg.h>
#include <stdlib.h>
#else
#include <varargs.h>
#endif
#ifdef __cplusplus
extern "C"
#endif
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
#ifdef __cplusplus
extern "C"
#endif
int snprintf(char *str, size_t n, char const *fmt, ...);
#endif
#if defined(__SVR4) && !defined(__svr4__)
#define __svr4__ 1
#endif
/* type to use in place of socklen_t if not defined */
#undef kde_socklen_t
/* type to use in place of socklen_t if not defined (deprecated, use
kde_socklen_t) */
#undef ksize_t
Vendored
+159 -35233
View File
File diff suppressed because it is too large Load Diff
-6
View File
@@ -1,6 +0,0 @@
./admin/configure.in.min
configure.in.in
./kmess/configure.in.in
./kmess/chat/configure.in.in
./kmess/network/configure.in.in
configure.in.bot
-531
View File
@@ -1,531 +0,0 @@
dnl =======================================================
dnl FILE: ./admin/configure.in.min
dnl =======================================================
dnl This file is part of the KDE libraries/packages
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
dnl This file is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl You should have received a copy of the GNU Library General Public License
dnl along with this library; see the file COPYING.LIB. If not, write to
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
dnl Boston, MA 02110-1301, USA.
# Original Author was Kalle@kde.org
# I lifted it in some mater. (Stephan Kulow)
# I used much code from Janos Farkas
dnl Process this file with autoconf to produce a configure script.
AC_INIT(acinclude.m4) dnl a source file from your sub dir
dnl This is so we can use kde-common
AC_CONFIG_AUX_DIR(admin)
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
unset CDPATH
dnl Checking host/target/build systems, for make, install etc.
AC_CANONICAL_SYSTEM
dnl Perform program name transformation
AC_ARG_PROGRAM
dnl Automake doc recommends to do this only here. (Janos)
AM_INIT_AUTOMAKE(kmess, 1.5-pre2) dnl searches for some needed programs
KDE_SET_PREFIX
dnl generate the config header
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
dnl Checks for programs.
AC_CHECK_COMPILERS
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
KDE_PROG_LIBTOOL
dnl for NLS support. Call them in this order!
dnl WITH_NLS is for the po files
AM_KDE_WITH_NLS
KDE_USE_QT(3.2)
AC_PATH_KDE
dnl =======================================================
dnl FILE: configure.in.in
dnl =======================================================
#MIN_CONFIG(3.2)
# ---- KMess version ----
dnl PACKAGE set before
# ---- KDevelop stuff ----
dnl CXXFLAGS="$NOOPT_CXXFLAGS" dnl __kdevelop[noopt]__
dnl CFLAGS="$NOOPT_CFLAGS" dnl __kdevelop[noopt]__
dnl CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS" dnl __kdevelop[exc]__
dnl KDE_NEED_FLEX dnl __kdevelop__
dnl AC_PROG_YACC dnl __kdevelop__
# ---- Additional KMess debug option ----
# The syntax is: AC_ARG_ENABLE(flagname, description, if-user-desides, if-user-ignores)
AC_ARG_ENABLE(debug-output,
[ --enable-debug-output enable debugging output. [default=no]],
[ enable_debug_output="$enableval" ],
[ enable_debug_output="no" ] )
# Checking code
if test "x$enable_debug_output" = "xyes" ; then
AC_WARN(Creating debug build. This has serious implications in the performance of KMess)
AC_DEFINE_UNQUOTED(KMESS_DEBUG, 1, [output debug?])
else
AC_DEFINE_UNQUOTED(KMESS_DEBUG, 0, [output debug?])
fi
dnl =======================================================
dnl FILE: ./kmess/configure.in.in
dnl =======================================================
# -- Check for XScreenSaver -----------------------------------------
# This is based on libkopete/configure.in.in and karm/configure.in.in
# backup old flags (are changed by the tests)
ac_LDFLAGS_save="$LDFLAGS"
ac_CPPFLAGS_save="$CPPFLAGS"
ac_LIBS_save="$LIBS"
ac_APBUILD_STATIC_save="$APBUILD_STATIC"
ac_APBUILD_BOGUS_DEPS_save="$APBUILD_BOGUS_DEPS"
LIB_XSCREENSAVER=
# # run the test
# LIBS="-lXext -lX11 $X_LDFLAGS"
# AC_CHECK_LIB(Xss, XScreenSaverAllocInfo,
# [
# LIB_XSCREENSAVER="-lXext -lXss"
# AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver installed])
# ],
# [
# AC_WARN(XScreenSaver extension not found. Auto-away feature will not work)
# ])
# The syntax is: AC_TRY_COMPILE(header, [if true do], [if false do], [(code)])
#
# Check for the scrnsaver.h header
KDE_CHECK_HEADERS(X11/extensions/scrnsaver.h,
[
# Check if libXext has XScreenSaverQueryInfo()
# Disable bogus dependencies for apg++ (autopackage)
APBUILD_STATIC=""
APBUILD_BOGUS_DEPS=""
LIBS="$X_PRE_LIBS -lX11 $X_LDFLAGS $X_EXTRA_LIBS"
AC_CHECK_LIB(Xext,XScreenSaverQueryInfo,
[
# Success, use "-lXext"
AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver extension])
LIB_XSCREENSAVER="-lXext"
],
[
# else:
# Check if libXss has XScreenSaverQueryInfo()
LIBS="-lXext -lX11 $X_LDFLAGS"
AC_CHECK_LIB(Xss,XScreenSaverQueryInfo,
[
# Success, use "-lXss"
AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver extension])
LIB_XSCREENSAVER="-lXext -lXss"
],
[
# Library not found, disabling idle timer code.
AC_WARN(XScreenSaver extension not found. Auto-away feature will not work)
]
)
]
)
],
[
# Header not found, disabling idle timer code.
AC_WARN(XScreenSaver header not found. Auto-away feature will not work)
],
[
#include <X11/Xlib.h>
]
)
# restore old flags (changed by the tests)
CPPFLAGS="$ac_CPPFLAGS_save"
LDFLAGS="$ac_LDFLAGS_save"
LIBS="$ac_LIBS_save"
APBUILD_STATIC="$ac_APBUILD_STATIC_save"
APBUILD_BOGUS_DEPS="$ac_APBUILD_BOGUS_DEPS_save"
# Export the LIB_XSCREENSAVER to Makefile.am
AC_SUBST(LIB_XSCREENSAVER)
# -- Check for BinReloc -----------------------------------------
# Check for binary relocation support
# Hongli Lai
# http://autopackage.org/
# New configure arguments
AC_ARG_ENABLE(binreloc,
[ --enable-binreloc compile with binary relocation support
(default=enable when available)],
enable_binreloc=$enableval,enable_binreloc=auto)
AC_ARG_ENABLE(binreloc-threads,
[ --enable-binreloc-threads compile binary relocation with threads support
(default=yes)],
enable_binreloc_threads=$enableval,enable_binreloc_threads=yes)
# checking code
BINRELOC_CFLAGS=
BINRELOC_LIBS=
if test "x$enable_binreloc" = "xauto"; then
AC_CHECK_FILE([/proc/self/maps])
AC_CACHE_CHECK([whether everything is installed to the same prefix],
[br_cv_valid_prefixes], [
if test "$bindir" = '${exec_prefix}/bin' -a "$sbindir" = '${exec_prefix}/sbin' -a \
"$datadir" = '${prefix}/share' -a "$libdir" = '${exec_prefix}/lib' -a \
"$libexecdir" = '${exec_prefix}/libexec' -a "$sysconfdir" = '${prefix}/etc'
then
br_cv_valid_prefixes=yes
else
br_cv_valid_prefixes=no
fi
])
fi
AC_CACHE_CHECK([whether binary relocation support should be enabled],
[br_cv_binreloc],
[if test "x$enable_binreloc" = "xyes"; then
br_cv_binreloc=yes
elif test "x$enable_binreloc" = "xauto"; then
if test "x$br_cv_valid_prefixes" = "xyes" -a \
"x$ac_cv_file__proc_self_maps" = "xyes"; then
br_cv_binreloc=yes
else
br_cv_binreloc=no
fi
else
br_cv_binreloc=no
fi
])
if test "x$br_cv_binreloc" = "xyes"; then
# using both -DENABLE_BINRELOC and AC_DEFINE(ENABLE_BINRELOC) produces
# a ENABLE_BINRELOC redefined warning. Disable one.
BINRELOC_CFLAGS="-DENABLE_BINRELOC"
### AC_DEFINE(ENABLE_BINRELOC,,[Use binary relocation?])
if test "x$enable_binreloc_threads" = "xyes"; then
AC_CHECK_LIB([pthread], [pthread_getspecific])
fi
AC_CACHE_CHECK([whether binary relocation should use threads],
[br_cv_binreloc_threads],
[if test "x$enable_binreloc_threads" = "xyes"; then
if test "x$ac_cv_lib_pthread_pthread_getspecific" = "xyes"; then
br_cv_binreloc_threads=yes
else
br_cv_binreloc_threads=no
fi
else
br_cv_binreloc_threads=no
fi
])
if test "x$br_cv_binreloc_threads" = "xyes"; then
BINRELOC_LIBS="-lpthread"
AC_DEFINE(BR_PTHREAD,1,[Include pthread support for binary relocation?])
else
BINRELOC_CFLAGS="$BINRELOC_CFLAGS -DBR_PTHREADS=0"
AC_DEFINE(BR_PTHREAD,0,[Include pthread support for binary relocation?])
fi
fi
AC_SUBST(BINRELOC_CFLAGS)
AC_SUBST(BINRELOC_LIBS)
# also export detected prefixes as fallback
AC_DEFINE_UNQUOTED(KMESS_PREFIX, "$prefix", [Define the default fallback prefix when binreloc fails])
dnl =======================================================
dnl FILE: ./kmess/chat/configure.in.in
dnl =======================================================
# -- Check for libxml -----------------------------------------
XML_CONFIG=
KDE_FIND_PATH(xml2-config, XML_CONFIG, [${exec_prefix}/bin ${prefix}/bin],
[AC_MSG_ERROR([libxml2 not found, please install libxml2 and libxml2-devel first (at least version 2.4.8) and run configure again.])]
)
if test -n "$XML_CONFIG"; then
vers=`$XML_CONFIG --version 2>/dev/null | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 2004008
then
LIBXML_LIBS="`$XML_CONFIG --libs`"
LIBXML_RPATH=
for args in $LIBXML_LIBS
do
case $args in
-L*)
LIBXML_RPATH="$LIBXML_RPATH $args"
;;
esac
done
LIBXML_RPATH=`echo $LIBXML_RPATH | sed -e "s/-L/-R/g"`
LIBXML_CFLAGS="`$XML_CONFIG --cflags`"
AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have libxml2 libraries and header files])
else
AC_MSG_ERROR([You need at least libxml 2.4.8, please upgrade your libxml packages and run configure again.])
fi
fi
if test -z "$XML_CONFIG"; then
all_tests="bad"
echo ""
echo "Please fix the problems, and run ./configure again."
echo ""
exit 1
fi
AC_SUBST(LIBXML_LIBS)
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_RPATH)
# -- Check for libxslt -----------------------------------------
KDE_FIND_PATH(xslt-config, XSLT_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin /usr/bin],
[AC_MSG_ERROR([libxslt not found, please install libxslt and libxslt-devel first (at least version 1.0.7) and run configure again.])]
)
if test -n "$XSLT_CONFIG"; then
vers=`$XSLT_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 1000007
then
LIBXSLT_LIBS="`$XSLT_CONFIG --libs`"
LIBXSLT_RPATH=
for args in $LIBXSLT_LIBS
do
case $args in
-L*)
LIBXSLT_RPATH="$LIBXSLT_RPATH $args"
;;
esac
done
LIBXSLT_RPATH=`echo $LIBXSLT_RPATH | sed -e "s/-L/-R/g"`
LIBXSLT_CFLAGS="`$XSLT_CONFIG --cflags`"
AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have libxslt libraries and header files])
else
AC_MSG_ERROR([You need at least libxslt 1.0.7, please upgrade your libxslt packages and run configure again.])
fi
fi
AC_SUBST(LIBXSLT_LIBS)
AC_SUBST(LIBXSLT_CFLAGS)
AC_SUBST(LIBXSLT_RPATH)
dnl =======================================================
dnl FILE: ./kmess/network/configure.in.in
dnl =======================================================
dnl ---- Additional KMess options ----
# KPhone support is still not stable, and should be updated to something like libkcall.
# AC_ARG_ENABLE(kphone, [ --enable-kphone enable kphone. [default=no]], enable_kphone=$enableval, enable_kphone=no)
# -- Check for KPhone -----------------------------------------
if test "x$enable_kphone" = "xyes" ; then
AC_MSG_NOTICE(*** Enable KPhone support ***)
AC_DEFINE_UNQUOTED(HAS_KPHONE, 1, [enable kphone?])
if test "${KPHONEDIR:-unset}" != "unset" ; then
AC_CHECK_FILE(${KPHONEDIR}/kphone/kphone.h, HAS_KPHONE=1)
fi
if test "${HAS_KPHONE:-unset}" = "unset" ; then
AC_CHECK_FILE(${PWD}/../kphone/kphone/kphone.h, HAS_KPHONE=1)
if test "${HAS_KPHONE:-unset}" != "unset" ; then
KPHONEDIR="${PWD}/../kphone"
fi
fi
if test "${HAS_KPHONE:-unset}" = "unset" ; then
echo "Cannot find kphone, please install or set KPHONEDIR and try again."
exit 1
fi
KPHONE_G711_OBJ="$KPHONEDIR/kphone/g711.o"
KPHONE_DTMFGENERATOR_OBJ="$KPHONEDIR/kphone/dtmfgenerator.o"
KPHONE_DSPOUTRTP_OBJ="$KPHONEDIR/kphone/dspoutrtp.o"
KPHONE_DSPOUTOSS_OBJ="$KPHONEDIR/kphone/dspoutoss.o"
KPHONE_DSPOUT_OBJ="$KPHONEDIR/kphone/dspout.o"
KPHONE_DSPAUDIO_OBJ="$KPHONEDIR/kphone/dspaudio.o"
KPHONE_DSPAUDIOIN_OBJ="$KPHONEDIR/kphone/dspaudioin.o"
KPHONE_DSPAUDIOOUT_OBJ="$KPHONEDIR/kphone/dspaudioout.o"
KPHONE_CALLAUDIO_OBJ="$KPHONEDIR/kphone/callaudio.o"
KPHONE_CALLAUDIO_MOC_OBJ="$KPHONEDIR/kphone/callaudio.moc.o"
KPHONE_AUDIOBUFFER_OBJ="$KPHONEDIR/kphone/audiobuffer.o"
KPHONE_DISSIPATE2_LIB="$KPHONEDIR/dissipate2/dissipate2.a"
KPHONE_ILBC_LIB="$KPHONEDIR/ilbc/ilbc.a"
KPHONE_GSM_LIB="$KPHONEDIR/gsm/gsm.a"
AC_SUBST(KPHONE_G711_OBJ)
AC_SUBST(KPHONE_DTMFGENERATOR_OBJ)
AC_SUBST(KPHONE_DSPOUTRTP_OBJ)
AC_SUBST(KPHONE_DSPOUTOSS_OBJ)
AC_SUBST(KPHONE_DSPOUT_OBJ)
AC_SUBST(KPHONE_DSPAUDIO_OBJ)
AC_SUBST(KPHONE_DSPAUDIOIN_OBJ)
AC_SUBST(KPHONE_DSPAUDIOOUT_OBJ)
AC_SUBST(KPHONE_CALLAUDIO_OBJ)
AC_SUBST(KPHONE_CALLAUDIO_MOC_OBJ)
AC_SUBST(KPHONE_AUDIOBUFFER_OBJ)
AC_SUBST(KPHONE_DISSIPATE2_LIB)
AC_SUBST(KPHONE_ILBC_LIB)
AC_SUBST(KPHONE_GSM_LIB)
AC_SUBST(KPHONEDIR)
fi
KDE_CREATE_SUBDIRSLIST
AC_CONFIG_FILES([ Makefile ])
AC_CONFIG_FILES([ doc/Makefile ])
AC_CONFIG_FILES([ doc/en/Makefile ])
AC_CONFIG_FILES([ kmess/Makefile ])
AC_CONFIG_FILES([ kmess/actions/Makefile ])
AC_CONFIG_FILES([ kmess/chat/Makefile ])
AC_CONFIG_FILES([ kmess/contact/Makefile ])
AC_CONFIG_FILES([ kmess/crypt/Makefile ])
AC_CONFIG_FILES([ kmess/dialogs/Makefile ])
AC_CONFIG_FILES([ kmess/network/Makefile ])
AC_CONFIG_FILES([ kmess/network/applications/Makefile ])
AC_CONFIG_FILES([ kmess/network/extra/Makefile ])
AC_CONFIG_FILES([ kmess/network/upnp/Makefile ])
AC_CONFIG_FILES([ kmess/notification/Makefile ])
AC_CONFIG_FILES([ kmess/pics/Makefile ])
AC_CONFIG_FILES([ kmess/settings/Makefile ])
AC_CONFIG_FILES([ kmess/sounds/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Colourful-Enclosed/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Default/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Default-compact/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Dim/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Efficient/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Fresh/Makefile ])
AC_CONFIG_FILES([ kmess/styles/Pure/Makefile ])
AC_CONFIG_FILES([ po/Makefile ])
AC_OUTPUT
if test "x$all_tests" = "xbad"; then
# $all_tests is an internal variable in the configure script
# the configure script may also be terminated with AC_MSG_ERROR
echo ""
echo "Please fix the problems, and run ./configure again."
echo ""
exit 1
else
echo ""
echo ""
echo "Configure report:"
echo ""
echo " Install prefix: $prefix"
echo -n " Auto-away feature: "
if test -z "$LIB_XSCREENSAVER"; then
echo "no (extension not detected)"
else
echo "yes"
fi
echo -n " Debugging messages: "
if test "x$enable_debug_output" = "xyes"; then
echo "yes (KMess will be slow!)"
else
echo "no (good!)"
fi
echo -n " Binary relocatable: "
if test "x$br_cv_binreloc" = "xyes"; then
echo "yes"
else
echo "no (only supported in Linux)"
fi
echo ""
fi
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
# And if so, warn when they don't match
if test "$kde_libs_prefix" != "$given_prefix"; then
# And if kde doesn't know about the prefix yet
echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
if test $? -ne 0; then
echo ""
echo "Warning: you chose to install this package in $given_prefix,"
echo "but KDE was found in $kde_libs_prefix."
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
echo "Then restart KDE."
echo ""
fi
fi
fi
if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
echo ""
echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
echo "was not included. Therefore, GCC symbol visibility support remains disabled."
echo ""
echo "For better performance, consider including the Qt visibility supporting patch"
echo "located at:"
echo ""
echo "http://bugs.kde.org/show_bug.cgi?id=109386"
echo ""
echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
echo "everything will continue to work just fine without it."
echo ""
fi
if test "$all_tests" = "bad"; then
if test ! "$cache_file" = "/dev/null"; then
echo ""
echo "Please remove the file $cache_file after changing your setup"
echo "so that configure will find the changes next time."
echo ""
fi
else
echo ""
echo "Good - your configure finished. Start make now"
echo ""
fi
-38
View File
@@ -1,38 +0,0 @@
if test "x$all_tests" = "xbad"; then
# $all_tests is an internal variable in the configure script
# the configure script may also be terminated with AC_MSG_ERROR
echo ""
echo "Please fix the problems, and run ./configure again."
echo ""
exit 1
else
echo ""
echo ""
echo "Configure report:"
echo ""
echo " Install prefix: $prefix"
echo -n " Auto-away feature: "
if test -z "$LIB_XSCREENSAVER"; then
echo "no (extension not detected)"
else
echo "yes"
fi
echo -n " Debugging messages: "
if test "x$enable_debug_output" = "xyes"; then
echo "yes (KMess will be slow!)"
else
echo "no (good!)"
fi
echo -n " Binary relocatable: "
if test "x$br_cv_binreloc" = "xyes"; then
echo "yes"
else
echo "no (only supported in Linux)"
fi
echo ""
fi
-33
View File
@@ -1,33 +0,0 @@
#MIN_CONFIG(3.2)
# ---- KMess version ----
AM_INIT_AUTOMAKE(kmess,1.5-pre2)
# ---- KDevelop stuff ----
dnl CXXFLAGS="$NOOPT_CXXFLAGS" dnl __kdevelop[noopt]__
dnl CFLAGS="$NOOPT_CFLAGS" dnl __kdevelop[noopt]__
dnl CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS" dnl __kdevelop[exc]__
dnl KDE_NEED_FLEX dnl __kdevelop__
dnl AC_PROG_YACC dnl __kdevelop__
# ---- Additional KMess debug option ----
# The syntax is: AC_ARG_ENABLE(flagname, description, if-user-desides, if-user-ignores)
AC_ARG_ENABLE(debug-output,
[ --enable-debug-output enable debugging output. [default=no]],
[ enable_debug_output="$enableval" ],
[ enable_debug_output="no" ] )
# Checking code
if test "x$enable_debug_output" = "xyes" ; then
AC_WARN(Creating debug build. This has serious implications in the performance of KMess)
AC_DEFINE_UNQUOTED(KMESS_DEBUG, 1, [output debug?])
else
AC_DEFINE_UNQUOTED(KMESS_DEBUG, 0, [output debug?])
fi
+9
View File
@@ -0,0 +1,9 @@
ADD_SUBDIRECTORY( pics )
ADD_SUBDIRECTORY( icons )
ADD_SUBDIRECTORY( sounds )
ADD_SUBDIRECTORY( emoticons )
ADD_SUBDIRECTORY( chatstyles )
INSTALL( FILES kmess.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kmess )
INSTALL( FILES kmess.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
+16
View File
@@ -0,0 +1,16 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
add_subdirectory( Colourful-Enclosed )
add_subdirectory( Classic )
add_subdirectory( Classic-compact )
add_subdirectory( Dim )
add_subdirectory( Efficient )
add_subdirectory( Fresh )
add_subdirectory( Pure )
########### install files ###############
install( FILES examplemessage.xml DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/ )
@@ -0,0 +1,8 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
install( FILES Classic-compact.xsl Classic-compact.css DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Classic-compact/ )
@@ -1,5 +1,5 @@
/*
KMess Default-compact chat style
KMess Classic-compact chat style
Copyright (C) 2006, Diederik van der Boor
Based on the original KMess chat style.
@@ -1,6 +1,6 @@
<?xml version='1.0'?>
<!--
KMess Default-compact chat style
KMess Classic-compact chat style
Copyright (C) 2006, Diederik van der Boor
Based on the original KMess chat style.
@@ -21,7 +21,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
indent="no"
omit-xml-declaration="yes"
@@ -58,6 +58,9 @@
<!-- show time? -->
<xsl:if test="@time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
<xsl:text> </xsl:text>
</xsl:if>
+8
View File
@@ -0,0 +1,8 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
install( FILES Classic.xsl Classic.css DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Classic/ )
@@ -1,5 +1,5 @@
/*
KMess Default chat style
KMess Classic chat style
Copyright (C) 2006, Diederik van der Boor
Based on the original KMess chat style.
@@ -1,6 +1,6 @@
<?xml version='1.0'?>
<!--
KMess Default chat style
KMess Classic chat style
Copyright (C) 2006, Diederik van der Boor
Based on the original KMess chat style.
@@ -21,7 +21,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
encoding="utf-8"
indent="no"
@@ -51,6 +51,9 @@
<!-- show time? -->
<xsl:if test="@time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
<xsl:text> </xsl:text>
</xsl:if>
@@ -0,0 +1,8 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
install( FILES Colourful-Enclosed.xsl Colourful-Enclosed.css DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Colourful-Enclosed/ )
@@ -23,7 +23,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
encoding="utf-8"
indent="no"
@@ -91,7 +91,12 @@
<!-- show time? -->
<!-- time will be floated to the right, so it must be before the other text -->
<xsl:if test="@time">
<span class="time"><xsl:value-of select="@time"/></span>
<span class="time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
</span>
</xsl:if>
<!-- show name -->
+8
View File
@@ -0,0 +1,8 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
install( FILES Dim.xsl Dim.css DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Dim/ )
@@ -23,7 +23,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
encoding="utf-8"
indent="no"
@@ -90,7 +90,12 @@
<!-- show time? -->
<!-- time will be floated to the right, so it must be before the other text -->
<xsl:if test="@time">
<span class="time"><xsl:value-of select="@time"/></span>
<span class="time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
</span>
</xsl:if>
<!-- show name -->
+8
View File
@@ -0,0 +1,8 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
install( FILES Efficient.xsl Efficient.css DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Efficient/ )
@@ -23,7 +23,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
encoding="utf-8"
indent="no"
@@ -99,7 +99,12 @@
<!-- show time? -->
<!-- time will be floated to the right, so it must be before the other text -->
<xsl:if test="@time">
<span class="time"><xsl:value-of select="@time"/></span>
<span class="time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
</span>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="body/@fontBefore"/>
+8
View File
@@ -0,0 +1,8 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
install( FILES Fresh.xsl Fresh.css bg_gravatar.gif bg_gravatar_rtl.gif buddy_icon.png DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Fresh/ )
@@ -23,7 +23,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
encoding="utf-8"
indent="no"
@@ -88,8 +88,8 @@
<div class="avatar">
<div class="avatarSpace">
<xsl:choose>
<xsl:when test="from/contact/@userPhotoUrl">
<img src="{from/contact/@userPhotoUrl}" height="48" alt="" />
<xsl:when test="from/contact/displayPicture/@url">
<img src="{from/contact/displayPicture/@url}" height="48" alt="" />
</xsl:when>
<xsl:otherwise>
<img src="buddy_icon.png" height="48" width="48" alt="" />
@@ -112,7 +112,12 @@
<dd dir="{body/@dir}">
<!-- show time? -->
<xsl:if test="@time">
<span class="time"><xsl:value-of select="@time"/></span>
<span class="time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
</span>
</xsl:if>
<div class="messageContent">
@@ -171,8 +176,8 @@
<!-- use the last message, so the icon updates when the buddy changes their icon
with the commonly used "look at my icon now" message -->
<xsl:choose>
<xsl:when test="message[last()]/from/contact/@userPhotoUrl">
<img src="{message[last()]/from/contact/@userPhotoUrl}" height="48" alt="" />
<xsl:when test="message[last()]/from/contact/displayPicture/@url">
<img src="{message[last()]/from/contact/displayPicture/@url}" height="48" alt="" />
</xsl:when>
<xsl:otherwise>
<img src="buddy_icon.png" height="48" width="48" alt="" />

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

+24
View File
@@ -0,0 +1,24 @@
include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
########### install files ###############
set(kmess_pure_FILES
Pure.css
Pure.xsl
arrow0.png
arrow1.png
clock.png
contact.png
corner-bl.png
corner-br.png
corner-tl.png
corner-tr.png
important.png
myself.png
system.png
)
install( FILES ${kmess_pure_FILES} DESTINATION ${DATA_INSTALL_DIR}/kmess/styles/Pure/ )
@@ -23,7 +23,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="html"
encoding="utf-8"
indent="no"
@@ -92,7 +92,12 @@
<!-- show time? -->
<!-- time will be floated to the right, so it must be before the other text -->
<xsl:if test="@time">
<span class="time"><xsl:value-of select="@time"/></span>
<span class="time">
<xsl:if test="@type='offlineIncoming'">
<xsl:value-of select="@date"/> &#160;
</xsl:if>
<xsl:value-of select="@time"/>
</span>
</xsl:if>
<!-- show name -->

Before

Width:  |  Height:  |  Size: 978 B

After

Width:  |  Height:  |  Size: 978 B

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 215 B

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 217 B

Before

Width:  |  Height:  |  Size: 994 B

After

Width:  |  Height:  |  Size: 994 B

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 1017 B

Before

Width:  |  Height:  |  Size: 203 B

After

Width:  |  Height:  |  Size: 203 B

Before

Width:  |  Height:  |  Size: 204 B

After

Width:  |  Height:  |  Size: 204 B

Before

Width:  |  Height:  |  Size: 183 B

After

Width:  |  Height:  |  Size: 183 B

Before

Width:  |  Height:  |  Size: 183 B

After

Width:  |  Height:  |  Size: 183 B

Before

Width:  |  Height:  |  Size: 937 B

After

Width:  |  Height:  |  Size: 937 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -30,8 +30,8 @@
-->
<message type='incoming'><!-- time may be omitted -->
<from>
<contact contactId='alice@kmess.org'
userPhotoUrl=''>
<contact contactId='alice@kmess.org'>
<displayPicture url='' />
<displayName text='Alice' dir='ltr' />
</contact>
</from>
@@ -54,8 +54,8 @@
-->
<message type='incoming' time='10:30:23'>
<from>
<contact contactId='carol@kmess.org'
userPhotoUrl=''>
<contact contactId='carol@kmess.org'>
<displayPicture url='' />
<displayName text='Carol with longer name' dir='ltr' />
</contact>
</from>
@@ -73,8 +73,8 @@
<message type='incoming' time='10:30:59'>
<from>
<contact contactId='alice@kmess.org'
userPhotoUrl=''>
<contact contactId='alice@kmess.org'>
<displayPicture url='' />
<displayName text='Alice' dir='ltr' />
</contact>
</from>
@@ -100,8 +100,8 @@
<messagegroup>
<message type='outgoing' time='10:24:30'>
<from>
<contact contactId='bob@kmess.org'
userPhotoUrl=''>
<contact contactId='bob@kmess.org'>
<displayPicture url='' />
<displayName text='Bob' dir='ltr' />
</contact>
</from>
@@ -118,8 +118,8 @@
</message>
<message type='outgoing' time='10:24:40'>
<from>
<contact contactId='bob@kmess.org'
userPhotoUrl=''>
<contact contactId='bob@kmess.org'>
<displayPicture url='' />
<displayName text='Bob' dir='ltr' />
</contact>
</from>
@@ -144,8 +144,8 @@
-->
<message type='incoming' time='10:31:30'>
<from>
<contact contactId='rtl@kmess.org'
userPhotoUrl=''>
<contact contactId='rtl@kmess.org'>
<displayPicture url='' />
<displayName text='right to left name' dir='rtl' />
</contact>
</from>
@@ -162,8 +162,8 @@
</message>
<message type='incoming' time='10:31:59'>
<from>
<contact contactId='alice@kmess.org'
userPhotoUrl=''>
<contact contactId='alice@kmess.org'>
<displayPicture url='' />
<displayName text='הודעות טקסט' dir='rtl' />
</contact>
</from>
@@ -228,8 +228,8 @@
-->
<message type='outgoing' date='2006-10-08' time='15:14:00'>
<from>
<contact contactId='bob@kmess.org'
userPhotoUrl=''>
<contact contactId='bob@kmess.org'>
<displayPicture url='' />
<displayName text='Bob' dir='ltr' />
</contact>
</from>
@@ -275,8 +275,8 @@
-->
<message type='offlineIncoming' date='2006-10-08' time='15:26:52'>
<from>
<contact contactId='alice@kmess.org'
userPhotoUrl=''>
<contact contactId='alice@kmess.org'>
<displayPicture url='' />
<displayName text='Alice' dir='ltr' />
</contact>
</from>
@@ -9,7 +9,7 @@
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kmess="http://www.kmess.org/2006/ChatStyles" >
xmlns:kmess="http://www.kmess.org/xmlns/ChatStyles/v1/" >
<xsl:output method="text"
encoding="utf-8"
indent="no"
+2
View File
@@ -0,0 +1,2 @@
ADD_SUBDIRECTORY( KMess2-new )
+89
View File
@@ -0,0 +1,89 @@
SET( kmess_emoticon_FILES
emoticons.xml
smile.png
airplane.png
angel.png
angry.png
arrogant.png
asl.png
automobile.png
baringteeth.png
bat.png
beer.png
bowl.png
boy.png
brb.png
cake.png
camera.png
cat.png
cigarette.png
clock.png
cocktail.png
computer.png
confused.png
cry.png
cup.png
devil.png
dog.png
dude_hug.png
embarrassed.png
envelope.png
eyeroll.png
film.png
fingerscrossed.png
gameconsole.png
girl_hug.png
girl.png
handcuffs.png
highfive.png
huh.png
island.png
kiss.png
lightbulb.png
lightning.png
love.png
megasmile.png
messenger.png
mobilephone.png
money.png
moon.png
nerd.png
note.png
omg.png
party.png
phone.png
pizza.png
plate.png
present.png
rainbow.png
regular.png
rose.png
sad.png
sarcastic.png
secret.png
shade.png
sheep.png
sick.png
sleepy.png
snail.png
soccer.png
sshh.png
star.png
storm.png
sun.png
teeth.png
thinking.png
thumbs_down.png
thumbs_up.png
tongue.png
turtle.png
ugly.png
umbrella.png
unhappy.png
unlove.png
wilted_rose.png
wink.png
)
INSTALL( FILES ${kmess_emoticon_FILES} DESTINATION ${SHARE_INSTALL_PREFIX}/emoticons/KMess-new )

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Some files were not shown because too many files have changed in this diff Show More