Whamcloud - gitweb
LU-2675 build: remove liblustre and libsysio 57/10657/7
authorJohn L. Hammond <john.hammond@intel.com>
Mon, 9 Jun 2014 18:13:16 +0000 (13:13 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 12 Aug 2014 15:22:46 +0000 (15:22 +0000)
Remove the lustre/liblustre and libsysio subdirectories.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I53c06b8c76955519a33a7b1292b0d87495105607
Reviewed-on: http://review.whamcloud.com/10657
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
149 files changed:
build/Rules.in
libsysio/.gitignore [deleted file]
libsysio/AUTHORS [deleted file]
libsysio/COPYING [deleted file]
libsysio/ChangeLog [deleted file]
libsysio/INSTALL [deleted file]
libsysio/Makefile.am [deleted file]
libsysio/NEWS [deleted file]
libsysio/README [deleted file]
libsysio/Rules.make [deleted file]
libsysio/autogen.sh [deleted file]
libsysio/compile [deleted file]
libsysio/config.guess [deleted file]
libsysio/config.sub [deleted file]
libsysio/configure.ac [deleted file]
libsysio/depcomp [deleted file]
libsysio/dev/stdfd/.gitignore [deleted file]
libsysio/dev/stdfd/module.mk [deleted file]
libsysio/dev/stdfd/stdfd.c [deleted file]
libsysio/dev/stdfd/stdfd.h [deleted file]
libsysio/drivers/incore/.gitignore [deleted file]
libsysio/drivers/incore/README [deleted file]
libsysio/drivers/incore/fs_incore.c [deleted file]
libsysio/drivers/incore/fs_incore.h [deleted file]
libsysio/drivers/incore/module.mk [deleted file]
libsysio/drivers/native/.gitignore [deleted file]
libsysio/drivers/native/fs_native.c [deleted file]
libsysio/drivers/native/fs_native.h [deleted file]
libsysio/drivers/native/module.mk [deleted file]
libsysio/drivers/sockets/.gitignore [deleted file]
libsysio/drivers/sockets/module.mk [deleted file]
libsysio/drivers/sockets/sockets.c [deleted file]
libsysio/drivers/yod/.gitignore [deleted file]
libsysio/drivers/yod/fs_yod.c [deleted file]
libsysio/drivers/yod/fs_yod.h [deleted file]
libsysio/drivers/yod/module.mk [deleted file]
libsysio/include/cplant-yod.h [deleted file]
libsysio/include/creds.h [deleted file]
libsysio/include/dev.h [deleted file]
libsysio/include/file.h [deleted file]
libsysio/include/fs.h [deleted file]
libsysio/include/inode.h [deleted file]
libsysio/include/module.mk [deleted file]
libsysio/include/mount.h [deleted file]
libsysio/include/native.h [deleted file]
libsysio/include/stddir.h [deleted file]
libsysio/include/sysio-cmn.h [deleted file]
libsysio/include/sysio-symbols.h [deleted file]
libsysio/include/sysio.h [deleted file]
libsysio/include/xtio.h [deleted file]
libsysio/install-sh [deleted file]
libsysio/misc/gdb-libsysio [deleted file]
libsysio/misc/init-env.sh [deleted file]
libsysio/missing [deleted file]
libsysio/mkinstalldirs [deleted file]
libsysio/src/.gitignore [deleted file]
libsysio/src/access.c [deleted file]
libsysio/src/chdir.c [deleted file]
libsysio/src/chmod.c [deleted file]
libsysio/src/chown.c [deleted file]
libsysio/src/dev.c [deleted file]
libsysio/src/dup.c [deleted file]
libsysio/src/fcntl.c [deleted file]
libsysio/src/file.c [deleted file]
libsysio/src/file_hack.c [deleted file]
libsysio/src/fs.c [deleted file]
libsysio/src/fsync.c [deleted file]
libsysio/src/getdirentries.c [deleted file]
libsysio/src/init.c [deleted file]
libsysio/src/inode.c [deleted file]
libsysio/src/ioctl.c [deleted file]
libsysio/src/ioctx.c [deleted file]
libsysio/src/iowait.c [deleted file]
libsysio/src/link.c [deleted file]
libsysio/src/lseek.c [deleted file]
libsysio/src/mkdir.c [deleted file]
libsysio/src/mknod.c [deleted file]
libsysio/src/module.mk [deleted file]
libsysio/src/mount.c [deleted file]
libsysio/src/namei.c [deleted file]
libsysio/src/open.c [deleted file]
libsysio/src/readdir.c [deleted file]
libsysio/src/readdir64.c [deleted file]
libsysio/src/readlink.c [deleted file]
libsysio/src/reconcile.c [deleted file]
libsysio/src/rename.c [deleted file]
libsysio/src/rmdir.c [deleted file]
libsysio/src/rw.c [deleted file]
libsysio/src/stat.c [deleted file]
libsysio/src/stat64.c [deleted file]
libsysio/src/statvfs.c [deleted file]
libsysio/src/statvfs64.c [deleted file]
libsysio/src/stddir.c [deleted file]
libsysio/src/stdlib.c [deleted file]
libsysio/src/symlink.c [deleted file]
libsysio/src/truncate.c [deleted file]
libsysio/src/unlink.c [deleted file]
libsysio/src/utime.c [deleted file]
libsysio/tests/.gitignore [deleted file]
libsysio/tests/Makefile.am [deleted file]
libsysio/tests/README [deleted file]
libsysio/tests/drv_init_all.c [deleted file]
libsysio/tests/gendrvdata.sh [deleted file]
libsysio/tests/module.mk [deleted file]
libsysio/tests/startup.c [deleted file]
libsysio/tests/sysio-run-start.c [deleted file]
libsysio/tests/test.h [deleted file]
libsysio/tests/test_chown.c [deleted file]
libsysio/tests/test_copy.c [deleted file]
libsysio/tests/test_fcntl_lock.c [deleted file]
libsysio/tests/test_getcwd.c [deleted file]
libsysio/tests/test_link.c [deleted file]
libsysio/tests/test_list.c [deleted file]
libsysio/tests/test_mkdir.c [deleted file]
libsysio/tests/test_mknod.c [deleted file]
libsysio/tests/test_path.c [deleted file]
libsysio/tests/test_regions.c [deleted file]
libsysio/tests/test_rename.c [deleted file]
libsysio/tests/test_stats.c [deleted file]
libsysio/tests/test_stddir.c [deleted file]
libsysio/tests/test_symlink.c [deleted file]
libsysio/tests/test_unlink.c [deleted file]
lustre/liblustre/.gitignore [deleted file]
lustre/liblustre/Makefile.am [deleted file]
lustre/liblustre/dir.c [deleted file]
lustre/liblustre/file.c [deleted file]
lustre/liblustre/genlib.sh [deleted file]
lustre/liblustre/llite_cl.c [deleted file]
lustre/liblustre/llite_lib.c [deleted file]
lustre/liblustre/llite_lib.h [deleted file]
lustre/liblustre/lutil.c [deleted file]
lustre/liblustre/lutil.h [deleted file]
lustre/liblustre/namei.c [deleted file]
lustre/liblustre/rw.c [deleted file]
lustre/liblustre/super.c [deleted file]
lustre/liblustre/tests/.gitignore [deleted file]
lustre/liblustre/tests/Makefile.am [deleted file]
lustre/liblustre/tests/echo_test.c [deleted file]
lustre/liblustre/tests/mpi/.gitignore [deleted file]
lustre/liblustre/tests/mpi/Makefile.am [deleted file]
lustre/liblustre/tests/mpi/test_lock_cancel.c [deleted file]
lustre/liblustre/tests/recovery_small.c [deleted file]
lustre/liblustre/tests/replay_ost_single.c [deleted file]
lustre/liblustre/tests/replay_single.c [deleted file]
lustre/liblustre/tests/sanity.c [deleted file]
lustre/liblustre/tests/test_common.c [deleted file]
lustre/liblustre/tests/test_common.h [deleted file]
lustre/tests/Makefile.am
lustre/tests/liblustre.sh [deleted file]

index 1ac462e..0259bc6 100644 (file)
@@ -8,10 +8,6 @@
 #
 # and autoMakefile.am:
 #
-# if LIBLUSTRE
-# <liblustre rules>
-# endif
-#
 # if MODULES
 # modulefs_DATA = <module-name>$(KMODEXT)
 # endif
diff --git a/libsysio/.gitignore b/libsysio/.gitignore
deleted file mode 100644 (file)
index 5a0f1ce..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/aclocal.m4
-/autom4te.cache
-/lib
-/Makefile.in
-/INSTALL
diff --git a/libsysio/AUTHORS b/libsysio/AUTHORS
deleted file mode 100644 (file)
index 0dcc9cd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-Lee Ward <lee@sandia.gov>
-
-Various folks at:
-
-Cluster File Systems Incorporated. (www.clusterfs.com)
-Cray Incorporated (www.cray.com)
diff --git a/libsysio/COPYING b/libsysio/COPYING
deleted file mode 100644 (file)
index 2bb5b6e..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-                 GNU LESSER GENERAL PUBLIC LICENSE
-                      Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-\f
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-\f
-                 GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-\f
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-\f
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-\f
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                           NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/libsysio/ChangeLog b/libsysio/ChangeLog
deleted file mode 100644 (file)
index 126c27f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-Sat Feb 22 10:32:10 EST 2003
-       Created <lee@sandia.gov>
----
-
-*Added mount() api call to support sub-mounts.
-
-*Added rudimentary automounts per the namespace chapter in the "Lustre
-Architecture Reference". Note, full URI support is not implemented. See
-the README for details.
-
-Think I have it going for simultaneous 32/64 bit support. Together with
-the nagging build for test_stat.
-
-*Miscellaneous bugs fixed.
-
----
-Lee -- Sat Mar 22 15:01:45 EST 2003
-
-*Added "incore" file system. An in-memory file system solving boot-strap
-and other annoying little chicken-and-the-egg problems.
-
-*Added support for devices
-
-*Added support for accessing the pre-opened standard file descriptors 0, 1,
-and 2 via the stdfd device driver (major number 0, minor 0, 1, and 2).
-
----
-Lee -- Mon Jan 26 11:26:14 EST 2004
-
-*Altered the internal interface to pass the xtvec (see .../include/xtio.h) in
-order to support strided-io.
diff --git a/libsysio/INSTALL b/libsysio/INSTALL
deleted file mode 100644 (file)
index 54caf7c..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
-Foundation, Inc.
-
-   This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-   These are generic installation instructions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
-
-     Running `configure' takes awhile.  While running, it prints some
-     messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory.  After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-will cause the specified gcc to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
-
diff --git a/libsysio/Makefile.am b/libsysio/Makefile.am
deleted file mode 100644 (file)
index 1262105..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-AUTOMAKE_OPTIONS=1.6
-
-if WITH_TESTS
-TESTDIR = tests
-else
-TESTDIR =
-endif
-
-include $(top_srcdir)/src/module.mk 
-include $(top_srcdir)/include/module.mk
-include $(top_srcdir)/tests/module.mk
-include $(top_srcdir)/dev/stdfd/module.mk 
-include $(top_srcdir)/drivers/incore/module.mk 
-include $(top_srcdir)/drivers/native/module.mk 
-include $(top_srcdir)/drivers/yod/module.mk
-include $(top_srcdir)/drivers/sockets/module.mk
-
-lib_LIBRARIES = ${LIBBUILD_DIR}/libsysio.a
-
-if WITH_STDFD_DEV
-OPTIONAL_STDFD_SRCS = $(STDFD_SRCS)
-else
-OPTIONAL_STDFD_SRCS =
-endif
-
-if WITH_INCORE_DRIVER
-OPTIONAL_INCORE_SRCS = $(INCORE_SRCS)
-else
-OPTIONAL_INCORE_SRCS =
-endif
-
-if WITH_NATIVE_DRIVER
-OPTIONAL_NATIVE_SRCS = $(NATIVE_SRCS)
-else
-OPTIONAL_NATIVE_SRCS =
-endif
-
-if WITH_SOCKETS_DRIVER
-OPTIONAL_SOCKETS_SRCS = $(SOCKETS_SRCS)
-else
-OPTIONAL_SOCKETS_SRCS =
-endif
-
-if WITH_CPLANT_YOD
-OPTIONAL_YOD_SRCS = $(YOD_SRCS)
-else
-OPTIONAL_YOD_SRCS =
-endif
-
-if WITH_LUSTRE_HACK
-# it would be better that let configure script check this
-OPTIONAL_LUSTRE_CFLAGS = -fPIC
-endif
-
-AM_CFLAGS = $(OPTIONAL_LUSTRE_CFLAGS)
-
-__LIBBUILD_DIR__libsysio_a_SOURCES = \
-       $(SRCDIR_SRCS) \
-       $(OPTIONAL_STDFD_SRCS) \
-       $(OPTIONAL_INCORE_SRCS) \
-       $(OPTIONAL_SOCKETS_SRCS) \
-       $(OPTIONAL_NATIVE_SRCS) \
-       $(OPTIONAL_YOD_SRCS)
-
-include $(top_srcdir)/Rules.make
-
-EXTRA_DIST = Rules.make misc/init-env.sh $(TESTS_EXTRA) $(SRCDIR_EXTRA) \
-       $(INCLUDE_EXTRA) $(STDFD_EXTRA) $(INCORE_EXTRA) \
-       $(SOCKETS_EXTRA) $(NATIVE_EXTRA) $(YOD_EXTRA)
-
-AM_CPPFLAGS += ${YOD_DRIVER_FLAGS}
-
-really-clean: testsclean maintainer-clean
-       -rm -rf autom4te-2.53.cache
-       -rm -rf .deps
-       -rm -f Makefile.in 
-       -rm -f compile depcomp INSTALL install-sh missing mkinstalldirs \
-               configure aclocal.m4 
-       -rm -f config.guess config.sub
-       -rm -rf $(LIBBUILD_DIR)
-       -rm -f libsysio*.tar.gz
-       cd $(TESTDIR); rm -rf Makefile Makefile.in .deps
-
-tests: $(lib_LIBRARIES) FORCE
-       cd $(TESTDIR); ${MAKE}
-testsclean: FORCE
-       cd $(TESTDIR); ${MAKE} clean
-clean: testsclean clean-am
-FORCE:
diff --git a/libsysio/NEWS b/libsysio/NEWS
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/libsysio/README b/libsysio/README
deleted file mode 100644 (file)
index 76b9b97..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-Build
------
-
-To bootstrap configuration:
-
-sh autogen.sh
-./configure [options]
-
-Without the supported "--with" options only the core sysio library is
-built.
-
-Option --with-native-driver=yes will cause the "native" host name space test
-driver to be enabled and made available in drivers/native/libsysio_native.a
-when built. This is set by default; Use "no" to disable.
-
-Option --with-tests=yes will cause the test programs in the tests directory
-to be enabled. This is set by default; Use "no" to disable.
-
-Option --with-automount=<automount-file-name> will cause automount support
-to be included. If <automount-file-name> is not supplied, a default value
-of ".mount" will be used, matching the Lustre documentation.
-
-To build:
-
-Just `make' it.
-
-Automounts
-----------
-
-For a full description of this see the "Lustre Book" at:
-       <http://www.lustre.org/docs/lustre.pdf>
-
-In short, though, whenever a component is being looked up in a directory and
-that directory has the "set-UID" bit set, then the directory is
-searched for a special file. By default, that file is called ".mount" but
-you may set it to any name using the --with-automount option described
-earlier.
-
-If the content of that file has something formatted, exactly:
-
-<file-system-type>:<source>
-
-Then the <source> description is mounted on the directory containing the
-special automount file and being used as the parent in the lookup. If the
-mount is successful, the parent is replaced with the newly mounted directory
-and processing continues. If the mount fails, or the automount file
-does not exist or cannot be read, everything continues as though the operation
-had never been attempted.
-
-File systems, or volumes, or file-sets, or whatever they are called, that
-have been automounted may also be automatically unmounted when resource
-is required. They are not on a timer, unless the file system driver implements
-one for them. They just disappear as resource is needed elsewhere. As they
-were automatically mounted to begin with, they should re-establish as needed,
-transparently.
-
-REDSTORM
---------
-
-The following works for me:
-
-#!/bin/sh
-
-export CFLAGS="-DREDSTORM -nostdinc -isystem /home/lee/REDSTORM/catamount/computeincs/i386 -isystem /home/lee/REDSTORM/catamount/include -g -W -Wall -ansi"
-
-sh configure --with-autmount=".mount" --with-native=yes --with-incore-yes --with-stdfd=yes --with-tests=yes
diff --git a/libsysio/Rules.make b/libsysio/Rules.make
deleted file mode 100644 (file)
index e69c6a2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-if WITH_STDFD_DEV
-STDFD_DEV_CPPFLAGS =-DSTDFD_DEV=1 -I$(top_srcdir)/dev/stdfd
-else
-STFD_DEV_CPPFLAGS =
-endif
-
-if WITH_SOCKETS_DRIVER
-SOCKETS_CPPFLAGS=-DWITH_SOCKETS=1
-else
-SOCKETS_CPPFLAGS=
-endif
-
-DEV_CPPFLAGS = $(STDFD_DEV_CPPFLAGS)
-
-AM_CPPFLAGS = \
-       $(TRACING) \
-       $(AUTOMOUNT) $(ZERO_SUM_MEMORY) $(DEV_CPPFLAGS) $(SOCKETS_CPPFLAGS) \
-       $(DEFER_INIT_CWD) $(SYSIO_LABEL_NAMES) -I$(top_srcdir)/include 
diff --git a/libsysio/autogen.sh b/libsysio/autogen.sh
deleted file mode 100755 (executable)
index fb2b383..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-${ACLOCAL:-aclocal} &&
-${AUTOMAKE:-automake} --add-missing --copy &&
-${AUTOCONF:-autoconf}
diff --git a/libsysio/compile b/libsysio/compile
deleted file mode 100755 (executable)
index 9bb997a..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#! /bin/sh
-
-# Wrapper for compilers which do not understand `-c -o'.
-
-# Copyright 1999, 2000 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, 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.
-
-# Usage:
-# compile PROGRAM [ARGS]...
-# `-o FOO.o' is removed from the args passed to the actual compile.
-
-prog=$1
-shift
-
-ofile=
-cfile=
-args=
-while test $# -gt 0; do
-   case "$1" in
-    -o)
-       # configure might choose to run compile as `compile cc -o foo foo.c'.
-       # So we do something ugly here.
-       ofile=$2
-       shift
-       case "$ofile" in
-       *.o | *.obj)
-          ;;
-       *)
-          args="$args -o $ofile"
-          ofile=
-          ;;
-       esac
-       ;;
-    *.c)
-       cfile=$1
-       args="$args $1"
-       ;;
-    *)
-       args="$args $1"
-       ;;
-   esac
-   shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-   # If no `-o' option was seen then we might have been invoked from a
-   # pattern rule where we don't need one.  That is ok -- this is a
-   # normal compilation that the losing compiler can handle.  If no
-   # `.c' file was seen then we are probably linking.  That is also
-   # ok.
-   exec "$prog" $args
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
-while true; do
-   if mkdir $lockdir > /dev/null 2>&1; then
-      break
-   fi
-   sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir $lockdir; exit 1" 1 2 15
-
-# Run the compile.
-"$prog" $args
-status=$?
-
-if test -f "$cofile"; then
-   mv "$cofile" "$ofile"
-fi
-
-rmdir $lockdir
-exit $status
diff --git a/libsysio/config.guess b/libsysio/config.guess
deleted file mode 100755 (executable)
index 0e71611..0000000
+++ /dev/null
@@ -1,1535 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
-
-timestamp='2011-11-11'
-
-# This file 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 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, 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 Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-       PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Detect uclibc systems.
-
-LIBC="gnu"
-if [ -f /usr/include/bits/uClibc_config.h ]
-then
-       LIBC=uclibc
-       if [ -n `grep "#define __UCLIBC_CONFIG_VERSION__" /usr/include/bits/uClibc_config.h` ]
-       then
-               UCLIBC_SUBVER=`sed -n "/#define __UCLIBC_CONFIG_VERSION__ /s///p" /usr/include/bits/uClibc_config.h`
-               LIBC=$LIBC$UCLIBC_SUBVER
-       fi
-fi
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-       # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-       # switched to ELF, *-*-netbsd* would select the old
-       # object file format.  This provides both forward
-       # compatibility and a consistent mechanism for selecting the
-       # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           sh5el) machine=sh5le-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-       esac
-       # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
-               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep -q __ELF__
-               then
-                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-                   # Return netbsd for either.  FIX?
-                   os=netbsd
-               else
-                   os=netbsdelf
-               fi
-               ;;
-           *)
-               os=netbsd
-               ;;
-       esac
-       # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-               ;;
-       esac
-       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-       # contains redundant information, the shorter form:
-       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
-       exit ;;
-    *:OpenBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-       exit ;;
-    *:SolidBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-       exit ;;
-    macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    alpha:OSF1:*:*)
-       case $UNAME_RELEASE in
-       *4.0)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-       # OSF/1 and Tru64 systems produced since 1995.  I hope that
-       # covers most systems running today.  This code pipes the CPU
-       # types through head -n 1, so we only detect the type of CPU 0.
-       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
-           "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
-           "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
-           "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
-           "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
-           "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
-           "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
-           "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
-           "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
-           "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
-           "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
-       esac
-       # A Pn.n version is a patched version.
-       # A Vn.n version is a released version.
-       # A Tn.n version is a released field test version.
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-       exitcode=$?
-       trap '' 0
-       exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
-       exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
-       exit ;;
-    *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
-    *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
-    *:OS400:*:*)
-       echo powerpc-ibm-os400
-       exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-       exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
-    NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
-    DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
-    s390x:SunOS:*:*)
-       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux${UNAME_RELEASE}
-       exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       eval $set_cc_for_build
-       SUN_ARCH="i386"
-       # If there is a compiler, see if it is configured for 64-bit objects.
-       # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-       # This test works for both compilers.
-       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-           if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-               grep IS_64BIT_ARCH >/dev/null
-           then
-               SUN_ARCH="x86_64"
-           fi
-       fi
-       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:6*:*)
-       # According to config.sub, this is the proper way to canonicalize
-       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-       # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
-           Series*|S4*)
-               UNAME_RELEASE=`uname -v`
-               ;;
-       esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit ;;
-    sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
-       exit ;;
-    sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-       case "`/bin/arch`" in
-           sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
-               ;;
-           sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
-               ;;
-       esac
-       exit ;;
-    aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint${UNAME_RELEASE}
-       exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint${UNAME_RELEASE}
-       exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint${UNAME_RELEASE}
-       exit ;;
-    m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
-       exit ;;
-    powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
-       exit ;;
-    RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
-    RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-       #if defined (host_mips) && defined (MIPSEB)
-       #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-       #endif
-       #endif
-         exit (-1);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
-           { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
-       exit ;;
-    Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
-    m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
-    m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
-    m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
-    AViiON:dgux:*:*)
-       # DG/UX returns AViiON for all architectures
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-       then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
-           then
-               echo m88k-dg-dgux${UNAME_RELEASE}
-           else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
-           fi
-       else
-           echo i586-dg-dgux${UNAME_RELEASE}
-       fi
-       exit ;;
-    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
-    M88*:*:R3*:*)
-       # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
-    *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
-    ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:2:3)
-       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
-               #include <sys/systemcfg.h>
-
-               main()
-                       {
-                       if (!__power_pc())
-                               exit(1);
-                       puts("powerpc-ibm-aix3.2.5");
-                       exit(0);
-                       }
-EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-               then
-                       echo "$SYSTEM_NAME"
-               else
-                       echo rs6000-ibm-aix3.2.5
-               fi
-       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
-       else
-               echo rs6000-ibm-aix3.2
-       fi
-       exit ;;
-    *:AIX:*:[4567])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
-               IBM_ARCH=powerpc
-       fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
-    DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
-    9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
-           9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                   sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                   case "${sc_cpu_version}" in
-                     523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                     528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                     532)                      # CPU_PA_RISC2_0
-                       case "${sc_kernel_bits}" in
-                         32) HP_ARCH="hppa2.0n" ;;
-                         64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                       esac ;;
-                   esac
-               fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^            //' << EOF >$dummy.c
-
-               #define _HPUX_SOURCE
-               #include <stdlib.h>
-               #include <unistd.h>
-
-               int main ()
-               {
-               #if defined(_SC_KERNEL_BITS)
-                   long bits = sysconf(_SC_KERNEL_BITS);
-               #endif
-                   long cpu  = sysconf (_SC_CPU_VERSION);
-
-                   switch (cpu)
-                       {
-                       case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-                       case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-                       case CPU_PA_RISC2_0:
-               #if defined(_SC_KERNEL_BITS)
-                           switch (bits)
-                               {
-                               case 64: puts ("hppa2.0w"); break;
-                               case 32: puts ("hppa2.0n"); break;
-                               default: puts ("hppa2.0"); break;
-                               } break;
-               #else  /* !defined(_SC_KERNEL_BITS) */
-                           puts ("hppa2.0"); break;
-               #endif
-                       default: puts ("hppa1.0"); break;
-                       }
-                   exit (0);
-               }
-EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-               fi ;;
-       esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
-       then
-           eval $set_cc_for_build
-
-           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-           # generating 64-bit code.  GNU and HP use different nomenclature:
-           #
-           # $ CC_FOR_BUILD=cc ./config.guess
-           # => hppa2.0w-hp-hpux11.23
-           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-           # => hppa64-hp-hpux11.23
-
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-               grep -q __LP64__
-           then
-               HP_ARCH="hppa2.0w"
-           else
-               HP_ARCH="hppa64"
-           fi
-       fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit ;;
-    ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
-       exit ;;
-    3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <unistd.h>
-       int
-       main ()
-       {
-         long cpu = sysconf (_SC_CPU_VERSION);
-         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-            results, however.  */
-         if (CPU_IS_PA_RISC (cpu))
-           {
-             switch (cpu)
-               {
-                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-                 default: puts ("hppa-hitachi-hiuxwe2"); break;
-               }
-           }
-         else if (CPU_IS_HP_MC68K (cpu))
-           puts ("m68k-hitachi-hiuxwe2");
-         else puts ("unknown-hitachi-hiuxwe2");
-         exit (0);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-               { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-       echo hppa1.1-hp-bsd
-       exit ;;
-    9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-       echo hppa1.1-hp-osf
-       exit ;;
-    hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
-    i*86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
-       else
-           echo ${UNAME_MACHINE}-unknown-osf1
-       fi
-       exit ;;
-    parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-       exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-       exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-       exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-       exit ;;
-    CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-             -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-       echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    5000:UNIX_System_V:4.*:*)
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-       echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit ;;
-    sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:FreeBSD:*:*)
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       case ${UNAME_PROCESSOR} in
-           amd64)
-               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           *)
-               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-       esac
-       exit ;;
-    i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
-       exit ;;
-    *:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit ;;
-    i*:MSYS*:*)
-       echo ${UNAME_MACHINE}-pc-msys
-       exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
-       exit ;;
-    i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
-    *:Interix*:*)
-       case ${UNAME_MACHINE} in
-           x86)
-               echo i586-pc-interix${UNAME_RELEASE}
-               exit ;;
-           authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix${UNAME_RELEASE}
-               exit ;;
-           IA64)
-               echo ia64-unknown-interix${UNAME_RELEASE}
-               exit ;;
-       esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    8664:Windows_NT:*)
-       echo x86_64-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
-    i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
-       exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit ;;
-    prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    *:GNU:*:*)
-       # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit ;;
-    *:GNU/*:*:*)
-       # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-       exit ;;
-    i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
-       exit ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-       esac
-       objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="gnulibc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    arm*:Linux:*:*)
-       eval $set_cc_for_build
-       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-           | grep -q __ARM_EABI__
-       then
-           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       else
-           if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-               | grep -q __ARM_PCS_VFP
-           then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-           else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
-           fi
-       fi
-       exit ;;
-    avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    cris:Linux:*:*)
-       echo cris-axis-linux-${LIBC}
-       exit ;;
-    crisv32:Linux:*:*)
-       echo crisv32-axis-linux-${LIBC}
-       exit ;;
-    frv:Linux:*:*)
-       echo frv-unknown-linux-${LIBC}
-       exit ;;
-    hexagon:Linux:*:*)
-       echo hexagon-unknown-linux-${LIBC}
-       exit ;;
-    i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-       exit ;;
-    ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    mips:Linux:*:* | mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef ${UNAME_MACHINE}
-       #undef ${UNAME_MACHINE}el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=${UNAME_MACHINE}el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=${UNAME_MACHINE}
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
-       ;;
-    or32:Linux:*:*)
-       echo or32-unknown-linux-${LIBC}
-       exit ;;
-    padre:Linux:*:*)
-       echo sparc-unknown-linux-${LIBC}
-       exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-${LIBC}
-       exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-       # Look for CPU level
-       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-         *)    echo hppa-unknown-linux-${LIBC} ;;
-       esac
-       exit ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-${LIBC}
-       exit ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-${LIBC}
-       exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit ;;
-    sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
-       exit ;;
-    x86_64:Linux:*:* | [lk]1om:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
-    i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-       # earlier versions are messed up and put the nodename in both
-       # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-       # Unixware is an offshoot of SVR4, but it has its own version
-       # number series starting with 2...
-       # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
-       # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit ;;
-    i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
-       exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-       else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-       fi
-       exit ;;
-    i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-       esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-       exit ;;
-    i*86:*:3.2:*)
-       if test -f /usr/options/cb.name; then
-               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-       elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-                       && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-       else
-               echo ${UNAME_MACHINE}-pc-sysv32
-       fi
-       exit ;;
-    pc:*:*:*)
-       # Left here for compatibility:
-       # uname -m prints for DJGPP always 'pc', but it prints nothing about
-       # the processor, so we play safe by assuming i586.
-       # Note: whatever this is, it MUST be the same as what config.sub
-       # prints for the "djgpp" host, or else GDB configury will decide that
-       # this is a cross-build.
-       echo i586-pc-msdosdjgpp
-       exit ;;
-    Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
-    paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
-    i860:*:4.*:*) # i860-SVR4
-       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-       else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-       fi
-       exit ;;
-    mini*:CTIX:SYS*5:*)
-       # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
-    M68*:*:R3V[5678]*:*)
-       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-       OS_REL=''
-       test -r /etc/.relid \
-       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4; exit; } ;;
-    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-       OS_REL='.3'
-       test -r /etc/.relid \
-           && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
-       exit ;;
-    RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    *:SINIX-*:*:*)
-       if uname -p 2>/dev/null >/dev/null ; then
-               UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
-       else
-               echo ns32k-sni-sysv
-       fi
-       exit ;;
-    PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                       # says <Richard.M.Bartel@ccMail.Census.GOV>
-       echo i586-unisys-sysv4
-       exit ;;
-    *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
-    *:*:*:FTX*)
-       # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
-    i*86:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
-       exit ;;
-    *:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
-    mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
-       exit ;;
-    news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
-       else
-               echo mips-unknown-sysv${UNAME_RELEASE}
-       fi
-       exit ;;
-    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
-    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
-    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
-    BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
-       echo i586-pc-haiku
-       exit ;;
-    SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux${UNAME_RELEASE}
-       exit ;;
-    Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                     grep IS_64BIT_ARCH >/dev/null
-                 then
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-       exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
-               UNAME_PROCESSOR=i386
-               UNAME_MACHINE=pc
-       fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-       exit ;;
-    *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
-    BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
-    DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit ;;
-    *:Plan9:*:*)
-       # "uname -m" is not consistent, so use $cputype instead. 386
-       # is converted to i386 for consistency with other x86
-       # operating systems.
-       if test "$cputype" = "386"; then
-           UNAME_MACHINE=i386
-       else
-           UNAME_MACHINE="$cputype"
-       fi
-       echo ${UNAME_MACHINE}-unknown-plan9
-       exit ;;
-    *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
-    *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
-    *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
-    *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
-    SEI:*:*:SEIUX)
-       echo mips-sei-seiux${UNAME_RELEASE}
-       exit ;;
-    *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
-    *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
-       esac ;;
-    *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
-    i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-       exit ;;
-    i*86:rdos:*:*)
-       echo ${UNAME_MACHINE}-pc-rdos
-       exit ;;
-    i*86:AROS:*:*)
-       echo ${UNAME_MACHINE}-pc-aros
-       exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-       "4"
-#else
-       ""
-#endif
-       ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-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`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/libsysio/config.sub b/libsysio/config.sub
deleted file mode 100755 (executable)
index 5958d83..0000000
+++ /dev/null
@@ -1,1773 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
-
-timestamp='2011-11-11'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file 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 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, 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.
-
-
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
-               os=
-               basic_machine=$1
-               ;;
-       -bluegene*)
-               os=-cnk
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco6)
-               os=-sco5v6
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5v6*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*)
-               os=-lynxos
-               ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-               ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
-               ;;
-       -psos*)
-               os=-psos
-               ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
-       | bfin \
-       | c4x | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | hexagon \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-       | [lk]1om \
-       | le32 | le64 \
-       | lm32 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64octeon | mips64octeonel \
-       | mips64orion | mips64orionel \
-       | mips64r5900 | mips64r5900el \
-       | mips64vr | mips64vrel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | moxie \
-       | mt \
-       | msp430 \
-       | nds32 | nds32le | nds32be \
-       | nios | nios2 \
-       | ns16k | ns32k \
-       | open8 \
-       | or32 \
-       | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle \
-       | pyramid \
-       | rl78 | rx \
-       | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu \
-       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-       | ubicom32 \
-       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | we32k \
-       | x86 | xc16x | xstormy16 | xtensa \
-       | z8k | z80)
-               basic_machine=$basic_machine-unknown
-               ;;
-       c54x)
-               basic_machine=tic54x-unknown
-               ;;
-       c55x)
-               basic_machine=tic55x-unknown
-               ;;
-       c6x)
-               basic_machine=tic6x-unknown
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-               # Motorola 68HC11/12.
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-               ;;
-       ms1)
-               basic_machine=mt-unknown
-               ;;
-
-       strongarm | thumb | xscale)
-               basic_machine=arm-unknown
-               ;;
-
-       xscaleeb)
-               basic_machine=armeb-unknown
-               ;;
-
-       xscaleel)
-               basic_machine=armel-unknown
-               ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-       | be32-* | be64-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | [lk]1om-* \
-       | le32-* | le64-* \
-       | lm32-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64octeon-* | mips64octeonel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64r5900-* | mips64r5900el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-       | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | open8-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-       | pyramid-* \
-       | rl78-* | romp-* | rs6000-* | rx-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-       | tahoe-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tile*-* \
-       | tron-* \
-       | ubicom32-* \
-       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-       | vax-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* \
-       | xstormy16-* | xtensa*-* \
-       | ymp-* \
-       | z8k-* | z80-*)
-               ;;
-       # Recognize the basic CPU types without company name, with glob match.
-       xtensa*)
-               basic_machine=$basic_machine-unknown
-               ;;
-       # Recognize the various machine names and aliases which stand
-       # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aros)
-               basic_machine=i386-pc
-               os=-aros
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       blackfin)
-               basic_machine=bfin-unknown
-               os=-linux
-               ;;
-       blackfin-*)
-               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       bluegene*)
-               basic_machine=powerpc-ibm
-               os=-cnk
-               ;;
-       c54x-*)
-               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c55x-*)
-               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c6x-*)
-               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       cegcc)
-               basic_machine=arm-unknown
-               os=-cegcc
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16 | cr16-*)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
-               ;;
-       decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
-               ;;
-       decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       dicos)
-               basic_machine=i686-pc
-               os=-dicos
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
-               ;;
-       encore | umax | mmax)
-               basic_machine=ns32k-encore
-               ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
-               ;;
-       fx2800)
-               basic_machine=i860-alliant
-               ;;
-       genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
-               ;;
-       h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
-               ;;
-       hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               ;;
-       hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k78[0-9] | hp78[0-9])
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-       i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
-               ;;
-       i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
-               ;;
-       i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
-               ;;
-       i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
-               ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
-               ;;
-       iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
-                       ;;
-                   *)
-                       os=-irix4
-                       ;;
-               esac
-               ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m68knommu)
-               basic_machine=m68k-unknown
-               os=-linux
-               ;;
-       m68knommu-*)
-               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       microblaze)
-               basic_machine=microblaze-xilinx
-               ;;
-       mingw32)
-               basic_machine=i386-pc
-               os=-mingw32
-               ;;
-       mingw32ce)
-               basic_machine=arm-unknown
-               os=-mingw32ce
-               ;;
-       miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       ms1-*)
-               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-               ;;
-       msys)
-               basic_machine=i386-pc
-               os=-msys
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       nacl)
-               basic_machine=le32-unknown
-               os=-nacl
-               ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
-               ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
-                       ;;
-                   -ns2*)
-                     os=-nextstep2
-                       ;;
-                   *)
-                     os=-nextstep3
-                       ;;
-               esac
-               ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
-       np1)
-               basic_machine=np1-gould
-               ;;
-       neo-tandem)
-               basic_machine=neo-tandem
-               ;;
-       nse-tandem)
-               basic_machine=nse-tandem
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-       op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
-               ;;
-       pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       parisc)
-               basic_machine=hppa-unknown
-               os=-linux
-               ;;
-       parisc-*)
-               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       pbd)
-               basic_machine=sparc-tti
-               ;;
-       pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pc98)
-               basic_machine=i386-pc
-               ;;
-       pc98-*)
-               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pn)
-               basic_machine=pn-gould
-               ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc | ppcbe)    basic_machine=powerpc-unknown
-               ;;
-       ppc-* | ppcbe-*)
-               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rdos)
-               basic_machine=i386-pc
-               os=-rdos
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       rm[46]00)
-               basic_machine=mips-siemens
-               ;;
-       rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
-               ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
-               ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
-               ;;
-       sde)
-               basic_machine=mipsisa32-sde
-               os=-elf
-               ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
-               ;;
-       sequent)
-               basic_machine=i386-sequent
-               ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
-               ;;
-       sh5el)
-               basic_machine=sh5le-unknown
-               ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
-       sparclite-wrs | simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
-               ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
-               ;;
-       spur)
-               basic_machine=spur-unknown
-               ;;
-       st2000)
-               basic_machine=m68k-tandem
-               ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-       strongarm-* | thumb-*)
-               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
-               ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
-               ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
-               ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
-               ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
-               ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
-               ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
-               ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
-               ;;
-       sun4)
-               basic_machine=sparc-sun
-               ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
-               ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
-               ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
-               ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
-               ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
-       tile*)
-               basic_machine=$basic_machine-unknown
-               os=-linux-gnu
-               ;;
-       tx39)
-               basic_machine=mipstx39-unknown
-               ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
-               ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
-               ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
-               ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
-               ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
-               ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
-               ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
-               ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
-               ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
-               ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
-               ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
-               ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
-               ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
-               ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-       xscale-* | xscalee[bl]-*)
-               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-               ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-               ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
-               ;;
-       z80-*-coff)
-               basic_machine=z80-unknown
-               os=-sim
-               ;;
-       none)
-               basic_machine=none-none
-               os=-none
-               ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
-               ;;
-       op50n)
-               basic_machine=hppa1.1-oki
-               ;;
-       op60c)
-               basic_machine=hppa1.1-oki
-               ;;
-       romp)
-               basic_machine=romp-ibm
-               ;;
-       mmix)
-               basic_machine=mmix-knuth
-               ;;
-       rs6000)
-               basic_machine=rs6000-ibm
-               ;;
-       vax)
-               basic_machine=vax-dec
-               ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
-               ;;
-       pdp11)
-               basic_machine=pdp11-dec
-               ;;
-       we32k)
-               basic_machine=we32k-att
-               ;;
-       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
-               ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-               basic_machine=sparc-sun
-               ;;
-       cydra)
-               basic_machine=cydra-cydrome
-               ;;
-       orion)
-               basic_machine=orion-highlevel
-               ;;
-       orion105)
-               basic_machine=clipper-highlevel
-               ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
-               ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
-               ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
-               ;;
-       *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-               ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-               ;;
-       *)
-               ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-       # First match some system type aliases
-       # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -auroraux)
-               os=-auroraux
-               ;;
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-               ;;
-       -solaris)
-               os=-solaris2
-               ;;
-       -svr4*)
-               os=-sysv4
-               ;;
-       -unixware*)
-               os=-sysv4.2uw
-               ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-               ;;
-       # First accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
-               ;;
-       -nto-qnx*)
-               ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
-               ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-               ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
-               ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
-               ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
-               ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
-               ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
-               ;;
-       -opened*)
-               os=-openedition
-               ;;
-       -os400*)
-               os=-os400
-               ;;
-       -wince*)
-               os=-wince
-               ;;
-       -osfrose*)
-               os=-osfrose
-               ;;
-       -osf*)
-               os=-osf
-               ;;
-       -utek*)
-               os=-bsd
-               ;;
-       -dynix*)
-               os=-bsd
-               ;;
-       -acis*)
-               os=-aos
-               ;;
-       -atheos*)
-               os=-atheos
-               ;;
-       -syllable*)
-               os=-syllable
-               ;;
-       -386bsd)
-               os=-bsd
-               ;;
-       -ctix* | -uts*)
-               os=-sysv
-               ;;
-       -nova*)
-               os=-rtmk-nova
-               ;;
-       -ns2 )
-               os=-nextstep2
-               ;;
-       -nsk*)
-               os=-nsk
-               ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
-               ;;
-       -sinix*)
-               os=-sysv4
-               ;;
-       -tpf*)
-               os=-tpf
-               ;;
-       -triton*)
-               os=-sysv3
-               ;;
-       -oss*)
-               os=-sysv3
-               ;;
-       -svr4)
-               os=-sysv4
-               ;;
-       -svr3)
-               os=-sysv3
-               ;;
-       -sysvr4)
-               os=-sysv4
-               ;;
-       # This must come after -sysvr4.
-       -sysv*)
-               ;;
-       -ose*)
-               os=-ose
-               ;;
-       -es1800*)
-               os=-ose
-               ;;
-       -xenix)
-               os=-xenix
-               ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
-               ;;
-       -aros*)
-               os=-aros
-               ;;
-       -kaos*)
-               os=-kaos
-               ;;
-       -zvmoe)
-               os=-zvmoe
-               ;;
-       -dicos*)
-               os=-dicos
-               ;;
-       -nacl*)
-               ;;
-       -none)
-               ;;
-       *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-       score-*)
-               os=-elf
-               ;;
-       spu-*)
-               os=-elf
-               ;;
-       *-acorn)
-               os=-riscix1.2
-               ;;
-       arm*-rebel)
-               os=-linux
-               ;;
-       arm*-semi)
-               os=-aout
-               ;;
-       c4x-* | tic4x-*)
-               os=-coff
-               ;;
-       tic54x-*)
-               os=-coff
-               ;;
-       tic55x-*)
-               os=-coff
-               ;;
-       tic6x-*)
-               os=-coff
-               ;;
-       # This must come before the *-dec entry.
-       pdp10-*)
-               os=-tops20
-               ;;
-       pdp11-*)
-               os=-none
-               ;;
-       *-dec | vax-*)
-               os=-ultrix4.2
-               ;;
-       m68*-apollo)
-               os=-domain
-               ;;
-       i386-sun)
-               os=-sunos4.0.2
-               ;;
-       m68000-sun)
-               os=-sunos3
-               # This also exists in the configure program, but was not the
-               # default.
-               # os=-sunos4
-               ;;
-       m68*-cisco)
-               os=-aout
-               ;;
-       mep-*)
-               os=-elf
-               ;;
-       mips*-cisco)
-               os=-elf
-               ;;
-       mips*-*)
-               os=-elf
-               ;;
-       or32-*)
-               os=-coff
-               ;;
-       *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
-               ;;
-       sparc-* | *-sun)
-               os=-sunos4.1.1
-               ;;
-       *-be)
-               os=-beos
-               ;;
-       *-haiku)
-               os=-haiku
-               ;;
-       *-ibm)
-               os=-aix
-               ;;
-       *-knuth)
-               os=-mmixware
-               ;;
-       *-wec)
-               os=-proelf
-               ;;
-       *-winbond)
-               os=-proelf
-               ;;
-       *-oki)
-               os=-proelf
-               ;;
-       *-hp)
-               os=-hpux
-               ;;
-       *-hitachi)
-               os=-hiux
-               ;;
-       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
-               ;;
-       *-cbm)
-               os=-amigaos
-               ;;
-       *-dg)
-               os=-dgux
-               ;;
-       *-dolphin)
-               os=-sysv3
-               ;;
-       m68k-ccur)
-               os=-rtu
-               ;;
-       m88k-omron*)
-               os=-luna
-               ;;
-       *-next )
-               os=-nextstep
-               ;;
-       *-sequent)
-               os=-ptx
-               ;;
-       *-crds)
-               os=-unos
-               ;;
-       *-ns)
-               os=-genix
-               ;;
-       i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
-               ;;
-       *-gould)
-               os=-sysv
-               ;;
-       *-highlevel)
-               os=-bsd
-               ;;
-       *-encore)
-               os=-bsd
-               ;;
-       *-sgi)
-               os=-irix
-               ;;
-       *-siemens)
-               os=-sysv4
-               ;;
-       *-masscomp)
-               os=-rtu
-               ;;
-       f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
-               ;;
-       *-rom68k)
-               os=-coff
-               ;;
-       *-*bug)
-               os=-coff
-               ;;
-       *-apple)
-               os=-macos
-               ;;
-       *-atari*)
-               os=-mint
-               ;;
-       *)
-               os=-none
-               ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
-                               vendor=acorn
-                               ;;
-                       -sunos*)
-                               vendor=sun
-                               ;;
-                       -cnk*|-aix*)
-                               vendor=ibm
-                               ;;
-                       -beos*)
-                               vendor=be
-                               ;;
-                       -hpux*)
-                               vendor=hp
-                               ;;
-                       -mpeix*)
-                               vendor=hp
-                               ;;
-                       -hiux*)
-                               vendor=hitachi
-                               ;;
-                       -unos*)
-                               vendor=crds
-                               ;;
-                       -dgux*)
-                               vendor=dg
-                               ;;
-                       -luna*)
-                               vendor=omron
-                               ;;
-                       -genix*)
-                               vendor=ns
-                               ;;
-                       -mvs* | -opened*)
-                               vendor=ibm
-                               ;;
-                       -os400*)
-                               vendor=ibm
-                               ;;
-                       -ptx*)
-                               vendor=sequent
-                               ;;
-                       -tpf*)
-                               vendor=ibm
-                               ;;
-                       -vxsim* | -vxworks* | -windiss*)
-                               vendor=wrs
-                               ;;
-                       -aux*)
-                               vendor=apple
-                               ;;
-                       -hms*)
-                               vendor=hitachi
-                               ;;
-                       -mpw* | -macos*)
-                               vendor=apple
-                               ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-                               vendor=atari
-                               ;;
-                       -vos*)
-                               vendor=stratus
-                               ;;
-               esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-               ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/libsysio/configure.ac b/libsysio/configure.ac
deleted file mode 100644 (file)
index 324fe17..0000000
+++ /dev/null
@@ -1,583 +0,0 @@
-AC_INIT(libsysio, 1.2)
-
-AC_CANONICAL_SYSTEM
-
-case "$host_os" in
-       aix*)
-               ;;
-       linux*)
-               ;;
-       *)
-               AC_MSG_WARN('***' ${host_os}: Unsupported OS target)
-               ;;
-esac
-
-AM_INIT_AUTOMAKE([subdir-objects 1.9 tar-ustar])
-AM_MAINTAINER_MODE([enable])
-AC_PROG_CC
-AM_PROG_CC_C_O
-AC_PROG_RANLIB
-AC_CHECK_TOOL(CC, gcc, [no])
-AC_CHECK_TOOL(LD, ld, [no])
-AC_CHECK_TOOL(AR, ar, [no])
-AC_CHECK_TOOL(OBJDUMP, objdump, [no])
-AC_CHECK_TOOL(STRIP, strip, [no])
-AC_PROG_MAKE_SET
-AC_HEADER_STDC
-AC_HEADER_STAT
-AC_HEADER_TIME
-
-AS_IF([test "x$cross_compiling" = xyes],
-       [case $host_vendor in
-               # The K1OM architecture is an extension of the x86 architecture
-               # and in MPSS 2.1 it's defined in $host_vendor. But in MPSS 3.x
-               # it's defined in $host_arch. So, try to support both case.
-               k1om | mpss)
-                       AC_MSG_RESULT([Intel(R) Xeon Phi(TM)])
-                       CC_TARGET_ARCH=`$CC -v 2>&1 | grep Target: | sed -e 's/Target: //'`
-                       if test \( $CC_TARGET_ARCH != x86_64-k1om-linux \
-                               -a $CC_TARGET_ARCH != k1om-mpss-linux \)
-                       then
-                               AC_MSG_ERROR([Cross compiler not found in PATH.])
-                       fi
-                       CCAS=$CC
-                       ;;
-               *)
-                       ;;
-       esac]
-)
-
-if test ${target_cpu} == "powerpc64"; then
-       AC_MSG_WARN([set compiler with -m64])
-       CC="$CC -m64"
-fi
-
-have_lib_dir=yes;
-AC_ARG_WITH(lib-dir,
-  AC_HELP_STRING([--with-lib-dir=<sysio lib build directory>],
-  [directory for sysio library]),
-  [     case "${withval}" in
-         "yes"|"no"|"") have_lib_dir=no ;;
-         *) LIBBUILD_DIR=${withval};
-            test -d ${LIBBUILD_DIR} || mkdir ${LIBBUILD_DIR} ||
-                have_lib_dir=no;;
-        esac;],
-  [ LIBBUILD_DIR=`pwd`/lib;
-    test -d ${LIBBUILD_DIR} || mkdir ${LIBBUILD_DIR} || have_lib_dir=no;])
-if test x${have_lib_dir} = xyes; then
-  echo "Using sysio library directory ${LIBBUILD_DIR}"
-else
-  AC_MSG_ERROR(Need writeable path to sysio library directory ${LIBBUILD_DIR})
-fi
-AC_SUBST(LIBBUILD_DIR)
-
-AC_ARG_WITH(native_driver,
-  AC_HELP_STRING([--with-native-driver],[build native test driver]),
-  [    case "${withval}" in
-        yes) ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-native-driver) ;;
-       esac;],
-  [with_native_driver=yes;])
-AM_CONDITIONAL(WITH_NATIVE_DRIVER, test x$with_native_driver = xyes)
-
-AC_ARG_WITH(incore-driver,
-  AC_HELP_STRING([--with-incore-driver],[build incore test driver]),
-  [    case "${withval}" in
-        yes) ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-incore-driver) ;;
-       esac],
-  [with_incore_driver=yes])
-AM_CONDITIONAL(WITH_INCORE_DRIVER, test x$with_incore_driver = xyes)
-
-AC_ARG_WITH(tests,
-  AC_HELP_STRING([--with-tests],[build tests]),
-  [    case "${withval}" in
-        yes) ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-tests) ;;
-       esac],
-  [with_tests=yes])
-AM_CONDITIONAL(WITH_TESTS, test x$with_tests = xyes)
-
-AC_ARG_WITH(automount,
-  AC_HELP_STRING([--with-automount@<:@=<automount-file-name>@:>@],
-    [with automounts @<:@<automount-file-name>=.mount@:>@]),
-  [    if test x${withval} = xyes; then
-        AUTOMOUNT=-DAUTOMOUNT_FILE_NAME="\\\".mount\\\""
-       elif test x${withval} != x; then
-        AUTOMOUNT=-DAUTOMOUNT_FILE_NAME="\\\"${withval}\\\""
-       fi])
-AC_SUBST(AUTOMOUNT)
-
-AC_ARG_WITH(stdfd-dev,
-  AC_HELP_STRING([--with-stdfd-dev],
-    [build standard file descriptors pseudo-driver]),
-  [    case "${withval}" in
-        yes) ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-stdfd-dev) ;;
-       esac],
-  [with_stdfd_dev=yes])
-AM_CONDITIONAL(WITH_STDFD_DEV, test x$with_stdfd_dev = xyes)
-
-AC_ARG_WITH(zero-sum-memory,
-  AC_HELP_STRING([--with-zero-sum-memory],
-    [free all dynamically allocated memory at the end -- useful for debugging]),
-  [    case "${withval}" in
-        yes) ZERO_SUM_MEMORY=-DZERO_SUM_MEMORY=1 ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-zero-sum-memory) ;;
-       esac],
-  [with_zero_sum_memory=no])
-AC_SUBST(ZERO_SUM_MEMORY)
-
-AC_ARG_WITH(defer-init-cwd,
-  AC_HELP_STRING([--with-defer-init-cwd],
-    [defer initialization of current working directory]),
-  [    case "${withval}" in
-        yes) DEFER_INIT_CWD=-DDEFER_INIT_CWD=1 ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-defer-init-cwd) ;;
-       esac],
-  [with_defer_init_cwd=no])
-AC_SUBST(DEFER_INIT_CWD)
-
-AC_ARG_WITH(tracing,
-  AC_HELP_STRING([--with-tracing],
-    [enable tracing support]),
-  [    case "${withval}" in
-        yes) TRACING=-DSYSIO_TRACING=1 ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-tracing) ;;
-       esac],
-  [TRACING=-DSYSIO_TRACING=1])
-AC_SUBST(TRACING)
-
-AC_ARG_WITH(cplant_yod,
-   AC_HELP_STRING([--with-cplant-yod],[build cplant yod I/O driver]),
-   [   case "${withval}" in
-       yes) if test x${with_stdfd_dev} != xyes; then
-               with_stdfd_dev=yes
-               AM_CONDITIONAL(WITH_STDFD_DEV, test x$with_stdfd_dev = xyes)
-            fi ;;
-       no) ;;
-       *) AC_MSG_ERROR(bad value ${withval} for --with-cplant-yod);;
-       esac],
-    [with_cplant_yod=no])
-AM_CONDITIONAL(WITH_CPLANT_YOD, test x$with_cplant_yod = xyes)
-
-AC_ARG_WITH(cplant_tests,
-   AC_HELP_STRING([--with-cplant-tests=<cplant-build-path>],
-     [build libsysio tests for cplant platform]),
-   [   case "${withval}" in
-       yes) AC_MSG_ERROR(need path to compiler for --with-cplant-tests);;
-       no)  with_cplant_tests=no;;
-       *) CC=${withval}
-          CCDEPMODE=${CC}
-          CPP="${CC} -E"
-          AC_CHECK_FILE(${CC},
-               [ if test x${with_cplant_yod} != xyes; then
-                       with_cplant_yod=yes
-                       AM_CONDITIONAL(WITH_CPLANT_YOD, test x$with_cplant_yod = xyes)
-                 fi],
-               [ AC_MSG_ERROR(path not found ${CC} for --with-cplant-tests) ]);;
-       esac],
-    [with_cplant_tests=no])
-AM_CONDITIONAL(WITH_CPLANT_TESTS, test x$with_cplant_tests != xno)
-
-AC_ARG_WITH(sockets,
-  AC_HELP_STRING([--with-sockets],
-    [build sockets interface driver (EXPERIMENTAL)]),
-  [    case "${withval}" in
-        yes) ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-sockets) ;;
-       esac],
-  [with_sockets=no])
-AM_CONDITIONAL(WITH_SOCKETS_DRIVER, test x$with_sockets = xyes)
-
-AC_ARG_WITH(lustre-hack,
-  AC_HELP_STRING([--with-lustre-hack],
-    [have hacking code which needed to support liblustre driver (EXPERIMENTAL)]),
-  [    case "${withval}" in
-        yes) ;;
-        no) ;;
-        *) AC_MSG_ERROR(bad value ${withval} for --with-lustre-hack) ;;
-       esac],
-  [with_lustre_hack=no])
-AM_CONDITIONAL(WITH_LUSTRE_HACK, test x$with_lustre_hack = xyes)
-if test x$with_lustre_hack = xyes; then
-       AC_DEFINE(HAVE_LUSTRE_HACK)
-fi
-
-AC_ARG_WITH(alternate-symbols,
-  AC_HELP_STRING([--with-alternate-symbols@<:@=<qualifier>@:>@],
-    [Prepend standard, public, symbols with a unique qualifer]),
-  [    case "${withval}" in
-        yes) SYSIO_LABEL_NAMES=-DSYSIO_LABEL_NAMES=sysio_ ;;
-        no) ;;
-        *) SYSIO_LABEL_NAMES=-DSYSIO_LABEL_NAMES="${withval}" ;;
-       esac])
-AC_SUBST(SYSIO_LABEL_NAMES)
-
-# We keep the original values in `$config_*' and never modify them, so we
-# can write them unchanged into config.make.  Everything else uses
-# $machine, $vendor, and $os, and changes them whenever convenient.
-config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
-
-# Don't allow vendor == "unknown"
-test "$config_vendor" = unknown && config_vendor=
-config_os="`echo $config_os | sed 's/^unknown-//'`"
-
-# Some configurations imply other options.
-case "$host_os" in
-  gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
-       # These systems always use GNU tools.
-       gnu_ld=yes gnu_as=yes ;;
-esac
-case "$host_os" in
-  # i586-linuxaout is mangled into i586-pc-linux-gnuaout
-  linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
-       ;;
-  gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
-       # These systems (almost) always use the ELF format.
-       elf=yes
-       ;;
-  aix*)
-       # These systems are always xcoff
-       xcoff=yes
-       elf=no
-       ;;
-esac
-
-machine=$config_machine
-vendor=$config_vendor
-os=$config_os
-
-# config.guess on some IBM machines says `rs6000' instead of `powerpc'.
-# Unify this here.
-if test "$machine" = rs6000; then
-       machine="powerpc"
-fi
-
-case "$host_os" in
-  gnu* | linux*)
-       AC_DEFINE(_XOPEN_SOURCE, 600)
-       ;;
-  aix*)
-       # ... and always needed...
-       AC_DEFINE(__USE_LARGEFILE64)
-       AC_DEFINE(_LARGE_FILES)
-       AC_DEFINE(_LARGE_FILE_API)
-       AC_DEFINE(_ALL_SOURCE)
-       AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
-       ;;
-esac
-
-AC_MSG_CHECKING(for symlink support)
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/stat.h>
-],[
-#ifndef S_ISLNK
-#error
-#endif
-],
-       symlink_support="yes",
-       symlink_support="no"
-)
-AC_MSG_RESULT($symlink_support)
-
-if test x$symlink_support = xyes; then
-       AC_MSG_CHECKING(if readlink returns int)
-       AC_TRY_COMPILE([
-#include <unistd.h>
-       ],[
-               extern int readlink(const char *, char *, size_t);
-       ],
-               readlink_returns_int="yes",
-               readlink_returns_int="no"
-       )
-       AC_MSG_RESULT($readlink_returns_int)
-       if test x$readlink_returns_int = no; then
-               AC_DEFINE(HAVE_POSIX_1003_READLINK,
-                         1,
-                         [readlink returns ssize_t])
-       fi
-fi
-
-AC_MSG_CHECKING(if readlink returns ssize_t)
-AC_TRY_COMPILE([
-       #include <unistd.h>
-],[
-       ssize_t readlink(const char *, char *, size_t);
-],[
-       AC_MSG_RESULT([yes])
-       AC_DEFINE(HAVE_POSIX_1003_READLINK, 1, [readlink returns ssize_t])
-],[
-       AC_MSG_RESULT([no])
-])
-
-# If we can't provoke the declaration of stat64 then we assume the
-# environment supports 64-bit file support naturally. Beware!
-AC_MSG_CHECKING(whether _LARGEFILE64_SOURCE definition is required)
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>], [
-struct stat64 st64;],
-sysio_largefile64_source_required=no,
-sysio_largefile64_source_required=maybe)
-if test x$sysio_largefile64_source_required = xmaybe; then
-       AC_TRY_COMPILE([
-#define _LARGEFILE64_SOURCE
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>], [
-struct stat64 st64;],
-                      sysio_largefile64_source_required=yes,
-                      sysio_largefile64_source_required=no)
-fi
-AC_MSG_RESULT($sysio_largefile64_source_required)
-if test x$sysio_largefile64_source_required = xyes; then
-       AC_DEFINE(_LARGEFILE64_SOURCE)
-fi
-
-# Alpha linux defines
-#
-AC_MSG_CHECKING(for alpha linux)
-alpha_linux_env=no
-if test `expr ${machine} : "alpha"` = 5 && \
-   test `expr ${os} : "linux"` = 5; then
-       alpha_linux_env=yes
-       AC_DEFINE(ALPHA_LINUX)
-fi
-AC_MSG_RESULT($alpha_linux_env)
-AM_CONDITIONAL(TEST_ALPHA_ARG, test x$alpha_linux_env = xyes)
-
-# Check for __st_ino
-#
-AC_MSG_CHECKING(for __st_ino)
-AC_TRY_COMPILE([
-#include <sys/stat.h>],
-[struct stat st;
-st.__st_ino = 0;],
-       have__st_ino=yes,
-       have__st_ino=no)
-AC_MSG_RESULT($have__st_ino)
-if test x$have__st_ino = xyes; then
-       AC_DEFINE(HAVE__ST_INO)
-fi
-
-# Check for st_gen
-#
-AC_MSG_CHECKING(for st_gen)
-AC_TRY_COMPILE([
-#include <sys/stat.h>],
-[struct stat st;
-st.st_gen = 0;],
-       have_st_gen=yes,
-       have_st_gen=no)
-AC_MSG_RESULT($have_st_gen)
-if test x$have_st_gen = xyes; then
-       AC_DEFINE(HAVE_GENERATION)
-fi
-
-AC_MSG_CHECKING(for POSIX 2008 preadv)
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Wall -Werror"
-AC_TRY_COMPILE([
-#include <sys/uio.h>
-ssize_t preadv (int __fd, const struct iovec *__iovec,
-                int __count, off_t off)
-{
-    return 0;
-}
-],[
-],[
-AC_DEFINE(HAVE_POSIX2008_PREADV, 1, [POSIX 2008 preadv])
-AC_MSG_RESULT(yes)
-],[
-AC_MSG_RESULT(no)
-])
-CFLAGS="$tmp_flags"
-
-AC_MSG_CHECKING(for POSIX 2008 scandir)
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Wall -Werror"
-AC_TRY_COMPILE([
-#define _BSD_SOURCE
-
-#include <stdio.h>
-#include <dirent.h>
-
-int scandir(const char *dir,
-        struct dirent ***namelist,
-        int(*filter)(const struct dirent *),
-        int(*compar)(const struct dirent **,
-                     const struct dirent **)
-       );
-
-],[
-], [
-AC_DEFINE(HAVE_POSIX2008_SCANDIR, 1, [POSIX 2008 scandir])
-AC_MSG_RESULT(yes)
-],[
-AC_MSG_RESULT(no)
-])
-CFLAGS="$tmp_flags"
-
-
-AC_MSG_CHECKING(for POSIX 2008 preadv)
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Wall -Werror"
-AC_TRY_COMPILE([
-#include <sys/uio.h>
-ssize_t preadv (int __fd, const struct iovec *__iovec,
-                int __count, off_t off)
-{
-    return 0;
-}
-],[
-],[
-AC_DEFINE(HAVE_POSIX2008_PREADV, 1, [POSIX 2008 preadv])
-AC_MSG_RESULT(yes)
-],[
-AC_MSG_RESULT(no)
-])
-CFLAGS="$tmp_flags"
-
-AC_MSG_CHECKING(for POSIX 2008 scandir)
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Wall -Werror"
-AC_TRY_COMPILE([
-#define _BSD_SOURCE
-
-#include <stdio.h>
-#include <dirent.h>
-
-int scandir(const char *dir,
-        struct dirent ***namelist,
-        int(*filter)(const struct dirent *),
-        int(*compar)(const struct dirent **,
-                     const struct dirent **)
-       );
-
-],[
-], [
-AC_DEFINE(HAVE_POSIX2008_SCANDIR, 1, [POSIX 2008 scandir])
-AC_MSG_RESULT(yes)
-],[
-AC_MSG_RESULT(no)
-])
-CFLAGS="$tmp_flags"
-
-
-AC_MSG_CHECKING(whether .text pseudo-op must be used)
-AC_CACHE_VAL(am_cv_sysio_asm_dot_text, [dnl
-cat > conftest.s <<EOF
-       .text
-EOF
-       am_cv_sysio_asm_dot_text=
-       if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
-               am_cv_sysio_asm_dot_text=.text
-       fi
-       rm -f conftest*])
-if test -z "$am_cv_sysio_asm_dot_text"; then
-       AC_MSG_RESULT(no)
-else
-       AC_MSG_RESULT(yes)
-fi
-
-AC_CACHE_CHECK(for assembler global-symbol directive,
-  am_cv_sysio_asm_global_directive, [dnl
-am_cv_sysio_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
-       cat > conftest.s <<EOF
-               ${am_cv_sysio_asm_dot_text}
-               ${ac_globl} foo
-foo:
-EOF
-       if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
-       am_cv_sysio_asm_global_directive=${ac_globl}
-       fi
-       rm -f conftest*
-       test $am_cv_sysio_asm_global_directive != UNKNOWN && break
-done])
-if test $am_cv_sysio_asm_global_directive = UNKNOWN; then
-       AC_MSG_ERROR(cannot determine asm global directive)
-#else
-#      AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${am_cv_sysio_asm_global_directive})
-fi
-
-AC_CACHE_CHECK(for .set assembler directive,
-  am_cv_sysio_asm_set_directive, [dnl
-cat > conftest.s<<EOF
-${am_cv_sysio_asm_dot_text}
-foo:
-.set bar, foo
-${am_cv_sysio_asm_global_directive} bar
-EOF
-       # The alpha-dec-osf1 assembler gives only a warning for `.set'
-       # (but it doesn't work), so we must do a linking check to be sure.
-cat > conftest1.c <<EOF
-extern int bar;
-main () { printf ("%d\n", bar); }
-EOF
-       if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-          -o conftest conftest.s conftest1.c 1>&AC_FD_CC 2>&AC_FD_CC; then
-               am_cv_sysio_asm_set_directive=yes
-       else
-               am_cv_sysio_asm_set_directive=no
-       fi
-       rm -f conftest*])
-#if test $am_cv_sysio_asm_set_directive = yes; then
-#      AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
-#fi
-
-AC_CACHE_CHECK(for assembler .weak directive, am_cv_sysio_asm_weak_directive,
-              [dnl
-cat > conftest.s <<EOF
-${am_cv_sysio_asm_dot_text}
-foo:
-.weak foo
-EOF
-       if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
-               am_cv_sysio_asm_weak_directive=yes
-       else
-               am_cv_sysio_asm_weak_directive=no
-       fi
-       rm -f conftest*])
-
-if test $am_cv_sysio_asm_weak_directive = no; then
-       AC_CACHE_CHECK(for assembler .weakext directive,
-                      am_cv_sysio_asm_weakext_directive, [dnl
-cat > conftest.s <<EOF
-${am_cv_sysio_asm_dot_text}
-${am_cv_sysio_asm_global_directive} foo
-foo:
-.weakext bar foo
-.weakext baz
-${am_cv_sysio_asm_global_directive} baz
-baz:
-EOF
-               if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
-                       am_cv_sysio_asm_weakext_directive=yes
-               else
-                       am_cv_sysio_asm_weakext_directive=no
-               fi
-               rm -f conftest*])
-fi # no .weak
-
-if test x$am_cv_sysio_asm_weak_directive = xyes; then
-       AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
-fi
-if test x$am_cv_sysio_asm_weakext_directive = xyes; then
-       AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
-fi
-
-AC_OUTPUT(
-       Makefile
-       tests/Makefile)
diff --git a/libsysio/depcomp b/libsysio/depcomp
deleted file mode 100755 (executable)
index bd0ac08..0000000
+++ /dev/null
@@ -1,688 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2011-12-04.11; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputting dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
-fi
-
-if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -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.  hp depmode also adds that space, but also prefixes the VPATH
-## to the object.  Take care to not repeat it in the output.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -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.
-  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
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    # 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,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$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"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  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
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   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
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   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"
-   ;;
-
-msvc7)
-  if test "$libtool" = yes; then
-    showIncludes=-Wc,-showIncludes
-  else
-    showIncludes=-showIncludes
-  fi
-  "$@" $showIncludes > "$tmpdepfile"
-  stat=$?
-  grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  # The first sed program below extracts the file names and escapes
-  # backslashes for cygpath.  The second sed program outputs the file
-  # name when reading, but also accumulates all include files in the
-  # hold buffer in order to output them again at the end.  This only
-  # works with sed implementations that can handle large buffers.
-  sed < "$tmpdepfile" -n '
-/^Note: including file:  *\(.*\)/ {
-  s//\1/
-  s/\\/\\\\/g
-  p
-}' | $cygpath_u | sort -u | sed -n '
-s/ /\\ /g
-s/\(.*\)/      \1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
-  s/.*/        /
-  G
-  p
-}' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvc7msys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$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 "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no eat=no
-  for arg
-  do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    if test $eat = yes; then
-      eat=no
-      continue
-    fi
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -arch)
-      eat=yes ;;
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix=`echo "$object" | sed 's/^.*\././'`
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  # makedepend may prepend the VPATH from the source file name to the object.
-  # No need to regex-escape $object, excess matching of '.' is harmless.
-  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  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 "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
-    *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
-    esac
-  done
-  "$@" -E 2>/dev/null |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvcmsys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/libsysio/dev/stdfd/.gitignore b/libsysio/dev/stdfd/.gitignore
deleted file mode 100644 (file)
index c83c013..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/.dirstamp
diff --git a/libsysio/dev/stdfd/module.mk b/libsysio/dev/stdfd/module.mk
deleted file mode 100644 (file)
index ad034fb..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-STDFD_SRCS  = dev/stdfd/stdfd.c
-STDFD_EXTRA = dev/stdfd/stdfd.h dev/stdfd/module.mk
diff --git a/libsysio/dev/stdfd/stdfd.c b/libsysio/dev/stdfd/stdfd.c
deleted file mode 100644 (file)
index 6ea426c..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- *    This Cplant(TM) source code is the property of Sandia National
- *    Laboratories.
- *
- *    This Cplant(TM) source code is copyrighted by Sandia National
- *    Laboratories.
- *
- *    The redistribution of this Cplant(TM) source code is subject to the
- *    terms of the GNU Lesser General Public License
- *    (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
- *
- *    Cplant(TM) Copyright 1998-2003 Sandia Corporation. 
- *    Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
- *    license for use of this work by or on behalf of the US Government.
- *    Export of this program may require a license from the United States
- *    Government.
- */
-
-/*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Questions or comments about this library should be sent to:
- *
- * Lee Ward
- * Sandia National Laboratories, New Mexico
- * P.O. Box 5800
- * Albuquerque, NM 87185-1110
- *
- * lee@sandia.gov
- */
-
-#ifdef __linux__
-#define _BSD_SOURCE
-#endif
-
-#include <errno.h>
-#include <stdarg.h>
-#include <sys/syscall.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/queue.h>
-
-#include "sysio.h"
-#include "xtio.h"
-#include "native.h"
-#include "inode.h"
-#include "dev.h"
-
-#include "stdfd.h"
-
-#ifdef CPLANT_YOD
-#include <sys/statfs.h>
-#include "cplant-yod.h"
-#define dowrite(f, b, n) write_yod(f, b, n)
-#define doread(f, b, n) read_yod(f, b, n)
-#else
-#define dowrite(f, b, n) syscall(SYSIO_SYS_write, f, b, n)
-#define doread(f, b, n) syscall(SYSIO_SYS_read, f, b, n)
-#endif
-
-/*
- * Pre-opened standard file descriptors driver.
- */
-
-static int stdfd_open(struct pnode *pno, int flags, mode_t mode);
-static int stdfd_close(struct inode *ino);
-static int stdfd_read(struct inode *ino, struct ioctx *ioctx);
-static int stdfd_write(struct inode *ino, struct ioctx *ioctx);
-static int stdfd_iodone(struct ioctx *ioctx);
-static int stdfd_datasync(struct inode *ino);
-static int stdfd_fcntl(struct inode *ino, int cmd, va_list ap, int *rtn);
-static int stdfd_ioctl(struct inode *ino,
-                      unsigned long int request,
-                      va_list ap);
-
-int
-_sysio_stdfd_init()
-{
-       struct inode_ops stdfd_operations;
-
-       stdfd_operations = _sysio_nodev_ops;
-       stdfd_operations.inop_open = stdfd_open;
-       stdfd_operations.inop_close = stdfd_close;
-       stdfd_operations.inop_read = stdfd_read;
-       stdfd_operations.inop_write = stdfd_write;
-       stdfd_operations.inop_iodone = stdfd_iodone;
-       stdfd_operations.inop_fcntl = stdfd_fcntl;
-       stdfd_operations.inop_datasync = stdfd_datasync;
-       stdfd_operations.inop_ioctl = stdfd_ioctl;
-
-       return _sysio_char_dev_register(SYSIO_C_STDFD_MAJOR,
-                                       "stdfd",
-                                       &stdfd_operations);
-}
-
-static int
-stdfd_open(struct pnode *pno __IS_UNUSED,
-          int flags __IS_UNUSED,
-          mode_t mode __IS_UNUSED)
-{
-
-       return 0;
-}
-
-static int
-stdfd_close(struct inode *ino __IS_UNUSED)
-{
-
-       return 0;
-}
-
-static int
-doio(ssize_t (*f)(void *, size_t, _SYSIO_OFF_T, struct inode *),
-     struct inode *ino,
-     struct ioctx *ioctx)
-{
-
-       if (ioctx->ioctx_xtvlen != 1) {
-               /*
-                * No scatter/gather to "file" address space (we're not
-                * seekable) and "nowhere" makes no sense.
-                */
-               return -EINVAL;
-       }
-       ioctx->ioctx_cc =
-           _sysio_doio(ioctx->ioctx_xtv, ioctx->ioctx_xtvlen,
-                       ioctx->ioctx_iov, ioctx->ioctx_iovlen,
-                       (ssize_t (*)(void *, size_t, _SYSIO_OFF_T, void *))f,
-                       ino);
-       if (ioctx->ioctx_cc < 0) {
-               ioctx->ioctx_errno = -ioctx->ioctx_cc;
-               ioctx->ioctx_cc = -1;
-       }
-       return 0;
-}
-
-static ssize_t
-stdfd_read_simple(void *buf,
-                 size_t nbytes,
-                 _SYSIO_OFF_T off __IS_UNUSED,
-                 struct inode *ino)
-{
-       int     fd = SYSIO_MINOR_DEV(ino->i_stbuf.st_rdev);
-       int     cc;
-
-       cc = doread(fd, buf, nbytes);
-       if (cc < 0)
-               cc = -errno;
-       return cc;
-}
-
-static int
-stdfd_read(struct inode *ino, struct ioctx *ioctx)
-{
-
-       return doio(stdfd_read_simple, ino, ioctx);
-}
-
-static ssize_t
-stdfd_write_simple(const void *buf,
-                  size_t nbytes,
-                  _SYSIO_OFF_T off __IS_UNUSED,
-                  struct inode *ino)
-{
-       int     fd = SYSIO_MINOR_DEV(ino->i_stbuf.st_rdev);
-       int     cc;
-
-       cc = dowrite(fd, buf, nbytes);
-       if (cc < 0)
-               cc = -errno;
-       return cc;
-}
-
-static int
-stdfd_write(struct inode *ino, struct ioctx *ioctx)
-{
-
-       return doio((ssize_t (*)(void *,
-                                size_t,
-                                _SYSIO_OFF_T,
-                                struct inode *))stdfd_write_simple,
-                   ino,
-                   ioctx);
-}
-
-static int
-stdfd_iodone(struct ioctx *iocp __IS_UNUSED)
-{
-
-       /*
-        * It's always done in this driver. It completed when posted.
-        */
-       return 1;
-}
-
-static int
-stdfd_fcntl(struct inode *ino,
-           int cmd,
-           va_list ap,
-           int *rtn)
-{
-       int     err;
-       int     fd = SYSIO_MINOR_DEV(ino->i_stbuf.st_rdev);
-       long    arg;
-
-       err = 0;
-       switch (cmd) {
-       case F_GETFL:
-               *rtn = syscall(SYS_fcntl, fd, cmd);
-               if (*rtn == -1)
-                       err = -errno;
-               break;
-       case F_SETFL:
-               arg = va_arg(ap, long);
-               *rtn = syscall(SYS_fcntl, fd, cmd, arg);
-               if (*rtn == -1)
-                       err = -errno;
-               va_end(ap);
-               break;
-       default:
-               *rtn = -1;
-               err = -EINVAL;
-       }
-       return err;
-}
-
-static int
-stdfd_datasync(struct inode *ino __IS_UNUSED)
-{
-
-       /*
-        * We don't buffer, so nothing to do.
-        */
-       return 0;
-}
-
-static int
-stdfd_ioctl(struct inode *ino __IS_UNUSED,
-           unsigned long int request __IS_UNUSED,
-           va_list ap __IS_UNUSED)
-{
-
-       return -ENOTTY;
-}
diff --git a/libsysio/dev/stdfd/stdfd.h b/libsysio/dev/stdfd/stdfd.h
deleted file mode 100644 (file)
index 3bac7c1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *    This Cplant(TM) source code is the property of Sandia National
- *    Laboratories.
- *
- *    This Cplant(TM) source code is copyrighted by Sandia National
- *    Laboratories.
- *
- *    The redistribution of this Cplant(TM) source code is subject to the
- *    terms of the GNU Lesser General Public License
- *    (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
- *
- *    Cplant(TM) Copyright 1998-2003 Sandia Corporation. 
- *    Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
- *    license for use of this work by or on behalf of the US Government.
- *    Export of this program may require a license from the United States
- *    Government.
- */
-
-/*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Questions or comments about this library should be sent to:
- *
- * Lee Ward
- * Sandia National Laboratories, New Mexico
- * P.O. Box 5800
- * Albuquerque, NM 87185-1110
- *
- * lee@sandia.gov
- */
-
-/*
- * Std{in,out,err} pseudo-device-driver support.
- */
-
-#define SYSIO_C_STDFD_MAJOR    0
-
-extern int _sysio_stdfd_init(void);
diff --git a/libsysio/drivers/incore/.gitignore b/libsysio/drivers/incore/.gitignore
deleted file mode 100644 (file)
index c83c013..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/.dirstamp
diff --git a/libsysio/drivers/incore/README b/libsysio/drivers/incore/README
deleted file mode 100644 (file)
index 2f8c4b8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-This "incore" file system driver is a self-contained file system. It does
-not use any resource external to the node.
-
-It is primarily intended for enabling an efficient compute-node bootstrap. It
-might also be useful for a very small scratch file system, holding device
-files, and the like.
-
-The root directory i-node is manufactured on the fly. The source specification
-for the mount() call should be something like:
-
-       <perms>+<uid>+<gid>
-
-Where:
-       <perms>         are the directory permissions masked by 0777
-                       Note -- no umask is applied.
-       <uid>           should be the owner's uid
-       <gid>           should be the owner's gid
-
-Most operations are supported, with the notable exception of symbolic
-links.
-
-In the implementation, the driver is really set up to export most
-useful symbols without polluting the name space or contending with
-other public symbols. However, the symbols are not yet exported. If
-we ever require a proc-fs style file system, this could be very useful
-provided a little extra work is done to allow other drivers to overload
-some operations. Particularly the file ops, I would think.
diff --git a/libsysio/drivers/incore/fs_incore.c b/libsysio/drivers/incore/fs_incore.c
deleted file mode 100644 (file)
index ec94abc..0000000
+++ /dev/null
@@ -1,1727 +0,0 @@
-/*
- *    This Cplant(TM) source code is the property of Sandia National
- *    Laboratories.
- *
- *    This Cplant(TM) source code is copyrighted by Sandia National
- *    Laboratories.
- *
- *    The redistribution of this Cplant(TM) source code is subject to the
- *    terms of the GNU Lesser General Public License
- *    (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
- *
- *    Cplant(TM) Copyright 1998-2003 Sandia Corporation. 
- *    Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
- *    license for use of this work by or on behalf of the US Government.
- *    Export of this program may require a license from the United States
- *    Government.
- */
-
-/*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Questions or comments about this library should be sent to:
- *
- * Lee Ward
- * Sandia National Laboratories, New Mexico
- * P.O. Box 5800
- * Albuquerque, NM 87185-1110
- *
- * lee@sandia.gov
- */
-
-#ifdef __linux__
-#define _BSD_SOURCE
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <time.h>
-#include <limits.h>
-#include <errno.h>
-#include <assert.h>
-#include <sys/uio.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <sys/stat.h>
-#ifdef _HAVE_STATVFS
-#include <sys/statvfs.h>
-#endif
-#include <sys/queue.h>
-
-#include "sysio.h"
-#include "xtio.h"
-#include "fs.h"
-#include "mount.h"
-#include "inode.h"
-#include "dev.h"
-
-#include "fs_incore.h"
-
-
-/*
- * In-core file system pseudo-driver.
- */
-
-/*
- * Pseudo-blocksize.
- */
-#define INCORE_BLKSIZE         (8192)
-
-/*
- * Format of an incore inode.
- */
-struct incore_inode {
-       LIST_ENTRY(incore_inode) ici_link;              /* i-nodes list link */
-       struct intnl_stat ici_st;                       /* attrs */
-       struct file_identifier ici_fileid;              /* file ID */
-       void    *ici_data;                              /* file data */
-};
-
-/*
- * Given pointer to inode, return pointer to incore-inode.
- */
-#define I2IC(ino)      ((struct incore_inode *)(ino)->i_private)
-
-struct incore_filesys {
-       LIST_HEAD(, incore_inode) icfs_icinodes;        /* all i-nodes list */
-};
-
-/*
- * Given pointer to filesys, return pointer to incore-filesys.
- */
-#define FS2ICFS(fs)    ((struct incore_filesys *)(fs)->fs_private)
-
-static int _sysio_incore_fsswop_mount(const char *source,
-                                     unsigned flags,
-                                     const void *data,
-                                     struct pnode *tocover,
-                                     struct mount **mntp);
-
-static struct fssw_ops incore_fssw_ops = {
-               _sysio_incore_fsswop_mount
-};
-
-static void _sysio_incore_fsop_gone(struct filesys *fs);
-
-static struct filesys_ops incore_fs_ops = {
-               _sysio_incore_fsop_gone,
-};
-
-static int _sysio_incore_dirop_lookup(struct pnode *pno,
-                                     struct inode **inop,
-                                     struct intent *intnt,
-                                     const char *path);
-static int _sysio_incore_inop_getattr(struct pnode *pno,
-                                     struct inode *ino,
-                                     struct intnl_stat *stbuf);
-static int _sysio_incore_inop_setattr(struct pnode *pno,
-                                     struct inode *ino,
-                                     unsigned mask,
-                                     struct intnl_stat *stbuf);
-static ssize_t _sysio_incore_dirop_filldirentries(struct inode *ino,
-                                                 _SYSIO_OFF_T *posp,
-                                                 char *buf,
-                                                 size_t nbytes);
-static int _sysio_incore_dirop_mkdir(struct pnode *pno, mode_t mode);
-static int _sysio_incore_dirop_rmdir(struct pnode *pno);
-static int _sysio_incore_inop_open(struct pnode *pno, int flags, mode_t mode);
-static int _sysio_incore_inop_close(struct inode *ino);
-static int _sysio_incore_dirop_link(struct pnode *old, struct pnode *new);
-static int _sysio_incore_dirop_unlink(struct pnode *pno);
-static int _sysio_incore_dirop_rename(struct pnode *old, struct pnode *new);
-static int _sysio_incore_filop_read(struct inode *ino, struct ioctx *ioctx);
-static int _sysio_incore_filop_write(struct inode *ino, struct ioctx *ioctx);
-static _SYSIO_OFF_T _sysio_incore_filop_pos(struct inode *ino,
-                                           _SYSIO_OFF_T off);
-static int _sysio_incore_filop_iodone(struct ioctx *ioctx);
-static int _sysio_incore_filop_fcntl(struct inode *ino, 
-                                    int cmd, va_list ap, int *rtn);
-static int _sysio_incore_inop_sync(struct inode *ino);
-static int _sysio_incore_filop_ioctl(struct inode *ino,
-                                   unsigned long int request,
-                                   va_list ap);
-static int _sysio_incore_dirop_mknod(struct pnode *pno, mode_t mode, dev_t dev);
-#ifdef _HAVE_STATVFS
-static int _sysio_incore_inop_statvfs(struct pnode *pno,
-                                     struct inode *ino,
-                                     struct intnl_statvfs *buf);
-#endif
-static void _sysio_incore_inop_gone(struct inode *ino);
-
-#define _sysio_incore_dirop_symlink \
-       (int (*)(struct pnode *, const char *))_sysio_do_enosys
-#define _sysio_incore_dirop_readlink \
-       (int (*)(struct pnode *, char *, size_t))_sysio_do_enosys
-#define _sysio_incore_dirop_read \
-       (int (*)(struct inode *, \
-                struct ioctx *))_sysio_do_eisdir
-#define _sysio_incore_dirop_write \
-       (int (*)(struct inode *, \
-                struct ioctx *))_sysio_do_eisdir
-#define _sysio_incore_dirop_pos \
-       (_SYSIO_OFF_T (*)(struct inode *, \
-                         _SYSIO_OFF_T))_sysio_do_eisdir
-#define _sysio_incore_dirop_iodone \
-       (int (*)(struct ioctx *))_sysio_do_illop
-#define _sysio_incore_dirop_fcntl \
-       (int (*)(struct inode *, int, va_list, int *))_sysio_do_eisdir
-#define _sysio_incore_dirop_ioctl \
-       (int (*)(struct inode *, \
-                unsigned long int, \
-                va_list))_sysio_do_eisdir
-
-static struct inode_ops _sysio_incore_dir_ops = {
-       _sysio_incore_dirop_lookup,
-       _sysio_incore_inop_getattr,
-       _sysio_incore_inop_setattr,
-       _sysio_incore_dirop_filldirentries,
-       _sysio_incore_dirop_mkdir,
-       _sysio_incore_dirop_rmdir,
-       _sysio_incore_dirop_symlink,
-       _sysio_incore_dirop_readlink,
-       _sysio_incore_inop_open,
-       _sysio_incore_inop_close,
-       _sysio_incore_dirop_link,
-       _sysio_incore_dirop_unlink,
-       _sysio_incore_dirop_rename,
-       _sysio_incore_dirop_read,
-       _sysio_incore_dirop_write,
-       _sysio_incore_dirop_pos,
-       _sysio_incore_dirop_iodone,
-       _sysio_incore_dirop_fcntl,
-       _sysio_incore_inop_sync,
-       _sysio_incore_inop_sync,
-       _sysio_incore_dirop_ioctl,
-       _sysio_incore_dirop_mknod,
-#ifdef _HAVE_STATVFS
-       _sysio_incore_inop_statvfs,
-#endif
-       _sysio_incore_inop_gone
-};
-
-#define _sysio_incore_filop_lookup \
-       (int (*)(struct pnode *, \
-                struct inode **, \
-                struct intent *, \
-                const char *))_sysio_do_illop
-#define _sysio_incore_filop_filldirentries \
-       (ssize_t (*)(struct inode *, \
-                    _SYSIO_OFF_T *, \
-                    char *, \
-                    size_t))_sysio_do_illop
-#define _sysio_incore_filop_mkdir \
-       (int (*)(struct pnode *, mode_t))_sysio_do_illop
-#define _sysio_incore_filop_rmdir \
-       (int (*)(struct pnode *))_sysio_do_illop
-#define _sysio_incore_filop_symlink \
-       (int (*)(struct pnode *, const char *))_sysio_do_illop
-#define _sysio_incore_symlinkop_readlink \
-       (int (*)(struct pnode *, char *, size_t))_sysio_do_illop
-#define _sysio_incore_filop_link \
-       (int (*)(struct pnode *old, struct pnode *new))_sysio_do_illop
-#define _sysio_incore_filop_unlink \
-       (int (*)(struct pnode *pno))_sysio_do_illop
-#define _sysio_incore_filop_rename \
-       (int (*)(struct pnode *old, struct pnode *new))_sysio_do_illop
-#define _sysio_incore_filop_mknod \
-       (int (*)(struct pnode *pno, mode_t, dev_t))_sysio_do_illop
-
-static struct inode_ops _sysio_incore_file_ops = {
-       _sysio_incore_filop_lookup,
-       _sysio_incore_inop_getattr,
-       _sysio_incore_inop_setattr,
-       _sysio_incore_filop_filldirentries,
-       _sysio_incore_filop_mkdir,
-       _sysio_incore_filop_rmdir,
-       _sysio_incore_filop_symlink,
-       _sysio_incore_symlinkop_readlink,
-       _sysio_incore_inop_open,
-       _sysio_incore_inop_close,
-       _sysio_incore_filop_link,
-       _sysio_incore_filop_unlink,
-       _sysio_incore_filop_rename,
-       _sysio_incore_filop_read,
-       _sysio_incore_filop_write,
-       _sysio_incore_filop_pos,
-       _sysio_incore_filop_iodone,
-       _sysio_incore_filop_fcntl,
-       _sysio_incore_inop_sync,
-       _sysio_incore_inop_sync,
-       _sysio_incore_filop_ioctl,
-       _sysio_incore_filop_mknod,
-#ifdef _HAVE_STATVFS
-       _sysio_incore_inop_statvfs,
-#endif
-       _sysio_incore_inop_gone
-};
-
-static struct inode_ops _sysio_incore_dev_ops = {
-       _sysio_incore_filop_lookup,
-       _sysio_incore_inop_getattr,
-       _sysio_incore_inop_setattr,
-       _sysio_incore_filop_filldirentries,
-       _sysio_incore_filop_mkdir,
-       _sysio_incore_filop_rmdir,
-       _sysio_incore_filop_symlink,
-       _sysio_incore_symlinkop_readlink,
-       _sysio_nodev_inop_open,
-       _sysio_nodev_inop_close,
-       _sysio_incore_filop_link,
-       _sysio_incore_filop_unlink,
-       _sysio_incore_filop_rename,
-       _sysio_nodev_inop_read,
-       _sysio_nodev_inop_write,
-       _sysio_nodev_inop_pos,
-       _sysio_nodev_inop_iodone,
-       _sysio_incore_filop_fcntl,
-       _sysio_incore_inop_sync,
-       _sysio_nodev_inop_sync,
-       _sysio_nodev_inop_ioctl,
-       _sysio_incore_filop_mknod,
-#ifdef _HAVE_STATVFS
-       _sysio_incore_inop_statvfs,
-#endif
-       _sysio_incore_inop_gone
-};
-
-typedef void *(*probe_ty)(void *data, size_t len, void *arg);
-
-/*
- * Lookup data argument bundle record.
- */
-struct lookup_data {
-       struct qstr *name;                              /* desired entry name */
-       struct intnl_dirent *de;                        /* last dirent */
-       size_t  minsiz;                                 /* min hole needed */
-       struct {
-               void    *p;                             /* best hole */
-               size_t  len;                            /* best hole len */
-       } hole;
-};
-
-/*
- * Initialize lookup data argument bundle.
- */
-#define INCORE_LD_INIT(ld, minsz, qs) \
-       do { \
-               (ld)->name = (qs); \
-               (ld)->de = NULL; \
-               (ld)->minsiz = (minsz); \
-               (ld)->hole.p = NULL; \
-               (ld)->hole.len = 0; \
-       } while (0)
-
-/*
- * Calculate size of a directory entry given length of the entry name.
- */
-#define INCORE_D_RECLEN(namlen) \
-       (((size_t )&((struct intnl_dirent *)0)->d_name + \
-         (namlen) + 1 + sizeof(void *)) & \
-        ~(sizeof(void *) - 1))
-
-/*
- * Given mode bits, return directory entry type code.
- */
-#define INCORE_D_TYPEOF(m)     (((m) & S_IFMT) >> 12)
-#define INCORE_D_TEMPLATE_LEN   (INCORE_D_RECLEN(1) + INCORE_D_RECLEN(2))
-
-char *incore_dir_template;
-#if 0
-static struct intnl_dirent incore_dir_template[] = {
-       {
-               0,
-               INCORE_D_RECLEN(1),
-               INCORE_D_RECLEN(1),
-               INCORE_D_TYPEOF(S_IFDIR),
-               { '.', '\0' }
-       },
-       {
-               0,
-               INCORE_D_RECLEN(1) + INCORE_D_RECLEN(2),
-               INCORE_D_RECLEN(2),
-               INCORE_D_TYPEOF(S_IFDIR),
-               { '.', '.', '\0' }
-       }
-};
-#endif
-
-/*
- * Initialize this driver.
- */
-int
-_sysio_incore_init()
-{
-       struct intnl_dirent *de;
-       off_t   off;
-
-       /*
-        * Fill in the directory template.
-        */
-       incore_dir_template = calloc(1, INCORE_D_TEMPLATE_LEN);
-       if (incore_dir_template == NULL)
-               return -ENOMEM;
-       de = (struct intnl_dirent *)incore_dir_template;
-#ifdef _DIRENT_HAVE_D_OFF
-       de->d_off =
-#endif
-           off = de->d_reclen = INCORE_D_RECLEN(1);
-       de->d_type = INCORE_D_TYPEOF(S_IFDIR);
-       de->d_name[0] = '.';
-#ifdef _DIRENT_HAVE_D_NAMLEN
-       de->d_namlen = 1;
-#endif
-       /*
-        * Move to entry for `..'
-        */
-       de = (struct intnl_dirent *)((char *)de + off);
-       de->d_reclen = INCORE_D_RECLEN(2);
-#ifdef _DIRENT_HAVE_D_NAMLEN
-       de->d_namlen = 2;
-#endif
-#ifdef _DIRENT_HAVE_D_OFF
-       de->d_off =
-#endif
-           off += de->d_reclen;
-       de->d_type = INCORE_D_TYPEOF(S_IFDIR);
-       de->d_name[0] = de->d_name[1] = '.';
-       de->d_name[2] = ' ';
-
-       return _sysio_fssw_register("incore", &incore_fssw_ops);
-}
-
-static ino_t
-incore_inum_alloc()
-{
-       static ino_t nxtnum = 1;
-
-       assert(nxtnum);
-       return nxtnum++;
-}
-
-static struct incore_inode *
-incore_i_alloc(struct incore_filesys *icfs, struct intnl_stat *st)
-{
-       struct incore_inode *icino;
-
-       assert(st->st_ino);
-       assert(!st->st_size);
-
-       icino = malloc(sizeof(struct incore_inode));
-       if (!icino)
-               return NULL;
-       icino->ici_st = *st;
-       icino->ici_fileid.fid_data = &icino->ici_st.st_ino;
-       icino->ici_fileid.fid_len = sizeof(icino->ici_st.st_ino);
-       icino->ici_data = NULL;
-
-       LIST_INSERT_HEAD(&icfs->icfs_icinodes, icino, ici_link);
-
-       return icino;
-}
-
-static int
-incore_trunc(struct incore_inode *icino, _SYSIO_OFF_T size, int clear)
-{
-       _SYSIO_OFF_T n;
-       void    *p;
-
-       if (size < 0) 
-               return -EINVAL;
-       n = size;
-       if (!size) {
-               if (icino->ici_data) {
-                       free(icino->ici_data);
-                       icino->ici_data = NULL;
-               }
-               n = 0;
-               goto out;
-       }
-       p = realloc(icino->ici_data, (size_t )n);
-       if (!p)
-               return -ENOSPC;
-       icino->ici_data = p;
-       if (clear && n > icino->ici_st.st_size)
-               (void )memset((char *)icino->ici_data + icino->ici_st.st_size,
-                             0,
-                             (size_t )(n - icino->ici_st.st_size));
-out:
-       icino->ici_st.st_size = n;
-       icino->ici_st.st_blocks =
-           (n + icino->ici_st.st_blksize - 1) / icino->ici_st.st_blksize;
-       icino->ici_st.st_mtime = time(NULL);
-       return 0;
-}
-
-static void
-incore_i_destroy(struct incore_inode *icino)
-{
-
-       LIST_REMOVE(icino, ici_link);
-       (void )incore_trunc(icino, 0, 0);
-       free(icino);
-}
-
-static struct incore_inode *
-incore_directory_new(struct incore_filesys *icfs,
-                    struct incore_inode *parent,
-                    struct intnl_stat *st)
-{
-       struct incore_inode *icino;
-       int     err;
-       struct intnl_dirent *de;
-
-       icino = incore_i_alloc(icfs, st);
-       if (!icino)
-               return NULL;
-
-       if (!parent)
-               parent = icino;                         /* root */
-
-       /*
-        * Allocate and init directory data.
-        */
-       err = incore_trunc(icino, INCORE_D_TEMPLATE_LEN, 1);
-       if (err) {
-               incore_i_destroy(icino);
-               return NULL;
-       }
-       (void )memcpy(icino->ici_data,
-                     &incore_dir_template,
-                     INCORE_D_TEMPLATE_LEN);
-       de = icino->ici_data;
-       de->d_ino = st->st_ino;
-       de =
-           (struct intnl_dirent *)((char *)de +
-#ifdef _DIRENT_HAVE_D_OFF
-                                   de->d_off
-#else
-                                   de->d_reclen
-#endif
-                                   );
-       de->d_ino = parent->ici_st.st_ino;
-
-       /*
-        * Set creation time to modify time set by truncate.
-        */
-       st->st_ctime = st->st_mtime;
-
-       return icino;
-}
-
-static int
-_sysio_incore_fsswop_mount(const char *source,
-                          unsigned flags,
-                          const void *data __IS_UNUSED,
-                          struct pnode *tocover,
-                          struct mount **mntp)
-{
-       char    *cp;
-       unsigned long ul;
-       long    l;
-       mode_t  mode;
-       uid_t   uid;
-       gid_t   gid;
-       int     err;
-       dev_t   dev;
-       struct intnl_stat stat;
-       struct incore_filesys *icfs;
-       ino_t   inum;
-       struct incore_inode *icino;
-       struct filesys *fs;
-       struct inode *rooti;
-       struct pnode_base *rootpb;
-       struct mount *mnt;
-       static struct qstr noname = { NULL, 0, 0 };
-
-       /*
-        * Source is a specification for the root attributes of this
-        * new file system in the format:
-        *
-        * <permissions>[+<owner>][-<group>]
-        */
-       ul = strtoul(source, &cp, 0);
-       mode = (mode_t )ul & 07777;
-       uid = getuid();                                 /* default */
-       gid = getgid();                                 /* default */
-       if (*cp != '\0') {
-               /*
-                * Get user and/or group.
-                */
-               if (*cp != '+' ||
-                   (ul == ULONG_MAX && errno == ERANGE) ||
-                   (unsigned long)mode != ul ||
-                   mode > 07777)
-                       return -EINVAL;
-               source = cp;
-               l = strtol(source, &cp, 0);
-               uid = (uid_t )l;
-               if (((l == LONG_MIN || l == LONG_MAX) &&
-                    errno == ERANGE) ||
-                   (long )uid != l)
-                       return -EINVAL;
-               if (*cp != '+')
-                       return -EINVAL;
-               source = cp;
-               l = strtol(source, &cp, 0);
-               gid = (gid_t )l;
-               if (((l == LONG_MIN || l == LONG_MAX) &&
-                    errno == ERANGE) ||
-                   (long )gid != l)
-                       return -EINVAL;
-               if (*cp != '\0')
-                       return -EINVAL;
-       }
-
-       err = 0;
-
-       dev = _sysio_dev_alloc();
-
-       mnt = NULL;
-       rootpb = NULL;
-       rooti = NULL;
-       fs = NULL;
-       icino = NULL;
-       icfs = NULL;
-
-       /*
-        * Create new FS.
-        */
-       icfs = malloc(sizeof(struct incore_filesys));
-       if (!icfs) {
-               err = -ENOMEM;
-               goto error;
-       }
-       (void )memset(icfs, 0, sizeof(struct incore_filesys));
-       LIST_INIT(&icfs->icfs_icinodes);
-
-       /*
-        * Create root i-node.
-        */
-       (void )memset(&stat, 0, sizeof(stat));
-       stat.st_dev = dev;
-       inum = incore_inum_alloc();
-#ifdef HAVE__ST_INO
-       stat.__st_ino = inum; 
-#endif
-       stat.st_mode = S_IFDIR | (mode & 07777);
-       stat.st_nlink = 2;
-       stat.st_uid = uid;
-       stat.st_gid = gid;
-       stat.st_size = 0;
-       stat.st_blksize = INCORE_BLKSIZE;
-       stat.st_blocks = 0;
-       stat.st_ctime = stat.st_mtime = stat.st_atime = 0;
-       stat.st_ino = inum;
-       icino = incore_directory_new(icfs, NULL, &stat);
-       if (!icino)
-               return -ENOSPC;
-       icino->ici_st.st_atime = icino->ici_st.st_mtime;
-
-       fs =
-           _sysio_fs_new(&incore_fs_ops,
-                         (flags & MOUNT_F_RO) ? FS_F_RO : 0,
-                         icfs);
-       if (!fs) {
-               err = -ENOMEM;
-               goto error;
-       }
-
-       /*
-        * Create root for system.
-        *
-        * Persistent across remounts because we ask for immunity.
-        */
-       rooti =
-           _sysio_i_new(fs,
-                        &icino->ici_fileid,
-                        &icino->ici_st,
-                        1,
-                        &_sysio_incore_dir_ops,
-                        icino);
-       if (!rooti) {
-               err = -ENOMEM;
-               goto error;
-       }
-       rootpb = _sysio_pb_new(&noname, NULL, rooti);
-       if (!rootpb) {
-               err = -ENOMEM;
-               goto error;
-       }
-
-       /*
-        * Have path-node specified by the given source argument. Let the
-        * system finish the job, now.
-        */
-       mnt = NULL;
-       err =
-           _sysio_do_mount(fs,
-                           rootpb,
-                           flags,
-                           tocover,
-                           &mnt);
-       if (err)
-               goto error;
-
-       *mntp = mnt;
-
-       goto out;
-
-error:
-       if (mnt && _sysio_do_unmount(mnt) != 0)
-                       abort();
-       if (rootpb) {
-               _sysio_pb_gone(rootpb);
-               rooti = NULL;
-       }
-       if (rooti)
-               I_RELE(rooti);
-       if (fs) {
-               FS_RELE(fs);
-               goto out;
-       }
-       if (icino) {
-               incore_i_destroy(icino);
-               goto out;
-       }
-       if (icfs) {
-               free(icfs);
-               goto out;
-       }
-
-out:
-       return err;
-}
-
-static void
-_sysio_incore_fsop_gone(struct filesys *fs)
-{
-       struct incore_filesys *icfs;
-       struct incore_inode *icino, *oicino;
-
-       icfs = FS2ICFS(fs);
-
-       /*
-        * Free up i-node resource associated with this file system.
-        */
-       icino = icfs->icfs_icinodes.lh_first;
-       while (icino) {
-               oicino = icino;
-               icino = icino->ici_link.le_next;
-               incore_i_destroy(oicino);
-       }
-
-       /*
-        * Free the FS record.
-        */
-       free(icfs);
-}
-
-/*
- * A directory search engine. Various functions are carried out by
- * supplying appropriate callback functions.
- *
- * The two arguments, entry and hole, are called, if not null, for each
- * directory entry and hole, respectively.
- */
-static void *
-incore_directory_probe(void *data,
-                      size_t siz,
-                      _SYSIO_OFF_T origin
-#ifndef _DIRENT_HAVE_D_OFF
-                               __IS_UNUSED
-#endif
-                      ,
-                      probe_ty entry,
-                      probe_ty hole,
-                      void *arg)
-{
-       struct intnl_dirent *de;
-       void    *p;
-       size_t  n;
-
-       de = data;
-       for (;;) {
-#ifdef _DIRENT_HAVE_D_OFF
-               assert(de->d_off);
-#else
-               assert(de->d_reclen);
-#endif
-               if (entry && (p = (*entry)(de, de->d_reclen, arg)))
-                       return p;
-               n =
-#ifdef _DIRENT_HAVE_D_OFF
-                   de->d_off - origin;
-#else
-                   ((void *)de - data) + de->d_reclen;
-#endif
-               if (hole) {
-                       p = (*hole)((void *)de, de->d_reclen, arg);
-                       if (p)
-                               return p;
-               }
-               if (n >= siz)
-                       break;
-               de = (struct intnl_dirent *)((char *)data + n);
-       }
-
-       return NULL;
-}
-
-static struct intnl_dirent *
-incore_directory_match(struct intnl_dirent *de,
-                      size_t reclen,
-                      struct lookup_data *ld)
-{
-       size_t  len;
-
-#if defined(BSD) || defined(REDSTORM)
-       if (IFTODT(de->d_type) == DT_WHT)
-               return NULL;
-#endif
-#ifdef _DIRENT_HAVE_D_NAMLEN
-       len = de->d_namlen;
-#else
-       {
-               const char *cp, *end;
-
-               cp = de->d_name;
-               end = (const char *)de + reclen;
-               while (cp < end && *cp != '\0')
-                       cp++;
-               len = cp - de->d_name;
-       }
-#endif
-       if (ld->name->len == len &&
-           strncmp(de->d_name, ld->name->name, ld->name->len) == 0)
-               return de;
-       ld->de = de;
-       return NULL;
-}
-
-static int
-_sysio_incore_dirop_lookup(struct pnode *pno,
-                          struct inode **inop,
-                          struct intent *intnt __IS_UNUSED,
-                          const char *path __IS_UNUSED)
-{
-       struct inode *ino;
-       struct intnl_dirent *de;
-       struct incore_inode *icino;
-       struct lookup_data lookup_data;
-       struct file_identifier fileid;
-#ifdef notdef
-       struct inode_ops *ops;
-#endif
-
-       /*
-        * Revalidate?
-        */
-       if (*inop) {
-               icino = I2IC(*inop);
-               assert(icino);
-               (*inop)->i_stbuf = icino->ici_st;
-               return 0;
-       }
-
-       ino = pno->p_parent->p_base->pb_ino;
-       icino = I2IC(ino);
-       INCORE_LD_INIT(&lookup_data,
-                      ULONG_MAX,
-                      &pno->p_base->pb_name);
-       de =
-           incore_directory_probe(icino->ici_data,
-                                  icino->ici_st.st_size,
-                                  0,
-                                  (probe_ty )incore_directory_match,
-                                  NULL,
-                                  &lookup_data);
-       if (!de)
-               return -ENOENT;
-
-       fileid.fid_data = &de->d_ino;
-       fileid.fid_len = sizeof(de->d_ino);
-       ino =
-           _sysio_i_find(ino->i_fs, &fileid);
-#ifdef notdef
-       if (ino)
-               goto out;
-       icino->ici_fileid.fid_data = &icino->ici_st.st_ino;
-       icino->ici_fileid.fid_len = sizeof(icino->ici_st.st_ino);
-       ops = NULL;
-       switch (icino->ici_st.st_mode & S_IFMT) {
-       case S_IFDIR:
-               ops = &_sysio_incore_dir_ops;
-               break;
-       case S_IFREG:
-               ops = &_sysio_incore_file_ops;
-               break;
-       default:
-               break;
-       }
-       if (!ops)
-               abort();
-       ino =
-           _sysio_i_new(ino->i_fs,
-                        &icino->ici_fileid,
-                        &icino->ici_st
-                        1,
-                        ops,
-                        icino);
-#endif
-       if (!ino)
-               return -ENOMEM;
-
-#ifdef notdef
-out:
-#endif
-       *inop = ino;
-       return 0;
-}
-
-static int
-_sysio_incore_inop_getattr(struct pnode *pno,
-                          struct inode *ino,
-                          struct intnl_stat *stbuf)
-{
-       struct incore_inode *icino;
-
-       if (!ino)
-               ino = pno->p_base->pb_ino;
-       icino = I2IC(ino);
-       *stbuf = icino->ici_st;
-       return 0;
-}
-
-static int
-_sysio_incore_inop_setattr(struct pnode *pno,
-                          struct inode *ino,
-                          unsigned mask,
-                          struct intnl_stat *stbuf)
-{
-       struct incore_inode *icino;
-       int     err;
-
-       if (!ino)
-               ino = pno->p_base->pb_ino;
-       if (!ino)
-               return -EBADF;
-       icino = I2IC(ino);
-
-       err = 0;
-       if (mask & SETATTR_LEN) {
-               err = incore_trunc(icino, stbuf->st_size, 1);
-               if (err)
-                       goto out;
-               mask &= ~SETATTR_LEN;
-       }
-       if (mask & SETATTR_MODE) {
-               icino->ici_st.st_mode =
-                   (icino->ici_st.st_mode & S_IFMT) | (stbuf->st_mode & 07777);
-       }
-       if (mask & SETATTR_MTIME)
-               icino->ici_st.st_mtime = stbuf->st_mtime;
-       if (mask & SETATTR_ATIME)
-               icino->ici_st.st_atime = stbuf->st_atime;
-       if (mask & SETATTR_UID)
-               icino->ici_st.st_uid = stbuf->st_uid;
-       if (mask & SETATTR_GID)
-               icino->ici_st.st_gid = stbuf->st_gid;
-       icino->ici_st.st_ctime = time(NULL);
-
-       ino->i_stbuf = icino->ici_st;
-out:
-       return err;
-}
-
-static void *
-incore_directory_position(struct intnl_dirent *de,
-                         size_t reclen __IS_UNUSED,
-                         void *p)
-{
-
-       return (void *)de >= p ? de : NULL;
-}
-
-struct copy_info {
-       void    *data;
-       size_t  nbytes;
-       unsigned count;
-};
-
-/*
- * Eumeration callback.
- *
- * Note:
- * Whiteout entries are never returned.
- */
-static void *
-incore_directory_enumerate(struct intnl_dirent *de,
-                          size_t reclen,
-                          struct copy_info *cinfo) {
-
-#ifdef DT_WHT
-       if (de->d_type == DT_WHT) {
-               /*
-                * Keep going  but skip the copy.
-                */
-               return NULL;
-       }
-#endif
-       cinfo->count++;
-       if (reclen > cinfo->nbytes)
-               return de;
-       (void *)memcpy(cinfo->data, de, reclen);
-       cinfo->data = (char *)cinfo->data + reclen;
-       cinfo->nbytes -= reclen;
-       return NULL;
-}
-
-static ssize_t
-_sysio_incore_dirop_filldirentries(struct inode *ino,
-                                  _SYSIO_OFF_T *posp,
-                                  char *buf,
-                                  size_t nbytes)
-{
-       struct incore_inode *icino = I2IC(ino);
-       off_t   off;
-       struct intnl_dirent *de;
-       struct copy_info copy_info;
-
-       if (*posp >= icino->ici_st.st_size)
-               return 0;
-
-       de =
-           incore_directory_probe(icino->ici_data,
-                                  icino->ici_st.st_size,
-                                  *posp,
-                                  (probe_ty )incore_directory_position,
-                                  NULL,
-                                  (char *)icino->ici_data + *posp);
-       if (!de) {
-               /*
-                * Past EOF.
-                */
-               return 0;
-       }
-
-       copy_info.data = buf;
-       copy_info.nbytes = nbytes;
-       copy_info.count = 0;
-       off = (char *)de - (char *)icino->ici_data;
-       de =
-           incore_directory_probe(de,
-                                  icino->ici_st.st_size - off,
-                                  off,
-                                  (probe_ty )incore_directory_enumerate,
-                                  NULL,
-                                  &copy_info);
-       icino->ici_st.st_atime = time(NULL);
-       if (nbytes == copy_info.nbytes && copy_info.count)
-               return -EINVAL;
-       nbytes -= copy_info.nbytes;
-#if 0
-       if (!nbytes)
-               return -EOVERFLOW;
-#endif
-       *posp += nbytes;
-       return (ssize_t )nbytes;
-}
-
-static struct intnl_dirent *
-incore_directory_best_fit(void *data, size_t len, struct lookup_data *ld)
-{
-
-       if (!ld->hole.len || len < ld->hole.len) {
-               ld->hole.p = data;
-               ld->hole.len = len;
-       }
-
-       return NULL;
-}
-
-static int
-incore_directory_insert(struct incore_inode *parent,
-                       struct qstr *name,
-                       ino_t inum,
-                       unsigned char type)
-{
-       size_t  reclen;
-       struct lookup_data lookup_data;
-       struct intnl_dirent *de;
-       size_t  xt;
-       size_t  n;
-       size_t  r;
-
-       reclen = INCORE_D_RECLEN(name->len);
-       INCORE_LD_INIT(&lookup_data, reclen, name);
-       de =
-           incore_directory_probe(parent->ici_data,
-                                  parent->ici_st.st_size,
-                                  0,
-                                  (probe_ty )incore_directory_match,
-                                  (probe_ty )incore_directory_best_fit,
-                                  &lookup_data);
-       if (de)
-               return -EEXIST;
-       de = lookup_data.de;
-       xt = (char *)lookup_data.de - (char *)parent->ici_data;
-       n =
-#ifdef _DIRENT_HAVE_D_OFF
-           de->d_off;
-#else
-           xt + de->d_reclen;
-#endif
-       r =
-#ifdef _DIRENT_HAVE_D_OFF
-           de->d_reclen;
-#else
-           INCORE_D_RECLEN(de->d_namlen);
-#endif
-       if (!parent->ici_st.st_size ||
-           xt + r + reclen > (size_t )parent->ici_st.st_size) {
-               int     err;
-
-               err = incore_trunc(parent, xt + r + reclen, 1);
-               if (err)
-                       return err;
-               de = (struct intnl_dirent *)((char *)parent->ici_data + xt);
-               n = parent->ici_st.st_size;
-       }
-
-#ifdef _DIRENT_HAVE_D_OFF
-       de->d_off = xt + r;                             /* trim */
-#else
-       de->d_reclen = r;
-#endif
-       de = (struct intnl_dirent *)((char *)de + r);                           /* reposition */
-       xt += r;
-
-#ifndef _DIRENT_HAVE_D_OFF
-       /*
-        * Will we split this hole or use all of it?
-        */
-       if (lookup_data.hole.len - reclen &&
-           lookup_data.hole.len - reclen <= INCORE_D_RECLEN(1))
-               reclen = lookup_data.hole.len;
-#endif
-
-       /*
-        * Insert new.
-        */
-       de->d_ino = inum;
-#ifdef _DIRENT_HAVE_D_OFF
-       de->d_off = n;
-#endif
-       de->d_reclen = reclen;
-       de->d_type = type;
-       (void )memcpy(de->d_name, name->name, name->len);
-#ifdef _DIRENT_HAVE_D_NAMLEN
-       de->d_namlen = name->len;
-#endif
-
-#ifndef _DIRENT_HAVE_D_OFF
-       xt += reclen;
-       if (n - xt) {
-               /*
-                * White-out remaining part of the hole.
-                */
-               (void *)de += reclen;
-               de->d_ino = 0;
-               de->d_reclen = n - xt;
-               de->d_type = DT_WHT;
-               de->d_namlen = 0;
-       }
-#endif
-
-       /*
-        * Update attributes to reflect the new entry.
-        */
-       parent->ici_st.st_nlink++;
-       assert(parent->ici_st.st_nlink);
-       parent->ici_st.st_atime = parent->ici_st.st_mtime = time(NULL);
-
-       return 0;
-}
-
-static int
-_sysio_incore_dirop_mkdir(struct pnode *pno, mode_t mode)
-{
-       struct intnl_stat stat;
-       struct incore_inode *icino, *parent;
-       ino_t   inum;
-       int     err;
-       struct intnl_dirent *de = NULL;
-       struct inode *ino;
-
-       ino = pno->p_parent->p_base->pb_ino;
-       parent = I2IC(ino);
-
-       if (!S_ISDIR(parent->ici_st.st_mode))
-               return -ENOTDIR;
-
-       (void )memset(&stat, 0, sizeof(stat));
-       stat.st_dev = pno->p_parent->p_base->pb_ino->i_fs->fs_dev;
-       inum = incore_inum_alloc();
-#ifdef HAVE__ST_INO
-       stat.__st_ino = inum;
-#endif
-       stat.st_mode = S_IFDIR | (mode & 07777);
-       stat.st_nlink = 2;
-       stat.st_uid = getuid();
-       stat.st_gid = getgid();
-       stat.st_size = 0;
-       stat.st_blksize = 4096;
-       stat.st_blocks = 0;
-       stat.st_ctime = stat.st_mtime = stat.st_atime = 0;
-       stat.st_ino = inum;
-       icino = incore_directory_new(FS2ICFS(ino->i_fs), parent, &stat);
-       if (!icino)
-               return -ENOSPC;
-
-       /*
-        * Tell the system about the new inode.
-        *
-        * Persistent across remounts because we ask for immunity.
-        */
-       ino =
-           _sysio_i_new(pno->p_parent->p_base->pb_ino->i_fs,
-                        &icino->ici_fileid,
-                        &stat,
-                        1,
-                        &_sysio_incore_dir_ops,
-                        icino);
-       if (!ino) {
-               incore_i_destroy(icino);
-               return -ENOMEM;
-       }
-
-       /*
-        * Insert into parent.
-        */
-       err =
-           incore_directory_insert(parent,
-                                   &pno->p_base->pb_name,
-                                   stat.st_ino,
-                                   INCORE_D_TYPEOF(S_IFDIR));
-
-       if (err) {
-               de->d_ino = 0;                          /* bad parent */
-               I_RELE(ino);
-               _sysio_i_gone(ino);
-               return err;
-       }
-
-       pno->p_base->pb_ino = ino;
-       return 0;
-}
-
-static int
-incore_unlink_entry(struct incore_inode *icino,
-                   struct qstr *name)
-{
-       struct lookup_data lookup_data;
-       struct intnl_dirent *de;
-       size_t  reclen;
-#ifdef _DIRENT_HAVE_D_OFF
-       size_t  off;
-#endif
-
-       if (!S_ISDIR(icino->ici_st.st_mode))
-               return -ENOTDIR;
-
-       INCORE_LD_INIT(&lookup_data, 0, name);
-       de =
-           incore_directory_probe(icino->ici_data,
-                                  icino->ici_st.st_size,
-                                  0,
-                                  (probe_ty )incore_directory_match,
-                                  NULL,
-                                  &lookup_data);
-       if (!de)
-               return -ENOENT;
-       assert((size_t )((char *)de - (char *)icino->ici_data) >=
-              INCORE_D_TEMPLATE_LEN);
-#ifndef _DIRENT_HAVE_D_OFF
-       reclen = de->d_reclen;
-#else
-       off = de->d_off;
-       reclen = off - ((char *)de - (char *)icino->ici_data);
-#endif
-       (void )memset(de, 0, reclen);
-#ifndef _DIRENT_HAVE_D_OFF
-       de->d_type = (__uint8_t )DTTOIF(DT_WHT);
-       de->d_reclen = reclen;
-#else
-       lookup_data.de->d_off = off;
-#endif
-
-       /*
-        * Adjust link count.
-        */
-       assert(icino->ici_st.st_nlink > 2);
-       icino->ici_st.st_nlink--;
-
-       return 0;
-}
-
-static int
-_sysio_incore_dirop_rmdir(struct pnode *pno)
-{
-       struct inode *ino = pno->p_base->pb_ino;
-       struct incore_inode *icino = I2IC(ino);
-       int     err;
-
-       if (!pno->p_base->pb_name.len ||
-           (pno->p_base->pb_name.name[0] == '.' &&
-            (pno->p_base->pb_name.len == 1 ||
-             (pno->p_base->pb_name.len == 2 &&
-              pno->p_base->pb_name.name[1] == '.'))))
-               return -EINVAL;
-
-       if (!S_ISDIR(icino->ici_st.st_mode))
-               return -ENOTDIR;
-
-       if (icino->ici_st.st_nlink > 2)
-               return -ENOTEMPTY;
-
-       pno->p_base->pb_ino = NULL;
-       err =
-           incore_unlink_entry(I2IC(pno->p_parent->p_base->pb_ino),
-                               &pno->p_base->pb_name);
-       return err;
-}
-
-static int
-incore_create(struct pnode *pno, struct intnl_stat *stat)
-{
-       struct inode *dino, *ino;
-       struct incore_inode *icino;
-       int     err;
-
-       dino = pno->p_parent->p_base->pb_ino;
-       assert(dino);
-
-       icino = incore_i_alloc(FS2ICFS(dino->i_fs), stat);
-       if (!icino)
-               return -ENOSPC;
-
-       /*
-        * Tell the system about the new inode.
-        */
-       ino =
-           _sysio_i_new(dino->i_fs,
-                        &icino->ici_fileid,
-                        stat,
-                        1,
-                        S_ISREG(stat->st_mode)
-                          ? &_sysio_incore_file_ops
-                          : &_sysio_incore_dev_ops,
-                        icino);
-       if (!ino) {
-               incore_i_destroy(icino);
-               return -ENOMEM;
-       }
-
-       /*
-        * Insert into parent.
-        */
-       err =
-           incore_directory_insert(I2IC(dino),
-                                   &pno->p_base->pb_name,
-                                   stat->st_ino,
-                                   INCORE_D_TYPEOF(icino->ici_st.st_mode));
-       if (err) {
-               I_RELE(ino);
-               _sysio_i_gone(ino);
-               return err;
-       }
-
-       pno->p_base->pb_ino = ino;
-       return 0;
-}
-
-static int
-_sysio_incore_inop_open(struct pnode *pno, int flags __IS_UNUSED, mode_t mode)
-{
-       struct intnl_stat stat;
-       ino_t   inum;
-
-       /*
-        * File exists. Nothing to do.
-        */
-       if (pno->p_base->pb_ino)
-               return 0;
-
-       /*
-        * Must create a new, regular, file.
-        */
-       (void )memset(&stat, 0, sizeof(stat));
-       stat.st_dev = pno->p_parent->p_base->pb_ino->i_fs->fs_dev;
-       inum = incore_inum_alloc();
-#ifdef HAVE__ST_INO
-       stat.__st_ino = inum;
-#endif
-       stat.st_mode = S_IFREG | (mode & 07777);
-       stat.st_nlink = 1;
-       stat.st_uid = getuid();
-       stat.st_gid = getgid();
-       stat.st_rdev = 0;
-       stat.st_size = 0;
-       stat.st_blksize = 4096;
-       stat.st_blocks = 0;
-       stat.st_ctime = stat.st_mtime = stat.st_atime = 0;
-       stat.st_ino = inum;
-
-       return incore_create(pno, &stat);
-}
-
-static int
-_sysio_incore_inop_close(struct inode *ino __IS_UNUSED)
-{
-
-       return 0;
-}
-
-static int
-_sysio_incore_dirop_link(struct pnode *old, struct pnode *new)
-{
-       struct incore_inode *icino = I2IC(old->p_base->pb_ino);
-       int     err;
-
-       assert(!new->p_base->pb_ino);
-       assert(!S_ISDIR(old->p_base->pb_ino->i_stbuf.st_mode));
-
-       /*
-        * Can bump the link count?
-        */
-       if (!(icino->ici_st.st_nlink + 1))
-               return -EMLINK;
-       /*
-        * Insert into parent.
-        */
-       err =
-           incore_directory_insert(I2IC(new->p_parent->p_base->pb_ino),
-                                   &new->p_base->pb_name,
-                                   icino->ici_st.st_ino,
-                                   INCORE_D_TYPEOF(icino->ici_st.st_mode));
-       if (err)
-               return err;
-       /*
-        * Bump the link count.
-        */
-       icino->ici_st.st_nlink++;
-
-       return 0;
-}
-
-static int
-_sysio_incore_dirop_rename(struct pnode *old, struct pnode *new)
-{
-       int     err;
-       struct incore_inode *icino = I2IC(old->p_base->pb_ino);
-
-       if (new->p_base->pb_ino) {
-               /*
-                * Have to kill off the target first.
-                */
-               if (S_ISDIR(I2IC(new->p_base->pb_ino)->ici_st.st_mode) &&
-                   I2IC(new->p_base->pb_ino)->ici_st.st_nlink > 2)
-                       return -ENOTEMPTY;
-               err =
-                   incore_unlink_entry(I2IC(new->p_parent->p_base->pb_ino),
-                                       &new->p_base->pb_name);
-               if (err)
-                       return err;
-       }
-
-       /*
-        * Insert into new parent.
-        */
-       err =
-           incore_directory_insert(I2IC(new->p_parent->p_base->pb_ino),
-                                   &new->p_base->pb_name,
-                                   icino->ici_st.st_ino,
-                                   INCORE_D_TYPEOF(icino->ici_st.st_mode));
-       if (err)
-               abort();
-       /*
-        * Remove from the old parent.
-        */
-       err =
-           incore_unlink_entry(I2IC(old->p_parent->p_base->pb_ino),
-                               &old->p_base->pb_name);
-       if (err)
-               abort();
-
-       if (S_ISDIR(icino->ici_st.st_mode)) {
-               struct intnl_dirent *de;
-
-               /*
-                * We moved a directory. The entry for `..' must be corrected.
-                */
-               de = icino->ici_data;
-               de++;
-               assert(strcmp(de->d_name, "..") == 0);
-               de->d_ino = I2IC(new->p_parent->p_base->pb_ino)->ici_st.st_ino;
-       }
-       return 0;
-}
-
-static int
-_sysio_incore_dirop_unlink(struct pnode *pno)
-{
-       struct inode *ino = pno->p_base->pb_ino;
-       struct incore_inode *icino = I2IC(ino);
-       int     err;
-
-       if (S_ISDIR(icino->ici_st.st_mode))
-               return -EISDIR;
-
-       err =
-           incore_unlink_entry(I2IC(pno->p_parent->p_base->pb_ino),
-                               &pno->p_base->pb_name);
-       return err;
-}
-
-static int
-doio(ssize_t (*f)(void *, size_t, _SYSIO_OFF_T, struct incore_inode *),
-     struct inode *ino,
-     struct ioctx *ioctx)
-{
-
-       ioctx->ioctx_cc =
-           _sysio_doio(ioctx->ioctx_xtv, ioctx->ioctx_xtvlen,
-                       ioctx->ioctx_iov, ioctx->ioctx_iovlen,
-                       (ssize_t (*)(void *, size_t, _SYSIO_OFF_T, void *))f,
-                       I2IC(ino));
-       if (ioctx->ioctx_cc  < 0) {
-               ioctx->ioctx_errno = -ioctx->ioctx_cc;
-               ioctx->ioctx_cc = -1;
-       }
-       ioctx->ioctx_done = 1;
-
-       return 0;
-}
-
-static ssize_t
-incore_read(void *buf, size_t nbytes,
-           _SYSIO_OFF_T off,
-           struct incore_inode *icino)
-{
-       size_t  n;
-
-       if (off < 0)
-               return -EINVAL;
-       if (!nbytes || off > icino->ici_st.st_size)
-               return 0;
-       n = icino->ici_st.st_size - (size_t )off;
-       if (n > nbytes)
-               n = nbytes;
-       (void )memcpy(buf, (char *)icino->ici_data + off, (size_t )n);
-
-       return (ssize_t )n;
-}
-
-static int
-_sysio_incore_filop_read(struct inode *ino, struct ioctx *ioctx)
-{
-       
-
-       return doio(incore_read, ino, ioctx);
-}
-
-static ssize_t
-incore_write(const void *buf, size_t nbytes,
-            _SYSIO_OFF_T off,
-            struct incore_inode *icino)
-{
-       _SYSIO_OFF_T pos;
-
-       if (off < 0)
-               return -EINVAL;
-       if (!nbytes || off > icino->ici_st.st_size)
-               return 0;
-       pos = off + nbytes;
-       if (off && pos <= off) {
-               /*
-                * It's all or nothing. We won't write just part of
-                * the buffer.
-                */
-               return -EFBIG;
-       }
-       if (pos > icino->ici_st.st_size) {
-               int     err;
-
-               err = incore_trunc(icino, (size_t )pos, 0);
-               if (err)
-                       return err;
-       }
-       (void )memcpy((char *)icino->ici_data + off, buf, nbytes);
-
-       return (ssize_t )nbytes;
-}
-
-static int
-_sysio_incore_filop_write(struct inode *ino, struct ioctx *ioctx)
-{
-
-       return doio((ssize_t (*)(void *, size_t,
-                                _SYSIO_OFF_T,
-                                struct incore_inode *))incore_write,
-                   ino,
-                   ioctx);
-}
-
-static _SYSIO_OFF_T
-_sysio_incore_filop_pos(struct inode *ino __IS_UNUSED, _SYSIO_OFF_T off)
-{
-
-       return off;
-}
-
-static int
-_sysio_incore_filop_iodone(struct ioctx *iocp __IS_UNUSED)
-{
-
-       /*
-        * It's always done in this driver. It completed when posted.
-        */
-       return 1;
-}
-
-static int
-_sysio_incore_filop_fcntl(struct inode *ino __IS_UNUSED,
-                         int cmd __IS_UNUSED,
-                         va_list ap __IS_UNUSED,
-                         int *rtn)
-{
-
-       /*
-        * No fcntl's supported.
-        */
-       *rtn = -1;
-       return -ENOTTY;
-}
-
-static int
-_sysio_incore_inop_sync(struct inode *ino __IS_UNUSED)
-{
-
-       /*
-        * With what?
-        */
-       return 0;
-}
-
-static int
-_sysio_incore_filop_ioctl(struct inode *ino __IS_UNUSED,
-                         unsigned long int request __IS_UNUSED,
-                         va_list ap __IS_UNUSED)
-{
-
-       /*
-        * No ioctl's supported.
-        */
-       return -ENOTTY;
-}
-
-static int
-_sysio_incore_dirop_mknod(struct pnode *pno, mode_t mode, dev_t dev)
-{
-       mode_t  m;
-       struct intnl_stat stat;
-       ino_t   inum;
-
-       assert(!pno->p_base->pb_ino);
-
-       m = mode & S_IFMT;
-       if (S_ISCHR(m))
-               m &= ~S_IFCHR;
-       else if (S_ISFIFO(m))
-               m &= ~S_IFIFO;
-       else if (S_ISBLK(m))
-               m &= ~S_IFCHR;
-       else
-               return -EINVAL;
-       if (m)
-               return -EINVAL;
-
-       /*
-        * Initialize attributes.
-        */
-       (void )memset(&stat, 0, sizeof(stat));
-       stat.st_dev = pno->p_parent->p_base->pb_ino->i_fs->fs_dev;
-       inum = incore_inum_alloc();
-#ifdef HAVE__ST_INO
-       stat.__st_ino = inum;
-#endif
-       stat.st_mode = mode;
-       stat.st_nlink = 1;
-       stat.st_uid = getuid();
-       stat.st_gid = getgid();
-       stat.st_rdev = dev;
-       stat.st_size = 0;
-       stat.st_blksize = 4096;
-       stat.st_blocks = 0;
-       stat.st_ctime = stat.st_mtime = stat.st_atime = 0;
-       stat.st_ino = inum;
-
-       return incore_create(pno, &stat);
-}
-
-#ifdef _HAVE_STATVFS
-static int
-_sysio_incore_inop_statvfs(struct pnode *pno,
-                          struct inode *ino,
-                          struct intnl_statvfs *buf)
-{
-       struct filesys *fs;
-
-       if (!ino)
-               ino = pno->p_base->pb_ino;
-       assert(ino);
-
-       fs = pno->p_base->pb_ino->i_fs;
-
-       (void )memset(buf, 0, sizeof(struct intnl_statvfs));
-
-       /*
-        * Mostly, we lie.
-        */
-       buf->f_bsize = fs->fs_bsize;
-       buf->f_frsize = buf->f_bsize;
-       buf->f_blocks = ~0;
-       buf->f_blocks /= buf->f_bsize;
-       buf->f_bfree = buf->f_blocks - 1;
-       buf->f_bavail = buf->f_bfree;
-       buf->f_files = buf->f_blocks;
-       buf->f_ffree = buf->f_files - 1;
-       buf->f_favail = buf->f_ffree;
-       buf->f_fsid = fs->fs_id;
-       buf->f_flag = 0;
-       buf->f_namemax = ULONG_MAX;
-
-       return 0;
-}
-#endif
-
-void
-_sysio_incore_inop_gone(struct inode *ino)
-{
-       struct incore_inode *icino = I2IC(ino);
-
-       incore_i_destroy(icino);
-}
diff --git a/libsysio/drivers/incore/fs_incore.h b/libsysio/drivers/incore/fs_incore.h
deleted file mode 100644 (file)
index 84fa631..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *    This Cplant(TM) source code is the property of Sandia National
- *    Laboratories.
- *
- *    This Cplant(TM) source code is copyrighted by Sandia National
- *    Laboratories.
- *
- *    The redistribution of this Cplant(TM) source code is subject to the
- *    terms of the GNU Lesser General Public License
- *    (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
- *
- *    Cplant(TM) Copyright 1998-2003 Sandia Corporation. 
- *    Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
- *    license for use of this work by or on behalf of the US Government.
- *    Export of this program may require a license from the United States
- *    Government.
- */
-
-/*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Questions or comments about this library should be sent to:
- *
- * Lee Ward
- * Sandia National Laboratories, New Mexico
- * P.O. Box 5800
- * Albuquerque, NM 87185-1110
- *
- * lee@sandia.gov
- */
-
-/*
- * Native file system driver support.
- */
-
-extern int _sysio_incore_init(void);
diff --git a/libsysio/drivers/incore/module.mk b/libsysio/drivers/incore/module.mk
deleted file mode 100644 (file)
index 140d69b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-INCORE_SRCS  = drivers/incore/fs_incore.c
-INCORE_EXTRA = drivers/incore/fs_incore.h drivers/incore/module.mk
diff --git a/libsysio/drivers/native/.gitignore b/libsysio/drivers/native/.gitignore
deleted file mode 100644 (file)
index c83c013..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/.dirstamp
diff --git a/libsysio/drivers/native/fs_native.c b/libsysio/drivers/native/fs_native.c
deleted file mode 100644 (file)
index 7980f68..0000000
+++ /dev/null
@@ -1,1813 +0,0 @@
-/*
- *    This Cplant(TM) source code is the property of Sandia National
- *    Laboratories.
- *
- *    This Cplant(TM) source code is copyrighted by Sandia National
- *    Laboratories.
- *
- *    The redistribution of this Cplant(TM) source code is subject to the
- *    terms of the GNU Lesser General Public License
- *    (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
- *
- *    Cplant(TM) Copyright 1998-2004 Sandia Corporation. 
- *    Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
- *    license for use of this work by or on behalf of the US Government.
- *    Export of this program may require a license from the United States
- *    Government.
- */
-
-/*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library 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
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Questions or comments about this library should be sent to:
- *
- * Lee Ward
- * Sandia National Laboratories, New Mexico
- * P.O. Box 5800
- * Albuquerque, NM 87185-1110
- *
- * lee@sandia.gov
- */
-
-#ifdef __linux__
-#define _BSD_SOURCE
-#endif
-
-#include <stdio.h>                                     /* for NULL */
-#include <stdlib.h>
-#ifdef __linux__
-#include <string.h>
-#endif
-#include <unistd.h>
-#if !(defined(REDSTORM) || defined(MAX_IOVEC))
-#include <limits.h>
-#endif
-#include <errno.h>
-#include <assert.h>
-#include <sys/syscall.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#if 0
-#include <sys/vfs.h>
-#endif
-#ifdef _HAVE_STATVFS
-#include <sys/statvfs.h>
-#include <sys/statfs.h>
-#endif
-#include <utime.h>
-#include <sys/uio.h>
-#include <sys/queue.h>
-
-#include "sysio.h"
-#include "xtio.h"
-#include "native.h"
-#include "fs.h"
-#include "mount.h"
-#include "inode.h"
-
-#include "fs_native.h"
-
-#ifdef REDSTORM
-#include <sys/uio.h>
-#endif
-
-#if defined(SYSIO_SYS_getdirentries)
-#define DIR_CVT_64 0
-#elif defined(SYSIO_SYS_getdents64)
-#define DIR_CVT_64 0
-#elif defined(SYSIO_SYS_getdents)
-#if defined(_LARGEFILE64_SOURCE)
-#define DIR_CVT_64 1
-/*
- * Kernel version of directory entry.
- */
-struct linux_dirent {
-       unsigned long ld_ino;
-       unsigned long ld_off;
-       unsigned short ld_reclen;
-       char    ld_name[1];
-};
-#include <dirent.h>
-#else /* !defined(_LARGEFILE64_SOURCE) */
-#define DIR_CVT_64 0
-#endif /* defined(_LARGEFILE64_SOURCE) */
-#else /* catch-none */
-#error No usable directory fill entries interface available
-#endif
-
-/*
- * Native file system information we keep per FS.
- */
-struct native_filesystem {
-       time_t  nfs_atimo;                              /* attr timeout (sec) */
-};
-
-/*
- * Given fs, return driver private part.
- */
-#define FS2NFS(fs) \
-       ((struct native_filesystem *)(fs)->fs_private)
-
-/*
- * Native file identifiers format.
- */
-struct native_inode_identifier {
-       dev_t   dev;                                    /* device number */
-       ino_t   ino;                                    /* i-number */
-#ifdef HAVE_GENERATION
-       unsigned int gen;                               /* generation number */
-#endif
-};
-
-/*
- * Driver-private i-node information we keep about local host file
- * system objects.
- */
-struct native_inode {
-       unsigned
-               ni_seekok               : 1,            /* can seek? */
-               ni_attrvalid            : 1,            /* cached attrs ok? */
-               ni_resetfpos            : 1;            /* reset fpos? */
-       struct native_inode_identifier ni_ident;        /* unique identifier */
-       struct file_identifier ni_fileid;               /* ditto */
-       int     ni_fd;                                  /* host fildes */
-       int     ni_oflags;                              /* flags, from open */
-       unsigned ni_nopens;                             /* soft ref count */
-       _SYSIO_OFF_T ni_fpos;                           /* current pos */
-       time_t  ni_attrtim;                             /* attrs expire time */
-};
-
-/*
- * Cached attributes usable?
- */
-#define NATIVE_ATTRS_VALID(nino, t) \
-       ((nino)->ni_attrtim && (t) < (nino)->ni_attrtim)
-
-/*
- * Native IO path arguments.
- */
-struct native_io {
-       char    nio_op;                                 /* 'r' or 'w' */
-       struct native_inode *nio_nino;                  /* native ino */
-};
-
-static int native_inop_lookup(struct pnode *pno,
-                             struct inode **inop,
-                             struct intent *intnt,
-                             const char *path);
-static int native_inop_getattr(struct pnode *pno,
-                              struct inode *ino,
-                              struct intnl_stat *stbuf);
-static int native_inop_setattr(struct pnode *pno,
-                              struct inode *ino,
-                              unsigned mask,
-                              struct intnl_stat *stbuf);
-static ssize_t native_filldirentries(struct inode *ino,
-                                    _SYSIO_OFF_T *posp,
-                                    char *buf,
-                                    size_t nbytes);
-static int native_inop_mkdir(struct pnode *pno, mode_t mode);
-static int native_inop_rmdir(struct pnode *pno);
-static int native_inop_symlink(struct pnode *pno, const char *data);
-static int native_inop_readlink(struct pnode *pno, char *buf, size_t bufsiz);
-static int native_inop_open(struct pnode *pno, int flags, mode_t mode);
-static int native_inop_close(struct inode *ino);
-static int native_inop_link(struct pnode *old, struct pnode *new);
-static int native_inop_unlink(struct pnode *pno);
-static int native_inop_rename(struct pnode *old, struct pnode *new);
-static int native_inop_read(struct inode *ino, struct ioctx *ioctx);
-static int native_inop_write(struct inode *ino, struct ioctx *ioctx);
-static _SYSIO_OFF_T native_inop_pos(struct inode *ino, _SYSIO_OFF_T off);
-static int native_inop_iodone(struct ioctx *ioctx);
-static int native_inop_fcntl(struct inode *ino, int cmd, va_list ap, int *rtn);
-static int native_inop_sync(struct inode *ino);
-static int native_inop_datasync(struct inode *ino);
-static int native_inop_ioctl(struct inode *ino,
-                            unsigned long int request,
-                            va_list ap);
-static int native_inop_mknod(struct pnode *pno, mode_t mode, dev_t dev);
-#ifdef _HAVE_STATVFS
-static int native_inop_statvfs(struct pnode *pno,
-                              struct inode *ino,
-                              struct intnl_statvfs *buf);
-#endif
-static void native_inop_gone(struct inode *ino);
-
-static struct inode_ops native_i_ops = {
-       native_inop_lookup,
-       native_inop_getattr,
-       native_inop_setattr,
-       native_filldirentries,
-       native_inop_mkdir,
-       native_inop_rmdir,
-       native_inop_symlink,
-       native_inop_readlink,
-       native_inop_open,
-       native_inop_close,
-       native_inop_link,
-       native_inop_unlink,
-       native_inop_rename,
-       native_inop_read,
-       native_inop_write,
-       native_inop_pos,
-       native_inop_iodone,
-       native_inop_fcntl,
-       native_inop_sync,
-       native_inop_datasync,
-       native_inop_ioctl,
-       native_inop_mknod,
-#ifdef _HAVE_STATVFS
-       native_inop_statvfs,
-#endif
-       native_inop_gone
-};
-
-static int native_fsswop_mount(const char *source,
-                              unsigned flags,
-                              const void *data,
-                              struct pnode *tocover,
-                              struct mount **mntp);
-
-static struct fssw_ops native_fssw_ops = {
-       native_fsswop_mount
-};
-
-static void native_fsop_gone(struct filesys *fs);
-
-static struct filesys_ops native_inodesys_ops = {
-       native_fsop_gone,
-};
-
-/*
- * This example driver plays a strange game. It maintains a private,
- * internal mount -- It's own separate, rooted, name space. The local
- * file system's entire name space is available via this tree.
- *
- * This simplifies the implementation. At mount time, we need to generate
- * a path-node to be used as a root. This allows us to look up the needed
- * node in the host name space and leverage a whole lot of support from
- * the system.
- */
-static struct mount *native_internal_mount = NULL;
-
-/*
- * Given i-node, return driver private part.
- */
-#define I2NI(ino)      ((struct native_inode *)((ino)->i_private))
-
-/*
- * stat -- by path.
- */
-static int
-native_stat(const char *path,
-           struct inode *ino,
-           time_t t,
-           struct intnl_stat *buf)
-{
-       struct native_inode *nino;
-       int     err;
-       struct _sysio_native_stat stbuf;
-
-       nino = ino ? I2NI(ino) : NULL;
-
-       if (path)
-               err = syscall(SYSIO_SYS_stat, path, &stbuf);
-       else if (nino && nino->ni_fd >= 0)
-               err = syscall(SYSIO_SYS_fstat, nino->ni_fd, &stbuf);
-       else
-               abort();
-       if (err) {
-               if (nino)
-                       nino->ni_attrtim = 0;
-               return -errno;
-       }
-       if (nino) {
-               nino->ni_attrtim = t;
-               SYSIO_COPY_STAT(&stbuf, &ino->i_stbuf);
-               if (buf)
-                       *buf = ino->i_stbuf;
-               return 0;
-       }
-       if (!buf)
-               return 0;
-       SYSIO_COPY_STAT(&stbuf, buf);
-       return 0;
-}
-
-/*
- * Introduce an i-node to the system.
- */
-static struct inode *
-native_i_new(struct filesys *fs, time_t expiration, struct intnl_stat *buf)
-{
-       struct native_inode *nino;
-       struct inode *ino;
-
-       nino = malloc(sizeof(struct native_inode));
-       if (!nino)
-               return NULL;
-       bzero(&nino->ni_ident, sizeof(nino->ni_ident));
-       nino->ni_seekok = 0;
-       nino->ni_attrvalid = 0;
-       nino->ni_resetfpos = 0;
-       nino->ni_ident.dev = buf->st_dev;
-       nino->ni_ident.ino = buf->st_ino;
-#ifdef HAVE_GENERATION
-       nino->ni_ident.gen = buf->st_gen;
-#endif
-       nino->ni_fileid.fid_data = &nino->ni_ident;
-       nino->ni_fileid.fid_len = sizeof(nino->ni_ident);
-       nino->ni_fd = -1;
-       nino->ni_oflags = 0;
-       nino->ni_nopens = 0;
-       nino->ni_fpos = 0;
-       nino->ni_attrtim = expiration;
-       ino =
-           _sysio_i_new(fs,
-                        &nino->ni_fileid,
-                        buf,
-                        0,
-                        &native_i_ops,
-                        nino);
-       if (!ino)
-               free(nino);
-       return ino;
-}
-
-/*
- * Initialize this driver.
- */
-int
-_sysio_native_init()
-{
-
-       /*
-        * Capture current process umask and reset our process umask to
-        * zero. All permission bits to open/creat/setattr are absolute --
-        * They've already had a umask applied, when appropriate.
-        */
-#ifndef REDSTORM
-        _sysio_umask = syscall(SYSIO_SYS_umask, 0);
-        /*
-         *      For Red Storm, this functionality is handled in cstart.
-         *      The mask to be "captured" has been sent already.
-         *      This eliminates a system call from every node!
-         */
-#endif  /* REDSTORM  */
-
-       return _sysio_fssw_register("native", &native_fssw_ops);
-}
-
-/*
- * Create private, internal, view of the hosts name space.
- */
-static int
-create_internal_namespace(const void *data)
-{
-       char    *opts;
-       ssize_t len;
-       char    *cp;
-       struct native_filesystem *nfs;
-       int     err;
-       struct mount *mnt;
-       struct inode *rootino;
-       struct pnode_base *rootpb;
-       static struct qstr noname = { NULL, 0, 0 };
-       struct filesys *fs;
-       time_t  t;
-       struct intnl_stat stbuf;
-       unsigned long ul;
-       static struct option_value_info v[] = {
-               { "atimo",      "30" },
-               { NULL,         NULL }
-       };
-
-       if (native_internal_mount) {
-               /*
-                * Reentered!
-                */
-               abort();
-       }
-
-       /*
-        * Get mount options.
-        */
-       opts = NULL;
-       if (data && (len = strlen((char *)data))) {
-               opts = malloc(len + 1);
-               if (!opts)
-                       return -ENOMEM;
-               (void )strcpy(opts, data);
-               if (_sysio_get_args(opts, v) - opts != (ssize_t )len)
-                       return -EINVAL;
-       }
-       ul = strtoul(v[0].ovi_value, &cp, 0);
-       if (*cp != '\0' || ul >= UINT_MAX)
-               return -EINVAL;
-       if (opts) {
-               free(opts);
-               opts = NULL;
-       }
-
-       /*
-        * We maintain an artificial, internal, name space in order to
-        * have access to fully qualified path names in the various routines.
-        * Initialize that name space now.
-        */
-       fs = NULL;
-       mnt = NULL;
-       rootino = NULL;
-       rootpb = NULL;
-       /*
-        * This really should be per-mount. Hmm, but that's best done
-        * as proper sub-mounts in the core and not this driver. We reconcile
-        * now, here, by putting the mount options on the file system. That
-        * means they are global and only can be passed at the initial mount.
-        *
-        * Maybe do it right some day?
-        */
-       nfs = malloc(sizeof(struct native_filesystem));
-       if (!nfs) {
-               err = -ENOMEM;
-               goto error;
-       }
-       nfs->nfs_atimo = ul;
-       if ((unsigned long)nfs->nfs_atimo != ul) {
-               err = -EINVAL;
-               goto error;
-       }
-       fs = _sysio_fs_new(&native_inodesys_ops, 0, nfs);
-       if (!fs) {
-               err = -ENOMEM;
-               goto error;
-       }
-
-       /*
-        * Get root i-node.
-        */
-       t = _SYSIO_LOCAL_TIME();
-       err = native_stat("/", NULL, 0, &stbuf);
-       if (err)
-               goto error;
-       rootino = native_i_new(fs, t + FS2NFS(fs)->nfs_atimo, &stbuf);
-       if (!rootino) {
-               err = -ENOMEM;
-               goto error;
-       }
-
-       /*
-        * Generate base path-node for root.
-        */
-       rootpb = _sysio_pb_new(&noname, NULL, rootino);
-       if (!rootpb) {
-               err = -ENOMEM;
-               goto error;
-       }
-
-       /*
-        * Mount it. This name space is disconnected from the
-        * rest of the system -- Only available within this driver.
-        */
-       err = _sysio_do_mount(fs, rootpb, 0, NULL, &mnt);
-       if (err)
-               goto error;
-
-       native_internal_mount = mnt;
-       return 0;
-error:
-       if (mnt) {
-               if (_sysio_do_unmount(mnt) != 0)
-                       abort();
-               nfs = NULL;
-               fs = NULL;
-               rootpb = NULL;
-               rootino = NULL;
-       }
-       if (rootpb)
-               _sysio_pb_gone(rootpb);
-       if (fs) {
-               FS_RELE(fs);
-               nfs = NULL;
-       }
-       if (nfs)
-               free(nfs);
-       if (opts)
-               free(opts);
-
-       return err;
-}
-
-static int
-native_fsswop_mount(const char *source,
-                   unsigned flags,
-                   const void *data,
-                   struct pnode *tocover,
-                   struct mount **mntp)
-{
-       int     err;
-       struct nameidata nameidata;
-       struct mount *mnt;
-
-       /*
-        * Caller must use fully qualified path names when specifying
-        * the source.
-        */
-       if (*source != '/')
-               return -ENOENT;
-
-       if (!native_internal_mount) {
-               err = create_internal_namespace(data);
-               if (err)
-                       return err;
-       } else if (data && *(char *)data)
-               return -EINVAL;
-
-       /*
-        * Lookup the source in the internally maintained name space.
-        */
-       ND_INIT(&nameidata, 0, source, native_internal_mount->mnt_root, NULL);
-       err = _sysio_path_walk(native_internal_mount->mnt_root, &nameidata);
-       if (err)
-               return err;
-
-       /*
-        * Have path-node specified by the given source argument. Let the
-        * system finish the job, now.
-        */
-       err =
-           _sysio_do_mount(native_internal_mount->mnt_fs,
-                           nameidata.nd_pno->p_base,
-                           flags,
-                           tocover,
-                           &mnt);
-       /*
-        * Release the internal name space pnode and clean up any
-        * aliases we might have generated. We really don't need to cache them
-        * as they are only used at mount time..
-        */
-       P_RELE(nameidata.nd_pno);
-       (void )_sysio_p_prune(native_internal_mount->mnt_root);
-
-       if (!err) {
-               FS_REF(native_internal_mount->mnt_fs);
-               *mntp = mnt;
-       }
-       return err;
-}
-
-static int
-native_i_invalid(struct inode *inop, struct intnl_stat *stat)
-{
-       struct native_inode *nino;
-
-       /*
-        * Validate passed in inode against stat struct info
-        */
-       nino = I2NI(inop);
-       
-       if (!nino->ni_attrtim ||
-           (nino->ni_ident.dev != stat->st_dev ||
-            nino->ni_ident.ino != stat->st_ino ||
-#ifdef HAVE_GENERATION
-            nino->ni_ident.gen != stat->st_gen ||
-#endif
-            ((inop)->i_stbuf.st_mode & S_IFMT) != (stat->st_mode & S_IFMT)) ||
-           (((inop)->i_stbuf.st_rdev != stat->st_rdev) &&
-              (S_ISCHR((inop)->i_stbuf.st_mode) ||
-               S_ISBLK((inop)->i_stbuf.st_mode)))) {
-               nino->ni_attrtim = 0;                   /* invalidate attrs */
-               return 1;
-       }
-       return 0;
-}
-
-static struct inode *
-native_iget(struct filesys *fs, time_t expire, struct intnl_stat *stbp)
-{
-       struct inode *ino;
-       struct native_inode_identifier ident;
-       struct file_identifier fileid;
-
-       bzero(&ident, sizeof(ident)); 
-