Browse Source
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kde-common/admin@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
commit
5dc1ccc699
28 changed files with 29071 additions and 0 deletions
@ -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 |
@ -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 |
||||
} |
@ -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; |
||||
} |
@ -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" | \ |
||||