added timer job functions
This commit is contained in:
		
							
								
								
									
										10
									
								
								stio/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								stio/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
AUTOMAKE_OPTION = foreign
 | 
			
		||||
ACLOCAL_AMFLAGS = -I m4
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST =
 | 
			
		||||
 | 
			
		||||
SUBDIRS = lib
 | 
			
		||||
DIST_SUBDIRS = $(SUBDIRS) 
 | 
			
		||||
 | 
			
		||||
distclean-local:
 | 
			
		||||
	$(RM) -r $(top_srcdir)/autom4te.cache
 | 
			
		||||
							
								
								
									
										825
									
								
								stio/Makefile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										825
									
								
								stio/Makefile.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,825 @@
 | 
			
		||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
 | 
			
		||||
# @configure_input@
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
# This Makefile.in is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
 | 
			
		||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 | 
			
		||||
# PARTICULAR PURPOSE.
 | 
			
		||||
 | 
			
		||||
@SET_MAKE@
 | 
			
		||||
VPATH = @srcdir@
 | 
			
		||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 | 
			
		||||
am__make_running_with_option = \
 | 
			
		||||
  case $${target_option-} in \
 | 
			
		||||
      ?) ;; \
 | 
			
		||||
      *) echo "am__make_running_with_option: internal error: invalid" \
 | 
			
		||||
              "target option '$${target_option-}' specified" >&2; \
 | 
			
		||||
         exit 1;; \
 | 
			
		||||
  esac; \
 | 
			
		||||
  has_opt=no; \
 | 
			
		||||
  sane_makeflags=$$MAKEFLAGS; \
 | 
			
		||||
  if $(am__is_gnu_make); then \
 | 
			
		||||
    sane_makeflags=$$MFLAGS; \
 | 
			
		||||
  else \
 | 
			
		||||
    case $$MAKEFLAGS in \
 | 
			
		||||
      *\\[\ \	]*) \
 | 
			
		||||
        bs=\\; \
 | 
			
		||||
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
 | 
			
		||||
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
 | 
			
		||||
    esac; \
 | 
			
		||||
  fi; \
 | 
			
		||||
  skip_next=no; \
 | 
			
		||||
  strip_trailopt () \
 | 
			
		||||
  { \
 | 
			
		||||
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
 | 
			
		||||
  }; \
 | 
			
		||||
  for flg in $$sane_makeflags; do \
 | 
			
		||||
    test $$skip_next = yes && { skip_next=no; continue; }; \
 | 
			
		||||
    case $$flg in \
 | 
			
		||||
      *=*|--*) continue;; \
 | 
			
		||||
        -*I) strip_trailopt 'I'; skip_next=yes;; \
 | 
			
		||||
      -*I?*) strip_trailopt 'I';; \
 | 
			
		||||
        -*O) strip_trailopt 'O'; skip_next=yes;; \
 | 
			
		||||
      -*O?*) strip_trailopt 'O';; \
 | 
			
		||||
        -*l) strip_trailopt 'l'; skip_next=yes;; \
 | 
			
		||||
      -*l?*) strip_trailopt 'l';; \
 | 
			
		||||
      -[dEDm]) skip_next=yes;; \
 | 
			
		||||
      -[JT]) skip_next=yes;; \
 | 
			
		||||
    esac; \
 | 
			
		||||
    case $$flg in \
 | 
			
		||||
      *$$target_option*) has_opt=yes; break;; \
 | 
			
		||||
    esac; \
 | 
			
		||||
  done; \
 | 
			
		||||
  test $$has_opt = yes
 | 
			
		||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
 | 
			
		||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 | 
			
		||||
pkgdatadir = $(datadir)/@PACKAGE@
 | 
			
		||||
pkgincludedir = $(includedir)/@PACKAGE@
 | 
			
		||||
pkglibdir = $(libdir)/@PACKAGE@
 | 
			
		||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
 | 
			
		||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 | 
			
		||||
install_sh_DATA = $(install_sh) -c -m 644
 | 
			
		||||
install_sh_PROGRAM = $(install_sh) -c
 | 
			
		||||
install_sh_SCRIPT = $(install_sh) -c
 | 
			
		||||
INSTALL_HEADER = $(INSTALL_DATA)
 | 
			
		||||
transform = $(program_transform_name)
 | 
			
		||||
NORMAL_INSTALL = :
 | 
			
		||||
PRE_INSTALL = :
 | 
			
		||||
POST_INSTALL = :
 | 
			
		||||
NORMAL_UNINSTALL = :
 | 
			
		||||
PRE_UNINSTALL = :
 | 
			
		||||
POST_UNINSTALL = :
 | 
			
		||||
build_triplet = @build@
 | 
			
		||||
host_triplet = @host@
 | 
			
		||||
subdir = .
 | 
			
		||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 | 
			
		||||
	$(top_srcdir)/configure $(am__configure_deps) ac/ar-lib \
 | 
			
		||||
	ac/compile ac/config.guess ac/config.sub ac/depcomp \
 | 
			
		||||
	ac/install-sh ac/missing ac/ltmain.sh $(top_srcdir)/ac/ar-lib \
 | 
			
		||||
	$(top_srcdir)/ac/compile $(top_srcdir)/ac/config.guess \
 | 
			
		||||
	$(top_srcdir)/ac/config.sub $(top_srcdir)/ac/install-sh \
 | 
			
		||||
	$(top_srcdir)/ac/ltmain.sh $(top_srcdir)/ac/missing
 | 
			
		||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 | 
			
		||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ax_cxx_namespace.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ax_numval.m4 $(top_srcdir)/m4/libtool.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
 | 
			
		||||
	$(top_srcdir)/configure.ac
 | 
			
		||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 | 
			
		||||
	$(ACLOCAL_M4)
 | 
			
		||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 | 
			
		||||
 configure.lineno config.status.lineno
 | 
			
		||||
mkinstalldirs = $(install_sh) -d
 | 
			
		||||
CONFIG_HEADER = $(top_builddir)/lib/stio-cfg.h
 | 
			
		||||
CONFIG_CLEAN_FILES =
 | 
			
		||||
CONFIG_CLEAN_VPATH_FILES =
 | 
			
		||||
AM_V_P = $(am__v_P_@AM_V@)
 | 
			
		||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_P_0 = false
 | 
			
		||||
am__v_P_1 = :
 | 
			
		||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
 | 
			
		||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_GEN_0 = @echo "  GEN     " $@;
 | 
			
		||||
am__v_GEN_1 = 
 | 
			
		||||
AM_V_at = $(am__v_at_@AM_V@)
 | 
			
		||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_at_0 = @
 | 
			
		||||
am__v_at_1 = 
 | 
			
		||||
SOURCES =
 | 
			
		||||
DIST_SOURCES =
 | 
			
		||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
 | 
			
		||||
	ctags-recursive dvi-recursive html-recursive info-recursive \
 | 
			
		||||
	install-data-recursive install-dvi-recursive \
 | 
			
		||||
	install-exec-recursive install-html-recursive \
 | 
			
		||||
	install-info-recursive install-pdf-recursive \
 | 
			
		||||
	install-ps-recursive install-recursive installcheck-recursive \
 | 
			
		||||
	installdirs-recursive pdf-recursive ps-recursive \
 | 
			
		||||
	tags-recursive uninstall-recursive
 | 
			
		||||
am__can_run_installinfo = \
 | 
			
		||||
  case $$AM_UPDATE_INFO_DIR in \
 | 
			
		||||
    n|no|NO) false;; \
 | 
			
		||||
    *) (install-info --version) >/dev/null 2>&1;; \
 | 
			
		||||
  esac
 | 
			
		||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
 | 
			
		||||
  distclean-recursive maintainer-clean-recursive
 | 
			
		||||
am__recursive_targets = \
 | 
			
		||||
  $(RECURSIVE_TARGETS) \
 | 
			
		||||
  $(RECURSIVE_CLEAN_TARGETS) \
 | 
			
		||||
  $(am__extra_recursive_targets)
 | 
			
		||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
 | 
			
		||||
	cscope distdir dist dist-all distcheck
 | 
			
		||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 | 
			
		||||
# Read a list of newline-separated strings from the standard input,
 | 
			
		||||
# and print each of them once, without duplicates.  Input order is
 | 
			
		||||
# *not* preserved.
 | 
			
		||||
am__uniquify_input = $(AWK) '\
 | 
			
		||||
  BEGIN { nonempty = 0; } \
 | 
			
		||||
  { items[$$0] = 1; nonempty = 1; } \
 | 
			
		||||
  END { if (nonempty) { for (i in items) print i; }; } \
 | 
			
		||||
'
 | 
			
		||||
# Make sure the list of sources is unique.  This is necessary because,
 | 
			
		||||
# e.g., the same source file might be shared among _SOURCES variables
 | 
			
		||||
# for different programs/libraries.
 | 
			
		||||
am__define_uniq_tagged_files = \
 | 
			
		||||
  list='$(am__tagged_files)'; \
 | 
			
		||||
  unique=`for i in $$list; do \
 | 
			
		||||
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 | 
			
		||||
  done | $(am__uniquify_input)`
 | 
			
		||||
ETAGS = etags
 | 
			
		||||
CTAGS = ctags
 | 
			
		||||
CSCOPE = cscope
 | 
			
		||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 | 
			
		||||
distdir = $(PACKAGE)-$(VERSION)
 | 
			
		||||
top_distdir = $(distdir)
 | 
			
		||||
am__remove_distdir = \
 | 
			
		||||
  if test -d "$(distdir)"; then \
 | 
			
		||||
    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
 | 
			
		||||
      && rm -rf "$(distdir)" \
 | 
			
		||||
      || { sleep 5 && rm -rf "$(distdir)"; }; \
 | 
			
		||||
  else :; fi
 | 
			
		||||
am__post_remove_distdir = $(am__remove_distdir)
 | 
			
		||||
am__relativize = \
 | 
			
		||||
  dir0=`pwd`; \
 | 
			
		||||
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
 | 
			
		||||
  sed_rest='s,^[^/]*/*,,'; \
 | 
			
		||||
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
 | 
			
		||||
  sed_butlast='s,/*[^/]*$$,,'; \
 | 
			
		||||
  while test -n "$$dir1"; do \
 | 
			
		||||
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
 | 
			
		||||
    if test "$$first" != "."; then \
 | 
			
		||||
      if test "$$first" = ".."; then \
 | 
			
		||||
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
 | 
			
		||||
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
 | 
			
		||||
      else \
 | 
			
		||||
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
 | 
			
		||||
        if test "$$first2" = "$$first"; then \
 | 
			
		||||
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
 | 
			
		||||
        else \
 | 
			
		||||
          dir2="../$$dir2"; \
 | 
			
		||||
        fi; \
 | 
			
		||||
        dir0="$$dir0"/"$$first"; \
 | 
			
		||||
      fi; \
 | 
			
		||||
    fi; \
 | 
			
		||||
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
 | 
			
		||||
  done; \
 | 
			
		||||
  reldir="$$dir2"
 | 
			
		||||
DIST_ARCHIVES = $(distdir).tar.gz
 | 
			
		||||
GZIP_ENV = --best
 | 
			
		||||
DIST_TARGETS = dist-gzip
 | 
			
		||||
distuninstallcheck_listfiles = find . -type f -print
 | 
			
		||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
 | 
			
		||||
  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 | 
			
		||||
distcleancheck_listfiles = find . -type f -print
 | 
			
		||||
ACLOCAL = @ACLOCAL@
 | 
			
		||||
AMTAR = @AMTAR@
 | 
			
		||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 | 
			
		||||
AR = @AR@
 | 
			
		||||
AUTOCONF = @AUTOCONF@
 | 
			
		||||
AUTOHEADER = @AUTOHEADER@
 | 
			
		||||
AUTOMAKE = @AUTOMAKE@
 | 
			
		||||
AWK = @AWK@
 | 
			
		||||
BUILD_MODE = @BUILD_MODE@
 | 
			
		||||
CC = @CC@
 | 
			
		||||
CCDEPMODE = @CCDEPMODE@
 | 
			
		||||
CFLAGS = @CFLAGS@
 | 
			
		||||
CPP = @CPP@
 | 
			
		||||
CPPFLAGS = @CPPFLAGS@
 | 
			
		||||
CXX = @CXX@
 | 
			
		||||
CXXCPP = @CXXCPP@
 | 
			
		||||
CXXDEPMODE = @CXXDEPMODE@
 | 
			
		||||
CXXFLAGS = @CXXFLAGS@
 | 
			
		||||
CYGPATH_W = @CYGPATH_W@
 | 
			
		||||
DEFS = @DEFS@
 | 
			
		||||
DEPDIR = @DEPDIR@
 | 
			
		||||
DLLTOOL = @DLLTOOL@
 | 
			
		||||
DSYMUTIL = @DSYMUTIL@
 | 
			
		||||
DUMPBIN = @DUMPBIN@
 | 
			
		||||
ECHO = @ECHO@
 | 
			
		||||
ECHO_C = @ECHO_C@
 | 
			
		||||
ECHO_N = @ECHO_N@
 | 
			
		||||
ECHO_T = @ECHO_T@
 | 
			
		||||
EGREP = @EGREP@
 | 
			
		||||
EXEEXT = @EXEEXT@
 | 
			
		||||
FGREP = @FGREP@
 | 
			
		||||
GREP = @GREP@
 | 
			
		||||
HAVE_CXX = @HAVE_CXX@
 | 
			
		||||
INSTALL = @INSTALL@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 | 
			
		||||
LD = @LD@
 | 
			
		||||
LDFLAGS = @LDFLAGS@
 | 
			
		||||
LIBM = @LIBM@
 | 
			
		||||
LIBOBJS = @LIBOBJS@
 | 
			
		||||
LIBS = @LIBS@
 | 
			
		||||
LIBTOOL = @LIBTOOL@
 | 
			
		||||
LIBTOOL_DEPS = @LIBTOOL_DEPS@
 | 
			
		||||
LIPO = @LIPO@
 | 
			
		||||
LN_S = @LN_S@
 | 
			
		||||
LTLIBOBJS = @LTLIBOBJS@
 | 
			
		||||
MAKEINFO = @MAKEINFO@
 | 
			
		||||
MANIFEST_TOOL = @MANIFEST_TOOL@
 | 
			
		||||
MKDIR_P = @MKDIR_P@
 | 
			
		||||
NM = @NM@
 | 
			
		||||
NMEDIT = @NMEDIT@
 | 
			
		||||
OBJDUMP = @OBJDUMP@
 | 
			
		||||
OBJEXT = @OBJEXT@
 | 
			
		||||
OTOOL = @OTOOL@
 | 
			
		||||
OTOOL64 = @OTOOL64@
 | 
			
		||||
PACKAGE = @PACKAGE@
 | 
			
		||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 | 
			
		||||
PACKAGE_NAME = @PACKAGE_NAME@
 | 
			
		||||
PACKAGE_STRING = @PACKAGE_STRING@
 | 
			
		||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
 | 
			
		||||
PACKAGE_URL = @PACKAGE_URL@
 | 
			
		||||
PACKAGE_VERSION = @PACKAGE_VERSION@
 | 
			
		||||
PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
 | 
			
		||||
PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
 | 
			
		||||
PACKAGE_VERSION_PATCH = @PACKAGE_VERSION_PATCH@
 | 
			
		||||
PATH_SEPARATOR = @PATH_SEPARATOR@
 | 
			
		||||
QUADMATH_LIBS = @QUADMATH_LIBS@
 | 
			
		||||
RANLIB = @RANLIB@
 | 
			
		||||
RM = @RM@
 | 
			
		||||
RMDIR = @RMDIR@
 | 
			
		||||
SED = @SED@
 | 
			
		||||
SENDFILE_LIBS = @SENDFILE_LIBS@
 | 
			
		||||
SET_MAKE = @SET_MAKE@
 | 
			
		||||
SHELL = @SHELL@
 | 
			
		||||
SOCKET_LIBS = @SOCKET_LIBS@
 | 
			
		||||
SSL_LIBS = @SSL_LIBS@
 | 
			
		||||
STIO_PROJECT_AUTHOR = @STIO_PROJECT_AUTHOR@
 | 
			
		||||
STIO_PROJECT_URL = @STIO_PROJECT_URL@
 | 
			
		||||
STIO_SIZEOF_CHAR = @STIO_SIZEOF_CHAR@
 | 
			
		||||
STIO_SIZEOF_DOUBLE = @STIO_SIZEOF_DOUBLE@
 | 
			
		||||
STIO_SIZEOF_FLOAT = @STIO_SIZEOF_FLOAT@
 | 
			
		||||
STIO_SIZEOF_INT = @STIO_SIZEOF_INT@
 | 
			
		||||
STIO_SIZEOF_LONG = @STIO_SIZEOF_LONG@
 | 
			
		||||
STIO_SIZEOF_LONG_DOUBLE = @STIO_SIZEOF_LONG_DOUBLE@
 | 
			
		||||
STIO_SIZEOF_LONG_LONG = @STIO_SIZEOF_LONG_LONG@
 | 
			
		||||
STIO_SIZEOF_OFF64_T = @STIO_SIZEOF_OFF64_T@
 | 
			
		||||
STIO_SIZEOF_OFF_T = @STIO_SIZEOF_OFF_T@
 | 
			
		||||
STIO_SIZEOF_SHORT = @STIO_SIZEOF_SHORT@
 | 
			
		||||
STIO_SIZEOF_VOID_P = @STIO_SIZEOF_VOID_P@
 | 
			
		||||
STIO_SIZEOF_WCHAR_T = @STIO_SIZEOF_WCHAR_T@
 | 
			
		||||
STRIP = @STRIP@
 | 
			
		||||
TRUE = @TRUE@
 | 
			
		||||
UNICOWS_LIBS = @UNICOWS_LIBS@
 | 
			
		||||
VERSION = @VERSION@
 | 
			
		||||
abs_builddir = @abs_builddir@
 | 
			
		||||
abs_srcdir = @abs_srcdir@
 | 
			
		||||
abs_top_builddir = @abs_top_builddir@
 | 
			
		||||
abs_top_srcdir = @abs_top_srcdir@
 | 
			
		||||
ac_ct_AR = @ac_ct_AR@
 | 
			
		||||
ac_ct_CC = @ac_ct_CC@
 | 
			
		||||
ac_ct_CXX = @ac_ct_CXX@
 | 
			
		||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 | 
			
		||||
am__include = @am__include@
 | 
			
		||||
am__leading_dot = @am__leading_dot@
 | 
			
		||||
am__quote = @am__quote@
 | 
			
		||||
am__tar = @am__tar@
 | 
			
		||||
am__untar = @am__untar@
 | 
			
		||||
bindir = @bindir@
 | 
			
		||||
build = @build@
 | 
			
		||||
build_alias = @build_alias@
 | 
			
		||||
build_cpu = @build_cpu@
 | 
			
		||||
build_os = @build_os@
 | 
			
		||||
build_vendor = @build_vendor@
 | 
			
		||||
builddir = @builddir@
 | 
			
		||||
datadir = @datadir@
 | 
			
		||||
datarootdir = @datarootdir@
 | 
			
		||||
docdir = @docdir@
 | 
			
		||||
dvidir = @dvidir@
 | 
			
		||||
exec_prefix = @exec_prefix@
 | 
			
		||||
host = @host@
 | 
			
		||||
host_alias = @host_alias@
 | 
			
		||||
host_cpu = @host_cpu@
 | 
			
		||||
host_os = @host_os@
 | 
			
		||||
host_vendor = @host_vendor@
 | 
			
		||||
htmldir = @htmldir@
 | 
			
		||||
includedir = @includedir@
 | 
			
		||||
infodir = @infodir@
 | 
			
		||||
install_sh = @install_sh@
 | 
			
		||||
libdir = @libdir@
 | 
			
		||||
libexecdir = @libexecdir@
 | 
			
		||||
localedir = @localedir@
 | 
			
		||||
localstatedir = @localstatedir@
 | 
			
		||||
mandir = @mandir@
 | 
			
		||||
mkdir_p = @mkdir_p@
 | 
			
		||||
oldincludedir = @oldincludedir@
 | 
			
		||||
pdfdir = @pdfdir@
 | 
			
		||||
prefix = @prefix@
 | 
			
		||||
program_transform_name = @program_transform_name@
 | 
			
		||||
psdir = @psdir@
 | 
			
		||||
sbindir = @sbindir@
 | 
			
		||||
sharedstatedir = @sharedstatedir@
 | 
			
		||||
srcdir = @srcdir@
 | 
			
		||||
sysconfdir = @sysconfdir@
 | 
			
		||||
target_alias = @target_alias@
 | 
			
		||||
top_build_prefix = @top_build_prefix@
 | 
			
		||||
top_builddir = @top_builddir@
 | 
			
		||||
top_srcdir = @top_srcdir@
 | 
			
		||||
AUTOMAKE_OPTION = foreign
 | 
			
		||||
ACLOCAL_AMFLAGS = -I m4
 | 
			
		||||
EXTRA_DIST = 
 | 
			
		||||
SUBDIRS = lib
 | 
			
		||||
DIST_SUBDIRS = $(SUBDIRS) 
 | 
			
		||||
all: all-recursive
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:
 | 
			
		||||
am--refresh: Makefile
 | 
			
		||||
	@:
 | 
			
		||||
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 | 
			
		||||
	@for dep in $?; do \
 | 
			
		||||
	  case '$(am__configure_deps)' in \
 | 
			
		||||
	    *$$dep*) \
 | 
			
		||||
	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
 | 
			
		||||
	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
 | 
			
		||||
		&& exit 0; \
 | 
			
		||||
	      exit 1;; \
 | 
			
		||||
	  esac; \
 | 
			
		||||
	done; \
 | 
			
		||||
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 | 
			
		||||
	$(am__cd) $(top_srcdir) && \
 | 
			
		||||
	  $(AUTOMAKE) --foreign Makefile
 | 
			
		||||
.PRECIOUS: Makefile
 | 
			
		||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 | 
			
		||||
	@case '$?' in \
 | 
			
		||||
	  *config.status*) \
 | 
			
		||||
	    echo ' $(SHELL) ./config.status'; \
 | 
			
		||||
	    $(SHELL) ./config.status;; \
 | 
			
		||||
	  *) \
 | 
			
		||||
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 | 
			
		||||
	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 | 
			
		||||
	esac;
 | 
			
		||||
 | 
			
		||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 | 
			
		||||
	$(SHELL) ./config.status --recheck
 | 
			
		||||
 | 
			
		||||
$(top_srcdir)/configure:  $(am__configure_deps)
 | 
			
		||||
	$(am__cd) $(srcdir) && $(AUTOCONF)
 | 
			
		||||
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 | 
			
		||||
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 | 
			
		||||
$(am__aclocal_m4_deps):
 | 
			
		||||
 | 
			
		||||
mostlyclean-libtool:
 | 
			
		||||
	-rm -f *.lo
 | 
			
		||||
 | 
			
		||||
clean-libtool:
 | 
			
		||||
	-rm -rf .libs _libs
 | 
			
		||||
 | 
			
		||||
distclean-libtool:
 | 
			
		||||
	-rm -f libtool config.lt
 | 
			
		||||
 | 
			
		||||
# This directory's subdirectories are mostly independent; you can cd
 | 
			
		||||
# into them and run 'make' without going through this Makefile.
 | 
			
		||||
# To change the values of 'make' variables: instead of editing Makefiles,
 | 
			
		||||
# (1) if the variable is set in 'config.status', edit 'config.status'
 | 
			
		||||
#     (which will cause the Makefiles to be regenerated when you run 'make');
 | 
			
		||||
# (2) otherwise, pass the desired values on the 'make' command line.
 | 
			
		||||
$(am__recursive_targets):
 | 
			
		||||
	@fail=; \
 | 
			
		||||
	if $(am__make_keepgoing); then \
 | 
			
		||||
	  failcom='fail=yes'; \
 | 
			
		||||
	else \
 | 
			
		||||
	  failcom='exit 1'; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	dot_seen=no; \
 | 
			
		||||
	target=`echo $@ | sed s/-recursive//`; \
 | 
			
		||||
	case "$@" in \
 | 
			
		||||
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
 | 
			
		||||
	  *) list='$(SUBDIRS)' ;; \
 | 
			
		||||
	esac; \
 | 
			
		||||
	for subdir in $$list; do \
 | 
			
		||||
	  echo "Making $$target in $$subdir"; \
 | 
			
		||||
	  if test "$$subdir" = "."; then \
 | 
			
		||||
	    dot_seen=yes; \
 | 
			
		||||
	    local_target="$$target-am"; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    local_target="$$target"; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 | 
			
		||||
	  || eval $$failcom; \
 | 
			
		||||
	done; \
 | 
			
		||||
	if test "$$dot_seen" = "no"; then \
 | 
			
		||||
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 | 
			
		||||
	fi; test -z "$$fail"
 | 
			
		||||
 | 
			
		||||
ID: $(am__tagged_files)
 | 
			
		||||
	$(am__define_uniq_tagged_files); mkid -fID $$unique
 | 
			
		||||
tags: tags-recursive
 | 
			
		||||
TAGS: tags
 | 
			
		||||
 | 
			
		||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 | 
			
		||||
	set x; \
 | 
			
		||||
	here=`pwd`; \
 | 
			
		||||
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 | 
			
		||||
	  include_option=--etags-include; \
 | 
			
		||||
	  empty_fix=.; \
 | 
			
		||||
	else \
 | 
			
		||||
	  include_option=--include; \
 | 
			
		||||
	  empty_fix=; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	list='$(SUBDIRS)'; for subdir in $$list; do \
 | 
			
		||||
	  if test "$$subdir" = .; then :; else \
 | 
			
		||||
	    test ! -f $$subdir/TAGS || \
 | 
			
		||||
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	done; \
 | 
			
		||||
	$(am__define_uniq_tagged_files); \
 | 
			
		||||
	shift; \
 | 
			
		||||
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 | 
			
		||||
	  test -n "$$unique" || unique=$$empty_fix; \
 | 
			
		||||
	  if test $$# -gt 0; then \
 | 
			
		||||
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
 | 
			
		||||
	      "$$@" $$unique; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
 | 
			
		||||
	      $$unique; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	fi
 | 
			
		||||
ctags: ctags-recursive
 | 
			
		||||
 | 
			
		||||
CTAGS: ctags
 | 
			
		||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 | 
			
		||||
	$(am__define_uniq_tagged_files); \
 | 
			
		||||
	test -z "$(CTAGS_ARGS)$$unique" \
 | 
			
		||||
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 | 
			
		||||
	     $$unique
 | 
			
		||||
 | 
			
		||||
GTAGS:
 | 
			
		||||
	here=`$(am__cd) $(top_builddir) && pwd` \
 | 
			
		||||
	  && $(am__cd) $(top_srcdir) \
 | 
			
		||||
	  && gtags -i $(GTAGS_ARGS) "$$here"
 | 
			
		||||
cscope: cscope.files
 | 
			
		||||
	test ! -s cscope.files \
 | 
			
		||||
	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
 | 
			
		||||
clean-cscope:
 | 
			
		||||
	-rm -f cscope.files
 | 
			
		||||
cscope.files: clean-cscope cscopelist
 | 
			
		||||
cscopelist: cscopelist-recursive
 | 
			
		||||
 | 
			
		||||
cscopelist-am: $(am__tagged_files)
 | 
			
		||||
	list='$(am__tagged_files)'; \
 | 
			
		||||
	case "$(srcdir)" in \
 | 
			
		||||
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
 | 
			
		||||
	  *) sdir=$(subdir)/$(srcdir) ;; \
 | 
			
		||||
	esac; \
 | 
			
		||||
	for i in $$list; do \
 | 
			
		||||
	  if test -f "$$i"; then \
 | 
			
		||||
	    echo "$(subdir)/$$i"; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    echo "$$sdir/$$i"; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	done >> $(top_builddir)/cscope.files
 | 
			
		||||
 | 
			
		||||
distclean-tags:
 | 
			
		||||
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 | 
			
		||||
	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 | 
			
		||||
 | 
			
		||||
distdir: $(DISTFILES)
 | 
			
		||||
	$(am__remove_distdir)
 | 
			
		||||
	test -d "$(distdir)" || mkdir "$(distdir)"
 | 
			
		||||
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 | 
			
		||||
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 | 
			
		||||
	list='$(DISTFILES)'; \
 | 
			
		||||
	  dist_files=`for file in $$list; do echo $$file; done | \
 | 
			
		||||
	  sed -e "s|^$$srcdirstrip/||;t" \
 | 
			
		||||
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
 | 
			
		||||
	case $$dist_files in \
 | 
			
		||||
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
 | 
			
		||||
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
 | 
			
		||||
			   sort -u` ;; \
 | 
			
		||||
	esac; \
 | 
			
		||||
	for file in $$dist_files; do \
 | 
			
		||||
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 | 
			
		||||
	  if test -d $$d/$$file; then \
 | 
			
		||||
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 | 
			
		||||
	    if test -d "$(distdir)/$$file"; then \
 | 
			
		||||
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 | 
			
		||||
	    fi; \
 | 
			
		||||
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 | 
			
		||||
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
 | 
			
		||||
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 | 
			
		||||
	    fi; \
 | 
			
		||||
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    test -f "$(distdir)/$$file" \
 | 
			
		||||
	    || cp -p $$d/$$file "$(distdir)/$$file" \
 | 
			
		||||
	    || exit 1; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	done
 | 
			
		||||
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 | 
			
		||||
	  if test "$$subdir" = .; then :; else \
 | 
			
		||||
	    $(am__make_dryrun) \
 | 
			
		||||
	      || test -d "$(distdir)/$$subdir" \
 | 
			
		||||
	      || $(MKDIR_P) "$(distdir)/$$subdir" \
 | 
			
		||||
	      || exit 1; \
 | 
			
		||||
	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
 | 
			
		||||
	    $(am__relativize); \
 | 
			
		||||
	    new_distdir=$$reldir; \
 | 
			
		||||
	    dir1=$$subdir; dir2="$(top_distdir)"; \
 | 
			
		||||
	    $(am__relativize); \
 | 
			
		||||
	    new_top_distdir=$$reldir; \
 | 
			
		||||
	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
 | 
			
		||||
	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
 | 
			
		||||
	    ($(am__cd) $$subdir && \
 | 
			
		||||
	      $(MAKE) $(AM_MAKEFLAGS) \
 | 
			
		||||
	        top_distdir="$$new_top_distdir" \
 | 
			
		||||
	        distdir="$$new_distdir" \
 | 
			
		||||
		am__remove_distdir=: \
 | 
			
		||||
		am__skip_length_check=: \
 | 
			
		||||
		am__skip_mode_fix=: \
 | 
			
		||||
	        distdir) \
 | 
			
		||||
	      || exit 1; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	done
 | 
			
		||||
	-test -n "$(am__skip_mode_fix)" \
 | 
			
		||||
	|| find "$(distdir)" -type d ! -perm -755 \
 | 
			
		||||
		-exec chmod u+rwx,go+rx {} \; -o \
 | 
			
		||||
	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 | 
			
		||||
	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 | 
			
		||||
	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
 | 
			
		||||
	|| chmod -R a+r "$(distdir)"
 | 
			
		||||
dist-gzip: distdir
 | 
			
		||||
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist-bzip2: distdir
 | 
			
		||||
	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist-lzip: distdir
 | 
			
		||||
	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist-xz: distdir
 | 
			
		||||
	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist-tarZ: distdir
 | 
			
		||||
	@echo WARNING: "Support for shar distribution archives is" \
 | 
			
		||||
	               "deprecated." >&2
 | 
			
		||||
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 | 
			
		||||
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist-shar: distdir
 | 
			
		||||
	@echo WARNING: "Support for distribution archives compressed with" \
 | 
			
		||||
		       "legacy program 'compress' is deprecated." >&2
 | 
			
		||||
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 | 
			
		||||
	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist-zip: distdir
 | 
			
		||||
	-rm -f $(distdir).zip
 | 
			
		||||
	zip -rq $(distdir).zip $(distdir)
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
dist dist-all:
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
 | 
			
		||||
	$(am__post_remove_distdir)
 | 
			
		||||
 | 
			
		||||
# This target untars the dist file and tries a VPATH configuration.  Then
 | 
			
		||||
# it guarantees that the distribution is self-contained by making another
 | 
			
		||||
# tarfile.
 | 
			
		||||
distcheck: dist
 | 
			
		||||
	case '$(DIST_ARCHIVES)' in \
 | 
			
		||||
	*.tar.gz*) \
 | 
			
		||||
	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 | 
			
		||||
	*.tar.bz2*) \
 | 
			
		||||
	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 | 
			
		||||
	*.tar.lz*) \
 | 
			
		||||
	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 | 
			
		||||
	*.tar.xz*) \
 | 
			
		||||
	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 | 
			
		||||
	*.tar.Z*) \
 | 
			
		||||
	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 | 
			
		||||
	*.shar.gz*) \
 | 
			
		||||
	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
 | 
			
		||||
	*.zip*) \
 | 
			
		||||
	  unzip $(distdir).zip ;;\
 | 
			
		||||
	esac
 | 
			
		||||
	chmod -R a-w $(distdir)
 | 
			
		||||
	chmod u+w $(distdir)
 | 
			
		||||
	mkdir $(distdir)/_build $(distdir)/_inst
 | 
			
		||||
	chmod a-w $(distdir)
 | 
			
		||||
	test -d $(distdir)/_build || exit 0; \
 | 
			
		||||
	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 | 
			
		||||
	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 | 
			
		||||
	  && am__cwd=`pwd` \
 | 
			
		||||
	  && $(am__cd) $(distdir)/_build \
 | 
			
		||||
	  && ../configure \
 | 
			
		||||
	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 | 
			
		||||
	    $(DISTCHECK_CONFIGURE_FLAGS) \
 | 
			
		||||
	    --srcdir=.. --prefix="$$dc_install_base" \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) check \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) install \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
 | 
			
		||||
	        distuninstallcheck \
 | 
			
		||||
	  && chmod -R a-w "$$dc_install_base" \
 | 
			
		||||
	  && ({ \
 | 
			
		||||
	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
 | 
			
		||||
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
 | 
			
		||||
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
 | 
			
		||||
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
 | 
			
		||||
	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
 | 
			
		||||
	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
 | 
			
		||||
	  && rm -rf "$$dc_destdir" \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) dist \
 | 
			
		||||
	  && rm -rf $(DIST_ARCHIVES) \
 | 
			
		||||
	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
 | 
			
		||||
	  && cd "$$am__cwd" \
 | 
			
		||||
	  || exit 1
 | 
			
		||||
	$(am__post_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:
 | 
			
		||||
	@test -n '$(distuninstallcheck_dir)' || { \
 | 
			
		||||
	  echo 'ERROR: trying to run $@ with an empty' \
 | 
			
		||||
	       '$$(distuninstallcheck_dir)' >&2; \
 | 
			
		||||
	  exit 1; \
 | 
			
		||||
	}; \
 | 
			
		||||
	$(am__cd) '$(distuninstallcheck_dir)' || { \
 | 
			
		||||
	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
 | 
			
		||||
	  exit 1; \
 | 
			
		||||
	}; \
 | 
			
		||||
	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
 | 
			
		||||
	   || { echo "ERROR: files left after uninstall:" ; \
 | 
			
		||||
	        if test -n "$(DESTDIR)"; then \
 | 
			
		||||
	          echo "  (check DESTDIR support)"; \
 | 
			
		||||
	        fi ; \
 | 
			
		||||
	        $(distuninstallcheck_listfiles) ; \
 | 
			
		||||
	        exit 1; } >&2
 | 
			
		||||
distcleancheck: distclean
 | 
			
		||||
	@if test '$(srcdir)' = . ; then \
 | 
			
		||||
	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
 | 
			
		||||
	  exit 1 ; \
 | 
			
		||||
	fi
 | 
			
		||||
	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
 | 
			
		||||
	  || { echo "ERROR: files left in build directory after distclean:" ; \
 | 
			
		||||
	       $(distcleancheck_listfiles) ; \
 | 
			
		||||
	       exit 1; } >&2
 | 
			
		||||
check-am: all-am
 | 
			
		||||
check: check-recursive
 | 
			
		||||
all-am: Makefile
 | 
			
		||||
installdirs: installdirs-recursive
 | 
			
		||||
installdirs-am:
 | 
			
		||||
install: install-recursive
 | 
			
		||||
install-exec: install-exec-recursive
 | 
			
		||||
install-data: install-data-recursive
 | 
			
		||||
uninstall: uninstall-recursive
 | 
			
		||||
 | 
			
		||||
install-am: all-am
 | 
			
		||||
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 | 
			
		||||
 | 
			
		||||
installcheck: installcheck-recursive
 | 
			
		||||
install-strip:
 | 
			
		||||
	if test -z '$(STRIP)'; then \
 | 
			
		||||
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
 | 
			
		||||
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
 | 
			
		||||
	      install; \
 | 
			
		||||
	else \
 | 
			
		||||
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
 | 
			
		||||
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
 | 
			
		||||
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
 | 
			
		||||
	fi
 | 
			
		||||
mostlyclean-generic:
 | 
			
		||||
 | 
			
		||||
clean-generic:
 | 
			
		||||
 | 
			
		||||
distclean-generic:
 | 
			
		||||
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 | 
			
		||||
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 | 
			
		||||
 | 
			
		||||
maintainer-clean-generic:
 | 
			
		||||
	@echo "This command is intended for maintainers to use"
 | 
			
		||||
	@echo "it deletes files that may require special tools to rebuild."
 | 
			
		||||
clean: clean-recursive
 | 
			
		||||
 | 
			
		||||
clean-am: clean-generic clean-libtool mostlyclean-am
 | 
			
		||||
 | 
			
		||||
distclean: distclean-recursive
 | 
			
		||||
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 | 
			
		||||
	-rm -f Makefile
 | 
			
		||||
distclean-am: clean-am distclean-generic distclean-libtool \
 | 
			
		||||
	distclean-local distclean-tags
 | 
			
		||||
 | 
			
		||||
dvi: dvi-recursive
 | 
			
		||||
 | 
			
		||||
dvi-am:
 | 
			
		||||
 | 
			
		||||
html: html-recursive
 | 
			
		||||
 | 
			
		||||
html-am:
 | 
			
		||||
 | 
			
		||||
info: info-recursive
 | 
			
		||||
 | 
			
		||||
info-am:
 | 
			
		||||
 | 
			
		||||
install-data-am:
 | 
			
		||||
 | 
			
		||||
install-dvi: install-dvi-recursive
 | 
			
		||||
 | 
			
		||||
install-dvi-am:
 | 
			
		||||
 | 
			
		||||
install-exec-am:
 | 
			
		||||
 | 
			
		||||
install-html: install-html-recursive
 | 
			
		||||
 | 
			
		||||
install-html-am:
 | 
			
		||||
 | 
			
		||||
install-info: install-info-recursive
 | 
			
		||||
 | 
			
		||||
install-info-am:
 | 
			
		||||
 | 
			
		||||
install-man:
 | 
			
		||||
 | 
			
		||||
install-pdf: install-pdf-recursive
 | 
			
		||||
 | 
			
		||||
install-pdf-am:
 | 
			
		||||
 | 
			
		||||
install-ps: install-ps-recursive
 | 
			
		||||
 | 
			
		||||
install-ps-am:
 | 
			
		||||
 | 
			
		||||
installcheck-am:
 | 
			
		||||
 | 
			
		||||
maintainer-clean: maintainer-clean-recursive
 | 
			
		||||
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 | 
			
		||||
	-rm -rf $(top_srcdir)/autom4te.cache
 | 
			
		||||
	-rm -f Makefile
 | 
			
		||||
maintainer-clean-am: distclean-am maintainer-clean-generic
 | 
			
		||||
 | 
			
		||||
mostlyclean: mostlyclean-recursive
 | 
			
		||||
 | 
			
		||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
 | 
			
		||||
 | 
			
		||||
pdf: pdf-recursive
 | 
			
		||||
 | 
			
		||||
pdf-am:
 | 
			
		||||
 | 
			
		||||
ps: ps-recursive
 | 
			
		||||
 | 
			
		||||
ps-am:
 | 
			
		||||
 | 
			
		||||
uninstall-am:
 | 
			
		||||
 | 
			
		||||
.MAKE: $(am__recursive_targets) install-am install-strip
 | 
			
		||||
 | 
			
		||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
 | 
			
		||||
	am--refresh check check-am clean clean-cscope clean-generic \
 | 
			
		||||
	clean-libtool cscope cscopelist-am ctags ctags-am dist \
 | 
			
		||||
	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
 | 
			
		||||
	dist-xz dist-zip distcheck distclean distclean-generic \
 | 
			
		||||
	distclean-libtool distclean-local distclean-tags \
 | 
			
		||||
	distcleancheck distdir distuninstallcheck dvi dvi-am html \
 | 
			
		||||
	html-am info info-am install install-am install-data \
 | 
			
		||||
	install-data-am install-dvi install-dvi-am install-exec \
 | 
			
		||||
	install-exec-am install-html install-html-am install-info \
 | 
			
		||||
	install-info-am install-man install-pdf install-pdf-am \
 | 
			
		||||
	install-ps install-ps-am install-strip installcheck \
 | 
			
		||||
	installcheck-am installdirs installdirs-am maintainer-clean \
 | 
			
		||||
	maintainer-clean-generic mostlyclean mostlyclean-generic \
 | 
			
		||||
	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 | 
			
		||||
	uninstall-am
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
distclean-local:
 | 
			
		||||
	$(RM) -r $(top_srcdir)/autom4te.cache
 | 
			
		||||
 | 
			
		||||
# 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:
 | 
			
		||||
							
								
								
									
										270
									
								
								stio/ac/ar-lib
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										270
									
								
								stio/ac/ar-lib
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,270 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Wrapper for Microsoft lib.exe
 | 
			
		||||
 | 
			
		||||
me=ar-lib
 | 
			
		||||
scriptversion=2012-03-01.08; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2010-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Written by Peter Rosin <peda@lysator.liu.se>.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
# configuration script generated by Autoconf, you may include it under
 | 
			
		||||
# the same distribution terms that you use for the rest of that program.
 | 
			
		||||
 | 
			
		||||
# This file is maintained in Automake, please report
 | 
			
		||||
# bugs to <bug-automake@gnu.org> or send patches to
 | 
			
		||||
# <automake-patches@gnu.org>.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# func_error message
 | 
			
		||||
func_error ()
 | 
			
		||||
{
 | 
			
		||||
  echo "$me: $1" 1>&2
 | 
			
		||||
  exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
file_conv=
 | 
			
		||||
 | 
			
		||||
# func_file_conv build_file
 | 
			
		||||
# Convert a $build file to $host form and store it in $file
 | 
			
		||||
# Currently only supports Windows hosts.
 | 
			
		||||
func_file_conv ()
 | 
			
		||||
{
 | 
			
		||||
  file=$1
 | 
			
		||||
  case $file in
 | 
			
		||||
    / | /[!/]*) # absolute file, and not a UNC file
 | 
			
		||||
      if test -z "$file_conv"; then
 | 
			
		||||
	# lazily determine how to convert abs files
 | 
			
		||||
	case `uname -s` in
 | 
			
		||||
	  MINGW*)
 | 
			
		||||
	    file_conv=mingw
 | 
			
		||||
	    ;;
 | 
			
		||||
	  CYGWIN*)
 | 
			
		||||
	    file_conv=cygwin
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    file_conv=wine
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
      fi
 | 
			
		||||
      case $file_conv in
 | 
			
		||||
	mingw)
 | 
			
		||||
	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
 | 
			
		||||
	  ;;
 | 
			
		||||
	cygwin)
 | 
			
		||||
	  file=`cygpath -m "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
	wine)
 | 
			
		||||
	  file=`winepath -w "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_at_file at_file operation archive
 | 
			
		||||
# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
 | 
			
		||||
# for each of them.
 | 
			
		||||
# When interpreting the content of the @FILE, do NOT use func_file_conv,
 | 
			
		||||
# since the user would need to supply preconverted file names to
 | 
			
		||||
# binutils ar, at least for MinGW.
 | 
			
		||||
func_at_file ()
 | 
			
		||||
{
 | 
			
		||||
  operation=$2
 | 
			
		||||
  archive=$3
 | 
			
		||||
  at_file_contents=`cat "$1"`
 | 
			
		||||
  eval set x "$at_file_contents"
 | 
			
		||||
  shift
 | 
			
		||||
 | 
			
		||||
  for member
 | 
			
		||||
  do
 | 
			
		||||
    $AR -NOLOGO $operation:"$member" "$archive" || exit $?
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
     func_error "no command.  Try '$0 --help' for more information."
 | 
			
		||||
     ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<EOF
 | 
			
		||||
Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
 | 
			
		||||
 | 
			
		||||
Members may be specified in a file named with @FILE.
 | 
			
		||||
EOF
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  -v | --v*)
 | 
			
		||||
    echo "$me, version $scriptversion"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if test $# -lt 3; then
 | 
			
		||||
  func_error "you must specify a program, an action and an archive"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AR=$1
 | 
			
		||||
shift
 | 
			
		||||
while :
 | 
			
		||||
do
 | 
			
		||||
  if test $# -lt 2; then
 | 
			
		||||
    func_error "you must specify a program, an action and an archive"
 | 
			
		||||
  fi
 | 
			
		||||
  case $1 in
 | 
			
		||||
    -lib | -LIB \
 | 
			
		||||
    | -ltcg | -LTCG \
 | 
			
		||||
    | -machine* | -MACHINE* \
 | 
			
		||||
    | -subsystem* | -SUBSYSTEM* \
 | 
			
		||||
    | -verbose | -VERBOSE \
 | 
			
		||||
    | -wx* | -WX* )
 | 
			
		||||
      AR="$AR $1"
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      action=$1
 | 
			
		||||
      shift
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
done
 | 
			
		||||
orig_archive=$1
 | 
			
		||||
shift
 | 
			
		||||
func_file_conv "$orig_archive"
 | 
			
		||||
archive=$file
 | 
			
		||||
 | 
			
		||||
# strip leading dash in $action
 | 
			
		||||
action=${action#-}
 | 
			
		||||
 | 
			
		||||
delete=
 | 
			
		||||
extract=
 | 
			
		||||
list=
 | 
			
		||||
quick=
 | 
			
		||||
replace=
 | 
			
		||||
index=
 | 
			
		||||
create=
 | 
			
		||||
 | 
			
		||||
while test -n "$action"
 | 
			
		||||
do
 | 
			
		||||
  case $action in
 | 
			
		||||
    d*) delete=yes  ;;
 | 
			
		||||
    x*) extract=yes ;;
 | 
			
		||||
    t*) list=yes    ;;
 | 
			
		||||
    q*) quick=yes   ;;
 | 
			
		||||
    r*) replace=yes ;;
 | 
			
		||||
    s*) index=yes   ;;
 | 
			
		||||
    S*)             ;; # the index is always updated implicitly
 | 
			
		||||
    c*) create=yes  ;;
 | 
			
		||||
    u*)             ;; # TODO: don't ignore the update modifier
 | 
			
		||||
    v*)             ;; # TODO: don't ignore the verbose modifier
 | 
			
		||||
    *)
 | 
			
		||||
      func_error "unknown action specified"
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  action=${action#?}
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
case $delete$extract$list$quick$replace,$index in
 | 
			
		||||
  yes,* | ,yes)
 | 
			
		||||
    ;;
 | 
			
		||||
  yesyes*)
 | 
			
		||||
    func_error "more than one action specified"
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    func_error "no action specified"
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if test -n "$delete"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    func_error "archive not found"
 | 
			
		||||
  fi
 | 
			
		||||
  for member
 | 
			
		||||
  do
 | 
			
		||||
    case $1 in
 | 
			
		||||
      @*)
 | 
			
		||||
        func_at_file "${1#@}" -REMOVE "$archive"
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        func_file_conv "$1"
 | 
			
		||||
        $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
elif test -n "$extract"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    func_error "archive not found"
 | 
			
		||||
  fi
 | 
			
		||||
  if test $# -gt 0; then
 | 
			
		||||
    for member
 | 
			
		||||
    do
 | 
			
		||||
      case $1 in
 | 
			
		||||
        @*)
 | 
			
		||||
          func_at_file "${1#@}" -EXTRACT "$archive"
 | 
			
		||||
          ;;
 | 
			
		||||
        *)
 | 
			
		||||
          func_file_conv "$1"
 | 
			
		||||
          $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
    done
 | 
			
		||||
  else
 | 
			
		||||
    $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
 | 
			
		||||
    do
 | 
			
		||||
      $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
 | 
			
		||||
    done
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
elif test -n "$quick$replace"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    if test -z "$create"; then
 | 
			
		||||
      echo "$me: creating $orig_archive"
 | 
			
		||||
    fi
 | 
			
		||||
    orig_archive=
 | 
			
		||||
  else
 | 
			
		||||
    orig_archive=$archive
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  for member
 | 
			
		||||
  do
 | 
			
		||||
    case $1 in
 | 
			
		||||
    @*)
 | 
			
		||||
      func_file_conv "${1#@}"
 | 
			
		||||
      set x "$@" "@$file"
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      func_file_conv "$1"
 | 
			
		||||
      set x "$@" "$file"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
    shift
 | 
			
		||||
    shift
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  if test -n "$orig_archive"; then
 | 
			
		||||
    $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
 | 
			
		||||
  else
 | 
			
		||||
    $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
elif test -n "$list"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    func_error "archive not found"
 | 
			
		||||
  fi
 | 
			
		||||
  $AR -NOLOGO -LIST "$archive" || exit $?
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										347
									
								
								stio/ac/compile
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										347
									
								
								stio/ac/compile
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,347 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Wrapper for compilers which do not understand '-c -o'.
 | 
			
		||||
 | 
			
		||||
scriptversion=2012-10-14.11; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Written by Tom Tromey <tromey@cygnus.com>.
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
# configuration script generated by Autoconf, you may include it under
 | 
			
		||||
# the same distribution terms that you use for the rest of that program.
 | 
			
		||||
 | 
			
		||||
# This file is maintained in Automake, please report
 | 
			
		||||
# bugs to <bug-automake@gnu.org> or send patches to
 | 
			
		||||
# <automake-patches@gnu.org>.
 | 
			
		||||
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
# We need space, tab and new line, in precisely that order.  Quoting is
 | 
			
		||||
# there to prevent tools from complaining about whitespace usage.
 | 
			
		||||
IFS=" ""	$nl"
 | 
			
		||||
 | 
			
		||||
file_conv=
 | 
			
		||||
 | 
			
		||||
# func_file_conv build_file lazy
 | 
			
		||||
# Convert a $build file to $host form and store it in $file
 | 
			
		||||
# Currently only supports Windows hosts. If the determined conversion
 | 
			
		||||
# type is listed in (the comma separated) LAZY, no conversion will
 | 
			
		||||
# take place.
 | 
			
		||||
func_file_conv ()
 | 
			
		||||
{
 | 
			
		||||
  file=$1
 | 
			
		||||
  case $file in
 | 
			
		||||
    / | /[!/]*) # absolute file, and not a UNC file
 | 
			
		||||
      if test -z "$file_conv"; then
 | 
			
		||||
	# lazily determine how to convert abs files
 | 
			
		||||
	case `uname -s` in
 | 
			
		||||
	  MINGW*)
 | 
			
		||||
	    file_conv=mingw
 | 
			
		||||
	    ;;
 | 
			
		||||
	  CYGWIN*)
 | 
			
		||||
	    file_conv=cygwin
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    file_conv=wine
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
      fi
 | 
			
		||||
      case $file_conv/,$2, in
 | 
			
		||||
	*,$file_conv,*)
 | 
			
		||||
	  ;;
 | 
			
		||||
	mingw/*)
 | 
			
		||||
	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
 | 
			
		||||
	  ;;
 | 
			
		||||
	cygwin/*)
 | 
			
		||||
	  file=`cygpath -m "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
	wine/*)
 | 
			
		||||
	  file=`winepath -w "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_cl_dashL linkdir
 | 
			
		||||
# Make cl look for libraries in LINKDIR
 | 
			
		||||
func_cl_dashL ()
 | 
			
		||||
{
 | 
			
		||||
  func_file_conv "$1"
 | 
			
		||||
  if test -z "$lib_path"; then
 | 
			
		||||
    lib_path=$file
 | 
			
		||||
  else
 | 
			
		||||
    lib_path="$lib_path;$file"
 | 
			
		||||
  fi
 | 
			
		||||
  linker_opts="$linker_opts -LIBPATH:$file"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_cl_dashl library
 | 
			
		||||
# Do a library search-path lookup for cl
 | 
			
		||||
func_cl_dashl ()
 | 
			
		||||
{
 | 
			
		||||
  lib=$1
 | 
			
		||||
  found=no
 | 
			
		||||
  save_IFS=$IFS
 | 
			
		||||
  IFS=';'
 | 
			
		||||
  for dir in $lib_path $LIB
 | 
			
		||||
  do
 | 
			
		||||
    IFS=$save_IFS
 | 
			
		||||
    if $shared && test -f "$dir/$lib.dll.lib"; then
 | 
			
		||||
      found=yes
 | 
			
		||||
      lib=$dir/$lib.dll.lib
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
    if test -f "$dir/$lib.lib"; then
 | 
			
		||||
      found=yes
 | 
			
		||||
      lib=$dir/$lib.lib
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
    if test -f "$dir/lib$lib.a"; then
 | 
			
		||||
      found=yes
 | 
			
		||||
      lib=$dir/lib$lib.a
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
  IFS=$save_IFS
 | 
			
		||||
 | 
			
		||||
  if test "$found" != yes; then
 | 
			
		||||
    lib=$lib.lib
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_cl_wrapper cl arg...
 | 
			
		||||
# Adjust compile command to suit cl
 | 
			
		||||
func_cl_wrapper ()
 | 
			
		||||
{
 | 
			
		||||
  # Assume a capable shell
 | 
			
		||||
  lib_path=
 | 
			
		||||
  shared=:
 | 
			
		||||
  linker_opts=
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    if test -n "$eat"; then
 | 
			
		||||
      eat=
 | 
			
		||||
    else
 | 
			
		||||
      case $1 in
 | 
			
		||||
	-o)
 | 
			
		||||
	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  case $2 in
 | 
			
		||||
	    *.o | *.[oO][bB][jJ])
 | 
			
		||||
	      func_file_conv "$2"
 | 
			
		||||
	      set x "$@" -Fo"$file"
 | 
			
		||||
	      shift
 | 
			
		||||
	      ;;
 | 
			
		||||
	    *)
 | 
			
		||||
	      func_file_conv "$2"
 | 
			
		||||
	      set x "$@" -Fe"$file"
 | 
			
		||||
	      shift
 | 
			
		||||
	      ;;
 | 
			
		||||
	  esac
 | 
			
		||||
	  ;;
 | 
			
		||||
	-I)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  func_file_conv "$2" mingw
 | 
			
		||||
	  set x "$@" -I"$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-I*)
 | 
			
		||||
	  func_file_conv "${1#-I}" mingw
 | 
			
		||||
	  set x "$@" -I"$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-l)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  func_cl_dashl "$2"
 | 
			
		||||
	  set x "$@" "$lib"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-l*)
 | 
			
		||||
	  func_cl_dashl "${1#-l}"
 | 
			
		||||
	  set x "$@" "$lib"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-L)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  func_cl_dashL "$2"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-L*)
 | 
			
		||||
	  func_cl_dashL "${1#-L}"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-static)
 | 
			
		||||
	  shared=false
 | 
			
		||||
	  ;;
 | 
			
		||||
	-Wl,*)
 | 
			
		||||
	  arg=${1#-Wl,}
 | 
			
		||||
	  save_ifs="$IFS"; IFS=','
 | 
			
		||||
	  for flag in $arg; do
 | 
			
		||||
	    IFS="$save_ifs"
 | 
			
		||||
	    linker_opts="$linker_opts $flag"
 | 
			
		||||
	  done
 | 
			
		||||
	  IFS="$save_ifs"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-Xlinker)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  linker_opts="$linker_opts $2"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-*)
 | 
			
		||||
	  set x "$@" "$1"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
 | 
			
		||||
	  func_file_conv "$1"
 | 
			
		||||
	  set x "$@" -Tp"$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
 | 
			
		||||
	  func_file_conv "$1" mingw
 | 
			
		||||
	  set x "$@" "$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	*)
 | 
			
		||||
	  set x "$@" "$1"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
      esac
 | 
			
		||||
    fi
 | 
			
		||||
    shift
 | 
			
		||||
  done
 | 
			
		||||
  if test -n "$linker_opts"; then
 | 
			
		||||
    linker_opts="-link$linker_opts"
 | 
			
		||||
  fi
 | 
			
		||||
  exec "$@" $linker_opts
 | 
			
		||||
  exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
eat=
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
 | 
			
		||||
     exit 1;
 | 
			
		||||
     ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<\EOF
 | 
			
		||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
 | 
			
		||||
 | 
			
		||||
Wrapper for compilers which do not understand '-c -o'.
 | 
			
		||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 | 
			
		||||
arguments, and rename the output as expected.
 | 
			
		||||
 | 
			
		||||
If you are trying to build a whole package this is not the
 | 
			
		||||
right script to run: please start by reading the file 'INSTALL'.
 | 
			
		||||
 | 
			
		||||
Report bugs to <bug-automake@gnu.org>.
 | 
			
		||||
EOF
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  -v | --v*)
 | 
			
		||||
    echo "compile $scriptversion"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
 | 
			
		||||
    func_cl_wrapper "$@"      # Doesn't return...
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
ofile=
 | 
			
		||||
cfile=
 | 
			
		||||
 | 
			
		||||
for arg
 | 
			
		||||
do
 | 
			
		||||
  if test -n "$eat"; then
 | 
			
		||||
    eat=
 | 
			
		||||
  else
 | 
			
		||||
    case $1 in
 | 
			
		||||
      -o)
 | 
			
		||||
	# configure might choose to run compile as 'compile cc -o foo foo.c'.
 | 
			
		||||
	# So we strip '-o arg' only if arg is an object.
 | 
			
		||||
	eat=1
 | 
			
		||||
	case $2 in
 | 
			
		||||
	  *.o | *.obj)
 | 
			
		||||
	    ofile=$2
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    set x "$@" -o "$2"
 | 
			
		||||
	    shift
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
	;;
 | 
			
		||||
      *.c)
 | 
			
		||||
	cfile=$1
 | 
			
		||||
	set x "$@" "$1"
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
      *)
 | 
			
		||||
	set x "$@" "$1"
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
    esac
 | 
			
		||||
  fi
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if test -z "$ofile" || test -z "$cfile"; then
 | 
			
		||||
  # If no '-o' option was seen then we might have been invoked from a
 | 
			
		||||
  # pattern rule where we don't need one.  That is ok -- this is a
 | 
			
		||||
  # normal compilation that the losing compiler can handle.  If no
 | 
			
		||||
  # '.c' file was seen then we are probably linking.  That is also
 | 
			
		||||
  # ok.
 | 
			
		||||
  exec "$@"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Name of file we expect compiler to create.
 | 
			
		||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 | 
			
		||||
 | 
			
		||||
# Create the lock directory.
 | 
			
		||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 | 
			
		||||
# that we are using for the .o file.  Also, base the name on the expected
 | 
			
		||||
# object file name, since that is what matters with a parallel build.
 | 
			
		||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
 | 
			
		||||
while true; do
 | 
			
		||||
  if mkdir "$lockdir" >/dev/null 2>&1; then
 | 
			
		||||
    break
 | 
			
		||||
  fi
 | 
			
		||||
  sleep 1
 | 
			
		||||
done
 | 
			
		||||
# FIXME: race condition here if user kills between mkdir and trap.
 | 
			
		||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
 | 
			
		||||
 | 
			
		||||
# Run the compile.
 | 
			
		||||
"$@"
 | 
			
		||||
ret=$?
 | 
			
		||||
 | 
			
		||||
if test -f "$cofile"; then
 | 
			
		||||
  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
 | 
			
		||||
elif test -f "${cofile}bj"; then
 | 
			
		||||
  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
rmdir "$lockdir"
 | 
			
		||||
exit $ret
 | 
			
		||||
 | 
			
		||||
# Local Variables:
 | 
			
		||||
# mode: shell-script
 | 
			
		||||
# sh-indentation: 2
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										1420
									
								
								stio/ac/config.guess
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										1420
									
								
								stio/ac/config.guess
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1798
									
								
								stio/ac/config.sub
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										1798
									
								
								stio/ac/config.sub
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										791
									
								
								stio/ac/depcomp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										791
									
								
								stio/ac/depcomp
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,791 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# depcomp - compile a program generating dependencies as side-effects
 | 
			
		||||
 | 
			
		||||
scriptversion=2013-05-30.07; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
# configuration script generated by Autoconf, you may include it under
 | 
			
		||||
# the same distribution terms that you use for the rest of that program.
 | 
			
		||||
 | 
			
		||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
 | 
			
		||||
    exit 1;
 | 
			
		||||
    ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<\EOF
 | 
			
		||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
 | 
			
		||||
 | 
			
		||||
Run PROGRAMS ARGS to compile a file, generating dependencies
 | 
			
		||||
as side-effects.
 | 
			
		||||
 | 
			
		||||
Environment variables:
 | 
			
		||||
  depmode     Dependency tracking mode.
 | 
			
		||||
  source      Source file read by 'PROGRAMS ARGS'.
 | 
			
		||||
  object      Object file output by 'PROGRAMS ARGS'.
 | 
			
		||||
  DEPDIR      directory where to store dependencies.
 | 
			
		||||
  depfile     Dependency file to output.
 | 
			
		||||
  tmpdepfile  Temporary file to use when outputting dependencies.
 | 
			
		||||
  libtool     Whether libtool is used (yes/no).
 | 
			
		||||
 | 
			
		||||
Report bugs to <bug-automake@gnu.org>.
 | 
			
		||||
EOF
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  -v | --v*)
 | 
			
		||||
    echo "depcomp $scriptversion"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Get the directory component of the given path, and save it in the
 | 
			
		||||
# global variables '$dir'.  Note that this directory component will
 | 
			
		||||
# be either empty or ending with a '/' character.  This is deliberate.
 | 
			
		||||
set_dir_from ()
 | 
			
		||||
{
 | 
			
		||||
  case $1 in
 | 
			
		||||
    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
 | 
			
		||||
      *) dir=;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Get the suffix-stripped basename of the given path, and save it the
 | 
			
		||||
# global variable '$base'.
 | 
			
		||||
set_base_from ()
 | 
			
		||||
{
 | 
			
		||||
  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# If no dependency file was actually created by the compiler invocation,
 | 
			
		||||
# we still have to create a dummy depfile, to avoid errors with the
 | 
			
		||||
# Makefile "include basename.Plo" scheme.
 | 
			
		||||
make_dummy_depfile ()
 | 
			
		||||
{
 | 
			
		||||
  echo "#dummy" > "$depfile"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Factor out some common post-processing of the generated depfile.
 | 
			
		||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
 | 
			
		||||
aix_post_process_depfile ()
 | 
			
		||||
{
 | 
			
		||||
  # If the compiler actually managed to produce a dependency file,
 | 
			
		||||
  # post-process it.
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    # Each line is of the form 'foo.o: dependency.h'.
 | 
			
		||||
    # Do two passes, one to just change these to
 | 
			
		||||
    #   $object: dependency.h
 | 
			
		||||
    # and one to simply output
 | 
			
		||||
    #   dependency.h:
 | 
			
		||||
    # which is needed to avoid the deleted-header problem.
 | 
			
		||||
    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
 | 
			
		||||
      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
 | 
			
		||||
    } > "$depfile"
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
  else
 | 
			
		||||
    make_dummy_depfile
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# A tabulation character.
 | 
			
		||||
tab='	'
 | 
			
		||||
# A newline character.
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
# Character ranges might be problematic outside the C locale.
 | 
			
		||||
# These definitions help.
 | 
			
		||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
 | 
			
		||||
lower=abcdefghijklmnopqrstuvwxyz
 | 
			
		||||
digits=0123456789
 | 
			
		||||
alpha=${upper}${lower}
 | 
			
		||||
 | 
			
		||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
 | 
			
		||||
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
 | 
			
		||||
depfile=${depfile-`echo "$object" |
 | 
			
		||||
  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
 | 
			
		||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 | 
			
		||||
 | 
			
		||||
rm -f "$tmpdepfile"
 | 
			
		||||
 | 
			
		||||
# Avoid interferences from the environment.
 | 
			
		||||
gccflag= dashmflag=
 | 
			
		||||
 | 
			
		||||
# Some modes work just like other modes, but use different flags.  We
 | 
			
		||||
# parameterize here, but still list the modes in the big case below,
 | 
			
		||||
# to make depend.m4 easier to write.  Note that we *cannot* use a case
 | 
			
		||||
# here, because this file can only contain one case statement.
 | 
			
		||||
if test "$depmode" = hp; then
 | 
			
		||||
  # HP compiler uses -M and no extra arg.
 | 
			
		||||
  gccflag=-M
 | 
			
		||||
  depmode=gcc
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = dashXmstdout; then
 | 
			
		||||
  # This is just like dashmstdout with a different argument.
 | 
			
		||||
  dashmflag=-xM
 | 
			
		||||
  depmode=dashmstdout
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cygpath_u="cygpath -u -f -"
 | 
			
		||||
if test "$depmode" = msvcmsys; then
 | 
			
		||||
  # This is just like msvisualcpp but w/o cygpath translation.
 | 
			
		||||
  # Just convert the backslash-escaped backslashes to single forward
 | 
			
		||||
  # slashes to satisfy depend.m4
 | 
			
		||||
  cygpath_u='sed s,\\\\,/,g'
 | 
			
		||||
  depmode=msvisualcpp
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = msvc7msys; then
 | 
			
		||||
  # This is just like msvc7 but w/o cygpath translation.
 | 
			
		||||
  # Just convert the backslash-escaped backslashes to single forward
 | 
			
		||||
  # slashes to satisfy depend.m4
 | 
			
		||||
  cygpath_u='sed s,\\\\,/,g'
 | 
			
		||||
  depmode=msvc7
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = xlc; then
 | 
			
		||||
  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
 | 
			
		||||
  gccflag=-qmakedep=gcc,-MF
 | 
			
		||||
  depmode=gcc
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case "$depmode" in
 | 
			
		||||
gcc3)
 | 
			
		||||
## gcc 3 implements dependency tracking that does exactly what
 | 
			
		||||
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
 | 
			
		||||
## it if -MD -MP comes after the -MF stuff.  Hmm.
 | 
			
		||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
 | 
			
		||||
## the command line argument order; so add the flags where they
 | 
			
		||||
## appear in depend2.am.  Note that the slowdown incurred here
 | 
			
		||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $arg in
 | 
			
		||||
    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
 | 
			
		||||
    *)  set fnord "$@" "$arg" ;;
 | 
			
		||||
    esac
 | 
			
		||||
    shift # fnord
 | 
			
		||||
    shift # $arg
 | 
			
		||||
  done
 | 
			
		||||
  "$@"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  mv "$tmpdepfile" "$depfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
gcc)
 | 
			
		||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
 | 
			
		||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
 | 
			
		||||
## (see the conditional assignment to $gccflag above).
 | 
			
		||||
## There are various ways to get dependency output from gcc.  Here's
 | 
			
		||||
## why we pick this rather obscure method:
 | 
			
		||||
## - Don't want to use -MD because we'd like the dependencies to end
 | 
			
		||||
##   up in a subdir.  Having to rename by hand is ugly.
 | 
			
		||||
##   (We might end up doing this anyway to support other compilers.)
 | 
			
		||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
 | 
			
		||||
##   -MM, not -M (despite what the docs say).  Also, it might not be
 | 
			
		||||
##   supported by the other compilers which use the 'gcc' depmode.
 | 
			
		||||
## - Using -M directly means running the compiler twice (even worse
 | 
			
		||||
##   than renaming).
 | 
			
		||||
  if test -z "$gccflag"; then
 | 
			
		||||
    gccflag=-MD,
 | 
			
		||||
  fi
 | 
			
		||||
  "$@" -Wp,"$gccflag$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  # The second -e expression handles DOS-style file names with drive
 | 
			
		||||
  # letters.
 | 
			
		||||
  sed -e 's/^[^:]*: / /' \
 | 
			
		||||
      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
## This next piece of magic avoids the "deleted header file" problem.
 | 
			
		||||
## The problem is that when a header file which appears in a .P file
 | 
			
		||||
## is deleted, the dependency causes make to die (because there is
 | 
			
		||||
## typically no way to rebuild the header).  We avoid this by adding
 | 
			
		||||
## dummy dependencies for each header file.  Too bad gcc doesn't do
 | 
			
		||||
## this for us directly.
 | 
			
		||||
## Some versions of gcc put a space before the ':'.  On the theory
 | 
			
		||||
## that the space means something, we add a space to the output as
 | 
			
		||||
## well.  hp depmode also adds that space, but also prefixes the VPATH
 | 
			
		||||
## to the object.  Take care to not repeat it in the output.
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
hp)
 | 
			
		||||
  # This case exists only to let depend.m4 do its work.  It works by
 | 
			
		||||
  # looking at the text of this script.  This case will never be run,
 | 
			
		||||
  # since it is checked for above.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
sgi)
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    "$@" "-Wp,-MDupdate,$tmpdepfile"
 | 
			
		||||
  else
 | 
			
		||||
    "$@" -MDupdate "$tmpdepfile"
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
 | 
			
		||||
  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
 | 
			
		||||
    echo "$object : \\" > "$depfile"
 | 
			
		||||
    # Clip off the initial element (the dependent).  Don't try to be
 | 
			
		||||
    # clever and replace this with sed code, as IRIX sed won't handle
 | 
			
		||||
    # lines with more than a fixed number of characters (4096 in
 | 
			
		||||
    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
 | 
			
		||||
    # the IRIX cc adds comments like '#:fec' to the end of the
 | 
			
		||||
    # dependency line.
 | 
			
		||||
    tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
 | 
			
		||||
      | tr "$nl" ' ' >> "$depfile"
 | 
			
		||||
    echo >> "$depfile"
 | 
			
		||||
    # The second pass generates a dummy entry for each header file.
 | 
			
		||||
    tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
 | 
			
		||||
      >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    make_dummy_depfile
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
xlc)
 | 
			
		||||
  # This case exists only to let depend.m4 do its work.  It works by
 | 
			
		||||
  # looking at the text of this script.  This case will never be run,
 | 
			
		||||
  # since it is checked for above.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
aix)
 | 
			
		||||
  # The C for AIX Compiler uses -M and outputs the dependencies
 | 
			
		||||
  # in a .u file.  In older versions, this file always lives in the
 | 
			
		||||
  # current directory.  Also, the AIX compiler puts '$object:' at the
 | 
			
		||||
  # start of each line; $object doesn't have directory information.
 | 
			
		||||
  # Version 6 uses the directory in both cases.
 | 
			
		||||
  set_dir_from "$object"
 | 
			
		||||
  set_base_from "$object"
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    tmpdepfile1=$dir$base.u
 | 
			
		||||
    tmpdepfile2=$base.u
 | 
			
		||||
    tmpdepfile3=$dir.libs/$base.u
 | 
			
		||||
    "$@" -Wc,-M
 | 
			
		||||
  else
 | 
			
		||||
    tmpdepfile1=$dir$base.u
 | 
			
		||||
    tmpdepfile2=$dir$base.u
 | 
			
		||||
    tmpdepfile3=$dir$base.u
 | 
			
		||||
    "$@" -M
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
  do
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  aix_post_process_depfile
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
tcc)
 | 
			
		||||
  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
 | 
			
		||||
  # FIXME: That version still under development at the moment of writing.
 | 
			
		||||
  #        Make that this statement remains true also for stable, released
 | 
			
		||||
  #        versions.
 | 
			
		||||
  # It will wrap lines (doesn't matter whether long or short) with a
 | 
			
		||||
  # trailing '\', as in:
 | 
			
		||||
  #
 | 
			
		||||
  #   foo.o : \
 | 
			
		||||
  #    foo.c \
 | 
			
		||||
  #    foo.h \
 | 
			
		||||
  #
 | 
			
		||||
  # It will put a trailing '\' even on the last line, and will use leading
 | 
			
		||||
  # spaces rather than leading tabs (at least since its commit 0394caf7
 | 
			
		||||
  # "Emit spaces for -MD").
 | 
			
		||||
  "$@" -MD -MF "$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
 | 
			
		||||
  # We have to change lines of the first kind to '$object: \'.
 | 
			
		||||
  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # And for each line of the second kind, we have to emit a 'dep.h:'
 | 
			
		||||
  # dummy dependency, to avoid the deleted-header problem.
 | 
			
		||||
  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
## The order of this option in the case statement is important, since the
 | 
			
		||||
## shell code in configure will try each of these formats in the order
 | 
			
		||||
## listed in this file.  A plain '-MD' option would be understood by many
 | 
			
		||||
## compilers, so we must ensure this comes after the gcc and icc options.
 | 
			
		||||
pgcc)
 | 
			
		||||
  # Portland's C compiler understands '-MD'.
 | 
			
		||||
  # Will always output deps to 'file.d' where file is the root name of the
 | 
			
		||||
  # source file under compilation, even if file resides in a subdirectory.
 | 
			
		||||
  # The object file name does not affect the name of the '.d' file.
 | 
			
		||||
  # pgcc 10.2 will output
 | 
			
		||||
  #    foo.o: sub/foo.c sub/foo.h
 | 
			
		||||
  # and will wrap long lines using '\' :
 | 
			
		||||
  #    foo.o: sub/foo.c ... \
 | 
			
		||||
  #     sub/foo.h ... \
 | 
			
		||||
  #     ...
 | 
			
		||||
  set_dir_from "$object"
 | 
			
		||||
  # Use the source, not the object, to determine the base name, since
 | 
			
		||||
  # that's sadly what pgcc will do too.
 | 
			
		||||
  set_base_from "$source"
 | 
			
		||||
  tmpdepfile=$base.d
 | 
			
		||||
 | 
			
		||||
  # For projects that build the same source file twice into different object
 | 
			
		||||
  # files, the pgcc approach of using the *source* file root name can cause
 | 
			
		||||
  # problems in parallel builds.  Use a locking strategy to avoid stomping on
 | 
			
		||||
  # the same $tmpdepfile.
 | 
			
		||||
  lockdir=$base.d-lock
 | 
			
		||||
  trap "
 | 
			
		||||
    echo '$0: caught signal, cleaning up...' >&2
 | 
			
		||||
    rmdir '$lockdir'
 | 
			
		||||
    exit 1
 | 
			
		||||
  " 1 2 13 15
 | 
			
		||||
  numtries=100
 | 
			
		||||
  i=$numtries
 | 
			
		||||
  while test $i -gt 0; do
 | 
			
		||||
    # mkdir is a portable test-and-set.
 | 
			
		||||
    if mkdir "$lockdir" 2>/dev/null; then
 | 
			
		||||
      # This process acquired the lock.
 | 
			
		||||
      "$@" -MD
 | 
			
		||||
      stat=$?
 | 
			
		||||
      # Release the lock.
 | 
			
		||||
      rmdir "$lockdir"
 | 
			
		||||
      break
 | 
			
		||||
    else
 | 
			
		||||
      # If the lock is being held by a different process, wait
 | 
			
		||||
      # until the winning process is done or we timeout.
 | 
			
		||||
      while test -d "$lockdir" && test $i -gt 0; do
 | 
			
		||||
        sleep 1
 | 
			
		||||
        i=`expr $i - 1`
 | 
			
		||||
      done
 | 
			
		||||
    fi
 | 
			
		||||
    i=`expr $i - 1`
 | 
			
		||||
  done
 | 
			
		||||
  trap - 1 2 13 15
 | 
			
		||||
  if test $i -le 0; then
 | 
			
		||||
    echo "$0: failed to acquire lock after $numtries attempts" >&2
 | 
			
		||||
    echo "$0: check lockdir '$lockdir'" >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  # Each line is of the form `foo.o: dependent.h',
 | 
			
		||||
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
 | 
			
		||||
  # Do two passes, one to just change these to
 | 
			
		||||
  # `$object: dependent.h' and one to simply `dependent.h:'.
 | 
			
		||||
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
hp2)
 | 
			
		||||
  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
 | 
			
		||||
  # compilers, which have integrated preprocessors.  The correct option
 | 
			
		||||
  # to use with these is +Maked; it writes dependencies to a file named
 | 
			
		||||
  # 'foo.d', which lands next to the object file, wherever that
 | 
			
		||||
  # happens to be.
 | 
			
		||||
  # Much of this is similar to the tru64 case; see comments there.
 | 
			
		||||
  set_dir_from  "$object"
 | 
			
		||||
  set_base_from "$object"
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir.libs/$base.d
 | 
			
		||||
    "$@" -Wc,+Maked
 | 
			
		||||
  else
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir$base.d
 | 
			
		||||
    "$@" +Maked
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
     rm -f "$tmpdepfile1" "$tmpdepfile2"
 | 
			
		||||
     exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
 | 
			
		||||
  do
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
 | 
			
		||||
    # Add 'dependent.h:' lines.
 | 
			
		||||
    sed -ne '2,${
 | 
			
		||||
               s/^ *//
 | 
			
		||||
               s/ \\*$//
 | 
			
		||||
               s/$/:/
 | 
			
		||||
               p
 | 
			
		||||
             }' "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    make_dummy_depfile
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile" "$tmpdepfile2"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
tru64)
 | 
			
		||||
  # The Tru64 compiler uses -MD to generate dependencies as a side
 | 
			
		||||
  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
 | 
			
		||||
  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
 | 
			
		||||
  # dependencies in 'foo.d' instead, so we check for that too.
 | 
			
		||||
  # Subdirectories are respected.
 | 
			
		||||
  set_dir_from  "$object"
 | 
			
		||||
  set_base_from "$object"
 | 
			
		||||
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    # Libtool generates 2 separate objects for the 2 libraries.  These
 | 
			
		||||
    # two compilations output dependencies in $dir.libs/$base.o.d and
 | 
			
		||||
    # in $dir$base.o.d.  We have to check for both files, because
 | 
			
		||||
    # one of the two compilations can be disabled.  We should prefer
 | 
			
		||||
    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
 | 
			
		||||
    # automatically cleaned when .libs/ is deleted, while ignoring
 | 
			
		||||
    # the former would cause a distcleancheck panic.
 | 
			
		||||
    tmpdepfile1=$dir$base.o.d          # libtool 1.5
 | 
			
		||||
    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
 | 
			
		||||
    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
 | 
			
		||||
    "$@" -Wc,-MD
 | 
			
		||||
  else
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir$base.d
 | 
			
		||||
    tmpdepfile3=$dir$base.d
 | 
			
		||||
    "$@" -MD
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
  do
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  # Same post-processing that is required for AIX mode.
 | 
			
		||||
  aix_post_process_depfile
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
msvc7)
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    showIncludes=-Wc,-showIncludes
 | 
			
		||||
  else
 | 
			
		||||
    showIncludes=-showIncludes
 | 
			
		||||
  fi
 | 
			
		||||
  "$@" $showIncludes > "$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  grep -v '^Note: including file: ' "$tmpdepfile"
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  # The first sed program below extracts the file names and escapes
 | 
			
		||||
  # backslashes for cygpath.  The second sed program outputs the file
 | 
			
		||||
  # name when reading, but also accumulates all include files in the
 | 
			
		||||
  # hold buffer in order to output them again at the end.  This only
 | 
			
		||||
  # works with sed implementations that can handle large buffers.
 | 
			
		||||
  sed < "$tmpdepfile" -n '
 | 
			
		||||
/^Note: including file:  *\(.*\)/ {
 | 
			
		||||
  s//\1/
 | 
			
		||||
  s/\\/\\\\/g
 | 
			
		||||
  p
 | 
			
		||||
}' | $cygpath_u | sort -u | sed -n '
 | 
			
		||||
s/ /\\ /g
 | 
			
		||||
s/\(.*\)/'"$tab"'\1 \\/p
 | 
			
		||||
s/.\(.*\) \\/\1:/
 | 
			
		||||
H
 | 
			
		||||
$ {
 | 
			
		||||
  s/.*/'"$tab"'/
 | 
			
		||||
  G
 | 
			
		||||
  p
 | 
			
		||||
}' >> "$depfile"
 | 
			
		||||
  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
msvc7msys)
 | 
			
		||||
  # This case exists only to let depend.m4 do its work.  It works by
 | 
			
		||||
  # looking at the text of this script.  This case will never be run,
 | 
			
		||||
  # since it is checked for above.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
#nosideeffect)
 | 
			
		||||
  # This comment above is used by automake to tell side-effect
 | 
			
		||||
  # dependency tracking mechanisms from slower ones.
 | 
			
		||||
 | 
			
		||||
dashmstdout)
 | 
			
		||||
  # Important note: in order to support this mode, a compiler *must*
 | 
			
		||||
  # always write the preprocessed file to stdout, regardless of -o.
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
 | 
			
		||||
  # Remove the call to Libtool.
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test "X$1" != 'X--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Remove '-o $object'.
 | 
			
		||||
  IFS=" "
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $arg in
 | 
			
		||||
    -o)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    $object)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      set fnord "$@" "$arg"
 | 
			
		||||
      shift # fnord
 | 
			
		||||
      shift # $arg
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  test -z "$dashmflag" && dashmflag=-M
 | 
			
		||||
  # Require at least two characters before searching for ':'
 | 
			
		||||
  # in the target name.  This is to cope with DOS-style filenames:
 | 
			
		||||
  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
 | 
			
		||||
  "$@" $dashmflag |
 | 
			
		||||
    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process this sed invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
dashXmstdout)
 | 
			
		||||
  # This case only exists to satisfy depend.m4.  It is never actually
 | 
			
		||||
  # run, as this mode is specially recognized in the preamble.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
makedepend)
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
  # Remove any Libtool call
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test "X$1" != 'X--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
  # X makedepend
 | 
			
		||||
  shift
 | 
			
		||||
  cleared=no eat=no
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $cleared in
 | 
			
		||||
    no)
 | 
			
		||||
      set ""; shift
 | 
			
		||||
      cleared=yes ;;
 | 
			
		||||
    esac
 | 
			
		||||
    if test $eat = yes; then
 | 
			
		||||
      eat=no
 | 
			
		||||
      continue
 | 
			
		||||
    fi
 | 
			
		||||
    case "$arg" in
 | 
			
		||||
    -D*|-I*)
 | 
			
		||||
      set fnord "$@" "$arg"; shift ;;
 | 
			
		||||
    # Strip any option that makedepend may not understand.  Remove
 | 
			
		||||
    # the object too, otherwise makedepend will parse it as a source file.
 | 
			
		||||
    -arch)
 | 
			
		||||
      eat=yes ;;
 | 
			
		||||
    -*|$object)
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      set fnord "$@" "$arg"; shift ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
  obj_suffix=`echo "$object" | sed 's/^.*\././'`
 | 
			
		||||
  touch "$tmpdepfile"
 | 
			
		||||
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  # makedepend may prepend the VPATH from the source file name to the object.
 | 
			
		||||
  # No need to regex-escape $object, excess matching of '.' is harmless.
 | 
			
		||||
  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process the last invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  sed '1,2d' "$tmpdepfile" \
 | 
			
		||||
    | tr ' ' "$nl" \
 | 
			
		||||
    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile" "$tmpdepfile".bak
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
cpp)
 | 
			
		||||
  # Important note: in order to support this mode, a compiler *must*
 | 
			
		||||
  # always write the preprocessed file to stdout.
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
 | 
			
		||||
  # Remove the call to Libtool.
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test "X$1" != 'X--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Remove '-o $object'.
 | 
			
		||||
  IFS=" "
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $arg in
 | 
			
		||||
    -o)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    $object)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      set fnord "$@" "$arg"
 | 
			
		||||
      shift # fnord
 | 
			
		||||
      shift # $arg
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  "$@" -E \
 | 
			
		||||
    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 | 
			
		||||
             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 | 
			
		||||
    | sed '$ s: \\$::' > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
msvisualcpp)
 | 
			
		||||
  # Important note: in order to support this mode, a compiler *must*
 | 
			
		||||
  # always write the preprocessed file to stdout.
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
 | 
			
		||||
  # Remove the call to Libtool.
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test "X$1" != 'X--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  IFS=" "
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case "$arg" in
 | 
			
		||||
    -o)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    $object)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
 | 
			
		||||
        set fnord "$@"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    *)
 | 
			
		||||
        set fnord "$@" "$arg"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
  "$@" -E 2>/dev/null |
 | 
			
		||||
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
 | 
			
		||||
  echo "$tab" >> "$depfile"
 | 
			
		||||
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
msvcmsys)
 | 
			
		||||
  # This case exists only to let depend.m4 do its work.  It works by
 | 
			
		||||
  # looking at the text of this script.  This case will never be run,
 | 
			
		||||
  # since it is checked for above.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
none)
 | 
			
		||||
  exec "$@"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
*)
 | 
			
		||||
  echo "Unknown depmode $depmode" 1>&2
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
# Local Variables:
 | 
			
		||||
# mode: shell-script
 | 
			
		||||
# sh-indentation: 2
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										527
									
								
								stio/ac/install-sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										527
									
								
								stio/ac/install-sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,527 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# install - install a program, script, or datafile
 | 
			
		||||
 | 
			
		||||
scriptversion=2011-11-20.07; # UTC
 | 
			
		||||
 | 
			
		||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
 | 
			
		||||
# later released in X11R6 (xc/config/util/install.sh) with the
 | 
			
		||||
# following copyright and license.
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 1994 X Consortium
 | 
			
		||||
#
 | 
			
		||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
# of this software and associated documentation files (the "Software"), to
 | 
			
		||||
# deal in the Software without restriction, including without limitation the
 | 
			
		||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 | 
			
		||||
# sell copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
# furnished to do so, subject to the following conditions:
 | 
			
		||||
#
 | 
			
		||||
# The above copyright notice and this permission notice shall be included in
 | 
			
		||||
# all copies or substantial portions of the Software.
 | 
			
		||||
#
 | 
			
		||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | 
			
		||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 | 
			
		||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
 | 
			
		||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#
 | 
			
		||||
# Except as contained in this notice, the name of the X Consortium shall not
 | 
			
		||||
# be used in advertising or otherwise to promote the sale, use or other deal-
 | 
			
		||||
# ings in this Software without prior written authorization from the X Consor-
 | 
			
		||||
# tium.
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
# FSF changes to this file are in the public domain.
 | 
			
		||||
#
 | 
			
		||||
# Calling this script install-sh is preferred over install.sh, to prevent
 | 
			
		||||
# 'make' implicit rules from creating a file called install from it
 | 
			
		||||
# when there is no Makefile.
 | 
			
		||||
#
 | 
			
		||||
# This script is compatible with the BSD install script, but was written
 | 
			
		||||
# from scratch.
 | 
			
		||||
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
IFS=" ""	$nl"
 | 
			
		||||
 | 
			
		||||
# set DOITPROG to echo to test this script
 | 
			
		||||
 | 
			
		||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
 | 
			
		||||
doit=${DOITPROG-}
 | 
			
		||||
if test -z "$doit"; then
 | 
			
		||||
  doit_exec=exec
 | 
			
		||||
else
 | 
			
		||||
  doit_exec=$doit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Put in absolute file names if you don't have them in your path;
 | 
			
		||||
# or use environment vars.
 | 
			
		||||
 | 
			
		||||
chgrpprog=${CHGRPPROG-chgrp}
 | 
			
		||||
chmodprog=${CHMODPROG-chmod}
 | 
			
		||||
chownprog=${CHOWNPROG-chown}
 | 
			
		||||
cmpprog=${CMPPROG-cmp}
 | 
			
		||||
cpprog=${CPPROG-cp}
 | 
			
		||||
mkdirprog=${MKDIRPROG-mkdir}
 | 
			
		||||
mvprog=${MVPROG-mv}
 | 
			
		||||
rmprog=${RMPROG-rm}
 | 
			
		||||
stripprog=${STRIPPROG-strip}
 | 
			
		||||
 | 
			
		||||
posix_glob='?'
 | 
			
		||||
initialize_posix_glob='
 | 
			
		||||
  test "$posix_glob" != "?" || {
 | 
			
		||||
    if (set -f) 2>/dev/null; then
 | 
			
		||||
      posix_glob=
 | 
			
		||||
    else
 | 
			
		||||
      posix_glob=:
 | 
			
		||||
    fi
 | 
			
		||||
  }
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
posix_mkdir=
 | 
			
		||||
 | 
			
		||||
# Desired mode of installed file.
 | 
			
		||||
mode=0755
 | 
			
		||||
 | 
			
		||||
chgrpcmd=
 | 
			
		||||
chmodcmd=$chmodprog
 | 
			
		||||
chowncmd=
 | 
			
		||||
mvcmd=$mvprog
 | 
			
		||||
rmcmd="$rmprog -f"
 | 
			
		||||
stripcmd=
 | 
			
		||||
 | 
			
		||||
src=
 | 
			
		||||
dst=
 | 
			
		||||
dir_arg=
 | 
			
		||||
dst_arg=
 | 
			
		||||
 | 
			
		||||
copy_on_change=false
 | 
			
		||||
no_target_directory=
 | 
			
		||||
 | 
			
		||||
usage="\
 | 
			
		||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
 | 
			
		||||
   or: $0 [OPTION]... SRCFILES... DIRECTORY
 | 
			
		||||
   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
 | 
			
		||||
   or: $0 [OPTION]... -d DIRECTORIES...
 | 
			
		||||
 | 
			
		||||
In the 1st form, copy SRCFILE to DSTFILE.
 | 
			
		||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
 | 
			
		||||
In the 4th, create DIRECTORIES.
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
     --help     display this help and exit.
 | 
			
		||||
     --version  display version info and exit.
 | 
			
		||||
 | 
			
		||||
  -c            (ignored)
 | 
			
		||||
  -C            install only if different (preserve the last data modification time)
 | 
			
		||||
  -d            create directories instead of installing files.
 | 
			
		||||
  -g GROUP      $chgrpprog installed files to GROUP.
 | 
			
		||||
  -m MODE       $chmodprog installed files to MODE.
 | 
			
		||||
  -o USER       $chownprog installed files to USER.
 | 
			
		||||
  -s            $stripprog installed files.
 | 
			
		||||
  -t DIRECTORY  install into DIRECTORY.
 | 
			
		||||
  -T            report an error if DSTFILE is a directory.
 | 
			
		||||
 | 
			
		||||
Environment variables override the default commands:
 | 
			
		||||
  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
 | 
			
		||||
  RMPROG STRIPPROG
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
while test $# -ne 0; do
 | 
			
		||||
  case $1 in
 | 
			
		||||
    -c) ;;
 | 
			
		||||
 | 
			
		||||
    -C) copy_on_change=true;;
 | 
			
		||||
 | 
			
		||||
    -d) dir_arg=true;;
 | 
			
		||||
 | 
			
		||||
    -g) chgrpcmd="$chgrpprog $2"
 | 
			
		||||
	shift;;
 | 
			
		||||
 | 
			
		||||
    --help) echo "$usage"; exit $?;;
 | 
			
		||||
 | 
			
		||||
    -m) mode=$2
 | 
			
		||||
	case $mode in
 | 
			
		||||
	  *' '* | *'	'* | *'
 | 
			
		||||
'*	  | *'*'* | *'?'* | *'['*)
 | 
			
		||||
	    echo "$0: invalid mode: $mode" >&2
 | 
			
		||||
	    exit 1;;
 | 
			
		||||
	esac
 | 
			
		||||
	shift;;
 | 
			
		||||
 | 
			
		||||
    -o) chowncmd="$chownprog $2"
 | 
			
		||||
	shift;;
 | 
			
		||||
 | 
			
		||||
    -s) stripcmd=$stripprog;;
 | 
			
		||||
 | 
			
		||||
    -t) dst_arg=$2
 | 
			
		||||
	# Protect names problematic for 'test' and other utilities.
 | 
			
		||||
	case $dst_arg in
 | 
			
		||||
	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
 | 
			
		||||
	esac
 | 
			
		||||
	shift;;
 | 
			
		||||
 | 
			
		||||
    -T) no_target_directory=true;;
 | 
			
		||||
 | 
			
		||||
    --version) echo "$0 $scriptversion"; exit $?;;
 | 
			
		||||
 | 
			
		||||
    --)	shift
 | 
			
		||||
	break;;
 | 
			
		||||
 | 
			
		||||
    -*)	echo "$0: invalid option: $1" >&2
 | 
			
		||||
	exit 1;;
 | 
			
		||||
 | 
			
		||||
    *)  break;;
 | 
			
		||||
  esac
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
 | 
			
		||||
  # When -d is used, all remaining arguments are directories to create.
 | 
			
		||||
  # When -t is used, the destination is already specified.
 | 
			
		||||
  # Otherwise, the last argument is the destination.  Remove it from $@.
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    if test -n "$dst_arg"; then
 | 
			
		||||
      # $@ is not empty: it contains at least $arg.
 | 
			
		||||
      set fnord "$@" "$dst_arg"
 | 
			
		||||
      shift # fnord
 | 
			
		||||
    fi
 | 
			
		||||
    shift # arg
 | 
			
		||||
    dst_arg=$arg
 | 
			
		||||
    # Protect names problematic for 'test' and other utilities.
 | 
			
		||||
    case $dst_arg in
 | 
			
		||||
      -* | [=\(\)!]) dst_arg=./$dst_arg;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $# -eq 0; then
 | 
			
		||||
  if test -z "$dir_arg"; then
 | 
			
		||||
    echo "$0: no input file specified." >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  # It's OK to call 'install-sh -d' without argument.
 | 
			
		||||
  # This can happen when creating conditional directories.
 | 
			
		||||
  exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$dir_arg"; then
 | 
			
		||||
  do_exit='(exit $ret); exit $ret'
 | 
			
		||||
  trap "ret=129; $do_exit" 1
 | 
			
		||||
  trap "ret=130; $do_exit" 2
 | 
			
		||||
  trap "ret=141; $do_exit" 13
 | 
			
		||||
  trap "ret=143; $do_exit" 15
 | 
			
		||||
 | 
			
		||||
  # Set umask so as not to create temps with too-generous modes.
 | 
			
		||||
  # However, 'strip' requires both read and write access to temps.
 | 
			
		||||
  case $mode in
 | 
			
		||||
    # Optimize common cases.
 | 
			
		||||
    *644) cp_umask=133;;
 | 
			
		||||
    *755) cp_umask=22;;
 | 
			
		||||
 | 
			
		||||
    *[0-7])
 | 
			
		||||
      if test -z "$stripcmd"; then
 | 
			
		||||
	u_plus_rw=
 | 
			
		||||
      else
 | 
			
		||||
	u_plus_rw='% 200'
 | 
			
		||||
      fi
 | 
			
		||||
      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
 | 
			
		||||
    *)
 | 
			
		||||
      if test -z "$stripcmd"; then
 | 
			
		||||
	u_plus_rw=
 | 
			
		||||
      else
 | 
			
		||||
	u_plus_rw=,u+rw
 | 
			
		||||
      fi
 | 
			
		||||
      cp_umask=$mode$u_plus_rw;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
for src
 | 
			
		||||
do
 | 
			
		||||
  # Protect names problematic for 'test' and other utilities.
 | 
			
		||||
  case $src in
 | 
			
		||||
    -* | [=\(\)!]) src=./$src;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  if test -n "$dir_arg"; then
 | 
			
		||||
    dst=$src
 | 
			
		||||
    dstdir=$dst
 | 
			
		||||
    test -d "$dstdir"
 | 
			
		||||
    dstdir_status=$?
 | 
			
		||||
  else
 | 
			
		||||
 | 
			
		||||
    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
 | 
			
		||||
    # might cause directories to be created, which would be especially bad
 | 
			
		||||
    # if $src (and thus $dsttmp) contains '*'.
 | 
			
		||||
    if test ! -f "$src" && test ! -d "$src"; then
 | 
			
		||||
      echo "$0: $src does not exist." >&2
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test -z "$dst_arg"; then
 | 
			
		||||
      echo "$0: no destination specified." >&2
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    dst=$dst_arg
 | 
			
		||||
 | 
			
		||||
    # If destination is a directory, append the input filename; won't work
 | 
			
		||||
    # if double slashes aren't ignored.
 | 
			
		||||
    if test -d "$dst"; then
 | 
			
		||||
      if test -n "$no_target_directory"; then
 | 
			
		||||
	echo "$0: $dst_arg: Is a directory" >&2
 | 
			
		||||
	exit 1
 | 
			
		||||
      fi
 | 
			
		||||
      dstdir=$dst
 | 
			
		||||
      dst=$dstdir/`basename "$src"`
 | 
			
		||||
      dstdir_status=0
 | 
			
		||||
    else
 | 
			
		||||
      # Prefer dirname, but fall back on a substitute if dirname fails.
 | 
			
		||||
      dstdir=`
 | 
			
		||||
	(dirname "$dst") 2>/dev/null ||
 | 
			
		||||
	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 | 
			
		||||
	     X"$dst" : 'X\(//\)[^/]' \| \
 | 
			
		||||
	     X"$dst" : 'X\(//\)$' \| \
 | 
			
		||||
	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
 | 
			
		||||
	echo X"$dst" |
 | 
			
		||||
	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\/\)[^/].*/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\/\)$/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\).*/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 s/.*/./; q'
 | 
			
		||||
      `
 | 
			
		||||
 | 
			
		||||
      test -d "$dstdir"
 | 
			
		||||
      dstdir_status=$?
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  obsolete_mkdir_used=false
 | 
			
		||||
 | 
			
		||||
  if test $dstdir_status != 0; then
 | 
			
		||||
    case $posix_mkdir in
 | 
			
		||||
      '')
 | 
			
		||||
	# Create intermediate dirs using mode 755 as modified by the umask.
 | 
			
		||||
	# This is like FreeBSD 'install' as of 1997-10-28.
 | 
			
		||||
	umask=`umask`
 | 
			
		||||
	case $stripcmd.$umask in
 | 
			
		||||
	  # Optimize common cases.
 | 
			
		||||
	  *[2367][2367]) mkdir_umask=$umask;;
 | 
			
		||||
	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
 | 
			
		||||
 | 
			
		||||
	  *[0-7])
 | 
			
		||||
	    mkdir_umask=`expr $umask + 22 \
 | 
			
		||||
	      - $umask % 100 % 40 + $umask % 20 \
 | 
			
		||||
	      - $umask % 10 % 4 + $umask % 2
 | 
			
		||||
	    `;;
 | 
			
		||||
	  *) mkdir_umask=$umask,go-w;;
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
	# With -d, create the new directory with the user-specified mode.
 | 
			
		||||
	# Otherwise, rely on $mkdir_umask.
 | 
			
		||||
	if test -n "$dir_arg"; then
 | 
			
		||||
	  mkdir_mode=-m$mode
 | 
			
		||||
	else
 | 
			
		||||
	  mkdir_mode=
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	posix_mkdir=false
 | 
			
		||||
	case $umask in
 | 
			
		||||
	  *[123567][0-7][0-7])
 | 
			
		||||
	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
 | 
			
		||||
	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
 | 
			
		||||
	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 | 
			
		||||
 | 
			
		||||
	    if (umask $mkdir_umask &&
 | 
			
		||||
		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
 | 
			
		||||
	    then
 | 
			
		||||
	      if test -z "$dir_arg" || {
 | 
			
		||||
		   # Check for POSIX incompatibilities with -m.
 | 
			
		||||
		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
 | 
			
		||||
		   # other-writable bit of parent directory when it shouldn't.
 | 
			
		||||
		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 | 
			
		||||
		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 | 
			
		||||
		   case $ls_ld_tmpdir in
 | 
			
		||||
		     d????-?r-*) different_mode=700;;
 | 
			
		||||
		     d????-?--*) different_mode=755;;
 | 
			
		||||
		     *) false;;
 | 
			
		||||
		   esac &&
 | 
			
		||||
		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
 | 
			
		||||
		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
 | 
			
		||||
		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
 | 
			
		||||
		   }
 | 
			
		||||
		 }
 | 
			
		||||
	      then posix_mkdir=:
 | 
			
		||||
	      fi
 | 
			
		||||
	      rmdir "$tmpdir/d" "$tmpdir"
 | 
			
		||||
	    else
 | 
			
		||||
	      # Remove any dirs left behind by ancient mkdir implementations.
 | 
			
		||||
	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
 | 
			
		||||
	    fi
 | 
			
		||||
	    trap '' 0;;
 | 
			
		||||
	esac;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    if
 | 
			
		||||
      $posix_mkdir && (
 | 
			
		||||
	umask $mkdir_umask &&
 | 
			
		||||
	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
 | 
			
		||||
      )
 | 
			
		||||
    then :
 | 
			
		||||
    else
 | 
			
		||||
 | 
			
		||||
      # The umask is ridiculous, or mkdir does not conform to POSIX,
 | 
			
		||||
      # or it failed possibly due to a race condition.  Create the
 | 
			
		||||
      # directory the slow way, step by step, checking for races as we go.
 | 
			
		||||
 | 
			
		||||
      case $dstdir in
 | 
			
		||||
	/*) prefix='/';;
 | 
			
		||||
	[-=\(\)!]*) prefix='./';;
 | 
			
		||||
	*)  prefix='';;
 | 
			
		||||
      esac
 | 
			
		||||
 | 
			
		||||
      eval "$initialize_posix_glob"
 | 
			
		||||
 | 
			
		||||
      oIFS=$IFS
 | 
			
		||||
      IFS=/
 | 
			
		||||
      $posix_glob set -f
 | 
			
		||||
      set fnord $dstdir
 | 
			
		||||
      shift
 | 
			
		||||
      $posix_glob set +f
 | 
			
		||||
      IFS=$oIFS
 | 
			
		||||
 | 
			
		||||
      prefixes=
 | 
			
		||||
 | 
			
		||||
      for d
 | 
			
		||||
      do
 | 
			
		||||
	test X"$d" = X && continue
 | 
			
		||||
 | 
			
		||||
	prefix=$prefix$d
 | 
			
		||||
	if test -d "$prefix"; then
 | 
			
		||||
	  prefixes=
 | 
			
		||||
	else
 | 
			
		||||
	  if $posix_mkdir; then
 | 
			
		||||
	    (umask=$mkdir_umask &&
 | 
			
		||||
	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
 | 
			
		||||
	    # Don't fail if two instances are running concurrently.
 | 
			
		||||
	    test -d "$prefix" || exit 1
 | 
			
		||||
	  else
 | 
			
		||||
	    case $prefix in
 | 
			
		||||
	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
 | 
			
		||||
	      *) qprefix=$prefix;;
 | 
			
		||||
	    esac
 | 
			
		||||
	    prefixes="$prefixes '$qprefix'"
 | 
			
		||||
	  fi
 | 
			
		||||
	fi
 | 
			
		||||
	prefix=$prefix/
 | 
			
		||||
      done
 | 
			
		||||
 | 
			
		||||
      if test -n "$prefixes"; then
 | 
			
		||||
	# Don't fail if two instances are running concurrently.
 | 
			
		||||
	(umask $mkdir_umask &&
 | 
			
		||||
	 eval "\$doit_exec \$mkdirprog $prefixes") ||
 | 
			
		||||
	  test -d "$dstdir" || exit 1
 | 
			
		||||
	obsolete_mkdir_used=true
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -n "$dir_arg"; then
 | 
			
		||||
    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
 | 
			
		||||
    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
 | 
			
		||||
    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
 | 
			
		||||
      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
 | 
			
		||||
  else
 | 
			
		||||
 | 
			
		||||
    # Make a couple of temp file names in the proper directory.
 | 
			
		||||
    dsttmp=$dstdir/_inst.$$_
 | 
			
		||||
    rmtmp=$dstdir/_rm.$$_
 | 
			
		||||
 | 
			
		||||
    # Trap to clean up those temp files at exit.
 | 
			
		||||
    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
 | 
			
		||||
 | 
			
		||||
    # Copy the file name to the temp name.
 | 
			
		||||
    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
 | 
			
		||||
 | 
			
		||||
    # and set any options; do chmod last to preserve setuid bits.
 | 
			
		||||
    #
 | 
			
		||||
    # If any of these fail, we abort the whole thing.  If we want to
 | 
			
		||||
    # ignore errors from any of these, just make sure not to ignore
 | 
			
		||||
    # errors from the above "$doit $cpprog $src $dsttmp" command.
 | 
			
		||||
    #
 | 
			
		||||
    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
 | 
			
		||||
    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
 | 
			
		||||
    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
 | 
			
		||||
    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
 | 
			
		||||
 | 
			
		||||
    # If -C, don't bother to copy if it wouldn't change the file.
 | 
			
		||||
    if $copy_on_change &&
 | 
			
		||||
       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
 | 
			
		||||
       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
 | 
			
		||||
 | 
			
		||||
       eval "$initialize_posix_glob" &&
 | 
			
		||||
       $posix_glob set -f &&
 | 
			
		||||
       set X $old && old=:$2:$4:$5:$6 &&
 | 
			
		||||
       set X $new && new=:$2:$4:$5:$6 &&
 | 
			
		||||
       $posix_glob set +f &&
 | 
			
		||||
 | 
			
		||||
       test "$old" = "$new" &&
 | 
			
		||||
       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
 | 
			
		||||
    then
 | 
			
		||||
      rm -f "$dsttmp"
 | 
			
		||||
    else
 | 
			
		||||
      # Rename the file to the real destination.
 | 
			
		||||
      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
 | 
			
		||||
 | 
			
		||||
      # The rename failed, perhaps because mv can't rename something else
 | 
			
		||||
      # to itself, or perhaps because mv is so ancient that it does not
 | 
			
		||||
      # support -f.
 | 
			
		||||
      {
 | 
			
		||||
	# Now remove or move aside any old file at destination location.
 | 
			
		||||
	# We try this two ways since rm can't unlink itself on some
 | 
			
		||||
	# systems and the destination file might be busy for other
 | 
			
		||||
	# reasons.  In this case, the final cleanup might fail but the new
 | 
			
		||||
	# file should still install successfully.
 | 
			
		||||
	{
 | 
			
		||||
	  test ! -f "$dst" ||
 | 
			
		||||
	  $doit $rmcmd -f "$dst" 2>/dev/null ||
 | 
			
		||||
	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
 | 
			
		||||
	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
 | 
			
		||||
	  } ||
 | 
			
		||||
	  { echo "$0: cannot unlink or rename $dst" >&2
 | 
			
		||||
	    (exit 1); exit 1
 | 
			
		||||
	  }
 | 
			
		||||
	} &&
 | 
			
		||||
 | 
			
		||||
	# Now rename the file to the real destination.
 | 
			
		||||
	$doit $mvcmd "$dsttmp" "$dst"
 | 
			
		||||
      }
 | 
			
		||||
    fi || exit 1
 | 
			
		||||
 | 
			
		||||
    trap '' 0
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Local variables:
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										9655
									
								
								stio/ac/ltmain.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9655
									
								
								stio/ac/ltmain.sh
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										215
									
								
								stio/ac/missing
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										215
									
								
								stio/ac/missing
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,215 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Common wrapper for a few potentially missing GNU programs.
 | 
			
		||||
 | 
			
		||||
scriptversion=2013-10-28.13; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 | 
			
		||||
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
# configuration script generated by Autoconf, you may include it under
 | 
			
		||||
# the same distribution terms that you use for the rest of that program.
 | 
			
		||||
 | 
			
		||||
if test $# -eq 0; then
 | 
			
		||||
  echo 1>&2 "Try '$0 --help' for more information"
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
 | 
			
		||||
  --is-lightweight)
 | 
			
		||||
    # Used by our autoconf macros to check whether the available missing
 | 
			
		||||
    # script is modern enough.
 | 
			
		||||
    exit 0
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  --run)
 | 
			
		||||
    # Back-compat with the calling convention used by older automake.
 | 
			
		||||
    shift
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -h|--h|--he|--hel|--help)
 | 
			
		||||
    echo "\
 | 
			
		||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
 | 
			
		||||
 | 
			
		||||
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
 | 
			
		||||
to PROGRAM being missing or too old.
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
  -h, --help      display this help and exit
 | 
			
		||||
  -v, --version   output version information and exit
 | 
			
		||||
 | 
			
		||||
Supported PROGRAM values:
 | 
			
		||||
  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
 | 
			
		||||
  bison     yacc      flex         lex       help2man
 | 
			
		||||
 | 
			
		||||
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 | 
			
		||||
'g' are ignored when checking the name.
 | 
			
		||||
 | 
			
		||||
Send bug reports to <bug-automake@gnu.org>."
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
 | 
			
		||||
    echo "missing $scriptversion (GNU Automake)"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -*)
 | 
			
		||||
    echo 1>&2 "$0: unknown '$1' option"
 | 
			
		||||
    echo 1>&2 "Try '$0 --help' for more information"
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Run the given program, remember its exit status.
 | 
			
		||||
"$@"; st=$?
 | 
			
		||||
 | 
			
		||||
# If it succeeded, we are done.
 | 
			
		||||
test $st -eq 0 && exit 0
 | 
			
		||||
 | 
			
		||||
# Also exit now if we it failed (or wasn't found), and '--version' was
 | 
			
		||||
# passed; such an option is passed most likely to detect whether the
 | 
			
		||||
# program is present and works.
 | 
			
		||||
case $2 in --version|--help) exit $st;; esac
 | 
			
		||||
 | 
			
		||||
# Exit code 63 means version mismatch.  This often happens when the user
 | 
			
		||||
# tries to use an ancient version of a tool on a file that requires a
 | 
			
		||||
# minimum version.
 | 
			
		||||
if test $st -eq 63; then
 | 
			
		||||
  msg="probably too old"
 | 
			
		||||
elif test $st -eq 127; then
 | 
			
		||||
  # Program was missing.
 | 
			
		||||
  msg="missing on your system"
 | 
			
		||||
else
 | 
			
		||||
  # Program was found and executed, but failed.  Give up.
 | 
			
		||||
  exit $st
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
perl_URL=http://www.perl.org/
 | 
			
		||||
flex_URL=http://flex.sourceforge.net/
 | 
			
		||||
gnu_software_URL=http://www.gnu.org/software
 | 
			
		||||
 | 
			
		||||
program_details ()
 | 
			
		||||
{
 | 
			
		||||
  case $1 in
 | 
			
		||||
    aclocal|automake)
 | 
			
		||||
      echo "The '$1' program is part of the GNU Automake package:"
 | 
			
		||||
      echo "<$gnu_software_URL/automake>"
 | 
			
		||||
      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
 | 
			
		||||
      echo "<$gnu_software_URL/autoconf>"
 | 
			
		||||
      echo "<$gnu_software_URL/m4/>"
 | 
			
		||||
      echo "<$perl_URL>"
 | 
			
		||||
      ;;
 | 
			
		||||
    autoconf|autom4te|autoheader)
 | 
			
		||||
      echo "The '$1' program is part of the GNU Autoconf package:"
 | 
			
		||||
      echo "<$gnu_software_URL/autoconf/>"
 | 
			
		||||
      echo "It also requires GNU m4 and Perl in order to run:"
 | 
			
		||||
      echo "<$gnu_software_URL/m4/>"
 | 
			
		||||
      echo "<$perl_URL>"
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
give_advice ()
 | 
			
		||||
{
 | 
			
		||||
  # Normalize program name to check for.
 | 
			
		||||
  normalized_program=`echo "$1" | sed '
 | 
			
		||||
    s/^gnu-//; t
 | 
			
		||||
    s/^gnu//; t
 | 
			
		||||
    s/^g//; t'`
 | 
			
		||||
 | 
			
		||||
  printf '%s\n' "'$1' is $msg."
 | 
			
		||||
 | 
			
		||||
  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
 | 
			
		||||
  case $normalized_program in
 | 
			
		||||
    autoconf*)
 | 
			
		||||
      echo "You should only need it if you modified 'configure.ac',"
 | 
			
		||||
      echo "or m4 files included by it."
 | 
			
		||||
      program_details 'autoconf'
 | 
			
		||||
      ;;
 | 
			
		||||
    autoheader*)
 | 
			
		||||
      echo "You should only need it if you modified 'acconfig.h' or"
 | 
			
		||||
      echo "$configure_deps."
 | 
			
		||||
      program_details 'autoheader'
 | 
			
		||||
      ;;
 | 
			
		||||
    automake*)
 | 
			
		||||
      echo "You should only need it if you modified 'Makefile.am' or"
 | 
			
		||||
      echo "$configure_deps."
 | 
			
		||||
      program_details 'automake'
 | 
			
		||||
      ;;
 | 
			
		||||
    aclocal*)
 | 
			
		||||
      echo "You should only need it if you modified 'acinclude.m4' or"
 | 
			
		||||
      echo "$configure_deps."
 | 
			
		||||
      program_details 'aclocal'
 | 
			
		||||
      ;;
 | 
			
		||||
   autom4te*)
 | 
			
		||||
      echo "You might have modified some maintainer files that require"
 | 
			
		||||
      echo "the 'autom4te' program to be rebuilt."
 | 
			
		||||
      program_details 'autom4te'
 | 
			
		||||
      ;;
 | 
			
		||||
    bison*|yacc*)
 | 
			
		||||
      echo "You should only need it if you modified a '.y' file."
 | 
			
		||||
      echo "You may want to install the GNU Bison package:"
 | 
			
		||||
      echo "<$gnu_software_URL/bison/>"
 | 
			
		||||
      ;;
 | 
			
		||||
    lex*|flex*)
 | 
			
		||||
      echo "You should only need it if you modified a '.l' file."
 | 
			
		||||
      echo "You may want to install the Fast Lexical Analyzer package:"
 | 
			
		||||
      echo "<$flex_URL>"
 | 
			
		||||
      ;;
 | 
			
		||||
    help2man*)
 | 
			
		||||
      echo "You should only need it if you modified a dependency" \
 | 
			
		||||
           "of a man page."
 | 
			
		||||
      echo "You may want to install the GNU Help2man package:"
 | 
			
		||||
      echo "<$gnu_software_URL/help2man/>"
 | 
			
		||||
    ;;
 | 
			
		||||
    makeinfo*)
 | 
			
		||||
      echo "You should only need it if you modified a '.texi' file, or"
 | 
			
		||||
      echo "any other file indirectly affecting the aspect of the manual."
 | 
			
		||||
      echo "You might want to install the Texinfo package:"
 | 
			
		||||
      echo "<$gnu_software_URL/texinfo/>"
 | 
			
		||||
      echo "The spurious makeinfo call might also be the consequence of"
 | 
			
		||||
      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
 | 
			
		||||
      echo "want to install GNU make:"
 | 
			
		||||
      echo "<$gnu_software_URL/make/>"
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      echo "You might have modified some files without having the proper"
 | 
			
		||||
      echo "tools for further handling them.  Check the 'README' file, it"
 | 
			
		||||
      echo "often tells you about the needed prerequisites for installing"
 | 
			
		||||
      echo "this package.  You may also peek at any GNU archive site, in"
 | 
			
		||||
      echo "case some other package contains this missing '$1' program."
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
give_advice "$1" | sed -e '1s/^/WARNING: /' \
 | 
			
		||||
                       -e '2,$s/^/         /' >&2
 | 
			
		||||
 | 
			
		||||
# Propagate the correct exit status (expected to be 127 for a program
 | 
			
		||||
# not found, 63 for a program that failed due to version mismatch).
 | 
			
		||||
exit $st
 | 
			
		||||
 | 
			
		||||
# Local variables:
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										1217
									
								
								stio/aclocal.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1217
									
								
								stio/aclocal.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										23237
									
								
								stio/configure
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										23237
									
								
								stio/configure
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										664
									
								
								stio/configure.ac
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										664
									
								
								stio/configure.ac
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,664 @@
 | 
			
		||||
dnl AC_PREREQ([2.67])
 | 
			
		||||
 | 
			
		||||
dnl Make sure you change the version information
 | 
			
		||||
dnl in include/stio/conf_*.h whenever you change the version 
 | 
			
		||||
dnl here. Those files don't depend on autoconf, thus requiring
 | 
			
		||||
dnl manual change.
 | 
			
		||||
AC_INIT([stio],[0.1.0],[Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)],[],[http://code.abiyo.net/@stio])
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_HEADER([lib/stio-cfg.h])
 | 
			
		||||
AC_CONFIG_AUX_DIR([ac])
 | 
			
		||||
AC_CONFIG_MACRO_DIR([m4])
 | 
			
		||||
 | 
			
		||||
dnl use CC and CPP for compilation tests with .c test programs.
 | 
			
		||||
AC_LANG(C)
 | 
			
		||||
 | 
			
		||||
dnl initialize automake
 | 
			
		||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 | 
			
		||||
AM_PROG_AR
 | 
			
		||||
 | 
			
		||||
dnl enable silent rules if automake supports them.
 | 
			
		||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
 | 
			
		||||
dnl m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 | 
			
		||||
 | 
			
		||||
dnl determine a C compiler to use
 | 
			
		||||
AC_PROG_CC
 | 
			
		||||
 | 
			
		||||
dnl determine a C++ compiler to use
 | 
			
		||||
AC_PROG_CXX
 | 
			
		||||
 | 
			
		||||
dnl check if the C++ compiler exists in PATH
 | 
			
		||||
AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
 | 
			
		||||
 | 
			
		||||
dnl check if the C++ compiler supports namespace
 | 
			
		||||
AX_CXX_NAMESPACE_STD
 | 
			
		||||
 | 
			
		||||
dnl determine some key programs
 | 
			
		||||
AC_PROG_INSTALL
 | 
			
		||||
AC_PROG_EGREP
 | 
			
		||||
AC_PROG_LN_S
 | 
			
		||||
 | 
			
		||||
dnl check other tools
 | 
			
		||||
AC_CHECK_TOOL(RM, rm)
 | 
			
		||||
AC_CHECK_TOOL(RMDIR, rmdir)
 | 
			
		||||
AC_CHECK_TOOL(TRUE, true)
 | 
			
		||||
AC_CHECK_TOOL(ECHO, echo)
 | 
			
		||||
 | 
			
		||||
dnl avoid "'/bin/rm: cannot remove `libtoolT': No such file or directory"
 | 
			
		||||
RM="$RM -f"
 | 
			
		||||
 | 
			
		||||
dnl initialize libtool
 | 
			
		||||
LT_INIT
 | 
			
		||||
AC_SUBST(LIBTOOL_DEPS)
 | 
			
		||||
 | 
			
		||||
dnl overrides the default CFLAGS setting
 | 
			
		||||
if test "$ac_test_CFLAGS" != "set"
 | 
			
		||||
then
 | 
			
		||||
	if test "$GCC" = "yes"
 | 
			
		||||
	then
 | 
			
		||||
		CFLAGS="$CFLAGS -Wall"
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$ac_test_CXXFLAGS" != "set"
 | 
			
		||||
then
 | 
			
		||||
	if test "$GCC" = "yes"
 | 
			
		||||
	then
 | 
			
		||||
		CXXFLAGS="$CXXFLAGS -Wall"
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl indicate the existence of config.h
 | 
			
		||||
CFLAGS="$CFLAGS -DSTIO_HAVE_CFG_H"
 | 
			
		||||
CXXFLAGS="$CXXFLAGS -DSTIO_HAVE_CFG_H"
 | 
			
		||||
 | 
			
		||||
dnl make visible the 64-bit interface to the file system
 | 
			
		||||
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
 | 
			
		||||
CXXFLAGS="$CXXFLAGS -D_LARGEFILE64_SOURCE"
 | 
			
		||||
 | 
			
		||||
dnl define the WIN32 conditional if necessary
 | 
			
		||||
case "$host" in
 | 
			
		||||
*-*-mingw*|*-*-cygwin*)
 | 
			
		||||
	#CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0400"
 | 
			
		||||
	platform_win32=yes
 | 
			
		||||
	;;
 | 
			
		||||
*)
 | 
			
		||||
	platform_win32=no
 | 
			
		||||
	;;
 | 
			
		||||
esac
 | 
			
		||||
AM_CONDITIONAL(WIN32, test "x${platform_win32}" = "xyes" )
 | 
			
		||||
 | 
			
		||||
dnl check the math library (check if -lm is needed)
 | 
			
		||||
LT_LIB_M
 | 
			
		||||
AC_SUBST(LIBM, $LIBM)
 | 
			
		||||
 | 
			
		||||
check some compiler builtins
 | 
			
		||||
AC_MSG_CHECKING([__builtin_memset])
 | 
			
		||||
AC_COMPILE_IFELSE(
 | 
			
		||||
	[AC_LANG_PROGRAM([], [__builtin_memset ((void*)1, ' ', 10);])],
 | 
			
		||||
	[AC_MSG_RESULT(yes)
 | 
			
		||||
	 AC_DEFINE([HAVE___BUILTIN_MEMSET], [1], [__builtin_memset])],
 | 
			
		||||
	[AC_MSG_RESULT(no)]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
AC_MSG_CHECKING([__builtin_memcpy])
 | 
			
		||||
AC_COMPILE_IFELSE(
 | 
			
		||||
	[AC_LANG_PROGRAM([], [__builtin_memcpy ((void*)1, (void*)2, 10);])],
 | 
			
		||||
	[AC_MSG_RESULT(yes)
 | 
			
		||||
	 AC_DEFINE([HAVE___BUILTIN_MEMCPY], [1], [__builtin_memcpy])],
 | 
			
		||||
	[AC_MSG_RESULT(no)]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
AC_MSG_CHECKING([__builtin_memmove])
 | 
			
		||||
AC_COMPILE_IFELSE(
 | 
			
		||||
	[AC_LANG_PROGRAM([], [__builtin_memmove ((void*)1, (void*)2, 10);])],
 | 
			
		||||
	[AC_MSG_RESULT(yes)
 | 
			
		||||
	 AC_DEFINE([HAVE___BUILTIN_MEMMOVE], [1], [__builtin_memmove])],
 | 
			
		||||
	[AC_MSG_RESULT(no)]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
AC_MSG_CHECKING([__builtin_memcmp])
 | 
			
		||||
AC_COMPILE_IFELSE(
 | 
			
		||||
	[AC_LANG_PROGRAM([], [int a = __builtin_memcmp ((void*)1, (void*)2, 10);])],
 | 
			
		||||
	[AC_MSG_RESULT(yes)
 | 
			
		||||
	 AC_DEFINE([HAVE___BUILTIN_MEMCMP], [1], [__builtin_memcmp])],
 | 
			
		||||
	[AC_MSG_RESULT(no)]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
dnl check header files.
 | 
			
		||||
AC_HEADER_STDC
 | 
			
		||||
AC_CHECK_HEADERS([stddef.h wchar.h wctype.h errno.h signal.h fcntl.h dirent.h])
 | 
			
		||||
AC_CHECK_HEADERS([time.h sys/time.h utime.h spawn.h execinfo.h ucontext.h])
 | 
			
		||||
AC_CHECK_HEADERS([sys/resource.h sys/wait.h sys/syscall.h sys/ioctl.h])
 | 
			
		||||
AC_CHECK_HEADERS([sys/sendfile.h sys/epoll.h sys/event.h])
 | 
			
		||||
AC_CHECK_HEADERS([sys/sysctl.h sys/socket.h sys/sockio.h sys/un.h])
 | 
			
		||||
AC_CHECK_HEADERS([ifaddrs.h tiuser.h linux/netfilter_ipv4.h netinet/sctp.h])
 | 
			
		||||
AC_CHECK_HEADERS([net/if.h net/if_dl.h], [], [], [
 | 
			
		||||
	#include <sys/types.h>
 | 
			
		||||
	#include <sys/socket.h>])
 | 
			
		||||
AC_CHECK_HEADERS([sys/stropts.h sys/macstat.h linux/ethtool.h linux/sockios.h])
 | 
			
		||||
AC_CHECK_HEADERS([quadmath.h crt_externs.h sys/prctl.h uci.h])
 | 
			
		||||
 | 
			
		||||
dnl check data types
 | 
			
		||||
dnl AC_CHECK_TYPE([wchar_t], 
 | 
			
		||||
dnl 	[ AC_DEFINE([HAVE_WCHAR_T_IN_STDDEF_H],
 | 
			
		||||
dnl	           [],[wchar_t is available in stddef.h]) ],
 | 
			
		||||
dnl	[],
 | 
			
		||||
dnl	[#include <stddef.h>])
 | 
			
		||||
 | 
			
		||||
dnl check functions
 | 
			
		||||
AC_CHECK_FUNCS([uselocale])
 | 
			
		||||
AC_CHECK_FUNCS([mbrlen mbrtowc wcrtomb])
 | 
			
		||||
AC_CHECK_FUNCS([mbsnrtowcs mbsrtowcs wcsnrtombs wcsrtombs])
 | 
			
		||||
AC_CHECK_FUNCS([wctype iswctype wctrans towctrans])
 | 
			
		||||
AC_CHECK_FUNCS([isblank iswblank])
 | 
			
		||||
AC_CHECK_FUNCS([lseek64 stat64 fstat64 lstat64 ftruncate64 readdir64 dirfd])
 | 
			
		||||
AC_CHECK_FUNCS([lstat fchmod fsync ftruncate])
 | 
			
		||||
AC_CHECK_FUNCS([timegm timelocal localtime_r gettimeofday settimeofday])
 | 
			
		||||
AC_CHECK_FUNCS([utime utimes futimes lutimes futimens])
 | 
			
		||||
AC_CHECK_FUNCS([sysconf prctl fdopendir setrlimit getrlimit getpgid getpgrp])
 | 
			
		||||
AC_CHECK_FUNCS([backtrace backtrace_symbols])
 | 
			
		||||
AC_CHECK_FUNCS([fork vfork posix_spawn gettid nanosleep select])
 | 
			
		||||
AC_CHECK_FUNCS([makecontext swapcontext getcontext setcontext])
 | 
			
		||||
AC_CHECK_FUNCS([snprintf _vsnprintf _vsnwprintf])
 | 
			
		||||
 | 
			
		||||
OLDLIBS="$LIBS"
 | 
			
		||||
LIBS="$LIBM $LIBS"
 | 
			
		||||
AC_CHECK_FUNCS([powl fmodl sinl cosl tanl sinhl coshl tanhl asinl acosl atanl atan2l logl log10l expl sqrtl ceill floorl roundl])
 | 
			
		||||
AC_CHECK_FUNCS([pow fmod sin cos tan sinh cosh tanh asin acos atan atan2 log log10 exp sqrt ceil floor round])
 | 
			
		||||
AC_CHECK_FUNCS([powf fmodf sinf cosf tanf sinhf coshf tanhf asinf acosf atanf atan2f logf log10f expf sqrtf ceilf floorf roundf])
 | 
			
		||||
LIBS="$OLDLIBS"
 | 
			
		||||
 | 
			
		||||
dnl OLDLIBS="$LIBS"
 | 
			
		||||
dnl AC_SEARCH_LIBS([connect], [socket])
 | 
			
		||||
dnl LIBS="$OLDLIBS"
 | 
			
		||||
dnl if test "$ac_cv_search_connect" != "none required" -a "$ac_cv_search_connect" != "no"
 | 
			
		||||
dnl then
 | 
			
		||||
dnl	SOCKET_LIBS="$SOCKET_LIBS -lsocket"
 | 
			
		||||
dnl fi
 | 
			
		||||
dnl AC_SUBST(SOCKET_LIBS)
 | 
			
		||||
AC_CHECK_FUNCS([connect gethostbyname])
 | 
			
		||||
if test "x$ac_cv_func_gethostbyname" = "xno"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_LIB([nsl], [gethostbyname], [
 | 
			
		||||
		SOCKET_LIBS="$SOCKET_LIBS -lnsl"
 | 
			
		||||
		AC_DEFINE(HAVE_GETHOSTBYNAME, 1)
 | 
			
		||||
	])
 | 
			
		||||
fi
 | 
			
		||||
if test "x$ac_cv_func_connect" = "xno"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_LIB([socket], [connect], [
 | 
			
		||||
		SOCKET_LIBS="$SOCKET_LIBS -lsocket"
 | 
			
		||||
		AC_DEFINE(HAVE_CONNECT, 1)
 | 
			
		||||
	]) 
 | 
			
		||||
 | 
			
		||||
	if test "x$ac_cv_lib_socket_connect" = xno
 | 
			
		||||
	then
 | 
			
		||||
		AC_CHECK_FUNCS([t_connect])
 | 
			
		||||
		if test "x$ac_cv_func_t_connect" = "xno"
 | 
			
		||||
		then
 | 
			
		||||
			AC_CHECK_LIB([nsl_s], [t_connect], [
 | 
			
		||||
				SOCKET_LIBS="$SOCKET_LIBS -lnsl_s"
 | 
			
		||||
				AC_DEFINE(HAVE_T_CONNECT, 1)
 | 
			
		||||
			])
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
if test "x${platform_win32}" = "xyes"
 | 
			
		||||
then
 | 
			
		||||
	SOCKET_LIBS="$SOCKET_LIBS -lws2_32"
 | 
			
		||||
fi
 | 
			
		||||
AC_SUBST(SOCKET_LIBS)
 | 
			
		||||
 | 
			
		||||
OLDLIBS="$LIBS"
 | 
			
		||||
LIBS="$SOCKET_LIBS $LIBS"
 | 
			
		||||
AC_CHECK_FUNCS([if_nametoindex if_indextoname getifaddrs])
 | 
			
		||||
LIBS="$OLDLIBS"
 | 
			
		||||
 | 
			
		||||
dnl check if sendfile and its variants exist in the standard c library
 | 
			
		||||
dnl it inspects the existence of each missing function in the sendfile library.
 | 
			
		||||
AC_CHECK_FUNCS([sendfile sendfile64 sendfilev sendfilev64])
 | 
			
		||||
if test "$ac_cv_func_sendfile" = "no"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_LIB([sendfile], [sendfile], [
 | 
			
		||||
		SENDFILE_LIBS="-lsendfile"
 | 
			
		||||
		dnl only for consistency with AC_CHECK_FUNCS
 | 
			
		||||
		AC_DEFINE(HAVE_SENDFILE, 1)
 | 
			
		||||
	])
 | 
			
		||||
fi
 | 
			
		||||
if test "$ac_cv_func_sendfile64" = "no"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_LIB([sendfile], [sendfile64], [
 | 
			
		||||
		SENDFILE_LIBS="-lsendfile"
 | 
			
		||||
		dnl only for consistency with AC_CHECK_FUNCS
 | 
			
		||||
		AC_DEFINE(HAVE_SENDFILE64, 1)
 | 
			
		||||
	])
 | 
			
		||||
fi
 | 
			
		||||
if test "$ac_cv_func_sendfilev" = "no"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_LIB([sendfile], [sendfilev], [
 | 
			
		||||
		SENDFILE_LIBS="-lsendfile"
 | 
			
		||||
		dnl only for consistency with AC_CHECK_FUNCS
 | 
			
		||||
		AC_DEFINE(HAVE_SENDFILEV, 1)
 | 
			
		||||
	])
 | 
			
		||||
fi
 | 
			
		||||
if test "$ac_cv_func_sendfilev64" = "no"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_LIB([sendfile], [sendfilev64], [
 | 
			
		||||
		SENDFILE_LIBS="-lsendfile"
 | 
			
		||||
		dnl only for consistency with AC_CHECK_FUNCS
 | 
			
		||||
		AC_DEFINE(HAVE_SENDFILEV64, 1)
 | 
			
		||||
	])
 | 
			
		||||
fi
 | 
			
		||||
AC_SUBST(SENDFILE_LIBS)
 | 
			
		||||
 | 
			
		||||
AC_CHECK_FUNCS([epoll_create epoll_create1])
 | 
			
		||||
if test "$ac_cv_func_epoll_create" = "yes"
 | 
			
		||||
then
 | 
			
		||||
	AC_DEFINE(HAVE_EPOLL, 1, [epoll support])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_CHECK_FUNCS([kqueue kqueue1 kevent])
 | 
			
		||||
 | 
			
		||||
dnl check is the import library for unicows.dll exists
 | 
			
		||||
dnl this check doesn't look for a particular symbol
 | 
			
		||||
dnl but for the symbol 'main' since i want to check 
 | 
			
		||||
dnl the existence of the libaray.
 | 
			
		||||
AC_CHECK_LIB([unicows], [main], [UNICOWS_LIBS="-lunicows"])
 | 
			
		||||
AC_SUBST(UNICOWS_LIBS)
 | 
			
		||||
 | 
			
		||||
AC_ARG_ENABLE([ssl], [AS_HELP_STRING([--enable-ssl],[build the library in the ssl mode (default. yes)])],
 | 
			
		||||
	enable_ssl_is=$enableval,enable_ssl_is=yes)
 | 
			
		||||
if test "x$enable_ssl_is" = "xyes"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_HEADERS([openssl/ssl.h openssl/err.h openssl/engine.h])
 | 
			
		||||
 | 
			
		||||
	dnl check for an SSL library
 | 
			
		||||
	AC_CHECK_FUNCS([SSL_library_init])
 | 
			
		||||
 | 
			
		||||
	if test "x$ac_cv_func_SSL_library_init" = "xyes"
 | 
			
		||||
	then
 | 
			
		||||
		AC_DEFINE(HAVE_SSL, 1, [ssl support])
 | 
			
		||||
	else
 | 
			
		||||
		AC_CHECK_LIB([ssl], [SSL_library_init], [
 | 
			
		||||
			SSL_LIBS="-lssl"
 | 
			
		||||
			AC_DEFINE(HAVE_SSL, 1, [ssl support])
 | 
			
		||||
 | 
			
		||||
			dnl additional check
 | 
			
		||||
			AC_CHECK_LIB([crypto], [ERR_get_error], [
 | 
			
		||||
				SSL_LIBS="${SSL_LIBS} -lcrypto"
 | 
			
		||||
			])
 | 
			
		||||
 | 
			
		||||
			dnl only for consistency with AC_CHECK_FUNCS
 | 
			
		||||
			AC_DEFINE(HAVE_SSL_LIBRARY_INIT, 1)
 | 
			
		||||
		])
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	OLDLIBS="$LIBS"
 | 
			
		||||
	LIBS="$SSL_LIBS $LIBS"
 | 
			
		||||
	AC_CHECK_FUNCS([ENGINE_cleanup CRYPTO_cleanup_all_ex_data])
 | 
			
		||||
	LIBS="$OLDLIBS"
 | 
			
		||||
fi
 | 
			
		||||
AC_SUBST(SSL_LIBS)
 | 
			
		||||
 | 
			
		||||
AC_STRUCT_DIRENT_D_TYPE
 | 
			
		||||
AC_CHECK_MEMBERS([DIR.d_fd, DIR.dd_fd],,,[[#include <dirent.h>]])
 | 
			
		||||
AC_CHECK_MEMBERS([struct stat.st_birthtime])
 | 
			
		||||
AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec])
 | 
			
		||||
AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec])
 | 
			
		||||
AC_CHECK_MEMBERS([struct stat.st_mtimespec.tv_nsec])
 | 
			
		||||
AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
AC_CHECK_MEMBERS([struct ifreq.ifr_ifindex, struct ifreq.ifr_mtu], [], [],
 | 
			
		||||
	[#include <sys/types.h>
 | 
			
		||||
	 #include <sys/socket.h>
 | 
			
		||||
	 #ifdef HAVE_NET_IF_H
 | 
			
		||||
	 #include <net/if.h>
 | 
			
		||||
	 #endif])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_TYPES([struct lifconf, struct lifreq, struct if_laddrreq], [], [],
 | 
			
		||||
	[#include <sys/types.h>
 | 
			
		||||
	 #include <sys/socket.h>
 | 
			
		||||
	 #ifdef HAVE_NET_IF_H
 | 
			
		||||
	 #include <net/if.h>
 | 
			
		||||
	 #endif])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id], [], [],
 | 
			
		||||
	[#include <sys/types.h> 
 | 
			
		||||
	 #include <sys/socket.h> 
 | 
			
		||||
	 #include <netinet/in.h>])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_TYPES([struct timespec], [], [],
 | 
			
		||||
	[#include <sys/types.h>
 | 
			
		||||
	 #ifdef HAVE_TIME_H
 | 
			
		||||
	 #include <time.h>
 | 
			
		||||
	 #endif
 | 
			
		||||
	 #ifdef HAVE_SYS_TIME_H
 | 
			
		||||
	 #include <sys/time.h>
 | 
			
		||||
	 #endif])
 | 
			
		||||
 | 
			
		||||
AC_MSG_CHECKING([for va_copy])
 | 
			
		||||
AC_TRY_LINK(
 | 
			
		||||
	[#include <stdarg.h>],
 | 
			
		||||
	[
 | 
			
		||||
		va_list x, y;
 | 
			
		||||
		va_copy(x,y);
 | 
			
		||||
	],
 | 
			
		||||
	[
 | 
			
		||||
		AC_MSG_RESULT(yes)
 | 
			
		||||
		AC_DEFINE([HAVE_VA_COPY], [1], [va_copy is available])
 | 
			
		||||
	],
 | 
			
		||||
	[AC_MSG_RESULT(no)]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
AC_MSG_CHECKING([for __va_copy])
 | 
			
		||||
AC_TRY_LINK(
 | 
			
		||||
	[#include <stdarg.h>],
 | 
			
		||||
	[
 | 
			
		||||
		va_list x, y;
 | 
			
		||||
		__va_copy(x,y); 
 | 
			
		||||
	],
 | 
			
		||||
	[
 | 
			
		||||
		AC_MSG_RESULT(yes)
 | 
			
		||||
		AC_DEFINE([HAVE___VA_COPY], [1], [__va_copy is available])
 | 
			
		||||
	],
 | 
			
		||||
	[AC_MSG_RESULT(no)]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
dnl check the size of primitive data types
 | 
			
		||||
AC_CHECK_SIZEOF(char,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(short,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(int,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(long,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(long long,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int8,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int16,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int32,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int64,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int128,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int8_t,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int16_t,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int32_t,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int64_t,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__int128_t,,[[]])
 | 
			
		||||
dnl AC_CHECK_SIZEOF doesn't work without white-space between void and *
 | 
			
		||||
AC_CHECK_SIZEOF(void *,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(float,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(double,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(long double,,[[]])
 | 
			
		||||
AC_CHECK_SIZEOF(__float128,,[[]])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_SIZEOF(wchar_t)
 | 
			
		||||
AC_CHECK_SIZEOF(off_t)
 | 
			
		||||
AC_CHECK_SIZEOF(off64_t)
 | 
			
		||||
 | 
			
		||||
AC_CHECK_SIZEOF(mbstate_t,,[#include <wchar.h>])
 | 
			
		||||
AX_CHECK_NUMVALOF(MB_LEN_MAX,[32],[#include <limits.h>])
 | 
			
		||||
 | 
			
		||||
if test "x${platform_win32}" = "xyes"
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_SIZEOF(struct sockaddr_in,,[
 | 
			
		||||
		#include <winsock2.h>
 | 
			
		||||
		#include <ws2tcpip.h>])
 | 
			
		||||
	AC_CHECK_SIZEOF(struct sockaddr_in6,,[
 | 
			
		||||
		#include <winsock2.h>
 | 
			
		||||
		#include <ws2tcpip.h>])
 | 
			
		||||
	AC_CHECK_SIZEOF(struct sockaddr_un,,[
 | 
			
		||||
		#include <winsock2.h>
 | 
			
		||||
		#include <ws2tcpip.h>])
 | 
			
		||||
	AC_CHECK_SIZEOF(socklen_t,, [
 | 
			
		||||
		#include <winsock2.h>
 | 
			
		||||
		#include <ws2tcpip.h>])
 | 
			
		||||
 | 
			
		||||
	if test ${ac_cv_sizeof_socklen_t} -gt 0
 | 
			
		||||
	then
 | 
			
		||||
		AX_CHECK_SIGN([socklen_t],
 | 
			
		||||
			[ AC_DEFINE(STIO_SOCKLEN_T_IS_SIGNED, 1, [Define if socklen_t is signed]) ],
 | 
			
		||||
			[ AS_ECHO_N("") ],
 | 
			
		||||
			[#include <winsock2.h>
 | 
			
		||||
			 #include <ws2tcpip.h>])
 | 
			
		||||
	fi
 | 
			
		||||
else
 | 
			
		||||
	AC_CHECK_SIZEOF(struct sockaddr_in,,[
 | 
			
		||||
		#include <sys/socket.h>
 | 
			
		||||
		#include <netinet/in.h>])
 | 
			
		||||
	AC_CHECK_SIZEOF(struct sockaddr_in6,,[
 | 
			
		||||
		#include <sys/socket.h>
 | 
			
		||||
		#include <netinet/in.h>])
 | 
			
		||||
	AC_CHECK_SIZEOF(struct sockaddr_un,,[
 | 
			
		||||
		#include <sys/socket.h>
 | 
			
		||||
		#include <sys/un.h>])
 | 
			
		||||
	AC_CHECK_SIZEOF(socklen_t,, [
 | 
			
		||||
		#include <sys/socket.h>
 | 
			
		||||
		#include <netinet/in.h>])
 | 
			
		||||
 | 
			
		||||
	if test ${ac_cv_sizeof_socklen_t} -gt 0
 | 
			
		||||
	then
 | 
			
		||||
		AX_CHECK_SIGN([socklen_t],
 | 
			
		||||
			[ AC_DEFINE(STIO_SOCKLEN_T_IS_SIGNED, 1, [Define if socklen_t is signed]) ],
 | 
			
		||||
			[ AS_ECHO_N("") ],
 | 
			
		||||
			[#include <sys/socket.h>])
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dnl gcc 3.4.3 on opensolaris x86 gave this warning without -msse or 
 | 
			
		||||
dnl something similar.
 | 
			
		||||
dnl    SSE vector argument without SSE enabled changes the ABI
 | 
			
		||||
dnl it also ended with an internal compiler error while compiling 
 | 
			
		||||
dnl some expressions like 'v % base' where v is of the __int128_t type.
 | 
			
		||||
dnl so i've added this check to determine if the compiler has
 | 
			
		||||
dnl proper support for __int128_t.
 | 
			
		||||
dnl 
 | 
			
		||||
dnl Changing ac_cv_sizeof___int128_t here doesn't corret SIZEOF___INT128_T
 | 
			
		||||
dnl since it's already generated. It only affects STIO_SIZEOF___INT128_T below.
 | 
			
		||||
if test ${ac_cv_sizeof___int128_t} -gt 0
 | 
			
		||||
then
 | 
			
		||||
	AC_MSG_CHECKING([__int128_t with %])
 | 
			
		||||
	AC_COMPILE_IFELSE(
 | 
			
		||||
		[AC_LANG_PROGRAM([], [
 | 
			
		||||
			volatile __int128_t x, base;
 | 
			
		||||
			x = (__int128_t)&base;
 | 
			
		||||
			base = (__int128_t)&x;
 | 
			
		||||
			x = x % base;
 | 
			
		||||
			return (int)x;
 | 
			
		||||
		])],
 | 
			
		||||
 | 
			
		||||
		[
 | 
			
		||||
			AC_MSG_RESULT(yes)
 | 
			
		||||
		],
 | 
			
		||||
		[
 | 
			
		||||
			AC_MSG_RESULT(no)
 | 
			
		||||
			ac_cv_sizeof___int128_t=0
 | 
			
		||||
		]
 | 
			
		||||
	)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl Some compilers doesn't seem to have full support for __float128 
 | 
			
		||||
dnl even if the type is available.
 | 
			
		||||
if test ${ac_cv_sizeof___float128} -gt 0
 | 
			
		||||
then
 | 
			
		||||
	AC_MSG_CHECKING([__float128 with linking])
 | 
			
		||||
	AC_TRY_LINK(
 | 
			
		||||
		[#include <stdio.h>],
 | 
			
		||||
		[
 | 
			
		||||
			__float128 x, y, z;
 | 
			
		||||
			z = x * y + x;
 | 
			
		||||
			printf ("%p", (char*)(int)z);
 | 
			
		||||
		],
 | 
			
		||||
		[AC_MSG_RESULT(yes)],
 | 
			
		||||
		[
 | 
			
		||||
			AC_MSG_RESULT(no)
 | 
			
		||||
			ac_cv_sizeof___float128=0
 | 
			
		||||
		]
 | 
			
		||||
	)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl Quadmath functions may not be in the default c library.
 | 
			
		||||
dnl Find a library containing them. Disable the float128 type
 | 
			
		||||
dnl if they are not available.
 | 
			
		||||
if test ${ac_cv_sizeof___float128} -gt 0
 | 
			
		||||
then
 | 
			
		||||
	AC_CHECK_FUNCS([quadmath_snprintf])
 | 
			
		||||
	if test "$ac_cv_func_quadmath_snprintf" = "no"
 | 
			
		||||
	then
 | 
			
		||||
		OLDLIBS="$LIBS"
 | 
			
		||||
		LIBS="$LIBM $LIBS"
 | 
			
		||||
		AC_CHECK_FUNCS([quadmath_snprintf])
 | 
			
		||||
		LIBS="$OLDLIBS"
 | 
			
		||||
	
 | 
			
		||||
		if test "$ac_cv_func_quadmath_snprintf" = "no"
 | 
			
		||||
		then
 | 
			
		||||
			dnl quadmath_snprintf not avalable in the 
 | 
			
		||||
			dnl standard math lib.
 | 
			
		||||
 | 
			
		||||
			AC_CHECK_LIB([quadmath], [quadmath_snprintf], [
 | 
			
		||||
				QUADMATH_LIBS="-lquadmath"
 | 
			
		||||
				LIBM="$LIBM -lquadmath"
 | 
			
		||||
				AC_DEFINE(HAVE_QUADMATH_SNPRINTF, 1)
 | 
			
		||||
			])
 | 
			
		||||
 | 
			
		||||
			if test "$ac_cv_lib_quadmath_quadmath_snprintf" = "no"
 | 
			
		||||
			then
 | 
			
		||||
				dnl quadmath_snprintf not avalable in the 
 | 
			
		||||
				dnl quadmath lib.
 | 
			
		||||
 | 
			
		||||
				ac_cv_sizeof___float128=0
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
		else
 | 
			
		||||
			QUADMATH_LIBS="$LIBM"
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if test ${ac_cv_sizeof___float128} -gt 0
 | 
			
		||||
	then
 | 
			
		||||
		OLDLIBS="$LIBS"
 | 
			
		||||
		LIBS="$LIBM $LIBS"
 | 
			
		||||
		AC_CHECK_FUNCS([powq fmodq sinq cosq tanq sinhq coshq tanhq asinq acosq atanq atan2q logq log10q expq sqrtq ceilq floorq roundq])
 | 
			
		||||
		AC_CHECK_FUNCS([strtoflt128])
 | 
			
		||||
		LIBS="$OLDLIBS"
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
AC_SUBST(QUADMATH_LIBS)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_CHAR, ${ac_cv_sizeof_char}, [sizeof(char)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_SHORT, ${ac_cv_sizeof_short}, [sizeof(short)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_INT, ${ac_cv_sizeof_int}, [sizeof(int)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_LONG, ${ac_cv_sizeof_long}, [sizeof(long)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_LONG_LONG, ${ac_cv_sizeof_long_long}, [sizeof(long long)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___INT8, ${ac_cv_sizeof___int8}, [sizeof(__int8)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___INT16, ${ac_cv_sizeof___int16}, [sizeof(__int16)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___INT32, ${ac_cv_sizeof___int32}, [sizeof(__int32)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___INT64, ${ac_cv_sizeof___int64}, [sizeof(__int64)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___INT128, ${ac_cv_sizeof___int128}, [sizeof(__int128)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___INT128_T, ${ac_cv_sizeof___int128_t}, [sizeof(__int128_t)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_VOID_P, ${ac_cv_sizeof_void_p}, [sizeof(void*)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_FLOAT, ${ac_cv_sizeof_float}, [sizeof(float)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_DOUBLE, ${ac_cv_sizeof_double}, [sizeof(double)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_LONG_DOUBLE, ${ac_cv_sizeof_long_double}, [sizeof(long double)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF___FLOAT128, ${ac_cv_sizeof___float128}, [sizeof(__float128)])
 | 
			
		||||
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_WCHAR_T, ${ac_cv_sizeof_wchar_t}, [sizeof(wchar_t)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_OFF_T, ${ac_cv_sizeof_off_t}, [sizeof(off_t)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_OFF64_T, ${ac_cv_sizeof_off64_t}, [sizeof(off64_t)])
 | 
			
		||||
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_MBSTATE_T, ${ac_cv_sizeof_mbstate_t}, [sizeof(mbstate_t)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_MBLEN_MAX, ${ax_cv_numvalof_MB_LEN_MAX}, [MB_LEN_MAX])
 | 
			
		||||
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_STRUCT_SOCKADDR_IN, ${ac_cv_sizeof_struct_sockaddr_in}, [sizeof(struct sockaddr_in)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_STRUCT_SOCKADDR_IN6, ${ac_cv_sizeof_struct_sockaddr_in6}, [sizeof(struct sockaddr_in6)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_STRUCT_SOCKADDR_UN, ${ac_cv_sizeof_struct_sockaddr_un}, [sizeof(struct sockaddr_un)])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_SIZEOF_SOCKLEN_T, ${ac_cv_sizeof_socklen_t}, [sizeof(socklen_t)])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
stio_package_version_major="`echo ${PACKAGE_VERSION} | cut -d. -f1`"
 | 
			
		||||
stio_package_version_minor="`echo ${PACKAGE_VERSION} | cut -d. -f2`"
 | 
			
		||||
stio_package_version_patch="`echo ${PACKAGE_VERSION} | cut -d. -f3`"
 | 
			
		||||
AC_SUBST(PACKAGE_VERSION_MAJOR, ${stio_package_version_major})
 | 
			
		||||
AC_SUBST(PACKAGE_VERSION_MINOR, ${stio_package_version_minor})
 | 
			
		||||
AC_SUBST(PACKAGE_VERSION_PATCH, ${stio_package_version_patch})
 | 
			
		||||
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION, "${PACKAGE_VERSION}", [Package version])
 | 
			
		||||
dnl AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION_MAJOR, $(echo ${VERSION} | cut -d. -f1), [Major version number])
 | 
			
		||||
dnl AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION_MINOR, $(echo ${VERSION} | cut -d. -f2), [Minor version number])
 | 
			
		||||
dnl AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION_PATCH, $(echo ${VERSION} | cut -d. -f3), [Patch level])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION_MAJOR, ${stio_package_version_major}, [Major version number])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION_MINOR, ${stio_package_version_minor}, [Minor version number])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_VERSION_PATCH, ${stio_package_version_patch}, [Patch level])
 | 
			
		||||
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_AUTHOR,"${PACKAGE_BUGREPORT}", [Author])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_NAME,"${PACKAGE_NAME}", [package name])
 | 
			
		||||
AC_DEFINE_UNQUOTED(STIO_PACKAGE_URL, "${PACKAGE_URL}", [Project URL])
 | 
			
		||||
 | 
			
		||||
AC_C_BIGENDIAN(
 | 
			
		||||
	[AC_DEFINE([STIO_ENDIAN_BIG],[],[Big Endian])],
 | 
			
		||||
	[AC_DEFINE([STIO_ENDIAN_LITTLE],[],[Little Endian])],
 | 
			
		||||
	[AC_DEFINE([STIO_ENDIAN_UNKNOWN],[],[Unknown Endian])])
 | 
			
		||||
 | 
			
		||||
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],[build the library in the debug mode (default. no)])],
 | 
			
		||||
	enable_debug_is=$enableval,enable_debug_is=no)
 | 
			
		||||
if test "$enable_debug_is" = "yes"
 | 
			
		||||
then
 | 
			
		||||
	[CFLAGS="$CFLAGS -g -D_DEBUG -UNDEBUG -DSTIO_BUILD_DEBUG -U_FORTIFY_SOURCE"]
 | 
			
		||||
	[CXXFLAGS="$CXXFLAGS -g -D_DEBUG -UNDEBUG -DSTIO_BUILD_DEBUG -U_FORTIFY_SOURCE"]
 | 
			
		||||
	AC_SUBST(BUILD_MODE, "debug")
 | 
			
		||||
else
 | 
			
		||||
	[CFLAGS="$CFLAGS -DNDEBUG -U_DEBUG -DSTIO_BUILD_RELEASE -U_FORTIFY_SOURCE"]
 | 
			
		||||
	[CXXFLAGS="$CXXFLAGS -DNDEBUG -U_DEBUG -DSTIO_BUILD_RELEASE -U_FORTIFY_SOURCE"]
 | 
			
		||||
	AC_SUBST(BUILD_MODE, "release")
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_ARG_ENABLE([cxx], 
 | 
			
		||||
	[AS_HELP_STRING([--enable-cxx],[build the library for C++ if a C++ compiler is available (default. yes)])],
 | 
			
		||||
	enable_cxx_is=$enableval,
 | 
			
		||||
	enable_cxx_is=yes
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
dnl disable c++ if no c++ compiler was found
 | 
			
		||||
test "${HAVE_CXX}" = "yes" || enable_cxx_is="no"
 | 
			
		||||
dnl disable c++ if the compiler is too old.
 | 
			
		||||
test "${ax_cv_cxx_have_std_namespace}" = "yes" || enable_cxx_is="no"
 | 
			
		||||
 | 
			
		||||
AM_CONDITIONAL(ENABLE_CXX, test "${enable_cxx_is}" = "yes" )
 | 
			
		||||
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_WCHAR_T, $ac_cv_sizeof_wchar_t)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_LONG_LONG, $ac_cv_sizeof_long_long)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_LONG, $ac_cv_sizeof_long)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_INT, $ac_cv_sizeof_int)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_SHORT, $ac_cv_sizeof_short)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_CHAR, $ac_cv_sizeof_char)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_VOID_P, $ac_cv_sizeof_void_p)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_FLOAT, $ac_cv_sizeof_float)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_DOUBLE, $ac_cv_sizeof_double)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_LONG_DOUBLE, $ac_cv_sizeof_long_double)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_OFF_T, $ac_cv_sizeof_off_t)
 | 
			
		||||
AC_SUBST(STIO_SIZEOF_OFF64_T, $ac_cv_sizeof_off64_t)
 | 
			
		||||
 | 
			
		||||
AC_SUBST(STIO_PROJECT_AUTHOR, "${PACKAGE_BUGREPORT}")
 | 
			
		||||
AC_SUBST(STIO_PROJECT_URL, "${PACKAGE_URL}")
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_FILES([
 | 
			
		||||
	Makefile 
 | 
			
		||||
	lib/Makefile 
 | 
			
		||||
])
 | 
			
		||||
AC_OUTPUT
 | 
			
		||||
 | 
			
		||||
[
 | 
			
		||||
echo 
 | 
			
		||||
echo "-[SUMMARY]---------------------------------------------------------------"
 | 
			
		||||
echo "Configured for ${host}"
 | 
			
		||||
echo "  Build mode : ${BUILD_MODE}"
 | 
			
		||||
echo "  Source directory: ${srcdir}"
 | 
			
		||||
echo "  Installation directory: ${prefix}"
 | 
			
		||||
echo "  C compiler: ${CC} ${CFLAGS}"
 | 
			
		||||
echo "  C++ compiler: ${CXX} ${CXXFLAGS}"
 | 
			
		||||
echo "  C++ support: ${enable_cxx_is}"
 | 
			
		||||
echo "  Math library: ${LIBM}"
 | 
			
		||||
echo "  Socket library: ${SOCKET_LIBS}"
 | 
			
		||||
echo "  Sendfile library: ${SENDFILE_LIBS}"
 | 
			
		||||
echo "  SSL library: ${SSL_LIBS}"
 | 
			
		||||
echo "-------------------------------------------------------------------------"
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										60
									
								
								stio/lib/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								stio/lib/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,60 @@
 | 
			
		||||
AUTOMAKE_OPTIONS = nostdinc
 | 
			
		||||
 | 
			
		||||
CPPFLAGS_ALL_COMMON = \
 | 
			
		||||
	-I$(abs_builddir) \
 | 
			
		||||
	-I$(abs_srcdir) \
 | 
			
		||||
	-I$(includedir)	
 | 
			
		||||
 | 
			
		||||
LDFLAGS_ALL_COMMON = -L$(abs_builddir) -L$(libdir)
 | 
			
		||||
 | 
			
		||||
##################################################
 | 
			
		||||
# MAIN LIBRARY 
 | 
			
		||||
##################################################
 | 
			
		||||
 | 
			
		||||
CPPFLAGS_LIB_COMMON = $(CPPFLAGS_ALL_COMMON) $(LTDLINCL)
 | 
			
		||||
LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON) -version-info 1:0:0 -no-undefined
 | 
			
		||||
LIBADD_LIB_COMMON = $(LIBM) $(LIBLTDL) 
 | 
			
		||||
 | 
			
		||||
pkgincludedir = $(includedir)
 | 
			
		||||
pkglibdir = $(libdir)
 | 
			
		||||
pkgbindir = $(bindir)
 | 
			
		||||
 | 
			
		||||
pkginclude_HEADERS = \
 | 
			
		||||
	stio-cfg.h \
 | 
			
		||||
	stio-cmn.h \
 | 
			
		||||
	stio-tcp.h \
 | 
			
		||||
	stio-udp.h \
 | 
			
		||||
	stio.h
 | 
			
		||||
 | 
			
		||||
pkglib_LTLIBRARIES = libstio.la
 | 
			
		||||
libstio_la_SOURCES = \
 | 
			
		||||
	stio-prv.h \
 | 
			
		||||
	stio-tim.h \
 | 
			
		||||
	stio-tmr.h \
 | 
			
		||||
	stio.c \
 | 
			
		||||
	stio-sck.c \
 | 
			
		||||
	stio-tcp.c \
 | 
			
		||||
	stio-tim.c \
 | 
			
		||||
	stio-tmr.c \
 | 
			
		||||
	stio-udp.c
 | 
			
		||||
libstio_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
 | 
			
		||||
libstio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON)
 | 
			
		||||
libstio_la_LIBADD = $(LIBADD_LIB_COMMON)
 | 
			
		||||
 | 
			
		||||
pkgbin_PROGRAMS = stio
 | 
			
		||||
stio_SOURCES = main.c
 | 
			
		||||
stio_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
 | 
			
		||||
stio_LDFLAGS = $(LDFLAGS_LIB_COMMON)
 | 
			
		||||
stio_LDADD = $(LIBADD_LIB_COMMON) -lstio 
 | 
			
		||||
 | 
			
		||||
install-data-hook:
 | 
			
		||||
	@echo "#ifndef _STIO_CFG_H_" > "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
	@echo "#define _STIO_CFG_H_" >> "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
	@$(EGREP) "#define[ ]+STIO_" "$(abs_builddir)/stio-cfg.h" >> "$(DESTDIR)$(pkgincludedir)/stio-cfg.h" 
 | 
			
		||||
	@echo "#endif" >> "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
	@$(RM) "$(DESTDIR)$(pkgincludedir)/stio-cfg.h.in"
 | 
			
		||||
	@$(SED) 's|/\*#define STIO_HAVE_CFG_H\*/|#define STIO_HAVE_CFG_H|' "$(srcdir)/stio-cmn.h" > "$(DESTDIR)$(pkgincludedir)/stio-cmn.h"
 | 
			
		||||
 | 
			
		||||
uninstall-hook:
 | 
			
		||||
	@$(RM) "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										892
									
								
								stio/lib/Makefile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										892
									
								
								stio/lib/Makefile.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,892 @@
 | 
			
		||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
 | 
			
		||||
# @configure_input@
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
# This Makefile.in is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
 | 
			
		||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 | 
			
		||||
# PARTICULAR PURPOSE.
 | 
			
		||||
 | 
			
		||||
@SET_MAKE@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
VPATH = @srcdir@
 | 
			
		||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 | 
			
		||||
am__make_running_with_option = \
 | 
			
		||||
  case $${target_option-} in \
 | 
			
		||||
      ?) ;; \
 | 
			
		||||
      *) echo "am__make_running_with_option: internal error: invalid" \
 | 
			
		||||
              "target option '$${target_option-}' specified" >&2; \
 | 
			
		||||
         exit 1;; \
 | 
			
		||||
  esac; \
 | 
			
		||||
  has_opt=no; \
 | 
			
		||||
  sane_makeflags=$$MAKEFLAGS; \
 | 
			
		||||
  if $(am__is_gnu_make); then \
 | 
			
		||||
    sane_makeflags=$$MFLAGS; \
 | 
			
		||||
  else \
 | 
			
		||||
    case $$MAKEFLAGS in \
 | 
			
		||||
      *\\[\ \	]*) \
 | 
			
		||||
        bs=\\; \
 | 
			
		||||
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
 | 
			
		||||
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
 | 
			
		||||
    esac; \
 | 
			
		||||
  fi; \
 | 
			
		||||
  skip_next=no; \
 | 
			
		||||
  strip_trailopt () \
 | 
			
		||||
  { \
 | 
			
		||||
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
 | 
			
		||||
  }; \
 | 
			
		||||
  for flg in $$sane_makeflags; do \
 | 
			
		||||
    test $$skip_next = yes && { skip_next=no; continue; }; \
 | 
			
		||||
    case $$flg in \
 | 
			
		||||
      *=*|--*) continue;; \
 | 
			
		||||
        -*I) strip_trailopt 'I'; skip_next=yes;; \
 | 
			
		||||
      -*I?*) strip_trailopt 'I';; \
 | 
			
		||||
        -*O) strip_trailopt 'O'; skip_next=yes;; \
 | 
			
		||||
      -*O?*) strip_trailopt 'O';; \
 | 
			
		||||
        -*l) strip_trailopt 'l'; skip_next=yes;; \
 | 
			
		||||
      -*l?*) strip_trailopt 'l';; \
 | 
			
		||||
      -[dEDm]) skip_next=yes;; \
 | 
			
		||||
      -[JT]) skip_next=yes;; \
 | 
			
		||||
    esac; \
 | 
			
		||||
    case $$flg in \
 | 
			
		||||
      *$$target_option*) has_opt=yes; break;; \
 | 
			
		||||
    esac; \
 | 
			
		||||
  done; \
 | 
			
		||||
  test $$has_opt = yes
 | 
			
		||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
 | 
			
		||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 | 
			
		||||
pkgdatadir = $(datadir)/@PACKAGE@
 | 
			
		||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
 | 
			
		||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 | 
			
		||||
install_sh_DATA = $(install_sh) -c -m 644
 | 
			
		||||
install_sh_PROGRAM = $(install_sh) -c
 | 
			
		||||
install_sh_SCRIPT = $(install_sh) -c
 | 
			
		||||
INSTALL_HEADER = $(INSTALL_DATA)
 | 
			
		||||
transform = $(program_transform_name)
 | 
			
		||||
NORMAL_INSTALL = :
 | 
			
		||||
PRE_INSTALL = :
 | 
			
		||||
POST_INSTALL = :
 | 
			
		||||
NORMAL_UNINSTALL = :
 | 
			
		||||
PRE_UNINSTALL = :
 | 
			
		||||
POST_UNINSTALL = :
 | 
			
		||||
build_triplet = @build@
 | 
			
		||||
host_triplet = @host@
 | 
			
		||||
pkgbin_PROGRAMS = stio$(EXEEXT)
 | 
			
		||||
subdir = lib
 | 
			
		||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 | 
			
		||||
	$(srcdir)/stio-cfg.h.in $(top_srcdir)/ac/depcomp \
 | 
			
		||||
	$(pkginclude_HEADERS)
 | 
			
		||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 | 
			
		||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ax_cxx_namespace.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ax_numval.m4 $(top_srcdir)/m4/libtool.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
 | 
			
		||||
	$(top_srcdir)/configure.ac
 | 
			
		||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 | 
			
		||||
	$(ACLOCAL_M4)
 | 
			
		||||
mkinstalldirs = $(install_sh) -d
 | 
			
		||||
CONFIG_HEADER = stio-cfg.h
 | 
			
		||||
CONFIG_CLEAN_FILES =
 | 
			
		||||
CONFIG_CLEAN_VPATH_FILES =
 | 
			
		||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 | 
			
		||||
am__vpath_adj = case $$p in \
 | 
			
		||||
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
 | 
			
		||||
    *) f=$$p;; \
 | 
			
		||||
  esac;
 | 
			
		||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
 | 
			
		||||
am__install_max = 40
 | 
			
		||||
am__nobase_strip_setup = \
 | 
			
		||||
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
 | 
			
		||||
am__nobase_strip = \
 | 
			
		||||
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
 | 
			
		||||
am__nobase_list = $(am__nobase_strip_setup); \
 | 
			
		||||
  for p in $$list; do echo "$$p $$p"; done | \
 | 
			
		||||
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
 | 
			
		||||
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
 | 
			
		||||
    if (++n[$$2] == $(am__install_max)) \
 | 
			
		||||
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
 | 
			
		||||
    END { for (dir in files) print dir, files[dir] }'
 | 
			
		||||
am__base_list = \
 | 
			
		||||
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
 | 
			
		||||
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 | 
			
		||||
am__uninstall_files_from_dir = { \
 | 
			
		||||
  test -z "$$files" \
 | 
			
		||||
    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
 | 
			
		||||
    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
 | 
			
		||||
         $(am__cd) "$$dir" && rm -f $$files; }; \
 | 
			
		||||
  }
 | 
			
		||||
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgbindir)" \
 | 
			
		||||
	"$(DESTDIR)$(pkgincludedir)"
 | 
			
		||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
 | 
			
		||||
am__DEPENDENCIES_1 =
 | 
			
		||||
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
 | 
			
		||||
libstio_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
 | 
			
		||||
am_libstio_la_OBJECTS = libstio_la-stio.lo libstio_la-stio-sck.lo \
 | 
			
		||||
	libstio_la-stio-tcp.lo libstio_la-stio-tim.lo \
 | 
			
		||||
	libstio_la-stio-tmr.lo libstio_la-stio-udp.lo
 | 
			
		||||
libstio_la_OBJECTS = $(am_libstio_la_OBJECTS)
 | 
			
		||||
AM_V_lt = $(am__v_lt_@AM_V@)
 | 
			
		||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_lt_0 = --silent
 | 
			
		||||
am__v_lt_1 = 
 | 
			
		||||
libstio_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 | 
			
		||||
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 | 
			
		||||
	$(libstio_la_LDFLAGS) $(LDFLAGS) -o $@
 | 
			
		||||
PROGRAMS = $(pkgbin_PROGRAMS)
 | 
			
		||||
am_stio_OBJECTS = stio-main.$(OBJEXT)
 | 
			
		||||
stio_OBJECTS = $(am_stio_OBJECTS)
 | 
			
		||||
stio_DEPENDENCIES = $(am__DEPENDENCIES_2)
 | 
			
		||||
stio_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 | 
			
		||||
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 | 
			
		||||
	$(stio_LDFLAGS) $(LDFLAGS) -o $@
 | 
			
		||||
AM_V_P = $(am__v_P_@AM_V@)
 | 
			
		||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_P_0 = false
 | 
			
		||||
am__v_P_1 = :
 | 
			
		||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
 | 
			
		||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_GEN_0 = @echo "  GEN     " $@;
 | 
			
		||||
am__v_GEN_1 = 
 | 
			
		||||
AM_V_at = $(am__v_at_@AM_V@)
 | 
			
		||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_at_0 = @
 | 
			
		||||
am__v_at_1 = 
 | 
			
		||||
DEFAULT_INCLUDES = 
 | 
			
		||||
depcomp = $(SHELL) $(top_srcdir)/ac/depcomp
 | 
			
		||||
am__depfiles_maybe = depfiles
 | 
			
		||||
am__mv = mv -f
 | 
			
		||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 | 
			
		||||
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 | 
			
		||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 | 
			
		||||
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 | 
			
		||||
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 | 
			
		||||
	$(AM_CFLAGS) $(CFLAGS)
 | 
			
		||||
AM_V_CC = $(am__v_CC_@AM_V@)
 | 
			
		||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_CC_0 = @echo "  CC      " $@;
 | 
			
		||||
am__v_CC_1 = 
 | 
			
		||||
CCLD = $(CC)
 | 
			
		||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 | 
			
		||||
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 | 
			
		||||
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 | 
			
		||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 | 
			
		||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 | 
			
		||||
am__v_CCLD_0 = @echo "  CCLD    " $@;
 | 
			
		||||
am__v_CCLD_1 = 
 | 
			
		||||
SOURCES = $(libstio_la_SOURCES) $(stio_SOURCES)
 | 
			
		||||
DIST_SOURCES = $(libstio_la_SOURCES) $(stio_SOURCES)
 | 
			
		||||
am__can_run_installinfo = \
 | 
			
		||||
  case $$AM_UPDATE_INFO_DIR in \
 | 
			
		||||
    n|no|NO) false;; \
 | 
			
		||||
    *) (install-info --version) >/dev/null 2>&1;; \
 | 
			
		||||
  esac
 | 
			
		||||
HEADERS = $(pkginclude_HEADERS)
 | 
			
		||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
 | 
			
		||||
	$(LISP)stio-cfg.h.in
 | 
			
		||||
# Read a list of newline-separated strings from the standard input,
 | 
			
		||||
# and print each of them once, without duplicates.  Input order is
 | 
			
		||||
# *not* preserved.
 | 
			
		||||
am__uniquify_input = $(AWK) '\
 | 
			
		||||
  BEGIN { nonempty = 0; } \
 | 
			
		||||
  { items[$$0] = 1; nonempty = 1; } \
 | 
			
		||||
  END { if (nonempty) { for (i in items) print i; }; } \
 | 
			
		||||
'
 | 
			
		||||
# Make sure the list of sources is unique.  This is necessary because,
 | 
			
		||||
# e.g., the same source file might be shared among _SOURCES variables
 | 
			
		||||
# for different programs/libraries.
 | 
			
		||||
am__define_uniq_tagged_files = \
 | 
			
		||||
  list='$(am__tagged_files)'; \
 | 
			
		||||
  unique=`for i in $$list; do \
 | 
			
		||||
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 | 
			
		||||
  done | $(am__uniquify_input)`
 | 
			
		||||
ETAGS = etags
 | 
			
		||||
CTAGS = ctags
 | 
			
		||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 | 
			
		||||
pkgincludedir = $(includedir)
 | 
			
		||||
pkglibdir = $(libdir)
 | 
			
		||||
ACLOCAL = @ACLOCAL@
 | 
			
		||||
AMTAR = @AMTAR@
 | 
			
		||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 | 
			
		||||
AR = @AR@
 | 
			
		||||
AUTOCONF = @AUTOCONF@
 | 
			
		||||
AUTOHEADER = @AUTOHEADER@
 | 
			
		||||
AUTOMAKE = @AUTOMAKE@
 | 
			
		||||
AWK = @AWK@
 | 
			
		||||
BUILD_MODE = @BUILD_MODE@
 | 
			
		||||
CC = @CC@
 | 
			
		||||
CCDEPMODE = @CCDEPMODE@
 | 
			
		||||
CFLAGS = @CFLAGS@
 | 
			
		||||
CPP = @CPP@
 | 
			
		||||
CPPFLAGS = @CPPFLAGS@
 | 
			
		||||
CXX = @CXX@
 | 
			
		||||
CXXCPP = @CXXCPP@
 | 
			
		||||
CXXDEPMODE = @CXXDEPMODE@
 | 
			
		||||
CXXFLAGS = @CXXFLAGS@
 | 
			
		||||
CYGPATH_W = @CYGPATH_W@
 | 
			
		||||
DEFS = @DEFS@
 | 
			
		||||
DEPDIR = @DEPDIR@
 | 
			
		||||
DLLTOOL = @DLLTOOL@
 | 
			
		||||
DSYMUTIL = @DSYMUTIL@
 | 
			
		||||
DUMPBIN = @DUMPBIN@
 | 
			
		||||
ECHO = @ECHO@
 | 
			
		||||
ECHO_C = @ECHO_C@
 | 
			
		||||
ECHO_N = @ECHO_N@
 | 
			
		||||
ECHO_T = @ECHO_T@
 | 
			
		||||
EGREP = @EGREP@
 | 
			
		||||
EXEEXT = @EXEEXT@
 | 
			
		||||
FGREP = @FGREP@
 | 
			
		||||
GREP = @GREP@
 | 
			
		||||
HAVE_CXX = @HAVE_CXX@
 | 
			
		||||
INSTALL = @INSTALL@
 | 
			
		||||
INSTALL_DATA = @INSTALL_DATA@
 | 
			
		||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | 
			
		||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | 
			
		||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 | 
			
		||||
LD = @LD@
 | 
			
		||||
LDFLAGS = @LDFLAGS@
 | 
			
		||||
LIBM = @LIBM@
 | 
			
		||||
LIBOBJS = @LIBOBJS@
 | 
			
		||||
LIBS = @LIBS@
 | 
			
		||||
LIBTOOL = @LIBTOOL@
 | 
			
		||||
LIBTOOL_DEPS = @LIBTOOL_DEPS@
 | 
			
		||||
LIPO = @LIPO@
 | 
			
		||||
LN_S = @LN_S@
 | 
			
		||||
LTLIBOBJS = @LTLIBOBJS@
 | 
			
		||||
MAKEINFO = @MAKEINFO@
 | 
			
		||||
MANIFEST_TOOL = @MANIFEST_TOOL@
 | 
			
		||||
MKDIR_P = @MKDIR_P@
 | 
			
		||||
NM = @NM@
 | 
			
		||||
NMEDIT = @NMEDIT@
 | 
			
		||||
OBJDUMP = @OBJDUMP@
 | 
			
		||||
OBJEXT = @OBJEXT@
 | 
			
		||||
OTOOL = @OTOOL@
 | 
			
		||||
OTOOL64 = @OTOOL64@
 | 
			
		||||
PACKAGE = @PACKAGE@
 | 
			
		||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 | 
			
		||||
PACKAGE_NAME = @PACKAGE_NAME@
 | 
			
		||||
PACKAGE_STRING = @PACKAGE_STRING@
 | 
			
		||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
 | 
			
		||||
PACKAGE_URL = @PACKAGE_URL@
 | 
			
		||||
PACKAGE_VERSION = @PACKAGE_VERSION@
 | 
			
		||||
PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
 | 
			
		||||
PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
 | 
			
		||||
PACKAGE_VERSION_PATCH = @PACKAGE_VERSION_PATCH@
 | 
			
		||||
PATH_SEPARATOR = @PATH_SEPARATOR@
 | 
			
		||||
QUADMATH_LIBS = @QUADMATH_LIBS@
 | 
			
		||||
RANLIB = @RANLIB@
 | 
			
		||||
RM = @RM@
 | 
			
		||||
RMDIR = @RMDIR@
 | 
			
		||||
SED = @SED@
 | 
			
		||||
SENDFILE_LIBS = @SENDFILE_LIBS@
 | 
			
		||||
SET_MAKE = @SET_MAKE@
 | 
			
		||||
SHELL = @SHELL@
 | 
			
		||||
SOCKET_LIBS = @SOCKET_LIBS@
 | 
			
		||||
SSL_LIBS = @SSL_LIBS@
 | 
			
		||||
STIO_PROJECT_AUTHOR = @STIO_PROJECT_AUTHOR@
 | 
			
		||||
STIO_PROJECT_URL = @STIO_PROJECT_URL@
 | 
			
		||||
STIO_SIZEOF_CHAR = @STIO_SIZEOF_CHAR@
 | 
			
		||||
STIO_SIZEOF_DOUBLE = @STIO_SIZEOF_DOUBLE@
 | 
			
		||||
STIO_SIZEOF_FLOAT = @STIO_SIZEOF_FLOAT@
 | 
			
		||||
STIO_SIZEOF_INT = @STIO_SIZEOF_INT@
 | 
			
		||||
STIO_SIZEOF_LONG = @STIO_SIZEOF_LONG@
 | 
			
		||||
STIO_SIZEOF_LONG_DOUBLE = @STIO_SIZEOF_LONG_DOUBLE@
 | 
			
		||||
STIO_SIZEOF_LONG_LONG = @STIO_SIZEOF_LONG_LONG@
 | 
			
		||||
STIO_SIZEOF_OFF64_T = @STIO_SIZEOF_OFF64_T@
 | 
			
		||||
STIO_SIZEOF_OFF_T = @STIO_SIZEOF_OFF_T@
 | 
			
		||||
STIO_SIZEOF_SHORT = @STIO_SIZEOF_SHORT@
 | 
			
		||||
STIO_SIZEOF_VOID_P = @STIO_SIZEOF_VOID_P@
 | 
			
		||||
STIO_SIZEOF_WCHAR_T = @STIO_SIZEOF_WCHAR_T@
 | 
			
		||||
STRIP = @STRIP@
 | 
			
		||||
TRUE = @TRUE@
 | 
			
		||||
UNICOWS_LIBS = @UNICOWS_LIBS@
 | 
			
		||||
VERSION = @VERSION@
 | 
			
		||||
abs_builddir = @abs_builddir@
 | 
			
		||||
abs_srcdir = @abs_srcdir@
 | 
			
		||||
abs_top_builddir = @abs_top_builddir@
 | 
			
		||||
abs_top_srcdir = @abs_top_srcdir@
 | 
			
		||||
ac_ct_AR = @ac_ct_AR@
 | 
			
		||||
ac_ct_CC = @ac_ct_CC@
 | 
			
		||||
ac_ct_CXX = @ac_ct_CXX@
 | 
			
		||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 | 
			
		||||
am__include = @am__include@
 | 
			
		||||
am__leading_dot = @am__leading_dot@
 | 
			
		||||
am__quote = @am__quote@
 | 
			
		||||
am__tar = @am__tar@
 | 
			
		||||
am__untar = @am__untar@
 | 
			
		||||
bindir = @bindir@
 | 
			
		||||
build = @build@
 | 
			
		||||
build_alias = @build_alias@
 | 
			
		||||
build_cpu = @build_cpu@
 | 
			
		||||
build_os = @build_os@
 | 
			
		||||
build_vendor = @build_vendor@
 | 
			
		||||
builddir = @builddir@
 | 
			
		||||
datadir = @datadir@
 | 
			
		||||
datarootdir = @datarootdir@
 | 
			
		||||
docdir = @docdir@
 | 
			
		||||
dvidir = @dvidir@
 | 
			
		||||
exec_prefix = @exec_prefix@
 | 
			
		||||
host = @host@
 | 
			
		||||
host_alias = @host_alias@
 | 
			
		||||
host_cpu = @host_cpu@
 | 
			
		||||
host_os = @host_os@
 | 
			
		||||
host_vendor = @host_vendor@
 | 
			
		||||
htmldir = @htmldir@
 | 
			
		||||
includedir = @includedir@
 | 
			
		||||
infodir = @infodir@
 | 
			
		||||
install_sh = @install_sh@
 | 
			
		||||
libdir = @libdir@
 | 
			
		||||
libexecdir = @libexecdir@
 | 
			
		||||
localedir = @localedir@
 | 
			
		||||
localstatedir = @localstatedir@
 | 
			
		||||
mandir = @mandir@
 | 
			
		||||
mkdir_p = @mkdir_p@
 | 
			
		||||
oldincludedir = @oldincludedir@
 | 
			
		||||
pdfdir = @pdfdir@
 | 
			
		||||
prefix = @prefix@
 | 
			
		||||
program_transform_name = @program_transform_name@
 | 
			
		||||
psdir = @psdir@
 | 
			
		||||
sbindir = @sbindir@
 | 
			
		||||
sharedstatedir = @sharedstatedir@
 | 
			
		||||
srcdir = @srcdir@
 | 
			
		||||
sysconfdir = @sysconfdir@
 | 
			
		||||
target_alias = @target_alias@
 | 
			
		||||
top_build_prefix = @top_build_prefix@
 | 
			
		||||
top_builddir = @top_builddir@
 | 
			
		||||
top_srcdir = @top_srcdir@
 | 
			
		||||
AUTOMAKE_OPTIONS = nostdinc
 | 
			
		||||
CPPFLAGS_ALL_COMMON = \
 | 
			
		||||
	-I$(abs_builddir) \
 | 
			
		||||
	-I$(abs_srcdir) \
 | 
			
		||||
	-I$(includedir)	
 | 
			
		||||
 | 
			
		||||
LDFLAGS_ALL_COMMON = -L$(abs_builddir) -L$(libdir)
 | 
			
		||||
 | 
			
		||||
##################################################
 | 
			
		||||
# MAIN LIBRARY 
 | 
			
		||||
##################################################
 | 
			
		||||
CPPFLAGS_LIB_COMMON = $(CPPFLAGS_ALL_COMMON) $(LTDLINCL)
 | 
			
		||||
LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON) -version-info 1:0:0 -no-undefined
 | 
			
		||||
LIBADD_LIB_COMMON = $(LIBM) $(LIBLTDL) 
 | 
			
		||||
pkgbindir = $(bindir)
 | 
			
		||||
pkginclude_HEADERS = \
 | 
			
		||||
	stio-cfg.h \
 | 
			
		||||
	stio-cmn.h \
 | 
			
		||||
	stio-tcp.h \
 | 
			
		||||
	stio-udp.h \
 | 
			
		||||
	stio.h
 | 
			
		||||
 | 
			
		||||
pkglib_LTLIBRARIES = libstio.la
 | 
			
		||||
libstio_la_SOURCES = \
 | 
			
		||||
	stio-prv.h \
 | 
			
		||||
	stio-tim.h \
 | 
			
		||||
	stio-tmr.h \
 | 
			
		||||
	stio.c \
 | 
			
		||||
	stio-sck.c \
 | 
			
		||||
	stio-tcp.c \
 | 
			
		||||
	stio-tim.c \
 | 
			
		||||
	stio-tmr.c \
 | 
			
		||||
	stio-udp.c
 | 
			
		||||
 | 
			
		||||
libstio_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
 | 
			
		||||
libstio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON)
 | 
			
		||||
libstio_la_LIBADD = $(LIBADD_LIB_COMMON)
 | 
			
		||||
stio_SOURCES = main.c
 | 
			
		||||
stio_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
 | 
			
		||||
stio_LDFLAGS = $(LDFLAGS_LIB_COMMON)
 | 
			
		||||
stio_LDADD = $(LIBADD_LIB_COMMON) -lstio 
 | 
			
		||||
all: stio-cfg.h
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) all-am
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:
 | 
			
		||||
.SUFFIXES: .c .lo .o .obj
 | 
			
		||||
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 | 
			
		||||
	@for dep in $?; do \
 | 
			
		||||
	  case '$(am__configure_deps)' in \
 | 
			
		||||
	    *$$dep*) \
 | 
			
		||||
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
 | 
			
		||||
	        && { if test -f $@; then exit 0; else break; fi; }; \
 | 
			
		||||
	      exit 1;; \
 | 
			
		||||
	  esac; \
 | 
			
		||||
	done; \
 | 
			
		||||
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile'; \
 | 
			
		||||
	$(am__cd) $(top_srcdir) && \
 | 
			
		||||
	  $(AUTOMAKE) --foreign lib/Makefile
 | 
			
		||||
.PRECIOUS: Makefile
 | 
			
		||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 | 
			
		||||
	@case '$?' in \
 | 
			
		||||
	  *config.status*) \
 | 
			
		||||
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
 | 
			
		||||
	  *) \
 | 
			
		||||
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 | 
			
		||||
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 | 
			
		||||
	esac;
 | 
			
		||||
 | 
			
		||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 | 
			
		||||
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 | 
			
		||||
 | 
			
		||||
$(top_srcdir)/configure:  $(am__configure_deps)
 | 
			
		||||
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 | 
			
		||||
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 | 
			
		||||
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 | 
			
		||||
$(am__aclocal_m4_deps):
 | 
			
		||||
 | 
			
		||||
stio-cfg.h: stamp-h1
 | 
			
		||||
	@test -f $@ || rm -f stamp-h1
 | 
			
		||||
	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 | 
			
		||||
 | 
			
		||||
stamp-h1: $(srcdir)/stio-cfg.h.in $(top_builddir)/config.status
 | 
			
		||||
	@rm -f stamp-h1
 | 
			
		||||
	cd $(top_builddir) && $(SHELL) ./config.status lib/stio-cfg.h
 | 
			
		||||
$(srcdir)/stio-cfg.h.in:  $(am__configure_deps) 
 | 
			
		||||
	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
 | 
			
		||||
	rm -f stamp-h1
 | 
			
		||||
	touch $@
 | 
			
		||||
 | 
			
		||||
distclean-hdr:
 | 
			
		||||
	-rm -f stio-cfg.h stamp-h1
 | 
			
		||||
 | 
			
		||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
 | 
			
		||||
	@$(NORMAL_INSTALL)
 | 
			
		||||
	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
 | 
			
		||||
	list2=; for p in $$list; do \
 | 
			
		||||
	  if test -f $$p; then \
 | 
			
		||||
	    list2="$$list2 $$p"; \
 | 
			
		||||
	  else :; fi; \
 | 
			
		||||
	done; \
 | 
			
		||||
	test -z "$$list2" || { \
 | 
			
		||||
	  echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
 | 
			
		||||
	  $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
 | 
			
		||||
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
 | 
			
		||||
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
uninstall-pkglibLTLIBRARIES:
 | 
			
		||||
	@$(NORMAL_UNINSTALL)
 | 
			
		||||
	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
 | 
			
		||||
	for p in $$list; do \
 | 
			
		||||
	  $(am__strip_dir) \
 | 
			
		||||
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
 | 
			
		||||
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
clean-pkglibLTLIBRARIES:
 | 
			
		||||
	-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
 | 
			
		||||
	@list='$(pkglib_LTLIBRARIES)'; \
 | 
			
		||||
	locs=`for p in $$list; do echo $$p; done | \
 | 
			
		||||
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
 | 
			
		||||
	      sort -u`; \
 | 
			
		||||
	test -z "$$locs" || { \
 | 
			
		||||
	  echo rm -f $${locs}; \
 | 
			
		||||
	  rm -f $${locs}; \
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
libstio.la: $(libstio_la_OBJECTS) $(libstio_la_DEPENDENCIES) $(EXTRA_libstio_la_DEPENDENCIES) 
 | 
			
		||||
	$(AM_V_CCLD)$(libstio_la_LINK) -rpath $(pkglibdir) $(libstio_la_OBJECTS) $(libstio_la_LIBADD) $(LIBS)
 | 
			
		||||
install-pkgbinPROGRAMS: $(pkgbin_PROGRAMS)
 | 
			
		||||
	@$(NORMAL_INSTALL)
 | 
			
		||||
	@list='$(pkgbin_PROGRAMS)'; test -n "$(pkgbindir)" || list=; \
 | 
			
		||||
	if test -n "$$list"; then \
 | 
			
		||||
	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgbindir)'"; \
 | 
			
		||||
	  $(MKDIR_P) "$(DESTDIR)$(pkgbindir)" || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	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)$(pkgbindir)$$dir'"; \
 | 
			
		||||
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(pkgbindir)$$dir" || exit $$?; \
 | 
			
		||||
	    } \
 | 
			
		||||
	; done
 | 
			
		||||
 | 
			
		||||
uninstall-pkgbinPROGRAMS:
 | 
			
		||||
	@$(NORMAL_UNINSTALL)
 | 
			
		||||
	@list='$(pkgbin_PROGRAMS)'; test -n "$(pkgbindir)" || 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)$(pkgbindir)' && rm -f" $$files ")"; \
 | 
			
		||||
	cd "$(DESTDIR)$(pkgbindir)" && rm -f $$files
 | 
			
		||||
 | 
			
		||||
clean-pkgbinPROGRAMS:
 | 
			
		||||
	@list='$(pkgbin_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
 | 
			
		||||
 | 
			
		||||
stio$(EXEEXT): $(stio_OBJECTS) $(stio_DEPENDENCIES) $(EXTRA_stio_DEPENDENCIES) 
 | 
			
		||||
	@rm -f stio$(EXEEXT)
 | 
			
		||||
	$(AM_V_CCLD)$(stio_LINK) $(stio_OBJECTS) $(stio_LDADD) $(LIBS)
 | 
			
		||||
 | 
			
		||||
mostlyclean-compile:
 | 
			
		||||
	-rm -f *.$(OBJEXT)
 | 
			
		||||
 | 
			
		||||
distclean-compile:
 | 
			
		||||
	-rm -f *.tab.c
 | 
			
		||||
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstio_la-stio-sck.Plo@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstio_la-stio-tcp.Plo@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstio_la-stio-tim.Plo@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstio_la-stio-tmr.Plo@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstio_la-stio-udp.Plo@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstio_la-stio.Plo@am__quote@
 | 
			
		||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stio-main.Po@am__quote@
 | 
			
		||||
 | 
			
		||||
.c.o:
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 | 
			
		||||
 | 
			
		||||
.c.obj:
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 | 
			
		||||
 | 
			
		||||
.c.lo:
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 | 
			
		||||
 | 
			
		||||
libstio_la-stio.lo: stio.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstio_la-stio.lo -MD -MP -MF $(DEPDIR)/libstio_la-stio.Tpo -c -o libstio_la-stio.lo `test -f 'stio.c' || echo '$(srcdir)/'`stio.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstio_la-stio.Tpo $(DEPDIR)/libstio_la-stio.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stio.c' object='libstio_la-stio.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstio_la-stio.lo `test -f 'stio.c' || echo '$(srcdir)/'`stio.c
 | 
			
		||||
 | 
			
		||||
libstio_la-stio-sck.lo: stio-sck.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstio_la-stio-sck.lo -MD -MP -MF $(DEPDIR)/libstio_la-stio-sck.Tpo -c -o libstio_la-stio-sck.lo `test -f 'stio-sck.c' || echo '$(srcdir)/'`stio-sck.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstio_la-stio-sck.Tpo $(DEPDIR)/libstio_la-stio-sck.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stio-sck.c' object='libstio_la-stio-sck.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstio_la-stio-sck.lo `test -f 'stio-sck.c' || echo '$(srcdir)/'`stio-sck.c
 | 
			
		||||
 | 
			
		||||
libstio_la-stio-tcp.lo: stio-tcp.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstio_la-stio-tcp.lo -MD -MP -MF $(DEPDIR)/libstio_la-stio-tcp.Tpo -c -o libstio_la-stio-tcp.lo `test -f 'stio-tcp.c' || echo '$(srcdir)/'`stio-tcp.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstio_la-stio-tcp.Tpo $(DEPDIR)/libstio_la-stio-tcp.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stio-tcp.c' object='libstio_la-stio-tcp.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstio_la-stio-tcp.lo `test -f 'stio-tcp.c' || echo '$(srcdir)/'`stio-tcp.c
 | 
			
		||||
 | 
			
		||||
libstio_la-stio-tim.lo: stio-tim.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstio_la-stio-tim.lo -MD -MP -MF $(DEPDIR)/libstio_la-stio-tim.Tpo -c -o libstio_la-stio-tim.lo `test -f 'stio-tim.c' || echo '$(srcdir)/'`stio-tim.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstio_la-stio-tim.Tpo $(DEPDIR)/libstio_la-stio-tim.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stio-tim.c' object='libstio_la-stio-tim.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstio_la-stio-tim.lo `test -f 'stio-tim.c' || echo '$(srcdir)/'`stio-tim.c
 | 
			
		||||
 | 
			
		||||
libstio_la-stio-tmr.lo: stio-tmr.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstio_la-stio-tmr.lo -MD -MP -MF $(DEPDIR)/libstio_la-stio-tmr.Tpo -c -o libstio_la-stio-tmr.lo `test -f 'stio-tmr.c' || echo '$(srcdir)/'`stio-tmr.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstio_la-stio-tmr.Tpo $(DEPDIR)/libstio_la-stio-tmr.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stio-tmr.c' object='libstio_la-stio-tmr.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstio_la-stio-tmr.lo `test -f 'stio-tmr.c' || echo '$(srcdir)/'`stio-tmr.c
 | 
			
		||||
 | 
			
		||||
libstio_la-stio-udp.lo: stio-udp.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstio_la-stio-udp.lo -MD -MP -MF $(DEPDIR)/libstio_la-stio-udp.Tpo -c -o libstio_la-stio-udp.lo `test -f 'stio-udp.c' || echo '$(srcdir)/'`stio-udp.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstio_la-stio-udp.Tpo $(DEPDIR)/libstio_la-stio-udp.Plo
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stio-udp.c' object='libstio_la-stio-udp.lo' libtool=yes @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstio_la-stio-udp.lo `test -f 'stio-udp.c' || echo '$(srcdir)/'`stio-udp.c
 | 
			
		||||
 | 
			
		||||
stio-main.o: main.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stio-main.o -MD -MP -MF $(DEPDIR)/stio-main.Tpo -c -o stio-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/stio-main.Tpo $(DEPDIR)/stio-main.Po
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='main.c' object='stio-main.o' libtool=no @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stio-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
 | 
			
		||||
 | 
			
		||||
stio-main.obj: main.c
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stio-main.obj -MD -MP -MF $(DEPDIR)/stio-main.Tpo -c -o stio-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
 | 
			
		||||
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/stio-main.Tpo $(DEPDIR)/stio-main.Po
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='main.c' object='stio-main.obj' libtool=no @AMDEPBACKSLASH@
 | 
			
		||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 | 
			
		||||
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stio-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
 | 
			
		||||
 | 
			
		||||
mostlyclean-libtool:
 | 
			
		||||
	-rm -f *.lo
 | 
			
		||||
 | 
			
		||||
clean-libtool:
 | 
			
		||||
	-rm -rf .libs _libs
 | 
			
		||||
install-pkgincludeHEADERS: $(pkginclude_HEADERS)
 | 
			
		||||
	@$(NORMAL_INSTALL)
 | 
			
		||||
	@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
 | 
			
		||||
	if test -n "$$list"; then \
 | 
			
		||||
	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \
 | 
			
		||||
	  $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	for p in $$list; do \
 | 
			
		||||
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 | 
			
		||||
	  echo "$$d$$p"; \
 | 
			
		||||
	done | $(am__base_list) | \
 | 
			
		||||
	while read files; do \
 | 
			
		||||
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \
 | 
			
		||||
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
uninstall-pkgincludeHEADERS:
 | 
			
		||||
	@$(NORMAL_UNINSTALL)
 | 
			
		||||
	@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
 | 
			
		||||
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 | 
			
		||||
	dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir)
 | 
			
		||||
 | 
			
		||||
ID: $(am__tagged_files)
 | 
			
		||||
	$(am__define_uniq_tagged_files); mkid -fID $$unique
 | 
			
		||||
tags: tags-am
 | 
			
		||||
TAGS: tags
 | 
			
		||||
 | 
			
		||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 | 
			
		||||
	set x; \
 | 
			
		||||
	here=`pwd`; \
 | 
			
		||||
	$(am__define_uniq_tagged_files); \
 | 
			
		||||
	shift; \
 | 
			
		||||
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 | 
			
		||||
	  test -n "$$unique" || unique=$$empty_fix; \
 | 
			
		||||
	  if test $$# -gt 0; then \
 | 
			
		||||
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
 | 
			
		||||
	      "$$@" $$unique; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
 | 
			
		||||
	      $$unique; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	fi
 | 
			
		||||
ctags: ctags-am
 | 
			
		||||
 | 
			
		||||
CTAGS: ctags
 | 
			
		||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
 | 
			
		||||
	$(am__define_uniq_tagged_files); \
 | 
			
		||||
	test -z "$(CTAGS_ARGS)$$unique" \
 | 
			
		||||
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 | 
			
		||||
	     $$unique
 | 
			
		||||
 | 
			
		||||
GTAGS:
 | 
			
		||||
	here=`$(am__cd) $(top_builddir) && pwd` \
 | 
			
		||||
	  && $(am__cd) $(top_srcdir) \
 | 
			
		||||
	  && gtags -i $(GTAGS_ARGS) "$$here"
 | 
			
		||||
cscopelist: cscopelist-am
 | 
			
		||||
 | 
			
		||||
cscopelist-am: $(am__tagged_files)
 | 
			
		||||
	list='$(am__tagged_files)'; \
 | 
			
		||||
	case "$(srcdir)" in \
 | 
			
		||||
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
 | 
			
		||||
	  *) sdir=$(subdir)/$(srcdir) ;; \
 | 
			
		||||
	esac; \
 | 
			
		||||
	for i in $$list; do \
 | 
			
		||||
	  if test -f "$$i"; then \
 | 
			
		||||
	    echo "$(subdir)/$$i"; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    echo "$$sdir/$$i"; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	done >> $(top_builddir)/cscope.files
 | 
			
		||||
 | 
			
		||||
distclean-tags:
 | 
			
		||||
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 | 
			
		||||
 | 
			
		||||
distdir: $(DISTFILES)
 | 
			
		||||
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 | 
			
		||||
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 | 
			
		||||
	list='$(DISTFILES)'; \
 | 
			
		||||
	  dist_files=`for file in $$list; do echo $$file; done | \
 | 
			
		||||
	  sed -e "s|^$$srcdirstrip/||;t" \
 | 
			
		||||
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
 | 
			
		||||
	case $$dist_files in \
 | 
			
		||||
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
 | 
			
		||||
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
 | 
			
		||||
			   sort -u` ;; \
 | 
			
		||||
	esac; \
 | 
			
		||||
	for file in $$dist_files; do \
 | 
			
		||||
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 | 
			
		||||
	  if test -d $$d/$$file; then \
 | 
			
		||||
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 | 
			
		||||
	    if test -d "$(distdir)/$$file"; then \
 | 
			
		||||
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 | 
			
		||||
	    fi; \
 | 
			
		||||
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 | 
			
		||||
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
 | 
			
		||||
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 | 
			
		||||
	    fi; \
 | 
			
		||||
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    test -f "$(distdir)/$$file" \
 | 
			
		||||
	    || cp -p $$d/$$file "$(distdir)/$$file" \
 | 
			
		||||
	    || exit 1; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	done
 | 
			
		||||
check-am: all-am
 | 
			
		||||
check: check-am
 | 
			
		||||
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) stio-cfg.h
 | 
			
		||||
installdirs:
 | 
			
		||||
	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgbindir)" "$(DESTDIR)$(pkgincludedir)"; do \
 | 
			
		||||
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 | 
			
		||||
	done
 | 
			
		||||
install: install-am
 | 
			
		||||
install-exec: install-exec-am
 | 
			
		||||
install-data: install-data-am
 | 
			
		||||
uninstall: uninstall-am
 | 
			
		||||
 | 
			
		||||
install-am: all-am
 | 
			
		||||
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 | 
			
		||||
 | 
			
		||||
installcheck: installcheck-am
 | 
			
		||||
install-strip:
 | 
			
		||||
	if test -z '$(STRIP)'; then \
 | 
			
		||||
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
 | 
			
		||||
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
 | 
			
		||||
	      install; \
 | 
			
		||||
	else \
 | 
			
		||||
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
 | 
			
		||||
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
 | 
			
		||||
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
 | 
			
		||||
	fi
 | 
			
		||||
mostlyclean-generic:
 | 
			
		||||
 | 
			
		||||
clean-generic:
 | 
			
		||||
 | 
			
		||||
distclean-generic:
 | 
			
		||||
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 | 
			
		||||
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 | 
			
		||||
 | 
			
		||||
maintainer-clean-generic:
 | 
			
		||||
	@echo "This command is intended for maintainers to use"
 | 
			
		||||
	@echo "it deletes files that may require special tools to rebuild."
 | 
			
		||||
clean: clean-am
 | 
			
		||||
 | 
			
		||||
clean-am: clean-generic clean-libtool clean-pkgbinPROGRAMS \
 | 
			
		||||
	clean-pkglibLTLIBRARIES mostlyclean-am
 | 
			
		||||
 | 
			
		||||
distclean: distclean-am
 | 
			
		||||
	-rm -rf ./$(DEPDIR)
 | 
			
		||||
	-rm -f Makefile
 | 
			
		||||
distclean-am: clean-am distclean-compile distclean-generic \
 | 
			
		||||
	distclean-hdr distclean-tags
 | 
			
		||||
 | 
			
		||||
dvi: dvi-am
 | 
			
		||||
 | 
			
		||||
dvi-am:
 | 
			
		||||
 | 
			
		||||
html: html-am
 | 
			
		||||
 | 
			
		||||
html-am:
 | 
			
		||||
 | 
			
		||||
info: info-am
 | 
			
		||||
 | 
			
		||||
info-am:
 | 
			
		||||
 | 
			
		||||
install-data-am: install-pkgbinPROGRAMS install-pkgincludeHEADERS
 | 
			
		||||
	@$(NORMAL_INSTALL)
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
 | 
			
		||||
install-dvi: install-dvi-am
 | 
			
		||||
 | 
			
		||||
install-dvi-am:
 | 
			
		||||
 | 
			
		||||
install-exec-am: install-pkglibLTLIBRARIES
 | 
			
		||||
 | 
			
		||||
install-html: install-html-am
 | 
			
		||||
 | 
			
		||||
install-html-am:
 | 
			
		||||
 | 
			
		||||
install-info: install-info-am
 | 
			
		||||
 | 
			
		||||
install-info-am:
 | 
			
		||||
 | 
			
		||||
install-man:
 | 
			
		||||
 | 
			
		||||
install-pdf: install-pdf-am
 | 
			
		||||
 | 
			
		||||
install-pdf-am:
 | 
			
		||||
 | 
			
		||||
install-ps: install-ps-am
 | 
			
		||||
 | 
			
		||||
install-ps-am:
 | 
			
		||||
 | 
			
		||||
installcheck-am:
 | 
			
		||||
 | 
			
		||||
maintainer-clean: maintainer-clean-am
 | 
			
		||||
	-rm -rf ./$(DEPDIR)
 | 
			
		||||
	-rm -f Makefile
 | 
			
		||||
maintainer-clean-am: distclean-am maintainer-clean-generic
 | 
			
		||||
 | 
			
		||||
mostlyclean: mostlyclean-am
 | 
			
		||||
 | 
			
		||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
 | 
			
		||||
	mostlyclean-libtool
 | 
			
		||||
 | 
			
		||||
pdf: pdf-am
 | 
			
		||||
 | 
			
		||||
pdf-am:
 | 
			
		||||
 | 
			
		||||
ps: ps-am
 | 
			
		||||
 | 
			
		||||
ps-am:
 | 
			
		||||
 | 
			
		||||
uninstall-am: uninstall-pkgbinPROGRAMS uninstall-pkgincludeHEADERS \
 | 
			
		||||
	uninstall-pkglibLTLIBRARIES
 | 
			
		||||
	@$(NORMAL_INSTALL)
 | 
			
		||||
	$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
 | 
			
		||||
.MAKE: all install-am install-data-am install-strip uninstall-am
 | 
			
		||||
 | 
			
		||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
 | 
			
		||||
	clean-libtool clean-pkgbinPROGRAMS clean-pkglibLTLIBRARIES \
 | 
			
		||||
	cscopelist-am ctags ctags-am distclean distclean-compile \
 | 
			
		||||
	distclean-generic distclean-hdr distclean-libtool \
 | 
			
		||||
	distclean-tags distdir dvi dvi-am html html-am info info-am \
 | 
			
		||||
	install install-am install-data install-data-am \
 | 
			
		||||
	install-data-hook install-dvi install-dvi-am install-exec \
 | 
			
		||||
	install-exec-am install-html install-html-am install-info \
 | 
			
		||||
	install-info-am install-man install-pdf install-pdf-am \
 | 
			
		||||
	install-pkgbinPROGRAMS install-pkgincludeHEADERS \
 | 
			
		||||
	install-pkglibLTLIBRARIES install-ps install-ps-am \
 | 
			
		||||
	install-strip installcheck installcheck-am installdirs \
 | 
			
		||||
	maintainer-clean maintainer-clean-generic mostlyclean \
 | 
			
		||||
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 | 
			
		||||
	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 | 
			
		||||
	uninstall-hook uninstall-pkgbinPROGRAMS \
 | 
			
		||||
	uninstall-pkgincludeHEADERS uninstall-pkglibLTLIBRARIES
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
install-data-hook:
 | 
			
		||||
	@echo "#ifndef _STIO_CFG_H_" > "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
	@echo "#define _STIO_CFG_H_" >> "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
	@$(EGREP) "#define[ ]+STIO_" "$(abs_builddir)/stio-cfg.h" >> "$(DESTDIR)$(pkgincludedir)/stio-cfg.h" 
 | 
			
		||||
	@echo "#endif" >> "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
	@$(RM) "$(DESTDIR)$(pkgincludedir)/stio-cfg.h.in"
 | 
			
		||||
	@$(SED) 's|/\*#define STIO_HAVE_CFG_H\*/|#define STIO_HAVE_CFG_H|' "$(srcdir)/stio-cmn.h" > "$(DESTDIR)$(pkgincludedir)/stio-cmn.h"
 | 
			
		||||
 | 
			
		||||
uninstall-hook:
 | 
			
		||||
	@$(RM) "$(DESTDIR)$(pkgincludedir)/stio-cfg.h"
 | 
			
		||||
 | 
			
		||||
# 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:
 | 
			
		||||
@ -30,6 +30,7 @@
 | 
			
		||||
#include <stio-udp.h>
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
@ -41,6 +42,11 @@ static void* mmgr_alloc (stio_mmgr_t* mmgr, stio_size_t size)
 | 
			
		||||
	return malloc (size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void* mmgr_realloc (stio_mmgr_t* mmgr, void* ptr, stio_size_t size)
 | 
			
		||||
{
 | 
			
		||||
	return realloc (ptr, size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void mmgr_free (stio_mmgr_t* mmgr, void* ptr)
 | 
			
		||||
{
 | 
			
		||||
	return free (ptr);
 | 
			
		||||
@ -49,13 +55,18 @@ static void mmgr_free (stio_mmgr_t* mmgr, void* ptr)
 | 
			
		||||
static stio_mmgr_t mmgr = 
 | 
			
		||||
{
 | 
			
		||||
	mmgr_alloc,
 | 
			
		||||
	mmgr_realloc,
 | 
			
		||||
	mmgr_free,
 | 
			
		||||
	STIO_NULL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void tcp_on_disconnected (stio_dev_tcp_t* tcp)
 | 
			
		||||
{
 | 
			
		||||
	if (tcp->state & STIO_DEV_TCP_LISTENING)
 | 
			
		||||
	if (tcp->state & STIO_DEV_TCP_CONNECTING)
 | 
			
		||||
	{
 | 
			
		||||
		printf ("TCP DISCONNECTED - FAILED TO CONNECT (%d) TO REMOTE SERVER\n", tcp->sck);
 | 
			
		||||
	}
 | 
			
		||||
	else if (tcp->state & STIO_DEV_TCP_LISTENING)
 | 
			
		||||
	{
 | 
			
		||||
		printf ("SHUTTING DOWN THE SERVER SOCKET(%d)...\n", tcp->sck);
 | 
			
		||||
	}
 | 
			
		||||
@ -111,15 +122,14 @@ int main ()
 | 
			
		||||
 | 
			
		||||
	stio_t* stio;
 | 
			
		||||
	stio_dev_udp_t* udp;
 | 
			
		||||
	stio_dev_tcp_t* tcp;
 | 
			
		||||
	stio_dev_tcp_t* tcp[2];
 | 
			
		||||
	struct sockaddr_in sin;
 | 
			
		||||
	struct sigaction sigact;
 | 
			
		||||
	stio_dev_tcp_connect_t tcp_conn;
 | 
			
		||||
	stio_dev_tcp_listen_t tcp_lstn;
 | 
			
		||||
	stio_dev_tcp_make_t tcp_make;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	stio = stio_open (&mmgr, 0, STIO_NULL);
 | 
			
		||||
	stio = stio_open (&mmgr, 0, 512, STIO_NULL);
 | 
			
		||||
	if (!stio)
 | 
			
		||||
	{
 | 
			
		||||
		printf ("Cannot open stio\n");
 | 
			
		||||
@ -128,7 +138,7 @@ int main ()
 | 
			
		||||
 | 
			
		||||
	g_stio = stio;
 | 
			
		||||
 | 
			
		||||
	STIO_MEMSET (&sigact, 0, STIO_SIZEOF(sigact));
 | 
			
		||||
	memset (&sigact, 0, STIO_SIZEOF(sigact));
 | 
			
		||||
	sigact.sa_flags = SA_RESTART;
 | 
			
		||||
	sigact.sa_handler = handle_signal;
 | 
			
		||||
	sigaction (SIGINT, &sigact, STIO_NULL);
 | 
			
		||||
@ -137,21 +147,7 @@ int main ()
 | 
			
		||||
	//sigact.sa_handler = SIG_IGN;
 | 
			
		||||
	//sigaction (SIGPIPE, &sigact, STIO_NULL);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
	pkt = stio_pkt_open  (packet type, protocol type); // packet socket 
 | 
			
		||||
	arp = stio_arp_open (binding_addr); // raw socket - arp filter
 | 
			
		||||
	tcpd = stio_tcp_open (binding_addr); // crude tcp
 | 
			
		||||
	udpd= stio_udp_open (binding_addr); // crude udp
 | 
			
		||||
	httpd = stio_httpd_open (binding_addr);
 | 
			
		||||
	httpsd = stio_httpsd_open (binding_addr);
 | 
			
		||||
	radiusd = stio_radiusd_open (binding_addr); // udp - radius
 | 
			
		||||
 | 
			
		||||
	stio_register (stio, httpd);
 | 
			
		||||
	stio_register (stio, httpsd);
 | 
			
		||||
	stio_register (stio, radiusd);
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
	STIO_MEMSET (&sin, 0, STIO_SIZEOF(sin));
 | 
			
		||||
	memset (&sin, 0, STIO_SIZEOF(sin));
 | 
			
		||||
	sin.sin_family = AF_INET;
 | 
			
		||||
	sin.sin_port = htons(1234);
 | 
			
		||||
/*
 | 
			
		||||
@ -163,12 +159,14 @@ int main ()
 | 
			
		||||
	}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
	STIO_MEMSET (&sin, 0, STIO_SIZEOF(sin));
 | 
			
		||||
	memset (&sin, 0, STIO_SIZEOF(sin));
 | 
			
		||||
	sin.sin_family = AF_INET;
 | 
			
		||||
#if 0
 | 
			
		||||
	
 | 
			
		||||
	tcp = (stio_dev_tcp_t*)stio_makedev (stio, STIO_SIZEOF(*tcp), &tcp_mth, &tcp_evcb, &sin);
 | 
			
		||||
	if (!tcp)
 | 
			
		||||
 | 
			
		||||
	memcpy (&tcp_make.addr, &sin, STIO_SIZEOF(sin));
 | 
			
		||||
	tcp_make.on_sent = tcp_on_sent;
 | 
			
		||||
	tcp_make.on_recv = tcp_on_recv;
 | 
			
		||||
	tcp[0] = stio_dev_tcp_make (stio, 0, &tcp_make);
 | 
			
		||||
	if (!tcp[0])
 | 
			
		||||
	{
 | 
			
		||||
		printf ("Cannot make tcp\n");
 | 
			
		||||
		goto oops;
 | 
			
		||||
@ -184,21 +182,19 @@ int main ()
 | 
			
		||||
		tcp_conn.on_disconnected = tcp_on_disconnected;
 | 
			
		||||
		//tcp_conn.on_failure = .... (error code? etc???) or on_connect to access success or failure??? what is better??
 | 
			
		||||
	}
 | 
			
		||||
	if (stio_dev_tcp_connect (tcp, &tcp_conn) <= -1)
 | 
			
		||||
	if (stio_dev_tcp_connect (tcp[0], &tcp_conn) <= -1)
 | 
			
		||||
	{
 | 
			
		||||
		printf ("stio_dev_tcp_connect() failed....\n");
 | 
			
		||||
		goto oops;
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
	sin.sin_port = htons(1234);
 | 
			
		||||
	
 | 
			
		||||
	memcpy (&tcp_make.addr, &sin, STIO_SIZEOF(sin));
 | 
			
		||||
	tcp_make.on_sent = tcp_on_sent;
 | 
			
		||||
	tcp_make.on_recv = tcp_on_recv;
 | 
			
		||||
 | 
			
		||||
	STIO_MEMCPY (&tcp_make.addr, &sin, STIO_SIZEOF(sin));
 | 
			
		||||
	tcp_make.on_sent = tcp_on_sent; /* inherit this handler */
 | 
			
		||||
	tcp_make.on_recv = tcp_on_recv; /* inherit this handler */
 | 
			
		||||
 | 
			
		||||
	tcp = stio_dev_tcp_make (stio, 0, &tcp_make);
 | 
			
		||||
	if (!tcp)
 | 
			
		||||
	tcp[1] = stio_dev_tcp_make (stio, 0, &tcp_make);
 | 
			
		||||
	if (!tcp[1])
 | 
			
		||||
	{
 | 
			
		||||
		printf ("Cannot make tcp\n");
 | 
			
		||||
		goto oops;
 | 
			
		||||
@ -207,21 +203,18 @@ int main ()
 | 
			
		||||
	tcp_lstn.backlogs = 100;
 | 
			
		||||
	tcp_lstn.on_connected = tcp_on_connected;
 | 
			
		||||
	tcp_lstn.on_disconnected = tcp_on_disconnected;
 | 
			
		||||
	if (stio_dev_tcp_listen (tcp, &tcp_lstn) <= -1)
 | 
			
		||||
	if (stio_dev_tcp_listen (tcp[1], &tcp_lstn) <= -1)
 | 
			
		||||
	{
 | 
			
		||||
		printf ("stio_dev_tcp_listen() failed....\n");
 | 
			
		||||
		goto oops;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	////////////////////////////
 | 
			
		||||
 | 
			
		||||
	stio_loop (stio);
 | 
			
		||||
	////////////////////////////
 | 
			
		||||
 | 
			
		||||
	g_stio = STIO_NULL;
 | 
			
		||||
	stio_close (stio);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
 | 
			
		||||
oops:
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										938
									
								
								stio/lib/stio-cfg.h.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										938
									
								
								stio/lib/stio-cfg.h.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,938 @@
 | 
			
		||||
/* lib/stio-cfg.h.in.  Generated from configure.ac by autoheader.  */
 | 
			
		||||
 | 
			
		||||
/* Define if building universal (internal helper macro) */
 | 
			
		||||
#undef AC_APPLE_UNIVERSAL_BUILD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `acos' function. */
 | 
			
		||||
#undef HAVE_ACOS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `acosf' function. */
 | 
			
		||||
#undef HAVE_ACOSF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `acosl' function. */
 | 
			
		||||
#undef HAVE_ACOSL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `acosq' function. */
 | 
			
		||||
#undef HAVE_ACOSQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `asin' function. */
 | 
			
		||||
#undef HAVE_ASIN
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `asinf' function. */
 | 
			
		||||
#undef HAVE_ASINF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `asinl' function. */
 | 
			
		||||
#undef HAVE_ASINL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `asinq' function. */
 | 
			
		||||
#undef HAVE_ASINQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atan' function. */
 | 
			
		||||
#undef HAVE_ATAN
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atan2' function. */
 | 
			
		||||
#undef HAVE_ATAN2
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atan2f' function. */
 | 
			
		||||
#undef HAVE_ATAN2F
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atan2l' function. */
 | 
			
		||||
#undef HAVE_ATAN2L
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atan2q' function. */
 | 
			
		||||
#undef HAVE_ATAN2Q
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atanf' function. */
 | 
			
		||||
#undef HAVE_ATANF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atanl' function. */
 | 
			
		||||
#undef HAVE_ATANL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `atanq' function. */
 | 
			
		||||
#undef HAVE_ATANQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `backtrace' function. */
 | 
			
		||||
#undef HAVE_BACKTRACE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `backtrace_symbols' function. */
 | 
			
		||||
#undef HAVE_BACKTRACE_SYMBOLS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ceil' function. */
 | 
			
		||||
#undef HAVE_CEIL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ceilf' function. */
 | 
			
		||||
#undef HAVE_CEILF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ceill' function. */
 | 
			
		||||
#undef HAVE_CEILL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ceilq' function. */
 | 
			
		||||
#undef HAVE_CEILQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `connect' function. */
 | 
			
		||||
#undef HAVE_CONNECT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `cos' function. */
 | 
			
		||||
#undef HAVE_COS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `cosf' function. */
 | 
			
		||||
#undef HAVE_COSF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `cosh' function. */
 | 
			
		||||
#undef HAVE_COSH
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `coshf' function. */
 | 
			
		||||
#undef HAVE_COSHF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `coshl' function. */
 | 
			
		||||
#undef HAVE_COSHL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `coshq' function. */
 | 
			
		||||
#undef HAVE_COSHQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `cosl' function. */
 | 
			
		||||
#undef HAVE_COSL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `cosq' function. */
 | 
			
		||||
#undef HAVE_COSQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <crt_externs.h> header file. */
 | 
			
		||||
#undef HAVE_CRT_EXTERNS_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
 | 
			
		||||
#undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
 | 
			
		||||
 | 
			
		||||
/* Define if c++ supports namespace std. */
 | 
			
		||||
#undef HAVE_CXX_NAMESPACE_STD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
 | 
			
		||||
   */
 | 
			
		||||
#undef HAVE_DIRENT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `dirfd' function. */
 | 
			
		||||
#undef HAVE_DIRFD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `dd_fd' is a member of `DIR'. */
 | 
			
		||||
#undef HAVE_DIR_DD_FD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `d_fd' is a member of `DIR'. */
 | 
			
		||||
#undef HAVE_DIR_D_FD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <dlfcn.h> header file. */
 | 
			
		||||
#undef HAVE_DLFCN_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ENGINE_cleanup' function. */
 | 
			
		||||
#undef HAVE_ENGINE_CLEANUP
 | 
			
		||||
 | 
			
		||||
/* epoll support */
 | 
			
		||||
#undef HAVE_EPOLL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `epoll_create' function. */
 | 
			
		||||
#undef HAVE_EPOLL_CREATE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `epoll_create1' function. */
 | 
			
		||||
#undef HAVE_EPOLL_CREATE1
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <errno.h> header file. */
 | 
			
		||||
#undef HAVE_ERRNO_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <execinfo.h> header file. */
 | 
			
		||||
#undef HAVE_EXECINFO_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `exp' function. */
 | 
			
		||||
#undef HAVE_EXP
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `expf' function. */
 | 
			
		||||
#undef HAVE_EXPF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `expl' function. */
 | 
			
		||||
#undef HAVE_EXPL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `expq' function. */
 | 
			
		||||
#undef HAVE_EXPQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fchmod' function. */
 | 
			
		||||
#undef HAVE_FCHMOD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <fcntl.h> header file. */
 | 
			
		||||
#undef HAVE_FCNTL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fdopendir' function. */
 | 
			
		||||
#undef HAVE_FDOPENDIR
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `floor' function. */
 | 
			
		||||
#undef HAVE_FLOOR
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `floorf' function. */
 | 
			
		||||
#undef HAVE_FLOORF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `floorl' function. */
 | 
			
		||||
#undef HAVE_FLOORL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `floorq' function. */
 | 
			
		||||
#undef HAVE_FLOORQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fmod' function. */
 | 
			
		||||
#undef HAVE_FMOD
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fmodf' function. */
 | 
			
		||||
#undef HAVE_FMODF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fmodl' function. */
 | 
			
		||||
#undef HAVE_FMODL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fmodq' function. */
 | 
			
		||||
#undef HAVE_FMODQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fork' function. */
 | 
			
		||||
#undef HAVE_FORK
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fstat64' function. */
 | 
			
		||||
#undef HAVE_FSTAT64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `fsync' function. */
 | 
			
		||||
#undef HAVE_FSYNC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ftruncate' function. */
 | 
			
		||||
#undef HAVE_FTRUNCATE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `ftruncate64' function. */
 | 
			
		||||
#undef HAVE_FTRUNCATE64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `futimens' function. */
 | 
			
		||||
#undef HAVE_FUTIMENS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `futimes' function. */
 | 
			
		||||
#undef HAVE_FUTIMES
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `getcontext' function. */
 | 
			
		||||
#undef HAVE_GETCONTEXT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `gethostbyname' function. */
 | 
			
		||||
#undef HAVE_GETHOSTBYNAME
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `getifaddrs' function. */
 | 
			
		||||
#undef HAVE_GETIFADDRS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `getpgid' function. */
 | 
			
		||||
#undef HAVE_GETPGID
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `getpgrp' function. */
 | 
			
		||||
#undef HAVE_GETPGRP
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `getrlimit' function. */
 | 
			
		||||
#undef HAVE_GETRLIMIT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `gettid' function. */
 | 
			
		||||
#undef HAVE_GETTID
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `gettimeofday' function. */
 | 
			
		||||
#undef HAVE_GETTIMEOFDAY
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <ifaddrs.h> header file. */
 | 
			
		||||
#undef HAVE_IFADDRS_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `if_indextoname' function. */
 | 
			
		||||
#undef HAVE_IF_INDEXTONAME
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `if_nametoindex' function. */
 | 
			
		||||
#undef HAVE_IF_NAMETOINDEX
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <inttypes.h> header file. */
 | 
			
		||||
#undef HAVE_INTTYPES_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `isblank' function. */
 | 
			
		||||
#undef HAVE_ISBLANK
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `iswblank' function. */
 | 
			
		||||
#undef HAVE_ISWBLANK
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `iswctype' function. */
 | 
			
		||||
#undef HAVE_ISWCTYPE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `kevent' function. */
 | 
			
		||||
#undef HAVE_KEVENT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `kqueue' function. */
 | 
			
		||||
#undef HAVE_KQUEUE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `kqueue1' function. */
 | 
			
		||||
#undef HAVE_KQUEUE1
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <linux/ethtool.h> header file. */
 | 
			
		||||
#undef HAVE_LINUX_ETHTOOL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <linux/netfilter_ipv4.h> header file. */
 | 
			
		||||
#undef HAVE_LINUX_NETFILTER_IPV4_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <linux/sockios.h> header file. */
 | 
			
		||||
#undef HAVE_LINUX_SOCKIOS_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `localtime_r' function. */
 | 
			
		||||
#undef HAVE_LOCALTIME_R
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `log' function. */
 | 
			
		||||
#undef HAVE_LOG
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `log10' function. */
 | 
			
		||||
#undef HAVE_LOG10
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `log10f' function. */
 | 
			
		||||
#undef HAVE_LOG10F
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `log10l' function. */
 | 
			
		||||
#undef HAVE_LOG10L
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `log10q' function. */
 | 
			
		||||
#undef HAVE_LOG10Q
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `logf' function. */
 | 
			
		||||
#undef HAVE_LOGF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `logl' function. */
 | 
			
		||||
#undef HAVE_LOGL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `logq' function. */
 | 
			
		||||
#undef HAVE_LOGQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `lseek64' function. */
 | 
			
		||||
#undef HAVE_LSEEK64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `lstat' function. */
 | 
			
		||||
#undef HAVE_LSTAT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `lstat64' function. */
 | 
			
		||||
#undef HAVE_LSTAT64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `lutimes' function. */
 | 
			
		||||
#undef HAVE_LUTIMES
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `makecontext' function. */
 | 
			
		||||
#undef HAVE_MAKECONTEXT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `mbrlen' function. */
 | 
			
		||||
#undef HAVE_MBRLEN
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `mbrtowc' function. */
 | 
			
		||||
#undef HAVE_MBRTOWC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `mbsnrtowcs' function. */
 | 
			
		||||
#undef HAVE_MBSNRTOWCS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `mbsrtowcs' function. */
 | 
			
		||||
#undef HAVE_MBSRTOWCS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <memory.h> header file. */
 | 
			
		||||
#undef HAVE_MEMORY_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `nanosleep' function. */
 | 
			
		||||
#undef HAVE_NANOSLEEP
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 | 
			
		||||
#undef HAVE_NDIR_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <netinet/sctp.h> header file. */
 | 
			
		||||
#undef HAVE_NETINET_SCTP_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <net/if_dl.h> header file. */
 | 
			
		||||
#undef HAVE_NET_IF_DL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <net/if.h> header file. */
 | 
			
		||||
#undef HAVE_NET_IF_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <openssl/engine.h> header file. */
 | 
			
		||||
#undef HAVE_OPENSSL_ENGINE_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <openssl/err.h> header file. */
 | 
			
		||||
#undef HAVE_OPENSSL_ERR_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <openssl/ssl.h> header file. */
 | 
			
		||||
#undef HAVE_OPENSSL_SSL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `posix_spawn' function. */
 | 
			
		||||
#undef HAVE_POSIX_SPAWN
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `pow' function. */
 | 
			
		||||
#undef HAVE_POW
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `powf' function. */
 | 
			
		||||
#undef HAVE_POWF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `powl' function. */
 | 
			
		||||
#undef HAVE_POWL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `powq' function. */
 | 
			
		||||
#undef HAVE_POWQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `prctl' function. */
 | 
			
		||||
#undef HAVE_PRCTL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <quadmath.h> header file. */
 | 
			
		||||
#undef HAVE_QUADMATH_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `quadmath_snprintf' function. */
 | 
			
		||||
#undef HAVE_QUADMATH_SNPRINTF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `readdir64' function. */
 | 
			
		||||
#undef HAVE_READDIR64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `round' function. */
 | 
			
		||||
#undef HAVE_ROUND
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `roundf' function. */
 | 
			
		||||
#undef HAVE_ROUNDF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `roundl' function. */
 | 
			
		||||
#undef HAVE_ROUNDL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `roundq' function. */
 | 
			
		||||
#undef HAVE_ROUNDQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `select' function. */
 | 
			
		||||
#undef HAVE_SELECT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sendfile' function. */
 | 
			
		||||
#undef HAVE_SENDFILE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sendfile64' function. */
 | 
			
		||||
#undef HAVE_SENDFILE64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sendfilev' function. */
 | 
			
		||||
#undef HAVE_SENDFILEV
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sendfilev64' function. */
 | 
			
		||||
#undef HAVE_SENDFILEV64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `setcontext' function. */
 | 
			
		||||
#undef HAVE_SETCONTEXT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `setrlimit' function. */
 | 
			
		||||
#undef HAVE_SETRLIMIT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `settimeofday' function. */
 | 
			
		||||
#undef HAVE_SETTIMEOFDAY
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <signal.h> header file. */
 | 
			
		||||
#undef HAVE_SIGNAL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sin' function. */
 | 
			
		||||
#undef HAVE_SIN
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinf' function. */
 | 
			
		||||
#undef HAVE_SINF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinh' function. */
 | 
			
		||||
#undef HAVE_SINH
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinhf' function. */
 | 
			
		||||
#undef HAVE_SINHF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinhl' function. */
 | 
			
		||||
#undef HAVE_SINHL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinhq' function. */
 | 
			
		||||
#undef HAVE_SINHQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinl' function. */
 | 
			
		||||
#undef HAVE_SINL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sinq' function. */
 | 
			
		||||
#undef HAVE_SINQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `snprintf' function. */
 | 
			
		||||
#undef HAVE_SNPRINTF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <spawn.h> header file. */
 | 
			
		||||
#undef HAVE_SPAWN_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sqrt' function. */
 | 
			
		||||
#undef HAVE_SQRT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sqrtf' function. */
 | 
			
		||||
#undef HAVE_SQRTF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sqrtl' function. */
 | 
			
		||||
#undef HAVE_SQRTL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sqrtq' function. */
 | 
			
		||||
#undef HAVE_SQRTQ
 | 
			
		||||
 | 
			
		||||
/* ssl support */
 | 
			
		||||
#undef HAVE_SSL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `SSL_library_init' function. */
 | 
			
		||||
#undef HAVE_SSL_LIBRARY_INIT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `stat64' function. */
 | 
			
		||||
#undef HAVE_STAT64
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <stddef.h> header file. */
 | 
			
		||||
#undef HAVE_STDDEF_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <stdint.h> header file. */
 | 
			
		||||
#undef HAVE_STDINT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <stdlib.h> header file. */
 | 
			
		||||
#undef HAVE_STDLIB_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <strings.h> header file. */
 | 
			
		||||
#undef HAVE_STRINGS_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <string.h> header file. */
 | 
			
		||||
#undef HAVE_STRING_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `strtoflt128' function. */
 | 
			
		||||
#undef HAVE_STRTOFLT128
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `d_type' is a member of `struct dirent'. */
 | 
			
		||||
#undef HAVE_STRUCT_DIRENT_D_TYPE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `ifr_ifindex' is a member of `struct ifreq'. */
 | 
			
		||||
#undef HAVE_STRUCT_IFREQ_IFR_IFINDEX
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `ifr_mtu' is a member of `struct ifreq'. */
 | 
			
		||||
#undef HAVE_STRUCT_IFREQ_IFR_MTU
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if the system has the type `struct if_laddrreq'. */
 | 
			
		||||
#undef HAVE_STRUCT_IF_LADDRREQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if the system has the type `struct lifconf'. */
 | 
			
		||||
#undef HAVE_STRUCT_LIFCONF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if the system has the type `struct lifreq'. */
 | 
			
		||||
#undef HAVE_STRUCT_LIFREQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
 | 
			
		||||
#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
 | 
			
		||||
#undef HAVE_STRUCT_STAT_ST_BIRTHTIME
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
 | 
			
		||||
#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
 | 
			
		||||
#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
 | 
			
		||||
#undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
 | 
			
		||||
#undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if the system has the type `struct timespec'. */
 | 
			
		||||
#undef HAVE_STRUCT_TIMESPEC
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `swapcontext' function. */
 | 
			
		||||
#undef HAVE_SWAPCONTEXT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `sysconf' function. */
 | 
			
		||||
#undef HAVE_SYSCONF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
 | 
			
		||||
   */
 | 
			
		||||
#undef HAVE_SYS_DIR_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/epoll.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_EPOLL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/event.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_EVENT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/ioctl.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_IOCTL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/macstat.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_MACSTAT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
 | 
			
		||||
   */
 | 
			
		||||
#undef HAVE_SYS_NDIR_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/prctl.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_PRCTL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/resource.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_RESOURCE_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/sendfile.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_SENDFILE_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/socket.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_SOCKET_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/sockio.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_SOCKIO_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/stat.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_STAT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/stropts.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_STROPTS_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/syscall.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_SYSCALL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/sysctl.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_SYSCTL_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/time.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_TIME_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/types.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_TYPES_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/un.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_UN_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <sys/wait.h> header file. */
 | 
			
		||||
#undef HAVE_SYS_WAIT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tan' function. */
 | 
			
		||||
#undef HAVE_TAN
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanf' function. */
 | 
			
		||||
#undef HAVE_TANF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanh' function. */
 | 
			
		||||
#undef HAVE_TANH
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanhf' function. */
 | 
			
		||||
#undef HAVE_TANHF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanhl' function. */
 | 
			
		||||
#undef HAVE_TANHL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanhq' function. */
 | 
			
		||||
#undef HAVE_TANHQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanl' function. */
 | 
			
		||||
#undef HAVE_TANL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `tanq' function. */
 | 
			
		||||
#undef HAVE_TANQ
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `timegm' function. */
 | 
			
		||||
#undef HAVE_TIMEGM
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `timelocal' function. */
 | 
			
		||||
#undef HAVE_TIMELOCAL
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <time.h> header file. */
 | 
			
		||||
#undef HAVE_TIME_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <tiuser.h> header file. */
 | 
			
		||||
#undef HAVE_TIUSER_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `towctrans' function. */
 | 
			
		||||
#undef HAVE_TOWCTRANS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `t_connect' function. */
 | 
			
		||||
#undef HAVE_T_CONNECT
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <uci.h> header file. */
 | 
			
		||||
#undef HAVE_UCI_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <ucontext.h> header file. */
 | 
			
		||||
#undef HAVE_UCONTEXT_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <unistd.h> header file. */
 | 
			
		||||
#undef HAVE_UNISTD_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `uselocale' function. */
 | 
			
		||||
#undef HAVE_USELOCALE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `utime' function. */
 | 
			
		||||
#undef HAVE_UTIME
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `utimes' function. */
 | 
			
		||||
#undef HAVE_UTIMES
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <utime.h> header file. */
 | 
			
		||||
#undef HAVE_UTIME_H
 | 
			
		||||
 | 
			
		||||
/* va_copy is available */
 | 
			
		||||
#undef HAVE_VA_COPY
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `vfork' function. */
 | 
			
		||||
#undef HAVE_VFORK
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <wchar.h> header file. */
 | 
			
		||||
#undef HAVE_WCHAR_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `wcrtomb' function. */
 | 
			
		||||
#undef HAVE_WCRTOMB
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `wcsnrtombs' function. */
 | 
			
		||||
#undef HAVE_WCSNRTOMBS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `wcsrtombs' function. */
 | 
			
		||||
#undef HAVE_WCSRTOMBS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `wctrans' function. */
 | 
			
		||||
#undef HAVE_WCTRANS
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `wctype' function. */
 | 
			
		||||
#undef HAVE_WCTYPE
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the <wctype.h> header file. */
 | 
			
		||||
#undef HAVE_WCTYPE_H
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `_vsnprintf' function. */
 | 
			
		||||
#undef HAVE__VSNPRINTF
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the `_vsnwprintf' function. */
 | 
			
		||||
#undef HAVE__VSNWPRINTF
 | 
			
		||||
 | 
			
		||||
/* __builtin_memcmp */
 | 
			
		||||
#undef HAVE___BUILTIN_MEMCMP
 | 
			
		||||
 | 
			
		||||
/* __builtin_memcpy */
 | 
			
		||||
#undef HAVE___BUILTIN_MEMCPY
 | 
			
		||||
 | 
			
		||||
/* __builtin_memmove */
 | 
			
		||||
#undef HAVE___BUILTIN_MEMMOVE
 | 
			
		||||
 | 
			
		||||
/* __builtin_memset */
 | 
			
		||||
#undef HAVE___BUILTIN_MEMSET
 | 
			
		||||
 | 
			
		||||
/* __va_copy is available */
 | 
			
		||||
#undef HAVE___VA_COPY
 | 
			
		||||
 | 
			
		||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
 | 
			
		||||
   */
 | 
			
		||||
#undef LT_OBJDIR
 | 
			
		||||
 | 
			
		||||
/* The size of `MB_LEN_MAX', as computed by valueof. */
 | 
			
		||||
#undef NUMVALOF_MB_LEN_MAX
 | 
			
		||||
 | 
			
		||||
/* Name of package */
 | 
			
		||||
#undef PACKAGE
 | 
			
		||||
 | 
			
		||||
/* Define to the address where bug reports for this package should be sent. */
 | 
			
		||||
#undef PACKAGE_BUGREPORT
 | 
			
		||||
 | 
			
		||||
/* Define to the full name of this package. */
 | 
			
		||||
#undef PACKAGE_NAME
 | 
			
		||||
 | 
			
		||||
/* Define to the full name and version of this package. */
 | 
			
		||||
#undef PACKAGE_STRING
 | 
			
		||||
 | 
			
		||||
/* Define to the one symbol short name of this package. */
 | 
			
		||||
#undef PACKAGE_TARNAME
 | 
			
		||||
 | 
			
		||||
/* Define to the home page for this package. */
 | 
			
		||||
#undef PACKAGE_URL
 | 
			
		||||
 | 
			
		||||
/* Define to the version of this package. */
 | 
			
		||||
#undef PACKAGE_VERSION
 | 
			
		||||
 | 
			
		||||
/* The size of `char', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_CHAR
 | 
			
		||||
 | 
			
		||||
/* The size of `double', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_DOUBLE
 | 
			
		||||
 | 
			
		||||
/* The size of `float', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_FLOAT
 | 
			
		||||
 | 
			
		||||
/* The size of `int', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_INT
 | 
			
		||||
 | 
			
		||||
/* The size of `long', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_LONG
 | 
			
		||||
 | 
			
		||||
/* The size of `long double', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_LONG_DOUBLE
 | 
			
		||||
 | 
			
		||||
/* The size of `long long', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_LONG_LONG
 | 
			
		||||
 | 
			
		||||
/* The size of `mbstate_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_MBSTATE_T
 | 
			
		||||
 | 
			
		||||
/* The size of `off64_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_OFF64_T
 | 
			
		||||
 | 
			
		||||
/* The size of `off_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_OFF_T
 | 
			
		||||
 | 
			
		||||
/* The size of `short', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_SHORT
 | 
			
		||||
 | 
			
		||||
/* The size of `socklen_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_SOCKLEN_T
 | 
			
		||||
 | 
			
		||||
/* The size of `struct sockaddr_in', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_STRUCT_SOCKADDR_IN
 | 
			
		||||
 | 
			
		||||
/* The size of `struct sockaddr_in6', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_STRUCT_SOCKADDR_IN6
 | 
			
		||||
 | 
			
		||||
/* The size of `struct sockaddr_un', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_STRUCT_SOCKADDR_UN
 | 
			
		||||
 | 
			
		||||
/* The size of `void *', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_VOID_P
 | 
			
		||||
 | 
			
		||||
/* The size of `wchar_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF_WCHAR_T
 | 
			
		||||
 | 
			
		||||
/* The size of `__float128', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___FLOAT128
 | 
			
		||||
 | 
			
		||||
/* The size of `__int128', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT128
 | 
			
		||||
 | 
			
		||||
/* The size of `__int128_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT128_T
 | 
			
		||||
 | 
			
		||||
/* The size of `__int16', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT16
 | 
			
		||||
 | 
			
		||||
/* The size of `__int16_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT16_T
 | 
			
		||||
 | 
			
		||||
/* The size of `__int32', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT32
 | 
			
		||||
 | 
			
		||||
/* The size of `__int32_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT32_T
 | 
			
		||||
 | 
			
		||||
/* The size of `__int64', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT64
 | 
			
		||||
 | 
			
		||||
/* The size of `__int64_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT64_T
 | 
			
		||||
 | 
			
		||||
/* The size of `__int8', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT8
 | 
			
		||||
 | 
			
		||||
/* The size of `__int8_t', as computed by sizeof. */
 | 
			
		||||
#undef SIZEOF___INT8_T
 | 
			
		||||
 | 
			
		||||
/* Define to 1 if you have the ANSI C header files. */
 | 
			
		||||
#undef STDC_HEADERS
 | 
			
		||||
 | 
			
		||||
/* Big Endian */
 | 
			
		||||
#undef STIO_ENDIAN_BIG
 | 
			
		||||
 | 
			
		||||
/* Little Endian */
 | 
			
		||||
#undef STIO_ENDIAN_LITTLE
 | 
			
		||||
 | 
			
		||||
/* Unknown Endian */
 | 
			
		||||
#undef STIO_ENDIAN_UNKNOWN
 | 
			
		||||
 | 
			
		||||
/* MB_LEN_MAX */
 | 
			
		||||
#undef STIO_MBLEN_MAX
 | 
			
		||||
 | 
			
		||||
/* Author */
 | 
			
		||||
#undef STIO_PACKAGE_AUTHOR
 | 
			
		||||
 | 
			
		||||
/* package name */
 | 
			
		||||
#undef STIO_PACKAGE_NAME
 | 
			
		||||
 | 
			
		||||
/* Project URL */
 | 
			
		||||
#undef STIO_PACKAGE_URL
 | 
			
		||||
 | 
			
		||||
/* Package version */
 | 
			
		||||
#undef STIO_PACKAGE_VERSION
 | 
			
		||||
 | 
			
		||||
/* Major version number */
 | 
			
		||||
#undef STIO_PACKAGE_VERSION_MAJOR
 | 
			
		||||
 | 
			
		||||
/* Minor version number */
 | 
			
		||||
#undef STIO_PACKAGE_VERSION_MINOR
 | 
			
		||||
 | 
			
		||||
/* Patch level */
 | 
			
		||||
#undef STIO_PACKAGE_VERSION_PATCH
 | 
			
		||||
 | 
			
		||||
/* sizeof(char) */
 | 
			
		||||
#undef STIO_SIZEOF_CHAR
 | 
			
		||||
 | 
			
		||||
/* sizeof(double) */
 | 
			
		||||
#undef STIO_SIZEOF_DOUBLE
 | 
			
		||||
 | 
			
		||||
/* sizeof(float) */
 | 
			
		||||
#undef STIO_SIZEOF_FLOAT
 | 
			
		||||
 | 
			
		||||
/* sizeof(int) */
 | 
			
		||||
#undef STIO_SIZEOF_INT
 | 
			
		||||
 | 
			
		||||
/* sizeof(long) */
 | 
			
		||||
#undef STIO_SIZEOF_LONG
 | 
			
		||||
 | 
			
		||||
/* sizeof(long double) */
 | 
			
		||||
#undef STIO_SIZEOF_LONG_DOUBLE
 | 
			
		||||
 | 
			
		||||
/* sizeof(long long) */
 | 
			
		||||
#undef STIO_SIZEOF_LONG_LONG
 | 
			
		||||
 | 
			
		||||
/* sizeof(mbstate_t) */
 | 
			
		||||
#undef STIO_SIZEOF_MBSTATE_T
 | 
			
		||||
 | 
			
		||||
/* sizeof(off64_t) */
 | 
			
		||||
#undef STIO_SIZEOF_OFF64_T
 | 
			
		||||
 | 
			
		||||
/* sizeof(off_t) */
 | 
			
		||||
#undef STIO_SIZEOF_OFF_T
 | 
			
		||||
 | 
			
		||||
/* sizeof(short) */
 | 
			
		||||
#undef STIO_SIZEOF_SHORT
 | 
			
		||||
 | 
			
		||||
/* sizeof(socklen_t) */
 | 
			
		||||
#undef STIO_SIZEOF_SOCKLEN_T
 | 
			
		||||
 | 
			
		||||
/* sizeof(struct sockaddr_in) */
 | 
			
		||||
#undef STIO_SIZEOF_STRUCT_SOCKADDR_IN
 | 
			
		||||
 | 
			
		||||
/* sizeof(struct sockaddr_in6) */
 | 
			
		||||
#undef STIO_SIZEOF_STRUCT_SOCKADDR_IN6
 | 
			
		||||
 | 
			
		||||
/* sizeof(struct sockaddr_un) */
 | 
			
		||||
#undef STIO_SIZEOF_STRUCT_SOCKADDR_UN
 | 
			
		||||
 | 
			
		||||
/* sizeof(void*) */
 | 
			
		||||
#undef STIO_SIZEOF_VOID_P
 | 
			
		||||
 | 
			
		||||
/* sizeof(wchar_t) */
 | 
			
		||||
#undef STIO_SIZEOF_WCHAR_T
 | 
			
		||||
 | 
			
		||||
/* sizeof(__float128) */
 | 
			
		||||
#undef STIO_SIZEOF___FLOAT128
 | 
			
		||||
 | 
			
		||||
/* sizeof(__int128) */
 | 
			
		||||
#undef STIO_SIZEOF___INT128
 | 
			
		||||
 | 
			
		||||
/* sizeof(__int128_t) */
 | 
			
		||||
#undef STIO_SIZEOF___INT128_T
 | 
			
		||||
 | 
			
		||||
/* sizeof(__int16) */
 | 
			
		||||
#undef STIO_SIZEOF___INT16
 | 
			
		||||
 | 
			
		||||
/* sizeof(__int32) */
 | 
			
		||||
#undef STIO_SIZEOF___INT32
 | 
			
		||||
 | 
			
		||||
/* sizeof(__int64) */
 | 
			
		||||
#undef STIO_SIZEOF___INT64
 | 
			
		||||
 | 
			
		||||
/* sizeof(__int8) */
 | 
			
		||||
#undef STIO_SIZEOF___INT8
 | 
			
		||||
 | 
			
		||||
/* Define if socklen_t is signed */
 | 
			
		||||
#undef STIO_SOCKLEN_T_IS_SIGNED
 | 
			
		||||
 | 
			
		||||
/* Version number of package */
 | 
			
		||||
#undef VERSION
 | 
			
		||||
 | 
			
		||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
 | 
			
		||||
   significant byte first (like Motorola and SPARC, unlike Intel). */
 | 
			
		||||
#if defined AC_APPLE_UNIVERSAL_BUILD
 | 
			
		||||
# if defined __BIG_ENDIAN__
 | 
			
		||||
#  define WORDS_BIGENDIAN 1
 | 
			
		||||
# endif
 | 
			
		||||
#else
 | 
			
		||||
# ifndef WORDS_BIGENDIAN
 | 
			
		||||
#  undef WORDS_BIGENDIAN
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										549
									
								
								stio/lib/stio-cmn.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										549
									
								
								stio/lib/stio-cmn.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,549 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id$
 | 
			
		||||
 *
 | 
			
		||||
    Copyright (c) 2015-2016 Chung, Hyung-Hwan. All rights reserved.
 | 
			
		||||
 | 
			
		||||
    Redistribution and use in source and binary forms, with or without
 | 
			
		||||
    modification, are permitted provided that the following conditions
 | 
			
		||||
    are met:
 | 
			
		||||
    1. Redistributions of source code must retain the above copyright
 | 
			
		||||
       notice, this list of conditions and the following disclaimer.
 | 
			
		||||
    2. Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
       notice, this list of conditions and the following disclaimer in the
 | 
			
		||||
       documentation and/or other materials provided with the distribution.
 | 
			
		||||
 | 
			
		||||
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
 | 
			
		||||
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 | 
			
		||||
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 | 
			
		||||
    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 | 
			
		||||
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 | 
			
		||||
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
			
		||||
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 | 
			
		||||
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef _STIO_CMN_H_
 | 
			
		||||
#define _STIO_CMN_H_
 | 
			
		||||
 | 
			
		||||
/* WARNING: NEVER CHANGE/DELETE THE FOLLOWING STIO_HAVE_CFG_H DEFINITION. 
 | 
			
		||||
 *          IT IS USED FOR DEPLOYMENT BY MAKEFILE.AM */
 | 
			
		||||
/*#define STIO_HAVE_CFG_H*/
 | 
			
		||||
 | 
			
		||||
#if defined(STIO_HAVE_CFG_H)
 | 
			
		||||
#	include "stio-cfg.h"
 | 
			
		||||
#elif defined(_WIN32)
 | 
			
		||||
#	include "stio-msw.h"
 | 
			
		||||
#elif defined(__OS2__)
 | 
			
		||||
#	include "stio-os2.h"
 | 
			
		||||
#elif defined(__MSDOS__)
 | 
			
		||||
#	include "stio-dos.h"
 | 
			
		||||
#elif defined(macintosh)
 | 
			
		||||
#	include "stio-mac.h" /* class mac os */
 | 
			
		||||
#else
 | 
			
		||||
#	error UNSUPPORTED SYSTEM
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(EMSCRIPTEN)
 | 
			
		||||
#	if defined(STIO_SIZEOF___INT128)
 | 
			
		||||
#		undef STIO_SIZEOF___INT128 
 | 
			
		||||
#		define STIO_SIZEOF___INT128 0
 | 
			
		||||
#	endif
 | 
			
		||||
#	if defined(STIO_SIZEOF_LONG) && defined(STIO_SIZEOF_INT) && (STIO_SIZEOF_LONG > STIO_SIZEOF_INT)
 | 
			
		||||
		/* autoconf doesn't seem to match actual emscripten */
 | 
			
		||||
#		undef STIO_SIZEOF_LONG
 | 
			
		||||
#		define STIO_SIZEOF_LONG STIO_SIZEOF_INT
 | 
			
		||||
#	endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* =========================================================================
 | 
			
		||||
 * PRIMITIVE TYPE DEFINTIONS
 | 
			
		||||
 * ========================================================================= */
 | 
			
		||||
 | 
			
		||||
/* stio_int8_t */
 | 
			
		||||
#if defined(STIO_SIZEOF_CHAR) && (STIO_SIZEOF_CHAR == 1)
 | 
			
		||||
#	define STIO_HAVE_UINT8_T
 | 
			
		||||
#	define STIO_HAVE_INT8_T
 | 
			
		||||
	typedef unsigned char      stio_uint8_t;
 | 
			
		||||
	typedef signed char        stio_int8_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT8) && (STIO_SIZEOF___INT8 == 1)
 | 
			
		||||
#	define STIO_HAVE_UINT8_T
 | 
			
		||||
#	define STIO_HAVE_INT8_T
 | 
			
		||||
	typedef unsigned __int8    stio_uint8_t;
 | 
			
		||||
	typedef signed __int8      stio_int8_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT8_T) && (STIO_SIZEOF___INT8_T == 1)
 | 
			
		||||
#	define STIO_HAVE_UINT8_T
 | 
			
		||||
#	define STIO_HAVE_INT8_T
 | 
			
		||||
	typedef unsigned __int8_t  stio_uint8_t;
 | 
			
		||||
	typedef signed __int8_t    stio_int8_t;
 | 
			
		||||
#else
 | 
			
		||||
#	define STIO_HAVE_UINT8_T
 | 
			
		||||
#	define STIO_HAVE_INT8_T
 | 
			
		||||
	typedef unsigned char      stio_uint8_t;
 | 
			
		||||
	typedef signed char        stio_int8_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* stio_int16_t */
 | 
			
		||||
#if defined(STIO_SIZEOF_SHORT) && (STIO_SIZEOF_SHORT == 2)
 | 
			
		||||
#	define STIO_HAVE_UINT16_T
 | 
			
		||||
#	define STIO_HAVE_INT16_T
 | 
			
		||||
	typedef unsigned short int  stio_uint16_t;
 | 
			
		||||
	typedef signed short int    stio_int16_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT16) && (STIO_SIZEOF___INT16 == 2)
 | 
			
		||||
#	define STIO_HAVE_UINT16_T
 | 
			
		||||
#	define STIO_HAVE_INT16_T
 | 
			
		||||
	typedef unsigned __int16    stio_uint16_t;
 | 
			
		||||
	typedef signed __int16      stio_int16_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT16_T) && (STIO_SIZEOF___INT16_T == 2)
 | 
			
		||||
#	define STIO_HAVE_UINT16_T
 | 
			
		||||
#	define STIO_HAVE_INT16_T
 | 
			
		||||
	typedef unsigned __int16_t  stio_uint16_t;
 | 
			
		||||
	typedef signed __int16_t    stio_int16_t;
 | 
			
		||||
#else
 | 
			
		||||
#	define STIO_HAVE_UINT16_T
 | 
			
		||||
#	define STIO_HAVE_INT16_T
 | 
			
		||||
	typedef unsigned short int  stio_uint16_t;
 | 
			
		||||
	typedef signed short int    stio_int16_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* stio_int32_t */
 | 
			
		||||
#if defined(STIO_SIZEOF_INT) && (STIO_SIZEOF_INT == 4)
 | 
			
		||||
#	define STIO_HAVE_UINT32_T
 | 
			
		||||
#	define STIO_HAVE_INT32_T
 | 
			
		||||
	typedef unsigned int        stio_uint32_t;
 | 
			
		||||
	typedef signed int          stio_int32_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF_LONG) && (STIO_SIZEOF_LONG == 4)
 | 
			
		||||
#	define STIO_HAVE_UINT32_T
 | 
			
		||||
#	define STIO_HAVE_INT32_T
 | 
			
		||||
	typedef unsigned long       stio_uint32_t;
 | 
			
		||||
	typedef signed long         stio_int32_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT32) && (STIO_SIZEOF___INT32 == 4)
 | 
			
		||||
#	define STIO_HAVE_UINT32_T
 | 
			
		||||
#	define STIO_HAVE_INT32_T
 | 
			
		||||
	typedef unsigned __int32    stio_uint32_t;
 | 
			
		||||
	typedef signed __int32      stio_int32_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT32_T) && (STIO_SIZEOF___INT32_T == 4)
 | 
			
		||||
#	define STIO_HAVE_UINT32_T
 | 
			
		||||
#	define STIO_HAVE_INT32_T
 | 
			
		||||
	typedef unsigned __int32_t  stio_uint32_t;
 | 
			
		||||
	typedef signed __int32_t    stio_int32_t;
 | 
			
		||||
#elif defined(__MSDOS__)
 | 
			
		||||
#	define STIO_HAVE_UINT32_T
 | 
			
		||||
#	define STIO_HAVE_INT32_T
 | 
			
		||||
	typedef unsigned long int   stio_uint32_t;
 | 
			
		||||
	typedef signed long int     stio_int32_t;
 | 
			
		||||
#else
 | 
			
		||||
#	define STIO_HAVE_UINT32_T
 | 
			
		||||
#	define STIO_HAVE_INT32_T
 | 
			
		||||
	typedef unsigned int        stio_uint32_t;
 | 
			
		||||
	typedef signed int          stio_int32_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* stio_int64_t */
 | 
			
		||||
#if defined(STIO_SIZEOF_INT) && (STIO_SIZEOF_INT == 8)
 | 
			
		||||
#	define STIO_HAVE_UINT64_T
 | 
			
		||||
#	define STIO_HAVE_INT64_T
 | 
			
		||||
	typedef unsigned int        stio_uint64_t;
 | 
			
		||||
	typedef signed int          stio_int64_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF_LONG) && (STIO_SIZEOF_LONG == 8)
 | 
			
		||||
#	define STIO_HAVE_UINT64_T
 | 
			
		||||
#	define STIO_HAVE_INT64_T
 | 
			
		||||
	typedef unsigned long       stio_uint64_t;
 | 
			
		||||
	typedef signed long         stio_int64_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF_LONG_LONG) && (STIO_SIZEOF_LONG_LONG == 8)
 | 
			
		||||
#	define STIO_HAVE_UINT64_T
 | 
			
		||||
#	define STIO_HAVE_INT64_T
 | 
			
		||||
	typedef unsigned long long  stio_uint64_t;
 | 
			
		||||
	typedef signed long long    stio_int64_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT64) && (STIO_SIZEOF___INT64 == 8)
 | 
			
		||||
#	define STIO_HAVE_UINT64_T
 | 
			
		||||
#	define STIO_HAVE_INT64_T
 | 
			
		||||
	typedef unsigned __int64    stio_uint64_t;
 | 
			
		||||
	typedef signed __int64      stio_int64_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT64_T) && (STIO_SIZEOF___INT64_T == 8)
 | 
			
		||||
#	define STIO_HAVE_UINT64_T
 | 
			
		||||
#	define STIO_HAVE_INT64_T
 | 
			
		||||
	typedef unsigned __int64_t  stio_uint64_t;
 | 
			
		||||
	typedef signed __int64_t    stio_int64_t;
 | 
			
		||||
#elif defined(_WIN64) || defined(_WIN32)
 | 
			
		||||
#	define STIO_HAVE_UINT64_T
 | 
			
		||||
#	define STIO_HAVE_INT64_T
 | 
			
		||||
	typedef unsigned __int64  stio_uint64_t;
 | 
			
		||||
	typedef signed __int64    stio_int64_t;
 | 
			
		||||
#else
 | 
			
		||||
	/* no 64-bit integer */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* stio_int128_t */
 | 
			
		||||
#if defined(STIO_SIZEOF_INT) && (STIO_SIZEOF_INT == 16)
 | 
			
		||||
#	define STIO_HAVE_UINT128_T
 | 
			
		||||
#	define STIO_HAVE_INT128_T
 | 
			
		||||
	typedef unsigned int        stio_uint128_t;
 | 
			
		||||
	typedef signed int          stio_int128_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF_LONG) && (STIO_SIZEOF_LONG == 16)
 | 
			
		||||
#	define STIO_HAVE_UINT128_T
 | 
			
		||||
#	define STIO_HAVE_INT128_T
 | 
			
		||||
	typedef unsigned long       stio_uint128_t;
 | 
			
		||||
	typedef signed long         stio_int128_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF_LONG_LONG) && (STIO_SIZEOF_LONG_LONG == 16)
 | 
			
		||||
#	define STIO_HAVE_UINT128_T
 | 
			
		||||
#	define STIO_HAVE_INT128_T
 | 
			
		||||
	typedef unsigned long long  stio_uint128_t;
 | 
			
		||||
	typedef signed long long    stio_int128_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT128) && (STIO_SIZEOF___INT128 == 16)
 | 
			
		||||
#	define STIO_HAVE_UINT128_T
 | 
			
		||||
#	define STIO_HAVE_INT128_T
 | 
			
		||||
	typedef unsigned __int128    stio_uint128_t;
 | 
			
		||||
	typedef signed __int128      stio_int128_t;
 | 
			
		||||
#elif defined(STIO_SIZEOF___INT128_T) && (STIO_SIZEOF___INT128_T == 16)
 | 
			
		||||
#	define STIO_HAVE_UINT128_T
 | 
			
		||||
#	define STIO_HAVE_INT128_T
 | 
			
		||||
	#if defined(__clang__)
 | 
			
		||||
	typedef __uint128_t  stio_uint128_t;
 | 
			
		||||
	typedef __int128_t   stio_int128_t;
 | 
			
		||||
	#else
 | 
			
		||||
	typedef unsigned __int128_t  stio_uint128_t;
 | 
			
		||||
	typedef signed __int128_t    stio_int128_t;
 | 
			
		||||
	#endif
 | 
			
		||||
#else
 | 
			
		||||
	/* no 128-bit integer */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(STIO_HAVE_UINT8_T) && (STIO_SIZEOF_VOID_P == 1)
 | 
			
		||||
#	error UNSUPPORTED POINTER SIZE
 | 
			
		||||
#elif defined(STIO_HAVE_UINT16_T) && (STIO_SIZEOF_VOID_P == 2)
 | 
			
		||||
	typedef stio_uint16_t stio_uintptr_t;
 | 
			
		||||
	typedef stio_int16_t stio_intptr_t;
 | 
			
		||||
	typedef stio_uint8_t stio_ushortptr_t;
 | 
			
		||||
	typedef stio_int8_t stio_shortptr_t;
 | 
			
		||||
#elif defined(STIO_HAVE_UINT32_T) && (STIO_SIZEOF_VOID_P == 4)
 | 
			
		||||
	typedef stio_uint32_t stio_uintptr_t;
 | 
			
		||||
	typedef stio_int32_t stio_intptr_t;
 | 
			
		||||
	typedef stio_uint16_t stio_ushortptr_t;
 | 
			
		||||
	typedef stio_int16_t stio_shortptr_t;
 | 
			
		||||
#elif defined(STIO_HAVE_UINT64_T) && (STIO_SIZEOF_VOID_P == 8)
 | 
			
		||||
	typedef stio_uint64_t stio_uintptr_t;
 | 
			
		||||
	typedef stio_int64_t stio_intptr_t;
 | 
			
		||||
	typedef stio_uint32_t stio_ushortptr_t;
 | 
			
		||||
	typedef stio_int32_t stio_shortptr_t;
 | 
			
		||||
#elif defined(STIO_HAVE_UINT128_T) && (STIO_SIZEOF_VOID_P == 16) 
 | 
			
		||||
	typedef stio_uint128_t stio_uintptr_t;
 | 
			
		||||
	typedef stio_int128_t stio_intptr_t;
 | 
			
		||||
	typedef stio_uint64_t stio_ushortptr_t;
 | 
			
		||||
	typedef stio_int64_t stio_shortptr_t;
 | 
			
		||||
#else
 | 
			
		||||
#	error UNKNOWN POINTER SIZE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define STIO_SIZEOF_INTPTR_T STIO_SIZEOF_VOID_P
 | 
			
		||||
#define STIO_SIZEOF_UINTPTR_T STIO_SIZEOF_VOID_P
 | 
			
		||||
#define STIO_SIZEOF_SHORTPTR_T (STIO_SIZEOF_VOID_P / 2)
 | 
			
		||||
#define STIO_SIZEOF_USHORTPTR_T (STIO_SIZEOF_VOID_P / 2)
 | 
			
		||||
 | 
			
		||||
#if defined(STIO_HAVE_INT128_T)
 | 
			
		||||
#	define STIO_SIZEOF_INTMAX_T 16
 | 
			
		||||
#	define STIO_SIZEOF_UINTMAX_T 16
 | 
			
		||||
	typedef stio_int128_t stio_intmax_t;
 | 
			
		||||
	typedef stio_uint128_t stio_uintmax_t;
 | 
			
		||||
#elif defined(STIO_HAVE_INT64_T)
 | 
			
		||||
#	define STIO_SIZEOF_INTMAX_T 8
 | 
			
		||||
#	define STIO_SIZEOF_UINTMAX_T 8
 | 
			
		||||
	typedef stio_int64_t stio_intmax_t;
 | 
			
		||||
	typedef stio_uint64_t stio_uintmax_t;
 | 
			
		||||
#elif defined(STIO_HAVE_INT32_T)
 | 
			
		||||
#	define STIO_SIZEOF_INTMAX_T 4
 | 
			
		||||
#	define STIO_SIZEOF_UINTMAX_T 4
 | 
			
		||||
	typedef stio_int32_t stio_intmax_t;
 | 
			
		||||
	typedef stio_uint32_t stio_uintmax_t;
 | 
			
		||||
#elif defined(STIO_HAVE_INT16_T)
 | 
			
		||||
#	define STIO_SIZEOF_INTMAX_T 2
 | 
			
		||||
#	define STIO_SIZEOF_UINTMAX_T 2
 | 
			
		||||
	typedef stio_int16_t stio_intmax_t;
 | 
			
		||||
	typedef stio_uint16_t stio_uintmax_t;
 | 
			
		||||
#elif defined(STIO_HAVE_INT8_T)
 | 
			
		||||
#	define STIO_SIZEOF_INTMAX_T 1
 | 
			
		||||
#	define STIO_SIZEOF_UINTMAX_T 1
 | 
			
		||||
	typedef stio_int8_t stio_intmax_t;
 | 
			
		||||
	typedef stio_uint8_t stio_uintmax_t;
 | 
			
		||||
#else
 | 
			
		||||
#	error UNKNOWN INTMAX SIZE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* =========================================================================
 | 
			
		||||
 * BASIC STIO TYPES
 | 
			
		||||
 * =========================================================================*/
 | 
			
		||||
 | 
			
		||||
typedef stio_uint8_t stio_byte_t;
 | 
			
		||||
typedef stio_uintptr_t stio_size_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* =========================================================================
 | 
			
		||||
 * PRIMITIVE MACROS
 | 
			
		||||
 * ========================================================================= */
 | 
			
		||||
#define STIO_SIZEOF(x) (sizeof(x))
 | 
			
		||||
#define STIO_COUNTOF(x) (sizeof(x) / sizeof(x[0]))
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The STIO_OFFSETOF() macro returns the offset of a field from the beginning
 | 
			
		||||
 * of a structure.
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_OFFSETOF(type,member) ((stio_uintptr_t)&((type*)0)->member)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The STIO_ALIGNOF() macro returns the alignment size of a structure.
 | 
			
		||||
 * Note that this macro may not work reliably depending on the type given.
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_ALIGNOF(type) STIO_OFFSETOF(struct { stio_uint8_t d1; type d2; }, d2)
 | 
			
		||||
        /*(sizeof(struct { stio_uint8_t d1; type d2; }) - sizeof(type))*/
 | 
			
		||||
 | 
			
		||||
#if defined(__cplusplus)
 | 
			
		||||
#	if (__cplusplus >= 201103L) /* C++11 */
 | 
			
		||||
#		define STIO_NULL nullptr
 | 
			
		||||
#	else
 | 
			
		||||
#		define STIO_NULL (0)
 | 
			
		||||
#	endif
 | 
			
		||||
#else
 | 
			
		||||
#	define STIO_NULL ((void*)0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* make a bit mask that can mask off low n bits */
 | 
			
		||||
#define STIO_LBMASK(type,n) (~(~((type)0) << (n))) 
 | 
			
		||||
#define STIO_LBMASK_SAFE(type,n) (((n) < STIO_SIZEOF(type) * 8)? STIO_LBMASK(type,n): ~(type)0)
 | 
			
		||||
 | 
			
		||||
/* make a bit mask that can mask off hig n bits */
 | 
			
		||||
#define STIO_HBMASK(type,n) (~(~((type)0) >> (n)))
 | 
			
		||||
#define STIO_HBMASK_SAFE(type,n) (((n) < STIO_SIZEOF(type) * 8)? STIO_HBMASK(type,n): ~(type)0)
 | 
			
		||||
 | 
			
		||||
/* get 'length' bits starting from the bit at the 'offset' */
 | 
			
		||||
#define STIO_GETBITS(type,value,offset,length) \
 | 
			
		||||
	((((type)(value)) >> (offset)) & STIO_LBMASK(type,length))
 | 
			
		||||
 | 
			
		||||
#define STIO_SETBITS(type,value,offset,length,bits) \
 | 
			
		||||
	(value = (((type)(value)) | (((bits) & STIO_LBMASK(type,length)) << (offset))))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/** 
 | 
			
		||||
 * The STIO_BITS_MAX() macros calculates the maximum value that the 'nbits'
 | 
			
		||||
 * bits of an unsigned integer of the given 'type' can hold.
 | 
			
		||||
 * \code
 | 
			
		||||
 * printf ("%u", STIO_BITS_MAX(unsigned int, 5));
 | 
			
		||||
 * \endcode
 | 
			
		||||
 */
 | 
			
		||||
/*#define STIO_BITS_MAX(type,nbits) ((((type)1) << (nbits)) - 1)*/
 | 
			
		||||
#define STIO_BITS_MAX(type,nbits) ((~(type)0) >> (STIO_SIZEOF(type) * 8 - (nbits)))
 | 
			
		||||
 | 
			
		||||
/* =========================================================================
 | 
			
		||||
 * MMGR
 | 
			
		||||
 * ========================================================================= */
 | 
			
		||||
typedef struct stio_mmgr_t stio_mmgr_t;
 | 
			
		||||
 | 
			
		||||
/** 
 | 
			
		||||
 * allocate a memory chunk of the size \a n.
 | 
			
		||||
 * \return pointer to a memory chunk on success, #STIO_NULL on failure.
 | 
			
		||||
 */
 | 
			
		||||
typedef void* (*stio_mmgr_alloc_t)   (stio_mmgr_t* mmgr, stio_size_t n);
 | 
			
		||||
/** 
 | 
			
		||||
 * resize a memory chunk pointed to by \a ptr to the size \a n.
 | 
			
		||||
 * \return pointer to a memory chunk on success, #STIO_NULL on failure.
 | 
			
		||||
 */
 | 
			
		||||
typedef void* (*stio_mmgr_realloc_t) (stio_mmgr_t* mmgr, void* ptr, stio_size_t n);
 | 
			
		||||
/**
 | 
			
		||||
 * free a memory chunk pointed to by \a ptr.
 | 
			
		||||
 */
 | 
			
		||||
typedef void  (*stio_mmgr_free_t)    (stio_mmgr_t* mmgr, void* ptr);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The stio_mmgr_t type defines the memory management interface.
 | 
			
		||||
 * As the type is merely a structure, it is just used as a single container
 | 
			
		||||
 * for memory management functions with a pointer to user-defined data. 
 | 
			
		||||
 * The user-defined data pointer \a ctx is passed to each memory management 
 | 
			
		||||
 * function whenever it is called. You can allocate, reallocate, and free 
 | 
			
		||||
 * a memory chunk.
 | 
			
		||||
 *
 | 
			
		||||
 * For example, a stio_xxx_open() function accepts a pointer of the stio_mmgr_t
 | 
			
		||||
 * type and the xxx object uses it to manage dynamic data within the object. 
 | 
			
		||||
 */
 | 
			
		||||
struct stio_mmgr_t
 | 
			
		||||
{
 | 
			
		||||
	stio_mmgr_alloc_t   alloc;   /**< allocation function */
 | 
			
		||||
	stio_mmgr_realloc_t realloc; /**< resizing function */
 | 
			
		||||
	stio_mmgr_free_t    free;    /**< disposal function */
 | 
			
		||||
	void*               ctx;     /**< user-defined data pointer */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The STIO_MMGR_ALLOC() macro allocates a memory block of the \a size bytes
 | 
			
		||||
 * using the \a mmgr memory manager.
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_MMGR_ALLOC(mmgr,size) ((mmgr)->alloc(mmgr,size))
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The STIO_MMGR_REALLOC() macro resizes a memory block pointed to by \a ptr 
 | 
			
		||||
 * to the \a size bytes using the \a mmgr memory manager.
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_MMGR_REALLOC(mmgr,ptr,size) ((mmgr)->realloc(mmgr,ptr,size))
 | 
			
		||||
 | 
			
		||||
/** 
 | 
			
		||||
 * The STIO_MMGR_FREE() macro deallocates the memory block pointed to by \a ptr.
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_MMGR_FREE(mmgr,ptr) ((mmgr)->free(mmgr,ptr))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* =========================================================================
 | 
			
		||||
 * MACROS THAT CHANGES THE BEHAVIORS OF THE C COMPILER/LINKER
 | 
			
		||||
 * =========================================================================*/
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32) || (defined(__WATCOMC__) && !defined(__WINDOWS_386__))
 | 
			
		||||
#	define STIO_IMPORT __declspec(dllimport)
 | 
			
		||||
#	define STIO_EXPORT __declspec(dllexport)
 | 
			
		||||
#	define STIO_PRIVATE 
 | 
			
		||||
#elif defined(__GNUC__) && (__GNUC__>=4)
 | 
			
		||||
#	define STIO_IMPORT __attribute__((visibility("default")))
 | 
			
		||||
#	define STIO_EXPORT __attribute__((visibility("default")))
 | 
			
		||||
#	define STIO_PRIVATE __attribute__((visibility("hidden")))
 | 
			
		||||
/*#	define STIO_PRIVATE __attribute__((visibility("internal")))*/
 | 
			
		||||
#else
 | 
			
		||||
#	define STIO_IMPORT
 | 
			
		||||
#	define STIO_EXPORT
 | 
			
		||||
#	define STIO_PRIVATE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__>=199901L)
 | 
			
		||||
#	define STIO_INLINE inline
 | 
			
		||||
#	define STIO_HAVE_INLINE
 | 
			
		||||
#elif defined(__GNUC__) && defined(__GNUC_GNU_INLINE__)
 | 
			
		||||
		/* gcc disables inline when -std=c89 or -ansi is used. 
 | 
			
		||||
		 * so use __inline__ supported by gcc regardless of the options */
 | 
			
		||||
#	define STIO_INLINE /*extern*/ __inline__
 | 
			
		||||
#	define STIO_HAVE_INLINE
 | 
			
		||||
#else
 | 
			
		||||
#	define STIO_INLINE 
 | 
			
		||||
#	undef STIO_HAVE_INLINE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The STIO_TYPE_IS_SIGNED() macro determines if a type is signed.
 | 
			
		||||
 * \code
 | 
			
		||||
 * printf ("%d\n", (int)STIO_TYPE_IS_SIGNED(int));
 | 
			
		||||
 * printf ("%d\n", (int)STIO_TYPE_IS_SIGNED(unsigned int));
 | 
			
		||||
 * \endcode
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_TYPE_IS_SIGNED(type) (((type)0) > ((type)-1))
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The STIO_TYPE_IS_SIGNED() macro determines if a type is unsigned.
 | 
			
		||||
 * \code
 | 
			
		||||
 * printf ("%d\n", STIO_TYPE_IS_UNSIGNED(int));
 | 
			
		||||
 * printf ("%d\n", STIO_TYPE_IS_UNSIGNED(unsigned int));
 | 
			
		||||
 * \endcode
 | 
			
		||||
 */
 | 
			
		||||
#define STIO_TYPE_IS_UNSIGNED(type) (((type)0) < ((type)-1))
 | 
			
		||||
 | 
			
		||||
#define STIO_TYPE_SIGNED_MAX(type) \
 | 
			
		||||
	((type)~((type)1 << ((type)STIO_SIZEOF(type) * 8 - 1)))
 | 
			
		||||
#define STIO_TYPE_UNSIGNED_MAX(type) ((type)(~(type)0))
 | 
			
		||||
 | 
			
		||||
#define STIO_TYPE_SIGNED_MIN(type) \
 | 
			
		||||
	((type)((type)1 << ((type)STIO_SIZEOF(type) * 8 - 1)))
 | 
			
		||||
#define STIO_TYPE_UNSIGNED_MIN(type) ((type)0)
 | 
			
		||||
 | 
			
		||||
#define STIO_TYPE_MAX(type) \
 | 
			
		||||
	((STIO_TYPE_IS_SIGNED(type)? STIO_TYPE_SIGNED_MAX(type): STIO_TYPE_UNSIGNED_MAX(type)))
 | 
			
		||||
#define STIO_TYPE_MIN(type) \
 | 
			
		||||
	((STIO_TYPE_IS_SIGNED(type)? STIO_TYPE_SIGNED_MIN(type): STIO_TYPE_UNSIGNED_MIN(type)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* =========================================================================
 | 
			
		||||
 * COMPILER FEATURE TEST MACROS
 | 
			
		||||
 * =========================================================================*/
 | 
			
		||||
#if defined(__has_builtin)
 | 
			
		||||
	#if __has_builtin(__builtin_ctz)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_CTZ
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
	#if __has_builtin(__builtin_uadd_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UADD_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_uaddl_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UADDL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_uaddll_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UADDLL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_umul_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UMUL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_umull_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UMULL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_umulll_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UMULLL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
	#if __has_builtin(__builtin_sadd_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SADD_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_saddl_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SADDL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_saddll_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SADDLL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_smul_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SMUL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_smull_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SMULL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
	#if __has_builtin(__builtin_smulll_overflow)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SMULLL_OVERFLOW 
 | 
			
		||||
	#endif
 | 
			
		||||
#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
 | 
			
		||||
 | 
			
		||||
	#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_CTZ
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
	#if (__GNUC__ >= 5)
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UADD_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UADDL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UADDLL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UMUL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UMULL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_UMULLL_OVERFLOW
 | 
			
		||||
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SADD_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SADDL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SADDLL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SMUL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SMULL_OVERFLOW
 | 
			
		||||
		#define STIO_HAVE_BUILTIN_SMULLL_OVERFLOW
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#if !defined(__has_builtin)
 | 
			
		||||
	#define __has_builtin(x) 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if !defined(__is_identifier)
 | 
			
		||||
	#define __is_identifier(x) 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(__has_attribute)
 | 
			
		||||
	#define __has_attribute(x) 0
 | 
			
		||||
#endif
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@ -28,8 +28,47 @@
 | 
			
		||||
#define _STIO_PRV_H_
 | 
			
		||||
 | 
			
		||||
#include "stio.h"
 | 
			
		||||
#include "stio-tim.h"
 | 
			
		||||
 | 
			
		||||
#include <sys/epoll.h>
 | 
			
		||||
 | 
			
		||||
/*TODO: redefine and remove these */
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
/*TODO: redefine these */
 | 
			
		||||
#define STIO_MEMSET(dst,byte,count) memset(dst,byte,count)
 | 
			
		||||
#define STIO_MEMCPY(dst,src,count) memcpy(dst,src,count)
 | 
			
		||||
#define STIO_MEMMOVE(dst,src,count) memmove(dst,src,count)
 | 
			
		||||
#define STIO_ASSERT assert
 | 
			
		||||
 | 
			
		||||
typedef struct stio_tmrjob_t stio_tmrjob_t;
 | 
			
		||||
typedef stio_size_t stio_tmridx_t;
 | 
			
		||||
 | 
			
		||||
typedef void (*stio_tmr_handler_t) (
 | 
			
		||||
	stio_t*             stio,
 | 
			
		||||
	const stio_ntime_t* now, 
 | 
			
		||||
	stio_tmrjob_t*      evt
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
typedef void (*stio_updtmrjobr_t) (
 | 
			
		||||
	stio_t*         stio,
 | 
			
		||||
	stio_tmridx_t   old_index,
 | 
			
		||||
	stio_tmridx_t   new_index,
 | 
			
		||||
	stio_tmrjob_t*  evt
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
struct stio_tmrjob_t
 | 
			
		||||
{
 | 
			
		||||
	void*               ctx;
 | 
			
		||||
	stio_ntime_t        when;
 | 
			
		||||
	stio_tmr_handler_t  handler;
 | 
			
		||||
	stio_updtmrjobr_t   updater;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define STIO_TMRIDX_INVALID ((stio_tmridx_t)-1)
 | 
			
		||||
 | 
			
		||||
struct stio_t
 | 
			
		||||
{
 | 
			
		||||
	stio_mmgr_t* mmgr;
 | 
			
		||||
@ -42,9 +81,16 @@ struct stio_t
 | 
			
		||||
		stio_dev_t* tail;
 | 
			
		||||
	} dev;
 | 
			
		||||
 | 
			
		||||
	stio_uint8_t bigbuf[65535]; /* make this dynamic depending on devices added. device may indicate a buffer size required??? */
 | 
			
		||||
	stio_uint8_t bigbuf[65535]; /* TODO: make this dynamic depending on devices added. device may indicate a buffer size required??? */
 | 
			
		||||
 | 
			
		||||
	struct
 | 
			
		||||
	{
 | 
			
		||||
		stio_size_t     capa;
 | 
			
		||||
		stio_size_t     size;
 | 
			
		||||
		stio_tmrjob_t*  jobs;
 | 
			
		||||
	} tmr;
 | 
			
		||||
 | 
			
		||||
	/* platform specific fields below */
 | 
			
		||||
#if defined(_WIN32)
 | 
			
		||||
	HANDLE iocp;
 | 
			
		||||
#else
 | 
			
		||||
@ -64,6 +110,52 @@ int stio_makesckasync (stio_sckhnd_t sck);
 | 
			
		||||
 | 
			
		||||
int stio_getsckadrinfo (stio_t* stio, const stio_sckadr_t* addr, stio_scklen_t* len, stio_sckfam_t* family);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The stio_instmrjob() function schedules a new event.
 | 
			
		||||
 *
 | 
			
		||||
 * \return #STIO_TMRIDX_INVALID on failure, valid index on success.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
stio_tmridx_t stio_instmrjob (
 | 
			
		||||
	stio_t*              stio,
 | 
			
		||||
	const stio_tmrjob_t* job
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
stio_tmridx_t stio_updtmrjob (
 | 
			
		||||
	stio_t*              stio,
 | 
			
		||||
	stio_tmridx_t        index,
 | 
			
		||||
	const stio_tmrjob_t* job
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_deltmrjob (
 | 
			
		||||
	stio_t*          stio,
 | 
			
		||||
	stio_tmridx_t    index
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_cleartmrjobs (
 | 
			
		||||
	stio_t* stio
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
stio_size_t stio_firetmrjobs (
 | 
			
		||||
	stio_t*             stio,
 | 
			
		||||
	const stio_ntime_t* tm
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_gettmrtmout (
 | 
			
		||||
	stio_t*             stio,
 | 
			
		||||
	const stio_ntime_t* tm,
 | 
			
		||||
	stio_ntime_t*       tmout
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The stio_gettmrjob() function returns the
 | 
			
		||||
 * pointer to the registered event at the given index.
 | 
			
		||||
 */
 | 
			
		||||
stio_tmrjob_t* stio_gettmrjob (
 | 
			
		||||
	stio_t*            stio,
 | 
			
		||||
	stio_tmridx_t   index
 | 
			
		||||
);
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,6 @@
 | 
			
		||||
#include <arpa/inet.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static int tcp_make (stio_dev_t* dev, void* ctx)
 | 
			
		||||
{
 | 
			
		||||
/* NOTE: this can be extended to use ctx to tell between INET and INET6 or other types of sockets without creating a new dev method set. */
 | 
			
		||||
@ -131,7 +130,7 @@ static int tcp_send (stio_dev_t* dev, const void* data, stio_len_t* len)
 | 
			
		||||
	ssize_t x;
 | 
			
		||||
	int flags = 0;
 | 
			
		||||
	
 | 
			
		||||
/* flags MSG_DONTROUTE, MSG_DONTWAIT, MSG_MORE, MSG_OOB, MSG_NOSIGNAL */
 | 
			
		||||
	/* TODO: flags MSG_DONTROUTE, MSG_DONTWAIT, MSG_MORE, MSG_OOB, MSG_NOSIGNAL */
 | 
			
		||||
#if defined(MSG_NOSIGNAL)
 | 
			
		||||
	flags |= MSG_NOSIGNAL;
 | 
			
		||||
#endif
 | 
			
		||||
@ -143,17 +142,29 @@ static int tcp_send (stio_dev_t* dev, const void* data, stio_len_t* len)
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/***************/
 | 
			
		||||
{
 | 
			
		||||
static int x = 0;
 | 
			
		||||
if (x <= 2) { x++;  return 0; }
 | 
			
		||||
}
 | 
			
		||||
/***************/
 | 
			
		||||
 | 
			
		||||
	*len = x;
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void tmr_connect_handle (stio_t* stio, const stio_ntime_t* now, stio_tmrjob_t* job)
 | 
			
		||||
{
 | 
			
		||||
	stio_dev_tcp_t* tcp = (stio_dev_tcp_t*)job->ctx;
 | 
			
		||||
 | 
			
		||||
	if (tcp->state & STIO_DEV_TCP_CONNECTING)
 | 
			
		||||
	{
 | 
			
		||||
		/* the state check is actually redundant as it must not be fired 
 | 
			
		||||
		 * after it gets connected. the timer job doesn't need to be deleted
 | 
			
		||||
		 * when it gets connected for this check here */
 | 
			
		||||
		if (tcp->on_disconnected) tcp->on_disconnected (tcp);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void tmr_connect_update (stio_t* stio, stio_tmridx_t old_index, stio_tmridx_t new_index, stio_tmrjob_t* job)
 | 
			
		||||
{
 | 
			
		||||
	stio_dev_tcp_t* tcp = (stio_dev_tcp_t*)job->ctx;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static int tcp_ioctl (stio_dev_t* dev, int cmd, void* arg)
 | 
			
		||||
{
 | 
			
		||||
	stio_dev_tcp_t* tcp = (stio_dev_tcp_t*)dev;
 | 
			
		||||
@ -212,8 +223,23 @@ static int tcp_ioctl (stio_dev_t* dev, int cmd, void* arg)
 | 
			
		||||
			{
 | 
			
		||||
				if (errno == EINPROGRESS || errno == EWOULDBLOCK)
 | 
			
		||||
				{
 | 
			
		||||
					if (stio_dev_event ((stio_dev_t*)tcp, STIO_DEV_EVENT_MOD, STIO_DEV_EVENT_IN | STIO_DEV_EVENT_OUT) >= 0)
 | 
			
		||||
					if (stio_dev_event ((stio_dev_t*)tcp, STIO_DEV_EVENT_UPD, STIO_DEV_EVENT_IN | STIO_DEV_EVENT_OUT) >= 0)
 | 
			
		||||
					{
 | 
			
		||||
						stio_tmrjob_t tmrjob;
 | 
			
		||||
 | 
			
		||||
						if (!stio_iszerotime(&conn->timeout))
 | 
			
		||||
						{
 | 
			
		||||
							STIO_MEMSET (&tmrjob, 0, STIO_SIZEOF(tmrjob));
 | 
			
		||||
							tmrjob.ctx = tcp;
 | 
			
		||||
							tmrjob.when = conn->timeout;
 | 
			
		||||
							tmrjob.handler = tmr_connect_handle;
 | 
			
		||||
							tmrjob.updater = tmr_connect_update;
 | 
			
		||||
							if (stio_instmrjob (tcp->stio, &tmrjob) == STIO_TMRIDX_INVALID) 
 | 
			
		||||
							{
 | 
			
		||||
								return -1;
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						tcp->state |= STIO_DEV_TCP_CONNECTING;
 | 
			
		||||
						tcp->peer = conn->addr;
 | 
			
		||||
						tcp->on_connected = conn->on_connected;
 | 
			
		||||
@ -324,7 +350,8 @@ printf ("TCP READY...%p\n", dev);
 | 
			
		||||
				tcp->state &= ~STIO_DEV_TCP_CONNECTING;
 | 
			
		||||
				tcp->state |= STIO_DEV_TCP_CONNECTED;
 | 
			
		||||
 | 
			
		||||
				if (stio_dev_event ((stio_dev_t*)tcp, STIO_DEV_EVENT_MOD, STIO_DEV_EVENT_IN) <= -1)
 | 
			
		||||
				if (stio_dev_event ((stio_dev_t*)tcp, STIO_DEV_EVENT_UPD, STIO_DEV_EVENT_IN) <= -1)
 | 
			
		||||
				if (stio_dev_event ((stio_dev_t*)tcp, STIO_DEV_EVENT_UPD, STIO_DEV_EVENT_IN) <= -1)
 | 
			
		||||
				{
 | 
			
		||||
					printf ("CAANOT MANIPULTE EVENT ...\n");
 | 
			
		||||
					return -1;
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@
 | 
			
		||||
#define _STIO_TCP_H_
 | 
			
		||||
 | 
			
		||||
#include <stio.h>
 | 
			
		||||
#include <stio-tim.h>
 | 
			
		||||
 | 
			
		||||
enum stio_dev_tcp_ioctl_cmd_t
 | 
			
		||||
{
 | 
			
		||||
@ -94,7 +95,7 @@ struct stio_dev_tcp_make_t
 | 
			
		||||
typedef struct stio_dev_tcp_bind_t stio_dev_tcp_bind_t;
 | 
			
		||||
struct stio_dev_tcp_bind_t
 | 
			
		||||
{
 | 
			
		||||
	int options; /* TODO: REUSEADDR , TRANSPARENT, etc  or someting?? */
 | 
			
		||||
	int opts; /* TODO: REUSEADDR , TRANSPARENT, etc  or someting?? */
 | 
			
		||||
	stio_sckadr_t addr;
 | 
			
		||||
	/* TODO: add device name for BIND_TO_DEVICE */
 | 
			
		||||
};
 | 
			
		||||
@ -103,10 +104,9 @@ typedef struct stio_dev_tcp_connect_t stio_dev_tcp_connect_t;
 | 
			
		||||
struct stio_dev_tcp_connect_t
 | 
			
		||||
{
 | 
			
		||||
	stio_sckadr_t addr;
 | 
			
		||||
/* TODO: add timeout */
 | 
			
		||||
	stio_ntime_t timeout; /* connect timeout */
 | 
			
		||||
	stio_dev_tcp_on_connected_t on_connected;
 | 
			
		||||
	stio_dev_tcp_on_disconnected_t on_disconnected;
 | 
			
		||||
	/* stio_dev_tcp_on_timeout_t on_timeout; should the timeout handler be here? what about write timeout? or accept timeout? */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct stio_dev_tcp_listen_t stio_dev_tcp_listen_t;
 | 
			
		||||
@ -130,31 +130,31 @@ struct stio_dev_tcp_accept_t
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
stio_dev_tcp_t* stio_dev_tcp_make (
 | 
			
		||||
STIO_EXPORT  stio_dev_tcp_t* stio_dev_tcp_make (
 | 
			
		||||
	stio_t*                    stio,
 | 
			
		||||
	stio_size_t                xtnsize,
 | 
			
		||||
	const stio_dev_tcp_make_t* data
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_dev_tcp_kill (
 | 
			
		||||
STIO_EXPORT void stio_dev_tcp_kill (
 | 
			
		||||
	stio_dev_tcp_t* tcp
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_dev_tcp_bind (
 | 
			
		||||
STIO_EXPORT int stio_dev_tcp_bind (
 | 
			
		||||
	stio_dev_tcp_t*         tcp,
 | 
			
		||||
	stio_dev_tcp_bind_t*    bind
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_dev_tcp_connect (
 | 
			
		||||
STIO_EXPORT int stio_dev_tcp_connect (
 | 
			
		||||
	stio_dev_tcp_t*         tcp,
 | 
			
		||||
	stio_dev_tcp_connect_t* conn);
 | 
			
		||||
 | 
			
		||||
int stio_dev_tcp_listen (
 | 
			
		||||
STIO_EXPORT int stio_dev_tcp_listen (
 | 
			
		||||
	stio_dev_tcp_t*         tcp,
 | 
			
		||||
	stio_dev_tcp_listen_t*  lstn
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_dev_tcp_send (
 | 
			
		||||
STIO_EXPORT int stio_dev_tcp_send (
 | 
			
		||||
	stio_dev_tcp_t*  tcp,
 | 
			
		||||
	const void*      data,
 | 
			
		||||
	stio_len_t       len,
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										223
									
								
								stio/lib/stio-tmr.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										223
									
								
								stio/lib/stio-tmr.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,223 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id$
 | 
			
		||||
 *
 | 
			
		||||
    Copyright (c) 2015-2016 Chung, Hyung-Hwan. All rights reserved.
 | 
			
		||||
 | 
			
		||||
    Redistribution and use in source and binary forms, with or without
 | 
			
		||||
    modification, are permitted provided that the following conditions
 | 
			
		||||
    are met:
 | 
			
		||||
    1. Redistributions of source code must retain the above copyright
 | 
			
		||||
       notice, this list of conditions and the following disclaimer.
 | 
			
		||||
    2. Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
       notice, this list of conditions and the following disclaimer in the
 | 
			
		||||
       documentation and/or other materials provided with the distribution.
 | 
			
		||||
 | 
			
		||||
    THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
 | 
			
		||||
    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
 | 
			
		||||
    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 | 
			
		||||
    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 | 
			
		||||
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 | 
			
		||||
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
			
		||||
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 | 
			
		||||
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "stio-prv.h"
 | 
			
		||||
 | 
			
		||||
#define HEAP_PARENT(x) (((x) - 1) / 2)
 | 
			
		||||
#define HEAP_LEFT(x)   ((x) * 2 + 1)
 | 
			
		||||
#define HEAP_RIGHT(x)  ((x) * 2 + 2)
 | 
			
		||||
 | 
			
		||||
#define YOUNGER_THAN(x,y) (stio_cmptime(&(x)->when, &(y)->when) < 0)
 | 
			
		||||
 | 
			
		||||
void stio_cleartmrjobs (stio_t* stio)
 | 
			
		||||
{
 | 
			
		||||
	while (stio->tmr.size > 0) stio_deltmrjob (stio, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static stio_tmridx_t sift_up (stio_t* stio, stio_tmridx_t index, int notify)
 | 
			
		||||
{
 | 
			
		||||
	stio_size_t parent;
 | 
			
		||||
 | 
			
		||||
	parent = HEAP_PARENT(index);
 | 
			
		||||
	if (index > 0 && YOUNGER_THAN(&stio->tmr.jobs[index], &stio->tmr.jobs[parent]))
 | 
			
		||||
	{
 | 
			
		||||
		stio_tmrjob_t item;
 | 
			
		||||
		stio_size_t old_index;
 | 
			
		||||
 | 
			
		||||
		item = stio->tmr.jobs[index]; 
 | 
			
		||||
		old_index = index;
 | 
			
		||||
 | 
			
		||||
		do
 | 
			
		||||
		{
 | 
			
		||||
			/* move down the parent to my current position */
 | 
			
		||||
			stio->tmr.jobs[index] = stio->tmr.jobs[parent];
 | 
			
		||||
			stio->tmr.jobs[index].updater (stio, parent, index, &stio->tmr.jobs[index]);
 | 
			
		||||
 | 
			
		||||
			/* traverse up */
 | 
			
		||||
			index = parent;
 | 
			
		||||
			parent = HEAP_PARENT(parent);
 | 
			
		||||
		}
 | 
			
		||||
		while (index > 0 && YOUNGER_THAN(&item, &stio->tmr.jobs[parent]));
 | 
			
		||||
 | 
			
		||||
		/* we send no notification if the item is added with stio_instmrjob()
 | 
			
		||||
		 * or updated with stio_updtmrjob(). the caller of these functions
 | 
			
		||||
		 * must rely on the return value. */
 | 
			
		||||
		stio->tmr.jobs[index] = item;
 | 
			
		||||
		if (notify && index != old_index)
 | 
			
		||||
			stio->tmr.jobs[index].updater (stio, old_index, index, &stio->tmr.jobs[index]);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static stio_tmridx_t sift_down (stio_t* stio, stio_tmridx_t index, int notify)
 | 
			
		||||
{
 | 
			
		||||
	stio_size_t base = stio->tmr.size / 2;
 | 
			
		||||
 | 
			
		||||
	if (index < base) /* at least 1 child is under the 'index' positmrn */
 | 
			
		||||
	{
 | 
			
		||||
		stio_tmrjob_t item;
 | 
			
		||||
		stio_size_t old_index;
 | 
			
		||||
 | 
			
		||||
		item = stio->tmr.jobs[index];
 | 
			
		||||
		old_index = index;
 | 
			
		||||
 | 
			
		||||
		do
 | 
			
		||||
		{
 | 
			
		||||
			stio_size_t left, right, younger;
 | 
			
		||||
 | 
			
		||||
			left= HEAP_LEFT(index);
 | 
			
		||||
			right = HEAP_RIGHT(index);
 | 
			
		||||
 | 
			
		||||
			if (right < stio->tmr.size && YOUNGER_THAN(&stio->tmr.jobs[right], &stio->tmr.jobs[left]))
 | 
			
		||||
			{
 | 
			
		||||
				younger = right;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				younger = left;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (YOUNGER_THAN(&item, &stio->tmr.jobs[younger])) break;
 | 
			
		||||
 | 
			
		||||
			stio->tmr.jobs[index] = stio->tmr.jobs[younger];
 | 
			
		||||
			stio->tmr.jobs[index].updater (stio, younger, index, &stio->tmr.jobs[index]);
 | 
			
		||||
 | 
			
		||||
			index = younger;
 | 
			
		||||
		}
 | 
			
		||||
		while (index < base);
 | 
			
		||||
		
 | 
			
		||||
		stio->tmr.jobs[index] = item;
 | 
			
		||||
		if (notify && index != old_index)
 | 
			
		||||
			stio->tmr.jobs[index].updater (stio, old_index, index, &stio->tmr.jobs[index]);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void stio_deltmrjob (stio_t* stio, stio_tmridx_t index)
 | 
			
		||||
{
 | 
			
		||||
	stio_tmrjob_t item;
 | 
			
		||||
 | 
			
		||||
	STIO_ASSERT (index < stio->tmr.size);
 | 
			
		||||
 | 
			
		||||
	item = stio->tmr.jobs[index];
 | 
			
		||||
	stio->tmr.jobs[index].updater (stio, index, STIO_TMRIDX_INVALID, &stio->tmr.jobs[index]);
 | 
			
		||||
 | 
			
		||||
	stio->tmr.size = stio->tmr.size - 1;
 | 
			
		||||
	if (stio->tmr.size > 0 && index != stio->tmr.size)
 | 
			
		||||
	{
 | 
			
		||||
		stio->tmr.jobs[index] = stio->tmr.jobs[stio->tmr.size];
 | 
			
		||||
		stio->tmr.jobs[index].updater (stio, stio->tmr.size, index, &stio->tmr.jobs[index]);
 | 
			
		||||
		YOUNGER_THAN(&stio->tmr.jobs[index], &item)? sift_up(stio, index, 1): sift_down(stio, index, 1);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stio_tmridx_t stio_instmrjob (stio_t* stio, const stio_tmrjob_t* job)
 | 
			
		||||
{
 | 
			
		||||
	stio_tmridx_t index = stio->tmr.size;
 | 
			
		||||
 | 
			
		||||
	if (index >= stio->tmr.capa)
 | 
			
		||||
	{
 | 
			
		||||
		stio_tmrjob_t* tmp;
 | 
			
		||||
		stio_size_t new_capa;
 | 
			
		||||
 | 
			
		||||
		STIO_ASSERT (stio->tmr.capa >= 1);
 | 
			
		||||
		new_capa = stio->tmr.capa * 2;
 | 
			
		||||
		tmp = (stio_tmrjob_t*)STIO_MMGR_REALLOC (stio->mmgr, stio->tmr.jobs, new_capa * STIO_SIZEOF(*tmp));
 | 
			
		||||
		if (tmp == STIO_NULL) 
 | 
			
		||||
		{
 | 
			
		||||
			stio->errnum = STIO_ENOMEM;
 | 
			
		||||
			return STIO_TMRIDX_INVALID;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		stio->tmr.jobs = tmp;
 | 
			
		||||
		stio->tmr.capa = new_capa;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	stio->tmr.size = stio->tmr.size + 1;
 | 
			
		||||
	stio->tmr.jobs[index] = *job;
 | 
			
		||||
	return sift_up (stio, index, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stio_tmridx_t stio_updtmrjob (stio_t* stio, stio_size_t index, const stio_tmrjob_t* job)
 | 
			
		||||
{
 | 
			
		||||
	stio_tmrjob_t item;
 | 
			
		||||
	item = stio->tmr.jobs[index];
 | 
			
		||||
	stio->tmr.jobs[index] = *job;
 | 
			
		||||
	return YOUNGER_THAN(job, &item)? sift_up (stio, index, 0): sift_down (stio, index, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stio_size_t stio_firetmrjobs (stio_t* stio, const stio_ntime_t* tm)
 | 
			
		||||
{
 | 
			
		||||
	stio_ntime_t now;
 | 
			
		||||
	stio_tmrjob_t event;
 | 
			
		||||
	stio_size_t fire_count = 0;
 | 
			
		||||
 | 
			
		||||
	/* if the current time is not specified, get it from the system */
 | 
			
		||||
	if (tm) now = *tm;
 | 
			
		||||
	else if (stio_gettime (&now) <= -1) return -1;
 | 
			
		||||
 | 
			
		||||
	while (stio->tmr.size > 0)
 | 
			
		||||
	{
 | 
			
		||||
		if (stio_cmptime(&stio->tmr.jobs[0].when, &now) > 0) break;
 | 
			
		||||
 | 
			
		||||
		event = stio->tmr.jobs[0];
 | 
			
		||||
		stio_deltmrjob (stio, 0); /* remove the registered event structure */
 | 
			
		||||
 | 
			
		||||
		fire_count++;
 | 
			
		||||
		event.handler (stio, &now, &event); /* then fire the event */
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return fire_count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int stio_gettmrtmout (stio_t* stio, const stio_ntime_t* tm, stio_ntime_t* tmout)
 | 
			
		||||
{
 | 
			
		||||
	stio_ntime_t now;
 | 
			
		||||
 | 
			
		||||
	/* time-out can't be calculated when there's no event scheduled */
 | 
			
		||||
	if (stio->tmr.size <= 0) 
 | 
			
		||||
	{
 | 
			
		||||
		stio->errnum = STIO_ENOENT;
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* if the current time is not specified, get it from the system */
 | 
			
		||||
	if (tm) now = *tm;
 | 
			
		||||
	else if (stio_gettime (&now) <= -1) return -1;
 | 
			
		||||
 | 
			
		||||
	stio_subtime (&stio->tmr.jobs[0].when, &now, tmout);
 | 
			
		||||
	if (tmout->sec < 0) stio_cleartime (tmout);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stio_tmrjob_t* stio_gettmrjob (stio_t* stio, stio_tmridx_t index)
 | 
			
		||||
{
 | 
			
		||||
	return (index < 0 || index >= stio->tmr.size)? STIO_NULL: &stio->tmr.jobs[index];
 | 
			
		||||
}
 | 
			
		||||
@ -45,13 +45,13 @@ extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
stio_dev_udp_t* stio_dev_udp_make (
 | 
			
		||||
STIO_EXPORT stio_dev_udp_t* stio_dev_udp_make (
 | 
			
		||||
	stio_t*        stio,
 | 
			
		||||
	stio_size_t    xtnsize,
 | 
			
		||||
	stio_sckadr_t* addr
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_dev_udp_kill (
 | 
			
		||||
STIO_EXPORT void stio_dev_udp_kill (
 | 
			
		||||
	stio_dev_udp_t* udp
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										175
									
								
								stio/lib/stio.c
									
									
									
									
									
								
							
							
						
						
									
										175
									
								
								stio/lib/stio.c
									
									
									
									
									
								
							@ -32,26 +32,27 @@
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
 | 
			
		||||
stio_t* stio_open (stio_mmgr_t* mmgr, stio_size_t xtnsize, stio_errnum_t* errnum)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
stio_t* stio_open (stio_mmgr_t* mmgr, stio_size_t xtnsize, stio_size_t tmrcapa, stio_errnum_t* errnum)
 | 
			
		||||
{
 | 
			
		||||
	stio_t* stio;
 | 
			
		||||
 | 
			
		||||
	stio = STIO_MMGR_ALLOC (mmgr, STIO_SIZEOF(*stio));
 | 
			
		||||
	if (!stio) 
 | 
			
		||||
	stio = STIO_MMGR_ALLOC (mmgr, STIO_SIZEOF(stio_t) + xtnsize);
 | 
			
		||||
	if (stio)
 | 
			
		||||
	{
 | 
			
		||||
		if (stio_init (stio, mmgr, tmrcapa) <= -1)
 | 
			
		||||
		{
 | 
			
		||||
			if (errnum) *errnum = stio->errnum;
 | 
			
		||||
			STIO_MMGR_FREE (mmgr, stio);
 | 
			
		||||
			stio = STIO_NULL;
 | 
			
		||||
		}
 | 
			
		||||
		else STIO_MEMSET (stio + 1, 0, xtnsize);
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		if (errnum) *errnum = STIO_ENOMEM;
 | 
			
		||||
		return STIO_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	STIO_MEMSET (stio, 0, STIO_SIZEOF(*stio));
 | 
			
		||||
	stio->mmgr = mmgr;
 | 
			
		||||
 | 
			
		||||
	stio->mux = epoll_create (1000);
 | 
			
		||||
	if (stio->mux == -1)
 | 
			
		||||
	{
 | 
			
		||||
		//if (errnum) *errnum = XXXXX
 | 
			
		||||
		STIO_MMGR_FREE (stio->mmgr, stio);
 | 
			
		||||
		return STIO_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return stio;
 | 
			
		||||
@ -59,13 +60,52 @@ stio_t* stio_open (stio_mmgr_t* mmgr, stio_size_t xtnsize, stio_errnum_t* errnum
 | 
			
		||||
 | 
			
		||||
void stio_close (stio_t* stio)
 | 
			
		||||
{
 | 
			
		||||
	stio_fini (stio);
 | 
			
		||||
	STIO_MMGR_FREE (stio->mmgr, stio);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int stio_init (stio_t* stio, stio_mmgr_t* mmgr, stio_size_t tmrcapa)
 | 
			
		||||
{
 | 
			
		||||
	STIO_MEMSET (stio, 0, STIO_SIZEOF(*stio));
 | 
			
		||||
	stio->mmgr = mmgr;
 | 
			
		||||
 | 
			
		||||
	/* intialize the multiplexer object */
 | 
			
		||||
	stio->mux = epoll_create (1000);
 | 
			
		||||
	if (stio->mux == -1)
 | 
			
		||||
	{
 | 
			
		||||
/* TODO: set error number */
 | 
			
		||||
		//if (stio->errnum) *errnum = XXXXX
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* initialize the timer object */
 | 
			
		||||
	if (tmrcapa <= 0) tmrcapa = 1;
 | 
			
		||||
	stio->tmr.jobs = STIO_MMGR_ALLOC (stio->mmgr, tmrcapa * STIO_SIZEOF(stio_tmrjob_t));
 | 
			
		||||
	if (!stio->tmr.jobs) 
 | 
			
		||||
	{
 | 
			
		||||
		stio->errnum = STIO_ENOMEM;
 | 
			
		||||
		close (stio->mux);
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
	stio->tmr.capa = tmrcapa;
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void stio_fini (stio_t* stio)
 | 
			
		||||
{
 | 
			
		||||
	/* kill all registered devices */
 | 
			
		||||
	while (stio->dev.tail)
 | 
			
		||||
	{
 | 
			
		||||
		stio_killdev (stio, stio->dev.tail);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* purge scheduled timer jobs and kill the timer */
 | 
			
		||||
	stio_cleartmrjobs (stio);
 | 
			
		||||
	STIO_MMGR_FREE (stio->mmgr, stio->tmr.jobs);
 | 
			
		||||
 | 
			
		||||
	/* close the multiplexer */
 | 
			
		||||
	close (stio->mux);
 | 
			
		||||
	STIO_MMGR_FREE (stio->mmgr, stio);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
stio_dev_t* stio_makedev (stio_t* stio, stio_size_t dev_size, stio_dev_mth_t* dev_mth, stio_dev_evcb_t* dev_evcb, void* make_ctx)
 | 
			
		||||
@ -156,18 +196,7 @@ printf ("DELETING UNSENT REQUETS...%p\n", wq);
 | 
			
		||||
	else
 | 
			
		||||
		stio->dev.tail = dev->prev;
 | 
			
		||||
 | 
			
		||||
	/* ------------------------------------ */
 | 
			
		||||
	{
 | 
			
		||||
	#if defined(_WIN32)
 | 
			
		||||
		/* nothing - can't deassociate it. closing the socket
 | 
			
		||||
		 * will do. kill should close it */
 | 
			
		||||
	#else
 | 
			
		||||
		struct epoll_event ev; /* dummy */
 | 
			
		||||
		epoll_ctl (stio->mux, EPOLL_CTL_DEL, dev->mth->getsyshnd(dev), &ev); 
 | 
			
		||||
		/* don't care about failure */
 | 
			
		||||
	#endif
 | 
			
		||||
	}
 | 
			
		||||
	/* ------------------------------------ */
 | 
			
		||||
	stio_dev_event (dev, STIO_DEV_EVENT_DEL, 0);
 | 
			
		||||
 | 
			
		||||
	/* and call the callback function */
 | 
			
		||||
	dev->mth->kill (dev);
 | 
			
		||||
@ -188,7 +217,7 @@ void stio_epilogue (stio_t* stio)
 | 
			
		||||
 | 
			
		||||
int stio_exec (stio_t* stio)
 | 
			
		||||
{
 | 
			
		||||
	int timeout;
 | 
			
		||||
	stio_ntime_t tmout;
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32)
 | 
			
		||||
	ULONG nentries, i;
 | 
			
		||||
@ -198,7 +227,14 @@ int stio_exec (stio_t* stio)
 | 
			
		||||
 | 
			
		||||
	/*if (!stio->dev.head) return 0;*/
 | 
			
		||||
 | 
			
		||||
	timeout = 1000; //TODO: get_timeout (stio); // use the task heap to get the timeout.
 | 
			
		||||
	
 | 
			
		||||
	if (stio_gettmrtmout (stio, STIO_NULL, &tmout) <= -1)
 | 
			
		||||
	{
 | 
			
		||||
		/* defaults to 1 second if timeout can't be acquired */
 | 
			
		||||
		tmout.sec = 1;
 | 
			
		||||
		tmout.nsec = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32)
 | 
			
		||||
/*
 | 
			
		||||
@ -214,14 +250,17 @@ int stio_exec (stio_t* stio)
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
	nentries = epoll_wait (stio->mux, stio->revs, STIO_COUNTOF(stio->revs), timeout);
 | 
			
		||||
	nentries = epoll_wait (stio->mux, stio->revs, STIO_COUNTOF(stio->revs), STIO_SECNSEC_TO_MSEC(tmout.sec, tmout.nsec));
 | 
			
		||||
	if (nentries <= -1)
 | 
			
		||||
	{
 | 
			
		||||
		if (errno == EINTR) return 0; /* it's actually ok */
 | 
			
		||||
 | 
			
		||||
		/* other errors are critical - EBADF, EFAULT, EINVAL */
 | 
			
		||||
		/* TODO: set errnum */
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* TODO: merge events??? for the same descriptor */
 | 
			
		||||
	for (i = 0; i < nentries; i++)
 | 
			
		||||
	{
 | 
			
		||||
		stio_dev_t* dev = stio->revs[i].data.ptr;
 | 
			
		||||
@ -257,7 +296,11 @@ int stio_exec (stio_t* stio)
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			int dev_eof;
 | 
			
		||||
 | 
			
		||||
		invoke_evcb:
 | 
			
		||||
 | 
			
		||||
			dev_eof = 0;
 | 
			
		||||
			if (dev && stio->revs[i].events & EPOLLPRI)
 | 
			
		||||
			{
 | 
			
		||||
				/* urgent data */
 | 
			
		||||
@ -269,29 +312,44 @@ int stio_exec (stio_t* stio)
 | 
			
		||||
				stio_len_t len;
 | 
			
		||||
				int x;
 | 
			
		||||
 | 
			
		||||
				len = STIO_COUNTOF(stio->bigbuf);
 | 
			
		||||
				x = dev->mth->recv (dev, stio->bigbuf, &len);
 | 
			
		||||
				/* the devices are all non-blocking. so read as much as possible */
 | 
			
		||||
				/* TODO: limit the number of iterations? */
 | 
			
		||||
				while (1)
 | 
			
		||||
				{
 | 
			
		||||
					len = STIO_COUNTOF(stio->bigbuf);
 | 
			
		||||
					x = dev->mth->recv (dev, stio->bigbuf, &len);
 | 
			
		||||
 | 
			
		||||
printf ("DATA...recv %d  length %d\n", (int)x, len);
 | 
			
		||||
				if (x <= -1)
 | 
			
		||||
				{
 | 
			
		||||
					/*TODO: waht to do? killdev? how to indicate an error? call on_recv? with erro rindicator?? */
 | 
			
		||||
					stio_killdev (stio, dev);
 | 
			
		||||
					dev = STIO_NULL;
 | 
			
		||||
				}
 | 
			
		||||
				else if (x == 0)
 | 
			
		||||
				{
 | 
			
		||||
					/* EOF received. kill the device. */
 | 
			
		||||
					stio_killdev (stio, dev);
 | 
			
		||||
					dev = STIO_NULL;
 | 
			
		||||
				}
 | 
			
		||||
				else if (x >= 1)
 | 
			
		||||
				{
 | 
			
		||||
					/* data available??? */
 | 
			
		||||
					if (dev->evcb->on_recv (dev, stio->bigbuf, len) <= -1)
 | 
			
		||||
	printf ("DATA...recv %d  length %d\n", (int)x, len);
 | 
			
		||||
					if (x <= -1)
 | 
			
		||||
					{
 | 
			
		||||
						/*TODO: what to do? killdev? how to indicate an error? call on_recv? with error indicator?? */
 | 
			
		||||
						stio_killdev (stio, dev);
 | 
			
		||||
						dev = STIO_NULL;
 | 
			
		||||
						break;
 | 
			
		||||
					}
 | 
			
		||||
					else if (x == 0)
 | 
			
		||||
					{
 | 
			
		||||
						/* no data is available */
 | 
			
		||||
						break;
 | 
			
		||||
					}
 | 
			
		||||
					else if (x >= 1)
 | 
			
		||||
					{
 | 
			
		||||
						if (len <= 0) 
 | 
			
		||||
						{
 | 
			
		||||
							/* EOF received. delay killing until output has been handled */
 | 
			
		||||
							dev_eof = 1;
 | 
			
		||||
							break;
 | 
			
		||||
						}
 | 
			
		||||
						else
 | 
			
		||||
						{
 | 
			
		||||
							/* data available */
 | 
			
		||||
							if (dev->evcb->on_recv (dev, stio->bigbuf, len) <= -1)
 | 
			
		||||
							{
 | 
			
		||||
								stio_killdev (stio, dev);
 | 
			
		||||
								dev = STIO_NULL;
 | 
			
		||||
								break;
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
@ -355,7 +413,7 @@ printf ("DATA...recv %d  length %d\n", (int)x, len);
 | 
			
		||||
				{
 | 
			
		||||
					/* no pending request to write. 
 | 
			
		||||
					 * watch input only. disable output watching */
 | 
			
		||||
					if (stio_dev_event (dev, STIO_DEV_EVENT_MOD, STIO_DEV_EVENT_IN) <= -1)
 | 
			
		||||
					if (stio_dev_event (dev, STIO_DEV_EVENT_UPD, STIO_DEV_EVENT_IN) <= -1)
 | 
			
		||||
					{
 | 
			
		||||
						/* TODO: call an error handler??? */
 | 
			
		||||
						stio_killdev (stio, dev);
 | 
			
		||||
@ -363,6 +421,13 @@ printf ("DATA...recv %d  length %d\n", (int)x, len);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (dev && dev_eof)
 | 
			
		||||
			{
 | 
			
		||||
				/* handled delayed device killing */
 | 
			
		||||
				stio_killdev (stio, dev);
 | 
			
		||||
				dev = STIO_NULL;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -426,12 +491,12 @@ int stio_dev_event (stio_dev_t* dev, stio_dev_event_cmd_t cmd, int flags)
 | 
			
		||||
			epoll_op = EPOLL_CTL_ADD;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case STIO_DEV_EVENT_MOD:
 | 
			
		||||
		case STIO_DEV_EVENT_UPD:
 | 
			
		||||
			epoll_op = EPOLL_CTL_MOD;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case STIO_DEV_EVENT_DEL:
 | 
			
		||||
			epoll_op = EPOLL_CTL_ADD;
 | 
			
		||||
			epoll_op = EPOLL_CTL_DEL;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		default:
 | 
			
		||||
@ -489,7 +554,7 @@ int stio_dev_send (stio_dev_t* dev, const void* data, stio_len_t len, void* send
 | 
			
		||||
			STIO_WQ_ENQ (&dev->wq, q);
 | 
			
		||||
			if (wq_empty)
 | 
			
		||||
			{
 | 
			
		||||
				if (stio_dev_event (dev, STIO_DEV_EVENT_MOD, STIO_DEV_EVENT_IN | STIO_DEV_EVENT_OUT) <= -1)
 | 
			
		||||
				if (stio_dev_event (dev, STIO_DEV_EVENT_UPD, STIO_DEV_EVENT_IN | STIO_DEV_EVENT_OUT) <= -1)
 | 
			
		||||
				{
 | 
			
		||||
					STIO_WQ_UNLINK (q); /* unlink the ENQed item */
 | 
			
		||||
					STIO_MMGR_FREE (dev->stio->mmgr, q);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										117
									
								
								stio/lib/stio.h
									
									
									
									
									
								
							
							
						
						
									
										117
									
								
								stio/lib/stio.h
									
									
									
									
									
								
							@ -27,68 +27,53 @@
 | 
			
		||||
#ifndef _STIO_H_
 | 
			
		||||
#define _STIO_H_
 | 
			
		||||
 | 
			
		||||
/* TODO: remove these headers */
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef signed char stio_int8_t;
 | 
			
		||||
typedef unsigned char stio_uint8_t;
 | 
			
		||||
typedef unsigned long stio_size_t;
 | 
			
		||||
#define STIO_MEMSET(dst,byte,count) memset(dst,byte,count)
 | 
			
		||||
#define STIO_MEMCPY(dst,src,count) memcpy(dst,src,count)
 | 
			
		||||
#define STIO_MEMMOVE(dst,src,count) memmove(dst,src,count)
 | 
			
		||||
#define STIO_ASSERT assert
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define STIO_SIZEOF(x) sizeof(x)
 | 
			
		||||
#define STIO_COUNTOF(x) (sizeof(x) / sizeof(x[0]))
 | 
			
		||||
#define STIO_NULL ((void*)0)
 | 
			
		||||
 | 
			
		||||
typedef struct stio_mmgr_t stio_mmgr_t;
 | 
			
		||||
 | 
			
		||||
typedef void* (*stio_mmgr_alloc_t) (stio_mmgr_t* mmgr, stio_size_t size);
 | 
			
		||||
typedef void (*stio_mmgr_free_t) (stio_mmgr_t* mmgr, void* ptr);
 | 
			
		||||
 | 
			
		||||
struct stio_mmgr_t
 | 
			
		||||
{
 | 
			
		||||
	stio_mmgr_alloc_t alloc;	
 | 
			
		||||
	stio_mmgr_free_t free;
 | 
			
		||||
	void* ctx;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define STIO_MMGR_ALLOC(mmgr,size) (mmgr)->alloc(mmgr,size)
 | 
			
		||||
#define STIO_MMGR_FREE(mmgr,ptr) (mmgr)->free(mmgr,ptr)
 | 
			
		||||
#include <stio-cmn.h>
 | 
			
		||||
 | 
			
		||||
struct stio_sckadr_t
 | 
			
		||||
{
 | 
			
		||||
	int family;
 | 
			
		||||
	stio_uint8_t data[64]; /* TODO: use the actual sockaddr size */
 | 
			
		||||
	stio_uint8_t data[128]; /* TODO: use the actual sockaddr size */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct stio_sckadr_t stio_sckadr_t;
 | 
			
		||||
 | 
			
		||||
#if (STIO_SIZEOF_SOCKLEN_T == STIO_SIZEOF_INT)
 | 
			
		||||
	#if defined(STIO_SOCKLEN_T_IS_SIGNED)
 | 
			
		||||
		typedef int stio_scklen_t;
 | 
			
		||||
	#else
 | 
			
		||||
		typedef unsigned int stio_scklen_t;
 | 
			
		||||
	#endif
 | 
			
		||||
#elif (STIO_SIZEOF_SOCKLEN_T == STIO_SIZEOF_LONG)
 | 
			
		||||
	#if defined(STIO_SOCKLEN_T_IS_SIGNED)
 | 
			
		||||
		typedef long stio_scklen_t;
 | 
			
		||||
	#else
 | 
			
		||||
		typedef unsigned long stio_scklen_t;
 | 
			
		||||
	#endif
 | 
			
		||||
#else
 | 
			
		||||
	typedef int stio_scklen_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32)
 | 
			
		||||
#	define STIO_IOCP_KEY 1
 | 
			
		||||
 | 
			
		||||
	typedef int stio_scklen_t;
 | 
			
		||||
	/*
 | 
			
		||||
	typedef HANDLE stio_syshnd_t;
 | 
			
		||||
	typedef SOCKET stio_sckhnd_t;
 | 
			
		||||
#	define STIO_SCKHND_INVALID (INVALID_SOCKET)
 | 
			
		||||
	*/
 | 
			
		||||
 | 
			
		||||
	typedef stio_uintptr_t qse_syshnd_t;
 | 
			
		||||
	typedef stio_uintptr_t qse_sckhnd_t;
 | 
			
		||||
#	define STIO_SCKHND_INVALID (~(qse_sck_hnd_t)0)
 | 
			
		||||
 | 
			
		||||
	typedef HANDLE stio_syshnd_t;
 | 
			
		||||
#else
 | 
			
		||||
	typedef socklen_t stio_scklen_t;
 | 
			
		||||
	typedef int stio_syshnd_t;
 | 
			
		||||
	typedef int stio_sckhnd_t;
 | 
			
		||||
#	define STIO_SCKHND_INVALID (-1)
 | 
			
		||||
 | 
			
		||||
	typedef int stio_syshnd_t;
 | 
			
		||||
	
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef int stio_sckfam_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* ------------------------------------------------------------------------- */
 | 
			
		||||
typedef struct stio_t stio_t;
 | 
			
		||||
typedef struct stio_dev_t stio_dev_t;
 | 
			
		||||
@ -104,6 +89,7 @@ enum stio_errnum_t
 | 
			
		||||
	STIO_ENOERR,
 | 
			
		||||
	STIO_ENOMEM,
 | 
			
		||||
	STIO_EINVAL,
 | 
			
		||||
	STIO_ENOENT,
 | 
			
		||||
	STIO_ENOSUP, /* not supported */
 | 
			
		||||
 | 
			
		||||
	STIO_EDEVMAKE
 | 
			
		||||
@ -115,10 +101,10 @@ typedef enum stio_errnum_t stio_errnum_t;
 | 
			
		||||
struct stio_dev_mth_t
 | 
			
		||||
{
 | 
			
		||||
	/* ------------------------------------------------------------------ */
 | 
			
		||||
	int           (*make)         (stio_dev_t* dev, void* ctx); /* mandatory. called in stix_makedev() */
 | 
			
		||||
	int           (*make)         (stio_dev_t* dev, void* ctx); /* mandatory. called in stio_makedev() */
 | 
			
		||||
 | 
			
		||||
	/* ------------------------------------------------------------------ */
 | 
			
		||||
	void          (*kill)         (stio_dev_t* dev); /* mandatory. called in stix_killdev(). called in stix_makedev() upon failure after make() success */
 | 
			
		||||
	void          (*kill)         (stio_dev_t* dev); /* mandatory. called in stio_killdev(). called in stio_makedev() upon failure after make() success */
 | 
			
		||||
 | 
			
		||||
	/* ------------------------------------------------------------------ */
 | 
			
		||||
#if 0
 | 
			
		||||
@ -127,12 +113,16 @@ struct stio_dev_mth_t
 | 
			
		||||
 */
 | 
			
		||||
	int           (*countsyshnds) (stio_dev_t* dev); /* optional */
 | 
			
		||||
#endif
 | 
			
		||||
	stio_syshnd_t (*getsyshnd)    (stio_dev_t* dev); /* mandatory. called in stix_makedev() after successful make() */
 | 
			
		||||
	stio_syshnd_t (*getsyshnd)    (stio_dev_t* dev); /* mandatory. called in stio_makedev() after successful make() */
 | 
			
		||||
 | 
			
		||||
	/* ------------------------------------------------------------------ */
 | 
			
		||||
	int           (*ioctl)        (stio_dev_t* dev, int cmd, void* arg);
 | 
			
		||||
 | 
			
		||||
	/* ------------------------------------------------------------------ */
 | 
			
		||||
	/* return -1 on failure, 0 if no data is availble, 1 otherwise.
 | 
			
		||||
	 * when returning 1, *len must be sent to the length of data read.
 | 
			
		||||
	 * if *len is set to 0, it's treated as EOF.
 | 
			
		||||
	 * it must not kill the device */
 | 
			
		||||
	int           (*recv)         (stio_dev_t* dev, void* data, stio_len_t* len);
 | 
			
		||||
 | 
			
		||||
	/* ------------------------------------------------------------------ */
 | 
			
		||||
@ -221,7 +211,7 @@ struct stio_dev_t
 | 
			
		||||
enum stio_dev_event_cmd_t
 | 
			
		||||
{
 | 
			
		||||
	STIO_DEV_EVENT_ADD,
 | 
			
		||||
	STIO_DEV_EVENT_MOD,
 | 
			
		||||
	STIO_DEV_EVENT_UPD,
 | 
			
		||||
	STIO_DEV_EVENT_DEL
 | 
			
		||||
};
 | 
			
		||||
typedef enum stio_dev_event_cmd_t stio_dev_event_cmd_t;
 | 
			
		||||
@ -241,29 +231,40 @@ typedef enum stio_dev_event_flag_t stio_dev_event_flag_t;
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
stio_t* stio_open (
 | 
			
		||||
	stio_mmgr_t* mmgr,
 | 
			
		||||
	stio_size_t xtnsize,
 | 
			
		||||
STIO_EXPORT stio_t* stio_open (
 | 
			
		||||
	stio_mmgr_t*   mmgr,
 | 
			
		||||
	stio_size_t    xtnsize,
 | 
			
		||||
	stio_size_t    tmrcapa,  /**< initial timer capacity */
 | 
			
		||||
	stio_errnum_t* errnum
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_close (
 | 
			
		||||
STIO_EXPORT void stio_close (
 | 
			
		||||
	stio_t* stio
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_exec (
 | 
			
		||||
STIO_EXPORT int stio_init (
 | 
			
		||||
	stio_t*      stio,
 | 
			
		||||
	stio_mmgr_t* mmgr,
 | 
			
		||||
	stio_size_t  tmrcapa
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
STIO_EXPORT void stio_fini (
 | 
			
		||||
	stio_t*      stio
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
STIO_EXPORT int stio_exec (
 | 
			
		||||
	stio_t* stio
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_loop (
 | 
			
		||||
STIO_EXPORT int stio_loop (
 | 
			
		||||
	stio_t* stio
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_stop (
 | 
			
		||||
STIO_EXPORT void stio_stop (
 | 
			
		||||
	stio_t* stio
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
stio_dev_t* stio_makedev (
 | 
			
		||||
STIO_EXPORT stio_dev_t* stio_makedev (
 | 
			
		||||
	stio_t*          stio,
 | 
			
		||||
	stio_size_t      dev_size,
 | 
			
		||||
	stio_dev_mth_t*  dev_mth,
 | 
			
		||||
@ -271,24 +272,24 @@ stio_dev_t* stio_makedev (
 | 
			
		||||
	void*            make_ctx
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void stio_killdev (
 | 
			
		||||
STIO_EXPORT void stio_killdev (
 | 
			
		||||
	stio_t*     stio,
 | 
			
		||||
	stio_dev_t* dev
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_dev_ioctl (
 | 
			
		||||
STIO_EXPORT int stio_dev_ioctl (
 | 
			
		||||
	stio_dev_t* dev,
 | 
			
		||||
	int         cmd,
 | 
			
		||||
	void*       arg
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_dev_event (
 | 
			
		||||
STIO_EXPORT int stio_dev_event (
 | 
			
		||||
	stio_dev_t*          dev,
 | 
			
		||||
	stio_dev_event_cmd_t cmd,
 | 
			
		||||
	int                  flags
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
int stio_dev_send (
 | 
			
		||||
STIO_EXPORT int stio_dev_send (
 | 
			
		||||
	stio_dev_t*   dev,
 | 
			
		||||
	const void*   data,
 | 
			
		||||
	stio_len_t    len,
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										53
									
								
								stio/m4/ax_check_sign.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								stio/m4/ax_check_sign.m4
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#       http://www.gnu.org/software/autoconf-archive/ax_check_sign.html
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#
 | 
			
		||||
# SYNOPSIS
 | 
			
		||||
#
 | 
			
		||||
#   AX_CHECK_SIGN (TYPE, [ACTION-IF-SIGNED], [ACTION-IF-UNSIGNED], [INCLUDES])
 | 
			
		||||
#
 | 
			
		||||
# DESCRIPTION
 | 
			
		||||
#
 | 
			
		||||
#   Checks whether TYPE is signed or not. If no INCLUDES are specified, the
 | 
			
		||||
#   default includes are used. If ACTION-IF-SIGNED is given, it is
 | 
			
		||||
#   additional shell code to execute when the type is signed. If
 | 
			
		||||
#   ACTION-IF-UNSIGNED is given, it is executed when the type is unsigned.
 | 
			
		||||
#
 | 
			
		||||
#   This macro assumes that the type exists. Therefore the existence of the
 | 
			
		||||
#   type should be checked before calling this macro. For example:
 | 
			
		||||
#
 | 
			
		||||
#     AC_CHECK_HEADERS([wchar.h])
 | 
			
		||||
#     AC_CHECK_TYPE([wchar_t],,[ AC_MSG_ERROR([Type wchar_t not found.]) ])
 | 
			
		||||
#     AX_CHECK_SIGN([wchar_t],
 | 
			
		||||
#       [ AC_DEFINE(WCHAR_T_SIGNED, 1, [Define if wchar_t is signed]) ],
 | 
			
		||||
#       [ AC_DEFINE(WCHAR_T_UNSIGNED, 1, [Define if wchar_t is unsigned]) ], [
 | 
			
		||||
#     #ifdef HAVE_WCHAR_H
 | 
			
		||||
#     #include <wchar.h>
 | 
			
		||||
#     #endif
 | 
			
		||||
#     ])
 | 
			
		||||
#
 | 
			
		||||
# LICENSE
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (c) 2008 Ville Laurikari <vl@iki.fi>
 | 
			
		||||
#
 | 
			
		||||
#   Copying and distribution of this file, with or without modification, are
 | 
			
		||||
#   permitted in any medium without royalty provided the copyright notice
 | 
			
		||||
#   and this notice are preserved. This file is offered as-is, without any
 | 
			
		||||
#   warranty.
 | 
			
		||||
 | 
			
		||||
#serial 6
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AX_CHECK_SIGN], [
 | 
			
		||||
 typename=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g"`
 | 
			
		||||
 AC_CACHE_CHECK([whether $1 is signed], ax_cv_decl_${typename}_signed, [
 | 
			
		||||
   AC_TRY_COMPILE([$4],
 | 
			
		||||
     [ int foo @<:@ 1 - 2 * !((($1) -1) < 0) @:>@ ],
 | 
			
		||||
     [ eval "ax_cv_decl_${typename}_signed=\"yes\"" ],
 | 
			
		||||
     [ eval "ax_cv_decl_${typename}_signed=\"no\"" ])])
 | 
			
		||||
 symbolname=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g" | tr "a-z" "A-Z"`
 | 
			
		||||
 if eval "test \"\${ax_cv_decl_${typename}_signed}\" = \"yes\""; then
 | 
			
		||||
   $2
 | 
			
		||||
 elif eval "test \"\${ax_cv_decl_${typename}_signed}\" = \"no\""; then
 | 
			
		||||
   $3
 | 
			
		||||
 fi
 | 
			
		||||
])dnl
 | 
			
		||||
							
								
								
									
										25
									
								
								stio/m4/ax_cxx_namespace.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								stio/m4/ax_cxx_namespace.m4
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
			
		||||
dnl @synopsis AX_CXX_NAMESPACE_STD
 | 
			
		||||
dnl
 | 
			
		||||
dnl If the compiler supports namespace std, define
 | 
			
		||||
dnl HAVE_CXX_NAMESPACE_STD.
 | 
			
		||||
dnl
 | 
			
		||||
dnl @category Cxx
 | 
			
		||||
dnl @author Todd Veldhuizen
 | 
			
		||||
dnl @author Luc Maisonobe <luc@spaceroots.org>
 | 
			
		||||
dnl @version 2004-02-04
 | 
			
		||||
dnl @license AllPermissive
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AX_CXX_NAMESPACE_STD], [
 | 
			
		||||
  AC_CACHE_CHECK(if c++ supports namespace std,
 | 
			
		||||
  ax_cv_cxx_have_std_namespace,
 | 
			
		||||
  [AC_LANG_SAVE
 | 
			
		||||
  AC_LANG_CPLUSPLUS
 | 
			
		||||
  AC_TRY_COMPILE([#include <iostream>
 | 
			
		||||
		  std::istream& is = std::cin;],,
 | 
			
		||||
  ax_cv_cxx_have_std_namespace=yes, ax_cv_cxx_have_std_namespace=no)
 | 
			
		||||
  AC_LANG_RESTORE
 | 
			
		||||
  ])
 | 
			
		||||
  if test "$ax_cv_cxx_have_std_namespace" = yes; then
 | 
			
		||||
    AC_DEFINE(HAVE_CXX_NAMESPACE_STD,,[Define if c++ supports namespace std. ])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										25
									
								
								stio/m4/ax_numval.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								stio/m4/ax_numval.m4
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
			
		||||
#
 | 
			
		||||
# This is a blindly modified variant of AC_CHECK_SIZEOF.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# AX_CHECK_NUMVALOF(TYPE, DEFAULT, [INCLUDES = DEFAULT-INCLUDES])
 | 
			
		||||
# ---------------------------------------------------------------
 | 
			
		||||
AC_DEFUN([AX_CHECK_NUMVALOF],
 | 
			
		||||
	[AS_LITERAL_IF(m4_translit([[$1]], [[$2]], [p]), [],
 | 
			
		||||
            [m4_fatal([$0: requires literal arguments])])]
 | 
			
		||||
 | 
			
		||||
	[
 | 
			
		||||
		_AC_CACHE_CHECK_INT(
 | 
			
		||||
			[numeric value of $1],
 | 
			
		||||
			[AS_TR_SH([ax_cv_numvalof_$1])],
 | 
			
		||||
		     [($1)],
 | 
			
		||||
			[AC_INCLUDES_DEFAULT([$3])],
 | 
			
		||||
			[AS_TR_SH([ax_cv_numvalof_$1])=$2])
 | 
			
		||||
 | 
			
		||||
		AC_DEFINE_UNQUOTED(
 | 
			
		||||
			AS_TR_CPP(numvalof_$1),
 | 
			
		||||
			$AS_TR_SH([ax_cv_numvalof_$1]),
 | 
			
		||||
			[The size of `$1', as computed by valueof.])
 | 
			
		||||
	]
 | 
			
		||||
)# AX_CHECK_NUMVALOF
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7992
									
								
								stio/m4/libtool.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7992
									
								
								stio/m4/libtool.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										384
									
								
								stio/m4/ltoptions.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										384
									
								
								stio/m4/ltoptions.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,384 @@
 | 
			
		||||
# Helper functions for option handling.                    -*- Autoconf -*-
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
 | 
			
		||||
#   Inc.
 | 
			
		||||
#   Written by Gary V. Vaughan, 2004
 | 
			
		||||
#
 | 
			
		||||
# 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 7 ltoptions.m4
 | 
			
		||||
 | 
			
		||||
# This is to help aclocal find these macros, as it can't see m4_define.
 | 
			
		||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
 | 
			
		||||
# ------------------------------------------
 | 
			
		||||
m4_define([_LT_MANGLE_OPTION],
 | 
			
		||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
 | 
			
		||||
# ---------------------------------------
 | 
			
		||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
 | 
			
		||||
# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
 | 
			
		||||
# saved as a flag.
 | 
			
		||||
m4_define([_LT_SET_OPTION],
 | 
			
		||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
 | 
			
		||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
 | 
			
		||||
        _LT_MANGLE_DEFUN([$1], [$2]),
 | 
			
		||||
    [m4_warning([Unknown $1 option `$2'])])[]dnl
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
 | 
			
		||||
# ------------------------------------------------------------
 | 
			
		||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
 | 
			
		||||
m4_define([_LT_IF_OPTION],
 | 
			
		||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
 | 
			
		||||
# -------------------------------------------------------
 | 
			
		||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
 | 
			
		||||
# are set.
 | 
			
		||||
m4_define([_LT_UNLESS_OPTIONS],
 | 
			
		||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
 | 
			
		||||
	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
 | 
			
		||||
		      [m4_define([$0_found])])])[]dnl
 | 
			
		||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
 | 
			
		||||
])[]dnl
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
 | 
			
		||||
# ----------------------------------------
 | 
			
		||||
# OPTION-LIST is a space-separated list of Libtool options associated
 | 
			
		||||
# with MACRO-NAME.  If any OPTION has a matching handler declared with
 | 
			
		||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
 | 
			
		||||
# the unknown option and exit.
 | 
			
		||||
m4_defun([_LT_SET_OPTIONS],
 | 
			
		||||
[# Set options
 | 
			
		||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
 | 
			
		||||
    [_LT_SET_OPTION([$1], _LT_Option)])
 | 
			
		||||
 | 
			
		||||
m4_if([$1],[LT_INIT],[
 | 
			
		||||
  dnl
 | 
			
		||||
  dnl Simply set some default values (i.e off) if boolean options were not
 | 
			
		||||
  dnl specified:
 | 
			
		||||
  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
 | 
			
		||||
  ])
 | 
			
		||||
  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
 | 
			
		||||
  ])
 | 
			
		||||
  dnl
 | 
			
		||||
  dnl If no reference was made to various pairs of opposing options, then
 | 
			
		||||
  dnl we run the default mode handler for the pair.  For example, if neither
 | 
			
		||||
  dnl `shared' nor `disable-shared' was passed, we enable building of shared
 | 
			
		||||
  dnl archives by default:
 | 
			
		||||
  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
 | 
			
		||||
  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
 | 
			
		||||
  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
 | 
			
		||||
  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
 | 
			
		||||
  		   [_LT_ENABLE_FAST_INSTALL])
 | 
			
		||||
  ])
 | 
			
		||||
])# _LT_SET_OPTIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## --------------------------------- ##
 | 
			
		||||
## Macros to handle LT_INIT options. ##
 | 
			
		||||
## --------------------------------- ##
 | 
			
		||||
 | 
			
		||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
 | 
			
		||||
# -----------------------------------------
 | 
			
		||||
m4_define([_LT_MANGLE_DEFUN],
 | 
			
		||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
 | 
			
		||||
# -----------------------------------------------
 | 
			
		||||
m4_define([LT_OPTION_DEFINE],
 | 
			
		||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
 | 
			
		||||
])# LT_OPTION_DEFINE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# dlopen
 | 
			
		||||
# ------
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
 | 
			
		||||
AC_DIAGNOSE([obsolete],
 | 
			
		||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
 | 
			
		||||
put the `dlopen' option into LT_INIT's first parameter.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl aclocal-1.4 backwards compatibility:
 | 
			
		||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# win32-dll
 | 
			
		||||
# ---------
 | 
			
		||||
# Declare package support for building win32 dll's.
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
 | 
			
		||||
[enable_win32_dll=yes
 | 
			
		||||
 | 
			
		||||
case $host in
 | 
			
		||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
 | 
			
		||||
  AC_CHECK_TOOL(AS, as, false)
 | 
			
		||||
  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
 | 
			
		||||
  AC_CHECK_TOOL(OBJDUMP, objdump, false)
 | 
			
		||||
  ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
test -z "$AS" && AS=as
 | 
			
		||||
_LT_DECL([], [AS],      [1], [Assembler program])dnl
 | 
			
		||||
 | 
			
		||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
 | 
			
		||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
 | 
			
		||||
 | 
			
		||||
test -z "$OBJDUMP" && OBJDUMP=objdump
 | 
			
		||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
 | 
			
		||||
])# win32-dll
 | 
			
		||||
 | 
			
		||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
 | 
			
		||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
 | 
			
		||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
 | 
			
		||||
AC_DIAGNOSE([obsolete],
 | 
			
		||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
 | 
			
		||||
put the `win32-dll' option into LT_INIT's first parameter.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl aclocal-1.4 backwards compatibility:
 | 
			
		||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_ENABLE_SHARED([DEFAULT])
 | 
			
		||||
# ----------------------------
 | 
			
		||||
# implement the --enable-shared flag, and supports the `shared' and
 | 
			
		||||
# `disable-shared' LT_INIT options.
 | 
			
		||||
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
 | 
			
		||||
m4_define([_LT_ENABLE_SHARED],
 | 
			
		||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
 | 
			
		||||
AC_ARG_ENABLE([shared],
 | 
			
		||||
    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
 | 
			
		||||
	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
 | 
			
		||||
    [p=${PACKAGE-default}
 | 
			
		||||
    case $enableval in
 | 
			
		||||
    yes) enable_shared=yes ;;
 | 
			
		||||
    no) enable_shared=no ;;
 | 
			
		||||
    *)
 | 
			
		||||
      enable_shared=no
 | 
			
		||||
      # Look at the argument we got.  We use all the common list separators.
 | 
			
		||||
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
 | 
			
		||||
      for pkg in $enableval; do
 | 
			
		||||
	IFS="$lt_save_ifs"
 | 
			
		||||
	if test "X$pkg" = "X$p"; then
 | 
			
		||||
	  enable_shared=yes
 | 
			
		||||
	fi
 | 
			
		||||
      done
 | 
			
		||||
      IFS="$lt_save_ifs"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac],
 | 
			
		||||
    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
 | 
			
		||||
 | 
			
		||||
    _LT_DECL([build_libtool_libs], [enable_shared], [0],
 | 
			
		||||
	[Whether or not to build shared libraries])
 | 
			
		||||
])# _LT_ENABLE_SHARED
 | 
			
		||||
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
 | 
			
		||||
 | 
			
		||||
# Old names:
 | 
			
		||||
AC_DEFUN([AC_ENABLE_SHARED],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AC_DISABLE_SHARED],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
 | 
			
		||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
 | 
			
		||||
 | 
			
		||||
dnl aclocal-1.4 backwards compatibility:
 | 
			
		||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
 | 
			
		||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_ENABLE_STATIC([DEFAULT])
 | 
			
		||||
# ----------------------------
 | 
			
		||||
# implement the --enable-static flag, and support the `static' and
 | 
			
		||||
# `disable-static' LT_INIT options.
 | 
			
		||||
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
 | 
			
		||||
m4_define([_LT_ENABLE_STATIC],
 | 
			
		||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
 | 
			
		||||
AC_ARG_ENABLE([static],
 | 
			
		||||
    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
 | 
			
		||||
	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
 | 
			
		||||
    [p=${PACKAGE-default}
 | 
			
		||||
    case $enableval in
 | 
			
		||||
    yes) enable_static=yes ;;
 | 
			
		||||
    no) enable_static=no ;;
 | 
			
		||||
    *)
 | 
			
		||||
     enable_static=no
 | 
			
		||||
      # Look at the argument we got.  We use all the common list separators.
 | 
			
		||||
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
 | 
			
		||||
      for pkg in $enableval; do
 | 
			
		||||
	IFS="$lt_save_ifs"
 | 
			
		||||
	if test "X$pkg" = "X$p"; then
 | 
			
		||||
	  enable_static=yes
 | 
			
		||||
	fi
 | 
			
		||||
      done
 | 
			
		||||
      IFS="$lt_save_ifs"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac],
 | 
			
		||||
    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
 | 
			
		||||
 | 
			
		||||
    _LT_DECL([build_old_libs], [enable_static], [0],
 | 
			
		||||
	[Whether or not to build static libraries])
 | 
			
		||||
])# _LT_ENABLE_STATIC
 | 
			
		||||
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
 | 
			
		||||
 | 
			
		||||
# Old names:
 | 
			
		||||
AC_DEFUN([AC_ENABLE_STATIC],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AC_DISABLE_STATIC],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
 | 
			
		||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
 | 
			
		||||
 | 
			
		||||
dnl aclocal-1.4 backwards compatibility:
 | 
			
		||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
 | 
			
		||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
 | 
			
		||||
# ----------------------------------
 | 
			
		||||
# implement the --enable-fast-install flag, and support the `fast-install'
 | 
			
		||||
# and `disable-fast-install' LT_INIT options.
 | 
			
		||||
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
 | 
			
		||||
m4_define([_LT_ENABLE_FAST_INSTALL],
 | 
			
		||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
 | 
			
		||||
AC_ARG_ENABLE([fast-install],
 | 
			
		||||
    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
 | 
			
		||||
    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
 | 
			
		||||
    [p=${PACKAGE-default}
 | 
			
		||||
    case $enableval in
 | 
			
		||||
    yes) enable_fast_install=yes ;;
 | 
			
		||||
    no) enable_fast_install=no ;;
 | 
			
		||||
    *)
 | 
			
		||||
      enable_fast_install=no
 | 
			
		||||
      # Look at the argument we got.  We use all the common list separators.
 | 
			
		||||
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
 | 
			
		||||
      for pkg in $enableval; do
 | 
			
		||||
	IFS="$lt_save_ifs"
 | 
			
		||||
	if test "X$pkg" = "X$p"; then
 | 
			
		||||
	  enable_fast_install=yes
 | 
			
		||||
	fi
 | 
			
		||||
      done
 | 
			
		||||
      IFS="$lt_save_ifs"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac],
 | 
			
		||||
    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
 | 
			
		||||
 | 
			
		||||
_LT_DECL([fast_install], [enable_fast_install], [0],
 | 
			
		||||
	 [Whether or not to optimize for fast installation])dnl
 | 
			
		||||
])# _LT_ENABLE_FAST_INSTALL
 | 
			
		||||
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
 | 
			
		||||
 | 
			
		||||
# Old names:
 | 
			
		||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
 | 
			
		||||
AC_DIAGNOSE([obsolete],
 | 
			
		||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
 | 
			
		||||
the `fast-install' option into LT_INIT's first parameter.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
 | 
			
		||||
AC_DIAGNOSE([obsolete],
 | 
			
		||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
 | 
			
		||||
the `disable-fast-install' option into LT_INIT's first parameter.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl aclocal-1.4 backwards compatibility:
 | 
			
		||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
 | 
			
		||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# _LT_WITH_PIC([MODE])
 | 
			
		||||
# --------------------
 | 
			
		||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
 | 
			
		||||
# LT_INIT options.
 | 
			
		||||
# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
 | 
			
		||||
m4_define([_LT_WITH_PIC],
 | 
			
		||||
[AC_ARG_WITH([pic],
 | 
			
		||||
    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
 | 
			
		||||
	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
 | 
			
		||||
    [lt_p=${PACKAGE-default}
 | 
			
		||||
    case $withval in
 | 
			
		||||
    yes|no) pic_mode=$withval ;;
 | 
			
		||||
    *)
 | 
			
		||||
      pic_mode=default
 | 
			
		||||
      # Look at the argument we got.  We use all the common list separators.
 | 
			
		||||
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
 | 
			
		||||
      for lt_pkg in $withval; do
 | 
			
		||||
	IFS="$lt_save_ifs"
 | 
			
		||||
	if test "X$lt_pkg" = "X$lt_p"; then
 | 
			
		||||
	  pic_mode=yes
 | 
			
		||||
	fi
 | 
			
		||||
      done
 | 
			
		||||
      IFS="$lt_save_ifs"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac],
 | 
			
		||||
    [pic_mode=default])
 | 
			
		||||
 | 
			
		||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
 | 
			
		||||
 | 
			
		||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
 | 
			
		||||
])# _LT_WITH_PIC
 | 
			
		||||
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
 | 
			
		||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
 | 
			
		||||
 | 
			
		||||
# Old name:
 | 
			
		||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
 | 
			
		||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
 | 
			
		||||
AC_DIAGNOSE([obsolete],
 | 
			
		||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
 | 
			
		||||
put the `pic-only' option into LT_INIT's first parameter.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl aclocal-1.4 backwards compatibility:
 | 
			
		||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
 | 
			
		||||
 | 
			
		||||
## ----------------- ##
 | 
			
		||||
## LTDL_INIT Options ##
 | 
			
		||||
## ----------------- ##
 | 
			
		||||
 | 
			
		||||
m4_define([_LTDL_MODE], [])
 | 
			
		||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
 | 
			
		||||
		 [m4_define([_LTDL_MODE], [nonrecursive])])
 | 
			
		||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
 | 
			
		||||
		 [m4_define([_LTDL_MODE], [recursive])])
 | 
			
		||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
 | 
			
		||||
		 [m4_define([_LTDL_MODE], [subproject])])
 | 
			
		||||
 | 
			
		||||
m4_define([_LTDL_TYPE], [])
 | 
			
		||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
 | 
			
		||||
		 [m4_define([_LTDL_TYPE], [installable])])
 | 
			
		||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
 | 
			
		||||
		 [m4_define([_LTDL_TYPE], [convenience])])
 | 
			
		||||
							
								
								
									
										123
									
								
								stio/m4/ltsugar.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								stio/m4/ltsugar.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,123 @@
 | 
			
		||||
# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
 | 
			
		||||
# Written by Gary V. Vaughan, 2004
 | 
			
		||||
#
 | 
			
		||||
# This file is free software; the Free Software Foundation gives
 | 
			
		||||
# unlimited permission to copy and/or distribute it, with or without
 | 
			
		||||
# modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# serial 6 ltsugar.m4
 | 
			
		||||
 | 
			
		||||
# This is to help aclocal find these macros, as it can't see m4_define.
 | 
			
		||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_join(SEP, ARG1, [ARG2...])
 | 
			
		||||
# -----------------------------
 | 
			
		||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
 | 
			
		||||
# associated separator.
 | 
			
		||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
 | 
			
		||||
# versions in m4sugar had bugs.
 | 
			
		||||
m4_define([lt_join],
 | 
			
		||||
[m4_if([$#], [1], [],
 | 
			
		||||
       [$#], [2], [[$2]],
 | 
			
		||||
       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
 | 
			
		||||
m4_define([_lt_join],
 | 
			
		||||
[m4_if([$#$2], [2], [],
 | 
			
		||||
       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_car(LIST)
 | 
			
		||||
# lt_cdr(LIST)
 | 
			
		||||
# ------------
 | 
			
		||||
# Manipulate m4 lists.
 | 
			
		||||
# These macros are necessary as long as will still need to support
 | 
			
		||||
# Autoconf-2.59 which quotes differently.
 | 
			
		||||
m4_define([lt_car], [[$1]])
 | 
			
		||||
m4_define([lt_cdr],
 | 
			
		||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
 | 
			
		||||
       [$#], 1, [],
 | 
			
		||||
       [m4_dquote(m4_shift($@))])])
 | 
			
		||||
m4_define([lt_unquote], $1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
 | 
			
		||||
# ------------------------------------------
 | 
			
		||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
 | 
			
		||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
 | 
			
		||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
 | 
			
		||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
 | 
			
		||||
# than defined and empty).
 | 
			
		||||
#
 | 
			
		||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
 | 
			
		||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
 | 
			
		||||
m4_define([lt_append],
 | 
			
		||||
[m4_define([$1],
 | 
			
		||||
	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
 | 
			
		||||
# ----------------------------------------------------------
 | 
			
		||||
# Produce a SEP delimited list of all paired combinations of elements of
 | 
			
		||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
 | 
			
		||||
# has the form PREFIXmINFIXSUFFIXn.
 | 
			
		||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
 | 
			
		||||
m4_define([lt_combine],
 | 
			
		||||
[m4_if(m4_eval([$# > 3]), [1],
 | 
			
		||||
       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
 | 
			
		||||
[[m4_foreach([_Lt_prefix], [$2],
 | 
			
		||||
	     [m4_foreach([_Lt_suffix],
 | 
			
		||||
		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
 | 
			
		||||
	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
 | 
			
		||||
# -----------------------------------------------------------------------
 | 
			
		||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
 | 
			
		||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
 | 
			
		||||
m4_define([lt_if_append_uniq],
 | 
			
		||||
[m4_ifdef([$1],
 | 
			
		||||
	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
 | 
			
		||||
		 [lt_append([$1], [$2], [$3])$4],
 | 
			
		||||
		 [$5])],
 | 
			
		||||
	  [lt_append([$1], [$2], [$3])$4])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_dict_add(DICT, KEY, VALUE)
 | 
			
		||||
# -----------------------------
 | 
			
		||||
m4_define([lt_dict_add],
 | 
			
		||||
[m4_define([$1($2)], [$3])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
 | 
			
		||||
# --------------------------------------------
 | 
			
		||||
m4_define([lt_dict_add_subkey],
 | 
			
		||||
[m4_define([$1($2:$3)], [$4])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
 | 
			
		||||
# ----------------------------------
 | 
			
		||||
m4_define([lt_dict_fetch],
 | 
			
		||||
[m4_ifval([$3],
 | 
			
		||||
	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
 | 
			
		||||
    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
 | 
			
		||||
# -----------------------------------------------------------------
 | 
			
		||||
m4_define([lt_if_dict_fetch],
 | 
			
		||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
 | 
			
		||||
	[$5],
 | 
			
		||||
    [$6])])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
 | 
			
		||||
# --------------------------------------------------------------
 | 
			
		||||
m4_define([lt_dict_filter],
 | 
			
		||||
[m4_if([$5], [], [],
 | 
			
		||||
  [lt_join(m4_quote(m4_default([$4], [[, ]])),
 | 
			
		||||
           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
 | 
			
		||||
		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										23
									
								
								stio/m4/ltversion.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								stio/m4/ltversion.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
# ltversion.m4 -- version numbers			-*- Autoconf -*-
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (C) 2004 Free Software Foundation, Inc.
 | 
			
		||||
#   Written by Scott James Remnant, 2004
 | 
			
		||||
#
 | 
			
		||||
# 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.
 | 
			
		||||
 | 
			
		||||
# @configure_input@
 | 
			
		||||
 | 
			
		||||
# serial 3337 ltversion.m4
 | 
			
		||||
# This file is part of GNU Libtool
 | 
			
		||||
 | 
			
		||||
m4_define([LT_PACKAGE_VERSION], [2.4.2])
 | 
			
		||||
m4_define([LT_PACKAGE_REVISION], [1.3337])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([LTVERSION_VERSION],
 | 
			
		||||
[macro_version='2.4.2'
 | 
			
		||||
macro_revision='1.3337'
 | 
			
		||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 | 
			
		||||
_LT_DECL(, macro_revision, 0)
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										98
									
								
								stio/m4/lt~obsolete.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								stio/m4/lt~obsolete.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,98 @@
 | 
			
		||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 | 
			
		||||
#   Written by Scott James Remnant, 2004.
 | 
			
		||||
#
 | 
			
		||||
# 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 lt~obsolete.m4
 | 
			
		||||
 | 
			
		||||
# These exist entirely to fool aclocal when bootstrapping libtool.
 | 
			
		||||
#
 | 
			
		||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
 | 
			
		||||
# which have later been changed to m4_define as they aren't part of the
 | 
			
		||||
# exported API, or moved to Autoconf or Automake where they belong.
 | 
			
		||||
#
 | 
			
		||||
# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
 | 
			
		||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
 | 
			
		||||
# using a macro with the same name in our local m4/libtool.m4 it'll
 | 
			
		||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
 | 
			
		||||
# and doesn't know about Autoconf macros at all.)
 | 
			
		||||
#
 | 
			
		||||
# So we provide this file, which has a silly filename so it's always
 | 
			
		||||
# included after everything else.  This provides aclocal with the
 | 
			
		||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
 | 
			
		||||
# because those macros already exist, or will be overwritten later.
 | 
			
		||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
 | 
			
		||||
#
 | 
			
		||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
 | 
			
		||||
# Yes, that means every name once taken will need to remain here until
 | 
			
		||||
# we give up compatibility with versions before 1.7, at which point
 | 
			
		||||
# we need to keep only those names which we still refer to.
 | 
			
		||||
 | 
			
		||||
# This is to help aclocal find these macros, as it can't see m4_define.
 | 
			
		||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
 | 
			
		||||
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
 | 
			
		||||
m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
 | 
			
		||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
 | 
			
		||||
m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
 | 
			
		||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
 | 
			
		||||
m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
 | 
			
		||||
m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
 | 
			
		||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
 | 
			
		||||
m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
 | 
			
		||||
m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
 | 
			
		||||
m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
 | 
			
		||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
 | 
			
		||||
m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
 | 
			
		||||
m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
 | 
			
		||||
m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
 | 
			
		||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
 | 
			
		||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
 | 
			
		||||
m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
 | 
			
		||||
m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
 | 
			
		||||
m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
 | 
			
		||||
m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
 | 
			
		||||
m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
 | 
			
		||||
m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
 | 
			
		||||
m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
 | 
			
		||||
m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
 | 
			
		||||
m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
 | 
			
		||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
 | 
			
		||||
m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
 | 
			
		||||
m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
 | 
			
		||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
 | 
			
		||||
m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
 | 
			
		||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
 | 
			
		||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
 | 
			
		||||
m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
 | 
			
		||||
m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
 | 
			
		||||
m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
 | 
			
		||||
		Reference in New Issue
	
	Block a user