git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kuickshow@1095908 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
parent
56d206e89d
commit
1e33901515
@ -1,102 +0,0 @@
|
|||||||
## generate API documentation with doxygen
|
|
||||||
apidox-am-yes:
|
|
||||||
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \
|
|
||||||
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
|
|
||||||
fi ; \
|
|
||||||
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
|
|
||||||
test -d $(top_builddir)/apidocs || \
|
|
||||||
( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
|
|
||||||
--no-modulename --installdir=$(kde_libs_htmldir)/en \
|
|
||||||
--no-recurse $(abs_top_srcdir) . ) ; \
|
|
||||||
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
|
|
||||||
--recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \
|
|
||||||
$$abs_top_srcdir $(subdir)
|
|
||||||
|
|
||||||
apidox-am-toplevel-yes:
|
|
||||||
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \
|
|
||||||
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
|
|
||||||
fi ; \
|
|
||||||
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
|
|
||||||
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
|
|
||||||
--no-modulename --installdir=$(kde_libs_htmldir)/en \
|
|
||||||
$$abs_top_srcdir
|
|
||||||
|
|
||||||
## Don't generate API documentation without doxygen
|
|
||||||
apidox-am-no:
|
|
||||||
|
|
||||||
apidox-am-toplevel-no:
|
|
||||||
|
|
||||||
|
|
||||||
apidox:
|
|
||||||
@if test "$(subdir)" != "."; then \
|
|
||||||
$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\
|
|
||||||
else \
|
|
||||||
$(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
install-data-local: install-apidox
|
|
||||||
|
|
||||||
## install API documentation
|
|
||||||
install-apidox:
|
|
||||||
@if test "$(subdir)" != "."; then \
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \
|
|
||||||
if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \
|
|
||||||
echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
|
|
||||||
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
|
|
||||||
fi; \
|
|
||||||
if test -d $(top_builddir)/apidocs/$(subdir)/html; then \
|
|
||||||
list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \
|
|
||||||
echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\
|
|
||||||
for file in $$list; do \
|
|
||||||
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \
|
|
||||||
done; \
|
|
||||||
fi; \
|
|
||||||
else\
|
|
||||||
if test -d $(top_builddir)/apidocs; then \
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\
|
|
||||||
list=`cd $(top_builddir)/apidocs && ls -1`; \
|
|
||||||
echo "installing $(top_builddir)/apidocs/$$file" ;\
|
|
||||||
echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \
|
|
||||||
for file in $$list; do \
|
|
||||||
if test -f $(top_builddir)/apidocs/$$file; then \
|
|
||||||
$(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
|
|
||||||
fi; \
|
|
||||||
done ; fi; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
uninstall-local: uninstall-apidox
|
|
||||||
|
|
||||||
## uninstall API documentation
|
|
||||||
uninstall-apidox:
|
|
||||||
@if test "$(subdir)" != "."; then \
|
|
||||||
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \
|
|
||||||
rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
|
|
||||||
fi \
|
|
||||||
else \
|
|
||||||
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \
|
|
||||||
rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
|
|
||||||
fi \
|
|
||||||
fi
|
|
||||||
|
|
||||||
install-apidox-recurse: install-apidox
|
|
||||||
@set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \
|
|
||||||
list='$(SUBDIRS)'; \
|
|
||||||
for subdir in $$list; do \
|
|
||||||
if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \
|
|
||||||
echo "Installing apidox from $$subdir"; \
|
|
||||||
if test "$$subdir" != "."; then \
|
|
||||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \
|
|
||||||
fi ; fi ;\
|
|
||||||
done; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes
|
|
||||||
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: makefile
|
|
||||||
# End:
|
|
@ -1,192 +0,0 @@
|
|||||||
OUTPUT_LANGUAGE = English
|
|
||||||
USE_WINDOWS_ENCODING = NO
|
|
||||||
BRIEF_MEMBER_DESC = NO
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ABBREVIATE_BRIEF =
|
|
||||||
ALWAYS_DETAILED_SEC = YES
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
JAVADOC_AUTOBRIEF = YES
|
|
||||||
MULTILINE_CPP_IS_BRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 4
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
|
||||||
OPTIMIZE_OUTPUT_JAVA = NO
|
|
||||||
SUBGROUPING = YES
|
|
||||||
EXTRACT_ALL = NO
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = YES
|
|
||||||
EXTRACT_LOCAL_CLASSES = NO
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = YES
|
|
||||||
HIDE_FRIEND_COMPOUNDS = NO
|
|
||||||
HIDE_IN_BODY_DOCS = NO
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_BRIEF_DOCS = NO
|
|
||||||
SORT_BY_SCOPE_NAME = NO
|
|
||||||
GENERATE_TESTLIST = NO
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
GENERATE_DEPRECATEDLIST= YES
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = NO
|
|
||||||
WARN_IF_UNDOCUMENTED = NO
|
|
||||||
WARN_IF_DOC_ERROR = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
INPUT =
|
|
||||||
FILE_PATTERNS = *.h \
|
|
||||||
*.cpp \
|
|
||||||
*.cc \
|
|
||||||
*.hpp \
|
|
||||||
*.dox \
|
|
||||||
*.c++ \
|
|
||||||
*.cxx \
|
|
||||||
*.h++ \
|
|
||||||
*.hh
|
|
||||||
RECURSIVE = YES
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_SYMLINKS = NO
|
|
||||||
EXCLUDE_PATTERNS = *.moc.* \
|
|
||||||
moc* \
|
|
||||||
*.all_cpp.* \
|
|
||||||
*unload.* \
|
|
||||||
*/test/* \
|
|
||||||
*/tests/* \
|
|
||||||
*_p.h
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
SOURCE_BROWSER = YES
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 3
|
|
||||||
HTML_OUTPUT =
|
|
||||||
HTML_FILE_EXTENSION = .html
|
|
||||||
HTML_HEADER = ../apidocs/common/header.html
|
|
||||||
HTML_FOOTER = ../apidocs/common/footer.html
|
|
||||||
HTML_STYLESHEET = ../apidocs/common/doxygen.css
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
CHM_FILE =
|
|
||||||
HHC_LOCATION =
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = YES
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
LATEX_CMD_NAME = latex
|
|
||||||
MAKEINDEX_CMD_NAME = makeindex
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
LATEX_HIDE_INDICES = NO
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION = .kde3
|
|
||||||
MAN_LINKS = YES
|
|
||||||
GENERATE_XML = NO
|
|
||||||
XML_OUTPUT = xml
|
|
||||||
XML_SCHEMA =
|
|
||||||
XML_DTD =
|
|
||||||
XML_PROGRAMLISTING = NO
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
GENERATE_PERLMOD = NO
|
|
||||||
PERLMOD_LATEX = NO
|
|
||||||
PERLMOD_PRETTY = YES
|
|
||||||
PERLMOD_MAKEVAR_PREFIX =
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED = QT_VERSION=320 \
|
|
||||||
__cplusplus \
|
|
||||||
Q_WS_X11
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
TAGFILES =
|
|
||||||
GENERATE_TAGFILE =
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
EXTERNAL_GROUPS = NO
|
|
||||||
PERL_PATH =
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = NO
|
|
||||||
HAVE_DOT = NO
|
|
||||||
UML_LOOK = NO
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
CALL_GRAPH = NO
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_IMAGE_FORMAT = png
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 800
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
MAX_DOT_GRAPH_DEPTH = 0
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
|
|
||||||
### KDE Settings
|
|
||||||
ALIASES = \
|
|
||||||
"intern=\par<b>Internal use only.</b>" \
|
|
||||||
"reimp=\par<b>Reimplemented from superclass.</b>" \
|
|
||||||
"obsolete=@deprecated" \
|
|
||||||
"feature=\xrefitem features \"Feature(s)\" \"Features\"" \
|
|
||||||
"maintainer=\xrefitem maintainers \"Maintainer(s)\" \"Maintainers\"" \
|
|
||||||
"unmaintained=\xrefitem unmaintained \"Unmaintained\" \"Unmaintained\"" \
|
|
||||||
"requirement=\xrefitem requirements \"Requirement(s)\" \"Requirements\"" \
|
|
||||||
"faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \
|
|
||||||
"authors=\xrefitem authors \"Author(s)\" \"Authors\"" \
|
|
||||||
"FIXME=\xrefitem fixme \"Fixme\" \"Fixme\""
|
|
||||||
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
REFERENCED_BY_RELATION = NO
|
|
||||||
REFERENCES_RELATION = NO
|
|
||||||
VERBATIM_HEADERS = NO
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
SOURCE_BROWSER = YES
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
DETAILS_AT_TOP = YES
|
|
||||||
SORT_MEMBER_DOCS = YES
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
IGNORE_PREFIX = K
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = NO
|
|
||||||
|
|
||||||
|
|
||||||
MACRO_EXPANSION = YES
|
|
||||||
EXPAND_ONLY_PREDEF = YES
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
### Makefile.common
|
|
||||||
###
|
|
||||||
### Copyright (C) 2002 by the KDE developers
|
|
||||||
|
|
||||||
### All the real work is done by the shellscript cvs.sh
|
|
||||||
|
|
||||||
SHELL=/bin/sh
|
|
||||||
|
|
||||||
cvs dist configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages:
|
|
||||||
@admindir=$(admindir); \
|
|
||||||
if test "x$$admindir" = x; then \
|
|
||||||
admindir=.; until test -f $$admindir/admin/cvs.sh; do \
|
|
||||||
admindir=$$admindir/..; \
|
|
||||||
if test `cd $$admindir && pwd` = / ; then break; fi; \
|
|
||||||
done; \
|
|
||||||
admindir=$$admindir/admin; \
|
|
||||||
if test -f $$admindir/cvs.sh; then :; else \
|
|
||||||
echo "Can't find the admin/ directory in any parent of the"; \
|
|
||||||
echo "current directory. Please set it with admindir=..."; \
|
|
||||||
exit 1; \
|
|
||||||
fi; \
|
|
||||||
fi; \
|
|
||||||
if test "$@" = "package-merge"; then \
|
|
||||||
MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \
|
|
||||||
$(SHELL) $$admindir/cvs.sh package-merge ;\
|
|
||||||
else \
|
|
||||||
MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\
|
|
||||||
fi
|
|
||||||
|
|
||||||
configure.in: configure.files subdirs
|
|
||||||
configure.files: subdirs
|
|
||||||
|
|
||||||
svn: cvs
|
|
||||||
|
|
||||||
.SILENT:
|
|
||||||
|
|
||||||
.PHONY: svn cvs dist package-merge package-messages
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,157 +0,0 @@
|
|||||||
#!/usr/bin/perl -w
|
|
||||||
|
|
||||||
use DB_File;
|
|
||||||
use Fcntl ':flock';
|
|
||||||
|
|
||||||
if (!defined($ARGV[0])) {
|
|
||||||
print "usage: requires .class dump as parameter!\n";
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub bailout
|
|
||||||
{
|
|
||||||
untie %bcheckdb if(defined(%bcheckdb));
|
|
||||||
|
|
||||||
if(defined(MYLOCK)) {
|
|
||||||
flock MYLOCK, LOCK_UN;
|
|
||||||
close(MYLOCK);
|
|
||||||
}
|
|
||||||
|
|
||||||
print @_;
|
|
||||||
exit 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub ask_user
|
|
||||||
{
|
|
||||||
my ($dbkey, $dbchunk) = @_;
|
|
||||||
|
|
||||||
if (defined($ENV{"BCHECK_UPDATE"})) {
|
|
||||||
$bcheckdb{$dbkey} = $dbchunk;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
&bailout("BC problem detected") if (! -t STDIN);
|
|
||||||
|
|
||||||
print "(I)gnore / (Q)uit / (U)pdate: ";
|
|
||||||
|
|
||||||
my $key;
|
|
||||||
while(defined(read STDIN, $key, 1)) {
|
|
||||||
$key = lc($key);
|
|
||||||
|
|
||||||
print "got: >$key<\n";
|
|
||||||
|
|
||||||
return if ($key eq 'i');
|
|
||||||
|
|
||||||
&bailout("BC problem. aborted") if ($key eq 'q');
|
|
||||||
|
|
||||||
if ($key eq 'u') {
|
|
||||||
$bcheckdb{$dbkey} = $dbchunk;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
print "\n(I)gnore / (Q)uit / (U)pdate: ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub diff_chunk($$)
|
|
||||||
{
|
|
||||||
my ($oldl, $newl) = @_;
|
|
||||||
my @old = split /^/m, $oldl;
|
|
||||||
my @new = split /^/m, $newl;
|
|
||||||
my $haschanges = 0;
|
|
||||||
my $max = $#old > $#new ? $#old : $#new;
|
|
||||||
|
|
||||||
die "whoops. key different" if ($old[0] ne $new[0]);
|
|
||||||
|
|
||||||
if ($#old != $#new) {
|
|
||||||
warn ("Structural difference.\n");
|
|
||||||
print @old;
|
|
||||||
print "-----------------------------------------------\n";
|
|
||||||
print @new;
|
|
||||||
$haschanges = 1;
|
|
||||||
return $haschanges;
|
|
||||||
}
|
|
||||||
|
|
||||||
print $old[0];
|
|
||||||
|
|
||||||
my ($class) = ($old[0] =~ /^(?:Class |Vtable for )(\S+)/);
|
|
||||||
|
|
||||||
my $c = 1;
|
|
||||||
while ($c < $max) {
|
|
||||||
my ($o, $n) = ($old[$c], $new[$c]);
|
|
||||||
chomp $o;
|
|
||||||
chomp $n;
|
|
||||||
$c++;
|
|
||||||
next if ($o eq $n);
|
|
||||||
|
|
||||||
if(defined($class) and $n =~ /^(\d+\s+)\w+(::\S+\s*.*)$/) {
|
|
||||||
next if ($n eq "$1$class$2");
|
|
||||||
}
|
|
||||||
|
|
||||||
$haschanges = 1;
|
|
||||||
|
|
||||||
print "-$o\n+$n\n\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $haschanges;
|
|
||||||
}
|
|
||||||
|
|
||||||
local $dblock = $ENV{"HOME"} . "/bcheck.lock";
|
|
||||||
my $dbfile = $ENV{"HOME"} . "/bcheck.db";
|
|
||||||
my $cdump = $ARGV[0];
|
|
||||||
|
|
||||||
die "file $cdump is not readable: $!" if (! -f $cdump);
|
|
||||||
|
|
||||||
# make sure the advisory lock exists
|
|
||||||
open(MYLOCK, ">$dblock");
|
|
||||||
print MYLOCK "";
|
|
||||||
|
|
||||||
flock MYLOCK, LOCK_EX;
|
|
||||||
|
|
||||||
tie %bcheckdb, 'DB_File', $dbfile;
|
|
||||||
|
|
||||||
my $chunk = "";
|
|
||||||
|
|
||||||
open (IN, "<$cdump") or die "cannot open $cdump: $!";
|
|
||||||
while (<IN>) {
|
|
||||||
|
|
||||||
chop;
|
|
||||||
|
|
||||||
s/0x[0-9a-fA-F]+/0x......../g;
|
|
||||||
s/base size=/size=/g;
|
|
||||||
s/\(\)\s*$//g;
|
|
||||||
s/base align=/align=/g;
|
|
||||||
|
|
||||||
$chunk .= $_ . "\n";
|
|
||||||
|
|
||||||
if(/^\s*$/) {
|
|
||||||
my @lines = split /^/m, $chunk;
|
|
||||||
my $key = $lines[0];
|
|
||||||
chomp $key;
|
|
||||||
|
|
||||||
if($key !~ /<anonymous struct>/ &&
|
|
||||||
$key !~ /<anonymous union>/) {
|
|
||||||
if(defined($bcheckdb{$key})) {
|
|
||||||
my $dbversion = $bcheckdb{$key};
|
|
||||||
|
|
||||||
if($dbversion ne $chunk) {
|
|
||||||
&ask_user($key, $chunk) if(&diff_chunk($dbversion, $chunk));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$bcheckdb{$key} = $chunk;
|
|
||||||
print "NEW: $key\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$chunk = "";
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
close(IN);
|
|
||||||
|
|
||||||
untie %bcheckdb;
|
|
||||||
flock MYLOCK, LOCK_UN;
|
|
||||||
close(MYLOCK);
|
|
||||||
|
|
||||||
exit 0;
|
|
@ -1,142 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
# Wrapper for compilers which do not understand `-c -o'.
|
|
||||||
|
|
||||||
scriptversion=2005-05-14.22
|
|
||||||
|
|
||||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
# any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
|
||||||
# distribute this file as part of a program that contains a
|
|
||||||
# configuration script generated by Autoconf, you may include it under
|
|
||||||
# the same distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
# This file is maintained in Automake, please report
|
|
||||||
# bugs to <bug-automake@gnu.org> or send patches to
|
|
||||||
# <automake-patches@gnu.org>.
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
'')
|
|
||||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
|
||||||
exit 1;
|
|
||||||
;;
|
|
||||||
-h | --h*)
|
|
||||||
cat <<\EOF
|
|
||||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
|
||||||
|
|
||||||
Wrapper for compilers which do not understand `-c -o'.
|
|
||||||
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
|
|
||||||
arguments, and rename the output as expected.
|
|
||||||
|
|
||||||
If you are trying to build a whole package this is not the
|
|
||||||
right script to run: please start by reading the file `INSTALL'.
|
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>.
|
|
||||||
EOF
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
-v | --v*)
|
|
||||||
echo "compile $scriptversion"
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
ofile=
|
|
||||||
cfile=
|
|
||||||
eat=
|
|
||||||
|
|
||||||
for arg
|
|
||||||
do
|
|
||||||
if test -n "$eat"; then
|
|
||||||
eat=
|
|
||||||
else
|
|
||||||
case $1 in
|
|
||||||
-o)
|
|
||||||
# configure might choose to run compile as `compile cc -o foo foo.c'.
|
|
||||||
# So we strip `-o arg' only if arg is an object.
|
|
||||||
eat=1
|
|
||||||
case $2 in
|
|
||||||
*.o | *.obj)
|
|
||||||
ofile=$2
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set x "$@" -o "$2"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*.c)
|
|
||||||
cfile=$1
|
|
||||||
set x "$@" "$1"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set x "$@" "$1"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
if test -z "$ofile" || test -z "$cfile"; then
|
|
||||||
# If no `-o' option was seen then we might have been invoked from a
|
|
||||||
# pattern rule where we don't need one. That is ok -- this is a
|
|
||||||
# normal compilation that the losing compiler can handle. If no
|
|
||||||
# `.c' file was seen then we are probably linking. That is also
|
|
||||||
# ok.
|
|
||||||
exec "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Name of file we expect compiler to create.
|
|
||||||
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
|
||||||
|
|
||||||
# Create the lock directory.
|
|
||||||
# Note: use `[/.-]' here to ensure that we don't use the same name
|
|
||||||
# that we are using for the .o file. Also, base the name on the expected
|
|
||||||
# object file name, since that is what matters with a parallel build.
|
|
||||||
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
|
|
||||||
while true; do
|
|
||||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
# FIXME: race condition here if user kills between mkdir and trap.
|
|
||||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
|
||||||
|
|
||||||
# Run the compile.
|
|
||||||
"$@"
|
|
||||||
ret=$?
|
|
||||||
|
|
||||||
if test -f "$cofile"; then
|
|
||||||
mv "$cofile" "$ofile"
|
|
||||||
elif test -f "${cofile}bj"; then
|
|
||||||
mv "${cofile}bj" "$ofile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rmdir "$lockdir"
|
|
||||||
exit $ret
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: shell-script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-end: "$"
|
|
||||||
# End:
|
|
@ -1,191 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
|
|
||||||
# this script patches a config.status file, to use our own perl script
|
|
||||||
# in the main loop
|
|
||||||
# we do it this way to circumvent hacking (and thereby including)
|
|
||||||
# autoconf function (which are GPL) into our LGPL acinclude.m4.in
|
|
||||||
# written by Michael Matz <matz@kde.org>
|
|
||||||
# adapted by Dirk Mueller <mueller@kde.org>
|
|
||||||
#
|
|
||||||
# This file is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU Library General Public
|
|
||||||
# License as published by the Free Software Foundation; either
|
|
||||||
# version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
# This library is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
# Library General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU Library General Public License
|
|
||||||
# along with this library; see the file COPYING.LIB. If not, write to
|
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
# we have to change two places
|
|
||||||
# 1. the splitting of the substitutions into chunks of 90 (or even 48 in
|
|
||||||
# later autoconf's
|
|
||||||
# 2. the big main loop which patches all Makefile.in's
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use File::Basename;
|
|
||||||
|
|
||||||
my $ac_aux_dir = dirname($0);
|
|
||||||
my ($flag);
|
|
||||||
my $ac_version = 0;
|
|
||||||
my $vpath_seen = 0;
|
|
||||||
$flag = 0;
|
|
||||||
|
|
||||||
while (<>) {
|
|
||||||
# usage of $flag: 0 -- we have seen nothing yet
|
|
||||||
# 1 -- we are in (1)
|
|
||||||
# 2 -- we have ended (1)
|
|
||||||
# 3 -- we are in (2)
|
|
||||||
# 4 -- we ended (2)
|
|
||||||
|
|
||||||
if ($flag == 4) {
|
|
||||||
print;
|
|
||||||
} elsif ($flag == 0) {
|
|
||||||
# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..."
|
|
||||||
# ends with (excluding) "CONFIG_FILE=..."
|
|
||||||
# in later autoconf (2.14.1) there is no CONFIG_FILES= line,
|
|
||||||
# but instead the (2) directly follow (1)
|
|
||||||
if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) {
|
|
||||||
$flag = 1;
|
|
||||||
if ($1 eq 'lines') {
|
|
||||||
# lets hope its different with 2141,
|
|
||||||
# wasn't able to verify that
|
|
||||||
if ($2 eq '48') {
|
|
||||||
$ac_version = 250;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$ac_version = 2141;
|
|
||||||
}
|
|
||||||
} elsif ($1 eq 'cmds') {
|
|
||||||
$ac_version = 213;
|
|
||||||
}
|
|
||||||
# hmm, we don't know the autoconf version, but we try anyway
|
|
||||||
} else {
|
|
||||||
print;
|
|
||||||
}
|
|
||||||
} elsif ($flag == 1) {
|
|
||||||
if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) {
|
|
||||||
print;
|
|
||||||
$flag = 2;
|
|
||||||
} elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
|
|
||||||
$flag = 3;
|
|
||||||
}
|
|
||||||
} elsif ($flag == 2) {
|
|
||||||
# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1))
|
|
||||||
# end with: "rm -f conftest.s\*"
|
|
||||||
# on autoconf 250, it ends with '# CONFIG_HEADER section'
|
|
||||||
#
|
|
||||||
# gg: if a post-processing commands section is found first,
|
|
||||||
# stop there and insert a new loop to honor the case/esac.
|
|
||||||
# (pattern: /^\s+#\sRun the commands associated with the file./)
|
|
||||||
|
|
||||||
if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
|
|
||||||
$flag = 3;
|
|
||||||
} else {
|
|
||||||
print;
|
|
||||||
}
|
|
||||||
} elsif ($flag == 3) {
|
|
||||||
if (/^\s*rm\s+-f\s+conftest/ ) {
|
|
||||||
$flag = 4;
|
|
||||||
&insert_main_loop();
|
|
||||||
} elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) {
|
|
||||||
$flag = 4;
|
|
||||||
&insert_main_loop();
|
|
||||||
#die "hhhhhhh";
|
|
||||||
if ($ac_version != 2141) {
|
|
||||||
print STDERR "hmm, don't know autoconf version\n";
|
|
||||||
}
|
|
||||||
} elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) {
|
|
||||||
$flag = 4;
|
|
||||||
my $commands = defined $2;
|
|
||||||
&insert_main_loop();
|
|
||||||
$commands && insert_command_loop();
|
|
||||||
if($ac_version != 250) {
|
|
||||||
print STDERR "hmm, something went wrong :-(\n";
|
|
||||||
}
|
|
||||||
} elsif (/VPATH/ ) {
|
|
||||||
$vpath_seen = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
die "wrong input (flag != 4)" unless $flag == 4;
|
|
||||||
print STDERR "hmm, don't know autoconf version\n" unless $ac_version;
|
|
||||||
|
|
||||||
sub insert_main_loop {
|
|
||||||
|
|
||||||
if ($ac_version == 250) {
|
|
||||||
&insert_main_loop_250();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
&insert_main_loop_213();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub insert_main_loop_250 {
|
|
||||||
|
|
||||||
print <<EOF;
|
|
||||||
#echo Doing the fast build of Makefiles -- autoconf $ac_version
|
|
||||||
EOF
|
|
||||||
if ($vpath_seen) {
|
|
||||||
print <<EOF;
|
|
||||||
# VPATH subst was seen in original config.status main loop
|
|
||||||
echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >>\$tmp/subs.sed
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
print <<EOF;
|
|
||||||
rm -f \$tmp/subs.files
|
|
||||||
for ac_file in .. \$CONFIG_FILES ; do
|
|
||||||
if test "x\$ac_file" != x..; then
|
|
||||||
echo \$ac_file >> \$tmp/subs.files
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if test -f \$tmp/subs.files ; then
|
|
||||||
perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL"
|
|
||||||
fi
|
|
||||||
rm -f \$tmp/subs.files
|
|
||||||
|
|
||||||
fi
|
|
||||||
EOF
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub insert_main_loop_213 {
|
|
||||||
print <<EOF;
|
|
||||||
#echo Doing the fast build of Makefiles -- autoconf $ac_version
|
|
||||||
if test "x\$ac_cs_root" = "x" ; then
|
|
||||||
ac_cs_root=conftest
|
|
||||||
fi
|
|
||||||
EOF
|
|
||||||
if ($vpath_seen) {
|
|
||||||
print <<EOF;
|
|
||||||
# VPATH subst was seen in original config.status main loop
|
|
||||||
echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >> \$ac_cs_root.subs
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
print <<EOF;
|
|
||||||
rm -f \$ac_cs_root.sacfiles
|
|
||||||
for ac_file in .. \$CONFIG_FILES ; do
|
|
||||||
if test "x\$ac_file" != x..; then
|
|
||||||
echo \$ac_file >> \$ac_cs_root.sacfiles
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if test -f \$ac_cs_root.sacfiles ; then
|
|
||||||
perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL"
|
|
||||||
fi
|
|
||||||
rm -f \$ac_cs_root.s*
|
|
||||||
|
|
||||||
EOF
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub insert_command_loop {
|
|
||||||
print <<EOF;
|
|
||||||
for ac_file in .. \$CONFIG_FILES ; do
|
|
||||||
EOF
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,238 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
# a script for use by autoconf to make the Makefiles
|
|
||||||
# from the Makefile.in's
|
|
||||||
#
|
|
||||||
# the original autoconf mechanism first splits all substitutions into groups
|
|
||||||
# of ca. 90, and than invokes sed for _every_ Makefile.in and every group
|
|
||||||
# (so around 2-3 times per Makefile.in). So this takes forever, as sed
|
|
||||||
# has to recompile the regexps every time.
|
|
||||||
#
|
|
||||||
# this script does better. It changes all Makefile.ins in one process.
|
|
||||||
# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec!
|
|
||||||
#
|
|
||||||
# written by Michael Matz <matz@kde.org>
|
|
||||||
# adapted by Dirk Mueller <mueller@kde.org>
|
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU Library General Public
|
|
||||||
# License as published by the Free Software Foundation; either
|
|
||||||
# version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
# This library is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
# Library General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU Library General Public License
|
|
||||||
# along with this library; see the file COPYING.LIB. If not, write to
|
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
use File::Path;
|
|
||||||
|
|
||||||
my $ac_subs=$ARGV[0];
|
|
||||||
my $ac_sacfiles = $ARGV[1];
|
|
||||||
my $ac_given_srcdir=$ARGV[2];
|
|
||||||
my $ac_given_INSTALL=$ARGV[3];
|
|
||||||
|
|
||||||
my @comp_match;
|
|
||||||
my @comp_subs;
|
|
||||||
|
|
||||||
#print "ac_subs=$ac_subs\n";
|
|
||||||
#print "ac_sacfiles=$ac_sacfiles\n";
|
|
||||||
#print "ac_given_srcdir=$ac_given_srcdir\n";
|
|
||||||
#print "ac_given_INSTALL=$ac_given_INSTALL\n";
|
|
||||||
|
|
||||||
my $configure_input;
|
|
||||||
my ($srcdir, $top_srcdir);
|
|
||||||
my $INSTALL;
|
|
||||||
my $bad_perl = ($] < 5.005);
|
|
||||||
my $created_file_count = 0;
|
|
||||||
|
|
||||||
open(CF, "< $ac_subs") || die "can't open $ac_subs: $!";
|
|
||||||
my @subs = <CF>;
|
|
||||||
my $pat;
|
|
||||||
close(CF);
|
|
||||||
chomp @subs;
|
|
||||||
@comp_match=();
|
|
||||||
@comp_subs=();
|
|
||||||
|
|
||||||
if ($bad_perl) {
|
|
||||||
print "Using perl older than version 5.005\n";
|
|
||||||
foreach $pat (@subs) {
|
|
||||||
if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ )
|
|
||||||
|| ($pat =~ m/s%([^%]*)%([^%]*)%;t/ )
|
|
||||||
|| ($pat =~ m/s,([^,]*),(.*),;t/)
|
|
||||||
|| ($pat =~ m%s/([^/]*)/([^/]*)/g% )
|
|
||||||
|| ($pat =~ m%s/([^/]*)/([^/]*)/;t% )
|
|
||||||
) {
|
|
||||||
# form : s%bla%blubb%g
|
|
||||||
# or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?)
|
|
||||||
# or s,bla,blubb,;t t (autoconf 2.52)
|
|
||||||
my $srch = $1;
|
|
||||||
my $repl = $2;
|
|
||||||
$repl =~ s/\\(.)/$1/g;
|
|
||||||
push @comp_subs, make_closure($srch, $repl);
|
|
||||||
|
|
||||||
} elsif ( ($pat =~ /%([^%]*)%d/ )
|
|
||||||
|| ($pat =~ m%/([^/]*)/d% )
|
|
||||||
) {
|
|
||||||
push @comp_subs, make_closure($1, "");
|
|
||||||
} else {
|
|
||||||
die "Uhh. Malformed pattern in $ac_subs ($pat)"
|
|
||||||
unless ( $pat =~ /^\s*$/ ); # ignore white lines
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
foreach $pat (@subs) {
|
|
||||||
if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) ||
|
|
||||||
($pat =~ /s%([^%]*)%([^%]*)%;t/ ) ||
|
|
||||||
($pat =~ /s,([^,]*),(.*),;t/) ) {
|
|
||||||
# form : s%bla%blubb%g
|
|
||||||
# or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?)
|
|
||||||
# or s,bla,blubb,;t t (autoconf 2.52)
|
|
||||||
my $srch = $1;
|
|
||||||
my $repl = $2;
|
|
||||||
push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern
|
|
||||||
$repl =~ s/\\(.)/$1/g;
|
|
||||||
push @comp_subs, $repl;
|
|
||||||
} elsif ( ($pat =~ /%([^%]*)%d/ )
|
|
||||||
|| ($pat =~ m%/([^/]*)/d% )
|
|
||||||
) {
|
|
||||||
push @comp_match, eval "qr/\Q$1\E/";
|
|
||||||
push @comp_subs, "";
|
|
||||||
} else {
|
|
||||||
die "Uhh. Malformed pattern in $ac_subs ($pat)"
|
|
||||||
unless ( $pat =~ /^\s*$/ ); # ignore white lines
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
undef @subs;
|
|
||||||
|
|
||||||
# read the list of files to be patched, form:
|
|
||||||
# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile
|
|
||||||
|
|
||||||
open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!";
|
|
||||||
my @ac_files = <CF>;
|
|
||||||
close(CF);
|
|
||||||
chomp @ac_files;
|
|
||||||
|
|
||||||
|
|
||||||
my $ac_file;
|
|
||||||
foreach $ac_file (@ac_files) {
|
|
||||||
next if $ac_file =~ /\.\./;
|
|
||||||
next if $ac_file =~ /^\s*$/;
|
|
||||||
my $ac_file_in;
|
|
||||||
my ($ac_dir, $ac_dots, $ac_dir_suffix);
|
|
||||||
|
|
||||||
if ($ac_file =~ /.*:.*/ ) {
|
|
||||||
($ac_file_in = $ac_file) =~ s%[^:]*:%%;
|
|
||||||
$ac_file =~ s%:.*%%;
|
|
||||||
} else {
|
|
||||||
$ac_file_in = $ac_file.".in";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
|
|
||||||
|
|
||||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
|
||||||
($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%;
|
|
||||||
if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) {
|
|
||||||
# The file is in a subdirectory.
|
|
||||||
if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; }
|
|
||||||
($ac_dir_suffix = $ac_dir) =~ s%^./%%;
|
|
||||||
$ac_dir_suffix="/".$ac_dir_suffix;
|
|
||||||
# A "../" for each directory in $ac_dir_suffix.
|
|
||||||
($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g;
|
|
||||||
} else {
|
|
||||||
$ac_dir_suffix="";
|
|
||||||
$ac_dots="";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($ac_given_srcdir eq ".") {
|
|
||||||
$srcdir=".";
|
|
||||||
if ($ac_dots) {
|
|
||||||
( $top_srcdir = $ac_dots) =~ s%/$%%;
|
|
||||||
} else { $top_srcdir="."; }
|
|
||||||
} elsif ($ac_given_srcdir =~ m%^/%) {
|
|
||||||
$srcdir=$ac_given_srcdir.$ac_dir_suffix;
|
|
||||||
$top_srcdir = $ac_given_srcdir;
|
|
||||||
} else {
|
|
||||||
$srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix;
|
|
||||||
$top_srcdir = $ac_dots.$ac_given_srcdir;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($ac_given_INSTALL) {
|
|
||||||
if ($ac_given_INSTALL =~ m%^/% ) {
|
|
||||||
$INSTALL = $ac_given_INSTALL;
|
|
||||||
} else {
|
|
||||||
$INSTALL = $ac_dots.$ac_given_INSTALL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print "fast creating $ac_file\n";
|
|
||||||
unlink $ac_file;
|
|
||||||
my $ac_comsub="";
|
|
||||||
my $fname=$ac_file_in;
|
|
||||||
$fname =~ s%.*/%%;
|
|
||||||
$configure_input="$ac_file. Generated from $fname by config.pl.";
|
|
||||||
|
|
||||||
my $ac_file_inputs;
|
|
||||||
($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%;
|
|
||||||
$ac_file_inputs =~ s%:% $ac_given_srcdir/%g;
|
|
||||||
|
|
||||||
patch_file($ac_file, $ac_file_inputs);
|
|
||||||
++$created_file_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
print "config.pl: fast created $created_file_count file(s).\n";
|
|
||||||
|
|
||||||
sub patch_file {
|
|
||||||
my ($outf, $infiles) = @_;
|
|
||||||
my $filedata;
|
|
||||||
my @infiles=split(' ', $infiles);
|
|
||||||
my $i=0;
|
|
||||||
my $name;
|
|
||||||
|
|
||||||
foreach $name (@infiles) {
|
|
||||||
if (open(CF, "< $name")) {
|
|
||||||
while (<CF>) {
|
|
||||||
$filedata .= $_;
|
|
||||||
}
|
|
||||||
close(CF);
|
|
||||||
} else {
|
|
||||||
print STDERR "can't open $name: $!"."\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$filedata =~ s%\@configure_input\@%$configure_input%g;
|
|
||||||
$filedata =~ s%\@srcdir\@%$srcdir%g;
|
|
||||||
$filedata =~ s%\@top_srcdir\@%$top_srcdir%g;
|
|
||||||
$filedata =~ s%\@INSTALL\@%$INSTALL%g;
|
|
||||||
|
|
||||||
if ($bad_perl) {
|
|
||||||
while ($i <= $#comp_subs) {
|
|
||||||
my $ref = $comp_subs[$i];
|
|
||||||
&$ref(\$filedata);
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
while ($i <= $#comp_match) {
|
|
||||||
$filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g;
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
open(CF, "> $outf") || die "can't create $outf: $!";
|
|
||||||
print CF $filedata;
|
|
||||||
close(CF);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub make_closure {
|
|
||||||
my ($pat, $sub) = @_;
|
|
||||||
my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }";
|
|
||||||
if ($@) {
|
|
||||||
print "can't create CODE: $@\n";
|
|
||||||
}
|
|
||||||
return $ret;
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,45 +0,0 @@
|
|||||||
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
|
|
||||||
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
|
|
||||||
# And if so, warn when they don't match
|
|
||||||
if test "$kde_libs_prefix" != "$given_prefix"; then
|
|
||||||
# And if kde doesn't know about the prefix yet
|
|
||||||
echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
|
|
||||||
if test $? -ne 0; then
|
|
||||||
echo ""
|
|
||||||
echo "Warning: you chose to install this package in $given_prefix,"
|
|
||||||
echo "but KDE was found in $kde_libs_prefix."
|
|
||||||
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
|
|
||||||
echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
|
|
||||||
echo "Then restart KDE."
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
|
|
||||||
echo ""
|
|
||||||
echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
|
|
||||||
echo "was not included. Therefore, GCC symbol visibility support remains disabled."
|
|
||||||
echo ""
|
|
||||||
echo "For better performance, consider including the Qt visibility supporting patch"
|
|
||||||
echo "located at:"
|
|
||||||
echo ""
|
|
||||||
echo "http://bugs.kde.org/show_bug.cgi?id=109386"
|
|
||||||
echo ""
|
|
||||||
echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
|
|
||||||
echo "everything will continue to work just fine without it."
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$all_tests" = "bad"; then
|
|
||||||
if test ! "$cache_file" = "/dev/null"; then
|
|
||||||
echo ""
|
|
||||||
echo "Please remove the file $cache_file after changing your setup"
|
|
||||||
echo "so that configure will find the changes next time."
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo ""
|
|
||||||
echo "Good - your configure finished. Start make now"
|
|
||||||
echo ""
|
|
||||||
fi
|
|
@ -1,57 +0,0 @@
|
|||||||
dnl This file is part of the KDE libraries/packages
|
|
||||||
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
|
|
||||||
|
|
||||||
dnl This file is free software; you can redistribute it and/or
|
|
||||||
dnl modify it under the terms of the GNU Library General Public
|
|
||||||
dnl License as published by the Free Software Foundation; either
|
|
||||||
dnl version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
dnl This library is distributed in the hope that it will be useful,
|
|
||||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
dnl Library General Public License for more details.
|
|
||||||
|
|
||||||
dnl You should have received a copy of the GNU Library General Public License
|
|
||||||
dnl along with this library; see the file COPYING.LIB. If not, write to
|
|
||||||
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
||||||
dnl Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
# Original Author was Kalle@kde.org
|
|
||||||
# I lifted it in some mater. (Stephan Kulow)
|
|
||||||
# I used much code from Janos Farkas
|
|
||||||
|
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
|
||||||
|
|
||||||
AC_INIT(acinclude.m4) dnl a source file from your sub dir
|
|
||||||
|
|
||||||
dnl This is so we can use kde-common
|
|
||||||
AC_CONFIG_AUX_DIR(admin)
|
|
||||||
|
|
||||||
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
|
|
||||||
unset CDPATH
|
|
||||||
|
|
||||||
dnl Checking host/target/build systems, for make, install etc.
|
|
||||||
AC_CANONICAL_SYSTEM
|
|
||||||
dnl Perform program name transformation
|
|
||||||
AC_ARG_PROGRAM
|
|
||||||
|
|
||||||
dnl Automake doc recommends to do this only here. (Janos)
|
|
||||||
AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs
|
|
||||||
|
|
||||||
KDE_SET_PREFIX
|
|
||||||
|
|
||||||
dnl generate the config header
|
|
||||||
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
|
|
||||||
|
|
||||||
dnl Checks for programs.
|
|
||||||
AC_CHECK_COMPILERS
|
|
||||||
AC_ENABLE_SHARED(yes)
|
|
||||||
AC_ENABLE_STATIC(no)
|
|
||||||
KDE_PROG_LIBTOOL
|
|
||||||
|
|
||||||
dnl for NLS support. Call them in this order!
|
|
||||||
dnl WITH_NLS is for the po files
|
|
||||||
AM_KDE_WITH_NLS
|
|
||||||
|
|
||||||
dnl KDE_USE_QT
|
|
||||||
AC_PATH_KDE
|
|
@ -1,661 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
#
|
|
||||||
# cvs.sh
|
|
||||||
#
|
|
||||||
# This file contains support code from Makefile.common
|
|
||||||
# It defines a shell function for each known target
|
|
||||||
# and then does a case to call the correct function.
|
|
||||||
|
|
||||||
unset MAKEFLAGS
|
|
||||||
|
|
||||||
call_and_fix_autoconf()
|
|
||||||
{
|
|
||||||
$AUTOCONF || exit 1
|
|
||||||
if test -r configure.in.in ; then
|
|
||||||
perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\
|
|
||||||
\\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\
|
|
||||||
\\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\
|
|
||||||
\\n rm -f \\\$CONFIG_STATUS.bak\\nfi\
|
|
||||||
\\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
strip_makefile()
|
|
||||||
{
|
|
||||||
if test ! -f $makefile_wo; then
|
|
||||||
perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
check_autotool_versions()
|
|
||||||
{
|
|
||||||
required_autoconf_version="2.53 or newer"
|
|
||||||
AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
|
|
||||||
case $AUTOCONF_VERSION in
|
|
||||||
Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;;
|
|
||||||
"" )
|
|
||||||
echo "*** AUTOCONF NOT FOUND!."
|
|
||||||
echo "*** KDE requires autoconf $required_autoconf_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo "*** YOU'RE USING $AUTOCONF_VERSION."
|
|
||||||
echo "*** KDE requires autoconf $required_autoconf_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
|
|
||||||
case $AUTOHEADER_VERSION in
|
|
||||||
Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;;
|
|
||||||
"" )
|
|
||||||
echo "*** AUTOHEADER NOT FOUND!."
|
|
||||||
echo "*** KDE requires autoheader $required_autoconf_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo "*** YOU'RE USING $AUTOHEADER_VERSION."
|
|
||||||
echo "*** KDE requires autoheader $required_autoconf_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
|
|
||||||
required_automake_version="1.6.1 or newer"
|
|
||||||
case $AUTOMAKE_STRING in
|
|
||||||
automake*1.5d* | automake*1.5* | automake*1.5-* )
|
|
||||||
echo "*** YOU'RE USING $AUTOMAKE_STRING."
|
|
||||||
echo "*** KDE requires automake $required_automake_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
|
|
||||||
echo "*** $AUTOMAKE_STRING found."
|
|
||||||
UNSERMAKE=no
|
|
||||||
;;
|
|
||||||
"" )
|
|
||||||
echo "*** AUTOMAKE NOT FOUND!."
|
|
||||||
echo "*** KDE requires automake $required_automake_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
*unsermake* ) :
|
|
||||||
echo "*** YOU'RE USING UNSERMAKE."
|
|
||||||
echo "*** GOOD LUCK!! :)"
|
|
||||||
UNSERMAKE=unsermake
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo "*** YOU'RE USING $AUTOMAKE_STRING."
|
|
||||||
echo "*** KDE requires automake $required_automake_version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
unset required_automake_version
|
|
||||||
}
|
|
||||||
|
|
||||||
cvs()
|
|
||||||
{
|
|
||||||
check_autotool_versions
|
|
||||||
acinclude_m4
|
|
||||||
|
|
||||||
### Make new subdirs and configure.in.
|
|
||||||
### The make calls could be optimized away here,
|
|
||||||
### with a little thought.
|
|
||||||
if test -r configure.in.in; then
|
|
||||||
rm -f configure.in
|
|
||||||
echo "*** Creating list of subdirectories"
|
|
||||||
create_subdirs
|
|
||||||
|
|
||||||
if test -r Makefile.am.in; then
|
|
||||||
echo "*** Creating Makefile.am"
|
|
||||||
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
|
|
||||||
else
|
|
||||||
Makefile_am
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
configure_files
|
|
||||||
echo "*** Creating configure.in"
|
|
||||||
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
|
|
||||||
else
|
|
||||||
configure_in
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "*** Creating aclocal.m4"
|
|
||||||
$ACLOCAL $ACLOCALFLAGS || exit 1
|
|
||||||
echo "*** Creating configure"
|
|
||||||
call_and_fix_autoconf
|
|
||||||
|
|
||||||
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
|
|
||||||
echo "*** Creating config.h template"
|
|
||||||
$AUTOHEADER || exit 1
|
|
||||||
touch config.h.in
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "*** Creating Makefile templates"
|
|
||||||
$AUTOMAKE || exit 1
|
|
||||||
|
|
||||||
if test "$UNSERMAKE" = no; then
|
|
||||||
echo "*** Postprocessing Makefile templates"
|
|
||||||
perl -w admin/am_edit || exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if egrep "^cvs-local:" $makefile_am >/dev/null; then \
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "*** Creating date/time stamp"
|
|
||||||
touch stamp-h.in
|
|
||||||
|
|
||||||
echo "*** Finished"
|
|
||||||
echo " Don't forget to run ./configure"
|
|
||||||
echo " If you haven't done so in a while, run ./configure --help"
|
|
||||||
}
|
|
||||||
|
|
||||||
dist()
|
|
||||||
{
|
|
||||||
check_autotool_versions
|
|
||||||
|
|
||||||
###
|
|
||||||
### First build all of the files necessary to do just "make"
|
|
||||||
###
|
|
||||||
acinclude_m4
|
|
||||||
if test -r configure.in.in; then
|
|
||||||
rm -f configure.in
|
|
||||||
create_subdirs
|
|
||||||
|
|
||||||
if test -r Makefile.am.in; then
|
|
||||||
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
|
|
||||||
else
|
|
||||||
Makefile_am
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
configure_files
|
|
||||||
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
|
|
||||||
else
|
|
||||||
configure_in
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
$ACLOCAL $ACLOCALFLAGS
|
|
||||||
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
|
|
||||||
echo "*** Creating config.h template"
|
|
||||||
$AUTOHEADER || exit 1
|
|
||||||
touch config.h.in
|
|
||||||
fi
|
|
||||||
$AUTOMAKE --foreign || exit 1
|
|
||||||
if test "$UNSERMAKE" = no; then
|
|
||||||
echo "*** Postprocessing Makefile templates"
|
|
||||||
perl -w admin/am_edit || exit 1
|
|
||||||
fi
|
|
||||||
call_and_fix_autoconf
|
|
||||||
touch stamp-h.in
|
|
||||||
if grep "^cvs-local:" $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo cvs-local top_srcdir=.
|
|
||||||
fi
|
|
||||||
|
|
||||||
###
|
|
||||||
### Then make messages
|
|
||||||
###
|
|
||||||
if test -d po; then
|
|
||||||
LIST=`find ./po -name "*.po"`
|
|
||||||
for i in $LIST; do
|
|
||||||
file2=`echo $i | sed -e "s#\.po#\.gmo#"`
|
|
||||||
msgfmt -o $file2 $i || touch $file2
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
if grep "^cvs-dist-local:" $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo cvs-dist-local top_srcdir=.
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
subdir_dist()
|
|
||||||
{
|
|
||||||
$ACLOCAL $ACLOCALFLAGS
|
|
||||||
$AUTOHEADER
|
|
||||||
touch config.h.in
|
|
||||||
$AUTOMAKE
|
|
||||||
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
|
|
||||||
case $AUTOMAKE_STRING in
|
|
||||||
*unsermake* ) :
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
perl -w ../admin/am_edit --path=../admin
|
|
||||||
esac
|
|
||||||
call_and_fix_autoconf
|
|
||||||
touch stamp-h.in
|
|
||||||
}
|
|
||||||
|
|
||||||
configure_in()
|
|
||||||
{
|
|
||||||
rm -f configure.in configure.in.new
|
|
||||||
kde_use_qt_param=
|
|
||||||
test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
|
|
||||||
list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"`
|
|
||||||
: > configure.in.new
|
|
||||||
for file in $list; do
|
|
||||||
echo "dnl =======================================================" >> configure.in.new
|
|
||||||
echo "dnl FILE: $file" >> configure.in.new
|
|
||||||
echo "dnl =======================================================" >> configure.in.new
|
|
||||||
echo "" >> configure.in.new
|
|
||||||
cat $file >> configure.in.new
|
|
||||||
done
|
|
||||||
echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
|
|
||||||
if test -f Makefile.am.in; then
|
|
||||||
subdirs=`cat subdirs`
|
|
||||||
for dir in $subdirs; do
|
|
||||||
vdir=`echo $dir | sed -e 's,[-+.@],_,g'`
|
|
||||||
echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new
|
|
||||||
if test -f "$dir/configure.in"; then
|
|
||||||
echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new
|
|
||||||
echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new
|
|
||||||
echo "fi" >> configure.in.new
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
|
|
||||||
|
|
||||||
if test -f inst-apps; then
|
|
||||||
topleveldirs=`cat inst-apps`
|
|
||||||
else
|
|
||||||
topleveldirs=
|
|
||||||
for dir in `ls -1d * | sort`; do
|
|
||||||
if test "$dir" != "debian" && test -d $dir; then
|
|
||||||
topleveldirs="$topleveldirs $dir"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
for topleveldir in $topleveldirs; do
|
|
||||||
if test -f $topleveldir/configure.in; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
if test -f $topleveldir/Makefile.am; then :; else
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \
|
|
||||||
sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'`
|
|
||||||
for i in $mfs; do
|
|
||||||
echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
files=`cat configure.files`
|
|
||||||
list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"`
|
|
||||||
for file in $list; do
|
|
||||||
echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new
|
|
||||||
done
|
|
||||||
|
|
||||||
midfiles=`cat configure.files | fgrep "configure.in.mid"`
|
|
||||||
test -n "$midfiles" && cat $midfiles >> configure.in.new
|
|
||||||
|
|
||||||
echo "AC_OUTPUT" >> configure.in.new
|
|
||||||
modulename=
|
|
||||||
if test -f configure.in.in; then
|
|
||||||
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then
|
|
||||||
kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"`
|
|
||||||
fi
|
|
||||||
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then
|
|
||||||
line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in`
|
|
||||||
if test -n "$line"; then
|
|
||||||
modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"`
|
|
||||||
VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"`
|
|
||||||
fi
|
|
||||||
sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \
|
|
||||||
configure.in.new > configure.in && mv configure.in configure.in.new
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
|
|
||||||
VERSION="\"3.5.8\""
|
|
||||||
fi
|
|
||||||
if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then
|
|
||||||
modulename=`pwd`;
|
|
||||||
modulename=`basename $modulename`
|
|
||||||
esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"`
|
|
||||||
modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"`
|
|
||||||
|
|
||||||
fi
|
|
||||||
if test -n "$kde_use_qt_param"; then
|
|
||||||
sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \
|
|
||||||
configure.in.new > configure.in && mv configure.in configure.in.new
|
|
||||||
fi
|
|
||||||
sed -e "s#@MODULENAME@#$modulename#" configure.in.new |
|
|
||||||
sed -e "s#@VERSION@#$VERSION#" > configure.in
|
|
||||||
botfiles=`cat configure.files | egrep "configure.in.bot"`
|
|
||||||
test -n "$botfiles" && cat $botfiles >> configure.in
|
|
||||||
cat $admindir/configure.in.bot.end >> configure.in
|
|
||||||
rm -f configure.in.new
|
|
||||||
}
|
|
||||||
|
|
||||||
configure_files()
|
|
||||||
{
|
|
||||||
echo "*** Creating configure.files"
|
|
||||||
admindir=NO
|
|
||||||
for i in . .. ../.. ../../..; do
|
|
||||||
if test -x $i/admin; then admindir=$i/admin; break; fi
|
|
||||||
done
|
|
||||||
rm -f configure.files
|
|
||||||
touch configure.files
|
|
||||||
if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then
|
|
||||||
echo $admindir/configure.in.min >> configure.files
|
|
||||||
fi
|
|
||||||
test -f configure.in.in && echo configure.in.in >> configure.files
|
|
||||||
# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs
|
|
||||||
if test -f inst-apps; then
|
|
||||||
inst=`cat inst-apps`
|
|
||||||
list=""
|
|
||||||
for i in $inst; do
|
|
||||||
list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
|
|
||||||
sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`"
|
|
||||||
done
|
|
||||||
else
|
|
||||||
list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
|
|
||||||
sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`
|
|
||||||
fi
|
|
||||||
for i in $list; do if test -f $i && test `dirname $i` != "." ; then
|
|
||||||
echo $i >> configure.files
|
|
||||||
fi; done
|
|
||||||
test -f configure.in.mid && echo configure.in.mid >> configure.files
|
|
||||||
test -f configure.in.bot && echo configure.in.bot >> configure.files
|
|
||||||
if test ! -s configure.files; then
|
|
||||||
echo "There are no files to build a configure. Please check your checkout."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
create_subdirs()
|
|
||||||
{
|
|
||||||
if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then
|
|
||||||
# as many modules contain rules to create subdirs without any
|
|
||||||
# dependencies make won't create it unless there is no file.
|
|
||||||
# so we check if that's a dummy rule or one that works
|
|
||||||
rm -f subdirs.cvs.sh.$$
|
|
||||||
if test -f subdirs; then
|
|
||||||
mv subdirs subdirs.cvs.sh.$$
|
|
||||||
fi
|
|
||||||
strip_makefile
|
|
||||||
$MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1
|
|
||||||
if test -f subdirs.cvs.sh.$$; then
|
|
||||||
if test -s subdirs; then
|
|
||||||
rm subdirs.cvs.sh.$$
|
|
||||||
else
|
|
||||||
mv subdirs.cvs.sh.$$ subdirs
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
subdirs
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
subdirs()
|
|
||||||
{
|
|
||||||
dirs=
|
|
||||||
idirs=
|
|
||||||
if test -f inst-apps; then
|
|
||||||
idirs=`cat inst-apps`
|
|
||||||
else
|
|
||||||
idirs=`ls -1 | sort`
|
|
||||||
fi
|
|
||||||
|
|
||||||
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
|
||||||
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
|
||||||
for i in $idirs; do
|
|
||||||
if test -f $i/Makefile.am; then
|
|
||||||
case " $compilefirst $compilelast " in
|
|
||||||
*" $i "*) ;;
|
|
||||||
*) dirs="$dirs $i"
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
: > ./_SUBDIRS
|
|
||||||
|
|
||||||
for d in $compilefirst; do
|
|
||||||
echo $d >> ./_SUBDIRS
|
|
||||||
done
|
|
||||||
|
|
||||||
(for d in $dirs; do
|
|
||||||
list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
|
|
||||||
for s in $list; do
|
|
||||||
echo $s $d
|
|
||||||
done
|
|
||||||
list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
|
|
||||||
for s in $list; do
|
|
||||||
echo $d $s
|
|
||||||
done
|
|
||||||
echo $d $d
|
|
||||||
done ) | tsort >> ./_SUBDIRS
|
|
||||||
|
|
||||||
for d in $compilelast; do
|
|
||||||
echo $d >> ./_SUBDIRS
|
|
||||||
done
|
|
||||||
|
|
||||||
if test -r subdirs && cmp -s subdirs _SUBDIRS; then
|
|
||||||
rm -f _SUBDIRS
|
|
||||||
fi
|
|
||||||
test -r _SUBDIRS && mv _SUBDIRS subdirs || true
|
|
||||||
}
|
|
||||||
|
|
||||||
Makefile_am()
|
|
||||||
{
|
|
||||||
if test -f Makefile.am.in; then
|
|
||||||
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
|
||||||
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
|
||||||
|
|
||||||
idirs=
|
|
||||||
dirs=
|
|
||||||
if test -f inst-apps; then
|
|
||||||
idirs=`cat inst-apps`
|
|
||||||
else
|
|
||||||
idirs=`cat subdirs`
|
|
||||||
fi
|
|
||||||
for i in $idirs; do
|
|
||||||
case " $compilefirst $compilelast " in
|
|
||||||
*" $i "*) ;;
|
|
||||||
*) dirs="$dirs $i"
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'`
|
|
||||||
if echo "$adds" | fgrep "*" >/dev/null ; then
|
|
||||||
adds=`ls -d -1 $adds 2>/dev/null`
|
|
||||||
fgrep -v '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds
|
|
||||||
str='$(top_srcdir)/acinclude.m4:'
|
|
||||||
for add in $adds; do
|
|
||||||
str="$str \$(top_srcdir)/$add"
|
|
||||||
done
|
|
||||||
echo $str >> Makefile.am.in.adds
|
|
||||||
else
|
|
||||||
cat Makefile.am.in > Makefile.am.in.adds
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat Makefile.am.in.adds | \
|
|
||||||
sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \
|
|
||||||
sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am
|
|
||||||
echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am
|
|
||||||
rm Makefile.am.in.adds
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
acinclude_m4()
|
|
||||||
{
|
|
||||||
echo "*** Creating acinclude.m4"
|
|
||||||
adds=
|
|
||||||
if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
|
|
||||||
strip_makefile
|
|
||||||
rm -f acinclude.m4
|
|
||||||
adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'`
|
|
||||||
if echo $adds | fgrep "*" >/dev/null ; then
|
|
||||||
adds=`ls -d -1 $adds 2>/dev/null`
|
|
||||||
else
|
|
||||||
$MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
rm -f acinclude.m4
|
|
||||||
fi
|
|
||||||
# if it wasn't created up to now, then we do it better
|
|
||||||
if test ! -f acinclude.m4; then
|
|
||||||
cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
package_merge()
|
|
||||||
{
|
|
||||||
catalogs=$POFILES
|
|
||||||
for cat in $catalogs; do
|
|
||||||
msgmerge -o $cat.new $cat $PACKAGE.pot
|
|
||||||
if test -s $cat.new; then
|
|
||||||
grep -v "\"POT-Creation" $cat.new > $cat.new.2
|
|
||||||
grep -v "\"POT-Creation" $cat >> $cat.new.1
|
|
||||||
if diff $cat.new.1 $cat.new.2; then
|
|
||||||
rm $cat.new
|
|
||||||
else
|
|
||||||
mv $cat.new $cat
|
|
||||||
fi
|
|
||||||
rm -f $cat.new.1 $cat.new.2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
extract_messages()
|
|
||||||
{
|
|
||||||
podir=${podir:-$PWD/po}
|
|
||||||
files=`find . -name Makefile.am | xargs egrep -l '^messages:' `
|
|
||||||
dirs=`for i in $files; do echo \`dirname $i\`; done`
|
|
||||||
tmpname="$PWD/messages.log"
|
|
||||||
if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi
|
|
||||||
if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi
|
|
||||||
export EXTRACTRC PREPARETIPS
|
|
||||||
|
|
||||||
for subdir in $dirs; do
|
|
||||||
test -z "$VERBOSE" || echo "Making messages in $subdir"
|
|
||||||
(cd $subdir
|
|
||||||
if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then
|
|
||||||
$EXTRACTRC *.rc *.ui *.kcfg > rc.cpp
|
|
||||||
else
|
|
||||||
candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null`
|
|
||||||
if test -n "$candidates"; then
|
|
||||||
echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if find . -name \*.c\* -o -name \*.h\* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then
|
|
||||||
echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp
|
|
||||||
else echo " " > _translatorinfo.cpp
|
|
||||||
fi
|
|
||||||
perl -e '$mes=0; while (<STDIN>) { next if (/^(if\s|else\s|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile
|
|
||||||
|
|
||||||
kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot
|
|
||||||
if ! test -f $kdepotpath; then
|
|
||||||
kdepotpath=`kde-config --expandvars --prefix`/include/kde.pot
|
|
||||||
fi
|
|
||||||
|
|
||||||
$MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. \
|
|
||||||
XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages
|
|
||||||
exit_code=$?
|
|
||||||
if test "$exit_code" != 0; then
|
|
||||||
echo "make exit code: $exit_code"
|
|
||||||
fi
|
|
||||||
) 2>&1 | grep -v '^make\[1\]' > $tmpname
|
|
||||||
test -s $tmpname && { echo $subdir ; cat "$tmpname"; }
|
|
||||||
test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp
|
|
||||||
rm -f $subdir/_translatorinfo.cpp
|
|
||||||
rm -f $subdir/_transMakefile
|
|
||||||
done
|
|
||||||
rm -f $tmpname
|
|
||||||
}
|
|
||||||
|
|
||||||
package_messages()
|
|
||||||
{
|
|
||||||
rm -rf po.backup
|
|
||||||
mkdir po.backup
|
|
||||||
|
|
||||||
for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
|
|
||||||
egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i
|
|
||||||
cat po/$i > po.backup/backup_$i
|
|
||||||
touch -r po/$i po.backup/backup_$i
|
|
||||||
rm po/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
extract_messages
|
|
||||||
|
|
||||||
for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do
|
|
||||||
test -f po/$i || echo "disappeared: $i"
|
|
||||||
done
|
|
||||||
for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
|
|
||||||
sed -e 's,^"Content-Type: text/plain; charset=CHARSET\\n"$,"Content-Type: text/plain; charset=UTF-8\\n",' po/$i > po/$i.new && mv po/$i.new po/$i
|
|
||||||
#msgmerge -q -o po/$i po/$i po/$i
|
|
||||||
egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot
|
|
||||||
if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then
|
|
||||||
echo "will update $i"
|
|
||||||
else
|
|
||||||
if test -f po.backup/backup_$i; then
|
|
||||||
test -z "$VERBOSE" || echo "I'm restoring $i"
|
|
||||||
mv po.backup/backup_$i po/$i
|
|
||||||
rm po.backup/$i
|
|
||||||
else
|
|
||||||
echo "will add $i"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
rm -f temp.pot
|
|
||||||
rm -rf po.backup
|
|
||||||
}
|
|
||||||
|
|
||||||
# Make sure that sorting is always done the same way
|
|
||||||
LC_ALL=C
|
|
||||||
export LC_ALL
|
|
||||||
unset LANG || :
|
|
||||||
unset LC_CTYPE || :
|
|
||||||
unset LANGUAGE || :
|
|
||||||
|
|
||||||
unset CDPATH || :
|
|
||||||
admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`
|
|
||||||
test "x$admindir" = "x$0" && admindir=.
|
|
||||||
|
|
||||||
test "x$MAKE" = x && MAKE=make
|
|
||||||
makefile_am=Makefile.am
|
|
||||||
makefile_wo=Makefile.am.wo
|
|
||||||
if test -f Makefile.am.in; then
|
|
||||||
makefile_am=Makefile.am.in
|
|
||||||
makefile_wo=Makefile.am.in.wo
|
|
||||||
rm -f $makefile_wo
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Call script to find autoconf and friends. Uses eval since the script outputs
|
|
||||||
# sh-compatible code.
|
|
||||||
eval `$admindir/detect-autoconf.pl`
|
|
||||||
|
|
||||||
###
|
|
||||||
### Main
|
|
||||||
###
|
|
||||||
|
|
||||||
arg=`echo $1 | tr .- __`
|
|
||||||
case $arg in
|
|
||||||
cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \
|
|
||||||
cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;;
|
|
||||||
configure ) call_and_fix_autoconf ;;
|
|
||||||
* ) echo "Usage: cvs.sh <target>"
|
|
||||||
echo "Target can be one of:"
|
|
||||||
echo " cvs svn dist"
|
|
||||||
echo " configure.in configure.files"
|
|
||||||
echo " package-merge package-messages"
|
|
||||||
echo ""
|
|
||||||
echo "Usage: anything but $1"
|
|
||||||
exit 1 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test -f $makefile_wo; then
|
|
||||||
rm $makefile_wo
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/perl -w
|
|
||||||
|
|
||||||
use Shell qw(mv cp mkdir rm) ;
|
|
||||||
use File::Find;
|
|
||||||
use Cwd;
|
|
||||||
|
|
||||||
$origPwd = `pwd`;
|
|
||||||
chomp $origPwd;
|
|
||||||
|
|
||||||
$kde_prefix = "/usr";
|
|
||||||
$sysconfdir = "/etc";
|
|
||||||
$kde_includedir = "$kde_prefix/include/kde";
|
|
||||||
$infodir = "$kde_prefix/share/info";
|
|
||||||
$mandir = "$kde_prefix/share/man";
|
|
||||||
$qtdir = "/usr/share/qt3";
|
|
||||||
|
|
||||||
$kde_cgidir = "$kde_prefix/lib/cgi-bin";
|
|
||||||
$kde_confdir = "$sysconfdir/kde3";
|
|
||||||
$kde_htmldir = "$kde_prefix/share/doc/kde/HTML";
|
|
||||||
|
|
||||||
if (defined $ENV{DEB_BUILD_OPTIONS} &&
|
|
||||||
$ENV{DEB_BUILD_OPTIONS} =~ /\bnostrip\b/) {
|
|
||||||
$enable_debug="--enable-debug=full";
|
|
||||||
} else {
|
|
||||||
$enable_debug="--disable-debug";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (@ARGV && $ARGV[0] eq 'echodirs') {
|
|
||||||
print STDOUT "export kde_prefix=$kde_prefix\n";
|
|
||||||
print STDOUT "export sysconfdir=$sysconfdir\n";
|
|
||||||
print STDOUT "export kde_includedir=$kde_includedir\n";
|
|
||||||
print STDOUT "export infodir=$infodir\n";
|
|
||||||
print STDOUT "export mandir=$mandir\n";
|
|
||||||
print STDOUT "export qtdir=$qtdir\n";
|
|
||||||
|
|
||||||
print STDOUT "export kde_cgidir=$kde_cgidir\n";
|
|
||||||
print STDOUT "export kde_confdir=$kde_confdir\n";
|
|
||||||
print STDOUT "export kde_htmldir=$kde_htmldir\n";
|
|
||||||
|
|
||||||
print STDOUT "configkde=$enable_debug --disable-rpath --prefix=\$(kde_prefix) --sysconfdir=\$(sysconfdir) --includedir=\$(kde_includedir) --infodir=\$(infodir) --mandir=\$(mandir) --with-qt-dir=\$(qtdir)\n";
|
|
||||||
|
|
||||||
exit
|
|
||||||
}
|
|
@ -1,530 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
|
||||||
|
|
||||||
scriptversion=2005-07-09.11
|
|
||||||
|
|
||||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
# any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
# 02110-1301, USA.
|
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
|
||||||
# distribute this file as part of a program that contains a
|
|
||||||
# configuration script generated by Autoconf, you may include it under
|
|
||||||
# the same distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
'')
|
|
||||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
|
||||||
exit 1;
|
|
||||||
;;
|
|
||||||
-h | --h*)
|
|
||||||
cat <<\EOF
|
|
||||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
|
||||||
|
|
||||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
|
||||||
as side-effects.
|
|
||||||
|
|
||||||
Environment variables:
|
|
||||||
depmode Dependency tracking mode.
|
|
||||||
source Source file read by `PROGRAMS ARGS'.
|
|
||||||
object Object file output by `PROGRAMS ARGS'.
|
|
||||||
DEPDIR directory where to store dependencies.
|
|
||||||
depfile Dependency file to output.
|
|
||||||
tmpdepfile Temporary file to use when outputing dependencies.
|
|
||||||
libtool Whether libtool is used (yes/no).
|
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>.
|
|
||||||
EOF
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
-v | --v*)
|
|
||||||
echo "depcomp $scriptversion"
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
|
||||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
|
||||||
depfile=${depfile-`echo "$object" |
|
|
||||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
|
||||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
|
||||||
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
|
|
||||||
# Some modes work just like other modes, but use different flags. We
|
|
||||||
# parameterize here, but still list the modes in the big case below,
|
|
||||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
|
||||||
# here, because this file can only contain one case statement.
|
|
||||||
if test "$depmode" = hp; then
|
|
||||||
# HP compiler uses -M and no extra arg.
|
|
||||||
gccflag=-M
|
|
||||||
depmode=gcc
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$depmode" = dashXmstdout; then
|
|
||||||
# This is just like dashmstdout with a different argument.
|
|
||||||
dashmflag=-xM
|
|
||||||
depmode=dashmstdout
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$depmode" in
|
|
||||||
gcc3)
|
|
||||||
## gcc 3 implements dependency tracking that does exactly what
|
|
||||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
|
||||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
|
||||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
|
||||||
stat=$?
|
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
exit $stat
|
|
||||||
fi
|
|
||||||
mv "$tmpdepfile" "$depfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
gcc)
|
|
||||||
## There are various ways to get dependency output from gcc. Here's
|
|
||||||
## why we pick this rather obscure method:
|
|
||||||
## - Don't want to use -MD because we'd like the dependencies to end
|
|
||||||
## up in a subdir. Having to rename by hand is ugly.
|
|
||||||
## (We might end up doing this anyway to support other compilers.)
|
|
||||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
|
||||||
## -MM, not -M (despite what the docs say).
|
|
||||||
## - Using -M directly means running the compiler twice (even worse
|
|
||||||
## than renaming).
|
|
||||||
if test -z "$gccflag"; then
|
|
||||||
gccflag=-MD,
|
|
||||||
fi
|
|
||||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
|
||||||
stat=$?
|
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
exit $stat
|
|
||||||
fi
|
|
||||||
rm -f "$depfile"
|
|
||||||
echo "$object : \\" > "$depfile"
|
|
||||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
|
||||||
## The second -e expression handles DOS-style file names with drive letters.
|
|
||||||
sed -e 's/^[^:]*: / /' \
|
|
||||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
|
||||||
## This next piece of magic avoids the `deleted header file' problem.
|
|
||||||
## The problem is that when a header file which appears in a .P file
|
|
||||||
## is deleted, the dependency causes make to die (because there is
|
|
||||||
## typically no way to rebuild the header). We avoid this by adding
|
|
||||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
|
||||||
## this for us directly.
|
|
||||||
tr ' ' '
|
|
||||||
' < "$tmpdepfile" |
|
|
||||||
## Some versions of gcc put a space before the `:'. On the theory
|
|
||||||
## that the space means something, we add a space to the output as
|
|
||||||
## well.
|
|
||||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
|
||||||
## correctly. Breaking it into two sed invocations is a workaround.
|
|
||||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
hp)
|
|
||||||
# This case exists only to let depend.m4 do its work. It works by
|
|
||||||
# looking at the text of this script. This case will never be run,
|
|
||||||
# since it is checked for above.
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
sgi)
|
|
||||||
if test "$libtool" = yes; then
|
|
||||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
|
||||||
else
|
|
||||||
"$@" -MDupdate "$tmpdepfile"
|
|
||||||
fi
|
|
||||||
stat=$?
|
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
exit $stat
|
|
||||||
fi
|
|
||||||
rm -f "$depfile"
|
|
||||||
|
|
||||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
|
||||||
echo "$object : \\" > "$depfile"
|
|
||||||
|
|
||||||
# Clip off the initial element (the dependent). Don't try to be
|
|
||||||
# clever and replace this with sed code, as IRIX sed won't handle
|
|
||||||
# lines with more than a fixed number of characters (4096 in
|
|
||||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
|
||||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
|
||||||
# dependency line.
|
|
||||||
tr ' ' '
|
|
||||||
' < "$tmpdepfile" \
|
|
||||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
|
||||||
tr '
|
|
||||||
' ' ' >> $depfile
|
|
||||||
echo >> $depfile
|
|
||||||
|
|
||||||
# The second pass generates a dummy entry for each header file.
|
|
||||||
tr ' ' '
|
|
||||||
' < "$tmpdepfile" \
|
|
||||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
|
||||||
>> $depfile
|
|
||||||
else
|
|
||||||
# The sourcefile does not contain any dependencies, so just
|
|
||||||
# store a dummy comment line, to avoid errors with the Makefile
|
|
||||||
# "include basename.Plo" scheme.
|
|
||||||
echo "#dummy" > "$depfile"
|
|
||||||
fi
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
aix)
|
|
||||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
|
||||||
# in a .u file. In older versions, this file always lives in the
|
|
||||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
|
||||||
# start of each line; $object doesn't have directory information.
|
|
||||||
# Version 6 uses the directory in both cases.
|
|
||||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
|
||||||
tmpdepfile="$stripped.u"
|
|
||||||
if test "$libtool" = yes; then
|
|
||||||
"$@" -Wc,-M
|
|
||||||
else
|
|
||||||
"$@" -M
|
|
||||||
fi
|
|
||||||
stat=$?
|
|
||||||
|
|
||||||
if test -f "$tmpdepfile"; then :
|
|
||||||
else
|
|
||||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
|
||||||
tmpdepfile="$stripped.u"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
exit $stat
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -f "$tmpdepfile"; then
|
|
||||||
outname="$stripped.o"
|
|
||||||
# Each line is of the form `foo.o: dependent.h'.
|
|
||||||
# Do two passes, one to just change these to
|
|
||||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
|
||||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
|
||||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
|
||||||
else
|
|
||||||
# The sourcefile does not contain any dependencies, so just
|
|
||||||
# store a dummy comment line, to avoid errors with the Makefile
|
|
||||||
# "include basename.Plo" scheme.
|
|
||||||
echo "#dummy" > "$depfile"
|
|
||||||
fi
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
icc)
|
|
||||||
# Intel's C compiler understands `-MD -MF file'. However on
|
|
||||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
|
||||||
# ICC 7.0 will fill foo.d with something like
|
|
||||||
# foo.o: sub/foo.c
|
|
||||||
# foo.o: sub/foo.h
|
|
||||||
# which is wrong. We want:
|
|
||||||
# sub/foo.o: sub/foo.c
|
|
||||||
# sub/foo.o: sub/foo.h
|
|
||||||
# sub/foo.c:
|
|
||||||
# sub/foo.h:
|
|
||||||
# ICC 7.1 will output
|
|
||||||
# foo.o: sub/foo.c sub/foo.h
|
|
||||||
# and will wrap long lines using \ :
|
|
||||||
# foo.o: sub/foo.c ... \
|
|
||||||
# sub/foo.h ... \
|
|
||||||
# ...
|
|
||||||
|
|
||||||
"$@" -MD -MF "$tmpdepfile"
|
|
||||||
stat=$?
|
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
exit $stat
|
|
||||||
fi
|
|
||||||
rm -f "$depfile"
|
|
||||||
# Each line is of the form `foo.o: dependent.h',
|
|
||||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
|
||||||
# Do two passes, one to just change these to
|
|
||||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
|
||||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
|
||||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
|
||||||
# correctly. Breaking it into two sed invocations is a workaround.
|
|
||||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
|
||||||
sed -e 's/$/ :/' >> "$depfile"
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
tru64)
|
|
||||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
|
||||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
|
||||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
|
||||||
# dependencies in `foo.d' instead, so we check for that too.
|
|
||||||
# Subdirectories are respected.
|
|
||||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
|
||||||
test "x$dir" = "x$object" && dir=
|
|
||||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
|
||||||
|
|
||||||
if test "$libtool" = yes; then
|
|
||||||
# With Tru64 cc, shared objects can also be used to make a
|
|
||||||
# static library. This mecanism is used in libtool 1.4 series to
|
|
||||||
# handle both shared and static libraries in a single compilation.
|
|
||||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
|
||||||
#
|
|
||||||
# With libtool 1.5 this exception was removed, and libtool now
|
|
||||||
# generates 2 separate objects for the 2 libraries. These two
|
|
||||||
# compilations output dependencies in in $dir.libs/$base.o.d and
|
|
||||||
# in $dir$base.o.d. We have to check for both files, because
|
|
||||||
# one of the two compilations can be disabled. We should prefer
|
|
||||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
|
||||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
|
||||||
# the former would cause a distcleancheck panic.
|
|
||||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
|
||||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
|
||||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
|
||||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
|
||||||
"$@" -Wc,-MD
|
|
||||||
else
|
|
||||||
tmpdepfile1=$dir$base.o.d
|
|
||||||
tmpdepfile2=$dir$base.d
|
|
||||||
tmpdepfile3=$dir$base.d
|
|
||||||
tmpdepfile4=$dir$base.d
|
|
||||||
"$@" -MD
|
|
||||||
fi
|
|
||||||
|
|
||||||
stat=$?
|
|
||||||
if test $stat -eq 0; then :
|
|
||||||
else
|
|
||||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
|
||||||
exit $stat
|
|
||||||
fi
|
|
||||||
|
|
||||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
|
||||||
do
|
|
||||||
test -f "$tmpdepfile" && break
|
|
||||||
done
|
|
||||||
if test -f "$tmpdepfile"; then
|
|
||||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
|
||||||
# That's a tab and a space in the [].
|
|
||||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
|
||||||
else
|
|
||||||
echo "#dummy" > "$depfile"
|
|
||||||
fi
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
#nosideeffect)
|
|
||||||
# This comment above is used by automake to tell side-effect
|
|
||||||
# dependency tracking mechanisms from slower ones.
|
|
||||||
|
|
||||||
dashmstdout)
|
|
||||||
# Important note: in order to support this mode, a compiler *must*
|
|
||||||
# always write the preprocessed file to stdout, regardless of -o.
|
|
||||||
"$@" || exit $?
|
|
||||||
|
|
||||||
# Remove the call to Libtool.
|
|
||||||
if test "$libtool" = yes; then
|
|
||||||
while test $1 != '--mode=compile'; do
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove `-o $object'.
|
|
||||||
IFS=" "
|
|
||||||
for arg
|
|
||||||
do
|
|
||||||
case $arg in
|
|
||||||
-o)
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
$object)
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set fnord "$@" "$arg"
|
|
||||||
shift # fnord
|
|
||||||
shift # $arg
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
test -z "$dashmflag" && dashmflag=-M
|
|
||||||
# Require at least two characters before searching for `:'
|
|
||||||
# in the target name. This is to cope with DOS-style filenames:
|
|
||||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
|
||||||
"$@" $dashmflag |
|
|
||||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
|
||||||
rm -f "$depfile"
|
|
||||||
cat < "$tmpdepfile" > "$depfile"
|
|
||||||
tr ' ' '
|
|
||||||
' < "$tmpdepfile" | \
|
|
||||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
|
||||||
## correctly. Breaking it into two sed invocations is a workaround.
|
|
||||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
dashXmstdout)
|
|
||||||
# This case only exists to satisfy depend.m4. It is never actually
|
|
||||||
# run, as this mode is specially recognized in the preamble.
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
makedepend)
|
|
||||||
"$@" || exit $?
|
|
||||||
# Remove any Libtool call
|
|
||||||
if test "$libtool" = yes; then
|
|
||||||
while test $1 != '--mode=compile'; do
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
# X makedepend
|
|
||||||
shift
|
|
||||||
cleared=no
|
|
||||||
for arg in "$@"; do
|
|
||||||
case $cleared in
|
|
||||||
no)
|
|
||||||
set ""; shift
|
|
||||||
cleared=yes ;;
|
|
||||||
esac
|
|
||||||
case "$arg" in
|
|
||||||
-D*|-I*)
|
|
||||||
set fnord "$@" "$arg"; shift ;;
|
|
||||||
# Strip any option that makedepend may not understand. Remove
|
|
||||||
# the object too, otherwise makedepend will parse it as a source file.
|
|
||||||
-*|$object)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set fnord "$@" "$arg"; shift ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
|
||||||
touch "$tmpdepfile"
|
|
||||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
|
||||||
rm -f "$depfile"
|
|
||||||
cat < "$tmpdepfile" > "$depfile"
|
|
||||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
|
||||||
' | \
|
|
||||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
|
||||||
## correctly. Breaking it into two sed invocations is a workaround.
|
|
||||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
|
||||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
|
||||||
;;
|
|
||||||
|
|
||||||
cpp)
|
|
||||||
# Important note: in order to support this mode, a compiler *must*
|
|
||||||
# always write the preprocessed file to stdout.
|
|
||||||
"$@" || exit $?
|
|
||||||
|
|
||||||
# Remove the call to Libtool.
|
|
||||||
if test "$libtool" = yes; then
|
|
||||||
while test $1 != '--mode=compile'; do
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove `-o $object'.
|
|
||||||
IFS=" "
|
|
||||||
for arg
|
|
||||||
do
|
|
||||||
case $arg in
|
|
||||||
-o)
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
$object)
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set fnord "$@" "$arg"
|
|
||||||
shift # fnord
|
|
||||||
shift # $arg
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
"$@" -E |
|
|
||||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
|
||||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
|
||||||
sed '$ s: \\$::' > "$tmpdepfile"
|
|
||||||
rm -f "$depfile"
|
|
||||||
echo "$object : \\" > "$depfile"
|
|
||||||
cat < "$tmpdepfile" >> "$depfile"
|
|
||||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
msvisualcpp)
|
|
||||||
# Important note: in order to support this mode, a compiler *must*
|
|
||||||
# always write the preprocessed file to stdout, regardless of -o,
|
|
||||||
# because we must use -o when running libtool.
|
|
||||||
"$@" || exit $?
|
|
||||||
IFS=" "
|
|
||||||
for arg
|
|
||||||
do
|
|
||||||
case "$arg" in
|
|
||||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
|
||||||
set fnord "$@"
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set fnord "$@" "$arg"
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
"$@" -E |
|
|
||||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
|
||||||
rm -f "$depfile"
|
|
||||||
echo "$object : \\" > "$depfile"
|
|
||||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
|
||||||
echo " " >> "$depfile"
|
|
||||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
|
||||||
rm -f "$tmpdepfile"
|
|
||||||
;;
|
|
||||||
|
|
||||||
none)
|
|
||||||
exec "$@"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "Unknown depmode $depmode" 1>&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: shell-script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-end: "$"
|
|
||||||
# End:
|
|
@ -1,19 +0,0 @@
|
|||||||
$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in $(top_srcdir)/admin/cvs.sh $(top_srcdir)/admin/pkg.m4.in
|
|
||||||
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh acinclude_m4
|
|
||||||
|
|
||||||
$(top_srcdir)/configure.in: $(top_srcdir)/subdirs $(top_srcdir)/configure.files $(top_srcdir)/admin/cvs.sh
|
|
||||||
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure_in
|
|
||||||
|
|
||||||
$(top_srcdir)/configure.files: $(top_srcdir)/subdirs $(CONF_FILES)
|
|
||||||
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure.files $(top_srcdir)/admin/cvs.sh
|
|
||||||
|
|
||||||
$(top_srcdir)/Makefile.am: $(top_srcdir)/Makefile.am.in $(top_srcdir)/subdirs $(top_srcdir)/admin/cvs.sh
|
|
||||||
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh Makefile_am
|
|
||||||
|
|
||||||
$(top_srcdir)/subdirs: $(top_srcdir)/Makefile.am.in $(top_srcdir)/admin/cvs.sh
|
|
||||||
@cd $(top_srcdir) && $(SHELL) admin/cvs.sh subdirs
|
|
||||||
|
|
||||||
# defining default rules for files that may not be present
|
|
||||||
$(top_srcdir)/Makefile.am.in:
|
|
||||||
$(CONF_FILES):
|
|
||||||
|
|
@ -1,175 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
|
|
||||||
# Try to locate best version of auto*
|
|
||||||
# By Michael Pyne <michael.pyne@kdemail.net>
|
|
||||||
#
|
|
||||||
# Copyright (c) 2005.
|
|
||||||
# This code is public domain. You may use it however you like (including
|
|
||||||
# relicensing).
|
|
||||||
|
|
||||||
# Emulate the 'which' program.
|
|
||||||
sub which
|
|
||||||
{
|
|
||||||
my $prog = shift;
|
|
||||||
my @paths = split(/:/, $ENV{'PATH'});
|
|
||||||
|
|
||||||
for $path (@paths)
|
|
||||||
{
|
|
||||||
return "$path/$prog" if -x "$path/$prog";
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Subroutine to determine the highest installed version of the given program,
|
|
||||||
# searching from the given paths.
|
|
||||||
sub findBest
|
|
||||||
{
|
|
||||||
my ($program, @paths) = @_;
|
|
||||||
my $best_version_found = '0'; # Deliberately a string.
|
|
||||||
my %versions;
|
|
||||||
my %minimumVersions = (
|
|
||||||
'autoconf' => '2.5',
|
|
||||||
'automake' => '1.6',
|
|
||||||
);
|
|
||||||
|
|
||||||
# Allow user to use environment variable to override search.
|
|
||||||
return $ENV{uc $program} if $ENV{uc $program};
|
|
||||||
|
|
||||||
for $prefix (@paths)
|
|
||||||
{
|
|
||||||
@files = glob "$prefix/$program*";
|
|
||||||
for $file (@files)
|
|
||||||
{
|
|
||||||
# Don't check non-executable scripts.
|
|
||||||
next unless -x $file;
|
|
||||||
|
|
||||||
($version) = $file =~ /$prefix\/$program-?(.*)$/;
|
|
||||||
$version =~ s/-|\.//g;
|
|
||||||
# Don't check the -wrapper ones
|
|
||||||
next if $version eq "wrapper";
|
|
||||||
|
|
||||||
# Special case some programs to make sure it has a minimum version.
|
|
||||||
if (not $version and exists $minimumVersions{$program})
|
|
||||||
{
|
|
||||||
my $min_version = $minimumVersions{$program};
|
|
||||||
my $versionOutput = `$program --version 2>/dev/null | head -n 1`;
|
|
||||||
|
|
||||||
# If we can't run the script to get the version it likely won't work later.
|
|
||||||
next unless $versionOutput;
|
|
||||||
|
|
||||||
# Use number.number for version (we don't need the excess in general).
|
|
||||||
($versionOutput) = ($versionOutput =~ /(\d\.\d)/);
|
|
||||||
|
|
||||||
# Use lt to do lexicographical comparison of strings (which should be
|
|
||||||
# equivalent and doesn't involve issues with floating point conversions).
|
|
||||||
if (not $versionOutput or $versionOutput lt $min_version)
|
|
||||||
{
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# If no version suffix then use it in favor of a versioned autotool
|
|
||||||
# since the ever-popular WANT_AUTOFOO should then work (in theory).
|
|
||||||
return $file unless $version;
|
|
||||||
|
|
||||||
# Emulate 'which', and abort if we've already seen this version.
|
|
||||||
next if exists $versions{$version};
|
|
||||||
|
|
||||||
# Save filename of program.
|
|
||||||
$versions{$version} = $file;
|
|
||||||
|
|
||||||
# Use string comparison so that e.g. 253a will be > 253 but < 254.
|
|
||||||
if ($version gt $best_version_found)
|
|
||||||
{
|
|
||||||
$best_version_found = $version;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $versions{$best_version_found};
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find an appropriate "which" program for later use by the shell script calling
|
|
||||||
# us.
|
|
||||||
sub findWhich
|
|
||||||
{
|
|
||||||
for $candidate ('type -p', 'which', 'type')
|
|
||||||
{
|
|
||||||
$test = `$candidate sh 2>/dev/null`;
|
|
||||||
chomp $test;
|
|
||||||
|
|
||||||
return $candidate if -x $test;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Uses which() to find a program unless the user provided its path in the
|
|
||||||
# environment (the upper case program name is searched).
|
|
||||||
sub findProgram
|
|
||||||
{
|
|
||||||
$suffix = ""; # For use if @_ has only one param.
|
|
||||||
my ($program, $suffix) = @_;
|
|
||||||
|
|
||||||
return $ENV{uc $program} if $ENV{uc $program};
|
|
||||||
return which("$program$suffix");
|
|
||||||
}
|
|
||||||
|
|
||||||
# SCRIPT STARTS.
|
|
||||||
|
|
||||||
# Search in path.
|
|
||||||
@paths = split(/:/, $ENV{'PATH'});
|
|
||||||
|
|
||||||
# Make sure at least /usr/bin and /usr/local/bin are in this search.
|
|
||||||
unshift @paths, '/usr/local/bin' unless grep $_ eq '/usr/local/bin', @paths;
|
|
||||||
unshift @paths, '/usr/bin' unless grep $_ eq '/usr/bin', @paths;
|
|
||||||
|
|
||||||
$autoconf = findBest('autoconf', @paths);
|
|
||||||
($autoconf_suffix) = $autoconf =~ /.*autoconf(.*)$/;
|
|
||||||
|
|
||||||
# Find matching autoconf companions.
|
|
||||||
$autoheader = findProgram('autoheader', $autoconf_suffix);
|
|
||||||
$autom4te = findProgram('autom4te', $autoconf_suffix);
|
|
||||||
|
|
||||||
# Get best automake, and look for unsermake to possibly override it.
|
|
||||||
$automake = findBest('automake', @paths);
|
|
||||||
$unsermake = "";
|
|
||||||
# backward compatible: if $UNSERMAKE points to a path, use it
|
|
||||||
$unsermake = findProgram('unsermake') if (defined($ENV{'UNSERMAKE'}) and $ENV{'UNSERMAKE'} =~ /\//);
|
|
||||||
# new compatible: if it says 'yes', use the one from path
|
|
||||||
$unsermake = which('unsermake') if ($ENV{'UNSERMAKE'} ne 'no');
|
|
||||||
|
|
||||||
($automake_suffix) = $automake =~ /.*automake(.*)$/;
|
|
||||||
|
|
||||||
# Use unsermake if we found it.
|
|
||||||
$automake = "$unsermake -c" if $unsermake;
|
|
||||||
|
|
||||||
# Find matching automake companions.
|
|
||||||
$aclocal = findProgram('aclocal', $automake_suffix);
|
|
||||||
|
|
||||||
$which = findWhich();
|
|
||||||
|
|
||||||
# Make sure we have all of the needed programs.
|
|
||||||
for $i (qw'autoconf autoheader autom4te automake aclocal')
|
|
||||||
{
|
|
||||||
unless(${$i})
|
|
||||||
{
|
|
||||||
print "# Unable to find $i!!\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print results in eval-able form.
|
|
||||||
print <<EOF;
|
|
||||||
AUTOCONF="$autoconf"
|
|
||||||
AUTOHEADER="$autoheader"
|
|
||||||
AUTOM4TE="$autom4te"
|
|
||||||
|
|
||||||
AUTOMAKE="$automake"
|
|
||||||
ACLOCAL="$aclocal"
|
|
||||||
|
|
||||||
WHICH="$which"
|
|
||||||
|
|
||||||
export AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE ACLOCAL WHICH
|
|
||||||
EOF
|
|
||||||
|
|
||||||
exit 0;
|
|
@ -1,883 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
#
|
|
||||||
# doxygen.sh Copyright (C) 2005 by Adriaan de Groot
|
|
||||||
# Based on some code from Doxyfile.am, among other things.
|
|
||||||
# License: GPL version 2.
|
|
||||||
# See file COPYING in kdelibs for details.
|
|
||||||
|
|
||||||
echo "*** doxygen.sh"
|
|
||||||
|
|
||||||
# Recurse handling is a little complicated, since normally
|
|
||||||
# subdir (given on the command-line) processing doesn't recurse
|
|
||||||
# but you can force it to do so.
|
|
||||||
recurse=1
|
|
||||||
recurse_given=NO
|
|
||||||
use_modulename=1
|
|
||||||
cleanup=YES
|
|
||||||
|
|
||||||
while test -n "$1" ; do
|
|
||||||
case "x$1" in
|
|
||||||
"x--no-cleanup" )
|
|
||||||
cleanup=NO
|
|
||||||
;;
|
|
||||||
"x--no-recurse" )
|
|
||||||
recurse=0
|
|
||||||
recurse_given=YES
|
|
||||||
;;
|
|
||||||
"x--recurse" )
|
|
||||||
recurse=1
|
|
||||||
recurse_given=YES
|
|
||||||
;;
|
|
||||||
"x--no-modulename" )
|
|
||||||
use_modulename=0
|
|
||||||
;;
|
|
||||||
"x--modulename" )
|
|
||||||
use_modulename=1
|
|
||||||
;;
|
|
||||||
"x--help" )
|
|
||||||
echo "doxygen.sh usage:"
|
|
||||||
echo "doxygen.sh [--no-recurse] [--no-modulename] <srcdir> [<subdir>]"
|
|
||||||
exit 2
|
|
||||||
;;
|
|
||||||
x--doxdatadir=* )
|
|
||||||
DOXDATA=`echo $1 | sed -e 's+--doxdatadir=++'`
|
|
||||||
;;
|
|
||||||
x--installdir=*)
|
|
||||||
PREFIX=`echo $1 | sed -e 's+--installdir=++'`
|
|
||||||
;;
|
|
||||||
x--* )
|
|
||||||
echo "Unknown option: $1"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
top_srcdir="$1"
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
### Sanity check the mandatory "top srcdir" argument.
|
|
||||||
if test -z "$top_srcdir" ; then
|
|
||||||
echo "Usage: doxygen.sh <top_srcdir>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if test ! -d "$top_srcdir" ; then
|
|
||||||
echo "top_srcdir ($top_srcdir) is not a directory."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Normalize top_srcdir so it is an absolute path.
|
|
||||||
if expr "x$top_srcdir" : "x/" > /dev/null ; then
|
|
||||||
# top_srcdir is absolute already
|
|
||||||
:
|
|
||||||
else
|
|
||||||
top_srcdir=`cd "$top_srcdir" 2> /dev/null && pwd`
|
|
||||||
if test ! -d "$top_srcdir" ; then
|
|
||||||
echo "top_srcdir ($top_srcdir) is not a directory."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Sanity check and guess QTDOCDIR.
|
|
||||||
if test -z "$QTDOCDIR" ; then
|
|
||||||
if test -z "$QTDIR" ; then
|
|
||||||
for i in /usr/X11R6/share/doc/qt/html
|
|
||||||
do
|
|
||||||
QTDOCDIR="$i"
|
|
||||||
test -d "$QTDOCDIR" && break
|
|
||||||
done
|
|
||||||
else
|
|
||||||
for i in share/doc/qt/html doc/html
|
|
||||||
do
|
|
||||||
QTDOCDIR="$QTDIR/$i"
|
|
||||||
test -d "$QTDOCDIR" && break
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test -z "$QTDOCDIR" || test ! -d "$QTDOCDIR" ; then
|
|
||||||
if test -z "$QTDOCDIR" ; then
|
|
||||||
echo "* QTDOCDIR could not be guessed."
|
|
||||||
else
|
|
||||||
echo "* QTDOCDIR does not name a directory."
|
|
||||||
fi
|
|
||||||
if test -z "$QTDOCTAG" ; then
|
|
||||||
echo "* QTDOCDIR set to \"\""
|
|
||||||
QTDOCDIR=""
|
|
||||||
else
|
|
||||||
echo "* But I'll use $QTDOCDIR anyway because of QTDOCTAG."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Get the "top srcdir", also its name, and handle the case that subdir "."
|
|
||||||
### is given (which would be top_srcdir then, so it's equal to none-given
|
|
||||||
### but no recursion either).
|
|
||||||
###
|
|
||||||
# top_srcdir="$1" # Already set by options processing
|
|
||||||
module_name=`basename "$top_srcdir"`
|
|
||||||
subdir="$2"
|
|
||||||
if test "x." = "x$subdir" ; then
|
|
||||||
subdir=""
|
|
||||||
if test "x$recurse_given" = "xNO" ; then
|
|
||||||
recurse=0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x" != "x$subdir" ; then
|
|
||||||
# If no recurse option given explicitly, default to
|
|
||||||
# no recurse when processing subdirs given on the command-line.
|
|
||||||
if test "x$recurse_given" = "xNO" ; then
|
|
||||||
recurse=0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$DOXDATA" || test ! -d "$DOXDATA" ; then
|
|
||||||
if test -n "$DOXDATA" ; then
|
|
||||||
echo "* \$DOXDATA is '$DOXDATA' which does not name a directory"
|
|
||||||
fi
|
|
||||||
DOXDATA="$top_srcdir/doc/common"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test ! -d "$DOXDATA" ; then
|
|
||||||
echo "* \$DOXDATA does not name a directory ( or is unset ), tried \"$DOXDATA\""
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$PREFIX" && test ! -d "$PREFIX" ; then
|
|
||||||
echo "* \$PREFIX does not name a directory, tried \"$PREFIX\""
|
|
||||||
echo "* \$PREFIX is disabled."
|
|
||||||
PREFIX=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
### We need some values from top-level files, which
|
|
||||||
### are not preserved between invocations of this
|
|
||||||
### script, so factor it out for easy use.
|
|
||||||
create_doxyfile_in()
|
|
||||||
{
|
|
||||||
eval `grep 'VERSION="' "$top_srcdir/admin/cvs.sh"`
|
|
||||||
echo "PROJECT_NUMBER = $VERSION" > Doxyfile.in
|
|
||||||
grep '^KDE_INIT_DOXYGEN' "$top_srcdir/configure.in.in" | \
|
|
||||||
sed -e 's+[^[]*\[\([^]]*\)+PROJECT_NAME = "\1"+' \
|
|
||||||
-e 's+].*++' >> Doxyfile.in
|
|
||||||
}
|
|
||||||
|
|
||||||
apidoxdir="$module_name"-apidocs
|
|
||||||
test "x$use_modulename" = "x0" && apidoxdir="apidocs"
|
|
||||||
|
|
||||||
### If we're making the top subdir, create the structure
|
|
||||||
### for the apidox and initialize it. Otherwise, just use the
|
|
||||||
### structure assumed to be there.
|
|
||||||
if test -z "$subdir" ; then
|
|
||||||
if test ! -d "$apidoxdir" ; then
|
|
||||||
mkdir "$apidoxdir" > /dev/null 2>&1
|
|
||||||
fi
|
|
||||||
cd "$apidoxdir" > /dev/null 2>&1 || {
|
|
||||||
echo "Cannot create and cd into $apidoxdir"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
test -f "Doxyfile.in" || create_doxyfile_in
|
|
||||||
|
|
||||||
# Copy in logos and the like
|
|
||||||
for i in "favicon.ico" "kde_gear_64.png"
|
|
||||||
do
|
|
||||||
cp "$DOXDATA/$i" . > /dev/null 2> /dev/null
|
|
||||||
done
|
|
||||||
for i in "$top_srcdir/doc/api/Dox-"*.png
|
|
||||||
do
|
|
||||||
T=`basename "$i" | sed -e 's+Dox-++'`
|
|
||||||
test -f "$i" && cp "$i" "./$T" > /dev/null 2> /dev/null
|
|
||||||
done
|
|
||||||
|
|
||||||
top_builddir="."
|
|
||||||
srcdir="$1"
|
|
||||||
subdir="."
|
|
||||||
else
|
|
||||||
cd "$apidoxdir" > /dev/null 2>&1 || {
|
|
||||||
echo "Cannot cd into $apidoxdir -- maybe you need to"
|
|
||||||
echo "build the top-level dox first."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if test "x1" = "x$recurse" ; then
|
|
||||||
# OK, so --recurse was requested
|
|
||||||
if test ! -f "subdirs.top" ; then
|
|
||||||
echo "* No subdirs.top available in the $apidoxdir."
|
|
||||||
echo "* The --recurse option will be ignored."
|
|
||||||
recurse=0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Read a single line (TODO: support \ continuations) from the Makefile.am.
|
|
||||||
### Used to extract variable assignments from it.
|
|
||||||
extract_line()
|
|
||||||
{
|
|
||||||
file="$2" ; test -z "$file" && file="$srcdir/Makefile.am"
|
|
||||||
pattern=`echo "$1" | tr + .`
|
|
||||||
grep "^$1" "$file" | \
|
|
||||||
sed -e "s+$pattern.*=\s*++"
|
|
||||||
}
|
|
||||||
|
|
||||||
### Handle the COMPILE_{FIRST,LAST,BEFORE,AFTER} part of Makefile.am
|
|
||||||
### in the toplevel. Copied from admin/cvs.sh. Licence presumed LGPL).
|
|
||||||
create_subdirs()
|
|
||||||
{
|
|
||||||
echo "* Sorting top-level subdirs"
|
|
||||||
dirs=
|
|
||||||
idirs=
|
|
||||||
if test -f "$top_srcdir/inst-apps"; then
|
|
||||||
idirs=`cat "$top_srcdir/"inst-apps`
|
|
||||||
else
|
|
||||||
idirs=`cd "$top_srcdir" && ls -1 | sort`
|
|
||||||
fi
|
|
||||||
|
|
||||||
compilefirst=""
|
|
||||||
compilelast=""
|
|
||||||
if test -f "$top_srcdir/"Makefile.am.in ; then
|
|
||||||
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1`
|
|
||||||
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1`
|
|
||||||
fi
|
|
||||||
for i in $idirs; do
|
|
||||||
if test -f "$top_srcdir/$i"/Makefile.am; then
|
|
||||||
case " $compilefirst $compilelast " in
|
|
||||||
*" $i "*) ;;
|
|
||||||
*) dirs="$dirs $i"
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
: > ./_SUBDIRS
|
|
||||||
|
|
||||||
for d in $compilefirst; do
|
|
||||||
echo $d >> ./_SUBDIRS
|
|
||||||
done
|
|
||||||
|
|
||||||
(for d in $dirs; do
|
|
||||||
list=""
|
|
||||||
if test -f "$top_srcdir/"Makefile.am.in ; then
|
|
||||||
list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1`
|
|
||||||
fi
|
|
||||||
for s in $list; do
|
|
||||||
echo $s $d
|
|
||||||
done
|
|
||||||
list=""
|
|
||||||
if test -f "$top_srcdir/"Makefile.am.in ; then
|
|
||||||
list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1`
|
|
||||||
fi
|
|
||||||
for s in $list; do
|
|
||||||
echo $d $s
|
|
||||||
done
|
|
||||||
echo $d $d
|
|
||||||
done ) | tsort >> ./_SUBDIRS
|
|
||||||
|
|
||||||
for d in $compilelast; do
|
|
||||||
echo $d >> ./_SUBDIRS
|
|
||||||
done
|
|
||||||
|
|
||||||
test -r _SUBDIRS && mv _SUBDIRS subdirs.top || true
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
### Add HTML header, footer, CSS tags to Doxyfile.
|
|
||||||
### Assumes $subdir is set. Argument is a string
|
|
||||||
### to stick in front of the file if needed.
|
|
||||||
apidox_htmlfiles()
|
|
||||||
{
|
|
||||||
dox_header="$top_srcdir/doc/api/$1header.html"
|
|
||||||
dox_footer="$top_srcdir/doc/api/$1footer.html"
|
|
||||||
dox_css="$top_srcdir/doc/api/doxygen.css"
|
|
||||||
test -f "$dox_header" || dox_header="$DOXDATA/$1header.html"
|
|
||||||
test -f "$dox_footer" || dox_footer="$DOXDATA/$1footer.html"
|
|
||||||
test -f "$dox_css" || dox_css="$DOXDATA/doxygen.css"
|
|
||||||
|
|
||||||
echo "HTML_HEADER = $dox_header" >> "$subdir/Doxyfile" ; \
|
|
||||||
echo "HTML_FOOTER = $dox_footer" >> "$subdir/Doxyfile" ; \
|
|
||||||
echo "HTML_STYLESHEET = $dox_css" >> "$subdir/Doxyfile"
|
|
||||||
}
|
|
||||||
|
|
||||||
apidox_specials()
|
|
||||||
{
|
|
||||||
line=`extract_line DOXYGEN_PROJECTNAME "$1"`
|
|
||||||
test -n "$line" && echo "PROJECT_NAME = \"$line\"" >> "$2"
|
|
||||||
}
|
|
||||||
|
|
||||||
apidox_local()
|
|
||||||
{
|
|
||||||
for i in "$top_srcdir/doc/api/Doxyfile.local"
|
|
||||||
do
|
|
||||||
if test -f "$i" ; then
|
|
||||||
cat "$i" >> "$subdir/Doxyfile"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
### Post-process HTML files by substituting in the menu files
|
|
||||||
#
|
|
||||||
# In non-top directories, both <!-- menu --> and <!-- gmenu -->
|
|
||||||
# are calculated and replaced. Top directories get an empty <!-- menu -->
|
|
||||||
# if any.
|
|
||||||
doxyndex()
|
|
||||||
{
|
|
||||||
# Special case top-level to have an empty MENU.
|
|
||||||
if test "x$subdir" = "x." ; then
|
|
||||||
MENU=""
|
|
||||||
htmldir="."
|
|
||||||
htmltop="$top_builddir" # Just ., presumably
|
|
||||||
echo "* Post-processing top-level files"
|
|
||||||
else
|
|
||||||
MENU="<ul>"
|
|
||||||
htmldir="$subdir/html"
|
|
||||||
htmltop="$top_builddir.." # top_builddir ends with /
|
|
||||||
echo "* Post-processing files in $htmldir"
|
|
||||||
|
|
||||||
# Build a little PHP file that maps class names to file
|
|
||||||
# names, for the quick-class-picker functionality.
|
|
||||||
# (The quick-class-picker is disabled due to styling
|
|
||||||
# problems in IE & FF).
|
|
||||||
(
|
|
||||||
echo "<?php \$map = array("; \
|
|
||||||
for htmlfile in `find $htmldir/ -type f -name "class[A-Z]*.html" | grep -v "\-members.html$"`; do
|
|
||||||
classname=`echo $htmlfile | sed -e "s,.*/class\\(.*\\).html,\1," -e "s,_1_1,::,g" -e "s,_01, ,g" -e "s,_4,>,g" -e "s+_00+,+g" -e "s+_3+<+g" | tr "[A-Z]" "[a-z]"`
|
|
||||||
echo " \"$classname\" => \"$htmlfile\","
|
|
||||||
done | sort ; \
|
|
||||||
echo ") ?>"
|
|
||||||
) > "$subdir/classmap.inc"
|
|
||||||
|
|
||||||
# This is a list of pairs, with / separators so we can use
|
|
||||||
# basename and dirname (a crude shell hack) to split them
|
|
||||||
# into parts. For each, if the file part exists (as a html
|
|
||||||
# file) tack it onto the MENU variable as a <li> with link.
|
|
||||||
for i in "Main Page/index" \
|
|
||||||
"Modules/modules" \
|
|
||||||
"Namespace List/namespaces" \
|
|
||||||
"Class Hierarchy/hierarchy" \
|
|
||||||
"Alphabetical List/classes" \
|
|
||||||
"Class List/annotated" \
|
|
||||||
"File List/files" \
|
|
||||||
"Directories/dirs" \
|
|
||||||
"Namespace Members/namespacemembers" \
|
|
||||||
"Class Members/functions" \
|
|
||||||
"Related Pages/pages"
|
|
||||||
do
|
|
||||||
NAME=`dirname "$i"`
|
|
||||||
FILE=`basename "$i"`
|
|
||||||
test -f "$htmldir/$FILE.html" && MENU="$MENU<li><a href=\"$FILE.html\">$NAME</a></li>"
|
|
||||||
done
|
|
||||||
|
|
||||||
MENU="$MENU</ul>"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Get the list of global Menu entries.
|
|
||||||
GMENU=`cat subdirs | tr -d '\n'`
|
|
||||||
|
|
||||||
PMENU=`grep '<!-- pmenu' "$htmldir/index.html" | sed -e 's+.*pmenu *++' -e 's+ *-->++' | awk '{ c=split($0,a,"/"); for (j=1; j<=c; j++) { printf " / <a href=\""; if (j==c) { printf("."); } for (k=j; k<c; k++) { printf "../"; } if (j<c) { printf("../html/index.html"); } printf "\">%s</a>\n" , a[j]; } }' | tr -d '\n'`
|
|
||||||
|
|
||||||
# Map the PHP file into HTML options so that
|
|
||||||
# it can be substituted in for the quick-class-picker.
|
|
||||||
CMENU=""
|
|
||||||
# For now, leave the CMENU disabled
|
|
||||||
CMENUBEGIN="<!--"
|
|
||||||
CMENUEND="-->"
|
|
||||||
|
|
||||||
if test "x$subdir" = "x." ; then
|
|
||||||
# Disable CMENU on toplevel anyway
|
|
||||||
CMENUBEGIN="<!--"
|
|
||||||
CMENUEND="-->"
|
|
||||||
else
|
|
||||||
test -f "$subdir/classmap.inc" && \
|
|
||||||
CMENU=`grep '=>' "$subdir/classmap.inc" | sed -e 's+"\([^"]*\)" => "'"$subdir/html/"'\([^"]*\)"+<option value="\2">\1<\/option>+' | tr -d '\n'`
|
|
||||||
|
|
||||||
if test -f "$subdir/classmap.inc" && grep "=>" "$subdir/classmap.inc" > /dev/null 2>&1 ; then
|
|
||||||
# Keep the menu, it's useful
|
|
||||||
:
|
|
||||||
else
|
|
||||||
CMENUBEGIN="<!--"
|
|
||||||
CMENUEND="-->"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Now substitute in the MENU in every file. This depends
|
|
||||||
# on HTML_HEADER (ie. header.html) containing the
|
|
||||||
# <!-- menu --> comment.
|
|
||||||
for i in "$htmldir"/*.html
|
|
||||||
do
|
|
||||||
if test -f "$i" ; then
|
|
||||||
sed -e "s+<!-- menu -->+$MENU+" \
|
|
||||||
-e "s+<!-- gmenu -->+$GMENU+" \
|
|
||||||
-e "s+<!-- pmenu.*-->+$PMENU+" \
|
|
||||||
-e "s+<!-- cmenu.begin -->+$CMENUBEGIN+" \
|
|
||||||
-e "s+<!-- cmenu.end -->+$CMENUEND+" \
|
|
||||||
< "$i" | sed -e "s+@topdir@+$htmltop+g" > "$i.new" && mv "$i.new" "$i"
|
|
||||||
sed -e "s+<!-- cmenu -->+$CMENU+" < "$i" > "$i.new"
|
|
||||||
test -s "$i.new" && mv "$i.new" "$i"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Handle the Doxygen processing of a toplevel directory.
|
|
||||||
apidox_toplevel()
|
|
||||||
{
|
|
||||||
echo ""
|
|
||||||
echo "*** Creating API documentation main page for $module_name"
|
|
||||||
echo "*"
|
|
||||||
rm -f "Doxyfile"
|
|
||||||
for i in "$top_srcdir/doc/api/Doxyfile.global" \
|
|
||||||
"$top_srcdir/admin/Doxyfile.global" \
|
|
||||||
"$DOXDATA/Doxyfile.global"
|
|
||||||
do
|
|
||||||
if test -f "$i" ; then
|
|
||||||
cp "$i" Doxyfile
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if test ! -f "Doxyfile" ; then
|
|
||||||
echo "* Cannot create Doxyfile."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat "$top_builddir/Doxyfile.in" >> Doxyfile
|
|
||||||
|
|
||||||
|
|
||||||
echo "INPUT = $top_srcdir" >> Doxyfile
|
|
||||||
echo "OUTPUT_DIRECTORY = $top_builddir" >> Doxyfile ; \
|
|
||||||
echo "FILE_PATTERNS = *.dox" >> Doxyfile ; \
|
|
||||||
echo "RECURSIVE = NO" >> Doxyfile ; \
|
|
||||||
echo "ALPHABETICAL_INDEX = NO" >> Doxyfile ; \
|
|
||||||
echo "HTML_OUTPUT = ." >> Doxyfile ; \
|
|
||||||
apidox_htmlfiles "main"
|
|
||||||
|
|
||||||
# KDevelop has a top-level Makefile.am with settings.
|
|
||||||
for i in "$top_srcdir/Makefile.am.in" "$top_srcdir/Makefile.am"
|
|
||||||
do
|
|
||||||
if test -f "$i" ; then
|
|
||||||
grep '^DOXYGEN_SET_' "$i" | \
|
|
||||||
sed -e 's+DOXYGEN_SET_++' -e "s+@topdir@+$top_srcdir+" >> Doxyfile
|
|
||||||
apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile"
|
|
||||||
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
apidox_local
|
|
||||||
|
|
||||||
doxygen Doxyfile
|
|
||||||
|
|
||||||
( cd "$top_srcdir" && grep -l '^include.*Doxyfile.am' `find . -name Makefile.am` ) | sed -e 's+/Makefile.am$++' -e 's+^\./++' | sort > subdirs.in
|
|
||||||
for i in `cat subdirs.in`
|
|
||||||
do
|
|
||||||
test "x." = "x$i" && continue;
|
|
||||||
|
|
||||||
dir=`dirname "$i"`
|
|
||||||
file=`basename "$i"`
|
|
||||||
if test "x." = "x$dir" ; then
|
|
||||||
dir=""
|
|
||||||
else
|
|
||||||
dir="$dir/"
|
|
||||||
fi
|
|
||||||
indent=`echo "$dir" | sed -e 's+[^/]*/+\ \ +g' | sed -e 's+&+\\\&+g'`
|
|
||||||
entryname=`extract_line DOXYGEN_SET_PROJECT_NAME "$top_srcdir/$dir/$file/Makefile.am"`
|
|
||||||
test -z "$entryname" && entryname="$file"
|
|
||||||
|
|
||||||
if grep DOXYGEN_EMPTY "$top_srcdir/$dir/$file/Makefile.am" > /dev/null 2>&1 ; then
|
|
||||||
echo "<li>$indent$file</li>"
|
|
||||||
else
|
|
||||||
echo "<li>$indent<a href=\"@topdir@/$dir$file/html/index.html\">$entryname</a></li>"
|
|
||||||
fi
|
|
||||||
done > subdirs
|
|
||||||
|
|
||||||
doxyndex
|
|
||||||
}
|
|
||||||
|
|
||||||
### Handle the Doxygen processing of a non-toplevel directory.
|
|
||||||
apidox_subdir()
|
|
||||||
{
|
|
||||||
echo ""
|
|
||||||
echo "*** Creating apidox in $subdir"
|
|
||||||
echo "*"
|
|
||||||
rm -f "$subdir/Doxyfile"
|
|
||||||
if test ! -d "$top_srcdir/$subdir" ; then
|
|
||||||
echo "* No source (sub)directory $subdir"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
for i in "$top_srcdir/doc/api/Doxyfile.global" \
|
|
||||||
"$top_srcdir/admin/Doxyfile.global" \
|
|
||||||
"$DOXDATA/Doxyfile.global"
|
|
||||||
do
|
|
||||||
if test -f "$i" ; then
|
|
||||||
cp "$i" "$subdir/Doxyfile"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
test -f "Doxyfile.in" || create_doxyfile_in
|
|
||||||
cat "Doxyfile.in" >> "$subdir/Doxyfile"
|
|
||||||
|
|
||||||
echo "PROJECT_NAME = \"$subdir\"" >> "$subdir/Doxyfile"
|
|
||||||
echo "INPUT = $srcdir" >> "$subdir/Doxyfile"
|
|
||||||
echo "OUTPUT_DIRECTORY = ." >> "$subdir/Doxyfile"
|
|
||||||
if grep -l "$subdir/" subdirs.in > /dev/null 2>&1 ; then
|
|
||||||
echo "RECURSIVE = NO" >> "$subdir/Doxyfile"
|
|
||||||
fi
|
|
||||||
echo "HTML_OUTPUT = $subdir/html" >> "$subdir/Doxyfile"
|
|
||||||
echo "GENERATE_TAGFILE = $subdir/$subdirname.tag" >> "$subdir/Doxyfile"
|
|
||||||
test -d "$top_srcdir/doc/api" && \
|
|
||||||
echo "IMAGE_PATH = $top_srcdir/doc/api" >> "$subdir/Doxyfile"
|
|
||||||
|
|
||||||
apidox_htmlfiles ""
|
|
||||||
|
|
||||||
# Makefile.ams may contain overrides to our settings,
|
|
||||||
# so copy them in.
|
|
||||||
grep '^DOXYGEN_SET_' "$srcdir/Makefile.am" | \
|
|
||||||
sed -e 's+DOXYGEN_SET_++' >> "$subdir/Doxyfile"
|
|
||||||
apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile"
|
|
||||||
|
|
||||||
excludes=`extract_line DOXYGEN_EXCLUDE`
|
|
||||||
if test -n "$excludes"; then
|
|
||||||
patterns=""
|
|
||||||
dirs=""
|
|
||||||
for item in `echo "$excludes"`; do
|
|
||||||
if test -d "$top_srcdir/$subdir/$item"; then
|
|
||||||
dirs="$dirs $top_srcdir/$subdir/$item/"
|
|
||||||
else
|
|
||||||
patterns="$patterns $item"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "EXCLUDE_PATTERNS += $patterns" >> "$subdir/Doxyfile"
|
|
||||||
echo "EXCLUDE += $dirs" >> "$subdir/Doxyfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "TAGFILES = \\" >> "$subdir/Doxyfile"
|
|
||||||
## For now, don't support \ continued references lines
|
|
||||||
tags=`extract_line DOXYGEN_REFERENCES`
|
|
||||||
for i in $tags qt ; do
|
|
||||||
tagsubdir=`dirname $i` ; tag=`basename $i`
|
|
||||||
tagpath=""
|
|
||||||
not_found=""
|
|
||||||
|
|
||||||
if test "x$tagsubdir" = "x." ; then
|
|
||||||
tagsubdir=""
|
|
||||||
else
|
|
||||||
tagsubdir="$tagsubdir/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Find location of tag file
|
|
||||||
if test -f "$tagsubdir$tag/$tag.tag" ; then
|
|
||||||
file="$tagsubdir$tag/$tag.tag"
|
|
||||||
loc="$tagsubdir$tag/html"
|
|
||||||
else
|
|
||||||
# This checks for dox built with_out_ --no-modulename
|
|
||||||
# in the same build dir as this dox run was started in.
|
|
||||||
file=`ls -1 ../*-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null`
|
|
||||||
|
|
||||||
if test -n "$file" ; then
|
|
||||||
loc=`echo "$file" | sed -e "s/$tag.tag\$/html/"`
|
|
||||||
else
|
|
||||||
# If the tag file doesn't exist yet, but should
|
|
||||||
# because we have the right dirs here, queue
|
|
||||||
# this directory for re-processing later.
|
|
||||||
if test -d "$top_srcdir/$tagsubdir$tag" ; then
|
|
||||||
echo "* Need to re-process $subdir for tag $i"
|
|
||||||
echo "$subdir" >> "subdirs.later"
|
|
||||||
else
|
|
||||||
# Re-check in $PREFIX if needed.
|
|
||||||
test -n "$PREFIX" && \
|
|
||||||
file=`cd "$PREFIX" && \
|
|
||||||
ls -1 *-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null`
|
|
||||||
|
|
||||||
# If something is found, patch it up. The location must be
|
|
||||||
# relative to the installed location of the dox and the
|
|
||||||
# file must be absolute.
|
|
||||||
if test -n "$file" ; then
|
|
||||||
loc=`echo "../$file" | sed -e "s/$tag.tag\$/html/"`
|
|
||||||
file="$PREFIX/$file"
|
|
||||||
echo "* Tags for $tagsubdir$tag will only work when installed."
|
|
||||||
not_found="YES"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "$tag" = "qt" ; then
|
|
||||||
if test -z "$QTDOCDIR" ; then
|
|
||||||
echo " $file" >> "$subdir/Doxyfile"
|
|
||||||
else
|
|
||||||
if test -z "$file" ; then
|
|
||||||
# Really no Qt tags
|
|
||||||
echo "" >> "$subdir/Doxyfile"
|
|
||||||
else
|
|
||||||
echo " $file=$QTDOCDIR" >> "$subdir/Doxyfile"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if test -n "$file" ; then
|
|
||||||
test -z "$not_found" && echo "* Found tag $file"
|
|
||||||
echo " $file=../$top_builddir$loc \\" >> "$subdir/Doxyfile"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
apidox_local
|
|
||||||
|
|
||||||
if grep '^DOXYGEN_EMPTY' "$srcdir/Makefile.am" > /dev/null 2>&1 ; then
|
|
||||||
# This directory is empty, so don't process it, but
|
|
||||||
# *do* handle subdirs that might have dox.
|
|
||||||
:
|
|
||||||
else
|
|
||||||
# Regular processing
|
|
||||||
doxygen "$subdir/Doxyfile"
|
|
||||||
doxyndex
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
### Run a given subdir by setting up global variables first.
|
|
||||||
do_subdir()
|
|
||||||
{
|
|
||||||
subdir=`echo "$1" | sed -e 's+/$++'`
|
|
||||||
srcdir="$top_srcdir/$subdir"
|
|
||||||
subdirname=`basename "$subdir"`
|
|
||||||
mkdir -p "$subdir" 2> /dev/null
|
|
||||||
if test ! -d "$subdir" ; then
|
|
||||||
echo "Can't create dox subdirectory $subdir"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
top_builddir=`echo "/$subdir" | sed -e 's+/[^/]*+../+g'`
|
|
||||||
apidox_subdir
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
### Create installdox-slow in the toplevel
|
|
||||||
create_installdox()
|
|
||||||
{
|
|
||||||
# Fix up the installdox script so it accepts empty args
|
|
||||||
#
|
|
||||||
# This code is copied from the installdox generated by Doxygen,
|
|
||||||
# copyright by Dimitri van Heesch and released under the GPL.
|
|
||||||
# This does a _slow_ update of the dox, because it loops
|
|
||||||
# over the given substitutions instead of assuming all the
|
|
||||||
# needed ones are given.
|
|
||||||
#
|
|
||||||
cat <<\EOF
|
|
||||||
#! /usr/bin/env perl
|
|
||||||
|
|
||||||
%subst = () ;
|
|
||||||
$quiet = 0;
|
|
||||||
|
|
||||||
if (open(F,"search.cfg"))
|
|
||||||
{
|
|
||||||
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
|
|
||||||
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
while ( @ARGV ) {
|
|
||||||
$_ = shift @ARGV;
|
|
||||||
if ( s/^-// ) {
|
|
||||||
if ( /^l(.*)/ ) {
|
|
||||||
$v = ($1 eq "") ? shift @ARGV : $1;
|
|
||||||
($v =~ /\/$/) || ($v .= "/");
|
|
||||||
$_ = $v;
|
|
||||||
if ( /(.+)\@(.+)/ ) {
|
|
||||||
$subst{$1} = $2;
|
|
||||||
} else {
|
|
||||||
print STDERR "Argument $_ is invalid for option -l\n";
|
|
||||||
&usage();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ( /^q/ ) {
|
|
||||||
$quiet = 1;
|
|
||||||
}
|
|
||||||
elsif ( /^\?|^h/ ) {
|
|
||||||
&usage();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print STDERR "Illegal option -$_\n";
|
|
||||||
&usage();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
push (@files, $_ );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if ( ! @files ) {
|
|
||||||
if (opendir(D,".")) {
|
|
||||||
foreach $file ( readdir(D) ) {
|
|
||||||
$match = ".html";
|
|
||||||
next if ( $file =~ /^\.\.?$/ );
|
|
||||||
($file =~ /$match/) && (push @files, $file);
|
|
||||||
($file =~ "tree.js") && (push @files, $file);
|
|
||||||
}
|
|
||||||
closedir(D);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! @files ) {
|
|
||||||
print STDERR "Warning: No input files given and none found!\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach $f (@files)
|
|
||||||
{
|
|
||||||
if ( ! $quiet ) {
|
|
||||||
print "Editing: $f...\n";
|
|
||||||
}
|
|
||||||
$oldf = $f;
|
|
||||||
$f .= ".bak";
|
|
||||||
unless (rename $oldf,$f) {
|
|
||||||
print STDERR "Error: cannot rename file $oldf\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
if (open(F,"<$f")) {
|
|
||||||
unless (open(G,">$oldf")) {
|
|
||||||
print STDERR "Error: opening file $oldf for writing\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
if ($oldf ne "tree.js") {
|
|
||||||
while (<F>) {
|
|
||||||
foreach $sub (keys %subst) {
|
|
||||||
s/doxygen\=\"$sub\:([^ \"\t\>\<]*)\" (href|src)=\"\1/doxygen\=\"$sub:$subst{$sub}\" \2=\"$subst{$sub}/g;
|
|
||||||
print G "$_";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
while (<F>) {
|
|
||||||
foreach $sub (keys %subst) {
|
|
||||||
s/\"$sub\:([^ \"\t\>\<]*)\", \"\1/\"$sub:$subst{$sub}\" ,\"$subst{$sub}/g;
|
|
||||||
print G "$_";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
print STDERR "Warning file $f does not exist\n";
|
|
||||||
}
|
|
||||||
unlink $f;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub usage {
|
|
||||||
print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
|
|
||||||
print STDERR "Options:\n";
|
|
||||||
print STDERR " -l tagfile\@linkName tag file + URL or directory \n";
|
|
||||||
print STDERR " -q Quiet mode\n\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# Do only the subdirs that match the RE passed in as $1
|
|
||||||
do_subdirs_re()
|
|
||||||
{
|
|
||||||
RE=`echo "$1" | sed -e 's+/$++'`
|
|
||||||
|
|
||||||
# Here's a queue of dirs to re-process later when
|
|
||||||
# all the rest have been done already.
|
|
||||||
> subdirs.later
|
|
||||||
|
|
||||||
# subdirs.top lists _all_ subdirs of top in the order they
|
|
||||||
# should be handled; subdirs.in lists those dirs that contain
|
|
||||||
# dox. So the intersection of the two is the ordered list
|
|
||||||
# of top-level subdirs that contain dox.
|
|
||||||
#
|
|
||||||
# subdirs.top also doesn't contain ".", so that special
|
|
||||||
# case can be ignored in the loop.
|
|
||||||
|
|
||||||
|
|
||||||
(
|
|
||||||
for i in `grep "^$RE" subdirs.top`
|
|
||||||
do
|
|
||||||
if test "x$i" = "x." ; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# Calculate intersection of this element and the
|
|
||||||
# set of dox dirs.
|
|
||||||
if grep "^$i\$" subdirs.in > /dev/null 2>&1 ; then
|
|
||||||
echo "$i"
|
|
||||||
mkdir -p "$i" 2> /dev/null
|
|
||||||
|
|
||||||
# Handle the subdirs of this one
|
|
||||||
for j in `grep "$i/" subdirs.in`
|
|
||||||
do
|
|
||||||
echo "$j"
|
|
||||||
mkdir -p "$j" 2> /dev/null
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Now we still need to handle whatever is left
|
|
||||||
for i in `cat subdirs.in`
|
|
||||||
do
|
|
||||||
test -d "$i" || echo "$i"
|
|
||||||
mkdir -p "$i" 2> /dev/null
|
|
||||||
done
|
|
||||||
) > subdirs.sort
|
|
||||||
for i in `cat subdirs.sort`
|
|
||||||
do
|
|
||||||
do_subdir "$i"
|
|
||||||
done
|
|
||||||
|
|
||||||
if test -s "subdirs.later" ; then
|
|
||||||
sort subdirs.later | uniq > subdirs.sort
|
|
||||||
for i in `cat subdirs.sort`
|
|
||||||
do
|
|
||||||
: > subdirs.later
|
|
||||||
echo "*** Reprocessing $i"
|
|
||||||
do_subdir "$i"
|
|
||||||
test -s "subdirs.later" && echo "* Some tag files were still not found."
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if test "x." = "x$top_builddir" ; then
|
|
||||||
apidox_toplevel
|
|
||||||
create_subdirs
|
|
||||||
create_installdox > installdox-slow
|
|
||||||
if test "x$recurse" = "x1" ; then
|
|
||||||
if test "x$module_name" = "xkdelibs" ; then
|
|
||||||
if test -z "$QTDOCTAG" && test -d "$QTDOCDIR" && \
|
|
||||||
test ! -f "qt/qt.tag" ; then
|
|
||||||
# Special case: create a qt tag file.
|
|
||||||
echo "*** Creating a tag file for the Qt library:"
|
|
||||||
mkdir qt
|
|
||||||
doxytag -t qt/qt.tag "$QTDOCDIR" > /dev/null 2>&1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test -n "$QTDOCTAG" && test -r "$QTDOCTAG" ; then
|
|
||||||
echo "*** Copying tag file for the Qt library:"
|
|
||||||
mkdir qt
|
|
||||||
cp "$QTDOCTAG" qt/qt.tag
|
|
||||||
fi
|
|
||||||
|
|
||||||
do_subdirs_re "."
|
|
||||||
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if test "x$recurse" = "x1" ; then
|
|
||||||
do_subdirs_re "$subdir"
|
|
||||||
else
|
|
||||||
do_subdir "$subdir"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# At the end of a run, clean up stuff.
|
|
||||||
if test "YES" = "$cleanup" ; then
|
|
||||||
rm -f subdirs.in subdirs.later subdirs.sort subdirs.top Doxyfile.in
|
|
||||||
rm -f `find . -name Doxyfile`
|
|
||||||
rm -f qt/qt.tag
|
|
||||||
rmdir qt > /dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
@ -1,401 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# install - install a program, script, or datafile
|
|
||||||
|
|
||||||
scriptversion=2005-11-07.23
|
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
|
||||||
# following copyright and license.
|
|
||||||
#
|
|
||||||
# Copyright (C) 1994 X Consortium
|
|
||||||
#
|
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
# of this software and associated documentation files (the "Software"), to
|
|
||||||
# deal in the Software without restriction, including without limitation the
|
|
||||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
||||||
# sell copies of the Software, and to permit persons to whom the Software is
|
|
||||||
# furnished to do so, subject to the following conditions:
|
|
||||||
#
|
|
||||||
# The above copyright notice and this permission notice shall be included in
|
|
||||||
# all copies or substantial portions of the Software.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
||||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
|
||||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
#
|
|
||||||
# Except as contained in this notice, the name of the X Consortium shall not
|
|
||||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
|
||||||
# ings in this Software without prior written authorization from the X Consor-
|
|
||||||
# tium.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# FSF changes to this file are in the public domain.
|
|
||||||
#
|
|
||||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
|
||||||
# `make' implicit rules from creating a file called install from it
|
|
||||||
# when there is no Makefile.
|
|
||||||
#
|
|
||||||
# This script is compatible with the BSD install script, but was written
|
|
||||||
# from scratch. It can only install one file at a time, a restriction
|
|
||||||
# shared with many OS's install programs.
|
|
||||||
|
|
||||||
# set DOITPROG to echo to test this script
|
|
||||||
|
|
||||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
|
||||||
doit="${DOITPROG-}"
|
|
||||||
|
|
||||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
|
||||||
|
|
||||||
mvprog="${MVPROG-mv}"
|
|
||||||
cpprog="${CPPROG-cp}"
|
|
||||||
chmodprog="${CHMODPROG-chmod}"
|
|
||||||
chownprog="${CHOWNPROG-chown}"
|
|
||||||
chgrpprog="${CHGRPPROG-chgrp}"
|
|
||||||
stripprog="${STRIPPROG-strip}"
|
|
||||||
rmprog="${RMPROG-rm}"
|
|
||||||
mkdirprog="${MKDIRPROG-mkdir}"
|
|
||||||
|
|
||||||
posix_glob=
|
|
||||||
posix_mkdir=
|
|
||||||
|
|
||||||
# Symbolic mode for testing mkdir with directories.
|
|
||||||
# It is the same as 755, but also tests that "u+" works.
|
|
||||||
test_mode=u=rwx,g=rx,o=rx,u+wx
|
|
||||||
|
|
||||||
# Desired mode of installed file.
|
|
||||||
mode=0755
|
|
||||||
|
|
||||||
# Desired mode of newly created intermediate directories.
|
|
||||||
# It is empty if not known yet.
|
|
||||||
intermediate_mode=
|
|
||||||
|
|
||||||
chmodcmd=$chmodprog
|
|
||||||
chowncmd=
|
|
||||||
chgrpcmd=
|
|
||||||
stripcmd=
|
|
||||||
rmcmd="$rmprog -f"
|
|
||||||
mvcmd="$mvprog"
|
|
||||||
src=
|
|
||||||
dst=
|
|
||||||
dir_arg=
|
|
||||||
dstarg=
|
|
||||||
no_target_directory=
|
|
||||||
|
|
||||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
|
||||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
|
||||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
|
||||||
or: $0 [OPTION]... -d DIRECTORIES...
|
|
||||||
|
|
||||||
In the 1st form, copy SRCFILE to DSTFILE.
|
|
||||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
|
||||||
In the 4th, create DIRECTORIES.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-c (ignored)
|
|
||||||
-d create directories instead of installing files.
|
|
||||||
-g GROUP $chgrpprog installed files to GROUP.
|
|
||||||
-m MODE $chmodprog installed files to MODE.
|
|
||||||
-o USER $chownprog installed files to USER.
|
|
||||||
-s $stripprog installed files.
|
|
||||||
-t DIRECTORY install into DIRECTORY.
|
|
||||||
-T report an error if DSTFILE is a directory.
|
|
||||||
--help display this help and exit.
|
|
||||||
--version display version info and exit.
|
|
||||||
|
|
||||||
Environment variables override the default commands:
|
|
||||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
|
||||||
"
|
|
||||||
|
|
||||||
while test -n "$1"; do
|
|
||||||
case $1 in
|
|
||||||
-c) shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
-d) dir_arg=true
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
-g) chgrpcmd="$chgrpprog $2"
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
--help) echo "$usage"; exit $?;;
|
|
||||||
|
|
||||||
-m) mode=$2
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
-o) chowncmd="$chownprog $2"
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
-s) stripcmd=$stripprog
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
-t) dstarg=$2
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
-T) no_target_directory=true
|
|
||||||
shift
|
|
||||||
continue;;
|
|
||||||
|
|
||||||
--version) echo "$0 $scriptversion"; exit $?;;
|
|
||||||
|
|
||||||
*) # When -d is used, all remaining arguments are directories to create.
|
|
||||||
# When -t is used, the destination is already specified.
|
|
||||||
test -n "$dir_arg$dstarg" && break
|
|
||||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
|
||||||
for arg
|
|
||||||
do
|
|
||||||
if test -n "$dstarg"; then
|
|
||||||
# $@ is not empty: it contains at least $arg.
|
|
||||||
set fnord "$@" "$dstarg"
|
|
||||||
shift # fnord
|
|
||||||
fi
|
|
||||||
shift # arg
|
|
||||||
dstarg=$arg
|
|
||||||
done
|
|
||||||
break;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if test -z "$1"; then
|
|
||||||
if test -z "$dir_arg"; then
|
|
||||||
echo "$0: no input file specified." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# It's OK to call `install-sh -d' without argument.
|
|
||||||
# This can happen when creating conditional directories.
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
test -n "$dir_arg" || trap '(exit $?); exit' 1 2 13 15
|
|
||||||
|
|
||||||
for src
|
|
||||||
do
|
|
||||||
# Protect names starting with `-'.
|
|
||||||
case $src in
|
|
||||||
-*) src=./$src ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
|
||||||
dst=$src
|
|
||||||
dstdir=$dst
|
|
||||||
test -d "$dstdir"
|
|
||||||
dstdir_status=$?
|
|
||||||
else
|
|
||||||
|
|
||||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
|
||||||
# might cause directories to be created, which would be especially bad
|
|
||||||
# if $src (and thus $dsttmp) contains '*'.
|
|
||||||
if test ! -f "$src" && test ! -d "$src"; then
|
|
||||||
echo "$0: $src does not exist." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$dstarg"; then
|
|
||||||
echo "$0: no destination specified." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
dst=$dstarg
|
|
||||||
# Protect names starting with `-'.
|
|
||||||
case $dst in
|
|
||||||
-*) dst=./$dst ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If destination is a directory, append the input filename; won't work
|
|
||||||
# if double slashes aren't ignored.
|
|
||||||
if test -d "$dst"; then
|
|
||||||
if test -n "$no_target_directory"; then
|
|
||||||
echo "$0: $dstarg: Is a directory" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
dstdir=$dst
|
|
||||||
dst=$dstdir/`basename "$src"`
|
|
||||||
dstdir_status=0
|
|
||||||
else
|
|
||||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
|
||||||
dstdir=`
|
|
||||||
(dirname "$dst") 2>/dev/null ||
|
|
||||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
|
||||||
X"$dst" : 'X\(//\)[^/]' \| \
|
|
||||||
X"$dst" : 'X\(//\)$' \| \
|
|
||||||
X"$dst" : 'X\(/\)' \| \
|
|
||||||
. : '\(.\)' 2>/dev/null ||
|
|
||||||
echo X"$dst" |
|
|
||||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
|
||||||
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
|
||||||
/^X\(\/\/\)$/{ s//\1/; q; }
|
|
||||||
/^X\(\/\).*/{ s//\1/; q; }
|
|
||||||
s/.*/./; q'
|
|
||||||
`
|
|
||||||
|
|
||||||
test -d "$dstdir"
|
|
||||||
dstdir_status=$?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
obsolete_mkdir_used=false
|
|
||||||
|
|
||||||
if test $dstdir_status != 0; then
|
|
||||||
case $posix_mkdir in
|
|
||||||
'')
|
|
||||||
posix_mkdir=false
|
|
||||||
if $mkdirprog -m $test_mode -p -- / >/dev/null 2>&1; then
|
|
||||||
posix_mkdir=true
|
|
||||||
else
|
|
||||||
# Remove any dirs left behind by ancient mkdir implementations.
|
|
||||||
rmdir ./-m "$test_mode" ./-p ./-- 2>/dev/null
|
|
||||||
fi ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if
|
|
||||||
$posix_mkdir && {
|
|
||||||
|
|
||||||
# With -d, create the new directory with the user-specified mode.
|
|
||||||
# Otherwise, create it using the same intermediate mode that
|
|
||||||
# mkdir -p would use when creating intermediate directories.
|
|
||||||
# POSIX says that this mode is "$(umask -S),u+wx", so use that
|
|
||||||
# if umask -S works.
|
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
|
||||||
mkdir_mode=$mode
|
|
||||||
else
|
|
||||||
case $intermediate_mode in
|
|
||||||
'')
|
|
||||||
if umask_S=`(umask -S) 2>/dev/null`; then
|
|
||||||
intermediate_mode=$umask_S,u+wx
|
|
||||||
else
|
|
||||||
intermediate_mode=$test_mode
|
|
||||||
fi ;;
|
|
||||||
esac
|
|
||||||
mkdir_mode=$intermediate_mode
|
|
||||||
fi
|
|
||||||
|
|
||||||
$mkdirprog -m "$mkdir_mode" -p -- "$dstdir"
|
|
||||||
}
|
|
||||||
then :
|
|
||||||
else
|
|
||||||
|
|
||||||
# mkdir does not conform to POSIX, or it failed possibly due to
|
|
||||||
# a race condition. Create the directory the slow way, step by
|
|
||||||
# step, checking for races as we go.
|
|
||||||
|
|
||||||
case $dstdir in
|
|
||||||
/*) pathcomp=/ ;;
|
|
||||||
-*) pathcomp=./ ;;
|
|
||||||
*) pathcomp= ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case $posix_glob in
|
|
||||||
'')
|
|
||||||
if (set -f) 2>/dev/null; then
|
|
||||||
posix_glob=true
|
|
||||||
else
|
|
||||||
posix_glob=false
|
|
||||||
fi ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
oIFS=$IFS
|
|
||||||
IFS=/
|
|
||||||
$posix_glob && set -f
|
|
||||||
set fnord $dstdir
|
|
||||||
shift
|
|
||||||
$posix_glob && set +f
|
|
||||||
IFS=$oIFS
|
|
||||||
|
|
||||||
for d
|
|
||||||
do
|
|
||||||
test "x$d" = x && continue
|
|
||||||
|
|
||||||
pathcomp=$pathcomp$d
|
|
||||||
if test ! -d "$pathcomp"; then
|
|
||||||
$mkdirprog "$pathcomp"
|
|
||||||
# Don't fail if two instances are running concurrently.
|
|
||||||
test -d "$pathcomp" || exit 1
|
|
||||||
fi
|
|
||||||
pathcomp=$pathcomp/
|
|
||||||
done
|
|
||||||
obsolete_mkdir_used=true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
|
||||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
|
||||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
|
||||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
|
||||||
test -z "$chmodcmd" || $doit $chmodcmd "$mode" "$dst"; } || exit 1
|
|
||||||
else
|
|
||||||
|
|
||||||
# Make a couple of temp file names in the proper directory.
|
|
||||||
dsttmp=$dstdir/_inst.$$_
|
|
||||||
rmtmp=$dstdir/_rm.$$_
|
|
||||||
|
|
||||||
# Trap to clean up those temp files at exit.
|
|
||||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
|
||||||
|
|
||||||
# Copy the file name to the temp name.
|
|
||||||
$doit $cpprog "$src" "$dsttmp" &&
|
|
||||||
|
|
||||||
# and set any options; do chmod last to preserve setuid bits.
|
|
||||||
#
|
|
||||||
# If any of these fail, we abort the whole thing. If we want to
|
|
||||||
# ignore errors from any of these, just make sure not to ignore
|
|
||||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
|
||||||
#
|
|
||||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
|
||||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
|
||||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
|
||||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$mode" "$dsttmp"; } &&
|
|
||||||
|
|
||||||
# Now rename the file to the real destination.
|
|
||||||
{ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|
|
||||||
|| {
|
|
||||||
# The rename failed, perhaps because mv can't rename something else
|
|
||||||
# to itself, or perhaps because mv is so ancient that it does not
|
|
||||||
# support -f.
|
|
||||||
|
|
||||||
# Now remove or move aside any old file at destination location.
|
|
||||||
# We try this two ways since rm can't unlink itself on some
|
|
||||||
# systems and the destination file might be busy for other
|
|
||||||
# reasons. In this case, the final cleanup might fail but the new
|
|
||||||
# file should still install successfully.
|
|
||||||
{
|
|
||||||
if test -f "$dst"; then
|
|
||||||
$doit $rmcmd -f "$dst" 2>/dev/null \
|
|
||||||
|| { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
|
|
||||||
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|
|
||||||
|| {
|
|
||||||
echo "$0: cannot unlink or rename $dst" >&2
|
|
||||||
(exit 1); exit 1
|
|
||||||
}
|
|
||||||
else
|
|
||||||
:
|
|
||||||
fi
|
|
||||||
} &&
|
|
||||||
|
|
||||||
# Now rename the file to the real destination.
|
|
||||||
$doit $mvcmd "$dsttmp" "$dst"
|
|
||||||
}
|
|
||||||
} || exit 1
|
|
||||||
|
|
||||||
trap '' 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Local variables:
|
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-end: "$"
|
|
||||||
# End:
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,353 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
# Common stub for a few missing GNU programs while installing.
|
|
||||||
|
|
||||||
scriptversion=2004-09-07.08
|
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
|
|
||||||
# Free Software Foundation, Inc.
|
|
||||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
# any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 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.
|
|
||||||
|
|
||||||
if test $# -eq 0; then
|
|
||||||
echo 1>&2 "Try \`$0 --help' for more information"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
run=:
|
|
||||||
|
|
||||||
# In the cases where this matters, `missing' is being run in the
|
|
||||||
# srcdir already.
|
|
||||||
if test -f configure.ac; then
|
|
||||||
configure_ac=configure.ac
|
|
||||||
else
|
|
||||||
configure_ac=configure.in
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg="missing on your system"
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
--run)
|
|
||||||
# Try to run requested program, and just exit if it succeeds.
|
|
||||||
run=
|
|
||||||
shift
|
|
||||||
"$@" && exit 0
|
|
||||||
# Exit code 63 means version mismatch. This often happens
|
|
||||||
# when the user try to use an ancient version of a tool on
|
|
||||||
# a file that requires a minimum version. In this case we
|
|
||||||
# we should proceed has if the program had been absent, or
|
|
||||||
# if --run hadn't been passed.
|
|
||||||
if test $? = 63; then
|
|
||||||
run=:
|
|
||||||
msg="probably too old"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
-h|--h|--he|--hel|--help)
|
|
||||||
echo "\
|
|
||||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
|
||||||
|
|
||||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
|
||||||
error status if there is no known handling for PROGRAM.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help display this help and exit
|
|
||||||
-v, --version output version information and exit
|
|
||||||
--run try to run the given command, and emulate it if it fails
|
|
||||||
|
|
||||||
Supported PROGRAM values:
|
|
||||||
aclocal touch file \`aclocal.m4'
|
|
||||||
autoconf touch file \`configure'
|
|
||||||
autoheader touch file \`config.h.in'
|
|
||||||
automake touch all \`Makefile.in' files
|
|
||||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
|
||||||
flex create \`lex.yy.c', if possible, from existing .c
|
|
||||||
help2man touch the output file
|
|
||||||
lex create \`lex.yy.c', if possible, from existing .c
|
|
||||||
makeinfo touch the output file
|
|
||||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
|
||||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
|
||||||
|
|
||||||
Send bug reports to <bug-automake@gnu.org>."
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
|
|
||||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
|
||||||
echo "missing $scriptversion (GNU Automake)"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
|
|
||||||
-*)
|
|
||||||
echo 1>&2 "$0: Unknown \`$1' option"
|
|
||||||
echo 1>&2 "Try \`$0 --help' for more information"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Now exit if we have it, but it failed. Also exit now if we
|
|
||||||
# don't have it and --version was passed (most likely to detect
|
|
||||||
# the program).
|
|
||||||
case "$1" in
|
|
||||||
lex|yacc)
|
|
||||||
# Not GNU programs, they don't have --version.
|
|
||||||
;;
|
|
||||||
|
|
||||||
tar)
|
|
||||||
if test -n "$run"; then
|
|
||||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
|
||||||
exit 1
|
|
||||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
|
||||||
# We have it, but it failed.
|
|
||||||
exit 1
|
|
||||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
|
||||||
# Could not run --version or --help. This is probably someone
|
|
||||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
|
||||||
# $TOOL exists and not knowing $TOOL uses missing.
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If it does not exist, or fails to run (possibly an outdated version),
|
|
||||||
# try to emulate it.
|
|
||||||
case "$1" in
|
|
||||||
aclocal*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
|
||||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
|
||||||
any GNU archive site."
|
|
||||||
touch aclocal.m4
|
|
||||||
;;
|
|
||||||
|
|
||||||
autoconf)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`${configure_ac}'. You might want to install the
|
|
||||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
|
||||||
archive site."
|
|
||||||
touch configure
|
|
||||||
;;
|
|
||||||
|
|
||||||
autoheader)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
|
||||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
|
||||||
from any GNU archive site."
|
|
||||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
|
||||||
test -z "$files" && files="config.h"
|
|
||||||
touch_files=
|
|
||||||
for f in $files; do
|
|
||||||
case "$f" in
|
|
||||||
*:*) touch_files="$touch_files "`echo "$f" |
|
|
||||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
|
||||||
*) touch_files="$touch_files $f.in";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
touch $touch_files
|
|
||||||
;;
|
|
||||||
|
|
||||||
automake*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
|
||||||
You might want to install the \`Automake' and \`Perl' packages.
|
|
||||||
Grab them from any GNU archive site."
|
|
||||||
find . -type f -name Makefile.am -print |
|
|
||||||
sed 's/\.am$/.in/' |
|
|
||||||
while read f; do touch "$f"; done
|
|
||||||
;;
|
|
||||||
|
|
||||||
autom4te)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is needed, but is $msg.
|
|
||||||
You might have modified some files without having the
|
|
||||||
proper tools for further handling them.
|
|
||||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
|
||||||
archive site."
|
|
||||||
|
|
||||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
|
||||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
|
||||||
if test -f "$file"; then
|
|
||||||
touch $file
|
|
||||||
else
|
|
||||||
test -z "$file" || exec >$file
|
|
||||||
echo "#! /bin/sh"
|
|
||||||
echo "# Created by GNU Automake missing as a replacement of"
|
|
||||||
echo "# $ $@"
|
|
||||||
echo "exit 0"
|
|
||||||
chmod +x $file
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
bison|yacc)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' $msg. You should only need it if
|
|
||||||
you modified a \`.y' file. You may need the \`Bison' package
|
|
||||||
in order for those modifications to take effect. You can get
|
|
||||||
\`Bison' from any GNU archive site."
|
|
||||||
rm -f y.tab.c y.tab.h
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
eval LASTARG="\${$#}"
|
|
||||||
case "$LASTARG" in
|
|
||||||
*.y)
|
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
|
||||||
if [ -f "$SRCFILE" ]; then
|
|
||||||
cp "$SRCFILE" y.tab.c
|
|
||||||
fi
|
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
|
||||||
if [ -f "$SRCFILE" ]; then
|
|
||||||
cp "$SRCFILE" y.tab.h
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
if [ ! -f y.tab.h ]; then
|
|
||||||
echo >y.tab.h
|
|
||||||
fi
|
|
||||||
if [ ! -f y.tab.c ]; then
|
|
||||||
echo 'main() { return 0; }' >y.tab.c
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
lex|flex)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified a \`.l' file. You may need the \`Flex' package
|
|
||||||
in order for those modifications to take effect. You can get
|
|
||||||
\`Flex' from any GNU archive site."
|
|
||||||
rm -f lex.yy.c
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
eval LASTARG="\${$#}"
|
|
||||||
case "$LASTARG" in
|
|
||||||
*.l)
|
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
|
||||||
if [ -f "$SRCFILE" ]; then
|
|
||||||
cp "$SRCFILE" lex.yy.c
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
if [ ! -f lex.yy.c ]; then
|
|
||||||
echo 'main() { return 0; }' >lex.yy.c
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
help2man)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified a dependency of a manual page. You may need the
|
|
||||||
\`Help2man' package in order for those modifications to take
|
|
||||||
effect. You can get \`Help2man' from any GNU archive site."
|
|
||||||
|
|
||||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
|
||||||
if test -z "$file"; then
|
|
||||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
|
||||||
fi
|
|
||||||
if [ -f "$file" ]; then
|
|
||||||
touch $file
|
|
||||||
else
|
|
||||||
test -z "$file" || exec >$file
|
|
||||||
echo ".ab help2man is required to generate this page"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
makeinfo)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
|
||||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
|
||||||
indirectly affecting the aspect of the manual. The spurious
|
|
||||||
call might also be the consequence of using a buggy \`make' (AIX,
|
|
||||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
|
||||||
the \`GNU make' package. Grab either from any GNU archive site."
|
|
||||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
|
||||||
if test -z "$file"; then
|
|
||||||
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
|
||||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
|
|
||||||
fi
|
|
||||||
touch $file
|
|
||||||
;;
|
|
||||||
|
|
||||||
tar)
|
|
||||||
shift
|
|
||||||
|
|
||||||
# We have already tried tar in the generic part.
|
|
||||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
|
||||||
# messages.
|
|
||||||
if (gnutar --version > /dev/null 2>&1); then
|
|
||||||
gnutar "$@" && exit 0
|
|
||||||
fi
|
|
||||||
if (gtar --version > /dev/null 2>&1); then
|
|
||||||
gtar "$@" && exit 0
|
|
||||||
fi
|
|
||||||
firstarg="$1"
|
|
||||||
if shift; then
|
|
||||||
case "$firstarg" in
|
|
||||||
*o*)
|
|
||||||
firstarg=`echo "$firstarg" | sed s/o//`
|
|
||||||
tar "$firstarg" "$@" && exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case "$firstarg" in
|
|
||||||
*h*)
|
|
||||||
firstarg=`echo "$firstarg" | sed s/h//`
|
|
||||||
tar "$firstarg" "$@" && exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
|
||||||
You may want to install GNU tar or Free paxutils, or check the
|
|
||||||
command line arguments."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo 1>&2 "\
|
|
||||||
WARNING: \`$1' is needed, and is $msg.
|
|
||||||
You might have modified some files without having the
|
|
||||||
proper tools for further handling them. Check the \`README' file,
|
|
||||||
it often tells you about the needed prerequisites for installing
|
|
||||||
this package. You may also peek at any GNU archive site, in case
|
|
||||||
some other package would contain this missing \`$1' program."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
# Local variables:
|
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-end: "$"
|
|
||||||
# End:
|
|
@ -1,158 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
# mkinstalldirs --- make directory hierarchy
|
|
||||||
|
|
||||||
scriptversion=2005-06-29.22
|
|
||||||
|
|
||||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
|
||||||
# Created: 1993-05-16
|
|
||||||
# Public domain.
|
|
||||||
#
|
|
||||||
# This file is maintained in Automake, please report
|
|
||||||
# bugs to <bug-automake@gnu.org> or send patches to
|
|
||||||
# <automake-patches@gnu.org>.
|
|
||||||
|
|
||||||
errstatus=0
|
|
||||||
dirmode=
|
|
||||||
|
|
||||||
usage="\
|
|
||||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
|
||||||
|
|
||||||
Create each directory DIR (with mode MODE, if specified), including all
|
|
||||||
leading file name components.
|
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>."
|
|
||||||
|
|
||||||
# process command line arguments
|
|
||||||
while test $# -gt 0 ; do
|
|
||||||
case $1 in
|
|
||||||
-h | --help | --h*) # -h for help
|
|
||||||
echo "$usage"
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
-m) # -m PERM arg
|
|
||||||
shift
|
|
||||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
|
||||||
dirmode=$1
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--version)
|
|
||||||
echo "$0 $scriptversion"
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
--) # stop option processing
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
-*) # unknown option
|
|
||||||
echo "$usage" 1>&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
*) # first non-opt arg
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
for file
|
|
||||||
do
|
|
||||||
if test -d "$file"; then
|
|
||||||
shift
|
|
||||||
else
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
case $# in
|
|
||||||
0) exit 0 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
|
||||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
|
||||||
# one will create a, then the other will try to create a and die with
|
|
||||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
|
||||||
# from a parallel make. We use --version in the probe to restrict
|
|
||||||
# ourselves to GNU mkdir, which is thread-safe.
|
|
||||||
case $dirmode in
|
|
||||||
'')
|
|
||||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
|
||||||
echo "mkdir -p -- $*"
|
|
||||||
exec mkdir -p -- "$@"
|
|
||||||
else
|
|
||||||
# On NextStep and OpenStep, the `mkdir' command does not
|
|
||||||
# recognize any option. It will interpret all options as
|
|
||||||
# directories to create, and then abort because `.' already
|
|
||||||
# exists.
|
|
||||||
test -d ./-p && rmdir ./-p
|
|
||||||
test -d ./--version && rmdir ./--version
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
|
||||||
test ! -d ./--version; then
|
|
||||||
echo "mkdir -m $dirmode -p -- $*"
|
|
||||||
exec mkdir -m "$dirmode" -p -- "$@"
|
|
||||||
else
|
|
||||||
# Clean up after NextStep and OpenStep mkdir.
|
|
||||||
for d in ./-m ./-p ./--version "./$dirmode";
|
|
||||||
do
|
|
||||||
test -d $d && rmdir $d
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
for file
|
|
||||||
do
|
|
||||||
case $file in
|
|
||||||
/*) pathcomp=/ ;;
|
|
||||||
*) pathcomp= ;;
|
|
||||||
esac
|
|
||||||
oIFS=$IFS
|
|
||||||
IFS=/
|
|
||||||
set fnord $file
|
|
||||||
shift
|
|
||||||
IFS=$oIFS
|
|
||||||
|
|
||||||
for d
|
|
||||||
do
|
|
||||||
test "x$d" = x && continue
|
|
||||||
|
|
||||||
pathcomp=$pathcomp$d
|
|
||||||
case $pathcomp in
|
|
||||||
-*) pathcomp=./$pathcomp ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test ! -d "$pathcomp"; then
|
|
||||||
echo "mkdir $pathcomp"
|
|
||||||
|
|
||||||
mkdir "$pathcomp" || lasterr=$?
|
|
||||||
|
|
||||||
if test ! -d "$pathcomp"; then
|
|
||||||
errstatus=$lasterr
|
|
||||||
else
|
|
||||||
if test ! -z "$dirmode"; then
|
|
||||||
echo "chmod $dirmode $pathcomp"
|
|
||||||
lasterr=
|
|
||||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
|
||||||
|
|
||||||
if test ! -z "$lasterr"; then
|
|
||||||
errstatus=$lasterr
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
pathcomp=$pathcomp/
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
exit $errstatus
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: shell-script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-end: "$"
|
|
||||||
# End:
|
|
@ -1,371 +0,0 @@
|
|||||||
#!/usr/bin/perl -w
|
|
||||||
|
|
||||||
# Check namespace cleanness of a library.
|
|
||||||
# Allowed symbols are passed as arguments.
|
|
||||||
# They may have trailing * = wildcard.
|
|
||||||
# Wildcards may be also specified as *::* (e.g. K*::* for all KDE classes)
|
|
||||||
# Symbols are listed as full function unmangled names without arguments,
|
|
||||||
# e.g. 'foo bar* nspace::*' allows foo(), foo(int), bar(), barbar()
|
|
||||||
# and all symbols in namespace/class nspace.
|
|
||||||
# If an argument has comma in it, it's a filename of a file containing
|
|
||||||
# allowed symbols, one per line.
|
|
||||||
|
|
||||||
|
|
||||||
$thisProg = "$0"; # This programs name
|
|
||||||
|
|
||||||
$library = "";
|
|
||||||
$allowed_symbols = "";
|
|
||||||
$debug = 0;
|
|
||||||
$allowed_weak = "";
|
|
||||||
$weak_specified = 0;
|
|
||||||
|
|
||||||
while( defined( $ARGV[ 0 ] ))
|
|
||||||
{
|
|
||||||
$_ = shift;
|
|
||||||
if( /^--verbose$|^-v$/ )
|
|
||||||
{
|
|
||||||
$debug = 1;
|
|
||||||
}
|
|
||||||
elsif( /^--help$|^-h$/ )
|
|
||||||
{
|
|
||||||
print STDOUT "Usage $thisProg [OPTION] ... library [allowed symbols] ...\n",
|
|
||||||
"\n",
|
|
||||||
"Check if the given library has only allowed public symbols.\n",
|
|
||||||
"\n",
|
|
||||||
" --allowweak=[symbol] allow only these weak symbols\n",
|
|
||||||
" -v, --verbose verbosely list files processed\n",
|
|
||||||
" -h, --help print this help, then exit\n";
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
elsif( /^--allowweak=(.*)$/ )
|
|
||||||
{
|
|
||||||
$allowed_weak .= " " . $1;
|
|
||||||
$weak_specified = 1;
|
|
||||||
}
|
|
||||||
elsif( /^--allowweak$/ ) # simply list all weak
|
|
||||||
{
|
|
||||||
$allowed_weak .= " ";
|
|
||||||
$weak_specified = 1;
|
|
||||||
}
|
|
||||||
elsif( /^--*/ )
|
|
||||||
{
|
|
||||||
die "Invalid argument!\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if( ! $library )
|
|
||||||
{
|
|
||||||
$library = $_;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$allowed_symbols .= " " . $_;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ! $weak_specified )
|
|
||||||
{
|
|
||||||
$allowed_weak = "*";
|
|
||||||
# allow all weak symbols by default
|
|
||||||
# instances of templates and similar stuff - unfortunately includes also things from other libraries,
|
|
||||||
# so it cannot be on by default
|
|
||||||
}
|
|
||||||
|
|
||||||
print STDERR "library:" . $library . "\n" if $debug;
|
|
||||||
print STDERR "allowed_symbols:" . $allowed_symbols . "\n" if $debug;
|
|
||||||
print STDERR "allowed_weak:" . $allowed_weak . "\n" if $debug;
|
|
||||||
|
|
||||||
$default_symbols = "_fini _init"; # system symbols
|
|
||||||
# on my system, every .so has :
|
|
||||||
# A _DYNAMIC
|
|
||||||
# A _GLOBAL_OFFSET_TABLE_
|
|
||||||
# A __bss_start
|
|
||||||
# A _edata
|
|
||||||
# A _end
|
|
||||||
# T _fini
|
|
||||||
# T _init
|
|
||||||
# no need to list A symbols in $default_symbols
|
|
||||||
|
|
||||||
print STDERR "default_symbols: " . $default_symbols . "\n" if $debug;
|
|
||||||
|
|
||||||
print STDOUT "Namespace cleanness check for " . $library . " :\n";
|
|
||||||
|
|
||||||
$lib_file = "";
|
|
||||||
if( $library =~ /\.la$/ )
|
|
||||||
{
|
|
||||||
# get the real library file from .la
|
|
||||||
open( FILEIN, $library ) || die "Couldn't open $! !\n";
|
|
||||||
while( $line = <FILEIN> )
|
|
||||||
{
|
|
||||||
if( $line =~ /library_names=\'([^ ]*).*/o )
|
|
||||||
{
|
|
||||||
$lib_file = $1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close( FILEIN );
|
|
||||||
if( ! $lib_file )
|
|
||||||
{
|
|
||||||
print STDERR "Library file not found in .la file!\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
my $libpath = $library;
|
|
||||||
$libpath =~ s%[^/]*$%%;
|
|
||||||
if( -e $libpath . ".libs/" . $lib_file )
|
|
||||||
{
|
|
||||||
$lib_file = $libpath . ".libs/" . $lib_file;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$lib_file = $libpath . $lib_file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$lib_file = $library;
|
|
||||||
}
|
|
||||||
|
|
||||||
print STDERR "libfile: ". $lib_file . "\n" if $debug;
|
|
||||||
|
|
||||||
$allowed_symbols .= " " . $default_symbols;
|
|
||||||
|
|
||||||
sub process_symbols($\@\%\@);
|
|
||||||
|
|
||||||
@wildcards = ();
|
|
||||||
%exacts = ();
|
|
||||||
@regwildcards = ();
|
|
||||||
process_symbols( $allowed_symbols, @wildcards, %exacts, @regwildcards );
|
|
||||||
@weak_wildcards = ();
|
|
||||||
%weak_exacts = ();
|
|
||||||
@weak_regwildcards = ();
|
|
||||||
process_symbols( $allowed_weak, @weak_wildcards, %weak_exacts, @weak_regwildcards );
|
|
||||||
|
|
||||||
# grep is for stripping not exported symbols, which don't have address (=first column)
|
|
||||||
$nm_command = "nm -BDCg " . $lib_file . " | grep -v '^ ' |";
|
|
||||||
|
|
||||||
# TODO how portable is this nmcheck stuff?
|
|
||||||
|
|
||||||
print STDERR "nm command:" . $nm_command . "\n" if $debug;
|
|
||||||
|
|
||||||
open( FILEIN, $nm_command ) || die "nm command failed\n";
|
|
||||||
|
|
||||||
my $exit_code = 0;
|
|
||||||
|
|
||||||
while( $line = <FILEIN> )
|
|
||||||
{
|
|
||||||
my $type;
|
|
||||||
my $symbol;
|
|
||||||
if( $line =~ /^[^ ]* (.) (.*)$/o )
|
|
||||||
{
|
|
||||||
$type = $1;
|
|
||||||
$symbol = $2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
die "Invalid line: " . $line . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
print STDERR "Type: " . $type . " , symbol: " . $symbol . "\n" if $debug;
|
|
||||||
if( $type eq "A" )
|
|
||||||
{ # these should be system symbols, so ignore them
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
my $orig_symbol = $symbol;
|
|
||||||
|
|
||||||
if( $symbol =~ /\(anonymous namespace\)/o )
|
|
||||||
{ # TODO tell to prefer named namespaces? (shorter symbols)
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
# strip prefixes
|
|
||||||
# the :: appending is to make "CLASS::*" work also for "vtable for CLASS"
|
|
||||||
$symbol =~ s/^typeinfo for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^typeinfo fn for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^typeinfo name for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^vtable for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^guard variable for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^reference temporary for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^VTT for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^virtual thunk \[[^\]]*\] to (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^non-virtual thunk \[[^\]]*\] to (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^covariant return thunk \[[^\]]*\] to (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^construction vtable thunk for (.*)$/$1::/o;
|
|
||||||
$symbol =~ s/^construction vtable for .*-in-(.*) [0-9]*$/$1::/o;
|
|
||||||
|
|
||||||
# templates seem to have also return types mangled in their name, and nm prints it too
|
|
||||||
# they have also template arguments in the symbol
|
|
||||||
# get rid of both of those
|
|
||||||
while( $symbol =~ /<.*>/o )
|
|
||||||
{
|
|
||||||
$symbol =~ s/<[^<>]*>//o; # strip innermost <>
|
|
||||||
}
|
|
||||||
if( $symbol !~ /operator\(\)/o )
|
|
||||||
{
|
|
||||||
$symbol =~ s/ ?\(.*\).*$//o; # strip () and all after it
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$symbol =~ s/(^|:| )operator\(\) ?\(.*\).*$//o; # strip () and all after it
|
|
||||||
}
|
|
||||||
$symbol =~ s/\[.*\] *$//o; # strip [in-charge] etc.
|
|
||||||
if( $symbol =~ /(^|:| )operator /o )
|
|
||||||
{
|
|
||||||
$symbol =~ s/.* ([^\s]*)operator /$1/o; # strip everything before 'X::operator blah'
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$symbol =~ s/.* ([^\s]+) *$/$1/o; # get last word (strip return type)
|
|
||||||
}
|
|
||||||
|
|
||||||
# print STDERR "Processed symbol: " . $symbol . "\n" if $debug;
|
|
||||||
|
|
||||||
my $found = 0;
|
|
||||||
if( $exacts{ $symbol } )
|
|
||||||
{
|
|
||||||
$found = 1;
|
|
||||||
}
|
|
||||||
if( ! $found )
|
|
||||||
{
|
|
||||||
for my $wild ( @wildcards )
|
|
||||||
{
|
|
||||||
if( index( $symbol, $wild ) == 0 )
|
|
||||||
{
|
|
||||||
$found = 1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( ! $found )
|
|
||||||
{
|
|
||||||
for my $wild ( @regwildcards )
|
|
||||||
{
|
|
||||||
if( $symbol =~ /^$wild$/ )
|
|
||||||
{
|
|
||||||
$found = 1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( ( ! $found ) && ( $type eq "W" || $type eq "V" ))
|
|
||||||
{
|
|
||||||
if( $weak_exacts{ $symbol } )
|
|
||||||
{
|
|
||||||
$found = 1;
|
|
||||||
}
|
|
||||||
if( ! $found )
|
|
||||||
{
|
|
||||||
for my $wild ( @weak_wildcards )
|
|
||||||
{
|
|
||||||
if( index( $symbol, $wild ) == 0 )
|
|
||||||
{
|
|
||||||
$found = 1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( ! $found )
|
|
||||||
{
|
|
||||||
for my $wild ( @weak_regwildcards )
|
|
||||||
{
|
|
||||||
if( $symbol =~ /^$wild$/ )
|
|
||||||
{
|
|
||||||
$found = 1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ! $found )
|
|
||||||
{
|
|
||||||
print STDERR "Public symbol " . $orig_symbol . " is not allowed!\n";
|
|
||||||
$exit_code = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close( FILEIN );
|
|
||||||
|
|
||||||
print STDOUT $exit_code == 0 ? "OK\n" : "FAILED\n";
|
|
||||||
|
|
||||||
exit $exit_code;
|
|
||||||
|
|
||||||
sub process_symbols($\@\%\@)
|
|
||||||
{
|
|
||||||
my $allowed_symbols = $_[ 0 ];
|
|
||||||
my $wildcards_ref = $_[ 1 ];
|
|
||||||
my $exacts_ref = $_[ 2 ];
|
|
||||||
my $regwildcards_ref = $_[ 3 ];
|
|
||||||
|
|
||||||
$allowed_symbols =~ s/^ *//o; # strip whitespace
|
|
||||||
$allowed_symbols =~ s/ *$//o;
|
|
||||||
|
|
||||||
if( $allowed_symbols eq "NONE" )
|
|
||||||
{
|
|
||||||
$allowed_symbols = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
my @symbols1 = split( ' ', $allowed_symbols );
|
|
||||||
my $i = 0;
|
|
||||||
my @symbols2 = ();
|
|
||||||
while( defined( $symbols1[ $i ] ))
|
|
||||||
{
|
|
||||||
my $symbol = $symbols1[ $i ];
|
|
||||||
if( $symbol =~ /\./ ) # dot in name -> file
|
|
||||||
{
|
|
||||||
open( SYMIN, $symbol ) || die ( "Cannot open file " . $symbol . "!" );
|
|
||||||
while( $line = <SYMIN> )
|
|
||||||
{
|
|
||||||
$line =~ s/^\s*//o; # strip whitespace
|
|
||||||
$line =~ s/\s*$//o;
|
|
||||||
if( $line !~ /^$/o # empty line
|
|
||||||
&& $line !~ /^\s*#/ ) # comment line starting with #
|
|
||||||
{
|
|
||||||
$symbols2[ $#symbols2 + 1 ] = $line;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close( SYMIN );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$symbols2[ $#symbols2 + 1 ] = $symbol;
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
$i = 0;
|
|
||||||
while( defined( $symbols2[ $i ] ))
|
|
||||||
{
|
|
||||||
my $symbol = $symbols2[ $i ];
|
|
||||||
if( $symbol =~ /__/
|
|
||||||
|| $symbol =~ /^_[A-Z]/ )
|
|
||||||
{ # ISO C++ 2.10.2
|
|
||||||
die "Symbols containing a double underscore or beginning with an underscore and an upper-case letter are reserved!\n";
|
|
||||||
}
|
|
||||||
elsif( $symbol eq "main"
|
|
||||||
|| $symbol eq "main*" )
|
|
||||||
{
|
|
||||||
die "Symbol main is not allowed!\n";
|
|
||||||
}
|
|
||||||
if( $symbol =~ /^([^\*]*)\*$/o # trailing * without any * before it
|
|
||||||
&& $symbol !~ /operator\*$/o )
|
|
||||||
{
|
|
||||||
print STDERR "wildcard:" . $symbol . "\n" if $debug;
|
|
||||||
$wildcards_ref->[ $#{$wildcards_ref} + 1 ] = $1;
|
|
||||||
}
|
|
||||||
elsif( $symbol =~ /\*$/o
|
|
||||||
&& ( $symbol =~ /\*::/o || $symbol =~ /::\*/o )
|
|
||||||
&& $symbol !~ /^\*/o
|
|
||||||
&& $symbol !~ /operator\*$/o )
|
|
||||||
{
|
|
||||||
print STDERR "regwildcard:" . $symbol . "\n" if $debug;
|
|
||||||
$symbol =~ s/\*/\.\*/go; # change * to .* (regexp)
|
|
||||||
$regwildcards_ref->[ $#{$regwildcards_ref} + 1 ] = $symbol;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print STDERR "exact:" . $symbol . "\n" if $debug;
|
|
||||||
$exacts_ref->{ $symbol } = 1;
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,192 +0,0 @@
|
|||||||
### -*- autoconf -*-
|
|
||||||
|
|
||||||
dnl This file is part of the KDE libraries/packages
|
|
||||||
dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
|
|
||||||
dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
|
|
||||||
|
|
||||||
dnl This file is free software; you can redistribute it and/or
|
|
||||||
dnl modify it under the terms of the GNU Library General Public
|
|
||||||
dnl License as published by the Free Software Foundation; either
|
|
||||||
dnl version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
dnl This library is distributed in the hope that it will be useful,
|
|
||||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
dnl Library General Public License for more details.
|
|
||||||
|
|
||||||
dnl You should have received a copy of the GNU Library General Public License
|
|
||||||
dnl along with this library; see the file COPYING.LIB. If not, write to
|
|
||||||
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
||||||
dnl Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
AC_DEFUN([KDE_CHECK_MICO],
|
|
||||||
[
|
|
||||||
AC_REQUIRE([KDE_CHECK_LIBDL])
|
|
||||||
AC_REQUIRE([KDE_MISC_TESTS])
|
|
||||||
AC_MSG_CHECKING(for MICO)
|
|
||||||
|
|
||||||
if test -z "$MICODIR"; then
|
|
||||||
kde_micodir=/usr/local
|
|
||||||
else
|
|
||||||
kde_micodir="$MICODIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH(micodir,
|
|
||||||
[ --with-micodir=micodir where mico is installed ],
|
|
||||||
kde_micodir=$withval,
|
|
||||||
kde_micodir=$kde_micodir
|
|
||||||
)
|
|
||||||
|
|
||||||
AC_CACHE_VAL(kde_cv_mico_incdir,
|
|
||||||
[
|
|
||||||
mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
|
|
||||||
AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
|
|
||||||
|
|
||||||
])
|
|
||||||
kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
|
|
||||||
|
|
||||||
if test ! -r $kde_micodir/include/CORBA.h; then
|
|
||||||
AC_MSG_ERROR([No CORBA.h found, specify another micodir])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_RESULT($kde_micodir)
|
|
||||||
|
|
||||||
MICO_INCLUDES=-I$kde_micodir/include
|
|
||||||
AC_SUBST(MICO_INCLUDES)
|
|
||||||
MICO_LDFLAGS=-L$kde_micodir/lib
|
|
||||||
AC_SUBST(MICO_LDFLAGS)
|
|
||||||
micodir=$kde_micodir
|
|
||||||
AC_SUBST(micodir)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for MICO version])
|
|
||||||
AC_CACHE_VAL(kde_cv_mico_version,
|
|
||||||
[
|
|
||||||
AC_LANG_C
|
|
||||||
cat >conftest.$ac_ext <<EOF
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <mico/version.h>
|
|
||||||
int main() {
|
|
||||||
|
|
||||||
printf("MICO_VERSION=%s\n",MICO_VERSION);
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
|
|
||||||
if AC_TRY_EVAL(ac_compile); then
|
|
||||||
if eval `./conftest 2>&5`; then
|
|
||||||
kde_cv_mico_version=$MICO_VERSION
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([your system is not able to execute a small application to
|
|
||||||
find MICO version! Check $kde_micodir/include/mico/version.h])
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([your system is not able to compile a small application to
|
|
||||||
find MICO version! Check $kde_micodir/include/mico/version.h])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl installed MICO version
|
|
||||||
mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
|
|
||||||
mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
|
|
||||||
mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
|
|
||||||
|
|
||||||
if test "x$1" = "x"; then
|
|
||||||
req_version="2.3.0"
|
|
||||||
else
|
|
||||||
req_version=$1
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl required MICO version
|
|
||||||
req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
|
|
||||||
req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
|
|
||||||
req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
|
|
||||||
|
|
||||||
if test "$mico_v_maj" -lt "$req_v_maj" || \
|
|
||||||
( test "$mico_v_maj" -eq "$req_v_maj" && \
|
|
||||||
test "$mico_v_mid" -lt "$req_v_mid" ) || \
|
|
||||||
( test "$mico_v_mid" -eq "$req_v_mid" && \
|
|
||||||
test "$mico_v_min" -lt "$req_v_min" )
|
|
||||||
|
|
||||||
then
|
|
||||||
AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
|
|
||||||
at least is required. You should upgrade MICO.])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
|
|
||||||
fi
|
|
||||||
|
|
||||||
LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
|
|
||||||
AC_SUBST(LIBMICO)
|
|
||||||
if test -z "$IDL"; then
|
|
||||||
IDL='$(kde_bindir)/cuteidl'
|
|
||||||
fi
|
|
||||||
AC_SUBST(IDL)
|
|
||||||
IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
|
|
||||||
AC_SUBST(IDL_DEPENDENCIES)
|
|
||||||
|
|
||||||
idldir="\$(includedir)/idl"
|
|
||||||
AC_SUBST(idldir)
|
|
||||||
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([KDE_CHECK_MINI_STL],
|
|
||||||
[
|
|
||||||
AC_REQUIRE([KDE_CHECK_MICO])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(if we use mico's mini-STL)
|
|
||||||
AC_CACHE_VAL(kde_cv_have_mini_stl,
|
|
||||||
[
|
|
||||||
AC_LANG_SAVE
|
|
||||||
AC_LANG_CPLUSPLUS
|
|
||||||
kde_save_cxxflags="$CXXFLAGS"
|
|
||||||
CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
|
|
||||||
AC_TRY_COMPILE(
|
|
||||||
[
|
|
||||||
#include <mico/config.h>
|
|
||||||
],
|
|
||||||
[
|
|
||||||
#ifdef HAVE_MINI_STL
|
|
||||||
#error "nothing"
|
|
||||||
#endif
|
|
||||||
],
|
|
||||||
kde_cv_have_mini_stl=no,
|
|
||||||
kde_cv_have_mini_stl=yes)
|
|
||||||
CXXFLAGS="$kde_save_cxxflags"
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
])
|
|
||||||
|
|
||||||
if test "x$kde_cv_have_mini_stl" = "xyes"; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
$1
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
$2
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([KDE_CHECK_ANSI],
|
|
||||||
[
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([KDE_CHECK_INSURE],
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]],
|
|
||||||
[
|
|
||||||
if test $enableval = "no"; dnl
|
|
||||||
then ac_use_insure="no"
|
|
||||||
else ac_use_insure="yes"
|
|
||||||
fi
|
|
||||||
], [ac_use_insure="no"])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(if we will use Insure++ to debug)
|
|
||||||
AC_MSG_RESULT($ac_use_insure)
|
|
||||||
if test "$ac_use_insure" = "yes"; dnl
|
|
||||||
then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([KDE_CHECK_NEWLIBS],
|
|
||||||
[
|
|
||||||
|
|
||||||
])
|
|
@ -1,57 +0,0 @@
|
|||||||
|
|
||||||
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
|
|
||||||
dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
|
|
||||||
dnl also defines GSTUFF_PKG_ERRORS on error
|
|
||||||
AC_DEFUN([PKG_CHECK_MODULES], [
|
|
||||||
succeeded=no
|
|
||||||
|
|
||||||
if test -z "$PKG_CONFIG"; then
|
|
||||||
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$PKG_CONFIG" = "no" ; then
|
|
||||||
echo "*** The pkg-config script could not be found. Make sure it is"
|
|
||||||
echo "*** in your path, or set the PKG_CONFIG environment variable"
|
|
||||||
echo "*** to the full path to pkg-config."
|
|
||||||
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
|
|
||||||
else
|
|
||||||
PKG_CONFIG_MIN_VERSION=0.9.0
|
|
||||||
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
|
|
||||||
AC_MSG_CHECKING(for $2)
|
|
||||||
|
|
||||||
if $PKG_CONFIG --exists "$2" ; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
succeeded=yes
|
|
||||||
|
|
||||||
AC_MSG_CHECKING($1_CFLAGS)
|
|
||||||
$1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
|
|
||||||
AC_MSG_RESULT($$1_CFLAGS)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING($1_LIBS)
|
|
||||||
$1_LIBS=`$PKG_CONFIG --libs "$2"`
|
|
||||||
AC_MSG_RESULT($$1_LIBS)
|
|
||||||
else
|
|
||||||
$1_CFLAGS=""
|
|
||||||
$1_LIBS=""
|
|
||||||
## If we have a custom action on failure, don't print errors, but
|
|
||||||
## do set a variable so people can do so.
|
|
||||||
$1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
|
|
||||||
ifelse([$4], ,echo $$1_PKG_ERRORS,)
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST($1_CFLAGS)
|
|
||||||
AC_SUBST($1_LIBS)
|
|
||||||
else
|
|
||||||
echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
|
|
||||||
echo "*** See http://www.freedesktop.org/software/pkgconfig"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $succeeded = yes; then
|
|
||||||
ifelse([$3], , :, [$3])
|
|
||||||
else
|
|
||||||
ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
@ -1,223 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
# ylwrap - wrapper for lex/yacc invocations.
|
|
||||||
|
|
||||||
scriptversion=2005-05-14.22
|
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
|
|
||||||
# Free Software Foundation, Inc.
|
|
||||||
#
|
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
# any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
# 02110-1301, USA.
|
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
|
||||||
# distribute this file as part of a program that contains a
|
|
||||||
# configuration script generated by Autoconf, you may include it under
|
|
||||||
# the same distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
# This file is maintained in Automake, please report
|
|
||||||
# bugs to <bug-automake@gnu.org> or send patches to
|
|
||||||
# <automake-patches@gnu.org>.
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
'')
|
|
||||||
echo "$0: No files given. Try \`$0 --help' for more information." 1>&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
--basedir)
|
|
||||||
basedir=$2
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
-h|--h*)
|
|
||||||
cat <<\EOF
|
|
||||||
Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
|
|
||||||
|
|
||||||
Wrapper for lex/yacc invocations, renaming files as desired.
|
|
||||||
|
|
||||||
INPUT is the input file
|
|
||||||
OUTPUT is one file PROG generates
|
|
||||||
DESIRED is the file we actually want instead of OUTPUT
|
|
||||||
PROGRAM is program to run
|
|
||||||
ARGS are passed to PROG
|
|
||||||
|
|
||||||
Any number of OUTPUT,DESIRED pairs may be used.
|
|
||||||
|
|
||||||
Report bugs to <bug-automake@gnu.org>.
|
|
||||||
EOF
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
-v|--v*)
|
|
||||||
echo "ylwrap $scriptversion"
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
# The input.
|
|
||||||
input="$1"
|
|
||||||
shift
|
|
||||||
case "$input" in
|
|
||||||
[\\/]* | ?:[\\/]*)
|
|
||||||
# Absolute path; do nothing.
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# Relative path. Make it absolute.
|
|
||||||
input="`pwd`/$input"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
pairlist=
|
|
||||||
while test "$#" -ne 0; do
|
|
||||||
if test "$1" = "--"; then
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
pairlist="$pairlist $1"
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# The program to run.
|
|
||||||
prog="$1"
|
|
||||||
shift
|
|
||||||
# Make any relative path in $prog absolute.
|
|
||||||
case "$prog" in
|
|
||||||
[\\/]* | ?:[\\/]*) ;;
|
|
||||||
*[\\/]*) prog="`pwd`/$prog" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# FIXME: add hostname here for parallel makes that run commands on
|
|
||||||
# other machines. But that might take us over the 14-char limit.
|
|
||||||
dirname=ylwrap$$
|
|
||||||
trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
|
|
||||||
mkdir $dirname || exit 1
|
|
||||||
|
|
||||||
cd $dirname
|
|
||||||
|
|
||||||
case $# in
|
|
||||||
0) $prog "$input" ;;
|
|
||||||
*) $prog "$@" "$input" ;;
|
|
||||||
esac
|
|
||||||
ret=$?
|
|
||||||
|
|
||||||
if test $ret -eq 0; then
|
|
||||||
set X $pairlist
|
|
||||||
shift
|
|
||||||
first=yes
|
|
||||||
# Since DOS filename conventions don't allow two dots,
|
|
||||||
# the DOS version of Bison writes out y_tab.c instead of y.tab.c
|
|
||||||
# and y_tab.h instead of y.tab.h. Test to see if this is the case.
|
|
||||||
y_tab_nodot="no"
|
|
||||||
if test -f y_tab.c || test -f y_tab.h; then
|
|
||||||
y_tab_nodot="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The directory holding the input.
|
|
||||||
input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
|
|
||||||
# Quote $INPUT_DIR so we can use it in a regexp.
|
|
||||||
# FIXME: really we should care about more than `.' and `\'.
|
|
||||||
input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
|
|
||||||
|
|
||||||
while test "$#" -ne 0; do
|
|
||||||
from="$1"
|
|
||||||
# Handle y_tab.c and y_tab.h output by DOS
|
|
||||||
if test $y_tab_nodot = "yes"; then
|
|
||||||
if test $from = "y.tab.c"; then
|
|
||||||
from="y_tab.c"
|
|
||||||
else
|
|
||||||
if test $from = "y.tab.h"; then
|
|
||||||
from="y_tab.h"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test -f "$from"; then
|
|
||||||
# If $2 is an absolute path name, then just use that,
|
|
||||||
# otherwise prepend `../'.
|
|
||||||
case "$2" in
|
|
||||||
[\\/]* | ?:[\\/]*) target="$2";;
|
|
||||||
*) target="../$2";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# We do not want to overwrite a header file if it hasn't
|
|
||||||
# changed. This avoid useless recompilations. However the
|
|
||||||
# parser itself (the first file) should always be updated,
|
|
||||||
# because it is the destination of the .y.c rule in the
|
|
||||||
# Makefile. Divert the output of all other files to a temporary
|
|
||||||
# file so we can compare them to existing versions.
|
|
||||||
if test $first = no; then
|
|
||||||
realtarget="$target"
|
|
||||||
target="tmp-`echo $target | sed s/.*[\\/]//g`"
|
|
||||||
fi
|
|
||||||
# Edit out `#line' or `#' directives.
|
|
||||||
#
|
|
||||||
# We don't want the resulting debug information to point at
|
|
||||||
# an absolute srcdir; it is better for it to just mention the
|
|
||||||
# .y file with no path.
|
|
||||||
#
|
|
||||||
# We want to use the real output file name, not yy.lex.c for
|
|
||||||
# instance.
|
|
||||||
#
|
|
||||||
# We want the include guards to be adjusted too.
|
|
||||||
FROM=`echo "$from" | sed \
|
|
||||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
|
|
||||||
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
|
|
||||||
TARGET=`echo "$2" | sed \
|
|
||||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
|
|
||||||
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
|
|
||||||
|
|
||||||
sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
|
|
||||||
-e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
|
|
||||||
|
|
||||||
# Check whether header files must be updated.
|
|
||||||
if test $first = no; then
|
|
||||||
if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
|
|
||||||
echo "$2" is unchanged
|
|
||||||
rm -f "$target"
|
|
||||||
else
|
|
||||||
echo updating "$2"
|
|
||||||
mv -f "$target" "$realtarget"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# A missing file is only an error for the first file. This
|
|
||||||
# is a blatant hack to let us support using "yacc -d". If -d
|
|
||||||
# is not specified, we don't want an error when the header
|
|
||||||
# file is "missing".
|
|
||||||
if test $first = yes; then
|
|
||||||
ret=1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
first=no
|
|
||||||
done
|
|
||||||
else
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove the directory.
|
|
||||||
cd ..
|
|
||||||
rm -rf $dirname
|
|
||||||
|
|
||||||
exit $ret
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: shell-script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-end: "$"
|
|
||||||
# End:
|
|
Loading…
Reference in new issue