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:
parent
9b8e3af162
commit
065ac9f0fb
16 changed files with 1575 additions and 534 deletions
|
@ -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>
|
||||
|
||||
* Added a ${url} parameter that can be used in the service description.
|
||||
|
|
11
Makefile.am
11
Makefile.am
|
@ -28,6 +28,7 @@ EXTRA_DIST = demo/beep.wav \
|
|||
demo/demo.xml \
|
||||
demo/enabled.gif \
|
||||
demo/styles.css \
|
||||
demo/print-styles.css \
|
||||
demo/vt100.js \
|
||||
demo/usercss-0.css \
|
||||
demo/usercss-1.css \
|
||||
|
@ -94,6 +95,7 @@ shellinaboxd_SOURCES = shellinabox/shellinaboxd.c \
|
|||
shellinabox/vt100.jspp \
|
||||
shellinabox/shell_in_a_box.jspp \
|
||||
shellinabox/styles.css \
|
||||
shellinabox/print-styles.css \
|
||||
shellinabox/enabled.gif \
|
||||
shellinabox/favicon.ico \
|
||||
shellinabox/beep.wav \
|
||||
|
@ -117,10 +119,10 @@ renamesymbols = \
|
|||
-e ':0' \
|
||||
-e 's/$$/aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ/' \
|
||||
-e ':1' \
|
||||
-e 's/\(=[^_]*\)_\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \
|
||||
-e 's/\(=[^-_]*\)[-_]\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \
|
||||
-e 't1' \
|
||||
-e 's/.\{53\}$$//' \
|
||||
-e 's/[/.]/_/g' \
|
||||
-e 's/[-/.]/_/g' \
|
||||
-e 's/^/--redefine-sym _binary_/' \
|
||||
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_end\2End/' \
|
||||
-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/favicon.ico \
|
||||
${top_srcdir}/demo/styles.css \
|
||||
${top_srcdir}/demo/print-styles.css \
|
||||
${top_srcdir}/demo/vt100.js \
|
||||
${top_srcdir}/demo/usercss-0.css \
|
||||
${top_srcdir}/demo/usercss-1.css \
|
||||
|
@ -156,6 +159,10 @@ ${top_srcdir}/demo/styles.css: ${top_srcdir}/shellinabox/styles.css
|
|||
@rm -f "$@"
|
||||
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
|
||||
@rm -f "$@"
|
||||
ln "$<" "$@"
|
||||
|
|
402
Makefile.in
402
Makefile.in
|
@ -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@
|
||||
|
||||
# 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
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
@ -19,8 +20,9 @@
|
|||
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
|
@ -51,6 +53,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
|||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
LTLIBRARIES = $(noinst_LTLIBRARIES)
|
||||
libhttp_la_LIBADD =
|
||||
am__objects_1 =
|
||||
|
@ -68,7 +71,6 @@ liblogging_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|||
$(liblogging_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
|
||||
"$(DESTDIR)$(docdir)"
|
||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am__dirstamp = $(am__leading_dot)dirstamp
|
||||
am_shellinaboxd_OBJECTS = shellinaboxd.$(OBJEXT) \
|
||||
|
@ -77,8 +79,10 @@ am_shellinaboxd_OBJECTS = shellinaboxd.$(OBJEXT) \
|
|||
shellinabox/cgi_root.$(OBJEXT) shellinabox/root_page.$(OBJEXT) \
|
||||
shellinabox/vt100.$(OBJEXT) \
|
||||
shellinabox/shell_in_a_box.$(OBJEXT) \
|
||||
shellinabox/styles.$(OBJEXT) shellinabox/enabled.$(OBJEXT) \
|
||||
shellinabox/favicon.$(OBJEXT) shellinabox/beep.$(OBJEXT)
|
||||
shellinabox/styles.$(OBJEXT) \
|
||||
shellinabox/print-styles.$(OBJEXT) \
|
||||
shellinabox/enabled.$(OBJEXT) shellinabox/favicon.$(OBJEXT) \
|
||||
shellinabox/beep.$(OBJEXT)
|
||||
shellinaboxd_OBJECTS = $(am_shellinaboxd_OBJECTS)
|
||||
shellinaboxd_DEPENDENCIES = liblogging.la libhttp.la
|
||||
shellinaboxd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
|
@ -87,6 +91,7 @@ shellinaboxd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|||
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
|
@ -100,16 +105,30 @@ SOURCES = $(libhttp_la_SOURCES) $(liblogging_la_SOURCES) \
|
|||
$(shellinaboxd_SOURCES)
|
||||
DIST_SOURCES = $(libhttp_la_SOURCES) $(liblogging_la_SOURCES) \
|
||||
$(shellinaboxd_SOURCES)
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
dist_docDATA_INSTALL = $(INSTALL_DATA)
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
DATA = $(dist_doc_DATA) $(noinst_DATA)
|
||||
HEADERS = $(noinst_HEADERS)
|
||||
ETAGS = etags
|
||||
|
@ -118,9 +137,9 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
{ test ! -d "$(distdir)" \
|
||||
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr "$(distdir)"; }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
|
@ -268,6 +287,7 @@ EXTRA_DIST = demo/beep.wav \
|
|||
demo/demo.xml \
|
||||
demo/enabled.gif \
|
||||
demo/styles.css \
|
||||
demo/print-styles.css \
|
||||
demo/vt100.js \
|
||||
demo/usercss-0.css \
|
||||
demo/usercss-1.css \
|
||||
|
@ -338,6 +358,7 @@ shellinaboxd_SOURCES = shellinabox/shellinaboxd.c \
|
|||
shellinabox/vt100.jspp \
|
||||
shellinabox/shell_in_a_box.jspp \
|
||||
shellinabox/styles.css \
|
||||
shellinabox/print-styles.css \
|
||||
shellinabox/enabled.gif \
|
||||
shellinabox/favicon.ico \
|
||||
shellinabox/beep.wav \
|
||||
|
@ -362,10 +383,10 @@ renamesymbols = \
|
|||
-e ':0' \
|
||||
-e 's/$$/aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ/' \
|
||||
-e ':1' \
|
||||
-e 's/\(=[^_]*\)_\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \
|
||||
-e 's/\(=[^-_]*\)[-_]\([a-z]\)\([^ ]* .*\2\)\(.\)/\1\4\3\4/' \
|
||||
-e 't1' \
|
||||
-e 's/.\{53\}$$//' \
|
||||
-e 's/[/.]/_/g' \
|
||||
-e 's/[-/.]/_/g' \
|
||||
-e 's/^/--redefine-sym _binary_/' \
|
||||
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_end\2End/' \
|
||||
-e 's/\([^=]*\)\(=[^ ]*\)/& \1_start\2Start/' \
|
||||
|
@ -382,15 +403,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
|||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
|
@ -406,9 +427,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
|
|||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(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
|
||||
@if test ! -f $@; then \
|
||||
|
@ -420,7 +442,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
|||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
|
@ -442,31 +464,46 @@ liblogging.la: $(liblogging_la_OBJECTS) $(liblogging_la_DEPENDENCIES)
|
|||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
if test -f $$p \
|
||||
|| test -f $$p1 \
|
||||
; then \
|
||||
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
||||
else :; fi; \
|
||||
done
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed 's/$(EXEEXT)$$//' | \
|
||||
while read p p1; do if test -f $$p || test -f $$p1; \
|
||||
then echo "$$p"; echo "$$p"; else :; fi; \
|
||||
done | \
|
||||
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
|
||||
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
|
||||
sed 'N;N;N;s,\n, ,g' | \
|
||||
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
|
||||
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
||||
if ($$2 == $$4) files[d] = files[d] " " $$1; \
|
||||
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:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
||||
done
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
files=`for p in $$list; do echo "$$p"; done | \
|
||||
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
|
||||
-e 's/$$/$(EXEEXT)/' `; \
|
||||
test -n "$$list" || exit 0; \
|
||||
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(bindir)" && rm -f $$files
|
||||
|
||||
clean-binPROGRAMS:
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f $$p $$f"; \
|
||||
rm -f $$p $$f ; \
|
||||
done
|
||||
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list || exit $$?; \
|
||||
test -n "$(EXEEXT)" || exit 0; \
|
||||
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list
|
||||
shellinabox/$(am__dirstamp):
|
||||
@$(MKDIR_P) shellinabox
|
||||
@: > shellinabox/$(am__dirstamp)
|
||||
|
@ -483,6 +520,8 @@ shellinabox/shell_in_a_box.$(OBJEXT): shellinabox/$(am__dirstamp) \
|
|||
shellinabox/$(DEPDIR)/$(am__dirstamp)
|
||||
shellinabox/styles.$(OBJEXT): shellinabox/$(am__dirstamp) \
|
||||
shellinabox/$(DEPDIR)/$(am__dirstamp)
|
||||
shellinabox/print-styles.$(OBJEXT): shellinabox/$(am__dirstamp) \
|
||||
shellinabox/$(DEPDIR)/$(am__dirstamp)
|
||||
shellinabox/enabled.$(OBJEXT): shellinabox/$(am__dirstamp) \
|
||||
shellinabox/$(DEPDIR)/$(am__dirstamp)
|
||||
shellinabox/favicon.$(OBJEXT): shellinabox/$(am__dirstamp) \
|
||||
|
@ -499,6 +538,7 @@ mostlyclean-compile:
|
|||
-rm -f shellinabox/cgi_root.$(OBJEXT)
|
||||
-rm -f shellinabox/enabled.$(OBJEXT)
|
||||
-rm -f shellinabox/favicon.$(OBJEXT)
|
||||
-rm -f shellinabox/print-styles.$(OBJEXT)
|
||||
-rm -f shellinabox/root_page.$(OBJEXT)
|
||||
-rm -f shellinabox/shell_in_a_box.$(OBJEXT)
|
||||
-rm -f shellinabox/styles.$(OBJEXT)
|
||||
|
@ -524,168 +564,168 @@ distclean-compile:
|
|||
|
||||
.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@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@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@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@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@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
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@ mv -f $(DEPDIR)/hashmap.Tpo $(DEPDIR)/hashmap.Plo
|
||||
@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@ $(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@ 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
|
||||
@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@ $(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@ $(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@ 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
|
||||
@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@ $(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@ $(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@ 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
|
||||
@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@ $(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@ $(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@ 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
|
||||
@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@ $(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@ $(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@ 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
|
||||
@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@ $(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@ $(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@ 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
|
||||
@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@ $(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@ $(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@ 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
|
||||
@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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
||||
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@ 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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
||||
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@ 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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
||||
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@ 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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
||||
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@ 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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
||||
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@ 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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
||||
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@ 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@ 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
|
||||
|
||||
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@ 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@ 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`
|
||||
|
@ -698,68 +738,64 @@ clean-libtool:
|
|||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
install-man1: $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | while read p; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; echo "$$p"; \
|
||||
done | \
|
||||
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
|
||||
sed 'N;N;s,\n, ,g' | { \
|
||||
list=; while read file base inst; do \
|
||||
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
|
||||
fi; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $$i; then file=$$i; \
|
||||
else file=$(srcdir)/$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
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 " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
|
||||
done; }
|
||||
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
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
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
files=`{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||
test -z "$$files" || { \
|
||||
echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
|
||||
install-dist_docDATA: $(dist_doc_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
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; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(dist_docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \
|
||||
$(dist_docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-dist_docDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(dist_doc_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(docdir)/$$f"; \
|
||||
done
|
||||
@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
test -n "$$files" || exit 0; \
|
||||
echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(docdir)" && rm -f $$files
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
|
@ -773,7 +809,7 @@ tags: TAGS
|
|||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
|
@ -781,36 +817,54 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
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; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
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)
|
||||
test -d $(distdir) || mkdir $(distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
|
@ -826,21 +880,26 @@ distdir: $(DISTFILES)
|
|||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
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 \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
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 -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
@ -853,6 +912,10 @@ dist-lzma: distdir
|
|||
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
@ -881,6 +944,8 @@ distcheck: dist
|
|||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lzma*) \
|
||||
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
|
@ -892,9 +957,11 @@ distcheck: dist
|
|||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
|
@ -916,13 +983,15 @@ distcheck: dist
|
|||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
@$(am__cd) '$(distuninstallcheck_dir)' \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
|
@ -967,6 +1036,7 @@ clean-generic:
|
|||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
-rm -f shellinabox/$(DEPDIR)/$(am__dirstamp)
|
||||
-rm -f shellinabox/$(am__dirstamp)
|
||||
|
||||
|
@ -991,6 +1061,8 @@ dvi-am:
|
|||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
@ -999,18 +1071,28 @@ install-data-am: install-dist_docDATA install-man
|
|||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
@ -1038,16 +1120,16 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \
|
|||
|
||||
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 \
|
||||
clean-binPROGRAMS clean-generic clean-libtool clean-local \
|
||||
clean-noinstLTLIBRARIES ctags dist dist-all dist-bzip2 \
|
||||
dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
|
||||
distclean distclean-compile distclean-generic distclean-hdr \
|
||||
distclean-libtool distclean-tags distcleancheck distdir \
|
||||
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||
install install-am install-binPROGRAMS install-data \
|
||||
dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-binPROGRAMS install-data \
|
||||
install-data-am install-dist_docDATA install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
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/favicon.ico \
|
||||
${top_srcdir}/demo/styles.css \
|
||||
${top_srcdir}/demo/print-styles.css \
|
||||
${top_srcdir}/demo/vt100.js \
|
||||
${top_srcdir}/demo/usercss-0.css \
|
||||
${top_srcdir}/demo/usercss-1.css \
|
||||
|
@ -1089,6 +1172,10 @@ ${top_srcdir}/demo/styles.css: ${top_srcdir}/shellinabox/styles.css
|
|||
@rm -f "$@"
|
||||
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
|
||||
@rm -f "$@"
|
||||
ln "$<" "$@"
|
||||
|
@ -1182,6 +1269,7 @@ shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
|
|||
@echo objcopy "$<" "$@"
|
||||
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
|
||||
"$<" "$@"
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
|
288
aclocal.m4
vendored
288
aclocal.m4
vendored
|
@ -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,
|
||||
# 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
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# 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.
|
||||
# (This private macro should not be called outside this file.)
|
||||
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 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
|
||||
])
|
||||
|
||||
|
@ -8015,7 +8015,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.10.2])dnl
|
||||
[AM_AUTOMAKE_VERSION([1.11])dnl
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
|
@ -8075,14 +8075,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
|
|||
|
||||
# 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.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 8
|
||||
# serial 9
|
||||
|
||||
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
||||
# -------------------------------------
|
||||
|
@ -8095,6 +8095,7 @@ AC_SUBST([$1_TRUE])dnl
|
|||
AC_SUBST([$1_FALSE])dnl
|
||||
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
||||
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
||||
m4_define([_AM_COND_VALUE_$1], [$2])dnl
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
|
@ -8108,14 +8109,14 @@ AC_CONFIG_COMMANDS_PRE(
|
|||
Usually this means the macro was only invoked conditionally.]])
|
||||
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.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 9
|
||||
# serial 10
|
||||
|
||||
# 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,
|
||||
|
@ -8172,6 +8173,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
|||
if test "$am_compiler_list" = ""; then
|
||||
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||
fi
|
||||
am__universal=false
|
||||
m4_case([$1], [CC],
|
||||
[case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac],
|
||||
[CXX],
|
||||
[case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac])
|
||||
|
||||
for depmode in $am_compiler_list; do
|
||||
# Setup a source with many dependencies, because some compilers
|
||||
# like to wrap large dependency lists on column 80 (with \), and
|
||||
|
@ -8189,7 +8200,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
|||
done
|
||||
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||
|
||||
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
||||
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||
# handle `-M -o', and we need to detect this. Also, some Intel
|
||||
# versions had trouble with output in subdirs
|
||||
am__obj=sub/conftest.${OBJEXT-o}
|
||||
am__minus_obj="-o $am__obj"
|
||||
case $depmode in
|
||||
gcc)
|
||||
# This depmode causes a compiler race in universal mode.
|
||||
test "$am__universal" = false || continue
|
||||
;;
|
||||
nosideeffect)
|
||||
# after this tag, mechanisms are not by side-effect, so they'll
|
||||
# only be used when explicitly requested
|
||||
|
@ -8199,19 +8220,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
|||
break
|
||||
fi
|
||||
;;
|
||||
msvisualcpp | msvcmsys)
|
||||
# This compiler won't grok `-c -o', but also, the minuso test has
|
||||
# not run yet. These depmodes are late enough in the game, and
|
||||
# so weak that their functioning should not be impacted.
|
||||
am__obj=conftest.${OBJEXT-o}
|
||||
am__minus_obj=
|
||||
;;
|
||||
none) break ;;
|
||||
esac
|
||||
# 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 \
|
||||
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
||||
source=sub/conftest.c object=$am__obj \
|
||||
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 &&
|
||||
grep sub/conftst1.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
|
||||
# icc doesn't choke on unknown options, it will just issue warnings
|
||||
# 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,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
#serial 4
|
||||
#serial 5
|
||||
|
||||
# _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
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named `Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`AS_DIRNAME("$mf")`
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running `make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# When using ansi2knr, U may be empty or an underscore; expand it
|
||||
U=`sed -n 's/^U = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`AS_DIRNAME(["$file"])`
|
||||
AS_MKDIR_P([$dirpart/$fdir])
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
[{
|
||||
# Autoconf 2.62 quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named `Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`AS_DIRNAME("$mf")`
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running `make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# When using ansi2knr, U may be empty or an underscore; expand it
|
||||
U=`sed -n 's/^U = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`AS_DIRNAME(["$file"])`
|
||||
AS_MKDIR_P([$dirpart/$fdir])
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
done
|
||||
done
|
||||
}
|
||||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
|
||||
|
||||
|
@ -8359,13 +8386,13 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
|||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# 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
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# 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
|
||||
# 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
|
||||
# release and drop the old call support.
|
||||
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 the ones we care about.
|
||||
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(AUTOHEADER, autoheader)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
||||
AM_PROG_INSTALL_SH
|
||||
AM_PROG_INSTALL_STRIP
|
||||
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
|
||||
# We need awk for the "check" target. The system "awk" is bad on
|
||||
# some platforms.
|
||||
|
@ -8442,24 +8469,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
|
|||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
|
||||
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||
[_AM_PROG_TAR([v7])])])
|
||||
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||
[_AM_PROG_TAR([v7])])])
|
||||
_AM_IF_OPTION([no-dependencies],,
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||
[_AM_DEPENDENCIES(CC)],
|
||||
[define([AC_PROG_CC],
|
||||
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
[_AM_DEPENDENCIES(CC)],
|
||||
[define([AC_PROG_CC],
|
||||
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||
[_AM_DEPENDENCIES(CXX)],
|
||||
[define([AC_PROG_CXX],
|
||||
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
[_AM_DEPENDENCIES(CXX)],
|
||||
[define([AC_PROG_CXX],
|
||||
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||
[_AM_DEPENDENCIES(OBJC)],
|
||||
[define([AC_PROG_OBJC],
|
||||
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||
[_AM_DEPENDENCIES(OBJC)],
|
||||
[define([AC_PROG_OBJC],
|
||||
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||
])
|
||||
_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
|
||||
dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
|
||||
dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
|
||||
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
|
||||
AC_CONFIG_COMMANDS_PRE(dnl
|
||||
[m4_provide_if([_AM_COMPILER_EXEEXT],
|
||||
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
|
||||
])
|
||||
|
||||
dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
|
||||
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
|
||||
dnl mangled by Autoconf and run in a shell conditional statement.
|
||||
m4_define([_AC_COMPILER_EXEEXT],
|
||||
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
|
||||
|
||||
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
|
@ -8482,7 +8522,7 @@ for _am_header in $config_headers :; do
|
|||
done
|
||||
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
|
||||
# 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.
|
||||
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||
[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)])
|
||||
|
||||
# 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 -*-
|
||||
|
||||
# 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
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 3
|
||||
# serial 4
|
||||
|
||||
# AM_MAKE_INCLUDE()
|
||||
# -----------------
|
||||
|
@ -8534,7 +8581,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
|
|||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
am__doit:
|
||||
@echo done
|
||||
@echo this is the am__doit target
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
|
@ -8544,24 +8591,24 @@ am__quote=
|
|||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
echo "include confinc" > confmf
|
||||
# We grep out `Entering directory' and `Leaving directory'
|
||||
# messages which can occur if `w' ends up in MAKEFLAGS.
|
||||
# In particular we don't look at `^make:' because GNU make might
|
||||
# be invoked under some other name (usually "gmake"), in which
|
||||
# case it prints its new name instead of `make'.
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
fi
|
||||
# Ignore all kinds of additional output from `make'.
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
;;
|
||||
esac
|
||||
# Now try BSD make style include.
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
fi
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST([am__include])
|
||||
AC_SUBST([am__quote])
|
||||
|
@ -8571,14 +8618,14 @@ rm -f confinc confmf
|
|||
|
||||
# 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.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5
|
||||
# serial 6
|
||||
|
||||
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||
# ------------------------------
|
||||
|
@ -8595,7 +8642,14 @@ AC_SUBST($1)])
|
|||
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])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
|
||||
if eval "$MISSING --run true"; then
|
||||
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 -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
|
||||
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 4
|
||||
# serial 5
|
||||
|
||||
# AM_SANITY_CHECK
|
||||
# ---------------
|
||||
|
@ -8682,16 +8736,29 @@ AC_DEFUN([AM_SANITY_CHECK],
|
|||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftest.file
|
||||
# Reject unsafe characters in $srcdir or the absolute working directory
|
||||
# name. Accept space and tab only in the latter.
|
||||
am_lf='
|
||||
'
|
||||
case `pwd` in
|
||||
*[[\\\"\#\$\&\'\`$am_lf]]*)
|
||||
AC_MSG_ERROR([unsafe absolute working directory name]);;
|
||||
esac
|
||||
case $srcdir in
|
||||
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
|
||||
AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
|
||||
esac
|
||||
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
|
||||
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
|
||||
if test "$[*]" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftest.file`
|
||||
set X `ls -t "$srcdir/configure" conftest.file`
|
||||
fi
|
||||
rm -f conftest.file
|
||||
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
||||
|
@ -8744,18 +8811,25 @@ fi
|
|||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||
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
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 2
|
||||
|
||||
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||
# ---------------------------
|
||||
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
||||
# This macro is traced by Automake.
|
||||
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||
|
||||
# AM_SUBST_NOTMAKE(VARIABLE)
|
||||
# ---------------------------
|
||||
# Public sister of _AM_SUBST_NOTMAKE.
|
||||
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||
|
||||
# Check how to create a tarball. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
||||
|
|
2
config.h
2
config.h
|
@ -138,7 +138,7 @@
|
|||
#define STDC_HEADERS 1
|
||||
|
||||
/* Most recent revision number in the version control system */
|
||||
#define VCS_REVISION "174"
|
||||
#define VCS_REVISION "176"
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "2.9"
|
||||
|
|
440
configure
vendored
440
configure
vendored
|
@ -740,7 +740,9 @@ ac_includes_default="\
|
|||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
ac_subst_vars='am__EXEEXT_FALSE
|
||||
am__EXEEXT_TRUE
|
||||
LTLIBOBJS
|
||||
LIBOBJS
|
||||
LIBTOOL_DEPS
|
||||
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
|
||||
|
||||
|
||||
VCS_REVISION=174
|
||||
VCS_REVISION=176
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
|
@ -2326,7 +2328,7 @@ _ACEOF
|
|||
|
||||
|
||||
CFLAGS="${CFLAGS:--Os}"
|
||||
am__api_version='1.10'
|
||||
am__api_version='1.11'
|
||||
|
||||
ac_aux_dir=
|
||||
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
|
||||
sleep 1
|
||||
echo timestamp > conftest.file
|
||||
# Reject unsafe characters in $srcdir or the absolute working directory
|
||||
# name. Accept space and tab only in the latter.
|
||||
am_lf='
|
||||
'
|
||||
case `pwd` in
|
||||
*[\\\"\#\$\&\'\`$am_lf]*)
|
||||
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
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
|
||||
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
|
||||
if test "$*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftest.file`
|
||||
set X `ls -t "$srcdir/configure" conftest.file`
|
||||
fi
|
||||
rm -f 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
|
||||
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
|
||||
if eval "$MISSING --run true"; then
|
||||
am_missing_run="$MISSING --run "
|
||||
|
@ -2506,6 +2528,115 @@ else
|
|||
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
|
||||
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_n "checking for a thread-safe mkdir -p... " >&6; }
|
||||
if test -z "$MKDIR_P"; then
|
||||
|
@ -2686,108 +2817,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
|
|||
|
||||
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
|
||||
# some platforms.
|
||||
# Always define AMTAR for backward compatibility.
|
||||
|
@ -3576,7 +3605,7 @@ ac_config_commands="$ac_config_commands depfiles"
|
|||
am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
am__doit:
|
||||
@echo done
|
||||
@echo this is the am__doit target
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
|
@ -3587,24 +3616,24 @@ am__quote=
|
|||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
echo "include confinc" > confmf
|
||||
# We grep out `Entering directory' and `Leaving directory'
|
||||
# messages which can occur if `w' ends up in MAKEFLAGS.
|
||||
# In particular we don't look at `^make:' because GNU make might
|
||||
# be invoked under some other name (usually "gmake"), in which
|
||||
# case it prints its new name instead of `make'.
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
fi
|
||||
# Ignore all kinds of additional output from `make'.
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
;;
|
||||
esac
|
||||
# Now try BSD make style include.
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
fi
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
|
@ -3661,6 +3690,11 @@ else
|
|||
if test "$am_compiler_list" = ""; then
|
||||
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
|
||||
fi
|
||||
am__universal=false
|
||||
case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac
|
||||
|
||||
for depmode in $am_compiler_list; do
|
||||
# Setup a source with many dependencies, because some compilers
|
||||
# like to wrap large dependency lists on column 80 (with \), and
|
||||
|
@ -3678,7 +3712,17 @@ else
|
|||
done
|
||||
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||
|
||||
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
||||
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||
# handle `-M -o', and we need to detect this. Also, some Intel
|
||||
# versions had trouble with output in subdirs
|
||||
am__obj=sub/conftest.${OBJEXT-o}
|
||||
am__minus_obj="-o $am__obj"
|
||||
case $depmode in
|
||||
gcc)
|
||||
# This depmode causes a compiler race in universal mode.
|
||||
test "$am__universal" = false || continue
|
||||
;;
|
||||
nosideeffect)
|
||||
# after this tag, mechanisms are not by side-effect, so they'll
|
||||
# only be used when explicitly requested
|
||||
|
@ -3688,19 +3732,23 @@ else
|
|||
break
|
||||
fi
|
||||
;;
|
||||
msvisualcpp | msvcmsys)
|
||||
# This compiler won't grok `-c -o', but also, the minuso test has
|
||||
# not run yet. These depmodes are late enough in the game, and
|
||||
# so weak that their functioning should not be impacted.
|
||||
am__obj=conftest.${OBJEXT-o}
|
||||
am__minus_obj=
|
||||
;;
|
||||
none) break ;;
|
||||
esac
|
||||
# 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 \
|
||||
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
||||
source=sub/conftest.c object=$am__obj \
|
||||
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 &&
|
||||
grep sub/conftst1.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
|
||||
# icc doesn't choke on unknown options, it will just issue warnings
|
||||
# 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
|
||||
lt_cv_nm_interface="BSD nm"
|
||||
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)
|
||||
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)
|
||||
cat conftest.err >&5
|
||||
(eval echo "\"\$as_me:4431: output\"" >&5)
|
||||
(eval echo "\"\$as_me:4479: output\"" >&5)
|
||||
cat conftest.out >&5
|
||||
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
|
||||
lt_cv_nm_interface="MS dumpbin"
|
||||
|
@ -5634,7 +5682,7 @@ ia64-*-hpux*)
|
|||
;;
|
||||
*-*-irix6*)
|
||||
# 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
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
|
@ -7160,11 +7208,11 @@ else
|
|||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-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)
|
||||
ac_status=$?
|
||||
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
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# 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: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-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)
|
||||
ac_status=$?
|
||||
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
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# 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: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-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)
|
||||
ac_status=$?
|
||||
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
|
||||
then
|
||||
# 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: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-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)
|
||||
ac_status=$?
|
||||
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
|
||||
then
|
||||
# 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_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 10045 "configure"
|
||||
#line 10093 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -10138,7 +10186,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 10141 "configure"
|
||||
#line 10189 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -10930,6 +10978,14 @@ LIBOBJS=$ac_libobjs
|
|||
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
|
||||
as_fn_error "conditional \"AMDEP\" was never defined.
|
||||
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
|
||||
"depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named `Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`$as_dirname -- "$mf" ||
|
||||
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
|
||||
# Autoconf 2.62 quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named `Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`$as_dirname -- "$mf" ||
|
||||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$mf" : 'X\(//\)[^/]' \| \
|
||||
X"$mf" : 'X\(//\)$' \| \
|
||||
|
@ -12417,28 +12474,28 @@ $as_echo X"$mf" |
|
|||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running `make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# When using ansi2knr, U may be empty or an underscore; expand it
|
||||
U=`sed -n 's/^U = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`$as_dirname -- "$file" ||
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running `make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# When using ansi2knr, U may be empty or an underscore; expand it
|
||||
U=`sed -n 's/^U = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`$as_dirname -- "$file" ||
|
||||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$file" : 'X\(//\)[^/]' \| \
|
||||
X"$file" : 'X\(//\)$' \| \
|
||||
|
@ -12461,11 +12518,12 @@ $as_echo X"$file" |
|
|||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
as_dir=$dirpart/$fdir; as_fn_mkdir_p
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
as_dir=$dirpart/$fdir; as_fn_mkdir_p
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
done
|
||||
done
|
||||
}
|
||||
;;
|
||||
"libtool":C)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ AC_PREREQ(2.57)
|
|||
|
||||
dnl This is the one location where the authoritative version number is stored
|
||||
AC_INIT(shellinabox, 2.9, markus@shellinabox.com)
|
||||
VCS_REVISION=174
|
||||
VCS_REVISION=176
|
||||
AC_SUBST(VCS_REVISION)
|
||||
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
|
||||
[Most recent revision number in the version control system])
|
||||
|
|
35
demo/print-styles.css
Normal file
35
demo/print-styles.css
Normal 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;
|
||||
}
|
||||
}
|
277
demo/vt100.js
277
demo/vt100.js
|
@ -204,6 +204,12 @@ VT100.prototype.reset = function(clearHistory) {
|
|||
this.crLfMode = false;
|
||||
this.offsetMode = 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.utfCount = 0;
|
||||
this.utfChar = 0;
|
||||
|
@ -250,10 +256,11 @@ VT100.prototype.getUserSettings = function() {
|
|||
// Compute hash signature to identify the entries in the userCSS menu.
|
||||
// If the menu is unchanged from last time, default values can be
|
||||
// looked up in a cookie associated with this page.
|
||||
this.signature = 0;
|
||||
this.signature = 1;
|
||||
this.utfPreferred = true;
|
||||
this.visualBell = typeof suppressAllAudio != 'undefined' &&
|
||||
suppressAllAudio;
|
||||
this.autoprint = true;
|
||||
if (this.visualBell) {
|
||||
this.signature = Math.floor(16807*this.signature + 1) %
|
||||
((1 << 31) - 1);
|
||||
|
@ -278,13 +285,14 @@ VT100.prototype.getUserSettings = function() {
|
|||
if (settings >= 0) {
|
||||
settings = document.cookie.substr(settings + key.length).
|
||||
replace(/([0-1]*).*/, "$1");
|
||||
if (settings.length == 2 + (typeof userCSSList == 'undefined' ?
|
||||
if (settings.length == 3 + (typeof userCSSList == 'undefined' ?
|
||||
0 : userCSSList.length)) {
|
||||
this.utfPreferred = settings.charAt(0) != '0';
|
||||
this.visualBell = settings.charAt(1) != '0';
|
||||
this.autoprint = settings.charAt(2) != '0';
|
||||
if (typeof userCSSList != 'undefined') {
|
||||
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() {
|
||||
var settings = 'shellInABox=' + this.signature + ':' +
|
||||
(this.utfEnabled ? '1' : '0') +
|
||||
(this.visualBell ? '1' : '0');
|
||||
(this.visualBell ? '1' : '0') +
|
||||
(this.autoprint ? '1' : '0');
|
||||
if (typeof userCSSList != 'undefined') {
|
||||
for (var i = 0; i < userCSSList.length; ++i) {
|
||||
settings += userCSSList[i][2] ? '1' : '0';
|
||||
|
@ -1892,7 +1901,7 @@ VT100.prototype.toggleBell = 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" +
|
||||
"For more information check http://shellinabox.com");
|
||||
};
|
||||
|
@ -2828,6 +2837,187 @@ VT100.prototype.setCursorAttr = function(setAttr, xorAttr) {
|
|||
// 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) {
|
||||
// Insert spaces
|
||||
if (number == 0) {
|
||||
|
@ -2842,6 +3032,41 @@ VT100.prototype.csiAt = function(number) {
|
|||
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) {
|
||||
switch (number) {
|
||||
case 0: // Erase from cursor to end of display
|
||||
|
@ -3007,6 +3232,10 @@ VT100.prototype.settermCommand = function() {
|
|||
};
|
||||
|
||||
VT100.prototype.doControl = function(ch) {
|
||||
if (this.printing) {
|
||||
this.sendControlToPrinter(ch);
|
||||
return '';
|
||||
}
|
||||
var lineBuf = '';
|
||||
switch (ch) {
|
||||
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;
|
||||
/*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); 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;
|
||||
/*K*/ case 0x4B: this.csiK(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) {
|
||||
if (this.printing) {
|
||||
this.sendToPrinter(s);
|
||||
if (showCursor) {
|
||||
this.showCursor();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// We try to minimize the number of DOM operations by coalescing individual
|
||||
// characters into strings. This is a significant performance improvement.
|
||||
var incX = s.length;
|
||||
|
@ -3383,23 +3621,26 @@ VT100.prototype.vt100 = function(s) {
|
|||
} else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) {
|
||||
continue;
|
||||
}
|
||||
if (this.needWrap || this.insertMode) {
|
||||
if (lineBuf) {
|
||||
this.renderString(lineBuf);
|
||||
lineBuf = '';
|
||||
if (!this.printing) {
|
||||
if (this.needWrap || this.insertMode) {
|
||||
if (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);
|
||||
lineBuf += this.lastCharacter;
|
||||
if (this.cursorX + lineBuf.length >= this.terminalWidth) {
|
||||
if (!this.printing &&
|
||||
this.cursorX + lineBuf.length >= this.terminalWidth) {
|
||||
this.needWrap = this.autoWrapMode;
|
||||
}
|
||||
} else {
|
||||
|
|
35
shellinabox/print-styles.css
Normal file
35
shellinabox/print-styles.css
Normal 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;
|
||||
}
|
||||
}
|
|
@ -355,7 +355,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
|
|||
};
|
||||
|
||||
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" +
|
||||
"For more information check http://shellinabox.com" +
|
||||
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?
|
||||
|
|
|
@ -475,25 +475,29 @@ static void serveStaticFile(HttpConnection *http, const char *contentType,
|
|||
condTrue = 0;
|
||||
const char *userAgent = getFromHashMap(httpGetHeaders(http),
|
||||
"user-agent");
|
||||
if (userAgent) {
|
||||
// Allow multiple comma separated conditions
|
||||
for (char *tagPtr = tag; *tagPtr; ) {
|
||||
char *e = strchr(tagPtr, ',');
|
||||
if (!e) {
|
||||
e = strchr(tag, '\000');
|
||||
} else {
|
||||
*e++ = '\000';
|
||||
}
|
||||
condTrue = userCSSGetDefine(tagPtr) ||
|
||||
strstr(userAgent, tagPtr) != NULL;
|
||||
if (*e) {
|
||||
e[-1] = ',';
|
||||
}
|
||||
if (condTrue) {
|
||||
break;
|
||||
}
|
||||
tagPtr = e;
|
||||
if (!userAgent) {
|
||||
userAgent = "";
|
||||
}
|
||||
|
||||
// Allow multiple comma separated conditions. Conditions are either
|
||||
// substrings found in the user agent, or they are "DEFINES_..."
|
||||
// tags at the top of user CSS files.
|
||||
for (char *tagPtr = tag; *tagPtr; ) {
|
||||
char *e = strchr(tagPtr, ',');
|
||||
if (!e) {
|
||||
e = strchr(tag, '\000');
|
||||
} else {
|
||||
*e++ = '\000';
|
||||
}
|
||||
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
|
||||
|
@ -680,6 +684,12 @@ static int shellInABoxHttpHandler(HttpConnection *http, void *arg,
|
|||
// Serve the style sheet.
|
||||
serveStaticFile(http, "text/css; charset=utf-8",
|
||||
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)) {
|
||||
// Server user style sheets (if any)
|
||||
struct UserCSS *css = userCSSList;
|
||||
|
@ -1232,7 +1242,8 @@ int main(int argc, char * const argv[]) {
|
|||
}
|
||||
|
||||
// Set log file format
|
||||
serverSetNumericHosts(server, numericHosts);
|
||||
serverSetNumericHosts(server, numericHosts ||
|
||||
logIsQuiet() || logIsDefault());
|
||||
|
||||
// Disable /quit handler
|
||||
serverRegisterHttpHandler(server, "/quit", NULL, NULL);
|
||||
|
|
|
@ -236,6 +236,10 @@ JavaScript file implementing the AJAX terminal emulator.
|
|||
.TP
|
||||
.B styles.css
|
||||
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
|
||||
It is not recommended to override the root HTML page for a particular
|
||||
.IR service .
|
||||
|
|
|
@ -136,8 +136,8 @@
|
|||
#vt100 #scrollable.inverted { color: #ffffff;
|
||||
background-color: #000000; }
|
||||
[if DEFINES_COLORS]
|
||||
/* IE cannot properly handle "inherit" properties. So, the monochrome.css
|
||||
* style sheet cannot work, if we define colors by default.
|
||||
/* IE cannot properly handle "inherit" properties. So, the monochrome.css/
|
||||
* color.css style sheets cannot work, if we define colors in styles.css.
|
||||
*/
|
||||
[else DEFINES_COLORS]
|
||||
#vt100 .ansi0 { }
|
||||
|
|
|
@ -204,6 +204,12 @@ VT100.prototype.reset = function(clearHistory) {
|
|||
this.crLfMode = false;
|
||||
this.offsetMode = 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.utfCount = 0;
|
||||
this.utfChar = 0;
|
||||
|
@ -250,10 +256,11 @@ VT100.prototype.getUserSettings = function() {
|
|||
// Compute hash signature to identify the entries in the userCSS menu.
|
||||
// If the menu is unchanged from last time, default values can be
|
||||
// looked up in a cookie associated with this page.
|
||||
this.signature = 0;
|
||||
this.signature = 1;
|
||||
this.utfPreferred = true;
|
||||
this.visualBell = typeof suppressAllAudio != 'undefined' &&
|
||||
suppressAllAudio;
|
||||
this.autoprint = true;
|
||||
if (this.visualBell) {
|
||||
this.signature = Math.floor(16807*this.signature + 1) %
|
||||
((1 << 31) - 1);
|
||||
|
@ -278,13 +285,14 @@ VT100.prototype.getUserSettings = function() {
|
|||
if (settings >= 0) {
|
||||
settings = document.cookie.substr(settings + key.length).
|
||||
replace(/([0-1]*).*/, "$1");
|
||||
if (settings.length == 2 + (typeof userCSSList == 'undefined' ?
|
||||
if (settings.length == 3 + (typeof userCSSList == 'undefined' ?
|
||||
0 : userCSSList.length)) {
|
||||
this.utfPreferred = settings.charAt(0) != '0';
|
||||
this.visualBell = settings.charAt(1) != '0';
|
||||
this.autoprint = settings.charAt(2) != '0';
|
||||
if (typeof userCSSList != 'undefined') {
|
||||
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() {
|
||||
var settings = 'shellInABox=' + this.signature + ':' +
|
||||
(this.utfEnabled ? '1' : '0') +
|
||||
(this.visualBell ? '1' : '0');
|
||||
(this.visualBell ? '1' : '0') +
|
||||
(this.autoprint ? '1' : '0');
|
||||
if (typeof userCSSList != 'undefined') {
|
||||
for (var i = 0; i < userCSSList.length; ++i) {
|
||||
settings += userCSSList[i][2] ? '1' : '0';
|
||||
|
@ -1892,7 +1901,7 @@ VT100.prototype.toggleBell = 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" +
|
||||
"For more information check http://shellinabox.com");
|
||||
};
|
||||
|
@ -2828,6 +2837,187 @@ VT100.prototype.setCursorAttr = function(setAttr, xorAttr) {
|
|||
// 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) {
|
||||
// Insert spaces
|
||||
if (number == 0) {
|
||||
|
@ -2842,6 +3032,41 @@ VT100.prototype.csiAt = function(number) {
|
|||
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) {
|
||||
switch (number) {
|
||||
case 0: // Erase from cursor to end of display
|
||||
|
@ -3007,6 +3232,10 @@ VT100.prototype.settermCommand = function() {
|
|||
};
|
||||
|
||||
VT100.prototype.doControl = function(ch) {
|
||||
if (this.printing) {
|
||||
this.sendControlToPrinter(ch);
|
||||
return '';
|
||||
}
|
||||
var lineBuf = '';
|
||||
switch (ch) {
|
||||
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;
|
||||
/*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); 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;
|
||||
/*K*/ case 0x4B: this.csiK(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) {
|
||||
if (this.printing) {
|
||||
this.sendToPrinter(s);
|
||||
if (showCursor) {
|
||||
this.showCursor();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// We try to minimize the number of DOM operations by coalescing individual
|
||||
// characters into strings. This is a significant performance improvement.
|
||||
var incX = s.length;
|
||||
|
@ -3383,23 +3621,26 @@ VT100.prototype.vt100 = function(s) {
|
|||
} else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) {
|
||||
continue;
|
||||
}
|
||||
if (this.needWrap || this.insertMode) {
|
||||
if (lineBuf) {
|
||||
this.renderString(lineBuf);
|
||||
lineBuf = '';
|
||||
if (!this.printing) {
|
||||
if (this.needWrap || this.insertMode) {
|
||||
if (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);
|
||||
lineBuf += this.lastCharacter;
|
||||
if (this.cursorX + lineBuf.length >= this.terminalWidth) {
|
||||
if (!this.printing &&
|
||||
this.cursorX + lineBuf.length >= this.terminalWidth) {
|
||||
this.needWrap = this.autoWrapMode;
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -204,6 +204,12 @@ VT100.prototype.reset = function(clearHistory) {
|
|||
this.crLfMode = false;
|
||||
this.offsetMode = 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.utfCount = 0;
|
||||
this.utfChar = 0;
|
||||
|
@ -250,10 +256,11 @@ VT100.prototype.getUserSettings = function() {
|
|||
// Compute hash signature to identify the entries in the userCSS menu.
|
||||
// If the menu is unchanged from last time, default values can be
|
||||
// looked up in a cookie associated with this page.
|
||||
this.signature = 0;
|
||||
this.signature = 1;
|
||||
this.utfPreferred = true;
|
||||
this.visualBell = typeof suppressAllAudio != 'undefined' &&
|
||||
suppressAllAudio;
|
||||
this.autoprint = true;
|
||||
if (this.visualBell) {
|
||||
this.signature = Math.floor(16807*this.signature + 1) %
|
||||
((1 << 31) - 1);
|
||||
|
@ -278,13 +285,14 @@ VT100.prototype.getUserSettings = function() {
|
|||
if (settings >= 0) {
|
||||
settings = document.cookie.substr(settings + key.length).
|
||||
replace(/([0-1]*).*/, "$1");
|
||||
if (settings.length == 2 + (typeof userCSSList == 'undefined' ?
|
||||
if (settings.length == 3 + (typeof userCSSList == 'undefined' ?
|
||||
0 : userCSSList.length)) {
|
||||
this.utfPreferred = settings.charAt(0) != '0';
|
||||
this.visualBell = settings.charAt(1) != '0';
|
||||
this.autoprint = settings.charAt(2) != '0';
|
||||
if (typeof userCSSList != 'undefined') {
|
||||
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() {
|
||||
var settings = 'shellInABox=' + this.signature + ':' +
|
||||
(this.utfEnabled ? '1' : '0') +
|
||||
(this.visualBell ? '1' : '0');
|
||||
(this.visualBell ? '1' : '0') +
|
||||
(this.autoprint ? '1' : '0');
|
||||
if (typeof userCSSList != 'undefined') {
|
||||
for (var i = 0; i < userCSSList.length; ++i) {
|
||||
settings += userCSSList[i][2] ? '1' : '0';
|
||||
|
@ -2828,6 +2837,187 @@ VT100.prototype.setCursorAttr = function(setAttr, xorAttr) {
|
|||
// 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) {
|
||||
// Insert spaces
|
||||
if (number == 0) {
|
||||
|
@ -2842,6 +3032,41 @@ VT100.prototype.csiAt = function(number) {
|
|||
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) {
|
||||
switch (number) {
|
||||
case 0: // Erase from cursor to end of display
|
||||
|
@ -3007,6 +3232,10 @@ VT100.prototype.settermCommand = function() {
|
|||
};
|
||||
|
||||
VT100.prototype.doControl = function(ch) {
|
||||
if (this.printing) {
|
||||
this.sendControlToPrinter(ch);
|
||||
return '';
|
||||
}
|
||||
var lineBuf = '';
|
||||
switch (ch) {
|
||||
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;
|
||||
/*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); 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;
|
||||
/*K*/ case 0x4B: this.csiK(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) {
|
||||
if (this.printing) {
|
||||
this.sendToPrinter(s);
|
||||
if (showCursor) {
|
||||
this.showCursor();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// We try to minimize the number of DOM operations by coalescing individual
|
||||
// characters into strings. This is a significant performance improvement.
|
||||
var incX = s.length;
|
||||
|
@ -3383,23 +3621,26 @@ VT100.prototype.vt100 = function(s) {
|
|||
} else if (ch == 0xFEFF || (ch >= 0x200A && ch <= 0x200F)) {
|
||||
continue;
|
||||
}
|
||||
if (this.needWrap || this.insertMode) {
|
||||
if (lineBuf) {
|
||||
this.renderString(lineBuf);
|
||||
lineBuf = '';
|
||||
if (!this.printing) {
|
||||
if (this.needWrap || this.insertMode) {
|
||||
if (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);
|
||||
lineBuf += this.lastCharacter;
|
||||
if (this.cursorX + lineBuf.length >= this.terminalWidth) {
|
||||
if (!this.printing &&
|
||||
this.cursorX + lineBuf.length >= this.terminalWidth) {
|
||||
this.needWrap = this.autoWrapMode;
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue