summaryrefslogtreecommitdiffhomepage
path: root/etc
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-11-14 23:02:47 +0100
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-11-15 20:40:50 +0100
commit59765f508225998d8a73b1da8380ff06b4a6b79c (patch)
tree9397850a4ab5bac51ec373558722c45be4fe7258 /etc
parent8739dbe67d82f90d1c3b63a8d07af291c4ace600 (diff)
downloadmidipix_build-59765f508225998d8a73b1da8380ff06b4a6b79c.tar.bz2
midipix_build-59765f508225998d8a73b1da8380ff06b4a6b79c.tar.xz
1) Replaces the SysV-style build script link mechanism w/ build {,meta-}targets,
2) splits build.{subr,sh}} into subr/{build,pkg,rtl}.subr and build.sh, 3) replaces {997.strip,998.midipix_sh,999.tarballs}.build with subr/{strip,tarball}.subr, 4) moves patches to patches/, vars files to vars/, and everything else to etc/, 5) renames `Create `Midipix mintty shell' shortcut.vbs' to midipix_shortcut.vbs, 6) fixes a Weechat configure issue, and 7) updates etc/{build.usage,README}.
Diffstat (limited to 'etc')
-rw-r--r--etc/LICENCE21
-rw-r--r--etc/README230
-rw-r--r--etc/TESTED_ON5
-rw-r--r--etc/build.usage49
-rw-r--r--etc/config.cache166
-rw-r--r--etc/config.sub1823
-rwxr-xr-xetc/midipix.sh40
-rwxr-xr-xetc/midipix_check.sh51
-rw-r--r--etc/midipix_shortcut.vbs14
9 files changed, 2399 insertions, 0 deletions
diff --git a/etc/LICENCE b/etc/LICENCE
new file mode 100644
index 00000000..3d401651
--- /dev/null
+++ b/etc/LICENCE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Lucio Andrés Illanes Albornoz <l.illanes@gmx.de>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/etc/README b/etc/README
new file mode 100644
index 00000000..5cab545e
--- /dev/null
+++ b/etc/README
@@ -0,0 +1,230 @@
+
+ Obtaining and installing a Midipix distribution
+ Last update: Sun, 24 Apr 2016 09:42:40 +0000
+
+A Midipix distribution consists of the following:
+a) the native Midipix toolchain, consisting of perk, gcc, its dependencies,
+ and binutils,
+b) musl, a lightweight, fast, simple, and free libc[1] used by Midipix,
+c) the Midipix runtime components that bridge the gap between the libc and the
+ executive subsystems of all Windows NT-derived Windows OS starting with and
+ including Windows XP, and
+d) a steadily increasing number of 3rd party open source packages, as expected in
+ any modern POSIX-compliant *nix environment, including GNU coreutils, shells,
+ libraries such as ncurses, libressl, as well as Perl and Python.
+
+Compressed Midipix distribution tarballs and, separately, source tarballs are,
+at present, produced every four (4) hours UTC after each successful build and
+subsequently signed. This process is fully automated by a portable Bourne shell
+script; all of the above mentioned components are cross-compiled.
+
+Thus, the most hassle-free way to get started with Midipix is to simply download
+the most recent distribution tarball and follow the instructions below. It is,
+however, recommended to anyone intending to use Midipix as a development platform
+to familiarise themselves with the build process. Other reasons to prefer building
+a Midipix distribution yourself include integrating new 3rd party software or local
+runtime component patches. At present, a full build from scratch takes about 30
+(thirty) minutes to finish on an 8-core host with eight simultaneous make jobs,
+minus the generation of the tarballs. The build script can be obtained from the
+following GitHub repository: <https://github.com/lalbornoz/midipix_build>.
+
+If you obtained a Midipix distribution tarball, extract it into a directory and
+drive of your choice, henceforth referred to as target directory; the drive can
+be a network drive. Do _not_ use anything but a true UNIX environment tar(1), as
+e.g. WinRAR or WinZip handle extracting hard links incorrectly.
+If you built Midipix yourself, the target directory is equivalent to the ${PREFIX}
+configured in build.vars, which defaults to ${HOME}/midipix.
+
+At present, providing an interactive Midipix environment still requires the Cygwin
+terminal emulator Mintty and a shell; this does not include pseudoterminals, which
+are entirely handled by Midipix. Both can be installed via the 64-bit Cygwin setup
+program at <https://www.cygwin.com/setup-x86_64.exe>.
+
+Once installed, launching a Midipix shell is accomplished by the `midipix.sh' shell
+script provided in the target directory from within a Cygwin shell prompt in Mintty
+and the target directory. This may either simply be done manually each time, or
+automated by a shortcut. As shortcuts cannot be distributed, it can be created by
+either:
+a) Opening (executing) the VBScript script in the target directory from within the
+ latter cscript.exe, providing the fully qualified pathname to Mintty, if it differs
+ from the default value of C:\cygwin64\bin\mintty.exe or
+b) manually creating a shortcut to Mintty with `Start in:' set to the target directory
+ and the following command line:
+ [ ... ]\mintty.exe -i /Cygwin-Terminal.ico -e sh midipix.sh, or
+
+References:
+Sun, 24 Apr 2016 09:04:08 +0000 [1] musl FAQ <http://www.musl-libc.org/faq.html>
+
+ Linux distribution-related errata
+
+Busybox based distributions need the gawk, gsed, and coreutils packages to build perl.
+
+ Midipix status report
+ Last update: Tue, 26 Apr 2016 10:16:16 +0000
+
+The following build status codes are defined:
+C -- Complete build w/ at least the default configuration,
+B -- Broken, e.g. doesn't work at all or only minimally,
+I -- Integrated (e.g. linked against) with other packages,
+E -- Extensively tested and confirmed to work by multiple sources, possibly via a testsuite,
+P -- Patches needed to build that haven't been committed upstream yet, and
+U -- Update to latest stable version or HEAD pending.
+
+Component type Name Version Status Comments
+Host toolchain binutils 2.24.51 C--EPU
+Host toolchain file 5.28 C-----
+Host toolchain gcc 4.6.4 ---EPU Excludes libstdc++
+Host toolchain musl 1.1.12 C-IEPU
+Host toolchain perk HEAD C-IE--
+Host toolchain pkgconf 0.28 C--E--
+Host toolchain slibtool 0.5.7 C--E--
+Native toolchain binutils 2.24.51 C--EPU
+Native toolchain gcc 4.6.4 ---EPU Excludes libstdc++
+Native toolchain gmp 5.1.3 C-IEPU
+Native toolchain libelf 0.8.13 C-IEP-
+Native toolchain mpc 1.0.1 C-IE-U
+Native toolchain mpfr 3.1.2 C-IE-U
+Native toolchain musl 1.1.12 C-IEPU
+Native toolchain perk HEAD C-IE--
+Native toolchain pkgconf 0.28 C-IE--
+Runtime components dalist HEAD C-IE--
+Runtime components ntapi HEAD C-IE--
+Runtime components ntcon HEAD C-IE--
+Runtime components ntctty HEAD C-IE--
+Runtime components pemagine HEAD C-IE--
+Runtime components psxscl HEAD C-IE-- Excludes clone(2) and dlopen(3)
+Runtime components psxtypes HEAD C-IE--
+Runtime components ptycon HEAD C-IE--
+3rd party libraries bzip2 1.0.6 C-IE--
+3rd party libraries curl 7.47.1 C---P-
+3rd party libraries expat 2.2.0 C-----
+3rd party libraries gdbm 1.12 C-I---
+3rd party libraries glib 2.46.2 C-I-P- Shared object not built
+3rd party libraries gzip 1.2.4 C-IE--
+3rd party libraries inputproto 2.3.2 C-----
+3rd party libraries kbproto 1.0.7 C-----
+3rd party libraries libarchive 3.1.2 C-I-P-
+3rd party libraries libassuan 2.4.3 C-I---
+3rd party libraries libevent 2.0.22-stable C-I---
+3rd party libraries libfetch 2.33 C-I-P-
+3rd party libraries libffi 3.2.1 C-I-P-
+3rd party libraries libfirm HEAD C-I-P-
+3rd party libraries libgcrypt 1.7.3 C-I---
+3rd party libraries libgpg_error 1.24 C-I-P-
+3rd party libraries libICE 1.0.9 C-----
+3rd party libraries libksba 1.3.5 C-I-P-
+3rd party libraries libpipeline 1.4.1 C-I---
+3rd party libraries libpthread-stubs 0.3 C-----
+3rd party libraries libressl 2.2.6 C-I-P-
+3rd party libraries libSM 1.2.2 C-----
+3rd party libraries libX11 1.6.3 C-----
+3rd party libraries libXau 1.0.8 C-----
+3rd party libraries libXaw 1.0.13 C-----
+3rd party libraries libXext 1.3.3 C-----
+3rd party libraries libxkbfile 1.0.9 C-----
+3rd party libraries libXmu 1.1.2 C-----
+3rd party libraries libXpm 3.5.11 C-----
+3rd party libraries libXt 1.1.5 C-----
+3rd party libraries libz 1.2.8.2015.05.20 C-I---
+3rd party libraries lua 5.3.3 C---P-
+3rd party libraries ncurses 6.0 C-IEP- ncurses, ncursestw, and ncursesw built
+3rd party libraries npth 1.2 C-I---
+3rd party libraries pcre 8.39 C-I---
+3rd party libraries renderproto 0.11.1 C-----
+3rd party libraries xcb 1.12 C----- Needs pthreads / clone(2)
+3rd party libraries xcb-proto 1.12 C-----
+3rd party libraries xextproto 7.3.0 C-----
+3rd party libraries xproto 7.0.29 C-----
+3rd party libraries Xrender 0.9.9 C-----
+3rd party libraries xtrans 1.1 C-----
+3rd party libraries xz 5.2.2 C-IE--
+3rd party packages apk_tools 2.6.6 C---P-
+3rd party packages bash 4.3 C-I-P- Linked against ncursesw
+3rd party packages coreutils 8.23 C---P- Needs extensive testing
+3rd party packages cparser HEAD C-I-P-
+3rd party packages cron HEAD C---P-
+3rd party packages dash 0.5.8 C----- Provides /bin/sh
+3rd party packages diffutils 3.3 C-----
+3rd party packages dos2unix 7.3.4 C-----
+3rd party packages ed 1.13 C-----
+3rd party packages file 5.28 C-----
+3rd party packages findutils 4.5.14 C---P-
+3rd party packages gawk 4.1.3 C-----
+3rd party packages git 2.7.1 C----- Needs clone(2)
+3rd party packages gnupg 2.1.15 C----- Needs /dev/[u]random, extensive testing
+3rd party packages grep 2.22 C-----
+3rd party packages hexcurse 1.60.0 C-I-P- Linked against ncursesw
+3rd party packages htop 2.0.1 C-I-P- Linked against ncursesw
+3rd party packages inetutils 1.9.4 C-----
+3rd party packages infounzip 6.0 C-----
+3rd party packages infozip 3.0 C-----
+3rd party packages irssi 0.8.18 CB--P- DNS and /EXEC require clone(2) due to pthreads (see psxscl;) no Perl support
+3rd party packages john 1.8.0 C---P-
+3rd party packages less 481 C-I--- Linked against ncursesw
+3rd party packages lynx 2.8.8rel2 C-----
+3rd party packages make 3.81 C-----
+3rd party packages man_db 2.7.5 C-----
+3rd party packages mc 4.8.17 C-----
+3rd party packages mksh R52c C-----
+3rd party packages nano 2.5.3 C-I--- Linked against ncursesw
+3rd party packages netcat 110 C---P-
+3rd party packages openssh 7.1p2 C-I--- Linked against libressl
+3rd party packages p7zip HEAD C-----
+3rd party packages pacman 5.0.1 C---P-
+3rd party packages patch 2.7 C-----
+3rd party packages perl 5.22.1 ------ No dlopen(3) (see psxscl,) modules missing
+3rd party packages procps-ng 3.3.12 C-----
+3rd party packages python 3.5.1 -B--P- No dlopen(3) (see psxscl,) modules missing
+3rd party packages rsync 3.1.2 C-----
+3rd party packages rxvt-unicode 9.22 C-I--- No Perl support
+3rd party packages sed 4.2.2 C-----
+3rd party packages tar 1.28 C-----
+3rd party packages tcsh 6.19.00 C-I-P-
+3rd party packages the silver searcher 0.32.0 C-----
+3rd party packages tmux 2.2 C---P-
+3rd party packages util_linux 2.27.1 C----- Needs extensive testing
+3rd party packages vim 7.4.1952 C----- Provides /bin/vi
+3rd party packages weechat 1.6 C-----
+3rd party packages which 2.21 C-----
+3rd party packages whois 5.2.12 C-----
+3rd party packages xeyes 1.1.1 C-I---
+3rd party packages xwd 1.0.6 C-I---
+3rd party packages zsh 5.2 C-I--- Linked against ncursesw
+
+ Midipix roadmap/TODO list
+ Last update: Fri, 03 Jun 2016 12:47:13 +0000
+
+midipix alpha release: the final stretch
+========================================
+
+my.own.tasks@midipix.org
+------------------------
+
+* ofd tables: additional bucket allocation as needed.
+* `ls -R //c`: check for the cause of individual failures.
+ (might be related to the above ofd bucket allocation).
+* integrate clone and the initial ldso implementation.
+* integrate the signal queue, check signal implementation for
+ semantic completion, especially in the context of multi-threaded
+ applications.
+* implement /dev/random and /dev/urandom, as well as other virtual
+ folders needed by core applications.
+* implement the scheduler functions.
+* implement (possibly as stubs) missing system calls, fix existing
+ system calls as needed by the core applications.
+* toolchain: provided the few interfaces missing for C++ support.
+* porting of mintty.
+
+
+porting and other release-related tasks
+---------------------------------------
+
+* testing of ncurses.
+* testing of bash and dash when built with ncurses.
+* testing of all of the coreutils, seeing which ones fail due to
+ a missing virtual file or folder, which ones fail due to a missing
+ system call (crash), and which ones fail due to an incomplete or
+ incorrect system call.
+* porting of gdb.
+
+vim:expandtab sw=8 ts=8 tw=0 nowrap
diff --git a/etc/TESTED_ON b/etc/TESTED_ON
new file mode 100644
index 00000000..2989ae30
--- /dev/null
+++ b/etc/TESTED_ON
@@ -0,0 +1,5 @@
+Arch Linux 2016.02.01 (x86_64)
+CentOS v7.2.1511 (Core) (x86_64)
+Debian GNU/Linux v8.5 (stable) (jessie) (x86_64)
+Exherbo Linux (x86_64-pc-linux-musl) (x86_64)
+openSUSE 20150612 (Tumbleweed) (x86_64)
diff --git a/etc/build.usage b/etc/build.usage
new file mode 100644
index 00000000..c513c82c
--- /dev/null
+++ b/etc/build.usage
@@ -0,0 +1,49 @@
+usage: ./build.sh [-x] [-a nt32|nt64] [-b debug|release] [-c] [-h] [-n]
+ [-r package[,...][:step]] [-t[.gz|.bz2|.xz] [-v]
+ [<target>[ ...]]
+ -x Set the xtrace sh(1)ell option for debugging purposes.
+ -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
+ -b debug|release Selects debug or release build; defaults to debug.
+ This currently only controls CFLAGS.
+ -c Clean ${PREFIX} before processing build scripts.
+ -h Show this screen.
+ -n Perform dry run.
+ -r package[,...][:step] Restart the specified comma-separated build(s) completely or at
+ the optionally specified step. Currently defined steps are:
+ fetch extract build_dir autoconf patch configure clean build install
+ -t[.gz|.bz2|.xz] Produce binary distribution and source tarballs containing ${PREFIX}
+ sans ${WORKDIR} and ${PREFIX}/src/midipix_build and ${WORKDIR} sans top-
+ level regular files at the end of a build with zero failures. The
+ tarballs will be compressed with either gzip, bzip2, or xz and signed
+ with GPG; the default compression is xz.
+ -v Be verbose; this currently only affects secure_{cd,rm}() and insecure_mkdir().
+ <target>[ ...] One of:
+ host_toolchain, native_toolchain, runtime, lib_packages,
+ leaf_packages, world, or devroot.
+
+ ${HOME}/midipix_build.vars, ../midipix_build.vars, and build.vars are sourced
+ if they exist.
+
+ Packages that are built by pkg.build will apply local patches in ${WORKDIR}
+ named ${PKG_SUBDIR}.local.patch.
+
+ Examples:
+ ./build.sh -r coreutils
+ Completely restart the coreutils build.
+
+ ./build.sh -r coreutils:configure,build,install
+ Restart the configure, build, and install steps of the coreutils build.
+
+ ./build.sh -r psxscl GITROOT_HEAD=... PKG_PSXSCL_CFLAGS_CONFIGURE_EXTRA=-DPSX_INTERNAL_STRACE
+ Build psxscl from the internal repository with strace enabled.
+
+ ./build.sh -c -r ALL GITROOT_HEAD=...
+ Clean ${PREFIX} and forcibly rebuild everything.
+
+This script has been tested on the following platforms:
+Alpine v3.4 (20160917_17:50) (x86_64)
+Arch Linux 2016.02.01 (x86_64)
+CentOS v7.2.1511 (Core) (x86_64)
+Debian GNU/Linux v8.5 (stable) (jessie) (x86_64)
+Exherbo Linux (x86_64-pc-linux-musl) (x86_64)
+openSUSE 20150612 (Tumbleweed) (x86_64)
diff --git a/etc/config.cache b/etc/config.cache
new file mode 100644
index 00000000..2910ce71
--- /dev/null
+++ b/etc/config.cache
@@ -0,0 +1,166 @@
+# autoconf
+ac_cv_buggy_getaddrinfo=no
+ac_cv_func_calloc_0_nonnull=yes
+ac_cv_func_chown_works=yes
+ac_cv_func_getgroups_works=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_strnlen_working=yes
+ac_cv_func_mmap_fixed_mapped=yes
+ac_cv_func_strcoll_works=yes
+ac_cv_func_working_mktime=yes
+ac_cv_file__dev_ptmx=yes
+ac_cv_file__dev_ptc=no
+gt_cv_int_divbyzero_sigfpe=yes
+
+# gnulib
+gl_cv_func_cbrtl_ieee=yes
+gl_cv_func_ceilf_ieee=yes
+gl_cv_func_ceil_ieee=yes
+gl_cv_func_ceill_ieee=yes
+gl_cv_func_chown_ctime_works=yes
+gl_cv_func_chown_slash_works=yes
+gl_cv_func_exp2l_ieee=yes
+gl_cv_func_expm1_ieee=yes
+gl_cv_func_fcntl_f_dupfd_works=yes
+gl_cv_func_fdopendir_works=yes
+gl_cv_func_floorf_ieee=yes
+gl_cv_func_fflush_stdin=yes
+gl_cv_func_fmaf_works=yes
+gl_cv_func_fmal_works=yes
+gl_cv_func_fma_works=yes
+gl_cv_func_fmodf_ieee=yes
+gl_cv_func_fmod_ieee=yes
+gl_cv_func_fmodl_ieee=yes
+gl_cv_func_fpurge_works=yes
+gl_cv_func_fseeko=yes
+gl_cv_func_futimens_works=yes
+gl_cv_func_futimesat_works=yes
+gl_cv_func_getgroups_works=yes
+gl_cv_func_gettimeofday_clobber=no
+gl_cv_func_hypotf_ieee=yes
+gl_cv_func_hypotl_ieee=yes
+gl_cv_func_hypot_ieee=yes
+gl_cv_func_isfinitel_works=yes
+gl_cv_func_isnanl_works=yes
+gl_cv_func_linkat_slash=yes
+gl_cv_func_link_works=yes
+gl_cv_func_log10f_ieee=yes
+gl_cv_func_log10_ieee=yes
+gl_cv_func_log1pf_ieee=yes
+gl_cv_func_log1p_ieee=yes
+gl_cv_func_log1pl_ieee=yes
+gl_cv_func_log2f_ieee=yes
+gl_cv_func_log2_ieee=yes
+gl_cv_func_logf_ieee=yes
+gl_cv_func_log_ieee=yes
+gl_cv_func_lstat_dereferences_slashed_symlink=yes
+gl_cv_func_mbrlen_empty_input=yes
+gl_cv_func_mbrtowc_empty_input=yes
+gl_cv_func_memchr_works=yes
+gl_cv_func_memmem_works_fast=yes
+gl_cv_func_mkdir_trailing_dot_works=yes
+gl_cv_func_mkdir_trailing_slash_works=yes
+gl_cv_func_mkfifo_works=yes
+gl_cv_func_mknod_works=yes
+gl_cv_func_modff_ieee=yes
+gl_cv_func_modf_ieee=yes
+gl_cv_func_modfl_ieee=yes
+gl_cv_func_nanosleep=yes
+gl_cv_func_open_directory_works=yes
+gl_cv_func_perror_works=yes
+gl_cv_func_printf_directive_a=yes
+gl_cv_func_printf_directive_f=yes
+gl_cv_func_printf_directive_n=yes
+gl_cv_func_printf_enomem=yes
+gl_cv_func_printf_flag_zero=yes
+gl_cv_func_printf_infinite_long_double=yes
+gl_cv_func_printf_infinite=yes
+gl_cv_func_printf_sizes_c99=yes
+gl_cv_func_pselect_detects_ebadf=yes
+gl_cv_func_ptsname_sets_errno=yes
+gl_cv_func_readlink_works=yes
+gl_cv_func_realpath_works=yes
+gl_cv_func_remainderf_ieee=yes
+gl_cv_func_remainder_ieee=yes
+gl_cv_func_remainderl_ieee=yes
+gl_cv_func_rename_dest_works=yes
+gl_cv_func_rename_link_works=yes
+gl_cv_func_rename_slash_dst_works=yes
+gl_cv_func_rename_slash_src_works=yes
+gl_cv_func_rmdir_works=yes
+gl_cv_func_roundf_ieee=yes
+gl_cv_func_round_ieee=yes
+gl_cv_func_select_detects_ebadf=yes
+gl_cv_func_setenv_works=yes
+gl_cv_func_signbit_gcc=yes
+gl_cv_func_signbit=yes
+gl_cv_func_sleep_works=yes
+gl_cv_func_snprintf_directive_n=yes
+gl_cv_func_snprintf_retval_c99=yes
+gl_cv_func_snprintf_truncation_c99=yes
+gl_cv_func_stat_dir_slash=yes
+gl_cv_func_stat_file_slash=yes
+gl_cv_func_stpncpy=yes
+gl_cv_func_strcasestr_linear=yes
+gl_cv_func_strchrnul_works=yes
+gl_cv_func_strerror_0_works=yes
+gl_cv_func_strstr_linear=yes
+gl_cv_func_strtod_works=yes
+gl_cv_func_svid_putenv=yes
+gl_cv_func_symlink_works=yes
+gl_cv_func_tdelete_works=yes
+gl_cv_func_truncf_ieee=yes
+gl_cv_func_trunc_ieee=yes
+gl_cv_func_truncl_ieee=yes
+gl_cv_func_tzset_clobber=no
+gl_cv_func_ungetc_works=yes
+gl_cv_func_unlink_honors_slashes=yes
+gl_cv_func_unsetenv_works=yes
+gl_cv_func_usleep_works=yes
+gl_cv_func_utimensat_works=yes
+gl_cv_func_vsnprintf_posix=yes
+gl_cv_func_vsnprintf_zerosize_c99=yes
+gl_cv_func_vsprintf_posix=yes
+gl_cv_func_wcwidth_works=yes
+gl_cv_func_working_getdelim=yes
+gl_cv_func_working_mkstemp=yes
+gl_cv_func_working_mktime=yes
+gl_cv_func_working_strerror=yes
+ac_cv_func___fseterr=yes
+gl_cv_func_getcwd_null=yes
+gl_cv_struct_dirent_d_ino=yes
+
+# bash
+bash_cv_func_sigsetjmp=present
+bash_cv_getcwd_malloc=yes
+bash_cv_job_control_missing=present
+bash_cv_printf_a_format=yes
+bash_cv_sys_named_pipes=present
+bash_cv_ulimit_maxfds=yes
+bash_cv_under_sys_siglist=yes
+bash_cv_unusable_rtsigs=no
+
+# libX11
+xorg_cv_malloc0_returns_null=yes
+
+# mc
+ac_list_mounted_fs=found
+
+# procps_ng
+ac_cv_func_realloc_0_nonnull=yes
+
+# vim
+ac_cv_small_wchar_t=no
+ac_x_header_dirs=${PKG_PREFIX}/include
+vim_cv_bcopy_handles_overlap=yes
+vim_cv_getcwd_broken=no
+vim_cv_memcpy_handles_overlap=no
+vim_cv_memmove_handles_overlap=yes
+vim_cv_stat_ignores_slash=no
+vim_cv_terminfo=yes
+vim_cv_toupper_broken=no
+vim_cv_tty_group=tty
+vim_cv_tty_mode=0666
+
+# libevent
+ac_pe_target=true
diff --git a/etc/config.sub b/etc/config.sub
new file mode 100644
index 00000000..9feb73bf
--- /dev/null
+++ b/etc/config.sub
@@ -0,0 +1,1823 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2016 Free Software Foundation, Inc.
+
+timestamp='2016-06-20'
+
+# 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 3 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, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# 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
+
+# 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 or 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 1992-2016 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-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ 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*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -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 \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | ba \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | 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 \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]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 \
+ | visium \
+ | 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
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ 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
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ 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-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | ba-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | e2k-* | 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-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | 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-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+ | riscv32-* | riscv64-* \
+ | 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-* \
+ | visium-* \
+ | 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
+ ;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
+ 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
+ ;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
+ 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*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
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
+ 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
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-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
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-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 | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ 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* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
+ | -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* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -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* \
+ | -onefs* | -tirtos* | -phoenix*)
+ # 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
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -ios)
+ ;;
+ -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
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ 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
+ ;;
+ 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/etc/midipix.sh b/etc/midipix.sh
new file mode 100755
index 00000000..cc168d18
--- /dev/null
+++ b/etc/midipix.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+set -o noglob;
+if [ -z "${PATH##/bin:*}" \
+-a -z "${PATH##*:/bin:*}" \
+-a -z "${PATH##*:/bin}" ]; then
+ export PATH="/bin${PATH:+:${PATH}}";
+fi;
+while getopts m __; do
+case ${__} in
+m) MIDIPIX_DNAME_DIST=minipix; ;;
+*) echo "usage: $0 [-m] [Cygwin pathname to Midipix root]";
+ echo " -m: use Minipix distribution"; exit 0;
+esac; done;
+if [ -n "${1}" ]; then
+ MIDIPIX_PATH=$(cygpath -am "${1}"); cd ${MIDIPIX_PATH} || exit 1;
+else
+ MIDIPIX_PATH=$(cygpath -am .);
+fi;
+printf "%-35s: %s\n" "Absolute Midipix pathname" "${MIDIPIX_PATH}";
+printf "%-35s: %s\n" "Distribution name" "${MIDIPIX_DNAME_DIST:=native}";
+if [ -f libpsxscl.log ]; then
+ echo Found libpsxscl.log, copying to libpsxscl.last.
+ if ! cp -p -- libpsxscl.log libpsxscl.last; then
+ echo "(cp(1) returned ${?}, ignored.)";
+ fi;
+fi;
+if [ "$(uname -o)" = "Msys" ]; then
+ export MSYS2_ARG_CONV_EXCL="*";
+fi;
+mintty -h always -s 120,80 -e /bin/sh -c "
+ set -o errexit;
+ env PATH=${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib \
+ ${MIDIPIX_DNAME_DIST}/bin/ntctty.exe -e \
+ ${MIDIPIX_DNAME_DIST}/bin/chroot ${MIDIPIX_DNAME_DIST} \
+ /bin/env PATH=/bin:/lib bash" &
+sleep ${SLEEP_DELAY:=0.25};
+printf "%-35s: %s\n" "ntctty PID" "$(ps -W | awk '$NF ~ /ntctty\.exe$/{print $1}')";
+
+# vim:filetype=sh
diff --git a/etc/midipix_check.sh b/etc/midipix_check.sh
new file mode 100755
index 00000000..f669de44
--- /dev/null
+++ b/etc/midipix_check.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -o errexit -o noglob;
+if [ "${1}" = "-m" ]; then
+ MIDIPIX_DNAME_DIST=minipix; shift;
+fi;
+if [ -n "${1}" ]; then
+ MIDIPIX_PATH=$(cygpath -am "${1}");
+else
+ MIDIPIX_PATH=$(cygpath -am .);
+fi;
+: ${MIDIPIX_DNAME_DIST:=native};
+echo "Absolute Midipix pathname: ${MIDIPIX_PATH}";
+echo "Distribution name : ${MIDIPIX_DNAME_DIST}";
+printf "%-85s" "Checking if all binaries are present...";
+for __ in chroot env ntctty.exe; do
+ if [ ! -e ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/bin/${__} ]; then
+ printf "\nerror: missing file ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/bin/${__}\n";
+ exit 2;
+ fi;
+done;
+printf "\033[97m[ \033[92mOK \033[97m]\033[0m\n";
+printf "%-85s" "Checking ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib for symbolic links...";
+if [ -n "$(find ${MIDIPIX_DNAME_DIST}/lib \
+ -maxdepth 1 -name \*.so -type l -print -quit)" ]; then
+ echo;
+ echo "Warning: ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib contains shared objects (library"
+ echo "images) that are symbolic links. This is not supported by Midipix at"
+ echo "present and commonly occurs if the binary distribution tarball was"
+ echo "extracted by an application that does not support symbolic links"
+ echo "correctly. This also occurs when a binary distribution was built locally."
+ printf "Convert all shared object symbolic links to hard links? (y|N) ";
+ read __;
+ case "${__}" in
+ [yY]) break; ;;
+ *) echo "Exiting."; exit 3; ;;
+ esac;
+ for LINK_NAME in $(find ${MIDIPIX_PATH}/${MIDIPIX_DNAME_DIST}/lib \
+ -maxdepth 1 -name \*.so -type l); do
+ LINK_TARGET="$(readlink -- "${LINK_NAME}")";
+ if [ -f "${MIDIPIX_PATH}/native/lib/${LINK_TARGET}" ]; then
+ echo rm -f -- "${LINK_NAME}";
+ rm -f -- "${LINK_NAME}";
+ echo ln -f -- "${LINK_TARGET}" "${LINK_NAME}";
+ ln -f -- "${LINK_TARGET}" "${LINK_NAME}";
+ fi;
+ done;
+fi;
+printf "\033[97m[ \033[92mOK \033[97m]\033[0m\n";
+
+# vim:filetype=sh
diff --git a/etc/midipix_shortcut.vbs b/etc/midipix_shortcut.vbs
new file mode 100644
index 00000000..ce8e10d4
--- /dev/null
+++ b/etc/midipix_shortcut.vbs
@@ -0,0 +1,14 @@
+Set WshShell = CreateObject("WScript.Shell")
+If WScript.Arguments.Count = 0 Then
+ CygwinPath = "C:\cygwin64"
+Else
+ CygwinPath = WScript.Arguments(0)
+End If
+Set fso = CreateObject("Scripting.FileSystemObject")
+Set oMyShortCut = WshShell.CreateShortcut(WshShell.CurrentDirectory + "\Midipix shell.lnk")
+oMyShortCut.Arguments = "midipix.sh"
+oMyShortcut.IconLocation = CygwinPath + "\Cygwin-Terminal.ico"
+oMyShortCut.TargetPath = CygwinPath + "\bin\sh.exe"
+oMyShortCut.WindowStyle = 4
+oMyShortCut.WorkingDirectory = WshShell.CurrentDirectory
+oMyShortCut.Save