mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-21 21:47:54 +00:00
Implemented automake
Prepared for name change to 'par'
This commit is contained in:
parent
e90e412282
commit
3fa2a4a8d4
25
Makefile
25
Makefile
|
@ -1,25 +0,0 @@
|
||||||
parallel.1: parallel
|
|
||||||
pod2man parallel > parallel.1
|
|
||||||
|
|
||||||
install: parallel parallel.1
|
|
||||||
install -D -m 755 parallel $(DESTDIR)/usr/bin/parallel
|
|
||||||
install -D -m 644 parallel.1 $(DESTDIR)/usr/share/man/man1/parallel.1
|
|
||||||
|
|
||||||
unittest: parallel unittest/tests-to-run/* unittest/wanted-results/*
|
|
||||||
echo | mop || (echo mop is required for unittest; /bin/false)
|
|
||||||
seq 1 2 | mop || (echo seq is required for unittest; /bin/false)
|
|
||||||
(cd unittest; sh Start.sh)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f parallel.1
|
|
||||||
rm -rf unittest/input-files/random_dirs_no_newline
|
|
||||||
rm -rf unittest/input-files/random_dirs_with_newline
|
|
||||||
|
|
||||||
dist:
|
|
||||||
rm -rf ./unittest/input-files/random_dirs_*_newline || /bin/true
|
|
||||||
rm -rf ./unittest/tmp || /bin/true
|
|
||||||
rm parallel-????????.tar.bz2 || /bin/true
|
|
||||||
( cd ..; tar -cvj --exclude .git --exclude '#*#' --exclude '*~' --exclude CVS -f /tmp/parallel.tar.bz2 parallel-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] )
|
|
||||||
mv /tmp/parallel.tar.bz2 parallel-$$(date +"%Y%m%d").tar.bz2
|
|
||||||
rsync -Havessh parallel-$$(date +"%Y%m%d").tar.bz2 download.savannah.nongnu.org:/releases/parallel/
|
|
||||||
|
|
2
Makefile.am
Normal file
2
Makefile.am
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
SUBDIRS = src
|
||||||
|
|
660
Makefile.in
Normal file
660
Makefile.in
Normal file
|
@ -0,0 +1,660 @@
|
||||||
|
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
|
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
subdir = .
|
||||||
|
DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||||
|
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||||
|
$(top_srcdir)/configure install-sh missing
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
configure.lineno config.status.lineno
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
SOURCES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||||
|
html-recursive info-recursive install-data-recursive \
|
||||||
|
install-dvi-recursive install-exec-recursive \
|
||||||
|
install-html-recursive install-info-recursive \
|
||||||
|
install-pdf-recursive install-ps-recursive install-recursive \
|
||||||
|
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||||
|
ps-recursive uninstall-recursive
|
||||||
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||||
|
distclean-recursive maintainer-clean-recursive
|
||||||
|
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
||||||
|
distdir dist dist-all distcheck
|
||||||
|
ETAGS = etags
|
||||||
|
CTAGS = ctags
|
||||||
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
top_distdir = $(distdir)
|
||||||
|
am__remove_distdir = \
|
||||||
|
{ test ! -d "$(distdir)" \
|
||||||
|
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||||
|
&& rm -fr "$(distdir)"; }; }
|
||||||
|
am__relativize = \
|
||||||
|
dir0=`pwd`; \
|
||||||
|
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||||
|
sed_rest='s,^[^/]*/*,,'; \
|
||||||
|
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||||
|
sed_butlast='s,/*[^/]*$$,,'; \
|
||||||
|
while test -n "$$dir1"; do \
|
||||||
|
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first" != "."; then \
|
||||||
|
if test "$$first" = ".."; then \
|
||||||
|
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||||
|
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||||
|
else \
|
||||||
|
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||||
|
if test "$$first2" = "$$first"; then \
|
||||||
|
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||||
|
else \
|
||||||
|
dir2="../$$dir2"; \
|
||||||
|
fi; \
|
||||||
|
dir0="$$dir0"/"$$first"; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||||
|
done; \
|
||||||
|
reldir="$$dir2"
|
||||||
|
DIST_ARCHIVES = $(distdir).tar.gz
|
||||||
|
GZIP_ENV = --best
|
||||||
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
builddir = @builddir@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_build_prefix = @top_build_prefix@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
SUBDIRS = src
|
||||||
|
all: config.h
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
am--refresh:
|
||||||
|
@:
|
||||||
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||||
|
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||||
|
&& exit 0; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --foreign Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
echo ' $(SHELL) ./config.status'; \
|
||||||
|
$(SHELL) ./config.status;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(am__configure_deps)
|
||||||
|
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||||
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
|
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
|
config.h: stamp-h1
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f stamp-h1; \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
|
||||||
|
else :; fi
|
||||||
|
|
||||||
|
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
|
@rm -f stamp-h1
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||||
|
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||||
|
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||||
|
rm -f stamp-h1
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
distclean-hdr:
|
||||||
|
-rm -f config.h stamp-h1
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run `make' without going through this Makefile.
|
||||||
|
# To change the values of `make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in `config.status', edit `config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||||
|
# (2) otherwise, pass the desired values on the `make' command line.
|
||||||
|
$(RECURSIVE_TARGETS):
|
||||||
|
@fail= failcom='exit 1'; \
|
||||||
|
for f in x $$MAKEFLAGS; do \
|
||||||
|
case $$f in \
|
||||||
|
*=* | --[!k]*);; \
|
||||||
|
*k*) failcom='fail=yes';; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS):
|
||||||
|
@fail= failcom='exit 1'; \
|
||||||
|
for f in x $$MAKEFLAGS; do \
|
||||||
|
case $$f in \
|
||||||
|
*=* | --[!k]*);; \
|
||||||
|
*k*) failcom='fail=yes';; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
dot_seen=no; \
|
||||||
|
case "$@" in \
|
||||||
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||||
|
*) list='$(SUBDIRS)' ;; \
|
||||||
|
esac; \
|
||||||
|
rev=''; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = "."; then :; else \
|
||||||
|
rev="$$subdir $$rev"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
rev="$$rev ."; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
for subdir in $$rev; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done && test -z "$$fail"
|
||||||
|
tags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
|
done
|
||||||
|
ctags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||||
|
done
|
||||||
|
|
||||||
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||||
|
mkid -fID $$unique
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||||
|
$(TAGS_FILES) $(LISP)
|
||||||
|
set x; \
|
||||||
|
here=`pwd`; \
|
||||||
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||||
|
include_option=--etags-include; \
|
||||||
|
empty_fix=.; \
|
||||||
|
else \
|
||||||
|
include_option=--include; \
|
||||||
|
empty_fix=; \
|
||||||
|
fi; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test ! -f $$subdir/TAGS || \
|
||||||
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||||
|
shift; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
if test $$# -gt 0; then \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
"$$@" $$unique; \
|
||||||
|
else \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$unique; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||||
|
$(TAGS_FILES) $(LISP)
|
||||||
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||||
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& $(am__cd) $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -d "$(distdir)/$$subdir" \
|
||||||
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_distdir=$$reldir; \
|
||||||
|
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||||
|
$(am__relativize); \
|
||||||
|
new_top_distdir=$$reldir; \
|
||||||
|
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||||
|
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||||
|
($(am__cd) $$subdir && \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$$new_top_distdir" \
|
||||||
|
distdir="$$new_distdir" \
|
||||||
|
am__remove_distdir=: \
|
||||||
|
am__skip_length_check=: \
|
||||||
|
am__skip_mode_fix=: \
|
||||||
|
distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
-test -n "$(am__skip_mode_fix)" \
|
||||||
|
|| find "$(distdir)" -type d ! -perm -755 \
|
||||||
|
-exec chmod u+rwx,go+rx {} \; -o \
|
||||||
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||||
|
|| chmod -R a+r "$(distdir)"
|
||||||
|
dist-gzip: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-bzip2: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-lzma: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-xz: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-tarZ: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-shar: distdir
|
||||||
|
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-zip: distdir
|
||||||
|
-rm -f $(distdir).zip
|
||||||
|
zip -rq $(distdir).zip $(distdir)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist dist-all: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
|
# it guarantees that the distribution is self-contained by making another
|
||||||
|
# tarfile.
|
||||||
|
distcheck: dist
|
||||||
|
case '$(DIST_ARCHIVES)' in \
|
||||||
|
*.tar.gz*) \
|
||||||
|
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
|
*.tar.bz2*) \
|
||||||
|
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
|
*.tar.lzma*) \
|
||||||
|
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
|
||||||
|
*.tar.xz*) \
|
||||||
|
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||||
|
*.tar.Z*) \
|
||||||
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
|
*.shar.gz*) \
|
||||||
|
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
||||||
|
*.zip*) \
|
||||||
|
unzip $(distdir).zip ;;\
|
||||||
|
esac
|
||||||
|
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||||
|
mkdir $(distdir)/_build
|
||||||
|
mkdir $(distdir)/_inst
|
||||||
|
chmod a-w $(distdir)
|
||||||
|
test -d $(distdir)/_build || exit 0; \
|
||||||
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||||
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||||
|
&& am__cwd=`pwd` \
|
||||||
|
&& $(am__cd) $(distdir)/_build \
|
||||||
|
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||||
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||||
|
distuninstallcheck \
|
||||||
|
&& chmod -R a-w "$$dc_install_base" \
|
||||||
|
&& ({ \
|
||||||
|
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||||
|
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||||
|
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||||
|
&& rm -rf "$$dc_destdir" \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||||
|
&& rm -rf $(DIST_ARCHIVES) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||||
|
&& cd "$$am__cwd" \
|
||||||
|
|| exit 1
|
||||||
|
$(am__remove_distdir)
|
||||||
|
@(echo "$(distdir) archives ready for distribution: "; \
|
||||||
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||||
|
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||||
|
distuninstallcheck:
|
||||||
|
@$(am__cd) '$(distuninstallcheck_dir)' \
|
||||||
|
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||||
|
|| { echo "ERROR: files left after uninstall:" ; \
|
||||||
|
if test -n "$(DESTDIR)"; then \
|
||||||
|
echo " (check DESTDIR support)"; \
|
||||||
|
fi ; \
|
||||||
|
$(distuninstallcheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
distcleancheck: distclean
|
||||||
|
@if test '$(srcdir)' = . ; then \
|
||||||
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||||
|
exit 1 ; \
|
||||||
|
fi
|
||||||
|
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||||
|
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||||
|
$(distcleancheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
all-am: Makefile config.h
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
install: install-recursive
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
install-data: install-data-recursive
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-recursive
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-recursive
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-recursive
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
|
||||||
|
install-dvi: install-dvi-recursive
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-html: install-html-recursive
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-recursive
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-recursive
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-recursive
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic
|
||||||
|
|
||||||
|
pdf: pdf-recursive
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-recursive
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am:
|
||||||
|
|
||||||
|
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
|
||||||
|
ctags-recursive install-am install-strip tags-recursive
|
||||||
|
|
||||||
|
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||||
|
all all-am am--refresh check check-am clean clean-generic \
|
||||||
|
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
|
||||||
|
dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
|
||||||
|
distclean distclean-generic distclean-hdr distclean-tags \
|
||||||
|
distcleancheck distdir distuninstallcheck dvi dvi-am html \
|
||||||
|
html-am info info-am install install-am install-data \
|
||||||
|
install-data-am install-dvi install-dvi-am install-exec \
|
||||||
|
install-exec-am install-html install-html-am install-info \
|
||||||
|
install-info-am install-man install-pdf install-pdf-am \
|
||||||
|
install-ps install-ps-am install-strip installcheck \
|
||||||
|
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||||
|
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
|
||||||
|
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
|
||||||
|
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
601
aclocal.m4
vendored
Normal file
601
aclocal.m4
vendored
Normal file
|
@ -0,0 +1,601 @@
|
||||||
|
# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
|
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
|
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
|
||||||
|
[m4_warning([this file was generated for autoconf 2.65.
|
||||||
|
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||||
|
If you have problems, you may need to regenerate the build system entirely.
|
||||||
|
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
||||||
|
|
||||||
|
# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_AUTOMAKE_VERSION(VERSION)
|
||||||
|
# ----------------------------
|
||||||
|
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||||
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
|
# (This private macro should not be called outside this file.)
|
||||||
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
|
[am__api_version='1.11'
|
||||||
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
|
dnl require some minimum version. Point them to the right macro.
|
||||||
|
m4_if([$1], [1.11.1], [],
|
||||||
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
# _AM_AUTOCONF_VERSION(VERSION)
|
||||||
|
# -----------------------------
|
||||||
|
# aclocal traces this macro to find the Autoconf version.
|
||||||
|
# This is a private macro too. Using m4_define simplifies
|
||||||
|
# the logic in aclocal, which can simply ignore this definition.
|
||||||
|
m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
|
|
||||||
|
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||||
|
# -------------------------------
|
||||||
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
|
[AM_AUTOMAKE_VERSION([1.11.1])dnl
|
||||||
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
|
||||||
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
||||||
|
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
|
||||||
|
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
|
||||||
|
#
|
||||||
|
# Of course, Automake must honor this variable whenever it calls a
|
||||||
|
# tool from the auxiliary directory. The problem is that $srcdir (and
|
||||||
|
# therefore $ac_aux_dir as well) can be either absolute or relative,
|
||||||
|
# depending on how configure is run. This is pretty annoying, since
|
||||||
|
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
|
||||||
|
# source directory, any form will work fine, but in subdirectories a
|
||||||
|
# relative path needs to be adjusted first.
|
||||||
|
#
|
||||||
|
# $ac_aux_dir/missing
|
||||||
|
# fails when called from a subdirectory if $ac_aux_dir is relative
|
||||||
|
# $top_srcdir/$ac_aux_dir/missing
|
||||||
|
# fails if $ac_aux_dir is absolute,
|
||||||
|
# fails when called from a subdirectory in a VPATH build with
|
||||||
|
# a relative $ac_aux_dir
|
||||||
|
#
|
||||||
|
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
|
||||||
|
# are both prefixed by $srcdir. In an in-source build this is usually
|
||||||
|
# harmless because $srcdir is `.', but things will broke when you
|
||||||
|
# start a VPATH build or use an absolute $srcdir.
|
||||||
|
#
|
||||||
|
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
|
||||||
|
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
|
||||||
|
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
|
||||||
|
# and then we would define $MISSING as
|
||||||
|
# MISSING="\${SHELL} $am_aux_dir/missing"
|
||||||
|
# This will work as long as MISSING is not called from configure, because
|
||||||
|
# unfortunately $(top_srcdir) has no meaning in configure.
|
||||||
|
# However there are other variables, like CC, which are often used in
|
||||||
|
# configure, and could therefore not use this "fixed" $ac_aux_dir.
|
||||||
|
#
|
||||||
|
# Another solution, used here, is to always expand $ac_aux_dir to an
|
||||||
|
# absolute PATH. The drawback is that using absolute paths prevent a
|
||||||
|
# configured tree to be moved without reconfiguration.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_AUX_DIR_EXPAND],
|
||||||
|
[dnl Rely on autoconf to set up CDPATH properly.
|
||||||
|
AC_PREREQ([2.50])dnl
|
||||||
|
# expand $ac_aux_dir to an absolute path
|
||||||
|
am_aux_dir=`cd $ac_aux_dir && pwd`
|
||||||
|
])
|
||||||
|
|
||||||
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
|
# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 16
|
||||||
|
|
||||||
|
# This macro actually does too much. Some checks are only needed if
|
||||||
|
# your package does certain things. But this isn't really a big deal.
|
||||||
|
|
||||||
|
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
|
||||||
|
# AM_INIT_AUTOMAKE([OPTIONS])
|
||||||
|
# -----------------------------------------------
|
||||||
|
# The call with PACKAGE and VERSION arguments is the old style
|
||||||
|
# call (pre autoconf-2.50), which is being phased out. PACKAGE
|
||||||
|
# and VERSION should now be passed to AC_INIT and removed from
|
||||||
|
# the call to AM_INIT_AUTOMAKE.
|
||||||
|
# We support both call styles for the transition. After
|
||||||
|
# the next Automake release, Autoconf can make the AC_INIT
|
||||||
|
# arguments mandatory, and then we can depend on a new Autoconf
|
||||||
|
# release and drop the old call support.
|
||||||
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||||
|
[AC_PREREQ([2.62])dnl
|
||||||
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||||
|
dnl the ones we care about.
|
||||||
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||||
|
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
||||||
|
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
||||||
|
# is not polluted with repeated "-I."
|
||||||
|
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
|
||||||
|
# test to see if srcdir already configured
|
||||||
|
if test -f $srcdir/config.status; then
|
||||||
|
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# test whether we have cygpath
|
||||||
|
if test -z "$CYGPATH_W"; then
|
||||||
|
if (cygpath --version) >/dev/null 2>/dev/null; then
|
||||||
|
CYGPATH_W='cygpath -w'
|
||||||
|
else
|
||||||
|
CYGPATH_W=echo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([CYGPATH_W])
|
||||||
|
|
||||||
|
# Define the identity of the package.
|
||||||
|
dnl Distinguish between old-style and new-style calls.
|
||||||
|
m4_ifval([$2],
|
||||||
|
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||||
|
AC_SUBST([PACKAGE], [$1])dnl
|
||||||
|
AC_SUBST([VERSION], [$2])],
|
||||||
|
[_AM_SET_OPTIONS([$1])dnl
|
||||||
|
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||||
|
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
|
||||||
|
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||||
|
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||||
|
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||||
|
|
||||||
|
_AM_IF_OPTION([no-define],,
|
||||||
|
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||||
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
|
||||||
|
|
||||||
|
# Some tools Automake needs.
|
||||||
|
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||||
|
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
||||||
|
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
|
||||||
|
AM_MISSING_PROG(AUTOCONF, autoconf)
|
||||||
|
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
|
||||||
|
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
||||||
|
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
||||||
|
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||||
|
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||||
|
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
|
||||||
|
# We need awk for the "check" target. The system "awk" is bad on
|
||||||
|
# some platforms.
|
||||||
|
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||||
|
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||||
|
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
|
||||||
|
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||||
|
[_AM_PROG_TAR([v7])])])
|
||||||
|
_AM_IF_OPTION([no-dependencies],,
|
||||||
|
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||||
|
[_AM_DEPENDENCIES(CC)],
|
||||||
|
[define([AC_PROG_CC],
|
||||||
|
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||||
|
[_AM_DEPENDENCIES(CXX)],
|
||||||
|
[define([AC_PROG_CXX],
|
||||||
|
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||||
|
[_AM_DEPENDENCIES(OBJC)],
|
||||||
|
[define([AC_PROG_OBJC],
|
||||||
|
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||||
|
])
|
||||||
|
_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
|
||||||
|
dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
|
||||||
|
dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
|
||||||
|
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
||||||
|
AC_CONFIG_COMMANDS_PRE(dnl
|
||||||
|
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
||||||
|
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
|
||||||
|
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
|
||||||
|
dnl mangled by Autoconf and run in a shell conditional statement.
|
||||||
|
m4_define([_AC_COMPILER_EXEEXT],
|
||||||
|
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
|
||||||
|
|
||||||
|
|
||||||
|
# When config.status generates a header, we must update the stamp-h file.
|
||||||
|
# This file resides in the same directory as the config header
|
||||||
|
# that is generated. The stamp files are numbered to have different names.
|
||||||
|
|
||||||
|
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
|
||||||
|
# loop where config.status creates the headers, so we can generate
|
||||||
|
# our stamp files there.
|
||||||
|
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
|
||||||
|
[# Compute $1's index in $config_headers.
|
||||||
|
_am_arg=$1
|
||||||
|
_am_stamp_count=1
|
||||||
|
for _am_header in $config_headers :; do
|
||||||
|
case $_am_header in
|
||||||
|
$_am_arg | $_am_arg:* )
|
||||||
|
break ;;
|
||||||
|
* )
|
||||||
|
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_PROG_INSTALL_SH
|
||||||
|
# ------------------
|
||||||
|
# Define $install_sh.
|
||||||
|
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||||
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
if test x"${install_sh}" != xset; then
|
||||||
|
case $am_aux_dir in
|
||||||
|
*\ * | *\ *)
|
||||||
|
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
|
||||||
|
*)
|
||||||
|
install_sh="\${SHELL} $am_aux_dir/install-sh"
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
AC_SUBST(install_sh)])
|
||||||
|
|
||||||
|
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 2
|
||||||
|
|
||||||
|
# Check whether the underlying file-system supports filenames
|
||||||
|
# with a leading dot. For instance MS-DOS doesn't.
|
||||||
|
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||||
|
[rm -rf .tst 2>/dev/null
|
||||||
|
mkdir .tst 2>/dev/null
|
||||||
|
if test -d .tst; then
|
||||||
|
am__leading_dot=.
|
||||||
|
else
|
||||||
|
am__leading_dot=_
|
||||||
|
fi
|
||||||
|
rmdir .tst 2>/dev/null
|
||||||
|
AC_SUBST([am__leading_dot])])
|
||||||
|
|
||||||
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 6
|
||||||
|
|
||||||
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||||
|
# ------------------------------
|
||||||
|
AC_DEFUN([AM_MISSING_PROG],
|
||||||
|
[AC_REQUIRE([AM_MISSING_HAS_RUN])
|
||||||
|
$1=${$1-"${am_missing_run}$2"}
|
||||||
|
AC_SUBST($1)])
|
||||||
|
|
||||||
|
|
||||||
|
# AM_MISSING_HAS_RUN
|
||||||
|
# ------------------
|
||||||
|
# Define MISSING if not defined so far and test if it supports --run.
|
||||||
|
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
||||||
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||||
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||||
|
if test x"${MISSING+set}" != xset; then
|
||||||
|
case $am_aux_dir in
|
||||||
|
*\ * | *\ *)
|
||||||
|
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
||||||
|
*)
|
||||||
|
MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
# Use eval to expand $SHELL
|
||||||
|
if eval "$MISSING --run true"; then
|
||||||
|
am_missing_run="$MISSING --run "
|
||||||
|
else
|
||||||
|
am_missing_run=
|
||||||
|
AC_MSG_WARN([`missing' script is too old or missing])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_PROG_MKDIR_P
|
||||||
|
# ---------------
|
||||||
|
# Check for `mkdir -p'.
|
||||||
|
AC_DEFUN([AM_PROG_MKDIR_P],
|
||||||
|
[AC_PREREQ([2.60])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||||
|
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
|
||||||
|
dnl while keeping a definition of mkdir_p for backward compatibility.
|
||||||
|
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
|
||||||
|
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
|
||||||
|
dnl Makefile.ins that do not define MKDIR_P, so we do our own
|
||||||
|
dnl adjustment using top_builddir (which is defined more often than
|
||||||
|
dnl MKDIR_P).
|
||||||
|
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
|
||||||
|
case $mkdir_p in
|
||||||
|
[[\\/$]]* | ?:[[\\/]]*) ;;
|
||||||
|
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 4
|
||||||
|
|
||||||
|
# _AM_MANGLE_OPTION(NAME)
|
||||||
|
# -----------------------
|
||||||
|
AC_DEFUN([_AM_MANGLE_OPTION],
|
||||||
|
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
|
||||||
|
|
||||||
|
# _AM_SET_OPTION(NAME)
|
||||||
|
# ------------------------------
|
||||||
|
# Set option NAME. Presently that only means defining a flag for this option.
|
||||||
|
AC_DEFUN([_AM_SET_OPTION],
|
||||||
|
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
|
||||||
|
|
||||||
|
# _AM_SET_OPTIONS(OPTIONS)
|
||||||
|
# ----------------------------------
|
||||||
|
# OPTIONS is a space-separated list of Automake options.
|
||||||
|
AC_DEFUN([_AM_SET_OPTIONS],
|
||||||
|
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
|
||||||
|
|
||||||
|
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
|
||||||
|
# -------------------------------------------
|
||||||
|
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||||
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 5
|
||||||
|
|
||||||
|
# AM_SANITY_CHECK
|
||||||
|
# ---------------
|
||||||
|
AC_DEFUN([AM_SANITY_CHECK],
|
||||||
|
[AC_MSG_CHECKING([whether build environment is sane])
|
||||||
|
# Just in case
|
||||||
|
sleep 1
|
||||||
|
echo timestamp > conftest.file
|
||||||
|
# Reject unsafe characters in $srcdir or the absolute working directory
|
||||||
|
# name. Accept space and tab only in the latter.
|
||||||
|
am_lf='
|
||||||
|
'
|
||||||
|
case `pwd` in
|
||||||
|
*[[\\\"\#\$\&\'\`$am_lf]]*)
|
||||||
|
AC_MSG_ERROR([unsafe absolute working directory name]);;
|
||||||
|
esac
|
||||||
|
case $srcdir in
|
||||||
|
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
|
||||||
|
AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Do `set' in a subshell so we don't clobber the current shell's
|
||||||
|
# arguments. Must try -L first in case configure is actually a
|
||||||
|
# symlink; some systems play weird games with the mod time of symlinks
|
||||||
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||||
|
# directory).
|
||||||
|
if (
|
||||||
|
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
|
||||||
|
if test "$[*]" = "X"; then
|
||||||
|
# -L didn't work.
|
||||||
|
set X `ls -t "$srcdir/configure" conftest.file`
|
||||||
|
fi
|
||||||
|
rm -f conftest.file
|
||||||
|
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
||||||
|
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
|
||||||
|
|
||||||
|
# If neither matched, then we have a broken ls. This can happen
|
||||||
|
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||||
|
# broken ls alias from the environment. This has actually
|
||||||
|
# happened. Such a system could not be considered "sane".
|
||||||
|
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||||
|
alias in your environment])
|
||||||
|
fi
|
||||||
|
|
||||||
|
test "$[2]" = conftest.file
|
||||||
|
)
|
||||||
|
then
|
||||||
|
# Ok.
|
||||||
|
:
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||||
|
Check your system clock])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT(yes)])
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_PROG_INSTALL_STRIP
|
||||||
|
# ---------------------
|
||||||
|
# One issue with vendor `install' (even GNU) is that you can't
|
||||||
|
# specify the program used to strip binaries. This is especially
|
||||||
|
# annoying in cross-compiling environments, where the build's strip
|
||||||
|
# is unlikely to handle the host's binaries.
|
||||||
|
# Fortunately install-sh will honor a STRIPPROG variable, so we
|
||||||
|
# always use install-sh in `make install-strip', and initialize
|
||||||
|
# STRIPPROG with the value of the STRIP variable (set by the user).
|
||||||
|
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
||||||
|
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||||
|
# Installed binaries are usually stripped using `strip' when the user
|
||||||
|
# run `make install-strip'. However `strip' might not be the right
|
||||||
|
# tool to use in cross-compilation environments, therefore Automake
|
||||||
|
# will honor the `STRIP' environment variable to overrule this program.
|
||||||
|
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
|
||||||
|
if test "$cross_compiling" != no; then
|
||||||
|
AC_CHECK_TOOL([STRIP], [strip], :)
|
||||||
|
fi
|
||||||
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
|
# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 2
|
||||||
|
|
||||||
|
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||||
|
# ---------------------------
|
||||||
|
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
||||||
|
# This macro is traced by Automake.
|
||||||
|
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||||
|
|
||||||
|
# AM_SUBST_NOTMAKE(VARIABLE)
|
||||||
|
# ---------------------------
|
||||||
|
# Public sister of _AM_SUBST_NOTMAKE.
|
||||||
|
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||||
|
|
||||||
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 2
|
||||||
|
|
||||||
|
# _AM_PROG_TAR(FORMAT)
|
||||||
|
# --------------------
|
||||||
|
# Check how to create a tarball in format FORMAT.
|
||||||
|
# FORMAT should be one of `v7', `ustar', or `pax'.
|
||||||
|
#
|
||||||
|
# Substitute a variable $(am__tar) that is a command
|
||||||
|
# writing to stdout a FORMAT-tarball containing the directory
|
||||||
|
# $tardir.
|
||||||
|
# tardir=directory && $(am__tar) > result.tar
|
||||||
|
#
|
||||||
|
# Substitute a variable $(am__untar) that extract such
|
||||||
|
# a tarball read from stdin.
|
||||||
|
# $(am__untar) < result.tar
|
||||||
|
AC_DEFUN([_AM_PROG_TAR],
|
||||||
|
[# Always define AMTAR for backward compatibility.
|
||||||
|
AM_MISSING_PROG([AMTAR], [tar])
|
||||||
|
m4_if([$1], [v7],
|
||||||
|
[am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
|
||||||
|
[m4_case([$1], [ustar],, [pax],,
|
||||||
|
[m4_fatal([Unknown tar format])])
|
||||||
|
AC_MSG_CHECKING([how to create a $1 tar archive])
|
||||||
|
# Loop over all known methods to create a tar archive until one works.
|
||||||
|
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
|
||||||
|
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
|
||||||
|
# Do not fold the above two line into one, because Tru64 sh and
|
||||||
|
# Solaris sh will not grok spaces in the rhs of `-'.
|
||||||
|
for _am_tool in $_am_tools
|
||||||
|
do
|
||||||
|
case $_am_tool in
|
||||||
|
gnutar)
|
||||||
|
for _am_tar in tar gnutar gtar;
|
||||||
|
do
|
||||||
|
AM_RUN_LOG([$_am_tar --version]) && break
|
||||||
|
done
|
||||||
|
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
|
||||||
|
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
|
||||||
|
am__untar="$_am_tar -xf -"
|
||||||
|
;;
|
||||||
|
plaintar)
|
||||||
|
# Must skip GNU tar: if it does not support --format= it doesn't create
|
||||||
|
# ustar tarball either.
|
||||||
|
(tar --version) >/dev/null 2>&1 && continue
|
||||||
|
am__tar='tar chf - "$$tardir"'
|
||||||
|
am__tar_='tar chf - "$tardir"'
|
||||||
|
am__untar='tar xf -'
|
||||||
|
;;
|
||||||
|
pax)
|
||||||
|
am__tar='pax -L -x $1 -w "$$tardir"'
|
||||||
|
am__tar_='pax -L -x $1 -w "$tardir"'
|
||||||
|
am__untar='pax -r'
|
||||||
|
;;
|
||||||
|
cpio)
|
||||||
|
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__untar='cpio -i -H $1 -d'
|
||||||
|
;;
|
||||||
|
none)
|
||||||
|
am__tar=false
|
||||||
|
am__tar_=false
|
||||||
|
am__untar=false
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If the value was cached, stop now. We just wanted to have am__tar
|
||||||
|
# and am__untar set.
|
||||||
|
test -n "${am_cv_prog_tar_$1}" && break
|
||||||
|
|
||||||
|
# tar/untar a dummy directory, and stop if the command works
|
||||||
|
rm -rf conftest.dir
|
||||||
|
mkdir conftest.dir
|
||||||
|
echo GrepMe > conftest.dir/file
|
||||||
|
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
|
||||||
|
rm -rf conftest.dir
|
||||||
|
if test -s conftest.tar; then
|
||||||
|
AM_RUN_LOG([$am__untar <conftest.tar])
|
||||||
|
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -rf conftest.dir
|
||||||
|
|
||||||
|
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
|
||||||
|
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
|
||||||
|
AC_SUBST([am__tar])
|
||||||
|
AC_SUBST([am__untar])
|
||||||
|
]) # _AM_PROG_TAR
|
||||||
|
|
3475
autom4te.cache/output.0
Normal file
3475
autom4te.cache/output.0
Normal file
File diff suppressed because it is too large
Load diff
3475
autom4te.cache/output.1
Normal file
3475
autom4te.cache/output.1
Normal file
File diff suppressed because it is too large
Load diff
136
autom4te.cache/requests
Normal file
136
autom4te.cache/requests
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
# This file was generated by Autom4te Sat Feb 27 10:21:55 PST 2010.
|
||||||
|
# It contains the lists of macros which have been traced.
|
||||||
|
# It can be safely removed.
|
||||||
|
|
||||||
|
@request = (
|
||||||
|
bless( [
|
||||||
|
'0',
|
||||||
|
1,
|
||||||
|
[
|
||||||
|
'/usr/share/autoconf'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||||
|
'/usr/share/aclocal-1.11/amversion.m4',
|
||||||
|
'/usr/share/aclocal-1.11/auxdir.m4',
|
||||||
|
'/usr/share/aclocal-1.11/cond.m4',
|
||||||
|
'/usr/share/aclocal-1.11/depend.m4',
|
||||||
|
'/usr/share/aclocal-1.11/depout.m4',
|
||||||
|
'/usr/share/aclocal-1.11/init.m4',
|
||||||
|
'/usr/share/aclocal-1.11/install-sh.m4',
|
||||||
|
'/usr/share/aclocal-1.11/lead-dot.m4',
|
||||||
|
'/usr/share/aclocal-1.11/make.m4',
|
||||||
|
'/usr/share/aclocal-1.11/missing.m4',
|
||||||
|
'/usr/share/aclocal-1.11/mkdirp.m4',
|
||||||
|
'/usr/share/aclocal-1.11/options.m4',
|
||||||
|
'/usr/share/aclocal-1.11/runlog.m4',
|
||||||
|
'/usr/share/aclocal-1.11/sanity.m4',
|
||||||
|
'/usr/share/aclocal-1.11/silent.m4',
|
||||||
|
'/usr/share/aclocal-1.11/strip.m4',
|
||||||
|
'/usr/share/aclocal-1.11/substnot.m4',
|
||||||
|
'/usr/share/aclocal-1.11/tar.m4',
|
||||||
|
'configure.ac'
|
||||||
|
],
|
||||||
|
{
|
||||||
|
'm4_pattern_forbid' => 1,
|
||||||
|
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
|
||||||
|
'_AM_SET_OPTION' => 1,
|
||||||
|
'AC_DEFUN' => 1,
|
||||||
|
'AM_PROG_MKDIR_P' => 1,
|
||||||
|
'AM_INIT_AUTOMAKE' => 1,
|
||||||
|
'AM_AUTOMAKE_VERSION' => 1,
|
||||||
|
'AM_MISSING_HAS_RUN' => 1,
|
||||||
|
'AM_SUBST_NOTMAKE' => 1,
|
||||||
|
'AM_MISSING_PROG' => 1,
|
||||||
|
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||||
|
'AC_DEFUN_ONCE' => 1,
|
||||||
|
'AM_PROG_INSTALL_STRIP' => 1,
|
||||||
|
'_m4_warn' => 1,
|
||||||
|
'AM_SANITY_CHECK' => 1,
|
||||||
|
'AM_SILENT_RULES' => 1,
|
||||||
|
'include' => 1,
|
||||||
|
'_AM_PROG_TAR' => 1,
|
||||||
|
'AM_AUX_DIR_EXPAND' => 1,
|
||||||
|
'AM_DEP_TRACK' => 1,
|
||||||
|
'_AM_SET_OPTIONS' => 1,
|
||||||
|
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||||
|
'AM_RUN_LOG' => 1,
|
||||||
|
'_AM_IF_OPTION' => 1,
|
||||||
|
'_AM_SUBST_NOTMAKE' => 1,
|
||||||
|
'm4_pattern_allow' => 1,
|
||||||
|
'_AM_AUTOCONF_VERSION' => 1,
|
||||||
|
'_AM_MANGLE_OPTION' => 1,
|
||||||
|
'AM_CONDITIONAL' => 1,
|
||||||
|
'AM_SET_LEADING_DOT' => 1,
|
||||||
|
'AM_SET_DEPDIR' => 1,
|
||||||
|
'_AM_DEPENDENCIES' => 1,
|
||||||
|
'm4_include' => 1,
|
||||||
|
'AM_PROG_INSTALL_SH' => 1,
|
||||||
|
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
|
||||||
|
'AU_DEFUN' => 1,
|
||||||
|
'AM_MAKE_INCLUDE' => 1
|
||||||
|
}
|
||||||
|
], 'Autom4te::Request' ),
|
||||||
|
bless( [
|
||||||
|
'1',
|
||||||
|
1,
|
||||||
|
[
|
||||||
|
'/usr/share/autoconf'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||||
|
'aclocal.m4',
|
||||||
|
'configure.ac'
|
||||||
|
],
|
||||||
|
{
|
||||||
|
'AM_PROG_F77_C_O' => 1,
|
||||||
|
'_LT_AC_TAGCONFIG' => 1,
|
||||||
|
'AC_INIT' => 1,
|
||||||
|
'm4_pattern_forbid' => 1,
|
||||||
|
'AC_CANONICAL_TARGET' => 1,
|
||||||
|
'_AM_COND_IF' => 1,
|
||||||
|
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||||
|
'AC_SUBST' => 1,
|
||||||
|
'AC_CANONICAL_HOST' => 1,
|
||||||
|
'AC_FC_SRCEXT' => 1,
|
||||||
|
'AC_PROG_LIBTOOL' => 1,
|
||||||
|
'AM_INIT_AUTOMAKE' => 1,
|
||||||
|
'AC_CONFIG_SUBDIRS' => 1,
|
||||||
|
'AM_AUTOMAKE_VERSION' => 1,
|
||||||
|
'LT_CONFIG_LTDL_DIR' => 1,
|
||||||
|
'AC_CONFIG_LINKS' => 1,
|
||||||
|
'AC_REQUIRE_AUX_FILE' => 1,
|
||||||
|
'LT_SUPPORTED_TAG' => 1,
|
||||||
|
'm4_sinclude' => 1,
|
||||||
|
'AM_MAINTAINER_MODE' => 1,
|
||||||
|
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||||
|
'_m4_warn' => 1,
|
||||||
|
'AM_PROG_CXX_C_O' => 1,
|
||||||
|
'_AM_COND_ENDIF' => 1,
|
||||||
|
'AM_ENABLE_MULTILIB' => 1,
|
||||||
|
'AM_SILENT_RULES' => 1,
|
||||||
|
'AC_CONFIG_FILES' => 1,
|
||||||
|
'LT_INIT' => 1,
|
||||||
|
'include' => 1,
|
||||||
|
'AM_GNU_GETTEXT' => 1,
|
||||||
|
'AC_LIBSOURCE' => 1,
|
||||||
|
'AC_CANONICAL_BUILD' => 1,
|
||||||
|
'AM_PROG_FC_C_O' => 1,
|
||||||
|
'AC_FC_FREEFORM' => 1,
|
||||||
|
'AH_OUTPUT' => 1,
|
||||||
|
'AC_CONFIG_AUX_DIR' => 1,
|
||||||
|
'_AM_SUBST_NOTMAKE' => 1,
|
||||||
|
'AM_PROG_CC_C_O' => 1,
|
||||||
|
'm4_pattern_allow' => 1,
|
||||||
|
'sinclude' => 1,
|
||||||
|
'AM_CONDITIONAL' => 1,
|
||||||
|
'AC_CANONICAL_SYSTEM' => 1,
|
||||||
|
'AC_CONFIG_HEADERS' => 1,
|
||||||
|
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||||
|
'm4_include' => 1,
|
||||||
|
'_AM_COND_ELSE' => 1,
|
||||||
|
'AC_SUBST_TRACE' => 1
|
||||||
|
}
|
||||||
|
], 'Autom4te::Request' )
|
||||||
|
);
|
||||||
|
|
706
autom4te.cache/traces.0
Normal file
706
autom4te.cache/traces.0
Normal file
|
@ -0,0 +1,706 @@
|
||||||
|
m4trace:/usr/share/aclocal-1.11/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11'
|
||||||
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
|
dnl require some minimum version. Point them to the right macro.
|
||||||
|
m4_if([$1], [1.11.1], [],
|
||||||
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.1])dnl
|
||||||
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly.
|
||||||
|
AC_PREREQ([2.50])dnl
|
||||||
|
# expand $ac_aux_dir to an absolute path
|
||||||
|
am_aux_dir=`cd $ac_aux_dir && pwd`
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl
|
||||||
|
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
|
||||||
|
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
|
||||||
|
AC_SUBST([$1_TRUE])dnl
|
||||||
|
AC_SUBST([$1_FALSE])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
||||||
|
m4_define([_AM_COND_VALUE_$1], [$2])dnl
|
||||||
|
if $2; then
|
||||||
|
$1_TRUE=
|
||||||
|
$1_FALSE='#'
|
||||||
|
else
|
||||||
|
$1_TRUE='#'
|
||||||
|
$1_FALSE=
|
||||||
|
fi
|
||||||
|
AC_CONFIG_COMMANDS_PRE(
|
||||||
|
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
|
||||||
|
AC_MSG_ERROR([[conditional "$1" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
|
fi])])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/depend.m4:28: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl
|
||||||
|
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
||||||
|
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
||||||
|
AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||||
|
|
||||||
|
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
||||||
|
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
||||||
|
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
|
||||||
|
[$1], UPC, [depcc="$UPC" am_compiler_list=],
|
||||||
|
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
||||||
|
[depcc="$$1" am_compiler_list=])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([dependency style of $depcc],
|
||||||
|
[am_cv_$1_dependencies_compiler_type],
|
||||||
|
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
||||||
|
# We make a subdir and do the tests there. Otherwise we can end up
|
||||||
|
# making bogus files that we don't know about and never remove. For
|
||||||
|
# instance it was reported that on HP-UX the gcc test will end up
|
||||||
|
# making a dummy file named `D' -- because `-MD' means `put the output
|
||||||
|
# in D'.
|
||||||
|
mkdir conftest.dir
|
||||||
|
# Copy depcomp to subdir because otherwise we won't find it if we're
|
||||||
|
# using a relative directory.
|
||||||
|
cp "$am_depcomp" conftest.dir
|
||||||
|
cd conftest.dir
|
||||||
|
# We will build objects and dependencies in a subdirectory because
|
||||||
|
# it helps to detect inapplicable dependency modes. For instance
|
||||||
|
# both Tru64's cc and ICC support -MD to output dependencies as a
|
||||||
|
# side effect of compilation, but ICC will put the dependencies in
|
||||||
|
# the current directory while Tru64 will put them in the object
|
||||||
|
# directory.
|
||||||
|
mkdir sub
|
||||||
|
|
||||||
|
am_cv_$1_dependencies_compiler_type=none
|
||||||
|
if test "$am_compiler_list" = ""; then
|
||||||
|
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||||
|
fi
|
||||||
|
am__universal=false
|
||||||
|
m4_case([$1], [CC],
|
||||||
|
[case " $depcc " in #(
|
||||||
|
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||||
|
esac],
|
||||||
|
[CXX],
|
||||||
|
[case " $depcc " in #(
|
||||||
|
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||||
|
esac])
|
||||||
|
|
||||||
|
for depmode in $am_compiler_list; do
|
||||||
|
# Setup a source with many dependencies, because some compilers
|
||||||
|
# like to wrap large dependency lists on column 80 (with \), and
|
||||||
|
# we should not choose a depcomp mode which is confused by this.
|
||||||
|
#
|
||||||
|
# We need to recreate these files for each test, as the compiler may
|
||||||
|
# overwrite some of them when testing with obscure command lines.
|
||||||
|
# This happens at least with the AIX C compiler.
|
||||||
|
: > sub/conftest.c
|
||||||
|
for i in 1 2 3 4 5 6; do
|
||||||
|
echo '#include "conftst'$i'.h"' >> sub/conftest.c
|
||||||
|
# Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
|
||||||
|
# Solaris 8's {/usr,}/bin/sh.
|
||||||
|
touch sub/conftst$i.h
|
||||||
|
done
|
||||||
|
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||||
|
|
||||||
|
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
||||||
|
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||||
|
# handle `-M -o', and we need to detect this. Also, some Intel
|
||||||
|
# versions had trouble with output in subdirs
|
||||||
|
am__obj=sub/conftest.${OBJEXT-o}
|
||||||
|
am__minus_obj="-o $am__obj"
|
||||||
|
case $depmode in
|
||||||
|
gcc)
|
||||||
|
# This depmode causes a compiler race in universal mode.
|
||||||
|
test "$am__universal" = false || continue
|
||||||
|
;;
|
||||||
|
nosideeffect)
|
||||||
|
# after this tag, mechanisms are not by side-effect, so they'll
|
||||||
|
# only be used when explicitly requested
|
||||||
|
if test "x$enable_dependency_tracking" = xyes; then
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
msvisualcpp | msvcmsys)
|
||||||
|
# This compiler won't grok `-c -o', but also, the minuso test has
|
||||||
|
# not run yet. These depmodes are late enough in the game, and
|
||||||
|
# so weak that their functioning should not be impacted.
|
||||||
|
am__obj=conftest.${OBJEXT-o}
|
||||||
|
am__minus_obj=
|
||||||
|
;;
|
||||||
|
none) break ;;
|
||||||
|
esac
|
||||||
|
if depmode=$depmode \
|
||||||
|
source=sub/conftest.c object=$am__obj \
|
||||||
|
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||||
|
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
|
||||||
|
>/dev/null 2>conftest.err &&
|
||||||
|
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
|
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
|
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
|
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||||
|
# icc doesn't choke on unknown options, it will just issue warnings
|
||||||
|
# or remarks (even with -Werror). So we grep stderr for any message
|
||||||
|
# that says an option was ignored or not supported.
|
||||||
|
# When given -MP, icc 7.0 and 7.1 complain thusly:
|
||||||
|
# icc: Command line warning: ignoring option '-M'; no argument required
|
||||||
|
# The diagnosis changed in icc 8.0:
|
||||||
|
# icc: Command line remark: option '-MP' not supported
|
||||||
|
if (grep 'ignoring option' conftest.err ||
|
||||||
|
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
|
||||||
|
am_cv_$1_dependencies_compiler_type=$depmode
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rm -rf conftest.dir
|
||||||
|
else
|
||||||
|
am_cv_$1_dependencies_compiler_type=none
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||||
|
AM_CONDITIONAL([am__fastdep$1], [
|
||||||
|
test "x$enable_dependency_tracking" != xno \
|
||||||
|
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||||
|
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking,
|
||||||
|
[ --disable-dependency-tracking speeds up one-time build
|
||||||
|
--enable-dependency-tracking do not reject slow dependency extractors])
|
||||||
|
if test "x$enable_dependency_tracking" != xno; then
|
||||||
|
am_depcomp="$ac_aux_dir/depcomp"
|
||||||
|
AMDEPBACKSLASH='\'
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||||
|
AC_SUBST([AMDEPBACKSLASH])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{
|
||||||
|
# Autoconf 2.62 quotes --file arguments for eval, but not when files
|
||||||
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
|
# if we detect the quoting.
|
||||||
|
case $CONFIG_FILES in
|
||||||
|
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||||
|
*) set x $CONFIG_FILES ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
for mf
|
||||||
|
do
|
||||||
|
# Strip MF so we end up with the name of the file.
|
||||||
|
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||||
|
# Check whether this is an Automake generated Makefile or not.
|
||||||
|
# We used to match only the files named `Makefile.in', but
|
||||||
|
# some people rename them; so instead we look at the file content.
|
||||||
|
# Grep'ing the first line is not enough: some people post-process
|
||||||
|
# each Makefile.in and add a new line on top of each file to say so.
|
||||||
|
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||||
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||||
|
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||||
|
dirpart=`AS_DIRNAME("$mf")`
|
||||||
|
else
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||||
|
# from the Makefile without running `make'.
|
||||||
|
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||||
|
test -z "$DEPDIR" && continue
|
||||||
|
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||||
|
test -z "am__include" && continue
|
||||||
|
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||||
|
# When using ansi2knr, U may be empty or an underscore; expand it
|
||||||
|
U=`sed -n 's/^U = //p' < "$mf"`
|
||||||
|
# Find all dependency output files, they are included files with
|
||||||
|
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||||
|
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||||
|
# expansion.
|
||||||
|
for file in `sed -n "
|
||||||
|
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||||
|
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||||
|
# Make sure the directory exists.
|
||||||
|
test -f "$dirpart/$file" && continue
|
||||||
|
fdir=`AS_DIRNAME(["$file"])`
|
||||||
|
AS_MKDIR_P([$dirpart/$fdir])
|
||||||
|
# echo "creating $dirpart/$file"
|
||||||
|
echo '# dummy' > "$dirpart/$file"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/depout.m4:75: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles],
|
||||||
|
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl
|
||||||
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||||
|
dnl the ones we care about.
|
||||||
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||||
|
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
||||||
|
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
||||||
|
# is not polluted with repeated "-I."
|
||||||
|
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
|
||||||
|
# test to see if srcdir already configured
|
||||||
|
if test -f $srcdir/config.status; then
|
||||||
|
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# test whether we have cygpath
|
||||||
|
if test -z "$CYGPATH_W"; then
|
||||||
|
if (cygpath --version) >/dev/null 2>/dev/null; then
|
||||||
|
CYGPATH_W='cygpath -w'
|
||||||
|
else
|
||||||
|
CYGPATH_W=echo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([CYGPATH_W])
|
||||||
|
|
||||||
|
# Define the identity of the package.
|
||||||
|
dnl Distinguish between old-style and new-style calls.
|
||||||
|
m4_ifval([$2],
|
||||||
|
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||||
|
AC_SUBST([PACKAGE], [$1])dnl
|
||||||
|
AC_SUBST([VERSION], [$2])],
|
||||||
|
[_AM_SET_OPTIONS([$1])dnl
|
||||||
|
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||||
|
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
|
||||||
|
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||||
|
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||||
|
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||||
|
|
||||||
|
_AM_IF_OPTION([no-define],,
|
||||||
|
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||||
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
|
||||||
|
|
||||||
|
# Some tools Automake needs.
|
||||||
|
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||||
|
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
||||||
|
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
|
||||||
|
AM_MISSING_PROG(AUTOCONF, autoconf)
|
||||||
|
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
|
||||||
|
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
||||||
|
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
||||||
|
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||||
|
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||||
|
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
|
||||||
|
# We need awk for the "check" target. The system "awk" is bad on
|
||||||
|
# some platforms.
|
||||||
|
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||||
|
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||||
|
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
|
||||||
|
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||||
|
[_AM_PROG_TAR([v7])])])
|
||||||
|
_AM_IF_OPTION([no-dependencies],,
|
||||||
|
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||||
|
[_AM_DEPENDENCIES(CC)],
|
||||||
|
[define([AC_PROG_CC],
|
||||||
|
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||||
|
[_AM_DEPENDENCIES(CXX)],
|
||||||
|
[define([AC_PROG_CXX],
|
||||||
|
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||||
|
[_AM_DEPENDENCIES(OBJC)],
|
||||||
|
[define([AC_PROG_OBJC],
|
||||||
|
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||||
|
])
|
||||||
|
_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
|
||||||
|
dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
|
||||||
|
dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
|
||||||
|
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
||||||
|
AC_CONFIG_COMMANDS_PRE(dnl
|
||||||
|
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
||||||
|
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/init.m4:126: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers.
|
||||||
|
_am_arg=$1
|
||||||
|
_am_stamp_count=1
|
||||||
|
for _am_header in $config_headers :; do
|
||||||
|
case $_am_header in
|
||||||
|
$_am_arg | $_am_arg:* )
|
||||||
|
break ;;
|
||||||
|
* )
|
||||||
|
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
if test x"${install_sh}" != xset; then
|
||||||
|
case $am_aux_dir in
|
||||||
|
*\ * | *\ *)
|
||||||
|
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
|
||||||
|
*)
|
||||||
|
install_sh="\${SHELL} $am_aux_dir/install-sh"
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
AC_SUBST(install_sh)])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null
|
||||||
|
mkdir .tst 2>/dev/null
|
||||||
|
if test -d .tst; then
|
||||||
|
am__leading_dot=.
|
||||||
|
else
|
||||||
|
am__leading_dot=_
|
||||||
|
fi
|
||||||
|
rmdir .tst 2>/dev/null
|
||||||
|
AC_SUBST([am__leading_dot])])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make}
|
||||||
|
cat > confinc << 'END'
|
||||||
|
am__doit:
|
||||||
|
@echo this is the am__doit target
|
||||||
|
.PHONY: am__doit
|
||||||
|
END
|
||||||
|
# If we don't find an include directive, just comment out the code.
|
||||||
|
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||||
|
am__include="#"
|
||||||
|
am__quote=
|
||||||
|
_am_result=none
|
||||||
|
# First try GNU make style include.
|
||||||
|
echo "include confinc" > confmf
|
||||||
|
# Ignore all kinds of additional output from `make'.
|
||||||
|
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||||
|
*the\ am__doit\ target*)
|
||||||
|
am__include=include
|
||||||
|
am__quote=
|
||||||
|
_am_result=GNU
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# Now try BSD make style include.
|
||||||
|
if test "$am__include" = "#"; then
|
||||||
|
echo '.include "confinc"' > confmf
|
||||||
|
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||||
|
*the\ am__doit\ target*)
|
||||||
|
am__include=.include
|
||||||
|
am__quote="\""
|
||||||
|
_am_result=BSD
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
AC_SUBST([am__include])
|
||||||
|
AC_SUBST([am__quote])
|
||||||
|
AC_MSG_RESULT([$_am_result])
|
||||||
|
rm -f confinc confmf
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN])
|
||||||
|
$1=${$1-"${am_missing_run}$2"}
|
||||||
|
AC_SUBST($1)])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||||
|
if test x"${MISSING+set}" != xset; then
|
||||||
|
case $am_aux_dir in
|
||||||
|
*\ * | *\ *)
|
||||||
|
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
||||||
|
*)
|
||||||
|
MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
# Use eval to expand $SHELL
|
||||||
|
if eval "$MISSING --run true"; then
|
||||||
|
am_missing_run="$MISSING --run "
|
||||||
|
else
|
||||||
|
am_missing_run=
|
||||||
|
AC_MSG_WARN([`missing' script is too old or missing])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/mkdirp.m4:11: -1- AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||||
|
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
|
||||||
|
dnl while keeping a definition of mkdir_p for backward compatibility.
|
||||||
|
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
|
||||||
|
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
|
||||||
|
dnl Makefile.ins that do not define MKDIR_P, so we do our own
|
||||||
|
dnl adjustment using top_builddir (which is defined more often than
|
||||||
|
dnl MKDIR_P).
|
||||||
|
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
|
||||||
|
case $mkdir_p in
|
||||||
|
[[\\/$]]* | ?:[[\\/]]*) ;;
|
||||||
|
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
|
||||||
|
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
|
||||||
|
(exit $ac_status); }])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane])
|
||||||
|
# Just in case
|
||||||
|
sleep 1
|
||||||
|
echo timestamp > conftest.file
|
||||||
|
# Reject unsafe characters in $srcdir or the absolute working directory
|
||||||
|
# name. Accept space and tab only in the latter.
|
||||||
|
am_lf='
|
||||||
|
'
|
||||||
|
case `pwd` in
|
||||||
|
*[[\\\"\#\$\&\'\`$am_lf]]*)
|
||||||
|
AC_MSG_ERROR([unsafe absolute working directory name]);;
|
||||||
|
esac
|
||||||
|
case $srcdir in
|
||||||
|
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
|
||||||
|
AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Do `set' in a subshell so we don't clobber the current shell's
|
||||||
|
# arguments. Must try -L first in case configure is actually a
|
||||||
|
# symlink; some systems play weird games with the mod time of symlinks
|
||||||
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||||
|
# directory).
|
||||||
|
if (
|
||||||
|
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
|
||||||
|
if test "$[*]" = "X"; then
|
||||||
|
# -L didn't work.
|
||||||
|
set X `ls -t "$srcdir/configure" conftest.file`
|
||||||
|
fi
|
||||||
|
rm -f conftest.file
|
||||||
|
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
||||||
|
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
|
||||||
|
|
||||||
|
# If neither matched, then we have a broken ls. This can happen
|
||||||
|
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||||
|
# broken ls alias from the environment. This has actually
|
||||||
|
# happened. Such a system could not be considered "sane".
|
||||||
|
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||||
|
alias in your environment])
|
||||||
|
fi
|
||||||
|
|
||||||
|
test "$[2]" = conftest.file
|
||||||
|
)
|
||||||
|
then
|
||||||
|
# Ok.
|
||||||
|
:
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||||
|
Check your system clock])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT(yes)])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/silent.m4:14: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules],
|
||||||
|
[ --enable-silent-rules less verbose build output (undo: `make V=1')
|
||||||
|
--disable-silent-rules verbose build output (undo: `make V=0')])
|
||||||
|
case $enable_silent_rules in
|
||||||
|
yes) AM_DEFAULT_VERBOSITY=0;;
|
||||||
|
no) AM_DEFAULT_VERBOSITY=1;;
|
||||||
|
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
|
||||||
|
esac
|
||||||
|
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
|
||||||
|
AM_BACKSLASH='\'
|
||||||
|
AC_SUBST([AM_BACKSLASH])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||||
|
])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||||
|
# Installed binaries are usually stripped using `strip' when the user
|
||||||
|
# run `make install-strip'. However `strip' might not be the right
|
||||||
|
# tool to use in cross-compilation environments, therefore Automake
|
||||||
|
# will honor the `STRIP' environment variable to overrule this program.
|
||||||
|
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
|
||||||
|
if test "$cross_compiling" != no; then
|
||||||
|
AC_CHECK_TOOL([STRIP], [strip], :)
|
||||||
|
fi
|
||||||
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/substnot.m4:14: -1- AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/substnot.m4:19: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||||
|
m4trace:/usr/share/aclocal-1.11/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility.
|
||||||
|
AM_MISSING_PROG([AMTAR], [tar])
|
||||||
|
m4_if([$1], [v7],
|
||||||
|
[am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
|
||||||
|
[m4_case([$1], [ustar],, [pax],,
|
||||||
|
[m4_fatal([Unknown tar format])])
|
||||||
|
AC_MSG_CHECKING([how to create a $1 tar archive])
|
||||||
|
# Loop over all known methods to create a tar archive until one works.
|
||||||
|
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
|
||||||
|
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
|
||||||
|
# Do not fold the above two line into one, because Tru64 sh and
|
||||||
|
# Solaris sh will not grok spaces in the rhs of `-'.
|
||||||
|
for _am_tool in $_am_tools
|
||||||
|
do
|
||||||
|
case $_am_tool in
|
||||||
|
gnutar)
|
||||||
|
for _am_tar in tar gnutar gtar;
|
||||||
|
do
|
||||||
|
AM_RUN_LOG([$_am_tar --version]) && break
|
||||||
|
done
|
||||||
|
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
|
||||||
|
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
|
||||||
|
am__untar="$_am_tar -xf -"
|
||||||
|
;;
|
||||||
|
plaintar)
|
||||||
|
# Must skip GNU tar: if it does not support --format= it doesn't create
|
||||||
|
# ustar tarball either.
|
||||||
|
(tar --version) >/dev/null 2>&1 && continue
|
||||||
|
am__tar='tar chf - "$$tardir"'
|
||||||
|
am__tar_='tar chf - "$tardir"'
|
||||||
|
am__untar='tar xf -'
|
||||||
|
;;
|
||||||
|
pax)
|
||||||
|
am__tar='pax -L -x $1 -w "$$tardir"'
|
||||||
|
am__tar_='pax -L -x $1 -w "$tardir"'
|
||||||
|
am__untar='pax -r'
|
||||||
|
;;
|
||||||
|
cpio)
|
||||||
|
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__untar='cpio -i -H $1 -d'
|
||||||
|
;;
|
||||||
|
none)
|
||||||
|
am__tar=false
|
||||||
|
am__tar_=false
|
||||||
|
am__untar=false
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If the value was cached, stop now. We just wanted to have am__tar
|
||||||
|
# and am__untar set.
|
||||||
|
test -n "${am_cv_prog_tar_$1}" && break
|
||||||
|
|
||||||
|
# tar/untar a dummy directory, and stop if the command works
|
||||||
|
rm -rf conftest.dir
|
||||||
|
mkdir conftest.dir
|
||||||
|
echo GrepMe > conftest.dir/file
|
||||||
|
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
|
||||||
|
rm -rf conftest.dir
|
||||||
|
if test -s conftest.tar; then
|
||||||
|
AM_RUN_LOG([$am__untar <conftest.tar])
|
||||||
|
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -rf conftest.dir
|
||||||
|
|
||||||
|
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
|
||||||
|
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
|
||||||
|
AC_SUBST([am__tar])
|
||||||
|
AC_SUBST([am__untar])
|
||||||
|
])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||||
|
m4trace:configure.ac:2: -1- AM_AUTOMAKE_VERSION([1.11.1])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_AUTOCONF_VERSION([2.65])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_DATA$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__isrc$])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_SUBST_NOTMAKE([am__isrc])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^CYGPATH_W$])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_SET_OPTIONS([-Wall -Werror foreign])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_SET_OPTION([-Wall])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([-Wall])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_SET_OPTION([-Werror])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([-Werror])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_SET_OPTION([foreign])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([foreign])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^VERSION$])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||||
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([no-define])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^VERSION$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_SANITY_CHECK
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_HAS_RUN
|
||||||
|
m4trace:configure.ac:2: -1- AM_AUX_DIR_EXPAND
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^ACLOCAL$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOCONF$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOMAKE$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOHEADER$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^MAKEINFO$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_PROG_INSTALL_SH
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^install_sh$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_PROG_INSTALL_STRIP
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^STRIP$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_PROG_MKDIR_P
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^MKDIR_P$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^mkdir_p$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AWK$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^SET_MAKE$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_SET_LEADING_DOT
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__leading_dot$])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||||
|
[_AM_PROG_TAR([v7])])])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([tar-ustar])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([tar-pax])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_PROG_TAR([v7])
|
||||||
|
m4trace:configure.ac:2: -1- AM_MISSING_PROG([AMTAR], [tar])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AMTAR$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__tar$])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__untar$])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||||
|
[_AM_DEPENDENCIES(CC)],
|
||||||
|
[define([AC_PROG_CC],
|
||||||
|
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||||
|
[_AM_DEPENDENCIES(CXX)],
|
||||||
|
[define([AC_PROG_CXX],
|
||||||
|
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||||
|
[_AM_DEPENDENCIES(OBJC)],
|
||||||
|
[define([AC_PROG_OBJC],
|
||||||
|
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||||
|
])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([no-dependencies])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])
|
||||||
|
m4trace:configure.ac:2: -2- _AM_MANGLE_OPTION([silent-rules])
|
||||||
|
m4trace:configure.ac:8: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||||
|
m4trace:configure.ac:8: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||||
|
m4trace:configure.ac:8: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"])
|
254
autom4te.cache/traces.1
Normal file
254
autom4te.cache/traces.1
Normal file
|
@ -0,0 +1,254 @@
|
||||||
|
m4trace:configure.ac:1: -1- AC_INIT([parallel], [20100419], [bug-parallel@tange.dk])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([SHELL])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([SHELL])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PATH_SEPARATOR])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_NAME])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_STRING])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_URL])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([exec_prefix], [NONE])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([exec_prefix])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([prefix], [NONE])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([prefix])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([program_transform_name], [s,x,x,])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([program_transform_name])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([bindir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sbindir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libexecdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datarootdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([datadir], ['${datarootdir}'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datadir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sysconfdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sharedstatedir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localstatedir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([includedir], ['${prefix}/include'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([includedir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([oldincludedir], ['/usr/include'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([oldincludedir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
|
||||||
|
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
|
||||||
|
['${datarootdir}/doc/${PACKAGE}'])])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([docdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([infodir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([htmldir], ['${docdir}'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([htmldir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([dvidir], ['${docdir}'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([dvidir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([pdfdir], ['${docdir}'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([pdfdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([psdir], ['${docdir}'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([psdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libdir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localedir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([mandir])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||||
|
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
|
||||||
|
@%:@undef PACKAGE_NAME])
|
||||||
|
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||||
|
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
|
||||||
|
@%:@undef PACKAGE_TARNAME])
|
||||||
|
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||||
|
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
|
||||||
|
@%:@undef PACKAGE_VERSION])
|
||||||
|
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||||
|
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
|
||||||
|
@%:@undef PACKAGE_STRING])
|
||||||
|
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||||
|
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
@%:@undef PACKAGE_BUGREPORT])
|
||||||
|
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||||
|
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
|
||||||
|
@%:@undef PACKAGE_URL])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([DEFS])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([DEFS])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([ECHO_C])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_C])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([ECHO_N])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_N])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([ECHO_T])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_T])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([LIBS])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([LIBS])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([build_alias])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([build_alias])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([host_alias])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([host_alias])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST([target_alias])
|
||||||
|
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([target_alias])
|
||||||
|
m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
|
||||||
|
m4trace:configure.ac:2: -1- AM_AUTOMAKE_VERSION([1.11.1])
|
||||||
|
m4trace:configure.ac:2: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_PROGRAM])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_SCRIPT])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_DATA])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_DATA])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_DATA$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__isrc])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__isrc$])
|
||||||
|
m4trace:configure.ac:2: -1- _AM_SUBST_NOTMAKE([am__isrc])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([CYGPATH_W])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([CYGPATH_W])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^CYGPATH_W$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([VERSION])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^VERSION$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE$])
|
||||||
|
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
|
||||||
|
@%:@undef PACKAGE])
|
||||||
|
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^VERSION$])
|
||||||
|
m4trace:configure.ac:2: -1- AH_OUTPUT([VERSION], [/* Version number of package */
|
||||||
|
@%:@undef VERSION])
|
||||||
|
m4trace:configure.ac:2: -1- AC_REQUIRE_AUX_FILE([missing])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([ACLOCAL])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ACLOCAL])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^ACLOCAL$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([AUTOCONF])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AUTOCONF])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOCONF$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([AUTOMAKE])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AUTOMAKE])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOMAKE$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([AUTOHEADER])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AUTOHEADER])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AUTOHEADER$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([MAKEINFO])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([MAKEINFO])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^MAKEINFO$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([install_sh])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([install_sh])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^install_sh$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([STRIP])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([STRIP])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^STRIP$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([MKDIR_P])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^MKDIR_P$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mkdir_p])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^mkdir_p$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([AWK])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AWK])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AWK$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([SET_MAKE])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SET_MAKE])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^SET_MAKE$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([am__leading_dot])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__leading_dot])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__leading_dot$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([AMTAR])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([AMTAR])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^AMTAR$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([am__tar])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__tar])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__tar$])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST([am__untar])
|
||||||
|
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([am__untar])
|
||||||
|
m4trace:configure.ac:2: -1- m4_pattern_allow([^am__untar$])
|
||||||
|
m4trace:configure.ac:3: -1- AC_CONFIG_HEADERS([config.h])
|
||||||
|
m4trace:configure.ac:4: -1- AC_CONFIG_FILES([
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||||
|
m4trace:configure.ac:8: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||||
|
m4trace:configure.ac:8: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([top_builddir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([srcdir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([top_srcdir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([builddir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([abs_builddir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([INSTALL])
|
||||||
|
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([MKDIR_P])
|
25
config.h.in
Normal file
25
config.h.in
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#undef PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the home page for this package. */
|
||||||
|
#undef PACKAGE_URL
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef VERSION
|
8
configure.ac
Normal file
8
configure.ac
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
AC_INIT([parallel], [20100419], [bug-parallel@tange.dk])
|
||||||
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
])
|
||||||
|
AC_OUTPUT
|
40
doc/pod_to_savannah_publicinfo
Executable file
40
doc/pod_to_savannah_publicinfo
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
$line="";
|
||||||
|
|
||||||
|
while(<>) {
|
||||||
|
/^\#/ and next;
|
||||||
|
if($verbatim) {
|
||||||
|
if(/^\S/) {
|
||||||
|
chomp($line);
|
||||||
|
$line=~s/\s+$/\n/gism;
|
||||||
|
push(@lines, $line."-verbatim-\n");
|
||||||
|
$verbatim=0;
|
||||||
|
$line="";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(/^\s*$/) {
|
||||||
|
$line=~s/B<(.*?)>/*$1*/gs;
|
||||||
|
$line=~s/I<(.*?)>/_$1_/gs;
|
||||||
|
push(@lines,$line."\n\n");
|
||||||
|
$line="";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
if(/^\s+\S/) {
|
||||||
|
$line.="+verbatim+\n ";
|
||||||
|
$verbatim=1;
|
||||||
|
} else {
|
||||||
|
s/\*/***/g;
|
||||||
|
chomp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s/=head1 (.*)/= $1 =/g;
|
||||||
|
s/=head2 (.*)/== $1 ==/g;
|
||||||
|
s/=over (.*)//g;
|
||||||
|
s/=back//g;
|
||||||
|
s/=item /* /g;
|
||||||
|
m/=cut/ and last;
|
||||||
|
$line.=$_." ";
|
||||||
|
}
|
||||||
|
|
||||||
|
print @lines;
|
BIN
doc/screenshot.png
Normal file
BIN
doc/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 96 KiB |
674
gpl-3.0.txt
674
gpl-3.0.txt
|
@ -1,674 +0,0 @@
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The GNU General Public License is a free, copyleft license for
|
|
||||||
software and other kinds of works.
|
|
||||||
|
|
||||||
The licenses for most software and other practical works are designed
|
|
||||||
to take away your freedom to share and change the works. By contrast,
|
|
||||||
the GNU General Public License is intended to guarantee your freedom to
|
|
||||||
share and change all versions of a program--to make sure it remains free
|
|
||||||
software for all its users. We, the Free Software Foundation, use the
|
|
||||||
GNU General Public License for most of our software; it applies also to
|
|
||||||
any other work released this way by its authors. You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
them if you wish), that you receive source code or can get it if you
|
|
||||||
want it, that you can change the software or use pieces of it in new
|
|
||||||
free programs, and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to prevent others from denying you
|
|
||||||
these rights or asking you to surrender the rights. Therefore, you have
|
|
||||||
certain responsibilities if you distribute copies of the software, or if
|
|
||||||
you modify it: responsibilities to respect the freedom of others.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must pass on to the recipients the same
|
|
||||||
freedoms that you received. You must make sure that they, too, receive
|
|
||||||
or can get the source code. And you must show them these terms so they
|
|
||||||
know their rights.
|
|
||||||
|
|
||||||
Developers that use the GNU GPL protect your rights with two steps:
|
|
||||||
(1) assert copyright on the software, and (2) offer you this License
|
|
||||||
giving you legal permission to copy, distribute and/or modify it.
|
|
||||||
|
|
||||||
For the developers' and authors' protection, the GPL clearly explains
|
|
||||||
that there is no warranty for this free software. For both users' and
|
|
||||||
authors' sake, the GPL requires that modified versions be marked as
|
|
||||||
changed, so that their problems will not be attributed erroneously to
|
|
||||||
authors of previous versions.
|
|
||||||
|
|
||||||
Some devices are designed to deny users access to install or run
|
|
||||||
modified versions of the software inside them, although the manufacturer
|
|
||||||
can do so. This is fundamentally incompatible with the aim of
|
|
||||||
protecting users' freedom to change the software. The systematic
|
|
||||||
pattern of such abuse occurs in the area of products for individuals to
|
|
||||||
use, which is precisely where it is most unacceptable. Therefore, we
|
|
||||||
have designed this version of the GPL to prohibit the practice for those
|
|
||||||
products. If such problems arise substantially in other domains, we
|
|
||||||
stand ready to extend this provision to those domains in future versions
|
|
||||||
of the GPL, as needed to protect the freedom of users.
|
|
||||||
|
|
||||||
Finally, every program is threatened constantly by software patents.
|
|
||||||
States should not allow patents to restrict development and use of
|
|
||||||
software on general-purpose computers, but in those that do, we wish to
|
|
||||||
avoid the special danger that patents applied to a free program could
|
|
||||||
make it effectively proprietary. To prevent this, the GPL assures that
|
|
||||||
patents cannot be used to render the program non-free.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
0. Definitions.
|
|
||||||
|
|
||||||
"This License" refers to version 3 of the GNU General Public License.
|
|
||||||
|
|
||||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
|
||||||
works, such as semiconductor masks.
|
|
||||||
|
|
||||||
"The Program" refers to any copyrightable work licensed under this
|
|
||||||
License. Each licensee is addressed as "you". "Licensees" and
|
|
||||||
"recipients" may be individuals or organizations.
|
|
||||||
|
|
||||||
To "modify" a work means to copy from or adapt all or part of the work
|
|
||||||
in a fashion requiring copyright permission, other than the making of an
|
|
||||||
exact copy. The resulting work is called a "modified version" of the
|
|
||||||
earlier work or a work "based on" the earlier work.
|
|
||||||
|
|
||||||
A "covered work" means either the unmodified Program or a work based
|
|
||||||
on the Program.
|
|
||||||
|
|
||||||
To "propagate" a work means to do anything with it that, without
|
|
||||||
permission, would make you directly or secondarily liable for
|
|
||||||
infringement under applicable copyright law, except executing it on a
|
|
||||||
computer or modifying a private copy. Propagation includes copying,
|
|
||||||
distribution (with or without modification), making available to the
|
|
||||||
public, and in some countries other activities as well.
|
|
||||||
|
|
||||||
To "convey" a work means any kind of propagation that enables other
|
|
||||||
parties to make or receive copies. Mere interaction with a user through
|
|
||||||
a computer network, with no transfer of a copy, is not conveying.
|
|
||||||
|
|
||||||
An interactive user interface displays "Appropriate Legal Notices"
|
|
||||||
to the extent that it includes a convenient and prominently visible
|
|
||||||
feature that (1) displays an appropriate copyright notice, and (2)
|
|
||||||
tells the user that there is no warranty for the work (except to the
|
|
||||||
extent that warranties are provided), that licensees may convey the
|
|
||||||
work under this License, and how to view a copy of this License. If
|
|
||||||
the interface presents a list of user commands or options, such as a
|
|
||||||
menu, a prominent item in the list meets this criterion.
|
|
||||||
|
|
||||||
1. Source Code.
|
|
||||||
|
|
||||||
The "source code" for a work means the preferred form of the work
|
|
||||||
for making modifications to it. "Object code" means any non-source
|
|
||||||
form of a work.
|
|
||||||
|
|
||||||
A "Standard Interface" means an interface that either is an official
|
|
||||||
standard defined by a recognized standards body, or, in the case of
|
|
||||||
interfaces specified for a particular programming language, one that
|
|
||||||
is widely used among developers working in that language.
|
|
||||||
|
|
||||||
The "System Libraries" of an executable work include anything, other
|
|
||||||
than the work as a whole, that (a) is included in the normal form of
|
|
||||||
packaging a Major Component, but which is not part of that Major
|
|
||||||
Component, and (b) serves only to enable use of the work with that
|
|
||||||
Major Component, or to implement a Standard Interface for which an
|
|
||||||
implementation is available to the public in source code form. A
|
|
||||||
"Major Component", in this context, means a major essential component
|
|
||||||
(kernel, window system, and so on) of the specific operating system
|
|
||||||
(if any) on which the executable work runs, or a compiler used to
|
|
||||||
produce the work, or an object code interpreter used to run it.
|
|
||||||
|
|
||||||
The "Corresponding Source" for a work in object code form means all
|
|
||||||
the source code needed to generate, install, and (for an executable
|
|
||||||
work) run the object code and to modify the work, including scripts to
|
|
||||||
control those activities. However, it does not include the work's
|
|
||||||
System Libraries, or general-purpose tools or generally available free
|
|
||||||
programs which are used unmodified in performing those activities but
|
|
||||||
which are not part of the work. For example, Corresponding Source
|
|
||||||
includes interface definition files associated with source files for
|
|
||||||
the work, and the source code for shared libraries and dynamically
|
|
||||||
linked subprograms that the work is specifically designed to require,
|
|
||||||
such as by intimate data communication or control flow between those
|
|
||||||
subprograms and other parts of the work.
|
|
||||||
|
|
||||||
The Corresponding Source need not include anything that users
|
|
||||||
can regenerate automatically from other parts of the Corresponding
|
|
||||||
Source.
|
|
||||||
|
|
||||||
The Corresponding Source for a work in source code form is that
|
|
||||||
same work.
|
|
||||||
|
|
||||||
2. Basic Permissions.
|
|
||||||
|
|
||||||
All rights granted under this License are granted for the term of
|
|
||||||
copyright on the Program, and are irrevocable provided the stated
|
|
||||||
conditions are met. This License explicitly affirms your unlimited
|
|
||||||
permission to run the unmodified Program. The output from running a
|
|
||||||
covered work is covered by this License only if the output, given its
|
|
||||||
content, constitutes a covered work. This License acknowledges your
|
|
||||||
rights of fair use or other equivalent, as provided by copyright law.
|
|
||||||
|
|
||||||
You may make, run and propagate covered works that you do not
|
|
||||||
convey, without conditions so long as your license otherwise remains
|
|
||||||
in force. You may convey covered works to others for the sole purpose
|
|
||||||
of having them make modifications exclusively for you, or provide you
|
|
||||||
with facilities for running those works, provided that you comply with
|
|
||||||
the terms of this License in conveying all material for which you do
|
|
||||||
not control copyright. Those thus making or running the covered works
|
|
||||||
for you must do so exclusively on your behalf, under your direction
|
|
||||||
and control, on terms that prohibit them from making any copies of
|
|
||||||
your copyrighted material outside their relationship with you.
|
|
||||||
|
|
||||||
Conveying under any other circumstances is permitted solely under
|
|
||||||
the conditions stated below. Sublicensing is not allowed; section 10
|
|
||||||
makes it unnecessary.
|
|
||||||
|
|
||||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
|
||||||
|
|
||||||
No covered work shall be deemed part of an effective technological
|
|
||||||
measure under any applicable law fulfilling obligations under article
|
|
||||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
|
||||||
similar laws prohibiting or restricting circumvention of such
|
|
||||||
measures.
|
|
||||||
|
|
||||||
When you convey a covered work, you waive any legal power to forbid
|
|
||||||
circumvention of technological measures to the extent such circumvention
|
|
||||||
is effected by exercising rights under this License with respect to
|
|
||||||
the covered work, and you disclaim any intention to limit operation or
|
|
||||||
modification of the work as a means of enforcing, against the work's
|
|
||||||
users, your or third parties' legal rights to forbid circumvention of
|
|
||||||
technological measures.
|
|
||||||
|
|
||||||
4. Conveying Verbatim Copies.
|
|
||||||
|
|
||||||
You may convey verbatim copies of the Program's source code as you
|
|
||||||
receive it, in any medium, provided that you conspicuously and
|
|
||||||
appropriately publish on each copy an appropriate copyright notice;
|
|
||||||
keep intact all notices stating that this License and any
|
|
||||||
non-permissive terms added in accord with section 7 apply to the code;
|
|
||||||
keep intact all notices of the absence of any warranty; and give all
|
|
||||||
recipients a copy of this License along with the Program.
|
|
||||||
|
|
||||||
You may charge any price or no price for each copy that you convey,
|
|
||||||
and you may offer support or warranty protection for a fee.
|
|
||||||
|
|
||||||
5. Conveying Modified Source Versions.
|
|
||||||
|
|
||||||
You may convey a work based on the Program, or the modifications to
|
|
||||||
produce it from the Program, in the form of source code under the
|
|
||||||
terms of section 4, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The work must carry prominent notices stating that you modified
|
|
||||||
it, and giving a relevant date.
|
|
||||||
|
|
||||||
b) The work must carry prominent notices stating that it is
|
|
||||||
released under this License and any conditions added under section
|
|
||||||
7. This requirement modifies the requirement in section 4 to
|
|
||||||
"keep intact all notices".
|
|
||||||
|
|
||||||
c) You must license the entire work, as a whole, under this
|
|
||||||
License to anyone who comes into possession of a copy. This
|
|
||||||
License will therefore apply, along with any applicable section 7
|
|
||||||
additional terms, to the whole of the work, and all its parts,
|
|
||||||
regardless of how they are packaged. This License gives no
|
|
||||||
permission to license the work in any other way, but it does not
|
|
||||||
invalidate such permission if you have separately received it.
|
|
||||||
|
|
||||||
d) If the work has interactive user interfaces, each must display
|
|
||||||
Appropriate Legal Notices; however, if the Program has interactive
|
|
||||||
interfaces that do not display Appropriate Legal Notices, your
|
|
||||||
work need not make them do so.
|
|
||||||
|
|
||||||
A compilation of a covered work with other separate and independent
|
|
||||||
works, which are not by their nature extensions of the covered work,
|
|
||||||
and which are not combined with it such as to form a larger program,
|
|
||||||
in or on a volume of a storage or distribution medium, is called an
|
|
||||||
"aggregate" if the compilation and its resulting copyright are not
|
|
||||||
used to limit the access or legal rights of the compilation's users
|
|
||||||
beyond what the individual works permit. Inclusion of a covered work
|
|
||||||
in an aggregate does not cause this License to apply to the other
|
|
||||||
parts of the aggregate.
|
|
||||||
|
|
||||||
6. Conveying Non-Source Forms.
|
|
||||||
|
|
||||||
You may convey a covered work in object code form under the terms
|
|
||||||
of sections 4 and 5, provided that you also convey the
|
|
||||||
machine-readable Corresponding Source under the terms of this License,
|
|
||||||
in one of these ways:
|
|
||||||
|
|
||||||
a) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by the
|
|
||||||
Corresponding Source fixed on a durable physical medium
|
|
||||||
customarily used for software interchange.
|
|
||||||
|
|
||||||
b) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by a
|
|
||||||
written offer, valid for at least three years and valid for as
|
|
||||||
long as you offer spare parts or customer support for that product
|
|
||||||
model, to give anyone who possesses the object code either (1) a
|
|
||||||
copy of the Corresponding Source for all the software in the
|
|
||||||
product that is covered by this License, on a durable physical
|
|
||||||
medium customarily used for software interchange, for a price no
|
|
||||||
more than your reasonable cost of physically performing this
|
|
||||||
conveying of source, or (2) access to copy the
|
|
||||||
Corresponding Source from a network server at no charge.
|
|
||||||
|
|
||||||
c) Convey individual copies of the object code with a copy of the
|
|
||||||
written offer to provide the Corresponding Source. This
|
|
||||||
alternative is allowed only occasionally and noncommercially, and
|
|
||||||
only if you received the object code with such an offer, in accord
|
|
||||||
with subsection 6b.
|
|
||||||
|
|
||||||
d) Convey the object code by offering access from a designated
|
|
||||||
place (gratis or for a charge), and offer equivalent access to the
|
|
||||||
Corresponding Source in the same way through the same place at no
|
|
||||||
further charge. You need not require recipients to copy the
|
|
||||||
Corresponding Source along with the object code. If the place to
|
|
||||||
copy the object code is a network server, the Corresponding Source
|
|
||||||
may be on a different server (operated by you or a third party)
|
|
||||||
that supports equivalent copying facilities, provided you maintain
|
|
||||||
clear directions next to the object code saying where to find the
|
|
||||||
Corresponding Source. Regardless of what server hosts the
|
|
||||||
Corresponding Source, you remain obligated to ensure that it is
|
|
||||||
available for as long as needed to satisfy these requirements.
|
|
||||||
|
|
||||||
e) Convey the object code using peer-to-peer transmission, provided
|
|
||||||
you inform other peers where the object code and Corresponding
|
|
||||||
Source of the work are being offered to the general public at no
|
|
||||||
charge under subsection 6d.
|
|
||||||
|
|
||||||
A separable portion of the object code, whose source code is excluded
|
|
||||||
from the Corresponding Source as a System Library, need not be
|
|
||||||
included in conveying the object code work.
|
|
||||||
|
|
||||||
A "User Product" is either (1) a "consumer product", which means any
|
|
||||||
tangible personal property which is normally used for personal, family,
|
|
||||||
or household purposes, or (2) anything designed or sold for incorporation
|
|
||||||
into a dwelling. In determining whether a product is a consumer product,
|
|
||||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
|
||||||
product received by a particular user, "normally used" refers to a
|
|
||||||
typical or common use of that class of product, regardless of the status
|
|
||||||
of the particular user or of the way in which the particular user
|
|
||||||
actually uses, or expects or is expected to use, the product. A product
|
|
||||||
is a consumer product regardless of whether the product has substantial
|
|
||||||
commercial, industrial or non-consumer uses, unless such uses represent
|
|
||||||
the only significant mode of use of the product.
|
|
||||||
|
|
||||||
"Installation Information" for a User Product means any methods,
|
|
||||||
procedures, authorization keys, or other information required to install
|
|
||||||
and execute modified versions of a covered work in that User Product from
|
|
||||||
a modified version of its Corresponding Source. The information must
|
|
||||||
suffice to ensure that the continued functioning of the modified object
|
|
||||||
code is in no case prevented or interfered with solely because
|
|
||||||
modification has been made.
|
|
||||||
|
|
||||||
If you convey an object code work under this section in, or with, or
|
|
||||||
specifically for use in, a User Product, and the conveying occurs as
|
|
||||||
part of a transaction in which the right of possession and use of the
|
|
||||||
User Product is transferred to the recipient in perpetuity or for a
|
|
||||||
fixed term (regardless of how the transaction is characterized), the
|
|
||||||
Corresponding Source conveyed under this section must be accompanied
|
|
||||||
by the Installation Information. But this requirement does not apply
|
|
||||||
if neither you nor any third party retains the ability to install
|
|
||||||
modified object code on the User Product (for example, the work has
|
|
||||||
been installed in ROM).
|
|
||||||
|
|
||||||
The requirement to provide Installation Information does not include a
|
|
||||||
requirement to continue to provide support service, warranty, or updates
|
|
||||||
for a work that has been modified or installed by the recipient, or for
|
|
||||||
the User Product in which it has been modified or installed. Access to a
|
|
||||||
network may be denied when the modification itself materially and
|
|
||||||
adversely affects the operation of the network or violates the rules and
|
|
||||||
protocols for communication across the network.
|
|
||||||
|
|
||||||
Corresponding Source conveyed, and Installation Information provided,
|
|
||||||
in accord with this section must be in a format that is publicly
|
|
||||||
documented (and with an implementation available to the public in
|
|
||||||
source code form), and must require no special password or key for
|
|
||||||
unpacking, reading or copying.
|
|
||||||
|
|
||||||
7. Additional Terms.
|
|
||||||
|
|
||||||
"Additional permissions" are terms that supplement the terms of this
|
|
||||||
License by making exceptions from one or more of its conditions.
|
|
||||||
Additional permissions that are applicable to the entire Program shall
|
|
||||||
be treated as though they were included in this License, to the extent
|
|
||||||
that they are valid under applicable law. If additional permissions
|
|
||||||
apply only to part of the Program, that part may be used separately
|
|
||||||
under those permissions, but the entire Program remains governed by
|
|
||||||
this License without regard to the additional permissions.
|
|
||||||
|
|
||||||
When you convey a copy of a covered work, you may at your option
|
|
||||||
remove any additional permissions from that copy, or from any part of
|
|
||||||
it. (Additional permissions may be written to require their own
|
|
||||||
removal in certain cases when you modify the work.) You may place
|
|
||||||
additional permissions on material, added by you to a covered work,
|
|
||||||
for which you have or can give appropriate copyright permission.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, for material you
|
|
||||||
add to a covered work, you may (if authorized by the copyright holders of
|
|
||||||
that material) supplement the terms of this License with terms:
|
|
||||||
|
|
||||||
a) Disclaiming warranty or limiting liability differently from the
|
|
||||||
terms of sections 15 and 16 of this License; or
|
|
||||||
|
|
||||||
b) Requiring preservation of specified reasonable legal notices or
|
|
||||||
author attributions in that material or in the Appropriate Legal
|
|
||||||
Notices displayed by works containing it; or
|
|
||||||
|
|
||||||
c) Prohibiting misrepresentation of the origin of that material, or
|
|
||||||
requiring that modified versions of such material be marked in
|
|
||||||
reasonable ways as different from the original version; or
|
|
||||||
|
|
||||||
d) Limiting the use for publicity purposes of names of licensors or
|
|
||||||
authors of the material; or
|
|
||||||
|
|
||||||
e) Declining to grant rights under trademark law for use of some
|
|
||||||
trade names, trademarks, or service marks; or
|
|
||||||
|
|
||||||
f) Requiring indemnification of licensors and authors of that
|
|
||||||
material by anyone who conveys the material (or modified versions of
|
|
||||||
it) with contractual assumptions of liability to the recipient, for
|
|
||||||
any liability that these contractual assumptions directly impose on
|
|
||||||
those licensors and authors.
|
|
||||||
|
|
||||||
All other non-permissive additional terms are considered "further
|
|
||||||
restrictions" within the meaning of section 10. If the Program as you
|
|
||||||
received it, or any part of it, contains a notice stating that it is
|
|
||||||
governed by this License along with a term that is a further
|
|
||||||
restriction, you may remove that term. If a license document contains
|
|
||||||
a further restriction but permits relicensing or conveying under this
|
|
||||||
License, you may add to a covered work material governed by the terms
|
|
||||||
of that license document, provided that the further restriction does
|
|
||||||
not survive such relicensing or conveying.
|
|
||||||
|
|
||||||
If you add terms to a covered work in accord with this section, you
|
|
||||||
must place, in the relevant source files, a statement of the
|
|
||||||
additional terms that apply to those files, or a notice indicating
|
|
||||||
where to find the applicable terms.
|
|
||||||
|
|
||||||
Additional terms, permissive or non-permissive, may be stated in the
|
|
||||||
form of a separately written license, or stated as exceptions;
|
|
||||||
the above requirements apply either way.
|
|
||||||
|
|
||||||
8. Termination.
|
|
||||||
|
|
||||||
You may not propagate or modify a covered work except as expressly
|
|
||||||
provided under this License. Any attempt otherwise to propagate or
|
|
||||||
modify it is void, and will automatically terminate your rights under
|
|
||||||
this License (including any patent licenses granted under the third
|
|
||||||
paragraph of section 11).
|
|
||||||
|
|
||||||
However, if you cease all violation of this License, then your
|
|
||||||
license from a particular copyright holder is reinstated (a)
|
|
||||||
provisionally, unless and until the copyright holder explicitly and
|
|
||||||
finally terminates your license, and (b) permanently, if the copyright
|
|
||||||
holder fails to notify you of the violation by some reasonable means
|
|
||||||
prior to 60 days after the cessation.
|
|
||||||
|
|
||||||
Moreover, your license from a particular copyright holder is
|
|
||||||
reinstated permanently if the copyright holder notifies you of the
|
|
||||||
violation by some reasonable means, this is the first time you have
|
|
||||||
received notice of violation of this License (for any work) from that
|
|
||||||
copyright holder, and you cure the violation prior to 30 days after
|
|
||||||
your receipt of the notice.
|
|
||||||
|
|
||||||
Termination of your rights under this section does not terminate the
|
|
||||||
licenses of parties who have received copies or rights from you under
|
|
||||||
this License. If your rights have been terminated and not permanently
|
|
||||||
reinstated, you do not qualify to receive new licenses for the same
|
|
||||||
material under section 10.
|
|
||||||
|
|
||||||
9. Acceptance Not Required for Having Copies.
|
|
||||||
|
|
||||||
You are not required to accept this License in order to receive or
|
|
||||||
run a copy of the Program. Ancillary propagation of a covered work
|
|
||||||
occurring solely as a consequence of using peer-to-peer transmission
|
|
||||||
to receive a copy likewise does not require acceptance. However,
|
|
||||||
nothing other than this License grants you permission to propagate or
|
|
||||||
modify any covered work. These actions infringe copyright if you do
|
|
||||||
not accept this License. Therefore, by modifying or propagating a
|
|
||||||
covered work, you indicate your acceptance of this License to do so.
|
|
||||||
|
|
||||||
10. Automatic Licensing of Downstream Recipients.
|
|
||||||
|
|
||||||
Each time you convey a covered work, the recipient automatically
|
|
||||||
receives a license from the original licensors, to run, modify and
|
|
||||||
propagate that work, subject to this License. You are not responsible
|
|
||||||
for enforcing compliance by third parties with this License.
|
|
||||||
|
|
||||||
An "entity transaction" is a transaction transferring control of an
|
|
||||||
organization, or substantially all assets of one, or subdividing an
|
|
||||||
organization, or merging organizations. If propagation of a covered
|
|
||||||
work results from an entity transaction, each party to that
|
|
||||||
transaction who receives a copy of the work also receives whatever
|
|
||||||
licenses to the work the party's predecessor in interest had or could
|
|
||||||
give under the previous paragraph, plus a right to possession of the
|
|
||||||
Corresponding Source of the work from the predecessor in interest, if
|
|
||||||
the predecessor has it or can get it with reasonable efforts.
|
|
||||||
|
|
||||||
You may not impose any further restrictions on the exercise of the
|
|
||||||
rights granted or affirmed under this License. For example, you may
|
|
||||||
not impose a license fee, royalty, or other charge for exercise of
|
|
||||||
rights granted under this License, and you may not initiate litigation
|
|
||||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
|
||||||
any patent claim is infringed by making, using, selling, offering for
|
|
||||||
sale, or importing the Program or any portion of it.
|
|
||||||
|
|
||||||
11. Patents.
|
|
||||||
|
|
||||||
A "contributor" is a copyright holder who authorizes use under this
|
|
||||||
License of the Program or a work on which the Program is based. The
|
|
||||||
work thus licensed is called the contributor's "contributor version".
|
|
||||||
|
|
||||||
A contributor's "essential patent claims" are all patent claims
|
|
||||||
owned or controlled by the contributor, whether already acquired or
|
|
||||||
hereafter acquired, that would be infringed by some manner, permitted
|
|
||||||
by this License, of making, using, or selling its contributor version,
|
|
||||||
but do not include claims that would be infringed only as a
|
|
||||||
consequence of further modification of the contributor version. For
|
|
||||||
purposes of this definition, "control" includes the right to grant
|
|
||||||
patent sublicenses in a manner consistent with the requirements of
|
|
||||||
this License.
|
|
||||||
|
|
||||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
|
||||||
patent license under the contributor's essential patent claims, to
|
|
||||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
|
||||||
propagate the contents of its contributor version.
|
|
||||||
|
|
||||||
In the following three paragraphs, a "patent license" is any express
|
|
||||||
agreement or commitment, however denominated, not to enforce a patent
|
|
||||||
(such as an express permission to practice a patent or covenant not to
|
|
||||||
sue for patent infringement). To "grant" such a patent license to a
|
|
||||||
party means to make such an agreement or commitment not to enforce a
|
|
||||||
patent against the party.
|
|
||||||
|
|
||||||
If you convey a covered work, knowingly relying on a patent license,
|
|
||||||
and the Corresponding Source of the work is not available for anyone
|
|
||||||
to copy, free of charge and under the terms of this License, through a
|
|
||||||
publicly available network server or other readily accessible means,
|
|
||||||
then you must either (1) cause the Corresponding Source to be so
|
|
||||||
available, or (2) arrange to deprive yourself of the benefit of the
|
|
||||||
patent license for this particular work, or (3) arrange, in a manner
|
|
||||||
consistent with the requirements of this License, to extend the patent
|
|
||||||
license to downstream recipients. "Knowingly relying" means you have
|
|
||||||
actual knowledge that, but for the patent license, your conveying the
|
|
||||||
covered work in a country, or your recipient's use of the covered work
|
|
||||||
in a country, would infringe one or more identifiable patents in that
|
|
||||||
country that you have reason to believe are valid.
|
|
||||||
|
|
||||||
If, pursuant to or in connection with a single transaction or
|
|
||||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
|
||||||
covered work, and grant a patent license to some of the parties
|
|
||||||
receiving the covered work authorizing them to use, propagate, modify
|
|
||||||
or convey a specific copy of the covered work, then the patent license
|
|
||||||
you grant is automatically extended to all recipients of the covered
|
|
||||||
work and works based on it.
|
|
||||||
|
|
||||||
A patent license is "discriminatory" if it does not include within
|
|
||||||
the scope of its coverage, prohibits the exercise of, or is
|
|
||||||
conditioned on the non-exercise of one or more of the rights that are
|
|
||||||
specifically granted under this License. You may not convey a covered
|
|
||||||
work if you are a party to an arrangement with a third party that is
|
|
||||||
in the business of distributing software, under which you make payment
|
|
||||||
to the third party based on the extent of your activity of conveying
|
|
||||||
the work, and under which the third party grants, to any of the
|
|
||||||
parties who would receive the covered work from you, a discriminatory
|
|
||||||
patent license (a) in connection with copies of the covered work
|
|
||||||
conveyed by you (or copies made from those copies), or (b) primarily
|
|
||||||
for and in connection with specific products or compilations that
|
|
||||||
contain the covered work, unless you entered into that arrangement,
|
|
||||||
or that patent license was granted, prior to 28 March 2007.
|
|
||||||
|
|
||||||
Nothing in this License shall be construed as excluding or limiting
|
|
||||||
any implied license or other defenses to infringement that may
|
|
||||||
otherwise be available to you under applicable patent law.
|
|
||||||
|
|
||||||
12. No Surrender of Others' Freedom.
|
|
||||||
|
|
||||||
If conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot convey a
|
|
||||||
covered work so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you may
|
|
||||||
not convey it at all. For example, if you agree to terms that obligate you
|
|
||||||
to collect a royalty for further conveying from those to whom you convey
|
|
||||||
the Program, the only way you could satisfy both those terms and this
|
|
||||||
License would be to refrain entirely from conveying the Program.
|
|
||||||
|
|
||||||
13. Use with the GNU Affero General Public License.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, you have
|
|
||||||
permission to link or combine any covered work with a work licensed
|
|
||||||
under version 3 of the GNU Affero General Public License into a single
|
|
||||||
combined work, and to convey the resulting work. The terms of this
|
|
||||||
License will continue to apply to the part which is the covered work,
|
|
||||||
but the special requirements of the GNU Affero General Public License,
|
|
||||||
section 13, concerning interaction through a network will apply to the
|
|
||||||
combination as such.
|
|
||||||
|
|
||||||
14. Revised Versions of this License.
|
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions of
|
|
||||||
the GNU General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the
|
|
||||||
Program specifies that a certain numbered version of the GNU General
|
|
||||||
Public License "or any later version" applies to it, you have the
|
|
||||||
option of following the terms and conditions either of that numbered
|
|
||||||
version or of any later version published by the Free Software
|
|
||||||
Foundation. If the Program does not specify a version number of the
|
|
||||||
GNU General Public License, you may choose any version ever published
|
|
||||||
by the Free Software Foundation.
|
|
||||||
|
|
||||||
If the Program specifies that a proxy can decide which future
|
|
||||||
versions of the GNU General Public License can be used, that proxy's
|
|
||||||
public statement of acceptance of a version permanently authorizes you
|
|
||||||
to choose that version for the Program.
|
|
||||||
|
|
||||||
Later license versions may give you additional or different
|
|
||||||
permissions. However, no additional obligations are imposed on any
|
|
||||||
author or copyright holder as a result of your choosing to follow a
|
|
||||||
later version.
|
|
||||||
|
|
||||||
15. Disclaimer of Warranty.
|
|
||||||
|
|
||||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
|
||||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
|
||||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
|
||||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
|
||||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
|
||||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. Limitation of Liability.
|
|
||||||
|
|
||||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
|
||||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
|
||||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
|
||||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
|
||||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
|
||||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
|
||||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGES.
|
|
||||||
|
|
||||||
17. Interpretation of Sections 15 and 16.
|
|
||||||
|
|
||||||
If the disclaimer of warranty and limitation of liability provided
|
|
||||||
above cannot be given local legal effect according to their terms,
|
|
||||||
reviewing courts shall apply local law that most closely approximates
|
|
||||||
an absolute waiver of all civil liability in connection with the
|
|
||||||
Program, unless a warranty or assumption of liability accompanies a
|
|
||||||
copy of the Program in return for a fee.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
state the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
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 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
|
||||||
notice like this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands
|
|
||||||
might be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
||||||
For more information on this, and how to apply and follow the GNU GPL, see
|
|
||||||
<http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
|
||||||
may consider it more useful to permit linking proprietary applications with
|
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License. But first, please read
|
|
||||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
520
install-sh
Executable file
520
install-sh
Executable file
|
@ -0,0 +1,520 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
|
scriptversion=2009-04-28.21; # UTC
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
|
# set DOITPROG to echo to test this script
|
||||||
|
|
||||||
|
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||||
|
doit=${DOITPROG-}
|
||||||
|
if test -z "$doit"; then
|
||||||
|
doit_exec=exec
|
||||||
|
else
|
||||||
|
doit_exec=$doit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Put in absolute file names if you don't have them in your path;
|
||||||
|
# or use environment vars.
|
||||||
|
|
||||||
|
chgrpprog=${CHGRPPROG-chgrp}
|
||||||
|
chmodprog=${CHMODPROG-chmod}
|
||||||
|
chownprog=${CHOWNPROG-chown}
|
||||||
|
cmpprog=${CMPPROG-cmp}
|
||||||
|
cpprog=${CPPROG-cp}
|
||||||
|
mkdirprog=${MKDIRPROG-mkdir}
|
||||||
|
mvprog=${MVPROG-mv}
|
||||||
|
rmprog=${RMPROG-rm}
|
||||||
|
stripprog=${STRIPPROG-strip}
|
||||||
|
|
||||||
|
posix_glob='?'
|
||||||
|
initialize_posix_glob='
|
||||||
|
test "$posix_glob" != "?" || {
|
||||||
|
if (set -f) 2>/dev/null; then
|
||||||
|
posix_glob=
|
||||||
|
else
|
||||||
|
posix_glob=:
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
||||||
|
posix_mkdir=
|
||||||
|
|
||||||
|
# Desired mode of installed file.
|
||||||
|
mode=0755
|
||||||
|
|
||||||
|
chgrpcmd=
|
||||||
|
chmodcmd=$chmodprog
|
||||||
|
chowncmd=
|
||||||
|
mvcmd=$mvprog
|
||||||
|
rmcmd="$rmprog -f"
|
||||||
|
stripcmd=
|
||||||
|
|
||||||
|
src=
|
||||||
|
dst=
|
||||||
|
dir_arg=
|
||||||
|
dst_arg=
|
||||||
|
|
||||||
|
copy_on_change=false
|
||||||
|
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:
|
||||||
|
--help display this help and exit.
|
||||||
|
--version display version info and exit.
|
||||||
|
|
||||||
|
-c (ignored)
|
||||||
|
-C install only if different (preserve the last data modification time)
|
||||||
|
-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.
|
||||||
|
|
||||||
|
Environment variables override the default commands:
|
||||||
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||||
|
RMPROG STRIPPROG
|
||||||
|
"
|
||||||
|
|
||||||
|
while test $# -ne 0; do
|
||||||
|
case $1 in
|
||||||
|
-c) ;;
|
||||||
|
|
||||||
|
-C) copy_on_change=true;;
|
||||||
|
|
||||||
|
-d) dir_arg=true;;
|
||||||
|
|
||||||
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
--help) echo "$usage"; exit $?;;
|
||||||
|
|
||||||
|
-m) mode=$2
|
||||||
|
case $mode in
|
||||||
|
*' '* | *' '* | *'
|
||||||
|
'* | *'*'* | *'?'* | *'['*)
|
||||||
|
echo "$0: invalid mode: $mode" >&2
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-o) chowncmd="$chownprog $2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
|
-t) dst_arg=$2
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-T) no_target_directory=true;;
|
||||||
|
|
||||||
|
--version) echo "$0 $scriptversion"; exit $?;;
|
||||||
|
|
||||||
|
--) shift
|
||||||
|
break;;
|
||||||
|
|
||||||
|
-*) echo "$0: invalid option: $1" >&2
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||||
|
# When -d is used, all remaining arguments are directories to create.
|
||||||
|
# When -t is used, the destination is already specified.
|
||||||
|
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$dst_arg"; then
|
||||||
|
# $@ is not empty: it contains at least $arg.
|
||||||
|
set fnord "$@" "$dst_arg"
|
||||||
|
shift # fnord
|
||||||
|
fi
|
||||||
|
shift # arg
|
||||||
|
dst_arg=$arg
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $# -eq 0; 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
|
||||||
|
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
trap '(exit $?); exit' 1 2 13 15
|
||||||
|
|
||||||
|
# Set umask so as not to create temps with too-generous modes.
|
||||||
|
# However, 'strip' requires both read and write access to temps.
|
||||||
|
case $mode in
|
||||||
|
# Optimize common cases.
|
||||||
|
*644) cp_umask=133;;
|
||||||
|
*755) cp_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw='% 200'
|
||||||
|
fi
|
||||||
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||||
|
*)
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw=,u+rw
|
||||||
|
fi
|
||||||
|
cp_umask=$mode$u_plus_rw;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
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 "$dst_arg"; then
|
||||||
|
echo "$0: no destination specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
dst=$dst_arg
|
||||||
|
# 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: $dst_arg: 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
|
||||||
|
'')
|
||||||
|
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||||
|
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||||
|
umask=`umask`
|
||||||
|
case $stripcmd.$umask in
|
||||||
|
# Optimize common cases.
|
||||||
|
*[2367][2367]) mkdir_umask=$umask;;
|
||||||
|
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
mkdir_umask=`expr $umask + 22 \
|
||||||
|
- $umask % 100 % 40 + $umask % 20 \
|
||||||
|
- $umask % 10 % 4 + $umask % 2
|
||||||
|
`;;
|
||||||
|
*) mkdir_umask=$umask,go-w;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# With -d, create the new directory with the user-specified mode.
|
||||||
|
# Otherwise, rely on $mkdir_umask.
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
mkdir_mode=-m$mode
|
||||||
|
else
|
||||||
|
mkdir_mode=
|
||||||
|
fi
|
||||||
|
|
||||||
|
posix_mkdir=false
|
||||||
|
case $umask in
|
||||||
|
*[123567][0-7][0-7])
|
||||||
|
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||||
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
|
if (umask $mkdir_umask &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
if test -z "$dir_arg" || {
|
||||||
|
# Check for POSIX incompatibilities with -m.
|
||||||
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
|
# other-writeable bit of parent directory when it shouldn't.
|
||||||
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
|
case $ls_ld_tmpdir in
|
||||||
|
d????-?r-*) different_mode=700;;
|
||||||
|
d????-?--*) different_mode=755;;
|
||||||
|
*) false;;
|
||||||
|
esac &&
|
||||||
|
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||||
|
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||||
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
then posix_mkdir=:
|
||||||
|
fi
|
||||||
|
rmdir "$tmpdir/d" "$tmpdir"
|
||||||
|
else
|
||||||
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
|
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||||
|
fi
|
||||||
|
trap '' 0;;
|
||||||
|
esac;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if
|
||||||
|
$posix_mkdir && (
|
||||||
|
umask $mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||||
|
)
|
||||||
|
then :
|
||||||
|
else
|
||||||
|
|
||||||
|
# The umask is ridiculous, or 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
|
||||||
|
/*) prefix='/';;
|
||||||
|
-*) prefix='./';;
|
||||||
|
*) prefix='';;
|
||||||
|
esac
|
||||||
|
|
||||||
|
eval "$initialize_posix_glob"
|
||||||
|
|
||||||
|
oIFS=$IFS
|
||||||
|
IFS=/
|
||||||
|
$posix_glob set -f
|
||||||
|
set fnord $dstdir
|
||||||
|
shift
|
||||||
|
$posix_glob set +f
|
||||||
|
IFS=$oIFS
|
||||||
|
|
||||||
|
prefixes=
|
||||||
|
|
||||||
|
for d
|
||||||
|
do
|
||||||
|
test -z "$d" && continue
|
||||||
|
|
||||||
|
prefix=$prefix$d
|
||||||
|
if test -d "$prefix"; then
|
||||||
|
prefixes=
|
||||||
|
else
|
||||||
|
if $posix_mkdir; then
|
||||||
|
(umask=$mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
test -d "$prefix" || exit 1
|
||||||
|
else
|
||||||
|
case $prefix in
|
||||||
|
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||||
|
*) qprefix=$prefix;;
|
||||||
|
esac
|
||||||
|
prefixes="$prefixes '$qprefix'"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
prefix=$prefix/
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -n "$prefixes"; then
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
(umask $mkdir_umask &&
|
||||||
|
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||||
|
test -d "$dstdir" || exit 1
|
||||||
|
obsolete_mkdir_used=true
|
||||||
|
fi
|
||||||
|
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.
|
||||||
|
(umask $cp_umask && $doit_exec $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"; } &&
|
||||||
|
|
||||||
|
# If -C, don't bother to copy if it wouldn't change the file.
|
||||||
|
if $copy_on_change &&
|
||||||
|
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||||
|
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||||
|
|
||||||
|
eval "$initialize_posix_glob" &&
|
||||||
|
$posix_glob set -f &&
|
||||||
|
set X $old && old=:$2:$4:$5:$6 &&
|
||||||
|
set X $new && new=:$2:$4:$5:$6 &&
|
||||||
|
$posix_glob set +f &&
|
||||||
|
|
||||||
|
test "$old" = "$new" &&
|
||||||
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
rm -f "$dsttmp"
|
||||||
|
else
|
||||||
|
# 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.
|
||||||
|
{
|
||||||
|
test ! -f "$dst" ||
|
||||||
|
$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
|
||||||
|
}
|
||||||
|
} &&
|
||||||
|
|
||||||
|
# Now rename the file to the real destination.
|
||||||
|
$doit $mvcmd "$dsttmp" "$dst"
|
||||||
|
}
|
||||||
|
fi || 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-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
376
missing
Executable file
376
missing
Executable file
|
@ -0,0 +1,376 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Common stub for a few missing GNU programs while installing.
|
||||||
|
|
||||||
|
scriptversion=2009-04-28.21; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
|
||||||
|
# 2008, 2009 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, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# 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=:
|
||||||
|
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||||
|
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||||
|
|
||||||
|
# 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'
|
||||||
|
autom4te touch the output file, or create a stub one
|
||||||
|
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]
|
||||||
|
|
||||||
|
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
|
||||||
|
\`g' are ignored when checking the name.
|
||||||
|
|
||||||
|
Send bug reports to <bug-automake@gnu.org>."
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||||
|
echo "missing $scriptversion (GNU Automake)"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
-*)
|
||||||
|
echo 1>&2 "$0: Unknown \`$1' option"
|
||||||
|
echo 1>&2 "Try \`$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
# normalize program name to check for.
|
||||||
|
program=`echo "$1" | sed '
|
||||||
|
s/^gnu-//; t
|
||||||
|
s/^gnu//; t
|
||||||
|
s/^g//; t'`
|
||||||
|
|
||||||
|
# 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). This is about non-GNU programs, so use $1 not
|
||||||
|
# $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 $program 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 "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
|
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 test $# -ne 1; then
|
||||||
|
eval LASTARG="\${$#}"
|
||||||
|
case $LASTARG in
|
||||||
|
*.y)
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||||
|
if test -f "$SRCFILE"; then
|
||||||
|
cp "$SRCFILE" y.tab.c
|
||||||
|
fi
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||||
|
if test -f "$SRCFILE"; then
|
||||||
|
cp "$SRCFILE" y.tab.h
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if test ! -f y.tab.h; then
|
||||||
|
echo >y.tab.h
|
||||||
|
fi
|
||||||
|
if test ! -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 test $# -ne 1; then
|
||||||
|
eval LASTARG="\${$#}"
|
||||||
|
case $LASTARG in
|
||||||
|
*.l)
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||||
|
if test -f "$SRCFILE"; then
|
||||||
|
cp "$SRCFILE" lex.yy.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if test ! -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 "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
|
if test -f "$file"; then
|
||||||
|
touch $file
|
||||||
|
else
|
||||||
|
test -z "$file" || exec >$file
|
||||||
|
echo ".ab help2man is required to generate this page"
|
||||||
|
exit $?
|
||||||
|
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."
|
||||||
|
# The file to touch is that specified with -o ...
|
||||||
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
|
if test -z "$file"; then
|
||||||
|
# ... or it is the one specified with @setfilename ...
|
||||||
|
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||||
|
file=`sed -n '
|
||||||
|
/^@setfilename/{
|
||||||
|
s/.* \([^ ]*\) *$/\1/
|
||||||
|
p
|
||||||
|
q
|
||||||
|
}' $infile`
|
||||||
|
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||||
|
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||||
|
fi
|
||||||
|
# If the file does not exist, the user really needs makeinfo;
|
||||||
|
# let's fail without touching anything.
|
||||||
|
test -f $file || exit 1
|
||||||
|
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-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
8
src/Makefile.am
Normal file
8
src/Makefile.am
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
bin_SCRIPTS = parallel
|
||||||
|
man_MANS = parallel.1
|
||||||
|
|
||||||
|
parallel.1: parallel Makefile
|
||||||
|
pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
|
||||||
|
--section=1 parallel > parallel.1
|
||||||
|
|
||||||
|
CLEANFILES = parallel.1
|
426
src/Makefile.in
Normal file
426
src/Makefile.in
Normal file
|
@ -0,0 +1,426 @@
|
||||||
|
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
|
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
VPATH = @srcdir@
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
subdir = src
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
|
am__vpath_adj = case $$p in \
|
||||||
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
*) f=$$p;; \
|
||||||
|
esac;
|
||||||
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||||
|
am__install_max = 40
|
||||||
|
am__nobase_strip_setup = \
|
||||||
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||||
|
am__nobase_strip = \
|
||||||
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||||
|
am__nobase_list = $(am__nobase_strip_setup); \
|
||||||
|
for p in $$list; do echo "$$p $$p"; done | \
|
||||||
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||||
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||||
|
if (++n[$$2] == $(am__install_max)) \
|
||||||
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||||
|
END { for (dir in files) print dir, files[dir] }'
|
||||||
|
am__base_list = \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||||
|
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
|
||||||
|
SCRIPTS = $(bin_SCRIPTS)
|
||||||
|
SOURCES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
man1dir = $(mandir)/man1
|
||||||
|
NROFF = nroff
|
||||||
|
MANS = $(man_MANS)
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
builddir = @builddir@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_build_prefix = @top_build_prefix@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
bin_SCRIPTS = parallel
|
||||||
|
man_MANS = parallel.1
|
||||||
|
CLEANFILES = parallel.1
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||||
|
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --foreign src/Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(am__configure_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
|
||||||
|
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
|
||||||
|
for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
|
||||||
|
done | \
|
||||||
|
sed -e 'p;s,.*/,,;n' \
|
||||||
|
-e 'h;s|.*|.|' \
|
||||||
|
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
|
||||||
|
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
|
||||||
|
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
||||||
|
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
|
||||||
|
if (++n[d] == $(am__install_max)) { \
|
||||||
|
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
|
||||||
|
else { print "f", d "/" $$4, $$1 } } \
|
||||||
|
END { for (d in files) print "f", d, files[d] }' | \
|
||||||
|
while read type dir files; do \
|
||||||
|
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
|
||||||
|
test -z "$$files" || { \
|
||||||
|
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
|
||||||
|
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
|
||||||
|
} \
|
||||||
|
; done
|
||||||
|
|
||||||
|
uninstall-binSCRIPTS:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
|
||||||
|
files=`for p in $$list; do echo "$$p"; done | \
|
||||||
|
sed -e 's,.*/,,;$(transform)'`; \
|
||||||
|
test -n "$$list" || exit 0; \
|
||||||
|
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
|
||||||
|
cd "$(DESTDIR)$(bindir)" && rm -f $$files
|
||||||
|
install-man1: $(man_MANS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
|
||||||
|
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||||
|
{ for i in $$list; do echo "$$i"; done; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||||
|
sed -n '/\.1[a-z]*$$/p'; \
|
||||||
|
} | while read p; do \
|
||||||
|
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
echo "$$d$$p"; echo "$$p"; \
|
||||||
|
done | \
|
||||||
|
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||||
|
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
|
||||||
|
sed 'N;N;s,\n, ,g' | { \
|
||||||
|
list=; while read file base inst; do \
|
||||||
|
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
|
||||||
|
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||||
|
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
|
||||||
|
while read files; do \
|
||||||
|
test -z "$$files" || { \
|
||||||
|
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
|
||||||
|
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
|
||||||
|
done; }
|
||||||
|
|
||||||
|
uninstall-man1:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||||
|
files=`{ for i in $$list; do echo "$$i"; done; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||||
|
sed -n '/\.1[a-z]*$$/p'; \
|
||||||
|
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||||
|
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||||
|
test -z "$$files" || { \
|
||||||
|
echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
|
||||||
|
cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
|
||||||
|
tags: TAGS
|
||||||
|
TAGS:
|
||||||
|
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS:
|
||||||
|
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@list='$(MANS)'; if test -n "$$list"; then \
|
||||||
|
list=`for p in $$list; do \
|
||||||
|
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
|
||||||
|
if test -n "$$list" && \
|
||||||
|
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
|
||||||
|
echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
|
||||||
|
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
|
||||||
|
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
|
||||||
|
echo " typically \`make maintainer-clean' will remove them" >&2; \
|
||||||
|
exit 1; \
|
||||||
|
else :; fi; \
|
||||||
|
else :; fi
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile $(SCRIPTS) $(MANS)
|
||||||
|
installdirs:
|
||||||
|
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
|
||||||
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
|
done
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-am
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am: install-man
|
||||||
|
|
||||||
|
install-dvi: install-dvi-am
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am: install-binSCRIPTS
|
||||||
|
|
||||||
|
install-html: install-html-am
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man: install-man1
|
||||||
|
|
||||||
|
install-pdf: install-pdf-am
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-am
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-binSCRIPTS uninstall-man
|
||||||
|
|
||||||
|
uninstall-man: uninstall-man1
|
||||||
|
|
||||||
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
|
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||||
|
distclean-generic distdir dvi dvi-am html html-am info info-am \
|
||||||
|
install install-am install-binSCRIPTS install-data \
|
||||||
|
install-data-am install-dvi install-dvi-am install-exec \
|
||||||
|
install-exec-am install-html install-html-am install-info \
|
||||||
|
install-info-am install-man install-man1 install-pdf \
|
||||||
|
install-pdf-am install-ps install-ps-am install-strip \
|
||||||
|
installcheck installcheck-am installdirs maintainer-clean \
|
||||||
|
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
|
||||||
|
pdf-am ps ps-am uninstall uninstall-am uninstall-binSCRIPTS \
|
||||||
|
uninstall-man uninstall-man1
|
||||||
|
|
||||||
|
|
||||||
|
parallel.1: parallel Makefile
|
||||||
|
pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \
|
||||||
|
--section=1 parallel > parallel.1
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
|
@ -2,17 +2,17 @@
|
||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
parallel - build and execute shell command lines from standard input in parallel
|
par$ - build and execute shell command lines from standard input in parallel
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
B<parallel> [-0cfgkquvmX] [-I str] [-j num] [--silent] [command [arguments]] [< list_of_arguments]
|
B<par$> [-0cdEfghiIkmnpqrtuUvX] [-I str] [-j num] [--silent] [command [arguments]] [< list_of_arguments]
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
For each line of input B<parallel> will execute B<command> with the
|
For each line of input B<par$> will execute B<command> with the
|
||||||
line as arguments. If no B<command> is given the line of input is
|
line as arguments. If no B<command> is given the line of input is
|
||||||
executed. B<parallel> can often be used as a substitute for B<xargs>
|
executed. B<par$> can often be used as a substitute for B<xargs>
|
||||||
or B<cat | sh>.
|
or B<cat | sh>.
|
||||||
|
|
||||||
Several lines will be run in parallel.
|
Several lines will be run in parallel.
|
||||||
|
@ -25,8 +25,8 @@ Command to execute. If B<command> or the following arguments contain
|
||||||
{} every instance will be substituted with the input line. Setting a
|
{} every instance will be substituted with the input line. Setting a
|
||||||
command also invokes B<-f>.
|
command also invokes B<-f>.
|
||||||
|
|
||||||
If B<command> is given, B<parallel> will behave similar to B<xargs>. If
|
If B<command> is given, B<par$> will behave similar to B<xargs>. If
|
||||||
B<command> is not given B<parallel> will behave similar to B<cat | sh>.
|
B<command> is not given B<par$> will behave similar to B<cat | sh>.
|
||||||
|
|
||||||
|
|
||||||
=item B<{}>
|
=item B<{}>
|
||||||
|
@ -46,6 +46,7 @@ not contain B<.> it will remain unchanged.
|
||||||
|
|
||||||
{.} can be used the same places as {}.
|
{.} can be used the same places as {}.
|
||||||
|
|
||||||
|
|
||||||
=item B<--null>
|
=item B<--null>
|
||||||
|
|
||||||
=item B<-0>
|
=item B<-0>
|
||||||
|
@ -171,13 +172,13 @@ end in the sequence 3 1 4 2 the output will still be 1 2 3 4.
|
||||||
|
|
||||||
=item B<--number-of-cpus>
|
=item B<--number-of-cpus>
|
||||||
|
|
||||||
Print the number of CPUs and exit (used by B<parallel> itself to
|
Print the number of CPUs and exit (used by B<par$> itself to
|
||||||
determine the number of CPUs on remote machines).
|
determine the number of CPUs on remote machines).
|
||||||
|
|
||||||
|
|
||||||
=item B<--number-of-cores>
|
=item B<--number-of-cores>
|
||||||
|
|
||||||
Print the number of cores and exit (used by B<parallel> itself to determine the
|
Print the number of cores and exit (used by B<par$> itself to determine the
|
||||||
number of cores on remote machines).
|
number of cores on remote machines).
|
||||||
|
|
||||||
|
|
||||||
|
@ -196,9 +197,9 @@ default.
|
||||||
=item B<--sshlogin> I<[ncpu/]sshlogin[,[ncpu/]sshlogin]> (not implemented)
|
=item B<--sshlogin> I<[ncpu/]sshlogin[,[ncpu/]sshlogin]> (not implemented)
|
||||||
|
|
||||||
Distribute jobs to remote servers. The jobs will be run on a list of
|
Distribute jobs to remote servers. The jobs will be run on a list of
|
||||||
remote servers. B<parallel> will determine the number of CPU cores on
|
remote servers. B<par$> will determine the number of CPU cores on
|
||||||
the remote servers and run the number of jobs as specified by -j. If
|
the remote servers and run the number of jobs as specified by -j. If
|
||||||
the number I<ncpu> is given B<parallel> will use this number for
|
the number I<ncpu> is given B<par$> will use this number for
|
||||||
number of CPUs on the host. Normally I<ncpu> will not be needed.
|
number of CPUs on the host. Normally I<ncpu> will not be needed.
|
||||||
|
|
||||||
An I<sshlogin> is the string you would normally pass to SSH to login,
|
An I<sshlogin> is the string you would normally pass to SSH to login,
|
||||||
|
@ -213,7 +214,7 @@ the options multiple times.
|
||||||
|
|
||||||
For examples: see B<--sshloginfile>.
|
For examples: see B<--sshloginfile>.
|
||||||
|
|
||||||
The remote host must have B<parallel> installed.
|
The remote host must have B<par$> installed.
|
||||||
|
|
||||||
|
|
||||||
=item B<--sshloginfile> I<filename> (not implemented)
|
=item B<--sshloginfile> I<filename> (not implemented)
|
||||||
|
@ -245,14 +246,14 @@ B<--sshlogin> when the arguments are files and should be transfered to
|
||||||
the remote servers. The files will be transfered using B<rsync> and
|
the remote servers. The files will be transfered using B<rsync> and
|
||||||
will be put relative to the default login dir. E.g.
|
will be put relative to the default login dir. E.g.
|
||||||
|
|
||||||
echo foo/bar.txt | parallel \
|
echo foo/bar.txt | par$ \
|
||||||
--sshlogin server.example.com --transfer wc
|
--sshlogin server.example.com --transfer wc
|
||||||
|
|
||||||
This will transfer the file I<foo/bar.txt> to the server
|
This will transfer the file I<foo/bar.txt> to the server
|
||||||
I<server.example.com> to the file $HOME/foo/bar.txt before running
|
I<server.example.com> to the file $HOME/foo/bar.txt before running
|
||||||
B<wc foo/bar.txt> on I<server.example.com>.
|
B<wc foo/bar.txt> on I<server.example.com>.
|
||||||
|
|
||||||
echo /tmp/foo/bar.txt | parallel \
|
echo /tmp/foo/bar.txt | par$ \
|
||||||
--sshlogin server.example.com --transfer wc
|
--sshlogin server.example.com --transfer wc
|
||||||
|
|
||||||
This will transfer the file I<foo/bar.txt> to the server
|
This will transfer the file I<foo/bar.txt> to the server
|
||||||
|
@ -264,34 +265,41 @@ B<--transfer> is often used with B<--return> and B<--cleanup>.
|
||||||
B<--transfer> is ignored when used with B<--sshlogin :> or when not used with B<--sshlogin>.
|
B<--transfer> is ignored when used with B<--sshlogin :> or when not used with B<--sshlogin>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--return> I<suffix> (not implemented)
|
=item B<--trc> I<filename> (not implemented)
|
||||||
|
|
||||||
|
Transfer, Return, Cleanup. Short hand for:
|
||||||
|
|
||||||
|
--transfer --return I<filename> --cleanup
|
||||||
|
|
||||||
|
|
||||||
|
=item B<--return> I<filename> (not implemented)
|
||||||
|
|
||||||
Transfer files from remote servers. B<--return> is used with
|
Transfer files from remote servers. B<--return> is used with
|
||||||
B<--sshlogin> when the arguments are files on the remote servers. When
|
B<--sshlogin> when the arguments are files on the remote servers. When
|
||||||
processing is done the file with I<suffix> appended will be transfered
|
processing is done the file I<filename> will be transfered
|
||||||
from the remote server using B<rsync> and will be put relative to
|
from the remote server using B<rsync> and will be put relative to
|
||||||
the default login dir. E.g.
|
the default login dir. E.g.
|
||||||
|
|
||||||
echo foo/bar.txt | parallel \
|
echo foo/bar.txt | par$ \
|
||||||
--sshlogin server.example.com --return .out touch {}.out
|
--sshlogin server.example.com --return {}.out touch {}.out
|
||||||
|
|
||||||
This will transfer the file I<$HOME/foo/bar.txt.out> from the server
|
This will transfer the file I<$HOME/foo/bar.txt.out> from the server
|
||||||
I<server.example.com> to the file I<foo/bar.txt.out> after running
|
I<server.example.com> to the file I<foo/bar.txt.out> after running
|
||||||
B<touch foo/bar.txt.out> on I<server.example.com>.
|
B<touch foo/bar.txt.out> on I<server.example.com>.
|
||||||
|
|
||||||
echo /tmp/foo/bar.txt | parallel \
|
echo /tmp/foo/bar.txt | par$ \
|
||||||
--sshlogin server.example.com --return .out touch {}.out
|
--sshlogin server.example.com --return {}.out touch {}.out
|
||||||
|
|
||||||
This will transfer the file I</tmp/foo/bar.txt.out> from the server
|
This will transfer the file I</tmp/foo/bar.txt.out> from the server
|
||||||
I<server.example.com> to the file I</tmp/foo/bar.txt.out> after running
|
I<server.example.com> to the file I</tmp/foo/bar.txt.out> after running
|
||||||
B<touch /tmp/foo/bar.txt.out> on I<server.example.com>.
|
B<touch /tmp/foo/bar.txt.out> on I<server.example.com>.
|
||||||
|
|
||||||
Multiple files with different suffixes can be transfered by repeating
|
Multiple files can be transfered by repeating the options multiple
|
||||||
the options multiple times:
|
times:
|
||||||
|
|
||||||
echo /tmp/foo/bar.txt | \
|
echo /tmp/foo/bar.txt | \
|
||||||
parallel --sshlogin server.example.com \
|
par$ --sshlogin server.example.com \
|
||||||
--return .out --return .out2 touch {}.out {}.out2
|
--return {}.out --return {}.out2 touch {}.out {}.out2
|
||||||
|
|
||||||
B<--return> is often used with B<--transfer> and B<--cleanup>.
|
B<--return> is often used with B<--transfer> and B<--cleanup>.
|
||||||
|
|
||||||
|
@ -303,9 +311,9 @@ B<--return> is ignored when used with B<--sshlogin :> or when not used with B<--
|
||||||
Remove transfered files. B<--cleanup> will remove the transfered files
|
Remove transfered files. B<--cleanup> will remove the transfered files
|
||||||
on the remote server after processing is done.
|
on the remote server after processing is done.
|
||||||
|
|
||||||
find log -name '*gz' | parallel \
|
find log -name '*gz' | par$ \
|
||||||
--sshlogin server.example.com --transfer --return .bz2 \
|
--sshlogin server.example.com --transfer --return {.}.bz2 \
|
||||||
--cleanup "zcat {} | bzip -9 >{}.bz2"
|
--cleanup "zcat {} | bzip -9 >{.}.bz2"
|
||||||
|
|
||||||
With B<--transfer> the file transfered to the remote server will be
|
With B<--transfer> the file transfered to the remote server will be
|
||||||
removed on the remote server. Directories created will not be removed
|
removed on the remote server. Directories created will not be removed
|
||||||
|
@ -330,7 +338,7 @@ output from different commands to be mixed. Can be reversed with B<-g>.
|
||||||
|
|
||||||
Count the number of CPUs instead of cores. When computing how many
|
Count the number of CPUs instead of cores. When computing how many
|
||||||
jobs to run in parallel relative to the number of cores you can ask
|
jobs to run in parallel relative to the number of cores you can ask
|
||||||
parallel to instead look at the number of CPUs. This will make sense
|
B<par$> to instead look at the number of CPUs. This will make sense
|
||||||
for computers that have hyperthreading as two jobs running on one CPU
|
for computers that have hyperthreading as two jobs running on one CPU
|
||||||
with hyperthreading will run slower than two jobs running on two CPUs.
|
with hyperthreading will run slower than two jobs running on two CPUs.
|
||||||
Normal users will not need this option.
|
Normal users will not need this option.
|
||||||
|
@ -360,7 +368,7 @@ of a word (like I<pic{}.jpg>) then the whole word will be repeated.
|
||||||
|
|
||||||
=head1 EXAMPLE 1: Working as cat | sh. Ressource inexpensive jobs and evaluation
|
=head1 EXAMPLE 1: Working as cat | sh. Ressource inexpensive jobs and evaluation
|
||||||
|
|
||||||
B<parallel> can work similar to B<cat | sh>.
|
B<par$> can work similar to B<cat | sh>.
|
||||||
|
|
||||||
A ressource inexpensive job is a job that takes very little CPU, disk
|
A ressource inexpensive job is a job that takes very little CPU, disk
|
||||||
I/O and network I/O. Ping is an example of a ressource inexpensive
|
I/O and network I/O. Ping is an example of a ressource inexpensive
|
||||||
|
@ -378,18 +386,18 @@ The content of the file jobs_to_run:
|
||||||
|
|
||||||
To run 100 processes simultaneously do:
|
To run 100 processes simultaneously do:
|
||||||
|
|
||||||
B<parallel -j 100 < jobs_to_run>
|
B<par$ -j 100 < jobs_to_run>
|
||||||
|
|
||||||
As there is not a B<command> the option B<-c> is default because the
|
As there is not a B<command> the option B<-c> is default because the
|
||||||
jobs needs to be evaluated by the shell.
|
jobs needs to be evaluated by the shell.
|
||||||
|
|
||||||
=head1 EXAMPLE 2: Working as xargs -n1. Argument appending
|
=head1 EXAMPLE 2: Working as xargs -n1. Argument appending
|
||||||
|
|
||||||
B<parallel> can work similar to B<xargs -n1>.
|
B<par$> can work similar to B<xargs -n1>.
|
||||||
|
|
||||||
To output all html files run:
|
To output all html files run:
|
||||||
|
|
||||||
B<find . -name '*.html' | parallel cat>
|
B<find . -name '*.html' | par$ cat>
|
||||||
|
|
||||||
As there is a B<command> the option B<-f> is default because the
|
As there is a B<command> the option B<-f> is default because the
|
||||||
filenames needs to be protected from the shell in case a filename
|
filenames needs to be protected from the shell in case a filename
|
||||||
|
@ -406,11 +414,11 @@ If the system has more than 1 CPU core it can be run with
|
||||||
number-of-cpu-cores jobs in parallel (-j +0). This will do that for
|
number-of-cpu-cores jobs in parallel (-j +0). This will do that for
|
||||||
all jpg files in a directory:
|
all jpg files in a directory:
|
||||||
|
|
||||||
B<ls *.jpg | parallel -j +0 convert -geometry 120 {} thumb_{}>
|
B<ls *.jpg | par$ -j +0 convert -geometry 120 {} thumb_{}>
|
||||||
|
|
||||||
To do it recursively use B<find>:
|
To do it recursively use B<find>:
|
||||||
|
|
||||||
B<find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {}_thumb.jpg>
|
B<find . -name '*.jpg' | par$ -j +0 convert -geometry 120 {} {}_thumb.jpg>
|
||||||
|
|
||||||
Notice how the argument has to start with {} as {} will include path
|
Notice how the argument has to start with {} as {} will include path
|
||||||
(e.g. running B<convert -geometry 120 ./foo/bar.jpg
|
(e.g. running B<convert -geometry 120 ./foo/bar.jpg
|
||||||
|
@ -419,30 +427,30 @@ like ./foo/bar.jpg_thumb.jpg. If that is not wanted this can fix it:
|
||||||
|
|
||||||
find . -name '*.jpg' | \
|
find . -name '*.jpg' | \
|
||||||
perl -pe 'chomp; $a=$_; s:/([^/]+)$:/thumb_$1:; $_="convert -geometry 120 $a $_\n"' | \
|
perl -pe 'chomp; $a=$_; s:/([^/]+)$:/thumb_$1:; $_="convert -geometry 120 $a $_\n"' | \
|
||||||
parallel -c -j +0
|
par$ -c -j +0
|
||||||
|
|
||||||
Unfortunately this will not work if the filenames contain special
|
Unfortunately this will not work if the filenames contain special
|
||||||
characters (such as space or quotes). If you have B<ren> installed this
|
characters (such as space or quotes). If you have B<ren> installed this
|
||||||
is a better solution:
|
is a better solution:
|
||||||
|
|
||||||
find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {}_thumb.jpg
|
find . -name '*.jpg' | par$ -j +0 convert -geometry 120 {} {}_thumb.jpg
|
||||||
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
||||||
|
|
||||||
(Not implemented) This will make files like ./foo/bar_thumb.jpg:
|
This will make files like ./foo/bar_thumb.jpg:
|
||||||
|
|
||||||
B<find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {.}_thumb.jpg>
|
B<find . -name '*.jpg' | par$ -j +0 convert -geometry 120 {} {.}_thumb.jpg>
|
||||||
|
|
||||||
=head1 EXAMPLE 4: Substitution and redirection
|
=head1 EXAMPLE 4: Substitution and redirection
|
||||||
|
|
||||||
This will compare all files in the dir to the file foo and save the
|
This will compare all files in the dir to the file foo and save the
|
||||||
diffs in corresponding .diff files:
|
diffs in corresponding .diff files:
|
||||||
|
|
||||||
B<ls | parallel diff {} foo ">>B<"{}.diff>
|
B<ls | par$ diff {} foo ">>B<"{}.diff>
|
||||||
|
|
||||||
Quoting of > is necessary to postpone the redirection. Another
|
Quoting of > is necessary to postpone the redirection. Another
|
||||||
solution is to quote the whole command:
|
solution is to quote the whole command:
|
||||||
|
|
||||||
B<ls | parallel "diff {} foo >>B<{}.diff">
|
B<ls | par$ "diff {} foo >>B<{}.diff">
|
||||||
|
|
||||||
|
|
||||||
=head1 EXAMPLE 5: Composed commands
|
=head1 EXAMPLE 5: Composed commands
|
||||||
|
@ -450,22 +458,22 @@ B<ls | parallel "diff {} foo >>B<{}.diff">
|
||||||
A job can consist of several commands. This will print the number of
|
A job can consist of several commands. This will print the number of
|
||||||
files in each directory:
|
files in each directory:
|
||||||
|
|
||||||
B<ls | parallel 'echo -n {}" "; ls {}|wc -l'>
|
B<ls | par$ 'echo -n {}" "; ls {}|wc -l'>
|
||||||
|
|
||||||
To put the output in a file called <name>.dir:
|
To put the output in a file called <name>.dir:
|
||||||
|
|
||||||
B<ls | parallel '(echo -n {}" "; ls {}|wc -l) >> B<{}.dir'>
|
B<ls | par$ '(echo -n {}" "; ls {}|wc -l) >> B<{}.dir'>
|
||||||
|
|
||||||
|
|
||||||
=head1 EXAMPLE 6: Context replace
|
=head1 EXAMPLE 6: Context replace
|
||||||
|
|
||||||
To remove the files I<pict0000.jpg> .. I<pict9999.jpg> you could do:
|
To remove the files I<pict0000.jpg> .. I<pict9999.jpg> you could do:
|
||||||
|
|
||||||
B<seq -f %04g 0 9999 | parallel rm pict{}.jpg>
|
B<seq -f %04g 0 9999 | par$ rm pict{}.jpg>
|
||||||
|
|
||||||
You could also do:
|
You could also do:
|
||||||
|
|
||||||
B<seq -f %04g 0 9999 | perl -pe 's/(.*)/pict$1.jpg/' | parallel -m rm>
|
B<seq -f %04g 0 9999 | perl -pe 's/(.*)/pict$1.jpg/' | par$ -m rm>
|
||||||
|
|
||||||
The first will run B<rm> 10000 times, while the last will only run
|
The first will run B<rm> 10000 times, while the last will only run
|
||||||
B<rm> as many times needed to keep the command line length short
|
B<rm> as many times needed to keep the command line length short
|
||||||
|
@ -473,7 +481,7 @@ enough (typically 1-2 times).
|
||||||
|
|
||||||
You could also run:
|
You could also run:
|
||||||
|
|
||||||
B<seq -f %04g 0 9999 | parallel -X rm pict{}.jpg>
|
B<seq -f %04g 0 9999 | par$ -X rm pict{}.jpg>
|
||||||
|
|
||||||
This will also only run B<rm> as many times needed to keep the command
|
This will also only run B<rm> as many times needed to keep the command
|
||||||
line length short enough.
|
line length short enough.
|
||||||
|
@ -481,18 +489,18 @@ line length short enough.
|
||||||
=head1 EXAMPLE 7: Group output lines
|
=head1 EXAMPLE 7: Group output lines
|
||||||
|
|
||||||
When runnning jobs that output data, you often do not want the output
|
When runnning jobs that output data, you often do not want the output
|
||||||
of multiple jobs to run together. B<parallel> defaults to grouping the
|
of multiple jobs to run together. B<par$> defaults to grouping the
|
||||||
output of each job, so the output is printed when the job finishes. If
|
output of each job, so the output is printed when the job finishes. If
|
||||||
you want the output to be printed while the job is running you can use
|
you want the output to be printed while the job is running you can use
|
||||||
B<-u>.
|
B<-u>.
|
||||||
|
|
||||||
Compare the output of:
|
Compare the output of:
|
||||||
|
|
||||||
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | parallel traceroute>
|
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | par$ traceroute>
|
||||||
|
|
||||||
to the output of:
|
to the output of:
|
||||||
|
|
||||||
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | parallel -u traceroute>
|
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | par$ -u traceroute>
|
||||||
|
|
||||||
|
|
||||||
=head1 EXAMPLE 8: Keep order of output same as order of input
|
=head1 EXAMPLE 8: Keep order of output same as order of input
|
||||||
|
@ -503,7 +511,7 @@ same as the order of the input. B<-k> will make sure the order of
|
||||||
output will be in the same order as input even if later jobs end
|
output will be in the same order as input even if later jobs end
|
||||||
before earlier jobs.
|
before earlier jobs.
|
||||||
|
|
||||||
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | parallel traceroute>
|
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | par$ traceroute>
|
||||||
|
|
||||||
will give traceroute of foss.org.my, debian.org and
|
will give traceroute of foss.org.my, debian.org and
|
||||||
freenetproject.org, but it will be sorted according to which job
|
freenetproject.org, but it will be sorted according to which job
|
||||||
|
@ -511,7 +519,7 @@ completed first.
|
||||||
|
|
||||||
To keep the order the same as input run:
|
To keep the order the same as input run:
|
||||||
|
|
||||||
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | parallel -k traceroute>
|
B<(echo foss.org.my; echo debian.org; echo freenetproject.org) | par$ -k traceroute>
|
||||||
|
|
||||||
This will make sure the traceroute to foss.org.my will be printed
|
This will make sure the traceroute to foss.org.my will be printed
|
||||||
first.
|
first.
|
||||||
|
@ -524,20 +532,20 @@ handy).
|
||||||
|
|
||||||
To run B<echo> on B<server.example.com>:
|
To run B<echo> on B<server.example.com>:
|
||||||
|
|
||||||
seq 1 10 | parallel --sshlogin server.example.com echo
|
seq 1 10 | par$ --sshlogin server.example.com echo
|
||||||
|
|
||||||
To run commands on more than one remote computer run:
|
To run commands on more than one remote computer run:
|
||||||
|
|
||||||
seq 1 10 | parallel --sshlogin server.example.com,server2.example.net echo
|
seq 1 10 | par$ --sshlogin server.example.com,server2.example.net echo
|
||||||
|
|
||||||
Or:
|
Or:
|
||||||
|
|
||||||
seq 1 10 | parallel --sshlogin server.example.com \
|
seq 1 10 | par$ --sshlogin server.example.com \
|
||||||
--sshlogin server2.example.net echo
|
--sshlogin server2.example.net echo
|
||||||
|
|
||||||
If the login username is I<foo> on I<server2.example.net> use:
|
If the login username is I<foo> on I<server2.example.net> use:
|
||||||
|
|
||||||
seq 1 10 | parallel --sshlogin server.example.com \
|
seq 1 10 | par$ --sshlogin server.example.com \
|
||||||
--sshlogin foo@server2.example.net echo
|
--sshlogin foo@server2.example.net echo
|
||||||
|
|
||||||
To distribute the commands to a list of machines, make a file
|
To distribute the commands to a list of machines, make a file
|
||||||
|
@ -549,7 +557,7 @@ I<mymachines> with all the machines:
|
||||||
|
|
||||||
Then run:
|
Then run:
|
||||||
|
|
||||||
seq 1 10 | parallel --sshloginfile mymachines echo
|
seq 1 10 | par$ --sshloginfile mymachines echo
|
||||||
|
|
||||||
To include the local machine add the special sshlogin ':' to the list:
|
To include the local machine add the special sshlogin ':' to the list:
|
||||||
|
|
||||||
|
@ -562,7 +570,7 @@ If the number of CPU cores on the remote servers is not identified
|
||||||
correctly the number of CPU cores can be added in front. Here the
|
correctly the number of CPU cores can be added in front. Here the
|
||||||
server has 8 CPU cores.
|
server has 8 CPU cores.
|
||||||
|
|
||||||
seq 1 10 | parallel --sshlogin 8/server.example.com echo
|
seq 1 10 | par$ --sshlogin 8/server.example.com echo
|
||||||
|
|
||||||
|
|
||||||
=head1 EXAMPLE 10: Transferring of files (not implemented)
|
=head1 EXAMPLE 10: Transferring of files (not implemented)
|
||||||
|
@ -570,50 +578,64 @@ server has 8 CPU cores.
|
||||||
To recompress gzipped files with bzip2 using a remote server run:
|
To recompress gzipped files with bzip2 using a remote server run:
|
||||||
|
|
||||||
find logs/ -name '*.gz' | \
|
find logs/ -name '*.gz' | \
|
||||||
parallel --sshlogin server.example.com \
|
par$ --sshlogin server.example.com \
|
||||||
--transfer "zcat {} | bzip2 -9 >{}.bz2"
|
--transfer "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
This will list the .gz-files in the I<logs> directory and all
|
This will list the .gz-files in the I<logs> directory and all
|
||||||
directories below. Then it will transfer the files to
|
directories below. Then it will transfer the files to
|
||||||
I<server.example.com> to the corresponding directory in
|
I<server.example.com> to the corresponding directory in
|
||||||
I<$HOME/logs>. On I<server.example.com> the file will be recompressed
|
I<$HOME/logs>. On I<server.example.com> the file will be recompressed
|
||||||
using B<zcat> and B<bzip2> resulting in the corresponding file with
|
using B<zcat> and B<bzip2> resulting in the corresponding file with
|
||||||
the suffix I<.bz2>.
|
I<.gz> replaced with I<.bz2>.
|
||||||
|
|
||||||
If you want the file to be transfered back to the local machine add
|
If you want the file to be transfered back to the local machine add
|
||||||
I<--return .bz2>:
|
I<--return {.}.bz2>:
|
||||||
|
|
||||||
find logs/ -name '*.gz' | \
|
find logs/ -name '*.gz' | \
|
||||||
parallel --sshlogin server.example.com \
|
par$ --sshlogin server.example.com \
|
||||||
--transfer --return .bz2 "zcat {} | bzip2 -9 >{}.bz2"
|
--transfer --return {.}.bz2 "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
After the recompressing is done the I<.bz2>-file is transfered back to
|
After the recompressing is done the I<.bz2>-file is transfered back to
|
||||||
the local machine.
|
the local machine and put next to the original I<.gz>-file.
|
||||||
|
|
||||||
If you want to delete the transfered files on the remote machine add
|
If you want to delete the transfered files on the remote machine add
|
||||||
I<--cleanup>:
|
I<--cleanup>. This will remove both the file transfered to the remote
|
||||||
|
machine and the files transfered from the remote machine:
|
||||||
|
|
||||||
find logs/ -name '*.gz' | \
|
find logs/ -name '*.gz' | \
|
||||||
parallel --sshlogin server.example.com \
|
par$ --sshlogin server.example.com \
|
||||||
--transfer --return .bz2 --cleanup "zcat {} | bzip2 -9 >{}.bz2"
|
--transfer --return {.}.bz2 --cleanup "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
If you want run one several servers add the servers to I<--sshlogin>
|
If you want run one several servers add the servers to I<--sshlogin>
|
||||||
either using ',' or separate I<--sshlogin>:
|
either using ',' or separate I<--sshlogin>:
|
||||||
|
|
||||||
find logs/ -name '*.gz' | \
|
find logs/ -name '*.gz' | \
|
||||||
parallel --sshlogin server.example.com,server2.example.com \
|
par$ --sshlogin server.example.com,server2.example.com \
|
||||||
--sshlogin server3.example.com \
|
--sshlogin server3.example.com \
|
||||||
--transfer --return .bz2 --cleanup "zcat {} | bzip2 -9 >{}.bz2"
|
--transfer --return {.}.bz2 --cleanup "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
You can add the local machine using I<--sshlogin :>. This will disable the
|
You can add the local machine using I<--sshlogin :>. This will disable the
|
||||||
removing and transferring for the local machine only:
|
removing and transferring for the local machine only:
|
||||||
|
|
||||||
find logs/ -name '*.gz' | \
|
find logs/ -name '*.gz' | \
|
||||||
parallel --sshlogin server.example.com,server2.example.com \
|
par$ --sshlogin server.example.com,server2.example.com \
|
||||||
--sshlogin server3.example.com \
|
--sshlogin server3.example.com \
|
||||||
--sshlogin : \
|
--sshlogin : \
|
||||||
--transfer --return .bz2 --cleanup "zcat {} | bzip2 -9 >{}.bz2"
|
--transfer --return {.}.bz2 --cleanup "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
|
Often I<--transfer>, I<--return> and I<--cleanup> are used together. They can be
|
||||||
|
shortened to I<--trc>:
|
||||||
|
|
||||||
|
find logs/ -name '*.gz' | \
|
||||||
|
par$ --sshlogin server.example.com,server2.example.com \
|
||||||
|
--sshlogin server3.example.com \
|
||||||
|
--sshlogin : \
|
||||||
|
--trc {.}.bz2 "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
|
With the file I<mymachines> containing the compute machines it becomes:
|
||||||
|
|
||||||
|
find logs/ -name '*.gz' | par$ --sshloginfile mymachines \
|
||||||
|
--trc {.}.bz2 "zcat {} | bzip2 -9 >{.}.bz2"
|
||||||
|
|
||||||
=head1 QUOTING
|
=head1 QUOTING
|
||||||
|
|
||||||
|
@ -622,21 +644,21 @@ print the filename for each line that has exactly 2 columns:
|
||||||
|
|
||||||
B<perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' file>
|
B<perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' file>
|
||||||
|
|
||||||
This can be done by B<parallel> using:
|
This can be done by B<par$> using:
|
||||||
|
|
||||||
B<ls | parallel "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'">
|
B<ls | par$ "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'">
|
||||||
|
|
||||||
Notice how \'s, "'s, and $'s needs to be quoted. B<parallel> can do
|
Notice how \'s, "'s, and $'s needs to be quoted. B<par$> can do
|
||||||
the quoting by using option B<-q>:
|
the quoting by using option B<-q>:
|
||||||
|
|
||||||
B<ls | parallel -q perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"'>
|
B<ls | par$ -q perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"'>
|
||||||
|
|
||||||
However, this means you cannot make the shell interpret special
|
However, this means you cannot make the shell interpret special
|
||||||
characters. For example this B<will not work>:
|
characters. For example this B<will not work>:
|
||||||
|
|
||||||
B<ls | parallel -q "diff {} foo >>B<{}.diff">
|
B<ls | par$ -q "diff {} foo >>B<{}.diff">
|
||||||
|
|
||||||
B<ls | parallel -q "ls {} | wc -l">
|
B<ls | par$ -q "ls {} | wc -l">
|
||||||
|
|
||||||
because > and | need to be interpreted by the shell.
|
because > and | need to be interpreted by the shell.
|
||||||
|
|
||||||
|
@ -649,14 +671,14 @@ then you might try using B<-q>.
|
||||||
If you are using B<bash> process substitution like B<<(cat foo)> then
|
If you are using B<bash> process substitution like B<<(cat foo)> then
|
||||||
you may try B<-q> and prepending B<command> with B<bash -c>:
|
you may try B<-q> and prepending B<command> with B<bash -c>:
|
||||||
|
|
||||||
B<ls | parallel -q bash -c 'wc -c <(echo {})'>
|
B<ls | par$ -q bash -c 'wc -c <(echo {})'>
|
||||||
|
|
||||||
Or for substituting output:
|
Or for substituting output:
|
||||||
|
|
||||||
B<ls | parallel -q bash -c 'tar c {} | tee >>B<(gzip >>B<{}.tar.gz) | bzip2 >>B<{}.tar.bz2'>
|
B<ls | par$ -q bash -c 'tar c {} | tee >>B<(gzip >>B<{}.tar.gz) | bzip2 >>B<{}.tar.bz2'>
|
||||||
|
|
||||||
B<Conclusion>: To avoid dealing with the quoting problems it may be
|
B<Conclusion>: To avoid dealing with the quoting problems it may be
|
||||||
easier just to write a small script and have B<parallel> call that
|
easier just to write a small script and have B<par$> call that
|
||||||
script.
|
script.
|
||||||
|
|
||||||
|
|
||||||
|
@ -664,31 +686,31 @@ script.
|
||||||
|
|
||||||
If you want a list of the jobs currently running you can run:
|
If you want a list of the jobs currently running you can run:
|
||||||
|
|
||||||
B<killall -USR1 parallel>
|
B<killall -USR1 par$>
|
||||||
|
|
||||||
B<parallel> will then print the currently running jobs on STDERR.
|
B<par$> will then print the currently running jobs on STDERR.
|
||||||
|
|
||||||
|
|
||||||
=head1 COMPLETE RUNNING JOBS BUT DO NOT START NEW JOBS
|
=head1 COMPLETE RUNNING JOBS BUT DO NOT START NEW JOBS
|
||||||
|
|
||||||
If you regret starting a lot of jobs you can simply break B<parallel>,
|
If you regret starting a lot of jobs you can simply break B<par$>,
|
||||||
but if you want to make sure you do not have halfcompleted jobs you
|
but if you want to make sure you do not have halfcompleted jobs you
|
||||||
should send the signal B<SIGTERM> to B<parallel>:
|
should send the signal B<SIGTERM> to B<par$>:
|
||||||
|
|
||||||
B<killall -TERM parallel>
|
B<killall -TERM par$>
|
||||||
|
|
||||||
This will tell B<parallel> to not start any new jobs, but wait until
|
This will tell B<par$> to not start any new jobs, but wait until
|
||||||
the currently running jobs are finished.
|
the currently running jobs are finished.
|
||||||
|
|
||||||
|
|
||||||
=head1 DIFFERENCES BETWEEN xargs/find -exec AND parallel
|
=head1 DIFFERENCES BETWEEN xargs/find -exec AND par$
|
||||||
|
|
||||||
B<xargs> and B<find -exec> offer some of the same possibilites as
|
B<xargs> and B<find -exec> offer some of the same possibilites as
|
||||||
B<parallel>.
|
B<par$>.
|
||||||
|
|
||||||
B<find -exec> only works on files. So processing other input (such as
|
B<find -exec> only works on files. So processing other input (such as
|
||||||
hosts or URLs) will require creating these inputs as files. B<find
|
hosts or URLs) will require creating these inputs as files. B<find
|
||||||
-exec> has no support for running commands in parallel.
|
-exec> has no support for running commands in par$.
|
||||||
|
|
||||||
B<xargs> deals badly with special characters (such as space, ' and
|
B<xargs> deals badly with special characters (such as space, ' and
|
||||||
"). To see the problem try this:
|
"). To see the problem try this:
|
||||||
|
@ -706,7 +728,7 @@ B<sed>, B<tar -v>, B<perl> (-0 and \0 instead of \n), B<locate>
|
||||||
(requires using -0), B<find> (requires using -print0), B<grep>
|
(requires using -0), B<find> (requires using -print0), B<grep>
|
||||||
(requires user to use -z or -Z).
|
(requires user to use -z or -Z).
|
||||||
|
|
||||||
So B<parallel>'s newline separation can be emulated with:
|
So B<par$>'s newline separation can be emulated with:
|
||||||
|
|
||||||
B<cat | xargs -d "\n" -n1 I<command>>
|
B<cat | xargs -d "\n" -n1 I<command>>
|
||||||
|
|
||||||
|
@ -727,10 +749,10 @@ arguments.
|
||||||
If you use a replace string in B<xargs> (B<-I>) you can not force
|
If you use a replace string in B<xargs> (B<-I>) you can not force
|
||||||
B<xargs> to use more than one argument.
|
B<xargs> to use more than one argument.
|
||||||
|
|
||||||
Quoting in B<xargs> works like B<-q> in B<parallel>. This means
|
Quoting in B<xargs> works like B<-q> in B<par$>. This means
|
||||||
composed commands and redirection requires using B<bash -c>.
|
composed commands and redirection requires using B<bash -c>.
|
||||||
|
|
||||||
B<ls | parallel "wc {} >> B<{}.wc">
|
B<ls | par$ "wc {} >> B<{}.wc">
|
||||||
|
|
||||||
becomes
|
becomes
|
||||||
|
|
||||||
|
@ -738,23 +760,23 @@ B<ls | xargs -d "\n" -P10 -I {} bash -c "wc {} >>B< {}.wc">
|
||||||
|
|
||||||
and
|
and
|
||||||
|
|
||||||
B<ls | parallel "echo {}; ls {}|wc">
|
B<ls | par$ "echo {}; ls {}|wc">
|
||||||
|
|
||||||
becomes
|
becomes
|
||||||
|
|
||||||
B<ls | xargs -d "\n" -P10 -I {} bash -c "echo {}; ls {}|wc">
|
B<ls | xargs -d "\n" -P10 -I {} bash -c "echo {}; ls {}|wc">
|
||||||
|
|
||||||
|
|
||||||
=head1 DIFFERENCES BETWEEN mdm/middleman AND parallel
|
=head1 DIFFERENCES BETWEEN mdm/middleman AND par$
|
||||||
|
|
||||||
middleman(mdm) is also a tool for running jobs in parallel.
|
middleman(mdm) is also a tool for running jobs in parallel.
|
||||||
|
|
||||||
Here are the shellscripts of http://mdm.berlios.de/usage.html ported
|
Here are the shellscripts of http://mdm.berlios.de/usage.html ported
|
||||||
to parallel use:
|
to par$ use:
|
||||||
|
|
||||||
B<seq 1 19 | parallel -j+0 buffon -o - | sort -n >>B< result>
|
B<seq 1 19 | par$ -j+0 buffon -o - | sort -n >>B< result>
|
||||||
|
|
||||||
B<cat files | parallel -j+0 cmd>
|
B<cat files | par$ -j+0 cmd>
|
||||||
|
|
||||||
|
|
||||||
=head1 BUGS
|
=head1 BUGS
|
||||||
|
@ -764,10 +786,12 @@ unexpected results, as it will often be interpreted as an option.
|
||||||
|
|
||||||
=head1 REPORTING BUGS
|
=head1 REPORTING BUGS
|
||||||
|
|
||||||
Report bugs to <bug-parallel@tange.dk>.
|
Report bugs to <bug-par$@tange.dk>.
|
||||||
|
|
||||||
=head1 IDEAS
|
=head1 IDEAS
|
||||||
|
|
||||||
|
One char options not used: F G J K M P Q Y
|
||||||
|
|
||||||
Test if -0 works on filenames ending in '\n'
|
Test if -0 works on filenames ending in '\n'
|
||||||
|
|
||||||
xargs dropin-replacement.
|
xargs dropin-replacement.
|
||||||
|
@ -784,9 +808,23 @@ hard, as all foreground processes get the INT from the shell.
|
||||||
If there are nomore jobs (STDIN is closed) then make sure to
|
If there are nomore jobs (STDIN is closed) then make sure to
|
||||||
distribute the arguments evenly if running -X.
|
distribute the arguments evenly if running -X.
|
||||||
|
|
||||||
|
|
||||||
Distribute jobs to computers with different speeds/number-of-cpu-cores using ssh
|
Distribute jobs to computers with different speeds/number-of-cpu-cores using ssh
|
||||||
ask the computers how many cpus they have and spawn appropriately
|
ask the computers how many cpus they have and spawn appropriately
|
||||||
according to -j setting. Reuse ssh connection (-M and -S)
|
according to -j setting. Reuse ssh connection (-M and -S)
|
||||||
|
|
||||||
|
SEED=$RANDOM
|
||||||
|
ssh -MS /tmp/ssh-%r@%h:%p-$SEED elvis
|
||||||
|
rsync --rsh="ssh -S /tmp/ssh-%r@%h:%p-$SEED" gitup elvis:/tmp/
|
||||||
|
ssh -S /tmp/ssh-%r@%h:%p-$SEED elvis hostname
|
||||||
|
|
||||||
|
FILE=gpl-3.0.txt
|
||||||
|
BASE=gpl-3.0
|
||||||
|
$ rsync -z $FILE e:$FILE
|
||||||
|
$ ssh e "cat $FILE | bzip2 > $BASE.bz2"
|
||||||
|
$ rsync -z e:$BASE.bz2 $BASE.bz2
|
||||||
|
$ ssh e "rm $FILE $BASE"
|
||||||
|
|
||||||
http://www.semicomplete.com/blog/geekery/distributed-xargs.html?source=rss20
|
http://www.semicomplete.com/blog/geekery/distributed-xargs.html?source=rss20
|
||||||
http://code.google.com/p/ppss/wiki/Manual2
|
http://code.google.com/p/ppss/wiki/Manual2
|
||||||
|
|
||||||
|
@ -798,7 +836,7 @@ Where will '>' be run? Local or remote? Remote.
|
||||||
Parallelize so this can be done:
|
Parallelize so this can be done:
|
||||||
mdm.screen find dir -execdir mdm-run cmd {} \;
|
mdm.screen find dir -execdir mdm-run cmd {} \;
|
||||||
Maybe:
|
Maybe:
|
||||||
find dir -execdir parallel --communication-file /tmp/comfile cmd {} \;
|
find dir -execdir par$ --communication-file /tmp/comfile cmd {} \;
|
||||||
|
|
||||||
=head2 Comfile
|
=head2 Comfile
|
||||||
|
|
||||||
|
@ -806,7 +844,20 @@ This will put a lock on /tmp/comfile. The number of locks is the number of runni
|
||||||
If the number is smaller than -j then it will start a process in the background ( cmd & ),
|
If the number is smaller than -j then it will start a process in the background ( cmd & ),
|
||||||
otherwise wait.
|
otherwise wait.
|
||||||
|
|
||||||
parallel --wait /tmp/comfile will wait until no more locks on the file
|
par$ --wait /tmp/comfile will wait until no more locks on the file
|
||||||
|
|
||||||
|
=head2 mutex
|
||||||
|
|
||||||
|
mutex -n -l lockid -m max_locks [command]
|
||||||
|
mutex -u lockid
|
||||||
|
|
||||||
|
-l lockfile will lock using the lockid
|
||||||
|
-n nonblocking
|
||||||
|
-m maximal number of locks (default 1)
|
||||||
|
-u unlock
|
||||||
|
|
||||||
|
If command given works like: mutex -l lockfile -n number_of_locks ; command; mutex -u lockfile
|
||||||
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
@ -835,7 +886,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
=head1 DEPENDENCIES
|
=head1 DEPENDENCIES
|
||||||
|
|
||||||
B<parallel> uses Perl, and the Perl modules Getopt::Long, IPC::Open3,
|
B<par$> uses Perl, and the Perl modules Getopt::Long, IPC::Open3,
|
||||||
Symbol, IO::File, POSIX, and File::Temp.
|
Symbol, IO::File, POSIX, and File::Temp.
|
||||||
|
|
||||||
|
|
||||||
|
@ -902,7 +953,8 @@ GetOptions("debug|D" => \$::opt_D,
|
||||||
) || die_usage();
|
) || die_usage();
|
||||||
|
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20100203;
|
$Global::version = 20100416;
|
||||||
|
$Global::progname = 'par$';
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
$Global::processes_to_run = 10;
|
$Global::processes_to_run = 10;
|
||||||
$command = undef;
|
$command = undef;
|
||||||
|
@ -947,7 +999,7 @@ if(defined $::opt_version) { version(); exit(0); }
|
||||||
|
|
||||||
if(defined $::opt_a) {
|
if(defined $::opt_a) {
|
||||||
if(not open(ARGFILE,"<".$::opt_a)) {
|
if(not open(ARGFILE,"<".$::opt_a)) {
|
||||||
print STDERR "parallel: Cannot open input file `$::opt_a': No such file or directory\n";
|
print STDERR "$Global::progname: Cannot open input file `$::opt_a': No such file or directory\n";
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
$Global::argfile = *ARGFILE;
|
$Global::argfile = *ARGFILE;
|
||||||
|
@ -1149,7 +1201,8 @@ sub max_length_of_command_line {
|
||||||
if($::opt_s <= $Global::command_line_max_len) {
|
if($::opt_s <= $Global::command_line_max_len) {
|
||||||
$Global::command_line_max_len = $::opt_s;
|
$Global::command_line_max_len = $::opt_s;
|
||||||
} else {
|
} else {
|
||||||
print STDERR "parallel: value for -s option should be < $Global::command_line_max_len\n";
|
print STDERR "$Global::progname: ",
|
||||||
|
"value for -s option should be < $Global::command_line_max_len\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1531,7 +1584,7 @@ sub start_job {
|
||||||
debug("$Global::running_jobs processes. Starting: $command\n");
|
debug("$Global::running_jobs processes. Starting: $command\n");
|
||||||
#print STDERR "LEN".length($command)."\n";
|
#print STDERR "LEN".length($command)."\n";
|
||||||
$pid = open3(gensym, ">&STDOUT", ">&STDERR", $command) ||
|
$pid = open3(gensym, ">&STDOUT", ">&STDERR", $command) ||
|
||||||
die("open3 failed. Report a bug to <parallel\@tange.dk>\n");
|
die("open3 failed. Report a bug to <par\@tange.dk>\n");
|
||||||
debug("started: $command\n");
|
debug("started: $command\n");
|
||||||
open STDOUT, ">&", $Global::original_stdout or die "Can't dup \$oldout: $!";
|
open STDOUT, ">&", $Global::original_stdout or die "Can't dup \$oldout: $!";
|
||||||
open STDERR, ">&", $Global::original_stderr or die "Can't dup \$oldout: $!";
|
open STDERR, ">&", $Global::original_stderr or die "Can't dup \$oldout: $!";
|
||||||
|
@ -1594,13 +1647,13 @@ sub print_job {
|
||||||
|
|
||||||
sub ListRunningJobs {
|
sub ListRunningJobs {
|
||||||
for my $v (values %Global::running) {
|
for my $v (values %Global::running) {
|
||||||
print STDERR "parallel: ",$v->{'command'},"\n";
|
print STDERR "$Global::progname: ",$v->{'command'},"\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub StartNoNewJobs {
|
sub StartNoNewJobs {
|
||||||
print STDERR ("parallel: SIGTERM received. No new jobs will be started.\n",
|
print STDERR ("$Global::progname: SIGTERM received. No new jobs will be started.\n",
|
||||||
"parallel: Waiting for these ", scalar(keys %Global::running),
|
"$Global::progname: Waiting for these ", scalar(keys %Global::running),
|
||||||
" jobs to finish. Send SIGTERM again to stop now.\n");
|
" jobs to finish. Send SIGTERM again to stop now.\n");
|
||||||
ListRunningJobs();
|
ListRunningJobs();
|
||||||
$Global::StartNoNewJobs++;
|
$Global::StartNoNewJobs++;
|
||||||
|
@ -1671,18 +1724,21 @@ sub die_usage {
|
||||||
|
|
||||||
sub usage {
|
sub usage {
|
||||||
print "Usage:\n";
|
print "Usage:\n";
|
||||||
print "parallel [-0cdfgkqsuvxX] [-j num] [command [arguments]] < list_of_arguments\n";
|
print "$Global::progname [options] [command [arguments]] < list_of_arguments\n";
|
||||||
|
print "\n";
|
||||||
|
print "See 'man $Global::progname' for the options\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub version {
|
sub version {
|
||||||
print join("\n",
|
print join("\n",
|
||||||
"parallel $Global::version",
|
"$Global::progname $Global::version",
|
||||||
"Copyright (C) 2007-2010 Free Software Foundation, Inc.",
|
# "Copyright (C) 2007,2008,2009,2010 Ole Tange and Free Software Foundation, Inc.",
|
||||||
|
"Copyright (C) 2007,2008,2009,2010 Ole Tange.",
|
||||||
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>",
|
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>",
|
||||||
"This is free software: you are free to change and redistribute it.",
|
"This is free software: you are free to change and redistribute it.",
|
||||||
"There is NO WARRANTY, to the extent permitted by law.",
|
"$Global::progname comes with no warranty.",
|
||||||
"",
|
"",
|
||||||
"Written by Ole Tange <http://ole.tange.dk>.\n"
|
"Web site: http://${Global::progname}.nongnu.org\n"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
.\" ========================================================================
|
.\" ========================================================================
|
||||||
.\"
|
.\"
|
||||||
.IX Title "PARALLEL 1"
|
.IX Title "PARALLEL 1"
|
||||||
.TH PARALLEL 1 "2010-04-13" "perl v5.10.1" "User Contributed Perl Documentation"
|
.TH PARALLEL 1 "2010-04-16" "20100419" "parallel"
|
||||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||||
.\" way too many mistakes in technical documents.
|
.\" way too many mistakes in technical documents.
|
||||||
.if n .ad l
|
.if n .ad l
|
||||||
|
@ -133,7 +133,7 @@
|
||||||
parallel \- build and execute shell command lines from standard input in parallel
|
parallel \- build and execute shell command lines from standard input in parallel
|
||||||
.SH "SYNOPSIS"
|
.SH "SYNOPSIS"
|
||||||
.IX Header "SYNOPSIS"
|
.IX Header "SYNOPSIS"
|
||||||
\&\fBparallel\fR [\-0cfgkquvmX] [\-I str] [\-j num] [\-\-silent] [command [arguments]] [< list_of_arguments]
|
\&\fBparallel\fR [\-0cdEfghiIkmnpqrtuUvX] [\-I str] [\-j num] [\-\-silent] [command [arguments]] [< list_of_arguments]
|
||||||
.SH "DESCRIPTION"
|
.SH "DESCRIPTION"
|
||||||
.IX Header "DESCRIPTION"
|
.IX Header "DESCRIPTION"
|
||||||
For each line of input \fBparallel\fR will execute \fBcommand\fR with the
|
For each line of input \fBparallel\fR will execute \fBcommand\fR with the
|
||||||
|
@ -376,17 +376,24 @@ This will transfer the file \fIfoo/bar.txt\fR to the server
|
||||||
\&\fB\-\-transfer\fR is often used with \fB\-\-return\fR and \fB\-\-cleanup\fR.
|
\&\fB\-\-transfer\fR is often used with \fB\-\-return\fR and \fB\-\-cleanup\fR.
|
||||||
.Sp
|
.Sp
|
||||||
\&\fB\-\-transfer\fR is ignored when used with \fB\-\-sshlogin :\fR or when not used with \fB\-\-sshlogin\fR.
|
\&\fB\-\-transfer\fR is ignored when used with \fB\-\-sshlogin :\fR or when not used with \fB\-\-sshlogin\fR.
|
||||||
.IP "\fB\-\-return\fR \fIsuffix\fR (not implemented)" 9
|
.IP "\fB\-\-trc\fR \fIfilename\fR (not implemented)" 9
|
||||||
.IX Item "--return suffix (not implemented)"
|
.IX Item "--trc filename (not implemented)"
|
||||||
|
Transfer, Return, Cleanup. Short hand for:
|
||||||
|
.Sp
|
||||||
|
.Vb 1
|
||||||
|
\& \-\-transfer \-\-return I<filename> \-\-cleanup
|
||||||
|
.Ve
|
||||||
|
.IP "\fB\-\-return\fR \fIfilename\fR (not implemented)" 9
|
||||||
|
.IX Item "--return filename (not implemented)"
|
||||||
Transfer files from remote servers. \fB\-\-return\fR is used with
|
Transfer files from remote servers. \fB\-\-return\fR is used with
|
||||||
\&\fB\-\-sshlogin\fR when the arguments are files on the remote servers. When
|
\&\fB\-\-sshlogin\fR when the arguments are files on the remote servers. When
|
||||||
processing is done the file with \fIsuffix\fR appended will be transfered
|
processing is done the file \fIfilename\fR will be transfered
|
||||||
from the remote server using \fBrsync\fR and will be put relative to
|
from the remote server using \fBrsync\fR and will be put relative to
|
||||||
the default login dir. E.g.
|
the default login dir. E.g.
|
||||||
.Sp
|
.Sp
|
||||||
.Vb 2
|
.Vb 2
|
||||||
\& echo foo/bar.txt | parallel \e
|
\& echo foo/bar.txt | parallel \e
|
||||||
\& \-\-sshlogin server.example.com \-\-return .out touch {}.out
|
\& \-\-sshlogin server.example.com \-\-return {}.out touch {}.out
|
||||||
.Ve
|
.Ve
|
||||||
.Sp
|
.Sp
|
||||||
This will transfer the file \fI\f(CI$HOME\fI/foo/bar.txt.out\fR from the server
|
This will transfer the file \fI\f(CI$HOME\fI/foo/bar.txt.out\fR from the server
|
||||||
|
@ -395,20 +402,20 @@ This will transfer the file \fI\f(CI$HOME\fI/foo/bar.txt.out\fR from the server
|
||||||
.Sp
|
.Sp
|
||||||
.Vb 2
|
.Vb 2
|
||||||
\& echo /tmp/foo/bar.txt | parallel \e
|
\& echo /tmp/foo/bar.txt | parallel \e
|
||||||
\& \-\-sshlogin server.example.com \-\-return .out touch {}.out
|
\& \-\-sshlogin server.example.com \-\-return {}.out touch {}.out
|
||||||
.Ve
|
.Ve
|
||||||
.Sp
|
.Sp
|
||||||
This will transfer the file \fI/tmp/foo/bar.txt.out\fR from the server
|
This will transfer the file \fI/tmp/foo/bar.txt.out\fR from the server
|
||||||
\&\fIserver.example.com\fR to the file \fI/tmp/foo/bar.txt.out\fR after running
|
\&\fIserver.example.com\fR to the file \fI/tmp/foo/bar.txt.out\fR after running
|
||||||
\&\fBtouch /tmp/foo/bar.txt.out\fR on \fIserver.example.com\fR.
|
\&\fBtouch /tmp/foo/bar.txt.out\fR on \fIserver.example.com\fR.
|
||||||
.Sp
|
.Sp
|
||||||
Multiple files with different suffixes can be transfered by repeating
|
Multiple files can be transfered by repeating the options multiple
|
||||||
the options multiple times:
|
times:
|
||||||
.Sp
|
.Sp
|
||||||
.Vb 3
|
.Vb 3
|
||||||
\& echo /tmp/foo/bar.txt | \e
|
\& echo /tmp/foo/bar.txt | \e
|
||||||
\& parallel \-\-sshlogin server.example.com \e
|
\& parallel \-\-sshlogin server.example.com \e
|
||||||
\& \-\-return .out \-\-return .out2 touch {}.out {}.out2
|
\& \-\-return {}.out \-\-return {}.out2 touch {}.out {}.out2
|
||||||
.Ve
|
.Ve
|
||||||
.Sp
|
.Sp
|
||||||
\&\fB\-\-return\fR is often used with \fB\-\-transfer\fR and \fB\-\-cleanup\fR.
|
\&\fB\-\-return\fR is often used with \fB\-\-transfer\fR and \fB\-\-cleanup\fR.
|
||||||
|
@ -421,8 +428,8 @@ on the remote server after processing is done.
|
||||||
.Sp
|
.Sp
|
||||||
.Vb 3
|
.Vb 3
|
||||||
\& find log \-name \*(Aq*gz\*(Aq | parallel \e
|
\& find log \-name \*(Aq*gz\*(Aq | parallel \e
|
||||||
\& \-\-sshlogin server.example.com \-\-transfer \-\-return .bz2 \e
|
\& \-\-sshlogin server.example.com \-\-transfer \-\-return {.}.bz2 \e
|
||||||
\& \-\-cleanup "zcat {} | bzip \-9 >{}.bz2"
|
\& \-\-cleanup "zcat {} | bzip \-9 >{.}.bz2"
|
||||||
.Ve
|
.Ve
|
||||||
.Sp
|
.Sp
|
||||||
With \fB\-\-transfer\fR the file transfered to the remote server will be
|
With \fB\-\-transfer\fR the file transfered to the remote server will be
|
||||||
|
@ -541,7 +548,7 @@ is a better solution:
|
||||||
\& find . \-name \*(Aq*_thumb.jpg\*(Aq | ren \*(Aqs:/([^/]+)_thumb.jpg$:/thumb_$1:\*(Aq
|
\& find . \-name \*(Aq*_thumb.jpg\*(Aq | ren \*(Aqs:/([^/]+)_thumb.jpg$:/thumb_$1:\*(Aq
|
||||||
.Ve
|
.Ve
|
||||||
.PP
|
.PP
|
||||||
(Not implemented) This will make files like ./foo/bar_thumb.jpg:
|
This will make files like ./foo/bar_thumb.jpg:
|
||||||
.PP
|
.PP
|
||||||
\&\fBfind . \-name '*.jpg' | parallel \-j +0 convert \-geometry 120 {} {.}_thumb.jpg\fR
|
\&\fBfind . \-name '*.jpg' | parallel \-j +0 convert \-geometry 120 {} {.}_thumb.jpg\fR
|
||||||
.SH "EXAMPLE 4: Substitution and redirection"
|
.SH "EXAMPLE 4: Substitution and redirection"
|
||||||
|
@ -690,7 +697,7 @@ To recompress gzipped files with bzip2 using a remote server run:
|
||||||
.Vb 3
|
.Vb 3
|
||||||
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
||||||
\& parallel \-\-sshlogin server.example.com \e
|
\& parallel \-\-sshlogin server.example.com \e
|
||||||
\& \-\-transfer "zcat {} | bzip2 \-9 >{}.bz2"
|
\& \-\-transfer "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
.Ve
|
.Ve
|
||||||
.PP
|
.PP
|
||||||
This will list the .gz\-files in the \fIlogs\fR directory and all
|
This will list the .gz\-files in the \fIlogs\fR directory and all
|
||||||
|
@ -698,27 +705,28 @@ directories below. Then it will transfer the files to
|
||||||
\&\fIserver.example.com\fR to the corresponding directory in
|
\&\fIserver.example.com\fR to the corresponding directory in
|
||||||
\&\fI\f(CI$HOME\fI/logs\fR. On \fIserver.example.com\fR the file will be recompressed
|
\&\fI\f(CI$HOME\fI/logs\fR. On \fIserver.example.com\fR the file will be recompressed
|
||||||
using \fBzcat\fR and \fBbzip2\fR resulting in the corresponding file with
|
using \fBzcat\fR and \fBbzip2\fR resulting in the corresponding file with
|
||||||
the suffix \fI.bz2\fR.
|
\&\fI.gz\fR replaced with \fI.bz2\fR.
|
||||||
.PP
|
.PP
|
||||||
If you want the file to be transfered back to the local machine add
|
If you want the file to be transfered back to the local machine add
|
||||||
\&\fI\-\-return .bz2\fR:
|
\&\fI\-\-return {.}.bz2\fR:
|
||||||
.PP
|
.PP
|
||||||
.Vb 3
|
.Vb 3
|
||||||
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
||||||
\& parallel \-\-sshlogin server.example.com \e
|
\& parallel \-\-sshlogin server.example.com \e
|
||||||
\& \-\-transfer \-\-return .bz2 "zcat {} | bzip2 \-9 >{}.bz2"
|
\& \-\-transfer \-\-return {.}.bz2 "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
.Ve
|
.Ve
|
||||||
.PP
|
.PP
|
||||||
After the recompressing is done the \fI.bz2\fR\-file is transfered back to
|
After the recompressing is done the \fI.bz2\fR\-file is transfered back to
|
||||||
the local machine.
|
the local machine and put next to the original \fI.gz\fR\-file.
|
||||||
.PP
|
.PP
|
||||||
If you want to delete the transfered files on the remote machine add
|
If you want to delete the transfered files on the remote machine add
|
||||||
\&\fI\-\-cleanup\fR:
|
\&\fI\-\-cleanup\fR. This will remove both the file transfered to the remote
|
||||||
|
machine and the files transfered from the remote machine:
|
||||||
.PP
|
.PP
|
||||||
.Vb 3
|
.Vb 3
|
||||||
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
||||||
\& parallel \-\-sshlogin server.example.com \e
|
\& parallel \-\-sshlogin server.example.com \e
|
||||||
\& \-\-transfer \-\-return .bz2 \-\-cleanup "zcat {} | bzip2 \-9 >{}.bz2"
|
\& \-\-transfer \-\-return {.}.bz2 \-\-cleanup "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
.Ve
|
.Ve
|
||||||
.PP
|
.PP
|
||||||
If you want run one several servers add the servers to \fI\-\-sshlogin\fR
|
If you want run one several servers add the servers to \fI\-\-sshlogin\fR
|
||||||
|
@ -728,7 +736,7 @@ either using ',' or separate \fI\-\-sshlogin\fR:
|
||||||
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
||||||
\& parallel \-\-sshlogin server.example.com,server2.example.com \e
|
\& parallel \-\-sshlogin server.example.com,server2.example.com \e
|
||||||
\& \-\-sshlogin server3.example.com \e
|
\& \-\-sshlogin server3.example.com \e
|
||||||
\& \-\-transfer \-\-return .bz2 \-\-cleanup "zcat {} | bzip2 \-9 >{}.bz2"
|
\& \-\-transfer \-\-return {.}.bz2 \-\-cleanup "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
.Ve
|
.Ve
|
||||||
.PP
|
.PP
|
||||||
You can add the local machine using \fI\-\-sshlogin :\fR. This will disable the
|
You can add the local machine using \fI\-\-sshlogin :\fR. This will disable the
|
||||||
|
@ -739,7 +747,25 @@ removing and transferring for the local machine only:
|
||||||
\& parallel \-\-sshlogin server.example.com,server2.example.com \e
|
\& parallel \-\-sshlogin server.example.com,server2.example.com \e
|
||||||
\& \-\-sshlogin server3.example.com \e
|
\& \-\-sshlogin server3.example.com \e
|
||||||
\& \-\-sshlogin : \e
|
\& \-\-sshlogin : \e
|
||||||
\& \-\-transfer \-\-return .bz2 \-\-cleanup "zcat {} | bzip2 \-9 >{}.bz2"
|
\& \-\-transfer \-\-return {.}.bz2 \-\-cleanup "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
|
.Ve
|
||||||
|
.PP
|
||||||
|
Often \fI\-\-transfer\fR, \fI\-\-return\fR and \fI\-\-cleanup\fR are used together. They can be
|
||||||
|
shortened to \fI\-\-trc\fR:
|
||||||
|
.PP
|
||||||
|
.Vb 5
|
||||||
|
\& find logs/ \-name \*(Aq*.gz\*(Aq | \e
|
||||||
|
\& parallel \-\-sshlogin server.example.com,server2.example.com \e
|
||||||
|
\& \-\-sshlogin server3.example.com \e
|
||||||
|
\& \-\-sshlogin : \e
|
||||||
|
\& \-\-trc {.}.bz2 "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
|
.Ve
|
||||||
|
.PP
|
||||||
|
With the file \fImymachines\fR containing the compute machines it becomes:
|
||||||
|
.PP
|
||||||
|
.Vb 2
|
||||||
|
\& find logs/ \-name \*(Aq*.gz\*(Aq | parallel \-\-sshloginfile mymachines \e
|
||||||
|
\& \-\-trc {.}.bz2 "zcat {} | bzip2 \-9 >{.}.bz2"
|
||||||
.Ve
|
.Ve
|
||||||
.SH "QUOTING"
|
.SH "QUOTING"
|
||||||
.IX Header "QUOTING"
|
.IX Header "QUOTING"
|
||||||
|
@ -884,6 +910,8 @@ unexpected results, as it will often be interpreted as an option.
|
||||||
Report bugs to <bug\-parallel@tange.dk>.
|
Report bugs to <bug\-parallel@tange.dk>.
|
||||||
.SH "IDEAS"
|
.SH "IDEAS"
|
||||||
.IX Header "IDEAS"
|
.IX Header "IDEAS"
|
||||||
|
One char options not used: F G J K M P Q Y
|
||||||
|
.PP
|
||||||
Test if \-0 works on filenames ending in '\en'
|
Test if \-0 works on filenames ending in '\en'
|
||||||
.PP
|
.PP
|
||||||
xargs dropin-replacement.
|
xargs dropin-replacement.
|
||||||
|
@ -902,7 +930,20 @@ distribute the arguments evenly if running \-X.
|
||||||
.PP
|
.PP
|
||||||
Distribute jobs to computers with different speeds/number\-of\-cpu\-cores using ssh
|
Distribute jobs to computers with different speeds/number\-of\-cpu\-cores using ssh
|
||||||
ask the computers how many cpus they have and spawn appropriately
|
ask the computers how many cpus they have and spawn appropriately
|
||||||
according to \-j setting. Reuse ssh connection (\-M and \-S)
|
according to \-j setting. Reuse ssh connection (\-M and \-S)
|
||||||
|
.PP
|
||||||
|
SEED=$RANDOM
|
||||||
|
ssh \-MS /tmp/ssh\-%r@%h:%p\-$SEED elvis
|
||||||
|
rsync \-\-rsh=\*(L"ssh \-S /tmp/ssh\-%r@%h:%p\-$SEED\*(R" gitup elvis:/tmp/
|
||||||
|
ssh \-S /tmp/ssh\-%r@%h:%p\-$SEED elvis hostname
|
||||||
|
.PP
|
||||||
|
FILE=gpl\-3.0.txt
|
||||||
|
BASE=gpl\-3.0
|
||||||
|
$ rsync \-z \f(CW$FILE\fR e:$FILE
|
||||||
|
$ ssh e \*(L"cat \f(CW$FILE\fR | bzip2 > \f(CW$BASE\fR.bz2\*(R"
|
||||||
|
$ rsync \-z e:$BASE.bz2 \f(CW$BASE\fR.bz2
|
||||||
|
$ ssh e \*(L"rm \f(CW$FILE\fR \f(CW$BASE\fR\*(R"
|
||||||
|
.PP
|
||||||
http://www.semicomplete.com/blog/geekery/distributed\-xargs.html?source=rss20
|
http://www.semicomplete.com/blog/geekery/distributed\-xargs.html?source=rss20
|
||||||
http://code.google.com/p/ppss/wiki/Manual2
|
http://code.google.com/p/ppss/wiki/Manual2
|
||||||
.PP
|
.PP
|
1806
src/parallel~
Executable file
1806
src/parallel~
Executable file
File diff suppressed because it is too large
Load diff
16
unittest/Makefile
Normal file
16
unittest/Makefile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
unittest: ../src/parallel tests-to-run/* wanted-results/*
|
||||||
|
echo | mop || (echo mop is required for unittest; /bin/false)
|
||||||
|
seq 1 2 | mop || (echo seq is required for unittest; /bin/false)
|
||||||
|
sh Start.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf input-files/random_dirs_no_newline
|
||||||
|
rm -rf input-files/random_dirs_with_newline
|
||||||
|
|
||||||
|
dist:
|
||||||
|
rm -rf input-files/random_dirs_*_newline || /bin/true
|
||||||
|
rm -rf tmp || /bin/true
|
||||||
|
( cd ..; tar -cvj --exclude .git --exclude '#*#' --exclude '*~' --exclude CVS -f /tmp/parallel.tar.bz2 parallel-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] )
|
||||||
|
mv /tmp/parallel.tar.bz2 parallel-$$(date +"%Y%m%d").tar.bz2
|
||||||
|
rsync -Havessh parallel-$$(date +"%Y%m%d").tar.bz2 download.savannah.nongnu.org:/releases/parallel/
|
||||||
|
|
|
@ -91,8 +91,9 @@ line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
2
|
Output from -h and --help
|
||||||
2
|
4
|
||||||
|
4
|
||||||
7
|
7
|
||||||
echo bar
|
echo bar
|
||||||
echo car
|
echo car
|
||||||
|
|
|
@ -1,26 +1,28 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
rsync -Ha --delete input-files/testdir/ tmp/
|
rsync -Ha --delete input-files/testdir/ tmp/
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
echo echo test of cat pipe sh | parallel -j 50 2>&1
|
echo echo test of cat pipe sh | $PAR -j 50 2>&1
|
||||||
find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {}_thumb.jpg
|
find . -name '*.jpg' | $PAR -j +0 convert -geometry 120 {} {}_thumb.jpg
|
||||||
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
||||||
|
|
||||||
ls | parallel ls | sort
|
ls | $PAR ls | sort
|
||||||
ls | parallel echo ls | sort
|
ls | $PAR echo ls | sort
|
||||||
ls | parallel -j 1 echo ls | sort
|
ls | $PAR -j 1 echo ls | sort
|
||||||
find -type f | parallel diff {} a/foo ">"{}.diff | sort
|
find -type f | $PAR diff {} a/foo ">"{}.diff | sort
|
||||||
ls | parallel -vg "ls {}|wc;echo {}" | sort
|
ls | $PAR -vg "ls {}|wc;echo {}" | sort
|
||||||
# Check that we can have more input than max procs (-j 0)
|
# Check that we can have more input than max procs (-j 0)
|
||||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9999)' | parallel -vj 0 touch | sort | tail
|
perl -e 'print map {"more_than_5000-$_\n" } (4000..9999)' | $PAR -vj 0 touch | sort | tail
|
||||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9900)' | parallel -j 0 rm | sort
|
perl -e 'print map {"more_than_5000-$_\n" } (4000..9900)' | $PAR -j 0 rm | sort
|
||||||
ls | parallel -j500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"' | sort
|
ls | $PAR -j500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||||
ls | parallel -gj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"' | sort
|
ls | $PAR -gj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||||
ls | parallel -g "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
ls | $PAR -g "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||||
ls | parallel -vg "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
ls | $PAR -vg "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||||
ls | parallel -qg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
ls | $PAR -qg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
||||||
ls | parallel -qvg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
ls | $PAR -qvg perl -ne '/^\S+\s+\S+$/ and print $ARGV,"\n"' | sort
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf tmp
|
rm -rf tmp
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
rm -rf tmp 2>/dev/null
|
rm -rf tmp 2>/dev/null
|
||||||
cp -a input-files/testdir2 tmp
|
cp -a input-files/testdir2 tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {}_thumb.jpg
|
find . -name '*.jpg' | $PAR -j +0 convert -geometry 120 {} {}_thumb.jpg
|
||||||
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
find . -name '*_thumb.jpg' | ren 's:/([^/]+)_thumb.jpg$:/thumb_$1:'
|
||||||
|
|
||||||
find |grep -v CVS
|
find |grep -v CVS
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
rm -rf tmp 2>/dev/null
|
rm -rf tmp 2>/dev/null
|
||||||
cp -a input-files/testdir2 tmp
|
cp -a input-files/testdir2 tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
# tests if -c (cat | sh) works
|
# tests if -c (cat | sh) works
|
||||||
perl -e 'for(1..25) {print "echo a $_; echo b $_\n"}' | parallel -c 2>&1 | sort
|
perl -e 'for(1..25) {print "echo a $_; echo b $_\n"}' | $PAR -c 2>&1 | sort
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf tmp
|
rm -rf tmp
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
rm -rf tmp 2>/dev/null
|
rm -rf tmp 2>/dev/null
|
||||||
cd input-files
|
cd input-files
|
||||||
tar xjf random_dirs_no_newline.tar.bz2
|
tar xjf random_dirs_no_newline.tar.bz2
|
||||||
|
@ -8,21 +10,21 @@ cp -a input-files/random_dirs_no_newline tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
# tests if special dir names causes problems
|
# tests if special dir names causes problems
|
||||||
ls | parallel -v touch -- {}/abc-{}-{} 2>&1 | perl -e 'print sort (<>)' | md5sum
|
ls | $PAR -v touch -- {}/abc-{}-{} 2>&1 | perl -e 'print sort (<>)' | md5sum
|
||||||
echo -n 'There are '
|
echo -n 'There are '
|
||||||
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo -n ' dirs with '
|
echo -n ' dirs with '
|
||||||
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo ' files'
|
echo ' files'
|
||||||
echo 'Removing files'
|
echo 'Removing files'
|
||||||
ls | parallel -v rm -- {}/abc-{}-{} 2>&1 | perl -e 'print sort (<>)' | md5sum
|
ls | $PAR -v rm -- {}/abc-{}-{} 2>&1 | perl -e 'print sort (<>)' | md5sum
|
||||||
echo -n 'There are '
|
echo -n 'There are '
|
||||||
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo -n ' dirs with '
|
echo -n ' dirs with '
|
||||||
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo ' files'
|
echo ' files'
|
||||||
echo 'Removing dirs'
|
echo 'Removing dirs'
|
||||||
ls | parallel -v rmdir -- {} 2>&1 | perl -e 'print sort (<>)' | md5sum
|
ls | $PAR -v rmdir -- {} 2>&1 | perl -e 'print sort (<>)' | md5sum
|
||||||
echo -n 'There are '
|
echo -n 'There are '
|
||||||
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo -n ' dirs with '
|
echo -n ' dirs with '
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
rm -rf tmp 2>/dev/null
|
rm -rf tmp 2>/dev/null
|
||||||
cd input-files
|
cd input-files
|
||||||
tar xjf random_dirs_with_newline.tar.bz2
|
tar xjf random_dirs_with_newline.tar.bz2
|
||||||
|
@ -8,7 +10,7 @@ cp -a input-files/random_dirs_with_newline tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
# tests if special dir names causes problems
|
# tests if special dir names causes problems
|
||||||
find . -type d -print0 | perl -0 -pe 's:^./::' | parallel -0 -v touch -- {}/abc-{}-{} 2>&1 \
|
find . -type d -print0 | perl -0 -pe 's:^./::' | $PAR -0 -v touch -- {}/abc-{}-{} 2>&1 \
|
||||||
| perl -e 'print sort (<>)' | md5sum
|
| perl -e 'print sort (<>)' | md5sum
|
||||||
echo -n 'There are '
|
echo -n 'There are '
|
||||||
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
|
@ -16,7 +18,7 @@ echo -n ' dirs with '
|
||||||
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo ' files'
|
echo ' files'
|
||||||
echo 'Removing files'
|
echo 'Removing files'
|
||||||
find . -type d -print0 | perl -0 -pe 's:^./::' | parallel -0 -v rm -- {}/abc-{}-{} 2>&1 \
|
find . -type d -print0 | perl -0 -pe 's:^./::' | $PAR -0 -v rm -- {}/abc-{}-{} 2>&1 \
|
||||||
| perl -e 'print sort (<>)' | md5sum
|
| perl -e 'print sort (<>)' | md5sum
|
||||||
echo -n 'There are '
|
echo -n 'There are '
|
||||||
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
|
@ -24,7 +26,7 @@ echo -n ' dirs with '
|
||||||
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type f -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
echo ' files'
|
echo ' files'
|
||||||
echo 'Removing dirs'
|
echo 'Removing dirs'
|
||||||
find . -type d -print0 | perl -0 -pe 's:^./::' | parallel -0 -v rmdir -- {} 2>&1 \
|
find . -type d -print0 | perl -0 -pe 's:^./::' | $PAR -0 -v rmdir -- {} 2>&1 \
|
||||||
| perl -e 'print sort (<>)' | md5sum
|
| perl -e 'print sort (<>)' | md5sum
|
||||||
echo -n 'There are '
|
echo -n 'There are '
|
||||||
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
find . -type d -print0 | perl -0 -ne '$a++;END{print $a}'
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
rm -rf tmp 2>/dev/null
|
rm -rf tmp 2>/dev/null
|
||||||
cp -a input-files/testdir2 tmp
|
cp -a input-files/testdir2 tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
# tests if -c (cat | sh) works
|
# tests if -c (cat | sh) works
|
||||||
perl -e 'for(1..25) {print "echo a $_; echo b $_\n"}' | parallel -c 2>&1 | sort
|
perl -e 'for(1..25) {print "echo a $_; echo b $_\n"}' | $PAR -c 2>&1 | sort
|
||||||
|
|
||||||
# tests if -f (xargs) works
|
# tests if -f (xargs) works
|
||||||
perl -e 'for(1..25) {print "a $_\nb $_\n"}' | parallel -f echo 2>&1 | sort
|
perl -e 'for(1..25) {print "a $_\nb $_\n"}' | $PAR -f echo 2>&1 | sort
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf tmp
|
rm -rf tmp
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
seq 1 100 | parallel -j0 -qv perl -e '$r=rand(shift);for($f=0;$f<$r;$f++){$a="a"x100};print shift,"\n"' 10000 | sort
|
PAR=parallel
|
||||||
|
|
||||||
|
seq 1 100 | $PAR -j0 -qv perl -e '$r=rand(shift);for($f=0;$f<$r;$f++){$a="a"x100};print shift,"\n"' 10000 | sort
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
cd input-files/test08
|
cd input-files/test08
|
||||||
|
|
||||||
ls \
|
ls \
|
||||||
| parallel -q perl -ne '/_PRE (\d+)/ and $p=$1; /hatchname> (\d+)/ and $1!=$p and print $ARGV,"\n"' \
|
| $PAR -q perl -ne '/_PRE (\d+)/ and $p=$1; /hatchname> (\d+)/ and $1!=$p and print $ARGV,"\n"' \
|
||||||
| sort
|
| sort
|
||||||
|
|
||||||
seq 1 10 | parallel -j 1 echo | sort
|
seq 1 10 | $PAR -j 1 echo | sort
|
||||||
seq 1 10 | parallel -j 2 echo | sort
|
seq 1 10 | $PAR -j 2 echo | sort
|
||||||
seq 1 10 | parallel -j 3 echo | sort
|
seq 1 10 | $PAR -j 3 echo | sort
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
echo Force outside the file handle limit
|
echo Force outside the file handle limit
|
||||||
# 2009-02-17 Gave fork error
|
# 2009-02-17 Gave fork error
|
||||||
(echo echo Start;
|
(echo echo Start;
|
||||||
seq 1 20000 | perl -pe 's/^/true /';
|
seq 1 20000 | perl -pe 's/^/true /';
|
||||||
echo echo end) | parallel -uj 0
|
echo echo end) | $PAR -uj 0
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,23 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# This causes problems if we kill child processes
|
# This causes problems if we kill child processes
|
||||||
seq 1 40 | parallel -j 0 seq 1 10 | sort |md5sum
|
seq 1 40 | $PAR -j 0 seq 1 10 | sort |md5sum
|
||||||
seq 1 40 | parallel -j 0 seq 1 10 '| parallel -j 3 echo' | sort |md5sum
|
seq 1 40 | $PAR -j 0 seq 1 10 '| '$PAR' -j 3 echo' | sort |md5sum
|
||||||
|
|
||||||
# Test of xargs
|
# Test of xargs
|
||||||
seq 1 60000 | parallel -m echo | mop -d 4 "|sort |md5sum" "| wc"
|
seq 1 60000 | $PAR -m echo | mop -d 4 "|sort |md5sum" "| wc"
|
||||||
(echo foo;echo bar) | parallel -m echo 1{}2{}3 A{}B{}C
|
(echo foo;echo bar) | $PAR -m echo 1{}2{}3 A{}B{}C
|
||||||
(echo foo;echo bar) | parallel -X echo 1{}2{}3 A{}B{}C
|
(echo foo;echo bar) | $PAR -X echo 1{}2{}3 A{}B{}C
|
||||||
seq 1 60000 | parallel -m echo a{}b{}c | mop -d 4 "|sort |md5sum" "| wc"
|
seq 1 60000 | $PAR -m echo a{}b{}c | mop -d 4 "|sort |md5sum" "| wc"
|
||||||
seq 1 60000 | parallel -m echo a{}b{}c | \
|
seq 1 60000 | $PAR -m echo a{}b{}c | \
|
||||||
mop -q "|sort |md5sum" :parallel
|
mop -q "|sort |md5sum" :par
|
||||||
echo -n "Chars per line: "
|
echo -n "Chars per line: "
|
||||||
CHAR=$(cat ~/.mop/:parallel | wc -c)
|
CHAR=$(cat ~/.mop/:par | wc -c)
|
||||||
LINES=$(cat ~/.mop/:parallel | wc -l)
|
LINES=$(cat ~/.mop/:par | wc -l)
|
||||||
echo "$CHAR/$LINES" | bc
|
echo "$CHAR/$LINES" | bc
|
||||||
|
|
||||||
# Bug before 2009-08-26 causing regexp compile error or infinite loop
|
# Bug before 2009-08-26 causing regexp compile error or infinite loop
|
||||||
echo a | parallel -qX echo "'"{}"' "
|
echo a | $PAR -qX echo "'"{}"' "
|
||||||
echo a | parallel -qX echo "'{}'"
|
echo a | $PAR -qX echo "'{}'"
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# Test the empty line
|
# Test the empty line
|
||||||
echo | parallel echo foo
|
echo | $PAR echo foo
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# Test if we can deal with output > 4 GB
|
# Test if we can deal with output > 4 GB
|
||||||
echo | parallel 'dd if=/dev/zero count=43 bs=100000k; echo 1; echo 2' | md5sum
|
echo | $PAR 'dd if=/dev/zero count=43 bs=100000k; echo 1; echo 2' | md5sum
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# Test -k
|
# Test -k
|
||||||
ulimit -n 50
|
ulimit -n 50
|
||||||
(echo "sleep 3; echo begin"; seq 1 30 | parallel -kq echo "sleep 1; echo {}"; echo "echo end") \
|
(echo "sleep 3; echo begin"; seq 1 30 | $PAR -kq echo "sleep 1; echo {}"; echo "echo end") \
|
||||||
| parallel -k -j0
|
| $PAR -k -j0
|
||||||
|
|
||||||
# Test SIGTERM
|
# Test SIGTERM
|
||||||
(sleep 5; killall parallel -TERM) & seq 1 100 | parallel -k sleep 3';' echo
|
(sleep 5; killall $PAR -TERM) & seq 1 100 | $PAR -k sleep 3';' echo
|
||||||
|
|
|
@ -1,22 +1,24 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# Test -I
|
# Test -I
|
||||||
seq 1 10 | parallel -k 'seq 1 {} | parallel -k -I :: echo {} ::'
|
seq 1 10 | $PAR -k 'seq 1 {} | '$PAR' -k -I :: echo {} ::'
|
||||||
|
|
||||||
seq 1 10 | parallel -k 'seq 1 {} | parallel -X -k -I :: echo a{} b::'
|
seq 1 10 | $PAR -k 'seq 1 {} | '$PAR' -X -k -I :: echo a{} b::'
|
||||||
|
|
||||||
seq 1 10 | parallel -k 'seq 1 {} | parallel -m -k -I :: echo a{} b::'
|
seq 1 10 | $PAR -k 'seq 1 {} | '$PAR' -m -k -I :: echo a{} b::'
|
||||||
|
|
||||||
seq 1 60000 | parallel -I :: -m echo a::b::c | \
|
seq 1 60000 | $PAR -I :: -m echo a::b::c | \
|
||||||
mop -q "|sort |md5sum" :parallel
|
mop -q "|sort |md5sum" :par
|
||||||
CHAR=$(cat ~/.mop/:parallel | wc -c)
|
CHAR=$(cat ~/.mop/:par | wc -c)
|
||||||
LINES=$(cat ~/.mop/:parallel | wc -l)
|
LINES=$(cat ~/.mop/:par | wc -l)
|
||||||
echo -n "Chars per line ($CHAR/$LINES): "
|
echo -n "Chars per line ($CHAR/$LINES): "
|
||||||
echo "$CHAR/$LINES" | bc
|
echo "$CHAR/$LINES" | bc
|
||||||
|
|
||||||
seq 1 60000 | parallel -I :: -X echo a::b::c | \
|
seq 1 60000 | $PAR -I :: -X echo a::b::c | \
|
||||||
mop -q "|sort |md5sum" :parallel
|
mop -q "|sort |md5sum" :par
|
||||||
CHAR=$(cat ~/.mop/:parallel | wc -c)
|
CHAR=$(cat ~/.mop/:par | wc -c)
|
||||||
LINES=$(cat ~/.mop/:parallel | wc -l)
|
LINES=$(cat ~/.mop/:par | wc -l)
|
||||||
echo -n "Chars per line ($CHAR/$LINES): "
|
echo -n "Chars per line ($CHAR/$LINES): "
|
||||||
echo "$CHAR/$LINES" | bc
|
echo "$CHAR/$LINES" | bc
|
||||||
|
|
|
@ -2,69 +2,71 @@
|
||||||
|
|
||||||
# Test xargs compatibility
|
# Test xargs compatibility
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# Test -a and --arg-file: Read input from file instead of stdin
|
# Test -a and --arg-file: Read input from file instead of stdin
|
||||||
seq 1 10 >/tmp/$$
|
seq 1 10 >/tmp/$$
|
||||||
parallel -a /tmp/$$ echo
|
$PAR -a /tmp/$$ echo
|
||||||
parallel --arg-file /tmp/$$ echo
|
$PAR --arg-file /tmp/$$ echo
|
||||||
|
|
||||||
# Test -i and --replace: Replace with argument
|
# Test -i and --replace: Replace with argument
|
||||||
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce
|
(echo a; echo END; echo b) | $PAR -k -i -eEND echo repl{}ce
|
||||||
(echo a; echo END; echo b) | parallel -k --replace -eEND echo repl{}ce
|
(echo a; echo END; echo b) | $PAR -k --replace -eEND echo repl{}ce
|
||||||
(echo a; echo END; echo b) | parallel -k -i+ -eEND echo repl+ce
|
(echo a; echo END; echo b) | $PAR -k -i+ -eEND echo repl+ce
|
||||||
(echo e; echo END; echo b) | parallel -k -i'*' -eEND echo r'*'plac'*'
|
(echo e; echo END; echo b) | $PAR -k -i'*' -eEND echo r'*'plac'*'
|
||||||
(echo a; echo END; echo b) | parallel -k --replace + -eEND echo repl+ce
|
(echo a; echo END; echo b) | $PAR -k --replace + -eEND echo repl+ce
|
||||||
(echo a; echo END; echo b) | parallel -k --replace== -eEND echo repl=ce
|
(echo a; echo END; echo b) | $PAR -k --replace== -eEND echo repl=ce
|
||||||
(echo a; echo END; echo b) | parallel -k --replace = -eEND echo repl=ce
|
(echo a; echo END; echo b) | $PAR -k --replace = -eEND echo repl=ce
|
||||||
(echo a; echo END; echo b) | parallel -k --replace=^ -eEND echo repl^ce
|
(echo a; echo END; echo b) | $PAR -k --replace=^ -eEND echo repl^ce
|
||||||
(echo a; echo END; echo b) | parallel -k -I^ -eEND echo repl^ce
|
(echo a; echo END; echo b) | $PAR -k -I^ -eEND echo repl^ce
|
||||||
|
|
||||||
# Test -E: Artificial end-of-file
|
# Test -E: Artificial end-of-file
|
||||||
(echo include this; echo END; echo not this) | parallel -k -E END echo
|
(echo include this; echo END; echo not this) | $PAR -k -E END echo
|
||||||
(echo include this; echo END; echo not this) | parallel -k -EEND echo
|
(echo include this; echo END; echo not this) | $PAR -k -EEND echo
|
||||||
|
|
||||||
# Test -e and --eof: Artificial end-of-file
|
# Test -e and --eof: Artificial end-of-file
|
||||||
(echo include this; echo END; echo not this) | parallel -k -e END echo
|
(echo include this; echo END; echo not this) | $PAR -k -e END echo
|
||||||
(echo include this; echo END; echo not this) | parallel -k -eEND echo
|
(echo include this; echo END; echo not this) | $PAR -k -eEND echo
|
||||||
(echo include this; echo END; echo not this) | parallel -k --eof=END echo
|
(echo include this; echo END; echo not this) | $PAR -k --eof=END echo
|
||||||
(echo include this; echo END; echo not this) | parallel -k --eof END echo
|
(echo include this; echo END; echo not this) | $PAR -k --eof END echo
|
||||||
|
|
||||||
# Test -n and --max-args: Max number of args per line (only with -X and -m)
|
# Test -n and --max-args: Max number of args per line (only with -X and -m)
|
||||||
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 -m echo
|
(echo line 1;echo line 2;echo line 3) | $PAR -k -n1 -m echo
|
||||||
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 -m echo
|
(echo line 1;echo line 1;echo line 2) | $PAR -k -n2 -m echo
|
||||||
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 -X echo
|
(echo line 1;echo line 2;echo line 3) | $PAR -k -n1 -X echo
|
||||||
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 -X echo
|
(echo line 1;echo line 1;echo line 2) | $PAR -k -n2 -X echo
|
||||||
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args=1 -X echo
|
(echo line 1;echo line 2;echo line 3) | $PAR -k --max-args=1 -X echo
|
||||||
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args 1 -X echo
|
(echo line 1;echo line 2;echo line 3) | $PAR -k --max-args 1 -X echo
|
||||||
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args=2 -X echo
|
(echo line 1;echo line 1;echo line 2) | $PAR -k --max-args=2 -X echo
|
||||||
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args 2 -X echo
|
(echo line 1;echo line 1;echo line 2) | $PAR -k --max-args 2 -X echo
|
||||||
|
|
||||||
# Test --max-procs and -P: Number of processes
|
# Test --max-procs and -P: Number of processes
|
||||||
seq 1 10 | parallel -k --max-procs +0 echo max proc
|
seq 1 10 | $PAR -k --max-procs +0 echo max proc
|
||||||
seq 1 10 | parallel -k -P 200% echo 200% proc
|
seq 1 10 | $PAR -k -P 200% echo 200% proc
|
||||||
|
|
||||||
# Test --delimiter and -d: Delimiter instead of newline
|
# Test --delimiter and -d: Delimiter instead of newline
|
||||||
# Yes there is supposed to be an extra newline for -d N
|
# Yes there is supposed to be an extra newline for -d N
|
||||||
echo line 1Nline 2Nline 3 | parallel -k -d N echo This is
|
echo line 1Nline 2Nline 3 | $PAR -k -d N echo This is
|
||||||
echo line 1Nline 2Nline 3 | parallel -k --delimiter N echo This is
|
echo line 1Nline 2Nline 3 | $PAR -k --delimiter N echo This is
|
||||||
printf "delimiter NUL line 1\0line 2\0line 3" | parallel -k -d '\0' echo
|
printf "delimiter NUL line 1\0line 2\0line 3" | $PAR -k -d '\0' echo
|
||||||
printf "delimiter TAB line 1\tline 2\tline 3" | parallel -k --delimiter '\t' echo
|
printf "delimiter TAB line 1\tline 2\tline 3" | $PAR -k --delimiter '\t' echo
|
||||||
|
|
||||||
# Test --max-chars and -s: Max number of chars in a line
|
# Test --max-chars and -s: Max number of chars in a line
|
||||||
(echo line 1;echo line 1;echo line 2) | parallel -k --max-chars 25 -X echo
|
(echo line 1;echo line 1;echo line 2) | $PAR -k --max-chars 25 -X echo
|
||||||
(echo line 1;echo line 1;echo line 2) | parallel -k -s 25 -X echo
|
(echo line 1;echo line 1;echo line 2) | $PAR -k -s 25 -X echo
|
||||||
|
|
||||||
# Test --no-run-if-empty and -r: This should give no output
|
# Test --no-run-if-empty and -r: This should give no output
|
||||||
echo " " | parallel -r echo
|
echo " " | $PAR -r echo
|
||||||
echo " " | parallel --no-run-if-empty echo
|
echo " " | $PAR --no-run-if-empty echo
|
||||||
|
|
||||||
# Test --help and -h: Help output (just check we get the same amount of lines)
|
# Test --help and -h: Help output (just check we get the same amount of lines)
|
||||||
parallel -h | wc -l
|
echo Output from -h and --help
|
||||||
parallel --help | wc -l
|
$PAR -h | wc -l
|
||||||
|
$PAR --help | wc -l
|
||||||
|
|
||||||
# Test --version: Version output (just check we get the same amount of lines)
|
# Test --version: Version output (just check we get the same amount of lines)
|
||||||
parallel --version | wc -l
|
$PAR --version | wc -l
|
||||||
|
|
||||||
# Test --verbose and -t
|
# Test --verbose and -t
|
||||||
(echo b; echo c; echo f) | parallel -k -t echo {}ar 2>&1 >/dev/null
|
(echo b; echo c; echo f) | $PAR -k -t echo {}ar 2>&1 >/dev/null
|
||||||
(echo b; echo c; echo f) | parallel -k --verbose echo {}ar 2>&1 >/dev/null
|
(echo b; echo c; echo f) | $PAR -k --verbose echo {}ar 2>&1 >/dev/null
|
||||||
|
|
|
@ -1,45 +1,47 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PAR=parallel
|
||||||
|
|
||||||
# Test {.}
|
# Test {.}
|
||||||
|
|
||||||
# Test weird regexp chars
|
# Test weird regexp chars
|
||||||
seq 1 6 | parallel -j1 -I :: -X echo a::b::^c::[.}c | mop
|
seq 1 6 | $PAR -j1 -I :: -X echo a::b::^c::[.}c | mop
|
||||||
|
|
||||||
rsync -Ha --delete input-files/testdir2/ tmp/
|
rsync -Ha --delete input-files/testdir2/ tmp/
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
find . -name '*.jpg' | parallel -j +0 convert -geometry 120 {} {.}_thumb.jpg
|
find . -name '*.jpg' | $PAR -j +0 convert -geometry 120 {} {.}_thumb.jpg
|
||||||
|
|
||||||
find -type f | parallel -k diff {} a/foo ">"{.}.diff
|
find -type f | $PAR -k diff {} a/foo ">"{.}.diff
|
||||||
ls | parallel -kvg "ls {}|wc;echo {}"
|
ls | $PAR -kvg "ls {}|wc;echo {}"
|
||||||
ls | parallel -kj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"'
|
ls | $PAR -kj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"'
|
||||||
ls | parallel -kgj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"'
|
ls | $PAR -kgj500 'sleep 1; ls {} | perl -ne "END{print $..\" {}\n\"}"'
|
||||||
mkdir 1-col 2-col
|
mkdir 1-col 2-col
|
||||||
ls | parallel -kv touch -- {.}/abc-{.}-{} 2>&1
|
ls | $PAR -kv touch -- {.}/abc-{.}-{} 2>&1
|
||||||
ls | parallel -kv rm -- {.}/abc-{.}-{} 2>&1
|
ls | $PAR -kv rm -- {.}/abc-{.}-{} 2>&1
|
||||||
#test05.sh:find . -type d -print0 | perl -0 -pe 's:^./::' | parallel -0 -v touch -- {}/abc-{}-{} 2>&1 \
|
#test05.sh:find . -type d -print0 | perl -0 -pe 's:^./::' | $PAR -0 -v touch -- {}/abc-{}-{} 2>&1 \
|
||||||
#test05.sh:find . -type d -print0 | perl -0 -pe 's:^./::' | parallel -0 -v rm -- {}/abc-{}-{} 2>&1 \
|
#test05.sh:find . -type d -print0 | perl -0 -pe 's:^./::' | $PAR -0 -v rm -- {}/abc-{}-{} 2>&1 \
|
||||||
#test05.sh:find . -type d -print0 | perl -0 -pe 's:^./::' | parallel -0 -v rmdir -- {} 2>&1 \
|
#test05.sh:find . -type d -print0 | perl -0 -pe 's:^./::' | $PAR -0 -v rmdir -- {} 2>&1 \
|
||||||
(echo foo;echo bar;echo joe.gif) | parallel -km echo 1{}2{.}3 A{.}B{.}C
|
(echo foo;echo bar;echo joe.gif) | $PAR -km echo 1{}2{.}3 A{.}B{.}C
|
||||||
(echo foo;echo bar;echo joe.gif) | parallel -kX echo 1{}2{.}3 A{.}B{.}C
|
(echo foo;echo bar;echo joe.gif) | $PAR -kX echo 1{}2{.}3 A{.}B{.}C
|
||||||
seq 1 6 | parallel -kX echo -e '{}.gif\\n' | parallel -km echo a{}b{.}c{.}
|
seq 1 6 | $PAR -kX echo -e '{}.gif\\n' | $PAR -km echo a{}b{.}c{.}
|
||||||
seq 1 6 | parallel -kX echo -e '{}.gif\\n' | parallel -kX echo a{}b{.}c{.}
|
seq 1 6 | $PAR -kX echo -e '{}.gif\\n' | $PAR -kX echo a{}b{.}c{.}
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -km echo a{}b{.}c{.} | mop -d 4 "|md5sum" "| wc"
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -km echo a{}b{.}c{.} | mop -d 4 "|md5sum" "| wc"
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -kX echo a{}b{.}c{.} | mop -d 4 "|md5sum" "| wc"
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -kX echo a{}b{.}c{.} | mop -d 4 "|md5sum" "| wc"
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -kX echo a{}b{.}c{.}{.}{} | wc -l
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -kX echo a{}b{.}c{.}{.}{} | wc -l
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -kX echo a{}b{.}c{.}{.} | wc -l
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -kX echo a{}b{.}c{.}{.} | wc -l
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -kX echo a{}b{.}c{.} | wc -l
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -kX echo a{}b{.}c{.} | wc -l
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -kX echo a{}b{.}c | wc -l
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -kX echo a{}b{.}c | wc -l
|
||||||
seq 1 60000 | perl -pe 's/$/.gif\n/' | parallel -kX echo a{}b | wc -l
|
seq 1 60000 | perl -pe 's/$/.gif\n/' | $PAR -kX echo a{}b | wc -l
|
||||||
seq 1 60000 | parallel -I :: -X echo a::b::c:: | wc -l
|
seq 1 60000 | $PAR -I :: -X echo a::b::c:: | wc -l
|
||||||
echo a | parallel -qX echo "'"{.}"' "
|
echo a | $PAR -qX echo "'"{.}"' "
|
||||||
echo a | parallel -qX echo "'{.}'"
|
echo a | $PAR -qX echo "'{.}'"
|
||||||
(echo "sleep 3; echo begin"; seq 1 30 | parallel -kq echo "sleep 1; echo {.}"; echo "echo end") \
|
(echo "sleep 3; echo begin"; seq 1 30 | $PAR -kq echo "sleep 1; echo {.}"; echo "echo end") \
|
||||||
| parallel -k -j0
|
| $PAR -k -j0
|
||||||
seq 1 10 | parallel -k 'seq 1 {.} | parallel -k -I :: echo {.} ::'
|
seq 1 10 | $PAR -k 'seq 1 {.} | '$PAR' -k -I :: echo {.} ::'
|
||||||
seq 1 10 | parallel -k 'seq 1 {.} | parallel -X -k -I :: echo a{.} b::'
|
seq 1 10 | $PAR -k 'seq 1 {.} | '$PAR' -X -k -I :: echo a{.} b::'
|
||||||
seq 1 10 | parallel -k 'seq 1 {.} | parallel -m -k -I :: echo a{.} b::'
|
seq 1 10 | $PAR -k 'seq 1 {.} | '$PAR' -m -k -I :: echo a{.} b::'
|
||||||
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{.}ce
|
(echo a; echo END; echo b) | $PAR -k -i -eEND echo repl{.}ce
|
||||||
(echo a; echo END; echo b) | parallel -k --replace -eEND echo repl{.}ce
|
(echo a; echo END; echo b) | $PAR -k --replace -eEND echo repl{.}ce
|
||||||
(echo b; echo c; echo f) | parallel -k -t echo {.}ar 2>&1 >/dev/null
|
(echo b; echo c; echo f) | $PAR -k -t echo {.}ar 2>&1 >/dev/null
|
||||||
(echo b; echo c; echo f) | parallel -k --verbose echo {.}ar 2>&1 >/dev/null
|
(echo b; echo c; echo f) | $PAR -k --verbose echo {.}ar 2>&1 >/dev/null
|
||||||
|
|
|
@ -91,8 +91,9 @@ line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
2
|
Output from -h and --help
|
||||||
2
|
4
|
||||||
|
4
|
||||||
7
|
7
|
||||||
echo bar
|
echo bar
|
||||||
echo car
|
echo car
|
||||||
|
|
Loading…
Reference in a new issue