Added transparent printing support. The development of this feature is sponsored by De Bortoli Wines Pty Limited and by Eternity Technologies.

git-svn-id: https://shellinabox.googlecode.com/svn/trunk@176 0da03de8-d603-11dd-86c2-0f8696b7b6f9
This commit is contained in:
zodiac 2009-08-20 08:16:28 +00:00
parent 9b8e3af162
commit 065ac9f0fb
16 changed files with 1575 additions and 534 deletions

View file

@ -1,3 +1,9 @@
2009-08-20 Markus Gutschke <markus@shellinabox.com>
* Added transparent printing support. The development of this
feature is sponsored by De Bortoli Wines Pty Limited and by
Eternity Technologies.
2009-08-19 Markus Gutschke <markus@shellinabox.com> 2009-08-19 Markus Gutschke <markus@shellinabox.com>
* Added a ${url} parameter that can be used in the service description. * Added a ${url} parameter that can be used in the service description.

View file

@ -28,6 +28,7 @@ EXTRA_DIST = demo/beep.wav \
demo/demo.xml \ demo/demo.xml \
demo/enabled.gif \ demo/enabled.gif \
demo/styles.css \ demo/styles.css \
demo/print-styles.css \
demo/vt100.js \ demo/vt100.js \
demo/usercss-0.css \ demo/usercss-0.css \
demo/usercss-1.css \ demo/usercss-1.css \
@ -94,6 +95,7 @@ shellinaboxd_SOURCES = shellinabox/shellinaboxd.c \
shellinabox/vt100.jspp \ shellinabox/vt100.jspp \
shellinabox/shell_in_a_box.jspp \ shellinabox/shell_in_a_box.jspp \
shellinabox/styles.css \ shellinabox/styles.css \
shellinabox/print-styles.css \
shellinabox/enabled.gif \ shellinabox/enabled.gif \
shellinabox/favicon.ico \ shellinabox/favicon.ico \
shellinabox/beep.wav \ shellinabox/beep.wav \
@ -117,10 +119,10 @@ renamesymbols = \
-e ':0' \ -e ':0' \
-e 's/$$/aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ/' \ -e 's/$$/aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ/' \
-e ':1' \ -e ':1' \
-e 's/\(=[^_]*\)_\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \ -e 's/\(=[^-_]*\)[-_]\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \
-e 't1' \ -e 't1' \
-e 's/.\{53\}$$//' \ -e 's/.\{53\}$$//' \
-e 's/[/.]/_/g' \ -e 's/[-/.]/_/g' \
-e 's/^/--redefine-sym _binary_/' \ -e 's/^/--redefine-sym _binary_/' \
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_end\2End/' \ -e 's/\([^=]*\)\(=[^ ]*\)/& \1_end\2End/' \
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_start\2Start/' \ -e 's/\([^=]*\)\(=[^ ]*\)/& \1_start\2Start/' \
@ -134,6 +136,7 @@ ${top_srcdir}/demo/demo.js: ${top_srcdir}/demo/beep.wav \
${top_srcdir}/demo/demo.jspp \ ${top_srcdir}/demo/demo.jspp \
${top_srcdir}/demo/favicon.ico \ ${top_srcdir}/demo/favicon.ico \
${top_srcdir}/demo/styles.css \ ${top_srcdir}/demo/styles.css \
${top_srcdir}/demo/print-styles.css \
${top_srcdir}/demo/vt100.js \ ${top_srcdir}/demo/vt100.js \
${top_srcdir}/demo/usercss-0.css \ ${top_srcdir}/demo/usercss-0.css \
${top_srcdir}/demo/usercss-1.css \ ${top_srcdir}/demo/usercss-1.css \
@ -156,6 +159,10 @@ ${top_srcdir}/demo/styles.css: ${top_srcdir}/shellinabox/styles.css
@rm -f "$@" @rm -f "$@"
sed -e '/\[if DEFINES_COLORS\]/,/\[endif DEFINES_COLORS\]/d' "$<" >"$@" sed -e '/\[if DEFINES_COLORS\]/,/\[endif DEFINES_COLORS\]/d' "$<" >"$@"
${top_srcdir}/demo/print-styles.css: ${top_srcdir}/shellinabox/print-styles.css
@rm -f "$@"
ln "$<" "$@"
${top_srcdir}/demo/usercss-0.css: ${top_srcdir}/shellinabox/white-on-black.css ${top_srcdir}/demo/usercss-0.css: ${top_srcdir}/shellinabox/white-on-black.css
@rm -f "$@" @rm -f "$@"
ln "$<" "$@" ln "$<" "$@"

View file

