Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.

BUG:215923


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kde-common@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
master
toma 15 years ago
commit 6d80ae38e4

@ -0,0 +1,20 @@
In this file:
* What it is
* admin directory
What it is
----------
This is an administrative directory. Basically it contains the compile
infrastructure and some helper scripts for CVS administration. Because the
latter are purely internal, I won't elaborate on them.
admin directory
---------------
The admin directory contains the infrastructure needed to compile KDE
programs. Usually, people checkout a KDE program and kde-common. Then they
make a symlink from kde-common/admin to kdeprogram/admin. This is necessary to
make the "make -f Makefile.cvs" command work.

@ -0,0 +1,102 @@
## 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:

@ -0,0 +1,192 @@
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = NO
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 4
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
QUIET = YES
WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_FORMAT =
WARN_LOGFILE =
INPUT =
FILE_PATTERNS = *.h \
*.cpp \
*.cc \
*.hpp \
*.dox \
*.c++ \
*.cxx \
*.h++ \
*.hh
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = *.moc.* \
moc* \
*.all_cpp.* \
*unload.* \
*/test/* \
*/tests/* \
*_p.h
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = YES
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 3
HTML_OUTPUT =
HTML_FILE_EXTENSION = .html
HTML_HEADER = ../apidocs/common/header.html
HTML_FOOTER = ../apidocs/common/footer.html
HTML_STYLESHEET = ../apidocs/common/doxygen.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
GENERATE_LATEX = NO
LATEX_OUTPUT =
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
GENERATE_RTF = NO
RTF_OUTPUT =
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
GENERATE_MAN = NO
MAN_OUTPUT =
MAN_EXTENSION = .kde3
MAN_LINKS = YES
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = NO
GENERATE_AUTOGEN_DEF = NO
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = QT_VERSION=320 \
__cplusplus \
Q_WS_X11
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = NO
PERL_PATH =
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = NO
UML_LOOK = NO
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 800
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
SEARCHENGINE = NO
### KDE Settings
ALIASES = \
"intern=\par<b>Internal use only.</b>" \
"reimp=\par<b>Reimplemented from superclass.</b>" \
"obsolete=@deprecated" \
"feature=\xrefitem features \"Feature(s)\" \"Features\"" \
"maintainer=\xrefitem maintainers \"Maintainer(s)\" \"Maintainers\"" \
"unmaintained=\xrefitem unmaintained \"Unmaintained\" \"Unmaintained\"" \
"requirement=\xrefitem requirements \"Requirement(s)\" \"Requirements\"" \
"faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \
"authors=\xrefitem authors \"Author(s)\" \"Authors\"" \
"FIXME=\xrefitem fixme \"Fixme\" \"Fixme\""
HTML_ALIGN_MEMBERS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
VERBATIM_HEADERS = NO
GENERATE_HTML = YES
SOURCE_BROWSER = YES
GENERATE_AUTOGEN_DEF = NO
DETAILS_AT_TOP = YES
SORT_MEMBER_DOCS = YES
GENERATE_TODOLIST = YES
IGNORE_PREFIX = K
GENERATE_HTML = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES

@ -0,0 +1,37 @@
### Makefile.common
###
### Copyright (C) 2002 by the KDE developers
### All the real work is done by the shellscript cvs.sh
SHELL=/bin/sh
cvs dist configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages:
@admindir=$(admindir); \
if test "x$$admindir" = x; then \
admindir=.; until test -f $$admindir/admin/cvs.sh; do \
admindir=$$admindir/..; \
if test `cd $$admindir && pwd` = / ; then break; fi; \
done; \
admindir=$$admindir/admin; \
if test -f $$admindir/cvs.sh; then :; else \
echo "Can't find the admin/ directory in any parent of the"; \
echo "current directory. Please set it with admindir=..."; \
exit 1; \
fi; \
fi; \
if test "$@" = "package-merge"; then \
MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \
$(SHELL) $$admindir/cvs.sh package-merge ;\
else \
MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\
fi
configure.in: configure.files subdirs
configure.files: subdirs
svn: cvs
.SILENT:
.PHONY: svn cvs dist package-merge package-messages

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,157 @@
#!/usr/bin/perl -w
use DB_File;
use Fcntl ':flock';
if (!defined($ARGV[0])) {
print "usage: requires .class dump as parameter!\n";
exit;
}
sub bailout
{
untie %bcheckdb if(defined(%bcheckdb));
if(defined(MYLOCK)) {
flock MYLOCK, LOCK_UN;
close(MYLOCK);
}
print @_;
exit 5;
}
sub ask_user
{
my ($dbkey, $dbchunk) = @_;
if (defined($ENV{"BCHECK_UPDATE"})) {
$bcheckdb{$dbkey} = $dbchunk;
return;
}
&bailout("BC problem detected") if (! -t STDIN);
print "(I)gnore / (Q)uit / (U)pdate: ";
my $key;
while(defined(read STDIN, $key, 1)) {
$key = lc($key);
print "got: >$key<\n";
return if ($key eq 'i');
&bailout("BC problem. aborted") if ($key eq 'q');
if ($key eq 'u') {
$bcheckdb{$dbkey} = $dbchunk;
return;
}
print "\n(I)gnore / (Q)uit / (U)pdate: ";
}
}
sub diff_chunk($$)
{
my ($oldl, $newl) = @_;
my @old = split /^/m, $oldl;
my @new = split /^/m, $newl;
my $haschanges = 0;
my $max = $#old > $#new ? $#old : $#new;
die "whoops. key different" if ($old[0] ne $new[0]);
if ($#old != $#new) {
warn ("Structural difference.\n");
print @old;
print "-----------------------------------------------\n";
print @new;
$haschanges = 1;
return $haschanges;
}
print $old[0];
my ($class) = ($old[0] =~ /^(?:Class |Vtable for )(\S+)/);
my $c = 1;
while ($c < $max) {
my ($o, $n) = ($old[$c], $new[$c]);
chomp $o;
chomp $n;
$c++;
next if ($o eq $n);
if(defined($class) and $n =~ /^(\d+\s+)\w+(::\S+\s*.*)$/) {
next if ($n eq "$1$class$2");
}
$haschanges = 1;
print "-$o\n+$n\n\n";
}
return $haschanges;
}
local $dblock = $ENV{"HOME"} . "/bcheck.lock";
my $dbfile = $ENV{"HOME"} . "/bcheck.db";
my $cdump = $ARGV[0];
die "file $cdump is not readable: $!" if (! -f $cdump);
# make sure the advisory lock exists
open(MYLOCK, ">$dblock");
print MYLOCK "";
flock MYLOCK, LOCK_EX;
tie %bcheckdb, 'DB_File', $dbfile;
my $chunk = "";
open (IN, "<$cdump") or die "cannot open $cdump: $!";
while (<IN>) {
chop;
s/0x[0-9a-fA-F]+/0x......../g;
s/base size=/size=/g;
s/\(\)\s*$//g;
s/base align=/align=/g;
$chunk .= $_ . "\n";
if(/^\s*$/) {
my @lines = split /^/m, $chunk;
my $key = $lines[0];
chomp $key;
if($key !~ /<anonymous struct>/ &&
$key !~ /<anonymous union>/) {
if(defined($bcheckdb{$key})) {
my $dbversion = $bcheckdb{$key};
if($dbversion ne $chunk) {
&ask_user($key, $chunk) if(&diff_chunk($dbversion, $chunk));
}
}
else {
$bcheckdb{$key} = $chunk;
print "NEW: $key\n";
}
}
$chunk = "";
next;
}
}
close(IN);
untie %bcheckdb;
flock MYLOCK, LOCK_UN;
close(MYLOCK);
exit 0;

@ -0,0 +1,142 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand `-c -o'.
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
esac
ofile=
cfile=
eat=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

@ -0,0 +1,191 @@
#!/usr/bin/env perl
# this script patches a config.status file, to use our own perl script
# in the main loop
# we do it this way to circumvent hacking (and thereby including)
# autoconf function (which are GPL) into our LGPL acinclude.m4.in
# written by Michael Matz <matz@kde.org>
# adapted by Dirk Mueller <mueller@kde.org>
#
# This file is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public License
# along with this library; see the file COPYING.LIB. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
# we have to change two places
# 1. the splitting of the substitutions into chunks of 90 (or even 48 in
# later autoconf's
# 2. the big main loop which patches all Makefile.in's
use strict;
use File::Basename;
my $ac_aux_dir = dirname($0);
my ($flag);
my $ac_version = 0;
my $vpath_seen = 0;
$flag = 0;
while (<>) {
# usage of $flag: 0 -- we have seen nothing yet
# 1 -- we are in (1)
# 2 -- we have ended (1)
# 3 -- we are in (2)
# 4 -- we ended (2)
if ($flag == 4) {
print;
} elsif ($flag == 0) {
# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..."
# ends with (excluding) "CONFIG_FILE=..."
# in later autoconf (2.14.1) there is no CONFIG_FILES= line,
# but instead the (2) directly follow (1)
if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) {
$flag = 1;
if ($1 eq 'lines') {
# lets hope its different with 2141,
# wasn't able to verify that
if ($2 eq '48') {
$ac_version = 250;
}
else {
$ac_version = 2141;
}
} elsif ($1 eq 'cmds') {
$ac_version = 213;
}
# hmm, we don't know the autoconf version, but we try anyway
} else {
print;
}
} elsif ($flag == 1) {
if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) {
print;
$flag = 2;
} elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
$flag = 3;
}
} elsif ($flag == 2) {
# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1))
# end with: "rm -f conftest.s\*"
# on autoconf 250, it ends with '# CONFIG_HEADER section'
#
# gg: if a post-processing commands section is found first,
# stop there and insert a new loop to honor the case/esac.
# (pattern: /^\s+#\sRun the commands associated with the file./)
if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
$flag = 3;
} else {
print;
}
} elsif ($flag == 3) {
if (/^\s*rm\s+-f\s+conftest/ ) {
$flag = 4;
&insert_main_loop();
} elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) {
$flag = 4;
&insert_main_loop();
#die "hhhhhhh";
if ($ac_version != 2141) {
print STDERR "hmm, don't know autoconf version\n";
}
} elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) {
$flag = 4;
my $commands = defined $2;
&insert_main_loop();
$commands && insert_command_loop();
if($ac_version != 250) {
print STDERR "hmm, something went wrong :-(\n";
}
} elsif (/VPATH/ ) {
$vpath_seen = 1;
}
}
}
die "wrong input (flag != 4)" unless $flag == 4;
print STDERR "hmm, don't know autoconf version\n" unless $ac_version;
sub insert_main_loop {
if ($ac_version == 250) {
&insert_main_loop_250();
}
else {
&insert_main_loop_213();
}
}
sub insert_main_loop_250 {
print <<EOF;
#echo Doing the fast build of Makefiles -- autoconf $ac_version
EOF
if ($vpath_seen) {
print <<EOF;
# VPATH subst was seen in original config.status main loop
echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >>\$tmp/subs.sed
EOF
}
print <<EOF;
rm -f \$tmp/subs.files
for ac_file in .. \$CONFIG_FILES ; do
if test "x\$ac_file" != x..; then
echo \$ac_file >> \$tmp/subs.files
fi
done
if test -f \$tmp/subs.files ; then
perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL"
fi
rm -f \$tmp/subs.files
fi
EOF
return;
}
sub insert_main_loop_213 {
print <<EOF;
#echo Doing the fast build of Makefiles -- autoconf $ac_version
if test "x\$ac_cs_root" = "x" ; then
ac_cs_root=conftest
fi
EOF
if ($vpath_seen) {
print <<EOF;
# VPATH subst was seen in original config.status main loop
echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >> \$ac_cs_root.subs
EOF
}
print <<EOF;
rm -f \$ac_cs_root.sacfiles
for ac_file in .. \$CONFIG_FILES ; do
if test "x\$ac_file" != x..; then
echo \$ac_file >> \$ac_cs_root.sacfiles
fi
done
if test -f \$ac_cs_root.sacfiles ; then
perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL"
fi
rm -f \$ac_cs_root.s*
EOF
return;
}
sub insert_command_loop {
print <<EOF;
for ac_file in .. \$CONFIG_FILES ; do
EOF
}

1464
admin/config.guess vendored

File diff suppressed because it is too large Load Diff

@ -0,0 +1,238 @@
#!/usr/bin/env perl
# a script for use by autoconf to make the Makefiles
# from the Makefile.in's
#
# the original autoconf mechanism first splits all substitutions into groups
# of ca. 90, and than invokes sed for _every_ Makefile.in and every group
# (so around 2-3 times per Makefile.in). So this takes forever, as sed
# has to recompile the regexps every time.
#
# this script does better. It changes all Makefile.ins in one process.
# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec!
#
# written by Michael Matz <matz@kde.org>
# adapted by Dirk Mueller <mueller@kde.org>
# This file is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public License
# along with this library; see the file COPYING.LIB. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
use strict;
use File::Path;
my $ac_subs=$ARGV[0];
my $ac_sacfiles = $ARGV[1];
my $ac_given_srcdir=$ARGV[2];
my $ac_given_INSTALL=$ARGV[3];
my @comp_match;
my @comp_subs;
#print "ac_subs=$ac_subs\n";
#print "ac_sacfiles=$ac_sacfiles\n";
#print "ac_given_srcdir=$ac_given_srcdir\n";
#print "ac_given_INSTALL=$ac_given_INSTALL\n";
my $configure_input;
my ($srcdir, $top_srcdir);
my $INSTALL;
my $bad_perl = ($] < 5.005);
my $created_file_count = 0;
open(CF, "< $ac_subs") || die "can't open $ac_subs: $!";
my @subs = <CF>;
my $pat;
close(CF);
chomp @subs;
@comp_match=();
@comp_subs=();
if ($bad_perl) {
print "Using perl older than version 5.005\n";
foreach $pat (@subs) {
if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ )
|| ($pat =~ m/s%([^%]*)%([^%]*)%;t/ )
|| ($pat =~ m/s,([^,]*),(.*),;t/)
|| ($pat =~ m%s/([^/]*)/([^/]*)/g% )
|| ($pat =~ m%s/([^/]*)/([^/]*)/;t% )
) {
# form : s%bla%blubb%g
# or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?)
# or s,bla,blubb,;t t (autoconf 2.52)
my $srch = $1;
my $repl = $2;
$repl =~ s/\\(.)/$1/g;
push @comp_subs, make_closure($srch, $repl);
} elsif ( ($pat =~ /%([^%]*)%d/ )
|| ($pat =~ m%/([^/]*)/d% )
) {
push @comp_subs, make_closure($1, "");
} else {
die "Uhh. Malformed pattern in $ac_subs ($pat)"
unless ( $pat =~ /^\s*$/ ); # ignore white lines
}
}
} else {
foreach $pat (@subs) {
if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) ||
($pat =~ /s%([^%]*)%([^%]*)%;t/ ) ||
($pat =~ /s,([^,]*),(.*),;t/) ) {
# form : s%bla%blubb%g
# or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?)
# or s,bla,blubb,;t t (autoconf 2.52)
my $srch = $1;
my $repl = $2;
push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern
$repl =~ s/\\(.)/$1/g;
push @comp_subs, $repl;
} elsif ( ($pat =~ /%([^%]*)%d/ )
|| ($pat =~ m%/([^/]*)/d% )
) {
push @comp_match, eval "qr/\Q$1\E/";
push @comp_subs, "";
} else {
die "Uhh. Malformed pattern in $ac_subs ($pat)"
unless ( $pat =~ /^\s*$/ ); # ignore white lines
}
}
}
undef @subs;
# read the list of files to be patched, form:
# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile
open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!";
my @ac_files = <CF>;
close(CF);
chomp @ac_files;
my $ac_file;
foreach $ac_file (@ac_files) {
next if $ac_file =~ /\.\./;
next if $ac_file =~ /^\s*$/;
my $ac_file_in;
my ($ac_dir, $ac_dots, $ac_dir_suffix);
if ($ac_file =~ /.*:.*/ ) {
($ac_file_in = $ac_file) =~ s%[^:]*:%%;
$ac_file =~ s%:.*%%;
} else {
$ac_file_in = $ac_file.".in";
}
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname.
($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%;
if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) {
# The file is in a subdirectory.
if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; }
($ac_dir_suffix = $ac_dir) =~ s%^./%%;
$ac_dir_suffix="/".$ac_dir_suffix;
# A "../" for each directory in $ac_dir_suffix.
($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g;
} else {
$ac_dir_suffix="";
$ac_dots="";
}
if ($ac_given_srcdir eq ".") {
$srcdir=".";
if ($ac_dots) {
( $top_srcdir = $ac_dots) =~ s%/$%%;
} else { $top_srcdir="."; }
} elsif ($ac_given_srcdir =~ m%^/%) {
$srcdir=$ac_given_srcdir.$ac_dir_suffix;
$top_srcdir = $ac_given_srcdir;
} else {
$srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix;
$top_srcdir = $ac_dots.$ac_given_srcdir;
}
if ($ac_given_INSTALL) {
if ($ac_given_INSTALL =~ m%^/% ) {
$INSTALL = $ac_given_INSTALL;
} else {
$INSTALL = $ac_dots.$ac_given_INSTALL;
}
}
print "fast creating $ac_file\n";
unlink $ac_file;
my $ac_comsub="";
my $fname=$ac_file_in;
$fname =~ s%.*/%%;
$configure_input="$ac_file. Generated from $fname by config.pl.";
my $ac_file_inputs;
($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%;
$ac_file_inputs =~ s%:% $ac_given_srcdir/%g;
patch_file($ac_file, $ac_file_inputs);
++$created_file_count;
}
print "config.pl: fast created $created_file_count file(s).\n";
sub patch_file {
my ($outf, $infiles) = @_;
my $filedata;
my @infiles=split(' ', $infiles);
my $i=0;
my $name;
foreach $name (@infiles) {
if (open(CF, "< $name")) {
while (<CF>) {
$filedata .= $_;
}
close(CF);
} else {
print STDERR "can't open $name: $!"."\n";
}
}
$filedata =~ s%\@configure_input\@%$configure_input%g;
$filedata =~ s%\@srcdir\@%$srcdir%g;
$filedata =~ s%\@top_srcdir\@%$top_srcdir%g;
$filedata =~ s%\@INSTALL\@%$INSTALL%g;
if ($bad_perl) {
while ($i <= $#comp_subs) {
my $ref = $comp_subs[$i];
&$ref(\$filedata);
$i++;
}
} else {
while ($i <= $#comp_match) {
$filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g;
$i++;
}
}
open(CF, "> $outf") || die "can't create $outf: $!";
print CF $filedata;
close(CF);
}
sub make_closure {
my ($pat, $sub) = @_;
my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }";
if ($@) {
print "can't create CODE: $@\n";
}
return $ret;
}

