diff options
| -rw-r--r-- | target/ext2/ext2root.mk | 16 | ||||
| -rw-r--r-- | target/ext2/genext2fs-01-cvs-updates.patch | 9709 | ||||
| -rw-r--r-- | target/ext2/genext2fs-02-nosquash_devtable.patch | 13 | ||||
| -rw-r--r-- | target/ext2/genext2fs-1.4-nosquash.patch | 14 | ||||
| -rw-r--r-- | target/ext2/genext2fs-1.4-remove_ugly_warnings.patch | 21 | 
5 files changed, 43 insertions, 9730 deletions
| diff --git a/target/ext2/ext2root.mk b/target/ext2/ext2root.mk index 82912df5c..69aa871e2 100644 --- a/target/ext2/ext2root.mk +++ b/target/ext2/ext2root.mk @@ -3,16 +3,16 @@  # genext2fs to build to target ext2 filesystems  #  ############################################################# -GENEXT2_DIR=$(BUILD_DIR)/genext2fs-1.3 -GENEXT2_SOURCE=genext2fs_1.3.orig.tar.gz -GENEXT2_SITE=http://ftp.debian.org/debian/pool/main/g/genext2fs +GENEXT2_VERSION=1.4 +GENEXT2_DIR=$(BUILD_DIR)/genext2fs-$(GENEXT2_VERSION) +GENEXT2_SOURCE=genext2fs-$(GENEXT2_VERSION).tar.gz +GENEXT2_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/genext2fs  $(DL_DIR)/$(GENEXT2_SOURCE):  	$(WGET) -P $(DL_DIR) $(GENEXT2_SITE)/$(GENEXT2_SOURCE)  $(GENEXT2_DIR)/.unpacked: $(DL_DIR)/$(GENEXT2_SOURCE)  	$(ZCAT) $(DL_DIR)/$(GENEXT2_SOURCE) | tar -C $(BUILD_DIR) -xvf - -	mv $(GENEXT2_DIR).orig $(GENEXT2_DIR)  	toolchain/patch-kernel.sh $(GENEXT2_DIR) target/ext2/ genext2fs\*.patch  	touch $(GENEXT2_DIR)/.unpacked @@ -51,11 +51,11 @@ EXT2_OPTS += -b $(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS))  endif  ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)),0) -EXT2_OPTS += -i $(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)) +EXT2_OPTS += -N $(strip $(BR2_TARGET_ROOTFS_EXT2_INODES))  endif  ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),) -EXT2_OPTS += -r $(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)) +EXT2_OPTS += -m $(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS))  endif  EXT2_BASE :=	$(subst ",,$(BR2_TARGET_ROOTFS_EXT2_OUTPUT)) @@ -104,14 +104,14 @@ ifneq ($(TARGET_DEVICE_TABLE),)  endif  	# Use fakeroot so genext2fs believes the previous fakery  ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) -	GENEXT2_REALSIZE=`LC_ALL=C du -l -s -c -k $(TARGET_DIR) | grep total | sed -e "s/total//"`; \ +	GENEXT2_REALSIZE=`LC_ALL=C du -s -c -k $(TARGET_DIR) | grep total | sed -e "s/total//"`; \  	GENEXT2_ADDTOROOTSIZE=`if [ $$GENEXT2_REALSIZE -ge 20000 ] ; then echo 16384; else echo 2400; fi`; \  	GENEXT2_SIZE=`expr $$GENEXT2_REALSIZE + $$GENEXT2_ADDTOROOTSIZE`; \  	GENEXT2_ADDTOINODESIZE=`find $(TARGET_DIR) | wc -l`; \  	GENEXT2_INODES=`expr $$GENEXT2_ADDTOINODESIZE + 400`; \  	set -x; \  	echo "$(GENEXT2_DIR)/genext2fs -b $$GENEXT2_SIZE " \ -		"-i $$GENEXT2_INODES -d $(TARGET_DIR) " \ +		"-N $$GENEXT2_INODES -d $(TARGET_DIR) " \  		"$(EXT2_OPTS) $(EXT2_BASE)" >> $(STAGING_DIR)/_fakeroot.$(notdir $(EXT2_TARGET))  else  	echo "$(GENEXT2_DIR)/genext2fs -d $(TARGET_DIR) " \ diff --git a/target/ext2/genext2fs-01-cvs-updates.patch b/target/ext2/genext2fs-01-cvs-updates.patch deleted file mode 100644 index 3c4a04383..000000000 --- a/target/ext2/genext2fs-01-cvs-updates.patch +++ /dev/null @@ -1,9709 +0,0 @@ -diff --exclude CVS -urN genext2fs-1.3.orig/AUTHORS genext2fs/AUTHORS ---- genext2fs-1.3.orig/AUTHORS	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/AUTHORS	2001-05-02 12:20:05.000000000 -0600 -@@ -0,0 +1 @@ -+Xavier Bestel <xavier.bestel@free.fr> -diff --exclude CVS -urN genext2fs-1.3.orig/ChangeLog genext2fs/ChangeLog ---- genext2fs-1.3.orig/ChangeLog	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/ChangeLog	2004-11-21 23:21:05.000000000 -0700 -@@ -0,0 +1,2 @@ -+see our cvs logs here: -+http://cvs.sourceforge.net/viewcvs.py/genext2fs/genext2fs/ -diff --exclude CVS -urN genext2fs-1.3.orig/INSTALL genext2fs/INSTALL ---- genext2fs-1.3.orig/INSTALL	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/INSTALL	2004-11-21 23:19:19.000000000 -0700 -@@ -0,0 +1,5 @@ -+To install, just do it the normal GNU way: -+ -+./configure -+make -+sudo make install -diff --exclude CVS -urN genext2fs-1.3.orig/Makefile.am genext2fs/Makefile.am ---- genext2fs-1.3.orig/Makefile.am	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/Makefile.am	2002-10-16 09:41:00.000000000 -0600 -@@ -0,0 +1,11 @@ -+bin_PROGRAMS = genext2fs -+genext2fs_SOURCES = genext2fs.c -+man_MANS = genext2fs.8 -+ -+# test genext2fs by creating the image and comparing checksums -+test: all -+	sh ./test.sh -+ -+# test genext2fs by actually mounting the created image. -+test-mount: all -+	sudo sh ./test-mount.sh -diff --exclude CVS -urN genext2fs-1.3.orig/Makefile.in genext2fs/Makefile.in ---- genext2fs-1.3.orig/Makefile.in	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/Makefile.in	2004-12-27 13:03:47.000000000 -0700 -@@ -0,0 +1,570 @@ -+# Makefile.in generated by automake 1.8.5 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -+# 2003, 2004  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@ -+ -+SOURCES = $(genext2fs_SOURCES) -+ -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+VPATH = @srcdir@ -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+top_builddir = . -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -+INSTALL = @INSTALL@ -+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 = : -+bin_PROGRAMS = genext2fs$(EXEEXT) -+subdir = . -+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ -+	$(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ -+	ChangeLog INSTALL NEWS TODO depcomp install-sh missing -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/configure.in -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -+	$(ACLOCAL_M4) -+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ -+ configure.lineno configure.status.lineno -+mkinstalldirs = $(mkdir_p) -+CONFIG_CLEAN_FILES = -+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man8dir)" -+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -+PROGRAMS = $(bin_PROGRAMS) -+am_genext2fs_OBJECTS = genext2fs.$(OBJEXT) -+genext2fs_OBJECTS = $(am_genext2fs_OBJECTS) -+genext2fs_LDADD = $(LDADD) -+DEFAULT_INCLUDES = -I. -I$(srcdir) -+depcomp = $(SHELL) $(top_srcdir)/depcomp -+am__depfiles_maybe = depfiles -+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/genext2fs.Po -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+CCLD = $(CC) -+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+SOURCES = $(genext2fs_SOURCES) -+DIST_SOURCES = $(genext2fs_SOURCES) -+man8dir = $(mandir)/man8 -+NROFF = nroff -+MANS = $(man_MANS) -+ETAGS = etags -+CTAGS = ctags -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+distdir = $(PACKAGE)-$(VERSION) -+top_distdir = $(distdir) -+am__remove_distdir = \ -+  { test ! -d $(distdir) \ -+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ -+         && rm -fr $(distdir); }; } -+DIST_ARCHIVES = $(distdir).tar.gz -+GZIP_ENV = --best -+distuninstallcheck_listfiles = find . -type f -print -+distcleancheck_listfiles = find . -type f -print -+ACLOCAL = @ACLOCAL@ -+AMDEP_FALSE = @AMDEP_FALSE@ -+AMDEP_TRUE = @AMDEP_TRUE@ -+AMTAR = @AMTAR@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+CC = @CC@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CPPFLAGS = @CPPFLAGS@ -+CYGPATH_W = @CYGPATH_W@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EXEEXT = @EXEEXT@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+LDFLAGS = @LDFLAGS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LTLIBOBJS = @LTLIBOBJS@ -+MAKEINFO = @MAKEINFO@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -+PACKAGE_NAME = @PACKAGE_NAME@ -+PACKAGE_STRING = @PACKAGE_STRING@ -+PACKAGE_TARNAME = @PACKAGE_TARNAME@ -+PACKAGE_VERSION = @PACKAGE_VERSION@ -+PATH_SEPARATOR = @PATH_SEPARATOR@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+ac_ct_CC = @ac_ct_CC@ -+ac_ct_STRIP = @ac_ct_STRIP@ -+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -+am__include = @am__include@ -+am__leading_dot = @am__leading_dot@ -+am__quote = @am__quote@ -+bindir = @bindir@ -+build_alias = @build_alias@ -+datadir = @datadir@ -+exec_prefix = @exec_prefix@ -+host_alias = @host_alias@ -+includedir = @includedir@ -+infodir = @infodir@ -+install_sh = @install_sh@ -+libdir = @libdir@ -+libexecdir = @libexecdir@ -+localstatedir = @localstatedir@ -+mandir = @mandir@ -+mkdir_p = @mkdir_p@ -+oldincludedir = @oldincludedir@ -+prefix = @prefix@ -+program_transform_name = @program_transform_name@ -+sbindir = @sbindir@ -+sharedstatedir = @sharedstatedir@ -+sysconfdir = @sysconfdir@ -+target_alias = @target_alias@ -+genext2fs_SOURCES = genext2fs.c -+man_MANS = genext2fs.8 -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .c .o .obj -+am--refresh: -+	@: -+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) -+	@for dep in $?; do \ -+	  case '$(am__configure_deps)' in \ -+	    *$$dep*) \ -+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ -+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \ -+		&& exit 0; \ -+	      exit 1;; \ -+	  esac; \ -+	done; \ -+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \ -+	cd $(top_srcdir) && \ -+	  $(AUTOMAKE) --gnu  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) -+	cd $(srcdir) && $(AUTOCONF) -+$(ACLOCAL_M4):  $(am__aclocal_m4_deps) -+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -+install-binPROGRAMS: $(bin_PROGRAMS) -+	@$(NORMAL_INSTALL) -+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" -+	@list='$(bin_PROGRAMS)'; for p in $$list; do \ -+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ -+	  if test -f $$p \ -+	  ; then \ -+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ -+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ -+	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ -+	  else :; fi; \ -+	done -+ -+uninstall-binPROGRAMS: -+	@$(NORMAL_UNINSTALL) -+	@list='$(bin_PROGRAMS)'; for p in $$list; do \ -+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ -+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ -+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \ -+	done -+ -+clean-binPROGRAMS: -+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -+genext2fs$(EXEEXT): $(genext2fs_OBJECTS) $(genext2fs_DEPENDENCIES)  -+	@rm -f genext2fs$(EXEEXT) -+	$(LINK) $(genext2fs_LDFLAGS) $(genext2fs_OBJECTS) $(genext2fs_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+	-rm -f *.$(OBJEXT) -+ -+distclean-compile: -+	-rm -f *.tab.c -+ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genext2fs.Po@am__quote@ -+ -+.c.o: -+@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@	$(COMPILE) -c $< -+ -+.c.obj: -+@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'` -+uninstall-info-am: -+install-man8: $(man8_MANS) $(man_MANS) -+	@$(NORMAL_INSTALL) -+	test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" -+	@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ -+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+	for i in $$l2; do \ -+	  case "$$i" in \ -+	    *.8*) list="$$list $$i" ;; \ -+	  esac; \ -+	done; \ -+	for i in $$list; do \ -+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ -+	  else file=$$i; fi; \ -+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+	  case "$$ext" in \ -+	    8*) ;; \ -+	    *) ext='8' ;; \ -+	  esac; \ -+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ -+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \ -+	done -+uninstall-man8: -+	@$(NORMAL_UNINSTALL) -+	@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ -+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ -+	for i in $$l2; do \ -+	  case "$$i" in \ -+	    *.8*) list="$$list $$i" ;; \ -+	  esac; \ -+	done; \ -+	for i in $$list; do \ -+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \ -+	  case "$$ext" in \ -+	    8*) ;; \ -+	    *) ext='8' ;; \ -+	  esac; \ -+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ -+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \ -+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \ -+	  echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \ -+	  rm -f "$(DESTDIR)$(man8dir)/$$inst"; \ -+	done -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+	unique=`for i in $$list; do \ -+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+	  done | \ -+	  $(AWK) '    { files[$$0] = 1; } \ -+	       END { for (i in files) print i; }'`; \ -+	mkid -fID $$unique -+tags: TAGS -+ -+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \ -+		$(TAGS_FILES) $(LISP) -+	tags=; \ -+	here=`pwd`; \ -+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \ -+	unique=`for i in $$list; do \ -+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+	  done | \ -+	  $(AWK) '    { files[$$0] = 1; } \ -+	       END { for (i in files) print i; }'`; \ -+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ -+	  test -n "$$unique" || unique=$$empty_fix; \ -+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+	    $$tags $$unique; \ -+	fi -+ctags: CTAGS -+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \ -+		$(TAGS_FILES) $(LISP) -+	tags=; \ -+	here=`pwd`; \ -+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \ -+	unique=`for i in $$list; do \ -+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+	  done | \ -+	  $(AWK) '    { files[$$0] = 1; } \ -+	       END { for (i in files) print i; }'`; \ -+	test -z "$(CTAGS_ARGS)$$tags$$unique" \ -+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -+	     $$tags $$unique -+ -+GTAGS: -+	here=`$(am__cd) $(top_builddir) && pwd` \ -+	  && cd $(top_srcdir) \ -+	  && gtags -i $(GTAGS_ARGS) $$here -+ -+distclean-tags: -+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -+ -+distdir: $(DISTFILES) -+	$(am__remove_distdir) -+	mkdir $(distdir) -+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ -+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ -+	list='$(DISTFILES)'; for file in $$list; do \ -+	  case $$file in \ -+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -+	  esac; \ -+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ -+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \ -+	    dir="/$$dir"; \ -+	    $(mkdir_p) "$(distdir)$$dir"; \ -+	  else \ -+	    dir=''; \ -+	  fi; \ -+	  if test -d $$d/$$file; then \ -+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ -+	    fi; \ -+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ -+	  else \ -+	    test -f $(distdir)/$$file \ -+	    || cp -p $$d/$$file $(distdir)/$$file \ -+	    || exit 1; \ -+	  fi; \ -+	done -+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ -+	  ! -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 $(SHELL) $(install_sh) -c -m a+r {} {} \; \ -+	|| chmod -R a+r $(distdir) -+dist-gzip: distdir -+	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz -+	$(am__remove_distdir) -+ -+dist-bzip2: distdir -+	$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 -+	$(am__remove_distdir) -+ -+dist-tarZ: distdir -+	$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z -+	$(am__remove_distdir) -+ -+dist-shar: distdir -+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz -+	$(am__remove_distdir) -+ -+dist-zip: distdir -+	-rm -f $(distdir).zip -+	zip -rq $(distdir).zip $(distdir) -+	$(am__remove_distdir) -+ -+dist dist-all: distdir -+	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz -+	$(am__remove_distdir) -+ -+# This target untars the dist file and tries a VPATH configuration.  Then -+# it guarantees that the distribution is self-contained by making another -+# tarfile. -+distcheck: dist -+	case '$(DIST_ARCHIVES)' in \ -+	*.tar.gz*) \ -+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ -+	*.tar.bz2*) \ -+	  bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ -+	*.tar.Z*) \ -+	  uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ -+	*.shar.gz*) \ -+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ -+	*.zip*) \ -+	  unzip $(distdir).zip ;;\ -+	esac -+	chmod -R a-w $(distdir); chmod a+w $(distdir) -+	mkdir $(distdir)/_build -+	mkdir $(distdir)/_inst -+	chmod a-w $(distdir) -+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ -+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ -+	  && cd $(distdir)/_build \ -+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \ -+	    $(DISTCHECK_CONFIGURE_FLAGS) \ -+	  && $(MAKE) $(AM_MAKEFLAGS) \ -+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \ -+	  && $(MAKE) $(AM_MAKEFLAGS) check \ -+	  && $(MAKE) $(AM_MAKEFLAGS) install \ -+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \ -+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \ -+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ -+	        distuninstallcheck \ -+	  && chmod -R a-w "$$dc_install_base" \ -+	  && ({ \ -+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ -+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ -+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ -+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ -+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ -+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \ -+	  && rm -rf "$$dc_destdir" \ -+	  && $(MAKE) $(AM_MAKEFLAGS) dist \ -+	  && rm -rf $(DIST_ARCHIVES) \ -+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck -+	$(am__remove_distdir) -+	@(echo "$(distdir) archives ready for distribution: "; \ -+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ -+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' -+distuninstallcheck: -+	@cd $(distuninstallcheck_dir) \ -+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ -+	   || { echo "ERROR: files left after uninstall:" ; \ -+	        if test -n "$(DESTDIR)"; then \ -+	          echo "  (check DESTDIR support)"; \ -+	        fi ; \ -+	        $(distuninstallcheck_listfiles) ; \ -+	        exit 1; } >&2 -+distcleancheck: distclean -+	@if test '$(srcdir)' = . ; then \ -+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \ -+	  exit 1 ; \ -+	fi -+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ -+	  || { echo "ERROR: files left in build directory after distclean:" ; \ -+	       $(distcleancheck_listfiles) ; \ -+	       exit 1; } >&2 -+check-am: all-am -+check: check-am -+all-am: Makefile $(PROGRAMS) $(MANS) -+installdirs: -+	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man8dir)"; do \ -+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \ -+	done -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+	  `test -z '$(STRIP)' || \ -+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+	-rm -f $(CONFIG_CLEAN_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-binPROGRAMS clean-generic mostlyclean-am -+ -+distclean: distclean-am -+	-rm -f $(am__CONFIG_DISTCLEAN_FILES) -+	-rm -rf ./$(DEPDIR) -+	-rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+	distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: install-man -+ -+install-exec-am: install-binPROGRAMS -+ -+install-info: install-info-am -+ -+install-man: install-man8 -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+	-rm -f $(am__CONFIG_DISTCLEAN_FILES) -+	-rm -rf $(top_srcdir)/autom4te.cache -+	-rm -rf ./$(DEPDIR) -+	-rm -f Makefile -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+pdf: pdf-am -+ -+pdf-am: -+ -+ps: ps-am -+ -+ps-am: -+ -+uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man -+ -+uninstall-man: uninstall-man8 -+ -+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ -+	clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ -+	dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ -+	distclean-compile distclean-generic distclean-tags \ -+	distcleancheck distdir distuninstallcheck dvi dvi-am html \ -+	html-am info info-am install install-am install-binPROGRAMS \ -+	install-data install-data-am install-exec install-exec-am \ -+	install-info install-info-am install-man install-man8 \ -+	install-strip installcheck installcheck-am installdirs \ -+	maintainer-clean maintainer-clean-generic mostlyclean \ -+	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ -+	tags uninstall uninstall-am uninstall-binPROGRAMS \ -+	uninstall-info-am uninstall-man uninstall-man8 -+ -+ -+# test genext2fs by creating the image and comparing checksums -+test: all -+	sh ./test.sh -+ -+# test genext2fs by actually mounting the created image. -+test-mount: all -+	sudo sh ./test-mount.sh -+# 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: -diff --exclude CVS -urN genext2fs-1.3.orig/NEWS genext2fs/NEWS ---- genext2fs-1.3.orig/NEWS	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/NEWS	2004-11-21 23:21:05.000000000 -0700 -@@ -0,0 +1 @@ -+No news yet :) -diff --exclude CVS -urN genext2fs-1.3.orig/README genext2fs/README ---- genext2fs-1.3.orig/README	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/README	2004-11-21 23:18:40.000000000 -0700 -@@ -0,0 +1,19 @@ -+   ABOUT -+----------- -+genext2fs is a mean to generate an ext2 filesystem as a normal (non-root)  -+user.  It doesn't require you to mount the image file to copy files on it.   -+It doesn't even require you to be the superuser to make device nodes. -+ -+http://sourceforge.net/projects/genext2fs -+ -+   CONTACT -+------------- -+Please use the genext2fs-devel@lists.sourceforge.net mailing list. -+ -+   INSTALL -+------------- -+Please see the INSTALL file ;) -+ -+   AUTHORS -+------------- -+Please see the AUTHORS file ;) -diff --exclude CVS -urN genext2fs-1.3.orig/TODO genext2fs/TODO ---- genext2fs-1.3.orig/TODO	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/TODO	2004-11-25 11:12:10.000000000 -0700 -@@ -0,0 +1,13 @@ -+Disclaimer: I'll probably never do all this ... -+ -+- support fancy ext2 options -+- support ext3 -+ -+- add path to -f/-d options, e.g: -+	-f /:file.img		=>	extract file.img at root -+	-d /etc:/path/to/my/etc	=>	copy /path/to/my/etc into /etc -+ -+- add tar.gz extraction capabilities ? -+ -+- implement truncate_node -+- find a better way to guess filesystem's size -diff --exclude CVS -urN genext2fs-1.3.orig/aclocal.m4 genext2fs/aclocal.m4 ---- genext2fs-1.3.orig/aclocal.m4	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/aclocal.m4	2004-12-27 13:03:45.000000000 -0700 -@@ -0,0 +1,908 @@ -+# generated automatically by aclocal 1.8.5 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -+# Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+#                                                        -*- Autoconf -*- -+# Copyright (C) 2002, 2003  Free Software Foundation, Inc. -+# Generated from amversion.in; do not edit by hand. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+ -+# AM_AUTOMAKE_VERSION(VERSION) -+# ---------------------------- -+# Automake X.Y traces this macro to ensure aclocal.m4 has been -+# generated from the m4 files accompanying Automake X.Y. -+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) -+ -+# AM_SET_CURRENT_AUTOMAKE_VERSION -+# ------------------------------- -+# Call AM_AUTOMAKE_VERSION so it can be traced. -+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -+	 [AM_AUTOMAKE_VERSION([1.8.5])]) -+ -+# AM_AUX_DIR_EXPAND -+ -+# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to -+# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -+# -+# Of course, Automake must honor this variable whenever it calls a -+# tool from the auxiliary directory.  The problem is that $srcdir (and -+# therefore $ac_aux_dir as well) can be either absolute or relative, -+# depending on how configure is run.  This is pretty annoying, since -+# it makes $ac_aux_dir quite unusable in subdirectories: in the top -+# source directory, any form will work fine, but in subdirectories a -+# relative path needs to be adjusted first. -+# -+# $ac_aux_dir/missing -+#    fails when called from a subdirectory if $ac_aux_dir is relative -+# $top_srcdir/$ac_aux_dir/missing -+#    fails if $ac_aux_dir is absolute, -+#    fails when called from a subdirectory in a VPATH build with -+#          a relative $ac_aux_dir -+# -+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -+# are both prefixed by $srcdir.  In an in-source build this is usually -+# harmless because $srcdir is `.', but things will broke when you -+# start a VPATH build or use an absolute $srcdir. -+# -+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be: -+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -+# and then we would define $MISSING as -+#   MISSING="\${SHELL} $am_aux_dir/missing" -+# This will work as long as MISSING is not called from configure, because -+# unfortunately $(top_srcdir) has no meaning in configure. -+# However there are other variables, like CC, which are often used in -+# configure, and could therefore not use this "fixed" $ac_aux_dir. -+# -+# Another solution, used here, is to always expand $ac_aux_dir to an -+# absolute PATH.  The drawback is that using absolute paths prevent a -+# configured tree to be moved without reconfiguration. -+ -+AC_DEFUN([AM_AUX_DIR_EXPAND], -+[dnl Rely on autoconf to set up CDPATH properly. -+AC_PREREQ([2.50])dnl -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`cd $ac_aux_dir && pwd` -+]) -+ -+# AM_CONDITIONAL                                              -*- Autoconf -*- -+ -+# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 6 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])], -+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE]) -+AC_SUBST([$1_FALSE]) -+if $2; then -+  $1_TRUE= -+  $1_FALSE='#' -+else -+  $1_TRUE='#' -+  $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+  AC_MSG_ERROR([conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]) -+fi])]) -+ -+# serial 7						-*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -+# Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery.  Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=], -+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=], -+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'], -+                   [depcc="$$1"   am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+               [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+  # We make a subdir and do the tests there.  Otherwise we can end up -+  # making bogus files that we don't know about and never remove.  For -+  # instance it was reported that on HP-UX the gcc test will end up -+  # making a dummy file named `D' -- because `-MD' means `put the output -+  # in D'. -+  mkdir conftest.dir -+  # Copy depcomp to subdir because otherwise we won't find it if we're -+  # using a relative directory. -+  cp "$am_depcomp" conftest.dir -+  cd conftest.dir -+  # We will build objects and dependencies in a subdirectory because -+  # it helps to detect inapplicable dependency modes.  For instance -+  # both Tru64's cc and ICC support -MD to output dependencies as a -+  # side effect of compilation, but ICC will put the dependencies in -+  # the current directory while Tru64 will put them in the object -+  # directory. -+  mkdir sub -+ -+  am_cv_$1_dependencies_compiler_type=none -+  if test "$am_compiler_list" = ""; then -+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+  fi -+  for depmode in $am_compiler_list; do -+    # Setup a source with many dependencies, because some compilers -+    # like to wrap large dependency lists on column 80 (with \), and -+    # we should not choose a depcomp mode which is confused by this. -+    # -+    # We need to recreate these files for each test, as the compiler may -+    # overwrite some of them when testing with obscure command lines. -+    # This happens at least with the AIX C compiler. -+    : > sub/conftest.c -+    for i in 1 2 3 4 5 6; do -+      echo '#include "conftst'$i'.h"' >> sub/conftest.c -+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+      # Solaris 8's {/usr,}/bin/sh. -+      touch sub/conftst$i.h -+    done -+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+    case $depmode in -+    nosideeffect) -+      # after this tag, mechanisms are not by side-effect, so they'll -+      # only be used when explicitly requested -+      if test "x$enable_dependency_tracking" = xyes; then -+	continue -+      else -+	break -+      fi -+      ;; -+    none) break ;; -+    esac -+    # We check with `-c' and `-o' for the sake of the "dashmstdout" -+    # mode.  It turns out that the SunPro C++ compiler does not properly -+    # handle `-M -o', and we need to detect this. -+    if depmode=$depmode \ -+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+         >/dev/null 2>conftest.err && -+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+      # icc doesn't choke on unknown options, it will just issue warnings -+      # or remarks (even with -Werror).  So we grep stderr for any message -+      # that says an option was ignored or not supported. -+      # When given -MP, icc 7.0 and 7.1 complain thusly: -+      #   icc: Command line warning: ignoring option '-M'; no argument required -+      # The diagnosis changed in icc 8.0: -+      #   icc: Command line remark: option '-MP' not supported -+      if (grep 'ignoring option' conftest.err || -+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+        am_cv_$1_dependencies_compiler_type=$depmode -+        break -+      fi -+    fi -+  done -+ -+  cd .. -+  rm -rf conftest.dir -+else -+  am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+  test "x$enable_dependency_tracking" != xno \ -+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[  --disable-dependency-tracking  speeds up one-time build -+  --enable-dependency-tracking   do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+  am_depcomp="$ac_aux_dir/depcomp" -+  AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH]) -+]) -+ -+# Generate code to set up dependency tracking.   -*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+#serial 2 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[for mf in $CONFIG_FILES; do -+  # Strip MF so we end up with the name of the file. -+  mf=`echo "$mf" | sed -e 's/:.*$//'` -+  # Check whether this is an Automake generated Makefile or not. -+  # We used to match only the files named `Makefile.in', but -+  # some people rename them; so instead we look at the file content. -+  # Grep'ing the first line is not enough: some people post-process -+  # each Makefile.in and add a new line on top of each file to say so. -+  # So let's grep whole file. -+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+    dirpart=`AS_DIRNAME("$mf")` -+  else -+    continue -+  fi -+  grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue -+  # Extract the definition of DEP_FILES from the Makefile without -+  # running `make'. -+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+  test -z "$DEPDIR" && continue -+  # When using ansi2knr, U may be empty or an underscore; expand it -+  U=`sed -n 's/^U = //p' < "$mf"` -+  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" -+  # We invoke sed twice because it is the simplest approach to -+  # changing $(DEPDIR) to its actual value in the expansion. -+  for file in `sed -n ' -+    /^DEP_FILES = .*\\\\$/ { -+      s/^DEP_FILES = // -+      :loop -+	s/\\\\$// -+	p -+	n -+	/\\\\$/ b loop -+      p -+    } -+    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ -+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+    # Make sure the directory exists. -+    test -f "$dirpart/$file" && continue -+    fdir=`AS_DIRNAME(["$file"])` -+    AS_MKDIR_P([$dirpart/$fdir]) -+    # echo "creating $dirpart/$file" -+    echo '# dummy' > "$dirpart/$file" -+  done -+done -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled.  FIXME.  This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Do all the work for Automake.                            -*- Autoconf -*- -+ -+# This macro actually does too much some checks are only needed if -+# your package does certain things.  But this isn't really a big deal. -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -+# Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 11 -+ -+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -+# AM_INIT_AUTOMAKE([OPTIONS]) -+# ----------------------------------------------- -+# The call with PACKAGE and VERSION arguments is the old style -+# call (pre autoconf-2.50), which is being phased out.  PACKAGE -+# and VERSION should now be passed to AC_INIT and removed from -+# the call to AM_INIT_AUTOMAKE. -+# We support both call styles for the transition.  After -+# the next Automake release, Autoconf can make the AC_INIT -+# arguments mandatory, and then we can depend on a new Autoconf -+# release and drop the old call support. -+AC_DEFUN([AM_INIT_AUTOMAKE], -+[AC_PREREQ([2.58])dnl -+dnl Autoconf wants to disallow AM_ names.  We explicitly allow -+dnl the ones we care about. -+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -+AC_REQUIRE([AC_PROG_INSTALL])dnl -+# test to see if srcdir already configured -+if test "`cd $srcdir && pwd`" != "`pwd`" && -+   test -f $srcdir/config.status; then -+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -+fi -+ -+# test whether we have cygpath -+if test -z "$CYGPATH_W"; then -+  if (cygpath --version) >/dev/null 2>/dev/null; then -+    CYGPATH_W='cygpath -w' -+  else -+    CYGPATH_W=echo -+  fi -+fi -+AC_SUBST([CYGPATH_W]) -+ -+# Define the identity of the package. -+dnl Distinguish between old-style and new-style calls. -+m4_ifval([$2], -+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl -+ AC_SUBST([PACKAGE], [$1])dnl -+ AC_SUBST([VERSION], [$2])], -+[_AM_SET_OPTIONS([$1])dnl -+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl -+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl -+ -+_AM_IF_OPTION([no-define],, -+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl -+ -+# Some tools Automake needs. -+AC_REQUIRE([AM_SANITY_CHECK])dnl -+AC_REQUIRE([AC_ARG_PROGRAM])dnl -+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -+AM_MISSING_PROG(AUTOCONF, autoconf) -+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -+AM_MISSING_PROG(AUTOHEADER, autoheader) -+AM_MISSING_PROG(MAKEINFO, makeinfo) -+AM_MISSING_PROG(AMTAR, tar) -+AM_PROG_INSTALL_SH -+AM_PROG_INSTALL_STRIP -+AC_REQUIRE([AM_PROG_MKDIR_P])dnl -+# We need awk for the "check" target.  The system "awk" is bad on -+# some platforms. -+AC_REQUIRE([AC_PROG_AWK])dnl -+AC_REQUIRE([AC_PROG_MAKE_SET])dnl -+AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+ -+_AM_IF_OPTION([no-dependencies],, -+[AC_PROVIDE_IFELSE([AC_PROG_CC], -+                  [_AM_DEPENDENCIES(CC)], -+                  [define([AC_PROG_CC], -+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -+AC_PROVIDE_IFELSE([AC_PROG_CXX], -+                  [_AM_DEPENDENCIES(CXX)], -+                  [define([AC_PROG_CXX], -+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -+]) -+]) -+ -+ -+# When config.status generates a header, we must update the stamp-h file. -+# This file resides in the same directory as the config header -+# that is generated.  The stamp files are numbered to have different names. -+ -+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -+# loop where config.status creates the headers, so we can generate -+# our stamp files there. -+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -+[# Compute $1's index in $config_headers. -+_am_stamp_count=1 -+for _am_header in $config_headers :; do -+  case $_am_header in -+    $1 | $1:* ) -+      break ;; -+    * ) -+      _am_stamp_count=`expr $_am_stamp_count + 1` ;; -+  esac -+done -+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) -+ -+# AM_PROG_INSTALL_SH -+# ------------------ -+# Define $install_sh. -+ -+# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+AC_DEFUN([AM_PROG_INSTALL_SH], -+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+install_sh=${install_sh-"$am_aux_dir/install-sh"} -+AC_SUBST(install_sh)]) -+ -+#                                                          -*- Autoconf -*- -+# Copyright (C) 2003  Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 1 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot.  For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+  am__leading_dot=. -+else -+  am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Check to see how 'make' treats includes.	-*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 2 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+	@echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+   am__include=include -+   am__quote= -+   _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+   echo '.include "confinc"' > confmf -+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+      am__include=.include -+      am__quote="\"" -+      _am_result=BSD -+   fi -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+#  -*- Autoconf -*- -+ -+ -+# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 3 -+ -+# AM_MISSING_PROG(NAME, PROGRAM) -+# ------------------------------ -+AC_DEFUN([AM_MISSING_PROG], -+[AC_REQUIRE([AM_MISSING_HAS_RUN]) -+$1=${$1-"${am_missing_run}$2"} -+AC_SUBST($1)]) -+ -+ -+# AM_MISSING_HAS_RUN -+# ------------------ -+# Define MISSING if not defined so far and test if it supports --run. -+# If it does, set am_missing_run to use it, otherwise, to nothing. -+AC_DEFUN([AM_MISSING_HAS_RUN], -+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+  am_missing_run="$MISSING --run " -+else -+  am_missing_run= -+  AC_MSG_WARN([`missing' script is too old or missing]) -+fi -+]) -+ -+# AM_PROG_MKDIR_P -+# --------------- -+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -+ -+# Copyright (C) 2003, 2004 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories -+# created by `make install' are always world readable, even if the -+# installer happens to have an overly restrictive umask (e.g. 077). -+# This was a mistake.  There are at least two reasons why we must not -+# use `-m 0755': -+#   - it causes special bits like SGID to be ignored, -+#   - it may be too restrictive (some setups expect 775 directories). -+# -+# Do not use -m 0755 and let people choose whatever they expect by -+# setting umask. -+# -+# We cannot accept any implementation of `mkdir' that recognizes `-p'. -+# Some implementations (such as Solaris 8's) are not thread-safe: if a -+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' -+# concurrently, both version can detect that a/ is missing, but only -+# one can create it and the other will error out.  Consequently we -+# restrict ourselves to GNU make (using the --version option ensures -+# this.) -+AC_DEFUN([AM_PROG_MKDIR_P], -+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then -+  # Keeping the `.' argument allows $(mkdir_p) to be used without -+  # argument.  Indeed, we sometimes output rules like -+  #   $(mkdir_p) $(somedir) -+  # where $(somedir) is conditionally defined. -+  # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more -+  # expensive solution, as it forces Make to start a sub-shell.) -+  mkdir_p='mkdir -p -- .' -+else -+  # On NextStep and OpenStep, the `mkdir' command does not -+  # recognize any option.  It will interpret all options as -+  # directories to create, and then abort because `.' already -+  # exists. -+  for d in ./-p ./--version; -+  do -+    test -d $d && rmdir $d -+  done -+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. -+  if test -f "$ac_aux_dir/mkinstalldirs"; then -+    mkdir_p='$(mkinstalldirs)' -+  else -+    mkdir_p='$(install_sh) -d' -+  fi -+fi -+AC_SUBST([mkdir_p])]) -+ -+# Helper functions for option handling.                    -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 2 -+ -+# _AM_MANGLE_OPTION(NAME) -+# ----------------------- -+AC_DEFUN([_AM_MANGLE_OPTION], -+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) -+ -+# _AM_SET_OPTION(NAME) -+# ------------------------------ -+# Set option NAME.  Presently that only means defining a flag for this option. -+AC_DEFUN([_AM_SET_OPTION], -+[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) -+ -+# _AM_SET_OPTIONS(OPTIONS) -+# ---------------------------------- -+# OPTIONS is a space-separated list of Automake options. -+AC_DEFUN([_AM_SET_OPTIONS], -+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -+ -+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -+# ------------------------------------------- -+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -+AC_DEFUN([_AM_IF_OPTION], -+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -+ -+# -+# Check to make sure that the build environment is sane. -+# -+ -+# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# serial 3 -+ -+# AM_SANITY_CHECK -+# --------------- -+AC_DEFUN([AM_SANITY_CHECK], -+[AC_MSG_CHECKING([whether build environment is sane]) -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments.  Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` -+   if test "$[*]" = "X"; then -+      # -L didn't work. -+      set X `ls -t $srcdir/configure conftest.file` -+   fi -+   rm -f conftest.file -+   if test "$[*]" != "X $srcdir/configure conftest.file" \ -+      && test "$[*]" != "X conftest.file $srcdir/configure"; then -+ -+      # If neither matched, then we have a broken ls.  This can happen -+      # if, for instance, CONFIG_SHELL is bash and it inherits a -+      # broken ls alias from the environment.  This has actually -+      # happened.  Such a system could not be considered "sane". -+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken -+alias in your environment]) -+   fi -+ -+   test "$[2]" = conftest.file -+   ) -+then -+   # Ok. -+   : -+else -+   AC_MSG_ERROR([newly created file is older than distributed files! -+Check your system clock]) -+fi -+AC_MSG_RESULT(yes)]) -+ -+# AM_PROG_INSTALL_STRIP -+ -+# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# One issue with vendor `install' (even GNU) is that you can't -+# specify the program used to strip binaries.  This is especially -+# annoying in cross-compiling environments, where the build's strip -+# is unlikely to handle the host's binaries. -+# Fortunately install-sh will honor a STRIPPROG variable, so we -+# always use install-sh in `make install-strip', and initialize -+# STRIPPROG with the value of the STRIP variable (set by the user). -+AC_DEFUN([AM_PROG_INSTALL_STRIP], -+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -+# Installed binaries are usually stripped using `strip' when the user -+# run `make install-strip'.  However `strip' might not be the right -+# tool to use in cross-compilation environments, therefore Automake -+# will honor the `STRIP' environment variable to overrule this program. -+dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -+if test "$cross_compiling" != no; then -+  AC_CHECK_TOOL([STRIP], [strip], :) -+fi -+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -+AC_SUBST([INSTALL_STRIP_PROGRAM])]) -+ -diff --exclude CVS -urN genext2fs-1.3.orig/autogen.sh genext2fs/autogen.sh ---- genext2fs-1.3.orig/autogen.sh	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/autogen.sh	2004-11-21 23:24:52.000000000 -0700 -@@ -0,0 +1,22 @@ -+#!/bin/sh -+ -+die() { -+	echo "*** $0 failed :(" -+	exit 1 -+} -+ -+./clean.sh -+ -+automake_flags="-c -a" -+for p in aclocal autoconf automake ; do -+	flags=${p}_flags -+	if ! ${p} ${!flags} ; then -+		echo "*** ${p} failed :(" -+		exit 1 -+	fi -+done -+ -+echo -+echo "Now just run:" -+echo "./configure" -+echo "make" -diff --exclude CVS -urN genext2fs-1.3.orig/clean.sh genext2fs/clean.sh ---- genext2fs-1.3.orig/clean.sh	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/clean.sh	2004-11-21 23:24:52.000000000 -0700 -@@ -0,0 +1,13 @@ -+#!/bin/bash -+ -+for f in \ -+	`find . -name Makefile.in -o -name Makefile` \ -+	`find . -name .libs -o -name .deps` \ -+	`find . -name '*.o' -o -name '*.la' -o -name '*.lo' -o -name '*.loT'` \ -+	aclocal.m4* autom4te.cache \ -+	configure config.* \ -+	depcomp install-sh ltmain.sh missing mkinstalldirs libtool \ -+	genext2fs -+do -+	rm -rf $f -+done -diff --exclude CVS -urN genext2fs-1.3.orig/configure genext2fs/configure ---- genext2fs-1.3.orig/configure	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/configure	2004-12-27 13:03:46.000000000 -0700 -@@ -0,0 +1,4034 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.59. -+# -+# Copyright (C) 2003 Free Software Foundation, Inc. -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## --------------------- ## -+## M4sh Initialization.  ## -+## --------------------- ## -+ -+# Be Bourne compatible -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -+  emulate sh -+  NULLCMD=: -+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which -+  # is contrary to our usage.  Disable this feature. -+  alias -g '${1+"$@"}'='"$@"' -+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then -+  set -o posix -+fi -+DUALCASE=1; export DUALCASE # for MKS sh -+ -+# Support unset when possible. -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -+  as_unset=unset -+else -+  as_unset=false -+fi -+ -+ -+# Work around bugs in pre-3.0 UWIN ksh. -+$as_unset ENV MAIL MAILPATH -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+for as_var in \ -+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ -+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ -+  LC_TELEPHONE LC_TIME -+do -+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then -+    eval $as_var=C; export $as_var -+  else -+    $as_unset $as_var -+  fi -+done -+ -+# Required to use basename. -+if expr a : '\(a\)' >/dev/null 2>&1; then -+  as_expr=expr -+else -+  as_expr=false -+fi -+ -+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then -+  as_basename=basename -+else -+  as_basename=false -+fi -+ -+ -+# Name of the executable. -+as_me=`$as_basename "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+	 X"$0" : 'X\(//\)$' \| \ -+	 X"$0" : 'X\(/\)$' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X/"$0" | -+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } -+  	  /^X\/\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\/\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+ -+ -+# PATH needs CR, and LINENO needs CR and PATH. -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+  echo "#! /bin/sh" >conf$$.sh -+  echo  "exit 0"   >>conf$$.sh -+  chmod +x conf$$.sh -+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then -+    PATH_SEPARATOR=';' -+  else -+    PATH_SEPARATOR=: -+  fi -+  rm -f conf$$.sh -+fi -+ -+ -+  as_lineno_1=$LINENO -+  as_lineno_2=$LINENO -+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -+  test "x$as_lineno_1" != "x$as_lineno_2" && -+  test "x$as_lineno_3"  = "x$as_lineno_2"  || { -+  # Find who we are.  Look in the path if we contain no path at all -+  # relative or not. -+  case $0 in -+    *[\\/]* ) as_myself=$0 ;; -+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+done -+ -+       ;; -+  esac -+  # We did not find ourselves, most probably we were run as `sh COMMAND' -+  # in which case we are not to be found in the path. -+  if test "x$as_myself" = x; then -+    as_myself=$0 -+  fi -+  if test ! -f "$as_myself"; then -+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 -+   { (exit 1); exit 1; }; } -+  fi -+  case $CONFIG_SHELL in -+  '') -+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for as_base in sh bash ksh sh5; do -+	 case $as_dir in -+	 /*) -+	   if ("$as_dir/$as_base" -c ' -+  as_lineno_1=$LINENO -+  as_lineno_2=$LINENO -+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -+  test "x$as_lineno_1" != "x$as_lineno_2" && -+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then -+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } -+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } -+	     CONFIG_SHELL=$as_dir/$as_base -+	     export CONFIG_SHELL -+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"} -+	   fi;; -+	 esac -+       done -+done -+;; -+  esac -+ -+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO -+  # uniformly replaced by the line number.  The first 'sed' inserts a -+  # line-number line before each line; the second 'sed' does the real -+  # work.  The second script uses 'N' to pair each line-number line -+  # with the numbered line, and appends trailing '-' during -+  # substitution so that $LINENO is not a special case at line end. -+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the -+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-) -+  sed '=' <$as_myself | -+    sed ' -+      N -+      s,$,-, -+      : loop -+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, -+      t loop -+      s,-$,, -+      s,^['$as_cr_digits']*\n,, -+    ' >$as_me.lineno && -+  chmod +x $as_me.lineno || -+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -+   { (exit 1); exit 1; }; } -+ -+  # Don't try to exec as it changes $[0], causing all sort of problems -+  # (the dirname of $[0] is not the place where we might find the -+  # original and so on.  Autoconf is especially sensible to this). -+  . ./$as_me.lineno -+  # Exit status is that of the last command. -+  exit -+} -+ -+ -+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in -+  *c*,-n*) ECHO_N= ECHO_C=' -+' ECHO_T='	' ;; -+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;; -+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;; -+esac -+ -+if expr a : '\(a\)' >/dev/null 2>&1; then -+  as_expr=expr -+else -+  as_expr=false -+fi -+ -+rm -f conf$$ conf$$.exe conf$$.file -+echo >conf$$.file -+if ln -s conf$$.file conf$$ 2>/dev/null; then -+  # We could just check for DJGPP; but this test a) works b) is more generic -+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). -+  if test -f conf$$.exe; then -+    # Don't use ln at all; we don't have any links -+    as_ln_s='cp -p' -+  else -+    as_ln_s='ln -s' -+  fi -+elif ln conf$$.file conf$$ 2>/dev/null; then -+  as_ln_s=ln -+else -+  as_ln_s='cp -p' -+fi -+rm -f conf$$ conf$$.exe conf$$.file -+ -+if mkdir -p . 2>/dev/null; then -+  as_mkdir_p=: -+else -+  test -d ./-p && rmdir ./-p -+  as_mkdir_p=false -+fi -+ -+as_executable_p="test -f" -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. -+as_nl=' -+' -+IFS=" 	$as_nl" -+ -+# CDPATH. -+$as_unset CDPATH -+ -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+exec 6>&1 -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_config_libobj_dir=. -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+SHELL=${CONFIG_SHELL-/bin/sh} -+ -+# Maximum number of lines to put in a shell here document. -+# This variable seems obsolete.  It should probably be removed, and -+# only ac_max_sed_lines should be used. -+: ${ac_max_here_lines=38} -+ -+# Identity of this package. -+PACKAGE_NAME= -+PACKAGE_TARNAME= -+PACKAGE_VERSION= -+PACKAGE_STRING= -+PACKAGE_BUGREPORT= -+ -+ac_unique_file="genext2fs.c" -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LIBOBJS LTLIBOBJS' -+ac_subst_files='' -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datadir='${prefix}/share' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+libdir='${exec_prefix}/lib' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+infodir='${prefix}/info' -+mandir='${prefix}/man' -+ -+ac_prev= -+for ac_option -+do -+  # If the previous option needs an argument, assign it. -+  if test -n "$ac_prev"; then -+    eval "$ac_prev=\$ac_option" -+    ac_prev= -+    continue -+  fi -+ -+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` -+ -+  # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+  case $ac_option in -+ -+  -bindir | --bindir | --bindi | --bind | --bin | --bi) -+    ac_prev=bindir ;; -+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+    bindir=$ac_optarg ;; -+ -+  -build | --build | --buil | --bui | --bu) -+    ac_prev=build_alias ;; -+  -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+    build_alias=$ac_optarg ;; -+ -+  -cache-file | --cache-file | --cache-fil | --cache-fi \ -+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+    ac_prev=cache_file ;; -+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+    cache_file=$ac_optarg ;; -+ -+  --config-cache | -C) -+    cache_file=config.cache ;; -+ -+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da) -+    ac_prev=datadir ;; -+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ -+  | --da=*) -+    datadir=$ac_optarg ;; -+ -+  -disable-* | --disable-*) -+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+    # Reject names that are not valid shell variable names. -+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && -+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -+   { (exit 1); exit 1; }; } -+    ac_feature=`echo $ac_feature | sed 's/-/_/g'` -+    eval "enable_$ac_feature=no" ;; -+ -+  -enable-* | --enable-*) -+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+    # Reject names that are not valid shell variable names. -+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && -+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -+   { (exit 1); exit 1; }; } -+    ac_feature=`echo $ac_feature | sed 's/-/_/g'` -+    case $ac_option in -+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; -+      *) ac_optarg=yes ;; -+    esac -+    eval "enable_$ac_feature='$ac_optarg'" ;; -+ -+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+  | --exec | --exe | --ex) -+    ac_prev=exec_prefix ;; -+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+  | --exec=* | --exe=* | --ex=*) -+    exec_prefix=$ac_optarg ;; -+ -+  -gas | --gas | --ga | --g) -+    # Obsolete; use --with-gas. -+    with_gas=yes ;; -+ -+  -help | --help | --hel | --he | -h) -+    ac_init_help=long ;; -+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+    ac_init_help=recursive ;; -+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+    ac_init_help=short ;; -+ -+  -host | --host | --hos | --ho) -+    ac_prev=host_alias ;; -+  -host=* | --host=* | --hos=* | --ho=*) -+    host_alias=$ac_optarg ;; -+ -+  -includedir | --includedir | --includedi | --included | --include \ -+  | --includ | --inclu | --incl | --inc) -+    ac_prev=includedir ;; -+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+  | --includ=* | --inclu=* | --incl=* | --inc=*) -+    includedir=$ac_optarg ;; -+ -+  -infodir | --infodir | --infodi | --infod | --info | --inf) -+    ac_prev=infodir ;; -+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+    infodir=$ac_optarg ;; -+ -+  -libdir | --libdir | --libdi | --libd) -+    ac_prev=libdir ;; -+  -libdir=* | --libdir=* | --libdi=* | --libd=*) -+    libdir=$ac_optarg ;; -+ -+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+  | --libexe | --libex | --libe) -+    ac_prev=libexecdir ;; -+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+  | --libexe=* | --libex=* | --libe=*) -+    libexecdir=$ac_optarg ;; -+ -+  -localstatedir | --localstatedir | --localstatedi | --localstated \ -+  | --localstate | --localstat | --localsta | --localst \ -+  | --locals | --local | --loca | --loc | --lo) -+    ac_prev=localstatedir ;; -+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \ -+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) -+    localstatedir=$ac_optarg ;; -+ -+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+    ac_prev=mandir ;; -+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+    mandir=$ac_optarg ;; -+ -+  -nfp | --nfp | --nf) -+    # Obsolete; use --without-fp. -+    with_fp=no ;; -+ -+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+  | --no-cr | --no-c | -n) -+    no_create=yes ;; -+ -+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+    no_recursion=yes ;; -+ -+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+  | --oldin | --oldi | --old | --ol | --o) -+    ac_prev=oldincludedir ;; -+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+    oldincludedir=$ac_optarg ;; -+ -+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+    ac_prev=prefix ;; -+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+    prefix=$ac_optarg ;; -+ -+  -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+  | --program-pre | --program-pr | --program-p) -+    ac_prev=program_prefix ;; -+  -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+    program_prefix=$ac_optarg ;; -+ -+  -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+  | --program-suf | --program-su | --program-s) -+    ac_prev=program_suffix ;; -+  -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+    program_suffix=$ac_optarg ;; -+ -+  -program-transform-name | --program-transform-name \ -+  | --program-transform-nam | --program-transform-na \ -+  | --program-transform-n | --program-transform- \ -+  | --program-transform | --program-transfor \ -+  | --program-transfo | --program-transf \ -+  | --program-trans | --program-tran \ -+  | --progr-tra | --program-tr | --program-t) -+    ac_prev=program_transform_name ;; -+  -program-transform-name=* | --program-transform-name=* \ -+  | --program-transform-nam=* | --program-transform-na=* \ -+  | --program-transform-n=* | --program-transform-=* \ -+  | --program-transform=* | --program-transfor=* \ -+  | --program-transfo=* | --program-transf=* \ -+  | --program-trans=* | --program-tran=* \ -+  | --progr-tra=* | --program-tr=* | --program-t=*) -+    program_transform_name=$ac_optarg ;; -+ -+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+  | -silent | --silent | --silen | --sile | --sil) -+    silent=yes ;; -+ -+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+    ac_prev=sbindir ;; -+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+  | --sbi=* | --sb=*) -+    sbindir=$ac_optarg ;; -+ -+  -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+  | --sharedst | --shareds | --shared | --share | --shar \ -+  | --sha | --sh) -+    ac_prev=sharedstatedir ;; -+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+  | --sha=* | --sh=*) -+    sharedstatedir=$ac_optarg ;; -+ -+  -site | --site | --sit) -+    ac_prev=site ;; -+  -site=* | --site=* | --sit=*) -+    site=$ac_optarg ;; -+ -+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+    ac_prev=srcdir ;; -+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+    srcdir=$ac_optarg ;; -+ -+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+  | --syscon | --sysco | --sysc | --sys | --sy) -+    ac_prev=sysconfdir ;; -+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+    sysconfdir=$ac_optarg ;; -+ -+  -target | --target | --targe | --targ | --tar | --ta | --t) -+    ac_prev=target_alias ;; -+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+    target_alias=$ac_optarg ;; -+ -+  -v | -verbose | --verbose | --verbos | --verbo | --verb) -+    verbose=yes ;; -+ -+  -version | --version | --versio | --versi | --vers | -V) -+    ac_init_version=: ;; -+ -+  -with-* | --with-*) -+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+    # Reject names that are not valid shell variable names. -+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && -+      { echo "$as_me: error: invalid package name: $ac_package" >&2 -+   { (exit 1); exit 1; }; } -+    ac_package=`echo $ac_package| sed 's/-/_/g'` -+    case $ac_option in -+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; -+      *) ac_optarg=yes ;; -+    esac -+    eval "with_$ac_package='$ac_optarg'" ;; -+ -+  -without-* | --without-*) -+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+    # Reject names that are not valid shell variable names. -+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && -+      { echo "$as_me: error: invalid package name: $ac_package" >&2 -+   { (exit 1); exit 1; }; } -+    ac_package=`echo $ac_package | sed 's/-/_/g'` -+    eval "with_$ac_package=no" ;; -+ -+  --x) -+    # Obsolete; use --with-x. -+    with_x=yes ;; -+ -+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+  | --x-incl | --x-inc | --x-in | --x-i) -+    ac_prev=x_includes ;; -+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+    x_includes=$ac_optarg ;; -+ -+  -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+    ac_prev=x_libraries ;; -+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+    x_libraries=$ac_optarg ;; -+ -+  -*) { echo "$as_me: error: unrecognized option: $ac_option -+Try \`$0 --help' for more information." >&2 -+   { (exit 1); exit 1; }; } -+    ;; -+ -+  *=*) -+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+    # Reject names that are not valid shell variable names. -+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && -+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 -+   { (exit 1); exit 1; }; } -+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` -+    eval "$ac_envvar='$ac_optarg'" -+    export $ac_envvar ;; -+ -+  *) -+    # FIXME: should be removed in autoconf 3.0. -+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} -+    ;; -+ -+  esac -+done -+ -+if test -n "$ac_prev"; then -+  ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+  { echo "$as_me: error: missing argument to $ac_option" >&2 -+   { (exit 1); exit 1; }; } -+fi -+ -+# Be sure to have absolute paths. -+for ac_var in exec_prefix prefix -+do -+  eval ac_val=$`echo $ac_var` -+  case $ac_val in -+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;; -+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 -+   { (exit 1); exit 1; }; };; -+  esac -+done -+ -+# Be sure to have absolute paths. -+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ -+	      localstatedir libdir includedir oldincludedir infodir mandir -+do -+  eval ac_val=$`echo $ac_var` -+  case $ac_val in -+    [\\/$]* | ?:[\\/]* ) ;; -+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 -+   { (exit 1); exit 1; }; };; -+  esac -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+  if test "x$build_alias" = x; then -+    cross_compiling=maybe -+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. -+    If a cross compiler is detected then cross compile mode will be used." >&2 -+  elif test "x$build_alias" != "x$host_alias"; then -+    cross_compiling=yes -+  fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+  ac_srcdir_defaulted=yes -+  # Try the directory containing this script, then its parent. -+  ac_confdir=`(dirname "$0") 2>/dev/null || -+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$0" : 'X\(//\)[^/]' \| \ -+	 X"$0" : 'X\(//\)$' \| \ -+	 X"$0" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$0" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+  srcdir=$ac_confdir -+  if test ! -r $srcdir/$ac_unique_file; then -+    srcdir=.. -+  fi -+else -+  ac_srcdir_defaulted=no -+fi -+if test ! -r $srcdir/$ac_unique_file; then -+  if test "$ac_srcdir_defaulted" = yes; then -+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 -+   { (exit 1); exit 1; }; } -+  else -+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 -+   { (exit 1); exit 1; }; } -+  fi -+fi -+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || -+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 -+   { (exit 1); exit 1; }; } -+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -+ac_env_build_alias_set=${build_alias+set} -+ac_env_build_alias_value=$build_alias -+ac_cv_env_build_alias_set=${build_alias+set} -+ac_cv_env_build_alias_value=$build_alias -+ac_env_host_alias_set=${host_alias+set} -+ac_env_host_alias_value=$host_alias -+ac_cv_env_host_alias_set=${host_alias+set} -+ac_cv_env_host_alias_value=$host_alias -+ac_env_target_alias_set=${target_alias+set} -+ac_env_target_alias_value=$target_alias -+ac_cv_env_target_alias_set=${target_alias+set} -+ac_cv_env_target_alias_value=$target_alias -+ac_env_CC_set=${CC+set} -+ac_env_CC_value=$CC -+ac_cv_env_CC_set=${CC+set} -+ac_cv_env_CC_value=$CC -+ac_env_CFLAGS_set=${CFLAGS+set} -+ac_env_CFLAGS_value=$CFLAGS -+ac_cv_env_CFLAGS_set=${CFLAGS+set} -+ac_cv_env_CFLAGS_value=$CFLAGS -+ac_env_LDFLAGS_set=${LDFLAGS+set} -+ac_env_LDFLAGS_value=$LDFLAGS -+ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -+ac_cv_env_LDFLAGS_value=$LDFLAGS -+ac_env_CPPFLAGS_set=${CPPFLAGS+set} -+ac_env_CPPFLAGS_value=$CPPFLAGS -+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -+ac_cv_env_CPPFLAGS_value=$CPPFLAGS -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+  # Omit some internal or obsolete options to make the list less imposing. -+  # This message is too long to be a string in the A/UX 3.1 sh. -+  cat <<_ACEOF -+\`configure' configures this package to adapt to many kinds of systems. -+ -+Usage: $0 [OPTION]... [VAR=VALUE]... -+ -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE.  See below for descriptions of some of the useful variables. -+ -+Defaults for the options are specified in brackets. -+ -+Configuration: -+  -h, --help              display this help and exit -+      --help=short        display options specific to this package -+      --help=recursive    display the short help of all the included packages -+  -V, --version           display version information and exit -+  -q, --quiet, --silent   do not print \`checking...' messages -+      --cache-file=FILE   cache test results in FILE [disabled] -+  -C, --config-cache      alias for \`--cache-file=config.cache' -+  -n, --no-create         do not create output files -+      --srcdir=DIR        find the sources in DIR [configure dir or \`..'] -+ -+_ACEOF -+ -+  cat <<_ACEOF -+Installation directories: -+  --prefix=PREFIX         install architecture-independent files in PREFIX -+			  [$ac_default_prefix] -+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX -+			  [PREFIX] -+ -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. -+ -+For better control, use the options below. -+ -+Fine tuning of the installation directories: -+  --bindir=DIR           user executables [EPREFIX/bin] -+  --sbindir=DIR          system admin executables [EPREFIX/sbin] -+  --libexecdir=DIR       program executables [EPREFIX/libexec] -+  --datadir=DIR          read-only architecture-independent data [PREFIX/share] -+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc] -+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com] -+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var] -+  --libdir=DIR           object code libraries [EPREFIX/lib] -+  --includedir=DIR       C header files [PREFIX/include] -+  --oldincludedir=DIR    C header files for non-gcc [/usr/include] -+  --infodir=DIR          info documentation [PREFIX/info] -+  --mandir=DIR           man documentation [PREFIX/man] -+_ACEOF -+ -+  cat <<\_ACEOF -+ -+Program names: -+  --program-prefix=PREFIX            prepend PREFIX to installed program names -+  --program-suffix=SUFFIX            append SUFFIX to installed program names -+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names -+_ACEOF -+fi -+ -+if test -n "$ac_init_help"; then -+ -+  cat <<\_ACEOF -+ -+Optional Features: -+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no) -+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes] -+  --disable-dependency-tracking  speeds up one-time build -+  --enable-dependency-tracking   do not reject slow dependency extractors -+ -+Some influential environment variables: -+  CC          C compiler command -+  CFLAGS      C compiler flags -+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a -+              nonstandard directory <lib dir> -+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have -+              headers in a nonstandard directory <include dir> -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+_ACEOF -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+  # If there are subdirs, report their specific --help. -+  ac_popdir=`pwd` -+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+    test -d $ac_dir || continue -+    ac_builddir=. -+ -+if test "$ac_dir" != .; then -+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` -+  # A "../" for each directory in $ac_dir_suffix. -+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -+else -+  ac_dir_suffix= ac_top_builddir= -+fi -+ -+case $srcdir in -+  .)  # No --srcdir option.  We are building in place. -+    ac_srcdir=. -+    if test -z "$ac_top_builddir"; then -+       ac_top_srcdir=. -+    else -+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` -+    fi ;; -+  [\\/]* | ?:[\\/]* )  # Absolute path. -+    ac_srcdir=$srcdir$ac_dir_suffix; -+    ac_top_srcdir=$srcdir ;; -+  *) # Relative path. -+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix -+    ac_top_srcdir=$ac_top_builddir$srcdir ;; -+esac -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+  case "$ac_dir" in -+  .) ac_abs_builddir=`pwd`;; -+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+  *) ac_abs_builddir=`pwd`/"$ac_dir";; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+  case ${ac_top_builddir}. in -+  .) ac_abs_top_builddir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+  case $ac_srcdir in -+  .) ac_abs_srcdir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+  case $ac_top_srcdir in -+  .) ac_abs_top_srcdir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+  esac;; -+esac -+ -+    cd $ac_dir -+    # Check for guested configure; otherwise get Cygnus style configure. -+    if test -f $ac_srcdir/configure.gnu; then -+      echo -+      $SHELL $ac_srcdir/configure.gnu  --help=recursive -+    elif test -f $ac_srcdir/configure; then -+      echo -+      $SHELL $ac_srcdir/configure  --help=recursive -+    elif test -f $ac_srcdir/configure.ac || -+	   test -f $ac_srcdir/configure.in; then -+      echo -+      $ac_configure --help -+    else -+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+    fi -+    cd "$ac_popdir" -+  done -+fi -+ -+test -n "$ac_init_help" && exit 0 -+if $ac_init_version; then -+  cat <<\_ACEOF -+ -+Copyright (C) 2003 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+  exit 0 -+fi -+exec 5>config.log -+cat >&5 <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+ -+It was created by $as_me, which was -+generated by GNU Autoconf 2.59.  Invocation command line was -+ -+  $ $0 $@ -+ -+_ACEOF -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## -+ -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown` -+ -+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown` -+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown` -+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown` -+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown` -+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown` -+ -+_ASUNAME -+ -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  echo "PATH: $as_dir" -+done -+ -+} >&5 -+ -+cat >&5 <<_ACEOF -+ -+ -+## ----------- ## -+## Core tests. ## -+## ----------- ## -+ -+_ACEOF -+ -+ -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_sep= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+  for ac_arg -+  do -+    case $ac_arg in -+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+    | -silent | --silent | --silen | --sile | --sil) -+      continue ;; -+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) -+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+    esac -+    case $ac_pass in -+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; -+    2) -+      ac_configure_args1="$ac_configure_args1 '$ac_arg'" -+      if test $ac_must_keep_next = true; then -+	ac_must_keep_next=false # Got value, back to normal. -+      else -+	case $ac_arg in -+	  *=* | --config-cache | -C | -disable-* | --disable-* \ -+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+	  | -with-* | --with-* | -without-* | --without-* | --x) -+	    case "$ac_configure_args0 " in -+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+	    esac -+	    ;; -+	  -* ) ac_must_keep_next=true ;; -+	esac -+      fi -+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" -+      # Get rid of the leading space. -+      ac_sep=" " -+      ;; -+    esac -+  done -+done -+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log.  We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Be sure not to use single quotes in there, as some shells, -+# such as our DU 5.0 friend, will then `close' the trap. -+trap 'exit_status=$? -+  # Save into config.log some information that might help in debugging. -+  { -+    echo -+ -+    cat <<\_ASBOX -+## ---------------- ## -+## Cache variables. ## -+## ---------------- ## -+_ASBOX -+    echo -+    # The following way of writing the cache mishandles newlines in values, -+{ -+  (set) 2>&1 | -+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in -+    *ac_space=\ *) -+      sed -n \ -+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g; -+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" -+      ;; -+    *) -+      sed -n \ -+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+      ;; -+    esac; -+} -+    echo -+ -+    cat <<\_ASBOX -+## ----------------- ## -+## Output variables. ## -+## ----------------- ## -+_ASBOX -+    echo -+    for ac_var in $ac_subst_vars -+    do -+      eval ac_val=$`echo $ac_var` -+      echo "$ac_var='"'"'$ac_val'"'"'" -+    done | sort -+    echo -+ -+    if test -n "$ac_subst_files"; then -+      cat <<\_ASBOX -+## ------------- ## -+## Output files. ## -+## ------------- ## -+_ASBOX -+      echo -+      for ac_var in $ac_subst_files -+      do -+	eval ac_val=$`echo $ac_var` -+	echo "$ac_var='"'"'$ac_val'"'"'" -+      done | sort -+      echo -+    fi -+ -+    if test -s confdefs.h; then -+      cat <<\_ASBOX -+## ----------- ## -+## confdefs.h. ## -+## ----------- ## -+_ASBOX -+      echo -+      sed "/^$/d" confdefs.h | sort -+      echo -+    fi -+    test "$ac_signal" != 0 && -+      echo "$as_me: caught signal $ac_signal" -+    echo "$as_me: exit $exit_status" -+  } >&5 -+  rm -f core *.core && -+  rm -rf conftest* confdefs* conf$$* $ac_clean_files && -+    exit $exit_status -+     ' 0 -+for ac_signal in 1 2 13 15; do -+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -rf conftest* confdefs.h -+# AIX cpp loses on an empty file, so make sure it contains at least a newline. -+echo >confdefs.h -+ -+# Predefined preprocessor variables. -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF -+ -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer explicitly selected file to automatically selected ones. -+if test -z "$CONFIG_SITE"; then -+  if test "x$prefix" != xNONE; then -+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" -+  else -+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -+  fi -+fi -+for ac_site_file in $CONFIG_SITE; do -+  if test -r "$ac_site_file"; then -+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -+echo "$as_me: loading site script $ac_site_file" >&6;} -+    sed 's/^/| /' "$ac_site_file" >&5 -+    . "$ac_site_file" -+  fi -+done -+ -+if test -r "$cache_file"; then -+  # Some versions of bash will fail to source /dev/null (special -+  # files actually), so we avoid doing that. -+  if test -f "$cache_file"; then -+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -+echo "$as_me: loading cache $cache_file" >&6;} -+    case $cache_file in -+      [\\/]* | ?:[\\/]* ) . $cache_file;; -+      *)                      . ./$cache_file;; -+    esac -+  fi -+else -+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -+echo "$as_me: creating cache $cache_file" >&6;} -+  >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in `(set) 2>&1 | -+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do -+  eval ac_old_set=\$ac_cv_env_${ac_var}_set -+  eval ac_new_set=\$ac_env_${ac_var}_set -+  eval ac_old_val="\$ac_cv_env_${ac_var}_value" -+  eval ac_new_val="\$ac_env_${ac_var}_value" -+  case $ac_old_set,$ac_new_set in -+    set,) -+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+      ac_cache_corrupted=: ;; -+    ,set) -+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+      ac_cache_corrupted=: ;; -+    ,);; -+    *) -+      if test "x$ac_old_val" != "x$ac_new_val"; then -+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5 -+echo "$as_me:   former value:  $ac_old_val" >&2;} -+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5 -+echo "$as_me:   current value: $ac_new_val" >&2;} -+	ac_cache_corrupted=: -+      fi;; -+  esac -+  # Pass precious variables to config.status. -+  if test "$ac_new_set" = set; then -+    case $ac_new_val in -+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) -+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+    *) ac_arg=$ac_var=$ac_new_val ;; -+    esac -+    case " $ac_configure_args " in -+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy. -+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; -+    esac -+  fi -+done -+if $ac_cache_corrupted; then -+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -+echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} -+   { (exit 1); exit 1; }; } -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+am__api_version="1.8" -+ac_aux_dir= -+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do -+  if test -f $ac_dir/install-sh; then -+    ac_aux_dir=$ac_dir -+    ac_install_sh="$ac_aux_dir/install-sh -c" -+    break -+  elif test -f $ac_dir/install.sh; then -+    ac_aux_dir=$ac_dir -+    ac_install_sh="$ac_aux_dir/install.sh -c" -+    break -+  elif test -f $ac_dir/shtool; then -+    ac_aux_dir=$ac_dir -+    ac_install_sh="$ac_aux_dir/shtool install -c" -+    break -+  fi -+done -+if test -z "$ac_aux_dir"; then -+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} -+   { (exit 1); exit 1; }; } -+fi -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" -+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. -+ -+# Find a good install program.  We prefer a C program (faster), -+# so one script is as good as another.  But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -+if test -z "$INSTALL"; then -+if test "${ac_cv_path_install+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in -+  ./ | .// | /cC/* | \ -+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ -+  /usr/ucb/* ) ;; -+  *) -+    # OSF1 and SCO ODT 3.0 have their own names for install. -+    # Don't use installbsd from OSF since it installs stuff as root -+    # by default. -+    for ac_prog in ginstall scoinst install; do -+      for ac_exec_ext in '' $ac_executable_extensions; do -+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+	  if test $ac_prog = install && -+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+	    # AIX install.  It has an incompatible calling convention. -+	    : -+	  elif test $ac_prog = install && -+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+	    # program-specific install script used by HP pwplus--don't use. -+	    : -+	  else -+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+	    break 3 -+	  fi -+	fi -+      done -+    done -+    ;; -+esac -+done -+ -+ -+fi -+  if test "${ac_cv_path_install+set}" = set; then -+    INSTALL=$ac_cv_path_install -+  else -+    # As a last resort, use the slow shell script.  We don't cache a -+    # path for INSTALL within a source directory, because that will -+    # break other packages using the cache if that directory is -+    # removed, or if the path is relative. -+    INSTALL=$ac_install_sh -+  fi -+fi -+echo "$as_me:$LINENO: result: $INSTALL" >&5 -+echo "${ECHO_T}$INSTALL" >&6 -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments.  Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` -+   if test "$*" = "X"; then -+      # -L didn't work. -+      set X `ls -t $srcdir/configure conftest.file` -+   fi -+   rm -f conftest.file -+   if test "$*" != "X $srcdir/configure conftest.file" \ -+      && test "$*" != "X conftest.file $srcdir/configure"; then -+ -+      # If neither matched, then we have a broken ls.  This can happen -+      # if, for instance, CONFIG_SHELL is bash and it inherits a -+      # broken ls alias from the environment.  This has actually -+      # happened.  Such a system could not be considered "sane". -+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken -+alias in your environment" >&5 -+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken -+alias in your environment" >&2;} -+   { (exit 1); exit 1; }; } -+   fi -+ -+   test "$2" = conftest.file -+   ) -+then -+   # Ok. -+   : -+else -+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -+Check your system clock" >&5 -+echo "$as_me: error: newly created file is older than distributed files! -+Check your system clock" >&2;} -+   { (exit 1); exit 1; }; } -+fi -+echo "$as_me:$LINENO: result: yes" >&5 -+echo "${ECHO_T}yes" >&6 -+test "$program_prefix" != NONE && -+  program_transform_name="s,^,$program_prefix,;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+  program_transform_name="s,\$,$program_suffix,;$program_transform_name" -+# Double any \ or $.  echo might interpret backslashes. -+# By default was `s,x,x', remove it if useless. -+cat <<\_ACEOF >conftest.sed -+s/[\\$]/&&/g;s/;s,x,x,$// -+_ACEOF -+program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -+rm conftest.sed -+ -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`cd $ac_aux_dir && pwd` -+ -+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+  am_missing_run="$MISSING --run " -+else -+  am_missing_run= -+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -+fi -+ -+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then -+  # Keeping the `.' argument allows $(mkdir_p) to be used without -+  # argument.  Indeed, we sometimes output rules like -+  #   $(mkdir_p) $(somedir) -+  # where $(somedir) is conditionally defined. -+  # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more -+  # expensive solution, as it forces Make to start a sub-shell.) -+  mkdir_p='mkdir -p -- .' -+else -+  # On NextStep and OpenStep, the `mkdir' command does not -+  # recognize any option.  It will interpret all options as -+  # directories to create, and then abort because `.' already -+  # exists. -+  for d in ./-p ./--version; -+  do -+    test -d $d && rmdir $d -+  done -+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. -+  if test -f "$ac_aux_dir/mkinstalldirs"; then -+    mkdir_p='$(mkinstalldirs)' -+  else -+    mkdir_p='$(install_sh) -d' -+  fi -+fi -+ -+for ac_prog in gawk mawk nawk awk -+do -+  # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_AWK+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$AWK"; then -+  ac_cv_prog_AWK="$AWK" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_AWK="$ac_prog" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+AWK=$ac_cv_prog_AWK -+if test -n "$AWK"; then -+  echo "$as_me:$LINENO: result: $AWK" >&5 -+echo "${ECHO_T}$AWK" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+  test -n "$AWK" && break -+done -+ -+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` -+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  cat >conftest.make <<\_ACEOF -+all: -+	@echo 'ac_maketemp="$(MAKE)"' -+_ACEOF -+# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -+if test -n "$ac_maketemp"; then -+  eval ac_cv_prog_make_${ac_make}_set=yes -+else -+  eval ac_cv_prog_make_${ac_make}_set=no -+fi -+rm -f conftest.make -+fi -+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then -+  echo "$as_me:$LINENO: result: yes" >&5 -+echo "${ECHO_T}yes" >&6 -+  SET_MAKE= -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+  SET_MAKE="MAKE=${MAKE-make}" -+fi -+ -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+  am__leading_dot=. -+else -+  am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+# test to see if srcdir already configured -+if test "`cd $srcdir && pwd`" != "`pwd`" && -+   test -f $srcdir/config.status; then -+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} -+   { (exit 1); exit 1; }; } -+fi -+ -+# test whether we have cygpath -+if test -z "$CYGPATH_W"; then -+  if (cygpath --version) >/dev/null 2>/dev/null; then -+    CYGPATH_W='cygpath -w' -+  else -+    CYGPATH_W=echo -+  fi -+fi -+ -+ -+# Define the identity of the package. -+ PACKAGE=genext2fs -+ VERSION=1.3 -+ -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE "$PACKAGE" -+_ACEOF -+ -+ -+cat >>confdefs.h <<_ACEOF -+#define VERSION "$VERSION" -+_ACEOF -+ -+# Some tools Automake needs. -+ -+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -+ -+ -+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} -+ -+ -+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} -+ -+ -+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} -+ -+ -+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -+ -+ -+AMTAR=${AMTAR-"${am_missing_run}tar"} -+ -+install_sh=${install_sh-"$am_aux_dir/install-sh"} -+ -+# Installed binaries are usually stripped using `strip' when the user -+# run `make install-strip'.  However `strip' might not be the right -+# tool to use in cross-compilation environments, therefore Automake -+# will honor the `STRIP' environment variable to overrule this program. -+if test "$cross_compiling" != no; then -+  if test -n "$ac_tool_prefix"; then -+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -+set dummy ${ac_tool_prefix}strip; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_STRIP+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$STRIP"; then -+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_STRIP="${ac_tool_prefix}strip" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+STRIP=$ac_cv_prog_STRIP -+if test -n "$STRIP"; then -+  echo "$as_me:$LINENO: result: $STRIP" >&5 -+echo "${ECHO_T}$STRIP" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$ac_cv_prog_STRIP"; then -+  ac_ct_STRIP=$STRIP -+  # Extract the first word of "strip", so it can be a program name with args. -+set dummy strip; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$ac_ct_STRIP"; then -+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_ac_ct_STRIP="strip" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -+fi -+fi -+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -+if test -n "$ac_ct_STRIP"; then -+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -+echo "${ECHO_T}$ac_ct_STRIP" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+  STRIP=$ac_ct_STRIP -+else -+  STRIP="$ac_cv_prog_STRIP" -+fi -+ -+fi -+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -+ -+# We need awk for the "check" target.  The system "awk" is bad on -+# some platforms. -+ -+ -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+if test -n "$ac_tool_prefix"; then -+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -+set dummy ${ac_tool_prefix}gcc; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$CC"; then -+  ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_CC="${ac_tool_prefix}gcc" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+  echo "$as_me:$LINENO: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$ac_cv_prog_CC"; then -+  ac_ct_CC=$CC -+  # Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$ac_ct_CC"; then -+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_ac_ct_CC="gcc" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+ac_ct_CC=$ac_cv_prog_ac_ct_CC -+if test -n "$ac_ct_CC"; then -+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -+echo "${ECHO_T}$ac_ct_CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+  CC=$ac_ct_CC -+else -+  CC="$ac_cv_prog_CC" -+fi -+ -+if test -z "$CC"; then -+  if test -n "$ac_tool_prefix"; then -+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -+set dummy ${ac_tool_prefix}cc; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$CC"; then -+  ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_CC="${ac_tool_prefix}cc" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+  echo "$as_me:$LINENO: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$ac_cv_prog_CC"; then -+  ac_ct_CC=$CC -+  # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$ac_ct_CC"; then -+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_ac_ct_CC="cc" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+ac_ct_CC=$ac_cv_prog_ac_ct_CC -+if test -n "$ac_ct_CC"; then -+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -+echo "${ECHO_T}$ac_ct_CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+  CC=$ac_ct_CC -+else -+  CC="$ac_cv_prog_CC" -+fi -+ -+fi -+if test -z "$CC"; then -+  # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$CC"; then -+  ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+  ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+       ac_prog_rejected=yes -+       continue -+     fi -+    ac_cv_prog_CC="cc" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+if test $ac_prog_rejected = yes; then -+  # We found a bogon in the path, so make sure we never use it. -+  set dummy $ac_cv_prog_CC -+  shift -+  if test $# != 0; then -+    # We chose a different compiler from the bogus one. -+    # However, it has the same basename, so the bogon will be chosen -+    # first if we set CC to just the basename; use the full file name. -+    shift -+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+  fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+  echo "$as_me:$LINENO: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+fi -+if test -z "$CC"; then -+  if test -n "$ac_tool_prefix"; then -+  for ac_prog in cl -+  do -+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -+set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$CC"; then -+  ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+  echo "$as_me:$LINENO: result: $CC" >&5 -+echo "${ECHO_T}$CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+    test -n "$CC" && break -+  done -+fi -+if test -z "$CC"; then -+  ac_ct_CC=$CC -+  for ac_prog in cl -+do -+  # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -n "$ac_ct_CC"; then -+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for ac_exec_ext in '' $ac_executable_extensions; do -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+    ac_cv_prog_ac_ct_CC="$ac_prog" -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+    break 2 -+  fi -+done -+done -+ -+fi -+fi -+ac_ct_CC=$ac_cv_prog_ac_ct_CC -+if test -n "$ac_ct_CC"; then -+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -+echo "${ECHO_T}$ac_ct_CC" >&6 -+else -+  echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6 -+fi -+ -+  test -n "$ac_ct_CC" && break -+done -+ -+  CC=$ac_ct_CC -+fi -+ -+fi -+ -+ -+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -+See \`config.log' for more details." >&5 -+echo "$as_me: error: no acceptable C compiler found in \$PATH -+See \`config.log' for more details." >&2;} -+   { (exit 1); exit 1; }; } -+ -+# Provide some information about the compiler. -+echo "$as_me:$LINENO:" \ -+     "checking for C compiler version" >&5 -+ac_compiler=`set X $ac_compile; echo $2` -+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 -+  (eval $ac_compiler --version </dev/null >&5) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } -+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 -+  (eval $ac_compiler -v </dev/null >&5) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } -+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 -+  (eval $ac_compiler -V </dev/null >&5) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } -+ -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+ -+int -+main () -+{ -+ -+  ; -+  return 0; -+} -+_ACEOF -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files a.out a.exe b.out" -+# Try to create an executable without -o first, disregard a.out. -+# It will help us diagnose broken compilers, and finding out an intuition -+# of exeext. -+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 -+  (eval $ac_link_default) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; then -+  # Find the output, starting from the most likely.  This scheme is -+# not robust to junk in `.', hence go to wildcards (a.*) only as a last -+# resort. -+ -+# Be careful to initialize this variable, since it used to be cached. -+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -+ac_cv_exeext= -+# b.out is created by i960 compilers. -+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out -+do -+  test -f "$ac_file" || continue -+  case $ac_file in -+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) -+	;; -+    conftest.$ac_ext ) -+	# This is the source file. -+	;; -+    [ab].out ) -+	# We found the default executable, but exeext='' is most -+	# certainly right. -+	break;; -+    *.* ) -+	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+	# FIXME: I believe we export ac_cv_exeext for Libtool, -+	# but it would be cool to find out if it's true.  Does anybody -+	# maintain Libtool? --akim. -+	export ac_cv_exeext -+	break;; -+    * ) -+	break;; -+  esac -+done -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -+See \`config.log' for more details." >&5 -+echo "$as_me: error: C compiler cannot create executables -+See \`config.log' for more details." >&2;} -+   { (exit 77); exit 77; }; } -+fi -+ -+ac_exeext=$ac_cv_exeext -+echo "$as_me:$LINENO: result: $ac_file" >&5 -+echo "${ECHO_T}$ac_file" >&6 -+ -+# Check the compiler produces executables we can run.  If not, either -+# the compiler is broken, or we cross compile. -+echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -+# If not cross compiling, check that we can run a simple program. -+if test "$cross_compiling" != yes; then -+  if { ac_try='./$ac_file' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+    cross_compiling=no -+  else -+    if test "$cross_compiling" = maybe; then -+	cross_compiling=yes -+    else -+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." >&5 -+echo "$as_me: error: cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." >&2;} -+   { (exit 1); exit 1; }; } -+    fi -+  fi -+fi -+echo "$as_me:$LINENO: result: yes" >&5 -+echo "${ECHO_T}yes" >&6 -+ -+rm -f a.out a.exe conftest$ac_cv_exeext b.out -+ac_clean_files=$ac_clean_files_save -+# Check the compiler produces executables we can run.  If not, either -+# the compiler is broken, or we cross compile. -+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -+echo "$as_me:$LINENO: result: $cross_compiling" >&5 -+echo "${ECHO_T}$cross_compiling" >&6 -+ -+echo "$as_me:$LINENO: checking for suffix of executables" >&5 -+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+  (eval $ac_link) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; then -+  # If both `conftest.exe' and `conftest' are `present' (well, observable) -+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will -+# work properly (i.e., refer to `conftest.exe'), while it won't with -+# `rm'. -+for ac_file in conftest.exe conftest conftest.*; do -+  test -f "$ac_file" || continue -+  case $ac_file in -+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; -+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+	  export ac_cv_exeext -+	  break;; -+    * ) break;; -+  esac -+done -+else -+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -+See \`config.log' for more details." >&5 -+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -+See \`config.log' for more details." >&2;} -+   { (exit 1); exit 1; }; } -+fi -+ -+rm -f conftest$ac_cv_exeext -+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -+echo "${ECHO_T}$ac_cv_exeext" >&6 -+ -+rm -f conftest.$ac_ext -+EXEEXT=$ac_cv_exeext -+ac_exeext=$EXEEXT -+echo "$as_me:$LINENO: checking for suffix of object files" >&5 -+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -+if test "${ac_cv_objext+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+ -+int -+main () -+{ -+ -+  ; -+  return 0; -+} -+_ACEOF -+rm -f conftest.o conftest.obj -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; then -+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do -+  case $ac_file in -+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; -+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` -+       break;; -+  esac -+done -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -+See \`config.log' for more details." >&5 -+echo "$as_me: error: cannot compute suffix of object files: cannot compile -+See \`config.log' for more details." >&2;} -+   { (exit 1); exit 1; }; } -+fi -+ -+rm -f conftest.$ac_cv_objext conftest.$ac_ext -+fi -+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -+echo "${ECHO_T}$ac_cv_objext" >&6 -+OBJEXT=$ac_cv_objext -+ac_objext=$OBJEXT -+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -+if test "${ac_cv_c_compiler_gnu+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+ -+int -+main () -+{ -+#ifndef __GNUC__ -+       choke me -+#endif -+ -+  ; -+  return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>conftest.er1 -+  ac_status=$? -+  grep -v '^ *+' conftest.er1 >conftest.err -+  rm -f conftest.er1 -+  cat conftest.err >&5 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } && -+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; } && -+	 { ac_try='test -s conftest.$ac_objext' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+  ac_compiler_gnu=yes -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_compiler_gnu=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+ac_cv_c_compiler_gnu=$ac_compiler_gnu -+ -+fi -+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -+GCC=`test $ac_compiler_gnu = yes && echo yes` -+ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+CFLAGS="-g" -+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -+if test "${ac_cv_prog_cc_g+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+ -+int -+main () -+{ -+ -+  ; -+  return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>conftest.er1 -+  ac_status=$? -+  grep -v '^ *+' conftest.er1 >conftest.err -+  rm -f conftest.er1 -+  cat conftest.err >&5 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } && -+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; } && -+	 { ac_try='test -s conftest.$ac_objext' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+  ac_cv_prog_cc_g=yes -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_cv_prog_cc_g=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -+if test "$ac_test_CFLAGS" = set; then -+  CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+  if test "$GCC" = yes; then -+    CFLAGS="-g -O2" -+  else -+    CFLAGS="-g" -+  fi -+else -+  if test "$GCC" = yes; then -+    CFLAGS="-O2" -+  else -+    CFLAGS= -+  fi -+fi -+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -+if test "${ac_cv_prog_cc_stdc+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  ac_cv_prog_cc_stdc=no -+ac_save_CC=$CC -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+#include <stdarg.h> -+#include <stdio.h> -+#include <sys/types.h> -+#include <sys/stat.h> -+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */ -+struct buf { int x; }; -+FILE * (*rcsopen) (struct buf *, struct stat *, int); -+static char *e (p, i) -+     char **p; -+     int i; -+{ -+  return p[i]; -+} -+static char *f (char * (*g) (char **, int), char **p, ...) -+{ -+  char *s; -+  va_list v; -+  va_start (v,p); -+  s = g (p, va_arg (v,int)); -+  va_end (v); -+  return s; -+} -+ -+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has -+   function prototypes and stuff, but not '\xHH' hex character constants. -+   These don't provoke an error unfortunately, instead are silently treated -+   as 'x'.  The following induces an error, until -std1 is added to get -+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an -+   array size at least.  It's necessary to write '\x00'==0 to get something -+   that's true only with -std1.  */ -+int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -+ -+int test (int i, double x); -+struct s1 {int (*f) (int a);}; -+struct s2 {int (*f) (double a);}; -+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -+int argc; -+char **argv; -+int -+main () -+{ -+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1]; -+  ; -+  return 0; -+} -+_ACEOF -+# Don't try gcc -ansi; that turns off useful extensions and -+# breaks some systems' header files. -+# AIX			-qlanglvl=ansi -+# Ultrix and OSF/1	-std1 -+# HP-UX 10.20 and later	-Ae -+# HP-UX older versions	-Aa -D_HPUX_SOURCE -+# SVR4			-Xc -D__EXTENSIONS__ -+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -+do -+  CC="$ac_save_CC $ac_arg" -+  rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>conftest.er1 -+  ac_status=$? -+  grep -v '^ *+' conftest.er1 >conftest.err -+  rm -f conftest.er1 -+  cat conftest.err >&5 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } && -+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; } && -+	 { ac_try='test -s conftest.$ac_objext' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+  ac_cv_prog_cc_stdc=$ac_arg -+break -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+fi -+rm -f conftest.err conftest.$ac_objext -+done -+rm -f conftest.$ac_ext conftest.$ac_objext -+CC=$ac_save_CC -+ -+fi -+ -+case "x$ac_cv_prog_cc_stdc" in -+  x|xno) -+    echo "$as_me:$LINENO: result: none needed" >&5 -+echo "${ECHO_T}none needed" >&6 ;; -+  *) -+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 -+    CC="$CC $ac_cv_prog_cc_stdc" ;; -+esac -+ -+# Some people use a C++ compiler to compile C.  Since we use `exit', -+# in C++ we need to declare it.  In case someone uses the same compiler -+# for both compiling C and C++ we need to have the C++ compiler decide -+# the declaration of exit, since it's the most demanding environment. -+cat >conftest.$ac_ext <<_ACEOF -+#ifndef __cplusplus -+  choke me -+#endif -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>conftest.er1 -+  ac_status=$? -+  grep -v '^ *+' conftest.er1 >conftest.err -+  rm -f conftest.er1 -+  cat conftest.err >&5 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } && -+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; } && -+	 { ac_try='test -s conftest.$ac_objext' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+  for ac_declaration in \ -+   '' \ -+   'extern "C" void std::exit (int) throw (); using std::exit;' \ -+   'extern "C" void std::exit (int); using std::exit;' \ -+   'extern "C" void exit (int) throw ();' \ -+   'extern "C" void exit (int);' \ -+   'void exit (int);' -+do -+  cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+$ac_declaration -+#include <stdlib.h> -+int -+main () -+{ -+exit (42); -+  ; -+  return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>conftest.er1 -+  ac_status=$? -+  grep -v '^ *+' conftest.er1 >conftest.err -+  rm -f conftest.er1 -+  cat conftest.err >&5 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } && -+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; } && -+	 { ac_try='test -s conftest.$ac_objext' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+  : -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+continue -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+  cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h.  */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h.  */ -+$ac_declaration -+int -+main () -+{ -+exit (42); -+  ; -+  return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+  (eval $ac_compile) 2>conftest.er1 -+  ac_status=$? -+  grep -v '^ *+' conftest.er1 >conftest.err -+  rm -f conftest.er1 -+  cat conftest.err >&5 -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); } && -+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; } && -+	 { ac_try='test -s conftest.$ac_objext' -+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+  (eval $ac_try) 2>&5 -+  ac_status=$? -+  echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+  (exit $ac_status); }; }; then -+  break -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+done -+rm -f conftest* -+if test -n "$ac_declaration"; then -+  echo '#ifdef __cplusplus' >>confdefs.h -+  echo $ac_declaration      >>confdefs.h -+  echo '#endif'             >>confdefs.h -+fi -+ -+else -+  echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+DEPDIR="${am__leading_dot}deps" -+ -+          ac_config_commands="$ac_config_commands depfiles" -+ -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+	@echo done -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+   am__include=include -+   am__quote= -+   _am_result=GNU -+fi -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+   echo '.include "confinc"' > confmf -+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+      am__include=.include -+      am__quote="\"" -+      _am_result=BSD -+   fi -+fi -+ -+ -+echo "$as_me:$LINENO: result: $_am_result" >&5 -+echo "${ECHO_T}$_am_result" >&6 -+rm -f confinc confmf -+ -+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then -+  enableval="$enable_dependency_tracking" -+ -+fi; -+if test "x$enable_dependency_tracking" != xno; then -+  am_depcomp="$ac_aux_dir/depcomp" -+  AMDEPBACKSLASH='\' -+fi -+ -+ -+if test "x$enable_dependency_tracking" != xno; then -+  AMDEP_TRUE= -+  AMDEP_FALSE='#' -+else -+  AMDEP_TRUE='#' -+  AMDEP_FALSE= -+fi -+ -+ -+ -+ -+depcc="$CC"   am_compiler_list= -+ -+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+  # We make a subdir and do the tests there.  Otherwise we can end up -+  # making bogus files that we don't know about and never remove.  For -+  # instance it was reported that on HP-UX the gcc test will end up -+  # making a dummy file named `D' -- because `-MD' means `put the output -+  # in D'. -+  mkdir conftest.dir -+  # Copy depcomp to subdir because otherwise we won't find it if we're -+  # using a relative directory. -+  cp "$am_depcomp" conftest.dir -+  cd conftest.dir -+  # We will build objects and dependencies in a subdirectory because -+  # it helps to detect inapplicable dependency modes.  For instance -+  # both Tru64's cc and ICC support -MD to output dependencies as a -+  # side effect of compilation, but ICC will put the dependencies in -+  # the current directory while Tru64 will put them in the object -+  # directory. -+  mkdir sub -+ -+  am_cv_CC_dependencies_compiler_type=none -+  if test "$am_compiler_list" = ""; then -+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+  fi -+  for depmode in $am_compiler_list; do -+    # Setup a source with many dependencies, because some compilers -+    # like to wrap large dependency lists on column 80 (with \), and -+    # we should not choose a depcomp mode which is confused by this. -+    # -+    # We need to recreate these files for each test, as the compiler may -+    # overwrite some of them when testing with obscure command lines. -+    # This happens at least with the AIX C compiler. -+    : > sub/conftest.c -+    for i in 1 2 3 4 5 6; do -+      echo '#include "conftst'$i'.h"' >> sub/conftest.c -+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+      # Solaris 8's {/usr,}/bin/sh. -+      touch sub/conftst$i.h -+    done -+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+    case $depmode in -+    nosideeffect) -+      # after this tag, mechanisms are not by side-effect, so they'll -+      # only be used when explicitly requested -+      if test "x$enable_dependency_tracking" = xyes; then -+	continue -+      else -+	break -+      fi -+      ;; -+    none) break ;; -+    esac -+    # We check with `-c' and `-o' for the sake of the "dashmstdout" -+    # mode.  It turns out that the SunPro C++ compiler does not properly -+    # handle `-M -o', and we need to detect this. -+    if depmode=$depmode \ -+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+         >/dev/null 2>conftest.err && -+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+      # icc doesn't choke on unknown options, it will just issue warnings -+      # or remarks (even with -Werror).  So we grep stderr for any message -+      # that says an option was ignored or not supported. -+      # When given -MP, icc 7.0 and 7.1 complain thusly: -+      #   icc: Command line warning: ignoring option '-M'; no argument required -+      # The diagnosis changed in icc 8.0: -+      #   icc: Command line remark: option '-MP' not supported -+      if (grep 'ignoring option' conftest.err || -+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+        am_cv_CC_dependencies_compiler_type=$depmode -+        break -+      fi -+    fi -+  done -+ -+  cd .. -+  rm -rf conftest.dir -+else -+  am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ -+ -+if -+  test "x$enable_dependency_tracking" != xno \ -+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+  am__fastdepCC_TRUE= -+  am__fastdepCC_FALSE='#' -+else -+  am__fastdepCC_TRUE='#' -+  am__fastdepCC_FALSE= -+fi -+ -+ -+# Find a good install program.  We prefer a C program (faster), -+# so one script is as good as another.  But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -+if test -z "$INSTALL"; then -+if test "${ac_cv_path_install+set}" = set; then -+  echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in -+  ./ | .// | /cC/* | \ -+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ -+  /usr/ucb/* ) ;; -+  *) -+    # OSF1 and SCO ODT 3.0 have their own names for install. -+    # Don't use installbsd from OSF since it installs stuff as root -+    # by default. -+    for ac_prog in ginstall scoinst install; do -+      for ac_exec_ext in '' $ac_executable_extensions; do -+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then -+	  if test $ac_prog = install && -+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+	    # AIX install.  It has an incompatible calling convention. -+	    : -+	  elif test $ac_prog = install && -+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+	    # program-specific install script used by HP pwplus--don't use. -+	    : -+	  else -+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+	    break 3 -+	  fi -+	fi -+      done -+    done -+    ;; -+esac -+done -+ -+ -+fi -+  if test "${ac_cv_path_install+set}" = set; then -+    INSTALL=$ac_cv_path_install -+  else -+    # As a last resort, use the slow shell script.  We don't cache a -+    # path for INSTALL within a source directory, because that will -+    # break other packages using the cache if that directory is -+    # removed, or if the path is relative. -+    INSTALL=$ac_install_sh -+  fi -+fi -+echo "$as_me:$LINENO: result: $INSTALL" >&5 -+echo "${ECHO_T}$INSTALL" >&6 -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+          ac_config_files="$ac_config_files Makefile" -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems.  If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, don't put newlines in cache variables' values. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+{ -+  (set) 2>&1 | -+    case `(ac_space=' '; set | grep ac_space) 2>&1` in -+    *ac_space=\ *) -+      # `set' does not quote correctly, so add quotes (double-quote -+      # substitution turns \\\\ into \\, and sed turns \\ into \). -+      sed -n \ -+	"s/'/'\\\\''/g; -+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+      ;; -+    *) -+      # `set' quotes correctly as required by POSIX, so do not add quotes. -+      sed -n \ -+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" -+      ;; -+    esac; -+} | -+  sed ' -+     t clear -+     : clear -+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+     t end -+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+     : end' >>confcache -+if diff $cache_file confcache >/dev/null 2>&1; then :; else -+  if test -w $cache_file; then -+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" -+    cat confcache >$cache_file -+  else -+    echo "not updating unwritable cache $cache_file" -+  fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+# VPATH may cause trouble with some makes, so we remove $(srcdir), -+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{ -+s/:*\$(srcdir):*/:/; -+s/:*\${srcdir}:*/:/; -+s/:*@srcdir@:*/:/; -+s/^\([^=]*=[	 ]*\):*/\1/; -+s/:*$//; -+s/^[^=]*=[	 ]*$//; -+}' -+fi -+ -+# Transform confdefs.h into DEFS. -+# Protect against shell expansion while executing Makefile rules. -+# Protect against Makefile macro expansion. -+# -+# If the first sed substitution is executed (which looks for macros that -+# take arguments), then we branch to the quote section.  Otherwise, -+# look for a macro that doesn't take arguments. -+cat >confdef2opt.sed <<\_ACEOF -+t clear -+: clear -+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g -+t quote -+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g -+t quote -+d -+: quote -+s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g -+s,\[,\\&,g -+s,\],\\&,g -+s,\$,$$,g -+p -+_ACEOF -+# We use echo to avoid assuming a particular line-breaking character. -+# The extra dot is to prevent the shell from consuming trailing -+# line-breaks from the sub-command output.  A line-break within -+# single-quotes doesn't work because, if this script is created in a -+# platform that uses two characters for line-breaks (e.g., DOS), tr -+# would break. -+ac_LF_and_DOT=`echo; echo .` -+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -+rm -f confdef2opt.sed -+ -+ -+ac_libobjs= -+ac_ltlibobjs= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+  # 1. Remove the extension, and $U if already installed. -+  ac_i=`echo "$ac_i" | -+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'` -+  # 2. Add them. -+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" -+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs -+ -+LTLIBOBJS=$ac_ltlibobjs -+ -+ -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+echo "$as_me: error: conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+   { (exit 1); exit 1; }; } -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+   { (exit 1); exit 1; }; } -+fi -+ -+: ${CONFIG_STATUS=./config.status} -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -+echo "$as_me: creating $CONFIG_STATUS" >&6;} -+cat >$CONFIG_STATUS <<_ACEOF -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false -+SHELL=\${CONFIG_SHELL-$SHELL} -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF -+## --------------------- ## -+## M4sh Initialization.  ## -+## --------------------- ## -+ -+# Be Bourne compatible -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -+  emulate sh -+  NULLCMD=: -+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which -+  # is contrary to our usage.  Disable this feature. -+  alias -g '${1+"$@"}'='"$@"' -+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then -+  set -o posix -+fi -+DUALCASE=1; export DUALCASE # for MKS sh -+ -+# Support unset when possible. -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -+  as_unset=unset -+else -+  as_unset=false -+fi -+ -+ -+# Work around bugs in pre-3.0 UWIN ksh. -+$as_unset ENV MAIL MAILPATH -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+for as_var in \ -+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ -+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ -+  LC_TELEPHONE LC_TIME -+do -+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then -+    eval $as_var=C; export $as_var -+  else -+    $as_unset $as_var -+  fi -+done -+ -+# Required to use basename. -+if expr a : '\(a\)' >/dev/null 2>&1; then -+  as_expr=expr -+else -+  as_expr=false -+fi -+ -+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then -+  as_basename=basename -+else -+  as_basename=false -+fi -+ -+ -+# Name of the executable. -+as_me=`$as_basename "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+	 X"$0" : 'X\(//\)$' \| \ -+	 X"$0" : 'X\(/\)$' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X/"$0" | -+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } -+  	  /^X\/\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\/\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+ -+ -+# PATH needs CR, and LINENO needs CR and PATH. -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+  echo "#! /bin/sh" >conf$$.sh -+  echo  "exit 0"   >>conf$$.sh -+  chmod +x conf$$.sh -+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then -+    PATH_SEPARATOR=';' -+  else -+    PATH_SEPARATOR=: -+  fi -+  rm -f conf$$.sh -+fi -+ -+ -+  as_lineno_1=$LINENO -+  as_lineno_2=$LINENO -+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -+  test "x$as_lineno_1" != "x$as_lineno_2" && -+  test "x$as_lineno_3"  = "x$as_lineno_2"  || { -+  # Find who we are.  Look in the path if we contain no path at all -+  # relative or not. -+  case $0 in -+    *[\\/]* ) as_myself=$0 ;; -+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+done -+ -+       ;; -+  esac -+  # We did not find ourselves, most probably we were run as `sh COMMAND' -+  # in which case we are not to be found in the path. -+  if test "x$as_myself" = x; then -+    as_myself=$0 -+  fi -+  if test ! -f "$as_myself"; then -+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} -+   { (exit 1); exit 1; }; } -+  fi -+  case $CONFIG_SHELL in -+  '') -+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+  IFS=$as_save_IFS -+  test -z "$as_dir" && as_dir=. -+  for as_base in sh bash ksh sh5; do -+	 case $as_dir in -+	 /*) -+	   if ("$as_dir/$as_base" -c ' -+  as_lineno_1=$LINENO -+  as_lineno_2=$LINENO -+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` -+  test "x$as_lineno_1" != "x$as_lineno_2" && -+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then -+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } -+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } -+	     CONFIG_SHELL=$as_dir/$as_base -+	     export CONFIG_SHELL -+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"} -+	   fi;; -+	 esac -+       done -+done -+;; -+  esac -+ -+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO -+  # uniformly replaced by the line number.  The first 'sed' inserts a -+  # line-number line before each line; the second 'sed' does the real -+  # work.  The second script uses 'N' to pair each line-number line -+  # with the numbered line, and appends trailing '-' during -+  # substitution so that $LINENO is not a special case at line end. -+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the -+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-) -+  sed '=' <$as_myself | -+    sed ' -+      N -+      s,$,-, -+      : loop -+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, -+      t loop -+      s,-$,, -+      s,^['$as_cr_digits']*\n,, -+    ' >$as_me.lineno && -+  chmod +x $as_me.lineno || -+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} -+   { (exit 1); exit 1; }; } -+ -+  # Don't try to exec as it changes $[0], causing all sort of problems -+  # (the dirname of $[0] is not the place where we might find the -+  # original and so on.  Autoconf is especially sensible to this). -+  . ./$as_me.lineno -+  # Exit status is that of the last command. -+  exit -+} -+ -+ -+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in -+  *c*,-n*) ECHO_N= ECHO_C=' -+' ECHO_T='	' ;; -+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;; -+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;; -+esac -+ -+if expr a : '\(a\)' >/dev/null 2>&1; then -+  as_expr=expr -+else -+  as_expr=false -+fi -+ -+rm -f conf$$ conf$$.exe conf$$.file -+echo >conf$$.file -+if ln -s conf$$.file conf$$ 2>/dev/null; then -+  # We could just check for DJGPP; but this test a) works b) is more generic -+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). -+  if test -f conf$$.exe; then -+    # Don't use ln at all; we don't have any links -+    as_ln_s='cp -p' -+  else -+    as_ln_s='ln -s' -+  fi -+elif ln conf$$.file conf$$ 2>/dev/null; then -+  as_ln_s=ln -+else -+  as_ln_s='cp -p' -+fi -+rm -f conf$$ conf$$.exe conf$$.file -+ -+if mkdir -p . 2>/dev/null; then -+  as_mkdir_p=: -+else -+  test -d ./-p && rmdir ./-p -+  as_mkdir_p=false -+fi -+ -+as_executable_p="test -f" -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. -+as_nl=' -+' -+IFS=" 	$as_nl" -+ -+# CDPATH. -+$as_unset CDPATH -+ -+exec 6>&1 -+ -+# Open the log real soon, to keep \$[0] and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling.  Logging --version etc. is OK. -+exec 5>>config.log -+{ -+  echo -+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+} >&5 -+cat >&5 <<_CSEOF -+ -+This file was extended by $as_me, which was -+generated by GNU Autoconf 2.59.  Invocation command line was -+ -+  CONFIG_FILES    = $CONFIG_FILES -+  CONFIG_HEADERS  = $CONFIG_HEADERS -+  CONFIG_LINKS    = $CONFIG_LINKS -+  CONFIG_COMMANDS = $CONFIG_COMMANDS -+  $ $0 $@ -+ -+_CSEOF -+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -+echo >&5 -+_ACEOF -+ -+# Files that config.status was made for. -+if test -n "$ac_config_files"; then -+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -+fi -+ -+if test -n "$ac_config_headers"; then -+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -+fi -+ -+if test -n "$ac_config_links"; then -+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -+fi -+ -+if test -n "$ac_config_commands"; then -+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -+fi -+ -+cat >>$CONFIG_STATUS <<\_ACEOF -+ -+ac_cs_usage="\ -+\`$as_me' instantiates files from templates according to the -+current configuration. -+ -+Usage: $0 [OPTIONS] [FILE]... -+ -+  -h, --help       print this help, then exit -+  -V, --version    print version number, then exit -+  -q, --quiet      do not print progress messages -+  -d, --debug      don't remove temporary files -+      --recheck    update $as_me by reconfiguring in the same conditions -+  --file=FILE[:TEMPLATE] -+		   instantiate the configuration file FILE -+ -+Configuration files: -+$config_files -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to <bug-autoconf@gnu.org>." -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<_ACEOF -+ac_cs_version="\\ -+config.status -+configured by $0, generated by GNU Autoconf 2.59, -+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -+ -+Copyright (C) 2003 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." -+srcdir=$srcdir -+INSTALL="$INSTALL" -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF -+# If no file are specified by the user, then we need to provide default -+# value.  By we need to know if files were specified by the user. -+ac_need_defaults=: -+while test $# != 0 -+do -+  case $1 in -+  --*=*) -+    ac_option=`expr "x$1" : 'x\([^=]*\)='` -+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` -+    ac_shift=: -+    ;; -+  -*) -+    ac_option=$1 -+    ac_optarg=$2 -+    ac_shift=shift -+    ;; -+  *) # This is not an option, so the user has probably given explicit -+     # arguments. -+     ac_option=$1 -+     ac_need_defaults=false;; -+  esac -+ -+  case $ac_option in -+  # Handling of the options. -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF -+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+    ac_cs_recheck=: ;; -+  --version | --vers* | -V ) -+    echo "$ac_cs_version"; exit 0 ;; -+  --he | --h) -+    # Conflict between --help and --header -+    { { echo "$as_me:$LINENO: error: ambiguous option: $1 -+Try \`$0 --help' for more information." >&5 -+echo "$as_me: error: ambiguous option: $1 -+Try \`$0 --help' for more information." >&2;} -+   { (exit 1); exit 1; }; };; -+  --help | --hel | -h ) -+    echo "$ac_cs_usage"; exit 0 ;; -+  --debug | --d* | -d ) -+    debug=: ;; -+  --file | --fil | --fi | --f ) -+    $ac_shift -+    CONFIG_FILES="$CONFIG_FILES $ac_optarg" -+    ac_need_defaults=false;; -+  --header | --heade | --head | --hea ) -+    $ac_shift -+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" -+    ac_need_defaults=false;; -+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+  | -silent | --silent | --silen | --sile | --sil | --si | --s) -+    ac_cs_silent=: ;; -+ -+  # This is an error. -+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -+Try \`$0 --help' for more information." >&5 -+echo "$as_me: error: unrecognized option: $1 -+Try \`$0 --help' for more information." >&2;} -+   { (exit 1); exit 1; }; } ;; -+ -+  *) ac_config_targets="$ac_config_targets $1" ;; -+ -+  esac -+  shift -+done -+ -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+  exec 6>/dev/null -+  ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF -+if \$ac_cs_recheck; then -+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 -+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+fi -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<_ACEOF -+# -+# INIT-COMMANDS section. -+# -+ -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+ -+_ACEOF -+ -+ -+ -+cat >>$CONFIG_STATUS <<\_ACEOF -+for ac_config_target in $ac_config_targets -+do -+  case "$ac_config_target" in -+  # Handling of arguments. -+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -+echo "$as_me: error: invalid argument: $ac_config_target" >&2;} -+   { (exit 1); exit 1; }; };; -+  esac -+done -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used.  Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Have a temporary directory for convenience.  Make it in the build tree -+# simply because there is no reason to put it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Create a temporary directory, and hook for its removal unless debugging. -+$debug || -+{ -+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 -+  trap '{ (exit 1); exit 1; }' 1 2 13 15 -+} -+ -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && -+  test -n "$tmp" && test -d "$tmp" -+}  || -+{ -+  tmp=./confstat$$-$RANDOM -+  (umask 077 && mkdir $tmp) -+} || -+{ -+   echo "$me: cannot create a temporary directory in ." >&2 -+   { (exit 1); exit 1; } -+} -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<_ACEOF -+ -+# -+# CONFIG_FILES section. -+# -+ -+# No need to generate the scripts if there are no CONFIG_FILES. -+# This happens for instance when ./config.status config.h -+if test -n "\$CONFIG_FILES"; then -+  # Protect against being on the right side of a sed subst in config.status. -+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; -+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -+s,@SHELL@,$SHELL,;t t -+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -+s,@exec_prefix@,$exec_prefix,;t t -+s,@prefix@,$prefix,;t t -+s,@program_transform_name@,$program_transform_name,;t t -+s,@bindir@,$bindir,;t t -+s,@sbindir@,$sbindir,;t t -+s,@libexecdir@,$libexecdir,;t t -+s,@datadir@,$datadir,;t t -+s,@sysconfdir@,$sysconfdir,;t t -+s,@sharedstatedir@,$sharedstatedir,;t t -+s,@localstatedir@,$localstatedir,;t t -+s,@libdir@,$libdir,;t t -+s,@includedir@,$includedir,;t t -+s,@oldincludedir@,$oldincludedir,;t t -+s,@infodir@,$infodir,;t t -+s,@mandir@,$mandir,;t t -+s,@build_alias@,$build_alias,;t t -+s,@host_alias@,$host_alias,;t t -+s,@target_alias@,$target_alias,;t t -+s,@DEFS@,$DEFS,;t t -+s,@ECHO_C@,$ECHO_C,;t t -+s,@ECHO_N@,$ECHO_N,;t t -+s,@ECHO_T@,$ECHO_T,;t t -+s,@LIBS@,$LIBS,;t t -+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -+s,@INSTALL_DATA@,$INSTALL_DATA,;t t -+s,@CYGPATH_W@,$CYGPATH_W,;t t -+s,@PACKAGE@,$PACKAGE,;t t -+s,@VERSION@,$VERSION,;t t -+s,@ACLOCAL@,$ACLOCAL,;t t -+s,@AUTOCONF@,$AUTOCONF,;t t -+s,@AUTOMAKE@,$AUTOMAKE,;t t -+s,@AUTOHEADER@,$AUTOHEADER,;t t -+s,@MAKEINFO@,$MAKEINFO,;t t -+s,@AMTAR@,$AMTAR,;t t -+s,@install_sh@,$install_sh,;t t -+s,@STRIP@,$STRIP,;t t -+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t -+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -+s,@mkdir_p@,$mkdir_p,;t t -+s,@AWK@,$AWK,;t t -+s,@SET_MAKE@,$SET_MAKE,;t t -+s,@am__leading_dot@,$am__leading_dot,;t t -+s,@CC@,$CC,;t t -+s,@CFLAGS@,$CFLAGS,;t t -+s,@LDFLAGS@,$LDFLAGS,;t t -+s,@CPPFLAGS@,$CPPFLAGS,;t t -+s,@ac_ct_CC@,$ac_ct_CC,;t t -+s,@EXEEXT@,$EXEEXT,;t t -+s,@OBJEXT@,$OBJEXT,;t t -+s,@DEPDIR@,$DEPDIR,;t t -+s,@am__include@,$am__include,;t t -+s,@am__quote@,$am__quote,;t t -+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -+s,@CCDEPMODE@,$CCDEPMODE,;t t -+s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t -+s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t -+s,@LIBOBJS@,$LIBOBJS,;t t -+s,@LTLIBOBJS@,$LTLIBOBJS,;t t -+CEOF -+ -+_ACEOF -+ -+  cat >>$CONFIG_STATUS <<\_ACEOF -+  # Split the substitutions into bite-sized pieces for seds with -+  # small command number limits, like on Digital OSF/1 and HP-UX. -+  ac_max_sed_lines=48 -+  ac_sed_frag=1 # Number of current file. -+  ac_beg=1 # First line for current file. -+  ac_end=$ac_max_sed_lines # Line after last line for current file. -+  ac_more_lines=: -+  ac_sed_cmds= -+  while $ac_more_lines; do -+    if test $ac_beg -gt 1; then -+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag -+    else -+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag -+    fi -+    if test ! -s $tmp/subs.frag; then -+      ac_more_lines=false -+    else -+      # The purpose of the label and of the branching condition is to -+      # speed up the sed processing (if there are no `@' at all, there -+      # is no need to browse any of the substitutions). -+      # These are the two extra sed commands mentioned above. -+      (echo ':t -+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed -+      if test -z "$ac_sed_cmds"; then -+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" -+      else -+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" -+      fi -+      ac_sed_frag=`expr $ac_sed_frag + 1` -+      ac_beg=$ac_end -+      ac_end=`expr $ac_end + $ac_max_sed_lines` -+    fi -+  done -+  if test -z "$ac_sed_cmds"; then -+    ac_sed_cmds=cat -+  fi -+fi # test -n "$CONFIG_FILES" -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF -+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue -+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+  case $ac_file in -+  - | *:- | *:-:* ) # input from stdin -+	cat >$tmp/stdin -+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` -+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; -+  * )   ac_file_in=$ac_file.in ;; -+  esac -+ -+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. -+  ac_dir=`(dirname "$ac_file") 2>/dev/null || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$ac_file" : 'X\(//\)[^/]' \| \ -+	 X"$ac_file" : 'X\(//\)$' \| \ -+	 X"$ac_file" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$ac_file" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+  { if $as_mkdir_p; then -+    mkdir -p "$ac_dir" -+  else -+    as_dir="$ac_dir" -+    as_dirs= -+    while test ! -d "$as_dir"; do -+      as_dirs="$as_dir $as_dirs" -+      as_dir=`(dirname "$as_dir") 2>/dev/null || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$as_dir" : 'X\(//\)[^/]' \| \ -+	 X"$as_dir" : 'X\(//\)$' \| \ -+	 X"$as_dir" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$as_dir" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+    done -+    test ! -n "$as_dirs" || mkdir $as_dirs -+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} -+   { (exit 1); exit 1; }; }; } -+ -+  ac_builddir=. -+ -+if test "$ac_dir" != .; then -+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` -+  # A "../" for each directory in $ac_dir_suffix. -+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -+else -+  ac_dir_suffix= ac_top_builddir= -+fi -+ -+case $srcdir in -+  .)  # No --srcdir option.  We are building in place. -+    ac_srcdir=. -+    if test -z "$ac_top_builddir"; then -+       ac_top_srcdir=. -+    else -+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` -+    fi ;; -+  [\\/]* | ?:[\\/]* )  # Absolute path. -+    ac_srcdir=$srcdir$ac_dir_suffix; -+    ac_top_srcdir=$srcdir ;; -+  *) # Relative path. -+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix -+    ac_top_srcdir=$ac_top_builddir$srcdir ;; -+esac -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+  case "$ac_dir" in -+  .) ac_abs_builddir=`pwd`;; -+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+  *) ac_abs_builddir=`pwd`/"$ac_dir";; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+  case ${ac_top_builddir}. in -+  .) ac_abs_top_builddir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+  case $ac_srcdir in -+  .) ac_abs_srcdir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+  case $ac_top_srcdir in -+  .) ac_abs_top_srcdir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+  esac;; -+esac -+ -+ -+  case $INSTALL in -+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;; -+  esac -+ -+  # Let's still pretend it is `configure' which instantiates (i.e., don't -+  # use $as_me), people would be surprised to read: -+  #    /* config.h.  Generated by config.status.  */ -+  if test x"$ac_file" = x-; then -+    configure_input= -+  else -+    configure_input="$ac_file.  " -+  fi -+  configure_input=$configure_input"Generated from `echo $ac_file_in | -+				     sed 's,.*/,,'` by configure." -+ -+  # First look for the input files in the build tree, otherwise in the -+  # src tree. -+  ac_file_inputs=`IFS=: -+    for f in $ac_file_in; do -+      case $f in -+      -) echo $tmp/stdin ;; -+      [\\/$]*) -+	 # Absolute (can't be DOS-style, as IFS=:) -+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+echo "$as_me: error: cannot find input file: $f" >&2;} -+   { (exit 1); exit 1; }; } -+	 echo "$f";; -+      *) # Relative -+	 if test -f "$f"; then -+	   # Build tree -+	   echo "$f" -+	 elif test -f "$srcdir/$f"; then -+	   # Source tree -+	   echo "$srcdir/$f" -+	 else -+	   # /dev/null tree -+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -+echo "$as_me: error: cannot find input file: $f" >&2;} -+   { (exit 1); exit 1; }; } -+	 fi;; -+      esac -+    done` || { (exit 1); exit 1; } -+ -+  if test x"$ac_file" != x-; then -+    { echo "$as_me:$LINENO: creating $ac_file" >&5 -+echo "$as_me: creating $ac_file" >&6;} -+    rm -f "$ac_file" -+  fi -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF -+  sed "$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s,@configure_input@,$configure_input,;t t -+s,@srcdir@,$ac_srcdir,;t t -+s,@abs_srcdir@,$ac_abs_srcdir,;t t -+s,@top_srcdir@,$ac_top_srcdir,;t t -+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -+s,@builddir@,$ac_builddir,;t t -+s,@abs_builddir@,$ac_abs_builddir,;t t -+s,@top_builddir@,$ac_top_builddir,;t t -+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -+s,@INSTALL@,$ac_INSTALL,;t t -+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out -+  rm -f $tmp/stdin -+  if test x"$ac_file" != x-; then -+    mv $tmp/out $ac_file -+  else -+    cat $tmp/out -+    rm -f $tmp/out -+  fi -+ -+done -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF -+ -+# -+# CONFIG_COMMANDS section. -+# -+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue -+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'` -+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` -+  ac_dir=`(dirname "$ac_dest") 2>/dev/null || -+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$ac_dest" : 'X\(//\)[^/]' \| \ -+	 X"$ac_dest" : 'X\(//\)$' \| \ -+	 X"$ac_dest" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$ac_dest" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+  { if $as_mkdir_p; then -+    mkdir -p "$ac_dir" -+  else -+    as_dir="$ac_dir" -+    as_dirs= -+    while test ! -d "$as_dir"; do -+      as_dirs="$as_dir $as_dirs" -+      as_dir=`(dirname "$as_dir") 2>/dev/null || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$as_dir" : 'X\(//\)[^/]' \| \ -+	 X"$as_dir" : 'X\(//\)$' \| \ -+	 X"$as_dir" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$as_dir" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+    done -+    test ! -n "$as_dirs" || mkdir $as_dirs -+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} -+   { (exit 1); exit 1; }; }; } -+ -+  ac_builddir=. -+ -+if test "$ac_dir" != .; then -+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` -+  # A "../" for each directory in $ac_dir_suffix. -+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -+else -+  ac_dir_suffix= ac_top_builddir= -+fi -+ -+case $srcdir in -+  .)  # No --srcdir option.  We are building in place. -+    ac_srcdir=. -+    if test -z "$ac_top_builddir"; then -+       ac_top_srcdir=. -+    else -+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` -+    fi ;; -+  [\\/]* | ?:[\\/]* )  # Absolute path. -+    ac_srcdir=$srcdir$ac_dir_suffix; -+    ac_top_srcdir=$srcdir ;; -+  *) # Relative path. -+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix -+    ac_top_srcdir=$ac_top_builddir$srcdir ;; -+esac -+ -+# Do not use `cd foo && pwd` to compute absolute paths, because -+# the directories may not exist. -+case `pwd` in -+.) ac_abs_builddir="$ac_dir";; -+*) -+  case "$ac_dir" in -+  .) ac_abs_builddir=`pwd`;; -+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; -+  *) ac_abs_builddir=`pwd`/"$ac_dir";; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_builddir=${ac_top_builddir}.;; -+*) -+  case ${ac_top_builddir}. in -+  .) ac_abs_top_builddir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; -+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_srcdir=$ac_srcdir;; -+*) -+  case $ac_srcdir in -+  .) ac_abs_srcdir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; -+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; -+  esac;; -+esac -+case $ac_abs_builddir in -+.) ac_abs_top_srcdir=$ac_top_srcdir;; -+*) -+  case $ac_top_srcdir in -+  .) ac_abs_top_srcdir=$ac_abs_builddir;; -+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; -+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; -+  esac;; -+esac -+ -+ -+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -+echo "$as_me: executing $ac_dest commands" >&6;} -+  case $ac_dest in -+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+  # Strip MF so we end up with the name of the file. -+  mf=`echo "$mf" | sed -e 's/:.*$//'` -+  # Check whether this is an Automake generated Makefile or not. -+  # We used to match only the files named `Makefile.in', but -+  # some people rename them; so instead we look at the file content. -+  # Grep'ing the first line is not enough: some people post-process -+  # each Makefile.in and add a new line on top of each file to say so. -+  # So let's grep whole file. -+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then -+    dirpart=`(dirname "$mf") 2>/dev/null || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$mf" : 'X\(//\)[^/]' \| \ -+	 X"$mf" : 'X\(//\)$' \| \ -+	 X"$mf" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$mf" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+  else -+    continue -+  fi -+  grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue -+  # Extract the definition of DEP_FILES from the Makefile without -+  # running `make'. -+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+  test -z "$DEPDIR" && continue -+  # When using ansi2knr, U may be empty or an underscore; expand it -+  U=`sed -n 's/^U = //p' < "$mf"` -+  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" -+  # We invoke sed twice because it is the simplest approach to -+  # changing $(DEPDIR) to its actual value in the expansion. -+  for file in `sed -n ' -+    /^DEP_FILES = .*\\\\$/ { -+      s/^DEP_FILES = // -+      :loop -+	s/\\\\$// -+	p -+	n -+	/\\\\$/ b loop -+      p -+    } -+    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ -+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+    # Make sure the directory exists. -+    test -f "$dirpart/$file" && continue -+    fdir=`(dirname "$file") 2>/dev/null || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$file" : 'X\(//\)[^/]' \| \ -+	 X"$file" : 'X\(//\)$' \| \ -+	 X"$file" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$file" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+    { if $as_mkdir_p; then -+    mkdir -p $dirpart/$fdir -+  else -+    as_dir=$dirpart/$fdir -+    as_dirs= -+    while test ! -d "$as_dir"; do -+      as_dirs="$as_dir $as_dirs" -+      as_dir=`(dirname "$as_dir") 2>/dev/null || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+	 X"$as_dir" : 'X\(//\)[^/]' \| \ -+	 X"$as_dir" : 'X\(//\)$' \| \ -+	 X"$as_dir" : 'X\(/\)' \| \ -+	 .     : '\(.\)' 2>/dev/null || -+echo X"$as_dir" | -+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } -+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; } -+  	  /^X\(\/\/\)$/{ s//\1/; q; } -+  	  /^X\(\/\).*/{ s//\1/; q; } -+  	  s/.*/./; q'` -+    done -+    test ! -n "$as_dirs" || mkdir $as_dirs -+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 -+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} -+   { (exit 1); exit 1; }; }; } -+ -+    # echo "creating $dirpart/$file" -+    echo '# dummy' > "$dirpart/$file" -+  done -+done -+ ;; -+  esac -+done -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF -+ -+{ (exit 0); exit 0; } -+_ACEOF -+chmod +x $CONFIG_STATUS -+ac_clean_files=$ac_clean_files_save -+ -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded.  So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status.  When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+  ac_cs_success=: -+  ac_config_status_args= -+  test "$silent" = yes && -+    ac_config_status_args="$ac_config_status_args --quiet" -+  exec 5>/dev/null -+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+  exec 5>>config.log -+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+  # would make configure fail if this is the last instruction. -+  $ac_cs_success || { (exit 1); exit 1; } -+fi -+ -diff --exclude CVS -urN genext2fs-1.3.orig/configure.in genext2fs/configure.in ---- genext2fs-1.3.orig/configure.in	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/configure.in	2001-05-02 12:20:05.000000000 -0600 -@@ -0,0 +1,5 @@ -+AC_INIT(genext2fs.c) -+AM_INIT_AUTOMAKE(genext2fs,1.3) -+AC_PROG_CC -+AC_PROG_INSTALL -+AC_OUTPUT(Makefile) -diff --exclude CVS -urN genext2fs-1.3.orig/debian/changelog genext2fs/debian/changelog ---- genext2fs-1.3.orig/debian/changelog	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/debian/changelog	2001-07-26 22:41:25.000000000 -0600 -@@ -0,0 +1,9 @@ -+genext2fs (1.3-1) unstable; urgency=low -+ -+  * Initial Release. (closes: #105263) -+ -+ -- David Kimdon <dwhedon@debian.org>  Sat, 14 Jul 2001 13:24:49 -0700 -+ -+Local variables: -+mode: debian-changelog -+End: -diff --exclude CVS -urN genext2fs-1.3.orig/debian/control genext2fs/debian/control ---- genext2fs-1.3.orig/debian/control	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/debian/control	2001-07-16 18:01:00.000000000 -0600 -@@ -0,0 +1,19 @@ -+Source: genext2fs -+Section: admin -+Priority: optional -+Maintainer: David Kimdon <dwhedon@debian.org> -+Build-Depends: debhelper (>> 3.0.0) -+Standards-Version: 3.5.2 -+ -+Package: genext2fs -+Architecture: any -+Depends: ${shlibs:Depends} -+Description: ext2 filesystem generator for embedded systems -+ `genext2fs' is meant to generate an ext2 filesystem -+ as a normal (non-root) user. It doesn't require you to mount -+ the image file to copy files on it. It doesn't even require -+ you to be the superuser to make device nodes. -+ . -+ Warning ! `genext2fs' has been designed for embedded -+ systems. As such, it will generate a filesystem for single-user -+ usage: all files/directories/etc... will belong to UID/GID 0 -diff --exclude CVS -urN genext2fs-1.3.orig/debian/copyright genext2fs/debian/copyright ---- genext2fs-1.3.orig/debian/copyright	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/debian/copyright	2001-07-16 18:01:00.000000000 -0600 -@@ -0,0 +1,15 @@ -+This package was debianized by David Kimdon <dwhedon@debian.org> on -+Sat, 14 Jul 2001 13:24:49 -0700. -+ -+It was downloaded from http://freshmeat.net/projects/genext2fs/ -+Upstream Author(s):   Xavier Bestel <xbestel@aplio.fr> -+ -+Copyright (C) 2000 Xavier Bestel <xavier.bestel@free.fr> -+ -+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; version -+2 of the License. -+ -+On Debian systems, the complete text of the GNU General Public -+License can be found in /usr/share/common-licenses/GPL file. -diff --exclude CVS -urN genext2fs-1.3.orig/debian/rules genext2fs/debian/rules ---- genext2fs-1.3.orig/debian/rules	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/debian/rules	2001-07-27 09:08:16.000000000 -0600 -@@ -0,0 +1,69 @@ -+#!/usr/bin/make -f -+# Sample debian/rules that uses debhelper. -+# GNU copyright 1997 to 1999 by Joey Hess. -+ -+# Uncomment this to turn on verbose mode. -+#export DH_VERBOSE=1 -+ -+# This is the debhelper compatability version to use. -+export DH_COMPAT=2 -+ -+configure: configure-stamp -+configure-stamp: -+	dh_testdir -+	# Add here commands to configure the package. -+	# ./configure --prefix=/usr --mandir=/usr/share/man/ -+ -+	touch configure-stamp -+ -+build: configure-stamp build-stamp -+build-stamp: -+	dh_testdir -+ -+	# Add here commands to compile the package. -+	$(MAKE) -+ -+	touch build-stamp -+ -+clean: -+	dh_testdir -+	dh_testroot -+	rm -f build-stamp configure-stamp -+ -+	# Add here commands to clean up after the build process. -+	-$(MAKE) clean -+ -+	dh_clean -+ -+install: build -+	dh_testdir -+	dh_testroot -+	dh_clean -k -+	dh_installdirs -+ -+	# Add here commands to install the package into debian/genext2fs. -+	$(MAKE) install DESTDIR=`pwd`/debian/genext2fs -+ -+ -+# Build architecture-independent files here. -+binary-indep: build install -+# We have nothing to do by default. -+ -+# Build architecture-dependent files here. -+binary-arch: build install -+	dh_testdir -+	dh_testroot -+	dh_installdocs -+	dh_installchangelogs  -+	dh_link -+	dh_strip -+	dh_compress -+	dh_fixperms -+	dh_installdeb -+	dh_shlibdeps -+	dh_gencontrol -+	dh_md5sums -+	dh_builddeb -+ -+binary: binary-indep binary-arch -+.PHONY: build clean binary-indep binary-arch binary install configure -diff --exclude CVS -urN genext2fs-1.3.orig/depcomp genext2fs/depcomp ---- genext2fs-1.3.orig/depcomp	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/depcomp	2004-12-27 13:03:47.000000000 -0700 -@@ -0,0 +1,526 @@ -+#! /bin/sh -+# depcomp - compile a program generating dependencies as side-effects -+ -+scriptversion=2004-04-25.13 -+ -+# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. -+ -+case $1 in -+  '') -+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2 -+     exit 1; -+     ;; -+  -h | --h*) -+    cat <<\EOF -+Usage: depcomp [--help] [--version] PROGRAM [ARGS] -+ -+Run PROGRAMS ARGS to compile a file, generating dependencies -+as side-effects. -+ -+Environment variables: -+  depmode     Dependency tracking mode. -+  source      Source file read by `PROGRAMS ARGS'. -+  object      Object file output by `PROGRAMS ARGS'. -+  depfile     Dependency file to output. -+  tmpdepfile  Temporary file to use when outputing dependencies. -+  libtool     Whether libtool is used (yes/no). -+ -+Report bugs to <bug-automake@gnu.org>. -+EOF -+    exit 0 -+    ;; -+  -v | --v*) -+    echo "depcomp $scriptversion" -+    exit 0 -+    ;; -+esac -+ -+if test -z "$depmode" || test -z "$source" || test -z "$object"; then -+  echo "depcomp: Variables source, object and depmode must be set" 1>&2 -+  exit 1 -+fi -+# `libtool' can also be set to `yes' or `no'. -+ -+if test -z "$depfile"; then -+   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` -+   dir=`echo "$object" | sed 's,/.*$,/,'` -+   if test "$dir" = "$object"; then -+      dir= -+   fi -+   # FIXME: should be _deps on DOS. -+   depfile="$dir.deps/$base" -+fi -+ -+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} -+ -+rm -f "$tmpdepfile" -+ -+# Some modes work just like other modes, but use different flags.  We -+# parameterize here, but still list the modes in the big case below, -+# to make depend.m4 easier to write.  Note that we *cannot* use a case -+# here, because this file can only contain one case statement. -+if test "$depmode" = hp; then -+  # HP compiler uses -M and no extra arg. -+  gccflag=-M -+  depmode=gcc -+fi -+ -+if test "$depmode" = dashXmstdout; then -+   # This is just like dashmstdout with a different argument. -+   dashmflag=-xM -+   depmode=dashmstdout -+fi -+ -+case "$depmode" in -+gcc3) -+## gcc 3 implements dependency tracking that does exactly what -+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like -+## it if -MD -MP comes after the -MF stuff.  Hmm. -+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" -+  stat=$? -+  if test $stat -eq 0; then : -+  else -+    rm -f "$tmpdepfile" -+    exit $stat -+  fi -+  mv "$tmpdepfile" "$depfile" -+  ;; -+ -+gcc) -+## There are various ways to get dependency output from gcc.  Here's -+## why we pick this rather obscure method: -+## - Don't want to use -MD because we'd like the dependencies to end -+##   up in a subdir.  Having to rename by hand is ugly. -+##   (We might end up doing this anyway to support other compilers.) -+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -+##   -MM, not -M (despite what the docs say). -+## - Using -M directly means running the compiler twice (even worse -+##   than renaming). -+  if test -z "$gccflag"; then -+    gccflag=-MD, -+  fi -+  "$@" -Wp,"$gccflag$tmpdepfile" -+  stat=$? -+  if test $stat -eq 0; then : -+  else -+    rm -f "$tmpdepfile" -+    exit $stat -+  fi -+  rm -f "$depfile" -+  echo "$object : \\" > "$depfile" -+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -+## The second -e expression handles DOS-style file names with drive letters. -+  sed -e 's/^[^:]*: / /' \ -+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -+## This next piece of magic avoids the `deleted header file' problem. -+## The problem is that when a header file which appears in a .P file -+## is deleted, the dependency causes make to die (because there is -+## typically no way to rebuild the header).  We avoid this by adding -+## dummy dependencies for each header file.  Too bad gcc doesn't do -+## this for us directly. -+  tr ' ' ' -+' < "$tmpdepfile" | -+## Some versions of gcc put a space before the `:'.  On the theory -+## that the space means something, we add a space to the output as -+## well. -+## Some versions of the HPUX 10.20 sed can't process this invocation -+## correctly.  Breaking it into two sed invocations is a workaround. -+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" -+  rm -f "$tmpdepfile" -+  ;; -+ -+hp) -+  # This case exists only to let depend.m4 do its work.  It works by -+  # looking at the text of this script.  This case will never be run, -+  # since it is checked for above. -+  exit 1 -+  ;; -+ -+sgi) -+  if test "$libtool" = yes; then -+    "$@" "-Wp,-MDupdate,$tmpdepfile" -+  else -+    "$@" -MDupdate "$tmpdepfile" -+  fi -+  stat=$? -+  if test $stat -eq 0; then : -+  else -+    rm -f "$tmpdepfile" -+    exit $stat -+  fi -+  rm -f "$depfile" -+ -+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files -+    echo "$object : \\" > "$depfile" -+ -+    # Clip off the initial element (the dependent).  Don't try to be -+    # clever and replace this with sed code, as IRIX sed won't handle -+    # lines with more than a fixed number of characters (4096 in -+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines; -+    # the IRIX cc adds comments like `#:fec' to the end of the -+    # dependency line. -+    tr ' ' ' -+' < "$tmpdepfile" \ -+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ -+    tr ' -+' ' ' >> $depfile -+    echo >> $depfile -+ -+    # The second pass generates a dummy entry for each header file. -+    tr ' ' ' -+' < "$tmpdepfile" \ -+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ -+   >> $depfile -+  else -+    # The sourcefile does not contain any dependencies, so just -+    # store a dummy comment line, to avoid errors with the Makefile -+    # "include basename.Plo" scheme. -+    echo "#dummy" > "$depfile" -+  fi -+  rm -f "$tmpdepfile" -+  ;; -+ -+aix) -+  # The C for AIX Compiler uses -M and outputs the dependencies -+  # in a .u file.  In older versions, this file always lives in the -+  # current directory.  Also, the AIX compiler puts `$object:' at the -+  # start of each line; $object doesn't have directory information. -+  # Version 6 uses the directory in both cases. -+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` -+  tmpdepfile="$stripped.u" -+  if test "$libtool" = yes; then -+    "$@" -Wc,-M -+  else -+    "$@" -M -+  fi -+  stat=$? -+ -+  if test -f "$tmpdepfile"; then : -+  else -+    stripped=`echo "$stripped" | sed 's,^.*/,,'` -+    tmpdepfile="$stripped.u" -+  fi -+ -+  if test $stat -eq 0; then : -+  else -+    rm -f "$tmpdepfile" -+    exit $stat -+  fi -+ -+  if test -f "$tmpdepfile"; then -+    outname="$stripped.o" -+    # Each line is of the form `foo.o: dependent.h'. -+    # Do two passes, one to just change these to -+    # `$object: dependent.h' and one to simply `dependent.h:'. -+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" -+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" -+  else -+    # The sourcefile does not contain any dependencies, so just -+    # store a dummy comment line, to avoid errors with the Makefile -+    # "include basename.Plo" scheme. -+    echo "#dummy" > "$depfile" -+  fi -+  rm -f "$tmpdepfile" -+  ;; -+ -+icc) -+  # Intel's C compiler understands `-MD -MF file'.  However on -+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c -+  # ICC 7.0 will fill foo.d with something like -+  #    foo.o: sub/foo.c -+  #    foo.o: sub/foo.h -+  # which is wrong.  We want: -+  #    sub/foo.o: sub/foo.c -+  #    sub/foo.o: sub/foo.h -+  #    sub/foo.c: -+  #    sub/foo.h: -+  # ICC 7.1 will output -+  #    foo.o: sub/foo.c sub/foo.h -+  # and will wrap long lines using \ : -+  #    foo.o: sub/foo.c ... \ -+  #     sub/foo.h ... \ -+  #     ... -+ -+  "$@" -MD -MF "$tmpdepfile" -+  stat=$? -+  if test $stat -eq 0; then : -+  else -+    rm -f "$tmpdepfile" -+    exit $stat -+  fi -+  rm -f "$depfile" -+  # Each line is of the form `foo.o: dependent.h', -+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. -+  # Do two passes, one to just change these to -+  # `$object: dependent.h' and one to simply `dependent.h:'. -+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" -+  # Some versions of the HPUX 10.20 sed can't process this invocation -+  # correctly.  Breaking it into two sed invocations is a workaround. -+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | -+    sed -e 's/$/ :/' >> "$depfile" -+  rm -f "$tmpdepfile" -+  ;; -+ -+tru64) -+   # The Tru64 compiler uses -MD to generate dependencies as a side -+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. -+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put -+   # dependencies in `foo.d' instead, so we check for that too. -+   # Subdirectories are respected. -+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` -+   test "x$dir" = "x$object" && dir= -+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` -+ -+   if test "$libtool" = yes; then -+      # Dependencies are output in .lo.d with libtool 1.4. -+      # They are output in .o.d with libtool 1.5. -+      tmpdepfile1="$dir.libs/$base.lo.d" -+      tmpdepfile2="$dir.libs/$base.o.d" -+      tmpdepfile3="$dir.libs/$base.d" -+      "$@" -Wc,-MD -+   else -+      tmpdepfile1="$dir$base.o.d" -+      tmpdepfile2="$dir$base.d" -+      tmpdepfile3="$dir$base.d" -+      "$@" -MD -+   fi -+ -+   stat=$? -+   if test $stat -eq 0; then : -+   else -+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" -+      exit $stat -+   fi -+ -+   if test -f "$tmpdepfile1"; then -+      tmpdepfile="$tmpdepfile1" -+   elif test -f "$tmpdepfile2"; then -+      tmpdepfile="$tmpdepfile2" -+   else -+      tmpdepfile="$tmpdepfile3" -+   fi -+   if test -f "$tmpdepfile"; then -+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" -+      # That's a tab and a space in the []. -+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" -+   else -+      echo "#dummy" > "$depfile" -+   fi -+   rm -f "$tmpdepfile" -+   ;; -+ -+#nosideeffect) -+  # This comment above is used by automake to tell side-effect -+  # dependency tracking mechanisms from slower ones. -+ -+dashmstdout) -+  # Important note: in order to support this mode, a compiler *must* -+  # always write the preprocessed file to stdout, regardless of -o. -+  "$@" || exit $? -+ -+  # Remove the call to Libtool. -+  if test "$libtool" = yes; then -+    while test $1 != '--mode=compile'; do -+      shift -+    done -+    shift -+  fi -+ -+  # Remove `-o $object'. -+  IFS=" " -+  for arg -+  do -+    case $arg in -+    -o) -+      shift -+      ;; -+    $object) -+      shift -+      ;; -+    *) -+      set fnord "$@" "$arg" -+      shift # fnord -+      shift # $arg -+      ;; -+    esac -+  done -+ -+  test -z "$dashmflag" && dashmflag=-M -+  # Require at least two characters before searching for `:' -+  # in the target name.  This is to cope with DOS-style filenames: -+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. -+  "$@" $dashmflag | -+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile" -+  rm -f "$depfile" -+  cat < "$tmpdepfile" > "$depfile" -+  tr ' ' ' -+' < "$tmpdepfile" | \ -+## Some versions of the HPUX 10.20 sed can't process this invocation -+## correctly.  Breaking it into two sed invocations is a workaround. -+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" -+  rm -f "$tmpdepfile" -+  ;; -+ -+dashXmstdout) -+  # This case only exists to satisfy depend.m4.  It is never actually -+  # run, as this mode is specially recognized in the preamble. -+  exit 1 -+  ;; -+ -+makedepend) -+  "$@" || exit $? -+  # Remove any Libtool call -+  if test "$libtool" = yes; then -+    while test $1 != '--mode=compile'; do -+      shift -+    done -+    shift -+  fi -+  # X makedepend -+  shift -+  cleared=no -+  for arg in "$@"; do -+    case $cleared in -+    no) -+      set ""; shift -+      cleared=yes ;; -+    esac -+    case "$arg" in -+    -D*|-I*) -+      set fnord "$@" "$arg"; shift ;; -+    # Strip any option that makedepend may not understand.  Remove -+    # the object too, otherwise makedepend will parse it as a source file. -+    -*|$object) -+      ;; -+    *) -+      set fnord "$@" "$arg"; shift ;; -+    esac -+  done -+  obj_suffix="`echo $object | sed 's/^.*\././'`" -+  touch "$tmpdepfile" -+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" -+  rm -f "$depfile" -+  cat < "$tmpdepfile" > "$depfile" -+  sed '1,2d' "$tmpdepfile" | tr ' ' ' -+' | \ -+## Some versions of the HPUX 10.20 sed can't process this invocation -+## correctly.  Breaking it into two sed invocations is a workaround. -+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" -+  rm -f "$tmpdepfile" "$tmpdepfile".bak -+  ;; -+ -+cpp) -+  # Important note: in order to support this mode, a compiler *must* -+  # always write the preprocessed file to stdout. -+  "$@" || exit $? -+ -+  # Remove the call to Libtool. -+  if test "$libtool" = yes; then -+    while test $1 != '--mode=compile'; do -+      shift -+    done -+    shift -+  fi -+ -+  # Remove `-o $object'. -+  IFS=" " -+  for arg -+  do -+    case $arg in -+    -o) -+      shift -+      ;; -+    $object) -+      shift -+      ;; -+    *) -+      set fnord "$@" "$arg" -+      shift # fnord -+      shift # $arg -+      ;; -+    esac -+  done -+ -+  "$@" -E | -+    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | -+    sed '$ s: \\$::' > "$tmpdepfile" -+  rm -f "$depfile" -+  echo "$object : \\" > "$depfile" -+  cat < "$tmpdepfile" >> "$depfile" -+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" -+  rm -f "$tmpdepfile" -+  ;; -+ -+msvisualcpp) -+  # Important note: in order to support this mode, a compiler *must* -+  # always write the preprocessed file to stdout, regardless of -o, -+  # because we must use -o when running libtool. -+  "$@" || exit $? -+  IFS=" " -+  for arg -+  do -+    case "$arg" in -+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") -+	set fnord "$@" -+	shift -+	shift -+	;; -+    *) -+	set fnord "$@" "$arg" -+	shift -+	shift -+	;; -+    esac -+  done -+  "$@" -E | -+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" -+  rm -f "$depfile" -+  echo "$object : \\" > "$depfile" -+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile" -+  echo "	" >> "$depfile" -+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" -+  rm -f "$tmpdepfile" -+  ;; -+ -+none) -+  exec "$@" -+  ;; -+ -+*) -+  echo "Unknown depmode $depmode" 1>&2 -+  exit 1 -+  ;; -+esac -+ -+exit 0 -+ -+# Local Variables: -+# mode: shell-script -+# sh-indentation: 2 -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "scriptversion=" -+# time-stamp-format: "%:y-%02m-%02d.%02H" -+# time-stamp-end: "$" -+# End: -diff --exclude CVS -urN genext2fs-1.3.orig/dev.txt genext2fs/dev.txt ---- genext2fs-1.3.orig/dev.txt	2000-09-28 09:03:19.000000000 -0600 -+++ genext2fs/dev.txt	1969-12-31 17:00:00.000000000 -0700 -@@ -1,94 +0,0 @@ --drwx		/dev --crw-	10,190	/dev/lcd --crw-	10,191	/dev/splc781 --crw-	4,0	/dev/console --crw-	5,64	/dev/cua0 --crw-	5,65	/dev/cua1 --crw-	5,66	/dev/cua2 --crw-	5,70	/dev/cua6 --crw-	5,71	/dev/cua7 --crw-	5,72	/dev/cua8 --crw-	5,73	/dev/cua9 --crw-	29,0	/dev/fb0 --crw-	29,32	/dev/fb1 --crw-	1,2	/dev/kmem --crw-	1,1	/dev/mem --crw-	1,3	/dev/null --crw-	2,2	/dev/ptyp2 --crw-	2,3	/dev/ptyp3 --crw-	2,5	/dev/ptyp5 --crw-	2,4	/dev/ptyp4 --crw-	10,178	/dev/triokb --crw-	2,0	/dev/ptyp0 --crw-	2,6	/dev/ptyp6 --crw-	2,7	/dev/ptyp7 --crw-	2,8	/dev/ptyp8 --crw-	2,9	/dev/ptyp9 --crw-	2,10	/dev/ptypa --crw-	2,11	/dev/ptypb --crw-	2,12	/dev/ptypc --crw-	2,13	/dev/ptypd --crw-	2,14	/dev/ptype --crw-	2,15	/dev/ptypf --brw-	1,0	/dev/ram0 --brw-	1,1	/dev/ram1 --brw-	1,2	/dev/ram2 --brw-	1,3	/dev/ram3 --br--	31,0	/dev/rom0 --brw-	31,1	/dev/rom1 --brw-	31,2	/dev/rom2 --brw-	31,3	/dev/rom3 --crw-	5,0	/dev/tty --crw-	4,0	/dev/tty0 --crwx	4,1	/dev/tty1 --crwx	4,2	/dev/tty2 --crwx	4,3	/dev/tty3 --crwx	4,4	/dev/tty4 --crw-	4,5	/dev/tty5 --crwx	4,6	/dev/tty6 --crw-	4,7	/dev/tty7 --crw-	4,8	/dev/tty8 --crw-	4,9	/dev/tty9 --crw-	4,64	/dev/ttyS0 --crw-	4,65	/dev/ttyS1 --crw-	4,66	/dev/ttyS2 --crw-	4,67	/dev/ttyS3 --crw-	4,68	/dev/ttyS4 --crw-	4,69	/dev/ttyS5 --crw-	4,70	/dev/ttyS6 --crw-	4,71	/dev/ttyS7 --crw-	4,72	/dev/ttyS8 --crw-	4,73	/dev/ttyS9 --crw-	3,0	/dev/ttyp0 --crw-	3,1	/dev/ttyp1 --crw-	3,2	/dev/ttyp2 --crw-	3,3	/dev/ttyp3 --crw-	3,4	/dev/ttyp4 --crw-	3,5	/dev/ttyp5 --crw-	3,6	/dev/ttyp6 --crw-	3,7	/dev/ttyp7 --crw-	3,8	/dev/ttyp8 --crw-	3,9	/dev/ttyp9 --crw-	3,10	/dev/ttypa --crw-	3,11	/dev/ttypb --crw-	3,12	/dev/ttypc --crw-	3,13	/dev/ttypd --crw-	3,14	/dev/ttype --crw-	3,15	/dev/ttypf --crw-	1,5	/dev/zero --crwx	10,111	/dev/dtedrv --crwx	4,110	/dev/ttyM --crw-	77,1	/dev/tssnd --crw-	77,2	/dev/tstone --crw-	2,1	/dev/ptyp1 --crwx	10,180	/dev/triohook --crw-	90,0	/dev/mtd0 --brw-	44,0	/dev/ftl0 --crw-	10,175	/dev/tporta --crw-	10,176	/dev/tportb --crwx	10,100	/dev/softmodem --crwx	10,101	/dev/softmodem_signals --crwx	10,181	/dev/triovoice --crw-	5,67	/dev/cua3 --crw-	5,68	/dev/cua4 --crw-	5,69	/dev/cua5 -diff --exclude CVS -urN genext2fs-1.3.orig/device_table.txt genext2fs/device_table.txt ---- genext2fs-1.3.orig/device_table.txt	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/device_table.txt	2004-10-24 02:43:50.000000000 -0600 -@@ -0,0 +1,129 @@ -+# When building a target filesystem, it is desirable to not have to -+# become root and then run 'mknod' a thousand times.  Using a device  -+# table you can create device nodes and directories "on the fly". -+# -+# This is a sample device table file for use with genext2fs.  You can -+# do all sorts of interesting things with a device table file.  For -+# example, if you want to adjust the permissions on a particular file -+# you can just add an entry like: -+#   /sbin/foobar        f       2755    0       0       -       -       -       -       - -+# and (assuming the file /sbin/foobar exists) it will be made setuid -+# root (regardless of what its permissions are on the host filesystem. -+# Furthermore, you can use a single table entry to create a many device -+# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15] -+# I could just use the following two table entries: -+#   /dev/hda    b       640     0       0       3       0       0       0       - -+#   /dev/hda    b       640     0       0       3       1       1       1       15 -+#  -+# Device table entries take the form of: -+# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count> -+# where name is the file name,  type can be one of:  -+#       f       A regular file -+#       d       Directory -+#       c       Character special device file -+#       b       Block special device file -+#       p       Fifo (named pipe) -+# uid is the user id for the target file, gid is the group id for the -+# target file.  The rest of the entries (major, minor, etc) apply only  -+# to device special files. -+ -+# Have fun -+# -Erik Andersen <andersen@codepoet.org> -+# -+ -+#<name>		<type>	<mode>	<uid>	<gid>	<major>	<minor>	<start>	<inc>	<count> -+/dev		d	755	0	0	-	-	-	-	- -+/dev/mem	c	640	0	0	1	1	0	0	- -+/dev/kmem	c	640	0	0	1	2	0	0	- -+/dev/null	c	640	0	0	1	3	0	0	- -+/dev/zero	c	640	0	0	1	5	0	0	- -+/dev/random	c	640	0	0	1	8	0	0	- -+/dev/urandom	c	640	0	0	1	9	0	0	- -+/dev/tty	c	666	0	0	5	0	0	0	- -+/dev/tty	c	666	0	0	4	0	0	1	6 -+/dev/console	c	640	0	0	5	1	0	0	- -+/dev/ram	b	640	0	0	1	1	0	0	- -+/dev/ram	b	640	0	0	1	0	0	1	4 -+/dev/loop	b	640	0	0	7	0	0	1	2 -+/dev/ptmx	c	666	0	0	5	2	0	0	- -+#/dev/ttyS	c	640	0	0	4	64	0	1	4 -+#/dev/psaux	c	640	0	0	10	1	0	0	- -+#/dev/rtc	c	640	0	0	10	135	0	0	- -+ -+# Adjust permissions on some normal files -+#/etc/shadow	f	600	0	0	-	-	-	-	- -+#/bin/tinylogin	f	4755	0	0	-	-	-	-	- -+ -+# User-mode Linux stuff -+/dev/ubda	b	640	0	0	98	0	0	0	- -+/dev/ubda	b	640	0	0	98	1	1	1	15 -+ -+# IDE Devices -+/dev/hda	b	640	0	0	3	0	0	0	- -+/dev/hda	b	640	0	0	3	1	1	1	15 -+/dev/hdb	b	640	0	0	3	64	0	0	- -+/dev/hdb	b	640	0	0	3	65	1	1	15 -+#/dev/hdc	b	640	0	0	22	0	0	0	- -+#/dev/hdc	b	640	0	0	22	1	1	1	15 -+#/dev/hdd	b	640	0	0	22	64	0	0	- -+#/dev/hdd	b	640	0	0	22	65	1	1	15 -+#/dev/hde	b	640	0	0	33	0	0	0	- -+#/dev/hde	b	640	0	0	33	1	1	1	15 -+#/dev/hdf	b	640	0	0	33	64	0	0	- -+#/dev/hdf	b	640	0	0	33	65	1	1	15 -+#/dev/hdg	b	640	0	0	34	0	0	0	- -+#/dev/hdg	b	640	0	0	34	1	1	1	15 -+#/dev/hdh	b	640	0	0	34	64	0	0	- -+#/dev/hdh	b	640	0	0	34	65	1	1	15 -+ -+# SCSI Devices -+#/dev/sda	b	640	0	0	8	0	0	0	- -+#/dev/sda	b	640	0	0	8	1	1	1	15 -+#/dev/sdb	b	640	0	0	8	16	0	0	- -+#/dev/sdb	b	640	0	0	8	17	1	1	15 -+#/dev/sdc	b	640	0	0	8	32	0	0	- -+#/dev/sdc	b	640	0	0	8	33	1	1	15 -+#/dev/sdd	b	640	0	0	8	48	0	0	- -+#/dev/sdd	b	640	0	0	8	49	1	1	15 -+#/dev/sde	b	640	0	0	8	64	0	0	- -+#/dev/sde	b	640	0	0	8	65	1	1	15 -+#/dev/sdf	b	640	0	0	8	80	0	0	- -+#/dev/sdf	b	640	0	0	8	81	1	1	15 -+#/dev/sdg	b	640	0	0	8	96	0	0	- -+#/dev/sdg	b	640	0	0	8	97	1	1	15 -+#/dev/sdh	b	640	0	0	8	112	0	0	- -+#/dev/sdh	b	640	0	0	8	113	1	1	15 -+#/dev/sg		c	640	0	0	21	0	0	1	15 -+#/dev/scd	b	640	0	0	11	0	0	1	15 -+#/dev/st		c	640	0	0	9	0	0	1	8 -+#/dev/nst	c	640	0	0	9	128	0	1	8 -+#/dev/st	c	640	0	0	9	32	1	1	4 -+#/dev/st	c	640	0	0	9	64	1	1	4 -+#/dev/st	c	640	0	0	9	96	1	1	4 -+ -+# Floppy disk devices -+#/dev/fd		b	640	0	0	2	0	0	1	2 -+#/dev/fd0d360	b	640	0	0	2	4	0	0	- -+#/dev/fd1d360	b	640	0	0	2	5	0	0	- -+#/dev/fd0h1200	b	640	0	0	2	8	0	0	- -+#/dev/fd1h1200	b	640	0	0	2	9	0	0	- -+#/dev/fd0u1440	b	640	0	0	2	28	0	0	- -+#/dev/fd1u1440	b	640	0	0	2	29	0	0	- -+#/dev/fd0u2880	b	640	0	0	2	32	0	0	- -+#/dev/fd1u2880	b	640	0	0	2	33	0	0	- -+ -+# All the proprietary cdrom devices in the world -+#/dev/aztcd	b	640	0	0	29	0	0	0	- -+#/dev/bpcd	b	640	0	0	41	0	0	0	- -+#/dev/capi20	c	640	0	0	68	0	0	1	2 -+#/dev/cdu31a	b	640	0	0	15	0	0	0	- -+#/dev/cdu535	b	640	0	0	24	0	0	0	- -+#/dev/cm206cd	b	640	0	0	32	0	0	0	- -+#/dev/sjcd	b	640	0	0	18	0	0	0	- -+#/dev/sonycd	b	640	0	0	15	0	0	0	- -+#/dev/gscd	b	640	0	0	16	0	0	0	- -+#/dev/sbpcd	b	640	0	0	25	0	0	0	- -+#/dev/sbpcd	b	640	0	0	25	0	0	1	4 -+#/dev/mcd	b	640	0	0	23	0	0	0	- -+#/dev/optcd	b	640	0	0	17	0	0	0	- -+ -diff --exclude CVS -urN genext2fs-1.3.orig/genext2fs.8 genext2fs/genext2fs.8 ---- genext2fs-1.3.orig/genext2fs.8	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/genext2fs.8	2004-10-24 02:43:50.000000000 -0600 -@@ -0,0 +1,129 @@ -+.\"                                      Hey, EMACS: -*- nroff -*- -+.\" First parameter, NAME, should be all caps -+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -+.\" other parameters are allowed: see man(7), man(1) -+.TH GENEXT2FS 8 "July 14, 2001" -+.\" Please adjust this date whenever revising the manpage. -+.\" -+.\" Some roff macros, for reference: -+.\" .nh        disable hyphenation -+.\" .hy        enable hyphenation -+.\" .ad l      left justify -+.\" .ad b      justify to both left and right margins -+.\" .nf        disable filling -+.\" .fi        enable filling -+.\" .br        insert line break -+.\" .sp <n>    insert n+1 empty lines -+.\" for manpage-specific macros, see man(7) -+.SH NAME -+genext2fs \- ext2 filesystem generator for embedded systems -+.SH SYNOPSIS -+.B genext2fs -+.RI [ options ]  " image" -+.SH DESCRIPTION -+\fBgenext2fs\fP generates an ext2 filesystem -+as a normal (non-root) user. It doesn't require you to mount -+the image file to copy files on it. It doesn't even require -+you to be the superuser to make device nodes. -+.SH WARNING -+\fBgenext2fs\fP has been designed for embedded -+systems. As such, it will generate a filesystem for single-user -+usage: all files/directories/etc... will belong to UID/GID 0 -+.SH OPTIONS -+.TP -+.BI -x \ image -+Use this image as a starting point -+.TP -+.BI -d \ directory -+Add this directory as source -+.TP -+.BI -f \ FILE -+.TP -+.BI -D \ FILE -+Uses the named FILE as a device table file, to create device  -+nodes and directories "on the fly". -+.TP -+.BI -b \ blocks -+Size in blocks -+.TP -+.BI -i \ inodes -+Number of inodes -+.TP -+.BI -r \ reserved -+Number of reserved blocks -+.TP -+.BI -g \ path -+Generate a block map file for this path -+.TP -+.BI -e \ value -+Fill unallocated blocks with value -+.TP -+.BI -z -+Make files with holes -+.TP -+.BI -U -+Squash owners making all files be owned by root -+.TP -+.BI -P -+Squash permissions on all files -+.TP -+.BI -q -+Squash permissions and owners (same as -P -U) -+.TP -+.BI -v -+Print resulting filesystem structure -+.TP -+.BI -h -+Display help -+.TP -+.SH EXAMPLES -+ -+.EX -+.B -+ genext2fs -b 1440 -d src /dev/fd0 -+.EE -+ -+All files in the  -+.I src -+directory will be written to  -+.B /dev/fd0 -+as a new ext2 filesystem image. You can then mount the floppy as -+usual. -+ -+.EX -+.B -+ genext2fs -b 1024 -d src -D device_table.txt flashdisk.img -+.EE -+ -+This example builds a filesystem from all the files in  -+.I src -+, then device nodes are created based on the content the device_table file -+.I dev.txt. -+An example device file follows: -+ -+.EX -+ #<name>		<type>	<mode>	<uid>	<gid>	<major>	<minor>	<start>	<inc>	<count> -+ /dev		d	755	0	0	-	-	-	-	- -+ /dev/mem	c	640	0	0	1	1	0	0	- -+ /dev/tty	c	666	0	0	5	0	0	0	- -+ /dev/tty	c	666	0	0	4	0	0	1	6 -+ /dev/loop	b	640	0	0	7	0	0	1	2 -+ /dev/hda	b	640	0	0	3	0	0	0	- -+ /dev/hda	b	640	0	0	3	1	1	1	16 -+.EE -+ -+This device table creates the /dev directory, a character device -+node /dev/mem (major 1, minor 1), it also creates /dev/tty,  -+/dev/tty[0-5], /dev/loop[0-1], /dev/hda, and /dev/hda0 to /dev/hda15 -+.SH BUGS -+\fBgenext2fs\fP does not support hard links.  Hard links present in the input -+tree will be represented as separate files in the ext2 image. -+ -+.SH SEE ALSO -+.BR mkfs (8), -+.BR genromfs (8), -+.BR mkisofs (8). -+.br -+.SH AUTHOR -+This manual page was written by David Kimdon <dwhedon@debian.org>, -+for the Debian GNU/Linux system (but may be used by others). -diff --exclude CVS -urN genext2fs-1.3.orig/genext2fs.c genext2fs/genext2fs.c ---- genext2fs-1.3.orig/genext2fs.c	2001-06-18 02:11:32.000000000 -0600 -+++ genext2fs/genext2fs.c	2004-12-08 04:51:42.000000000 -0700 -@@ -1,8 +1,14 @@ -+/* vi: set sw=8 ts=8: */ - // genext2fs.c - // - // ext2 filesystem generator for embedded systems - // Copyright (C) 2000 Xavier Bestel <xavier.bestel@free.fr> - // -+// 'du' portions taken from coreutils/du.c in busybox: -+//	Copyright (C) 1999,2000 by Lineo, inc. and John Beppu -+//	Copyright (C) 1999,2000,2001 by John Beppu <beppu@codepoet.org> -+//	Copyright (C) 2002  Edward Betts <edward@debian.org> -+// - // 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; version -@@ -26,6 +32,23 @@ - // 			Bugfix: getcwd values for Solaris	xavier.gueguen@col.bsf.alcatel.fr - // 			Bugfix: ANSI scanf for non-GNU C	xavier.gueguen@col.bsf.alcatel.fr - // 	28 Jun 2001	Bugfix: getcwd differs for Solaris/GNU	mike@sowbug.com -+// 	 8 Mar 2002	Bugfix: endianness swap of x-indirects -+// 	23 Mar 2002	Bugfix: test for IFCHR or IFBLK was flawed -+// 	10 Oct 2002	Added comments,makefile targets,	vsundar@ixiacom.com     -+// 			endianess swap assert check.   -+// 			Copyright (C) 2002 Ixia communications -+// 	12 Oct 2002	Added support for triple indirection	vsundar@ixiacom.com -+// 			Copyright (C) 2002 Ixia communications -+// 	14 Oct 2002	Added support for groups		vsundar@ixiacom.com -+// 			Copyright (C) 2002 Ixia communications -+//     5 Jan 2003  Bugfixes: reserved inodes should be set vsundar@usc.edu -+//             only in the first group; directory names -+//             need to be null padded at the end; and  -+//             number of blocks per group should be a  -+//             multiple of 8. Updated md5 values.  -+//     6 Jan 2003  Erik Andersen <andersee@debian.org> added -+//                         mkfs.jffs2 compatible device table support, -+//                         along with -q, -P, -U -  -  - // `genext2fs' is a mean to generate an ext2 filesystem -@@ -33,10 +56,6 @@ - // the image file to copy files on it. It doesn't even require - // you to be the superuser to make device nodes. - // --// Warning ! `genext2fs' has been designed for embedded --// systems. As such, it will generate a filesystem for single-user --// usage: all files/directories/etc... will belong to UID/GID 0 --// - // Example usage: - // - // # genext2fs -b 1440 -d srcdir /dev/fd0 -@@ -45,41 +64,131 @@ - // a new ext2 filesystem image. You can then mount the floppy as - // usual. - // --// # genext2fs -b 1024 -d builddir -f devices.txt flashdisk.img -+// # genext2fs -b 1024 -d builddir -D device_table.txt flashdisk.img - // - // This one would build a filesystem from all the files in builddir, --// then would read a devices list and make apropriate nodes. The --// format for the device list is: --// --// drwx            /dev --// crw-    10,190  /dev/lcd --// brw-    1,0     /dev/ram0 --//  --// This device list builds the /dev directory, a character device --// node /dev/lcd (major 10, minor 190) and a block device node --// /dev/ram0 (major 1, minor 0) -- -+// then would read the device_table.txt file and make apropriate nodes. -+// The format for the device table file is covered in detail in the sample -+// device_table.txt file provided with the genext2fs source. -  -+#define _GNU_SOURCE - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <dirent.h> -+#include <libgen.h> - #include <stdarg.h> - #include <unistd.h> - #include <sys/stat.h> -+#include <assert.h> -+#include <time.h> -+#include <ctype.h> -+#include <errno.h> -+#include <fcntl.h> -+#include <sys/types.h> -+#include <getopt.h> -+ -+struct stats { -+	unsigned long nblocks; -+	unsigned long ninodes; -+}; -+ -+#if 0 -+#define HASH_SIZE	311		/* Should be prime */ -+#define hash_inode(i)	((i) % HASH_SIZE) -+ -+typedef struct ino_dev_hash_bucket_struct { -+	struct ino_dev_hash_bucket_struct *next; -+	ino_t ino; -+	dev_t dev; -+	char name[1]; -+} ino_dev_hashtable_bucket_t; -+ -+static ino_dev_hashtable_bucket_t *ino_dev_hashtable[HASH_SIZE]; -+ -+static int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name) -+{ -+	ino_dev_hashtable_bucket_t *bucket; -+ -+	bucket = ino_dev_hashtable[hash_inode(statbuf->st_ino)]; -+	while (bucket != NULL) { -+		if ((bucket->ino == statbuf->st_ino) && -+		    (bucket->dev == statbuf->st_dev)) -+		{ -+			if (name) *name = bucket->name; -+			return 1; -+		} -+		bucket = bucket->next; -+	} -+	return 0; -+} -  -+/* Add statbuf to statbuf hash table */ -+static void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name) -+{ -+	int i; -+	size_t s; -+	ino_dev_hashtable_bucket_t *bucket; -+     -+	i = hash_inode(statbuf->st_ino); -+	s = name ? strlen(name) : 0; -+	bucket = malloc(sizeof(ino_dev_hashtable_bucket_t) + s); -+	bucket->ino = statbuf->st_ino; -+	bucket->dev = statbuf->st_dev; -+	if (name) -+		strcpy(bucket->name, name); -+	else -+		bucket->name[0] = '\0'; -+	bucket->next = ino_dev_hashtable[i]; -+	ino_dev_hashtable[i] = bucket; -+} -  -+/* Clear statbuf hash table */ -+static void reset_ino_dev_hashtable(void) -+{ -+	int i; -+	ino_dev_hashtable_bucket_t *bucket; -  -+	for (i = 0; i < HASH_SIZE; i++) { -+		while (ino_dev_hashtable[i] != NULL) { -+			bucket = ino_dev_hashtable[i]->next; -+			free(ino_dev_hashtable[i]); -+			ino_dev_hashtable[i] = bucket; -+		} -+	} -+} -+ -+static int count_ino_in_hashtable(void) -+{ -+	long count = 0; -+	int i; -+ -+	for (i = 0; i < HASH_SIZE; i++) { -+		ino_dev_hashtable_bucket_t *bucket = ino_dev_hashtable[i]; -+		while (bucket != NULL) { -+			count++; -+			bucket = bucket->next; -+		} -+	} -+ -+	return count; -+} -+#endif -  - // block size -  - #define BLOCKSIZE         1024 - #define BLOCKS_PER_GROUP  8192 - #define BYTES_PER_INODE   (8*BLOCKSIZE) --#define RESERVED_INODES   5/100 -+/* Percentage of blocks that are reserved.*/ -+#define RESERVED_BLOCKS       5/100 -+#define MAX_RESERVED_BLOCKS  25/100 -  -  - // inode block size (why is it != BLOCKSIZE ?!?) -+/* The field i_blocks in the ext2 inode stores the number of data blocks -+   but in terms of 512 bytes. That is what INODE_BLOCKSIZE represents. -+   INOBLK is the number of such blocks in an actual disk block            */ -  - #define INODE_BLOCKSIZE   512 - #define INOBLK            (BLOCKSIZE / INODE_BLOCKSIZE) -@@ -115,18 +224,20 @@ - // file modes -  - #define FM_IFMT    0xF000	// format mask --#define FM_IFLNK   0xA000	// socket --#define FM_IFSOCK  0xC000	// symbolic link -+#define FM_IFLNK   0xA000	// symbolic link -+#define FM_IFSOCK  0xC000	// socket - #define FM_IFREG   0x8000	// regular file - #define FM_IFBLK   0x6000	// block device - #define FM_IFDIR   0x4000	// directory - #define FM_IFCHR   0x2000	// character device - #define FM_IFIFO   0x1000	// fifo -  -+#define FM_IMASK   0x0FFF	// all perms - #define FM_ISUID   0x0800	// SUID - #define FM_ISGID   0x0400	// SGID - #define FM_ISVTX   0x0200	// sticky bit -  -+ - #define FM_IRWXU   0x01C0	// user mask - #define FM_IRUSR   0x0100	// read - #define FM_IWUSR   0x0080	// write -@@ -147,6 +258,39 @@ -  - #define OP_HOLES     0x01       // make files with holes -  -+/* Defines for accessing group details */ -+ -+// Number of groups in the filesystem -+#define GRP_NBGROUPS(fs) (((fs)->sb.s_blocks_count+(fs)->sb.s_blocks_per_group-1)/(fs)->sb.s_blocks_per_group) -+ -+// Get group block bitmap (bbm) given the group number -+#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) ) -+ -+// Get group inode bitmap (ibm) given the group number -+#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) ) -+		 -+// Given an inode number find the group it belongs to -+#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group) -+ -+//Given an inode number get the inode bitmap that covers it -+#define GRP_GET_INODE_BITMAP(fs,nod) \ -+	( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) ) -+ -+//Given an inode number find its offset within the inode bitmap that covers it -+#define GRP_IBM_OFFSET(fs,nod) \ -+	( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group ) -+ -+// Given a block number find the group it belongs to -+#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group) -+	 -+//Given a block number get the block bitmap that covers it -+#define GRP_GET_BLOCK_BITMAP(fs,blk) \ -+	( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) ) -+ -+//Given a block number find its offset within the block bitmap that covers it -+#define GRP_BBM_OFFSET(fs,blk) \ -+	( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group ) -+ -  - // used types -  -@@ -176,7 +320,7 @@ - #define SCANF_PREFIX "511" - #define SCANF_STRING(s) (s = malloc(512)) - #define GETCWD_SIZE -1 --inline int snprintf(char *str, size_t n, const char *fmt, ...) -+static inline int snprintf(char *str, size_t n, const char *fmt, ...) - { - 	int ret; - 	va_list ap; -@@ -190,12 +334,12 @@ -  - // endianness swap -  --inline uint16 swab16(uint16 val) -+static inline uint16 swab16(uint16 val) - { - 	return (val >> 8) | (val << 8); - } -  --inline uint32 swab32(uint32 val) -+static inline uint32 swab32(uint32 val) - { - 	return ((val>>24) | ((val>>8)&0xFF00) | - 			((val<<8)&0xFF0000) | (val<<24)); -@@ -287,7 +431,6 @@ - { - 	groupdescriptor_decl - 	uint32 bg_reserved[3]; --	uint32 bg_pad_to_bk[(BLOCKSIZE-32)/sizeof(uint32)]; - } groupdescriptor; -  - typedef struct -@@ -304,6 +447,32 @@ -  - typedef uint8 block[BLOCKSIZE]; -  -+/* blockwalker fields: -+   The blockwalker is used to access all the blocks of a file (including -+   the indirection blocks) through repeated calls to walk_bw.   -+    -+   bpdir -> index into the inode->i_block[]. Indicates level of indirection. -+   bnum -> total number of blocks so far accessed. including indirection -+           blocks. -+   bpind,bpdind,bptind -> index into indirection blocks. -+    -+   bpind, bpdind, bptind do *NOT* index into single, double and triple -+   indirect blocks resp. as you might expect from their names. Instead  -+   they are in order the 1st, 2nd & 3rd index to be used -+    -+   As an example.. -+   To access data block number 70000: -+        bpdir: 15 (we are doing triple indirection) -+        bpind: 0 ( index into the triple indirection block) -+        bpdind: 16 ( index into the double indirection block) -+        bptind: 99 ( index into the single indirection block) -+	70000 = 12 + 256 + 256*256 + 16*256 + 100 (indexing starts from zero) -+ -+   So,for double indirection bpind will index into the double indirection  -+   block and bpdind into the single indirection block. For single indirection -+   only bpind will be used. -+*/ -+    - typedef struct - { - 	uint32 bnum; -@@ -313,15 +482,14 @@ - 	uint32 bptind; - } blockwalker; -  -+ -+/* Filesystem structure that support groups */ - #if BLOCKSIZE == 1024 - typedef struct - { --	block zero;          // The famous block 0 --	superblock sb;       // The superblock --	groupdescriptor gd;  // The group desciptor --	block bbm;           // The block bitmap --	block ibm;           // The inode bitmap --	inode itab[0];       // The inode table -+	block zero;            // The famous block 0 -+	superblock sb;         // The superblock -+	groupdescriptor gd[0]; // The group descriptors - } filesystem; - #else - #error UNHANDLED BLOCKSIZE -@@ -345,35 +513,35 @@ - #define udecl32(x) this->x = swab32(this->x); - #define utdecl32(x,n) { int i; for(i=0; i<n; i++) this->x[i] = swab32(this->x[i]); } -  --void swap_sb(superblock *sb) -+static void swap_sb(superblock *sb) - { - #define this sb - 	superblock_decl - #undef this - } -  --void swap_gd(groupdescriptor *gd) -+static void swap_gd(groupdescriptor *gd) - { - #define this gd - 	groupdescriptor_decl - #undef this - } -  --void swap_nod(inode *nod) -+static void swap_nod(inode *nod) - { - #define this nod - 	inode_decl - #undef this - } -  --void swap_dir(directory *dir) -+static void swap_dir(directory *dir) - { - #define this dir - 	directory_decl - #undef this - } -  --void swap_block(block b) -+static void swap_block(block b) - { - 	int i; - 	uint32 *blk = (uint32*)b; -@@ -389,67 +557,158 @@ - #undef udecl32 - #undef utdecl32 -  --char * argv0; -+static char * app_name; -+static const char *const memory_exhausted = "memory exhausted"; -  - // error (un)handling --inline void errexit(const char *fmt, ...) -+static void verror_msg(const char *s, va_list p) - { --	va_list ap; --	fprintf(stderr, "%s: ", argv0); --	va_start(ap, fmt); --	vfprintf(stderr, fmt, ap); --	va_end(ap); --	fprintf(stderr, "\n"); --	exit(1); -+	fflush(stdout); -+	fprintf(stderr, "%s: ", app_name); -+	vfprintf(stderr, s, p); -+} -+static void error_msg(const char *s, ...) -+{ -+	va_list p; -+	va_start(p, s); -+	verror_msg(s, p); -+	va_end(p); -+	putc('\n', stderr); -+} -+ -+static void error_msg_and_die(const char *s, ...) -+{ -+	va_list p; -+	va_start(p, s); -+	verror_msg(s, p); -+	va_end(p); -+	putc('\n', stderr); -+	exit(EXIT_FAILURE); -+} -+ -+static void vperror_msg(const char *s, va_list p) -+{ -+	int err = errno; -+	if (s == 0) -+		s = ""; -+	verror_msg(s, p); -+	if (*s) -+		s = ": "; -+	fprintf(stderr, "%s%s\n", s, strerror(err)); -+} -+#if 0 -+static void perror_msg(const char *s, ...) -+{ -+	va_list p; -+	va_start(p, s); -+	vperror_msg(s, p); -+	va_end(p); -+} -+#endif -+static void perror_msg_and_die(const char *s, ...) -+{ -+	va_list p; -+	va_start(p, s); -+	vperror_msg(s, p); -+	va_end(p); -+	exit(EXIT_FAILURE); -+} -+ -+static FILE *xfopen(const char *path, const char *mode) -+{ -+	FILE *fp; -+	if ((fp = fopen(path, mode)) == NULL) -+		perror_msg_and_die("%s", path); -+	return fp; -+} -+ -+static char *xstrdup(const char *s) -+{ -+	char *t; -+ -+	if (s == NULL) -+		return NULL; -+	t = strdup(s); -+	if (t == NULL) -+		error_msg_and_die(memory_exhausted); -+	return t; - } -  --inline void pexit(const char * fname) -+static void *xrealloc(void *ptr, size_t size) - { --	fprintf(stderr, "%s: ", argv0); --	perror(fname); --	exit(1); -+	ptr = realloc(ptr, size); -+	if (ptr == NULL && size != 0) -+		error_msg_and_die(memory_exhausted); -+	return ptr; -+} -+ -+static char *xreadlink(const char *path) -+{ -+	static const int GROWBY = 80; /* how large we will grow strings by */ -+ -+	char *buf = NULL; -+	int bufsize = 0, readsize = 0; -+ -+	do { -+		buf = xrealloc(buf, bufsize += GROWBY); -+		readsize = readlink(path, buf, bufsize); /* 1st try */ -+		if (readsize == -1) { -+			perror_msg_and_die("%s:%s", app_name, path); -+		} -+	} -+	while (bufsize < readsize + 1); -+ -+	buf[readsize] = '\0'; -+	return buf; - } -  - // printf helper macro - #define plural(a) (a), ((a) > 1) ? "s" : "" -  - // temporary working block --inline uint8 * get_workblk(void) -+static inline uint8 * get_workblk(void) - { --	static block b; -+	unsigned char* b=calloc(1,BLOCKSIZE); - 	return b; - } --inline void free_workblk(block b) -+static inline void free_workblk(block b) - { -+	free(b); - } -  --// rounds a quantity up to a blocksize --uint32 rndup(uint32 qty, uint32 siz) -+/* Rounds qty upto a multiple of siz. siz should be a power of 2 */ -+static uint32 rndup(uint32 qty, uint32 siz) - { - 	return (qty + (siz - 1)) & ~(siz - 1); - } -  - // check if something is allocated in the bitmap --inline uint32 allocated(block b, uint32 item) -+static inline uint32 allocated(block b, uint32 item) - { - 	return b[(item-1) / 8] & (1 << ((item-1) % 8)); - } -  - // return a given block from a filesystem --inline uint8 * get_blk(filesystem *fs, uint32 blk) -+static inline uint8 * get_blk(filesystem *fs, uint32 blk) - { - 	return (uint8*)fs + blk*BLOCKSIZE; - } -  - // return a given inode from a filesystem --inline inode * get_nod(filesystem *fs, uint32 nod) -+static inline inode * get_nod(filesystem *fs, uint32 nod) - { --	return &fs->itab[nod-1]; -+	int grp,offset; -+	inode *itab; -+ -+	offset = GRP_IBM_OFFSET(fs,nod); -+	grp = GRP_GROUP_OF_INODE(fs,nod); -+	itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table); -+	return itab+offset-1; - } -  - // allocate a given block/inode in the bitmap - // allocate first free if item == 0 --uint32 allocate(block b, uint32 item) -+static uint32 allocate(block b, uint32 item) - { - 	if(!item) - 	{ -@@ -473,39 +732,67 @@ - } -  - // deallocate a given block/inode --void deallocate(block b, uint32 item) -+static void deallocate(block b, uint32 item) - { - 	b[(item-1) / 8] &= ~(1 << ((item-1) % 8)); - } -  - // allocate a block --uint32 alloc_blk(filesystem *fs) -+static uint32 alloc_blk(filesystem *fs, uint32  nod) - { --	uint32 bk; --	if(!(bk = allocate(fs->bbm, 0))) --		errexit("couldn't allocate a block (no free space)"); --	if(!(fs->gd.bg_free_blocks_count--)) --		errexit("group descr. free blocks count == 0 (corrupted fs?)"); -+	uint32 bk=0; -+	uint32 grp,nbgroups; -+ -+	grp = nod/fs->sb.s_inodes_per_group; -+	nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) /  -+					fs->sb.s_blocks_per_group; -+	if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) { -+		for(grp=0;grp<nbgroups && !bk;grp++) -+			bk=allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap),0); -+		grp--; -+	} -+	if (!bk) -+		error_msg_and_die("couldn't allocate a block (no free space)"); -+	if(!(fs->gd[grp].bg_free_blocks_count--)) -+		error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp); - 	if(!(fs->sb.s_free_blocks_count--)) --		errexit("superblock free blocks count == 0 (corrupted fs?)"); --	return bk; -+		error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); -+	return fs->sb.s_blocks_per_group*grp + bk; - } -  - // allocate an inode --uint32 alloc_nod(filesystem *fs) -+static uint32 alloc_nod(filesystem *fs) - { --	uint32 nod; --	if(!(nod = allocate(fs->ibm, 0))) --		errexit("couldn't allocate an inode (no free inode)"); --	if(!(fs->gd.bg_free_inodes_count--)) --		errexit("group descr. free blocks count == 0 (corrupted fs?)"); -+	uint32 nod=0,best_group=0; -+	uint32 grp,nbgroups,avefreei; -+ -+	nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) /  -+					fs->sb.s_blocks_per_group; -+ -+	/* Distribute inodes amongst all the blocks                           */ -+	/* For every block group with more than average number of free inodes */ -+	/* find the one with the most free blocks and allocate node there     */ -+	/* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel      */ -+	/* We do it for all inodes.                                           */ -+	avefreei  =  fs->sb.s_free_inodes_count / nbgroups; -+	for(grp=0;grp<nbgroups && !nod;grp++) { -+		if (fs->gd[grp].bg_free_inodes_count < avefreei) -+			continue; -+		if (!best_group ||  -+			fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count) -+			best_group = grp; -+	} -+	if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0))) -+		error_msg_and_die("couldn't allocate an inode (no free inode)"); -+	if(!(fs->gd[best_group].bg_free_inodes_count--)) -+		error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)"); - 	if(!(fs->sb.s_free_inodes_count--)) --		errexit("superblock free blocks count == 0 (corrupted fs?)"); --	return nod; -+		error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); -+	return fs->sb.s_inodes_per_group*best_group+nod; - } -  - // print a bitmap allocation --void print_bm(block b, uint32 max) -+static void print_bm(block b, uint32 max) - { - 	uint32 i; - 	printf("----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0\n"); -@@ -520,7 +807,7 @@ - } -  - // initalize a blockwalker (iterator for blocks list) --void init_bw(filesystem *fs, uint32 nod, blockwalker *bw) -+static void init_bw(filesystem *fs, uint32 nod, blockwalker *bw) - { - 	bw->bnum = 0; - 	bw->bpdir = EXT2_INIT_BLOCK; -@@ -529,7 +816,7 @@ - // return next block of inode (WALK_END for end) - // if create>0, append a newly allocated block at the end - // if hole!=0, create a hole in the file --uint32 walk_bw(filesystem *fs, uint32 nod, blockwalker *bw, uint32 *create, uint32 hole) -+static uint32 walk_bw(filesystem *fs, uint32 nod, blockwalker *bw, uint32 *create, uint32 hole) - { - 	uint32 *bkref = 0; - 	uint32 *b; -@@ -546,14 +833,14 @@ - 	{ - 		bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0]; - 		if(extend) // allocate first block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} - 	// direct block - 	else if(bw->bpdir < EXT2_NDIR_BLOCKS) - 	{ - 		bkref = &get_nod(fs, nod)->i_block[++bw->bpdir]; - 		if(extend) // allocate block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} - 	// first block in indirect block - 	else if(bw->bpdir == EXT2_NDIR_BLOCKS) -@@ -562,11 +849,11 @@ - 		bw->bpdir = EXT2_IND_BLOCK; - 		bw->bpind = 0; - 		if(extend) // allocate indirect block --			get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs); -+			get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); - 		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); - 		bkref = &b[bw->bpind]; - 		if(extend) // allocate first block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} - 	// block in indirect block - 	else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1)) -@@ -575,7 +862,7 @@ - 		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); - 		bkref = &b[bw->bpind]; - 		if(extend) // allocate block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} - 	// first block in first indirect block in first double indirect block - 	else if(bw->bpdir == EXT2_IND_BLOCK) -@@ -585,14 +872,14 @@ - 		bw->bpind = 0; - 		bw->bpdind = 0; - 		if(extend) // allocate double indirect block --			get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs); -+			get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); - 		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); - 		if(extend) // allocate first indirect block --			b[bw->bpind] = alloc_blk(fs); -+			b[bw->bpind] = alloc_blk(fs,nod); - 		b = (uint32*)get_blk(fs, b[bw->bpind]); - 		bkref = &b[bw->bpdind]; - 		if(extend) // allocate first block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} - 	// block in indirect block in double indirect block - 	else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1)) -@@ -602,7 +889,7 @@ - 		b = (uint32*)get_blk(fs, b[bw->bpind]); - 		bkref = &b[bw->bpdind]; - 		if(extend) // allocate block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} - 	// first block in indirect block in double indirect block - 	else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1)) -@@ -612,20 +899,100 @@ - 		bw->bpind++; - 		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); - 		if(extend) // allocate indirect block --			b[bw->bpind] = alloc_blk(fs); -+			b[bw->bpind] = alloc_blk(fs,nod); - 		b = (uint32*)get_blk(fs, b[bw->bpind]); - 		bkref = &b[bw->bpdind]; - 		if(extend) // allocate first block --			*bkref = hole ? 0 : alloc_blk(fs); -+			*bkref = hole ? 0 : alloc_blk(fs,nod); -+	} -+ -+	/* Adding support for triple indirection */ -+	/* Just starting triple indirection. Allocate the indirection -+	   blocks and the first data block -+	 */ -+	else if (bw->bpdir == EXT2_DIND_BLOCK)  -+	{ -+	  	bw->bnum += 3; -+		bw->bpdir = EXT2_TIND_BLOCK; -+		bw->bpind = 0; -+		bw->bpdind = 0; -+		bw->bptind = 0; -+		if(extend) // allocate triple indirect block -+			get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+		if(extend) // allocate first double indirect block -+			b[bw->bpind] = alloc_blk(fs,nod); -+		b = (uint32*)get_blk(fs, b[bw->bpind]); -+		if(extend) // allocate first indirect block -+			b[bw->bpdind] = alloc_blk(fs,nod); -+		b = (uint32*)get_blk(fs, b[bw->bpdind]); -+		bkref = &b[bw->bptind]; -+		if(extend) // allocate first data block -+			*bkref = hole ? 0 : alloc_blk(fs,nod); -+	} -+	/* Still processing a single indirect block down the indirection -+	   chain.Allocate a data block for it -+	 */ -+	else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&  -+		  (bw->bptind < BLOCKSIZE/4 -1) ) -+	{ -+		bw->bptind++; -+		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+		b = (uint32*)get_blk(fs, b[bw->bpind]); -+		b = (uint32*)get_blk(fs, b[bw->bpdind]); -+		bkref = &b[bw->bptind]; -+		if(extend) // allocate data block -+			*bkref = hole ? 0 : alloc_blk(fs,nod); -+	} -+	/* Finished processing a single indirect block. But still in the  -+	   same double indirect block. Allocate new single indirect block -+	   for it and a data block -+	 */ -+	else if ( (bw->bpdir == EXT2_TIND_BLOCK) && -+		  (bw->bpdind < BLOCKSIZE/4 -1) ) -+	{ -+		bw->bnum++; -+		bw->bptind = 0; -+		bw->bpdind++; -+		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+		b = (uint32*)get_blk(fs, b[bw->bpind]); -+		if (extend) // allocate single indirect block -+			b[bw->bpdind] = alloc_blk(fs,nod); -+		b = (uint32*)get_blk(fs, b[bw->bpdind]); -+		bkref = &b[bw->bptind]; -+		if(extend) // allocate first data block -+			*bkref = hole ? 0 : alloc_blk(fs,nod); -+	} -+	/* Finished processing a double indirect block. Allocate the next -+	   double indirect block and the single,data blocks for it -+	 */ -+	else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&  -+		  (bw->bpind < BLOCKSIZE/4 - 1) ) -+	{ -+		bw->bnum += 2; -+		bw->bpdind = 0; -+		bw->bptind = 0; -+		bw->bpind++; -+		b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+		if(extend) // allocate double indirect block -+			b[bw->bpind] = alloc_blk(fs,nod); -+		b = (uint32*)get_blk(fs, b[bw->bpind]); -+		if(extend) // allocate single indirect block -+			b[bw->bpdind] = alloc_blk(fs,nod); -+		b = (uint32*)get_blk(fs, b[bw->bpdind]); -+		bkref = &b[bw->bptind]; -+		if(extend) // allocate first block -+			*bkref = hole ? 0 : alloc_blk(fs,nod); - 	} --	// I don't do triple indirect - it's such a small filesystem ... - 	else --		errexit("file too big ! blocks list for inode %d extends past double indirect blocks!", nod); -+		error_msg_and_die("file too big !");  -+	/* End change for walking triple indirection */ -+ - 	if(*bkref) - 	{ - 		bw->bnum++; --		if(!allocated(fs->bbm, *bkref)) --			errexit("[block %d of inode %d is unallocated !]", *bkref, nod); -+		if(!allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref))) -+			error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod); - 	} - 	if(extend) - 		get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK; -@@ -633,7 +1000,7 @@ - } -  - // add blocks to an inode (file/dir/etc...) --void extend_blk(filesystem *fs, uint32 nod, block b, int amount) -+static void extend_blk(filesystem *fs, uint32 nod, block b, int amount) - { - 	int create = amount; - 	blockwalker bw, lbw; -@@ -662,24 +1029,35 @@ - 	} - } -  -+static void truncate_nod(filesystem *fs, uint32 nod) -+{ -+	inode *node = get_nod(fs, nod); -+assert(!node->i_size); -+#warning truncate_nod() no yet implemented -+} -+ - // link an entry (inode #) to a directory --void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name) -+static void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name) - { - 	blockwalker bw; - 	uint32 bk; - 	uint8 *b; - 	directory *d; - 	int reclen, nlen; --	if((get_nod(fs, dnod)->i_mode & FM_IFMT) != FM_IFDIR) --		errexit("can't add '%s' to a non-directory", name); -+	inode *node; -+	inode *pnode; -+ -+	pnode = get_nod(fs, dnod); -+	if((pnode->i_mode & FM_IFMT) != FM_IFDIR) -+		error_msg_and_die("can't add '%s' to a non-directory", name); - 	if(!*name) --		errexit("bad name '%s' (not meaningful)", name); -+		error_msg_and_die("can't create an inode with an empty name"); - 	if(strchr(name, '/')) --		errexit("bad name '%s' (contains a slash)", name); -+		error_msg_and_die("bad name '%s' (contains a slash)", name); - 	nlen = strlen(name); - 	reclen = sizeof(directory) + rndup(nlen, 4); - 	if(reclen > BLOCKSIZE) --		errexit("bad name '%s' (too long)", name); -+		error_msg_and_die("bad name '%s' (too long)", name); - 	init_bw(fs, dnod, &bw); - 	while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir - 	{ -@@ -691,7 +1069,8 @@ - 			if((!d->d_inode) && (d->d_rec_len >= reclen)) - 			{ - 				d->d_inode = nod; --				get_nod(fs, nod)->i_links_count++; -+				node = get_nod(fs, nod); -+				node->i_links_count++; - 				d->d_name_len = nlen; - 				strncpy(d->d_name, name, nlen); - 				return; -@@ -705,7 +1084,8 @@ - 				d = (directory*) (((int8*)d) + d->d_rec_len); - 				d->d_rec_len = reclen; - 				d->d_inode = nod; --				get_nod(fs, nod)->i_links_count++; -+				node = get_nod(fs, nod); -+				node->i_links_count++; - 				d->d_name_len = nlen; - 				strncpy(d->d_name, name, nlen); - 				return; -@@ -716,7 +1096,8 @@ - 	b = get_workblk(); - 	d = (directory*)b; - 	d->d_inode = nod; --	get_nod(fs, nod)->i_links_count++; -+	node = get_nod(fs, nod); -+	node->i_links_count++; - 	d->d_rec_len = BLOCKSIZE; - 	d->d_name_len = nlen; - 	strncpy(d->d_name, name, nlen); -@@ -726,7 +1107,7 @@ - } -  - // find an entry in a directory --uint32 find_dir(filesystem *fs, uint32 nod, const char * name) -+static uint32 find_dir(filesystem *fs, uint32 nod, const char * name) - { - 	blockwalker bw; - 	uint32 bk; -@@ -745,9 +1126,9 @@ - } -  - // find the inode of a full path --uint32 find_path(filesystem *fs, uint32 nod, const char * name) -+static uint32 find_path(filesystem *fs, uint32 nod, const char * name) - { --	char *p, *n, *n2 = strdup(name); -+	char *p, *n, *n2 = xstrdup(name); - 	n = n2; - 	while(*n == '/') - 	{ -@@ -769,28 +1150,62 @@ - 	return nod; - } -  --// make a full-fledged directory (i.e. with "." & "..") --uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode) -+// create a simple inode -+static uint32 mknod_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, uint16 uid, uint16 gid, uint8 major, uint8 minor, uint32 ctime, uint32 mtime) - { - 	uint32 nod; -+	inode *node; - 	if((nod = find_dir(fs, parent_nod, name))) --		return nod; --       	nod = alloc_nod(fs); --	get_nod(fs, nod)->i_mode = FM_IFDIR | mode; --	add2dir(fs, parent_nod, nod, name); --	add2dir(fs, nod, nod, "."); --	add2dir(fs, nod, parent_nod, ".."); --	fs->gd.bg_used_dirs_count++; -+	{ -+		node = get_nod(fs, nod); -+		if((node->i_mode & FM_IFMT) != (mode & FM_IFMT)) -+			error_msg_and_die("node '%s' already exists and isn't of the same type", name); -+		node->i_mode = mode; -+	} -+	else -+	{ -+		nod = alloc_nod(fs); -+		node = get_nod(fs, nod); -+		node->i_mode = mode; -+		add2dir(fs, parent_nod, nod, name); -+		switch(mode & FM_IFMT) -+		{ -+			case FM_IFLNK: -+				mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; -+				break; -+			case FM_IFBLK: -+			case FM_IFCHR: -+				((uint8*)get_nod(fs, nod)->i_block)[0] = minor; -+				((uint8*)get_nod(fs, nod)->i_block)[1] = major; -+				break; -+			case FM_IFDIR: -+				add2dir(fs, nod, nod, "."); -+				add2dir(fs, nod, parent_nod, ".."); -+				fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++; -+				break; -+		} -+	} -+	node->i_uid = uid; -+	node->i_gid = gid; -+	node->i_atime = mtime; -+	node->i_ctime = ctime; -+	node->i_mtime = mtime; - 	return nod; - } -  -+// make a full-fledged directory (i.e. with "." & "..") -+static inline uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, -+	uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) -+{ -+	return mknod_fs(fs, parent_nod, name, mode|FM_IFDIR, uid, gid, 0, 0, ctime, mtime); -+} -+ - // make a symlink --uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 * b) -+static uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 *b, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) - { --	uint32 nod = alloc_nod(fs); --	get_nod(fs, nod)->i_mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; -+	uint32 nod = mknod_fs(fs, parent_nod, name, FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO, uid, gid, 0, 0, ctime, mtime); -+	truncate_nod(fs, nod); - 	get_nod(fs, nod)->i_size = size; --	add2dir(fs, parent_nod, nod, name); - 	if(size <= 4 * (EXT2_TIND_BLOCK+1)) - 	{ - 		strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size); -@@ -801,228 +1216,361 @@ - } -  - // make a file from a FILE* --uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f) -+static uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) - { - 	uint8 * b; --	uint32 nod = alloc_nod(fs); --	get_nod(fs, nod)->i_mode = FM_IFREG | mode; -+	uint32 nod = mknod_fs(fs, parent_nod, name, mode|FM_IFREG, uid, gid, 0, 0, ctime, mtime); -+	truncate_nod(fs, nod); - 	get_nod(fs, nod)->i_size = size; --	add2dir(fs, parent_nod, nod, name); - 	if(!(b = (uint8*)malloc(rndup(size, BLOCKSIZE)))) --		errexit("not enough mem to read file '%s'", name); -+		error_msg_and_die("not enough mem to read file '%s'", name); - 	memset(b, 0,rndup(size, BLOCKSIZE)); - 	if(f) --		fread(b, size, 1, f); -+		fread(b, size, 1, f); // FIXME: ugly. use mmap() ... - 	else --		memset(b, 0, size); -+		memset(b, 0, size); // .. or handle b = 0 - 	extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); - 	free(b); - 	return nod; - } -  - // retrieves a mode info from a struct stat --uint32 get_mode(struct stat *st) -+static uint32 get_mode(struct stat *st) - { - 	uint32 mode = 0; -+ - 	if(st->st_mode & S_IRUSR) --		mode |= FM_IRUSR | FM_IRGRP | FM_IROTH; -+		mode |= FM_IRUSR; - 	if(st->st_mode & S_IWUSR) --		mode |= FM_IWUSR | FM_IWGRP | FM_IWOTH; -+		mode |= FM_IWUSR; - 	if(st->st_mode & S_IXUSR) --		mode |= FM_IXUSR | FM_IXGRP | FM_IXOTH; -+		mode |= FM_IXUSR; -+	if(st->st_mode & S_IRGRP) -+		mode |= FM_IRGRP; -+	if(st->st_mode & S_IWGRP) -+		mode |= FM_IWGRP; -+	if(st->st_mode & S_IXGRP) -+		mode |= FM_IXGRP; -+	if(st->st_mode & S_IROTH) -+		mode |= FM_IROTH; -+	if(st->st_mode & S_IWOTH) -+		mode |= FM_IWOTH; -+	if(st->st_mode & S_IXOTH) -+		mode |= FM_IXOTH; -+	if(st->st_mode & S_ISUID) -+		mode |= FM_ISUID; -+	if(st->st_mode & S_ISGID) -+		mode |= FM_ISGID; -+	if(st->st_mode & S_ISVTX) -+		mode |= FM_ISVTX; - 	return mode; - } -  --// retrieves a mode info from a string --uint32 get_modestr(const char *p) --{ --	uint32 mode = 0; --	if(p[0] == 'r') --		mode |= FM_IRUSR | FM_IRGRP | FM_IROTH; --	if(p[1] == 'w') --		mode |= FM_IWUSR | FM_IWGRP | FM_IWOTH; --	if(p[2] == 'x' || p[2] == 's') --		mode |= FM_IXUSR | FM_IXGRP | FM_IXOTH; --	return mode; --} -- --// basename of a path - free me --char * basename(const char * fullpath) --{ --	char * p = strrchr(fullpath, '/'); --	return strdup(p ? p + 1 : fullpath); --} -- --// dirname of a path - free me --char * dirname(const char * fullpath) --{ --	char * p, * n = strdup(fullpath); --	if((p = strrchr(n, '/'))) --		*(p+1) = 0; --	else --		*n = 0; --	return n; --} -+// add or fixup entries to the filesystem from a text file -+/*  device table entries take the form of: -+    <path>	<type> <mode>	<uid>	<gid>	<major>	<minor>	<start>	<inc>	<count> -+    /dev/mem     c    640       0       0         1       1       0     0         - -+ -+    type can be one of:  -+	f	A regular file -+	d	Directory -+	c	Character special device file -+	b	Block special device file -+	p	Fifo (named pipe) -+ -+    I don't bother with symlinks (permissions are irrelevant), hard -+    links (special cases of regular files), or sockets (why bother). -+ -+    Regular files must exist in the target root directory.  If a char, -+    block, fifo, or directory does not exist, it will be created. -+*/ -+ -+static void add2fs_from_file(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids, int squash_perms, struct stats *stats) -+{ -+	unsigned long mode, uid, gid, major, minor; -+	unsigned long start, increment, count; -+	uint32 nod, ctime, mtime; -+	char *c, type, *path = NULL, *path2 = NULL, *dir, *name, *line = NULL; -+	size_t len; -+	struct stat st; -+	int nbargs, lineno = 0; -  --// adds entries to the filesystem from a text file --void add2fs_from_file(filesystem *fs, uint32 this_nod, FILE * fh) --{ --	uint32 mode; --	uint32 nod, nod2; --	char cmod[11], *path, *name, *dir; --	int major, minor; --	while(fscanf(fh, "%10s", cmod)) --	{ --		if(feof(fh)) --			break; --		mode = get_modestr(cmod + 1); --		switch(*cmod) -+	fstat(fileno(fh), &st); -+	ctime = st.st_ctime; -+	mtime = st.st_mtime; -+	while(getline(&line, &len, fh) >= 0) -+	{ -+		mode = uid = gid = major = minor = 0; -+		start = 0; increment = 1; count = 0; -+		lineno++; -+		if((c = strchr(line, '#'))) -+			*c = 0; -+		free(path); path = NULL; -+		free(path2); path2 = NULL; -+		nbargs = sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu", -+					SCANF_STRING(path), &type, &mode, &uid, &gid, &major, &minor, -+					&start, &increment, &count); -+		if(nbargs < 3) - 		{ --			case 'd': --				fscanf(fh, "%" SCANF_PREFIX "s\n", SCANF_STRING(path)); --				break; --			case 'c': --				mode |= FM_IFCHR; --				fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path)); --				break; --			case 'b': --				mode |= FM_IFBLK; --				fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path)); --				break; --			case '#': --				while(fgetc(fh) != '\n'); --				continue; --			default: --				errexit("malformed text input file"); -+			if(nbargs > 0) -+				error_msg("device table line %d skipped: bad format for entry '%s'", lineno, path); -+			continue; - 		} --		name = basename(path); --		dir = dirname(path); --		free(path); --		if(!(nod = find_path(fs, this_nod, dir))) --			errexit("can't find directory '%s' to create '%s''", dir, name); --		free(dir); --		if((!strcmp(name, ".")) || (!strcmp(name, ".."))) -+		if(stats) - 		{ --			free(name); --			continue; -+			stats->ninodes += count ? count : 1; - 		} --		switch(*cmod) -+		else - 		{ --			case 'd': --				mkdir_fs(fs, nod, name, mode); --				break; --			case 'c': --			case 'b': --				nod2 = alloc_nod(fs); --				get_nod(fs, nod2)->i_mode = mode; --				((uint8*)get_nod(fs, nod2)->i_block)[0] = minor; --				((uint8*)get_nod(fs, nod2)->i_block)[1] = major; --				add2dir(fs, nod, nod2, name); --				break; -+			if(squash_uids) -+				uid = gid = 0; -+			if(squash_perms) -+				mode &= ~(FM_IRWXG | FM_IRWXO); -+			mode &= FM_IMASK; -+			path2 = strdup(path); -+			name = basename(path); -+			dir = dirname(path2); -+			if(!(nod = find_path(fs, this_nod, dir))) -+			{ -+				error_msg("device table line %d skipped: can't find directory '%s' to create '%s''", lineno, dir, name); -+				continue; -+			} -+			if((!strcmp(name, ".")) || (!strcmp(name, ".."))) -+			{ -+				error_msg("device table line %d skipped", lineno); -+				continue; -+			} -+	 -+			switch (type) -+			{ -+				case 'd': -+					mode |= FM_IFDIR; -+					break; -+				case 'f': -+					mode |= FM_IFREG; -+					break; -+				case 'p': -+					mode |= FM_IFIFO; -+					break; -+				case 'c': -+					mode |= FM_IFCHR; -+					break; -+				case 'b': -+					mode |= FM_IFBLK; -+					break; -+				default: -+					error_msg("device table line %d skipped: bad type '%c' for entry '%s'", lineno, type, name); -+					continue; -+			} -+			if(count > 0) -+			{ -+				char *dname; -+				unsigned i, len; -+				len = strlen(name) + 10; -+				dname = malloc(len + 1); -+				for(i = start; i < count; i++) -+				{ -+					snprintf(dname, len, "%s%u", name, i); -+					mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); -+				} -+				free(dname); -+			} -+			else -+				mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); - 		} --		free(name); - 	} -+	free(line); -+	free(path); -+	free(path2); - } -  - // adds a tree of entries to the filesystem from current dir --void add2fs_from_dir(filesystem *fs, uint32 this_nod) -+static void add2fs_from_dir(filesystem *fs, uint32 this_nod, int squash_uids, int squash_perms, struct stats *stats) - { - 	uint32 nod; -+	uint32 uid, gid, mode, ctime, mtime; -+	const char *name; - 	FILE *fh; - 	DIR *dh; - 	struct dirent *dent; - 	struct stat st; - 	uint8 *b; - 	if(!(dh = opendir("."))) --		pexit("."); -+		perror_msg_and_die("."); - 	while((dent = readdir(dh))) - 	{ - 		if((!strcmp(dent->d_name, ".")) || (!strcmp(dent->d_name, ".."))) - 			continue; - 		lstat(dent->d_name, &st); --		switch(st.st_mode & S_IFMT) --		{ --			case S_IFCHR: --			case S_IFBLK: --				nod = alloc_nod(fs); --				get_nod(fs, nod)->i_mode = (((st.st_mode & S_IFMT) == S_IFCHR) ? FM_IFCHR : FM_IFBLK) | get_mode(&st); --				((uint8*)get_nod(fs, nod)->i_block)[0] = (st.st_rdev & 0xff); --				((uint8*)get_nod(fs, nod)->i_block)[1] = (st.st_rdev >> 8); --				add2dir(fs, this_nod, nod, dent->d_name); --				break; --			case S_IFLNK: --				if(!(b = (uint8*)malloc(rndup(st.st_size, BLOCKSIZE)))) --					errexit("out of memory"); --				if(readlink(dent->d_name, (char*)b, st.st_size) < 0) --					pexit(dent->d_name); --				mklink_fs(fs, this_nod, dent->d_name, st.st_size, b); --				free(b); --				break; --			case S_IFREG: --				if(!(fh = fopen(dent->d_name, "r"))) --					pexit(dent->d_name); --				mkfile_fs(fs, this_nod, dent->d_name, get_mode(&st), st.st_size, fh); --				fclose(fh); --				break; --			case S_IFDIR: --				nod = mkdir_fs(fs, this_nod, dent->d_name, get_mode(&st)); --				if(chdir(dent->d_name) < 0) --					pexit(dent->d_name); --				add2fs_from_dir(fs, nod); --				chdir(".."); --				break; --			default: --				fprintf(stderr, "ignoring entry %s", dent->d_name); --		} -+		uid = st.st_uid; -+		gid = st.st_gid; -+		ctime = st.st_ctime; -+		mtime = st.st_mtime; -+		name = dent->d_name; -+		mode = get_mode(&st); -+		if(squash_uids) -+			uid = gid = 0; -+		if(squash_perms) -+			mode &= ~(FM_IRWXG | FM_IRWXO); -+		if(stats) -+			switch(st.st_mode & S_IFMT) -+			{ -+				case S_IFLNK: -+				case S_IFREG: -+					if((st.st_mode & S_IFMT) == S_IFREG || st.st_size > 4 * (EXT2_TIND_BLOCK+1)) -+						stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; -+				case S_IFCHR: -+				case S_IFBLK: -+				case S_IFIFO: -+					stats->ninodes++; -+					break; -+				case S_IFDIR: -+					stats->ninodes++; -+					if(chdir(dent->d_name) < 0) -+						perror_msg_and_die(dent->d_name); -+					add2fs_from_dir(fs, nod, squash_uids, squash_perms, stats); -+					chdir(".."); -+					break; -+				default: -+					break; -+			} -+		else -+			switch(st.st_mode & S_IFMT) -+			{ -+				case S_IFCHR: -+					mknod_fs(fs, this_nod, name, mode|FM_IFCHR, uid, gid, st.st_rdev >> 8, st.st_rdev & 0xff, ctime, mtime); -+					break; -+				case S_IFBLK: -+					mknod_fs(fs, this_nod, name, mode|FM_IFBLK, uid, gid, st.st_rdev >> 8, st.st_rdev & 0xff, ctime, mtime); -+					break; -+				case S_IFIFO: -+					mknod_fs(fs, this_nod, name, mode|FM_IFIFO, uid, gid, 0, 0, ctime, mtime); -+					break; -+				case S_IFLNK: -+					b = xreadlink(dent->d_name); -+					mklink_fs(fs, this_nod, name, st.st_size, b, uid, gid, ctime, mtime); -+					free(b); -+					break; -+				case S_IFREG: -+					fh = xfopen(dent->d_name, "r"); -+					mkfile_fs(fs, this_nod, name, mode, st.st_size, fh, uid, gid, ctime, mtime); -+					fclose(fh); -+					break; -+				case S_IFDIR: -+					nod = mkdir_fs(fs, this_nod, name, mode, uid, gid, ctime, mtime); -+					if(chdir(dent->d_name) < 0) -+						perror_msg_and_die(name); -+					add2fs_from_dir(fs, nod, squash_uids, squash_perms, stats); -+					chdir(".."); -+					break; -+				default: -+					error_msg("ignoring entry %s", name); -+			} - 	} - 	closedir(dh); - } -  - // endianness swap of x-indirect blocks --void swap_goodblocks(filesystem *fs, inode *nod) -+static void swap_goodblocks(filesystem *fs, inode *nod) - { --	int i; -+	int i,j,done=0; -+	uint32 *b,*b2; -+ - 	int nblk = nod->i_blocks / INOBLK; --	if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR))) -+	if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) - 		for(i = 0; i <= EXT2_TIND_BLOCK; i++) - 			nod->i_block[i] = swab32(nod->i_block[i]); - 	if(nblk <= EXT2_IND_BLOCK) - 		return; - 	swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); --	if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4) -+	if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) - 		return; -+	/* Currently this will fail b'cos the number of blocks as stored -+	   in i_blocks also includes the indirection blocks (see -+	   walk_bw). But this function assumes that i_blocks only -+	   stores the count of data blocks ( Actually according to -+	   "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed) -+	   i_blocks IS supposed to store the count of data blocks). so -+	   with a file of size 268K nblk would be 269.The above check -+	   will be false even though double indirection hasn't been -+	   started.This is benign as 0 means block 0 which has been -+	   zeroed out and therefore points back to itself from any offset -+	 */ -+	// FIXME: I have fixed that, but I have the feeling the rest of -+	// ths function needs to be fixed for the same reasons - Xav -+	assert(nod->i_block[EXT2_DIND_BLOCK] != 0); - 	for(i = 0; i < BLOCKSIZE/4; i++) --		if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i) -+		if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) - 			swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); - 	swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); - 	if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) - 		return; --	errexit("too big file on the filesystem"); -+	/* Adding support for triple indirection */ -+	b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); -+	for(i=0;i < BLOCKSIZE/4 && !done ; i++) { -+		b2 = (uint32*)get_blk(fs,b[i]);  -+		for(j=0; j<BLOCKSIZE/4;j++) { -+			if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 +  -+				     (BLOCKSIZE/4)*(BLOCKSIZE/4) +  -+				     i*(BLOCKSIZE/4)*(BLOCKSIZE/4) +  -+				     j*(BLOCKSIZE/4)) )  -+			  swap_block(get_blk(fs,b2[j])); -+			else { -+			  done = 1; -+			  break; -+			} -+		} -+		swap_block((uint8 *)b2); -+	} -+	swap_block((uint8 *)b); -+	return; - } -  --void swap_badblocks(filesystem *fs, inode *nod) -+static void swap_badblocks(filesystem *fs, inode *nod) - { --	int i; -+	int i,j,done=0; -+	uint32 *b,*b2; -+ - 	int nblk = nod->i_blocks / INOBLK; --	if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR))) -+	if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) - 		for(i = 0; i <= EXT2_TIND_BLOCK; i++) - 			nod->i_block[i] = swab32(nod->i_block[i]); - 	if(nblk <= EXT2_IND_BLOCK) - 		return; - 	swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); --	if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4) -+	if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) - 		return; -+	/* See comment in swap_goodblocks */ -+	assert(nod->i_block[EXT2_DIND_BLOCK] != 0); - 	swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); - 	for(i = 0; i < BLOCKSIZE/4; i++) --		if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i) -+		if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) - 			swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); - 	if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) - 		return; --	errexit("too big file on the filesystem"); -+	/* Adding support for triple indirection */ -+	b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); -+	swap_block((uint8 *)b); -+	for(i=0;i < BLOCKSIZE/4 && !done ; i++) { -+		b2 = (uint32*)get_blk(fs,b[i]);  -+		swap_block((uint8 *)b2); -+		for(j=0; j<BLOCKSIZE/4;j++) { -+			if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 +  -+				     (BLOCKSIZE/4)*(BLOCKSIZE/4) +  -+				     i*(BLOCKSIZE/4)*(BLOCKSIZE/4) +  -+				     j*(BLOCKSIZE/4)) )  -+			  swap_block(get_blk(fs,b2[j])); -+			else { -+			  done = 1; -+			  break; -+			} -+		} -+	} -+	return; - } -  - // endianness swap of the whole filesystem --void swap_goodfs(filesystem *fs) -+static void swap_goodfs(filesystem *fs) - { - 	int i; - 	for(i = 1; i < fs->sb.s_inodes_count; i++) -@@ -1045,15 +1593,17 @@ - 		swap_goodblocks(fs, nod); - 		swap_nod(nod); - 	} --	swap_gd(&fs->gd); -+	for(i=0;i<GRP_NBGROUPS(fs);i++) -+		swap_gd(&(fs->gd[i])); - 	swap_sb(&fs->sb); - } -  --void swap_badfs(filesystem *fs) -+static void swap_badfs(filesystem *fs) - { - 	int i; - 	swap_sb(&fs->sb); --	swap_gd(&fs->gd); -+	for(i=0;i<GRP_NBGROUPS(fs);i++) -+		swap_gd(&(fs->gd[i])); - 	for(i = 1; i < fs->sb.s_inodes_count; i++) - 	{ - 		inode *nod = get_nod(fs, i); -@@ -1077,60 +1627,123 @@ - } -  - // initialize an empty filesystem --filesystem * init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes) -+static filesystem * init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes) - { - 	int i; - 	filesystem *fs; - 	directory *d; - 	uint8 * b; - 	uint32 nod; -+	uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks, -+		free_blocks_per_group,nbblocks_per_group; -+	uint32 gd,itbl,ibmpos,bbmpos,itblpos; -+	int j; -+	uint8 *bbm,*ibm; -+	inode *itab0; -+	uint32 now = time(NULL); - 	 - 	if(nbblocks < 16) // totally arbitrary --		errexit("too small filesystem"); --	if(nbblocks >BLOCKS_PER_GROUP) // I build only one group --		errexit("too big filesystem"); -+		error_msg_and_die("too small filesystem"); -+ -+	/* nbblocks is the total number of blocks in the filesystem. First -+	 * calculate the size of each group assuming each group has -+	 * BLOCKS_PER_GROUP blocks (which is the maximum). Then recalculate -+	 * blocks per group so that each group (except possibly the last one) -+	 * has the same number of blocks. nbinodes is the total number of -+	 * inodes in the system. These are divided between all groups. -+	 * Then calculate the overhead blocks - inode table blocks, bitmap -+	 * blocks, group descriptor blocks etc.  -+	 */ -+	 -+	nbgroups = (nbblocks + BLOCKS_PER_GROUP - 1) / BLOCKS_PER_GROUP; -+	nbblocks_per_group = rndup((nbblocks + nbgroups - 1)/nbgroups, 8); -+	nbinodes_per_group = rndup((nbinodes + nbgroups - 1)/nbgroups, -+						(BLOCKSIZE/sizeof(inode))); -+	if (nbinodes_per_group < 16) -+		nbinodes_per_group = 16; //minimum number b'cos the first 10 are reserved -+ -+	gd = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE; -+	itbl = nbinodes_per_group * sizeof(inode)/BLOCKSIZE; -+	overhead_per_group = 3 /*sb,ibm,bbm*/ + itbl + gd; -+	free_blocks = nbblocks - overhead_per_group*nbgroups - 1 /*boot block*/; -+	free_blocks_per_group = nbblocks_per_group - overhead_per_group; -+ - 	if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE))) --		errexit("not enough memory for filesystem"); -+		error_msg_and_die("not enough memory for filesystem"); -  - 	// create the superblock for an empty filesystem --	fs->sb.s_inodes_count = rndup(nbinodes, BLOCKSIZE/sizeof(inode)); -+	fs->sb.s_inodes_count = nbinodes_per_group * nbgroups; - 	fs->sb.s_blocks_count = nbblocks; - 	fs->sb.s_r_blocks_count = nbresrvd; --	fs->sb.s_free_blocks_count = nbblocks; -+	fs->sb.s_free_blocks_count = free_blocks; - 	fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1; - 	fs->sb.s_first_data_block = (BLOCKSIZE == 1024); - 	fs->sb.s_log_block_size = BLOCKSIZE >> 11; - 	fs->sb.s_log_frag_size = BLOCKSIZE >> 11; --	fs->sb.s_blocks_per_group = BLOCKS_PER_GROUP; --	fs->sb.s_frags_per_group = BLOCKS_PER_GROUP; --	fs->sb.s_inodes_per_group = fs->sb.s_inodes_count; -+	fs->sb.s_blocks_per_group = nbblocks_per_group; -+	fs->sb.s_frags_per_group = nbblocks_per_group; -+	fs->sb.s_inodes_per_group = nbinodes_per_group; - 	fs->sb.s_magic = EXT2_MAGIC_NUMBER; -  - 	// set up groupdescriptors --	fs->sb.s_free_blocks_count -= 5 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE; --	fs->gd.bg_free_blocks_count = fs->sb.s_free_blocks_count; --	fs->gd.bg_free_inodes_count = fs->sb.s_free_inodes_count; --	fs->gd.bg_used_dirs_count = 1; --	fs->gd.bg_block_bitmap = 3; --	fs->gd.bg_inode_bitmap = 4; --	fs->gd.bg_inode_table = 5; -- --	// mark non-filesystem blocks and inodes as allocated --	for(i = fs->sb.s_blocks_count; i <= BLOCKSIZE * 8; i++) --		allocate(fs->bbm, i); --	for(i = fs->sb.s_inodes_count + 1; i <= BLOCKSIZE * 8; i++) --		allocate(fs->ibm, i); -- --	// mark system blocsk and inodes as allocated --	for(i = 1; i <= 4 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE; i++) --		allocate(fs->bbm, i); --	for(i = 1; i < EXT2_FIRST_INO; i++) --		allocate(fs->ibm, i); -+	for(i = 0,bbmpos=2+gd,ibmpos=3+gd,itblpos =4+gd; -+		i<nbgroups; -+		i++, bbmpos += nbblocks_per_group,ibmpos += nbblocks_per_group,  -+		itblpos += nbblocks_per_group)  { -+		 -+		if(free_blocks > free_blocks_per_group) { -+			fs->gd[i].bg_free_blocks_count = free_blocks_per_group; -+			free_blocks -= free_blocks_per_group; -+		} else { -+			fs->gd[i].bg_free_blocks_count = free_blocks; -+			free_blocks = 0; // this is the last block group -+		} -+		if(i) -+			fs->gd[i].bg_free_inodes_count = nbinodes_per_group; -+		else -+			fs->gd[i].bg_free_inodes_count = nbinodes_per_group - -+							EXT2_FIRST_INO + 2; -+		fs->gd[i].bg_used_dirs_count = 0; -+		fs->gd[i].bg_block_bitmap = bbmpos; -+		fs->gd[i].bg_inode_bitmap = ibmpos; -+		fs->gd[i].bg_inode_table = itblpos; -+	} -+ -+	/* Mark non-filesystem blocks and inodes as allocated */ -+	/* Mark system blocks and inodes as allocated         */ -+	for(i = 0; i<nbgroups;i++) { -+ -+		/* Block bitmap */ -+		bbm = get_blk(fs,fs->gd[i].bg_block_bitmap);	 -+		//non-filesystem blocks -+		for(j = fs->gd[i].bg_free_blocks_count -+		        + overhead_per_group + 1; j <= BLOCKSIZE * 8; j++) -+			allocate(bbm, j);  -+		//system blocks -+		for(j = 1; j <= overhead_per_group; j++) -+			allocate(bbm, j);  -+		 -+		/* Inode bitmap */ -+		ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap);	 -+		//non-filesystem inodes -+		for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) -+			allocate(ibm, j); -+		//system inodes -+		if(i == 0) -+			for(j = 1; j < EXT2_FIRST_INO; j++) -+				allocate(ibm, j); -+	} -  - 	// make root inode and directory --	fs->itab[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO; --	fs->itab[EXT2_ROOT_INO-1].i_size = BLOCKSIZE; --	fs->itab[EXT2_ROOT_INO-1].i_links_count = 2; -+	/* We have groups now. Add the root filesystem in group 0 */ -+	/* Also increment the directory count for group 0 */ -+	fs->gd[0].bg_free_inodes_count--; -+	fs->gd[0].bg_used_dirs_count = 1; -+	itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table); -+	itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH;  -+	itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE; -+	itab0[EXT2_ROOT_INO-1].i_links_count = 2; -+ - 	b = get_workblk(); - 	d = (directory*)b; - 	d->d_inode = EXT2_ROOT_INO; -@@ -1147,9 +1760,14 @@ - 	// make lost+found directory and reserve blocks - 	if(fs->sb.s_r_blocks_count) - 	{ --		nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU | FM_IRWXG | FM_IRWXO); -+		nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, 0, 0, now, now); - 		memset(b, 0, BLOCKSIZE); - 		((directory*)b)->d_rec_len = BLOCKSIZE; -+		/* We run into problems with e2fsck if directory lost+found grows -+		 * bigger than this. Need to find out why this happens - sundar -+		 */ -+		if (fs->sb.s_r_blocks_count > fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS )  -+			fs->sb.s_r_blocks_count = fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS; - 		for(i = 1; i < fs->sb.s_r_blocks_count; i++) - 			extend_blk(fs, nod, b, 1); - 		get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE; -@@ -1168,36 +1786,34 @@ - } -  - // loads a filesystem from disk --filesystem * load_fs(FILE * fh, int swapit) -+static filesystem * load_fs(FILE * fh, int swapit) - { - 	size_t fssize; - 	filesystem *fs; - 	if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftell(fh)) < 0)) --		pexit("input filesystem image"); -+		perror_msg_and_die("input filesystem image"); - 	rewind(fh); - 	fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE; - 	if(fssize < 16) // totally arbitrary --		errexit("too small filesystem"); --	if(fssize > BLOCKS_PER_GROUP) // I build only one group --		errexit("too big filesystem"); -+		error_msg_and_die("too small filesystem"); - 	if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE))) --		errexit("not enough memory for filesystem"); -+		error_msg_and_die("not enough memory for filesystem"); - 	if(fread(fs, BLOCKSIZE, fssize, fh) != fssize) --		pexit("input filesystem image"); -+		perror_msg_and_die("input filesystem image"); - 	if(swapit) - 		swap_badfs(fs); - 	if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER)) --		errexit("not a suitable ext2 filesystem"); -+		error_msg_and_die("not a suitable ext2 filesystem"); - 	return fs; - } -  --void free_fs(filesystem *fs) -+static void free_fs(filesystem *fs) - { - 	free(fs); - } -  - // just walk through blocks list --void flist_blocks(filesystem *fs, uint32 nod, FILE *fh) -+static void flist_blocks(filesystem *fs, uint32 nod, FILE *fh) - { - 	blockwalker bw; - 	uint32 bk; -@@ -1208,7 +1824,7 @@ - } -  - // walk through blocks list --void list_blocks(filesystem *fs, uint32 nod) -+static void list_blocks(filesystem *fs, uint32 nod) - { - 	int bn = 0; - 	blockwalker bw; -@@ -1221,7 +1837,7 @@ - } -  - // saves blocks to FILE* --void write_blocks(filesystem *fs, uint32 nod, FILE* f) -+static void write_blocks(filesystem *fs, uint32 nod, FILE* f) - { - 	blockwalker bw; - 	uint32 bk; -@@ -1230,15 +1846,15 @@ - 	while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - 	{ - 		if(fsize <= 0) --			errexit("wrong size while saving inode %d", nod); -+			error_msg_and_die("wrong size while saving inode %d", nod); - 		if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) --			errexit("error while saving inode %d", nod); -+			error_msg_and_die("error while saving inode %d", nod); - 		fsize -= BLOCKSIZE; - 	} - } -  - // hexdumps blocks to a FILE* --void hexdump_blocks(filesystem *fs, uint32 nod, FILE* f) -+static void hexdump_blocks(filesystem *fs, uint32 nod, FILE* f) - { - 	blockwalker bw; - 	uint32 bk; -@@ -1250,7 +1866,7 @@ - 	{ - 		int i, j; - 		if(fsize <= 0) --			errexit("wrong size while saving inode %d", nod); -+			error_msg_and_die("wrong size while saving inode %d", nod); - 		b = get_blk(fs, bk); - 		for(i = 0; i < 64; i++) - 		{ -@@ -1273,7 +1889,7 @@ - } -  - // print block/char device minor and major --void print_dev(filesystem *fs, uint32 nod) -+static void print_dev(filesystem *fs, uint32 nod) - { - 	int minor, major; - 	minor = ((uint8*)get_nod(fs, nod)->i_block)[0]; -@@ -1282,7 +1898,7 @@ - } -  - // print an inode as a directory --void print_dir(filesystem *fs, uint32 nod) -+static void print_dir(filesystem *fs, uint32 nod) - { - 	blockwalker bw; - 	uint32 bk; -@@ -1306,7 +1922,7 @@ - } -  - // print a symbolic link --void print_link(filesystem *fs, uint32 nod) -+static void print_link(filesystem *fs, uint32 nod) - { - 	if(!get_nod(fs, nod)->i_blocks) - 		printf("links to '%s'\n", (char*)get_nod(fs, nod)->i_block); -@@ -1319,7 +1935,7 @@ - } -  - // make a ls-like printout of permissions --void make_perms(uint32 mode, char perms[11]) -+static void make_perms(uint32 mode, char perms[11]) - { - 	strcpy(perms, "----------"); - 	if(mode & FM_IRUSR) -@@ -1378,7 +1994,7 @@ - } -  - // print an inode --void print_inode(filesystem *fs, uint32 nod) -+static void print_inode(filesystem *fs, uint32 nod) - { - 	char *s; - 	char perms[11]; -@@ -1406,7 +2022,7 @@ - 			s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved";  - 	} - 	printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count); --	if(!allocated(fs->ibm, nod)) -+	if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod))) - 	{ - 		printf("unallocated\n"); - 		return; -@@ -1440,58 +2056,76 @@ - 		default: - 			list_blocks(fs, nod); - 	} -+	printf("Done with inode %d\n",nod); - } -  - // describes various fields in a filesystem --void print_fs(filesystem *fs) -+static void print_fs(filesystem *fs) - { - 	int i; --	printf("%d blocks (%d free, %d reserved), first data block: %d\n", fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, fs->sb.s_r_blocks_count, fs->sb.s_first_data_block); --	printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, fs->sb.s_free_inodes_count); --	printf("block size = %d, frag size = %d\n", fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024); --	printf("%d blocks per group, %d frags per group, %d inodes per group\n", fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, fs->sb.s_inodes_per_group); --	printf("block bitmap: block %d, inode bitmap: block %d, inode table: block %d\n", fs->gd.bg_block_bitmap, fs->gd.bg_inode_bitmap, fs->gd.bg_inode_table); --	printf("block bitmap allocation:\n"); --	print_bm(fs->bbm, fs->sb.s_blocks_count); --	printf("inode bitmap allocation:\n"); --	print_bm(fs->ibm, fs->sb.s_inodes_count); --	for(i=1; i<=fs->sb.s_inodes_count; i++) --		if(allocated(fs->ibm, i)) --			print_inode(fs, i); -+	uint8 *ibm; -+ -+	printf("%d blocks (%d free, %d reserved), first data block: %d\n", -+	       fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, -+	       fs->sb.s_r_blocks_count, fs->sb.s_first_data_block); -+	printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, -+	       fs->sb.s_free_inodes_count); -+	printf("block size = %d, frag size = %d\n", -+	       fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, -+	       fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024); -+	printf("number of groups: %d\n",GRP_NBGROUPS(fs)); -+	printf("%d blocks per group,%d frags per group,%d inodes per group\n", -+	     fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, -+	     fs->sb.s_inodes_per_group); -+	printf("Size of inode table: %d blocks\n", -+			fs->sb.s_inodes_per_group * sizeof(inode)/BLOCKSIZE); -+	for (i = 0; i < GRP_NBGROUPS(fs); i++) { -+		printf("Group No: %d\n", i+1); -+		printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n", -+		     fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap, -+		     fs->gd[i].bg_inode_table); -+		printf("block bitmap allocation:\n"); -+		print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group); -+		printf("inode bitmap allocation:\n"); -+		ibm = GRP_GET_GROUP_IBM(fs, i); -+		print_bm(ibm, fs->sb.s_inodes_per_group); -+		for (i = 1; i <= fs->sb.s_inodes_per_group; i++) -+			if (allocated(ibm, i)) -+				print_inode(fs, i); -+	} - } -  --void dump_fs(filesystem *fs, FILE * fh, int swapit) -+static void dump_fs(filesystem *fs, FILE * fh, int swapit) - { - 	int nbblocks = fs->sb.s_blocks_count; - 	fs->sb.s_reserved[200] = 0; - 	if(swapit) - 		swap_goodfs(fs); - 	if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks) --		pexit("output filesystem image"); -+		perror_msg_and_die("output filesystem image"); - 	if(swapit) - 		swap_badfs(fs); - } -  --void showhelp(void) -+static void showhelp(void) - { - 	fprintf(stderr, "Usage: %s [options] image\n" - 	"Create an ext2 filesystem image from directories/files\n\n" --	"  -x image                Use this image as a starting point\n" --	"  -d directory            Add this directory as source\n" --	"  -f file                 Add nodes (e.g. devices) from this spec file\n" --	"  -b blocks               Size in blocks\n" --	"  -i inodes               Number of inodes\n" --	"  -r reserved             Number of reserved blocks\n" --	"  -g path                 Generate a block map file for this path\n" --	"  -e value                Fill unallocated blocks with value\n" --	"  -z                      Make files with holes\n" --	"  -v                      Print resulting filesystem structure\n" --	"  -h                      Show this help\n\n" --	"Example of spec file:\n" --	"drwx            /dev\n" --	"crw-    10,190  /dev/lcd\n" --	"brw-    1,0     /dev/ram0\n\n" --	"Report bugs to xavier.bestel@free.fr\n", argv0); -+	"  -x image         Use this image as a starting point\n" -+	"  -d directory     Add this directory as source\n" -+	"  -b blocks        Size in blocks\n" -+	"  -i inodes        Number of inodes\n" -+	"  -r reserved      Number of reserved blocks\n" -+	"  -g path          Generate a block map file for this path\n" -+	"  -e value         Fill unallocated blocks with value\n" -+	"  -z               Make files with holes\n" -+	"  -D,-f            Use the named FILE as a device table file\n" -+	"  -q               Squash permissions and owners making all files be owned by root\n" -+	"  -U               Squash owners making all files be owned by root\n" -+	"  -P               Squash permissions on all files\n" -+	"  -v               Print resulting filesystem structure\n" -+	"  -h               Show this help\n\n" -+	"Report bugs to genext2fs-devel@lists.sourceforge.net\n", app_name); - } -  - #define MAX_DOPT 128 -@@ -1507,6 +2141,8 @@ - 	int nbblocks = -1; - 	int nbinodes = -1; - 	int nbresrvd = -1; -+	int tmp_nbblocks = -1; -+	int tmp_nbinodes = -1; - 	char * fsout = "-"; - 	char * fsin = 0; - 	char * dopt[MAX_DOPT]; -@@ -1516,19 +2152,17 @@ - 	int verbose = 0; - 	int holes = 0; - 	int emptyval = 0; -+	int squash_uids = 0; -+	int squash_perms = 0; - 	uint16 endian = 1; - 	int bigendian = !*(char*)&endian; - 	filesystem *fs; - 	int i; - 	int c; -+	struct stats stats; -  --	argv0 = argv[0]; --	if(argc <= 1) --	{ --		showhelp(); --		exit(1); --	} --	while((c = getopt(argc, argv, "x:f:d:b:i:r:g:e:zvh")) != EOF) -+	app_name = argv[0]; -+	while((c = getopt(argc, argv, "x:d:b:i:r:g:e:zvhD:f:qUP")) != EOF) - 		switch(c) - 		{ - 			case 'x': -@@ -1536,6 +2170,7 @@ - 				break; - 			case 'd': - 			case 'f': -+			case 'D': - 				dopt[didx++] = optarg; - 				break; - 			case 'b': -@@ -1556,6 +2191,16 @@ - 			case 'z': - 				holes = 1; - 				break; -+			case 'q': -+				squash_uids = 1; -+				squash_perms = 1; -+				break; -+			case 'U': -+				squash_uids = 1; -+				break; -+			case 'P': -+				squash_perms = 1; -+				break; - 			case 'v': - 				verbose = 1; - 				break; -@@ -1565,17 +2210,16 @@ - 			default: - 				exit(1); - 		} -+ - 	if(optind < (argc - 1)) --		errexit("too many arguments"); -+		error_msg_and_die("too many arguments"); - 	if(optind == (argc - 1)) - 		fsout = argv[optind]; - 	if(fsin) - 	{ - 		if(strcmp(fsin, "-")) - 		{ --			FILE * fh = fopen(fsin, "r"); --			if(!fh) --				pexit(fsin); -+			FILE * fh = xfopen(fsin, "r"); - 			fs = load_fs(fh, bigendian); - 			fclose(fh); - 		} -@@ -1584,12 +2228,55 @@ - 	} - 	else - 	{ -+		stats.ninodes = 0; -+		stats.nblocks = 0; -+		for(i = 0; i < didx; i++) -+		{ -+			struct stat st; -+			FILE *fh; -+			char *pdir; -+			stat(dopt[i], &st); -+			switch(st.st_mode & S_IFMT) -+			{ -+				case S_IFREG: -+					fh = xfopen(dopt[i], "r"); -+					add2fs_from_file(fs, EXT2_ROOT_INO, fh, squash_uids, squash_perms, &stats); -+					fclose(fh); -+					break; -+				case S_IFDIR: -+					if(!(pdir = getcwd(0, GETCWD_SIZE))) -+						perror_msg_and_die(dopt[i]); -+					if(chdir(dopt[i]) < 0) -+						perror_msg_and_die(dopt[i]); -+					add2fs_from_dir(fs, EXT2_ROOT_INO, squash_uids, squash_perms, &stats); -+					if(chdir(pdir) < 0) -+						perror_msg_and_die(pdir); -+					free(pdir); -+					break; -+				default: -+					error_msg_and_die("%s in neither a file nor a directory", dopt[i]); -+			} -+		} -+	 -+		tmp_nbinodes = stats.ninodes + EXT2_FIRST_INO + 1; -+		tmp_nbblocks = stats.nblocks; // FIXME: should add space taken by inodes too -+	 -+		if(tmp_nbblocks > nbblocks) -+		{ -+			printf("number of blocks too low, increasing to %d\n",tmp_nbblocks); -+			nbblocks = tmp_nbblocks; -+		} -+		if(tmp_nbinodes > nbinodes) -+		{ -+			printf("number of inodes too low, increasing to %d\n",tmp_nbinodes); -+			nbinodes = tmp_nbinodes; -+		} - 		if(nbblocks == -1) --			errexit("filesystem size unspecified"); -+			error_msg_and_die("filesystem size unspecified"); - 		if(nbinodes == -1) - 			nbinodes = nbblocks * BLOCKSIZE / rndup(BYTES_PER_INODE, BLOCKSIZE); - 		if(nbresrvd == -1) --			nbresrvd = nbblocks * RESERVED_INODES; -+			nbresrvd = nbblocks * RESERVED_BLOCKS; - 		fs = init_fs(nbblocks, nbinodes, nbresrvd, holes); - 	} - 	for(i = 0; i < didx; i++) -@@ -1601,28 +2288,27 @@ - 		switch(st.st_mode & S_IFMT) - 		{ - 			case S_IFREG: --				if(!(fh = fopen(dopt[i], "r"))) --					pexit(dopt[i]); --				add2fs_from_file(fs, EXT2_ROOT_INO, fh); -+				fh = xfopen(dopt[i], "r"); -+				add2fs_from_file(fs, EXT2_ROOT_INO, fh, squash_uids, squash_perms, NULL); - 				fclose(fh); - 				break; - 			case S_IFDIR: - 				if(!(pdir = getcwd(0, GETCWD_SIZE))) --					pexit(dopt[i]); -+					perror_msg_and_die(dopt[i]); - 				if(chdir(dopt[i]) < 0) --					pexit(dopt[i]); --				add2fs_from_dir(fs, EXT2_ROOT_INO); -+					perror_msg_and_die(dopt[i]); -+				add2fs_from_dir(fs, EXT2_ROOT_INO, squash_uids, squash_perms, NULL); - 				if(chdir(pdir) < 0) --					pexit(pdir); -+					perror_msg_and_die(pdir); - 				free(pdir); - 				break; - 			default: --				errexit("%s in neither a file nor a directory", dopt[i]); -+				error_msg_and_die("%s in neither a file nor a directory", dopt[i]); - 		} - 	} - 	if(emptyval) - 		for(i = 1; i < fs->sb.s_blocks_count; i++) --			if(!allocated(fs->bbm, i)) -+			if(!allocated(GRP_GET_BLOCK_BITMAP(fs,i),GRP_BBM_OFFSET(fs,i))) - 				memset(get_blk(fs, i), emptyval, BLOCKSIZE); - 	if(verbose) - 		print_fs(fs); -@@ -1633,25 +2319,23 @@ - 		char *p; - 		FILE *fh; - 		if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i]))) --			errexit("path %s not found in filesystem", gopt[i]); -+			error_msg_and_die("path %s not found in filesystem", gopt[i]); - 		while((p = strchr(gopt[i], '/'))) - 			*p = '_'; - 		snprintf(fname, MAX_FILENAME-1, "%s.blk", gopt[i]); --		if(!(fh = fopen(fname, "w"))) --			pexit(fname); -+		fh = xfopen(fname, "w"); - 		fprintf(fh, "%d:", get_nod(fs, nod)->i_size); - 		flist_blocks(fs, nod, fh); - 		fclose(fh); - 	} - 	if(strcmp(fsout, "-")) - 	{ --		FILE * fh = fopen(fsout, "w"); --		if(!fh) --			pexit(fsout); -+		FILE * fh = xfopen(fsout, "w"); - 		dump_fs(fs, fh, bigendian); - 		fclose(fh); - 	} - 	else - 		dump_fs(fs, stdout, bigendian); -+	free_fs(fs); - 	return 0; - } -diff --exclude CVS -urN genext2fs-1.3.orig/install-sh genext2fs/install-sh ---- genext2fs-1.3.orig/install-sh	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/install-sh	2004-12-27 13:03:47.000000000 -0700 -@@ -0,0 +1,325 @@ -+#!/bin/sh -+# install - install a program, script, or datafile -+ -+scriptversion=2004-04-01.17 -+ -+# This originates from X11R5 (mit/util/scripts/install.sh), which was -+# later released in X11R6 (xc/config/util/install.sh) with the -+# following copyright and license. -+# -+# Copyright (C) 1994 X Consortium -+# -+# Permission is hereby granted, free of charge, to any person obtaining a copy -+# of this software and associated documentation files (the "Software"), to -+# deal in the Software without restriction, including without limitation the -+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+# sell copies of the Software, and to permit persons to whom the Software is -+# furnished to do so, subject to the following conditions: -+# -+# The above copyright notice and this permission notice shall be included in -+# all copies or substantial portions of the Software. -+# -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE -+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -+# -+# Except as contained in this notice, the name of the X Consortium shall not -+# be used in advertising or otherwise to promote the sale, use or other deal- -+# ings in this Software without prior written authorization from the X Consor- -+# tium. -+# -+# -+# FSF changes to this file are in the public domain. -+# -+# Calling this script install-sh is preferred over install.sh, to prevent -+# `make' implicit rules from creating a file called install from it -+# when there is no Makefile. -+# -+# This script is compatible with the BSD install script, but was written -+# from scratch.  It can only install one file at a time, a restriction -+# shared with many OS's install programs. -+ -+# set DOITPROG to echo to test this script -+ -+# Don't use :- since 4.3BSD and earlier shells don't like it. -+doit="${DOITPROG-}" -+ -+# put in absolute paths if you don't have them in your path; or use env. vars. -+ -+mvprog="${MVPROG-mv}" -+cpprog="${CPPROG-cp}" -+chmodprog="${CHMODPROG-chmod}" -+chownprog="${CHOWNPROG-chown}" -+chgrpprog="${CHGRPPROG-chgrp}" -+stripprog="${STRIPPROG-strip}" -+rmprog="${RMPROG-rm}" -+mkdirprog="${MKDIRPROG-mkdir}" -+ -+transformbasename= -+transform_arg= -+instcmd="$mvprog" -+chmodcmd="$chmodprog 0755" -+chowncmd= -+chgrpcmd= -+stripcmd= -+rmcmd="$rmprog -f" -+mvcmd="$mvprog" -+src= -+dst= -+dir_arg= -+ -+usage="Usage: $0 [OPTION]... SRCFILE DSTFILE -+   or: $0 [OPTION]... SRCFILES... DIRECTORY -+   or: $0 -d DIRECTORIES... -+ -+In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. -+In the second, create the directory path DIR. -+ -+Options: -+-b=TRANSFORMBASENAME -+-c         copy source (using $cpprog) instead of moving (using $mvprog). -+-d         create directories instead of installing files. -+-g GROUP   $chgrp installed files to GROUP. -+-m MODE    $chmod installed files to MODE. -+-o USER    $chown installed files to USER. -+-s         strip installed files (using $stripprog). -+-t=TRANSFORM -+--help     display this help and exit. -+--version  display version info and exit. -+ -+Environment variables override the default commands: -+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -+" -+ -+while test -n "$1"; do -+  case $1 in -+    -b=*) transformbasename=`echo $1 | sed 's/-b=//'` -+        shift -+        continue;; -+ -+    -c) instcmd=$cpprog -+        shift -+        continue;; -+ -+    -d) dir_arg=true -+        shift -+        continue;; -+ -+    -g) chgrpcmd="$chgrpprog $2" -+        shift -+        shift -+        continue;; -+ -+    --help) echo "$usage"; exit 0;; -+ -+    -m) chmodcmd="$chmodprog $2" -+        shift -+        shift -+        continue;; -+ -+    -o) chowncmd="$chownprog $2" -+        shift -+        shift -+        continue;; -+ -+    -s) stripcmd=$stripprog -+        shift -+        continue;; -+ -+    -t=*) transformarg=`echo $1 | sed 's/-t=//'` -+        shift -+        continue;; -+ -+    --version) echo "$0 $scriptversion"; exit 0;; -+ -+    *)  # When -d is used, all remaining arguments are directories to create. -+	test -n "$dir_arg" && break -+        # Otherwise, the last argument is the destination.  Remove it from $@. -+	for arg -+	do -+          if test -n "$dstarg"; then -+	    # $@ is not empty: it contains at least $arg. -+	    set fnord "$@" "$dstarg" -+	    shift # fnord -+	  fi -+	  shift # arg -+	  dstarg=$arg -+	done -+	break;; -+  esac -+done -+ -+if test -z "$1"; then -+  if test -z "$dir_arg"; then -+    echo "$0: no input file specified." >&2 -+    exit 1 -+  fi -+  # It's OK to call `install-sh -d' without argument. -+  # This can happen when creating conditional directories. -+  exit 0 -+fi -+ -+for src -+do -+  # Protect names starting with `-'. -+  case $src in -+    -*) src=./$src ;; -+  esac -+ -+  if test -n "$dir_arg"; then -+    dst=$src -+    src= -+ -+    if test -d "$dst"; then -+      instcmd=: -+      chmodcmd= -+    else -+      instcmd=$mkdirprog -+    fi -+  else -+    # Waiting for this to be detected by the "$instcmd $src $dsttmp" command -+    # might cause directories to be created, which would be especially bad -+    # if $src (and thus $dsttmp) contains '*'. -+    if test ! -f "$src" && test ! -d "$src"; then -+      echo "$0: $src does not exist." >&2 -+      exit 1 -+    fi -+ -+    if test -z "$dstarg"; then -+      echo "$0: no destination specified." >&2 -+      exit 1 -+    fi -+ -+    dst=$dstarg -+    # Protect names starting with `-'. -+    case $dst in -+      -*) dst=./$dst ;; -+    esac -+ -+    # If destination is a directory, append the input filename; won't work -+    # if double slashes aren't ignored. -+    if test -d "$dst"; then -+      dst=$dst/`basename "$src"` -+    fi -+  fi -+ -+  # This sed command emulates the dirname command. -+  dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` -+ -+  # Make sure that the destination directory exists. -+ -+  # Skip lots of stat calls in the usual case. -+  if test ! -d "$dstdir"; then -+    defaultIFS=' -+	 ' -+    IFS="${IFS-$defaultIFS}" -+ -+    oIFS=$IFS -+    # Some sh's can't handle IFS=/ for some reason. -+    IFS='%' -+    set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` -+    IFS=$oIFS -+ -+    pathcomp= -+ -+    while test $# -ne 0 ; do -+      pathcomp=$pathcomp$1 -+      shift -+      if test ! -d "$pathcomp"; then -+        $mkdirprog "$pathcomp" || lasterr=$? -+	# mkdir can fail with a `File exist' error in case several -+	# install-sh are creating the directory concurrently.  This -+	# is OK. -+	test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } -+      fi -+      pathcomp=$pathcomp/ -+    done -+  fi -+ -+  if test -n "$dir_arg"; then -+    $doit $instcmd "$dst" \ -+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ -+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ -+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ -+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } -+ -+  else -+    # If we're going to rename the final executable, determine the name now. -+    if test -z "$transformarg"; then -+      dstfile=`basename "$dst"` -+    else -+      dstfile=`basename "$dst" $transformbasename \ -+               | sed $transformarg`$transformbasename -+    fi -+ -+    # don't allow the sed command to completely eliminate the filename. -+    test -z "$dstfile" && dstfile=`basename "$dst"` -+ -+    # 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 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 -+    trap '(exit $?); exit' 1 2 13 15 -+ -+    # Move or copy the file name to the temp name -+    $doit $instcmd "$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 $instcmd $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 "$dsttmp"; } && -+ -+    # Now rename the file to the real destination. -+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ -+      || { -+	   # The rename failed, perhaps because mv can't rename something else -+	   # to itself, or perhaps because mv is so ancient that it does not -+	   # support -f. -+ -+	   # Now remove or move aside any old file at destination location. -+	   # We try this two ways since rm can't unlink itself on some -+	   # systems and the destination file might be busy for other -+	   # reasons.  In this case, the final cleanup might fail but the new -+	   # file should still install successfully. -+	   { -+	     if test -f "$dstdir/$dstfile"; then -+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ -+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ -+	       || { -+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 -+		 (exit 1); exit -+	       } -+	     else -+	       : -+	     fi -+	   } && -+ -+	   # Now rename the file to the real destination. -+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" -+	 } -+    } -+  fi || { (exit 1); exit; } -+done -+ -+# The final little trick to "correctly" pass the exit status to the exit trap. -+{ -+  (exit 0); exit -+} -+ -+# Local variables: -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "scriptversion=" -+# time-stamp-format: "%:y-%02m-%02d.%02H" -+# time-stamp-end: "$" -+# End: -diff --exclude CVS -urN genext2fs-1.3.orig/missing genext2fs/missing ---- genext2fs-1.3.orig/missing	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/missing	2004-12-27 13:03:47.000000000 -0700 -@@ -0,0 +1,360 @@ -+#! /bin/sh -+# Common stub for a few missing GNU programs while installing. -+ -+scriptversion=2003-09-02.23 -+ -+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003  -+#   Free Software Foundation, Inc. -+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+# GNU General Public License for more details. -+ -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+ -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+if test $# -eq 0; then -+  echo 1>&2 "Try \`$0 --help' for more information" -+  exit 1 -+fi -+ -+run=: -+ -+# In the cases where this matters, `missing' is being run in the -+# srcdir already. -+if test -f configure.ac; then -+  configure_ac=configure.ac -+else -+  configure_ac=configure.in -+fi -+ -+msg="missing on your system" -+ -+case "$1" in -+--run) -+  # Try to run requested program, and just exit if it succeeds. -+  run= -+  shift -+  "$@" && exit 0 -+  # Exit code 63 means version mismatch.  This often happens -+  # when the user try to use an ancient version of a tool on -+  # a file that requires a minimum version.  In this case we -+  # we should proceed has if the program had been absent, or -+  # if --run hadn't been passed. -+  if test $? = 63; then -+    run=: -+    msg="probably too old" -+  fi -+  ;; -+esac -+ -+# If it does not exist, or fails to run (possibly an outdated version), -+# try to emulate it. -+case "$1" in -+ -+  -h|--h|--he|--hel|--help) -+    echo "\ -+$0 [OPTION]... PROGRAM [ARGUMENT]... -+ -+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -+error status if there is no known handling for PROGRAM. -+ -+Options: -+  -h, --help      display this help and exit -+  -v, --version   output version information and exit -+  --run           try to run the given command, and emulate it if it fails -+ -+Supported PROGRAM values: -+  aclocal      touch file \`aclocal.m4' -+  autoconf     touch file \`configure' -+  autoheader   touch file \`config.h.in' -+  automake     touch all \`Makefile.in' files -+  bison        create \`y.tab.[ch]', if possible, from existing .[ch] -+  flex         create \`lex.yy.c', if possible, from existing .c -+  help2man     touch the output file -+  lex          create \`lex.yy.c', if possible, from existing .c -+  makeinfo     touch the output file -+  tar          try tar, gnutar, gtar, then tar without non-portable flags -+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch] -+ -+Send bug reports to <bug-automake@gnu.org>." -+    ;; -+ -+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version) -+    echo "missing $scriptversion (GNU Automake)" -+    ;; -+ -+  -*) -+    echo 1>&2 "$0: Unknown \`$1' option" -+    echo 1>&2 "Try \`$0 --help' for more information" -+    exit 1 -+    ;; -+ -+  aclocal*) -+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then -+       # We have it, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want -+         to install the \`Automake' and \`Perl' packages.  Grab them from -+         any GNU archive site." -+    touch aclocal.m4 -+    ;; -+ -+  autoconf) -+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then -+       # We have it, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+         you modified \`${configure_ac}'.  You might want to install the -+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU -+         archive site." -+    touch configure -+    ;; -+ -+  autoheader) -+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then -+       # We have it, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want -+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them -+         from any GNU archive site." -+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` -+    test -z "$files" && files="config.h" -+    touch_files= -+    for f in $files; do -+      case "$f" in -+      *:*) touch_files="$touch_files "`echo "$f" | -+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;; -+      *) touch_files="$touch_files $f.in";; -+      esac -+    done -+    touch $touch_files -+    ;; -+ -+  automake*) -+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then -+       # We have it, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. -+         You might want to install the \`Automake' and \`Perl' packages. -+         Grab them from any GNU archive site." -+    find . -type f -name Makefile.am -print | -+	   sed 's/\.am$/.in/' | -+	   while read f; do touch "$f"; done -+    ;; -+ -+  autom4te) -+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then -+       # We have it, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is needed, but is $msg. -+         You might have modified some files without having the -+         proper tools for further handling them. -+         You can get \`$1' as part of \`Autoconf' from any GNU -+         archive site." -+ -+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` -+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` -+    if test -f "$file"; then -+	touch $file -+    else -+	test -z "$file" || exec >$file -+	echo "#! /bin/sh" -+	echo "# Created by GNU Automake missing as a replacement of" -+	echo "#  $ $@" -+	echo "exit 0" -+	chmod +x $file -+	exit 1 -+    fi -+    ;; -+ -+  bison|yacc) -+    echo 1>&2 "\ -+WARNING: \`$1' $msg.  You should only need it if -+         you modified a \`.y' file.  You may need the \`Bison' package -+         in order for those modifications to take effect.  You can get -+         \`Bison' from any GNU archive site." -+    rm -f y.tab.c y.tab.h -+    if [ $# -ne 1 ]; then -+        eval LASTARG="\${$#}" -+	case "$LASTARG" in -+	*.y) -+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` -+	    if [ -f "$SRCFILE" ]; then -+	         cp "$SRCFILE" y.tab.c -+	    fi -+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` -+	    if [ -f "$SRCFILE" ]; then -+	         cp "$SRCFILE" y.tab.h -+	    fi -+	  ;; -+	esac -+    fi -+    if [ ! -f y.tab.h ]; then -+	echo >y.tab.h -+    fi -+    if [ ! -f y.tab.c ]; then -+	echo 'main() { return 0; }' >y.tab.c -+    fi -+    ;; -+ -+  lex|flex) -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+         you modified a \`.l' file.  You may need the \`Flex' package -+         in order for those modifications to take effect.  You can get -+         \`Flex' from any GNU archive site." -+    rm -f lex.yy.c -+    if [ $# -ne 1 ]; then -+        eval LASTARG="\${$#}" -+	case "$LASTARG" in -+	*.l) -+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` -+	    if [ -f "$SRCFILE" ]; then -+	         cp "$SRCFILE" lex.yy.c -+	    fi -+	  ;; -+	esac -+    fi -+    if [ ! -f lex.yy.c ]; then -+	echo 'main() { return 0; }' >lex.yy.c -+    fi -+    ;; -+ -+  help2man) -+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then -+       # We have it, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+	 you modified a dependency of a manual page.  You may need the -+	 \`Help2man' package in order for those modifications to take -+	 effect.  You can get \`Help2man' from any GNU archive site." -+ -+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` -+    if test -z "$file"; then -+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` -+    fi -+    if [ -f "$file" ]; then -+	touch $file -+    else -+	test -z "$file" || exec >$file -+	echo ".ab help2man is required to generate this page" -+	exit 1 -+    fi -+    ;; -+ -+  makeinfo) -+    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then -+       # We have makeinfo, but it failed. -+       exit 1 -+    fi -+ -+    echo 1>&2 "\ -+WARNING: \`$1' is $msg.  You should only need it if -+         you modified a \`.texi' or \`.texinfo' file, or any other file -+         indirectly affecting the aspect of the manual.  The spurious -+         call might also be the consequence of using a buggy \`make' (AIX, -+         DU, IRIX).  You might want to install the \`Texinfo' package or -+         the \`GNU make' package.  Grab either from any GNU archive site." -+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` -+    if test -z "$file"; then -+      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` -+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` -+    fi -+    touch $file -+    ;; -+ -+  tar) -+    shift -+    if test -n "$run"; then -+      echo 1>&2 "ERROR: \`tar' requires --run" -+      exit 1 -+    fi -+ -+    # We have already tried tar in the generic part. -+    # Look for gnutar/gtar before invocation to avoid ugly error -+    # messages. -+    if (gnutar --version > /dev/null 2>&1); then -+       gnutar "$@" && exit 0 -+    fi -+    if (gtar --version > /dev/null 2>&1); then -+       gtar "$@" && exit 0 -+    fi -+    firstarg="$1" -+    if shift; then -+	case "$firstarg" in -+	*o*) -+	    firstarg=`echo "$firstarg" | sed s/o//` -+	    tar "$firstarg" "$@" && exit 0 -+	    ;; -+	esac -+	case "$firstarg" in -+	*h*) -+	    firstarg=`echo "$firstarg" | sed s/h//` -+	    tar "$firstarg" "$@" && exit 0 -+	    ;; -+	esac -+    fi -+ -+    echo 1>&2 "\ -+WARNING: I can't seem to be able to run \`tar' with the given arguments. -+         You may want to install GNU tar or Free paxutils, or check the -+         command line arguments." -+    exit 1 -+    ;; -+ -+  *) -+    echo 1>&2 "\ -+WARNING: \`$1' is needed, and is $msg. -+         You might have modified some files without having the -+         proper tools for further handling them.  Check the \`README' file, -+         it often tells you about the needed prerequisites for installing -+         this package.  You may also peek at any GNU archive site, in case -+         some other package would contain this missing \`$1' program." -+    exit 1 -+    ;; -+esac -+ -+exit 0 -+ -+# Local variables: -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "scriptversion=" -+# time-stamp-format: "%:y-%02m-%02d.%02H" -+# time-stamp-end: "$" -+# End: -diff --exclude CVS -urN genext2fs-1.3.orig/test-mount.sh genext2fs/test-mount.sh ---- genext2fs-1.3.orig/test-mount.sh	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/test-mount.sh	2004-10-24 02:43:50.000000000 -0600 -@@ -0,0 +1,96 @@ -+#!/bin/sh -+set -e -+ -+cleanup () { -+	set +e -+	umount mnt 2>/dev/null -+	rm -rf mnt ext2.img lsout fout test 2>/dev/null -+} -+ -+# dtest - Uses the -d directory option of genext2fs -+# Creates an image with a file of given size and verifies it -+# Usage: dtest file-size number-of-blocks  -+dtest () { -+	size=$1; blocks=$2;fname=$size  -+	echo "Testing with file of size $size " -+	mkdir -p test -+	cd test -+	dd if=/dev/zero of=file.$1 bs=1 count=$size  -+	cd .. -+	./genext2fs -b $blocks -d test ext2.img  -+	md5=`md5sum ext2.img | cut -f1 -d " "` -+	if ! /sbin/e2fsck -fn ext2.img ; then -+		echo "fsck failed" -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	mkdir -p mnt -+	if ! mount -t ext2 -o loop ext2.img mnt; then -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	if (! [ -f mnt/file.$fname ]) || \ -+			[ $fname != "`ls -al mnt | grep file.$fname |awk '{print $5}'`" ] ; then -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	echo PASSED "(md5 checksum for the image: $md5)" -+	cleanup -+} -+ -+# ftest - Uses the -f spec-file option of genext2fs -+# Creates an image with the devices mentioned in the given spec  -+# file and verifies it -+# Usage: ftest spec-file number-of-blocks  -+ftest () { -+	fname=$1; blocks=$2;  -+	echo "Testing with devices file $fname" -+	./genext2fs -b $blocks -f $fname ext2.img -+	md5=`md5sum ext2.img | cut -f 1 -d " "` -+	if ! /sbin/e2fsck -fn ext2.img ; then -+		echo "fsck failed" -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	mkdir -p mnt -+	if ! mount -t ext2 -o loop ext2.img mnt; then -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	if ! [ -d mnt/dev ] ; then -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	cat dev.txt | grep ^[bc] | \ -+		awk '{print $1substr($1,2)substr($1,2),$2,$3}'| \ -+			sort -d -k3.6 > fout -+	ls -al mnt/dev | grep ^[bc] | \ -+		awk '{ print $1,$5$6,"/dev/"$10}' | \ -+			sort -d -k3.6 > lsout -+	if ! diff fout lsout ; then -+		echo FAILED -+		cleanup -+		exit 1 -+	fi -+	echo PASSED "(md5 checksum for the image: $md5)" -+	cleanup -+} -+ -+dtest 0 4096  -+dtest 0 8193 -+dtest 0 8194 -+dtest 1 4096  -+dtest 12288 4096  -+dtest 274432 4096  -+dtest 8388608 9000  -+dtest 16777216 20000 -+ -+ftest dev.txt 4096  -+ -+exit 0 -diff --exclude CVS -urN genext2fs-1.3.orig/test.sh genext2fs/test.sh ---- genext2fs-1.3.orig/test.sh	1969-12-31 17:00:00.000000000 -0700 -+++ genext2fs/test.sh	2004-10-24 02:43:50.000000000 -0600 -@@ -0,0 +1,53 @@ -+#!/bin/sh -+set -e -+ -+# dtest - Uses the -d directory option of genext2fs -+# Creates an image with a file of given size and verifies it -+# Usage: dtest file-size number-of-blocks correct-checksum -+dtest () { -+	size=$1; blocks=$2; checksum=$3 -+	echo "Testing with file of size $size " -+	mkdir -p test -+	cd test -+	dd if=/dev/zero of=file.$1 bs=1 count=$size  -+	cd .. -+	./genext2fs -b $blocks -d test ext2.img  -+	md5=`md5sum ext2.img | cut -d" " -f1` -+	rm -rf ext2.img test -+	if [ $md5 == $checksum ] ; then -+		echo PASSED -+	else -+		echo FAILED -+		exit 1 -+	fi -+} -+ -+# ftest - Uses the -f spec-file option of genext2fs -+# Creates an image with the devices mentioned in the given spec  -+# file and verifies it -+# Usage: ftest spec-file number-of-blocks correct-checksum -+ftest () { -+	fname=$1; blocks=$2; checksum=$3 -+	echo "Testing with devices file $fname" -+	./genext2fs -b $blocks -f $fname ext2.img -+	md5=`md5sum ext2.img | cut -d" " -f1` -+	rm -rf ext2.img -+	if [ $md5 == $checksum ] ; then -+		echo PASSED -+	else -+		echo FAILED -+		exit 1 -+	fi -+} -+ -+dtest 0 4096 491a43ab93c2e5c186c9f1f72d88e5c5 -+dtest 0 8193 6289224f0b7f151994479ba156c43505 -+dtest 0 8194 3272c43c25e8d0c3768935861a643a65 -+dtest 1 4096 5ee24486d33af88c63080b09d8cadfb5 -+dtest 12288 4096 494498364defdc27b2770d1f9c1e3387 -+dtest 274432 4096 65c4bd8d30bf563fa5434119a12abff1 -+dtest 8388608 9000 9a49b0461ee236b7fd7c452fb6a1f2dc -+dtest 16777216 20000 91e16429c901b68d30f783263f0611b7 -+ -+ftest dev.txt 4096 921ee9343b0759e16ad8d979d7dd16ec -+exit 0 diff --git a/target/ext2/genext2fs-02-nosquash_devtable.patch b/target/ext2/genext2fs-02-nosquash_devtable.patch deleted file mode 100644 index 947e61ac3..000000000 --- a/target/ext2/genext2fs-02-nosquash_devtable.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- genext2fs-1.3/genext2fs.c~	2005-02-15 02:21:18.000000000 -0700 -+++ genext2fs-1.3/genext2fs.c	2005-02-15 02:17:09.000000000 -0700 -@@ -1322,10 +1324,6 @@ - 		} - 		else - 		{ --			if(squash_uids) --				uid = gid = 0; --			if(squash_perms) --				mode &= ~(FM_IRWXG | FM_IRWXO); - 			mode &= FM_IMASK; - 			path2 = strdup(path); - 			name = basename(path); diff --git a/target/ext2/genext2fs-1.4-nosquash.patch b/target/ext2/genext2fs-1.4-nosquash.patch new file mode 100644 index 000000000..236dfccdf --- /dev/null +++ b/target/ext2/genext2fs-1.4-nosquash.patch @@ -0,0 +1,14 @@ +diff -ru genext2fs-1.4/genext2fs.c genext2fs-1.4-nosquash/genext2fs.c +--- genext2fs-1.4/genext2fs.c	2006-12-19 17:45:31.000000000 +0100 ++++ genext2fs-1.4-nosquash/genext2fs.c	2007-02-09 10:47:05.000000000 +0100 +@@ -1629,10 +1629,6 @@ + 		mtime = st.st_mtime; + 		name = dent->d_name; + 		mode = get_mode(&st); +-		if(squash_uids) +-			uid = gid = 0; +-		if(squash_perms) +-			mode &= ~(FM_IRWXG | FM_IRWXO); + 		if(stats) + 			switch(st.st_mode & S_IFMT) + 			{ diff --git a/target/ext2/genext2fs-1.4-remove_ugly_warnings.patch b/target/ext2/genext2fs-1.4-remove_ugly_warnings.patch new file mode 100644 index 000000000..ef23dfbe8 --- /dev/null +++ b/target/ext2/genext2fs-1.4-remove_ugly_warnings.patch @@ -0,0 +1,21 @@ +diff -ru genext2fs-1.4/genext2fs.c genext2fs-1.4-remove_ugly_warnings/genext2fs.c +--- genext2fs-1.4/genext2fs.c	2007-02-09 10:54:56.000000000 +0100 ++++ genext2fs-1.4-remove_ugly_warnings/genext2fs.c	2007-02-09 10:54:30.000000000 +0100 +@@ -1606,7 +1606,7 @@ + static void + add2fs_from_dir(filesystem *fs, uint32 this_nod, int squash_uids, int squash_perms, uint32 fs_timestamp, struct stats *stats) + { +-	uint32 nod; ++	uint32 nod = 0; + 	uint32 uid, gid, mode, ctime, mtime; + 	const char *name; + 	FILE *fh; +@@ -2056,7 +2056,7 @@ + static filesystem * + load_fs(FILE * fh, int swapit) + { +-	size_t fssize; ++	size_t fssize = 0; + 	filesystem *fs; + 	if((fseek(fh, 0, SEEK_END) < 0) || ((ssize_t)(fssize = ftell(fh)) == -1)) + 		perror_msg_and_die("input filesystem image"); | 