@ -1,8 +1,9 @@
# Makefile.in generated by automake 1.10.2 from Makefile.am. # Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -19,8 +20,9 @@
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
@ -51,6 +53,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES) LTLIBRARIES = $(noinst_LTLIBRARIES)
libhttp_la_LIBADD = libhttp_la_LIBADD =
am__objects_1 = am__objects_1 =
@ -68,7 +71,6 @@ liblogging_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(liblogging_la_LDFLAGS) $(LDFLAGS) -o $@ $(liblogging_la_LDFLAGS) $(LDFLAGS) -o $@
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(docdir)" "$(DESTDIR)$(docdir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp am__dirstamp = $(am__leading_dot)dirstamp
am_shellinaboxd_OBJECTS = shellinaboxd.$(OBJEXT) \ am_shellinaboxd_OBJECTS = shellinaboxd.$(OBJEXT) \
@ -77,8 +79,10 @@ am_shellinaboxd_OBJECTS = shellinaboxd.$(OBJEXT) \
shellinabox/cgi_root.$(OBJEXT) shellinabox/root_page.$(OBJEXT) \ shellinabox/cgi_root.$(OBJEXT) shellinabox/root_page.$(OBJEXT) \
shellinabox/vt100.$(OBJEXT) \ shellinabox/vt100.$(OBJEXT) \
shellinabox/shell_in_a_box.$(OBJEXT) \ shellinabox/shell_in_a_box.$(OBJEXT) \
shellinabox/styles.$(OBJEXT) shellinabox/enabled.$(OBJEXT) \ shellinabox/styles.$(OBJEXT) \
shellinabox/favicon.$(OBJEXT) shellinabox/beep.$(OBJEXT) shellinabox/print-styles.$(OBJEXT) \
shellinabox/enabled.$(OBJEXT) shellinabox/favicon.$(OBJEXT) \
shellinabox/beep.$(OBJEXT)
shellinaboxd_OBJECTS = $(am_shellinaboxd_OBJECTS) shellinaboxd_OBJECTS = $(am_shellinaboxd_OBJECTS)
shellinaboxd_DEPENDENCIES = liblogging.la libhttp.la shellinaboxd_DEPENDENCIES = liblogging.la libhttp.la
shellinaboxd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ shellinaboxd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
@ -87,6 +91,7 @@ shellinaboxd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
DEFAULT_INCLUDES = -I.@am__isrc@ DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@ -100,16 +105,30 @@ SOURCES = $(libhttp_la_SOURCES) $(liblogging_la_SOURCES) \
$(shellinaboxd_SOURCES) $(shellinaboxd_SOURCES)
DIST_SOURCES = $(libhttp_la_SOURCES) $(liblogging_la_SOURCES) \ DIST_SOURCES = $(libhttp_la_SOURCES) $(liblogging_la_SOURCES) \
$(shellinaboxd_SOURCES) $(shellinaboxd_SOURCES)
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \ *) f=$$p;; \
esac; esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
dist_docDATA_INSTALL = $(INSTALL_DATA) 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'
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
DATA = $(dist_doc_DATA) $(noinst_DATA) DATA = $(dist_doc_DATA) $(noinst_DATA)
HEADERS = $(noinst_HEADERS) HEADERS = $(noinst_HEADERS)
ETAGS = etags ETAGS = etags
@ -118,9 +137,9 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION) distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir) top_distdir = $(distdir)
am__remove_distdir = \ am__remove_distdir = \
{ test ! -d $(distdir) \ { test ! -d "$(distdir)" \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; } && rm -fr "$(distdir)"; }; }
DIST_ARCHIVES = $(distdir).tar.gz DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print distuninstallcheck_listfiles = find . -type f -print
@ -268,6 +287,7 @@ EXTRA_DIST = demo/beep.wav \
demo/demo.xml \ demo/demo.xml \
demo/enabled.gif \ demo/enabled.gif \
demo/styles.css \ demo/styles.css \
demo/print-styles.css \
demo/vt100.js \ demo/vt100.js \
demo/usercss-0.css \ demo/usercss-0.css \
demo/usercss-1.css \ demo/usercss-1.css \
@ -338,6 +358,7 @@ shellinaboxd_SOURCES = shellinabox/shellinaboxd.c \
shellinabox/vt100.jspp \ shellinabox/vt100.jspp \
shellinabox/shell_in_a_box.jspp \ shellinabox/shell_in_a_box.jspp \
shellinabox/styles.css \ shellinabox/styles.css \
shellinabox/print-styles.css \
shellinabox/enabled.gif \ shellinabox/enabled.gif \
shellinabox/favicon.ico \ shellinabox/favicon.ico \
shellinabox/beep.wav \ shellinabox/beep.wav \
@ -362,10 +383,10 @@ renamesymbols = \
-e ':0' \ -e ':0' \
-e 's/$$/aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ/' \ -e 's/$$/aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ/' \
-e ':1' \ -e ':1' \
-e 's/\(=[^_]*\)_\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \ -e 's/\(=[^-_]*\)[-_]\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \
-e 't1' \ -e 't1' \
-e 's/.\{53\}$$//' \ -e 's/.\{53\}$$//' \
-e 's/[/.]/_/g' \ -e 's/[-/.]/_/g' \
-e 's/^/--redefine-sym _binary_/' \ -e 's/^/--redefine-sym _binary_/' \
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_end\2End/' \ -e 's/\([^=]*\)\(=[^ ]*\)/& \1_end\2End/' \
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_start\2Start/' \ -e 's/\([^=]*\)\(=[^ ]*\)/& \1_start\2Start/' \
@ -382,15 +403,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
cd $(srcdir) && $(AUTOMAKE) --gnu \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \ && exit 0; \
exit 1;; \ exit 1;; \
esac; \ esac; \
done; \ done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \ $(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile $(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile .PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \ @case '$?' in \
@ -406,9 +427,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps) $(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF) $(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
config.h: stamp-h1 config.h: stamp-h1
@if test ! -f $@; then \ @if test ! -f $@; then \
@ -420,7 +442,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1 @rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps) $(srcdir)/config.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER) ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1 rm -f stamp-h1
touch $@ touch $@
@ -442,31 +464,46 @@ liblogging.la: $(liblogging_la_OBJECTS) $(liblogging_la_DEPENDENCIES)
install-binPROGRAMS: $(bin_PROGRAMS) install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ for p in $$list; do echo "$$p $$p"; done | \
if test -f $$p \ sed 's/$(EXEEXT)$$//' | \
|| test -f $$p1 \ while read p p1; do if test -f $$p || test -f $$p1; \
; then \ then echo "$$p"; echo "$$p"; else :; fi; \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ done | \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
else :; fi; \ sed 'N;N;N;s,\n, ,g' | \
done $(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; \
else { print "f", $$3 "/" $$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_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ files=`for p in $$list; do echo "$$p"; done | \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
rm -f "$(DESTDIR)$(bindir)/$$f"; \ -e 's/$$/$(EXEEXT)/' `; \
done test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS: clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \
echo " rm -f $$p $$f"; \ rm -f $$list || exit $$?; \
rm -f $$p $$f ; \ test -n "$(EXEEXT)" || exit 0; \
done list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
shellinabox/$(am__dirstamp): shellinabox/$(am__dirstamp):
@$(MKDIR_P) shellinabox @$(MKDIR_P) shellinabox
@: > shellinabox/$(am__dirstamp) @: > shellinabox/$(am__dirstamp)
@ -483,6 +520,8 @@ shellinabox/shell_in_a_box.$(OBJEXT): shellinabox/$(am__dirstamp) \
shellinabox/$(DEPDIR)/$(am__dirstamp) shellinabox/$(DEPDIR)/$(am__dirstamp)
shellinabox/styles.$(OBJEXT): shellinabox/$(am__dirstamp) \ shellinabox/styles.$(OBJEXT): shellinabox/$(am__dirstamp) \
shellinabox/$(DEPDIR)/$(am__dirstamp) shellinabox/$(DEPDIR)/$(am__dirstamp)
shellinabox/print-styles.$(OBJEXT): shellinabox/$(am__dirstamp) \
shellinabox/$(DEPDIR)/$(am__dirstamp)
shellinabox/enabled.$(OBJEXT): shellinabox/$(am__dirstamp) \ shellinabox/enabled.$(OBJEXT): shellinabox/$(am__dirstamp) \
shellinabox/$(DEPDIR)/$(am__dirstamp) shellinabox/$(DEPDIR)/$(am__dirstamp)
shellinabox/favicon.$(OBJEXT): shellinabox/$(am__dirstamp) \ shellinabox/favicon.$(OBJEXT): shellinabox/$(am__dirstamp) \
@ -499,6 +538,7 @@ mostlyclean-compile:
-rm -f shellinabox/cgi_root.$(OBJEXT) -rm -f shellinabox/cgi_root.$(OBJEXT)
-rm -f shellinabox/enabled.$(OBJEXT) -rm -f shellinabox/enabled.$(OBJEXT)
-rm -f shellinabox/favicon.$(OBJEXT) -rm -f shellinabox/favicon.$(OBJEXT)
-rm -f shellinabox/print-styles.$(OBJEXT)
-rm -f shellinabox/root_page.$(OBJEXT) -rm -f shellinabox/root_page.$(OBJEXT)
-rm -f shellinabox/shell_in_a_box.$(OBJEXT) -rm -f shellinabox/shell_in_a_box.$(OBJEXT)
-rm -f shellinabox/styles.$(OBJEXT) -rm -f shellinabox/styles.$(OBJEXT)
@ -524,168 +564,168 @@ distclean-compile:
.c.o: .c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $< @am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo: .c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
hashmap.lo: libhttp/hashmap.c hashmap.lo: libhttp/hashmap.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hashmap.lo -MD -MP -MF $(DEPDIR)/hashmap.Tpo -c -o hashmap.lo `test -f 'libhttp/hashmap.c' || echo '$(srcdir)/'`libhttp/hashmap.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hashmap.lo -MD -MP -MF $(DEPDIR)/hashmap.Tpo -c -o hashmap.lo `test -f 'libhttp/hashmap.c' || echo '$(srcdir)/'`libhttp/hashmap.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hashmap.Tpo $(DEPDIR)/hashmap.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/hashmap.Tpo $(DEPDIR)/hashmap.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/hashmap.c' object='hashmap.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/hashmap.c' object='hashmap.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hashmap.lo `test -f 'libhttp/hashmap.c' || echo '$(srcdir)/'`libhttp/hashmap.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hashmap.lo `test -f 'libhttp/hashmap.c' || echo '$(srcdir)/'`libhttp/hashmap.c
trie.lo: libhttp/trie.c trie.lo: libhttp/trie.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT trie.lo -MD -MP -MF $(DEPDIR)/trie.Tpo -c -o trie.lo `test -f 'libhttp/trie.c' || echo '$(srcdir)/'`libhttp/trie.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT trie.lo -MD -MP -MF $(DEPDIR)/trie.Tpo -c -o trie.lo `test -f 'libhttp/trie.c' || echo '$(srcdir)/'`libhttp/trie.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/trie.Tpo $(DEPDIR)/trie.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/trie.Tpo $(DEPDIR)/trie.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/trie.c' object='trie.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/trie.c' object='trie.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o trie.lo `test -f 'libhttp/trie.c' || echo '$(srcdir)/'`libhttp/trie.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o trie.lo `test -f 'libhttp/trie.c' || echo '$(srcdir)/'`libhttp/trie.c
httpconnection.lo: libhttp/httpconnection.c httpconnection.lo: libhttp/httpconnection.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT httpconnection.lo -MD -MP -MF $(DEPDIR)/httpconnection.Tpo -c -o httpconnection.lo `test -f 'libhttp/httpconnection.c' || echo '$(srcdir)/'`libhttp/httpconnection.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT httpconnection.lo -MD -MP -MF $(DEPDIR)/httpconnection.Tpo -c -o httpconnection.lo `test -f 'libhttp/httpconnection.c' || echo '$(srcdir)/'`libhttp/httpconnection.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/httpconnection.Tpo $(DEPDIR)/httpconnection.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/httpconnection.Tpo $(DEPDIR)/httpconnection.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/httpconnection.c' object='httpconnection.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/httpconnection.c' object='httpconnection.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o httpconnection.lo `test -f 'libhttp/httpconnection.c' || echo '$(srcdir)/'`libhttp/httpconnection.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o httpconnection.lo `test -f 'libhttp/httpconnection.c' || echo '$(srcdir)/'`libhttp/httpconnection.c
server.lo: libhttp/server.c server.lo: libhttp/server.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server.lo -MD -MP -MF $(DEPDIR)/server.Tpo -c -o server.lo `test -f 'libhttp/server.c' || echo '$(srcdir)/'`libhttp/server.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server.lo -MD -MP -MF $(DEPDIR)/server.Tpo -c -o server.lo `test -f 'libhttp/server.c' || echo '$(srcdir)/'`libhttp/server.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/server.Tpo $(DEPDIR)/server.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/server.Tpo $(DEPDIR)/server.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/server.c' object='server.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/server.c' object='server.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server.lo `test -f 'libhttp/server.c' || echo '$(srcdir)/'`libhttp/server.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server.lo `test -f 'libhttp/server.c' || echo '$(srcdir)/'`libhttp/server.c
ssl.lo: libhttp/ssl.c ssl.lo: libhttp/ssl.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ssl.lo -MD -MP -MF $(DEPDIR)/ssl.Tpo -c -o ssl.lo `test -f 'libhttp/ssl.c' || echo '$(srcdir)/'`libhttp/ssl.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ssl.lo -MD -MP -MF $(DEPDIR)/ssl.Tpo -c -o ssl.lo `test -f 'libhttp/ssl.c' || echo '$(srcdir)/'`libhttp/ssl.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ssl.Tpo $(DEPDIR)/ssl.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ssl.Tpo $(DEPDIR)/ssl.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/ssl.c' object='ssl.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/ssl.c' object='ssl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ssl.lo `test -f 'libhttp/ssl.c' || echo '$(srcdir)/'`libhttp/ssl.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ssl.lo `test -f 'libhttp/ssl.c' || echo '$(srcdir)/'`libhttp/ssl.c
url.lo: libhttp/url.c url.lo: libhttp/url.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT url.lo -MD -MP -MF $(DEPDIR)/url.Tpo -c -o url.lo `test -f 'libhttp/url.c' || echo '$(srcdir)/'`libhttp/url.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT url.lo -MD -MP -MF $(DEPDIR)/url.Tpo -c -o url.lo `test -f 'libhttp/url.c' || echo '$(srcdir)/'`libhttp/url.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/url.Tpo $(DEPDIR)/url.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/url.Tpo $(DEPDIR)/url.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/url.c' object='url.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libhttp/url.c' object='url.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o url.lo `test -f 'libhttp/url.c' || echo '$(srcdir)/'`libhttp/url.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o url.lo `test -f 'libhttp/url.c' || echo '$(srcdir)/'`libhttp/url.c
logging.lo: logging/logging.c logging.lo: logging/logging.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT logging.lo -MD -MP -MF $(DEPDIR)/logging.Tpo -c -o logging.lo `test -f 'logging/logging.c' || echo '$(srcdir)/'`logging/logging.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT logging.lo -MD -MP -MF $(DEPDIR)/logging.Tpo -c -o logging.lo `test -f 'logging/logging.c' || echo '$(srcdir)/'`logging/logging.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/logging.Tpo $(DEPDIR)/logging.Plo @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/logging.Tpo $(DEPDIR)/logging.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='logging/logging.c' object='logging.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='logging/logging.c' object='logging.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o logging.lo `test -f 'logging/logging.c' || echo '$(srcdir)/'`logging/logging.c @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o logging.lo `test -f 'logging/logging.c' || echo '$(srcdir)/'`logging/logging.c
shellinaboxd.o: shellinabox/shellinaboxd.c shellinaboxd.o: shellinabox/shellinaboxd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shellinaboxd.o -MD -MP -MF $(DEPDIR)/shellinaboxd.Tpo -c -o shellinaboxd.o `test -f 'shellinabox/shellinaboxd.c' || echo '$(srcdir)/'`shellinabox/shellinaboxd.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shellinaboxd.o -MD -MP -MF $(DEPDIR)/shellinaboxd.Tpo -c -o shellinaboxd.o `test -f 'shellinabox/shellinaboxd.c' || echo '$(srcdir)/'`shellinabox/shellinaboxd.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/shellinaboxd.Tpo $(DEPDIR)/shellinaboxd.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/shellinaboxd.Tpo $(DEPDIR)/shellinaboxd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/shellinaboxd.c' object='shellinaboxd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/shellinaboxd.c' object='shellinaboxd.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shellinaboxd.o `test -f 'shellinabox/shellinaboxd.c' || echo '$(srcdir)/'`shellinabox/shellinaboxd.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shellinaboxd.o `test -f 'shellinabox/shellinaboxd.c' || echo '$(srcdir)/'`shellinabox/shellinaboxd.c
shellinaboxd.obj: shellinabox/shellinaboxd.c shellinaboxd.obj: shellinabox/shellinaboxd.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shellinaboxd.obj -MD -MP -MF $(DEPDIR)/shellinaboxd.Tpo -c -o shellinaboxd.obj `if test -f 'shellinabox/shellinaboxd.c'; then $(CYGPATH_W) 'shellinabox/shellinaboxd.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/shellinaboxd.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shellinaboxd.obj -MD -MP -MF $(DEPDIR)/shellinaboxd.Tpo -c -o shellinaboxd.obj `if test -f 'shellinabox/shellinaboxd.c'; then $(CYGPATH_W) 'shellinabox/shellinaboxd.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/shellinaboxd.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/shellinaboxd.Tpo $(DEPDIR)/shellinaboxd.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/shellinaboxd.Tpo $(DEPDIR)/shellinaboxd.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/shellinaboxd.c' object='shellinaboxd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/shellinaboxd.c' object='shellinaboxd.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shellinaboxd.obj `if test -f 'shellinabox/shellinaboxd.c'; then $(CYGPATH_W) 'shellinabox/shellinaboxd.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/shellinaboxd.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shellinaboxd.obj `if test -f 'shellinabox/shellinaboxd.c'; then $(CYGPATH_W) 'shellinabox/shellinaboxd.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/shellinaboxd.c'; fi`
externalfile.o: shellinabox/externalfile.c externalfile.o: shellinabox/externalfile.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT externalfile.o -MD -MP -MF $(DEPDIR)/externalfile.Tpo -c -o externalfile.o `test -f 'shellinabox/externalfile.c' || echo '$(srcdir)/'`shellinabox/externalfile.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT externalfile.o -MD -MP -MF $(DEPDIR)/externalfile.Tpo -c -o externalfile.o `test -f 'shellinabox/externalfile.c' || echo '$(srcdir)/'`shellinabox/externalfile.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/externalfile.Tpo $(DEPDIR)/externalfile.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/externalfile.Tpo $(DEPDIR)/externalfile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/externalfile.c' object='externalfile.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/externalfile.c' object='externalfile.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o externalfile.o `test -f 'shellinabox/externalfile.c' || echo '$(srcdir)/'`shellinabox/externalfile.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o externalfile.o `test -f 'shellinabox/externalfile.c' || echo '$(srcdir)/'`shellinabox/externalfile.c
externalfile.obj: shellinabox/externalfile.c externalfile.obj: shellinabox/externalfile.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT externalfile.obj -MD -MP -MF $(DEPDIR)/externalfile.Tpo -c -o externalfile.obj `if test -f 'shellinabox/externalfile.c'; then $(CYGPATH_W) 'shellinabox/externalfile.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/externalfile.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT externalfile.obj -MD -MP -MF $(DEPDIR)/externalfile.Tpo -c -o externalfile.obj `if test -f 'shellinabox/externalfile.c'; then $(CYGPATH_W) 'shellinabox/externalfile.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/externalfile.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/externalfile.Tpo $(DEPDIR)/externalfile.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/externalfile.Tpo $(DEPDIR)/externalfile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/externalfile.c' object='externalfile.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/externalfile.c' object='externalfile.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o externalfile.obj `if test -f 'shellinabox/externalfile.c'; then $(CYGPATH_W) 'shellinabox/externalfile.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/externalfile.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o externalfile.obj `if test -f 'shellinabox/externalfile.c'; then $(CYGPATH_W) 'shellinabox/externalfile.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/externalfile.c'; fi`
launcher.o: shellinabox/launcher.c launcher.o: shellinabox/launcher.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT launcher.o -MD -MP -MF $(DEPDIR)/launcher.Tpo -c -o launcher.o `test -f 'shellinabox/launcher.c' || echo '$(srcdir)/'`shellinabox/launcher.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT launcher.o -MD -MP -MF $(DEPDIR)/launcher.Tpo -c -o launcher.o `test -f 'shellinabox/launcher.c' || echo '$(srcdir)/'`shellinabox/launcher.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/launcher.Tpo $(DEPDIR)/launcher.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/launcher.Tpo $(DEPDIR)/launcher.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/launcher.c' object='launcher.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/launcher.c' object='launcher.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o launcher.o `test -f 'shellinabox/launcher.c' || echo '$(srcdir)/'`shellinabox/launcher.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o launcher.o `test -f 'shellinabox/launcher.c' || echo '$(srcdir)/'`shellinabox/launcher.c
launcher.obj: shellinabox/launcher.c launcher.obj: shellinabox/launcher.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT launcher.obj -MD -MP -MF $(DEPDIR)/launcher.Tpo -c -o launcher.obj `if test -f 'shellinabox/launcher.c'; then $(CYGPATH_W) 'shellinabox/launcher.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/launcher.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT launcher.obj -MD -MP -MF $(DEPDIR)/launcher.Tpo -c -o launcher.obj `if test -f 'shellinabox/launcher.c'; then $(CYGPATH_W) 'shellinabox/launcher.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/launcher.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/launcher.Tpo $(DEPDIR)/launcher.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/launcher.Tpo $(DEPDIR)/launcher.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/launcher.c' object='launcher.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/launcher.c' object='launcher.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o launcher.obj `if test -f 'shellinabox/launcher.c'; then $(CYGPATH_W) 'shellinabox/launcher.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/launcher.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o launcher.obj `if test -f 'shellinabox/launcher.c'; then $(CYGPATH_W) 'shellinabox/launcher.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/launcher.c'; fi`
privileges.o: shellinabox/privileges.c privileges.o: shellinabox/privileges.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT privileges.o -MD -MP -MF $(DEPDIR)/privileges.Tpo -c -o privileges.o `test -f 'shellinabox/privileges.c' || echo '$(srcdir)/'`shellinabox/privileges.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT privileges.o -MD -MP -MF $(DEPDIR)/privileges.Tpo -c -o privileges.o `test -f 'shellinabox/privileges.c' || echo '$(srcdir)/'`shellinabox/privileges.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/privileges.Tpo $(DEPDIR)/privileges.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/privileges.Tpo $(DEPDIR)/privileges.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/privileges.c' object='privileges.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/privileges.c' object='privileges.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o privileges.o `test -f 'shellinabox/privileges.c' || echo '$(srcdir)/'`shellinabox/privileges.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o privileges.o `test -f 'shellinabox/privileges.c' || echo '$(srcdir)/'`shellinabox/privileges.c
privileges.obj: shellinabox/privileges.c privileges.obj: shellinabox/privileges.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT privileges.obj -MD -MP -MF $(DEPDIR)/privileges.Tpo -c -o privileges.obj `if test -f 'shellinabox/privileges.c'; then $(CYGPATH_W) 'shellinabox/privileges.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/privileges.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT privileges.obj -MD -MP -MF $(DEPDIR)/privileges.Tpo -c -o privileges.obj `if test -f 'shellinabox/privileges.c'; then $(CYGPATH_W) 'shellinabox/privileges.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/privileges.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/privileges.Tpo $(DEPDIR)/privileges.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/privileges.Tpo $(DEPDIR)/privileges.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/privileges.c' object='privileges.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/privileges.c' object='privileges.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o privileges.obj `if test -f 'shellinabox/privileges.c'; then $(CYGPATH_W) 'shellinabox/privileges.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/privileges.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o privileges.obj `if test -f 'shellinabox/privileges.c'; then $(CYGPATH_W) 'shellinabox/privileges.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/privileges.c'; fi`
service.o: shellinabox/service.c service.o: shellinabox/service.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT service.o -MD -MP -MF $(DEPDIR)/service.Tpo -c -o service.o `test -f 'shellinabox/service.c' || echo '$(srcdir)/'`shellinabox/service.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT service.o -MD -MP -MF $(DEPDIR)/service.Tpo -c -o service.o `test -f 'shellinabox/service.c' || echo '$(srcdir)/'`shellinabox/service.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/service.Tpo $(DEPDIR)/service.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/service.Tpo $(DEPDIR)/service.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/service.c' object='service.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/service.c' object='service.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o service.o `test -f 'shellinabox/service.c' || echo '$(srcdir)/'`shellinabox/service.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o service.o `test -f 'shellinabox/service.c' || echo '$(srcdir)/'`shellinabox/service.c
service.obj: shellinabox/service.c service.obj: shellinabox/service.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT service.obj -MD -MP -MF $(DEPDIR)/service.Tpo -c -o service.obj `if test -f 'shellinabox/service.c'; then $(CYGPATH_W) 'shellinabox/service.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/service.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT service.obj -MD -MP -MF $(DEPDIR)/service.Tpo -c -o service.obj `if test -f 'shellinabox/service.c'; then $(CYGPATH_W) 'shellinabox/service.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/service.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/service.Tpo $(DEPDIR)/service.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/service.Tpo $(DEPDIR)/service.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/service.c' object='service.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/service.c' object='service.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o service.obj `if test -f 'shellinabox/service.c'; then $(CYGPATH_W) 'shellinabox/service.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/service.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o service.obj `if test -f 'shellinabox/service.c'; then $(CYGPATH_W) 'shellinabox/service.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/service.c'; fi`
session.o: shellinabox/session.c session.o: shellinabox/session.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT session.o -MD -MP -MF $(DEPDIR)/session.Tpo -c -o session.o `test -f 'shellinabox/session.c' || echo '$(srcdir)/'`shellinabox/session.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT session.o -MD -MP -MF $(DEPDIR)/session.Tpo -c -o session.o `test -f 'shellinabox/session.c' || echo '$(srcdir)/'`shellinabox/session.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/session.Tpo $(DEPDIR)/session.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/session.Tpo $(DEPDIR)/session.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/session.c' object='session.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/session.c' object='session.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o session.o `test -f 'shellinabox/session.c' || echo '$(srcdir)/'`shellinabox/session.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o session.o `test -f 'shellinabox/session.c' || echo '$(srcdir)/'`shellinabox/session.c
session.obj: shellinabox/session.c session.obj: shellinabox/session.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT session.obj -MD -MP -MF $(DEPDIR)/session.Tpo -c -o session.obj `if test -f 'shellinabox/session.c'; then $(CYGPATH_W) 'shellinabox/session.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/session.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT session.obj -MD -MP -MF $(DEPDIR)/session.Tpo -c -o session.obj `if test -f 'shellinabox/session.c'; then $(CYGPATH_W) 'shellinabox/session.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/session.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/session.Tpo $(DEPDIR)/session.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/session.Tpo $(DEPDIR)/session.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/session.c' object='session.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/session.c' object='session.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o session.obj `if test -f 'shellinabox/session.c'; then $(CYGPATH_W) 'shellinabox/session.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/session.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o session.obj `if test -f 'shellinabox/session.c'; then $(CYGPATH_W) 'shellinabox/session.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/session.c'; fi`
usercss.o: shellinabox/usercss.c usercss.o: shellinabox/usercss.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT usercss.o -MD -MP -MF $(DEPDIR)/usercss.Tpo -c -o usercss.o `test -f 'shellinabox/usercss.c' || echo '$(srcdir)/'`shellinabox/usercss.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT usercss.o -MD -MP -MF $(DEPDIR)/usercss.Tpo -c -o usercss.o `test -f 'shellinabox/usercss.c' || echo '$(srcdir)/'`shellinabox/usercss.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/usercss.Tpo $(DEPDIR)/usercss.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/usercss.Tpo $(DEPDIR)/usercss.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/usercss.c' object='usercss.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/usercss.c' object='usercss.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o usercss.o `test -f 'shellinabox/usercss.c' || echo '$(srcdir)/'`shellinabox/usercss.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o usercss.o `test -f 'shellinabox/usercss.c' || echo '$(srcdir)/'`shellinabox/usercss.c
usercss.obj: shellinabox/usercss.c usercss.obj: shellinabox/usercss.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT usercss.obj -MD -MP -MF $(DEPDIR)/usercss.Tpo -c -o usercss.obj `if test -f 'shellinabox/usercss.c'; then $(CYGPATH_W) 'shellinabox/usercss.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/usercss.c'; fi` @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT usercss.obj -MD -MP -MF $(DEPDIR)/usercss.Tpo -c -o usercss.obj `if test -f 'shellinabox/usercss.c'; then $(CYGPATH_W) 'shellinabox/usercss.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/usercss.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/usercss.Tpo $(DEPDIR)/usercss.Po @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/usercss.Tpo $(DEPDIR)/usercss.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/usercss.c' object='usercss.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='shellinabox/usercss.c' object='usercss.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o usercss.obj `if test -f 'shellinabox/usercss.c'; then $(CYGPATH_W) 'shellinabox/usercss.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/usercss.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o usercss.obj `if test -f 'shellinabox/usercss.c'; then $(CYGPATH_W) 'shellinabox/usercss.c'; else $(CYGPATH_W) '$(srcdir)/shellinabox/usercss.c'; fi`
@ -698,68 +738,64 @@ clean-libtool:
distclean-libtool: distclean-libtool:
-rm -f libtool config.lt -rm -f libtool config.lt
install-man1: $(man1_MANS) $(man_MANS) install-man1: $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ @list=''; test -n "$(man1dir)" || exit 0; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ { for i in $$list; do echo "$$i"; done; \
for i in $$l2; do \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
case "$$i" in \ sed -n '/\.1[a-z]*$$/p'; \
*.1*) list="$$list $$i" ;; \ } | while read p; do \
esac; \ 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; \ done; \
for i in $$list; do \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
if test -f $$i; then file=$$i; \ while read files; do \
else file=$(srcdir)/$$i; fi; \ test -z "$$files" || { \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
case "$$ext" in \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
1*) ;; \ done; }
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
done
uninstall-man1: uninstall-man1:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ @list=''; test -n "$(man1dir)" || exit 0; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ files=`{ for i in $$list; do echo "$$i"; done; \
for i in $$l2; do \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
case "$$i" in \ sed -n '/\.1[a-z]*$$/p'; \
*.1*) list="$$list $$i" ;; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
esac; \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
done; \ test -z "$$files" || { \
for i in $$list; do \ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
done
install-dist_docDATA: $(dist_doc_DATA) install-dist_docDATA: $(dist_doc_DATA)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
@list='$(dist_doc_DATA)'; for p in $$list; do \ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \ echo "$$d$$p"; \
echo " $(dist_docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ done | $(am__base_list) | \
$(dist_docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done done
uninstall-dist_docDATA: uninstall-dist_docDATA:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(dist_doc_DATA)'; for p in $$list; do \ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
f=$(am__strip_dir) \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ test -n "$$files" || exit 0; \
rm -f "$(DESTDIR)$(docdir)/$$f"; \ echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
done cd "$(DESTDIR)$(docdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@ -773,7 +809,7 @@ tags: TAGS
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ set x; \
here=`pwd`; \ here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -781,36 +817,54 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ if test $$# -gt 0; then \
$$tags $$unique; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$unique
GTAGS: GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES) 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
$(am__remove_distdir) $(am__remove_distdir)
test -d $(distdir) || mkdir $(distdir) test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \ list='$(DISTFILES)'; \
@ -826,21 +880,26 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d "$(distdir)/$$file"; then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \ fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ 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 \ else \
test -f $(distdir)/$$file \ test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ -test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -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 {} {} \; \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r "$(distdir)"
dist-gzip: distdir dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir) $(am__remove_distdir)
@ -853,6 +912,10 @@ dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir) $(am__remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist-tarZ: distdir dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir) $(am__remove_distdir)
@ -881,6 +944,8 @@ distcheck: dist
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \ *.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
@ -892,9 +957,11 @@ distcheck: dist
mkdir $(distdir)/_build mkdir $(distdir)/_build
mkdir $(distdir)/_inst mkdir $(distdir)/_inst
chmod a-w $(distdir) chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \ && am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \
@ -916,13 +983,15 @@ distcheck: dist
&& rm -rf "$$dc_destdir" \ && rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \ && $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \ && rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__remove_distdir) $(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \ @(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ 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' sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck: distuninstallcheck:
@cd $(distuninstallcheck_dir) \ @$(am__cd) '$(distuninstallcheck_dir)' \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \ || { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \ if test -n "$(DESTDIR)"; then \
@ -967,6 +1036,7 @@ clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f shellinabox/$(DEPDIR)/$(am__dirstamp) -rm -f shellinabox/$(DEPDIR)/$(am__dirstamp)
-rm -f shellinabox/$(am__dirstamp) -rm -f shellinabox/$(am__dirstamp)
@ -991,6 +1061,8 @@ dvi-am:
html: html-am html: html-am
html-am:
info: info-am info: info-am
info-am: info-am:
@ -999,18 +1071,28 @@ install-data-am: install-dist_docDATA install-man
install-dvi: install-dvi-am install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS install-exec-am: install-binPROGRAMS
install-html: install-html-am install-html: install-html-am
install-html-am:
install-info: install-info-am install-info: install-info-am
install-info-am:
install-man: install-man1 install-man: install-man1
install-pdf: install-pdf-am install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am install-ps: install-ps-am
install-ps-am:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
@ -1038,16 +1120,16 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \
uninstall-man: uninstall-man1 uninstall-man: uninstall-man1
.MAKE: install-am install-strip .MAKE: all install-am install-strip
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic clean-libtool clean-local \ clean-binPROGRAMS clean-generic clean-libtool clean-local \
clean-noinstLTLIBRARIES ctags dist dist-all dist-bzip2 \ clean-noinstLTLIBRARIES ctags dist dist-all dist-bzip2 \
dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
distclean distclean-compile distclean-generic distclean-hdr \ distcheck distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distcleancheck distdir \ distclean-hdr distclean-libtool distclean-tags distcleancheck \
distuninstallcheck dvi dvi-am html html-am info info-am \ distdir distuninstallcheck dvi dvi-am html html-am info \
install install-am install-binPROGRAMS install-data \ info-am install install-am install-binPROGRAMS install-data \
install-data-am install-dist_docDATA install-dvi \ install-data-am install-dist_docDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \ install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \ install-html-am install-info install-info-am install-man \
@ -1067,6 +1149,7 @@ ${top_srcdir}/demo/demo.js: ${top_srcdir}/demo/beep.wav \
${top_srcdir}/demo/demo.jspp \ ${top_srcdir}/demo/demo.jspp \
${top_srcdir}/demo/favicon.ico \ ${top_srcdir}/demo/favicon.ico \
${top_srcdir}/demo/styles.css \ ${top_srcdir}/demo/styles.css \
${top_srcdir}/demo/print-styles.css \
${top_srcdir}/demo/vt100.js \ ${top_srcdir}/demo/vt100.js \
${top_srcdir}/demo/usercss-0.css \ ${top_srcdir}/demo/usercss-0.css \
${top_srcdir}/demo/usercss-1.css \ ${top_srcdir}/demo/usercss-1.css \
@ -1089,6 +1172,10 @@ ${top_srcdir}/demo/styles.css: ${top_srcdir}/shellinabox/styles.css
@rm -f "$@" @rm -f "$@"
sed -e '/\[if DEFINES_COLORS\]/,/\[endif DEFINES_COLORS\]/d' "$<" >"$@" sed -e '/\[if DEFINES_COLORS\]/,/\[endif DEFINES_COLORS\]/d' "$<" >"$@"
${top_srcdir}/demo/print-styles.css: ${top_srcdir}/shellinabox/print-styles.css
@rm -f "$@"
ln "$<" "$@"
${top_srcdir}/demo/usercss-0.css: ${top_srcdir}/shellinabox/white-on-black.css ${top_srcdir}/demo/usercss-0.css: ${top_srcdir}/shellinabox/white-on-black.css
@rm -f "$@" @rm -f "$@"
ln "$<" "$@" ln "$<" "$@"
@ -1182,6 +1269,7 @@ shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@echo objcopy "$<" "$@" @echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \ @objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@" "$<" "$@"
# Tell versions [3.59,3.63) of GNU make to not export all variables. # 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. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

288
aclocal.m4 vendored
View file

@ -1,7 +1,7 @@
# generated automatically by aclocal 1.10.2 -*- Autoconf -*- # generated automatically by aclocal 1.11 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -7996,10 +7996,10 @@ m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
# generated from the m4 files accompanying Automake X.Y. # generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.) # (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION], AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10' [am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to 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. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.10.2], [], m4_if([$1], [1.11], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
@ -8015,7 +8015,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.10.2])dnl [AM_AUTOMAKE_VERSION([1.11])dnl
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@ -8075,14 +8075,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*- # AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 8 # serial 9
# AM_CONDITIONAL(NAME, SHELL-CONDITION) # AM_CONDITIONAL(NAME, SHELL-CONDITION)
# ------------------------------------- # -------------------------------------
@ -8095,6 +8095,7 @@ AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl
m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then if $2; then
$1_TRUE= $1_TRUE=
$1_FALSE='#' $1_FALSE='#'
@ -8108,14 +8109,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]]) Usually this means the macro was only invoked conditionally.]])
fi])]) fi])])
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 9 # serial 10
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4, # written in clear, in which case automake, when reading aclocal.m4,
@ -8172,6 +8173,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
if test "$am_compiler_list" = ""; then if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi 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 for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers # Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and # like to wrap large dependency lists on column 80 (with \), and
@ -8189,7 +8200,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
done done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 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 case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect) nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll # after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested # only be used when explicitly requested
@ -8199,19 +8220,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
break break
fi 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 ;; none) break ;;
esac esac
# 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.
if depmode=$depmode \ if depmode=$depmode \
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err && >/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} 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 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings # icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message # or remarks (even with -Werror). So we grep stderr for any message
@ -8275,59 +8300,61 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
#serial 4 #serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS # _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------ # ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], 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 # Autoconf 2.62 quotes --file arguments for eval, but not when files
# if we detect the quoting. # are listed without --file. Let's play safe and only enable the eval
case $CONFIG_FILES in # if we detect the quoting.
*\'*) eval set x "$CONFIG_FILES" ;; case $CONFIG_FILES in
*) set x $CONFIG_FILES ;; *\'*) eval set x "$CONFIG_FILES" ;;
esac *) set x $CONFIG_FILES ;;
shift esac
for mf shift
do for mf
# Strip MF so we end up with the name of the file. do
mf=`echo "$mf" | sed -e 's/:.*$//'` # Strip MF so we end up with the name of the file.
# Check whether this is an Automake generated Makefile or not. mf=`echo "$mf" | sed -e 's/:.*$//'`
# We used to match only the files named `Makefile.in', but # Check whether this is an Automake generated Makefile or not.
# some people rename them; so instead we look at the file content. # We used to match only the files named `Makefile.in', but
# Grep'ing the first line is not enough: some people post-process # some people rename them; so instead we look at the file content.
# each Makefile.in and add a new line on top of each file to say so. # Grep'ing the first line is not enough: some people post-process
# Grep'ing the whole file is not good either: AIX grep has a line # each Makefile.in and add a new line on top of each file to say so.
# limit of 2048, but all sed's we know have understand at least 4000. # Grep'ing the whole file is not good either: AIX grep has a line
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then # limit of 2048, but all sed's we know have understand at least 4000.
dirpart=`AS_DIRNAME("$mf")` if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
else dirpart=`AS_DIRNAME("$mf")`
continue else
fi continue
# Extract the definition of DEPDIR, am__include, and am__quote fi
# from the Makefile without running `make'. # Extract the definition of DEPDIR, am__include, and am__quote
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` # from the Makefile without running `make'.
test -z "$DEPDIR" && continue DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$DEPDIR" && continue
test -z "am__include" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"`
am__quote=`sed -n 's/^am__quote = //p' < "$mf"` test -z "am__include" && continue
# When using ansi2knr, U may be empty or an underscore; expand it am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
U=`sed -n 's/^U = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it
# Find all dependency output files, they are included files with U=`sed -n 's/^U = //p' < "$mf"`
# $(DEPDIR) in their names. We invoke sed twice because it is the # Find all dependency output files, they are included files with
# simplest approach to changing $(DEPDIR) to its actual value in the # $(DEPDIR) in their names. We invoke sed twice because it is the
# expansion. # simplest approach to changing $(DEPDIR) to its actual value in the
for file in `sed -n " # expansion.
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ for file in `sed -n "
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
# Make sure the directory exists. sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
test -f "$dirpart/$file" && continue # Make sure the directory exists.
fdir=`AS_DIRNAME(["$file"])` test -f "$dirpart/$file" && continue
AS_MKDIR_P([$dirpart/$fdir]) fdir=`AS_DIRNAME(["$file"])`
# echo "creating $dirpart/$file" AS_MKDIR_P([$dirpart/$fdir])
echo '# dummy' > "$dirpart/$file" # echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done done
done }
])# _AM_OUTPUT_DEPENDENCY_COMMANDS ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@ -8359,13 +8386,13 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*- # Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2008 Free Software Foundation, Inc. # 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 13 # serial 16
# This macro actually does too much. Some checks are only needed if # 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. # your package does certain things. But this isn't really a big deal.
@ -8382,7 +8409,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# arguments mandatory, and then we can depend on a new Autoconf # arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support. # release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE], AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.60])dnl [AC_PREREQ([2.62])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about. dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@ -8433,8 +8460,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_PROG_INSTALL_SH AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on # We need awk for the "check" target. The system "awk" is bad on
# some platforms. # some platforms.
@ -8442,24 +8469,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])]) [_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],, _AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC], [AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)], [_AM_DEPENDENCIES(CC)],
[define([AC_PROG_CC], [define([AC_PROG_CC],
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX], AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)], [_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX], [define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC], AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES(OBJC)], [_AM_DEPENDENCIES(OBJC)],
[define([AC_PROG_OBJC], [define([AC_PROG_OBJC],
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl 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. # When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header # This file resides in the same directory as the config header
@ -8482,7 +8522,7 @@ for _am_header in $config_headers :; do
done done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -8493,7 +8533,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh. # Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH], AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} 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)]) AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc. # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@ -8519,13 +8566,13 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*- # Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 3 # serial 4
# AM_MAKE_INCLUDE() # AM_MAKE_INCLUDE()
# ----------------- # -----------------
@ -8534,7 +8581,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make} [am_make=${MAKE-make}
cat > confinc << 'END' cat > confinc << 'END'
am__doit: am__doit:
@echo done @echo this is the am__doit target
.PHONY: am__doit .PHONY: am__doit
END END
# If we don't find an include directive, just comment out the code. # If we don't find an include directive, just comment out the code.
@ -8544,24 +8591,24 @@ am__quote=
_am_result=none _am_result=none
# First try GNU make style include. # First try GNU make style include.
echo "include confinc" > confmf echo "include confinc" > confmf
# We grep out `Entering directory' and `Leaving directory' # Ignore all kinds of additional output from `make'.
# messages which can occur if `w' ends up in MAKEFLAGS. case `$am_make -s -f confmf 2> /dev/null` in #(
# In particular we don't look at `^make:' because GNU make might *the\ am__doit\ target*)
# be invoked under some other name (usually "gmake"), in which am__include=include
# case it prints its new name instead of `make'. am__quote=
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then _am_result=GNU
am__include=include ;;
am__quote= esac
_am_result=GNU
fi
# Now try BSD make style include. # Now try BSD make style include.
if test "$am__include" = "#"; then if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then case `$am_make -s -f confmf 2> /dev/null` in #(
am__include=.include *the\ am__doit\ target*)
am__quote="\"" am__include=.include
_am_result=BSD am__quote="\""
fi _am_result=BSD
;;
esac
fi fi
AC_SUBST([am__include]) AC_SUBST([am__include])
AC_SUBST([am__quote]) AC_SUBST([am__quote])
@ -8571,14 +8618,14 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 5 # serial 6
# AM_MISSING_PROG(NAME, PROGRAM) # AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------ # ------------------------------
@ -8595,7 +8642,14 @@ AC_SUBST($1)])
AC_DEFUN([AM_MISSING_HAS_RUN], AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl AC_REQUIRE_AUX_FILE([missing])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" 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 # Use eval to expand $SHELL
if eval "$MISSING --run true"; then if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run " am_missing_run="$MISSING --run "
@ -8666,14 +8720,14 @@ AC_DEFUN([_AM_IF_OPTION],
# Check to make sure that the build environment is sane. -*- Autoconf -*- # Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 4 # serial 5
# AM_SANITY_CHECK # AM_SANITY_CHECK
# --------------- # ---------------
@ -8682,16 +8736,29 @@ AC_DEFUN([AM_SANITY_CHECK],
# Just in case # Just in case
sleep 1 sleep 1
echo timestamp > conftest.file 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 # 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 # arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks # symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing # (eg FreeBSD returns the mod time of the symlink's containing
# directory). # directory).
if ( if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then if test "$[*]" = "X"; then
# -L didn't work. # -L didn't work.
set X `ls -t $srcdir/configure conftest.file` set X `ls -t "$srcdir/configure" conftest.file`
fi fi
rm -f conftest.file rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \ if test "$[*]" != "X $srcdir/configure conftest.file" \
@ -8744,18 +8811,25 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006 Free Software Foundation, Inc. # Copyright (C) 2006, 2008 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 2
# _AM_SUBST_NOTMAKE(VARIABLE) # _AM_SUBST_NOTMAKE(VARIABLE)
# --------------------------- # ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake. # This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE]) 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 -*- # Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc. # Copyright (C) 2004, 2005 Free Software Foundation, Inc.

View file

@ -138,7 +138,7 @@
#define STDC_HEADERS 1 #define STDC_HEADERS 1
/* Most recent revision number in the version control system */ /* Most recent revision number in the version control system */
#define VCS_REVISION "174" #define VCS_REVISION "176"
/* Version number of package */ /* Version number of package */
#define VERSION "2.9" #define VERSION "2.9"

440
configure vendored
View file

@ -740,7 +740,9 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='LTLIBOBJS ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS LIBOBJS
LIBTOOL_DEPS LIBTOOL_DEPS
CPP CPP
@ -2317,7 +2319,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_compiler_gnu=$ac_cv_c_compiler_gnu
VCS_REVISION=174 VCS_REVISION=176
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2326,7 +2328,7 @@ _ACEOF
CFLAGS="${CFLAGS:--Os}" CFLAGS="${CFLAGS:--Os}"
am__api_version='1.10' am__api_version='1.11'
ac_aux_dir= ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@ -2449,16 +2451,29 @@ $as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case # Just in case
sleep 1 sleep 1
echo timestamp > conftest.file 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]*)
as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
esac
# Do `set' in a subshell so we don't clobber the current shell's # 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 # arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks # symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing # (eg FreeBSD returns the mod time of the symlink's containing
# directory). # directory).
if ( if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then if test "$*" = "X"; then
# -L didn't work. # -L didn't work.
set X `ls -t $srcdir/configure conftest.file` set X `ls -t "$srcdir/configure" conftest.file`
fi fi
rm -f conftest.file rm -f conftest.file
if test "$*" != "X $srcdir/configure conftest.file" \ if test "$*" != "X $srcdir/configure conftest.file" \
@ -2496,7 +2511,14 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path # expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd` am_aux_dir=`cd $ac_aux_dir && pwd`
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" 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 # Use eval to expand $SHELL
if eval "$MISSING --run true"; then if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run " am_missing_run="$MISSING --run "
@ -2506,6 +2528,115 @@ else
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi fi
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
# 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.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then if test -z "$MKDIR_P"; then
@ -2686,108 +2817,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
# 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.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on # We need awk for the "check" target. The system "awk" is bad on
# some platforms. # some platforms.
# Always define AMTAR for backward compatibility. # Always define AMTAR for backward compatibility.
@ -3576,7 +3605,7 @@ ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make} am_make=${MAKE-make}
cat > confinc << 'END' cat > confinc << 'END'
am__doit: am__doit:
@echo done @echo this is the am__doit target
.PHONY: am__doit .PHONY: am__doit
END END
# If we don't find an include directive, just comment out the code. # If we don't find an include directive, just comment out the code.
@ -3587,24 +3616,24 @@ am__quote=
_am_result=none _am_result=none
# First try GNU make style include. # First try GNU make style include.
echo "include confinc" > confmf echo "include confinc" > confmf
# We grep out `Entering directory' and `Leaving directory' # Ignore all kinds of additional output from `make'.
# messages which can occur if `w' ends up in MAKEFLAGS. case `$am_make -s -f confmf 2> /dev/null` in #(
# In particular we don't look at `^make:' because GNU make might *the\ am__doit\ target*)
# be invoked under some other name (usually "gmake"), in which am__include=include
# case it prints its new name instead of `make'. am__quote=
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then _am_result=GNU
am__include=include ;;
am__quote= esac
_am_result=GNU
fi
# Now try BSD make style include. # Now try BSD make style include.
if test "$am__include" = "#"; then if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then case `$am_make -s -f confmf 2> /dev/null` in #(
am__include=.include *the\ am__doit\ target*)
am__quote="\"" am__include=.include
_am_result=BSD am__quote="\""
fi _am_result=BSD
;;
esac
fi fi
@ -3661,6 +3690,11 @@ else
if test "$am_compiler_list" = ""; then if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi fi
am__universal=false
case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac
for depmode in $am_compiler_list; do for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers # Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and # like to wrap large dependency lists on column 80 (with \), and
@ -3678,7 +3712,17 @@ else
done done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 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 case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect) nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll # after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested # only be used when explicitly requested
@ -3688,19 +3732,23 @@ else
break break
fi 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 ;; none) break ;;
esac esac
# 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.
if depmode=$depmode \ if depmode=$depmode \
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err && >/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} 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 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings # icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message # or remarks (even with -Werror). So we grep stderr for any message
@ -4422,13 +4470,13 @@ if test "${lt_cv_nm_interface+set}" = set; then :
else else
lt_cv_nm_interface="BSD nm" lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:4425: $ac_compile\"" >&5) (eval echo "\"\$as_me:4473: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err) (eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5 cat conftest.err >&5
(eval echo "\"\$as_me:4428: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval echo "\"\$as_me:4476: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5 cat conftest.err >&5
(eval echo "\"\$as_me:4431: output\"" >&5) (eval echo "\"\$as_me:4479: output\"" >&5)
cat conftest.out >&5 cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin" lt_cv_nm_interface="MS dumpbin"
@ -5634,7 +5682,7 @@ ia64-*-hpux*)
;; ;;
*-*-irix6*) *-*-irix6*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo '#line 5637 "configure"' > conftest.$ac_ext echo '#line 5685 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5 (eval $ac_compile) 2>&5
ac_status=$? ac_status=$?
@ -7160,11 +7208,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7163: $lt_compile\"" >&5) (eval echo "\"\$as_me:7211: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err) (eval "$lt_compile" 2>conftest.err)
ac_status=$? ac_status=$?
cat conftest.err >&5 cat conftest.err >&5
echo "$as_me:7167: \$? = $ac_status" >&5 echo "$as_me:7215: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output. # So say no if there are warnings other than the usual output.
@ -7499,11 +7547,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7502: $lt_compile\"" >&5) (eval echo "\"\$as_me:7550: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err) (eval "$lt_compile" 2>conftest.err)
ac_status=$? ac_status=$?
cat conftest.err >&5 cat conftest.err >&5
echo "$as_me:7506: \$? = $ac_status" >&5 echo "$as_me:7554: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output. # So say no if there are warnings other than the usual output.
@ -7604,11 +7652,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7607: $lt_compile\"" >&5) (eval echo "\"\$as_me:7655: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err) (eval "$lt_compile" 2>out/conftest.err)
ac_status=$? ac_status=$?
cat out/conftest.err >&5 cat out/conftest.err >&5
echo "$as_me:7611: \$? = $ac_status" >&5 echo "$as_me:7659: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext if (exit $ac_status) && test -s out/conftest2.$ac_objext
then then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
@ -7659,11 +7707,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7662: $lt_compile\"" >&5) (eval echo "\"\$as_me:7710: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err) (eval "$lt_compile" 2>out/conftest.err)
ac_status=$? ac_status=$?
cat out/conftest.err >&5 cat out/conftest.err >&5
echo "$as_me:7666: \$? = $ac_status" >&5 echo "$as_me:7714: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext if (exit $ac_status) && test -s out/conftest2.$ac_objext
then then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
@ -10042,7 +10090,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 10045 "configure" #line 10093 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -10138,7 +10186,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 10141 "configure" #line 10189 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -10930,6 +10978,14 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs LTLIBOBJS=$ac_ltlibobjs
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
else
am__EXEEXT_TRUE='#'
am__EXEEXT_FALSE=
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
as_fn_error "conditional \"AMDEP\" was never defined. as_fn_error "conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@ -12374,27 +12430,28 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
# are listed without --file. Let's play safe and only enable the eval # Autoconf 2.62 quotes --file arguments for eval, but not when files
# if we detect the quoting. # are listed without --file. Let's play safe and only enable the eval
case $CONFIG_FILES in # if we detect the quoting.
*\'*) eval set x "$CONFIG_FILES" ;; case $CONFIG_FILES in
*) set x $CONFIG_FILES ;; *\'*) eval set x "$CONFIG_FILES" ;;
esac *) set x $CONFIG_FILES ;;
shift esac
for mf shift
do for mf
# Strip MF so we end up with the name of the file. do
mf=`echo "$mf" | sed -e 's/:.*$//'` # Strip MF so we end up with the name of the file.
# Check whether this is an Automake generated Makefile or not. mf=`echo "$mf" | sed -e 's/:.*$//'`
# We used to match only the files named `Makefile.in', but # Check whether this is an Automake generated Makefile or not.
# some people rename them; so instead we look at the file content. # We used to match only the files named `Makefile.in', but
# Grep'ing the first line is not enough: some people post-process # some people rename them; so instead we look at the file content.
# each Makefile.in and add a new line on top of each file to say so. # Grep'ing the first line is not enough: some people post-process
# Grep'ing the whole file is not good either: AIX grep has a line # each Makefile.in and add a new line on top of each file to say so.
# limit of 2048, but all sed's we know have understand at least 4000. # Grep'ing the whole file is not good either: AIX grep has a line
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then # limit of 2048, but all sed's we know have understand at least 4000.
dirpart=`$as_dirname -- "$mf" || if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(//\)$' \| \
@ -12417,28 +12474,28 @@ $as_echo X"$mf" |
q q
} }
s/.*/./; q'` s/.*/./; q'`
else else
continue continue
fi fi
# Extract the definition of DEPDIR, am__include, and am__quote # Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running `make'. # from the Makefile without running `make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"` am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "am__include" && continue test -z "am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"` am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# When using ansi2knr, U may be empty or an underscore; expand it # When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"` U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with # Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the # $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the # simplest approach to changing $(DEPDIR) to its actual value in the
# expansion. # expansion.
for file in `sed -n " for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" || fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(//\)$' \| \
@ -12461,11 +12518,12 @@ $as_echo X"$file" |
q q
} }
s/.*/./; q'` s/.*/./; q'`
as_dir=$dirpart/$fdir; as_fn_mkdir_p as_dir=$dirpart/$fdir; as_fn_mkdir_p
# echo "creating $dirpart/$file" # echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file" echo '# dummy' > "$dirpart/$file"
done
done done
done }
;; ;;
"libtool":C) "libtool":C)

