diff --git a/admin/Doxyfile.am b/admin/Doxyfile.am deleted file mode 100644 index 420b411..0000000 --- a/admin/Doxyfile.am +++ /dev/null @@ -1,102 +0,0 @@ -## generate API documentation with doxygen -apidox-am-yes: - @if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \ - export DOXDATA=$(kde_libs_htmldir)/en/common ; \ - fi ; \ - abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\ - test -d $(top_builddir)/apidocs || \ - ( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \ - --no-modulename --installdir=$(kde_libs_htmldir)/en \ - --no-recurse $(abs_top_srcdir) . ) ; \ - cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \ - --recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \ - $$abs_top_srcdir $(subdir) - -apidox-am-toplevel-yes: - @if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \ - export DOXDATA=$(kde_libs_htmldir)/en/common ; \ - fi ; \ - abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\ - cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \ - --no-modulename --installdir=$(kde_libs_htmldir)/en \ - $$abs_top_srcdir - -## Don't generate API documentation without doxygen -apidox-am-no: - -apidox-am-toplevel-no: - - -apidox: - @if test "$(subdir)" != "."; then \ - $(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\ - else \ - $(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\ - fi - - - -install-data-local: install-apidox - -## install API documentation -install-apidox: - @if test "$(subdir)" != "."; then \ - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \ - if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \ - echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ - fi; \ - if test -d $(top_builddir)/apidocs/$(subdir)/html; then \ - list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \ - echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\ - for file in $$list; do \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ - done; \ - fi; \ - else\ - if test -d $(top_builddir)/apidocs; then \ - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\ - list=`cd $(top_builddir)/apidocs && ls -1`; \ - echo "installing $(top_builddir)/apidocs/$$file" ;\ - echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \ - for file in $$list; do \ - if test -f $(top_builddir)/apidocs/$$file; then \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ - fi; \ - done ; fi; \ - fi - -uninstall-local: uninstall-apidox - -## uninstall API documentation -uninstall-apidox: - @if test "$(subdir)" != "."; then \ - if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \ - rm -rf $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ - fi \ - else \ - if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \ - rm -rf $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ - fi \ - fi - -install-apidox-recurse: install-apidox - @set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \ - list='$(SUBDIRS)'; \ - for subdir in $$list; do \ - if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \ - echo "Installing apidox from $$subdir"; \ - if test "$$subdir" != "."; then \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \ - fi ; fi ;\ - done; \ - fi - - - -.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes - - -# Local Variables: -# mode: makefile -# End: diff --git a/admin/Doxyfile.global b/admin/Doxyfile.global deleted file mode 100755 index 2352d31..0000000 --- a/admin/Doxyfile.global +++ /dev/null @@ -1,1539 +0,0 @@ -# Doxyfile 1.6.1 - -# 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 -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# 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 = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# 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: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# 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. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_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 regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# 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 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 the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = 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 = "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\"" - -# 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 OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = 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 - -# 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 - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# 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 - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = 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 -# and Mac 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 = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = 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 = YES - -# 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. - -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 - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# 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 = NO - -# 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. - -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 - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# 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. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -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 = - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# 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 *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.h \ - *.cpp \ - *.cc \ - *.hpp \ - *.dox \ - *.c++ \ - *.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. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = *.moc.* \ - moc* \ - *.all_cpp.* \ - *unload.* \ - */test/* \ - */tests/* \ - *_p.h - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# 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. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# 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 -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# 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 = NO - -#--------------------------------------------------------------------------- -# 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 = YES - -# 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. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# 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 compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# 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 CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# 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 - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# 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 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value 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 (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = 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 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) -# there is already a search function so this one should typically -# be disabled. - -SEARCHENGINE = NO - -#--------------------------------------------------------------------------- -# 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 - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = 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 = YES - -# 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_DEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# 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. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = QT_VERSION=320 \ - __cplusplus \ - Q_WS_X11 - -# 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::additions 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 - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# 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 - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# 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 = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = 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 options 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 CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller 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 caller -# graphs for selected functions only using the \callergraph command. - -CALLER_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 - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = 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 in 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 DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# 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 the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# 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 diff --git a/admin/Makefile.common b/admin/Makefile.common deleted file mode 100644 index d07b404..0000000 --- a/admin/Makefile.common +++ /dev/null @@ -1,37 +0,0 @@ -### Makefile.common -### -### Copyright (C) 2002 by the KDE developers - -### All the real work is done by the shellscript cvs.sh - -SHELL=/bin/sh - -cvs dist configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages: - @admindir=$(admindir); \ - if test "x$$admindir" = x; then \ - admindir=.; until test -f $$admindir/admin/cvs.sh; do \ - admindir=$$admindir/..; \ - if test `cd $$admindir && pwd` = / ; then break; fi; \ - done; \ - admindir=$$admindir/admin; \ - if test -f $$admindir/cvs.sh; then :; else \ - echo "Can't find the admin/ directory in any parent of the"; \ - echo "current directory. Please set it with admindir=..."; \ - exit 1; \ - fi; \ - fi; \ - if test "$@" = "package-merge"; then \ - MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \ - $(SHELL) $$admindir/cvs.sh package-merge ;\ - else \ - MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\ - fi - -configure.in: configure.files subdirs -configure.files: subdirs - -svn: cvs - -.SILENT: - -.PHONY: svn cvs dist package-merge package-messages diff --git a/admin/acinclude.m4.in b/admin/acinclude.m4.in deleted file mode 100644 index 69c5256..0000000 --- a/admin/acinclude.m4.in +++ /dev/null @@ -1,5999 +0,0 @@ -## -*- autoconf -*- - -dnl This file is part of the KDE libraries/packages -dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) -dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) - -dnl This file is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either -dnl version 2 of the License, or (at your option) any later version. - -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. - -dnl You should have received a copy of the GNU Library General Public License -dnl along with this library; see the file COPYING.LIB. If not, write to -dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl Boston, MA 02110-1301, USA. - -dnl IMPORTANT NOTE: -dnl Please do not modify this file unless you expect your modifications to be -dnl carried into every other module in the repository. -dnl -dnl Single-module modifications are best placed in configure.in for kdelibs -dnl and kdebase or configure.in.in if present. - -# KDE_PATH_X_DIRECT -dnl Internal subroutine of AC_PATH_X. -dnl Set ac_x_includes and/or ac_x_libraries. -AC_DEFUN([KDE_PATH_X_DIRECT], -[ -AC_REQUIRE([KDE_CHECK_LIB64]) - -if test "$ac_x_includes" = NO; then - # Guess where to find include files, by looking for this one X11 .h file. - test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h - - # First, try using that file with no special directory specified. -AC_TRY_CPP([#include <$x_direct_test_include>], -[# We can compile using X headers with no special include directory. -ac_x_includes=], -[# Look for the header file in a standard set of common directories. -# Check X11 before X11Rn because it is often a symlink to the current release. - for ac_dir in \ - /usr/X11/include \ - /usr/X11R6/include \ - /usr/X11R5/include \ - /usr/X11R4/include \ - \ - /usr/include/X11 \ - /usr/include/X11R6 \ - /usr/include/X11R5 \ - /usr/include/X11R4 \ - \ - /usr/local/X11/include \ - /usr/local/X11R6/include \ - /usr/local/X11R5/include \ - /usr/local/X11R4/include \ - \ - /usr/local/include/X11 \ - /usr/local/include/X11R6 \ - /usr/local/include/X11R5 \ - /usr/local/include/X11R4 \ - \ - /usr/X386/include \ - /usr/x386/include \ - /usr/XFree86/include/X11 \ - \ - /usr/include \ - /usr/local/include \ - /usr/unsupported/include \ - /usr/athena/include \ - /usr/local/x11r5/include \ - /usr/lpp/Xamples/include \ - \ - /usr/openwin/include \ - /usr/openwin/share/include \ - ; \ - do - if test -r "$ac_dir/$x_direct_test_include"; then - ac_x_includes=$ac_dir - break - fi - done]) -fi # $ac_x_includes = NO - -if test "$ac_x_libraries" = NO; then - # Check for the libraries. - - test -z "$x_direct_test_library" && x_direct_test_library=Xt - test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc - - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS="$LIBS" - LIBS="-l$x_direct_test_library $LIBS" -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=], -[LIBS="$ac_save_LIBS" -# First see if replacing the include by lib works. -# Check X11 before X11Rn because it is often a symlink to the current release. -for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ - /usr/X11/lib${kdelibsuff} \ - /usr/X11R6/lib${kdelibsuff} \ - /usr/X11R5/lib${kdelibsuff} \ - /usr/X11R4/lib${kdelibsuff} \ - \ - /usr/lib${kdelibsuff}/X11 \ - /usr/lib${kdelibsuff}/X11R6 \ - /usr/lib${kdelibsuff}/X11R5 \ - /usr/lib${kdelibsuff}/X11R4 \ - \ - /usr/local/X11/lib${kdelibsuff} \ - /usr/local/X11R6/lib${kdelibsuff} \ - /usr/local/X11R5/lib${kdelibsuff} \ - /usr/local/X11R4/lib${kdelibsuff} \ - \ - /usr/local/lib${kdelibsuff}/X11 \ - /usr/local/lib${kdelibsuff}/X11R6 \ - /usr/local/lib${kdelibsuff}/X11R5 \ - /usr/local/lib${kdelibsuff}/X11R4 \ - \ - /usr/X386/lib${kdelibsuff} \ - /usr/x386/lib${kdelibsuff} \ - /usr/XFree86/lib${kdelibsuff}/X11 \ - \ - /usr/lib${kdelibsuff} \ - /usr/local/lib${kdelibsuff} \ - /usr/unsupported/lib${kdelibsuff} \ - /usr/athena/lib${kdelibsuff} \ - /usr/local/x11r5/lib${kdelibsuff} \ - /usr/lpp/Xamples/lib${kdelibsuff} \ - /lib/usr/lib${kdelibsuff}/X11 \ - \ - /usr/openwin/lib${kdelibsuff} \ - /usr/openwin/share/lib${kdelibsuff} \ - ; \ -do -dnl Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done]) -fi # $ac_x_libraries = NO -]) - - -dnl ------------------------------------------------------------------------ -dnl Find a file (or one of more files in a list of dirs) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_FIND_FILE], -[ -$3=NO -for i in $2; -do - for j in $1; - do - echo "configure: __oline__: $i/$j" >&AC_FD_CC - if test -r "$i/$j"; then - echo "taking that" >&AC_FD_CC - $3=$i - break 2 - fi - done -done -]) - -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]) - if test -n "$$2"; then - kde_cv_path="$$2"; - else - kde_cache=`echo $1 | sed 'y%./+-%__p_%'` - - AC_CACHE_VAL(kde_cv_path_$kde_cache, - [ - kde_cv_path="NONE" - kde_save_IFS=$IFS - IFS=':' - dirs="" - for dir in $PATH; do - dirs="$dirs $dir" - 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 - if test -x "$dir/$1"; then - if test -n "$5" - then - evalstr="$dir/$1 $5 2>&1 " - if eval $evalstr; then - kde_cv_path="$dir/$1" - break - fi - else - kde_cv_path="$dir/$1" - break - fi - fi - done - - eval "kde_cv_path_$kde_cache=$kde_cv_path" - - ]) - - eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" - - fi - - if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then - AC_MSG_RESULT(not found) - $4 - else - AC_MSG_RESULT($kde_cv_path) - $2=$kde_cv_path - - fi -]) - -AC_DEFUN([KDE_MOC_ERROR_MESSAGE], -[ - AC_MSG_ERROR([No Qt meta object compiler (moc) found! -Please check whether you installed Qt correctly. -You need to have a running moc binary. -configure tried to run $ac_cv_path_moc and the test didn't -succeed. If configure shouldn't have tried this one, set -the environment variable MOC to the right one before running -configure. -]) -]) - -AC_DEFUN([KDE_UIC_ERROR_MESSAGE], -[ - AC_MSG_WARN([No Qt ui compiler (uic) found! -Please check whether you installed Qt correctly. -You need to have a running uic binary. -configure tried to run $ac_cv_path_uic and the test didn't -succeed. If configure shouldn't have tried this one, set -the environment variable UIC to the right one before running -configure. -]) -]) - - -AC_DEFUN([KDE_CHECK_UIC_FLAG], -[ - AC_MSG_CHECKING([whether uic supports -$1 ]) - kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` - AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, - [ - cat >conftest.ui < -EOT - ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" - if AC_TRY_EVAL(ac_uic_testrun); then - eval "kde_cv_prog_uic_$kde_cache=yes" - else - eval "kde_cv_prog_uic_$kde_cache=no" - fi - rm -f conftest* - ]) - - if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then - AC_MSG_RESULT([yes]) - : - $3 - else - AC_MSG_RESULT([no]) - : - $4 - fi -]) - - -dnl ------------------------------------------------------------------------ -dnl Find the meta object compiler and the ui compiler in the PATH, -dnl in $QTDIR/bin, and some more usual places -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_PATH_QT_MOC_UIC], -[ - AC_REQUIRE([KDE_CHECK_PERL]) - qt_bindirs="" - for dir in $kde_qt_dirs; do - qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" - done - qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" - if test ! "$ac_qt_bindir" = "NO"; then - qt_bindirs="$ac_qt_bindir $qt_bindirs" - fi - - KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) - if test -z "$UIC_NOT_NEEDED"; then - KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) - if test -z "$UIC_PATH" ; then - KDE_UIC_ERROR_MESSAGE - exit 1 - else - UIC=$UIC_PATH - - if test $kde_qtver = 3; then - KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) - KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) - - if test x$ac_uic_supports_libpath = xyes; then - UIC="$UIC -L \$(kde_widgetdir)" - fi - if test x$ac_uic_supports_nounload = xyes; then - UIC="$UIC -nounload" - fi - fi - fi - else - UIC="echo uic not available: " - fi - - AC_SUBST(MOC) - AC_SUBST(UIC) - - UIC_TR="i18n" - if test $kde_qtver = 3; then - UIC_TR="tr2i18n" - fi - - AC_SUBST(UIC_TR) -]) - -AC_DEFUN([KDE_1_CHECK_PATHS], -[ - KDE_1_CHECK_PATH_HEADERS - - KDE_TEST_RPATH= - - if test -n "$USE_RPATH"; then - - if test -n "$kde_libraries"; then - KDE_TEST_RPATH="-R $kde_libraries" - fi - - if test -n "$qt_libraries"; then - KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" - fi - - if test -n "$x_libraries"; then - KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" - fi - - KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" - fi - -AC_MSG_CHECKING([for KDE libraries installed]) -ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' - -if AC_TRY_EVAL(ac_link) && test -s conftest; then - AC_MSG_RESULT(yes) -else - AC_MSG_ERROR([your system fails at linking a small KDE application! -Check, if your compiler is installed correctly and if you have used the -same compiler to compile Qt and kdelibs as you did use now. -For more details about this problem, look at the end of config.log.]) -fi - -if eval `KDEDIR= ./conftest 2>&5`; then - kde_result=done -else - kde_result=problems -fi - -KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log -kde_have_all_paths=yes - -KDE_SET_PATHS($kde_result) - -]) - -AC_DEFUN([KDE_SET_PATHS], -[ - kde_cv_all_paths="kde_have_all_paths=\"yes\" \ - kde_htmldir=\"$kde_htmldir\" \ - kde_appsdir=\"$kde_appsdir\" \ - kde_icondir=\"$kde_icondir\" \ - kde_sounddir=\"$kde_sounddir\" \ - kde_datadir=\"$kde_datadir\" \ - kde_locale=\"$kde_locale\" \ - kde_cgidir=\"$kde_cgidir\" \ - kde_confdir=\"$kde_confdir\" \ - kde_kcfgdir=\"$kde_kcfgdir\" \ - kde_mimedir=\"$kde_mimedir\" \ - kde_toolbardir=\"$kde_toolbardir\" \ - kde_wallpaperdir=\"$kde_wallpaperdir\" \ - kde_templatesdir=\"$kde_templatesdir\" \ - kde_bindir=\"$kde_bindir\" \ - kde_servicesdir=\"$kde_servicesdir\" \ - kde_servicetypesdir=\"$kde_servicetypesdir\" \ - kde_moduledir=\"$kde_moduledir\" \ - kde_styledir=\"$kde_styledir\" \ - kde_widgetdir=\"$kde_widgetdir\" \ - xdg_appsdir=\"$xdg_appsdir\" \ - xdg_menudir=\"$xdg_menudir\" \ - xdg_directorydir=\"$xdg_directorydir\" \ - kde_result=$1" -]) - -AC_DEFUN([KDE_SET_DEFAULT_PATHS], -[ -if test "$1" = "default"; then - - if test -z "$kde_htmldir"; then - kde_htmldir='\${datadir}/doc/HTML' - fi - if test -z "$kde_appsdir"; then - kde_appsdir='\${datadir}/applnk' - fi - if test -z "$kde_icondir"; then - kde_icondir='\${datadir}/icons' - fi - if test -z "$kde_sounddir"; then - kde_sounddir='\${datadir}/sounds' - fi - if test -z "$kde_datadir"; then - kde_datadir='\${datadir}/apps' - fi - if test -z "$kde_locale"; then - kde_locale='\${datadir}/locale' - fi - if test -z "$kde_cgidir"; then - kde_cgidir='\${exec_prefix}/cgi-bin' - fi - if test -z "$kde_confdir"; then - kde_confdir='\${datadir}/config' - fi - if test -z "$kde_kcfgdir"; then - kde_kcfgdir='\${datadir}/config.kcfg' - fi - if test -z "$kde_mimedir"; then - kde_mimedir='\${datadir}/mimelnk' - fi - if test -z "$kde_toolbardir"; then - kde_toolbardir='\${datadir}/toolbar' - fi - if test -z "$kde_wallpaperdir"; then - kde_wallpaperdir='\${datadir}/wallpapers' - fi - if test -z "$kde_templatesdir"; then - kde_templatesdir='\${datadir}/templates' - fi - if test -z "$kde_bindir"; then - kde_bindir='\${exec_prefix}/bin' - fi - if test -z "$kde_servicesdir"; then - kde_servicesdir='\${datadir}/services' - fi - if test -z "$kde_servicetypesdir"; then - kde_servicetypesdir='\${datadir}/servicetypes' - fi - if test -z "$kde_moduledir"; then - if test "$kde_qtver" = "2"; then - kde_moduledir='\${libdir}/kde2' - else - kde_moduledir='\${libdir}/kde3' - fi - fi - if test -z "$kde_styledir"; then - kde_styledir='\${libdir}/kde3/plugins/styles' - fi - if test -z "$kde_widgetdir"; then - kde_widgetdir='\${libdir}/kde3/plugins/designer' - fi - if test -z "$xdg_appsdir"; then - xdg_appsdir='\${datadir}/applications/kde' - fi - if test -z "$xdg_menudir"; then - xdg_menudir='\${sysconfdir}/xdg/menus' - fi - if test -z "$xdg_directorydir"; then - xdg_directorydir='\${datadir}/desktop-directories' - fi - - KDE_SET_PATHS(defaults) - -else - - if test $kde_qtver = 1; then - AC_MSG_RESULT([compiling]) - KDE_1_CHECK_PATHS - else - AC_MSG_ERROR([path checking not yet supported for KDE 2]) - fi - -fi -]) - -AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], -[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || - test -z "$kde_icondir" || test -z "$kde_sounddir" || - test -z "$kde_datadir" || test -z "$kde_locale" || - test -z "$kde_cgidir" || test -z "$kde_confdir" || - test -z "$kde_kcfgdir" || - test -z "$kde_mimedir" || test -z "$kde_toolbardir" || - test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || - test -z "$kde_bindir" || test -z "$kde_servicesdir" || - test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || - test -z "$kde_styledir" || test -z "kde_widgetdir" || - test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || - test "x$kde_have_all_paths" != "xyes"; then - kde_have_all_paths=no - fi -]) - -AC_DEFUN([KDE_MISSING_PROG_ERROR], -[ - AC_MSG_ERROR([The important program $1 was not found! -Please check whether you installed KDE correctly. -]) -]) - -AC_DEFUN([KDE_MISSING_ARTS_ERROR], -[ - AC_MSG_ERROR([The important program $1 was not found! -Please check whether you installed aRts correctly or use ---without-arts to compile without aRts support (this will remove functionality). -]) -]) - -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=no]]), - [build_arts=$withval], - [build_arts=yes] - ) - 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 - 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(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"; 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 - - if test -n "$kde32ornewer"; then - 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 - 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) - if test "$KDE_XSL_STYLESHEET" = "NO"; then - KDE_XSL_STYLESHEET="" - else - KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" - fi - fi - - DCOP_DEPENDENCIES='$(DCOPIDL)' - if test -n "$kde32ornewer"; then - KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' - DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' - AC_SUBST(KCONFIG_COMPILER) - AC_SUBST(KCFG_DEPENDENCIES) - AC_SUBST(DCOPIDLNG) - fi - AC_SUBST(DCOPIDL) - AC_SUBST(DCOPIDL2CPP) - AC_SUBST(DCOP_DEPENDENCIES) - AC_SUBST(MCOPIDL) - AC_SUBST(ARTSCCONFIG) - AC_SUBST(MEINPROC) - AC_SUBST(KDE_XSL_STYLESHEET) - AC_SUBST(XMLLINT) -])dnl - -AC_DEFUN([AC_CREATE_KFSSTND], -[ -AC_REQUIRE([AC_CHECK_RPATH]) - -AC_MSG_CHECKING([for KDE paths]) -kde_result="" -kde_cached_paths=yes -AC_CACHE_VAL(kde_cv_all_paths, -[ - KDE_SET_DEFAULT_PATHS($1) - kde_cached_paths=no -]) -eval "$kde_cv_all_paths" -KDE_CHECK_PATHS_FOR_COMPLETENESS -if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then - # wrong values were cached, may be, we can set better ones - kde_result= - kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= - kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= - kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= - kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= - kde_have_all_paths= - kde_styledir= - kde_widgetdir= - xdg_appsdir = xdg_menudir= xdg_directorydir= - KDE_SET_DEFAULT_PATHS($1) - eval "$kde_cv_all_paths" - KDE_CHECK_PATHS_FOR_COMPLETENESS - kde_result="$kde_result (cache overridden)" -fi -if test "$kde_have_all_paths" = "no"; then - AC_MSG_ERROR([configure could not run a little KDE program to test the environment. -Since it had compiled and linked before, it must be a strange problem on your system. -Look at config.log for details. If you are not able to fix this, look at -http://www.kde.org/faq/installation.html or any www.kde.org mirror. -(If you're using an egcs version on Linux, you may update binutils!) -]) -else - rm -f conftest* - AC_MSG_RESULT($kde_result) -fi - -bindir=$kde_bindir - -KDE_SUBST_PROGRAMS - -]) - -AC_DEFUN([AC_SUBST_KFSSTND], -[ -AC_SUBST(kde_htmldir) -AC_SUBST(kde_appsdir) -AC_SUBST(kde_icondir) -AC_SUBST(kde_sounddir) -AC_SUBST(kde_datadir) -AC_SUBST(kde_locale) -AC_SUBST(kde_confdir) -AC_SUBST(kde_kcfgdir) -AC_SUBST(kde_mimedir) -AC_SUBST(kde_wallpaperdir) -AC_SUBST(kde_bindir) -dnl X Desktop Group standards -AC_SUBST(xdg_appsdir) -AC_SUBST(xdg_menudir) -AC_SUBST(xdg_directorydir) -dnl for KDE 2 -AC_SUBST(kde_templatesdir) -AC_SUBST(kde_servicesdir) -AC_SUBST(kde_servicetypesdir) -AC_SUBST(kde_moduledir) -AC_SUBST(kdeinitdir, '$(kde_moduledir)') -AC_SUBST(kde_styledir) -AC_SUBST(kde_widgetdir) -if test "$kde_qtver" = 1; then - kde_minidir="$kde_icondir/mini" -else -# for KDE 1 - this breaks KDE2 apps using minidir, but -# that's the plan ;-/ - kde_minidir="/dev/null" -fi -dnl AC_SUBST(kde_minidir) -dnl AC_SUBST(kde_cgidir) -dnl AC_SUBST(kde_toolbardir) -]) - -AC_DEFUN([KDE_MISC_TESTS], -[ - dnl Checks for libraries. - AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD - AC_SUBST(LIBUTIL) - AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD - AC_SUBST(LIBCOMPAT) - kde_have_crypt= - AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], - AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ - AC_MSG_WARN([you have no crypt in either libcrypt or libc. -You should install libcrypt from another source or configure with PAM -support]) - kde_have_crypt=no - ])) - AC_SUBST(LIBCRYPT) - if test $kde_have_crypt = yes; then - AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) - fi - AC_CHECK_SOCKLEN_T - AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) - if test $ac_cv_lib_dnet_dnet_ntoa = no; then - AC_CHECK_LIB(dnet_stub, dnet_ntoa, - [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) - fi - AC_CHECK_FUNC(inet_ntoa) - if test $ac_cv_func_inet_ntoa = no; then - AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") - fi - AC_CHECK_FUNC(connect) - if test $ac_cv_func_connect = no; then - AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , - $X_EXTRA_LIBS) - fi - - AC_CHECK_FUNC(remove) - if test $ac_cv_func_remove = no; then - AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") - fi - - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - AC_CHECK_FUNC(shmat, , - AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) - - # 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]) - FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio" - ]) - - AC_CHECK_RES_INIT - AC_SUBST(LIB_POLL) - AC_SUBST(FRAMEWORK_COREAUDIO) - LIBSOCKET="$X_EXTRA_LIBS" - AC_SUBST(LIBSOCKET) - AC_SUBST(X_EXTRA_LIBS) - AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 - AC_SUBST(LIBUCB) - - case $host in dnl this *is* LynxOS specific - *-*-lynxos* ) - AC_MSG_CHECKING([LynxOS header file wrappers]) - [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] - AC_MSG_RESULT(disabled) - AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS - ;; - esac - - 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) -AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) - -AH_VERBATIM(_DARWIN_ENVIRON, -[ -#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) -# include -# include -# define environ (*_NSGetEnviron()) -#endif -]) - -AH_VERBATIM(_AIX_STRINGS_H_BZERO, -[ -/* - * AIX defines FD_SET in terms of bzero, but fails to include - * that defines bzero. - */ - -#if defined(_AIX) -#include -#endif -]) - -AC_CHECK_FUNCS([vsnprintf snprintf]) - -AH_VERBATIM(_TRU64,[ -/* - * On HP-UX, the declaration of vsnprintf() is needed every time ! - */ - -#if !defined(HAVE_VSNPRINTF) || defined(hpux) -#if __STDC__ -#include -#include -#else -#include -#endif -#ifdef __cplusplus -extern "C" -#endif -int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); -#ifdef __cplusplus -extern "C" -#endif -int snprintf(char *str, size_t n, char const *fmt, ...); -#endif -]) - -]) - -dnl ------------------------------------------------------------------------ -dnl Find the header files and libraries for X-Windows. Extended the -dnl macro AC_PATH_X -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([K_PATH_X], -[ -AC_REQUIRE([KDE_MISC_TESTS])dnl -AC_REQUIRE([KDE_CHECK_LIB64]) - -AC_ARG_ENABLE( - embedded, - AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), - kde_use_qt_emb=$enableval, - kde_use_qt_emb=no -) - -AC_ARG_ENABLE( - qtopia, - AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), - kde_use_qt_emb_palm=$enableval, - kde_use_qt_emb_palm=no -) - -AC_ARG_ENABLE( - mac, - AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), - kde_use_qt_mac=$enableval, - 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) - -AC_CACHE_VAL(kde_cv_have_x, -[# One or both of the vars are not set, and there is no cached value. -if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then - kde_x_includes=NO -else - kde_x_includes=$x_includes -fi -if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then - kde_x_libraries=NO -else - kde_x_libraries=$x_libraries -fi - -# below we use the standard autoconf calls -ac_x_libraries=$kde_x_libraries -ac_x_includes=$kde_x_includes - -KDE_PATH_X_DIRECT -dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. -dnl Unfortunately, if compiling with the N32 ABI, this is not the correct -dnl location. The correct location is /usr/lib32 or an undefined value -dnl (the linker is smart enough to pick the correct default library). -dnl Things work just fine if you use just AC_PATH_X_DIRECT. -dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to -dnl /usr/openwin/include, which doesn't work. /usr/include does work, so -dnl x_includes should be left alone. -case "$host" in -mips-sgi-irix6*) - ;; -*-*-solaris*) - ;; -*) - _AC_PATH_X_XMKMF - if test -z "$ac_x_includes"; then - ac_x_includes="." - fi - if test -z "$ac_x_libraries"; then - ac_x_libraries="/usr/lib${kdelibsuff}" - fi -esac -#from now on we use our own again - -# when the user already gave --x-includes, we ignore -# what the standard autoconf macros told us. -if test "$kde_x_includes" = NO; then - kde_x_includes=$ac_x_includes -fi - -# for --x-libraries too -if test "$kde_x_libraries" = NO; then - kde_x_libraries=$ac_x_libraries -fi - -if test "$kde_x_includes" = NO; then - AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) -fi - -if test "$kde_x_libraries" = NO; then - AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) -fi - -# Record where we found X for the cache. -kde_cv_have_x="have_x=yes \ - kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" -])dnl - -eval "$kde_cv_have_x" - -if test "$have_x" != yes; then - AC_MSG_RESULT($have_x) - no_x=yes -else - AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) -fi - -if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then - X_INCLUDES="" - x_includes="."; dnl better than nothing :- - else - x_includes=$kde_x_includes - X_INCLUDES="-I$x_includes" -fi - -if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE || test "$kde_x_libraries" = "/usr/lib"; then - X_LDFLAGS="" - x_libraries="/usr/lib"; dnl better than nothing :- - else - x_libraries=$kde_x_libraries - X_LDFLAGS="-L$x_libraries" -fi -all_includes="$X_INCLUDES" -all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS" - -# Check for libraries that X11R6 Xt/Xaw programs need. -ac_save_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS $X_LDFLAGS" -# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to -# check for ICE first), but we must link in the order -lSM -lICE or -# we get undefined symbols. So assume we have SM if we have ICE. -# These have to be linked with before -lX11, unlike the other -# libraries we check for below, so use a different variable. -# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. -AC_CHECK_LIB(ICE, IceConnectionNumber, - [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) -LDFLAGS="$ac_save_LDFLAGS" - -LIB_X11='-lX11 $(LIBSOCKET)' - -AC_MSG_CHECKING(for libXext) -AC_CACHE_VAL(kde_cv_have_libXext, -[ -kde_ldflags_safe="$LDFLAGS" -kde_libs_safe="$LIBS" - -LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" -LIBS="-lXext -lX11 $LIBSOCKET" - -AC_TRY_LINK([ -#include -#ifdef STDC_HEADERS -# include -#endif -], -[ -printf("hello Xext\n"); -], -kde_cv_have_libXext=yes, -kde_cv_have_libXext=no -) - -LDFLAGS=$kde_ldflags_safe -LIBS=$kde_libs_safe -]) - -AC_MSG_RESULT($kde_cv_have_libXext) - -if test "$kde_cv_have_libXext" = "no"; then - AC_MSG_ERROR([We need a working libXext to proceed. Since configure -can't find it itself, we stop here assuming that make wouldn't find -them either.]) -fi - -LIB_XEXT="-lXext" -QTE_NORTTI="" - -elif test "$kde_use_qt_emb" = "yes"; then - dnl We're using QT Embedded - CPPFLAGS=-DQWS - CXXFLAGS="$CXXFLAGS -fno-rtti" - QTE_NORTTI="-fno-rtti -DQWS" - X_PRE_LIBS="" - LIB_X11="" - LIB_XEXT="" - LIB_XRENDER="" - LIBSM="" - X_INCLUDES="" - X_LDFLAGS="" - x_includes="" - x_libraries="" -elif test "$kde_use_qt_mac" = "yes"; then - dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to - dnl be included to get the information) --Sam - CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" - CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" - X_PRE_LIBS="" - LIB_X11="" - LIB_XEXT="" - LIB_XRENDER="" - LIBSM="" - X_INCLUDES="" - X_LDFLAGS="" - x_includes="" - x_libraries="" -fi -AC_SUBST(X_PRE_LIBS) -AC_SUBST(LIB_X11) -AC_SUBST(LIB_XRENDER) -AC_SUBST(LIBSM) -AC_SUBST(X_INCLUDES) -AC_SUBST(X_LDFLAGS) -AC_SUBST(x_includes) -AC_SUBST(x_libraries) -AC_SUBST(QTE_NORTTI) -AC_SUBST(LIB_XEXT) - -]) - -AC_DEFUN([KDE_PRINT_QT_PROGRAM], -[ -AC_REQUIRE([KDE_USE_QT]) -cat > conftest.$ac_ext < -#include -EOF -if test "$kde_qtver" = "2"; then -cat >> conftest.$ac_ext < -#include -#include -EOF - -if test $kde_qtsubver -gt 0; then -cat >> conftest.$ac_ext <> conftest.$ac_ext < -#include -#include -EOF -fi - -echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext -cat >> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <&AC_FD_CC - cat conftest.$ac_ext >&AC_FD_CC -fi - -rm -f conftest* -CXXFLAGS="$ac_cxxflags_safe" -LDFLAGS="$ac_ldflags_safe" -LIBS="$ac_libs_safe" - -LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" -export LD_LIBRARY_PATH -LIBRARY_PATH="$ac_LIBRARY_PATH" -export LIBRARY_PATH -AC_LANG_RESTORE -]) - -if test "$kde_cv_qt_direct" = "yes"; then - AC_MSG_RESULT(yes) - $1 -else - AC_MSG_RESULT(no) - $2 -fi -]) - -dnl ------------------------------------------------------------------------ -dnl Try to find the Qt headers and libraries. -dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) -dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_PATH_QT_1_3], -[ -AC_REQUIRE([K_PATH_X]) -AC_REQUIRE([KDE_USE_QT]) -AC_REQUIRE([KDE_CHECK_LIB64]) - -dnl ------------------------------------------------------------------------ -dnl Add configure flag to enable linking to MT version of Qt library. -dnl ------------------------------------------------------------------------ - -AC_ARG_ENABLE( - mt, - AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]), - kde_use_qt_mt=$enableval, - [ - if test $kde_qtver = 3; then - kde_use_qt_mt=yes - else - kde_use_qt_mt=no - fi - ] -) - -USING_QT_MT="" - -dnl ------------------------------------------------------------------------ -dnl If we not get --disable-qt-mt then adjust some vars for the host. -dnl ------------------------------------------------------------------------ - -KDE_MT_LDFLAGS= -KDE_MT_LIBS= -if test "x$kde_use_qt_mt" = "xyes"; then - KDE_CHECK_THREADING - if test "x$kde_use_threading" = "xyes"; then - CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" - KDE_MT_LDFLAGS="$USE_THREADS" - KDE_MT_LIBS="$LIBPTHREAD" - else - kde_use_qt_mt=no - fi -fi -AC_SUBST(KDE_MT_LDFLAGS) -AC_SUBST(KDE_MT_LIBS) - -kde_qt_was_given=yes - -dnl ------------------------------------------------------------------------ -dnl If we haven't been told how to link to Qt, we work it out for ourselves. -dnl ------------------------------------------------------------------------ -if test -z "$LIBQT_GLOB"; then - if test "x$kde_use_qt_emb" = "xyes"; then - LIBQT_GLOB="libqte.*" - else - LIBQT_GLOB="libqt.*" - fi -fi - -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 -z "$LIBQPE"; then -dnl ------------------------------------------------------------ -dnl If we got --enable-palmtop then add -lqpe to the link line -dnl ------------------------------------------------------------ - if test "x$kde_use_qt_emb" = "xyes"; then - if test "x$kde_use_qt_emb_palm" = "xyes"; then - LIB_QPE="-lqpe" - else - LIB_QPE="" - fi - else - LIB_QPE="" - fi -fi - -dnl ------------------------------------------------------------------------ -dnl If we got --enable-qt-mt then adjust the Qt library name for the host. -dnl ------------------------------------------------------------------------ - -if test "x$kde_use_qt_mt" = "xyes"; then - LIBQT="-l$qtlib-mt" - kde_int_qt="-l$qtlib-mt" - LIBQT_GLOB="lib$qtlib-mt.*" - USING_QT_MT="using -mt" -else - LIBQT="-l$qtlib" -fi - -if test $kde_qtver != 1; then - - AC_REQUIRE([AC_FIND_PNG]) - AC_REQUIRE([AC_FIND_JPEG]) - LIBQT="$LIBQT $LIBPNG $LIBJPEG" -fi - -if test $kde_qtver = 3; then - AC_REQUIRE([KDE_CHECK_LIBDL]) - LIBQT="$LIBQT $LIBDL" -fi - -AC_MSG_CHECKING([for Qt]) - -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" -fi -ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO -qt_libraries="" -qt_includes="" -AC_ARG_WITH(qt-dir, - AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]), - [ ac_qt_includes="$withval"/include - ac_qt_libraries="$withval"/lib${kdelibsuff} - ac_qt_bindir="$withval"/bin - ]) - -AC_ARG_WITH(qt-includes, - AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]), - [ - ac_qt_includes="$withval" - ]) - -kde_qt_libs_given=no - -AC_ARG_WITH(qt-libraries, - AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]), - [ ac_qt_libraries="$withval" - kde_qt_libs_given=yes - ]) - -AC_CACHE_VAL(ac_cv_have_qt, -[#try to guess Qt locations - -qt_incdirs="" -for dir in $kde_qt_dirs; do - qt_incdirs="$qt_incdirs $dir/include $dir" -done -if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -fi -if test "$PKG_CONFIG" != "no" ; then - if $PKG_CONFIG --exists qt-mt ; then - qt_incdirs="$qt_incdirs `$PKG_CONFIG --variable=includedir qt-mt`" - fi -fi -qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes" -if test ! "$ac_qt_includes" = "NO"; then - qt_incdirs="$ac_qt_includes $qt_incdirs" -fi - -if test "$kde_qtver" != "1"; then - kde_qt_header=qstyle.h -else - kde_qt_header=qglobal.h -fi - -AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) -ac_qt_includes="$qt_incdir" - -qt_libdirs="" -for dir in $kde_qt_dirs; do - qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir/lib $dir" -done -if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -fi -if test "$PKG_CONFIG" != "no" ; then - if $PKG_CONFIG --exists qt-mt ; then - qt_libdirs="$qt_incdirs `$PKG_CONFIG --variable=libdir qt-mt`" - fi -fi -qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" -if test ! "$ac_qt_libraries" = "NO"; then - qt_libdir=$ac_qt_libraries -else - qt_libdirs="$ac_qt_libraries $qt_libdirs" - # if the Qt was given, the chance is too big that libqt.* doesn't exist - qt_libdir=NONE - for dir in $qt_libdirs; do - try="ls -1 $dir/${LIBQT_GLOB}" - if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi - done -fi -for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do - if test -e "$a"; then - LIBQT="$LIBQT ${kde_int_qt}_incremental" - break - fi -done - -ac_qt_libraries="$qt_libdir" - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - -ac_cxxflags_safe="$CXXFLAGS" -ac_ldflags_safe="$LDFLAGS" -ac_libs_safe="$LIBS" - -CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" -LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" -LIBS="$LIBS $LIBQT $KDE_MT_LIBS" - -KDE_PRINT_QT_PROGRAM - -if AC_TRY_EVAL(ac_link) && test -s conftest; then - rm -f conftest* -else - echo "configure: failed program was:" >&AC_FD_CC - cat conftest.$ac_ext >&AC_FD_CC - ac_qt_libraries="NO" -fi -rm -f conftest* -CXXFLAGS="$ac_cxxflags_safe" -LDFLAGS="$ac_ldflags_safe" -LIBS="$ac_libs_safe" - -AC_LANG_RESTORE -if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then - ac_cv_have_qt="have_qt=no" - ac_qt_notfound="" - missing_qt_mt="" - if test "$ac_qt_includes" = NO; then - if test "$ac_qt_libraries" = NO; then - ac_qt_notfound="(headers and libraries)"; - else - ac_qt_notfound="(headers)"; - fi - else - if test "x$kde_use_qt_mt" = "xyes"; then - missing_qt_mt=" -Make sure that you have compiled Qt with thread support!" - ac_qt_notfound="(library $qtlib-mt)"; - else - ac_qt_notfound="(library $qtlib)"; - fi - fi - - AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! -For more details about this problem, look at the end of config.log.$missing_qt_mt]) -else - have_qt="yes" -fi -]) - -eval "$ac_cv_have_qt" - -if test "$have_qt" != yes; then - AC_MSG_RESULT([$have_qt]); -else - ac_cv_have_qt="have_qt=yes \ - ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" - AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) - - qt_libraries="$ac_qt_libraries" - qt_includes="$ac_qt_includes" -fi - -if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then - KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) -fi - -AC_SUBST(qt_libraries) -AC_SUBST(qt_includes) - -if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then - QT_INCLUDES="" -else - QT_INCLUDES="-I$qt_includes" - all_includes="$QT_INCLUDES $all_includes" -fi - -if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then - QT_LDFLAGS="" -else - QT_LDFLAGS="-L$qt_libraries" - all_libraries="$QT_LDFLAGS $all_libraries" -fi -test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" - -AC_SUBST(QT_INCLUDES) -AC_SUBST(QT_LDFLAGS) -AC_PATH_QT_MOC_UIC - -KDE_CHECK_QT_JPEG - -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' -else -LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' -fi -test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" -for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do - if test -e "$a"; then - LIB_QT="$LIB_QT ${kde_int_qt}_incremental" - break - fi -done - -AC_SUBST(LIB_QT) -AC_SUBST(LIB_QPE) - -AC_SUBST(kde_qtver) -]) - -AC_DEFUN([AC_PATH_QT], -[ -AC_PATH_QT_1_3 -]) - -AC_DEFUN([KDE_CHECK_UIC_PLUGINS], -[ -AC_REQUIRE([AC_PATH_QT_MOC_UIC]) - -if test x$ac_uic_supports_libpath = xyes; then - -AC_MSG_CHECKING([if UIC has KDE plugins available]) -AC_CACHE_VAL(kde_cv_uic_plugins, -[ -cat > actest.ui << EOF - -NewConnectionDialog - - - - testInput - - - - -EOF - - - -kde_cv_uic_plugins=no -kde_line="$UIC_PATH -L $kde_widgetdir" -if test x$ac_uic_supports_nounload = xyes; then - kde_line="$kde_line -nounload" -fi -kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" -if AC_TRY_EVAL(kde_line); then - # if you're trying to debug this check and think it's incorrect, - # better check your installation. The check _is_ correct - your - # installation is not. - if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then - kde_cv_uic_plugins=yes - fi -fi -rm -f actest.ui actest.cpp -]) - -AC_MSG_RESULT([$kde_cv_uic_plugins]) -if test "$kde_cv_uic_plugins" != yes; then - 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 -]) - -AC_DEFUN([KDE_CHECK_FINAL], -[ - AC_ARG_ENABLE(final, - AC_HELP_STRING([--enable-final], - [build size optimized apps (experimental - needs lots of memory)]), - kde_use_final=$enableval, kde_use_final=no) - - if test "x$kde_use_final" = "xyes"; then - KDE_USE_FINAL_TRUE="" - KDE_USE_FINAL_FALSE="#" - else - KDE_USE_FINAL_TRUE="#" - KDE_USE_FINAL_FALSE="" - fi - AC_SUBST(KDE_USE_FINAL_TRUE) - AC_SUBST(KDE_USE_FINAL_FALSE) -]) - -AC_DEFUN([KDE_CHECK_CLOSURE], -[ - AC_ARG_ENABLE(closure, - AC_HELP_STRING([--enable-closure],[delay template instantiation]), - kde_use_closure=$enableval, kde_use_closure=no) - - KDE_NO_UNDEFINED="" - if test "x$kde_use_closure" = "xyes"; then - KDE_USE_CLOSURE_TRUE="" - KDE_USE_CLOSURE_FALSE="#" -# CXXFLAGS="$CXXFLAGS $REPO" - else - KDE_USE_CLOSURE_TRUE="#" - KDE_USE_CLOSURE_FALSE="" - KDE_NO_UNDEFINED="" - case $host in - *-*-linux-gnu) - KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], - [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], - [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], - [KDE_NO_UNDEFINED=""])], - [KDE_NO_UNDEFINED=""]) - ;; - esac - fi - AC_SUBST(KDE_USE_CLOSURE_TRUE) - AC_SUBST(KDE_USE_CLOSURE_FALSE) - 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]), - kde_use_nmcheck=$enableval, kde_use_nmcheck=no) - - if test "$kde_use_nmcheck" = "yes"; then - KDE_USE_NMCHECK_TRUE="" - KDE_USE_NMCHECK_FALSE="#" - else - KDE_USE_NMCHECK_TRUE="#" - KDE_USE_NMCHECK_FALSE="" - fi - AC_SUBST(KDE_USE_NMCHECK_TRUE) - AC_SUBST(KDE_USE_NMCHECK_FALSE) -]) - -AC_DEFUN([KDE_EXPAND_MAKEVAR], [ -savex=$exec_prefix -test "x$exec_prefix" = xNONE && exec_prefix=$prefix -tmp=$$2 -while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done -exec_prefix=$savex -]) - -dnl ------------------------------------------------------------------------ -dnl Now, the same with KDE -dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) -dnl and $(kde_includes) will be the kdehdrlocation (if needed) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_BASE_PATH_KDE], -[ -AC_REQUIRE([KDE_CHECK_STL]) -AC_REQUIRE([AC_PATH_QT])dnl -AC_REQUIRE([KDE_CHECK_LIB64]) - -AC_CHECK_RPATH -AC_MSG_CHECKING([for KDE]) - -if test "${prefix}" != NONE; then - kde_includes=${includedir} - KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) - - kde_libraries=${libdir} - KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) - -else - ac_kde_includes= - ac_kde_libraries= - kde_libraries="" - kde_includes="" -fi - -AC_CACHE_VAL(ac_cv_have_kde, -[#try to guess kde locations - -if test "$kde_qtver" = 1; then - kde_check_header="ksock.h" - kde_check_lib="libkdecore.la" -else - kde_check_header="ksharedptr.h" - kde_check_lib="libkio.la" -fi - -if test -z "$1"; then - -kde_incdirs="$kde_libs_prefix/include /opt/kde3/include/kde /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) -ac_kde_includes="$kde_incdir" - -if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then - AC_MSG_ERROR([ -in the prefix, you've chosen, are no KDE headers installed. This will fail. -So, check this please and use another prefix!]) -fi - -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) -ac_kde_libraries="$kde_libdir" - -kde_widgetdir=NO -dnl this might be somewhere else -AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) - -if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then -AC_MSG_ERROR([ -in the prefix, you've chosen, are no KDE libraries installed. This will fail. -So, check this please and use another prefix!]) -fi - -if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then -AC_MSG_ERROR([ -I can't find the designer plugins. These are required and should have been installed -by kdelibs]) -fi - -if test -n "$kde_widgetdir"; then - kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" -fi - - -if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then - ac_cv_have_kde="have_kde=no" -else - ac_cv_have_kde="have_kde=yes \ - ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" -fi - -else dnl test -z $1, e.g. from kdelibs - - ac_cv_have_kde="have_kde=no" - -fi -])dnl - -eval "$ac_cv_have_kde" - -if test "$have_kde" != "yes"; then - if test "${prefix}" = NONE; then - ac_kde_prefix="$ac_default_prefix" - else - ac_kde_prefix="$prefix" - fi - if test "$exec_prefix" = NONE; then - ac_kde_exec_prefix="$ac_kde_prefix" - AC_MSG_RESULT([will be installed in $ac_kde_prefix]) - else - ac_kde_exec_prefix="$exec_prefix" - AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) - fi - - kde_libraries="${libdir}" - kde_includes="${includedir}" - -else - ac_cv_have_kde="have_kde=yes \ - ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" - AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) - - kde_libraries="$ac_kde_libraries" - kde_includes="$ac_kde_includes" -fi -AC_SUBST(kde_libraries) -AC_SUBST(kde_includes) - -if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then - KDE_INCLUDES="" -else - KDE_INCLUDES="-I$kde_includes" - all_includes="$KDE_INCLUDES $all_includes" -fi - -KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION" - -KDE_LDFLAGS="-L$kde_libraries" -if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then - all_libraries="$KDE_LDFLAGS $all_libraries" -fi - -AC_SUBST(KDE_LDFLAGS) -AC_SUBST(KDE_INCLUDES) - -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - -all_libraries="$all_libraries $USER_LDFLAGS" -all_includes="$all_includes $USER_INCLUDES" -AC_SUBST(all_includes) -AC_SUBST(all_libraries) - -if test -z "$1"; then -KDE_CHECK_UIC_PLUGINS -fi - -ac_kde_libraries="$kde_libdir" - -AC_SUBST(AUTODIRS) - - -]) - -AC_DEFUN([KDE_CHECK_EXTRA_LIBS], -[ -AC_MSG_CHECKING(for extra includes) -AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), - kde_use_extra_includes="$withval", - kde_use_extra_includes=NONE -) -kde_extra_includes= -if test -n "$kde_use_extra_includes" && \ - test "$kde_use_extra_includes" != "NONE"; then - - ac_save_ifs=$IFS - IFS=':' - for dir in $kde_use_extra_includes; do - kde_extra_includes="$kde_extra_includes $dir" - USER_INCLUDES="$USER_INCLUDES -I$dir" - done - IFS=$ac_save_ifs - kde_use_extra_includes="added" -else - kde_use_extra_includes="no" -fi -AC_SUBST(USER_INCLUDES) - -AC_MSG_RESULT($kde_use_extra_includes) - -kde_extra_libs= -AC_MSG_CHECKING(for extra libs) -AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), - kde_use_extra_libs=$withval, - kde_use_extra_libs=NONE -) -if test -n "$kde_use_extra_libs" && \ - test "$kde_use_extra_libs" != "NONE"; then - - ac_save_ifs=$IFS - IFS=':' - for dir in $kde_use_extra_libs; do - kde_extra_libs="$kde_extra_libs $dir" - KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" - USER_LDFLAGS="$USER_LDFLAGS -L$dir" - done - IFS=$ac_save_ifs - kde_use_extra_libs="added" -else - kde_use_extra_libs="no" -fi - -AC_SUBST(USER_LDFLAGS) - -AC_MSG_RESULT($kde_use_extra_libs) - -]) - -AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], -[ - AC_MSG_CHECKING([for KDE headers installed]) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS -cat > conftest.$ac_ext < -#endif -#include -#include "confdefs.h" -#include - -int main() { - printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); - printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); - printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); - printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); - printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); - printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); - printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); - printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); - printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); - printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); - printf("kde_wallpaperdir=\\"%s\\"\n", - KApplication::kde_wallpaperdir().data()); - printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); - printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); - printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); - printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); - printf("kde_moduledir=\\"/tmp/dummy\\"\n"); - printf("kde_styledir=\\"/tmp/dummy\\"\n"); - printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); - printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); - printf("xdg_menudir=\\"/tmp/dummy\\"\n"); - printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); - printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); - return 0; - } -EOF - - ac_save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$all_includes $CPPFLAGS" - if AC_TRY_EVAL(ac_compile); then - AC_MSG_RESULT(yes) - else - AC_MSG_ERROR([your system is not able to compile a small KDE application! -Check, if you installed the KDE header files correctly. -For more details about this problem, look at the end of config.log.]) - fi - CPPFLAGS=$ac_save_CPPFLAGS - - AC_LANG_RESTORE -]) - -AC_DEFUN([KDE_CHECK_KDEQTADDON], -[ -AC_MSG_CHECKING(for kde-qt-addon) -AC_CACHE_VAL(kde_cv_have_kdeqtaddon, -[ - kde_ldflags_safe="$LDFLAGS" - kde_libs_safe="$LIBS" - kde_cxxflags_safe="$CXXFLAGS" - - LIBS="-lkde-qt-addon $LIBQT $LIBS" - CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" - LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" - - AC_TRY_LINK([ - #include - ], - [ - QDomDocument doc; - ], - kde_cv_have_kdeqtaddon=yes, - kde_cv_have_kdeqtaddon=no - ) - - LDFLAGS=$kde_ldflags_safe - LIBS=$kde_libs_safe - CXXFLAGS=$kde_cxxflags_safe -]) - -AC_MSG_RESULT($kde_cv_have_kdeqtaddon) - -if test "$kde_cv_have_kdeqtaddon" = "no"; then - AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. -It is a separate package (and CVS module) named kde-qt-addon.]) -fi -]) - -AC_DEFUN([KDE_CREATE_LIBS_ALIASES], -[ - AC_REQUIRE([KDE_MISC_TESTS]) - AC_REQUIRE([KDE_CHECK_LIBDL]) - 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") - AC_SUBST(LIB_KHTML, "-lkhtml") - AC_SUBST(LIB_KSPELL, "-lkspell") - AC_SUBST(LIB_KPARTS, "-lkparts") - 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") -elif test $kde_qtver = 2; then - AC_SUBST(LIB_KDECORE, "-lkdecore") - AC_SUBST(LIB_KDEUI, "-lkdeui") - AC_SUBST(LIB_KIO, "-lkio") - AC_SUBST(LIB_KSYCOCA, "-lksycoca") - AC_SUBST(LIB_SMB, "-lsmb") - AC_SUBST(LIB_KFILE, "-lkfile") - AC_SUBST(LIB_KAB, "-lkab") - AC_SUBST(LIB_KHTML, "-lkhtml") - AC_SUBST(LIB_KSPELL, "-lkspell") - AC_SUBST(LIB_KPARTS, "-lkparts") - AC_SUBST(LIB_KDEPRINT, "-lkdeprint") -else - AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") - AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") - AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") - AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") - AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") -fi -]) - -AC_DEFUN([AC_PATH_KDE], -[ - AC_BASE_PATH_KDE - AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), - [ - if test "$enableval" = "no"; - then ac_use_path_checking="default" - else ac_use_path_checking="" - fi - ], - [ - if test "$kde_qtver" = 1; - then ac_use_path_checking="" - else ac_use_path_checking="default" - fi - ] - ) - - AC_CREATE_KFSSTND($ac_use_path_checking) - - AC_SUBST_KFSSTND - KDE_CREATE_LIBS_ALIASES -]) - -dnl KDE_CHECK_FUNC_EXT(, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) -AC_DEFUN([KDE_CHECK_FUNC_EXT], -[ -AC_MSG_CHECKING(for $1) -AC_CACHE_VAL(kde_cv_func_$1, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -save_CXXFLAGS="$CXXFLAGS" -kde_safe_LIBS="$LIBS" -LIBS="$LIBS $X_EXTRA_LIBS" -if test "$GXX" = "yes"; then -CXXFLAGS="$CXXFLAGS -pedantic-errors" -fi -AC_TRY_COMPILE([ -$2 -], -[ -$3 -], -kde_cv_func_$1=yes, -kde_cv_func_$1=no) -CXXFLAGS="$save_CXXFLAGS" -LIBS="$kde_safe_LIBS" -AC_LANG_RESTORE -]) - -AC_MSG_RESULT($kde_cv_func_$1) - -AC_MSG_CHECKING([if $1 needs custom prototype]) -AC_CACHE_VAL(kde_cv_proto_$1, -[ -if test "x$kde_cv_func_$1" = xyes; then - kde_cv_proto_$1=no -else - case "$1" in - setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) - kde_cv_proto_$1="yes - in libkdefakes" - ;; - *) - kde_cv_proto_$1=unknown - ;; - esac -fi - -if test "x$kde_cv_proto_$1" = xunknown; then - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - kde_safe_libs=$LIBS - LIBS="$LIBS $X_EXTRA_LIBS" - AC_TRY_LINK([ -$2 - -extern "C" $4; -], -[ -$3 -], -[ kde_cv_func_$1=yes - kde_cv_proto_$1=yes ], - [kde_cv_proto_$1="$1 unavailable"] -) -LIBS=$kde_safe_libs -AC_LANG_RESTORE -fi -]) -AC_MSG_RESULT($kde_cv_proto_$1) - -if test "x$kde_cv_func_$1" = xyes; then - AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) - $6 -fi -if test "x$kde_cv_proto_$1" = xno; then - AC_DEFINE(HAVE_$5_PROTO, 1, - [Define if you have the $1 prototype]) -fi - -AH_VERBATIM([_HAVE_$5_PROTO], -[ -#if !defined(HAVE_$5_PROTO) -#ifdef __cplusplus -extern "C" { -#endif -$4; -#ifdef __cplusplus -} -#endif -#endif -]) -]) - -AC_DEFUN([AC_CHECK_SETENV], -[ - KDE_CHECK_FUNC_EXT(setenv, [ -#include -], - [setenv("VAR", "VALUE", 1);], - [int setenv (const char *, const char *, int)], - [SETENV]) -]) - -AC_DEFUN([AC_CHECK_UNSETENV], -[ - KDE_CHECK_FUNC_EXT(unsetenv, [ -#include -], - [unsetenv("VAR");], - [void unsetenv (const char *)], - [UNSETENV]) -]) - -AC_DEFUN([AC_CHECK_GETDOMAINNAME], -[ - KDE_CHECK_FUNC_EXT(getdomainname, [ -#include -#include -#include -], - [ -char buffer[200]; -getdomainname(buffer, 200); -], - [#include - int getdomainname (char *, size_t)], - [GETDOMAINNAME]) -]) - -AC_DEFUN([AC_CHECK_GETHOSTNAME], -[ - KDE_CHECK_FUNC_EXT(gethostname, [ -#include -#include -], - [ -char buffer[200]; -gethostname(buffer, 200); -], - [int gethostname (char *, unsigned int)], - [GETHOSTNAME]) -]) - -AC_DEFUN([AC_CHECK_USLEEP], -[ - KDE_CHECK_FUNC_EXT(usleep, [ -#include -], - [ -usleep(200); -], - [int usleep (unsigned int)], - [USLEEP]) -]) - - -AC_DEFUN([AC_CHECK_RANDOM], -[ - KDE_CHECK_FUNC_EXT(random, [ -#include -], - [ -random(); -], - [long int random(void)], - [RANDOM]) - - KDE_CHECK_FUNC_EXT(srandom, [ -#include -], - [ -srandom(27); -], - [void srandom(unsigned int)], - [SRANDOM]) - -]) - -AC_DEFUN([AC_CHECK_INITGROUPS], -[ - KDE_CHECK_FUNC_EXT(initgroups, [ -#include -#include -#include -], - [ -char buffer[200]; -initgroups(buffer, 27); -], - [int initgroups(const char *, gid_t)], - [INITGROUPS]) -]) - -AC_DEFUN([AC_CHECK_MKSTEMPS], -[ - KDE_CHECK_FUNC_EXT(mkstemps, [ -#include -#include -], - [ -mkstemps("/tmp/aaaXXXXXX", 6); -], - [int mkstemps(char *, int)], - [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, [ -#include -#include -], - [ -mkdtemp("/tmp/aaaXXXXXX"); -], - [char *mkdtemp(char *)], - [MKDTEMP]) -]) - - -AC_DEFUN([AC_CHECK_RES_INIT], -[ - AC_MSG_CHECKING([if res_init needs -lresolv]) - kde_libs_safe="$LIBS" - LIBS="$LIBS $X_EXTRA_LIBS -lresolv" - AC_TRY_LINK( - [ -#include -#include -#include -#include - ], - [ - res_init(); - ], - [ - LIBRESOLV="-lresolv" - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) - ], - [ AC_MSG_RESULT(no) ] - ) - LIBS=$kde_libs_safe - AC_SUBST(LIBRESOLV) - - KDE_CHECK_FUNC_EXT(res_init, - [ -#include -#include -#include -#include - ], - [res_init()], - [int res_init(void)], - [RES_INIT]) -]) - -AC_DEFUN([AC_CHECK_STRLCPY], -[ - KDE_CHECK_FUNC_EXT(strlcpy, [ -#include -], -[ char buf[20]; - strlcpy(buf, "KDE function test", sizeof(buf)); -], - [unsigned long strlcpy(char*, const char*, unsigned long)], - [STRLCPY]) -]) - -AC_DEFUN([AC_CHECK_STRLCAT], -[ - KDE_CHECK_FUNC_EXT(strlcat, [ -#include -], -[ char buf[20]; - buf[0]='\0'; - strlcat(buf, "KDE function test", sizeof(buf)); -], - [unsigned long strlcat(char*, const char*, unsigned long)], - [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, -[ac_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" -else -LIBS="$all_libraries -lgif" -fi -AC_TRY_LINK(dnl -[ -#ifdef __cplusplus -extern "C" { -#endif -int GifLastError(void); -#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. */ -], - [return GifLastError();], - eval "ac_cv_lib_gif=yes", - eval "ac_cv_lib_gif=no") -LIBS="$ac_save_LIBS" -])dnl -if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) -else - AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) -fi -]) - -AC_DEFUN([KDE_FIND_JPEG_HELPER], -[ -AC_MSG_CHECKING([for libjpeg$2]) -AC_CACHE_VAL(ac_cv_lib_jpeg_$1, -[ -ac_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" -ac_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK( -[ -#ifdef __cplusplus -extern "C" { -#endif -void jpeg_CreateDecompress(); -#ifdef __cplusplus -} -#endif -], -[jpeg_CreateDecompress();], - eval "ac_cv_lib_jpeg_$1=-ljpeg$2", - eval "ac_cv_lib_jpeg_$1=no") -LIBS="$ac_save_LIBS" -CFLAGS="$ac_save_CFLAGS" -]) - -if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then - LIBJPEG="$ac_cv_lib_jpeg_$1" - AC_MSG_RESULT($ac_cv_lib_jpeg_$1) -else - AC_MSG_RESULT(no) - $3 -fi - -]) - -AC_DEFUN([AC_FIND_JPEG], -[ -dnl first look for libraries -KDE_FIND_JPEG_HELPER(6b, 6b, - KDE_FIND_JPEG_HELPER(normal, [], - [ - LIBJPEG= - ] - ) -) - -dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h -dnl requires system dependent includes loaded before it) -jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" -AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) -test "x$jpeg_incdir" = xNO && jpeg_incdir= - -dnl if headers _and_ libraries are missing, this is no error, and we -dnl continue with a warning (the user will get no jpeg support in khtml) -dnl if only one is missing, it means a configuration error, but we still -dnl only warn -if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then - AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) -else - if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then - AC_MSG_WARN([ -There is an installation error in jpeg support. You seem to have only one -of either the headers _or_ the libraries installed. You may need to either -provide correct --with-extra-... options, or the development package of -libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ -Disabling JPEG support. -]) - else - AC_MSG_WARN([libjpeg not found. disable JPEG support.]) - fi - jpeg_incdir= - LIBJPEG= -fi - -AC_SUBST(LIBJPEG) -AH_VERBATIM(_AC_CHECK_JPEG, -[/* - * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system - * headers and I'm too lazy to write a configure test as long as only - * unixware is related - */ -#ifdef _UNIXWARE -#define HAVE_BOOLEAN -#endif -]) -]) - -AC_DEFUN([KDE_CHECK_QT_JPEG], -[ -if test -n "$LIBJPEG"; then -AC_MSG_CHECKING([if Qt needs $LIBJPEG]) -AC_CACHE_VAL(kde_cv_qt_jpeg, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -ac_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS $LIBQT" -LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` -ac_save_CXXFLAGS="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK( -[#include ], - [ - int argc; - char** argv; - QApplication app(argc, argv);], - eval "kde_cv_qt_jpeg=no", - eval "kde_cv_qt_jpeg=yes") -LIBS="$ac_save_LIBS" -CXXFLAGS="$ac_save_CXXFLAGS" -AC_LANG_RESTORE -fi -]) - -if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then - AC_MSG_RESULT(yes) - LIBJPEG_QT='$(LIBJPEG)' -else - AC_MSG_RESULT(no) - LIBJPEG_QT= -fi - -]) - -AC_DEFUN([AC_FIND_ZLIB], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_MSG_CHECKING([for libz]) -AC_CACHE_VAL(ac_cv_lib_z, -[ -kde_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK(dnl -[ -#include -#include -], -[ - char buf[42]; - gzFile f = (gzFile) 0; - /* this would segfault.. but we only link, don't run */ - (void) gzgets(f, buf, sizeof(buf)); - - return (strcmp(zlibVersion(), ZLIB_VERSION) == 0); -], - eval "ac_cv_lib_z='-lz'", - eval "ac_cv_lib_z=no") -LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" -])dnl -if test ! "$ac_cv_lib_z" = no; then - AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) - LIBZ="$ac_cv_lib_z" - AC_MSG_RESULT($ac_cv_lib_z) -else - AC_MSG_ERROR(not found. - Possibly configure picks up an outdated version - installed by XFree86. Remove it from your system. - - Check your installation and look into config.log) - LIBZ="" -fi -AC_SUBST(LIBZ) -]) - -AC_DEFUN([KDE_TRY_TIFFLIB], -[ -AC_MSG_CHECKING([for libtiff $1]) - -AC_CACHE_VAL(kde_cv_libtiff_$1, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -kde_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" -else -LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" -fi -kde_save_CXXFLAGS="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" - -AC_TRY_LINK(dnl -[ -#include -], - [return (TIFFOpen( "", "r") == 0); ], -[ - kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" -], [ - kde_cv_libtiff_$1=no -]) - -LIBS="$kde_save_LIBS" -CXXFLAGS="$kde_save_CXXFLAGS" -AC_LANG_RESTORE -]) - -if test "$kde_cv_libtiff_$1" = "no"; then - AC_MSG_RESULT(no) - LIBTIFF="" - $3 -else - LIBTIFF="$kde_cv_libtiff_$1" - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) - $2 -fi - -]) - -AC_DEFUN([AC_FIND_TIFF], -[ -AC_REQUIRE([K_PATH_X]) -AC_REQUIRE([AC_FIND_ZLIB]) -AC_REQUIRE([AC_FIND_JPEG]) -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - -KDE_TRY_TIFFLIB(tiff, [], - KDE_TRY_TIFFLIB(tiff34)) - -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 `pkg-config --libs OpenEXR` $LIBZ" - 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], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_REQUIRE([AC_FIND_ZLIB]) -AC_MSG_CHECKING([for libpng]) -AC_CACHE_VAL(ac_cv_lib_png, -[ -kde_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" -else -LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" -fi -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" - -AC_TRY_LINK(dnl - [ - #include - ], - [ - png_structp png_ptr = png_create_read_struct( /* image ptr */ - PNG_LIBPNG_VER_STRING, 0, 0, 0 ); - return( png_ptr != 0 ); - ], - eval "ac_cv_lib_png='-lpng $LIBZ -lm'", - eval "ac_cv_lib_png=no" -) -LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" -])dnl -if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then - AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) - LIBPNG="$ac_cv_lib_png" - AC_SUBST(LIBPNG) - AC_MSG_RESULT($ac_cv_lib_png) -else - AC_MSG_RESULT(no) - LIBPNG="" - AC_SUBST(LIBPNG) -fi -]) - - -AC_DEFUN([AC_FIND_JASPER], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_REQUIRE([AC_FIND_JPEG]) -AC_MSG_CHECKING([for jasper]) -AC_CACHE_VAL(ac_cv_jasper, -[ -kde_save_LIBS="$LIBS" -LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" - -AC_TRY_LINK(dnl - [ - #include - ], - [ - return( jas_init() ); - ], - eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'", - eval "ac_cv_jasper=no" -) -LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" -])dnl -if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then - AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper]) - LIB_JASPER="$ac_cv_jasper" - AC_MSG_RESULT($ac_cv_jasper) -else - AC_MSG_RESULT(no) - LIB_JASPER="" -fi -AC_SUBST(LIB_JASPER) -]) - -AC_DEFUN([AC_CHECK_BOOL], -[ - AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) -]) - -AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], -[ -AC_MSG_CHECKING(if you need GNU extensions) -AC_CACHE_VAL(ac_cv_gnu_extensions, -[ -cat > conftest.c << EOF -#include - -#ifdef __GNU_LIBRARY__ -yes -#endif -EOF - -if (eval "$ac_cpp conftest.c") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_gnu_extensions=yes -else - ac_cv_gnu_extensions=no -fi -]) - -AC_MSG_RESULT($ac_cv_gnu_extensions) -if test "$ac_cv_gnu_extensions" = "yes"; then - AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) -fi -]) - -AC_DEFUN([KDE_CHECK_COMPILER_FLAG], -[ -AC_MSG_CHECKING([whether $CXX supports -$1]) -kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` -AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -$1" - AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) - CXXFLAGS="$save_CXXFLAGS" - AC_LANG_RESTORE -]) -if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then - AC_MSG_RESULT(yes) - : - $2 -else - AC_MSG_RESULT(no) - : - $3 -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 -AC_DEFUN([AC_REMOVE_FORBIDDEN], -[ __val=$$1 - __forbid=" $2 " - if test -n "$__val"; then - __new="" - ac_save_IFS=$IFS - IFS=" " - for i in $__val; do - case "$__forbid" in - *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; - *) # Careful to not add spaces, where there were none, because otherwise - # libtool gets confused, if we change e.g. CXX - if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; - esac - done - IFS=$ac_save_IFS - $1=$__new - 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 - -]) - - -AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH], -[ - AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline], - kde_cv_opt_noinline_match, - [ - kde_cv_opt_noinline_match=irrelevant - dnl if we don't use both -O2 and -fno-inline, this check is moot - if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \ - && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then - - ac_cflags_save="$CFLAGS" - CFLAGS="$CFLAGS -D_USE_GNU" - - AC_TRY_LINK([ - #include -], [ const char *pt, *et; - et = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p ( ";," ) && ((size_t)(const void *)(( ";," )+ 1) - (size_t)(const void *)( ";," ) == 1) ? ((__a0 =((__const char *) ( ";," ))[0], __a0 == '\0') ? ((void) ( pt ),((void *)0) ) : ((__a1 = ((__const char *) ( ";," ))[1], __a1== '\0') ? (__extension__ (__builtin_constant_p ( __a0 ) && ( __a0 ) == '\0' ? (char *) __rawmemchr ( pt , __a0) : strchr( pt , __a0 ))) : ((__a2 = ((__const char *) ( ";," ))[2], __a2 == '\0') ? __strpbrk_c2 ( pt , __a0, __a1) :(((__const char *) ( ";," ))[3] == '\0' ? __strpbrk_c3 ( pt ,__a0, __a1, __a2): strpbrk ( pt , ";," ))))) : strpbrk ( pt , ";," )); }) ; -], - kde_cv_opt_noinline_match=yes, - kde_cv_opt_noinline_match=no - ) - - CFLAGS="$ac_cflags_save" - fi - ]) -]) - - -dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given -AC_DEFUN([AC_VALIDIFY_CXXFLAGS], -[dnl -if test "x$kde_use_qt_emb" != "xyes"; then - AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) - AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) -else - AC_REMOVE_FORBIDDEN(CXX, [-rpath]) - AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) -fi -]) - -AC_DEFUN([AC_CHECK_COMPILERS], -[ - AC_ARG_ENABLE(debug, - AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), - [ - case $enableval in - yes) - kde_use_debug_code="yes" - kde_use_debug_define=no - ;; - full) - kde_use_debug_code="full" - kde_use_debug_define=no - ;; - *) - kde_use_debug_code="no" - kde_use_debug_define=yes - ;; - esac - ], - [kde_use_debug_code="no" - kde_use_debug_define=no - ]) - - dnl Just for configure --help - AC_ARG_ENABLE(dummyoption, - AC_HELP_STRING([--disable-debug], - [disables debug output and debug symbols [default=no]]), - [],[]) - - AC_ARG_ENABLE(strict, - AC_HELP_STRING([--enable-strict], - [compiles with strict compiler options (may not work!)]), - [ - if test $enableval = "no"; then - kde_use_strict_options="no" - else - kde_use_strict_options="yes" - fi - ], [kde_use_strict_options="no"]) - - AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]), - [ - if test $enableval = "no"; then - kde_use_warnings="no" - else - kde_use_warnings="yes" - fi - ], [kde_use_warnings="yes"]) - - dnl enable warnings for debug build - if test "$kde_use_debug_code" != "no"; then - kde_use_warnings=yes - fi - - AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), - [kde_use_profiling=$enableval], - [kde_use_profiling="no"] - ) - - dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS - CFLAGS=" $CFLAGS" - - AC_PROG_CC - - AC_PROG_CPP - - if test "$GCC" = "yes"; then - if test "$kde_use_debug_code" != "no"; then - if test $kde_use_debug_code = "full"; then - CFLAGS="-g3 -fno-inline $CFLAGS" - else - CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS" - fi - else - CFLAGS="-O2 $CFLAGS" - fi - fi - - if test "$kde_use_debug_define" = "yes"; then - CFLAGS="-DNDEBUG $CFLAGS" - fi - - - case "$host" in - *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; - *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; - esac - - if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then - LDFLAGS="" - fi - - CXXFLAGS=" $CXXFLAGS" - - 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 - CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" - else - if test "$kde_use_debug_code" = "full"; then - CXXFLAGS="-g3 -fno-inline $CXXFLAGS" - else - CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS" - fi - fi - KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) - - dnl convenience compiler flags - KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) - AC_SUBST(WOVERLOADED_VIRTUAL) - else - if test "$CXX" = "KCC"; then - CXXFLAGS="+K3 $CXXFLAGS" - else - CXXFLAGS="-O2 $CXXFLAGS" - fi - fi - fi - - if test "$kde_use_debug_define" = "yes"; then - CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" - fi - - if test "$kde_use_profiling" = "yes"; then - KDE_CHECK_COMPILER_FLAG(pg, - [ - CFLAGS="-pg $CFLAGS" - CXXFLAGS="-pg $CXXFLAGS" - ]) - fi - - if test "$kde_use_warnings" = "yes"; then - if test "$GCC" = "yes"; then - CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS" - case $host in - *-*-linux-gnu) - 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 -Wchar-subscripts $CXXFLAGS" - 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 - KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) - KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $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 - gcc_no_reorder_blocks=NO - KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES]) - if test $kde_use_debug_code != "no" && \ - test $kde_use_debug_code != "full" && \ - test "YES" = "$gcc_no_reorder_blocks" ; then - CXXFLAGS="$CXXFLAGS -fno-reorder-blocks" - CFLAGS="$CFLAGS -fno-reorder-blocks" - fi - 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 - - KDE_CHECK_FOR_OPT_NOINLINE_MATCH - if test "x$kde_cv_opt_noinline_match" = "xno" ; then - CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`" - 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= ) - - if test "$kde_use_pch" = "yes"; then - dnl TODO: support --pch-dir! - KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) - dnl the below works (but the dir must exist), but it's - dnl useless for a whole package. - dnl The are precompiled headers for each source file, so when compiling - dnl from scratch, it doesn't make a difference, and they take up - dnl around ~5Mb _per_ sourcefile. - dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, - dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) - fi - dnl this flag controls inlining. by default KCC inlines in optimisation mode - dnl all implementations that are defined inside the class {} declaration. - dnl because of templates-compatibility with broken gcc compilers, this - dnl can cause excessive inlining. This flag limits it to a sane level - KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) - KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) - KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) - KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) - dnl Some source files are shared between multiple executables - dnl (or libraries) and some of those need template instantiations. - dnl In that case KCC needs to compile those sources with - dnl --one_instantiation_per_object. To make it easy for us we compile - dnl _all_ objects with that flag (--one_per is a shorthand). - KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) - fi - AC_SUBST(USE_EXCEPTIONS) - dnl obsolete macro - provided to keep things going - USE_RTTI= - AC_SUBST(USE_RTTI) - - case "$host" in - *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; - *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; - *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; - *-*-solaris*) - if test "$GXX" = yes; then - libstdcpp=`$CXX -print-file-name=libstdc++.so` - if test ! -f $libstdcpp; then - AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) - fi - fi - ;; - esac - - AC_VALIDIFY_CXXFLAGS - - AC_PROG_CXXCPP - - if test "$GCC" = yes; then - NOOPT_CFLAGS=-O0 - 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 - - 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) - [A]M_DEPENDENCIES(CXX) -]) - -dnl just a wrapper to clean up configure.in -AC_DEFUN([KDE_PROG_LIBTOOL], -[ -AC_REQUIRE([AC_CHECK_COMPILERS]) -AC_REQUIRE([AC_ENABLE_SHARED]) -AC_REQUIRE([AC_ENABLE_STATIC]) - -AC_REQUIRE([AC_LIBTOOL_DLOPEN]) -AC_REQUIRE([KDE_CHECK_LIB64]) - -AC_OBJEXT -AC_EXEEXT - -AM_PROG_LIBTOOL -AC_LIBTOOL_CXX - -LIBTOOL_SHELL="/bin/sh ./libtool" -# LIBTOOL="$LIBTOOL --silent" -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], -[ - AC_ARG_ENABLE(libsuffix, - AC_HELP_STRING([--enable-libsuffix], - [/lib directory suffix (64,32,none,auto[=default])]), - kdelibsuff=$enableval, kdelibsuff="auto") - - if test "$kdelibsuff" = "auto"; then - -cat > conftest.c << EOF -#include -int main() { - return 0; -} -EOF - kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{ - s,.*/lib\([[^\/]]*\)/.*,\1, - p -}'` - rm -rf conftest.* - fi - - if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then - kdelibsuff= - fi - if test -z "$kdelibsuff"; then - AC_MSG_RESULT([not using lib directory suffix]) - AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) - else - if test "$libdir" = '${exec_prefix}/lib'; then - libdir="$libdir${kdelibsuff}" - AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms - fi - AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories) - AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) - fi -]) - -AC_DEFUN([KDE_CHECK_TYPES], -[ AC_CHECK_SIZEOF(int, 4)dnl - AC_CHECK_SIZEOF(short)dnl - AC_CHECK_SIZEOF(long, 4)dnl - AC_CHECK_SIZEOF(char *, 4)dnl -])dnl - -dnl Not used - kept for compat only? -AC_DEFUN([KDE_DO_IT_ALL], -[ -AC_CANONICAL_SYSTEM -AC_ARG_PROGRAM -AM_INIT_AUTOMAKE($1, $2) -AM_DISABLE_LIBRARIES -AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) -AC_CHECK_COMPILERS -KDE_PROG_LIBTOOL -AM_KDE_WITH_NLS -AC_PATH_KDE -]) - -AC_DEFUN([AC_CHECK_RPATH], -[ -AC_MSG_CHECKING(for rpath) -AC_ARG_ENABLE(rpath, - AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), - USE_RPATH=$enableval, USE_RPATH=yes) - -if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then - - 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)" - fi - dnl $x_libraries is set to /usr/lib in case - if test -n "$X_LDFLAGS"; then - X_RPATH="-R \$(x_libraries)" - KDE_RPATH="$KDE_RPATH $X_RPATH" - fi - if test -n "$KDE_EXTRA_RPATH"; then - KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" - fi -fi -AC_SUBST(KDE_EXTRA_RPATH) -AC_SUBST(KDE_RPATH) -AC_SUBST(X_RPATH) -AC_MSG_RESULT($USE_RPATH) -]) - -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(kde_cv_socklen_t, - [ - AC_LANG_PUSH(C++) - kde_cv_socklen_t=no - AC_TRY_COMPILE([ - #include - #include - ], - [ - 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 -dnl since we don't need anything, I took the things we need -dnl the copyright for them is: -dnl > -dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. -dnl This Makefile.in is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. -dnl > -dnl for this file it is relicensed under LGPL - -AC_DEFUN([AM_KDE_WITH_NLS], - [ - dnl If we use NLS figure out what method - - AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, - [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then - AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) - GMSGFMT=":" - fi - MSGFMT=$GMSGFMT - AC_SUBST(GMSGFMT) - AC_SUBST(MSGFMT) - - AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext programs is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - AC_SUBST(XGETTEXT) - - ]) - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. - -# serial 1 -# Stephan Kulow: I appended a _KDE against name conflicts - -dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test -n "[$]$1"; then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) - - -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. - -# serial 1 - -AC_DEFUN([AM_LC_MESSAGES], - [if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) - fi - fi]) - -dnl From Jim Meyering. -dnl FIXME: migrate into libit. - -AC_DEFUN([AM_FUNC_OBSTACK], -[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, - [AC_TRY_LINK([#include "obstack.h"], - [struct obstack *mem;obstack_free(mem,(char *) 0)], - am_cv_func_obstack=yes, - am_cv_func_obstack=no)]) - if test $am_cv_func_obstack = yes; then - AC_DEFINE(HAVE_OBSTACK) - else - LIBOBJS="$LIBOBJS obstack.o" - fi -]) - -dnl From Jim Meyering. Use this if you use the GNU error.[ch]. -dnl FIXME: Migrate into libit - -AC_DEFUN([AM_FUNC_ERROR_AT_LINE], -[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, - [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], - am_cv_lib_error_at_line=yes, - am_cv_lib_error_at_line=no)]) - if test $am_cv_lib_error_at_line = no; then - LIBOBJS="$LIBOBJS error.o" - fi - AC_SUBST(LIBOBJS)dnl -]) - -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. - -# serial 1 -# Stephan Kulow: I put a KDE in it to avoid name conflicts - -AC_DEFUN([AM_KDE_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([AM_KDE_WITH_NLS])dnl - AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) - AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next]) - - AC_MSG_CHECKING(for stpcpy) - AC_CACHE_VAL(kde_cv_func_stpcpy, - [ - kde_safe_cxxflags=$CXXFLAGS - CXXFLAGS="-Werror" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([ - #include - ], - [ - char buffer[200]; - stpcpy(buffer, buffer); - ], - kde_cv_func_stpcpy=yes, - kde_cv_func_stpcpy=no) - AC_LANG_RESTORE - CXXFLAGS=$kde_safe_cxxflags - ]) - AC_MSG_RESULT($kde_cv_func_stpcpy) - if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then - AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) - fi - - AM_LC_MESSAGES - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - ]) - -AC_DEFUN([AC_HAVE_XPM], - [AC_REQUIRE_CPP()dnl - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - - test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= - test -z "$XPM_INCLUDE" && XPM_INCLUDE= - - AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), - xpm_test=$withval, xpm_test="yes") - if test "x$xpm_test" = xno; then - ac_cv_have_xpm=no - else - AC_MSG_CHECKING(for XPM) - AC_CACHE_VAL(ac_cv_have_xpm, - [ - ac_save_ldflags="$LDFLAGS" - ac_save_cflags="$CFLAGS" - if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then - LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" - else - LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" - fi - CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" - test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" - AC_TRY_LINK([#include ],[], - ac_cv_have_xpm="yes",ac_cv_have_xpm="no") - LDFLAGS="$ac_save_ldflags" - CFLAGS="$ac_save_cflags" - ])dnl - - if test "$ac_cv_have_xpm" = no; then - AC_MSG_RESULT(no) - XPM_LDFLAGS="" - XPMINC="" - $2 - else - AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) - if test "$XPM_LDFLAGS" = ""; then - XPMLIB='-lXpm $(LIB_X11)' - else - XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' - fi - if test "$XPM_INCLUDE" = ""; then - XPMINC="" - else - XPMINC="-I$XPM_INCLUDE" - fi - AC_MSG_RESULT(yes) - $1 - fi - fi - AC_SUBST(XPMINC) - AC_SUBST(XPMLIB) -]) - -AC_DEFUN([AC_HAVE_DPMS], - [AC_REQUIRE_CPP()dnl - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - - test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= - test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= - DPMS_LIB= - - AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), - dpms_test=$withval, dpms_test="yes") - if test "x$dpms_test" = xno; then - ac_cv_have_dpms=no - else - AC_MSG_CHECKING(for DPMS) - dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. - dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". - AC_CACHE_VAL(ac_cv_have_dpms, - [ - if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then - AC_MSG_RESULT(no) - ac_cv_have_dpms="no" - else - ac_save_ldflags="$LDFLAGS" - ac_save_cflags="$CFLAGS" - ac_save_libs="$LIBS" - 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([ - #include - #include - #include - #include - int foo_test_dpms() - { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], - ac_cv_have_dpms="yes", [ - LIBS="-lXdpms $LIBS" - AC_TRY_LINK([ - #include - #include - #include - #include - int foo_test_dpms() - { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], - [ - ac_cv_have_dpms="-lXdpms" - ],ac_cv_have_dpms="no") - ]) - LDFLAGS="$ac_save_ldflags" - CFLAGS="$ac_save_cflags" - LIBS="$ac_save_libs" - fi - ])dnl - - if test "$ac_cv_have_dpms" = no; then - AC_MSG_RESULT(no) - DPMS_LDFLAGS="" - DPMSINC="" - $2 - else - AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) - if test "$ac_cv_have_dpms" = "-lXdpms"; then - DPMS_LIB="-lXdpms" - fi - if test "$DPMS_LDFLAGS" = ""; then - DPMSLIB="$DPMS_LIB "'$(LIB_X11)' - else - DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' - fi - if test "$DPMS_INCLUDE" = ""; then - DPMSINC="" - else - DPMSINC="-I$DPMS_INCLUDE" - fi - AC_MSG_RESULT(yes) - $1 - fi - fi - ac_save_cflags="$CFLAGS" - CFLAGS="$CFLAGS $X_INCLUDES" - test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" - AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, - [Define if you have the DPMSCapable prototype in ]) - AC_CHECK_DECL(DPMSCapable, - AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, - [#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 ]) - CFLAGS="$ac_save_cflags" - AC_SUBST(DPMSINC) - AC_SUBST(DPMSLIB) -]) - -AC_DEFUN([AC_HAVE_GL], - [AC_REQUIRE_CPP()dnl - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - - test -z "$GL_LDFLAGS" && GL_LDFLAGS= - test -z "$GL_INCLUDE" && GL_INCLUDE= - - AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), - gl_test=$withval, gl_test="yes") - if test "x$kde_use_qt_emb" = "xyes"; then - # GL and Qt Embedded is a no-go for now. - ac_cv_have_gl=no - elif test "x$gl_test" = xno; then - ac_cv_have_gl=no - else - AC_MSG_CHECKING(for GL) - AC_CACHE_VAL(ac_cv_have_gl, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_ldflags=$LDFLAGS - ac_save_cxxflags=$CXXFLAGS - ac_save_libs=$LIBS - LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries" - LIBS="$LIBS -L/usr/lib/mesa -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="yes", ac_cv_have_gl="no") - AC_LANG_RESTORE - LDFLAGS=$ac_save_ldflags - CXXFLAGS=$ac_save_cxxflags - LIBS=$ac_save_libs - ])dnl - - if test "$ac_cv_have_gl" = "no"; then - AC_MSG_RESULT(no) - GL_LDFLAGS="" - GLINC="" - $2 - else - AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) - if test "$GL_LDFLAGS" = ""; then - GLLIB='-L/usr/lib/mesa -lGLU -lGL $(LIB_X11)' - else - GLLIB="$GL_LDFLAGS -L/usr/lib/mesa -lGLU -lGL "'$(LIB_X11)' - fi - if test "$GL_INCLUDE" = ""; then - GLINC="" - else - GLINC="-I$GL_INCLUDE" - fi - AC_MSG_RESULT($ac_cv_have_gl) - $1 - fi - fi - AC_SUBST(GLINC) - AC_SUBST(GLLIB) -]) - - - dnl shadow password and PAM magic - maintained by ossi@kde.org - -AC_DEFUN([KDE_PAM], [ - AC_REQUIRE([KDE_CHECK_LIBDL]) - - want_pam= - AC_ARG_WITH(pam, - AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), - [ if test "x$withval" = "xyes"; then - want_pam=yes - pam_service=kde - elif test "x$withval" = "xno"; then - want_pam=no - else - want_pam=yes - pam_service=$withval - fi - ], [ pam_service=kde ]) - - use_pam= - PAMLIBS= - if test "x$want_pam" != xno; then - AC_CHECK_LIB(pam, pam_start, [ - AC_CHECK_HEADER(security/pam_appl.h, - [ pam_header=security/pam_appl.h ], - [ AC_CHECK_HEADER(pam/pam_appl.h, - [ pam_header=pam/pam_appl.h ], - [ - AC_MSG_WARN([PAM detected, but no headers found! -Make sure you have the necessary development packages installed.]) - ] - ) - ] - ) - ], , $LIBDL) - if test -z "$pam_header"; then - if test "x$want_pam" = xyes; then - AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) - fi - else - AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) - PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" - use_pam=yes - - dnl darwin claims to be something special - if test "$pam_header" = "pam/pam_appl.h"; then - AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) - fi - - dnl test whether struct pam_message is const (Linux) or not (Sun) - AC_MSG_CHECKING(for const pam_message) - AC_EGREP_HEADER([struct pam_message], $pam_header, - [ AC_EGREP_HEADER([const struct pam_message], $pam_header, - [AC_MSG_RESULT([const: Linux-type PAM])], - [AC_MSG_RESULT([nonconst: Sun-type PAM]) - AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] - )], - [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) - fi - fi - - AC_SUBST(PAMLIBS) -]) - -dnl DEF_PAM_SERVICE(arg name, full name, define name) -AC_DEFUN([DEF_PAM_SERVICE], [ - AC_ARG_WITH($1-pam, - AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), - [ if test "x$use_pam" = xyes; then - $3_PAM_SERVICE=$withval - else - AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. -You may want to enforce it by using --with-pam.]) - fi - ], - [ if test "x$use_pam" = xyes; then - $3_PAM_SERVICE="$pam_service" - fi - ]) - if test -n "$$3_PAM_SERVICE"; then - AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) - AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) - fi - AC_SUBST($3_PAM_SERVICE) -]) - -AC_DEFUN([KDE_SHADOWPASSWD], [ - AC_REQUIRE([KDE_PAM]) - - AC_CHECK_LIB(shadow, getspent, - [ LIBSHADOW="-lshadow" - ac_use_shadow=yes - ], - [ dnl for UnixWare - AC_CHECK_LIB(gen, getspent, - [ LIBGEN="-lgen" - ac_use_shadow=yes - ], - [ AC_CHECK_FUNC(getspent, - [ ac_use_shadow=yes ], - [ ac_use_shadow=no ]) - ]) - ]) - AC_SUBST(LIBSHADOW) - AC_SUBST(LIBGEN) - - AC_MSG_CHECKING([for shadow passwords]) - - AC_ARG_WITH(shadow, - AC_HELP_STRING([--with-shadow],[If you want shadow password support]), - [ if test "x$withval" != "xno"; then - use_shadow=yes - else - use_shadow=no - fi - ], [ - use_shadow="$ac_use_shadow" - ]) - - if test "x$use_shadow" = xyes; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) - else - AC_MSG_RESULT(no) - LIBSHADOW= - LIBGEN= - fi - - dnl finally make the relevant binaries setuid root, if we have shadow passwds. - dnl this still applies, if we could use it indirectly through pam. - if test "x$use_shadow" = xyes || - ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then - case $host in - *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) - SETUIDFLAGS="-m 4755 -o root";; - *) - SETUIDFLAGS="-m 4755";; - esac - fi - AC_SUBST(SETUIDFLAGS) - -]) - -AC_DEFUN([KDE_PASSWDLIBS], [ - AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT - AC_REQUIRE([KDE_PAM]) - AC_REQUIRE([KDE_SHADOWPASSWD]) - - if test "x$use_pam" = "xyes"; then - PASSWDLIBS="$PAMLIBS" - else - PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" - fi - - dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but - dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires - dnl root to read, so kcheckpass needs to be root (even when using pam, since pam - dnl may need to read /etc/master.passwd). - case $host in - *-*-freebsd*) - SETUIDFLAGS="-m 4755 -o root" - ;; - *) - ;; - esac - - AC_SUBST(PASSWDLIBS) -]) - -AC_DEFUN([KDE_CHECK_LIBDL], -[ -AC_CHECK_LIB(dl, dlopen, [ -LIBDL="-ldl" -ac_cv_have_dlfcn=yes -]) - -AC_CHECK_LIB(dld, shl_unload, [ -LIBDL="-ldld" -ac_cv_have_shload=yes -]) - -AC_SUBST(LIBDL) -]) - -AC_DEFUN([KDE_CHECK_DLOPEN], -[ -KDE_CHECK_LIBDL -AC_CHECK_HEADERS(dlfcn.h dl.h) -if test "$ac_cv_header_dlfcn_h" = "no"; then - ac_cv_have_dlfcn=no -fi - -if test "$ac_cv_header_dl_h" = "no"; then - ac_cv_have_shload=no -fi - -dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE -dnl (MM) -AC_ARG_ENABLE(dlopen, -AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), -enable_dlopen=$enableval, -enable_dlopen=yes) - -# override the user's opinion, if we know it better ;) -if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then - enable_dlopen=no -fi - -if test "$ac_cv_have_dlfcn" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) -fi - -if test "$ac_cv_have_shload" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) -fi - -if test "$enable_dlopen" = no ; then - test -n "$1" && eval $1 -else - test -n "$2" && eval $2 -fi - -]) - -AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], -[ -KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) -KDE_PROG_LIBTOOL -AC_MSG_CHECKING([dynamic loading]) -eval "`egrep '^build_libtool_libs=' libtool`" -if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then - dynamic_loading=yes - AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) -else - dynamic_loading=no -fi -AC_MSG_RESULT($dynamic_loading) -if test "$dynamic_loading" = "yes"; then - $1 -else - $2 -fi -]) - -AC_DEFUN([KDE_ADD_INCLUDES], -[ -if test -z "$1"; then - test_include="Pix.h" -else - test_include="$1" -fi - -AC_MSG_CHECKING([for libg++ ($test_include)]) - -AC_CACHE_VAL(kde_cv_libgpp_includes, -[ -kde_cv_libgpp_includes=no - - for ac_dir in \ - \ - /usr/include/g++ \ - /usr/include \ - /usr/unsupported/include \ - /opt/include \ - $extra_include \ - ; \ - do - if test -r "$ac_dir/$test_include"; then - kde_cv_libgpp_includes=$ac_dir - break - fi - done -]) - -AC_MSG_RESULT($kde_cv_libgpp_includes) -if test "$kde_cv_libgpp_includes" != "no"; then - all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" -fi -]) -]) - -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 - 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"]) - 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) -]) - -AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], -[ - USE_THREADS="" - if test -z "$LIBPTHREAD"; then - KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) - fi - - AH_VERBATIM(__svr_define, [ -#if defined(__SVR4) && !defined(__svr4__) -#define __svr4__ 1 -#endif -]) - case $host_os in - solaris*) - KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) - CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" - ;; - freebsd*) - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" - ;; - aix*) - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" - LIBPTHREAD="$LIBPTHREAD -lc_r" - ;; - linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" - if test "$CXX" = "KCC"; then - CXXFLAGS="$CXXFLAGS --thread_safe" - NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" - fi - ;; - *) - ;; - esac - AC_SUBST(USE_THREADS) - AC_SUBST(LIBPTHREAD) -]) - -AC_DEFUN([KDE_CHECK_THREADING], -[ - AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) - AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) - dnl default is yes if libpthread is found and no if no libpthread is available - if test -z "$LIBPTHREAD"; then - if test -z "$USE_THREADS"; then - kde_check_threading_default=no - else - kde_check_threading_default=yes - fi - else - kde_check_threading_default=yes - fi - AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), - kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) - if test "x$kde_use_threading" = "xyes"; then - AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) - fi -]) - -AC_DEFUN([KDE_TRY_LINK_PYTHON], -[ -if test "$kde_python_link_found" = no; then - -if test "$1" = normal; then - AC_MSG_CHECKING(if a Python application links) -else - AC_MSG_CHECKING(if Python depends on $2) -fi - -AC_CACHE_VAL(kde_cv_try_link_python_$1, -[ -kde_save_cflags="$CFLAGS" -CFLAGS="$CFLAGS $PYTHONINC" -kde_save_libs="$LIBS" -LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" -kde_save_ldflags="$LDFLAGS" -LDFLAGS="$LDFLAGS $PYTHONLIB" - -AC_TRY_LINK( -[ -#include -],[ - PySys_SetArgv(1, 0); -], - [kde_cv_try_link_python_$1=yes], - [kde_cv_try_link_python_$1=no] -) -CFLAGS="$kde_save_cflags" -LIBS="$kde_save_libs" -LDFLAGS="$kde_save_ldflags" -]) - -if test "$kde_cv_try_link_python_$1" = "yes"; then - AC_MSG_RESULT(yes) - kde_python_link_found=yes - if test ! "$1" = normal; then - LIBPYTHON="$LIBPYTHON $2" - fi - $3 -else - AC_MSG_RESULT(no) - $4 -fi - -fi - -]) - -AC_DEFUN([KDE_CHECK_PYTHON_DIR], -[ -AC_MSG_CHECKING([for Python directory]) - -AC_CACHE_VAL(kde_cv_pythondir, -[ - if test -z "$PYTHONDIR"; then - kde_cv_pythondir=/usr/local - else - kde_cv_pythondir="$PYTHONDIR" - fi -]) - -AC_ARG_WITH(pythondir, -AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), -[ - ac_python_dir=$withval -], ac_python_dir=$kde_cv_pythondir -) - -AC_MSG_RESULT($ac_python_dir) -]) - -AC_DEFUN([KDE_CHECK_PYTHON_INTERN], -[ -AC_REQUIRE([KDE_CHECK_LIBDL]) -AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) -AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) - -if test -z "$1"; then - version="1.5" -else - version="$1" -fi - -AC_MSG_CHECKING([for Python$version]) - -python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" -AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) -if test ! -r $python_incdir/Python.h; then - AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) - python_incdir=$python_incdir/python$version - if test ! -r $python_incdir/Python.h; then - python_incdir=no - fi -fi - -PYTHONINC=-I$python_incdir - -python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" -AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) -if test ! -r $python_libdir/libpython$version.so; then - AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) - if test ! -r $python_libdir/libpython$version.a; then - AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) - python_libdir=$python_libdir/python$version/config - if test ! -r $python_libdir/libpython$version.a; then - python_libdir=no - fi - fi -fi - -PYTHONLIB=-L$python_libdir -kde_orig_LIBPYTHON=$LIBPYTHON -if test -z "$LIBPYTHON"; then - LIBPYTHON=-lpython$version -fi - -AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) -python_moddir=$python_moddir/python$version -if test ! -r $python_moddir/copy.py; then - python_moddir=no -fi - -PYTHONMODDIR=$python_moddir - -AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) - -if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then - LIBPYTHON=$kde_orig_LIBPYTHON - test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" - test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" - $2 -else - dnl Note: this test is very weak - kde_python_link_found=no - KDE_TRY_LINK_PYTHON(normal) - KDE_TRY_LINK_PYTHON(m, -lm) - KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) - KDE_TRY_LINK_PYTHON(tcl, -ltcl) - KDE_TRY_LINK_PYTHON(db2, -ldb2) - KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) - KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) - KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) - KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], - [AC_MSG_WARN([it seems, Python depends on another library. - Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this - and contact the authors to let them know about this problem]) - ]) - - LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" - AC_SUBST(PYTHONINC) - AC_SUBST(PYTHONLIB) - AC_SUBST(LIBPYTHON) - AC_SUBST(PYTHONMODDIR) - AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) -fi - -]) - - -AC_DEFUN([KDE_CHECK_PYTHON], -[ - KDE_CHECK_PYTHON_INTERN("2.6", - [KDE_CHECK_PYTHON_INTERN("2.5", - [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], -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" - - AC_MSG_CHECKING([if C++ programs can be compiled]) - AC_CACHE_VAL(kde_cv_stl_works, - [ - AC_TRY_COMPILE([ -#include -using namespace std; -],[ - string astring="Hallo Welt."; - astring.erase(0, 6); // now astring is "Welt" - return 0; -], kde_cv_stl_works=yes, - kde_cv_stl_works=no) -]) - - AC_MSG_RESULT($kde_cv_stl_works) - - if test "$kde_cv_stl_works" = "yes"; then - # back compatible - AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) - 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 similar to libstdc++-dev.]) - fi - - CXXFLAGS="$ac_save_CXXFLAGS" - AC_LANG_RESTORE -]) - -AC_DEFUN([AC_FIND_QIMGIO], - [AC_REQUIRE([AC_FIND_JPEG]) -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_MSG_CHECKING([for qimgio]) -AC_CACHE_VAL(ac_cv_lib_qimgio, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -ac_save_LIBS="$LIBS" -ac_save_CXXFLAGS="$CXXFLAGS" -LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" -CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" -AC_TRY_RUN(dnl -[ -#include -#include -int main() { - QString t = "hallo"; - t.fill('t'); - qInitImageIO(); -} -], - ac_cv_lib_qimgio=yes, - ac_cv_lib_qimgio=no, - ac_cv_lib_qimgio=no) -LIBS="$ac_save_LIBS" -CXXFLAGS="$ac_save_CXXFLAGS" -AC_LANG_RESTORE -])dnl -if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then - LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) - AC_SUBST(LIBQIMGIO) -else - AC_MSG_RESULT(not found) -fi -]) - -AC_DEFUN([AM_DISABLE_LIBRARIES], -[ - AC_PROVIDE([AM_ENABLE_STATIC]) - AC_PROVIDE([AM_ENABLE_SHARED]) - enable_static=no - enable_shared=yes -]) - - -AC_DEFUN([AC_CHECK_UTMP_FILE], -[ - AC_MSG_CHECKING([for utmp file]) - - AC_CACHE_VAL(kde_cv_utmp_file, - [ - kde_cv_utmp_file=no - - for ac_file in \ - \ - /var/run/utmp \ - /var/adm/utmp \ - /etc/utmp \ - ; \ - do - if test -r "$ac_file"; then - kde_cv_utmp_file=$ac_file - break - fi - done - ]) - - if test "$kde_cv_utmp_file" != "no"; then - AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) - $1 - AC_MSG_RESULT($kde_cv_utmp_file) - else - $2 - AC_MSG_RESULT([non found]) - fi -]) - - -AC_DEFUN([KDE_CREATE_SUBDIRSLIST], -[ - -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 - 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 - echo $i >> $srcdir/subdirs - done -fi - -ac_topsubdirs= -if test -s $srcdir/inst-apps; then - ac_topsubdirs="`cat $srcdir/inst-apps`" -elif test -s $srcdir/subdirs; then - ac_topsubdirs="`cat $srcdir/subdirs`" -fi - -for i in $ac_topsubdirs; do - AC_MSG_CHECKING([if $i should be compiled]) - if test -d $srcdir/$i; then - install_it="yes" - for j in $DO_NOT_COMPILE; do - if test $i = $j; then - install_it="no" - fi - done - else - install_it="no" - fi - AC_MSG_RESULT($install_it) - vari=`echo $i | sed -e 's,[[-+.@]],_,g'` - if test $install_it = "yes"; then - TOPSUBDIRS="$TOPSUBDIRS $i" - eval "$vari""_SUBDIR_included=yes" - else - eval "$vari""_SUBDIR_included=no" - fi -done - -AC_SUBST(TOPSUBDIRS) -]) - -AC_DEFUN([KDE_CHECK_NAMESPACES], -[ -AC_MSG_CHECKING(whether C++ compiler supports namespaces) -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -AC_TRY_COMPILE([ -], -[ -namespace Foo { - extern int i; - namespace Bar { - extern int i; - } -} - -int Foo::i = 0; -int Foo::Bar::i = 1; -],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_NAMESPACES) -], [ -AC_MSG_RESULT(no) -]) -AC_LANG_RESTORE -]) - -dnl ------------------------------------------------------------------------ -dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_CHECK_S_ISSOCK], -[ -AC_MSG_CHECKING(for S_ISSOCK) -AC_CACHE_VAL(ac_cv_have_s_issock, -[ -AC_TRY_LINK( -[ -#include -], -[ -struct stat buff; -int b = S_ISSOCK( buff.st_mode ); -], -ac_cv_have_s_issock=yes, -ac_cv_have_s_issock=no) -]) -AC_MSG_RESULT($ac_cv_have_s_issock) -if test "$ac_cv_have_s_issock" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) -fi - -AH_VERBATIM(_ISSOCK, -[ -#ifndef HAVE_S_ISSOCK -#define HAVE_S_ISSOCK -#define S_ISSOCK(mode) (1==0) -#endif -]) - -]) - -dnl ------------------------------------------------------------------------ -dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], -[ -AC_MSG_CHECKING(for MAXPATHLEN) -AC_CACHE_VAL(ac_cv_maxpathlen, -[ -cat > conftest.$ac_ext < -#endif -#include -#include -#ifndef MAXPATHLEN -#define MAXPATHLEN 1024 -#endif - -KDE_HELLO MAXPATHLEN - -EOF - -ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" - -if AC_TRY_EVAL(ac_try) && test -s conftest.out; then - ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` -else - ac_cv_maxpathlen=1024 -fi - -rm conftest.* - -]) -AC_MSG_RESULT($ac_cv_maxpathlen) -AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) -]) - -AC_DEFUN([KDE_CHECK_HEADER], -[ - 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_DEFUN([KDE_CHECK_HEADERS], -[ - AH_CHECK_HEADERS([$1]) - AC_LANG_SAVE - kde_safe_cppflags=$CPPFLAGS - CPPFLAGS="$CPPFLAGS $all_includes" - AC_LANG_CPLUSPLUS - AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) - CPPFLAGS=$kde_safe_cppflags - AC_LANG_RESTORE -]) - -AC_DEFUN([KDE_FAST_CONFIGURE], -[ - dnl makes configure fast (needs perl) - AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), - with_fast_perl=$enableval, with_fast_perl=yes) -]) - -AC_DEFUN([KDE_CONF_FILES], -[ - val= - if test -f $srcdir/configure.files ; then - val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` - fi - CONF_FILES= - if test -n "$val" ; then - for i in $val ; do - CONF_FILES="$CONF_FILES $i" - done - fi - AC_SUBST(CONF_FILES) -])dnl - -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 - AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) - - if test "x$prefix" = "xNONE"; then - prefix=$ac_default_prefix - ac_configure_args="$ac_configure_args --prefix=$prefix" - 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,/$,,'` - - 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` - - 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 -]) - -pushdef([AC_PROG_INSTALL], -[ - dnl our own version, testing for a -p flag - popdef([AC_PROG_INSTALL]) - dnl as AC_PROG_INSTALL works as it works we first have - dnl to save if the user didn't specify INSTALL, as the - dnl autoconf one overwrites INSTALL and we have no chance to find - dnl out afterwards - test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL - test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM - test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT - AC_PROG_INSTALL - - if test -z "$kde_save_INSTALL_given" ; then - # OK, user hasn't given any INSTALL, autoconf found one for us - # now we test, if it supports the -p flag - AC_MSG_CHECKING(for -p flag to install) - rm -f confinst.$$.* > /dev/null 2>&1 - echo "Testtest" > confinst.$$.orig - ac_res=no - if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then - if test -f confinst.$$.new ; then - # OK, -p seems to do no harm to install - INSTALL="${INSTALL} -p" - ac_res=yes - fi - fi - rm -f confinst.$$.* - AC_MSG_RESULT($ac_res) - fi - dnl the following tries to resolve some signs and wonders coming up - dnl with different autoconf/automake versions - dnl e.g.: - dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s - dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) - dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s - dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has - dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the - dnl install-@DIR@PROGRAMS targets to explicitly use that flag - dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as - dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 - dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure - dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from - dnl automake (due to broken Makefile.am or whatever) to install programs, - dnl and so does not see the -s flag in automake > 1.4 - dnl to clean up that mess we: - dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG - dnl which cleans KDE's program with automake > 1.4; - dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems - dnl with automake<=1.4 - dnl note that dues to this sometimes two '-s' flags are used (if KDE - dnl properly uses install-@DIR@PROGRAMS, but I don't care - dnl - dnl And to all this comes, that I even can't write in comments variable - dnl names used by automake, because it is so stupid to think I wanted to - dnl _use_ them, therefor I have written A_M_... instead of AM_ - dnl hmm, I wanted to say something ... ahh yes: Arghhh. - - if test -z "$kde_save_INSTALL_PROGRAM_given" ; then - INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' - fi - if test -z "$kde_save_INSTALL_SCRIPT_given" ; then - INSTALL_SCRIPT='${INSTALL}' - fi -])dnl - -AC_DEFUN([KDE_LANG_CPLUSPLUS], -[AC_LANG_CPLUSPLUS -ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' -pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) -]) - -pushdef([AC_LANG_CPLUSPLUS], -[popdef([AC_LANG_CPLUSPLUS]) -KDE_LANG_CPLUSPLUS -]) - -AC_DEFUN([KDE_CHECK_LONG_LONG], -[ -AC_MSG_CHECKING(for long long) -AC_CACHE_VAL(kde_cv_c_long_long, -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_LINK([], [ - long long foo = 0; - foo = foo+1; - ], - kde_cv_c_long_long=yes, kde_cv_c_long_long=no) - AC_LANG_RESTORE -]) -AC_MSG_RESULT($kde_cv_c_long_long) -if test "$kde_cv_c_long_long" = yes; then - AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) -fi -]) - -AC_DEFUN([KDE_CHECK_LIB], -[ - kde_save_LDFLAGS="$LDFLAGS" - dnl AC_CHECK_LIB modifies LIBS, so save it here - kde_save_LIBS="$LIBS" - LDFLAGS="$LDFLAGS $all_libraries" - case $host_os in - aix*) LDFLAGS="-brtl $LDFLAGS" - test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" - ;; - esac - AC_CHECK_LIB($1, $2, $3, $4, $5) - LDFLAGS="$kde_save_LDFLAGS" - LIBS="$kde_save_LIBS" -]) - -AC_DEFUN([KDE_JAVA_PREFIX], -[ - dir=`dirname "$1"` - base=`basename "$1"` - list=`ls -1 $dir 2> /dev/null` - for entry in $list; do - if test -d $dir/$entry/bin; then - case $entry in - $base) - javadirs="$javadirs $dir/$entry/bin" - ;; - esac - elif test -d $dir/$entry/jre/bin; then - case $entry in - $base) - javadirs="$javadirs $dir/$entry/jre/bin" - ;; - esac - fi - done -]) - -dnl KDE_CHEC_JAVA_DIR(onlyjre) -AC_DEFUN([KDE_CHECK_JAVA_DIR], -[ - -AC_ARG_WITH(java, -AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), -[ ac_java_dir=$withval -], ac_java_dir="" -) - -AC_MSG_CHECKING([for Java]) - -dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH -if test "x$ac_java_dir" = "xno"; then - kde_java_bindir=no - kde_java_includedir=no - kde_java_libjvmdir=no - kde_java_libgcjdir=no - kde_java_libhpidir=no -else - if test "x$ac_java_dir" = "x"; then - - - dnl No option set -> collect list of candidate paths - if test -n "$JAVA_HOME"; then - KDE_JAVA_PREFIX($JAVA_HOME) - fi - KDE_JAVA_PREFIX(/usr/j2se) - KDE_JAVA_PREFIX(/usr/lib/j2se) - KDE_JAVA_PREFIX(/usr/j*dk*) - KDE_JAVA_PREFIX(/usr/lib/j*dk*) - KDE_JAVA_PREFIX(/opt/j*sdk*) - KDE_JAVA_PREFIX(/usr/lib/java*) - KDE_JAVA_PREFIX(/usr/java*) - KDE_JAVA_PREFIX(/usr/java/j*dk*) - KDE_JAVA_PREFIX(/usr/java/j*re*) - KDE_JAVA_PREFIX(/usr/lib/SunJava2*) - KDE_JAVA_PREFIX(/usr/lib/SunJava*) - KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) - KDE_JAVA_PREFIX(/usr/lib/IBMJava*) - KDE_JAVA_PREFIX(/opt/java*) - - kde_cv_path="NONE" - kde_save_IFS=$IFS - IFS=':' - for dir in $PATH; do - if test -d "$dir"; then - javadirs="$javadirs $dir" - fi - done - IFS=$kde_save_IFS - jredirs= - - dnl Now javadirs contains a list of paths that exist, all ending with bin/ - for dir in $javadirs; do - dnl Check for the java executable - if test -x "$dir/java"; then - sane_path=$(cd $dir; /bin/pwd) - dnl And also check for a libjvm.so somewhere under there - dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. - if test "$sane_path" != "/usr/bin"; then - libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` - if test ! -f $libjvmdir/libjvm.so; then continue; fi - jredirs="$jredirs $dir" - fi - fi - done - - dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found - JAVAC= - JAVA= - kde_java_bindir=no - for dir in $jredirs; do - JAVA="$dir/java" - kde_java_bindir=$dir - if test -x "$dir/javac"; then - JAVAC="$dir/javac" - break - fi - done - - if test -n "$JAVAC"; then - dnl this substitution might not work - well, we test for jni.h below - kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` - else - kde_java_includedir=no - fi - else - dnl config option set - kde_java_bindir=$ac_java_dir/bin - if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then - kde_java_includedir=no - else - kde_java_includedir=$ac_java_dir/include - fi - fi -fi - -dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" -if test "x$kde_java_bindir" != "xno"; then - - dnl Look for libjvm.so - kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` - dnl Look for libgcj.so - kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` - dnl Look for libhpi.so and avoid green threads - kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` - - dnl Now check everything's fine under there - dnl the include dir is our flag for having the JDK - if test -d "$kde_java_includedir"; then - if test ! -x "$kde_java_bindir/javac"; then - AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) - fi - if test ! -x "$kde_java_bindir/javah"; then - AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) - fi - if test ! -x "$kde_java_bindir/jar"; then - AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) - fi - if test ! -r "$kde_java_includedir/jni.h"; then - AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) - fi - - jni_includes="-I$kde_java_includedir" - dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. - dnl and under linux here.. - - dnl not needed for gcj - - if test "x$kde_java_libgcjdir" = "x"; then - test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" - test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" - test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" - fi - - else - JAVAC= - jni_includes= - fi - - if test "x$kde_java_libgcjdir" = "x"; then - if test ! -r "$kde_java_libjvmdir/libjvm.so"; then - AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) - fi - else - if test ! -r "$kde_java_libgcjdir/libgcj.so"; then - AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) - fi - fi - - if test ! -x "$kde_java_bindir/java"; then - AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) - fi - - dnl not needed for gcj compile - - if test "x$kde_java_libgcjdir" = "x"; then - if test ! -r "$kde_java_libhpidir/libhpi.so"; then - AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) - fi - fi - - if test -n "$jni_includes"; then - dnl Check for JNI version - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_cxxflags_safe="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" - - AC_TRY_COMPILE([ - #include - ], - [ - #ifndef JNI_VERSION_1_2 - Syntax Error - #endif - ],[ kde_jni_works=yes ], - [ kde_jni_works=no ]) - - if test $kde_jni_works = no; then - AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. - You need to have Java Development Kit (JDK) version 1.2. - - Use --with-java to specify another location. - Use --without-java to configure without java support. - Or download a newer JDK and try again. - See e.g. http://java.sun.com/products/jdk/1.2 ]) - fi - - CXXFLAGS="$ac_cxxflags_safe" - AC_LANG_RESTORE - - dnl All tests ok, inform and subst the variables - - JAVAC=$kde_java_bindir/javac - JAVAH=$kde_java_bindir/javah - JAR=$kde_java_bindir/jar - AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - if test "x$kde_java_libgcjdir" = "x"; then - JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" - else - JVMLIBS="-L$kde_java_libgcjdir -lgcj" - fi - AC_MSG_RESULT([java JDK in $kde_java_bindir]) - - else - AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - AC_MSG_RESULT([java JRE in $kde_java_bindir]) - fi -elif test -d "/Library/Java/Home"; then - kde_java_bindir="/Library/Java/Home/bin" - jni_includes="-I/Library/Java/Home/include" - - JAVAC=$kde_java_bindir/javac - JAVAH=$kde_java_bindir/javah - JAR=$kde_java_bindir/jar - JVMLIBS="-Wl,-framework,JavaVM" - - AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - AC_MSG_RESULT([Apple Java Framework]) -else - AC_MSG_RESULT([none found]) -fi - -AC_SUBST(JAVAC) -AC_SUBST(JAVAH) -AC_SUBST(JAR) -AC_SUBST(JVMLIBS) -AC_SUBST(jni_includes) - -# for backward compat -kde_cv_java_includedir=$kde_java_includedir -kde_cv_java_bindir=$kde_java_bindir -]) - -dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. -dnl When the argument list becomes big, as in KDE for AC_OUTPUT in -dnl big packages, m4_foreach is dog-slow. So use our own version of -dnl it. (matz@kde.org) -m4_define([mm_foreach], -[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) -m4_define([mm_car], [[$1]]) -m4_define([mm_car2], [[$@]]) -m4_define([_mm_foreach], -[m4_if(m4_quote($2), [], [], - [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1], - mm_car2(m4_shift($2)), - [$3])])]) -m4_define([AC_FOREACH], -[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) - -AC_DEFUN([KDE_NEED_FLEX], -[ -kde_libs_safe=$LIBS -LIBS="$LIBS $USER_LDFLAGS" -AM_PROG_LEX -LIBS=$kde_libs_safe -if test -z "$LEXLIB"; then - AC_MSG_ERROR([You need to have flex installed.]) -fi -AC_SUBST(LEXLIB) -]) - -AC_DEFUN([AC_PATH_QTOPIA], -[ - dnl TODO: use AC_CACHE_VAL - - if test -z "$1"; then - qtopia_minver_maj=1 - qtopia_minver_min=5 - qtopia_minver_pat=0 - else - qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` - qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` - qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` - fi - - qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" - qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" - - AC_REQUIRE([AC_PATH_QT]) - - AC_MSG_CHECKING([for Qtopia]) - - LIB_QTOPIA="-lqpe" - AC_SUBST(LIB_QTOPIA) - - kde_qtopia_dirs="$QPEDIR /opt/Qtopia" - - ac_qtopia_incdir=NO - - AC_ARG_WITH(qtopia-dir, - AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), - [ ac_qtopia_incdir="$withval"/include] ) - - qtopia_incdirs="" - for dir in $kde_qtopia_dirs; do - qtopia_incdirs="$qtopia_incdirs $dir/include" - done - - if test ! "$ac_qtopia_incdir" = "NO"; then - qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" - fi - - qtopia_incdir="" - AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) - ac_qtopia_incdir="$qtopia_incdir" - - if test -z "$qtopia_incdir"; then - AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) - fi - - qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; - qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; - qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; - - qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" - qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" - if test "$qtopia_ver" -lt "$qtopia_minver"; then - AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr -is required.]) - fi - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - ac_cxxflags_safe="$CXXFLAGS" - ac_ldflags_safe="$LDFLAGS" - ac_libs_safe="$LIBS" - - CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" - LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" - LIBS="$LIBS $LIB_QTOPIA $LIBQT" - - cat > conftest.$ac_ext < -#include - -int main( int argc, char **argv ) -{ - QPEApplication app( argc, argv ); - return 0; -} -EOF - - if AC_TRY_EVAL(ac_link) && test -s conftest; then - rm -f conftest* - else - rm -f conftest* - AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at -the end of config.log]) - fi - - CXXFLAGS="$ac_cxxflags_safe" - LDFLAGS="$ac_ldflags_safe" - LIBS="$ac_libs_safe" - - AC_LANG_RESTORE - - QTOPIA_INCLUDES="-I$qtopia_incdir" - AC_SUBST(QTOPIA_INCLUDES) - - AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) -]) - - -AC_DEFUN([KDE_INIT_DOXYGEN], -[ -AC_MSG_CHECKING([for Qt docs]) -kde_qtdir= -if test "${with_qt_dir+set}" = set; then - kde_qtdir="$with_qt_dir" -fi - -AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR) -AC_MSG_RESULT($QTDOCDIR) - -AC_SUBST(QTDOCDIR) - -KDE_FIND_PATH(dot, DOT, [], []) -if test -n "$DOT"; then - KDE_HAVE_DOT="YES" -else - KDE_HAVE_DOT="NO" -fi -AC_SUBST(KDE_HAVE_DOT) -KDE_FIND_PATH(doxygen, DOXYGEN, [], []) -AC_SUBST(DOXYGEN) - -DOXYGEN_PROJECT_NAME="$1" -DOXYGEN_PROJECT_NUMBER="$2" -AC_SUBST(DOXYGEN_PROJECT_NAME) -AC_SUBST(DOXYGEN_PROJECT_NUMBER) - -KDE_HAS_DOXYGEN=no -if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then - KDE_HAS_DOXYGEN=yes -fi -AC_SUBST(KDE_HAS_DOXYGEN) - -]) - - -AC_DEFUN([AC_FIND_BZIP2], -[ -AC_MSG_CHECKING([for bzDecompress in libbz2]) -AC_CACHE_VAL(ac_cv_lib_bzip2, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -kde_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" -kde_save_CXXFLAGS="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK(dnl -[ -#define BZ_NO_STDIO -#include -], - [ bz_stream s; (void) bzDecompress(&s); ], - eval "ac_cv_lib_bzip2='-lbz2'", - eval "ac_cv_lib_bzip2=no") -LIBS="$kde_save_LIBS" -CXXFLAGS="$kde_save_CXXFLAGS" -AC_LANG_RESTORE -])dnl -AC_MSG_RESULT($ac_cv_lib_bzip2) - -if test ! "$ac_cv_lib_bzip2" = no; then - BZIP2DIR=bzip2 - - LIBBZ2="$ac_cv_lib_bzip2" - AC_SUBST(LIBBZ2) - -else - - cxx_shared_flag= - ld_shared_flag= - KDE_CHECK_COMPILER_FLAG(shared, [ - ld_shared_flag="-shared" - ]) - KDE_CHECK_COMPILER_FLAG(fPIC, [ - cxx_shared_flag="-fPIC" - ]) - - AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) - AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - kde_save_LIBS="$LIBS" - LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" - kde_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" - - AC_TRY_LINK(dnl - [ - #define BZ_NO_STDIO - #include - ], - [ bz_stream s; (void) BZ2_bzDecompress(&s); ], - eval "ac_cv_lib_bzip2_prefix='-lbz2'", - eval "ac_cv_lib_bzip2_prefix=no") - LIBS="$kde_save_LIBS" - CXXFLAGS="$kde_save_CXXFLAGS" - AC_LANG_RESTORE - ])dnl - - AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) - - if test ! "$ac_cv_lib_bzip2_prefix" = no; then - BZIP2DIR=bzip2 - - LIBBZ2="$ac_cv_lib_bzip2_prefix" - AC_SUBST(LIBBZ2) - - AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) - dnl else, we just ignore this - fi - -fi -AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") -]) - -dnl ------------------------------------------------------------------------ -dnl Try to find the SSL headers and libraries. -dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) -dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([KDE_CHECK_SSL], -[ -LIBSSL="-lssl -lcrypto" -AC_REQUIRE([KDE_CHECK_LIB64]) - -ac_ssl_includes=NO ac_ssl_libraries=NO -ssl_libraries="" -ssl_includes="" -AC_ARG_WITH(ssl-dir, - AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), - [ ac_ssl_includes="$withval"/include - ac_ssl_libraries="$withval"/lib$kdelibsuff - ]) - -want_ssl=yes -AC_ARG_WITH(ssl, - AC_HELP_STRING([--without-ssl],[disable SSL checks]), - [want_ssl=$withval]) - -if test $want_ssl = yes; then - -AC_MSG_CHECKING(for OpenSSL) - -AC_CACHE_VAL(ac_cv_have_ssl, -[#try to guess OpenSSL locations - - ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" - ssl_incdirs="$ac_ssl_includes $ssl_incdirs" - AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) - ac_ssl_includes="$ssl_incdir" - - ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" - if test ! "$ac_ssl_libraries" = "NO"; then - ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" - fi - - test=NONE - ssl_libdir=NONE - for dir in $ssl_libdirs; do - try="ls -1 $dir/libssl*" - if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi - done - - ac_ssl_libraries="$ssl_libdir" - - ac_ldflags_safe="$LDFLAGS" - ac_libs_safe="$LIBS" - - LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" - LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" - - AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, - ac_ssl_rsaref="yes" - , - ac_ssl_rsaref="no" - ) - - LDFLAGS="$ac_ldflags_safe" - LIBS="$ac_libs_safe" - - if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then - have_ssl=no - else - have_ssl=yes; - fi - - ]) - - eval "$ac_cv_have_ssl" - - AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) - - AC_MSG_CHECKING([whether OpenSSL uses rsaref]) - AC_MSG_RESULT($ac_ssl_rsaref) - - AC_MSG_CHECKING([for easter eggs]) - AC_MSG_RESULT([none found]) - -else - have_ssl=no -fi - -if test "$have_ssl" = yes; then - AC_MSG_CHECKING(for OpenSSL version) - dnl Check for SSL version - AC_CACHE_VAL(ac_cv_ssl_version, - [ - - cat >conftest.$ac_ext < -#include - int main() { - -#ifndef OPENSSL_VERSION_NUMBER - printf("ssl_version=\\"error\\"\n"); -#else - if (OPENSSL_VERSION_NUMBER < 0x00906000) - printf("ssl_version=\\"old\\"\n"); - else - printf("ssl_version=\\"ok\\"\n"); -#endif - return (0); - } -EOF - - ac_save_CPPFLAGS=$CPPFLAGS - if test "$ac_ssl_includes" != "/usr/include"; then - CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" - fi - - if AC_TRY_EVAL(ac_link); then - - if eval `./conftest 2>&5`; then - if test $ssl_version = error; then - AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) - else - if test $ssl_version = old; then - AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) - have_ssl=no - fi - fi - ac_cv_ssl_version="ssl_version=$ssl_version" - else - AC_MSG_ERROR([Your system couldn't run a small SSL test program. - Check config.log, and if you can't figure it out, send a mail to - David Faure , attaching your config.log]) - fi - - else - AC_MSG_ERROR([Your system couldn't link a small SSL test program. - Check config.log, and if you can't figure it out, send a mail to - David Faure , attaching your config.log]) - fi - CPPFLAGS=$ac_save_CPPFLAGS - - ]) - - eval "$ac_cv_ssl_version" - AC_MSG_RESULT($ssl_version) -fi - -if test "$have_ssl" != yes; then - LIBSSL=""; -else - AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) - ac_cv_have_ssl="have_ssl=yes \ - ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" - - - ssl_libraries="$ac_ssl_libraries" - ssl_includes="$ac_ssl_includes" - - if test "$ac_ssl_rsaref" = yes; then - LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" - fi - - if test $ssl_version = "old"; then - AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) - fi -fi - -SSL_INCLUDES= - -if test "$ssl_includes" = "/usr/include"; then - if test -f /usr/kerberos/include/krb5.h; then - SSL_INCLUDES="-I/usr/kerberos/include" - fi -elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then - SSL_INCLUDES="-I$ssl_includes" -fi - -if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then - SSL_LDFLAGS="" -else - SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" -fi - -AC_SUBST(SSL_INCLUDES) -AC_SUBST(SSL_LDFLAGS) -AC_SUBST(LIBSSL) -]) - -AC_DEFUN([KDE_CHECK_STRLCPY], -[ - AC_REQUIRE([AC_CHECK_STRLCAT]) - AC_REQUIRE([AC_CHECK_STRLCPY]) - AC_CHECK_SIZEOF(size_t) - AC_CHECK_SIZEOF(unsigned long) - - AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long]) - AC_TRY_COMPILE(,[ - #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG - choke me - #endif - ],AC_MSG_RESULT([yes]),[ - AC_MSG_RESULT(no) - AC_MSG_ERROR([ - Apparently on your system our assumption sizeof size_t == sizeof unsigned long - does not apply. Please mail kde-devel@kde.org with a description of your system! - ]) - ]) -]) - -AC_DEFUN([KDE_CHECK_BINUTILS], -[ - AC_MSG_CHECKING([if ld supports unversioned version maps]) - - kde_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - echo "{ local: extern \"C++\" { foo }; };" > conftest.map - AC_TRY_LINK([int foo;], -[ -#ifdef __INTEL_COMPILER -icc apparently does not support libtools version-info and version-script -at the same time. Dunno where the bug is, but until somebody figured out, -better disable the optional version scripts. -#endif - - foo = 42; -], kde_supports_versionmaps=yes, kde_supports_versionmaps=no) - LDFLAGS="$kde_save_LDFLAGS" - rm -f conftest.map - AM_CONDITIONAL(include_VERSION_SCRIPT, - [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"]) - - AC_MSG_RESULT($kde_supports_versionmaps) -]) - -AC_DEFUN([AM_PROG_OBJC],[ -AC_CHECK_PROGS(OBJC, gcc, gcc) -test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH]) -if test "x${OBJCFLAGS-unset}" = xunset; then - OBJCFLAGS="-g -O2" -fi -AC_SUBST(OBJCFLAGS) -_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) -]) - -AC_DEFUN([KDE_CHECK_PERL], -[ - KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ - AC_MSG_ERROR([No Perl found in your $PATH. -We need perl to generate some code.]) - ]) - 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${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH" - if test "$prefix" != "$kde_libs_prefix"; then - PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/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 --git a/admin/am_edit b/admin/am_edit deleted file mode 100644 index 108eb67..0000000 --- a/admin/am_edit +++ /dev/null @@ -1,2445 +0,0 @@ -#!/usr/bin/perl -w - -# Expands the specialised KDE tags in Makefile.in to (hopefully) valid -# make syntax. -# When called without file parameters, we work recursively on all Makefile.in -# in and below the current subdirectory. When called with file parameters, -# only those Makefile.in are changed. -# The currently supported tags are -# -# {program}_METASOURCES -# where you have a choice of two styles -# {program}_METASOURCES = name1.moc name2.moc ... [\] -# {program}_METASOURCES = AUTO -# The second style requires other tags as well. -# -# To install icons : -# KDE_ICON = iconname iconname2 ... -# KDE_ICON = AUTO -# -# For documentation : -# http://developer.kde.org/documentation/other/developer-faq.html -# -# and more new tags TBD! -# -# The concept (and base code) for this program came from automoc, -# supplied by the following -# -# Matthias Ettrich (The originator) -# Kalle Dalheimer (The original implementator) -# Harri Porten -# Alex Zepeda -# David Faure -# Stephan Kulow -# Dirk Mueller - -use Cwd; -use File::Find; -use File::Basename; - -# Prototype the functions -sub initialise (); -sub processMakefile ($); -sub updateMakefile (); -sub restoreMakefile (); - -sub removeLine ($$); -sub appendLines ($); -sub substituteLine ($$); - -sub findMocCandidates (); -sub pruneMocCandidates ($); -sub checkMocCandidates (); -sub addMocRules (); -sub findKcfgFile($); - -sub tag_AUTOMAKE (); -sub tag_META_INCLUDES (); -sub tag_METASOURCES (); -sub tag_POFILES (); -sub tag_DOCFILES (); -sub tag_LOCALINSTALL(); -sub tag_IDLFILES(); -sub tag_UIFILES(); -sub tag_KCFGFILES(); -sub tag_SUBDIRS(); -sub tag_ICON(); -sub tag_CLOSURE(); -sub tag_NO_UNDEFINED(); -sub tag_NMCHECK(); -sub tag_DIST(); -sub tag_KDEINIT(); - -# Some global globals... -$verbose = 0; # a debug flag -$thisProg = "$0"; # This programs name -$topdir = cwd(); # The current directory -@makefiles = (); # Contains all the files we'll process -@foreignfiles = (); -$start = (times)[0]; # some stats for testing - comment out for release -$version = "v0.2"; -$errorflag = 0; -$cppExt = "(cpp|cc|cxx|C|c\\+\\+)"; -$hExt = "(h|H|hh|hxx|hpp|h\\+\\+)"; -$progId = "KDE tags expanded automatically by " . basename($thisProg); -$automkCall = "\n"; -$printname = ""; # used to display the directory the Makefile is in -$use_final = 1; # create code for --enable-final -$cleantarget = "clean"; -$dryrun = 0; -$pathoption = 0; -$foreign_libtool = 0; - -while (defined ($ARGV[0])) -{ - $_ = shift; - if (/^--version$/) - { - print STDOUT "\n"; - print STDOUT basename($thisProg), " $version\n", - "This is really free software, unencumbered by the GPL.\n", - "You can do anything you like with it except sueing me.\n", - "Copyright 1998 Kalle Dalheimer \n", - "Concept, design and unnecessary questions about perl\n", - " by Matthias Ettrich \n\n", - "Making it useful by Stephan Kulow and\n", - "Harri Porten \n", - "Updated (Feb-1999), John Birch \n", - "Fixes and Improvements by Dirk Mueller \n", - "Current Maintainer Stephan Kulow\n\n"; - exit 0; - } - elsif (/^--verbose$|^-v$/) - { - $verbose = 1; # Oh is there a problem...? - } - elsif (/^(?:-p|--path=)(.+)$/) - { - my $p = $1; - $thisProg = $p . "/". basename($thisProg); - warn ("$thisProg doesn't exist\n") if (!(-f $thisProg)); - $thisProg .= " -p".$p; - $pathoption=1; - } - elsif (/^--help$|^-h$/) - { - print STDOUT "Usage $thisProg [OPTION] ... [dir/Makefile.in]...\n", - "\n", - "Patches dir/Makefile.in generated by automake\n", - "(where dir can be an absolute or relative directory name)\n", - "\n", - " -v, --verbose verbosely list files processed\n", - " -h, --help print this help, then exit\n", - " --version print version number, then exit\n", - " -p, --path= use the path to am_edit if the path\n", - " called from is not the one to be used\n", - " --no-final don't patch for --enable-final\n"; - - exit 0; - } - elsif (/^--no-final$/) - { - $use_final = 0; - $thisProg .= " --no-final"; - } - elsif (/^--foreign-libtool$/) - { - $foreign_libtool = 1; - $thisProg .= " --foreign-libtool"; - } - elsif (/^-n$/) - { - $dryrun = 1; - } - else - { - # user selects what input files to check - # add full path if relative path is given - $_ = cwd()."/".$_ if (! /^\//); - print "User wants $_\n" if ($verbose); - push (@makefiles, $_); - } -} - -if ($thisProg =~ /^\// && !$pathoption ) -{ - print STDERR "Illegal full pathname call performed...\n", - "The call to \"$thisProg\"\nwould be inserted in some Makefile.in.\n", - "Please use option --path.\n"; - exit 1; -} - -# Only scan for files when the user hasn't entered data -if (!@makefiles) -{ - print STDOUT "Scanning for Makefile.in\n" if ($verbose); - find (\&add_makefile, cwd()); - #chdir('$topdir'); -} else { - print STDOUT "Using input files specified by user\n" if ($verbose); -} - -foreach $makefile (sort(@makefiles)) -{ - processMakefile ($makefile); - last if ($errorflag); -} - -# Just some debug statistics - comment out for release as it uses printf. -printf STDOUT "Time %.2f CPU sec\n", (times)[0] - $start if ($verbose); - -exit $errorflag; # causes make to fail if erroflag is set - -#----------------------------------------------------------------------------- - -# In conjunction with the "find" call, this builds the list of input files -sub add_makefile () -{ - push (@makefiles, $File::Find::name) if (/Makefile.in$/); -} - -#----------------------------------------------------------------------------- - -# Processes a single make file -# The parameter contains the full path name of the Makefile.in to use -sub processMakefile ($) -{ - # some useful globals for the subroutines called here - local ($makefile) = @_; - local @headerdirs = ('.'); - local $haveAutomocTag = 0; - local $MakefileData = ""; - - local $cxxsuffix = "KKK"; - - local @programs = (); # lists the names of programs and libraries - local $program = ""; - - local @kdeinits = (); # lists the kdeinit targets - - local %realObjs = (); # lists the objects compiled into $program - local %sources = (); # lists the sources used for $program - local %finalObjs = (); # lists the objects compiled when final - local %realname = (); # the binary name of program variable - local %idlfiles = (); # lists the idl files used for $program - local %globalmocs = ();# list of all mocfiles (in %mocFiles format) - local %important = (); # list of files to be generated asap - local %uiFiles = (); - local %kcfgFiles = (); - - local $allidls = ""; - local $idl_output = "";# lists all idl generated files for cleantarget - local $ui_output = "";# lists all uic generated files for cleantarget - local $kcfg_output = "";# lists all kcfg generated files for cleantarget - - local %dependmocs = (); - - local $metasourceTags = 0; - local $dep_files = ""; - local $dep_finals = ""; - local %target_adds = (); # the targets to add - local %rule_adds = (); - local $kdelang = ""; - local @cleanfiles = (); - local $cleanMoc = ""; - local $closure_output = ""; - - local %varcontent = (); - - $makefileDir = dirname($makefile); - chdir ($makefileDir); - $printname = $makefile; - $printname =~ s/^\Q$topdir\E\///; - $makefile = basename($makefile); - - print STDOUT "Processing makefile $printname\n" if ($verbose); - - # Setup and see if we need to do this. - return if (!initialise()); - - tag_AUTOMAKE (); # Allows a "make" to redo the Makefile.in - tag_META_INCLUDES (); # Supplies directories for src locations - - foreach $program (@programs) { - $sources_changed{$program} = 0; - $dependmocs{$program} = ""; - $important{$program} = ""; - tag_IDLFILES(); # Sorts out idl rules - tag_NO_UNDEFINED(); - tag_CLOSURE(); - tag_NMCHECK(); - tag_UIFILES(); # Sorts out ui rules - tag_KCFGFILES(); # Sorts out kcfg rules - tag_METASOURCES (); # Sorts out the moc rules - if ($sources_changed{$program}) { - my $lookup = $program . '_SOURCES\s*=[ \t]*(.*)'; - - if($program =~ /libkdeinit_(.*)/) { - my $prog = $1; - substituteLine($prog . '_SOURCES\s*=[ \t]*(.*)', - "${prog}_SOURCES = ${prog}_dummy.$cxxsuffix\n" . - "libkdeinit_${prog}_SOURCES = " . $sources{$program}); - $sources{$prog} = "${prog}_dummy.$cxxsuffix"; - } - else { - substituteLine($lookup, "$program\_SOURCES=" . $sources{$program}); - } - } - if ($important{$program}) { - local %source_dict = (); - for $source (split(/[\034\s]+/, $sources{$program})) { - $source_dict{$source} = 1; - } - for $source (@cleanfiles) { - $source_dict{$source} = 0; - } - for $source (keys %source_dict) { - next if (!$source); - if ($source_dict{$source}) { - # sanity check - if (! -f $source) { - print STDERR "Error: $source is listed in a _SOURCE line in $printname, but doesn't exist yet. Put it in DISTCLEANFILES!\n"; - } else { - $target_adds{"\$(srcdir)/$source"} .= $important{$program}; - } - } - } - } - } - if ($cleanMoc) { - # Always add dist clean tag - # Add extra *.moc.cpp files created for USE_AUTOMOC because they - # aren't included in the normal *.moc clean rules. - appendLines ("$cleantarget-metasources:\n\t-rm -f $cleanMoc\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-metasources "; - } - - tag_DIST() unless ($kdeopts{"noautodist"}); - - if ($idl_output) { - appendLines ("$cleantarget-idl:\n\t-rm -f $idl_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-idl "; - } - - if ($ui_output) { - appendLines ("$cleantarget-ui:\n\t-rm -f $ui_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-ui "; - } - - if ($kcfg_output) { - appendLines ("$cleantarget-kcfg:\n\t-rm -f $kcfg_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-kcfg "; - } - - if ($closure_output) { - appendLines ("$cleantarget-closures:\n\t-rm -f $closure_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-closures "; - } - - if ($MakefileData =~ /\nKDE_LANG\s*=\s*(\S*)\s*\n/) { - $kdelang = '$(KDE_LANG)' - } else { - $kdelang = ''; - } - - tag_POFILES (); # language rules for po directory - tag_DOCFILES (); # language rules for doc directories - tag_LOCALINSTALL(); # add $(DESTDIR) before all kde_ dirs - tag_ICON(); - tag_SUBDIRS(); - - 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(); - tag_FINAL() if (!$kdeopts{"nofinal"}); - - my $final_lines = "final:\n\t\$(MAKE) "; - my $final_install_lines = "final-install:\n\t\$(MAKE) "; - my $nofinal_lines = "no-final:\n\t\$(MAKE) "; - my $nofinal_install_lines = "no-final-install:\n\t\$(MAKE) "; - - foreach $program (@programs) { - my $lookup = $program . '_OBJECTS\s*=[ \t]*.*'; - my $new = ""; - my @list = split(/[\034\s]+/, $realObjs{$program}); - if (!$kdeopts{"nofinal"} && @list > 1 && $finalObjs{$program}) { - $new .= "$program\_final\_OBJECTS = " . $finalObjs{$program}; - $new .= "\n$program\_nofinal\_OBJECTS = " . $realObjs{$program}; - $new .= "\n\@KDE_USE_FINAL_FALSE\@$program\_OBJECTS = \$($program\_nofinal\_OBJECTS)"; - $new .= "\n\@KDE_USE_FINAL_TRUE\@$program\_OBJECTS = \$($program\_final\_OBJECTS)"; - - $final_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; - $final_install_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; - $nofinal_lines .= "$program\_OBJECTS=\"\$($program\_nofinal\_OBJECTS)\" "; - $nofinal_install_lines .= "$program\_OBJECTS=\"\$($program\_nofinal_OBJECTS)\" "; - } else { - $new = "$program\_OBJECTS = " . $realObjs{$program}; - } - if($MakefileData =~ m/\n$lookup/) { - substituteLine ($lookup, $new); - } - else { - appendLines("$new\n"); - } - } - appendLines($final_lines . "all-am\n"); - appendLines($final_install_lines . "install-am\n"); - appendLines($nofinal_lines . "all-am\n"); - appendLines($nofinal_install_lines . "install-am\n"); - - my $lookup = '(\@\S+\@)?DEP_FILES\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - my $condition = $1; - my $depfiles = $2; - my $workfiles; - - if ($dep_finals) { - # Add the conditions on every line, since - # there may be line continuations in the list. - $workfiles = "$dep_files $dep_finals $depfiles"; - $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_TRUE\@\t/g; - $lines = "$condition\@KDE_USE_FINAL_TRUE\@DEP_FILES = $workfiles\n"; - $workfiles = "$dep_files $depfiles"; - $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_FALSE\@\t/g; - $lines .= "$condition\@KDE_USE_FINAL_FALSE\@DEP_FILES = $workfiles"; - } else { - $workfiles = "$dep_files $depfiles"; - $workfiles =~ s/\034/\034$condition\t/g; - $lines = $condition . "DEP_FILES = $workfiles"; - } - substituteLine($lookup, $lines); - } - - # new recursive targets - $target_adds{ "nmcheck" } .= ""; # always create nmcheck target - $target_adds{ "nmcheck-am" } .= "nmcheck"; - $lookup = 'RECURSIVE_TARGETS\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "RECURSIVE_TARGETS = $1 nmcheck-recursive bcheck-recursive"); - } - - $cvs_lines = "kde-rpo-clean:\n"; - $cvs_lines .= "\t-rm -f *.rpo\n"; - appendLines($cvs_lines); - $target_adds{"clean"} .= "kde-rpo-clean "; - - my %target_dels = ("install-data-am" => ""); - - # some strange people like to do a install-exec, and expect that also - # all modules are installed. automake doesn't know this, so we need to move - # this here from install-data to install-exec. - if ($MakefileData =~ m/\nkde_module_LTLIBRARIES\s*=/) { -# $target_adds{"install-exec-am"} .= "install-kde_moduleLTLIBRARIES "; -# don't use $target_adds here because we need to append the dependency, not -# prepend it. Fixes #44342 , when a module depends on a lib in the same dir -# and libtool needs it during relinking upon install (Simon) - my $lookup = "install-exec-am:([^\n]*)"; - if($MakefileData =~ /\n$lookup\n/) { - substituteLine("$lookup", "install-exec-am: $1 install-kde_moduleLTLIBRARIES"); - } - $target_dels{"install-data-am"} .= "install-kde_moduleLTLIBRARIES "; - $target_adds{"install-data-am"} .= " "; - } - - my $lines = ""; - - foreach $add (keys %target_adds) { - my $lookup = quotemeta($add) . ':([^\n]*)'; - if ($MakefileData =~ /\n$lookup\n/) { - my $newlines = $1; - my $oldlines = $lookup; - if (defined $target_dels{$add}) { - foreach $del (split(' ', $target_dels{$add})) { - $newlines =~ s/\s*$del\s*/ /g; - } - } - substituteLine($oldlines, "$add: " . $target_adds{$add} . $newlines); - } else { - $lines .= "$add: " . $target_adds{$add} . "\n"; - } - } - - appendLines($lines) if ($lines); - - $lines = join("\n", values %rule_adds); - appendLines($lines) if ($lines); - - my $found = 1; - - while ($found) { - if ($MakefileData =~ m/\n(.*)\$\(CXXFLAGS\)(.*)\n/) { - my $stuff_before = $1; - my $stuff_after = $2; - my $lookup = quotemeta("$1\$(CXXFLAGS)$2"); - my $replacement = "$1\$(KCXXFLAGS)$2"; - $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; - } - } - - if($foreign_libtool == 0) { - $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=link) (\$\(CXXLD\).*\$\(KCXXFLAGS\))'; - - if ($MakefileData =~ m/$lookup/ ) { - $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; - } - - $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=compile)\s+(\$\(CXX\)\s+)'; - if ($MakefileData =~ m/$lookup/ ) { - $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; - } - } - - $MakefileData =~ s/\$\(KCXXFLAGS\)/\$\(CXXFLAGS\)/g; - - $lookup = '(.*)cp -pr \$\$/\$\$file \$\(distdir\)/\$\$file(.*)'; - if ($MakefileData =~ m/\n$lookup\n/) { - substituteLine($lookup, "$1cp -pr \$\$d/\$\$file \$(distdir)/\$\$file$2"); - } - - # Always update the Makefile.in - updateMakefile (); - return; -} - -#----------------------------------------------------------------------------- - -# Beware: This procedure is not complete. E.g. it also parses lines -# containing a '=' in rules (for instance setting shell vars). For our -# usage this us enough, though. -sub read_variables () -{ - while ($MakefileData =~ /\n\s*(\S+)\s*=([^\n]*)/g) { - $varcontent{$1} = $2; - } -} - -# Check to see whether we should process this make file. -# This is where we look for tags that we need to process. -# A small amount of initialising on the tags is also done here. -# And of course we open and/or create the needed make files. -sub initialise () -{ - if (! -r "Makefile.am") { - print STDOUT "found Makefile.in without Makefile.am\n" if ($verbose); - return 0; - } - - # Checking for files to process... - - open (FILEIN, $makefile) || die "Can't open $makefileDir/$makefile: $!\n"; - # perl bug in 5.8.0: in utf8 mode it badly screws up - binmode(FILEIN, ":bytes") if ($] >= 5.008); - # Read the file - # stat(FILEIN)[7] might look more elegant, but is slower as it - # requires stat'ing the file - seek(FILEIN, 0, 2); - my $fsize = tell(FILEIN); - seek(FILEIN, 0, 0); - read FILEIN, $MakefileData, $fsize; - close FILEIN; - print "DOS CRLF within $makefileDir/$makefile!\n" if($MakefileData =~ y/\r//d); - - # Remove the line continuations, but keep them marked - # Note: we lose the trailing spaces but that's ok. - # Don't mangle line-leading spaces (usually tabs) - # since they're important. - $MakefileData =~ s/\\\s*\n/\034/g; - - # If we've processed the file before... - restoreMakefile () if ($MakefileData =~ /$progId/); - - foreach $dir (@foreignfiles) { - if (substr($makefileDir,0,length($dir)) eq $dir) { - return 0; - } - } - - %kdeopts = (); - $kdeopts{"foreign"} = 0; - $kdeopts{"qtonly"} = 0; - $kdeopts{"noautodist"} = 0; - $kdeopts{"foreign-libtool"} = $foreign_libtool; - $kdeopts{"nofinal"} = !$use_final; # default - - read_variables(); - - if ($MakefileData =~ /\nKDE_OPTIONS\s*=[ \t]*([^\n]*)\n/) { - my $kde_options_str = $1; - local @kde_options = split(/[\034\s]+/, $kde_options_str); - if (grep(/^foreign$/, @kde_options)) { - push(@foreignfiles, $makefileDir . "/"); - return 0; # don't touch me - } - for $opt (@kde_options) { - if (!defined $kdeopts{$opt}) { - print STDERR "Warning: unknown option $opt in $printname\n"; - } else { - $kdeopts{$opt} = 1; - } - } - } - - # Look for the tags that mean we should process this file. - $metasourceTags = 0; - $metasourceTags++ while ($MakefileData =~ /\n[^=\#]*METASOURCES\s*=/g); - - my $pofileTag = 0; - $pofileTag++ while ($MakefileData =~ /\nPOFILES\s*=/g); - if ($pofileTag > 1) - { - print STDERR "Error: Only one POFILES tag allowed\n"; - $errorflag = 1; - } - - while ($MakefileData =~ /\n\.SUFFIXES:([^\n]+)\n/g) { - my $suffixes_str = $1; - my @list=split(' ', $suffixes_str); - foreach $ext (@list) { - if ($ext =~ /^\.$cppExt$/) { - $cxxsuffix = $ext; - $cxxsuffix =~ s/\.//g; - print STDOUT "will use suffix $cxxsuffix\n" if ($verbose); - last; - } - } - } - - tag_KDEINIT(); - - while ($MakefileData =~ /\n(\S*)_OBJECTS\s*=[\034 \t]*([^\n]*)\n/g) { - - my $program = $1; - my $objs = $2; # safe them - - my $ocv = 0; - - my @objlist = split(/[\034\s]+/, $objs); - foreach $obj (@objlist) { - if ($obj =~ /(\S*)\$\((\S+)\)/ ) { - my $pre = $1; - my $variable = $2; - if ($pre eq '' && exists($varcontent{$variable})) { - my @addlist = split(/[\034\s]+/, $varcontent{$variable}); - push(@objlist, @addlist); - } elsif ($variable !~ 'OBJEXT' && $variable !~ /am__objects_\d+/ ) { - $ocv = 1; - } - } - } - - next if ($ocv); - next if ($program =~ /^am_libkdeinit_/); - - $program =~ s/^am_// if ($program =~ /^am_/); - - my $sourceprogram = $program; - $sourceprogram =~ s/\@am_/\@/ if($sourceprogram =~ /^.*\@am_.+/); - - print STDOUT "found program $program\n" if ($verbose); - push(@programs, $program); - - $realObjs{$program} = $objs; - - if ($MakefileData =~ /\n$sourceprogram\_SOURCES\s*=[ \t]*(.*)\n/) { - $sources{$program} = $1; - } - else { - $sources{$program} = ""; - print STDERR "found program with no _SOURCES: $program\n"; - } - - my $realprogram = $program; - $realprogram =~ s/_/./g; # unmask to regexp - if ($MakefileData =~ /\n($realprogram)(\$\(EXEEXT\)?)?:.*\$\($program\_OBJECTS\)/) { - $realname{$program} = $1; - } else { - # not standard Makefile - nothing to worry about - $realname{$program} = ""; - } - } - - my $lookup = 'DEPDIR\s*=.*'; - if ($MakefileData !~ /\n$lookup/) { - $lookup = 'bindir\s*=[ \t]*.*'; - substituteLine($lookup, "DEPDIR = .deps\n$1") if ($MakefileData =~ /\n($lookup)/); - } - - my @marks = ('MAINTAINERCLEANFILES', 'CLEANFILES', 'DISTCLEANFILES'); - foreach $mark (@marks) { - while ($MakefileData =~ /\n($mark)\s*=[ \t]*([^\n]*)/g) { - my $clean_str = $2; - foreach $file (split('[\034\s]+', $clean_str)) { - $file =~ s/\.\///; - push(@cleanfiles, $file); - } - } - } - - my $localTag = 0; - $localTag++ if ($MakefileData =~ /\ninstall-\S+-local:/); - - return (!$errorflag); -} - -#----------------------------------------------------------------------------- - -# Gets the list of user defined directories - relative to $srcdir - where -# header files could be located. -sub tag_META_INCLUDES () -{ - my $lookup = '[^=\n]*META_INCLUDES\s*=[ \t]*(.*)'; - return 1 if ($MakefileData !~ /($lookup)\n/); - print STDOUT "META_INCLUDE processing <$1>\n" if ($verbose); - - my $headerStr = $2; - removeLine ($lookup, $1); - - my @headerlist = split(/[\034\s]+/, $headerStr); - - foreach $dir (@headerlist) - { - $dir =~ s#\$\(srcdir\)#.#; - if (! -d $dir) - { - print STDERR "Warning: $dir can't be found. ", - "Must be a relative path to \$(srcdir)\n"; - } - else - { - push (@headerdirs, $dir); - } - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_FINAL() -{ - my @final_names = (); - - foreach $program (@programs) { - - if ($sources{$program} =~ /\(/) { - print STDOUT "found ( in $program\_SOURCES. skipping\n" if ($verbose); - next; - } - - my $mocs = ""; # Moc files (in this program) - my $moc_cpp_added = 0; # If we added some .moc.cpp files, due to - # no other .cpp file including the .moc one. - - my @progsources = split(/[\034\s]+/, $sources{$program}); - my %shash = (); - @shash{@progsources} = 1; # we are only interested in the existence - my %sourcelist = (); - my %extradeps = (); - - foreach $source (@progsources) { - my $suffix = $source; - $suffix =~ s/^.*\.([^\.]+)$/$1/; - - $sourcelist{$suffix} .= "$source "; - } - foreach my $mocFile (keys (%globalmocs)) - { - my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); - if (defined ($cppFile)) { - $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; - } else { - $sourcelist{$cxxsuffix} .= "$mocFile.moc.$cxxsuffix "; - $moc_cpp_added = 1; - } - } - - # scan for extra given dependencies and add them to our target - while ($MakefileData =~ /\n\s*(\S+)\.(?:lo|o)\s*:([^\n]*)/g) { - $extradeps{$1} = $2; - } - - foreach $suffix (keys %sourcelist) { - # See if this file contains c++ code. (i.e., just check the file's suffix against c++ extensions) - my $suffix_is_cxx = 0; - if($suffix =~ /($cppExt)$/) { - $cxxsuffix = $1; - $suffix_is_cxx = 1; - } - - my $mocfiles_in = ($suffix eq $cxxsuffix) && $moc_cpp_added; - - my @sourcelist = split(/[\034\s]+/, $sourcelist{$suffix}); - - if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) { - - # we support IDL on our own - if ($suffix eq "skel" || $suffix =~ /^stub/ - || $suffix =~ /^signals/ # obsolete, remove in KDE-4 - || $suffix eq "h" || $suffix eq "ui" - || $suffix eq "kcfgc" ) { - next; - } - - foreach $file (@sourcelist) { - $file =~ s/\Q$suffix\E$//; - - $finalObjs{$program} .= $file; - if ($program =~ /_la$/) { - $finalObjs{$program} .= "lo "; - } else { - $finalObjs{$program} .= "o "; - } - } - next; # suffix - } - - my $source_deps = ""; - foreach $source (@sourcelist) { - if (-f $source) { - $source_deps .= " \$(srcdir)/$source"; - } else { - $source_deps .= " $source"; - } - my $plainsource = $source; - $plainsource =~ s/\.$cppExt$//; - $source_deps .= " " . $extradeps{$plainsource} if (exists($extradeps{$plainsource})); - } - - $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in" . $source_deps . " " . join(' ', $mocs) . "\n"; - $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n"; - $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n"; - $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n"; - $handling .= "\tfor file in " . $sourcelist{$suffix} . "; do \\\n"; - $handling .= "\t echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n"; - $handling .= "\t test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n"; - $handling .= "\tdone; \\\n"; - $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files > $program.all_$suffix.$suffix; \\\n"; - $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n"; - - appendLines($handling); - - push(@final_names, "$program.all_$suffix.$suffix"); - my $finalObj = "$program.all_$suffix."; - if ($program =~ /_la$/) { - $finalObj .= "lo"; - } else { - $finalObj .= "o"; - } - $finalObjs{$program} .= $finalObj . " "; - } - } - - if (!$kdeopts{"nofinal"} && @final_names >= 1) { - # add clean-final target - my $lines = "$cleantarget-final:\n"; - $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names); - appendLines($lines); - $target_adds{"$cleantarget-am"} .= "$cleantarget-final "; - - foreach $finalfile (@final_names) { - $finalfile =~ s/\.[^.]*$/.P/; - $dep_finals .= " \$(DEPDIR)/$finalfile"; - } - } -} - -sub tag_KDEINIT() -{ - my @progs = (); - my $ltlibs = ""; - my $lookup = 'kdeinit_LTLIBRARIES\s*=[ \t]*(.*)'; - - if ($MakefileData =~ m/\n$lookup/) { - @kdeinits = split(/[\034\s]+/, $1); - my $lines = ""; - foreach my $kdeinit (@kdeinits) { - if ($kdeinit =~ m/\.la$/) { - $kdeinit =~ s/\.la$//; - push(@progs, $kdeinit); - - $lines .= "\n${kdeinit}.la.$cxxsuffix:\n"; - $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}.la.$cxxsuffix; \\\n"; - $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n"; - - $lines .= "\n${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"); - - # add dependency - $dep_files .= " \$(DEPDIR)/${kdeinit}.la.Po" if($dep_files !~/${kdeinit}.la.Po/ ); - $dep_files .= " \$(DEPDIR)/${kdeinit}_dummy.Plo" if($dep_files !~/${kdeinit}_dummy.Plo/ ); - - # make library - $lookup = $kdeinit . '_la_LIBADD\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $libadd = $1; - substituteLine($lookup, "${kdeinit}_la_LIBADD = libkdeinit_${kdeinit}.la"); - appendLines("libkdeinit_${kdeinit}_la_LIBADD = $libadd\n"); - } - appendLines("libkdeinit_${kdeinit}_la_LDFLAGS = -no-undefined -avoid-version \$(all_libraries)\n"); - - # add library dependencies - $lookup = $kdeinit . '_la_DEPENDENCIES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $libdeps = $1; - substituteLine($lookup, "${kdeinit}_la_DEPENDENCIES = libkdeinit_${kdeinit}.la"); - appendLines("libkdeinit_${kdeinit}_la_DEPENDENCIES = $libdeps\n"); - } - - # make library objects - $lookup = "am_${kdeinit}_la_OBJECTS" . '\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $libobjects = $1; - substituteLine($lookup, "am_${kdeinit}_la_OBJECTS = ${kdeinit}_dummy.lo"); - appendLines("am_libkdeinit_${kdeinit}_la_OBJECTS = $libobjects\n"); - my $prog = "libkdeinit_${kdeinit}_la"; - push(@programs, $prog); - $realObjs{$prog} = $libobjects; - $realname{$prog} = "libkdeinit_${kdeinit}.la"; - } - $target_adds{"libkdeinit_${kdeinit}.la"} = "\$(libkdeinit_${kdeinit}_la_OBJECTS) \$(libkdeinit_${kdeinit}_la_DEPENDENCIES)\n" . - "\t\$(CXXLINK) -rpath \$(libdir) \$(libkdeinit_${kdeinit}_la_LDFLAGS) ". - "\$(libkdeinit_${kdeinit}_la_OBJECTS) " . - "\$(libkdeinit_${kdeinit}_la_LIBADD) " . - "\$(LIBS)\n"; - - # make libkdeinit sources - $lookup = $kdeinit . '_la_SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $srces = $1; - $sources_changed{"libkdeinit_${kdeinit}_la"} = 1; - $sources{"libkdeinit_${kdeinit}_la"} = $srces; - } - - # make libkdeinit metasources - $lookup = $kdeinit . '_la_METASOURCES\s*=[ \t]*(.*)'; - substituteLine($lookup, "libkdeinit_${kdeinit}_la_METASOURCES = $1") - if($MakefileData =~ m/\n$lookup/); - -=cut - # make binary sources - $lookup = $kdeinit. '_SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - substituteLine($lookup, "${kdeinit}_SOURCES = ${kdeinit}.la.$cxxsuffix"); - $lookup = 'SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $srces = $1; - $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/; - $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/; - substituteLine($lookup, "SOURCES = $srces"); - } - $lookup = 'DIST_SOURCES\s*=[ \t](.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $srces = $1; - $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/; - $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/; - substituteLine($lookup, "DIST_SOURCES = $srces"); - } - } - - # make binary objects / libs - $lookup = $kdeinit . '_OBJECTS\s*=[ \t]*.*'; - if($MakefileData =~ m/\n$lookup/) { - $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)"; - substituteLine("${kdeinit}_LDFLAGS\\s*=.*", "${kdeinit}_LDFLAGS = \$(all_libraries)"); - substituteLine("${kdeinit}_LDADD\\s*=.*", "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la"); - substituteLine("${kdeinit}_DEPENDENCIES\\s*=.*", "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la"); - } -=cut - # add binary - push(@programs, $kdeinit); - $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)"; - $realname{$kdeinit} = $kdeinit; - $sources{$kdeinit} = "${kdeinit}.la.$cxxsuffix"; - - $lines .= "${kdeinit}_LDFLAGS = \$(KDE_RPATH) -no-undefined \$(all_libraries)\n"; - $lines .= "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la\n"; - $lines .= "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la\n"; - - $target_adds{"${kdeinit}\$(EXEEXT)"} = - "\$(${kdeinit}_OBJECTS) \$(${kdeinit}_DEPENDENCIES)\n" . - "\t\@rm -f ${kdeinit}\$(EXEEXT)\n" . - "\t\$(CXXLINK) \$(${kdeinit}_LDFLAGS) \$(${kdeinit}_OBJECTS) \$(${kdeinit}_LDADD) \$(LIBS)\n"; - - $ltlibs .= " libkdeinit_${kdeinit}.la"; - } - } - appendLines($lines); - - # add libkdeinit target - $lookup = 'lib_LTLIBRARIES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - substituteLine($lookup, "lib_LTLIBRARIES = $1 $ltlibs"); - } - else { - print STDERR - "Error: lib_LTLIBRARIES missing in $printname (required for kdeinit_LTLIBRARIES).\n"; - $errorflag = 1; - } - } - - if($#progs >= 0) { - if($MakefileData !~ m/\nbin_PROGRAMS\s*=/) { - print STDERR "Error: bin_PROGRAMS missing in $printname (required for kdeinit_LTLIBRARIES).\n"; - $errorflag = 1; - } - else { - # add our new progs to SOURCES, DIST_SOURCES and bin_PROGRAMS - my $progsources = ""; - my $progexes = ""; - foreach my $p (@progs) { - $progsources .= "\$(${p}_SOURCES) "; - $progexes .= "${p}\$(EXEEXT) "; - } - $lookup = 'SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "SOURCES = $1 $progsources"); - } - $lookup = 'DIST_SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "DIST_SOURCES = $1 $progsources"); - } - # bin_PROGRAMS is complicated, as it exists twice, so we do a little - # magic trick here - $lookup = 'PROGRAMS\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "bin_PROGRAMS += $progexes\nPROGRAMS = $1"); - } - } - } -} - -#----------------------------------------------------------------------------- - -sub tag_COMPILE_FIRST() -{ - foreach $program (@programs) { - my $lookup = "$program" . '_COMPILE_FIRST\s*=[ \t]*(.*)'; - if ($MakefileData =~ m/\n$lookup\n/) { - my $compilefirst_str = $1; - my @compilefirst = split(/[\034\s]+/, $compilefirst_str); - my @progsources = split(/[\034\s]+/, $sources{$program}); - my %donesources = (); - foreach $source (@progsources) { - my @deps = (); - my $sdeps = ""; - if (-f $source) { - $sdeps = "\$(srcdir)/$source"; - } else { - $sdeps = "$source"; - } - foreach $depend (@compilefirst) { - next if ($source eq $depend); - # avoid cyclic dependencies - next if defined($donesources{$depend}); - push @deps, $depend; - } - $target_adds{$sdeps} .= join(' ', @deps) . ' ' if (@deps); - $donesources{$source} = 1; - } - } - } -} - -#----------------------------------------------------------------------------- - - -# Organises the list of headers that we'll use to produce moc files -# from. -sub tag_METASOURCES () -{ - local @newObs = (); # here we add to create object files - local @depend = (); # here we add to create moc files - local $mocExt = ".moc"; - local %mocFiles = (); - - my $line = ""; - my $postEqual = ""; - - my $lookup; - my $found = ""; - if ($metasourceTags > 1) { - $lookup = $program . '_METASOURCES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - $found = $1; - } else { - $lookup = $program . '_METASOURCES\s*=\s*(.*)'; - if ($MakefileData !~ /\n($lookup)\n/) { - $lookup = 'METASOURCES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - $found = $1; - $metasourceTags = 0; # we can use the general target only once - } else { - $found = $1; - } - } - print STDOUT "METASOURCE processing <$found>)\n" if ($verbose); - - $postEqual = $found; - $postEqual =~ s/[^=]*=//; - - removeLine ($lookup, $found); - - # Always find the header files that could be used to "moc" - return 1 if (findMocCandidates ()); - - if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/) - { - print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+); - $mocExt = ".moc.$cxxsuffix"; - $haveAutomocTag = 1; - } - else - { - # Not automoc so read the list of files supplied which - # should be .moc files. - - $postEqual =~ tr/\034/ /; - - # prune out extra headers - This also checks to make sure that - # the list is valid. - pruneMocCandidates ($postEqual); - } - - checkMocCandidates (); - - if (@newObs) { - my $ext = ($program =~ /_la$/) ? ".moc.lo " : ".moc.o "; - $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext; - $dependmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix"; - foreach $file (@newObs) { - $dep_files .= " \$(DEPDIR)/$file.moc.P" if($dep_files !~/$file.moc.P/); - } - } - if (@depend) { - $dependmocs{$program} .= " "; - $dependmocs{$program} .= join('.moc ', @depend) . ".moc"; - $dependmocs{$program} .= " "; - } - addMocRules (); - @globalmocs{keys %mocFiles}=values %mocFiles; -} - -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_AUTOMAKE () -{ - my $lookup = '.*cd \$\(top_srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\)(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - 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; - - $lookup = '.*cd \$\(srcdir\)\s+&&[\034\s]+\$\(AUTOCONF\)(.*)'; - if ($MakefileData =~ /\n($lookup)\n/) { - $newLine = "\tcd \$(srcdir) && rm -f configure\n"; - $newLine .= "\tcd \$(top_srcdir) && \$(MAKE) -f admin/Makefile.common configure"; - substituteLine ($lookup, $newLine); - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub handle_TOPLEVEL() -{ - my $pofiles = ""; - my @restfiles = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if (-d $entry); - - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry =~ /.gmo$/); - - if ($entry =~ /\.po$/) { - next; - } - push(@restfiles, $entry); - } - closedir (THISDIR); - - if (@restfiles) { - $target_adds{"install-data-am"} .= "install-nls-files "; - $lines = "install-nls-files:\n"; - $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$kdelang\n"; - for $file (@restfiles) { - $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; - } - $target_adds{"uninstall"} .= "uninstall-nls-files "; - $lines .= "uninstall-nls-files:\n"; - for $file (@restfiles) { - $lines .= "\t-rm -f \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; - } - appendLines($lines); - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_SUBDIRS () -{ - if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) { - return 1; - } - - my $subdirs = "."; - - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./); - if (-d $entry && -f $entry . "/Makefile.am") { - $subdirs .= " $entry"; - next; - } - } - closedir (THISDIR); - - substituteLine('SUBDIRS\s*=.*', "SUBDIRS =$subdirs"); - return 0; -} - -sub tag_IDLFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my $dep_lines = ""; - my @cppFiles = (); - - foreach $source (@psources) { - my $skel = ($source =~ m/\.skel$/); - my $stub = ($source =~ m/\.stub$/); - my $signals = ($source =~ m/\.signals$/); # obsolete, remove in KDE-4 - - if ($stub || $skel || $signals) { - - my $qs = quotemeta($source); - $sources{$program} =~ s/$qs//; - $sources_changed{$program} = 1; - - $source =~ s/\.(stub|skel|signals)$//; - my $sourcename; - - if ($skel) { - $sourcename = "$source\_skel"; - } elsif ($stub) { - $sourcename = "$source\_stub"; - } else { - $sourcename = "$source\_signals"; - } - - my $sourcedir = ''; - if (-f "$makefileDir/$source.h") { - $sourcedir = '$(srcdir)/'; - } else { - if ($MakefileData =~ /\n$source\_DIR\s*=\s*(\S+)\n/) { - $sourcedir = $1; - $sourcedir .= "/" if ($sourcedir !~ /\/$/); - } - } - - if ($allidls !~ /$source\_kidl/) { - - $use_ng = ($MakefileData =~ /\n$source\_DCOPIDLNG\s*=\s*(\S+)\n/); - $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"; - - $allidls .= $source . "_kidl "; - } - - if ($allidls !~ /$sourcename/) { - - $dep_lines_tmp = ""; - - if ($skel) { - $dep_lines .= "$sourcename.$cxxsuffix: $source.kidl\n"; - $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-stub $source.kidl\n"; - } elsif ($stub) { - $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-skel $source.kidl\n"; - } else { # signals - obsolete, remove in KDE 4 - $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-stub --no-skel $source.kidl\n"; - } - - if ($stub || $signals) { - $target_adds{"$sourcename.$cxxsuffix"} .= "$sourcename.h "; - $dep_lines .= "$sourcename.h: $source.kidl\n"; - $dep_lines .= $dep_lines_tmp; - } - - $allidls .= $sourcename . " "; - } - - $idlfiles{$program} .= $sourcename . " "; - - if ($program =~ /_la$/) { - $realObjs{$program} .= " $sourcename.lo"; - } else { - $realObjs{$program} .= " $sourcename.\$(OBJEXT)"; - } - $sources{$program} .= " $sourcename.$cxxsuffix"; - $sources_changed{$program} = 1; - $important{$program} .= "$sourcename.h " if (!$skel); - $idl_output .= "\\\n\t$sourcename.$cxxsuffix $sourcename.h $source.kidl "; - push(@cleanfiles, "$sourcename.$cxxsuffix"); - push(@cleanfiles, "$sourcename.h"); - push(@cleanfiles, "$sourcename.kidl"); - $dep_files .= " \$(DEPDIR)/$sourcename.P" if ($dep_files !~/$sourcename.P/); - } - } - if ($dep_lines) { - appendLines($dep_lines); - } - - if (0) { - my $lookup = "($program)"; - $lookup .= '(|\$\(EXEEXT\))'; - $lookup =~ s/\_/./g; - $lookup .= ":(.*..$program\_OBJECTS..*)"; - # $lookup = quotemeta($lookup); - if ($MakefileData =~ /\n$lookup\n/) { - - my $line = "$1$2: "; - foreach $file (split(' ', $idlfiles{$program})) { - $line .= "$file.$cxxsuffix "; - } - $line .= $3; - substituteLine($lookup, $line); - } else { - print STDERR "no built dependency found $lookup\n"; - } - } -} - -sub tag_UIFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my @depFiles = (); - - foreach $source (@psources) { - - if ($source =~ m/\.ui$/) { - - print STDERR "adding UI file $source\n" if ($verbose); - - my $qs = quotemeta($source); - $sources{$program} =~ s/$qs//; - $sources_changed{$program} = 1; - - $source =~ s/\.ui$//; - - my $sourcedir = ''; - if (-f "$makefileDir/$source.ui") { - $sourcedir = '$(srcdir)/'; - } - - if (!$uiFiles{$source}) { - - my $dep_lines = "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n"; - $dep_lines .= "\trm -f $source.$cxxsuffix\n"; - if (!$kdeopts{"qtonly"}) { - $dep_lines .= "\techo '#include ' > $source.$cxxsuffix\n"; - $dep_lines .= "\techo '#include ' >> $source.$cxxsuffix\n"; - 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\" | \$(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 .= "\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"; - - $rule_adds{"$source.$cxxsuffix"} = $dep_lines; - - $uiFiles{$source} = 1; - $dependmocs{$program} .= " $source.moc"; - $globalmocs{$source} = "\035$source.h\035$source.cpp"; - } - - if ($program =~ /_la$/) { - $realObjs{$program} .= " $source.lo"; - } else { - $realObjs{$program} .= " $source.\$(OBJEXT)"; - } - $sources{$program} .= " $source.$cxxsuffix"; - $sources_changed{$program} = 1; - $important{$program} .= "$source.h "; - $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc "; - push(@cleanfiles, "$source.$cxxsuffix"); - push(@cleanfiles, "$source.h"); - push(@cleanfiles, "$source.moc"); - $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); - } - } -} - -sub tag_KCFGFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my @depFiles = (); - - foreach $source (@psources) { - - if ($source =~ m/\.kcfgc$/) { - - print STDERR "adding KCFG file $source\n" if ($verbose); - - my $qs = quotemeta($source); - $sources{$program} =~ s/$qs//; - $sources_changed{$program} = 1; - - $source =~ s/\.kcfgc$//; - - my $sourcedir = ''; - if (-f "$makefileDir/$source.kcfgc") { - $sourcedir = '$(srcdir)/'; - } - - if (!$kcfgFiles{$source}) { - $kcfg = "$program.kcfg"; - findKcfgFile("$source.kcfgc"); - - my $fixsuffix = ""; - $fixsuffix = "else mv $source.cpp $source.$cxxsuffix ; " - unless "cpp" eq $cxxsuffix; - - my $dep_lines = "$source.$cxxsuffix: $source.h\n"; - $dep_lines .= "$source.h: $sourcedir$kcfg $sourcedir$source.kcfgc \$(KCFG_DEPENDENCIES)\n"; - $dep_lines .= "\t\$(KCONFIG_COMPILER) $sourcedir$kcfg $sourcedir$source.kcfgc; ret=\$\$?; \\\n"; - $dep_lines .= "\tif test \"\$\$ret\" != 0; then rm -f $source.h ; exit \$\$ret ; $fixsuffix fi\n\n"; - - $rule_adds{"$source.$cxxsuffix"} = $dep_lines; - - $kcfgFiles{$source} = 1; - } - - if ($program =~ /_la$/) { - $realObjs{$program} .= " $source.lo"; - } else { - $realObjs{$program} .= " $source.\$(OBJEXT)"; - } - $sources{$program} .= " $source.$cxxsuffix"; - $sources_changed{$program} = 1; - $important{$program} .= "$source.h "; - $kcfg_output .= "\\\n\t$source.$cxxsuffix $source.h "; - push(@cleanfiles, "$source.$cxxsuffix"); - push(@cleanfiles, "$source.h"); - $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); - } - } -} - -sub tag_ICON() -{ - my $lookup = '([^\s]*)_ICON\s*=[ \t]*(.*)'; - my $install = ""; - my $uninstall = ""; - - while ($MakefileData =~ /\n$lookup/g) { - my $destdir; - if ($1 eq "KDE") { - $destdir = "kde_icondir"; - } else { - $destdir = $1 . "dir"; - } - my $iconauto = ($2 =~ /AUTO\s*$/); - my @appnames = (); - if ( ! $iconauto ) { - my $appicon_str = $2; - my @_appnames = split(" ", $appicon_str); - print STDOUT "KDE_ICON processing <@_appnames>\n" if ($verbose); - foreach $appname (@_appnames) { - push(@appnames, quotemeta($appname)); - } - } else { - print STDOUT "KDE_ICON processing \n" if ($verbose); - } - - my @files = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); - next if (! -f $entry); - if ( $iconauto ) - { - push(@files, $entry) - if ($entry =~ /\.xpm/ || $entry =~ /\.png/ || $entry =~ /\.mng/ || $entry =~ /\.svg/); - } else { - foreach $appname (@appnames) { - push(@files, $entry) - if ($entry =~ /-$appname\.xpm/ || $entry =~ /-$appname\.png/ || $entry =~ /-$appname\.mng/ || $entry =~ /-$appname\.svg/); - } - } - } - closedir (THISDIR); - - my %directories = (); - - foreach $file (@files) { - my $newfile = $file; - my $prefix = $file; - $prefix =~ s/\.(png|xpm|mng|svg|svgz)$//; - my $appname = $prefix; - $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; - $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; - $appname = quotemeta($appname); - $prefix =~ s/$appname$//; - $prefix =~ s/-$//; - - $prefix = 'lo16-app' if ($prefix eq 'mini'); - $prefix = 'lo32-app' if ($prefix eq 'lo'); - $prefix = 'hi48-app' if ($prefix eq 'large'); - $prefix .= '-app' if ($prefix =~ m/^...$/); - - my $type = $prefix; - $type =~ s/^.*-([^-]+)$/$1/; - $prefix =~ s/^(.*)-[^-]+$/$1/; - - my %type_hash = - ( - 'action' => 'actions', - 'app' => 'apps', - 'device' => 'devices', - 'filesys' => 'filesystems', - 'mime' => 'mimetypes' - ); - - if (! defined $type_hash{$type} ) { - print STDERR "unknown icon type $type in $printname ($file)\n"; - next; - } - - my %dir_hash = - ( - 'los' => 'locolor/16x16', - 'lom' => 'locolor/32x32', - 'him' => 'hicolor/32x32', - 'hil' => 'hicolor/48x48', - 'lo16' => 'locolor/16x16', - 'lo22' => 'locolor/22x22', - 'lo32' => 'locolor/32x32', - 'hi16' => 'hicolor/16x16', - 'hi22' => 'hicolor/22x22', - 'hi32' => 'hicolor/32x32', - 'hi48' => 'hicolor/48x48', - 'hi64' => 'hicolor/64x64', - 'hi128' => 'hicolor/128x128', - 'hisc' => 'hicolor/scalable', - 'cr16' => 'crystalsvg/16x16', - 'cr22' => 'crystalsvg/22x22', - 'cr32' => 'crystalsvg/32x32', - 'cr48' => 'crystalsvg/48x48', - 'cr64' => 'crystalsvg/64x64', - 'cr128' => 'crystalsvg/128x128', - 'crsc' => 'crystalsvg/scalable' - ); - - $newfile =~ s@.*-($appname\.(png|xpm|mng|svgz|svg?))@$1@; - - if (! defined $dir_hash{$prefix}) { - print STDERR "unknown icon prefix $prefix in $printname\n"; - next; - } - - my $dir = $dir_hash{$prefix} . "/" . $type_hash{$type}; - if ($newfile =~ /-[^\.]/) { - my $tmp = $newfile; - $tmp =~ s/^([^-]+)-.*$/$1/; - $dir = $dir . "/" . $tmp; - $newfile =~ s/^[^-]+-//; - } - - if (!defined $directories{$dir}) { - $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$($destdir)/$dir\n"; - $directories{$dir} = 1; - } - - $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; - $uninstall .= "\t-rm -f \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; - - } - } - - if (length($install)) { - $target_adds{"install-data-am"} .= "install-kde-icons "; - $target_adds{"uninstall-am"} .= "uninstall-kde-icons "; - appendLines("install-kde-icons:\n" . $install . "\nuninstall-kde-icons:\n" . $uninstall); - } -} - -sub handle_POFILES($$) -{ - my @pofiles = split(" ", $_[0]); - my $lang = $_[1]; - - # Build rules for creating the gmo files - my $tmp = ""; - my $allgmofiles = ""; - my $pofileLine = "POFILES ="; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - $tmp .= "$1.gmo: $pofile\n"; - $tmp .= "\trm -f $1.gmo; \$(GMSGFMT) -o $1.gmo \$(srcdir)/$pofile\n"; - $tmp .= "\ttest ! -f $1.gmo || touch $1.gmo\n"; - $allgmofiles .= " $1.gmo"; - $pofileLine .= " $1.po"; - } - appendLines ($tmp); - my $lookup = 'POFILES\s*=([^\n]*)'; - if ($MakefileData !~ /\n$lookup/) { - appendLines("$pofileLine\nGMOFILES =$allgmofiles"); - } else { - substituteLine ($lookup, "$pofileLine\nGMOFILES =$allgmofiles"); - } - - if ($allgmofiles) { - - # Add the "clean" rule so that the maintainer-clean does something - appendLines ("clean-nls:\n\t-rm -f $allgmofiles\n"); - - $target_adds{"maintainer-clean"} .= "clean-nls "; - - $lookup = 'DISTFILES\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - $tmp = "DISTFILES = \$(GMOFILES) \$(POFILES) $1"; - substituteLine ($lookup, $tmp); - } - } - - $target_adds{"install-data-am"} .= "install-nls "; - - $tmp = "install-nls:\n"; - if ($lang) { - $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES\n"; - } - $tmp .= "\t\@for base in "; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - $tmp .= "$1 "; - } - - $tmp .= "; do \\\n"; - if ($lang) { - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t fi ;\\\n"; - } else { - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t \$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES ; \\\n"; - $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t fi ;\\\n"; - } - $tmp .= "\tdone\n\n"; - appendLines ($tmp); - - $target_adds{"uninstall"} .= "uninstall-nls "; - - $tmp = "uninstall-nls:\n"; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - if ($lang) { - $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/$1.mo\n"; - } else { - $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$1/LC_MESSAGES/\$(PACKAGE).mo\n"; - } - } - appendLines($tmp); - - $target_adds{"all"} .= "all-nls "; - - $tmp = "all-nls: \$(GMOFILES)\n"; - - appendLines($tmp); - - $target_adds{"distdir"} .= "distdir-nls "; - - $tmp = "distdir-nls:\$(GMOFILES)\n"; - $tmp .= "\tfor file in \$(POFILES); do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - $tmp .= "\tfor file in \$(GMOFILES); do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - - appendLines ($tmp); - - if (!$lang) { - appendLines("merge:\n\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common package-merge POFILES=\"\${POFILES}\" PACKAGE=\${PACKAGE}\n\n"); - } - -} - -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_POFILES () -{ - my $lookup = 'POFILES\s*=([^\n]*)'; - return 1 if ($MakefileData !~ /\n$lookup/); - print STDOUT "POFILES processing <$1>\n" if ($verbose); - - my $tmp = $1; - - # make sure these are all gone. - if ($MakefileData =~ /\n\.po\.gmo:\n/) - { - print STDERR "Warning: Found old .po.gmo rules in $printname. New po rules not added\n"; - return 1; - } - - # Either find the pofiles in the directory (AUTO) or use - # only the specified po files. - my $pofiles = ""; - if ($tmp =~ /^\s*AUTO\s*$/) - { - opendir (THISDIR, "."); - $pofiles = join(" ", grep(/\.po$/, readdir(THISDIR))); - closedir (THISDIR); - print STDOUT "pofiles found = $pofiles\n" if ($verbose); - if (-f "charset" && -f "kdelibs/kdelibs.po") { - handle_TOPLEVEL(); - } - } - else - { - $tmp =~ s/\034/ /g; - $pofiles = $tmp; - } - return 1 if (!$pofiles); # Nothing to do - - handle_POFILES($pofiles, $kdelang); - - return 0; -} - -sub helper_LOCALINSTALL($) -{ - my $lookup = "\035" . $_[0] . " *:[^\035]*\035\t"; - my $copy = $MakefileData; - $copy =~ s/\n/\035/g; - if ($copy =~ /($lookup.*)$/) { - - $install = $1; - $install =~ s/\035$_[0] *:[^\035]*\035//; - my $emptyline = 0; - while (! $emptyline ) { - if ($install =~ /([^\035]*)\035(.*)/) { - local $line = $1; - $install = $2; - if ($line !~ /^\s*$/ && $line !~ /^(\@.*\@)*\t/) { - $emptyline = 1; - } else { - replaceDestDir($line); - } - } else { - $emptyline = 1; - } - } - } - -} - -sub tag_LOCALINSTALL () -{ - helper_LOCALINSTALL('install-exec-local'); - helper_LOCALINSTALL('install-data-local'); - helper_LOCALINSTALL('uninstall-local'); - - return 0; -} - -sub replaceDestDir($) { - local $line = $_[0]; - - if ( $line =~ /^\s*(\@.*\@)*\s*\$\(mkinstalldirs\)/ - || $line =~ /^\s*(\@.*\@)*\s*\$\(INSTALL\S*\)/ - || $line =~ /^\s*(\@.*\@)*\s*(-?rm.*) \S*$/) - { - $line =~ s/^(.*) ([^\s]+)\s*$/$1 \$(DESTDIR)$2/ if ($line !~ /\$\(DESTDIR\)/); - } - - if ($line ne $_[0]) { - $_[0] = quotemeta $_[0]; - substituteLine($_[0], $line); - } -} - -#--------------------------------------------------------------------------- -# libtool is very hard to persuade it could use -Wl,--no-undefined for making -# -no-undefined actually work -# append $(KDE_NO_UNFINED) after every -no-undefined in LDFLAGS -# this may go away if libtool ever does this on its own -sub tag_NO_UNDEFINED () { - return if ($program !~ /_la$/); - - my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; - $MakefileData =~ m/$lookup/; - return if (!defined($1)); - return if ($1 !~ /CXXLINK/); - - if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ ) { - return; - } - - $lookup = $program . '\_LDFLAGS(\s*)=(.*)-no-undefined(.*)'; - if ($MakefileData =~ /\n$lookup\n/) { - my $replace = $program . "\_LDFLAGS$1=$2-no-undefined \$(KDE_NO_UNDEFINED)$3"; - substituteLine($lookup, $replace); - } -} - -sub tag_CLOSURE () { - return if ($program !~ /_la$/); - - my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; - $MakefileData =~ m/$lookup/; - return if (!defined($1)); - return if ($1 !~ /CXXLINK/); - - if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ && - $MakefileData !~ /\n$program\_LDFLAGS\s*=.*KDE_PLUGIN/ ) { - print STDERR "Report: $program contains undefined in $printname\n" if ($program =~ /^lib/ && $dryrun); - return; - } - - my $closure = $realname{$program} . ".closure"; - my $lines = "$closure: \$($program\_OBJECTS) \$($program\_DEPENDENCIES)\n"; - $lines .= "\t\@echo \"int main() {return 0;}\" > $program\_closure.$cxxsuffix\n"; - $lines .= "\t\@\$\(LTCXXCOMPILE\) -c $program\_closure.$cxxsuffix\n"; - $lines .= "\t\$\(CXXLINK\) $program\_closure.lo \$($program\_LDFLAGS) \$($program\_OBJECTS) \$($program\_LIBADD) \$(LIBS)\n"; - $lines .= "\t\@rm -f $program\_closure.* $closure\n"; - $lines .= "\t\@echo \"timestamp\" > $closure\n"; - $lines .= "\n"; - appendLines($lines); - $lookup = $realname{$program} . ": (.*)"; - if ($MakefileData =~ /\n$lookup\n/) { - $lines = "\@KDE_USE_CLOSURE_TRUE@". $realname{$program} . ": $closure $1"; - $lines .= "\n\@KDE_USE_CLOSURE_FALSE@" . $realname{$program} . ": $1"; - substituteLine($lookup, $lines); - } - $closure_output .= " $closure"; -} - -sub tag_NMCHECK () { - return if ($program !~ /_la$/); - my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; - $MakefileData =~ m/$lookup/; - my $linkcmd = $1; - return if (!defined($1)); - return if ($linkcmd !~ /CXXLINK/ && $linkcmd !~ /LINK/); - - $lookup = $program . '_NMCHECK\s*=([^\n]*)'; - if( $MakefileData !~ m/\n$lookup\n/ ) { - return; - } - my $allowed = $1; - $allowed =~ s/^ *//; - $lookup = $program . '_NMCHECKWEAK\s*=([^\n]*)'; - my $weak = ""; - my $is_weak = 0; - if( $MakefileData =~ m/\n$lookup\n/ ) { - $weak = $1; - $is_weak = 1; - } - $weak =~ s/^ *//; - - if( $is_weak ) - { - $weak = '--allowweak=\'' . $weak . '\' '; - } - my $nmline = "\@KDE_USE_NMCHECK_TRUE@\t\@\$(MAKE) \$(AM_MAKEFLAGS) nmcheck_$realname{$program} || ( rm -f $realname{$program}; exit 1 )"; - $lookup = '(\t\$\(CXXLINK\)[^\n]*' . $program . '_OBJECTS[^\n]*)'; - if( $MakefileData =~ /\n$lookup\n/ ) { - my $oldstuff = $1; - substituteLine( $lookup, $oldstuff . "\n" . $nmline ); - } - $lookup = '(\t\$\(LINK\)[^\n]*' . $program . '_OBJECTS[^\n]*)'; - if( $MakefileData =~ /\n$lookup\n/ ) { - my $oldstuff = $1; - substituteLine( $lookup, $oldstuff . "\n" . $nmline ); - } - $nmline = "\@\$(top_srcdir)/admin/nmcheck $realname{$program} \'$allowed\' $weak"; - appendLines( "\nnmcheck_$realname{$program}: $realname{$program} \n\t$nmline\n" ); - $target_adds{ "nmcheck" } .= "nmcheck_$realname{$program} "; -} - -sub tag_DIST () { - my %foundfiles = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry eq "Makefile" || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); - next if (! -f $entry); - next if ($entry =~ /\.moc/ || $entry =~ /\.moc.$cppExt$/ || $entry =~ /\.lo$/ || $entry =~ /\.la$/ || $entry =~ /\.o/); - next if ($entry =~ /\.all_$cppExt\.$cppExt$/); - $foundfiles{$entry} = 1; - } - closedir (THISDIR); - - # doing this for MAINTAINERCLEANFILES would be wrong - my @marks = ("EXTRA_DIST", "DIST_COMMON", '\S*_SOURCES', '\S*_HEADERS', 'CLEANFILES', 'DISTCLEANFILES', '\S*_OBJECTS'); - foreach $mark (@marks) { - while ($MakefileData =~ /\n($mark)\s*=[ \t]*([^\n]*)/g) { - my $cleanfiles_str = $2; - foreach $file (split('[\034\s]+', $cleanfiles_str)) { - $file =~ s/\.\///; - $foundfiles{$file} = 0 if (defined $foundfiles{$file}); - } - } - } - my @files = ("Makefile", "config.cache", "config.log", "stamp-h", - "stamp-h1", "stamp-h1", "config.h", "Makefile", - "config.status", "config.h", "libtool", "core" ); - foreach $file (@files) { - $foundfiles{$file} = 0 if (defined $foundfiles{$file}); - } - - my $KDE_DIST = ""; - foreach $file (keys %foundfiles) { - if ($foundfiles{$file} == 1) { - $KDE_DIST .= "$file "; - } - } - if ($KDE_DIST) { - print "KDE_DIST $printname $KDE_DIST\n" if ($verbose); - - my $lookup = 'DISTFILES\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "DISTFILES = $1 \$(KDE_DIST)"); - appendLines("KDE_DIST=$KDE_DIST\n"); - } - } -} - -#----------------------------------------------------------------------------- -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_DOCFILES () -{ - $target_adds{"all"} .= "docs-am "; - - my $lookup = 'KDE_DOCS\s*=[ \t]*([^\n]*)'; - goto nodocs if ($MakefileData !~ /\n$lookup/); - print STDOUT "KDE_DOCS processing <$1>\n" if ($verbose); - - my $tmp = $1; - - # Either find the files in the directory (AUTO) or use - # only the specified po files. - my $files = ""; - my $appname = $tmp; - $appname =~ s/^(\S*)\s*.*$/$1/; - if ($appname =~ /AUTO/) { - $appname = basename($makefileDir); - if ("$appname" eq "en") { - print STDERR "Error: KDE_DOCS = AUTO relies on the directory name. Yours is 'en' - you most likely want something else, e.g. KDE_DOCS = myapp\n"; - exit(1); - } - } - - if ($tmp !~ / - /) - { - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry eq "core" || $entry eq "index.cache.bz2"); - next if (! -f $entry); - $files .= "$entry "; - } - closedir (THISDIR); - print STDOUT "docfiles found = $files\n" if ($verbose); - } - else - { - $tmp =~ s/\034/ /g; - $tmp =~ s/^\S*\s*-\s*//; - $files = $tmp; - } - goto nodocs if (!$files); # Nothing to do - - if ($files =~ /(^| )index\.docbook($| )/) { - - my $lines = ""; - my $lookup = 'MEINPROC\s*='; - if ($MakefileData !~ /\n($lookup)/) { - $lines = "MEINPROC=/\$(kde_bindir)/meinproc\n"; - } - $lookup = 'KDE_XSL_STYLESHEET\s*='; - if ($MakefileData !~ /\n($lookup)/) { - $lines .= "KDE_XSL_STYLESHEET=/\$(kde_datadir)/ksgmltools2/customization/kde-chunk.xsl\n"; - } - $lookup = '\nindex.cache.bz2:'; - if ($MakefileData !~ /\n($lookup)/) { - $lines .= "index.cache.bz2: \$(srcdir)/index.docbook \$(KDE_XSL_STYLESHEET) $files\n"; - $lines .= "\t\@if test -n \"\$(MEINPROC)\"; then echo \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; fi\n"; - $lines .= "\n"; - } - - $lines .= "docs-am: index.cache.bz2\n"; - $lines .= "\n"; - $lines .= "install-docs: docs-am install-nls\n"; - $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $lines .= "\t\@if test -f index.cache.bz2; then \\\n"; - $lines .= "\techo \$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\t\$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\telif test -f \$(srcdir)/index.cache.bz2; then \\\n"; - $lines .= "\techo \$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\t\$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\tfi\n"; - $lines .= "\t-rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; - $lines .= "\t\$(LN_S) \$(kde_libs_htmldir)/$kdelang/common \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; - - $lines .= "\n"; - $lines .= "uninstall-docs:\n"; - $lines .= "\t-rm -rf \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $lines .= "\n"; - $lines .= "clean-docs:\n"; - $lines .= "\t-rm -f index.cache.bz2\n"; - $lines .= "\n"; - $target_adds{"install-data-am"} .= "install-docs "; - $target_adds{"uninstall"} .= "uninstall-docs "; - $target_adds{"clean-am"} .= "clean-docs "; - appendLines ($lines); - } else { - appendLines("docs-am: $files\n"); - } - - $target_adds{"install-data-am"} .= "install-nls "; - $target_adds{"uninstall"} .= "uninstall-nls "; - - $tmp = "install-nls:\n"; - $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $tmp .= "\t\@for base in $files; do \\\n"; - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\t \$(INSTALL_DATA) \$(srcdir)/\$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\tdone\n"; - if ($appname eq 'common') { - $tmp .= "\t\@echo \"merging common and language specific dir\" ;\\\n"; - $tmp .= "\tif test ! -f \$(kde_htmldir)/en/common/kde-common.css; then echo 'no english docs found in \$(kde_htmldir)/en/common/'; exit 1; fi \n"; - $tmp .= "\t\@com_files=`cd \$(kde_htmldir)/en/common && echo *` ;\\\n"; - $tmp .= "\tcd \$(DESTDIR)\$(kde_htmldir)/$kdelang/common ;\\\n"; - $tmp .= "\tif test -n \"\$\$com_files\"; then for p in \$\$com_files ; do \\\n"; - $tmp .= "\t case \" $files \" in \\\n"; - $tmp .= "\t *\" \$\$p \"*) ;; \\\n"; - $tmp .= "\t *) test ! -f \$\$p && echo \$(LN_S) ../../en/common/\$\$p \$(DESTDIR)\$(kde_htmldir)/$kdelang/common/\$\$p && \$(LN_S) ../../en/common/\$\$p \$\$p ;; \\\n"; - $tmp .= "\t esac ; \\\n"; - $tmp .= "\tdone ; fi ; true\n"; - } - $tmp .= "\n"; - $tmp .= "uninstall-nls:\n"; - $tmp .= "\tfor base in $files; do \\\n"; - $tmp .= "\t rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\tdone\n\n"; - appendLines ($tmp); - - $target_adds{"distdir"} .= "distdir-nls "; - - $tmp = "distdir-nls:\n"; - $tmp .= "\tfor file in $files; do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - - appendLines ($tmp); - - return 0; - - nodocs: - appendLines("docs-am:\n"); - return 1; -} - -#----------------------------------------------------------------------------- -# Find headers in any of the source directories specified previously, that -# are candidates for "moc-ing". -sub findMocCandidates () -{ - foreach $dir (@headerdirs) - { - my @list = (); - opendir (SRCDIR, "$dir"); - @hFiles = grep { /.+\.$hExt$/o && !/^\./ } readdir(SRCDIR); - closedir SRCDIR; - foreach $hf (@hFiles) - { - next if ($hf =~ /^\.\#/); - $hf =~ /(.*)\.[^\.]*$/; # Find name minus extension - next if ($uiFiles{$1}); - open (HFIN, "$dir/$hf") || die "Could not open $dir/$hf: $!\n"; - my $hfsize = 0; - seek(HFIN, 0, 2); - $hfsize = tell(HFIN); - seek(HFIN, 0, 0); - read HFIN, $hfData, $hfsize; - close HFIN; - # push (@list, $hf) if(index($hfData, "Q_OBJECT") >= 0); ### fast but doesn't handle //Q_OBJECT - # handle " { friend class blah; Q_OBJECT ", but don't match antlarr_Q_OBJECT (\b). - if ( $hfData =~ /{([^}]*)\bQ_OBJECT/s ) { - push (@list, $hf) unless $1 =~ m://[^\n]*Q_OBJECT[^\n]*$:s; ## reject "// Q_OBJECT" - } - } - # The assoc array of root of headerfile and header filename - foreach $hFile (@list) - { - $hFile =~ /(.*)\.[^\.]*$/; # Find name minus extension - if ($mocFiles{$1}) - { - print STDERR "Warning: Multiple header files found for $1\n"; - next; # Use the first one - } - $mocFiles{$1} = "$dir\035$hFile"; # Add relative dir - } - } - - return 0; -} - -#----------------------------------------------------------------------------- - -# The programmer has specified a moc list. Prune out the moc candidates -# list that we found based on looking at the header files. This generates -# a warning if the programmer gets the list wrong, but this doesn't have -# to be fatal here. -sub pruneMocCandidates ($) -{ - my %prunedMoc = (); - local @mocList = split(' ', $_[0]); - - foreach $mocname (@mocList) - { - $mocname =~ s/\.moc$//; - if ($mocFiles{$mocname}) - { - $prunedMoc{$mocname} = $mocFiles{$mocname}; - } - else - { - my $print = $makefileDir; - $print =~ s/^\Q$topdir\E\\//; - # They specified a moc file but we can't find a header that - # will generate this moc file. That's possible fatal! - print STDERR "Warning: No moc-able header file for $print/$mocname\n"; - } - } - - undef %mocFiles; - %mocFiles = %prunedMoc; -} - -#----------------------------------------------------------------------------- - -# Finds the cpp files (If they exist). -# The cpp files get appended to the header file separated by \035 -sub checkMocCandidates () -{ - my @cppFiles; - my $cpp2moc; # which c++ file includes which .moc files - my $moc2cpp; # which moc file is included by which c++ files - - return unless (keys %mocFiles); - opendir(THISDIR, ".") || return; - @cppFiles = grep { /.+\.$cppExt$/o && !/.+\.moc\.$cppExt$/o - && !/.+\.all_$cppExt\.$cppExt$/o - && !/^\./ } readdir(THISDIR); - closedir THISDIR; - return unless (@cppFiles); - my $files = join (" ", @cppFiles); - $cpp2moc = {}; - $moc2cpp = {}; - foreach $cxxf (@cppFiles) - { - open (CXXFIN, $cxxf) || die "Could not open $cxxf: $!\n"; - seek(CXXFIN, 0, 2); - my $cxxfsize = tell(CXXFIN); - seek(CXXFIN, 0, 0); - read CXXFIN, $cxxfData, $cxxfsize; - close CXXFIN; - while(($cxxfData =~ m/^[ \t]*\#include\s*[<\"](.*\.moc)[>\"]/gm)) { - $cpp2moc->{$cxxf}->{$1} = 1; - $moc2cpp->{$1}->{$cxxf} = 1; - } - } - foreach my $mocFile (keys (%mocFiles)) - { - @cppFiles = keys %{$moc2cpp->{"$mocFile.moc"}}; - if (@cppFiles == 1) { - $mocFiles{$mocFile} .= "\035" . $cppFiles[0]; - push(@depend, $mocFile); - } elsif (@cppFiles == 0) { - push (@newObs, $mocFile); # Produce new object file - next if ($haveAutomocTag); # This is expected... - # But this is an error we can deal with - let them know - print STDERR - "Warning: No c++ file that includes $mocFile.moc\n"; - } else { - # We can't decide which file to use, so it's fatal. Although as a - # guess we could use the mocFile.cpp file if it's in the list??? - print STDERR - "Error: Multiple c++ files that include $mocFile.moc\n"; - print STDERR "\t",join ("\t", @cppFiles),"\n"; - $errorflag = 1; - delete $mocFiles{$mocFile}; - # Let's continue and see what happens - They have been told! - } - } -} - -#----------------------------------------------------------------------------- - -# Add the rules for generating moc source from header files -# For Automoc output *.moc.cpp but normally we'll output *.moc -# (We must compile *.moc.cpp separately. *.moc files are included -# in the appropriate *.cpp file by the programmer) -sub addMocRules () -{ - my $cppFile; - my $hFile; - - foreach $mocFile (keys (%mocFiles)) - { - undef $cppFile; - ($dir, $hFile, $cppFile) = split ("\035", $mocFiles{$mocFile}, 3); - $dir =~ s#^\.#\$(srcdir)#; - if (defined ($cppFile)) - { - $cppFile =~ s,\.[^.]*$,,; - $target_adds{"$cppFile.o"} .= "$mocFile.moc "; - $target_adds{"$cppFile.lo"} .= "$mocFile.moc "; - appendLines ("$mocFile.moc: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile.moc\n"); - $cleanMoc .= " $mocFile.moc"; - appendLines ("mocs: $mocFile.moc\n"); - } - else - { - appendLines ("$mocFile$mocExt: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile$mocExt\n"); - $cleanMoc .= " $mocFile$mocExt"; - appendLines ("mocs: $mocFile$mocExt\n"); - } - } -} - -sub make_bcheck_target() -{ - my $lookup = 'RECURSIVE_TARGETS\s*=[ \t]*(.*)'; - my $bcheckdep = "bcheck-am"; - $bcheckdep = "bcheck-recursive" if ($MakefileData =~ /\n$lookup/); - - my $headers= ""; - $headers = $1 if($MakefileData =~ /\nHEADERS\s*=[ \t]*(.+)/); - $headers =~ s/\$\((?:noinst|EXTRA)_HEADERS\)//g; - - $target_adds{"clean-am"} .= "clean-bcheck "; - - my $t = "clean-bcheck: \n" . - "\trm -f *.bchecktest.cc *.bchecktest.cc.class a.out\n\n" . - "bcheck: $bcheckdep\n\n" . - "bcheck-am:\n" . - "\t\@for i in $headers; do \\\n" . - "\t if test \$(srcdir)/\$\$i -nt \$\$i.bchecktest.cc; then \\\n" . - "\t echo \"int main() {return 0;}\" > \$\$i.bchecktest.cc ; \\\n" . - "\t echo \"#include \\\"\$\$i\\\"\" >> \$\$i.bchecktest.cc ; \\\n" . - "\t echo \"\$\$i\"; \\\n" . - "\t if ! "; - $t .= $cxxsuffix eq "KKK" ? - "\$(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" . - "\t fi ; \\\n" . - "\t echo \"\" >> \$\$i.bchecktest.cc.class; \\\n" . - "\t perl \$(top_srcdir)/admin/bcheck.pl \$\$i.bchecktest.cc.class || { rm -f \$\$i.bchecktest.cc; exit 1; }; \\\n" . - "\t rm -f a.out; \\\n" . - "\t fi ; \\\n" . - "\tdone\n"; - appendLines("$t\n"); -} - -sub make_meta_classes () -{ - return if ($kdeopts{"qtonly"}); - - my $cppFile; - my $hFile; - my $moc_class_headers = ""; - foreach $program (@programs) { - my $mocs = ""; - my @progsources = split(/[\034\s]+/, $sources{$program}); - my @depmocs = split(' ', $dependmocs{$program}); - my %shash = (), %mhash = (); - @shash{@progsources} = 1; # we are only interested in the existence - @mhash{@depmocs} = 1; - - print STDOUT "program=$program\n" if ($verbose); - print STDOUT "psources=[".join(' ', keys %shash)."]\n" if ($verbose); - print STDOUT "depmocs=[".join(' ', keys %mhash)."]\n" if ($verbose); - print STDOUT "globalmocs=[".join(' ', keys(%globalmocs))."]\n" if ($verbose); - foreach my $mocFile (keys (%globalmocs)) - { - my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); - if (defined ($cppFile)) - { - $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; - } - else - { - # Bah. This is the case, if no C++ file includes the .moc - # file. We make a .moc.cpp file for that. Unfortunately this - # is not included in the %sources hash, but rather is mentioned - # in %dependmocs. If the user wants to use AUTO he can't just - # use an unspecific METAINCLUDES. Instead he must use - # program_METAINCLUDES. Anyway, it's not working real nicely. - # E.g. Its not clear what happens if user specifies two - # METAINCLUDES=AUTO in the same Makefile.am. - $mocs .= " $mocFile.moc.$cxxsuffix" - if exists $mhash{$mocFile.".moc.$cxxsuffix"}; - } - } - if ($mocs) { - print STDOUT "==> mocs=[".$mocs."]\n" if ($verbose); - } - print STDOUT "\n" if $verbose; - } - if ($moc_class_headers) { - appendLines ("$cleantarget-moc-classes:\n\t-rm -f $moc_class_headers\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-moc-classes "; - } -} - -#----------------------------------------------------------------------------- - -sub updateMakefile () -{ - return if ($dryrun); - - open (FILEOUT, "> $makefile") - || die "Could not create $makefile: $!\n"; - - $MakefileData =~ s/\034/\\\n/g; # Restore continuation lines - # Append our $progId line, _below_ the "generated by automake" line - # because automake-1.6 relies on the first line to be his own. - my $progIdLine = "\# $progId - " . '$Revision: 483858 $ '."\n"; - if ( !( $MakefileData =~ s/^(.*generated .*by automake.*\n)/$1$progIdLine/ ) ) { - warn "automake line not found in $makefile\n"; - # Fallback: first line - print FILEOUT $progIdLine; - }; - print FILEOUT $MakefileData; - close FILEOUT; -} - -#----------------------------------------------------------------------------- - -# The given line needs to be removed from the makefile -# Do this by adding the special "removed line" comment at the line start. -sub removeLine ($$) -{ - my ($lookup, $old) = @_; - - $old =~ s/\034/\\\n#>- /g; # Fix continuation lines - $MakefileData =~ s/\n$lookup/\n#>\- $old/; -} - -#----------------------------------------------------------------------------- - -# Replaces the old line with the new line -# old line(s) are retained but tagged as removed. The new line(s) have the -# "added" tag placed before it. -sub substituteLine ($$) -{ - my ($lookup, $new) = @_; - - if ($MakefileData =~ /\n($lookup)/) { - $old = $1; - $old =~ s/\034/\\\n#>\- /g; # Fix continuation lines - my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; - $new =~ s/\\\n/\034/g; - $MakefileData =~ s/\n$lookup/\n#>- $old\n#>\+ $newCount\n$new/; - } else { - warn "Warning: substitution of \"$lookup\" in $printname failed\n"; - } -} - -#----------------------------------------------------------------------------- - -# Slap new lines on the back of the file. -sub appendLines ($) -{ - my ($new) = @_; - my $copynew = $new; - my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; - $new =~ s/\\\n/\034/g; # Fix continuation lines - $MakefileData .= "\n#>\+ $newCount\n$new"; -} - -#----------------------------------------------------------------------------- - -# Restore the Makefile.in to the state it was before we fiddled with it -sub restoreMakefile () -{ - $MakefileData =~ s/# $progId[^\n\034]*[\n\034]*//g; - # Restore removed lines - $MakefileData =~ s/([\n\034])#>\- /$1/g; - # Remove added lines - while ($MakefileData =~ /[\n\034]#>\+ ([^\n\034]*)/) - { - my $newCount = $1; - my $removeLines = ""; - while ($newCount--) { - $removeLines .= "[^\n\034]*([\n\034]|)"; - } - $MakefileData =~ s/[\n\034]#>\+.*[\n\034]$removeLines/\n/; - } -} - -#----------------------------------------------------------------------------- - -# find the .kcfg file listed in the .kcfgc file -sub findKcfgFile($) -{ - my ($kcfgf) = @_; - open (KCFGFIN, $kcfgf) || die "Could not open $kcfgf: $!\n"; - seek(KCFGFIN, 0, 2); - my $kcfgfsize = tell(KCFGFIN); - seek(KCFGFIN, 0, 0); - read KCFGFIN, $kcfgfData, $kcfgfsize; - close KCFGFIN; - if(($kcfgfData =~ m/^File=(.*\.kcfg)/gm)) { - $kcfg = $1; - } -} diff --git a/admin/bcheck.pl b/admin/bcheck.pl deleted file mode 100644 index cca973e..0000000 --- a/admin/bcheck.pl +++ /dev/null @@ -1,157 +0,0 @@ -#!/usr/bin/perl -w - -use DB_File; -use Fcntl ':flock'; - -if (!defined($ARGV[0])) { - print "usage: requires .class dump as parameter!\n"; - exit; -} - -sub bailout -{ - untie %bcheckdb if(defined(%bcheckdb)); - - if(defined(MYLOCK)) { - flock MYLOCK, LOCK_UN; - close(MYLOCK); - } - - print @_; - exit 5; -} - -sub ask_user -{ - my ($dbkey, $dbchunk) = @_; - - if (defined($ENV{"BCHECK_UPDATE"})) { - $bcheckdb{$dbkey} = $dbchunk; - return; - } - - &bailout("BC problem detected") if (! -t STDIN); - - print "(I)gnore / (Q)uit / (U)pdate: "; - - my $key; - while(defined(read STDIN, $key, 1)) { - $key = lc($key); - - print "got: >$key<\n"; - - return if ($key eq 'i'); - - &bailout("BC problem. aborted") if ($key eq 'q'); - - if ($key eq 'u') { - $bcheckdb{$dbkey} = $dbchunk; - return; - } - print "\n(I)gnore / (Q)uit / (U)pdate: "; - } -} - -sub diff_chunk($$) -{ - my ($oldl, $newl) = @_; - my @old = split /^/m, $oldl; - my @new = split /^/m, $newl; - my $haschanges = 0; - my $max = $#old > $#new ? $#old : $#new; - - die "whoops. key different" if ($old[0] ne $new[0]); - - if ($#old != $#new) { - warn ("Structural difference.\n"); - print @old; - print "-----------------------------------------------\n"; - print @new; - $haschanges = 1; - return $haschanges; - } - - print $old[0]; - - my ($class) = ($old[0] =~ /^(?:Class |Vtable for )(\S+)/); - - my $c = 1; - while ($c < $max) { - my ($o, $n) = ($old[$c], $new[$c]); - chomp $o; - chomp $n; - $c++; - next if ($o eq $n); - - if(defined($class) and $n =~ /^(\d+\s+)\w+(::\S+\s*.*)$/) { - next if ($n eq "$1$class$2"); - } - - $haschanges = 1; - - print "-$o\n+$n\n\n"; - } - - return $haschanges; -} - -local $dblock = $ENV{"HOME"} . "/bcheck.lock"; -my $dbfile = $ENV{"HOME"} . "/bcheck.db"; -my $cdump = $ARGV[0]; - -die "file $cdump is not readable: $!" if (! -f $cdump); - -# make sure the advisory lock exists -open(MYLOCK, ">$dblock"); -print MYLOCK ""; - -flock MYLOCK, LOCK_EX; - -tie %bcheckdb, 'DB_File', $dbfile; - -my $chunk = ""; - -open (IN, "<$cdump") or die "cannot open $cdump: $!"; -while () { - - chop; - - s/0x[0-9a-fA-F]+/0x......../g; - s/base size=/size=/g; - s/\(\)\s*$//g; - s/base align=/align=/g; - - $chunk .= $_ . "\n"; - - if(/^\s*$/) { - my @lines = split /^/m, $chunk; - my $key = $lines[0]; - chomp $key; - - if($key !~ // && - $key !~ //) { - if(defined($bcheckdb{$key})) { - my $dbversion = $bcheckdb{$key}; - - if($dbversion ne $chunk) { - &ask_user($key, $chunk) if(&diff_chunk($dbversion, $chunk)); - } - } - else { - $bcheckdb{$key} = $chunk; - print "NEW: $key\n"; - } - } - - $chunk = ""; - next; - } - -} -close(IN); - -untie %bcheckdb; -flock MYLOCK, LOCK_UN; -close(MYLOCK); - -exit 0; diff --git a/admin/compile b/admin/compile deleted file mode 100755 index 1b1d232..0000000 --- a/admin/compile +++ /dev/null @@ -1,142 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -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= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/admin/conf.change.pl b/admin/conf.change.pl deleted file mode 100644 index 129d759..0000000 --- a/admin/conf.change.pl +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env perl - -# this script patches a config.status file, to use our own perl script -# in the main loop -# we do it this way to circumvent hacking (and thereby including) -# autoconf function (which are GPL) into our LGPL acinclude.m4.in -# written by Michael Matz -# adapted by Dirk Mueller -# -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. - -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public License -# along with this library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. - -# we have to change two places -# 1. the splitting of the substitutions into chunks of 90 (or even 48 in -# later autoconf's -# 2. the big main loop which patches all Makefile.in's - -use strict; -use File::Basename; - -my $ac_aux_dir = dirname($0); -my ($flag); -my $ac_version = 0; -my $vpath_seen = 0; -$flag = 0; - -while (<>) { -# usage of $flag: 0 -- we have seen nothing yet -# 1 -- we are in (1) -# 2 -- we have ended (1) -# 3 -- we are in (2) -# 4 -- we ended (2) - - if ($flag == 4) { - print; - } elsif ($flag == 0) { -# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..." -# ends with (excluding) "CONFIG_FILE=..." -# in later autoconf (2.14.1) there is no CONFIG_FILES= line, -# but instead the (2) directly follow (1) - if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) { - $flag = 1; - if ($1 eq 'lines') { - # lets hope its different with 2141, - # wasn't able to verify that - if ($2 eq '48') { - $ac_version = 250; - } - else { - $ac_version = 2141; - } - } elsif ($1 eq 'cmds') { - $ac_version = 213; - } - # hmm, we don't know the autoconf version, but we try anyway - } else { - print; - } - } elsif ($flag == 1) { - if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) { - print; - $flag = 2; - } elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { - $flag = 3; - } - } elsif ($flag == 2) { -# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1)) -# end with: "rm -f conftest.s\*" -# on autoconf 250, it ends with '# CONFIG_HEADER section' -# -# gg: if a post-processing commands section is found first, -# stop there and insert a new loop to honor the case/esac. -# (pattern: /^\s+#\sRun the commands associated with the file./) - - if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { - $flag = 3; - } else { - print; - } - } elsif ($flag == 3) { - if (/^\s*rm\s+-f\s+conftest/ ) { - $flag = 4; - &insert_main_loop(); - } elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) { - $flag = 4; - &insert_main_loop(); - #die "hhhhhhh"; - if ($ac_version != 2141) { - print STDERR "hmm, don't know autoconf version\n"; - } - } elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) { - $flag = 4; - my $commands = defined $2; - &insert_main_loop(); - $commands && insert_command_loop(); - if($ac_version != 250) { - print STDERR "hmm, something went wrong :-(\n"; - } - } elsif (/VPATH/ ) { - $vpath_seen = 1; - } - } -} - -die "wrong input (flag != 4)" unless $flag == 4; -print STDERR "hmm, don't know autoconf version\n" unless $ac_version; - -sub insert_main_loop { - - if ($ac_version == 250) { - &insert_main_loop_250(); - } - else { - &insert_main_loop_213(); - } -} - -sub insert_main_loop_250 { - - print <>\$tmp/subs.sed -EOF - } - print <> \$tmp/subs.files - fi - done - if test -f \$tmp/subs.files ; then - perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL" - fi - rm -f \$tmp/subs.files - -fi -EOF - return; -} - -sub insert_main_loop_213 { - print <> \$ac_cs_root.subs -EOF - } - print <> \$ac_cs_root.sacfiles - fi -done -if test -f \$ac_cs_root.sacfiles ; then - perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL" -fi -rm -f \$ac_cs_root.s* - -EOF - return; -} - -sub insert_command_loop { - print <. -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -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 -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -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 - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - 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 ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # 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 ;; - *:OpenBSD:*:*) - 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:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *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. - 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 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - 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 ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - 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 - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - 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 ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - 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 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - 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 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - 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 - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $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 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - 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 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - 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 ;; - *: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 - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - 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 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - 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 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - 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 ;; - 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 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - 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 i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - 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 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - 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 ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #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; } - ;; - 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 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - 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 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - 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 - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - 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 ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - 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 ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - 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 - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - 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 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/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 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - 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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { 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; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - 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 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - 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 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - 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 - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - 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 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$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; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/admin/config.pl b/admin/config.pl deleted file mode 100644 index c2b0517..0000000 --- a/admin/config.pl +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/env perl -# a script for use by autoconf to make the Makefiles -# from the Makefile.in's -# -# the original autoconf mechanism first splits all substitutions into groups -# of ca. 90, and than invokes sed for _every_ Makefile.in and every group -# (so around 2-3 times per Makefile.in). So this takes forever, as sed -# has to recompile the regexps every time. -# -# this script does better. It changes all Makefile.ins in one process. -# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec! -# -# written by Michael Matz -# adapted by Dirk Mueller - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. - -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public License -# along with this library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. - -use strict; - -use File::Path; - -my $ac_subs=$ARGV[0]; -my $ac_sacfiles = $ARGV[1]; -my $ac_given_srcdir=$ARGV[2]; -my $ac_given_INSTALL=$ARGV[3]; - -my @comp_match; -my @comp_subs; - -#print "ac_subs=$ac_subs\n"; -#print "ac_sacfiles=$ac_sacfiles\n"; -#print "ac_given_srcdir=$ac_given_srcdir\n"; -#print "ac_given_INSTALL=$ac_given_INSTALL\n"; - -my $configure_input; -my ($srcdir, $top_srcdir); -my $INSTALL; -my $bad_perl = ($] < 5.005); -my $created_file_count = 0; - -open(CF, "< $ac_subs") || die "can't open $ac_subs: $!"; -my @subs = ; -my $pat; -close(CF); -chomp @subs; -@comp_match=(); -@comp_subs=(); - -if ($bad_perl) { - print "Using perl older than version 5.005\n"; - foreach $pat (@subs) { - if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ ) - || ($pat =~ m/s%([^%]*)%([^%]*)%;t/ ) - || ($pat =~ m/s,([^,]*),(.*),;t/) - || ($pat =~ m%s/([^/]*)/([^/]*)/g% ) - || ($pat =~ m%s/([^/]*)/([^/]*)/;t% ) - ) { - # form : s%bla%blubb%g - # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) - # or s,bla,blubb,;t t (autoconf 2.52) - my $srch = $1; - my $repl = $2; - $repl =~ s/\\(.)/$1/g; - push @comp_subs, make_closure($srch, $repl); - - } elsif ( ($pat =~ /%([^%]*)%d/ ) - || ($pat =~ m%/([^/]*)/d% ) - ) { - push @comp_subs, make_closure($1, ""); - } else { - die "Uhh. Malformed pattern in $ac_subs ($pat)" - unless ( $pat =~ /^\s*$/ ); # ignore white lines - } - } -} else { - foreach $pat (@subs) { - if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) || - ($pat =~ /s%([^%]*)%([^%]*)%;t/ ) || - ($pat =~ /s,([^,]*),(.*),;t/) ) { - # form : s%bla%blubb%g - # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) - # or s,bla,blubb,;t t (autoconf 2.52) - my $srch = $1; - my $repl = $2; - push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern - $repl =~ s/\\(.)/$1/g; - push @comp_subs, $repl; - } elsif ( ($pat =~ /%([^%]*)%d/ ) - || ($pat =~ m%/([^/]*)/d% ) - ) { - push @comp_match, eval "qr/\Q$1\E/"; - push @comp_subs, ""; - } else { - die "Uhh. Malformed pattern in $ac_subs ($pat)" - unless ( $pat =~ /^\s*$/ ); # ignore white lines - } - } -} -undef @subs; - -# read the list of files to be patched, form: -# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile - -open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!"; -my @ac_files = ; -close(CF); -chomp @ac_files; - - -my $ac_file; -foreach $ac_file (@ac_files) { - next if $ac_file =~ /\.\./; - next if $ac_file =~ /^\s*$/; - my $ac_file_in; - my ($ac_dir, $ac_dots, $ac_dir_suffix); - - if ($ac_file =~ /.*:.*/ ) { - ($ac_file_in = $ac_file) =~ s%[^:]*:%%; - $ac_file =~ s%:.*%%; - } else { - $ac_file_in = $ac_file.".in"; - } - -# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - -# Remove last slash and all that follows it. Not all systems have dirname. - ($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%; - if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) { -# The file is in a subdirectory. - if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; } - ($ac_dir_suffix = $ac_dir) =~ s%^./%%; - $ac_dir_suffix="/".$ac_dir_suffix; -# A "../" for each directory in $ac_dir_suffix. - ($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g; - } else { - $ac_dir_suffix=""; - $ac_dots=""; - } - - if ($ac_given_srcdir eq ".") { - $srcdir="."; - if ($ac_dots) { - ( $top_srcdir = $ac_dots) =~ s%/$%%; - } else { $top_srcdir="."; } - } elsif ($ac_given_srcdir =~ m%^/%) { - $srcdir=$ac_given_srcdir.$ac_dir_suffix; - $top_srcdir = $ac_given_srcdir; - } else { - $srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix; - $top_srcdir = $ac_dots.$ac_given_srcdir; - } - - if ($ac_given_INSTALL) { - if ($ac_given_INSTALL =~ m%^/% ) { - $INSTALL = $ac_given_INSTALL; - } else { - $INSTALL = $ac_dots.$ac_given_INSTALL; - } - } - - print "fast creating $ac_file\n"; - unlink $ac_file; - my $ac_comsub=""; - my $fname=$ac_file_in; - $fname =~ s%.*/%%; - $configure_input="$ac_file. Generated from $fname by config.pl."; - - my $ac_file_inputs; - ($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%; - $ac_file_inputs =~ s%:% $ac_given_srcdir/%g; - - patch_file($ac_file, $ac_file_inputs); - ++$created_file_count; -} - -print "config.pl: fast created $created_file_count file(s).\n"; - -sub patch_file { - my ($outf, $infiles) = @_; - my $filedata; - my @infiles=split(' ', $infiles); - my $i=0; - my $name; - - foreach $name (@infiles) { - if (open(CF, "< $name")) { - while () { - $filedata .= $_; - } - close(CF); - } else { - print STDERR "can't open $name: $!"."\n"; - } - } - - $filedata =~ s%\@configure_input\@%$configure_input%g; - $filedata =~ s%\@srcdir\@%$srcdir%g; - $filedata =~ s%\@top_srcdir\@%$top_srcdir%g; - $filedata =~ s%\@INSTALL\@%$INSTALL%g; - - if ($bad_perl) { - while ($i <= $#comp_subs) { - my $ref = $comp_subs[$i]; - &$ref(\$filedata); - $i++; - } - } else { - while ($i <= $#comp_match) { - $filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g; - $i++; - } - } - open(CF, "> $outf") || die "can't create $outf: $!"; - print CF $filedata; - close(CF); -} - -sub make_closure { - my ($pat, $sub) = @_; - my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }"; - if ($@) { - print "can't create CODE: $@\n"; - } - return $ret; -} diff --git a/admin/config.rpath b/admin/config.rpath deleted file mode 100644 index e69de29..0000000 diff --git a/admin/config.sub b/admin/config.sub deleted file mode 100755 index 2ef2842..0000000 --- a/admin/config.sub +++ /dev/null @@ -1,1575 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -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 -# can handle that machine. It does not imply ALL GNU software can. -# -# 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -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 -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# 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* | 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/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -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 | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | 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 \ - | 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 | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | 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 \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | 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 - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | 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-* | iq2000-* \ - | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | 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]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | 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-* | 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) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - 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 - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - 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 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - 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-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -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* | -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* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/admin/configure.in.bot.end b/admin/configure.in.bot.end deleted file mode 100644 index 1bc030b..0000000 --- a/admin/configure.in.bot.end +++ /dev/null @@ -1,45 +0,0 @@ -# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure -if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then - # And if so, warn when they don't match - if test "$kde_libs_prefix" != "$given_prefix"; then - # And if kde doesn't know about the prefix yet - echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null - if test $? -ne 0; then - echo "" - echo "Warning: you chose to install this package in $given_prefix," - echo "but KDE was found in $kde_libs_prefix." - echo "For this to work, you will need to tell KDE about the new prefix, by ensuring" - echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix" - echo "Then restart KDE." - echo "" - fi - fi -fi - -if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then - echo "" - echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility" - echo "was not included. Therefore, GCC symbol visibility support remains disabled." - echo "" - echo "For better performance, consider including the Qt visibility supporting patch" - echo "located at:" - echo "" - echo "http://bugs.kde.org/show_bug.cgi?id=109386" - echo "" - echo "and recompile all of Qt and KDE. Note, this is entirely optional and" - echo "everything will continue to work just fine without it." - echo "" -fi - -if test "$all_tests" = "bad"; then - if test ! "$cache_file" = "/dev/null"; then - echo "" - echo "Please remove the file $cache_file after changing your setup" - echo "so that configure will find the changes next time." - echo "" - fi -else - echo "" - echo "Good - your configure finished. Start make now" - echo "" -fi diff --git a/admin/configure.in.min b/admin/configure.in.min deleted file mode 100644 index 0dfe378..0000000 --- a/admin/configure.in.min +++ /dev/null @@ -1,57 +0,0 @@ -dnl This file is part of the KDE libraries/packages -dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org) - -dnl This file is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either -dnl version 2 of the License, or (at your option) any later version. - -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. - -dnl You should have received a copy of the GNU Library General Public License -dnl along with this library; see the file COPYING.LIB. If not, write to -dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl Boston, MA 02110-1301, USA. - -# Original Author was Kalle@kde.org -# I lifted it in some mater. (Stephan Kulow) -# I used much code from Janos Farkas - -dnl Process this file with autoconf to produce a configure script. - -AC_INIT(acinclude.m4) dnl a source file from your sub dir - -dnl This is so we can use kde-common -AC_CONFIG_AUX_DIR(admin) - -dnl This ksh/zsh feature conflicts with `cd blah ; pwd` -unset CDPATH - -dnl Checking host/target/build systems, for make, install etc. -AC_CANONICAL_SYSTEM -dnl Perform program name transformation -AC_ARG_PROGRAM - -dnl Automake doc recommends to do this only here. (Janos) -AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs - -KDE_SET_PREFIX - -dnl generate the config header -AM_CONFIG_HEADER(config.h) dnl at the distribution this done - -dnl Checks for programs. -AC_CHECK_COMPILERS -AC_ENABLE_SHARED(yes) -AC_ENABLE_STATIC(no) -KDE_PROG_LIBTOOL - -dnl for NLS support. Call them in this order! -dnl WITH_NLS is for the po files -AM_KDE_WITH_NLS - -dnl KDE_USE_QT -AC_PATH_KDE diff --git a/admin/cvs.sh b/admin/cvs.sh deleted file mode 100644 index 8ba50bb..0000000 --- a/admin/cvs.sh +++ /dev/null @@ -1,662 +0,0 @@ -#! /bin/sh -# -# cvs.sh -# -# This file contains support code from Makefile.common -# It defines a shell function for each known target -# and then does a case to call the correct function. - -unset MAKEFLAGS - -call_and_fix_autoconf() -{ - $AUTOCONF || exit 1 - if test -r configure.in.in ; then - perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\ - \\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\ - \\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\ - \\n rm -f \\\$CONFIG_STATUS.bak\\nfi\ - \\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure - fi -} - -strip_makefile() -{ - if test ! -f $makefile_wo; then - perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo - fi -} - -check_autotool_versions() -{ -required_autoconf_version="2.53 or newer" -AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1` -case $AUTOCONF_VERSION in - Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;; - "" ) - echo "*** AUTOCONF NOT FOUND!." - echo "*** KDE requires autoconf $required_autoconf_version" - exit 1 - ;; - * ) - echo "*** YOU'RE USING $AUTOCONF_VERSION." - echo "*** KDE requires autoconf $required_autoconf_version" - exit 1 - ;; -esac - -AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1` -case $AUTOHEADER_VERSION in - Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;; - "" ) - echo "*** AUTOHEADER NOT FOUND!." - echo "*** KDE requires autoheader $required_autoconf_version" - exit 1 - ;; - * ) - echo "*** YOU'RE USING $AUTOHEADER_VERSION." - echo "*** KDE requires autoheader $required_autoconf_version" - exit 1 - ;; -esac - -AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` -required_automake_version="1.6.1 or newer" -case $AUTOMAKE_STRING in - automake*1.5d* | automake*1.5* | automake*1.5-* ) - echo "*** YOU'RE USING $AUTOMAKE_STRING." - echo "*** KDE requires automake $required_automake_version" - exit 1 - ;; - automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10* | automake*1.11* | automake*1.12*) - echo "*** $AUTOMAKE_STRING found." - UNSERMAKE=no - ;; - "" ) - echo "*** AUTOMAKE NOT FOUND!." - echo "*** KDE requires automake $required_automake_version" - exit 1 - ;; - *unsermake* ) : - echo "*** YOU'RE USING UNSERMAKE." - echo "*** GOOD LUCK!! :)" - UNSERMAKE=unsermake - ;; - * ) - echo "*** YOU'RE USING $AUTOMAKE_STRING." - echo "*** KDE requires automake $required_automake_version" - exit 1 - ;; -esac -unset required_automake_version -} - -cvs() -{ -check_autotool_versions -acinclude_m4 - -### Make new subdirs and configure.in. -### The make calls could be optimized away here, -### with a little thought. -if test -r configure.in.in; then - rm -f configure.in - echo "*** Creating list of subdirectories" - create_subdirs - - if test -r Makefile.am.in; then - echo "*** Creating Makefile.am" - if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1 - else - Makefile_am - fi - fi - configure_files - echo "*** Creating configure.in" - if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 - else - configure_in - fi -fi - -echo "*** Creating aclocal.m4" -$ACLOCAL $ACLOCALFLAGS || exit 1 -echo "*** Creating configure" -call_and_fix_autoconf - -if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then - echo "*** Creating config.h template" - $AUTOHEADER || exit 1 - touch config.h.in -fi - -echo "*** Creating Makefile templates" -$AUTOMAKE || exit 1 - -if test "$UNSERMAKE" = no; then - echo "*** Postprocessing Makefile templates" - perl -w admin/am_edit || exit 1 -fi - -if egrep "^cvs-local:" $makefile_am >/dev/null; then \ - strip_makefile - $MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1 -fi - -echo "*** Creating date/time stamp" -touch stamp-h.in - -echo "*** Finished" -echo " Don't forget to run ./configure" -echo " If you haven't done so in a while, run ./configure --help" -} - -dist() -{ -check_autotool_versions - -### -### First build all of the files necessary to do just "make" -### -acinclude_m4 -if test -r configure.in.in; then - rm -f configure.in - create_subdirs - - if test -r Makefile.am.in; then - if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1 - else - Makefile_am - fi - fi - configure_files - if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 - else - configure_in - fi -fi -$ACLOCAL $ACLOCALFLAGS -if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then - echo "*** Creating config.h template" - $AUTOHEADER || exit 1 - touch config.h.in -fi -$AUTOMAKE --foreign || exit 1 -if test "$UNSERMAKE" = no; then - echo "*** Postprocessing Makefile templates" - perl -w admin/am_edit || exit 1 -fi -call_and_fix_autoconf -touch stamp-h.in -if grep "^cvs-local:" $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo cvs-local top_srcdir=. -fi - -### -### Then make messages -### -if test -d po; then - LIST=`find ./po -name "*.po"` - for i in $LIST; do - file2=`echo $i | sed -e "s#\.po#\.gmo#"` - msgfmt -o $file2 $i || touch $file2 - done -fi -if grep "^cvs-dist-local:" $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo cvs-dist-local top_srcdir=. -fi -} - -subdir_dist() -{ -$ACLOCAL $ACLOCALFLAGS -$AUTOHEADER -touch config.h.in -$AUTOMAKE -AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` -case $AUTOMAKE_STRING in - *unsermake* ) : - ;; - *) - perl -w ../admin/am_edit --path=../admin -esac -call_and_fix_autoconf -touch stamp-h.in -} - -configure_in() -{ -rm -f configure.in configure.in.new -kde_use_qt_param= -test -f configure.files || { echo "need configure.files for configure.in"; exit 1; } -list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"` -: > configure.in.new -for file in $list; do - echo "dnl =======================================================" >> configure.in.new - echo "dnl FILE: $file" >> configure.in.new - echo "dnl =======================================================" >> configure.in.new - echo "" >> configure.in.new - cat $file >> configure.in.new -done -echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new -if test -f Makefile.am.in; then - subdirs=`cat subdirs` - for dir in $subdirs; do - vdir=`echo $dir | sed -e 's,[-+.@],_,g'` - echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new - if test -f "$dir/configure.in"; then - echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new - echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new - echo "fi" >> configure.in.new - fi - done -fi - -echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new - -if test -f inst-apps; then - topleveldirs=`cat inst-apps` -else - topleveldirs= - for dir in `ls -1d * | sort`; do - if test "$dir" != "debian" && test -d $dir; then - topleveldirs="$topleveldirs $dir" - fi - done -fi - -for topleveldir in $topleveldirs; do - if test -f $topleveldir/configure.in; then - continue - fi - if test -f $topleveldir/Makefile.am; then :; else - continue - fi - - mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \ - sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'` - for i in $mfs; do - echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new - done -done - -files=`cat configure.files` -list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"` -for file in $list; do - echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new -done - -midfiles=`cat configure.files | fgrep "configure.in.mid"` -test -n "$midfiles" && cat $midfiles >> configure.in.new - -echo "AC_OUTPUT" >> configure.in.new -modulename= -if test -f configure.in.in; then - if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then - kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"` - fi - if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then - line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in` - if test -n "$line"; then - modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"` - VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"` - fi - sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \ - configure.in.new > configure.in && mv configure.in configure.in.new - fi -fi -if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then - VERSION="\"3.5.10\"" -fi -if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then - modulename=`pwd`; - modulename=`basename $modulename` - esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"` - modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"` - -fi -if test -n "$kde_use_qt_param"; then - sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \ - configure.in.new > configure.in && mv configure.in configure.in.new -fi -sed -e "s#@MODULENAME@#$modulename#" configure.in.new | - sed -e "s#@VERSION@#$VERSION#" > configure.in -botfiles=`cat configure.files | egrep "configure.in.bot"` -test -n "$botfiles" && cat $botfiles >> configure.in -cat $admindir/configure.in.bot.end >> configure.in -rm -f configure.in.new -} - -configure_files() -{ -echo "*** Creating configure.files" -admindir=NO -for i in . .. ../.. ../../..; do - if test -x $i/admin; then admindir=$i/admin; break; fi -done -rm -f configure.files -touch configure.files -if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then - echo $admindir/configure.in.min >> configure.files -fi -test -f configure.in.in && echo configure.in.in >> configure.files -# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs -if test -f inst-apps; then - inst=`cat inst-apps` - list="" - for i in $inst; do - list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ - sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`" - done -else - list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ - sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"` -fi -for i in $list; do if test -f $i && test `dirname $i` != "." ; then - echo $i >> configure.files -fi; done -test -f configure.in.mid && echo configure.in.mid >> configure.files -test -f configure.in.bot && echo configure.in.bot >> configure.files -if test ! -s configure.files; then - echo "There are no files to build a configure. Please check your checkout." - exit 1 -fi -} - -create_subdirs() -{ -if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then - # as many modules contain rules to create subdirs without any - # dependencies make won't create it unless there is no file. - # so we check if that's a dummy rule or one that works - rm -f subdirs.cvs.sh.$$ - if test -f subdirs; then - mv subdirs subdirs.cvs.sh.$$ - fi - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1 - if test -f subdirs.cvs.sh.$$; then - if test -s subdirs; then - rm subdirs.cvs.sh.$$ - else - mv subdirs.cvs.sh.$$ subdirs - fi - fi -else - subdirs -fi -} - -subdirs() -{ -dirs= -idirs= -if test -f inst-apps; then - idirs=`cat inst-apps` -else - idirs=`ls -1 | sort` -fi - -compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` -compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` -for i in $idirs; do - if test -f $i/Makefile.am; then - case " $compilefirst $compilelast " in - *" $i "*) ;; - *) dirs="$dirs $i" - esac - fi -done - -: > ./_SUBDIRS - -for d in $compilefirst; do - echo $d >> ./_SUBDIRS -done - -(for d in $dirs; do - list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` - for s in $list; do - echo $s $d - done - list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` - for s in $list; do - echo $d $s - done - echo $d $d -done ) | tsort >> ./_SUBDIRS - -for d in $compilelast; do - echo $d >> ./_SUBDIRS -done - -if test -r subdirs && cmp -s subdirs _SUBDIRS; then - rm -f _SUBDIRS -fi -test -r _SUBDIRS && mv _SUBDIRS subdirs || true -} - -Makefile_am() -{ -if test -f Makefile.am.in; then - compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` - compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` - - idirs= - dirs= - if test -f inst-apps; then - idirs=`cat inst-apps` - else - idirs=`cat subdirs` - fi - for i in $idirs; do - case " $compilefirst $compilelast " in - *" $i "*) ;; - *) dirs="$dirs $i" - esac - done - - adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'` - if echo "$adds" | fgrep "*" >/dev/null ; then - adds=`ls -d -1 $adds 2>/dev/null` - fgrep -v '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds - str='$(top_srcdir)/acinclude.m4:' - for add in $adds; do - str="$str \$(top_srcdir)/$add" - done - echo $str >> Makefile.am.in.adds - else - cat Makefile.am.in > Makefile.am.in.adds - fi - - cat Makefile.am.in.adds | \ - sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \ - sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am - echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am - rm Makefile.am.in.adds -fi -} - -acinclude_m4() -{ - echo "*** Creating acinclude.m4" - adds= - if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then - strip_makefile - rm -f acinclude.m4 - adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'` - if echo $adds | fgrep "*" >/dev/null ; then - adds=`ls -d -1 $adds 2>/dev/null` - else - $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1 - fi - else - rm -f acinclude.m4 - fi - # if it wasn't created up to now, then we do it better - if test ! -f acinclude.m4; then - cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4 - fi -} - -package_merge() -{ -catalogs=$POFILES -for cat in $catalogs; do - msgmerge -o $cat.new $cat $PACKAGE.pot - if test -s $cat.new; then - grep -v "\"POT-Creation" $cat.new > $cat.new.2 - grep -v "\"POT-Creation" $cat >> $cat.new.1 - if diff $cat.new.1 $cat.new.2; then - rm $cat.new - else - mv $cat.new $cat - fi - rm -f $cat.new.1 $cat.new.2 - fi -done -} - -extract_messages() -{ -podir=${podir:-$PWD/po} -files=`find . -name Makefile.am | xargs egrep -l '^messages:' ` -dirs=`for i in $files; do echo \`dirname $i\`; done` -tmpname="$PWD/messages.log" -export PATH=$PATH:/opt/kde3/bin -if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi -if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi -export EXTRACTRC PREPARETIPS - -for subdir in $dirs; do - test -z "$VERBOSE" || echo "Making messages in $subdir" - (cd $subdir - if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then - $EXTRACTRC *.rc *.ui *.kcfg > rc.cpp - else - candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null` - if test -n "$candidates"; then - echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line" - fi - fi - if find . -name \*.c\* -o -name \*.h\* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then - echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp - else echo " " > _translatorinfo.cpp - fi - perl -e '$mes=0; while () { next if (/^(if\s|else\s|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile - - kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot - if ! test -f $kdepotpath; then - kdepotpath=`kde-config --expandvars --prefix`/include/kde.pot - fi - - $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. \ - XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages - exit_code=$? - if test "$exit_code" != 0; then - echo "make exit code: $exit_code" - fi - ) 2>&1 | grep -v '^make\[1\]' > $tmpname - test -s $tmpname && { echo $subdir ; cat "$tmpname"; } - test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp - rm -f $subdir/_translatorinfo.cpp - rm -f $subdir/_transMakefile -done -rm -f $tmpname -} - -package_messages() -{ -rm -rf po.backup -mkdir po.backup - -for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do - egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i - cat po/$i > po.backup/backup_$i - touch -r po/$i po.backup/backup_$i - rm po/$i -done - -extract_messages - -for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do - test -f po/$i || echo "disappeared: $i" -done -for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do - sed -e 's,^"Content-Type: text/plain; charset=CHARSET\\n"$,"Content-Type: text/plain; charset=UTF-8\\n",' po/$i > po/$i.new && mv po/$i.new po/$i - #msgmerge -q -o po/$i po/$i po/$i - egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot - if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then - echo "will update $i" - else - if test -f po.backup/backup_$i; then - test -z "$VERBOSE" || echo "I'm restoring $i" - mv po.backup/backup_$i po/$i - rm po.backup/$i - else - echo "will add $i" - fi - fi -done -rm -f temp.pot -rm -rf po.backup -} - -# Make sure that sorting is always done the same way -LC_ALL=C -export LC_ALL -unset LANG || : -unset LC_CTYPE || : -unset LANGUAGE || : - -unset CDPATH || : -admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'` -test "x$admindir" = "x$0" && admindir=. - -test "x$MAKE" = x && MAKE=make -makefile_am=Makefile.am -makefile_wo=Makefile.am.wo -if test -f Makefile.am.in; then - makefile_am=Makefile.am.in - makefile_wo=Makefile.am.in.wo - rm -f $makefile_wo -fi - -# Call script to find autoconf and friends. Uses eval since the script outputs -# sh-compatible code. -eval `$admindir/detect-autoconf.pl` - -### -### Main -### - -arg=`echo $1 | tr .- __` -case $arg in - cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \ - cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;; - configure ) call_and_fix_autoconf ;; - * ) echo "Usage: cvs.sh " - echo "Target can be one of:" - echo " cvs svn dist" - echo " configure.in configure.files" - echo " package-merge package-messages" - echo "" - echo "Usage: anything but $1" - exit 1 ;; -esac - -if test -f $makefile_wo; then - rm $makefile_wo -fi - -exit 0 diff --git a/admin/debianrules b/admin/debianrules deleted file mode 100755 index 25897f2..0000000 --- a/admin/debianrules +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/perl -w - -use Shell qw(mv cp mkdir rm) ; -use File::Find; -use Cwd; - -$origPwd = `pwd`; -chomp $origPwd; - -$kde_prefix = "/usr"; -$sysconfdir = "/etc"; -$kde_includedir = "$kde_prefix/include/kde"; -$infodir = "$kde_prefix/share/info"; -$mandir = "$kde_prefix/share/man"; -$qtdir = "/usr/share/qt3"; - -$kde_cgidir = "$kde_prefix/lib/cgi-bin"; -$kde_confdir = "$sysconfdir/kde3"; -$kde_htmldir = "$kde_prefix/share/doc/kde/HTML"; - -if (defined $ENV{DEB_BUILD_OPTIONS} && - $ENV{DEB_BUILD_OPTIONS} =~ /\bnostrip\b/) { - $enable_debug="--enable-debug=full"; -} else { - $enable_debug="--disable-debug"; -} - -if (@ARGV && $ARGV[0] eq 'echodirs') { - print STDOUT "export kde_prefix=$kde_prefix\n"; - print STDOUT "export sysconfdir=$sysconfdir\n"; - print STDOUT "export kde_includedir=$kde_includedir\n"; - print STDOUT "export infodir=$infodir\n"; - print STDOUT "export mandir=$mandir\n"; - print STDOUT "export qtdir=$qtdir\n"; - - print STDOUT "export kde_cgidir=$kde_cgidir\n"; - print STDOUT "export kde_confdir=$kde_confdir\n"; - print STDOUT "export kde_htmldir=$kde_htmldir\n"; - - print STDOUT "configkde=$enable_debug --disable-rpath --prefix=\$(kde_prefix) --sysconfdir=\$(sysconfdir) --includedir=\$(kde_includedir) --infodir=\$(infodir) --mandir=\$(mandir) --with-qt-dir=\$(qtdir)\n"; - - exit -} diff --git a/admin/depcomp b/admin/depcomp deleted file mode 100755 index 04701da..0000000 --- a/admin/depcomp +++ /dev/null @@ -1,530 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2005-07-09.11 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -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 - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/admin/deps.am b/admin/deps.am deleted file mode 100644 index e8f5015..0000000 --- a/admin/deps.am +++ /dev/null @@ -1,19 +0,0 @@ -$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in $(top_srcdir)/admin/cvs.sh $(top_srcdir)/admin/pkg.m4.in - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh acinclude_m4 - -$(top_srcdir)/configure.in: $(top_srcdir)/subdirs $(top_srcdir)/configure.files $(top_srcdir)/admin/cvs.sh - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure_in - -$(top_srcdir)/configure.files: $(top_srcdir)/subdirs $(CONF_FILES) - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure.files $(top_srcdir)/admin/cvs.sh - -$(top_srcdir)/Makefile.am: $(top_srcdir)/Makefile.am.in $(top_srcdir)/subdirs $(top_srcdir)/admin/cvs.sh - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh Makefile_am - -$(top_srcdir)/subdirs: $(top_srcdir)/Makefile.am.in $(top_srcdir)/admin/cvs.sh - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh subdirs - -# defining default rules for files that may not be present -$(top_srcdir)/Makefile.am.in: -$(CONF_FILES): - diff --git a/admin/detect-autoconf.pl b/admin/detect-autoconf.pl deleted file mode 100755 index 5ce1a08..0000000 --- a/admin/detect-autoconf.pl +++ /dev/null @@ -1,256 +0,0 @@ -#!/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 lexicographically compare two version strings, a and b. -# If a > b, 1 is returned. -# If a == b, 0 is returned. -# If a < b, -1 is returned. -# -# If the strings are of uneven number length then the shorter string is -# prepended by enough zeroes to make the two string lengths equal in order to -# allow an accurate comparison. Note that the zero-padding only occurs in -# between version separators (i.e. 1.6 and 1.10, results in 1.06 vs. 1.10). -# Parts of the version ending in -foo (or any other text) are not considered -# when doing the compare. (i.e. 2.53a vs 2.53 doesn't end up in 2.53a vs. -# 2.053) -sub compareVersions -{ - my ($a, $b) = @_; - - # Split the strings up by '.' (version separator) and start comparing digit - # length. - - my @aParts = split(/\./, $a); - my @bParts = split(/\./, $b); - - # Make the arrays equal in length by adding missing zeroes to the end of the - # version. - push @aParts, '0' while scalar @aParts < scalar @bParts; - push @bParts, '0' while scalar @bParts < scalar @aParts; - - # Now compare each individual portion. - for (my $i = 0; $i < scalar @aParts; ++$i) - { - # Make sure that any portion that has numbers is contiguous. I'm sure - # there's a technique for saving stuff like 2.52a2 but I don't feel - # like implementing it. - if ($aParts[$i] !~ /^[^\d]*\d+[^\d]*$/ or - $bParts[$i] !~ /^[^\d]*\d+[^\d]*$/) - { - die "Not able to compare $a to $b!\n"; - } - - my ($aDigits) = ($aParts[$i] =~ /(\d+)/); - my ($bDigits) = ($bParts[$i] =~ /(\d+)/); - - # Perl is $MODERATELY_INSULTING_TERM, don't remove the parentheses in - # the delta calculation below. - my $delta = (length $aDigits) - (length $bDigits); - if ($delta < 0) # b is longer - { - my $replacement = ('0' x (-$delta)) . $aDigits; - $aParts[$i] =~ s/$aDigits/$replacement/; - } - elsif ($delta > 0) # a is longer - { - my $replacement = ('0' x $delta) . $bDigits; - $bParts[$i] =~ s/$bDigits/$replacement/; - } - } - - # Arrays now have standardized version components, let's re-merge them - # to strings to do the compare. - my $newA = join('.', @aParts); - my $newB = join('.', @bParts); - - return 1 if ($newA gt $newB); - return -1 if ($newA lt $newB); - return 0; -} - -# 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', - ); - my $sgn; # Used for compareVersions results. - - # 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-?(.*)$/; - - # Don't check the -wrapper ones (or any other non program one). - # The real deal should start with a version number, or have no - # suffix at all. - next if $version =~ /^[^\d]/; - - # 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+)/); - - # compareVersions returns -1 if the left argument is less than - # the right argument. It can also die for invalid input so - # wrap with eval. - eval { - $sgn = compareVersions($versionOutput, $min_version); - }; - - # $@ would be set if an error was encountered. - if ($@ or not $versionOutput or $sgn == -1) { - 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. - # See above about the need for eval. - eval { - $sgn = compareVersions($version, $best_version_found); - }; - - if (not $@ and $sgn == 1) - { - $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'} ne 'no'); - -($automake_suffix) = $automake =~ /.*automake(.*)$/; - -# Find matching automake companions. -$aclocal = findProgram('aclocal', $automake_suffix); - -# Use unsermake if we found it. -$automake = "$unsermake -c" if ($unsermake and $aclocal); - -$which = findWhich(); - -# Make sure we have all of the needed programs. -for $i (qw'autoconf autoheader autom4te automake aclocal') -{ - unless(${$i}) - { - print STDERR "# Unable to find $i!!\n"; - } -} - -# Print results in eval-able form. -print < []" - 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 is absolute already - : -else - top_srcdir=`cd "$top_srcdir" 2> /dev/null && pwd` - if test ! -d "$top_srcdir" ; then - echo "top_srcdir ($top_srcdir) is not a directory." - exit 1 - fi -fi - - - -### Sanity check and guess QTDOCDIR. -if test -z "$QTDOCDIR" ; then - if test -z "$QTDIR" ; then - for i in /usr/X11R6/share/doc/qt/html - do - QTDOCDIR="$i" - test -d "$QTDOCDIR" && break - done - else - for i in share/doc/qt/html doc/html - do - QTDOCDIR="$QTDIR/$i" - test -d "$QTDOCDIR" && break - done - fi -fi -if test -z "$QTDOCDIR" || test ! -d "$QTDOCDIR" ; then - if test -z "$QTDOCDIR" ; then - echo "* QTDOCDIR could not be guessed." - else - echo "* QTDOCDIR does not name a directory." - fi - if test -z "$QTDOCTAG" ; then - echo "* QTDOCDIR set to \"\"" - QTDOCDIR="" - else - echo "* But I'll use $QTDOCDIR anyway because of QTDOCTAG." - fi -fi - -### Get the "top srcdir", also its name, and handle the case that subdir "." -### is given (which would be top_srcdir then, so it's equal to none-given -### but no recursion either). -### -# top_srcdir="$1" # Already set by options processing -module_name=`basename "$top_srcdir"` -subdir="$2" -if test "x." = "x$subdir" ; then - subdir="" - if test "x$recurse_given" = "xNO" ; then - recurse=0 - fi -fi -if test "x" != "x$subdir" ; then - # If no recurse option given explicitly, default to - # no recurse when processing subdirs given on the command-line. - if test "x$recurse_given" = "xNO" ; then - recurse=0 - fi -fi - -if test -z "$DOXDATA" || test ! -d "$DOXDATA" ; then - if test -n "$DOXDATA" ; then - echo "* \$DOXDATA is '$DOXDATA' which does not name a directory" - fi - DOXDATA="$top_srcdir/doc/common" -fi - -if test ! -d "$DOXDATA" ; then - echo "* \$DOXDATA does not name a directory ( or is unset ), tried \"$DOXDATA\"" - exit 1 -fi - -if test -n "$PREFIX" && test ! -d "$PREFIX" ; then - echo "* \$PREFIX does not name a directory, tried \"$PREFIX\"" - echo "* \$PREFIX is disabled." - PREFIX="" -fi - -### We need some values from top-level files, which -### are not preserved between invocations of this -### script, so factor it out for easy use. -create_doxyfile_in() -{ - eval `grep 'VERSION="' "$top_srcdir/admin/cvs.sh"` - echo "PROJECT_NUMBER = $VERSION" > Doxyfile.in - grep '^KDE_INIT_DOXYGEN' "$top_srcdir/configure.in.in" | \ - sed -e 's+[^[]*\[\([^]]*\)+PROJECT_NAME = "\1"+' \ - -e 's+].*++' >> Doxyfile.in -} - -apidoxdir="$module_name"-apidocs -test "x$use_modulename" = "x0" && apidoxdir="apidocs" - -### If we're making the top subdir, create the structure -### for the apidox and initialize it. Otherwise, just use the -### structure assumed to be there. -if test -z "$subdir" ; then - if test ! -d "$apidoxdir" ; then - mkdir "$apidoxdir" > /dev/null 2>&1 - fi - cd "$apidoxdir" > /dev/null 2>&1 || { - echo "Cannot create and cd into $apidoxdir" - exit 1 - } - - test -f "Doxyfile.in" || create_doxyfile_in - - # Copy in logos and the like - for i in "favicon.ico" "kde_gear_64.png" - do - cp "$DOXDATA/$i" . > /dev/null 2> /dev/null - done - for i in "$top_srcdir/doc/api/Dox-"*.png - do - T=`basename "$i" | sed -e 's+Dox-++'` - test -f "$i" && cp "$i" "./$T" > /dev/null 2> /dev/null - done - - top_builddir="." - srcdir="$1" - subdir="." -else - cd "$apidoxdir" > /dev/null 2>&1 || { - echo "Cannot cd into $apidoxdir -- maybe you need to" - echo "build the top-level dox first." - exit 1 - } - - if test "x1" = "x$recurse" ; then - # OK, so --recurse was requested - if test ! -f "subdirs.top" ; then - echo "* No subdirs.top available in the $apidoxdir." - echo "* The --recurse option will be ignored." - recurse=0 - fi - fi -fi - -### Read a single line (TODO: support \ continuations) from the Makefile.am. -### Used to extract variable assignments from it. -extract_line() -{ - file="$2" ; test -z "$file" && file="$srcdir/Makefile.am" - pattern=`echo "$1" | tr + .` - grep "^$1" "$file" | \ - sed -e "s+$pattern.*=\s*++" -} - -### Handle the COMPILE_{FIRST,LAST,BEFORE,AFTER} part of Makefile.am -### in the toplevel. Copied from admin/cvs.sh. Licence presumed LGPL). -create_subdirs() -{ -echo "* Sorting top-level subdirs" -dirs= -idirs= -if test -f "$top_srcdir/inst-apps"; then - idirs=`cat "$top_srcdir/"inst-apps` -else - idirs=`cd "$top_srcdir" && ls -1 | sort` -fi - -compilefirst="" -compilelast="" -if test -f "$top_srcdir/"Makefile.am.in ; then - compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1` - compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1` -fi -for i in $idirs; do - if test -f "$top_srcdir/$i"/Makefile.am; then - case " $compilefirst $compilelast " in - *" $i "*) ;; - *) dirs="$dirs $i" - esac - fi -done - -: > ./_SUBDIRS - -for d in $compilefirst; do - echo $d >> ./_SUBDIRS -done - -(for d in $dirs; do - list="" - if test -f "$top_srcdir/"Makefile.am.in ; then - list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1` - fi - for s in $list; do - echo $s $d - done - list="" - if test -f "$top_srcdir/"Makefile.am.in ; then - list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1` - fi - for s in $list; do - echo $d $s - done - echo $d $d -done ) | tsort >> ./_SUBDIRS - -for d in $compilelast; do - echo $d >> ./_SUBDIRS -done - -test -r _SUBDIRS && mv _SUBDIRS subdirs.top || true -} - - -### Add HTML header, footer, CSS tags to Doxyfile. -### Assumes $subdir is set. Argument is a string -### to stick in front of the file if needed. -apidox_htmlfiles() -{ - dox_header="$top_srcdir/doc/api/$1header.html" - dox_footer="$top_srcdir/doc/api/$1footer.html" - dox_css="$top_srcdir/doc/api/doxygen.css" - test -f "$dox_header" || dox_header="$DOXDATA/$1header.html" - test -f "$dox_footer" || dox_footer="$DOXDATA/$1footer.html" - test -f "$dox_css" || dox_css="$DOXDATA/doxygen.css" - - echo "HTML_HEADER = $dox_header" >> "$subdir/Doxyfile" ; \ - echo "HTML_FOOTER = $dox_footer" >> "$subdir/Doxyfile" ; \ - echo "HTML_STYLESHEET = $dox_css" >> "$subdir/Doxyfile" -} - -apidox_specials() -{ - line=`extract_line DOXYGEN_PROJECTNAME "$1"` - test -n "$line" && echo "PROJECT_NAME = \"$line\"" >> "$2" -} - -apidox_local() -{ - for i in "$top_srcdir/doc/api/Doxyfile.local" - do - if test -f "$i" ; then - cat "$i" >> "$subdir/Doxyfile" - break - fi - done -} - -### Post-process HTML files by substituting in the menu files -# -# In non-top directories, both 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/"'\([^"]*\)"+