git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/potracegui@1101756 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
parent
a39b92f278
commit
9fadd947a7
@ -1,102 +0,0 @@
|
||||
## generate API documentation with doxygen
|
||||
apidox-am-yes:
|
||||
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \
|
||||
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
|
||||
fi ; \
|
||||
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
|
||||
test -d $(top_builddir)/apidocs || \
|
||||
( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
|
||||
--no-modulename --installdir=$(kde_libs_htmldir)/en \
|
||||
--no-recurse $(abs_top_srcdir) . ) ; \
|
||||
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
|
||||
--recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \
|
||||
$$abs_top_srcdir $(subdir)
|
||||
|
||||
apidox-am-toplevel-yes:
|
||||
@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \
|
||||
export DOXDATA=$(kde_libs_htmldir)/en/common ; \
|
||||
fi ; \
|
||||
abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
|
||||
cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
|
||||
--no-modulename --installdir=$(kde_libs_htmldir)/en \
|
||||
$$abs_top_srcdir
|
||||
|
||||
## Don't generate API documentation without doxygen
|
||||
apidox-am-no:
|
||||
|
||||
apidox-am-toplevel-no:
|
||||
|
||||
|
||||
apidox:
|
||||
@if test "$(subdir)" != "."; then \
|
||||
$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\
|
||||
else \
|
||||
$(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\
|
||||
fi
|
||||
|
||||
|
||||
|
||||
install-data-local: install-apidox
|
||||
|
||||
## install API documentation
|
||||
install-apidox:
|
||||
@if test "$(subdir)" != "."; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \
|
||||
if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \
|
||||
echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
|
||||
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
|
||||
fi; \
|
||||
if test -d $(top_builddir)/apidocs/$(subdir)/html; then \
|
||||
list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \
|
||||
echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\
|
||||
for file in $$list; do \
|
||||
$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \
|
||||
done; \
|
||||
fi; \
|
||||
else\
|
||||
if test -d $(top_builddir)/apidocs; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\
|
||||
list=`cd $(top_builddir)/apidocs && ls -1`; \
|
||||
echo "installing $(top_builddir)/apidocs/$$file" ;\
|
||||
echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \
|
||||
for file in $$list; do \
|
||||
if test -f $(top_builddir)/apidocs/$$file; then \
|
||||
$(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
|
||||
fi; \
|
||||
done ; fi; \
|
||||
fi
|
||||
|
||||
uninstall-local: uninstall-apidox
|
||||
|
||||
## uninstall API documentation
|
||||
uninstall-apidox:
|
||||
@if test "$(subdir)" != "."; then \
|
||||
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \
|
||||
rm -rf $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
|
||||
fi \
|
||||
else \
|
||||
if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \
|
||||
rm -rf $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
|
||||
fi \
|
||||
fi
|
||||
|
||||
install-apidox-recurse: install-apidox
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \
|
||||
list='$(SUBDIRS)'; \
|
||||
for subdir in $$list; do \
|
||||
if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \
|
||||
echo "Installing apidox from $$subdir"; \
|
||||
if test "$$subdir" != "."; then \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \
|
||||
fi ; fi ;\
|
||||
done; \
|
||||
fi
|
||||
|
||||
|
||||
|
||||
.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes
|
||||
|
||||
|
||||
# Local Variables:
|
||||
# mode: makefile
|
||||
# End:
|
File diff suppressed because it is too large
Load Diff
@ -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,662 +0,0 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# cvs.sh
|
||||
#
|
||||
# This file contains support code from Makefile.common
|
||||
# It defines a shell function for each known target
|
||||
# and then does a case to call the correct function.
|
||||
|
||||
unset MAKEFLAGS
|
||||
|
||||
call_and_fix_autoconf()
|
||||
{
|
||||
$AUTOCONF || exit 1
|
||||
if test -r configure.in.in ; then
|
||||
perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\
|
||||
\\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\
|
||||
\\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\
|
||||
\\n rm -f \\\$CONFIG_STATUS.bak\\nfi\
|
||||
\\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure
|
||||
fi
|
||||
}
|
||||
|
||||
strip_makefile()
|
||||
{
|
||||
if test ! -f $makefile_wo; then
|
||||
perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo
|
||||
fi
|
||||
}
|
||||
|
||||
check_autotool_versions()
|
||||
{
|
||||
required_autoconf_version="2.53 or newer"
|
||||
AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
|
||||
case $AUTOCONF_VERSION in
|
||||
Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;;
|
||||
"" )
|
||||
echo "*** AUTOCONF NOT FOUND!."
|
||||
echo "*** KDE requires autoconf $required_autoconf_version"
|
||||
exit 1
|
||||
;;
|
||||
* )
|
||||
echo "*** YOU'RE USING $AUTOCONF_VERSION."
|
||||
echo "*** KDE requires autoconf $required_autoconf_version"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
|
||||
case $AUTOHEADER_VERSION in
|
||||
Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;;
|
||||
"" )
|
||||
echo "*** AUTOHEADER NOT FOUND!."
|
||||
echo "*** KDE requires autoheader $required_autoconf_version"
|
||||
exit 1
|
||||
;;
|
||||
* )
|
||||
echo "*** YOU'RE USING $AUTOHEADER_VERSION."
|
||||
echo "*** KDE requires autoheader $required_autoconf_version"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
|
||||
required_automake_version="1.6.1 or newer"
|
||||
case $AUTOMAKE_STRING in
|
||||
automake*1.5d* | automake*1.5* | automake*1.5-* )
|
||||
echo "*** YOU'RE USING $AUTOMAKE_STRING."
|
||||
echo "*** KDE requires automake $required_automake_version"
|
||||
exit 1
|
||||
;;
|
||||
automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10* | automake*1.11* | automake*1.12*)
|
||||
echo "*** $AUTOMAKE_STRING found."
|
||||
UNSERMAKE=no
|
||||
;;
|
||||
"" )
|
||||
echo "*** AUTOMAKE NOT FOUND!."
|
||||
echo "*** KDE requires automake $required_automake_version"
|
||||
exit 1
|
||||
;;
|
||||
*unsermake* ) :
|
||||
echo "*** YOU'RE USING UNSERMAKE."
|
||||
echo "*** GOOD LUCK!! :)"
|
||||
UNSERMAKE=unsermake
|
||||
;;
|
||||
* )
|
||||
echo "*** YOU'RE USING $AUTOMAKE_STRING."
|
||||
echo "*** KDE requires automake $required_automake_version"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
unset required_automake_version
|
||||
}
|
||||
|
||||
cvs()
|
||||
{
|
||||
check_autotool_versions
|
||||
acinclude_m4
|
||||
|
||||
### Make new subdirs and configure.in.
|
||||
### The make calls could be optimized away here,
|
||||
### with a little thought.
|
||||
if test -r configure.in.in; then
|
||||
rm -f configure.in
|
||||
echo "*** Creating list of subdirectories"
|
||||
create_subdirs
|
||||
|
||||
if test -r Makefile.am.in; then
|
||||
echo "*** Creating Makefile.am"
|
||||
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
|
||||
else
|
||||
Makefile_am
|
||||
fi
|
||||
fi
|
||||
configure_files
|
||||
echo "*** Creating configure.in"
|
||||
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
|
||||
else
|
||||
configure_in
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "*** Creating aclocal.m4"
|
||||
$ACLOCAL $ACLOCALFLAGS || exit 1
|
||||
echo "*** Creating configure"
|
||||
call_and_fix_autoconf
|
||||
|
||||
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
|
||||
echo "*** Creating config.h template"
|
||||
$AUTOHEADER || exit 1
|
||||
touch config.h.in
|
||||
fi
|
||||
|
||||
echo "*** Creating Makefile templates"
|
||||
$AUTOMAKE || exit 1
|
||||
|
||||
if test "$UNSERMAKE" = no; then
|
||||
echo "*** Postprocessing Makefile templates"
|
||||
perl -w admin/am_edit || exit 1
|
||||
fi
|
||||
|
||||
if egrep "^cvs-local:" $makefile_am >/dev/null; then \
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1
|
||||
fi
|
||||
|
||||
echo "*** Creating date/time stamp"
|
||||
touch stamp-h.in
|
||||
|
||||
echo "*** Finished"
|
||||
echo " Don't forget to run ./configure"
|
||||
echo " If you haven't done so in a while, run ./configure --help"
|
||||
}
|
||||
|
||||
dist()
|
||||
{
|
||||
check_autotool_versions
|
||||
|
||||
###
|
||||
### First build all of the files necessary to do just "make"
|
||||
###
|
||||
acinclude_m4
|
||||
if test -r configure.in.in; then
|
||||
rm -f configure.in
|
||||
create_subdirs
|
||||
|
||||
if test -r Makefile.am.in; then
|
||||
if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
|
||||
else
|
||||
Makefile_am
|
||||
fi
|
||||
fi
|
||||
configure_files
|
||||
if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
|
||||
else
|
||||
configure_in
|
||||
fi
|
||||
fi
|
||||
$ACLOCAL $ACLOCALFLAGS
|
||||
if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
|
||||
echo "*** Creating config.h template"
|
||||
$AUTOHEADER || exit 1
|
||||
touch config.h.in
|
||||
fi
|
||||
$AUTOMAKE --foreign || exit 1
|
||||
if test "$UNSERMAKE" = no; then
|
||||
echo "*** Postprocessing Makefile templates"
|
||||
perl -w admin/am_edit || exit 1
|
||||
fi
|
||||
call_and_fix_autoconf
|
||||
touch stamp-h.in
|
||||
if grep "^cvs-local:" $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo cvs-local top_srcdir=.
|
||||
fi
|
||||
|
||||
###
|
||||
### Then make messages
|
||||
###
|
||||
if test -d po; then
|
||||
LIST=`find ./po -name "*.po"`
|
||||
for i in $LIST; do
|
||||
file2=`echo $i | sed -e "s#\.po#\.gmo#"`
|
||||
msgfmt -o $file2 $i || touch $file2
|
||||
done
|
||||
fi
|
||||
if grep "^cvs-dist-local:" $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo cvs-dist-local top_srcdir=.
|
||||
fi
|
||||
}
|
||||
|
||||
subdir_dist()
|
||||
{
|
||||
$ACLOCAL $ACLOCALFLAGS
|
||||
$AUTOHEADER
|
||||
touch config.h.in
|
||||
$AUTOMAKE
|
||||
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
|
||||
case $AUTOMAKE_STRING in
|
||||
*unsermake* ) :
|
||||
;;
|
||||
*)
|
||||
perl -w ../admin/am_edit --path=../admin
|
||||
esac
|
||||
call_and_fix_autoconf
|
||||
touch stamp-h.in
|
||||
}
|
||||
|
||||
configure_in()
|
||||
{
|
||||
rm -f configure.in configure.in.new
|
||||
kde_use_qt_param=
|
||||
test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
|
||||
list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"`
|
||||
: > configure.in.new
|
||||
for file in $list; do
|
||||
echo "dnl =======================================================" >> configure.in.new
|
||||
echo "dnl FILE: $file" >> configure.in.new
|
||||
echo "dnl =======================================================" >> configure.in.new
|
||||
echo "" >> configure.in.new
|
||||
cat $file >> configure.in.new
|
||||
done
|
||||
echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
|
||||
if test -f Makefile.am.in; then
|
||||
subdirs=`cat subdirs`
|
||||
for dir in $subdirs; do
|
||||
vdir=`echo $dir | sed -e 's,[-+.@],_,g'`
|
||||
echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new
|
||||
if test -f "$dir/configure.in"; then
|
||||
echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new
|
||||
echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new
|
||||
echo "fi" >> configure.in.new
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
|
||||
|
||||
if test -f inst-apps; then
|
||||
topleveldirs=`cat inst-apps`
|
||||
else
|
||||
topleveldirs=
|
||||
for dir in `ls -1d * | sort`; do
|
||||
if test "$dir" != "debian" && test -d $dir; then
|
||||
topleveldirs="$topleveldirs $dir"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for topleveldir in $topleveldirs; do
|
||||
if test -f $topleveldir/configure.in; then
|
||||
continue
|
||||
fi
|
||||
if test -f $topleveldir/Makefile.am; then :; else
|
||||
continue
|
||||
fi
|
||||
|
||||
mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \
|
||||
sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'`
|
||||
for i in $mfs; do
|
||||
echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new
|
||||
done
|
||||
done
|
||||
|
||||
files=`cat configure.files`
|
||||
list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"`
|
||||
for file in $list; do
|
||||
echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new
|
||||
done
|
||||
|
||||
midfiles=`cat configure.files | fgrep "configure.in.mid"`
|
||||
test -n "$midfiles" && cat $midfiles >> configure.in.new
|
||||
|
||||
echo "AC_OUTPUT" >> configure.in.new
|
||||
modulename=
|
||||
if test -f configure.in.in; then
|
||||
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then
|
||||
kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"`
|
||||
fi
|
||||
if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then
|
||||
line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in`
|
||||
if test -n "$line"; then
|
||||
modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"`
|
||||
VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"`
|
||||
fi
|
||||
sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \
|
||||
configure.in.new > configure.in && mv configure.in configure.in.new
|
||||
fi
|
||||
fi
|
||||
if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
|
||||
VERSION="\"3.5.10\""
|
||||
fi
|
||||
if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then
|
||||
modulename=`pwd`;
|
||||
modulename=`basename $modulename`
|
||||
esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"`
|
||||
modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"`
|
||||
|
||||
fi
|
||||
if test -n "$kde_use_qt_param"; then
|
||||
sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \
|
||||
configure.in.new > configure.in && mv configure.in configure.in.new
|
||||
fi
|
||||
sed -e "s#@MODULENAME@#$modulename#" configure.in.new |
|
||||
sed -e "s#@VERSION@#$VERSION#" > configure.in
|
||||
botfiles=`cat configure.files | egrep "configure.in.bot"`
|
||||
test -n "$botfiles" && cat $botfiles >> configure.in
|
||||
cat $admindir/configure.in.bot.end >> configure.in
|
||||
rm -f configure.in.new
|
||||
}
|
||||
|
||||
configure_files()
|
||||
{
|
||||
echo "*** Creating configure.files"
|
||||
admindir=NO
|
||||
for i in . .. ../.. ../../..; do
|
||||
if test -x $i/admin; then admindir=$i/admin; break; fi
|
||||
done
|
||||
rm -f configure.files
|
||||
touch configure.files
|
||||
if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then
|
||||
echo $admindir/configure.in.min >> configure.files
|
||||
fi
|
||||
test -f configure.in.in && echo configure.in.in >> configure.files
|
||||
# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs
|
||||
if test -f inst-apps; then
|
||||
inst=`cat inst-apps`
|
||||
list=""
|
||||
for i in $inst; do
|
||||
list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
|
||||
sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`"
|
||||
done
|
||||
else
|
||||
list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
|
||||
sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`
|
||||
fi
|
||||
for i in $list; do if test -f $i && test `dirname $i` != "." ; then
|
||||
echo $i >> configure.files
|
||||
fi; done
|
||||
test -f configure.in.mid && echo configure.in.mid >> configure.files
|
||||
test -f configure.in.bot && echo configure.in.bot >> configure.files
|
||||
if test ! -s configure.files; then
|
||||
echo "There are no files to build a configure. Please check your checkout."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
create_subdirs()
|
||||
{
|
||||
if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then
|
||||
# as many modules contain rules to create subdirs without any
|
||||
# dependencies make won't create it unless there is no file.
|
||||
# so we check if that's a dummy rule or one that works
|
||||
rm -f subdirs.cvs.sh.$$
|
||||
if test -f subdirs; then
|
||||
mv subdirs subdirs.cvs.sh.$$
|
||||
fi
|
||||
strip_makefile
|
||||
$MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1
|
||||
if test -f subdirs.cvs.sh.$$; then
|
||||
if test -s subdirs; then
|
||||
rm subdirs.cvs.sh.$$
|
||||
else
|
||||
mv subdirs.cvs.sh.$$ subdirs
|
||||
fi
|
||||
fi
|
||||
else
|
||||
subdirs
|
||||
fi
|
||||
}
|
||||
|
||||
subdirs()
|
||||
{
|
||||
dirs=
|
||||
idirs=
|
||||
if test -f inst-apps; then
|
||||
idirs=`cat inst-apps`
|
||||
else
|
||||
idirs=`ls -1 | sort`
|
||||
fi
|
||||
|
||||
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
||||
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
||||
for i in $idirs; do
|
||||
if test -f $i/Makefile.am; then
|
||||
case " $compilefirst $compilelast " in
|
||||
*" $i "*) ;;
|
||||
*) dirs="$dirs $i"
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
: > ./_SUBDIRS
|
||||
|
||||
for d in $compilefirst; do
|
||||
echo $d >> ./_SUBDIRS
|
||||
done
|
||||
|
||||
(for d in $dirs; do
|
||||
list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
|
||||
for s in $list; do
|
||||
echo $s $d
|
||||
done
|
||||
list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1`
|
||||
for s in $list; do
|
||||
echo $d $s
|
||||
done
|
||||
echo $d $d
|
||||
done ) | tsort >> ./_SUBDIRS
|
||||
|
||||
for d in $compilelast; do
|
||||
echo $d >> ./_SUBDIRS
|
||||
done
|
||||
|
||||
if test -r subdirs && cmp -s subdirs _SUBDIRS; then
|
||||
rm -f _SUBDIRS
|
||||
fi
|
||||
test -r _SUBDIRS && mv _SUBDIRS subdirs || true
|
||||
}
|
||||
|
||||
Makefile_am()
|
||||
{
|
||||
if test -f Makefile.am.in; then
|
||||
compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
||||
compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`
|
||||
|
||||
idirs=
|
||||
dirs=
|
||||
if test -f inst-apps; then
|
||||
idirs=`cat inst-apps`
|
||||
else
|
||||
idirs=`cat subdirs`
|
||||
fi
|
||||
for i in $idirs; do
|
||||
case " $compilefirst $compilelast " in
|
||||
*" $i "*) ;;
|
||||
*) dirs="$dirs $i"
|
||||
esac
|
||||
done
|
||||
|
||||
adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'`
|
||||
if echo "$adds" | fgrep "*" >/dev/null ; then
|
||||
adds=`ls -d -1 $adds 2>/dev/null`
|
||||
fgrep -v '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds
|
||||
str='$(top_srcdir)/acinclude.m4:'
|
||||
for add in $adds; do
|
||||
str="$str \$(top_srcdir)/$add"
|
||||
done
|
||||
echo $str >> Makefile.am.in.adds
|
||||
else
|
||||
cat Makefile.am.in > Makefile.am.in.adds
|
||||
fi
|
||||
|
||||
cat Makefile.am.in.adds | \
|
||||
sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \
|
||||
sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am
|
||||
echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am
|
||||
rm Makefile.am.in.adds
|
||||
fi
|
||||
}
|
||||
|
||||
acinclude_m4()
|
||||
{
|
||||
echo "*** Creating acinclude.m4"
|
||||
adds=
|
||||
if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
|
||||
strip_makefile
|
||||
rm -f acinclude.m4
|
||||
adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'`
|
||||
if echo $adds | fgrep "*" >/dev/null ; then
|
||||
adds=`ls -d -1 $adds 2>/dev/null`
|
||||
else
|
||||
$MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1
|
||||
fi
|
||||
else
|
||||
rm -f acinclude.m4
|
||||
fi
|
||||
# if it wasn't created up to now, then we do it better
|
||||
if test ! -f acinclude.m4; then
|
||||
cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4
|
||||
fi
|
||||
}
|
||||
|
||||
package_merge()
|
||||
{
|
||||
catalogs=$POFILES
|
||||
for cat in $catalogs; do
|
||||
msgmerge -o $cat.new $cat $PACKAGE.pot
|
||||
if test -s $cat.new; then
|
||||
grep -v "\"POT-Creation" $cat.new > $cat.new.2
|
||||
grep -v "\"POT-Creation" $cat >> $cat.new.1
|
||||
if diff $cat.new.1 $cat.new.2; then
|
||||
rm $cat.new
|
||||
else
|
||||
mv $cat.new $cat
|
||||
fi
|
||||
rm -f $cat.new.1 $cat.new.2
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
extract_messages()
|
||||
{
|
||||
podir=${podir:-$PWD/po}
|
||||
files=`find . -name Makefile.am | xargs egrep -l '^messages:' `
|
||||
dirs=`for i in $files; do echo \`dirname $i\`; done`
|
||||
tmpname="$PWD/messages.log"
|
||||
export PATH=$PATH:/opt/kde3/bin
|
||||
if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi
|
||||
if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi
|
||||
export EXTRACTRC PREPARETIPS
|
||||
|
||||
for subdir in $dirs; do
|
||||
test -z "$VERBOSE" || echo "Making messages in $subdir"
|
||||
(cd $subdir
|
||||
if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then
|
||||
$EXTRACTRC *.rc *.ui *.kcfg > rc.cpp
|
||||
else
|
||||
candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null`
|
||||
if test -n "$candidates"; then
|
||||
echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line"
|
||||
fi
|
||||
fi
|
||||
if find . -name \*.c\* -o -name \*.h\* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then
|
||||
echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp
|
||||
else echo " " > _translatorinfo.cpp
|
||||
fi
|
||||
perl -e '$mes=0; while (<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,256 +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 lexicographically compare two version strings, a and b.
|
||||
# If a > b, 1 is returned.
|
||||
# If a == b, 0 is returned.
|
||||
# If a < b, -1 is returned.
|
||||
#
|
||||
# If the strings are of uneven number length then the shorter string is
|
||||
# prepended by enough zeroes to make the two string lengths equal in order to
|
||||
# allow an accurate comparison. Note that the zero-padding only occurs in
|
||||
# between version separators (i.e. 1.6 and 1.10, results in 1.06 vs. 1.10).
|
||||
# Parts of the version ending in -foo (or any other text) are not considered
|
||||
# when doing the compare. (i.e. 2.53a vs 2.53 doesn't end up in 2.53a vs.
|
||||
# 2.053)
|
||||
sub compareVersions
|
||||
{
|
||||
my ($a, $b) = @_;
|
||||
|
||||
# Split the strings up by '.' (version separator) and start comparing digit
|
||||
# length.
|
||||
|
||||
my @aParts = split(/\./, $a);
|
||||
my @bParts = split(/\./, $b);
|
||||
|
||||
# Make the arrays equal in length by adding missing zeroes to the end of the
|
||||
# version.
|
||||
push @aParts, '0' while scalar @aParts < scalar @bParts;
|
||||
push @bParts, '0' while scalar @bParts < scalar @aParts;
|
||||
|
||||
# Now compare each individual portion.
|
||||
for (my $i = 0; $i < scalar @aParts; ++$i)
|
||||
{
|
||||
# Make sure that any portion that has numbers is contiguous. I'm sure
|
||||
# there's a technique for saving stuff like 2.52a2 but I don't feel
|
||||
# like implementing it.
|
||||
if ($aParts[$i] !~ /^[^\d]*\d+[^\d]*$/ or
|
||||
$bParts[$i] !~ /^[^\d]*\d+[^\d]*$/)
|
||||
{
|
||||
die "Not able to compare $a to $b!\n";
|
||||
}
|
||||
|
||||
my ($aDigits) = ($aParts[$i] =~ /(\d+)/);
|
||||
my ($bDigits) = ($bParts[$i] =~ /(\d+)/);
|
||||
|
||||
# Perl is $MODERATELY_INSULTING_TERM, don't remove the parentheses in
|
||||
# the delta calculation below.
|
||||
my $delta = (length $aDigits) - (length $bDigits);
|
||||
if ($delta < 0) # b is longer
|
||||
{
|
||||
my $replacement = ('0' x (-$delta)) . $aDigits;
|
||||
$aParts[$i] =~ s/$aDigits/$replacement/;
|
||||
}
|
||||
elsif ($delta > 0) # a is longer
|
||||
{
|
||||
my $replacement = ('0' x $delta) . $bDigits;
|
||||
$bParts[$i] =~ s/$bDigits/$replacement/;
|
||||
}
|
||||
}
|
||||
|
||||
# Arrays now have standardized version components, let's re-merge them
|
||||
# to strings to do the compare.
|
||||
my $newA = join('.', @aParts);
|
||||
my $newB = join('.', @bParts);
|
||||
|
||||
return 1 if ($newA gt $newB);
|
||||
return -1 if ($newA lt $newB);
|
||||
return 0;
|
||||
}
|
||||
|
||||
# Subroutine to determine the highest installed version of the given program,
|
||||
# searching from the given paths.
|
||||
sub findBest
|
||||
{
|
||||
my ($program, @paths) = @_;
|
||||
my $best_version_found = '0'; # Deliberately a string.
|
||||
my %versions;
|
||||
my %minimumVersions = (
|
||||
'autoconf' => '2.5',
|
||||
'automake' => '1.6',
|
||||
);
|
||||
my $sgn; # Used for compareVersions results.
|
||||
|
||||
# Allow user to use environment variable to override search.
|
||||
return $ENV{uc $program} if $ENV{uc $program};
|
||||
|
||||
for $prefix (@paths)
|
||||
{
|
||||
@files = glob "$prefix/$program*";
|
||||
for $file (@files)
|
||||
{
|
||||
# Don't check non-executable scripts.
|
||||
next unless -x $file;
|
||||
|
||||
($version) = $file =~ /$prefix\/$program-?(.*)$/;
|
||||
|
||||
# Don't check the -wrapper ones (or any other non program one).
|
||||
# The real deal should start with a version number, or have no
|
||||
# suffix at all.
|
||||
next if $version =~ /^[^\d]/;
|
||||
|
||||
# Special case some programs to make sure it has a minimum version.
|
||||
if (not $version and exists $minimumVersions{$program})
|
||||
{
|
||||
my $min_version = $minimumVersions{$program};
|
||||
my $versionOutput = `$program --version 2>/dev/null | head -n 1`;
|
||||
|
||||
# If we can't run the script to get the version it likely won't work later.
|
||||
next unless $versionOutput;
|
||||
|
||||
# Use number.number for version (we don't need the excess in general).
|
||||
($versionOutput) = ($versionOutput =~ /(\d+\.\d+)/);
|
||||
|
||||
# compareVersions returns -1 if the left argument is less than
|
||||
# the right argument. It can also die for invalid input so
|
||||
# wrap with eval.
|
||||
eval {
|
||||
$sgn = compareVersions($versionOutput, $min_version);
|
||||
};
|
||||
|
||||
# $@ would be set if an error was encountered.
|
||||
if ($@ or not $versionOutput or $sgn == -1) {
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
||||
# If no version suffix then use it in favor of a versioned autotool
|
||||
# since the ever-popular WANT_AUTOFOO should then work (in theory).
|
||||
return $file unless $version;
|
||||
|
||||
# Emulate 'which', and abort if we've already seen this version.
|
||||
next if exists $versions{$version};
|
||||
|
||||
# Save filename of program.
|
||||
$versions{$version} = $file;
|
||||
|
||||
# Use string comparison so that e.g. 253a will be > 253 but < 254.
|
||||
# See above about the need for eval.
|
||||
eval {
|
||||
$sgn = compareVersions($version, $best_version_found);
|
||||
};
|
||||
|
||||
if (not $@ and $sgn == 1)
|
||||
{
|
||||
$best_version_found = $version;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $versions{$best_version_found};
|
||||
}
|
||||
|
||||
# Find an appropriate "which" program for later use by the shell script calling
|
||||
# us.
|
||||
sub findWhich
|
||||
{
|
||||
for $candidate ('type -p', 'which', 'type')
|
||||
{
|
||||
$test = `$candidate sh 2>/dev/null`;
|
||||
chomp $test;
|
||||
|
||||
return $candidate if -x $test;
|
||||
}
|
||||
}
|
||||
|
||||
# Uses which() to find a program unless the user provided its path in the
|
||||
# environment (the upper case program name is searched).
|
||||
sub findProgram
|
||||
{
|
||||
$suffix = ""; # For use if @_ has only one param.
|
||||
my ($program, $suffix) = @_;
|
||||
|
||||
return $ENV{uc $program} if $ENV{uc $program};
|
||||
return which("$program$suffix");
|
||||
}
|
||||
|
||||
# SCRIPT STARTS.
|
||||
|
||||
# Search in path.
|
||||
@paths = split(/:/, $ENV{'PATH'});
|
||||
|
||||
# Make sure at least /usr/bin and /usr/local/bin are in this search.
|
||||
unshift @paths, '/usr/local/bin' unless grep $_ eq '/usr/local/bin', @paths;
|
||||
unshift @paths, '/usr/bin' unless grep $_ eq '/usr/bin', @paths;
|
||||
|
||||
$autoconf = findBest('autoconf', @paths);
|
||||
($autoconf_suffix) = $autoconf =~ /.*autoconf(.*)$/;
|
||||
|
||||
# Find matching autoconf companions.
|
||||
$autoheader = findProgram('autoheader', $autoconf_suffix);
|
||||
$autom4te = findProgram('autom4te', $autoconf_suffix);
|
||||
|
||||
# Get best automake, and look for unsermake to possibly override it.
|
||||
$automake = findBest('automake', @paths);
|
||||
$unsermake = "";
|
||||
# backward compatible: if $UNSERMAKE points to a path, use it
|
||||
$unsermake = findProgram('unsermake') if (defined($ENV{'UNSERMAKE'}) and $ENV{'UNSERMAKE'} =~ /\//);
|
||||
# new compatible: if it says 'yes', use the one from path
|
||||
$unsermake = which('unsermake') if ($ENV{'UNSERMAKE'} ne 'no');
|
||||
|
||||
($automake_suffix) = $automake =~ /.*automake(.*)$/;
|
||||
|
||||
# Find matching automake companions.
|
||||
$aclocal = findProgram('aclocal', $automake_suffix);
|
||||
|
||||
# Use unsermake if we found it.
|
||||
$automake = "$unsermake -c" if ($unsermake and $aclocal);
|
||||
|
||||
$which = findWhich();
|
||||
|
||||
# Make sure we have all of the needed programs.
|
||||
for $i (qw'autoconf autoheader autom4te automake aclocal')
|
||||
{
|
||||
unless(${$i})
|
||||
{
|
||||
print STDERR "# Unable to find $i!!\n";
|
||||
}
|
||||
}
|
||||
|
||||
# Print results in eval-able form.
|
||||
print <<EOF;
|
||||
AUTOCONF="$autoconf"
|
||||
AUTOHEADER="$autoheader"
|
||||
AUTOM4TE="$autom4te"
|
||||
|
||||
AUTOMAKE="$automake"
|
||||
ACLOCAL="$aclocal"
|
||||
|
||||
WHICH="$which"
|
||||
|
||||
export AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE ACLOCAL WHICH
|
||||
EOF
|
||||
|
||||
exit 0;
|
||||
|
||||
# vim: set noet ts=8 sw=4:
|
@ -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