1575
admin/config.sub vendored

File diff suppressed because it is too large Load Diff

@ -0,0 +1,45 @@
# 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

@ -0,0 +1,57 @@
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

@ -0,0 +1,661 @@
#! /bin/sh
#
# cvs.sh
#
# This file contains support code from Makefile.common
# It defines a shell function for each known target
# and then does a case to call the correct function.
unset MAKEFLAGS
call_and_fix_autoconf()
{
$AUTOCONF || exit 1
if test -r configure.in.in ; then
perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\
\\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\
\\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\
\\n rm -f \\\$CONFIG_STATUS.bak\\nfi\
\\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure
fi
}
strip_makefile()
{
if test ! -f $makefile_wo; then
perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo
fi
}
check_autotool_versions()
{
required_autoconf_version="2.53 or newer"
AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
case $AUTOCONF_VERSION in
Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;;
"" )
echo "*** AUTOCONF NOT FOUND!."
echo "*** KDE requires autoconf $required_autoconf_version"
exit 1
;;
* )
echo "*** YOU'RE USING $AUTOCONF_VERSION."
echo "*** KDE requires autoconf $required_autoconf_version"
exit 1
;;
esac
AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
case $AUTOHEADER_VERSION in
Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;;
"" )
echo "*** AUTOHEADER NOT FOUND!."
echo "*** KDE requires autoheader $required_autoconf_version"
exit 1
;;
* )
echo "*** YOU'RE USING $AUTOHEADER_VERSION."
echo "*** KDE requires autoheader $required_autoconf_version"
exit 1
;;
esac
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
required_automake_version="1.6.1 or newer"
case $AUTOMAKE_STRING in
automake*1.5d* | automake*1.5* | automake*1.5-* )
echo "*** YOU'RE USING $AUTOMAKE_STRING."
echo "*** KDE requires automake $required_automake_version"
exit 1
;;
automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
echo "*** $AUTOMAKE_STRING found."
UNSERMAKE=no
;;
"" )
echo "*** AUTOMAKE NOT FOUND!."
echo "*** KDE requires automake $required_automake_version"
exit 1
;;
*unsermake* ) :
echo "*** YOU'RE USING UNSERMAKE."
echo "*** GOOD LUCK!! :)"
UNSERMAKE=unsermake
;;
* )
echo "*** YOU'RE USING $AUTOMAKE_STRING."
echo "*** KDE requires automake $required_automake_version"
exit 1
;;
esac
unset required_automake_version
}
cvs()
{
check_autotool_versions
acinclude_m4
### Make new subdirs and configure.in.
### The make calls could be optimized away here,
### with a little thought.
if test -r configure.in.in; then
rm -f configure.in
echo "*** Creating list of subdirectories"
create_subdirs
if test -r Makefile.am.in; then
echo "*** Creating Makefile.am"
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
else
Makefile_am
fi
fi
configure_files
echo "*** Creating configure.in"
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
else
configure_in
fi
fi
echo "*** Creating aclocal.m4"
$ACLOCAL $ACLOCALFLAGS || exit 1
echo "*** Creating configure"
call_and_fix_autoconf
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
echo "*** Creating config.h template"
$AUTOHEADER || exit 1
touch config.h.in
fi
echo "*** Creating Makefile templates"
$AUTOMAKE || exit 1
if test "$UNSERMAKE" = no; then
echo "*** Postprocessing Makefile templates"
perl -w admin/am_edit || exit 1
fi
if egrep "^cvs-local:" $makefile_am >/dev/null; then \
strip_makefile
$MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1
fi
echo "*** Creating date/time stamp"
touch stamp-h.in
echo "*** Finished"
echo " Don't forget to run ./configure"
echo " If you haven't done so in a while, run ./configure --help"
}
dist()
{
check_autotool_versions
###
### First build all of the files necessary to do just "make"
###
acinclude_m4
if test -r configure.in.in; then
rm -f configure.in
create_subdirs
if test -r Makefile.am.in; then
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
else
Makefile_am
fi
fi
configure_files
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
else
configure_in
fi
fi
$ACLOCAL $ACLOCALFLAGS
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
echo "*** Creating config.h template"
$AUTOHEADER || exit 1
touch config.h.in
fi
$AUTOMAKE --foreign || exit 1
if test "$UNSERMAKE" = no; then
echo "*** Postprocessing Makefile templates"
perl -w admin/am_edit || exit 1
fi
call_and_fix_autoconf
touch stamp-h.in
if grep "^cvs-local:" $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo cvs-local top_srcdir=.
fi
###
### Then make messages
###
if test -d po; then
LIST=`find ./po -name "*.po"`
for i in $LIST; do
file2=`echo $i | sed -e "s#\.po#\.gmo#"`
msgfmt -o $file2 $i || touch $file2
done
fi
if grep "^cvs-dist-local:" $makefile_am >/dev/null; then
strip_makefile
$MAKE -f $makefile_wo cvs-dist-local top_srcdir=.
fi
}
subdir_dist()
{
$ACLOCAL $ACLOCALFLAGS
$AUTOHEADER
touch config.h.in
$AUTOMAKE
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
case $AUTOMAKE_STRING in
*unsermake* ) :
;;
*)
perl -w ../admin/am_edit --path=../admin
esac
call_and_fix_autoconf
touch stamp-h.in
}
configure_in()
{
rm -f configure.in configure.in.new
kde_use_qt_param=
test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"`
: > configure.in.new
for file in $list; do
echo "dnl =======================================================" >> configure.in.new
echo "dnl FILE: $file" >> configure.in.new
echo "dnl =======================================================" >> configure.in.new
echo "" >> configure.in.new
cat $file >> configure.in.new
done
echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
if test -f Makefile.am.in; then
subdirs=`cat subdirs`
for dir in $subdirs; do
vdir=`echo $dir | sed -e 's,[-+.@],_,g'`
echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new
if test -f "$dir/configure.in"; then
echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new
echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new
echo "fi" >> configure.in.new
fi
done
fi
echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
if test -f inst-apps; then
topleveldirs=`cat inst-apps`
else
topleveldirs=
for dir in `ls -1d * | sort`; do
if test "$dir" != "debian" && test -d $dir; then
topleveldirs="$topleveldirs $dir"
fi
done
fi
for topleveldir in $topleveldirs; do
if test -f $topleveldir/configure.in; then
continue
fi
if test -f $topleveldir/Makefile.am; then :; else
continue
fi
mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \
sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'`
for i in $mfs; do
echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new
done
done
files=`cat configure.files`
list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"`
for file in $list; do
echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new
done
midfiles=`cat configure.files | fgrep "configure.in.mid"`
test -n "$midfiles" && cat $midfiles >> configure.in.new
echo "AC_OUTPUT" >> configure.in.new
modulename=
if test -f configure.in.in; then
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then
kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"`
fi
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then
line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in`
if test -n "$line"; then
modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"`
VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"`
fi
sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \
configure.in.new > configure.in && mv configure.in configure.in.new
fi
fi
if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
VERSION="\"3.5.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