View file

@ -2,7 +2,7 @@ AC_PREREQ(2.57)
dnl This is the one location where the authoritative version number is stored dnl This is the one location where the authoritative version number is stored
AC_INIT(shellinabox, 2.9, markus@shellinabox.com) AC_INIT(shellinabox, 2.9, markus@shellinabox.com)
VCS_REVISION=174 VCS_REVISION=176
AC_SUBST(VCS_REVISION) AC_SUBST(VCS_REVISION)
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}", AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
[Most recent revision number in the version control system]) [Most recent revision number in the version control system])

35
demo/print-styles.css Normal file
View file

@ -0,0 +1,35 @@
/* Set styles used when opening the printer window */
#print {
margin: 4ex 0px 0px 0px;
}
#options {
position: fixed;
top: 0px;
left: 0px;
right: 0px;
background-color: #EEEEEE;
border-style: solid;
border-top: 0px solid black;
border-left: 0px solid black;
border-right: 0px solid black;
border-bottom: 1px solid black;
}
@media print {
body {
margin: 0px;
}
#print {
margin: 0px;
}
#print .pagebreak {
page-break-before: always;
}
#print .pagebreak hr, #options {
display: none;
}
}

View file

@ -204,6 +204,12 @@ VT100.prototype.reset = function(clearHistory) {
this.crLfMode = false; this.crLfMode = false;
this.offsetMode = false; this.offsetMode = false;
this.mouseReporting = false; this.mouseReporting = false;
this.printing = false;
if (typeof this.printWin != 'undefined' &&
this.printWin && !this.printWin.closed) {
this.printWin.close();
}
this.printWin = null;
this.utfEnabled = this.utfPreferred; this.utfEnabled = this.utfPreferred;
this.utfCount = 0; this.utfCount = 0;
this.utfChar = 0; this.utfChar = 0;
@ -250,10 +256,11 @@ VT100.prototype.getUserSettings = function() {
// Compute hash signature to identify the entries in the userCSS menu. // Compute hash signature to identify the entries in the userCSS menu.
// If the menu is unchanged from last time, default values can be // If the menu is unchanged from last time, default values can be
// looked up in a cookie associated with this page. // looked up in a cookie associated with this page.
this.signature = 0; this.signature = 1;
this.utfPreferred = true; this.utfPreferred = true;
this.visualBell = typeof suppressAllAudio != 'undefined' && this.visualBell = typeof suppressAllAudio != 'undefined' &&
suppressAllAudio; suppressAllAudio;
this.autoprint = true;
if (this.visualBell) { if (this.visualBell) {
this.signature = Math.floor(16807*this.signature + 1) % this.signature = Math.floor(16807*this.signature + 1) %
((1 << 31) - 1); ((1 << 31) - 1);
@ -278,13 +285,14 @@ VT100.prototype.getUserSettings = function() {
if (settings >= 0) { if (settings >= 0) {
settings = document.cookie.substr(settings + key.length). settings = document.cookie.substr(settings + key.length).
replace(/([0-1]*).*/, "$1"); replace(/([0-1]*).*/, "$1");
if (settings.length == 2 + (typeof userCSSList == 'undefined' ? if (settings.length == 3 + (typeof userCSSList == 'undefined' ?
0 : userCSSList.length)) { 0 : userCSSList.length)) {
this.utfPreferred = settings.charAt(0) != '0'; this.utfPreferred = settings.charAt(0) != '0';
this.visualBell = settings.charAt(1) != '0'; this.visualBell = settings.charAt(1) != '0';
this.autoprint = settings.charAt(2) != '0';
if (typeof userCSSList != 'undefined') { if (typeof userCSSList != 'undefined') {
for (var i = 0; i < userCSSList.length; ++i) { for (var i = 0; i < userCSSList.length; ++i) {
userCSSList[i][2] = settings.charAt(i + 2) != '0'; userCSSList[i][2] = settings.charAt(i + 3) != '0';
} }
} }
} }
@ -295,7 +303,8 @@ VT100.prototype.getUserSettings = function() {
VT100.prototype.storeUserSettings = function() { VT100.prototype.storeUserSettings = function() {
var settings = 'shellInABox=' + this.signature + ':' + var settings = 'shellInABox=' + this.signature + ':' +
(this.utfEnabled ? '1' : '0') + (this.utfEnabled ? '1' : '0') +
(this.visualBell ? '1' : '0'); (this.visualBell ? '1' : '0') +
(this.autoprint ? '1' : '0');
if (typeof userCSSList != 'undefined') { if (typeof userCSSList != 'undefined') {
for (var i = 0; i < userCSSList.length; ++i) { for (var i = 0; i < userCSSList.length; ++i) {
settings += userCSSList[i][2] ? '1' : '0'; settings += userCSSList[i][2] ? '1' : '0';
@ -1892,7 +1901,7 @@ VT100.prototype.toggleBell = function() {
}; };
VT100.prototype.about = function() { VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.9 (revision 174)" + alert("VT100 Terminal Emulator " + "2.9 (revision 176)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" + "\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com"); "For more information check http://shellinabox.com");
}; };
@ -2828,6 +2837,187 @@ VT100.prototype.setCursorAttr = function(setAttr, xorAttr) {
// Changing of cursor color is not implemented. // Changing of cursor color is not implemented.
}; };
VT100.prototype.openPrinterWindow = function() {
var rc = true;
try {
if (!this.printWin || this.printWin.closed) {
this.printWin = window.open('', 'print-output',
'width=800,height=600,directories=no,location=no,menubar=yes,' +
'status=no,toolbar=no,titlebar=yes,scrollbars=yes,resizable=yes');
this.printWin.document.body.innerHTML =
'<link rel="stylesheet" href="' +
document.location.protocol + '//' + document.location.host +
document.location.pathname.replace(/[^/]*$/, '') +
'print-styles.css" type="text/css">\n' +
'<div id="options"><input id="autoprint" type="checkbox"' +
(this.autoprint ? ' checked' : '') + '>' +
'Automatically, print page(s) when job is ready' +
'</input></div>\n' +
'<pre id="print"></pre>\n';
var autoprint = this.printWin.document.getElementById('autoprint');
this.addListener(autoprint, 'click',
(function(vt100, autoprint) {
return function() {
vt100.autoprint = autoprint.checked;
vt100.storeUserSettings();
return false;
};
})(this, autoprint));
this.printWin.document.title = 'ShellInABox Printer Output';
}
} catch (e) {
// Maybe, a popup blocker prevented us from working. Better catch the
// exception, so that we won't break the entire terminal session. The
// user probably needs to disable the blocker first before retrying the
// operation.
rc = false;
}
rc &= this.printWin && !this.printWin.closed &&
(this.printWin.innerWidth ||
this.printWin.document.documentElement.clientWidth ||
this.printWin.document.body.clientWidth) > 1;
if (!rc && this.printing == 100) {
// Different popup blockers work differently. We try to detect a couple
// of common methods. And then we retry again a brief amount later, as
// false positives are otherwise possible. If we are sure that there is
// a popup blocker in effect, we alert the user to it. This is helpful
// as some popup blockers have minimal or no UI, and the user might not
// notice that they are missing the popup. In any case, we only show at
// most one message per print job.
this.printing = true;
setTimeout((function(win) {
return function() {
if (!win || win.closed ||
(win.innerWidth ||
win.document.documentElement.clientWidth ||
win.document.body.clientWidth) <= 1) {
alert('Attempted to print, but a popup blocker ' +
'prevented the printer window from opening');
}
};
})(this.printWin), 2000);
}
return rc;
};
VT100.prototype.sendToPrinter = function(s) {
this.openPrinterWindow();
try {
var doc = this.printWin.document;
var print = doc.getElementById('print');
if (print.lastChild && print.lastChild.nodeName == '#text') {
print.lastChild.textContent += this.replaceChar(s, ' ', '\u00A0');
} else {
print.appendChild(doc.createTextNode(this.replaceChar(s, ' ','\u00A0')));
}
} catch (e) {
// There probably was a more aggressive popup blocker that prevented us
// from accessing the printer windows.
}
};
VT100.prototype.sendControlToPrinter = function(ch) {
// We get called whenever doControl() is active. But for the printer, we
// only implement a basic line printer that doesn't understand most of
// the escape sequences of the VT100 terminal. In fact, the only escape
// sequence that we really need to recognize is '^[[5i' for turning the
// printer off.
try {
switch (ch) {
case 9:
// HT
this.openPrinterWindow();
var doc = this.printWin.document;
var print = doc.getElementById('print');
var chars = print.lastChild &&
print.lastChild.nodeName == '#text' ?
print.lastChild.textContent.length : 0;
this.sendToPrinter(this.spaces(8 - (chars % 8)));
break;
case 10:
// CR
break;
case 12:
// FF
this.openPrinterWindow();
var pageBreak = this.printWin.document.createElement('div');
pageBreak.className = 'pagebreak';
pageBreak.innerHTML = '<hr />';
this.printWin.document.getElementById('print').appendChild(pageBreak);
break;
case 13:
// LF
this.openPrinterWindow();
var lineBreak = this.printWin.document.createElement('br');
this.printWin.document.getElementById('print').appendChild(lineBreak);
break;
case 27:
// ESC
this.isEsc = 1 /* ESesc */;
break;
default:
switch (this.isEsc) {
case 1 /* ESesc */:
this.isEsc = 0 /* ESnormal */;
switch (ch) {
case 0x5B /*[*/:
this.isEsc = 2 /* ESsquare */;
break;
default:
break;
}
break;
case 2 /* ESsquare */:
this.npar = 0;
this.par = [ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 ];
this.isEsc = 3 /* ESgetpars */;
this.isQuestionMark = ch == 0x3F /*?*/;
if (this.isQuestionMark) {
break;
}
// Fall through
case 3 /* ESgetpars */:
if (ch == 0x3B /*;*/) {
this.npar++;
break;
} else if (ch >= 0x30 /*0*/ && ch <= 0x39 /*9*/) {
var par = this.par[this.npar];
if (par == undefined) {
par = 0;
}
this.par[this.npar] = 10*par + (ch & 0xF);
break;
} else {
this.isEsc = 4 /* ESgotpars */;
}
// Fall through
case 4 /* ESgotpars */:
this.isEsc = 0 /* ESnormal */;
if (this.isQuestionMark) {
break;
}
switch (ch) {
case 0x69 /*i*/:
this.csii(this.par[0]);
break;
default:
break;
}
break;
default:
this.isEsc = 0 /* ESnormal */;
break;
}
break;
}
} catch (e) {
// There probably was a more aggressive popup blocker that prevented us
// from accessing the printer windows.
}
};
VT100.prototype.csiAt = function(number) { VT100.prototype.csiAt = function(number) {
// Insert spaces // Insert spaces
if (number == 0) { if (number == 0) {
@ -2842,6 +3032,41 @@ VT100.prototype.csiAt = function(number) {
this.needWrap = false; this.needWrap = false;
}; };
VT100.prototype.csii = function(number) {
// Printer control
switch (number) {
case 0: // Print Screen
window.print();
break;
case 4: // Start printing
if (!this.printing && this.printWin && !this.printWin.closed) {
this.printWin.document.getElementById('print').innerHTML = '';
}
this.printing = 100;
break;
case 5: // Stop printing
try {
if (this.printing && this.printWin && !this.printWin.closed) {
var print = this.printWin.document.getElementById('print');
while (print.lastChild &&
print.lastChild.tagName == 'DIV' &&
print.lastChild.className == 'pagebreak') {
// Remove trailing blank pages
print.removeChild(print.lastChild);
}
if (this.autoprint) {
this.printWin.print();
}
}
} catch (e) {
}
this.printing = false;
break;
default:
break;
}
};
VT100.prototype.csiJ = function(number) { VT100.prototype.csiJ = function(number) {
switch (number) { switch (number) {
case 0: // Erase from cursor to end of display case 0: // Erase from cursor to end of display
@ -3007,6 +3232,10 @@ VT100.prototype.settermCommand = function() {
}; };
VT100.prototype.doControl = function(ch) { VT100.prototype.doControl = function(ch) {
if (this.printing) {
this.sendControlToPrinter(ch);
return '';
}
var lineBuf = ''; var lineBuf = '';
switch (ch) { switch (ch) {
case 0x00: /* ignored */ break; case 0x00: /* ignored */ break;
@ -3174,6 +3403,7 @@ VT100.prototype.doControl = function(ch) {
/*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break; /*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break;
/*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break; /*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break;
/*@*/ case 0x40: this.csiAt(this.par[0]); break; /*@*/ case 0x40: this.csiAt(this.par[0]); break;
/*i*/ case 0x69: this.csii(this.par[0]); break;
/*J*/ case 0x4A: this.csiJ(this.par[0]); break; /*J*/ case 0x4A: this.csiJ(this.par[0]); break;
/*K*/ case 0x4B: this.csiK(this.par[0]); break; /*K*/ case 0x4B: this.csiK(this.par[0]); break;
/*L*/ case 0x4C: this.csiL(this.par[0]); break; /*L*/ case 0x4C: this.csiL(this.par[0]); break;
@ -3305,6 +3535,14 @@ VT100.prototype.doControl = function(ch) {
}; };
VT100.prototype.renderString = function(s, showCursor) { VT100.prototype.renderString = function(s, showCursor) {
if (this.printing) {
this.sendToPrinter(s);
if (showCursor) {
this.showCursor();
}
return;
}
// We try to minimize the number of DOM operations by coalescing individual // We try to minimize the number of DOM operations by coalescing individual
// characters into strings. This is a significant performance improvement. // characters into strings. This is a significant performance improvement.
var incX = s.length; var incX = s.length;
@ -3383,23 +3621,26 @@ VT100.prototype.vt100 = function(s) {
} else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) { } else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) {
continue; continue;
} }
if (this.needWrap || this.insertMode) { if (!this.printing) {
if (lineBuf) { if (this.needWrap || this.insertMode) {
this.renderString(lineBuf); if (lineBuf) {
lineBuf = ''; this.renderString(lineBuf);
lineBuf = '';
}
}
if (this.needWrap) {
this.cr(); this.lf();
}
if (this.insertMode) {
this.scrollRegion(this.cursorX, this.cursorY,
this.terminalWidth - this.cursorX - 1, 1,
1, 0, this.color, this.style);
} }
}
if (this.needWrap) {
this.cr(); this.lf();
}
if (this.insertMode) {
this.scrollRegion(this.cursorX, this.cursorY,
this.terminalWidth - this.cursorX - 1, 1,
1, 0, this.color, this.style);
} }
this.lastCharacter = String.fromCharCode(ch); this.lastCharacter = String.fromCharCode(ch);
lineBuf += this.lastCharacter; lineBuf += this.lastCharacter;
if (this.cursorX + lineBuf.length >= this.terminalWidth) { if (!this.printing &&
this.cursorX + lineBuf.length >= this.terminalWidth) {
this.needWrap = this.autoWrapMode; this.needWrap = this.autoWrapMode;
} }
} else { } else {

View file

@ -0,0 +1,35 @@
/* Set styles used when opening the printer window */
#print {
margin: 4ex 0px 0px 0px;
}
#options {
position: fixed;
top: 0px;
left: 0px;
right: 0px;
background-color: #EEEEEE;
border-style: solid;
border-top: 0px solid black;
border-left: 0px solid black;
border-right: 0px solid black;
border-bottom: 1px solid black;
}
@media print {
body {
margin: 0px;
}
#print {
margin: 0px;
}
#print .pagebreak {
page-break-before: always;
}
#print .pagebreak hr, #options {
display: none;
}
}

View file

@ -355,7 +355,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
}; };
ShellInABox.prototype.about = function() { ShellInABox.prototype.about = function() {
alert("Shell In A Box version " + "2.9 (revision 174)" + alert("Shell In A Box version " + "2.9 (revision 176)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" + "\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com" + "For more information check http://shellinabox.com" +
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ? (typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?

View file

@ -475,25 +475,29 @@ static void serveStaticFile(HttpConnection *http, const char *contentType,
condTrue = 0; condTrue = 0;
const char *userAgent = getFromHashMap(httpGetHeaders(http), const char *userAgent = getFromHashMap(httpGetHeaders(http),
"user-agent"); "user-agent");
if (userAgent) { if (!userAgent) {
// Allow multiple comma separated conditions userAgent = "";
for (char *tagPtr = tag; *tagPtr; ) { }
char *e = strchr(tagPtr, ',');
if (!e) { // Allow multiple comma separated conditions. Conditions are either
e = strchr(tag, '\000'); // substrings found in the user agent, or they are "DEFINES_..."
} else { // tags at the top of user CSS files.
*e++ = '\000'; for (char *tagPtr = tag; *tagPtr; ) {
} char *e = strchr(tagPtr, ',');
condTrue = userCSSGetDefine(tagPtr) || if (!e) {
strstr(userAgent, tagPtr) != NULL; e = strchr(tag, '\000');
if (*e) { } else {
e[-1] = ','; *e++ = '\000';
}
if (condTrue) {
break;
}
tagPtr = e;
} }
condTrue = userCSSGetDefine(tagPtr) ||
strstr(userAgent, tagPtr) != NULL;
if (*e) {
e[-1] = ',';
}
if (condTrue) {
break;
}
tagPtr = e;
} }
// If we find any conditionals, then we need to make a copy of // If we find any conditionals, then we need to make a copy of
@ -680,6 +684,12 @@ static int shellInABoxHttpHandler(HttpConnection *http, void *arg,
// Serve the style sheet. // Serve the style sheet.
serveStaticFile(http, "text/css; charset=utf-8", serveStaticFile(http, "text/css; charset=utf-8",
cssStyleSheet, strrchr(cssStyleSheet, '\000')); cssStyleSheet, strrchr(cssStyleSheet, '\000'));
} else if (pathInfoLength == 16 && !memcmp(pathInfo, "print-styles.css",16)){
// Serve the style sheet.
extern char printStylesStart[];
extern char printStylesEnd[];
serveStaticFile(http, "text/css; charset=utf-8",
printStylesStart, printStylesEnd);
} else if (pathInfoLength > 8 && !memcmp(pathInfo, "usercss-", 8)) { } else if (pathInfoLength > 8 && !memcmp(pathInfo, "usercss-", 8)) {
// Server user style sheets (if any) // Server user style sheets (if any)
struct UserCSS *css = userCSSList; struct UserCSS *css = userCSSList;
@ -1232,7 +1242,8 @@ int main(int argc, char * const argv[]) {
} }
// Set log file format // Set log file format
serverSetNumericHosts(server, numericHosts); serverSetNumericHosts(server, numericHosts ||
logIsQuiet() || logIsDefault());
// Disable /quit handler // Disable /quit handler
serverRegisterHttpHandler(server, "/quit", NULL, NULL); serverRegisterHttpHandler(server, "/quit", NULL, NULL);

View file

@ -236,6 +236,10 @@ JavaScript file implementing the AJAX terminal emulator.
.TP .TP
.B styles.css .B styles.css
CSS style file that controls the visual appearance of the terminal. CSS style file that controls the visual appearance of the terminal.
.TP
.B print-styles.css
CSS style file that controls the visual appearance of printed pages when using
the VT100 transparent printing feature.
.P .P
It is not recommended to override the root HTML page for a particular It is not recommended to override the root HTML page for a particular
.IR service . .IR service .

View file

@ -136,8 +136,8 @@
#vt100 #scrollable.inverted { color: #ffffff; #vt100 #scrollable.inverted { color: #ffffff;
background-color: #000000; } background-color: #000000; }
[if DEFINES_COLORS] [if DEFINES_COLORS]
/* IE cannot properly handle "inherit" properties. So, the monochrome.css /* IE cannot properly handle "inherit" properties. So, the monochrome.css/
* style sheet cannot work, if we define colors by default. * color.css style sheets cannot work, if we define colors in styles.css.
*/ */
[else DEFINES_COLORS] [else DEFINES_COLORS]
#vt100 .ansi0 { } #vt100 .ansi0 { }

View file

@ -204,6 +204,12 @@ VT100.prototype.reset = function(clearHistory) {
this.crLfMode = false; this.crLfMode = false;
this.offsetMode = false; this.offsetMode = false;
this.mouseReporting = false; this.mouseReporting = false;
this.printing = false;
if (typeof this.printWin != 'undefined' &&
this.printWin && !this.printWin.closed) {
this.printWin.close();
}
this.printWin = null;
this.utfEnabled = this.utfPreferred; this.utfEnabled = this.utfPreferred;
this.utfCount = 0; this.utfCount = 0;
this.utfChar = 0; this.utfChar = 0;
@ -250,10 +256,11 @@ VT100.prototype.getUserSettings = function() {
// Compute hash signature to identify the entries in the userCSS menu. // Compute hash signature to identify the entries in the userCSS menu.
// If the menu is unchanged from last time, default values can be // If the menu is unchanged from last time, default values can be
// looked up in a cookie associated with this page. // looked up in a cookie associated with this page.
this.signature = 0; this.signature = 1;
this.utfPreferred = true; this.utfPreferred = true;
this.visualBell = typeof suppressAllAudio != 'undefined' && this.visualBell = typeof suppressAllAudio != 'undefined' &&
suppressAllAudio; suppressAllAudio;
this.autoprint = true;
if (this.visualBell) { if (this.visualBell) {
this.signature = Math.floor(16807*this.signature + 1) % this.signature = Math.floor(16807*this.signature + 1) %
((1 << 31) - 1); ((1 << 31) - 1);
@ -278,13 +285,14 @@ VT100.prototype.getUserSettings = function() {
if (settings >= 0) { if (settings >= 0) {
settings = document.cookie.substr(settings + key.length). settings = document.cookie.substr(settings + key.length).
replace(/([0-1]*).*/, "$1"); replace(/([0-1]*).*/, "$1");
if (settings.length == 2 + (typeof userCSSList == 'undefined' ? if (settings.length == 3 + (typeof userCSSList == 'undefined' ?
0 : userCSSList.length)) { 0 : userCSSList.length)) {
this.utfPreferred = settings.charAt(0) != '0'; this.utfPreferred = settings.charAt(0) != '0';
this.visualBell = settings.charAt(1) != '0'; this.visualBell = settings.charAt(1) != '0';
this.autoprint = settings.charAt(2) != '0';
if (typeof userCSSList != 'undefined') { if (typeof userCSSList != 'undefined') {
for (var i = 0; i < userCSSList.length; ++i) { for (var i = 0; i < userCSSList.length; ++i) {
userCSSList[i][2] = settings.charAt(i + 2) != '0'; userCSSList[i][2] = settings.charAt(i + 3) != '0';
} }
} }
} }
@ -295,7 +303,8 @@ VT100.prototype.getUserSettings = function() {
VT100.prototype.storeUserSettings = function() { VT100.prototype.storeUserSettings = function() {
var settings = 'shellInABox=' + this.signature + ':' + var settings = 'shellInABox=' + this.signature + ':' +
(this.utfEnabled ? '1' : '0') + (this.utfEnabled ? '1' : '0') +
(this.visualBell ? '1' : '0'); (this.visualBell ? '1' : '0') +
(this.autoprint ? '1' : '0');
if (typeof userCSSList != 'undefined') { if (typeof userCSSList != 'undefined') {
for (var i = 0; i < userCSSList.length; ++i) { for (var i = 0; i < userCSSList.length; ++i) {
settings += userCSSList[i][2] ? '1' : '0'; settings += userCSSList[i][2] ? '1' : '0';
@ -1892,7 +1901,7 @@ VT100.prototype.toggleBell = function() {
}; };
VT100.prototype.about = function() { VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.9 (revision 174)" + alert("VT100 Terminal Emulator " + "2.9 (revision 176)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" + "\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com"); "For more information check http://shellinabox.com");
}; };
@ -2828,6 +2837,187 @@ VT100.prototype.setCursorAttr = function(setAttr, xorAttr) {
// Changing of cursor color is not implemented. // Changing of cursor color is not implemented.
}; };
VT100.prototype.openPrinterWindow = function() {
var rc = true;
try {
if (!this.printWin || this.printWin.closed) {
this.printWin = window.open('', 'print-output',
'width=800,height=600,directories=no,location=no,menubar=yes,' +
'status=no,toolbar=no,titlebar=yes,scrollbars=yes,resizable=yes');
this.printWin.document.body.innerHTML =
'<link rel="stylesheet" href="' +
document.location.protocol + '//' + document.location.host +
document.location.pathname.replace(/[^/]*$/, '') +
'print-styles.css" type="text/css">\n' +
'<div id="options"><input id="autoprint" type="checkbox"' +
(this.autoprint ? ' checked' : '') + '>' +
'Automatically, print page(s) when job is ready' +
'</input></div>\n' +
'<pre id="print"></pre>\n';
var autoprint = this.printWin.document.getElementById('autoprint');
this.addListener(autoprint, 'click',
(function(vt100, autoprint) {
return function() {
vt100.autoprint = autoprint.checked;
vt100.storeUserSettings();
return false;
};
})(this, autoprint));
this.printWin.document.title = 'ShellInABox Printer Output';
}
} catch (e) {
// Maybe, a popup blocker prevented us from working. Better catch the
// exception, so that we won't break the entire terminal session. The
// user probably needs to disable the blocker first before retrying the
// operation.
rc = false;
}
rc &= this.printWin && !this.printWin.closed &&
(this.printWin.innerWidth ||
this.printWin.document.documentElement.clientWidth ||
this.printWin.document.body.clientWidth) > 1;
if (!rc && this.printing == 100) {
// Different popup blockers work differently. We try to detect a couple
// of common methods. And then we retry again a brief amount later, as
// false positives are otherwise possible. If we are sure that there is
// a popup blocker in effect, we alert the user to it. This is helpful
// as some popup blockers have minimal or no UI, and the user might not
// notice that they are missing the popup. In any case, we only show at
// most one message per print job.
this.printing = true;
setTimeout((function(win) {
return function() {
if (!win || win.closed ||
(win.innerWidth ||
win.document.documentElement.clientWidth ||
win.document.body.clientWidth) <= 1) {
alert('Attempted to print, but a popup blocker ' +
'prevented the printer window from opening');
}
};
})(this.printWin), 2000);
}
return rc;
};
VT100.prototype.sendToPrinter = function(s) {
this.openPrinterWindow();
try {
var doc = this.printWin.document;
var print = doc.getElementById('print');
if (print.lastChild && print.lastChild.nodeName == '#text') {
print.lastChild.textContent += this.replaceChar(s, ' ', '\u00A0');
} else {
print.appendChild(doc.createTextNode(this.replaceChar(s, ' ','\u00A0')));
}
} catch (e) {
// There probably was a more aggressive popup blocker that prevented us
// from accessing the printer windows.
}
};
VT100.prototype.sendControlToPrinter = function(ch) {
// We get called whenever doControl() is active. But for the printer, we
// only implement a basic line printer that doesn't understand most of
// the escape sequences of the VT100 terminal. In fact, the only escape
// sequence that we really need to recognize is '^[[5i' for turning the
// printer off.
try {
switch (ch) {
case 9:
// HT
this.openPrinterWindow();
var doc = this.printWin.document;
var print = doc.getElementById('print');
var chars = print.lastChild &&
print.lastChild.nodeName == '#text' ?
print.lastChild.textContent.length : 0;
this.sendToPrinter(this.spaces(8 - (chars % 8)));
break;
case 10:
// CR
break;
case 12:
// FF
this.openPrinterWindow();
var pageBreak = this.printWin.document.createElement('div');
pageBreak.className = 'pagebreak';
pageBreak.innerHTML = '<hr />';
this.printWin.document.getElementById('print').appendChild(pageBreak);
break;
case 13:
// LF
this.openPrinterWindow();
var lineBreak = this.printWin.document.createElement('br');
this.printWin.document.getElementById('print').appendChild(lineBreak);
break;
case 27:
// ESC
this.isEsc = 1 /* ESesc */;
break;
default:
switch (this.isEsc) {
case 1 /* ESesc */:
this.isEsc = 0 /* ESnormal */;
switch (ch) {
case 0x5B /*[*/:
this.isEsc = 2 /* ESsquare */;
break;
default:
break;
}
break;
case 2 /* ESsquare */:
this.npar = 0;
this.par = [ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 ];
this.isEsc = 3 /* ESgetpars */;
this.isQuestionMark = ch == 0x3F /*?*/;
if (this.isQuestionMark) {
break;
}
// Fall through
case 3 /* ESgetpars */:
if (ch == 0x3B /*;*/) {
this.npar++;
break;
} else if (ch >= 0x30 /*0*/ && ch <= 0x39 /*9*/) {
var par = this.par[this.npar];
if (par == undefined) {
par = 0;
}
this.par[this.npar] = 10*par + (ch & 0xF);
break;
} else {
this.isEsc = 4 /* ESgotpars */;
}
// Fall through
case 4 /* ESgotpars */:
this.isEsc = 0 /* ESnormal */;
if (this.isQuestionMark) {
break;
}
switch (ch) {
case 0x69 /*i*/:
this.csii(this.par[0]);
break;
default:
break;
}
break;
default:
this.isEsc = 0 /* ESnormal */;
break;
}
break;
}
} catch (e) {
// There probably was a more aggressive popup blocker that prevented us
// from accessing the printer windows.
}
};
VT100.prototype.csiAt = function(number) { VT100.prototype.csiAt = function(number) {
// Insert spaces // Insert spaces
if (number == 0) { if (number == 0) {
@ -2842,6 +3032,41 @@ VT100.prototype.csiAt = function(number) {
this.needWrap = false; this.needWrap = false;
}; };
VT100.prototype.csii = function(number) {
// Printer control
switch (number) {
case 0: // Print Screen
window.print();
break;
case 4: // Start printing
if (!this.printing && this.printWin && !this.printWin.closed) {
this.printWin.document.getElementById('print').innerHTML = '';
}
this.printing = 100;
break;
case 5: // Stop printing
try {
if (this.printing && this.printWin && !this.printWin.closed) {
var print = this.printWin.document.getElementById('print');
while (print.lastChild &&
print.lastChild.tagName == 'DIV' &&
print.lastChild.className == 'pagebreak') {
// Remove trailing blank pages
print.removeChild(print.lastChild);
}
if (this.autoprint) {
this.printWin.print();
}
}
} catch (e) {
}
this.printing = false;
break;
default:
break;
}
};
VT100.prototype.csiJ = function(number) { VT100.prototype.csiJ = function(number) {
switch (number) { switch (number) {
case 0: // Erase from cursor to end of display case 0: // Erase from cursor to end of display
@ -3007,6 +3232,10 @@ VT100.prototype.settermCommand = function() {
}; };
VT100.prototype.doControl = function(ch) { VT100.prototype.doControl = function(ch) {
if (this.printing) {
this.sendControlToPrinter(ch);
return '';
}
var lineBuf = ''; var lineBuf = '';
switch (ch) { switch (ch) {
case 0x00: /* ignored */ break; case 0x00: /* ignored */ break;
@ -3174,6 +3403,7 @@ VT100.prototype.doControl = function(ch) {
/*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break; /*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break;
/*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break; /*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break;
/*@*/ case 0x40: this.csiAt(this.par[0]); break; /*@*/ case 0x40: this.csiAt(this.par[0]); break;
/*i*/ case 0x69: this.csii(this.par[0]); break;
/*J*/ case 0x4A: this.csiJ(this.par[0]); break; /*J*/ case 0x4A: this.csiJ(this.par[0]); break;
/*K*/ case 0x4B: this.csiK(this.par[0]); break; /*K*/ case 0x4B: this.csiK(this.par[0]); break;
/*L*/ case 0x4C: this.csiL(this.par[0]); break; /*L*/ case 0x4C: this.csiL(this.par[0]); break;
@ -3305,6 +3535,14 @@ VT100.prototype.doControl = function(ch) {
}; };
VT100.prototype.renderString = function(s, showCursor) { VT100.prototype.renderString = function(s, showCursor) {
if (this.printing) {
this.sendToPrinter(s);
if (showCursor) {
this.showCursor();
}
return;
}
// We try to minimize the number of DOM operations by coalescing individual // We try to minimize the number of DOM operations by coalescing individual
// characters into strings. This is a significant performance improvement. // characters into strings. This is a significant performance improvement.
var incX = s.length; var incX = s.length;
@ -3383,23 +3621,26 @@ VT100.prototype.vt100 = function(s) {
} else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) { } else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) {
continue; continue;
} }
if (this.needWrap || this.insertMode) { if (!this.printing) {
if (lineBuf) { if (this.needWrap || this.insertMode) {
this.renderString(lineBuf); if (lineBuf) {
lineBuf = ''; this.renderString(lineBuf);
lineBuf = '';
}
}
if (this.needWrap) {
this.cr(); this.lf();
}
if (this.insertMode) {
this.scrollRegion(this.cursorX, this.cursorY,
this.terminalWidth - this.cursorX - 1, 1,
1, 0, this.color, this.style);
} }
}
if (this.needWrap) {
this.cr(); this.lf();
}
if (this.insertMode) {
this.scrollRegion(this.cursorX, this.cursorY,
this.terminalWidth - this.cursorX - 1, 1,
1, 0, this.color, this.style);
} }
this.lastCharacter = String.fromCharCode(ch); this.lastCharacter = String.fromCharCode(ch);
lineBuf += this.lastCharacter; lineBuf += this.lastCharacter;
if (this.cursorX + lineBuf.length >= this.terminalWidth) { if (!this.printing &&
this.cursorX + lineBuf.length >= this.terminalWidth) {
this.needWrap = this.autoWrapMode; this.needWrap = this.autoWrapMode;
} }
} else { } else {

View file

@ -204,6 +204,12 @@ VT100.prototype.reset = function(clearHistory) {
this.crLfMode = false; this.crLfMode = false;
this.offsetMode = false; this.offsetMode = false;
this.mouseReporting = false; this.mouseReporting = false;
this.printing = false;
if (typeof this.printWin != 'undefined' &&
this.printWin && !this.printWin.closed) {
this.printWin.close();
}
this.printWin = null;
this.utfEnabled = this.utfPreferred; this.utfEnabled = this.utfPreferred;
this.utfCount = 0; this.utfCount = 0;
this.utfChar = 0; this.utfChar = 0;
@ -250,10 +256,11 @@ VT100.prototype.getUserSettings = function() {
// Compute hash signature to identify the entries in the userCSS menu. // Compute hash signature to identify the entries in the userCSS menu.
// If the menu is unchanged from last time, default values can be // If the menu is unchanged from last time, default values can be
// looked up in a cookie associated with this page. // looked up in a cookie associated with this page.
this.signature = 0; this.signature = 1;
this.utfPreferred = true; this.utfPreferred = true;
this.visualBell = typeof suppressAllAudio != 'undefined' && this.visualBell = typeof suppressAllAudio != 'undefined' &&
suppressAllAudio; suppressAllAudio;
this.autoprint = true;
if (this.visualBell) { if (this.visualBell) {
this.signature = Math.floor(16807*this.signature + 1) % this.signature = Math.floor(16807*this.signature + 1) %
((1 << 31) - 1); ((1 << 31) - 1);
@ -278,13 +285,14 @@ VT100.prototype.getUserSettings = function() {
if (settings >= 0) { if (settings >= 0) {
settings = document.cookie.substr(settings + key.length). settings = document.cookie.substr(settings + key.length).
replace(/([0-1]*).*/, "$1"); replace(/([0-1]*).*/, "$1");
if (settings.length == 2 + (typeof userCSSList == 'undefined' ? if (settings.length == 3 + (typeof userCSSList == 'undefined' ?
0 : userCSSList.length)) { 0 : userCSSList.length)) {
this.utfPreferred = settings.charAt(0) != '0'; this.utfPreferred = settings.charAt(0) != '0';
this.visualBell = settings.charAt(1) != '0'; this.visualBell = settings.charAt(1) != '0';
this.autoprint = settings.charAt(2) != '0';
if (typeof userCSSList != 'undefined') { if (typeof userCSSList != 'undefined') {
for (var i = 0; i < userCSSList.length; ++i) { for (var i = 0; i < userCSSList.length; ++i) {
userCSSList[i][2] = settings.charAt(i + 2) != '0'; userCSSList[i][2] = settings.charAt(i + 3) != '0';
} }
} }
} }
@ -295,7 +303,8 @@ VT100.prototype.getUserSettings = function() {
VT100.prototype.storeUserSettings = function() { VT100.prototype.storeUserSettings = function() {
var settings = 'shellInABox=' + this.signature + ':' + var settings = 'shellInABox=' + this.signature + ':' +
(this.utfEnabled ? '1' : '0') + (this.utfEnabled ? '1' : '0') +
(this.visualBell ? '1' : '0'); (this.visualBell ? '1' : '0') +
(this.autoprint ? '1' : '0');
if (typeof userCSSList != 'undefined') { if (typeof userCSSList != 'undefined') {
for (var i = 0; i < userCSSList.length; ++i) { for (var i = 0; i < userCSSList.length; ++i) {
settings += userCSSList[i][2] ? '1' : '0'; settings += userCSSList[i][2] ? '1' : '0';
@ -2828,6 +2837,187 @@ VT100.prototype.setCursorAttr = function(setAttr, xorAttr) {
// Changing of cursor color is not implemented. // Changing of cursor color is not implemented.
}; };
VT100.prototype.openPrinterWindow = function() {
var rc = true;
try {
if (!this.printWin || this.printWin.closed) {
this.printWin = window.open('', 'print-output',
'width=800,height=600,directories=no,location=no,menubar=yes,' +
'status=no,toolbar=no,titlebar=yes,scrollbars=yes,resizable=yes');
this.printWin.document.body.innerHTML =
'<link rel="stylesheet" href="' +
document.location.protocol + '//' + document.location.host +
document.location.pathname.replace(/[^/]*$/, '') +
'print-styles.css" type="text/css">\n' +
'<div id="options"><input id="autoprint" type="checkbox"' +
(this.autoprint ? ' checked' : '') + '>' +
'Automatically, print page(s) when job is ready' +
'</input></div>\n' +
'<pre id="print"></pre>\n';
var autoprint = this.printWin.document.getElementById('autoprint');
this.addListener(autoprint, 'click',
(function(vt100, autoprint) {
return function() {
vt100.autoprint = autoprint.checked;
vt100.storeUserSettings();
return false;
};
})(this, autoprint));
this.printWin.document.title = 'ShellInABox Printer Output';
}
} catch (e) {
// Maybe, a popup blocker prevented us from working. Better catch the
// exception, so that we won't break the entire terminal session. The
// user probably needs to disable the blocker first before retrying the
// operation.
rc = false;
}
rc &= this.printWin && !this.printWin.closed &&
(this.printWin.innerWidth ||
this.printWin.document.documentElement.clientWidth ||
this.printWin.document.body.clientWidth) > 1;
if (!rc && this.printing == 100) {
// Different popup blockers work differently. We try to detect a couple
// of common methods. And then we retry again a brief amount later, as
// false positives are otherwise possible. If we are sure that there is
// a popup blocker in effect, we alert the user to it. This is helpful
// as some popup blockers have minimal or no UI, and the user might not
// notice that they are missing the popup. In any case, we only show at
// most one message per print job.
this.printing = true;
setTimeout((function(win) {
return function() {
if (!win || win.closed ||
(win.innerWidth ||
win.document.documentElement.clientWidth ||
win.document.body.clientWidth) <= 1) {
alert('Attempted to print, but a popup blocker ' +
'prevented the printer window from opening');
}
};
})(this.printWin), 2000);
}
return rc;
};
VT100.prototype.sendToPrinter = function(s) {
this.openPrinterWindow();
try {
var doc = this.printWin.document;
var print = doc.getElementById('print');
if (print.lastChild && print.lastChild.nodeName == '#text') {
print.lastChild.textContent += this.replaceChar(s, ' ', '\u00A0');
} else {
print.appendChild(doc.createTextNode(this.replaceChar(s, ' ','\u00A0')));
}
} catch (e) {
// There probably was a more aggressive popup blocker that prevented us
// from accessing the printer windows.
}
};
VT100.prototype.sendControlToPrinter = function(ch) {
// We get called whenever doControl() is active. But for the printer, we
// only implement a basic line printer that doesn't understand most of
// the escape sequences of the VT100 terminal. In fact, the only escape
// sequence that we really need to recognize is '^[[5i' for turning the
// printer off.
try {
switch (ch) {
case 9:
// HT
this.openPrinterWindow();
var doc = this.printWin.document;
var print = doc.getElementById('print');
var chars = print.lastChild &&
print.lastChild.nodeName == '#text' ?
print.lastChild.textContent.length : 0;
this.sendToPrinter(this.spaces(8 - (chars % 8)));
break;
case 10:
// CR
break;
case 12:
// FF
this.openPrinterWindow();
var pageBreak = this.printWin.document.createElement('div');
pageBreak.className = 'pagebreak';
pageBreak.innerHTML = '<hr />';
this.printWin.document.getElementById('print').appendChild(pageBreak);
break;
case 13:
// LF
this.openPrinterWindow();
var lineBreak = this.printWin.document.createElement('br');
this.printWin.document.getElementById('print').appendChild(lineBreak);
break;
case 27:
// ESC
this.isEsc = ESesc;
break;
default:
switch (this.isEsc) {
case ESesc:
this.isEsc = ESnormal;
switch (ch) {
case 0x5B /*[*/:
this.isEsc = ESsquare;
break;
default:
break;
}
break;
case ESsquare:
this.npar = 0;
this.par = [ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 ];
this.isEsc = ESgetpars;
this.isQuestionMark = ch == 0x3F /*?*/;
if (this.isQuestionMark) {
break;
}
// Fall through
case ESgetpars:
if (ch == 0x3B /*;*/) {
this.npar++;
break;
} else if (ch >= 0x30 /*0*/ && ch <= 0x39 /*9*/) {
var par = this.par[this.npar];
if (par == undefined) {
par = 0;
}
this.par[this.npar] = 10*par + (ch & 0xF);
break;
} else {
this.isEsc = ESgotpars;
}
// Fall through
case ESgotpars:
this.isEsc = ESnormal;
if (this.isQuestionMark) {
break;
}
switch (ch) {
case 0x69 /*i*/:
this.csii(this.par[0]);
break;
default:
break;
}
break;
default:
this.isEsc = ESnormal;
break;
}
break;
}
} catch (e) {
// There probably was a more aggressive popup blocker that prevented us
// from accessing the printer windows.
}
};
VT100.prototype.csiAt = function(number) { VT100.prototype.csiAt = function(number) {
// Insert spaces // Insert spaces
if (number == 0) { if (number == 0) {
@ -2842,6 +3032,41 @@ VT100.prototype.csiAt = function(number) {
this.needWrap = false; this.needWrap = false;
}; };
VT100.prototype.csii = function(number) {
// Printer control
switch (number) {
case 0: // Print Screen
window.print();
break;
case 4: // Start printing
if (!this.printing && this.printWin && !this.printWin.closed) {
this.printWin.document.getElementById('print').innerHTML = '';
}
this.printing = 100;
break;
case 5: // Stop printing
try {
if (this.printing && this.printWin && !this.printWin.closed) {
var print = this.printWin.document.getElementById('print');
while (print.lastChild &&
print.lastChild.tagName == 'DIV' &&
print.lastChild.className == 'pagebreak') {
// Remove trailing blank pages
print.removeChild(print.lastChild);
}
if (this.autoprint) {
this.printWin.print();
}
}
} catch (e) {
}
this.printing = false;
break;
default:
break;
}
};
VT100.prototype.csiJ = function(number) { VT100.prototype.csiJ = function(number) {
switch (number) { switch (number) {
case 0: // Erase from cursor to end of display case 0: // Erase from cursor to end of display
@ -3007,6 +3232,10 @@ VT100.prototype.settermCommand = function() {
}; };
VT100.prototype.doControl = function(ch) { VT100.prototype.doControl = function(ch) {
if (this.printing) {
this.sendControlToPrinter(ch);
return '';
}
var lineBuf = ''; var lineBuf = '';
switch (ch) { switch (ch) {
case 0x00: /* ignored */ break; case 0x00: /* ignored */ break;
@ -3174,6 +3403,7 @@ VT100.prototype.doControl = function(ch) {
/*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break; /*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break;
/*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break; /*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break;
/*@*/ case 0x40: this.csiAt(this.par[0]); break; /*@*/ case 0x40: this.csiAt(this.par[0]); break;
/*i*/ case 0x69: this.csii(this.par[0]); break;
/*J*/ case 0x4A: this.csiJ(this.par[0]); break; /*J*/ case 0x4A: this.csiJ(this.par[0]); break;
/*K*/ case 0x4B: this.csiK(this.par[0]); break; /*K*/ case 0x4B: this.csiK(this.par[0]); break;
/*L*/ case 0x4C: this.csiL(this.par[0]); break; /*L*/ case 0x4C: this.csiL(this.par[0]); break;
@ -3305,6 +3535,14 @@ VT100.prototype.doControl = function(ch) {
}; };
VT100.prototype.renderString = function(s, showCursor) { VT100.prototype.renderString = function(s, showCursor) {
if (this.printing) {
this.sendToPrinter(s);
if (showCursor) {
this.showCursor();
}
return;
}
// We try to minimize the number of DOM operations by coalescing individual // We try to minimize the number of DOM operations by coalescing individual
// characters into strings. This is a significant performance improvement. // characters into strings. This is a significant performance improvement.
var incX = s.length; var incX = s.length;
@ -3383,23 +3621,26 @@ VT100.prototype.vt100 = function(s) {
} else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) { } else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) {
continue; continue;
} }
if (this.needWrap || this.insertMode) { if (!this.printing) {
if (lineBuf) { if (this.needWrap || this.insertMode) {
this.renderString(lineBuf); if (lineBuf) {
lineBuf = ''; this.renderString(lineBuf);
lineBuf = '';
}
}
if (this.needWrap) {
this.cr(); this.lf();
}
if (this.insertMode) {
this.scrollRegion(this.cursorX, this.cursorY,
this.terminalWidth - this.cursorX - 1, 1,
1, 0, this.color, this.style);
} }
}
if (this.needWrap) {
this.cr(); this.lf();
}
if (this.insertMode) {
this.scrollRegion(this.cursorX, this.cursorY,
this.terminalWidth - this.cursorX - 1, 1,
1, 0, this.color, this.style);
} }
this.lastCharacter = String.fromCharCode(ch); this.lastCharacter = String.fromCharCode(ch);
lineBuf += this.lastCharacter; lineBuf += this.lastCharacter;
if (this.cursorX + lineBuf.length >= this.terminalWidth) { if (!this.printing &&
this.cursorX + lineBuf.length >= this.terminalWidth) {
this.needWrap = this.autoWrapMode; this.needWrap = this.autoWrapMode;
} }
} else { } else {