# HG changeset patch # User joachim99 # Date 1144658451 0 # Node ID 8febbfb1148c6e78e17ea720f64b91f1cf878700 # Parent d7cafcda8c99bb31456041c60e457c773d65c040 KDiff3 0.9.89 diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/COPYING --- a/kdiff3/COPYING Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/COPYING Mon Apr 10 08:40:51 2006 +0000 @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/ChangeLog --- a/kdiff3/ChangeLog Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/ChangeLog Mon Apr 10 08:40:51 2006 +0000 @@ -1,3 +1,49 @@ +Version 0.9.89 - 2006/04/09 +=========================== +New features: +- Version control history auto merge plus sorting +- Auto merge regular expression +- Splitting and joining differences for merging +- Manual Diff Alignment tool +- Printing of differences +- Colorsettings for Dir-Colors +- Dir-show identical/different/A-only/B-only/C-only files with immediate effect (instead of option "List only deltas") +- Filename-edit above DiffInputWindows +- Windows-Context Menu in A/B/C-columns for dir-comparison (Windows only) +- Edit Menu: Select All (Ctrl-A) +- New commandline options: + --config filename: Select an individual config file. (Now also available for Windows and Qt-only version.) + --cs config: Change one specific setting via the command line. (For settings that were previously adjustable via GUI only.) + --confighelp: Show available config items and their current values. +- Dircomp: "Compare/Merge explicitly selected files" (Select files/dirs by clicking icons in columns A/B/C) +- User definable ignored command line options. +- Ability to swap pathnames in open dialog +- "Ignore"-button in error dialog when option not understood (Windows only) +- Quadratical scroll speedup during selection when mouse moves out of the diff input window. +Bugfixes, redesign: +- Preparations for Qt4-Port + some redesign +- GNU-Diff algorithm improved to be independent of line endings (needed for manual diff alignment) +- Avoid restoring a window where it is almost invisible (if moved almost out of the screen area) +- Go to next delta honors special "A vs. B", "A vs. C" or "B vs. C" overview when active. (Patch by Vladan Bato) +- DirectoryMergeWindow: File/Antifile and DirPattern changes will update immediately without rescan. +- Blue toolbar icons (for better visibility of disabled state) +- Bugfix: Crash when merging and selecting "Choose A/B/C for all unsolved conflicts" + and one of the solved conflicts contained no lines in chosen input. +- Fix: With --auto option, GUI stays invisible if not necessary +- Fixed odd ProgressDialog-behaviour when continuing after an error or abort. +- Directory merge: Fixed FollowFileLinks. (Didn't work when copying a file.) +- Initial position now (x=0,y=22). This solves a problem on some Macs. +- Better alignment of B and C in 3-file comparison +- Correctly updating the selection when scrolling via keys and mouse is pressed +- Horizontal scrolling in right-to-left language caused vertical lines - fixed. + + +Version 0.9.88 - 2005/25/02 +=========================== +- Fixed crash that occurred in Directory Comparison mode "Full-Analysis". +- Fix for Windows: Didn't save encoding correctly. +- Many translations updated. + Version 0.9.87 - 2005/30/01 =========================== - Unicode16 and UTF8 support (Internal data format is now QString (Unicode16). Conversion during save and load.) diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/INSTALL --- a/kdiff3/INSTALL Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/INSTALL Mon Apr 10 08:40:51 2006 +0000 @@ -2,6 +2,7 @@ ================== These are generic installation instructions. + Please read the README-file for most needed steps first. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/README --- a/kdiff3/README Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/README Mon Apr 10 08:40:51 2006 +0000 @@ -1,9 +1,9 @@ KDiff3-Readme ============= -Author: Joachim Eibl (joachim.eibl@gmx.de) -Copyright: (C) 2002-2005 by Joachim Eibl -KDiff3-Version: 0.9.87 +Author: Joachim Eibl (joachim.eibl at gmx.de) +Copyright: (C) 2002-2006 by Joachim Eibl +KDiff3-Version: 0.9.89 KDiff3 is a program that @@ -32,7 +32,7 @@ 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 + Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307 USA For details see file "COPYING". @@ -45,12 +45,12 @@ Requirements & Installation: - Version 0.9.87 provides special support for KDE3, but it can also be + Version 0.9.89 provides special support for KDE3, but it can also be built without KDE3 if the Qt-libraries are available. (I also test and use the program under Windows.) You always need - - kdiff3-0.9.87.tar.gz + - kdiff3-0.9.89.tar.gz For building the KDE3-version - KDE>=3.1 and QT>=3.1-libraries. (QT>=3.2 is recommended) @@ -62,12 +62,17 @@ - for Un*x: gcc, g++ with version >=3.2 - for Windows: VC6 / VC7.1 + On some distributions it will be necessary to install developer + packages (RPMs) that contain include files for compilation: + - xorg-x11-devel (or x11-devel) + - qt-devel + - kdelibs-devel Installation for KDE3: - Make sure your shell-variable QTDIR is correct. (echo $QTDIR). If it doesn't contain the correct path, type export QTDIR=your_path_to_qt (e.g. /usr/lib/qt3) - - cd into the directory kdiff3-0.9.87 and type + - cd into the directory kdiff3-0.9.89 and type - ./configure --prefix=/opt/kde3 (your KDE3 directory here) - (make clean) (Required if you already compiled once.) - make (Run compilation) @@ -93,6 +98,25 @@ executable. To avoid confusion, better remove the local version then. (rm -R `find $KDEHOME -name "*kdiff3*" -not -name "kdiff3*rc"`) + On Fedora-64-bit systems the following configure-line was reported to work: + ./configure --prefix=`kde-config --prefix` --enable-libsuffix=64 --with-qt-libraries=/usr/lib64/qt-3.3/lib/ + Both --enable-libsuffix=64 and -with-qt-libraries=/usr/lib64/qt-3.3/lib/ are needed; + without the first one it fails to find the KDE libraries, + and without the second one it fails to find libqt-mt + (strangely enough: libqt-mt is in /usr/lib64/qt-3.3/lib, + and "configure" tries /usr/lib64/qt-3.3/lib64) + If your qt-libraries are elsewhere please adapt the path accordingly. + + Some secondary dependencies aren't correctly discovered by configure. + If e.g the a linker error appears telling you something like + "Can't find -lacl" this probably means that you have to install + libacl-devel-*.rpm etc. + + If you run an older version of KDE and the make-process fails in the + doc- or po-directory, cd to the src-directory and run "make" there. Also run + "make install" there. This hopefully will create a working kdiff3-binary, + although without doc and language support. + Upgrading KDiff3 for KDE: If you already installed an older version or KDiff3 and you have the impression, that the new version doesn't work as described, you should try to @@ -108,7 +132,7 @@ - Make sure your shell-variable QTDIR is correct. (echo $QTDIR). If it doesn't contain the correct path, type export QTDIR=your_path_to_qt (e.g. /usr/lib/qt) - - cd into the directory kdiff3-0.9.87/src and type + - cd into the directory kdiff3-0.9.89/src and type - make -f Makefile.qt - make -f Makefile.qt install (You must have root-rights for this step.) (copies the files into /usr/local/bin and /usr/local/share/doc/kdiff3) @@ -123,13 +147,38 @@ qmake kdiff3.pro -o Makefile -Build for Mac: - - I couldn't test this, so you might have to experiment a bit. - - Start by generating a Makefile with - - qmake kdiff3.pro -o Makefile - - If you succeed, I'd like to know how, so I can document it here. +Building Kdiff3 for Mac OSX 10.3.8 (by Mark Teel) +-------------------------------------------------------- + 1) Install Qt/Mac with thread support and static libraries. + 2) cd .../kdiff3-0.9.89 + 3) Create a makefile for kdiff3 by executing: + qmake src/kdiff3.pro -o Makefile.qt + 4) Edit Makefile.qt and add the definition "KDIFF3" to the following two lines: + CFLAGS = -pipe -Wall -W -Os -DKDIFF3 -DQT_NO_DEBUG ... + CXXFLAGS = -pipe -Wall -W -Os -DKDIFF3 -DQT_NO_DEBUG ... + 5) Edit Makefile.qt and change the include path like so: + (old) INCPATH = -I/Library/qt3/mkspecs/default -Isrc ... + (new) INCPATH = -I/Library/qt3/mkspecs/macx-g++ -Isrc ... + 6) KDiff3-0.9.88-specific: Edit src/kdiff3.cpp line 290 like this: + statusBar()->setSizeGripEnabled(true); + 7) KDiff3-0.9.88-specific: (not necessary for 0.9.89 or later) + Edit /usr/include/mach/ppc/processor_info.h and replace all instances of + "unsigned int word" found in the four register unions (on lines 44, 65, + 74, 82) as follows: + (old) + unsigned int word; + (new) + #if defined(KDIFF3) + unsigned word; + #else + unsigned int word; + #endif + 8) Execute: + make -f Makefile.qt + 9) After the build completes copy kdiff3 from the kdiff3-0.9.89 directory to + /Applications - + Start from commandline: - Comparing 2 files: kdiff3 file1 file2 - Merging 2 files: kdiff3 file1 file2 -o outputfile diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/TODO --- a/kdiff3/TODO Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/TODO Mon Apr 10 08:40:51 2006 +0000 @@ -28,13 +28,10 @@ - kdiff3 does not preserve the permissions of files it overwrites during a 'save' operation. - Insbesondere Ausführbarkeit "x" und Schreibschutz "w" sollten erhalten bleiben. -- Edit Select All, Ctrl-A - Under Windows: Shortcut Ctrl-Shift-2 (for select B everywhere doesn't work.) - Paste from Clipboard doesn't work. -- Improve message about WinCVS in the Installer. - - Bug: Comment section isn't recognized as nonwhite difference if several lines are between /* and */ on one side. @@ -43,15 +40,9 @@ - ??? The gutters (kdiff3 have 2 "gutters") fonts and background-foreground colors sholud be configured other than the "general" foreground-background colors. Otherwise they are confused with the main dialog. -- Unicode and UTF8 support - Try to autodetect the line-end-style - Ignore cvs-keywords like $Revision$ -- Correct Christof crash with the Find-function. -- Windows: Check if folders can match case-insensitive. -- Close diff/merge window-menu-action. - -- Printing of the diff-windows (requires automatic line wrap) - Undo function in the merge-editor. - More viewing options for directory widget. @@ -93,3 +84,4 @@ - Allow analysis of unified directory-diff/patch-file. +- LineEdit for Save-Filename diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/Doxyfile.am --- a/kdiff3/admin/Doxyfile.am Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/Doxyfile.am Mon Apr 10 08:40:51 2006 +0000 @@ -1,70 +1,40 @@ ## 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 \ - $(mkinstalldirs) $(top_builddir)/apidocs/$(subdir) ;\ - if test ! -x $(top_builddir)/apidocs/common; then \ - if test -d $(top_srcdir)/doc/common; then \ - common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\ - else \ - common_dir=$(kde_libs_htmldir)/en/common ;\ - fi ;\ - $(LN_S) $$common_dir $(top_builddir)/apidocs/common; \ - fi ;\ - cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \ - echo "PROJECT_NAME = \"$(subdir) Library\"" >> Doxyfile; \ - echo "PROJECT_NUMBER = \"Version $(VERSION)\"" >> Doxyfile; \ - echo "INPUT = $(srcdir)" >> Doxyfile; \ - echo "IMAGE_PATH = $(top_srcdir)/doc/api" >> Doxyfile ;\ - echo "OUTPUT_DIRECTORY = $(top_builddir)/apidocs" >> Doxyfile; \ - echo "HTML_OUTPUT = $(subdir)/html" >> Doxyfile; \ - echo "HTML_HEADER = $(top_builddir)/apidocs/common/header.html" >> Doxyfile;\ - echo "HTML_FOOTER = $(top_builddir)/apidocs/common/footer.html" >> Doxyfile;\ - echo "HTML_STYLESHEET = $(top_builddir)/apidocs/common/doxygen.css" >> Doxyfile;\ - echo "LATEX_OUTPUT = $(subdir)/latex" >> Doxyfile; \ - echo "RTF_OUTPUT = $(subdir)/rtf" >> Doxyfile; \ - echo "MAN_OUTPUT = $(subdir)/man" >> Doxyfile; \ - echo "GENERATE_HTML = $(GENERATE_FLAG)" >> Doxyfile ;\ - echo "GENERATE_MAN = $(GENERATE_FLAG)" >> Doxyfile ;\ - echo "GENERATE_LATEX = $(GENERATE_FLAG)" >> Doxyfile ;\ - if test -n "$(DOXYGEN_EXCLUDE)"; then \ - patterns= ;\ - dirs= ;\ - for item in `echo "$(DOXYGEN_EXCLUDE)"`; do \ - if test -d "$(srcdir)/$$item"; then \ - dirs="$$dirs $(srcdir)/$$item/" ;\ - else \ - patterns="$$patterns $$item" ;\ - fi ;\ - done ;\ - echo "EXCLUDE_PATTERNS += $$patterns" >> Doxyfile; \ - echo "EXCLUDE += $$dirs" >> Doxyfile ;\ - fi ;\ - echo "TAGFILES = \\" >> Doxyfile; \ - tags='$(DOXYGEN_REFERENCES) qt'; for tag in $$tags; do \ - tagpath= ;\ - path="../../$$tag" ;\ - if test -f $(top_builddir)/apidocs/$$tag/$$tag.tag; then \ - tagpath="$(top_builddir)/apidocs/$$tag/$$tag.tag" ;\ - else \ - tagpath=`ls -1 $(kde_htmldir)/en/*-apidocs/$$tag/$$tag.tag 2> /dev/null` ;\ - if test -n "$$tagpath"; then \ - path=`echo $$tagpath | sed -e "s,.*/\([^/]*-apidocs\)/$$tag/$$tag.tag,../../../\1/$$tag,"` ;\ - fi ;\ - fi ;\ - if test "$$tag" = qt; then \ - echo $$tagpath=$(QTDOCDIR) >> Doxyfile ;\ - else if test -n "$$tagpath"; then \ - echo "$$tagpath=$$path/html \\" >> Doxyfile ;\ - fi ;\ - fi ;\ - done ;\ - echo "GENERATE_TAGFILE = $(top_builddir)/apidocs/$(subdir)/`basename $(subdir)`.tag" >> Doxyfile ;\ - echo "IGNORE_PREFIX = K" >> Doxyfile ;\ - echo "HAVE_DOT = $(KDE_HAVE_DOT)" >> Doxyfile ;\ - $(DOXYGEN) Doxyfile ;\ + $(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\ + else \ + $(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\ fi -apidox-am-no: + install-data-local: install-apidox @@ -83,13 +53,12 @@ $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ done; \ fi; \ - rm -f $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \ - $(LN_S) $(kde_libs_htmldir)/en/common $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \ 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; \ @@ -111,65 +80,19 @@ fi\ fi -apidox: - @if test "$(subdir)" != "."; then \ - $(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\ - else \ - $(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\ - 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; then \ - echo "Making apidox in $$subdir"; \ + 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 apidox) || exit 1; \ - fi ; fi ;\ - done; \ - for subdir in $$list; do \ - if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \ - echo "Making apidox in $$subdir"; \ - if test "$$subdir" != "."; then \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=yes apidox) || exit 1; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \ fi ; fi ;\ done; \ fi -apidox-am-toplevel-no: -apidox-am-toplevel-yes: - @echo "*** Creating API documentation main page"; \ - cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \ - echo "PROJECT_NAME = \"$(DOXYGEN_PROJECT_NAME)\"" >> Doxyfile ; \ - echo "PROJECT_NUMBER = \"$(DOXYGEN_PROJECT_NUMBER)\"" >> Doxyfile ; \ - echo "INPUT = $(top_srcdir)" >> Doxyfile ; \ - echo "OUTPUT_DIRECTORY = $(top_builddir)/apidocs" >> Doxyfile ; \ - echo "FILE_PATTERNS = *.dox" >> Doxyfile ; \ - echo "RECURSIVE = NO" >> Doxyfile ; \ - echo "SOURCE_BROWSER = NO" >> Doxyfile ; \ - echo "ALPHABETICAL_INDEX = NO" >> Doxyfile ; \ - echo "HTML_OUTPUT = ." >> Doxyfile ; \ - echo "HTML_HEADER = apidocs/common/mainheader.html" >> Doxyfile ; \ - echo "HTML_FOOTER = apidocs/common/mainfooter.html" >> Doxyfile ; \ - echo "HTML_STYLESHEET = apidocs/common/doxygen.css" >> Doxyfile ; \ - echo "GENERATE_LATEX = NO" >> Doxyfile ; \ - echo "GENERATE_RTF = NO" >> Doxyfile ; \ - echo "GENERATE_MAN = NO" >> Doxyfile ; \ - echo "GENERATE_XML = NO" >> Doxyfile ; \ - echo "GENERATE_AUTOGEN_DEF = NO" >> Doxyfile ; \ - echo "ENABLE_PREPROCESSING = NO" >> Doxyfile ; \ - echo "CLASS_DIAGRAMS = NO" >> Doxyfile ; \ - echo "HAVE_DOT = NO" >> Doxyfile ; \ - echo "GENERATE_HTML = YES" >> Doxyfile ;\ - $(mkinstalldirs) $(top_builddir)/apidocs ; \ - rm -f $(top_builddir)/apidocs/common ; \ - if test -d $(top_srcdir)/doc/common; then \ - common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\ - else \ - common_dir=$(kde_libs_htmldir)/en/common ;\ - fi ;\ - $(LN_S) $$common_dir $(top_builddir)/apidocs/common ;\ - doxygen Doxyfile; \ - rm -f Doxyfile + .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 diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/Doxyfile.global --- a/kdiff3/admin/Doxyfile.global Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/Doxyfile.global Mon Apr 10 08:40:51 2006 +0000 @@ -1,386 +1,49 @@ -# Doxyfile 1.3.5 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = ../apidocs/ - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, -# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en -# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, -# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - USE_WINDOWS_ENCODING = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is used -# as the annotated text. Otherwise, the brief description is used as-is. If left -# blank, the following values are used ("$name" is automatically replaced with the -# name of the entity): "The $name class" "The $name widget" "The $name file" -# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" - ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of -# the base classes will not be shown. - INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. It is allowed to use relative paths in the argument list. - STRIP_FROM_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - JAVADOC_AUTOBRIEF = YES - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - INHERIT_DOCS = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - DISTRIBUTE_GROUP_DOC = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = obsolete=@deprecated - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - OPTIMIZE_OUTPUT_JAVA = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - EXTRACT_LOCAL_CLASSES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# users are advised to set this option to NO. - CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - SHOW_USED_FILES = YES - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - +WARNINGS = NO WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - WARN_IF_DOC_ERROR = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. - WARN_FORMAT = - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - INPUT = - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp -# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc - FILE_PATTERNS = *.h \ *.cpp \ *.cc \ @@ -390,723 +53,140 @@ *.cxx \ *.h++ \ *.hh - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories -# that are symbolic links (a Unix filesystem feature) are excluded from the input. - EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. - EXCLUDE_PATTERNS = *.moc.* \ moc* \ *.all_cpp.* \ *unload.* \ */test/* \ - */tests/* + */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 -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. - -INPUT_FILTER = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 3 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = K - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = NO - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = ../apidocs/common/header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = ../apidocs/common/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = ../apidocs/common/doxygen.css - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. +### KDE Settings +ALIASES = \ + "intern=\parInternal use only." \ + "reimp=\parReimplemented from superclass." \ + "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 -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. -GENERATE_HTMLHELP = NO +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = YES - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .kde3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = NO - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_PREDEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. - -PREDEFINED = QT_VERSION=320 \ - __cplusplus - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse the -# parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::addtions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = NO - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or -# super classes. Setting the tag to NO turns the diagrams off. Note that this -# option is superseded by the HAVE_DOT option below. This is only a fallback. It is -# recommended to install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = NO - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found on the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 800 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes that -# lay further from the root node will be omitted. Note that setting this option to -# 1 or 2 may greatly reduce the computation time needed for large code bases. Also -# note that a graph may be further truncated if the graph's image dimensions are -# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). -# If 0 is used for the depth value (the default), the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/Makefile.common --- a/kdiff3/admin/Makefile.common Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/Makefile.common Mon Apr 10 08:40:51 2006 +0000 @@ -6,7 +6,7 @@ SHELL=/bin/sh -cvs dist cvs-clean configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4: +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 \ @@ -30,6 +30,8 @@ configure.in: configure.files subdirs configure.files: subdirs +svn: cvs + .SILENT: -.PHONY: cvs dist cvs-clean package-merge package-messages +.PHONY: svn cvs dist package-merge package-messages diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/acinclude.m4.in --- a/kdiff3/admin/acinclude.m4.in Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/acinclude.m4.in Mon Apr 10 08:40:51 2006 +0000 @@ -16,8 +16,8 @@ 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., 59 Temple Place - Suite 330, -dnl Boston, MA 02111-1307, USA. +dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +dnl Boston, MA 02110-1301, USA. dnl IMPORTANT NOTE: dnl Please do not modify this file unless you expect your modifications to be @@ -96,7 +96,7 @@ # Don't add to $LIBS permanently. ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" -AC_TRY_LINK(, [${x_direct_test_function}()], +AC_TRY_LINK([#include ], [${x_direct_test_function}(1)], [LIBS="$ac_save_LIBS" # We can link X programs with no special library path. ac_x_libraries=], @@ -173,8 +173,14 @@ done ]) -dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, -dnl if-not-found, test-parameter) +dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs, +dnl if-not-found, test-parameter, prepend-path) +dnl +dnl Look for program-name in list-of-dirs+$PATH. +dnl If prepend-path is set, look in $PATH+list-of-dirs instead. +dnl If found, $variable-name is set. If not, if-not-found is evaluated. +dnl test-parameter: if set, the program is executed with this arg, +dnl and only a successful exit code is required. AC_DEFUN([KDE_FIND_PATH], [ AC_MSG_CHECKING([for $1]) @@ -186,12 +192,17 @@ AC_CACHE_VAL(kde_cv_path_$kde_cache, [ kde_cv_path="NONE" - dirs="$3" kde_save_IFS=$IFS IFS=':' + dirs="" for dir in $PATH; do dirs="$dirs $dir" - done + done + if test -z "$6"; then dnl Append dirs in PATH (default) + dirs="$3 $dirs" + else dnl Prepend dirs in PATH (if 6th arg is set) + dirs="$dirs $3" + fi IFS=$kde_save_IFS for dir in $dirs; do @@ -533,41 +544,60 @@ ]) ]) +AC_DEFUN([KDE_SET_DEFAULT_BINDIRS], +[ + kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" + test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" + if test -n "$KDEDIRS"; then + kde_save_IFS=$IFS + IFS=: + for dir in $KDEDIRS; do + kde_default_bindirs="$dir/bin $kde_default_bindirs " + done + IFS=$kde_save_IFS + fi +]) + AC_DEFUN([KDE_SUBST_PROGRAMS], [ AC_ARG_WITH(arts, - AC_HELP_STRING([--without-arts],[build without aRts [default=yes]]), + AC_HELP_STRING([--without-arts],[build without aRts [default=no]]), [build_arts=$withval], [build_arts=yes] ) - AM_CONDITIONAL(include_ARTS, test "$build_arts" != "no") - - kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" - test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" - if test -n "$KDEDIRS"; then - kde_save_IFS=$IFS - IFS=: - for dir in $KDEDIRS; do - kde_default_bindirs="$dir/bin $kde_default_bindirs " - done - IFS=$kde_save_IFS - fi - kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs" + AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no") + if test "$build_arts" = "no"; then + AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts]) + fi + + KDE_SET_DEFAULT_BINDIRS + kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs" KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) - if test "$build_arts" != "no"; then + if test "$build_arts" '!=' "no"; then KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) fi - KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) kde32ornewer=1 + kde33ornewer=1 if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then kde32ornewer= + kde33ornewer= else - if test "$kde_qtver" = "3" && test "$kde_qtsubver" -le 1; then + if test "$kde_qtver" = "3"; then + if test "$kde_qtsubver" -le 1; then kde32ornewer= + fi + if test "$kde_qtsubver" -le 2; then + kde33ornewer= + fi + if test "$KDECONFIG" != "compiled"; then + if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then + kde33ornewer= + fi + fi fi fi @@ -575,9 +605,13 @@ KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)]) KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)]) fi - KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [XMLLINT=""]) - - if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then + if test -n "$kde33ornewer"; then + KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)]) + AC_SUBST(MAKEKDEWIDGETS) + fi + KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""]) + + if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) @@ -601,26 +635,9 @@ AC_SUBST(DCOP_DEPENDENCIES) AC_SUBST(MCOPIDL) AC_SUBST(ARTSCCONFIG) - AC_SUBST(KDECONFIG) AC_SUBST(MEINPROC) AC_SUBST(KDE_XSL_STYLESHEET) AC_SUBST(XMLLINT) - - if test -x "$KDECONFIG"; then # it can be "compiled" - kde_libs_prefix=`$KDECONFIG --prefix` - if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then - AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. - This means it has been moved since you installed it. - This won't work. Please recompile kdelibs for the new prefix. - ]) - fi - kde_libs_htmldir=`$KDECONFIG --install html --expandvars` - else - kde_libs_prefix='$(prefix)' - kde_libs_htmldir='$(kde_htmldir)' - fi - AC_SUBST(kde_libs_prefix) - AC_SUBST(kde_libs_htmldir) ])dnl AC_DEFUN([AC_CREATE_KFSSTND], @@ -755,9 +772,15 @@ # more headers that need to be explicitly included on darwin AC_CHECK_HEADERS(sys/types.h stdint.h) + # sys/bitypes.h is needed for uint32_t and friends on Tru64 + AC_CHECK_HEADERS(sys/bitypes.h) + # darwin requires a poll emulation library AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") + # for some image handling on Mac OS X + AC_CHECK_HEADERS(Carbon/Carbon.h) + # CoreAudio framework AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) @@ -785,6 +808,7 @@ KDE_CHECK_TYPES KDE_CHECK_LIBDL KDE_CHECK_STRLCPY + KDE_CHECK_PIE_SUPPORT # darwin needs this to initialize the environment AC_CHECK_HEADERS(crt_externs.h) @@ -869,6 +893,9 @@ kde_use_qt_mac=no ) +# used to disable x11-specific stuff on special platforms +AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no") + if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then AC_MSG_CHECKING(for X) @@ -964,7 +991,7 @@ X_LDFLAGS="-L$x_libraries" fi all_includes="$X_INCLUDES" -all_libraries="$X_LDFLAGS" +all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS" # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS="$LDFLAGS" @@ -1126,9 +1153,9 @@ AC_DEFUN([KDE_USE_QT], [ if test -z "$1"; then - # Current default Qt version: 3.2 + # Current default Qt version: 3.3 kde_qtver=3 - kde_qtsubver=2 + kde_qtsubver=3 else kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'` # following is the check if subversion isnt found in passed argument @@ -1152,12 +1179,16 @@ if test "$kde_qtver" = "3"; then if test $kde_qtsubver -gt 0; then if test $kde_qtsubver -gt 1; then - kde_qt_minversion=">= Qt 3.2" + if test $kde_qtsubver -gt 2; then + kde_qt_minversion=">= Qt 3.3 and < 4.0" + else + kde_qt_minversion=">= Qt 3.2 and < 4.0" + fi else - kde_qt_minversion=">= Qt 3.1 (20021021)" + kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0" fi else - kde_qt_minversion=">= Qt 3.0" + kde_qt_minversion=">= Qt 3.0 and < 4.0" fi fi if test "$kde_qtver" = "1"; then @@ -1170,11 +1201,11 @@ if test -z "$3"; then if test $kde_qtver = 3; then if test $kde_qtsubver -gt 0; then - kde_qt_verstring="QT_VERSION >= 0x03@VER@00" + kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000" qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'` kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"` else - kde_qt_verstring="QT_VERSION >= 300" + kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000" fi fi if test $kde_qtver = 2; then @@ -1191,6 +1222,9 @@ kde_qt_verstring="$3" fi +if test $kde_qtver = 4; then + kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4" +fi if test $kde_qtver = 3; then kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3" fi @@ -1322,22 +1356,17 @@ fi fi -if test -z "$LIBQT"; then dnl ------------------------------------------------------------ dnl If we got --enable-embedded then adjust the Qt library name. dnl ------------------------------------------------------------ - if test "x$kde_use_qt_emb" = "xyes"; then - qtlib="qte" - else - qtlib="qt" - fi - - kde_int_qt="-l$qtlib" +if test "x$kde_use_qt_emb" = "xyes"; then + qtlib="qte" else - kde_int_qt="$LIBQT" - kde_lib_qt_set=yes + qtlib="qt" fi +kde_int_qt="-l$qtlib" + if test -z "$LIBQPE"; then dnl ------------------------------------------------------------ dnl If we got --enable-palmtop then add -lqpe to the link line @@ -1358,13 +1387,8 @@ dnl ------------------------------------------------------------------------ if test "x$kde_use_qt_mt" = "xyes"; then - if test -z "$LIBQT"; then - LIBQT="-l$qtlib-mt" - kde_int_qt="-l$qtlib-mt" - else - LIBQT="$qtlib-mt" - kde_int_qt="$qtlib-mt" - fi + LIBQT="-l$qtlib-mt" + kde_int_qt="-l$qtlib-mt" LIBQT_GLOB="lib$qtlib-mt.*" USING_QT_MT="using -mt" else @@ -1542,7 +1566,7 @@ QT_LDFLAGS="" else QT_LDFLAGS="-L$qt_libraries" - all_libraries="$all_libraries $QT_LDFLAGS" + all_libraries="$QT_LDFLAGS $all_libraries" fi test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" @@ -1619,7 +1643,15 @@ AC_MSG_RESULT([$kde_cv_uic_plugins]) if test "$kde_cv_uic_plugins" != yes; then - AC_MSG_ERROR([you need to install kdelibs first.]) + AC_MSG_ERROR([ +you need to install kdelibs first. + +If you did install kdelibs, then the Qt version that is picked up by +this configure is not the same version you used to compile kdelibs. +The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the +_same Qt version_, compiled with the _same compiler_ and the same Qt +configuration settings. +]) fi fi ]) @@ -1672,6 +1704,29 @@ AC_SUBST(KDE_NO_UNDEFINED) ]) +dnl Check if the linker supports --enable-new-dtags and --as-needed +AC_DEFUN([KDE_CHECK_NEW_LDFLAGS], +[ + AC_ARG_ENABLE(new_ldflags, + AC_HELP_STRING([--enable-new-ldflags], + [enable the new linker flags]), + kde_use_new_ldflags=$enableval, + kde_use_new_ldflags=no) + + LDFLAGS_AS_NEEDED="" + LDFLAGS_NEW_DTAGS="" + if test "x$kde_use_new_ldflags" = "xyes"; then + LDFLAGS_NEW_DTAGS="" + KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags], + [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],) + + KDE_CHECK_COMPILER_FLAG([Wl,--as-needed], + [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],) + fi + AC_SUBST(LDFLAGS_AS_NEEDED) + AC_SUBST(LDFLAGS_NEW_DTAGS) +]) + AC_DEFUN([KDE_CHECK_NMCHECK], [ AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), @@ -1738,7 +1793,7 @@ if test -z "$1"; then -kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" +kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" kde_incdirs="$ac_kde_includes $kde_incdirs" AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) @@ -1750,7 +1805,7 @@ So, check this please and use another prefix!]) fi -kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" +kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) @@ -1784,7 +1839,7 @@ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" fi -else dnl test -z $1 +else dnl test -z $1, e.g. from kdelibs ac_cv_have_kde="have_kde=no" @@ -1832,7 +1887,7 @@ KDE_LDFLAGS="-L$kde_libraries" if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then - all_libraries="$all_libraries $KDE_LDFLAGS" + all_libraries="$KDE_LDFLAGS $all_libraries" fi AC_SUBST(KDE_LDFLAGS) @@ -2008,9 +2063,15 @@ AC_REQUIRE([K_PATH_X]) if test $kde_qtver = 3; then + case $host in + *cygwin*) lib_kded="-lkdeinit_kded" ;; + *) lib_kded="" ;; + esac + AC_SUBST(LIB_KDED, $lib_kded) AC_SUBST(LIB_KDECORE, "-lkdecore") AC_SUBST(LIB_KDEUI, "-lkdeui") AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KJS, "-lkjs") AC_SUBST(LIB_SMB, "-lsmb") AC_SUBST(LIB_KAB, "-lkab") AC_SUBST(LIB_KABC, "-lkabc") @@ -2020,6 +2081,10 @@ AC_SUBST(LIB_KDEPRINT, "-lkdeprint") AC_SUBST(LIB_KUTILS, "-lkutils") AC_SUBST(LIB_KDEPIM, "-lkdepim") + AC_SUBST(LIB_KIMPROXY, "-lkimproxy") + AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff") + AC_SUBST(LIB_KDNSSD, "-lkdnssd") + AC_SUBST(LIB_KUNITTEST, "-lkunittest") # these are for backward compatibility AC_SUBST(LIB_KSYCOCA, "-lkio") AC_SUBST(LIB_KFILE, "-lkio") @@ -2273,6 +2338,19 @@ [MKSTEMPS]) ]) +AC_DEFUN([AC_CHECK_MKSTEMP], +[ + KDE_CHECK_FUNC_EXT(mkstemp, [ +#include +#include +], + [ +mkstemp("/tmp/aaaXXXXXX"); +], + [int mkstemp(char *)], + [MKSTEMP]) +]) + AC_DEFUN([AC_CHECK_MKDTEMP], [ KDE_CHECK_FUNC_EXT(mkdtemp, [ @@ -2312,23 +2390,16 @@ LIBS=$kde_libs_safe AC_SUBST(LIBRESOLV) - AC_MSG_CHECKING([if res_init is available]) - AC_TRY_COMPILE( + KDE_CHECK_FUNC_EXT(res_init, [ #include #include #include #include ], - [ - res_init(); - ], - [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) - ], - [ AC_MSG_RESULT(no) ] - ) + [res_init()], + [int res_init(void)], + [RES_INIT]) ]) AC_DEFUN([AC_CHECK_STRLCPY], @@ -2356,6 +2427,38 @@ [STRLCAT]) ]) +AC_DEFUN([AC_CHECK_RES_QUERY], +[ + KDE_CHECK_FUNC_EXT(res_query, [ +#include +#include +#include +#include +#include +], +[ +res_query(NULL, 0, 0, NULL, 0); +], + [int res_query(const char *, int, int, unsigned char *, int)], + [RES_QUERY]) +]) + +AC_DEFUN([AC_CHECK_DN_SKIPNAME], +[ + KDE_CHECK_FUNC_EXT(dn_skipname, [ +#include +#include +#include +#include +], +[ +dn_skipname (NULL, NULL); +], + [int dn_skipname (unsigned char *, unsigned char *)], + [DN_SKIPNAME]) +]) + + AC_DEFUN([AC_FIND_GIF], [AC_MSG_CHECKING([for giflib]) AC_CACHE_VAL(ac_cv_lib_gif, @@ -2400,22 +2503,16 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" AC_TRY_LINK( -[/* Override any gcc2 internal prototype to avoid an error. */ -struct jpeg_decompress_struct; -typedef struct jpeg_decompress_struct * j_decompress_ptr; -typedef int size_t; +[ #ifdef __cplusplus extern "C" { #endif - void jpeg_CreateDecompress(j_decompress_ptr cinfo, - int version, size_t structsize); +void jpeg_CreateDecompress(); #ifdef __cplusplus } #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ ], - [jpeg_CreateDecompress(0L, 0, 0);], +[jpeg_CreateDecompress();], eval "ac_cv_lib_jpeg_$1=-ljpeg$2", eval "ac_cv_lib_jpeg_$1=no") LIBS="$ac_save_LIBS" @@ -2622,6 +2719,73 @@ AC_SUBST(LIBTIFF) ]) +AC_DEFUN([KDE_FIND_LIBEXR], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_CACHE_VAL(ac_cv_libexr, +[ + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + AC_MSG_CHECKING([for OpenEXR libraries]) + + if test "$PKG_CONFIG" = "no" ; then + AC_MSG_RESULT(no) + 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 + if !(`$PKG_CONFIG --exists OpenEXR`) ; then + AC_MSG_RESULT(no) + EXRSTATUS=no + else + if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then + AC_MSG_RESULT(no) + EXRSTATUS=old + else + kde_save_LIBS="$LIBS" + LIBS="$LIBS $all_libraries $USER_LDFLAGS $LIBZ `pkg-config --libs OpenEXR`" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + kde_save_CXXFLAGS="$CXXFLAGS" + EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR` + CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS" + + AC_TRY_LINK(dnl + [ + #include + ], + [ + using namespace Imf; + RgbaInputFile file ("dummy"); + return 0; + ], + eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'", + eval "ac_cv_libexr=no" + ) + LIBS="$kde_save_LIBS" + CXXFLAGS="$kde_save_CXXFLAGS" + AC_LANG_RESTORE + ])dnl + if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR]) + LIB_EXR="$ac_cv_libexr" + AC_MSG_RESULT($ac_cv_libexr) + else + AC_MSG_RESULT(no) + LIB_EXR="" + fi + fi + fi + fi + AC_SUBST(LIB_EXR) + AC_SUBST(EXR_FLAGS) +]) + + AC_DEFUN([AC_FIND_PNG], [ @@ -2761,6 +2925,32 @@ fi ]) +AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CC supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_C + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], []) + CFLAGS="$save_CFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + + dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) dnl it's all white-space separated @@ -2784,6 +2974,47 @@ fi ]) + +AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER], +[ + AC_MSG_CHECKING([whether $CC is blacklisted]) + + dnl In theory we have tu run this test against $CC and $CXX + dnl in C and in C++ mode, because its perfectly legal for + dnl the user to mix compiler versions, since C has a defined + dnl ABI. + dnl + dnl For now, we assume the user is not on crack. + + AC_TRY_COMPILE([ +#ifdef __GNUC__ +#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0 +choke me +#endif +#endif +], , + kde_bad_compiler=no, + kde_bad_compiler=yes +) + + AC_MSG_RESULT($kde_bad_compiler) + +if test "$kde_bad_compiler" = "yes"; then + AC_MSG_ERROR([ + +This particular compiler version is blacklisted because it +is known to miscompile KDE. Please use a newer version, or +if that is not yet available, choose an older version. + +Please do not report a bug or bother us reporting this +configure error. We know about it, and we introduced +it by intention to avoid untraceable bugs or crashes in KDE. + +]) +fi + +]) + dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given AC_DEFUN([AC_VALIDIFY_CXXFLAGS], [dnl @@ -2837,7 +3068,7 @@ fi ], [kde_use_strict_options="no"]) - AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]), + AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]), [ if test $enableval = "no"; then kde_use_warnings="no" @@ -2893,6 +3124,8 @@ AC_PROG_CXX + KDE_CHECK_FOR_BAD_COMPILER + if test "$GXX" = "yes" || test "$CXX" = "KCC"; then if test "$kde_use_debug_code" != "no"; then if test "$CXX" = "KCC"; then @@ -2932,43 +3165,71 @@ if test "$kde_use_warnings" = "yes"; then if test "$GCC" = "yes"; then + CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS" case $host in *-*-linux-gnu) - CFLAGS="-ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS" - KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"; CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) + KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"]) + KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) ;; esac - CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) - KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) + dnl ### FIXME: revert for KDE 4 + KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"]) fi fi if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" fi - + + AC_ARG_ENABLE(pch, + AC_HELP_STRING([--enable-pch], + [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]), + [ kde_use_pch=$enableval ],[ kde_use_pch=no ]) + + HAVE_GCC_VISIBILITY=0 + AC_SUBST([HAVE_GCC_VISIBILITY]) + if test "$GXX" = "yes"; then KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"]) KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) + ENABLE_PERMISSIVE_FLAG="-fpermissive" + + if test "$kde_use_pch" = "yes"; then + AC_MSG_CHECKING(whether gcc supports precompiling c header files) + echo >conftest.h + if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then + kde_gcc_supports_pch=yes + AC_MSG_RESULT(yes) + else + kde_gcc_supports_pch=no + AC_MSG_RESULT(no) + fi + if test "$kde_gcc_supports_pch" = "yes"; then + AC_MSG_CHECKING(whether gcc supports precompiling c++ header files) + if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then + kde_gcc_supports_pch=yes + AC_MSG_RESULT(yes) + else + kde_gcc_supports_pch=no + AC_MSG_RESULT(no) + fi + fi + rm -f conftest.h conftest.h.gch + fi fi + AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes") if test "$CXX" = "KCC"; then dnl unfortunately we currently cannot disable exception support in KCC dnl because doing so is binary incompatible and Qt by default links with exceptions :-( dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) - AC_ARG_ENABLE(pch, - AC_HELP_STRING([--enable-pch], - [enables precompiled header support (currently only KCC) [default=no]]), - [ - kde_use_pch=$enableval - ],[kde_use_pch=no]) - if test "$kde_use_pch" = "yes"; then dnl TODO: support --pch-dir! KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) @@ -3023,9 +3284,27 @@ fi KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0]) + AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [ + if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then + ac_coverage_compiler="-fprofile-arcs -ftest-coverage" + ac_coverage_linker="-lgcc" + elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then + ac_coverage_compiler="-fprofile-arcs -ftest-coverage" + ac_coverage_linker="" + else + AC_MSG_ERROR([coverage with your compiler is not supported]) + fi + CFLAGS="$CFLAGS $ac_coverage_compiler" + CXXFLAGS="$CXXFLAGS $ac_coverage_compiler" + LDFLAGS="$LDFLAGS $ac_coverage_linker" + ]) + AC_SUBST(NOOPT_CXXFLAGS) AC_SUBST(NOOPT_CFLAGS) - + AC_SUBST(ENABLE_PERMISSIVE_FLAG) + + KDE_CHECK_NEW_LDFLAGS KDE_CHECK_FINAL KDE_CHECK_CLOSURE KDE_CHECK_NMCHECK @@ -3033,6 +3312,114 @@ ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) ]) +AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG], + [ + AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + safe_CXXFLAGS=$CXXFLAGS + safe_LDFLAGS=$LDFLAGS + CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0" + LDFLAGS="$LDFLAGS -shared -fPIC" + + AC_TRY_LINK( + [ + /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */ + #include + int some_function( void ) __attribute__ ((visibility("default"))); + int some_function( void ) + { + std::string s("blafasel"); + return 0; + } + ], [/* elvis is alive */], + kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes) + + CXXFLAGS=$safe_CXXFLAGS + LDFLAGS=$safe_LDFLAGS + AC_LANG_RESTORE + ] + ) + + if test x$kde_cv_val_gcc_visibility_bug = xno; then + CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + fi + ] +) + +AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY], +[ + AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY]) + + AC_MSG_CHECKING([grepping for visibility push/pop in headers]) + + if test "x$GXX" = "xyes"; then + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_EGREP_CPP( + [GCC visibility push], + [ #include + ], + [ + AC_MSG_RESULT(yes) + kde_stdc_visibility_patched=yes ], + [ + AC_MSG_RESULT(no) + AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for + visibility support. Disabling -fvisibility=hidden]) + + kde_stdc_visibility_patched=no ]) + + AC_LANG_RESTORE + + kde_have_gcc_visibility=no + KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, + [ + kde_have_gcc_visibility=yes + dnl the whole toolchain is just a mess, gcc is just too buggy + dnl to handle STL with visibility enabled. Lets reconsider + dnl when gcc 4.2 is out or when things get fixed in the compiler. + dnl Contact mueller@kde.org for details. + AC_ARG_ENABLE(gcc-hidden-visibility, + AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]), + [kde_have_gcc_visibility=$enableval], + [kde_have_gcc_visibility=no]) + + AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + safe_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $all_includes" + + AC_TRY_COMPILE( + [ +#include +#if Q_EXPORT - 0 != 0 +/* if this compiles, then Q_EXPORT is undefined */ +/* if Q_EXPORT is nonempty, this will break compilation */ +#endif + ], [/* elvis is alive */], + kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes) + + CXXFLAGS=$safe_CXXFLAGS + AC_LANG_RESTORE + ] + ) + + if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + KDE_CHECK_VISIBILITY_GCC_BUG + HAVE_GCC_VISIBILITY=1 + AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported]) + fi + ]) + fi +]) + AC_DEFUN([KDE_ADD_DEPENDENCIES], [ [A]M_DEPENDENCIES(CC) @@ -3060,13 +3447,20 @@ KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" AC_SUBST(KDE_PLUGIN) +# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs. +KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)" +AC_SUBST(KDE_CHECK_PLUGIN) + # we patch configure quite some so we better keep that consistent for incremental runs AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure') ]) AC_DEFUN([KDE_CHECK_LIB64], [ - kdelibsuff=no + kdelibsuff="$kde_libs_suffix" + if test -z "$kdelibsuff"; then + kdelibsuff=no + fi AC_ARG_ENABLE(libsuffix, AC_HELP_STRING([--enable-libsuffix], [/lib directory suffix (64,32,none[=default])]), @@ -3084,7 +3478,7 @@ libdir="$libdir${kdelibsuff}" AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms fi - AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories) + AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories) AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) fi ]) @@ -3096,6 +3490,7 @@ AC_CHECK_SIZEOF(char *, 4)dnl ])dnl +dnl Not used - kept for compat only? AC_DEFUN([KDE_DO_IT_ALL], [ AC_CANONICAL_SYSTEM @@ -3118,7 +3513,11 @@ if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then - KDE_RPATH="-R \$(kde_libraries)" + KDE_RPATH="-R \$(libdir)" + + if test "$kde_libraries" != "$libdir"; then + KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)" + fi if test -n "$qt_libraries"; then KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" @@ -3139,40 +3538,56 @@ ]) dnl Check for the type of the third argument of getsockname -AC_DEFUN([AC_CHECK_SOCKLEN_T], [ - AC_MSG_CHECKING(for socklen_t) - AC_CACHE_VAL(ac_cv_socklen_t, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([ -#include -#include - ],[ -socklen_t a=0; -getsockname(0,(struct sockaddr*)0, &a); +AC_DEFUN([AC_CHECK_SOCKLEN_T], +[ + AC_MSG_CHECKING(for socklen_t) + AC_CACHE_VAL(kde_cv_socklen_t, + [ + AC_LANG_PUSH(C++) + kde_cv_socklen_t=no + AC_TRY_COMPILE([ + #include + #include ], - ac_cv_socklen_t=socklen_t, - AC_TRY_COMPILE([ -#include -#include - ],[ -int a=0; -getsockname(0,(struct sockaddr*)0, &a); - ], - ac_cv_socklen_t=int, - ac_cv_socklen_t=size_t - ) - ) - AC_LANG_RESTORE - ]) - - AC_MSG_RESULT($ac_cv_socklen_t) - if test "$ac_cv_socklen_t" != "socklen_t"; then - AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t, - [Define the real type of socklen_t]) - fi - AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define]) - + [ + socklen_t len; + getpeername(0,0,&len); + ], + [ + kde_cv_socklen_t=yes + kde_cv_socklen_t_equiv=socklen_t + ]) + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($kde_cv_socklen_t) + if test $kde_cv_socklen_t = no; then + AC_MSG_CHECKING([for socklen_t equivalent for socket functions]) + AC_CACHE_VAL(kde_cv_socklen_t_equiv, + [ + kde_cv_socklen_t_equiv=int + AC_LANG_PUSH(C++) + for t in int size_t unsigned long "unsigned long"; do + AC_TRY_COMPILE([ + #include + #include + ], + [ + $t len; + getpeername(0,0,&len); + ], + [ + kde_cv_socklen_t_equiv="$t" + break + ]) + done + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($kde_cv_socklen_t_equiv) + fi + AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined]) + AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)]) ]) dnl This is a merge of some macros out of the gettext aclocal.m4 @@ -3464,7 +3879,8 @@ ac_save_ldflags="$LDFLAGS" ac_save_cflags="$CFLAGS" ac_save_libs="$LIBS" - LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries" + LIBS="-lX11 -lXext $LIBSOCKET" CFLAGS="$CFLAGS $X_INCLUDES" test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" AC_TRY_LINK([ @@ -3475,12 +3891,7 @@ int foo_test_dpms() { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], ac_cv_have_dpms="yes", [ - LDFLAGS="$ac_save_ldflags" - CFLAGS="$ac_save_cflags" - LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" - LIBS="$LIBS -lXdpms" - CFLAGS="$CFLAGS $X_INCLUDES" - test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + LIBS="-lXdpms $LIBS" AC_TRY_LINK([ #include #include @@ -3529,12 +3940,14 @@ [Define if you have the DPMSCapable prototype in ]) AC_CHECK_DECL(DPMSCapable, AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, - [#include ]) + [#include + #include ]) AH_TEMPLATE(HAVE_DPMSINFO_PROTO, [Define if you have the DPMSInfo prototype in ]) AC_CHECK_DECL(DPMSInfo, AC_DEFINE(HAVE_DPMSINFO_PROTO),, - [#include ]) + [#include + #include ]) CFLAGS="$ac_save_cflags" AC_SUBST(DPMSINC) AC_SUBST(DPMSLIB) @@ -3560,31 +3973,23 @@ [ AC_LANG_SAVE AC_LANG_CPLUSPLUS - ac_save_ldflags="$LDFLAGS" - ac_save_cxxflags="$CXXFLAGS" - LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" - test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" - LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + ac_save_ldflags=$LDFLAGS + ac_save_cxxflags=$CXXFLAGS + ac_save_libs=$LIBS + LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries" + LIBS="$LIBS -lGL -lGLU" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11" + LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET" CXXFLAGS="$CFLAGS $X_INCLUDES" test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" AC_TRY_LINK([#include #include ], [], - ac_cv_have_gl="mesa", ac_cv_have_gl="no") - if test "x$ac_cv_have_gl" = "xno"; then - LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL" - test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" - LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" - CXXFLAGS="$ac_save_cflags $X_INCLUDES" - test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" - AC_TRY_LINK([#include -#include -], [], - ac_cv_have_gl="yes", ac_cv_have_gl="no") - fi + ac_cv_have_gl="yes", ac_cv_have_gl="no") AC_LANG_RESTORE - LDFLAGS="$ac_save_ldflags" - CXXFLAGS="$ac_save_cxxflags" + LDFLAGS=$ac_save_ldflags + CXXFLAGS=$ac_save_cxxflags + LIBS=$ac_save_libs ])dnl if test "$ac_cv_have_gl" = "no"; then @@ -3595,17 +4000,9 @@ else AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) if test "$GL_LDFLAGS" = ""; then - if test "$ac_cv_have_gl" = "mesa"; then - GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)' - else - GLLIB='-lGLU -lGL $(LIB_X11)' - fi + GLLIB='-lGLU -lGL $(LIB_X11)' else - if test "$ac_cv_have_gl" = "mesa"; then - GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)' - else - GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' - fi + GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' fi if test "$GL_INCLUDE" = ""; then GLINC="" @@ -3904,17 +4301,48 @@ AC_DEFUN([KDE_CHECK_LIBPTHREAD], [ + dnl This code is here specifically to handle the + dnl various flavors of threading library on FreeBSD + dnl 4-, 5-, and 6-, and the (weird) rules around it. + dnl There may be an environment PTHREAD_LIBS that + dnl specifies what to use; otherwise, search for it. + dnl -pthread is special cased and unsets LIBPTHREAD + dnl below if found. LIBPTHREAD="" if test -n "$PTHREAD_LIBS"; then - PTHREAD_LIBS_save="$PTHREAD_LIBS" - PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` - KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [LIBPTHREAD="$PTHREAD_LIBS_save"] ) - PTHREAD_LIBS="$PTHREAD_LIBS_save" + if test "x$PTHREAD_LIBS" = "x-pthread" ; then + LIBPTHREAD="PTHREAD" + else + PTHREAD_LIBS_save="$PTHREAD_LIBS" + PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` + AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS]) + KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [ + LIBPTHREAD="$PTHREAD_LIBS_save"]) + PTHREAD_LIBS="$PTHREAD_LIBS_save" + fi fi + dnl Is this test really needed, in the face of the Tru64 test below? if test -z "$LIBPTHREAD"; then - AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) + AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"]) + fi + + dnl This is a special Tru64 check, see BR 76171 issue #18. + if test -z "$LIBPTHREAD" ; then + AC_MSG_CHECKING([for pthread_create in -lpthread]) + kde_safe_libs=$LIBS + LIBS="$LIBS -lpthread" + AC_TRY_LINK([#include ],[(void)pthread_create(0,0,0,0);],[ + AC_MSG_RESULT(yes) + LIBPTHREAD="-lpthread"],[ + AC_MSG_RESULT(no)]) + LIBS=$kde_safe_libs + fi + + dnl Un-special-case for FreeBSD. + if test "x$LIBPTHREAD" = "xPTHREAD" ; then + LIBPTHREAD="" fi AC_SUBST(LIBPTHREAD) @@ -4144,14 +4572,16 @@ AC_DEFUN([KDE_CHECK_PYTHON], [ - KDE_CHECK_PYTHON_INTERN("2.3", - [KDE_CHECK_PYTHON_INTERN("2.2", - [KDE_CHECK_PYTHON_INTERN("2.1", - [KDE_CHECK_PYTHON_INTERN("2.0", - [KDE_CHECK_PYTHON_INTERN($1, $2) ]) + KDE_CHECK_PYTHON_INTERN("2.4", + [KDE_CHECK_PYTHON_INTERN("2.3", + [KDE_CHECK_PYTHON_INTERN("2.2", + [KDE_CHECK_PYTHON_INTERN("2.1", + [KDE_CHECK_PYTHON_INTERN("2.0", + [KDE_CHECK_PYTHON_INTERN($1, $2) ]) + ]) ]) ]) - ]) + ]) ]) AC_DEFUN([KDE_CHECK_STL], @@ -4183,7 +4613,7 @@ else AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs. Check config.log for details - if you're using a Linux distribution you might miss -a package named similiar to libstd++-dev.]) +a package named similar to libstdc++-dev.]) fi CXXFLAGS="$ac_save_CXXFLAGS" @@ -4275,10 +4705,10 @@ [ DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" +TOPSUBDIRS="" if test ! -s $srcdir/subdirs; then dnl Note: Makefile.common creates subdirs, so this is just a fallback - TOPSUBDIRS="" files=`cd $srcdir && ls -1` dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` for i in $dirs; do @@ -4306,7 +4736,7 @@ install_it="no" fi AC_MSG_RESULT($install_it) - vari=`echo $i | sed -e 's,[[-+.]],_,g'` + vari=`echo $i | sed -e 's,[[-+.@]],_,g'` if test $install_it = "yes"; then TOPSUBDIRS="$TOPSUBDIRS $i" eval "$vari""_SUBDIR_included=yes" @@ -4419,13 +4849,13 @@ AC_DEFUN([KDE_CHECK_HEADER], [ - AC_LANG_SAVE kde_safe_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_CHECK_HEADER([$1], [$2], [$3], [$4]) + AC_LANG_RESTORE CPPFLAGS=$kde_safe_cppflags - AC_LANG_RESTORE ]) AC_DEFUN([KDE_CHECK_HEADERS], @@ -4462,7 +4892,10 @@ AC_SUBST(CONF_FILES) ])dnl -AC_DEFUN([KDE_SET_PREFIX], +dnl This sets the prefix, for arts and kdelibs +dnl Do NOT use in any other module. +dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde +AC_DEFUN([KDE_SET_PREFIX_CORE], [ unset CDPATH dnl make $KDEDIR the default for the installation @@ -4474,7 +4907,66 @@ fi # And delete superfluous '/' to make compares easier prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + kde_libs_htmldir=$prefix/share/doc/HTML/ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + + kde_libs_prefix='$(prefix)' + kde_libs_htmldir='$(kde_htmldir)' + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + + +AC_DEFUN([KDE_SET_PREFIX], +[ + unset CDPATH + dnl We can't give real code to that macro, only a value. + dnl It only matters for --help, since we set the prefix in this function anyway. + AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix}) + + KDE_SET_DEFAULT_BINDIRS + if test "x$prefix" = "xNONE"; then + dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) + else + dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH + kde_save_PATH="$PATH" + PATH="$exec_prefix/bin:$prefix/bin:$PATH" + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) + PATH="$kde_save_PATH" + fi + + kde_libs_prefix=`$KDECONFIG --prefix` + if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then + AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. + This means it has been moved since you installed it. + This won't work. Please recompile kdelibs for the new prefix. + ]) + fi + kde_libs_htmldir=`$KDECONFIG --install html --expandvars` + kde_libs_suffix=`$KDECONFIG --libsuffix` + + AC_MSG_CHECKING([where to install]) + if test "x$prefix" = "xNONE"; then + prefix=$kde_libs_prefix + AC_MSG_RESULT([$prefix (as returned by kde-config)]) + else + dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different + given_prefix=$prefix + AC_MSG_RESULT([$prefix (as requested)]) + fi + + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + + AC_SUBST(KDECONFIG) + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) + KDE_FAST_CONFIGURE KDE_CONF_FILES ]) @@ -5351,3 +5843,77 @@ ]) AC_SUBST(PERL) ]) + +AC_DEFUN([KDE_CHECK_LARGEFILE], +[ +AC_SYS_LARGEFILE +if test "$ac_cv_sys_file_offset_bits" != no; then + CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" +fi + +if test "x$ac_cv_sys_large_files" != "xno"; then + CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1" +fi + +]) + +dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in) +dnl which allows to search for libs that get installed into the KDE prefix. +dnl +dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not) +dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page +dnl also defines KSTUFF_PKG_ERRORS on error +AC_DEFUN([KDE_PKG_CHECK_MODULES], [ + + PKG_CONFIG_PATH="$prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + if test "$prefix" != "$kde_libs_prefix"; then + PKG_CONFIG_PATH="$kde_libs_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + fi + export PKG_CONFIG_PATH + PKG_CHECK_MODULES($1,$2,$3,$4) +]) + + +dnl Check for PIE support in the compiler and linker +AC_DEFUN([KDE_CHECK_PIE_SUPPORT], +[ + AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + safe_CXXFLAGS=$CXXFLAGS + safe_LDFLAGS=$LDFLAGS + CXXFLAGS="$CXXFLAGS -fpie" + LDFLAGS="$LDFLAGS -pie" + + AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no]) + + CXXFLAGS=$safe_CXXFLAGS + LDFLAGS=$safe_LDFLAGS + AC_LANG_RESTORE + ]) + + AC_MSG_CHECKING(if enabling -pie/fpie support) + + AC_ARG_ENABLE(pie, + AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]), + [kde_has_pie_support=$enableval], + [kde_has_pie_support=detect]) + + if test "$kde_has_pie_support" = "detect"; then + kde_has_pie_support=$kde_cv_val_pie_support + fi + + AC_MSG_RESULT([$kde_has_pie_support]) + + KDE_USE_FPIE="" + KDE_USE_PIE="" + + AC_SUBST([KDE_USE_FPIE]) + AC_SUBST([KDE_USE_PIE]) + + if test "$kde_has_pie_support" = "yes"; then + KDE_USE_FPIE="-fpie" + KDE_USE_PIE="-pie" + fi +]) diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/am_edit --- a/kdiff3/admin/am_edit Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/am_edit Mon Apr 10 08:40:51 2006 +0000 @@ -351,7 +351,7 @@ my $tmp = "force-reedit:\n"; $tmp .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n"; appendLines($tmp); - + make_bcheck_target(); make_meta_classes(); tag_COMPILE_FIRST(); @@ -422,10 +422,6 @@ substituteLine($lookup, "RECURSIVE_TARGETS = $1 nmcheck-recursive bcheck-recursive"); } - my $cvs_lines = "cvs-clean:\n"; - $cvs_lines .= "\t\$(MAKE) admindir=\$(top_srcdir)/admin -f \$(top_srcdir)/admin/Makefile.common cvs-clean\n"; - appendLines($cvs_lines); - $cvs_lines = "kde-rpo-clean:\n"; $cvs_lines .= "\t-rm -f *.rpo\n"; appendLines($cvs_lines); @@ -483,6 +479,7 @@ $MakefileData =~ s/$lookup/$replacement/; $lookup =~ s/\\\$\\\(CXXFLAGS\\\)/\\\$\\\(KCXXFLAGS\\\)/; $replacement = "$stuff_before\$(KCXXFLAGS) \$(KDE_CXXFLAGS)$stuff_after"; + next if ($stuff_before =~ /\$\(KDE_CXXFLAGS\)/ or $stuff_after =~ /\$\(KDE_CXXFLAGS\)/); substituteLine($lookup, $replacement); } else { $found = 0; @@ -634,7 +631,7 @@ if ($pre eq '' && exists($varcontent{$variable})) { my @addlist = split(/[\034\s]+/, $varcontent{$variable}); push(@objlist, @addlist); - } elsif ($variable !~ 'OBJEXT') { + } elsif ($variable !~ 'OBJEXT' && $variable !~ /am__objects_\d+/ ) { $ocv = 1; } } @@ -875,8 +872,9 @@ $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n"; $lines .= "\n${kdeinit}_dummy.$cxxsuffix:\n"; - $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}_dummy.$cxxsuffix; \\\n"; - $lines .= "\techo 'extern \"C\" int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}_dummy.$cxxsuffix\n"; + $lines .= "\techo '#include ' > ${kdeinit}_dummy.$cxxsuffix; \\\n"; + $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' >> ${kdeinit}_dummy.$cxxsuffix; \\\n"; + $lines .= "\techo 'extern \"C\" KDE_EXPORT int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}_dummy.$cxxsuffix\n"; push(@cleanfiles, "${kdeinit}.la.$cxxsuffix"); push(@cleanfiles, "${kdeinit}_dummy.$cxxsuffix"); @@ -1147,6 +1145,9 @@ print STDOUT "AUTOMAKE processing <$1>\n" if ($verbose); my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname"; + + # automake 1.8.x adds another automake call. *sigh* + $newLine =~ s/;([\034\s]+cd\s+\$\(srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\).*)[\034\s]+\&\&[\034\s]+exit[\034\s]+0;([\034\s]+exit\s+1)/; \034 ( $1 ) || exit 1; echo \' cd \$(top_srcdir) && perl $thisProg \'; cd \$(top_srcdir) && perl $thisProg && exit 0; $2/; substituteLine ($lookup, $newLine); $automkCall = $1; @@ -1262,7 +1263,7 @@ if ($allidls !~ /$source\_kidl/) { $use_ng = ($MakefileData =~ /\n$source\_DCOPIDLNG\s*=\s*(\S+)\n/); - $dcopidl = $use_ng ? "\$(DCOPIDLNG)" : "\$(DCOPIDL)"; + $dcopidl = $use_ng ? "KDECONFIG=\"\$(KDECONFIG)\" \$(DCOPIDLNG)" : "\$(DCOPIDL)"; $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOP_DEPENDENCIES)\n"; $dep_lines .= "\t$dcopidl $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n"; @@ -1365,14 +1366,19 @@ my ($mangled_source) = $source; $mangled_source =~ s/[^A-Za-z0-9]/_/g; # get rid of garbage $dep_lines .= "\t\$(UIC) -tr \${UIC_TR} -i $source.h $sourcedir$source.ui > $source.$cxxsuffix.temp ; ret=\$\$?; \\\n"; - $dep_lines .= "\t\$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | \$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | \$(PERL) -pe \"s,image([0-9][0-9]*)_data,img\\\$\$1_" . $mangled_source . ",g\" >> $source.$cxxsuffix ;\\\n"; + $dep_lines .= "\t\$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | \$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | \$(PERL) -pe \"s,image([0-9][0-9]*)_data,img\\\$\$1_" . $mangled_source . ",g\" | \$(PERL) -pe \"s,: QWizard\\(,: KWizard(,g\" >> $source.$cxxsuffix ;\\\n"; $dep_lines .= "\trm -f $source.$cxxsuffix.temp ;\\\n"; } else { $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix; ret=\$\$?; \\\n"; } $dep_lines .= "\tif test \"\$\$ret\" = 0; then echo '#include \"$source.moc\"' >> $source.$cxxsuffix; else rm -f $source.$cxxsuffix ; exit \$\$ret ; fi\n\n"; $dep_lines .= "$source.h: $sourcedir$source.ui\n"; - $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n\n"; + $dep_lines .= "\trm -rf $source.h;\n"; + if (!$kdeopts{"qtonly"}) { + $dep_lines .= "\t\$(UIC) $sourcedir$source.ui | \$(PERL) -pi -e \"s,public QWizard,public KWizard,g; s,#include ,#include ,g\" >> $source.h ;\n"; + } else { + $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n"; + } $dep_lines .= "$source.moc: $source.h\n"; $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n"; @@ -2271,7 +2277,7 @@ "\t echo \"\$\$i\"; \\\n" . "\t if ! "; $t .= $cxxsuffix eq "KKK" ? - "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(KDE_CXXFLAGS) " : + "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(CXXFLAGS) \$(KDE_CXXFLAGS) " : "\$(CXXCOMPILE) "; $t .= " --dump-class-hierarchy -c \$\$i.bchecktest.cc; then \\\n" . "\t rm -f \$\$i.bchecktest.cc; exit 1; \\\n" . diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/bcheck.pl --- a/kdiff3/admin/bcheck.pl Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/bcheck.pl Mon Apr 10 08:40:51 2006 +0000 @@ -118,6 +118,7 @@ s/0x[0-9a-fA-F]+/0x......../g; s/base size=/size=/g; + s/\(\)\s*$//g; s/base align=/align=/g; $chunk .= $_ . "\n"; diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/compile --- a/kdiff3/admin/compile Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/compile Mon Apr 10 08:40:51 2006 +0000 @@ -1,8 +1,9 @@ #! /bin/sh - # Wrapper for compilers which do not understand `-c -o'. -# Copyright 1999, 2000 Free Software Foundation, Inc. +scriptversion=2005-05-14.22 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,83 +18,125 @@ # # 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. +# 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. -# Usage: -# compile PROGRAM [ARGS]... -# `-o FOO.o' is removed from the args passed to the actual compile. +# This file is maintained in Automake, please report +# bugs to or send patches to +# . -prog=$1 -shift +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 . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; +esac ofile= cfile= -args= -while test $# -gt 0; do - case "$1" in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we do something ugly here. - ofile=$2 - shift - case "$ofile" in - *.o | *.obj) - ;; - *) - args="$args -o $ofile" - ofile= - ;; - esac - ;; - *.c) - cfile=$1 - args="$args $1" - ;; - *) - args="$args $1" - ;; - esac - shift +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 "$prog" $args + # 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/'` +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 +lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d while true; do - if mkdir $lockdir > /dev/null 2>&1; then - break - fi - sleep 1 + 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 +trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. -"$prog" $args -status=$? +"$@" +ret=$? if test -f "$cofile"; then - mv "$cofile" "$ofile" + mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + mv "${cofile}bj" "$ofile" fi -rmdir $lockdir -exit $status +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: diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/conf.change.pl --- a/kdiff3/admin/conf.change.pl Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/conf.change.pl Mon Apr 10 08:40:51 2006 +0000 @@ -19,8 +19,8 @@ # 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., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. +# 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 @@ -81,7 +81,7 @@ # 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 honour the case/esac. +# 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/ ) { diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/config.guess --- a/kdiff3/admin/config.guess Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/config.guess Mon Apr 10 08:40:51 2006 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -timestamp='2002-10-21' +timestamp='2005-06-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,13 +17,15 @@ # # 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. +# 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 Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. @@ -53,7 +55,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -66,11 +68,11 @@ while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -98,14 +100,18 @@ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -# This shell variable is my proudest work .. or something. --bje +# Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; -(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) - || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; -dummy=$tmpdir/dummy ; -files="$dummy.c $dummy.o $dummy.rel $dummy" ; -trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do @@ -113,15 +119,13 @@ CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $files ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; -unset files' +esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -178,144 +182,125 @@ ;; esac # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - eval $set_cc_for_build - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null - if test "$?" = 0 ; then - case `$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - 3-1307) - UNAME_MACHINE="alphaev7" - ;; - esac - fi - rm -f $dummy.s $dummy && rmdir $tmpdir - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; + exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit 0;; + exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -323,29 +308,32 @@ else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; + sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -354,10 +342,10 @@ esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 @@ -369,10 +357,10 @@ echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -383,37 +371,40 @@ # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -437,33 +428,33 @@ exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:*:*:PowerMAX_OS) + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` @@ -479,29 +470,29 @@ else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -509,7 +500,7 @@ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -524,15 +515,18 @@ exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir - echo rs6000-ibm-aix3.2.5 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit 0 ;; + exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then @@ -546,28 +540,28 @@ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -624,16 +618,37 @@ } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy && rmdir $tmpdir + test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -661,146 +676,166 @@ exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; + exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:3*) - echo i386-pc-interix3 - exit 0 ;; + exit ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; + echo i586-pc-interix + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; + exit ;; + amd64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; + exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -818,15 +853,33 @@ #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - rm -f $dummy.c && rmdir $tmpdir - test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu - exit 0 ;; + exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu - exit 0 ;; + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -840,7 +893,7 @@ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -848,22 +901,25 @@ PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; + exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu - exit 0 ;; + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu - exit 0 ;; + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -881,15 +937,15 @@ ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; + exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; + exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -912,18 +968,23 @@ LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit 0 ;; + exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... @@ -931,7 +992,27 @@ # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -939,15 +1020,16 @@ else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; + exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; + && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1042,64 +1121,73 @@ else echo ns32k-sni-sysv fi - exit 0 ;; + exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 - exit 0 ;; + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + *86) UNAME_PROCESSOR=i686 ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1107,22 +1195,25 @@ UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1133,36 +1224,44 @@ UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1194,7 +1293,7 @@ #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1283,12 +1382,12 @@ } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 -rm -f $dummy.c $dummy && rmdir $tmpdir +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1297,22 +1396,22 @@ case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1323,7 +1422,9 @@ the operating system you are using. It is advised that you download the most up to date version of the config scripts from - ftp://ftp.gnu.org/pub/gnu/config/ + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +and + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub If the version you run ($0) is already up to date, please send the following data and any information you think might be diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/config.pl --- a/kdiff3/admin/config.pl Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/config.pl Mon Apr 10 08:40:51 2006 +0000 @@ -25,8 +25,8 @@ # 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., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. use strict; @@ -53,6 +53,7 @@ open(CF, "< $ac_subs") || die "can't open $ac_subs: $!"; my @subs = ; +my $pat; close(CF); chomp @subs; @comp_match=(); @@ -60,7 +61,7 @@ if ($bad_perl) { print "Using perl older than version 5.005\n"; - foreach my $pat (@subs) { + foreach $pat (@subs) { if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ ) || ($pat =~ m/s%([^%]*)%([^%]*)%;t/ ) || ($pat =~ m/s,([^,]*),(.*),;t/) @@ -85,7 +86,7 @@ } } } else { - foreach my $pat (@subs) { + foreach $pat (@subs) { if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) || ($pat =~ /s%([^%]*)%([^%]*)%;t/ ) || ($pat =~ /s,([^,]*),(.*),;t/) ) { @@ -192,8 +193,9 @@ my $filedata; my @infiles=split(' ', $infiles); my $i=0; + my $name; - foreach my $name (@infiles) { + foreach $name (@infiles) { if (open(CF, "< $name")) { while () { $filedata .= $_; diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/config.sub --- a/kdiff3/admin/config.sub Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/config.sub Mon Apr 10 08:40:51 2006 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -timestamp='2002-09-05' +timestamp='2005-07-01' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,14 +21,15 @@ # # 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. - +# 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. + # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # @@ -70,7 +71,7 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -83,11 +84,11 @@ while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +100,7 @@ *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,7 +119,8 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -144,7 +146,7 @@ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; @@ -228,14 +230,16 @@ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | clipper \ + | bfin \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -244,28 +248,37 @@ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | ms1 \ + | msp430 \ | ns16k | ns32k \ - | openrisc | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ - | tahoe | thumb | tic80 | tron \ + | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xstormy16 | xtensa \ + | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; + m32c) + basic_machine=$basic_machine-unknown + ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown @@ -293,19 +306,19 @@ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ - | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ - | clipper-* | cydra-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -314,29 +327,40 @@ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39 | mipstx39el \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | ms1-* \ + | msp430-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; + m32c-*) + ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) @@ -353,6 +377,9 @@ basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -367,6 +394,12 @@ basic_machine=a29k-none os=-bsd ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -426,12 +459,27 @@ basic_machine=j90-cray os=-unicos ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -454,6 +502,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -632,10 +684,6 @@ mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; monitor) basic_machine=m68k-rom68k os=-coff @@ -723,9 +771,12 @@ basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson @@ -758,18 +809,24 @@ pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; - pentiumii | pentium2) + pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; + pentium4) + basic_machine=i786-pc + ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumii-* | pentium2-*) + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pn) basic_machine=pn-gould ;; @@ -828,6 +885,10 @@ sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; sequent) basic_machine=i386-sequent ;; @@ -835,6 +896,9 @@ basic_machine=sh-hitachi os=-hms ;; + sh64) + basic_machine=sh64-unknown + ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks @@ -901,10 +965,6 @@ basic_machine=i386-sequent os=-dynix ;; - t3d) - basic_machine=alpha-cray - os=-unicos - ;; t3e) basic_machine=alphaev5-cray os=-unicos @@ -913,12 +973,16 @@ basic_machine=t90-cray os=-unicos ;; - tic4x | c4x*) - basic_machine=tic4x-unknown + tic54x | c54x*) + basic_machine=tic54x-unknown os=-coff ;; - tic54x | c54x*) - basic_machine=tic54x-unknown + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown os=-coff ;; tx39) @@ -934,6 +998,10 @@ tower | tower-32) basic_machine=m68k-ncr ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; udi29k) basic_machine=a29k-amd os=-udi @@ -977,9 +1045,9 @@ basic_machine=hppa1.1-winbond os=-proelf ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt + xbox) + basic_machine=i686-pc + os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell @@ -1011,6 +1079,9 @@ romp) basic_machine=romp-ibm ;; + mmix) + basic_machine=mmix-knuth + ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1027,13 +1098,10 @@ we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) @@ -1106,18 +1174,20 @@ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1129,8 +1199,10 @@ ;; esac ;; + -nto-qnx*) + ;; -nto*) - os=-nto-qnx + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ @@ -1139,6 +1211,9 @@ -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1151,6 +1226,9 @@ -opened*) os=-openedition ;; + -os400*) + os=-os400 + ;; -wince*) os=-wince ;; @@ -1172,6 +1250,9 @@ -atheos*) os=-atheos ;; + -syllable*) + os=-syllable + ;; -386bsd) os=-bsd ;; @@ -1194,6 +1275,9 @@ -sinix*) os=-sysv4 ;; + -tpf*) + os=-tpf + ;; -triton*) os=-sysv3 ;; @@ -1224,6 +1308,15 @@ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; -none) ;; *) @@ -1255,6 +1348,9 @@ arm*-semi) os=-aout ;; + c4x-* | tic4x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 @@ -1301,6 +1397,9 @@ *-ibm) os=-aix ;; + *-knuth) + os=-mmixware + ;; *-wec) os=-proelf ;; @@ -1433,9 +1532,15 @@ -mvs* | -opened*) vendor=ibm ;; + -os400*) + vendor=ibm + ;; -ptx*) vendor=sequent ;; + -tpf*) + vendor=ibm + ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; @@ -1460,7 +1565,7 @@ esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/configure.in.bot.end --- a/kdiff3/admin/configure.in.bot.end Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/configure.in.bot.end Mon Apr 10 08:40:51 2006 +0000 @@ -1,6 +1,39 @@ +# 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 "" echo "Please remove the file $cache_file after changing your setup" echo "so that configure will find the changes next time." echo "" diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/configure.in.min --- a/kdiff3/admin/configure.in.min Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/configure.in.min Mon Apr 10 08:40:51 2006 +0000 @@ -13,8 +13,8 @@ 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., 59 Temple Place - Suite 330, -dnl Boston, MA 02111-1307, USA. +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) diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/cvs.sh --- a/kdiff3/admin/cvs.sh Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/cvs.sh Mon Apr 10 08:40:51 2006 +0000 @@ -6,6 +6,8 @@ # 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 @@ -20,80 +22,79 @@ strip_makefile() { - if test -f $makefile_wo; then :; else - perl -e '$in=0; while ( <> ) { $in = 1 if ($_=~ m/^if /); print $_ unless ($in); $in = 0 if ($_ =~ m/^endif/); }' < Makefile.am.in > $makefile_wo + 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* ) : ;; "" ) echo "*** AUTOCONF NOT FOUND!." - echo "*** KDE requires autoconf 2.52, 2.53 or 2.54" + echo "*** KDE requires autoconf $required_autoconf_version" exit 1 ;; * ) echo "*** YOU'RE USING $AUTOCONF_VERSION." - echo "*** KDE requires autoconf 2.52, 2.53 or 2.54" + 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* ) : ;; "" ) echo "*** AUTOHEADER NOT FOUND!." - echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)" + echo "*** KDE requires autoheader $required_autoconf_version" exit 1 ;; * ) echo "*** YOU'RE USING $AUTOHEADER_VERSION." - echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)" + 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 1.6.1 or newer" + echo "*** KDE requires automake $required_automake_version" exit 1 ;; - automake*1.6.* | automake*1.7* | automake*1.8.* ) : ;; + automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9*) + echo "*** $AUTOMAKE_STRING found." + UNSERMAKE=no + ;; "" ) echo "*** AUTOMAKE NOT FOUND!." - echo "*** KDE requires automake 1.6.1 or newer" + echo "*** KDE requires automake $required_automake_version" exit 1 ;; - unsermake* ) : + *unsermake* ) : echo "*** YOU'RE USING UNSERMAKE." echo "*** GOOD LUCK!! :)" + UNSERMAKE=unsermake ;; * ) echo "*** YOU'RE USING $AUTOMAKE_STRING." - echo "*** KDE requires automake 1.6" + echo "*** KDE requires automake $required_automake_version" exit 1 ;; esac +unset required_automake_version } cvs() { check_autotool_versions - -### Produce acinclude.m4 -if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then - echo "*** Creating acinclude.m4" - rm -f acinclude.m4 configure.files - - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 -fi +acinclude_m4 ### Make new subdirs and configure.in. ### The make calls could be optimized away here, @@ -112,25 +113,31 @@ Makefile_am fi fi + configure_files echo "*** Creating configure.in" - configure_files - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 + 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 || exit 1 +$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 -z "$UNSERMAKE"; then + +if test "$UNSERMAKE" = no; then echo "*** Postprocessing Makefile templates" perl -w admin/am_edit || exit 1 fi @@ -155,21 +162,38 @@ ### ### First build all of the files necessary to do just "make" ### -if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 +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 -if test -r configure.in.in; then - create_subdirs - Makefile_am - configure_files - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./configure.in +$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 -$ACLOCAL -$AUTOHEADER -$AUTOMAKE --foreign --include-deps -perl -w admin/am_edit +$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 @@ -195,10 +219,17 @@ subdir_dist() { -$ACLOCAL +$ACLOCAL $ACLOCALFLAGS $AUTOHEADER +touch config.h.in $AUTOMAKE -perl -w ../admin/am_edit +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 } @@ -208,21 +239,30 @@ rm -f configure.in configure.in.new kde_use_qt_param= test -f configure.files || { echo "need configure.files for configure.in"; exit 1; } -cat `fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"` > configure.in.new +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 - dir=`echo $dir | sed -e "s,[-+.],_,g"` - echo "AM_CONDITIONAL($dir""_SUBDIR_included, test \"x\$$dir""_SUBDIR_included\" = xyes)" >> configure.in.new + 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 -n "$UNSERMAKE"; then - echo "AC_CONFIG_FILES([ Makefile.rules ])" >> configure.in.new - echo "AC_CONFIG_FILES([ Makefile.calls ])" >> configure.in.new -fi if test -f inst-apps; then topleveldirs=`cat inst-apps` @@ -243,14 +283,10 @@ continue fi - mfs=`find $topleveldir -name Makefile.am -print | fgrep -v "/." | \ + 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 - if test -n "$UNSERMAKE"; then - echo "AC_CONFIG_FILES([ $i.rules ])" >> configure.in.new - echo "AC_CONFIG_FILES([ $i.calls ])" >> configure.in.new - fi done done @@ -260,10 +296,6 @@ echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new done -if test -n "$UNSERMAKE"; then - echo "AC_CONFIG_FILES([ MakeVars ])" >> configure.in.new -fi - midfiles=`cat configure.files | fgrep "configure.in.mid"` test -n "$midfiles" && cat $midfiles >> configure.in.new @@ -284,7 +316,7 @@ fi fi if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then - VERSION="\"3.1.0\"" + VERSION="\"3.5.0\"" fi if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then modulename=`pwd`; @@ -307,6 +339,7 @@ configure_files() { +echo "*** Creating configure.files" admindir=NO for i in . .. ../.. ../../..; do if test -x $i/admin; then admindir=$i/admin; break; fi @@ -322,11 +355,11 @@ inst=`cat inst-apps` list="" for i in $inst; do - list="$list `find $i/ -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ + 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 . -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ + 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 @@ -334,6 +367,10 @@ 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() @@ -429,36 +466,47 @@ esac done - if test -n "$UNSERMAKE"; then - cp Makefile.am.in Makefile.am - chmod u+w Makefile.am - topsubdirs= - for i in $compilefirst $dirs $compilelast; do - vari=`echo $i | sed -e "s,[-+],_,g"` - echo "if $vari""_SUBDIR_included" >> Makefile.am - echo "$vari""_SUBDIR=$i" >> Makefile.am - echo "endif" >> Makefile.am - topsubdirs="$topsubdirs \$($vari""_SUBDIR)" + 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 "SUBDIRS=$topsubdirs" >> Makefile.am + echo $str >> Makefile.am.in.adds else - cat Makefile.am.in | \ - sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \ - sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am + 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 - fi + rm Makefile.am.in.adds fi } -cvs_clean() +acinclude_m4() { -if test -d CVS; then :; else - echo "You don't have a toplevel CVS directory." - echo "You most certainly didn't use cvs to get these sources." - echo "But this function depends on cvs's information." - exit 1 -fi -perl $admindir/cvs-clean.pl + 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() @@ -479,18 +527,8 @@ done } -package_messages() +extract_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 - cp po/$i po.backup/backup_$i - touch -r po/$i po.backup/backup_$i - rm po/$i -done - podir=${podir:-$PWD/po} files=`find . -name Makefile.am | xargs egrep -l '^messages:' ` dirs=`for i in $files; do echo \`dirname $i\`; done` @@ -503,22 +541,26 @@ test -z "$VERBOSE" || echo "Making messages in $subdir" (cd $subdir if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then - $EXTRACTRC *.rc *.ui > rc.cpp + $EXTRACTRC *.rc *.ui *.kcfg > rc.cpp else - candidates=`ls -1 *.rc *.ui 2>/dev/null` + candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null` if test -n "$candidates"; then - echo "$subdir has *.rc or *.ui files, but not correct messages line" + echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line" fi fi - if test -n "`grep -r KAboutData *.c* *.C* 2>/dev/null`"; then + 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 () { next if (/^(if|else|endif)\s/); 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 + perl -e '$mes=0; while () { 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 - $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" \ - XGETTEXT="${XGETTEXT:-xgettext} -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x ${includedir:-${KDEDIR:-/usr/local/kde}/include}/kde.pot" \ - messages + 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" @@ -530,16 +572,31 @@ 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 - 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 && test -n "`diff temp.pot po.backup/$i`"; then - echo "will update $i" - msgmerge -q po.backup/backup_$i po/$i > temp.pot - mv temp.pot po/$i + 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" @@ -554,33 +611,42 @@ rm -rf po.backup } -unset CDPATH +# 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 +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 -# Suck in the AUTOCONF detection code -. $admindir/detect-autoconf.sh +# 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 '\-.' __` +arg=`echo $1 | tr .- __` case $arg in cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \ - cvs_clean | package_merge | package_messages | Makefile_am ) $arg ;; + cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;; configure ) call_and_fix_autoconf ;; * ) echo "Usage: cvs.sh " echo "Target can be one of:" - echo " cvs cvs-clean dist" + echo " cvs svn dist" echo " configure.in configure.files" echo " package-merge package-messages" echo "" @@ -588,8 +654,8 @@ exit 1 ;; esac -if test -f Makefile.am.in.wo; then - rm Makefile.am.in.wo +if test -f $makefile_wo; then + rm $makefile_wo fi exit 0 diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/debianrules --- a/kdiff3/admin/debianrules Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/debianrules Mon Apr 10 08:40:51 2006 +0000 @@ -7,113 +7,37 @@ $origPwd = `pwd`; chomp $origPwd; -$kde_confdir = "/etc/kde3"; -$kde_prefix = "/usr"; -$kde_bindir = "$kde_prefix/bin"; -$kde_includedir = "$kde_prefix/include/kde"; -$kde_libdir = "$kde_prefix/lib"; -$kde_cgidir = "$kde_prefix/lib/cgi-bin"; -$kde_moduledir = "$kde_prefix/lib/kde3"; -$kde_appsdir = "$kde_prefix/share/applnk"; -$kde_datadir = "$kde_prefix/share/apps"; -$kde_htmldir = "$kde_prefix/share/doc/kde/HTML"; -$kde_icondir = "$kde_prefix/share/icons"; -$kde_locale = "$kde_prefix/share/locale"; -$kde_mimedir = "$kde_prefix/share/mimelnk"; -$kde_servicesdir = "$kde_prefix/share/services"; -$kde_servicetypesdir = "$kde_prefix/share/servicetypes"; -$kde_sounddir = "$kde_prefix/share/sounds"; -$kde_templatesdir = "$kde_prefix/share/templates"; -$kde_wallpaperdir = "$kde_prefix/share/wallpapers"; +$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"; -$mandir = "$kde_prefix/share/man"; -$infodir = "$kde_prefix/share/info"; -$sysconfdir = "/etc"; - -$QTDIR = "/usr/share/qt3"; -$IDL = "$kde_bindir/cuteidl"; -$DCOPIDL = "$kde_bindir/dcopidl"; -$DCOPIDL2CPP = "$kde_bindir/dcopidl2cpp"; -$KDB2HTML = "$kde_bindir/kdb2html"; -$MCOPIDL = "$kde_bindir/mcopidl"; -$ARTSCCONFIG = "$kde_bindir/artsc-config"; +$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} =~ /\bdebug\b/) { - $enable_debug="--enable-debug=full"; - $enable_final=""; -} -else { - $enable_debug="--disable-debug"; - if (defined $ENV{DEB_BUILD_OPTIONS} && - $ENV{DEB_BUILD_OPTIONS} =~ /\bfinal\b/) { - $enable_final="--enable-final"; - } else { - $enable_final=""; - } + $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_prefix=$kde_prefix\n"; - print STDOUT "export kde_bindir=$kde_bindir\n"; - print STDOUT "export kde_includedir=$kde_includedir\n"; - print STDOUT "export kde_libdir=$kde_libdir\n"; - print STDOUT "export kde_cgidir=$kde_cgidir\n"; - print STDOUT "export kde_moduledir=$kde_moduledir\n"; - print STDOUT "export kde_appsdir=$kde_appsdir\n"; - print STDOUT "export kde_datadir=$kde_datadir\n"; print STDOUT "export kde_htmldir=$kde_htmldir\n"; - print STDOUT "export kde_icondir=$kde_icondir\n"; - print STDOUT "export kde_locale=$kde_locale\n"; - print STDOUT "export kde_mimedir=$kde_mimedir\n"; - print STDOUT "export kde_servicesdir=$kde_servicesdir\n"; - print STDOUT "export kde_servicetypesdir=$kde_servicetypesdir\n"; - print STDOUT "export kde_sounddir=$kde_sounddir\n"; - print STDOUT "export kde_templatesdir=$kde_templatesdir\n"; - print STDOUT "export kde_wallpaperdir=$kde_wallpaperdir\n"; - print STDOUT "export mandir=$mandir\n"; - print STDOUT "export infodir=$infodir\n"; - print STDOUT "export sysconfdir=$sysconfdir\n"; - - print STDOUT "export QTDIR=$QTDIR\n"; - print STDOUT "export IDL=$IDL\n"; - print STDOUT "export DCOPIDL=$DCOPIDL\n"; - print STDOUT "export DCOPIDL2CPP=$DCOPIDL2CPP\n"; - print STDOUT "export KDB2HTML=$KDB2HTML\n"; - print STDOUT "export MCOPIDL=$MCOPIDL\n"; - print STDOUT "export ARTSCCONFIG=$ARTSCCONFIG\n"; - print STDOUT "export INSTALL_DATA=install -p -c -m 644\n"; - - print STDOUT "configkde=$enable_debug $enable_final --disable-rpath --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --sysconfdir=\$(sysconfdir) --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --infodir=\$(infodir) --with-xinerama\n"; - print STDOUT "configkdevelop=$enable_debug $enable_final --disable-rpath --enable-docbase --enable-kdoc2 --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --with-kdelibsdoc-dir=/usr/share/doc/kdelibs3-doc/html --with-xinerama\n"; - print STDOUT "configkdepim=$enable_debug $enable_final --disable-rpath --with-extra-includes=/usr/include/libpisock --enable-shared --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --infodir=\$(infodir) --with-xinerama\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 } - -if (@ARGV && $ARGV[0] eq 'echoglobals') { - print STDOUT "[Directories]\n"; - print STDOUT "dir_config=$kde_confdir\n"; - print STDOUT "dir_tmp=/tmp\n"; - print STDOUT "dir_socket=/tmp\n"; - print STDOUT "dir_exe=$kde_bindir\n"; - print STDOUT "dir_lib=$kde_libdir\n"; - print STDOUT "dir_cgi=$kde_cgidir\n"; - print STDOUT "dir_module=$kde_moduledir\n"; - print STDOUT "dir_apps=$kde_appsdir\n"; - print STDOUT "dir_data=$kde_datadir\n"; - print STDOUT "dir_html=$kde_htmldir\n"; - print STDOUT "dir_icon=$kde_icondir\n"; - print STDOUT "dir_locale=$kde_locale\n"; - print STDOUT "dir_mime=$kde_mimedir\n"; - print STDOUT "dir_services=$kde_servicesdir\n"; - print STDOUT "dir_servicetypes=$kde_servicetypesdir\n"; - print STDOUT "dir_sound=$kde_sounddir\n"; - print STDOUT "dir_templates=$kde_templatesdir\n"; - print STDOUT "dir_wallpaper=$kde_wallpaperdir\n"; - print STDOUT "[General]\n"; - print STDOUT "TerminalApplication=x-terminal-emulator\n"; - exit -} diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/depcomp --- a/kdiff3/admin/depcomp Mon Jan 31 22:30:47 2005 +0000 +++ b/kdiff3/admin/depcomp Mon Apr 10 08:40:51 2006 +0000 @@ -1,7 +1,9 @@ #! /bin/sh +# depcomp - compile a program generating dependencies as side-effects -# depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 Free Software Foundation, Inc. +scriptversion=2005-05-14.22 + +# 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 @@ -15,8 +17,8 @@ # 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. +# 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 @@ -25,13 +27,45 @@ # Originally written by Alexandre Oliva . +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 . +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 -# `libtool' can also be set to `yes' or `no'. -depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} +# 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" @@ -163,19 +197,25 @@ aix) # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. 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. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + # 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" - outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi + stat=$? - 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" @@ -183,6 +223,7 @@ 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:'. @@ -198,11 +239,9 @@ ;; icc) - # Must come before tru64. - - # Intel's C compiler understands `-MD -MF file'. However + # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # will fill foo.d with something like + # 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: @@ -210,6 +249,12 @@ # 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=$? @@ -219,45 +264,70 @@ exit $stat fi rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h'. + # 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 -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + 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 AIX compiler uses -MD to generate dependencies as a side + # 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 + # 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$//'` - tmpdepfile1="$object.d" - tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` 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" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - else - tmpdepfile="$tmpdepfile2" - 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 space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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 @@ -270,34 +340,42 @@ dashmstdout) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - test -z "$dashmflag" && dashmflag=-M - ( IFS=" " - case " $* " in - *" --mode=compile "*) # this is libtool, let us make it quiet - for arg - do # cycle over the arguments - case "$arg" in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done + # 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 - "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi + 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 ' ' ' @@ -315,36 +393,40 @@ ;; 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;; - -*) - ;; - *) - set fnord "$@" "$arg"; shift;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi + 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" - tail +3 "$tmpdepfile" | tr ' ' ' + 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. @@ -354,35 +436,39 @@ cpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done + # 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 - "$@" -E | + done + + "$@" -E | sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -392,34 +478,27 @@ msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, + # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; + shift + shift + ;; esac - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi + 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" @@ -439,3 +518,12 @@ 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: diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/deps.am --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/admin/deps.am Mon Apr 10 08:40:51 2006 +0000 @@ -0,0 +1,19 @@ +$(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): + diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/detect-autoconf.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/admin/detect-autoconf.pl Mon Apr 10 08:40:51 2006 +0000 @@ -0,0 +1,173 @@ +#!/usr/bin/env perl + +# Try to locate best version of auto* +# By Michael Pyne +# +# 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 </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 + diff -r d7cafcda8c99 -r 8febbfb1148c kdiff3/admin/doxygen.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/admin/doxygen.sh Mon Apr 10 08:40:51 2006 +0000 @@ -0,0 +1,872 @@ +#! /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] []" + 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 " + 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=`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 + if ! cd "$apidoxdir" > /dev/null 2>&1 ; then + echo "Cannot create and cd into $apidoxdir" + exit 1 + fi + + 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 + if ! cd "$apidoxdir" > /dev/null 2>&1 ; then + echo "Cannot cd into $apidoxdir -- maybe you need to" + echo "build the top-level dox first." + exit 1 + fi + + 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 and +# are calculated and replaced. Top directories get an empty +# 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="
    " + 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 ",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
  • 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
  • $NAME
  • " + done + + MENU="$MENU
" + fi + + + # Get the list of global Menu entries. + GMENU=`cat subdirs | tr -d '\n'` + + PMENU=`grep '++' | awk '{ c=split($0,a,"/"); for (j=1; j<=c; j++) { printf " / %s\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="" + + if test "x$subdir" = "x." ; then + # Disable CMENU on toplevel anyway + CMENUBEGIN="" + else + test -f "$subdir/classmap.inc" && \ + CMENU=`grep '=>' "$subdir/classmap.inc" | sed -e 's+"\([^"]*\)" => "'"$subdir/html/"'\([^"]*\)"+