Commit 988a2a5655f4ae624addc05775b8ca4f89dd24d5

Authored by Perry Werneck
1 parent 1d92f7c6
Exists in master

Importando fontes do módulo C#

.gitignore 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +Makefile
  2 +*~
  3 +*.bak
  4 +*.layout
  5 +aclocal.m4
  6 +autom4te.cache
  7 +*.log
  8 +config.status
  9 +configure
  10 +config.h
  11 +stamp-h1
  12 +.bin
  13 +.obj
... ...
Makefile.in 0 → 100644
... ... @@ -0,0 +1,146 @@
  1 +#
  2 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +#
  6 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +#
  8 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +# Free Software Foundation.
  11 +#
  12 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +# obter mais detalhes.
  16 +#
  17 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +#
  21 +# Contatos:
  22 +#
  23 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +#
  26 +
  27 +GLUELIB=lib3270-mono@DLLEXT@
  28 +LIBNAME=tn3270-sharp.dll
  29 +
  30 +#---[ Configuration values ]-------------------------------------------------------------
  31 +
  32 +PACKAGE_NAME=@PACKAGE_NAME@
  33 +PACKAGE_VERSION=@PACKAGE_VERSION@
  34 +PACKAGE_TARNAME=@PACKAGE_TARNAME@
  35 +
  36 +prefix=@prefix@
  37 +exec_prefix=@exec_prefix@
  38 +bindir=@bindir@
  39 +sbindir=@sbindir@
  40 +libdir=@libdir@
  41 +
  42 +BASEDIR=@BASEDIR@
  43 +SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
  44 +
  45 +OBJDIR=$(BASEDIR)/.obj
  46 +OBJDBG=$(OBJDIR)/Debug
  47 +OBJRLS=$(OBJDIR)/Release
  48 +
  49 +BINDIR=$(BASEDIR)/.bin
  50 +BINDBG=$(BINDIR)/Debug
  51 +BINRLS=$(BINDIR)/Release
  52 +
  53 +INSTALL=@INSTALL@
  54 +INSTALL_DATA=@INSTALL_DATA@
  55 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  56 +
  57 +LN_S=@LN_S@
  58 +
  59 +MCS=@MCS@
  60 +MONO=@MONO@
  61 +MKDIR=@MKDIR_P@
  62 +
  63 +#---[ Rules ]----------------------------------------------------------------------------
  64 +
  65 +$(BINDBG)/%.exe: \
  66 + testprograms/%.cs \
  67 + $(BINDBG)/$(LIBNAME)
  68 +
  69 + $(MCS) -reference:$(BINDBG)/$(LIBNAME) -debug -out:$@ $<
  70 +
  71 +$(BINRLS)/%.exe: \
  72 + testprograms/%.cs
  73 +
  74 + $(MCS) -reference:$(BINRLS)/$(LIBNAME) -out:$@ $<
  75 +
  76 +#---[ Targets ]--------------------------------------------------------------------------
  77 +
  78 +all: \
  79 + $(BINRLS)/$(GLUELIB) \
  80 + $(BINRLS)/$(LIBNAME)
  81 +
  82 +Release: \
  83 + $(BINRLS)/$(GLUELIB) \
  84 + $(BINRLS)/$(LIBNAME)
  85 +
  86 +zip: \
  87 + tn3270-sharp-@PACKAGE_VERSION@.@host@.zip
  88 +
  89 +tn3270-sharp-@PACKAGE_VERSION@.@host@.zip: \
  90 + $(BINRLS)/$(GLUELIB) \
  91 + $(BINRLS)/$(LIBNAME) \
  92 + $(BINRLS)/sample.exe
  93 +
  94 + @zip -9 -j $@ \
  95 + $(BINRLS)/$(GLUELIB) \
  96 + $(BINRLS)/$(LIBNAME) \
  97 + testprograms/sample.cs \
  98 + src/tn3270-sharp/tn3270-sharp.cs \
  99 + $(BINRLS)/sample.exe
  100 +
  101 +
  102 +$(BINRLS)/$(GLUELIB): \
  103 + src/native/*.cc \
  104 + src/native/*.h \
  105 + src/include/*.h
  106 +
  107 + @make -C src/native $@
  108 +
  109 +$(BINRLS)/$(LIBNAME): \
  110 + src/tn3270-sharp/*.cs \
  111 + src/include/*.h
  112 +
  113 + @make -C src/tn3270-sharp $@
  114 +
  115 +Debug: \
  116 + $(BINDBG)/$(GLUELIB) \
  117 + $(BINDBG)/$(LIBNAME) \
  118 + $(BINDBG)/sample.exe
  119 +
  120 +
  121 +run: \
  122 + $(BINDBG)/$(GLUELIB) \
  123 + $(BINDBG)/$(LIBNAME) \
  124 + $(BINDBG)/sample.exe
  125 +
  126 + @$(MONO) $(BINDBG)/sample.exe
  127 +
  128 +$(BINDBG)/$(GLUELIB): \
  129 + src/native/*.cc \
  130 + src/native/*.h \
  131 + src/include/*.h
  132 +
  133 + @make -C src/native $@
  134 +
  135 +$(BINDBG)/$(LIBNAME): \
  136 + src/tn3270-sharp/*.cs \
  137 + src/include/*.h
  138 +
  139 + @make -C src/tn3270-sharp $@
  140 +
  141 +clean:
  142 + @rm -fr $(BINDIR)
  143 + @rm -fr $(OBJDIR)
  144 +
  145 +
  146 +
... ...
autogen.sh 0 → 100755
... ... @@ -0,0 +1,26 @@
  1 +#!/bin/bash
  2 +
  3 +test -n "$srcdir" || srcdir=`dirname "$0"`
  4 +test -n "$srcdir" || srcdir=.
  5 +
  6 +olddir=`pwd`
  7 +cd "$srcdir"
  8 +
  9 +aclocal
  10 +if test $? != 0 ; then
  11 + echo "aclocal failed."
  12 + exit -1
  13 +fi
  14 +
  15 +autoconf
  16 +if test $? != 0 ; then
  17 + echo "autoconf failed."
  18 + exit -1
  19 +fi
  20 +
  21 +cd "$olddir"
  22 +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
  23 +
  24 +
  25 +
  26 +
... ...
configure.ac 0 → 100644
... ... @@ -0,0 +1,341 @@
  1 +
  2 +dnl Process this file with autoconf to produce a configure script.
  3 +
  4 +dnl The minimum version of autoconf required.
  5 +AC_PREREQ(2.59)
  6 +
  7 +dnl Initialise automake with the package name, version and
  8 +dnl bug-reporting address.
  9 +AC_INIT([lib3270-mono], [1.0], [perry.werneck@gmail.com])
  10 +
  11 +dnl Place auxilliary scripts here.
  12 +AC_CONFIG_AUX_DIR([scripts])
  13 +
  14 +dnl Compute the canonical host-system type
  15 +AC_CANONICAL_HOST
  16 +
  17 +dnl Put macro definitions here (though they aren't used).
  18 +AC_CONFIG_HEADER([src/include/config.h])
  19 +
  20 +dnl Initialise automake stuff.
  21 +AM_INIT_AUTOMAKE
  22 +
  23 +dnl Check for iconv
  24 +AM_ICONV
  25 +
  26 +dnl Checks for programs.
  27 +AC_PROG_CXX
  28 +AC_PROG_CC
  29 +AC_PROG_SED
  30 +AC_PROG_LN_S
  31 +
  32 +AC_LANG([C++])
  33 +
  34 +dnl ---------------------------------------------------------------------------
  35 +dnl Initialize defaults
  36 +dnl ---------------------------------------------------------------------------
  37 +DLLFLAGS="-shared -Wl,-soname,\$(@F)"
  38 +DBG_CFLAGS="-DDEBUG=1"
  39 +RLS_CFLAGS="-DNDEBUG=1"
  40 +
  41 +dnl ---------------------------------------------------------------------------
  42 +dnl Check for OS specifics
  43 +dnl ---------------------------------------------------------------------------
  44 +
  45 +case "$host" in
  46 + *-mingw32)
  47 + RLS_LDFLAGS="-Wl,--strip-all"
  48 + DBG_LDFLAGS=""
  49 + APP_LDFLAGS=""
  50 +
  51 + DBG_DATADIR=""
  52 + RLS_DATADIR=""
  53 +
  54 + EXEEXT=".exe"
  55 +
  56 + DLLPREFIX=""
  57 + DLLEXT=".dll"
  58 +
  59 + CFLAGS="$CFLAGS -Wall -Werror -D_WIN32_WINNT=0x0600"
  60 + LDFLAGS="-static-libstdc++ -static-libgcc $LDFLAGS"
  61 + LIBS="$LIBS -lws2_32 -lntdll -lwtsapi32"
  62 +
  63 + LOGDIR=.
  64 + ;;
  65 +
  66 + *)
  67 + RLS_LDFLAGS=""
  68 + DBG_LDFLAGS=""
  69 + APP_LDFLAGS=""
  70 +
  71 + DBG_DATADIR="-DDATADIR=."
  72 + DBG_CFLAGS="-fstack-check $DBG_CFLAGS"
  73 +
  74 + RLS_DATADIR="-DDATADIR=\$(datarootdir)/\$(PACKAGE_NAME)"
  75 +
  76 + EXEEXT=""
  77 +
  78 + DLLPREFIX="lib"
  79 + DLLEXT=".so"
  80 +
  81 + CFLAGS="$CFLAGS -Wall -Werror"
  82 +
  83 + # LIBS="-Wl,--no-allow-shlib-undefined,--as-needed,--no-undefined -pthread $LIBS"
  84 + LIBS="-pthread $LIBS"
  85 +
  86 + LOGDIR="/var/log"
  87 +
  88 +
  89 +esac
  90 +
  91 +AC_SUBST(LIBS)
  92 +
  93 +AC_SUBST(DBG_DATADIR)
  94 +AC_SUBST(DBG_CFLAGS)
  95 +
  96 +AC_SUBST(RLS_DATADIR)
  97 +AC_SUBST(RLS_CFLAGS)
  98 +
  99 +AC_SUBST(DBG_LDFLAGS)
  100 +AC_SUBST(RLS_LDFLAGS)
  101 +AC_SUBST(APP_LDFLAGS)
  102 +
  103 +AC_SUBST(EXEEXT)
  104 +AC_SUBST(DLLEXT)
  105 +AC_SUBST(DLLPREFIX)
  106 +
  107 +AC_SUBST(LOGDIR)
  108 +
  109 +dnl ---------------------------------------------------------------------------
  110 +dnl Check for other programs
  111 +dnl ---------------------------------------------------------------------------
  112 +AC_PATH_TOOL([STRIP], [strip])
  113 +AC_PATH_TOOL([RPMBUILD], [rpmbuild], [no])
  114 +AC_PATH_TOOL([MAKENSIS], [makensis], [no])
  115 +AC_PATH_TOOL([VALGRIND], [valgrind], [no])
  116 +AC_PATH_TOOL([WINDRES], [windres], [no])
  117 +AC_PATH_TOOL([ZIP], [zip], [zip])
  118 +AC_PATH_TOOL([MCS], [mcs], [mcs])
  119 +
  120 +AC_PATH_PROG([MONO], [mono], [no])
  121 +
  122 +dnl ---------------------------------------------------------------------------
  123 +dnl Version info
  124 +dnl ---------------------------------------------------------------------------
  125 +
  126 +AC_DEFINE(PACKAGE_RELEASE,APP_LEVEL)
  127 +AC_SUBST(PACKAGE_RELEASE, APP_LEVEL)
  128 +
  129 +app_vrs_major=$(echo $VERSION | cut -d. -f1)
  130 +app_vrs_minor=$(echo $VERSION | cut -d. -f2)
  131 +
  132 +AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major)
  133 +AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor)
  134 +
  135 +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major)
  136 +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor)
  137 +
  138 +AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major)
  139 +AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor)
  140 +
  141 +app_cv_description="C# Bindings for lib3270/pw3270"
  142 +
  143 +AC_DEFINE_UNQUOTED(PACKAGE_DESCRIPTION,"$app_cv_description")
  144 +AC_SUBST(PACKAGE_DESCRIPTION,"$app_cv_description")
  145 +
  146 +dnl ---------------------------------------------------------------------------
  147 +dnl Check for integer types & library functions
  148 +dnl ---------------------------------------------------------------------------
  149 +
  150 +AC_CHECK_TYPES([pid_t, uint8_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t])
  151 +
  152 +dnl ---------------------------------------------------------------------------
  153 +dnl Check for libintl
  154 +dnl ---------------------------------------------------------------------------
  155 +
  156 +AC_PATH_TOOL([XGETTEXT], [xgettext], [no])
  157 +AC_PATH_TOOL([MSGCAT], [msgcat], [no])
  158 +AC_PATH_TOOL([MSGINIT], [msginit], [no])
  159 +AC_PATH_TOOL([MSGMERGE], [msgmerge], [no])
  160 +AC_PATH_TOOL([MSGFMT], [msgfmt], [no])
  161 +
  162 +AC_CHECK_HEADER(libintl.h, [
  163 + AC_DEFINE(HAVE_LIBINTL, 1)
  164 +])
  165 +
  166 +dnl --------------------------------------------------
  167 +dnl test for clock_gettime
  168 +dnl --------------------------------------------------
  169 +
  170 +AC_CHECK_FUNCS(clock_gettime, [], [
  171 + AC_CHECK_LIB(rt, clock_gettime, [
  172 + AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
  173 + LIBS="$LIBS -lrt"
  174 + ])
  175 +])
  176 +
  177 +dnl --------------------------------------------------
  178 +dnl test for in_addr_t
  179 +dnl --------------------------------------------------
  180 +AC_MSG_CHECKING(for in_addr_t in netinet/in.h)
  181 +AC_EGREP_HEADER(in_addr_t, netinet/in.h,
  182 + [ AC_DEFINE([HAVE_IN_ADDR_T], [1], [Define to 1 if in_addr_t is available.]) AC_MSG_RESULT(yes) ],
  183 + AC_MSG_RESULT(no))
  184 +
  185 +dnl ---------------------------------------------------------------------------
  186 +dnl test for reentrant time routines
  187 +dnl ---------------------------------------------------------------------------
  188 +
  189 +AC_MSG_CHECKING(for localtime_r in time.h)
  190 +AC_EGREP_HEADER(localtime_r, time.h,
  191 + [ AC_DEFINE([HAVE_LOCALTIME_R], [1], [Define to 1 if localtime_r is available.]) AC_MSG_RESULT(yes) ],
  192 + AC_MSG_RESULT(no))
  193 +
  194 +AC_MSG_CHECKING(for gmtime_r in time.h)
  195 +AC_EGREP_HEADER(gmtime_r, time.h,
  196 + [ AC_DEFINE([HAVE_GMTIME_R], [1], [Define to 1 if gmtime_r is available.]) AC_MSG_RESULT(yes) ],
  197 + AC_MSG_RESULT(no))
  198 +
  199 +dnl ---------------------------------------------------------------------------
  200 +dnl Check for C++ 2011 support
  201 +dnl ---------------------------------------------------------------------------
  202 +AC_DEFUN([AX_CHECK_COMPILE_FLAG],
  203 +[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
  204 +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
  205 +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
  206 + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
  207 + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
  208 + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
  209 + [AS_VAR_SET(CACHEVAR,[yes])],
  210 + [AS_VAR_SET(CACHEVAR,[no])])
  211 + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
  212 +AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
  213 + [m4_default([$2], :)],
  214 + [m4_default([$3], :)])
  215 +AS_VAR_POPDEF([CACHEVAR])dnl
  216 +])dnl AX_CHECK_COMPILE_FLAGS
  217 +
  218 +AX_CHECK_COMPILE_FLAG([-std=gnu++11], [CFLAGS="$CFLAGS -std=gnu++11"])
  219 +
  220 +dnl ---------------------------------------------------------------------------
  221 +dnl Check for ELF symbol visibility support
  222 +dnl ---------------------------------------------------------------------------
  223 +m4_define([GLIB_CHECK_COMPILE_WARNINGS],
  224 +[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
  225 +rm -f conftest.$ac_objext
  226 +glib_ac_compile_save="$ac_compile"
  227 +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext'
  228 +AS_IF([_AC_EVAL_STDERR($ac_compile) &&
  229 + AC_TRY_COMMAND([(if test -s conftest.err; then false ; else true; fi)])],
  230 + [$2],
  231 + [echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD
  232 +cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
  233 +m4_ifvaln([$3],[$3])dnl])
  234 +ac_compile="$glib_ac_compile_save"
  235 +rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl
  236 +])# GLIB_CHECK_COMPILE_WARNINGS
  237 +
  238 +AC_MSG_CHECKING(for GNUC visibility attribute)
  239 +GLIB_CHECK_COMPILE_WARNINGS([
  240 +void
  241 +__attribute__ ((visibility ("hidden")))
  242 + f_hidden (void)
  243 +{
  244 +}
  245 +void
  246 +__attribute__ ((visibility ("internal")))
  247 + f_internal (void)
  248 +{
  249 +}
  250 +void
  251 +__attribute__ ((visibility ("protected")))
  252 + f_protected (void)
  253 +{
  254 +}
  255 +void
  256 +__attribute__ ((visibility ("default")))
  257 + f_default (void)
  258 +{
  259 +}
  260 +int main (int argc, char **argv)
  261 +{
  262 + f_hidden();
  263 + f_internal();
  264 + f_protected();
  265 + f_default();
  266 + return 0;
  267 +}
  268 +],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
  269 +AC_MSG_RESULT($g_have_gnuc_visibility)
  270 +if test x$g_have_gnuc_visibility = xyes; then
  271 + AC_DEFINE(HAVE_GNUC_VISIBILITY, 1, [supports GCC visibility attributes])
  272 +fi
  273 +
  274 +dnl ---------------------------------------------------------------------------
  275 +dnl Check for compiler visibility flag
  276 +dnl ---------------------------------------------------------------------------
  277 +AC_MSG_CHECKING(whether $CC accepts -fvisibility=hidden)
  278 +AC_CACHE_VAL(app_cv_fvisibility_ok,
  279 +[ac_save_cc="$CC"
  280 +CC="$CC -fvisibility=hidden"
  281 +AC_TRY_RUN([int main() { return 0; }],
  282 + app_cv_fvisibility_ok=yes,
  283 + app_cv_fvisibility_ok=no,
  284 + app_cv_fvisibility_ok=no)
  285 +CC="$ac_save_cc"])
  286 +AC_MSG_RESULT($app_cv_fvisibility_ok)
  287 +if test $app_cv_fvisibility_ok = yes; then
  288 + CFLAGS="$CFLAGS -fvisibility=hidden"
  289 +fi
  290 +
  291 +dnl ---------------------------------------------------------------------------
  292 +dnl Check for pic
  293 +dnl ---------------------------------------------------------------------------
  294 +AC_ARG_ENABLE([pic],
  295 + [AS_HELP_STRING([--disable-pic], [disable support for PIC libraries (required to compile on 64bits)])],
  296 +[
  297 + app_cv_pic="$enableval"
  298 +],[
  299 +
  300 + case "$host" in
  301 + *-mingw32)
  302 + app_cv_pic="no"
  303 + ;;
  304 +
  305 + s390x-*)
  306 + app_cv_pic="yes"
  307 + ;;
  308 +
  309 + *)
  310 + if test "$host_cpu" = "x86_64"; then
  311 + app_cv_pic="yes"
  312 + else
  313 + app_cv_pic="no"
  314 + fi
  315 + esac
  316 +])
  317 +
  318 +if test "$app_cv_pic" == "yes"; then
  319 + CFLAGS="$CFLAGS -fPIC"
  320 +fi
  321 +
  322 +dnl ---------------------------------------------------------------------------
  323 +dnl Output config
  324 +dnl ---------------------------------------------------------------------------
  325 +
  326 +AC_SUBST(DLLFLAGS)
  327 +AC_SUBST(BASEDIR,$ac_pwd)
  328 +
  329 +dnl ---------------------------------------------------------------------------
  330 +dnl Configure which files to generate.
  331 +dnl ---------------------------------------------------------------------------
  332 +
  333 +AC_CONFIG_FILES(Makefile)
  334 +AC_CONFIG_FILES(src/native/Makefile)
  335 +AC_CONFIG_FILES(src/tn3270-sharp/Makefile)
  336 +
  337 +dnl ---------------------------------------------------------------------------
  338 +dnl Output the generated config.status script.
  339 +dnl ---------------------------------------------------------------------------
  340 +AC_OUTPUT
  341 +
... ...
pw3270-sharp.cbp 0 → 100644
... ... @@ -0,0 +1,61 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
  2 +<CodeBlocks_project_file>
  3 + <FileVersion major="1" minor="6" />
  4 + <Project>
  5 + <Option title="Mono Bindings for lib3270" />
  6 + <Option makefile_is_custom="1" />
  7 + <Option pch_mode="2" />
  8 + <Option compiler="gcc" />
  9 + <Build>
  10 + <Target title="Debug">
  11 + <Option output=".bin/Debug/3270-mono" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
  12 + <Option object_output=".obj/Debug/" />
  13 + <Option type="3" />
  14 + <Option compiler="gcc" />
  15 + <Option createDefFile="1" />
  16 + <Option createStaticLib="1" />
  17 + <Compiler>
  18 + <Add option="-g" />
  19 + <Add option="-DDEBUG=1" />
  20 + </Compiler>
  21 + </Target>
  22 + <Target title="Release">
  23 + <Option output=".bin/Release/3270-mono" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
  24 + <Option object_output=".obj/Release/" />
  25 + <Option type="3" />
  26 + <Option compiler="gcc" />
  27 + <Option createDefFile="1" />
  28 + <Option createStaticLib="1" />
  29 + <Compiler>
  30 + <Add option="-O2" />
  31 + <Add option="-DNDEBUG=1" />
  32 + </Compiler>
  33 + <Linker>
  34 + <Add option="-s" />
  35 + </Linker>
  36 + </Target>
  37 + </Build>
  38 + <Compiler>
  39 + <Add option="-Wall" />
  40 + <Add option="-std=c++11" />
  41 + <Add option="-fPIC" />
  42 + </Compiler>
  43 + <Linker>
  44 + <Add library="pw3270cpp" />
  45 + </Linker>
  46 + <Unit filename="src/native/actions.cc" />
  47 + <Unit filename="src/native/get.cc" />
  48 + <Unit filename="src/native/init.cc" />
  49 + <Unit filename="src/native/network.cc" />
  50 + <Unit filename="src/native/private.h" />
  51 + <Unit filename="src/native/screen.cc" />
  52 + <Unit filename="src/native/set.cc" />
  53 + <Unit filename="src/tn3270-sharp/tn3270-sharp.cs" />
  54 + <Extensions>
  55 + <code_completion />
  56 + <envvars />
  57 + <debugger />
  58 + <lib_finder disable_auto="1" />
  59 + </Extensions>
  60 + </Project>
  61 +</CodeBlocks_project_file>
... ...
scripts/config.guess 0 → 100644
... ... @@ -0,0 +1,1451 @@
  1 +#! /bin/sh
  2 +# Attempt to guess a canonical system name.
  3 +# Copyright 1992-2016 Free Software Foundation, Inc.
  4 +
  5 +timestamp='2016-02-11'
  6 +
  7 +# This file is free software; you can redistribute it and/or modify it
  8 +# under the terms of the GNU General Public License as published by
  9 +# the Free Software Foundation; either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful, but
  13 +# WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15 +# General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU General Public License
  18 +# along with this program; if not, see <http://www.gnu.org/licenses/>.
  19 +#
  20 +# As a special exception to the GNU General Public License, if you
  21 +# distribute this file as part of a program that contains a
  22 +# configuration script generated by Autoconf, you may include it under
  23 +# the same distribution terms that you use for the rest of that
  24 +# program. This Exception is an additional permission under section 7
  25 +# of the GNU General Public License, version 3 ("GPLv3").
  26 +#
  27 +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
  28 +#
  29 +# You can get the latest version of this script from:
  30 +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
  31 +#
  32 +# Please send patches to <config-patches@gnu.org>.
  33 +
  34 +
  35 +me=`echo "$0" | sed -e 's,.*/,,'`
  36 +
  37 +usage="\
  38 +Usage: $0 [OPTION]
  39 +
  40 +Output the configuration name of the system \`$me' is run on.
  41 +
  42 +Operation modes:
  43 + -h, --help print this help, then exit
  44 + -t, --time-stamp print date of last modification, then exit
  45 + -v, --version print version number, then exit
  46 +
  47 +Report bugs and patches to <config-patches@gnu.org>."
  48 +
  49 +version="\
  50 +GNU config.guess ($timestamp)
  51 +
  52 +Originally written by Per Bothner.
  53 +Copyright 1992-2016 Free Software Foundation, Inc.
  54 +
  55 +This is free software; see the source for copying conditions. There is NO
  56 +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
  57 +
  58 +help="
  59 +Try \`$me --help' for more information."
  60 +
  61 +# Parse command line
  62 +while test $# -gt 0 ; do
  63 + case $1 in
  64 + --time-stamp | --time* | -t )
  65 + echo "$timestamp" ; exit ;;
  66 + --version | -v )
  67 + echo "$version" ; exit ;;
  68 + --help | --h* | -h )
  69 + echo "$usage"; exit ;;
  70 + -- ) # Stop option processing
  71 + shift; break ;;
  72 + - ) # Use stdin as input.
  73 + break ;;
  74 + -* )
  75 + echo "$me: invalid option $1$help" >&2
  76 + exit 1 ;;
  77 + * )
  78 + break ;;
  79 + esac
  80 +done
  81 +
  82 +if test $# != 0; then
  83 + echo "$me: too many arguments$help" >&2
  84 + exit 1
  85 +fi
  86 +
  87 +trap 'exit 1' 1 2 15
  88 +
  89 +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
  90 +# compiler to aid in system detection is discouraged as it requires
  91 +# temporary files to be created and, as you can see below, it is a
  92 +# headache to deal with in a portable fashion.
  93 +
  94 +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
  95 +# use `HOST_CC' if defined, but it is deprecated.
  96 +
  97 +# Portable tmp directory creation inspired by the Autoconf team.
  98 +
  99 +set_cc_for_build='
  100 +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
  101 +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
  102 +: ${TMPDIR=/tmp} ;
  103 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  104 + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
  105 + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
  106 + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
  107 +dummy=$tmp/dummy ;
  108 +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
  109 +case $CC_FOR_BUILD,$HOST_CC,$CC in
  110 + ,,) echo "int x;" > $dummy.c ;
  111 + for c in cc gcc c89 c99 ; do
  112 + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
  113 + CC_FOR_BUILD="$c"; break ;
  114 + fi ;
  115 + done ;
  116 + if test x"$CC_FOR_BUILD" = x ; then
  117 + CC_FOR_BUILD=no_compiler_found ;
  118 + fi
  119 + ;;
  120 + ,,*) CC_FOR_BUILD=$CC ;;
  121 + ,*,*) CC_FOR_BUILD=$HOST_CC ;;
  122 +esac ; set_cc_for_build= ;'
  123 +
  124 +# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  125 +# (ghazi@noc.rutgers.edu 1994-08-24)
  126 +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
  127 + PATH=$PATH:/.attbin ; export PATH
  128 +fi
  129 +
  130 +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
  131 +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
  132 +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
  133 +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
  134 +
  135 +case "${UNAME_SYSTEM}" in
  136 +Linux|GNU|GNU/*)
  137 + # If the system lacks a compiler, then just pick glibc.
  138 + # We could probably try harder.
  139 + LIBC=gnu
  140 +
  141 + eval $set_cc_for_build
  142 + cat <<-EOF > $dummy.c
  143 + #include <features.h>
  144 + #if defined(__UCLIBC__)
  145 + LIBC=uclibc
  146 + #elif defined(__dietlibc__)
  147 + LIBC=dietlibc
  148 + #else
  149 + LIBC=gnu
  150 + #endif
  151 + EOF
  152 + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
  153 + ;;
  154 +esac
  155 +
  156 +# Note: order is significant - the case branches are not exclusive.
  157 +
  158 +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
  159 + *:NetBSD:*:*)
  160 + # NetBSD (nbsd) targets should (where applicable) match one or
  161 + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
  162 + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
  163 + # switched to ELF, *-*-netbsd* would select the old
  164 + # object file format. This provides both forward
  165 + # compatibility and a consistent mechanism for selecting the
  166 + # object file format.
  167 + #
  168 + # Note: NetBSD doesn't particularly care about the vendor
  169 + # portion of the name. We always set it to "unknown".
  170 + sysctl="sysctl -n hw.machine_arch"
  171 + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
  172 + /sbin/$sysctl 2>/dev/null || \
  173 + /usr/sbin/$sysctl 2>/dev/null || \
  174 + echo unknown)`
  175 + case "${UNAME_MACHINE_ARCH}" in
  176 + armeb) machine=armeb-unknown ;;
  177 + arm*) machine=arm-unknown ;;
  178 + sh3el) machine=shl-unknown ;;
  179 + sh3eb) machine=sh-unknown ;;
  180 + sh5el) machine=sh5le-unknown ;;
  181 + earmv*)
  182 + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
  183 + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
  184 + machine=${arch}${endian}-unknown
  185 + ;;
  186 + *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
  187 + esac
  188 + # The Operating System including object format, if it has switched
  189 + # to ELF recently, or will in the future.
  190 + case "${UNAME_MACHINE_ARCH}" in
  191 + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
  192 + eval $set_cc_for_build
  193 + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
  194 + | grep -q __ELF__
  195 + then
  196 + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
  197 + # Return netbsd for either. FIX?
  198 + os=netbsd
  199 + else
  200 + os=netbsdelf
  201 + fi
  202 + ;;
  203 + *)
  204 + os=netbsd
  205 + ;;
  206 + esac
  207 + # Determine ABI tags.
  208 + case "${UNAME_MACHINE_ARCH}" in
  209 + earm*)
  210 + expr='s/^earmv[0-9]/-eabi/;s/eb$//'
  211 + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
  212 + ;;
  213 + esac
  214 + # The OS release
  215 + # Debian GNU/NetBSD machines have a different userland, and
  216 + # thus, need a distinct triplet. However, they do not need
  217 + # kernel version information, so it can be replaced with a
  218 + # suitable tag, in the style of linux-gnu.
  219 + case "${UNAME_VERSION}" in
  220 + Debian*)
  221 + release='-gnu'
  222 + ;;
  223 + *)
  224 + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
  225 + ;;
  226 + esac
  227 + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
  228 + # contains redundant information, the shorter form:
  229 + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
  230 + echo "${machine}-${os}${release}${abi}"
  231 + exit ;;
  232 + *:Bitrig:*:*)
  233 + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
  234 + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
  235 + exit ;;
  236 + *:OpenBSD:*:*)
  237 + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
  238 + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
  239 + exit ;;
  240 + *:LibertyBSD:*:*)
  241 + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
  242 + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
  243 + exit ;;
  244 + *:ekkoBSD:*:*)
  245 + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
  246 + exit ;;
  247 + *:SolidBSD:*:*)
  248 + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
  249 + exit ;;
  250 + macppc:MirBSD:*:*)
  251 + echo powerpc-unknown-mirbsd${UNAME_RELEASE}
  252 + exit ;;
  253 + *:MirBSD:*:*)
  254 + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
  255 + exit ;;
  256 + *:Sortix:*:*)
  257 + echo ${UNAME_MACHINE}-unknown-sortix
  258 + exit ;;
  259 + alpha:OSF1:*:*)
  260 + case $UNAME_RELEASE in
  261 + *4.0)
  262 + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
  263 + ;;
  264 + *5.*)
  265 + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
  266 + ;;
  267 + esac
  268 + # According to Compaq, /usr/sbin/psrinfo has been available on
  269 + # OSF/1 and Tru64 systems produced since 1995. I hope that
  270 + # covers most systems running today. This code pipes the CPU
  271 + # types through head -n 1, so we only detect the type of CPU 0.
  272 + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
  273 + case "$ALPHA_CPU_TYPE" in
  274 + "EV4 (21064)")
  275 + UNAME_MACHINE=alpha ;;
  276 + "EV4.5 (21064)")
  277 + UNAME_MACHINE=alpha ;;
  278 + "LCA4 (21066/21068)")
  279 + UNAME_MACHINE=alpha ;;
  280 + "EV5 (21164)")
  281 + UNAME_MACHINE=alphaev5 ;;
  282 + "EV5.6 (21164A)")
  283 + UNAME_MACHINE=alphaev56 ;;
  284 + "EV5.6 (21164PC)")
  285 + UNAME_MACHINE=alphapca56 ;;
  286 + "EV5.7 (21164PC)")
  287 + UNAME_MACHINE=alphapca57 ;;
  288 + "EV6 (21264)")
  289 + UNAME_MACHINE=alphaev6 ;;
  290 + "EV6.7 (21264A)")
  291 + UNAME_MACHINE=alphaev67 ;;
  292 + "EV6.8CB (21264C)")
  293 + UNAME_MACHINE=alphaev68 ;;
  294 + "EV6.8AL (21264B)")
  295 + UNAME_MACHINE=alphaev68 ;;
  296 + "EV6.8CX (21264D)")
  297 + UNAME_MACHINE=alphaev68 ;;
  298 + "EV6.9A (21264/EV69A)")
  299 + UNAME_MACHINE=alphaev69 ;;
  300 + "EV7 (21364)")
  301 + UNAME_MACHINE=alphaev7 ;;
  302 + "EV7.9 (21364A)")
  303 + UNAME_MACHINE=alphaev79 ;;
  304 + esac
  305 + # A Pn.n version is a patched version.
  306 + # A Vn.n version is a released version.
  307 + # A Tn.n version is a released field test version.
  308 + # A Xn.n version is an unreleased experimental baselevel.
  309 + # 1.2 uses "1.2" for uname -r.
  310 + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
  311 + # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
  312 + exitcode=$?
  313 + trap '' 0
  314 + exit $exitcode ;;
  315 + Alpha\ *:Windows_NT*:*)
  316 + # How do we know it's Interix rather than the generic POSIX subsystem?
  317 + # Should we change UNAME_MACHINE based on the output of uname instead
  318 + # of the specific Alpha model?
  319 + echo alpha-pc-interix
  320 + exit ;;
  321 + 21064:Windows_NT:50:3)
  322 + echo alpha-dec-winnt3.5
  323 + exit ;;
  324 + Amiga*:UNIX_System_V:4.0:*)
  325 + echo m68k-unknown-sysv4
  326 + exit ;;
  327 + *:[Aa]miga[Oo][Ss]:*:*)
  328 + echo ${UNAME_MACHINE}-unknown-amigaos
  329 + exit ;;
  330 + *:[Mm]orph[Oo][Ss]:*:*)
  331 + echo ${UNAME_MACHINE}-unknown-morphos
  332 + exit ;;
  333 + *:OS/390:*:*)
  334 + echo i370-ibm-openedition
  335 + exit ;;
  336 + *:z/VM:*:*)
  337 + echo s390-ibm-zvmoe
  338 + exit ;;
  339 + *:OS400:*:*)
  340 + echo powerpc-ibm-os400
  341 + exit ;;
  342 + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  343 + echo arm-acorn-riscix${UNAME_RELEASE}
  344 + exit ;;
  345 + arm*:riscos:*:*|arm*:RISCOS:*:*)
  346 + echo arm-unknown-riscos
  347 + exit ;;
  348 + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
  349 + echo hppa1.1-hitachi-hiuxmpp
  350 + exit ;;
  351 + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
  352 + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
  353 + if test "`(/bin/universe) 2>/dev/null`" = att ; then
  354 + echo pyramid-pyramid-sysv3
  355 + else
  356 + echo pyramid-pyramid-bsd
  357 + fi
  358 + exit ;;
  359 + NILE*:*:*:dcosx)
  360 + echo pyramid-pyramid-svr4
  361 + exit ;;
  362 + DRS?6000:unix:4.0:6*)
  363 + echo sparc-icl-nx6
  364 + exit ;;
  365 + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
  366 + case `/usr/bin/uname -p` in
  367 + sparc) echo sparc-icl-nx7; exit ;;
  368 + esac ;;
  369 + s390x:SunOS:*:*)
  370 + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  371 + exit ;;
  372 + sun4H:SunOS:5.*:*)
  373 + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  374 + exit ;;
  375 + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  376 + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  377 + exit ;;
  378 + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
  379 + echo i386-pc-auroraux${UNAME_RELEASE}
  380 + exit ;;
  381 + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
  382 + eval $set_cc_for_build
  383 + SUN_ARCH=i386
  384 + # If there is a compiler, see if it is configured for 64-bit objects.
  385 + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
  386 + # This test works for both compilers.
  387 + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
  388 + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
  389 + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
  390 + grep IS_64BIT_ARCH >/dev/null
  391 + then
  392 + SUN_ARCH=x86_64
  393 + fi
  394 + fi
  395 + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  396 + exit ;;
  397 + sun4*:SunOS:6*:*)
  398 + # According to config.sub, this is the proper way to canonicalize
  399 + # SunOS6. Hard to guess exactly what SunOS6 will be like, but
  400 + # it's likely to be more like Solaris than SunOS4.
  401 + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  402 + exit ;;
  403 + sun4*:SunOS:*:*)
  404 + case "`/usr/bin/arch -k`" in
  405 + Series*|S4*)
  406 + UNAME_RELEASE=`uname -v`
  407 + ;;
  408 + esac
  409 + # Japanese Language versions have a version number like `4.1.3-JL'.
  410 + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
  411 + exit ;;
  412 + sun3*:SunOS:*:*)
  413 + echo m68k-sun-sunos${UNAME_RELEASE}
  414 + exit ;;
  415 + sun*:*:4.2BSD:*)
  416 + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
  417 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
  418 + case "`/bin/arch`" in
  419 + sun3)
  420 + echo m68k-sun-sunos${UNAME_RELEASE}
  421 + ;;
  422 + sun4)
  423 + echo sparc-sun-sunos${UNAME_RELEASE}
  424 + ;;
  425 + esac
  426 + exit ;;
  427 + aushp:SunOS:*:*)
  428 + echo sparc-auspex-sunos${UNAME_RELEASE}
  429 + exit ;;
  430 + # The situation for MiNT is a little confusing. The machine name
  431 + # can be virtually everything (everything which is not
  432 + # "atarist" or "atariste" at least should have a processor
  433 + # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
  434 + # to the lowercase version "mint" (or "freemint"). Finally
  435 + # the system name "TOS" denotes a system which is actually not
  436 + # MiNT. But MiNT is downward compatible to TOS, so this should
  437 + # be no problem.
  438 + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
  439 + echo m68k-atari-mint${UNAME_RELEASE}
  440 + exit ;;
  441 + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
  442 + echo m68k-atari-mint${UNAME_RELEASE}
  443 + exit ;;
  444 + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
  445 + echo m68k-atari-mint${UNAME_RELEASE}
  446 + exit ;;
  447 + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
  448 + echo m68k-milan-mint${UNAME_RELEASE}
  449 + exit ;;
  450 + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
  451 + echo m68k-hades-mint${UNAME_RELEASE}
  452 + exit ;;
  453 + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
  454 + echo m68k-unknown-mint${UNAME_RELEASE}
  455 + exit ;;
  456 + m68k:machten:*:*)
  457 + echo m68k-apple-machten${UNAME_RELEASE}
  458 + exit ;;
  459 + powerpc:machten:*:*)
  460 + echo powerpc-apple-machten${UNAME_RELEASE}
  461 + exit ;;
  462 + RISC*:Mach:*:*)
  463 + echo mips-dec-mach_bsd4.3
  464 + exit ;;
  465 + RISC*:ULTRIX:*:*)
  466 + echo mips-dec-ultrix${UNAME_RELEASE}
  467 + exit ;;
  468 + VAX*:ULTRIX*:*:*)
  469 + echo vax-dec-ultrix${UNAME_RELEASE}
  470 + exit ;;
  471 + 2020:CLIX:*:* | 2430:CLIX:*:*)
  472 + echo clipper-intergraph-clix${UNAME_RELEASE}
  473 + exit ;;
  474 + mips:*:*:UMIPS | mips:*:*:RISCos)
  475 + eval $set_cc_for_build
  476 + sed 's/^ //' << EOF >$dummy.c
  477 +#ifdef __cplusplus
  478 +#include <stdio.h> /* for printf() prototype */
  479 + int main (int argc, char *argv[]) {
  480 +#else
  481 + int main (argc, argv) int argc; char *argv[]; {
  482 +#endif
  483 + #if defined (host_mips) && defined (MIPSEB)
  484 + #if defined (SYSTYPE_SYSV)
  485 + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
  486 + #endif
  487 + #if defined (SYSTYPE_SVR4)
  488 + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
  489 + #endif
  490 + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
  491 + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
  492 + #endif
  493 + #endif
  494 + exit (-1);
  495 + }
  496 +EOF
  497 + $CC_FOR_BUILD -o $dummy $dummy.c &&
  498 + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
  499 + SYSTEM_NAME=`$dummy $dummyarg` &&
  500 + { echo "$SYSTEM_NAME"; exit; }
  501 + echo mips-mips-riscos${UNAME_RELEASE}
  502 + exit ;;
  503 + Motorola:PowerMAX_OS:*:*)
  504 + echo powerpc-motorola-powermax
  505 + exit ;;
  506 + Motorola:*:4.3:PL8-*)
  507 + echo powerpc-harris-powermax
  508 + exit ;;
  509 + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
  510 + echo powerpc-harris-powermax
  511 + exit ;;
  512 + Night_Hawk:Power_UNIX:*:*)
  513 + echo powerpc-harris-powerunix
  514 + exit ;;
  515 + m88k:CX/UX:7*:*)
  516 + echo m88k-harris-cxux7
  517 + exit ;;
  518 + m88k:*:4*:R4*)
  519 + echo m88k-motorola-sysv4
  520 + exit ;;
  521 + m88k:*:3*:R3*)
  522 + echo m88k-motorola-sysv3
  523 + exit ;;
  524 + AViiON:dgux:*:*)
  525 + # DG/UX returns AViiON for all architectures
  526 + UNAME_PROCESSOR=`/usr/bin/uname -p`
  527 + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
  528 + then
  529 + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
  530 + [ ${TARGET_BINARY_INTERFACE}x = x ]
  531 + then
  532 + echo m88k-dg-dgux${UNAME_RELEASE}
  533 + else
  534 + echo m88k-dg-dguxbcs${UNAME_RELEASE}
  535 + fi
  536 + else
  537 + echo i586-dg-dgux${UNAME_RELEASE}
  538 + fi
  539 + exit ;;
  540 + M88*:DolphinOS:*:*) # DolphinOS (SVR3)
  541 + echo m88k-dolphin-sysv3
  542 + exit ;;
  543 + M88*:*:R3*:*)
  544 + # Delta 88k system running SVR3
  545 + echo m88k-motorola-sysv3
  546 + exit ;;
  547 + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  548 + echo m88k-tektronix-sysv3
  549 + exit ;;
  550 + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  551 + echo m68k-tektronix-bsd
  552 + exit ;;
  553 + *:IRIX*:*:*)
  554 + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
  555 + exit ;;
  556 + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
  557 + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
  558 + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
  559 + i*86:AIX:*:*)
  560 + echo i386-ibm-aix
  561 + exit ;;
  562 + ia64:AIX:*:*)
  563 + if [ -x /usr/bin/oslevel ] ; then
  564 + IBM_REV=`/usr/bin/oslevel`
  565 + else
  566 + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  567 + fi
  568 + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
  569 + exit ;;
  570 + *:AIX:2:3)
  571 + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  572 + eval $set_cc_for_build
  573 + sed 's/^ //' << EOF >$dummy.c
  574 + #include <sys/systemcfg.h>
  575 +
  576 + main()
  577 + {
  578 + if (!__power_pc())
  579 + exit(1);
  580 + puts("powerpc-ibm-aix3.2.5");
  581 + exit(0);
  582 + }
  583 +EOF
  584 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
  585 + then
  586 + echo "$SYSTEM_NAME"
  587 + else
  588 + echo rs6000-ibm-aix3.2.5
  589 + fi
  590 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  591 + echo rs6000-ibm-aix3.2.4
  592 + else
  593 + echo rs6000-ibm-aix3.2
  594 + fi
  595 + exit ;;
  596 + *:AIX:*:[4567])
  597 + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
  598 + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
  599 + IBM_ARCH=rs6000
  600 + else
  601 + IBM_ARCH=powerpc
  602 + fi
  603 + if [ -x /usr/bin/lslpp ] ; then
  604 + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
  605 + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
  606 + else
  607 + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  608 + fi
  609 + echo ${IBM_ARCH}-ibm-aix${IBM_REV}
  610 + exit ;;
  611 + *:AIX:*:*)
  612 + echo rs6000-ibm-aix
  613 + exit ;;
  614 + ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  615 + echo romp-ibm-bsd4.4
  616 + exit ;;
  617 + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
  618 + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
  619 + exit ;; # report: romp-ibm BSD 4.3
  620 + *:BOSX:*:*)
  621 + echo rs6000-bull-bosx
  622 + exit ;;
  623 + DPX/2?00:B.O.S.:*:*)
  624 + echo m68k-bull-sysv3
  625 + exit ;;
  626 + 9000/[34]??:4.3bsd:1.*:*)
  627 + echo m68k-hp-bsd
  628 + exit ;;
  629 + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  630 + echo m68k-hp-bsd4.4
  631 + exit ;;
  632 + 9000/[34678]??:HP-UX:*:*)
  633 + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  634 + case "${UNAME_MACHINE}" in
  635 + 9000/31? ) HP_ARCH=m68000 ;;
  636 + 9000/[34]?? ) HP_ARCH=m68k ;;
  637 + 9000/[678][0-9][0-9])
  638 + if [ -x /usr/bin/getconf ]; then
  639 + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
  640 + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
  641 + case "${sc_cpu_version}" in
  642 + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
  643 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
  644 + 532) # CPU_PA_RISC2_0
  645 + case "${sc_kernel_bits}" in
  646 + 32) HP_ARCH=hppa2.0n ;;
  647 + 64) HP_ARCH=hppa2.0w ;;
  648 + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
  649 + esac ;;
  650 + esac
  651 + fi
  652 + if [ "${HP_ARCH}" = "" ]; then
  653 + eval $set_cc_for_build
  654 + sed 's/^ //' << EOF >$dummy.c
  655 +
  656 + #define _HPUX_SOURCE
  657 + #include <stdlib.h>
  658 + #include <unistd.h>
  659 +
  660 + int main ()
  661 + {
  662 + #if defined(_SC_KERNEL_BITS)
  663 + long bits = sysconf(_SC_KERNEL_BITS);
  664 + #endif
  665 + long cpu = sysconf (_SC_CPU_VERSION);
  666 +
  667 + switch (cpu)
  668 + {
  669 + case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
  670 + case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
  671 + case CPU_PA_RISC2_0:
  672 + #if defined(_SC_KERNEL_BITS)
  673 + switch (bits)
  674 + {
  675 + case 64: puts ("hppa2.0w"); break;
  676 + case 32: puts ("hppa2.0n"); break;
  677 + default: puts ("hppa2.0"); break;
  678 + } break;
  679 + #else /* !defined(_SC_KERNEL_BITS) */
  680 + puts ("hppa2.0"); break;
  681 + #endif
  682 + default: puts ("hppa1.0"); break;
  683 + }
  684 + exit (0);
  685 + }
  686 +EOF
  687 + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
  688 + test -z "$HP_ARCH" && HP_ARCH=hppa
  689 + fi ;;
  690 + esac
  691 + if [ ${HP_ARCH} = hppa2.0w ]
  692 + then
  693 + eval $set_cc_for_build
  694 +
  695 + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
  696 + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
  697 + # generating 64-bit code. GNU and HP use different nomenclature:
  698 + #
  699 + # $ CC_FOR_BUILD=cc ./config.guess
  700 + # => hppa2.0w-hp-hpux11.23
  701 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
  702 + # => hppa64-hp-hpux11.23
  703 +
  704 + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
  705 + grep -q __LP64__
  706 + then
  707 + HP_ARCH=hppa2.0w
  708 + else
  709 + HP_ARCH=hppa64
  710 + fi
  711 + fi
  712 + echo ${HP_ARCH}-hp-hpux${HPUX_REV}
  713 + exit ;;
  714 + ia64:HP-UX:*:*)
  715 + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  716 + echo ia64-hp-hpux${HPUX_REV}
  717 + exit ;;
  718 + 3050*:HI-UX:*:*)
  719 + eval $set_cc_for_build
  720 + sed 's/^ //' << EOF >$dummy.c
  721 + #include <unistd.h>
  722 + int
  723 + main ()
  724 + {
  725 + long cpu = sysconf (_SC_CPU_VERSION);
  726 + /* The order matters, because CPU_IS_HP_MC68K erroneously returns
  727 + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
  728 + results, however. */
  729 + if (CPU_IS_PA_RISC (cpu))
  730 + {
  731 + switch (cpu)
  732 + {
  733 + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
  734 + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
  735 + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
  736 + default: puts ("hppa-hitachi-hiuxwe2"); break;
  737 + }
  738 + }
  739 + else if (CPU_IS_HP_MC68K (cpu))
  740 + puts ("m68k-hitachi-hiuxwe2");
  741 + else puts ("unknown-hitachi-hiuxwe2");
  742 + exit (0);
  743 + }
  744 +EOF
  745 + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
  746 + { echo "$SYSTEM_NAME"; exit; }
  747 + echo unknown-hitachi-hiuxwe2
  748 + exit ;;
  749 + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  750 + echo hppa1.1-hp-bsd
  751 + exit ;;
  752 + 9000/8??:4.3bsd:*:*)
  753 + echo hppa1.0-hp-bsd
  754 + exit ;;
  755 + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
  756 + echo hppa1.0-hp-mpeix
  757 + exit ;;
  758 + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  759 + echo hppa1.1-hp-osf
  760 + exit ;;
  761 + hp8??:OSF1:*:*)
  762 + echo hppa1.0-hp-osf
  763 + exit ;;
  764 + i*86:OSF1:*:*)
  765 + if [ -x /usr/sbin/sysversion ] ; then
  766 + echo ${UNAME_MACHINE}-unknown-osf1mk
  767 + else
  768 + echo ${UNAME_MACHINE}-unknown-osf1
  769 + fi
  770 + exit ;;
  771 + parisc*:Lites*:*:*)
  772 + echo hppa1.1-hp-lites
  773 + exit ;;
  774 + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  775 + echo c1-convex-bsd
  776 + exit ;;
  777 + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  778 + if getsysinfo -f scalar_acc
  779 + then echo c32-convex-bsd
  780 + else echo c2-convex-bsd
  781 + fi
  782 + exit ;;
  783 + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  784 + echo c34-convex-bsd
  785 + exit ;;
  786 + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  787 + echo c38-convex-bsd
  788 + exit ;;
  789 + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
  790 + echo c4-convex-bsd
  791 + exit ;;
  792 + CRAY*Y-MP:*:*:*)
  793 + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  794 + exit ;;
  795 + CRAY*[A-Z]90:*:*:*)
  796 + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
  797 + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
  798 + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
  799 + -e 's/\.[^.]*$/.X/'
  800 + exit ;;
  801 + CRAY*TS:*:*:*)
  802 + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  803 + exit ;;
  804 + CRAY*T3E:*:*:*)
  805 + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  806 + exit ;;
  807 + CRAY*SV1:*:*:*)
  808 + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  809 + exit ;;
  810 + *:UNICOS/mp:*:*)
  811 + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  812 + exit ;;
  813 + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
  814 + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
  815 + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
  816 + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
  817 + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
  818 + exit ;;
  819 + 5000:UNIX_System_V:4.*:*)
  820 + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
  821 + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
  822 + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
  823 + exit ;;
  824 + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
  825 + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
  826 + exit ;;
  827 + sparc*:BSD/OS:*:*)
  828 + echo sparc-unknown-bsdi${UNAME_RELEASE}
  829 + exit ;;
  830 + *:BSD/OS:*:*)
  831 + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
  832 + exit ;;
  833 + *:FreeBSD:*:*)
  834 + UNAME_PROCESSOR=`/usr/bin/uname -p`
  835 + case ${UNAME_PROCESSOR} in
  836 + amd64)
  837 + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
  838 + *)
  839 + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
  840 + esac
  841 + exit ;;
  842 + i*:CYGWIN*:*)
  843 + echo ${UNAME_MACHINE}-pc-cygwin
  844 + exit ;;
  845 + *:MINGW64*:*)
  846 + echo ${UNAME_MACHINE}-pc-mingw64
  847 + exit ;;
  848 + *:MINGW*:*)
  849 + echo ${UNAME_MACHINE}-pc-mingw32
  850 + exit ;;
  851 + *:MSYS*:*)
  852 + echo ${UNAME_MACHINE}-pc-msys
  853 + exit ;;
  854 + i*:windows32*:*)
  855 + # uname -m includes "-pc" on this system.
  856 + echo ${UNAME_MACHINE}-mingw32
  857 + exit ;;
  858 + i*:PW*:*)
  859 + echo ${UNAME_MACHINE}-pc-pw32
  860 + exit ;;
  861 + *:Interix*:*)
  862 + case ${UNAME_MACHINE} in
  863 + x86)
  864 + echo i586-pc-interix${UNAME_RELEASE}
  865 + exit ;;
  866 + authenticamd | genuineintel | EM64T)
  867 + echo x86_64-unknown-interix${UNAME_RELEASE}
  868 + exit ;;
  869 + IA64)
  870 + echo ia64-unknown-interix${UNAME_RELEASE}
  871 + exit ;;
  872 + esac ;;
  873 + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
  874 + echo i${UNAME_MACHINE}-pc-mks
  875 + exit ;;
  876 + 8664:Windows_NT:*)
  877 + echo x86_64-pc-mks
  878 + exit ;;
  879 + i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
  880 + # How do we know it's Interix rather than the generic POSIX subsystem?
  881 + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
  882 + # UNAME_MACHINE based on the output of uname instead of i386?
  883 + echo i586-pc-interix
  884 + exit ;;
  885 + i*:UWIN*:*)
  886 + echo ${UNAME_MACHINE}-pc-uwin
  887 + exit ;;
  888 + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
  889 + echo x86_64-unknown-cygwin
  890 + exit ;;
  891 + p*:CYGWIN*:*)
  892 + echo powerpcle-unknown-cygwin
  893 + exit ;;
  894 + prep*:SunOS:5.*:*)
  895 + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  896 + exit ;;
  897 + *:GNU:*:*)
  898 + # the GNU system
  899 + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
  900 + exit ;;
  901 + *:GNU/*:*:*)
  902 + # other systems with GNU libc and userland
  903 + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
  904 + exit ;;
  905 + i*86:Minix:*:*)
  906 + echo ${UNAME_MACHINE}-pc-minix
  907 + exit ;;
  908 + aarch64:Linux:*:*)
  909 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  910 + exit ;;
  911 + aarch64_be:Linux:*:*)
  912 + UNAME_MACHINE=aarch64_be
  913 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  914 + exit ;;
  915 + alpha:Linux:*:*)
  916 + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  917 + EV5) UNAME_MACHINE=alphaev5 ;;
  918 + EV56) UNAME_MACHINE=alphaev56 ;;
  919 + PCA56) UNAME_MACHINE=alphapca56 ;;
  920 + PCA57) UNAME_MACHINE=alphapca56 ;;
  921 + EV6) UNAME_MACHINE=alphaev6 ;;
  922 + EV67) UNAME_MACHINE=alphaev67 ;;
  923 + EV68*) UNAME_MACHINE=alphaev68 ;;
  924 + esac
  925 + objdump --private-headers /bin/sh | grep -q ld.so.1
  926 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
  927 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  928 + exit ;;
  929 + arc:Linux:*:* | arceb:Linux:*:*)
  930 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  931 + exit ;;
  932 + arm*:Linux:*:*)
  933 + eval $set_cc_for_build
  934 + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
  935 + | grep -q __ARM_EABI__
  936 + then
  937 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  938 + else
  939 + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
  940 + | grep -q __ARM_PCS_VFP
  941 + then
  942 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
  943 + else
  944 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
  945 + fi
  946 + fi
  947 + exit ;;
  948 + avr32*:Linux:*:*)
  949 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  950 + exit ;;
  951 + cris:Linux:*:*)
  952 + echo ${UNAME_MACHINE}-axis-linux-${LIBC}
  953 + exit ;;
  954 + crisv32:Linux:*:*)
  955 + echo ${UNAME_MACHINE}-axis-linux-${LIBC}
  956 + exit ;;
  957 + e2k:Linux:*:*)
  958 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  959 + exit ;;
  960 + frv:Linux:*:*)
  961 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  962 + exit ;;
  963 + hexagon:Linux:*:*)
  964 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  965 + exit ;;
  966 + i*86:Linux:*:*)
  967 + echo ${UNAME_MACHINE}-pc-linux-${LIBC}
  968 + exit ;;
  969 + ia64:Linux:*:*)
  970 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  971 + exit ;;
  972 + k1om:Linux:*:*)
  973 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  974 + exit ;;
  975 + m32r*:Linux:*:*)
  976 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  977 + exit ;;
  978 + m68*:Linux:*:*)
  979 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  980 + exit ;;
  981 + mips:Linux:*:* | mips64:Linux:*:*)
  982 + eval $set_cc_for_build
  983 + sed 's/^ //' << EOF >$dummy.c
  984 + #undef CPU
  985 + #undef ${UNAME_MACHINE}
  986 + #undef ${UNAME_MACHINE}el
  987 + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
  988 + CPU=${UNAME_MACHINE}el
  989 + #else
  990 + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
  991 + CPU=${UNAME_MACHINE}
  992 + #else
  993 + CPU=
  994 + #endif
  995 + #endif
  996 +EOF
  997 + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
  998 + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
  999 + ;;
  1000 + openrisc*:Linux:*:*)
  1001 + echo or1k-unknown-linux-${LIBC}
  1002 + exit ;;
  1003 + or32:Linux:*:* | or1k*:Linux:*:*)
  1004 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  1005 + exit ;;
  1006 + padre:Linux:*:*)
  1007 + echo sparc-unknown-linux-${LIBC}
  1008 + exit ;;
  1009 + parisc64:Linux:*:* | hppa64:Linux:*:*)
  1010 + echo hppa64-unknown-linux-${LIBC}
  1011 + exit ;;
  1012 + parisc:Linux:*:* | hppa:Linux:*:*)
  1013 + # Look for CPU level
  1014 + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
  1015 + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
  1016 + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
  1017 + *) echo hppa-unknown-linux-${LIBC} ;;
  1018 + esac
  1019 + exit ;;
  1020 + ppc64:Linux:*:*)
  1021 + echo powerpc64-unknown-linux-${LIBC}
  1022 + exit ;;
  1023 + ppc:Linux:*:*)
  1024 + echo powerpc-unknown-linux-${LIBC}
  1025 + exit ;;
  1026 + ppc64le:Linux:*:*)
  1027 + echo powerpc64le-unknown-linux-${LIBC}
  1028 + exit ;;
  1029 + ppcle:Linux:*:*)
  1030 + echo powerpcle-unknown-linux-${LIBC}
  1031 + exit ;;
  1032 + s390:Linux:*:* | s390x:Linux:*:*)
  1033 + echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
  1034 + exit ;;
  1035 + sh64*:Linux:*:*)
  1036 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  1037 + exit ;;
  1038 + sh*:Linux:*:*)
  1039 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  1040 + exit ;;
  1041 + sparc:Linux:*:* | sparc64:Linux:*:*)
  1042 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  1043 + exit ;;
  1044 + tile*:Linux:*:*)
  1045 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  1046 + exit ;;
  1047 + vax:Linux:*:*)
  1048 + echo ${UNAME_MACHINE}-dec-linux-${LIBC}
  1049 + exit ;;
  1050 + x86_64:Linux:*:*)
  1051 + echo ${UNAME_MACHINE}-pc-linux-${LIBC}
  1052 + exit ;;
  1053 + xtensa*:Linux:*:*)
  1054 + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
  1055 + exit ;;
  1056 + i*86:DYNIX/ptx:4*:*)
  1057 + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  1058 + # earlier versions are messed up and put the nodename in both
  1059 + # sysname and nodename.
  1060 + echo i386-sequent-sysv4
  1061 + exit ;;
  1062 + i*86:UNIX_SV:4.2MP:2.*)
  1063 + # Unixware is an offshoot of SVR4, but it has its own version
  1064 + # number series starting with 2...
  1065 + # I am not positive that other SVR4 systems won't match this,
  1066 + # I just have to hope. -- rms.
  1067 + # Use sysv4.2uw... so that sysv4* matches it.
  1068 + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
  1069 + exit ;;
  1070 + i*86:OS/2:*:*)
  1071 + # If we were able to find `uname', then EMX Unix compatibility
  1072 + # is probably installed.
  1073 + echo ${UNAME_MACHINE}-pc-os2-emx
  1074 + exit ;;
  1075 + i*86:XTS-300:*:STOP)
  1076 + echo ${UNAME_MACHINE}-unknown-stop
  1077 + exit ;;
  1078 + i*86:atheos:*:*)
  1079 + echo ${UNAME_MACHINE}-unknown-atheos
  1080 + exit ;;
  1081 + i*86:syllable:*:*)
  1082 + echo ${UNAME_MACHINE}-pc-syllable
  1083 + exit ;;
  1084 + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
  1085 + echo i386-unknown-lynxos${UNAME_RELEASE}
  1086 + exit ;;
  1087 + i*86:*DOS:*:*)
  1088 + echo ${UNAME_MACHINE}-pc-msdosdjgpp
  1089 + exit ;;
  1090 + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
  1091 + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
  1092 + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
  1093 + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
  1094 + else
  1095 + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  1096 + fi
  1097 + exit ;;
  1098 + i*86:*:5:[678]*)
  1099 + # UnixWare 7.x, OpenUNIX and OpenServer 6.
  1100 + case `/bin/uname -X | grep "^Machine"` in
  1101 + *486*) UNAME_MACHINE=i486 ;;
  1102 + *Pentium) UNAME_MACHINE=i586 ;;
  1103 + *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
  1104 + esac
  1105 + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
  1106 + exit ;;
  1107 + i*86:*:3.2:*)
  1108 + if test -f /usr/options/cb.name; then
  1109 + UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
  1110 + echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
  1111 + elif /bin/uname -X 2>/dev/null >/dev/null ; then
  1112 + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
  1113 + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
  1114 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
  1115 + && UNAME_MACHINE=i586
  1116 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
  1117 + && UNAME_MACHINE=i686
  1118 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
  1119 + && UNAME_MACHINE=i686
  1120 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
  1121 + else
  1122 + echo ${UNAME_MACHINE}-pc-sysv32
  1123 + fi
  1124 + exit ;;
  1125 + pc:*:*:*)
  1126 + # Left here for compatibility:
  1127 + # uname -m prints for DJGPP always 'pc', but it prints nothing about
  1128 + # the processor, so we play safe by assuming i586.
  1129 + # Note: whatever this is, it MUST be the same as what config.sub
  1130 + # prints for the "djgpp" host, or else GDB configure will decide that
  1131 + # this is a cross-build.
  1132 + echo i586-pc-msdosdjgpp
  1133 + exit ;;
  1134 + Intel:Mach:3*:*)
  1135 + echo i386-pc-mach3
  1136 + exit ;;
  1137 + paragon:*:*:*)
  1138 + echo i860-intel-osf1
  1139 + exit ;;
  1140 + i860:*:4.*:*) # i860-SVR4
  1141 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  1142 + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  1143 + else # Add other i860-SVR4 vendors below as they are discovered.
  1144 + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
  1145 + fi
  1146 + exit ;;
  1147 + mini*:CTIX:SYS*5:*)
  1148 + # "miniframe"
  1149 + echo m68010-convergent-sysv
  1150 + exit ;;
  1151 + mc68k:UNIX:SYSTEM5:3.51m)
  1152 + echo m68k-convergent-sysv
  1153 + exit ;;
  1154 + M680?0:D-NIX:5.3:*)
  1155 + echo m68k-diab-dnix
  1156 + exit ;;
  1157 + M68*:*:R3V[5678]*:*)
  1158 + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
  1159 + 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)
  1160 + OS_REL=''
  1161 + test -r /etc/.relid \
  1162 + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  1163 + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1164 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
  1165 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  1166 + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
  1167 + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
  1168 + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1169 + && { echo i486-ncr-sysv4; exit; } ;;
  1170 + NCR*:*:4.2:* | MPRAS*:*:4.2:*)
  1171 + OS_REL='.3'
  1172 + test -r /etc/.relid \
  1173 + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  1174 + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1175 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
  1176 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  1177 + && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
  1178 + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
  1179 + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
  1180 + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  1181 + echo m68k-unknown-lynxos${UNAME_RELEASE}
  1182 + exit ;;
  1183 + mc68030:UNIX_System_V:4.*:*)
  1184 + echo m68k-atari-sysv4
  1185 + exit ;;
  1186 + TSUNAMI:LynxOS:2.*:*)
  1187 + echo sparc-unknown-lynxos${UNAME_RELEASE}
  1188 + exit ;;
  1189 + rs6000:LynxOS:2.*:*)
  1190 + echo rs6000-unknown-lynxos${UNAME_RELEASE}
  1191 + exit ;;
  1192 + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
  1193 + echo powerpc-unknown-lynxos${UNAME_RELEASE}
  1194 + exit ;;
  1195 + SM[BE]S:UNIX_SV:*:*)
  1196 + echo mips-dde-sysv${UNAME_RELEASE}
  1197 + exit ;;
  1198 + RM*:ReliantUNIX-*:*:*)
  1199 + echo mips-sni-sysv4
  1200 + exit ;;
  1201 + RM*:SINIX-*:*:*)
  1202 + echo mips-sni-sysv4
  1203 + exit ;;
  1204 + *:SINIX-*:*:*)
  1205 + if uname -p 2>/dev/null >/dev/null ; then
  1206 + UNAME_MACHINE=`(uname -p) 2>/dev/null`
  1207 + echo ${UNAME_MACHINE}-sni-sysv4
  1208 + else
  1209 + echo ns32k-sni-sysv
  1210 + fi
  1211 + exit ;;
  1212 + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
  1213 + # says <Richard.M.Bartel@ccMail.Census.GOV>
  1214 + echo i586-unisys-sysv4
  1215 + exit ;;
  1216 + *:UNIX_System_V:4*:FTX*)
  1217 + # From Gerald Hewes <hewes@openmarket.com>.
  1218 + # How about differentiating between stratus architectures? -djm
  1219 + echo hppa1.1-stratus-sysv4
  1220 + exit ;;
  1221 + *:*:*:FTX*)
  1222 + # From seanf@swdc.stratus.com.
  1223 + echo i860-stratus-sysv4
  1224 + exit ;;
  1225 + i*86:VOS:*:*)
  1226 + # From Paul.Green@stratus.com.
  1227 + echo ${UNAME_MACHINE}-stratus-vos
  1228 + exit ;;
  1229 + *:VOS:*:*)
  1230 + # From Paul.Green@stratus.com.
  1231 + echo hppa1.1-stratus-vos
  1232 + exit ;;
  1233 + mc68*:A/UX:*:*)
  1234 + echo m68k-apple-aux${UNAME_RELEASE}
  1235 + exit ;;
  1236 + news*:NEWS-OS:6*:*)
  1237 + echo mips-sony-newsos6
  1238 + exit ;;
  1239 + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  1240 + if [ -d /usr/nec ]; then
  1241 + echo mips-nec-sysv${UNAME_RELEASE}
  1242 + else
  1243 + echo mips-unknown-sysv${UNAME_RELEASE}
  1244 + fi
  1245 + exit ;;
  1246 + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
  1247 + echo powerpc-be-beos
  1248 + exit ;;
  1249 + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
  1250 + echo powerpc-apple-beos
  1251 + exit ;;
  1252 + BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
  1253 + echo i586-pc-beos
  1254 + exit ;;
  1255 + BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
  1256 + echo i586-pc-haiku
  1257 + exit ;;
  1258 + x86_64:Haiku:*:*)
  1259 + echo x86_64-unknown-haiku
  1260 + exit ;;
  1261 + SX-4:SUPER-UX:*:*)
  1262 + echo sx4-nec-superux${UNAME_RELEASE}
  1263 + exit ;;
  1264 + SX-5:SUPER-UX:*:*)
  1265 + echo sx5-nec-superux${UNAME_RELEASE}
  1266 + exit ;;
  1267 + SX-6:SUPER-UX:*:*)
  1268 + echo sx6-nec-superux${UNAME_RELEASE}
  1269 + exit ;;
  1270 + SX-7:SUPER-UX:*:*)
  1271 + echo sx7-nec-superux${UNAME_RELEASE}
  1272 + exit ;;
  1273 + SX-8:SUPER-UX:*:*)
  1274 + echo sx8-nec-superux${UNAME_RELEASE}
  1275 + exit ;;
  1276 + SX-8R:SUPER-UX:*:*)
  1277 + echo sx8r-nec-superux${UNAME_RELEASE}
  1278 + exit ;;
  1279 + Power*:Rhapsody:*:*)
  1280 + echo powerpc-apple-rhapsody${UNAME_RELEASE}
  1281 + exit ;;
  1282 + *:Rhapsody:*:*)
  1283 + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
  1284 + exit ;;
  1285 + *:Darwin:*:*)
  1286 + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
  1287 + eval $set_cc_for_build
  1288 + if test "$UNAME_PROCESSOR" = unknown ; then
  1289 + UNAME_PROCESSOR=powerpc
  1290 + fi
  1291 + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
  1292 + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
  1293 + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
  1294 + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
  1295 + grep IS_64BIT_ARCH >/dev/null
  1296 + then
  1297 + case $UNAME_PROCESSOR in
  1298 + i386) UNAME_PROCESSOR=x86_64 ;;
  1299 + powerpc) UNAME_PROCESSOR=powerpc64 ;;
  1300 + esac
  1301 + fi
  1302 + fi
  1303 + elif test "$UNAME_PROCESSOR" = i386 ; then
  1304 + # Avoid executing cc on OS X 10.9, as it ships with a stub
  1305 + # that puts up a graphical alert prompting to install
  1306 + # developer tools. Any system running Mac OS X 10.7 or
  1307 + # later (Darwin 11 and later) is required to have a 64-bit
  1308 + # processor. This is not true of the ARM version of Darwin
  1309 + # that Apple uses in portable devices.
  1310 + UNAME_PROCESSOR=x86_64
  1311 + fi
  1312 + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
  1313 + exit ;;
  1314 + *:procnto*:*:* | *:QNX:[0123456789]*:*)
  1315 + UNAME_PROCESSOR=`uname -p`
  1316 + if test "$UNAME_PROCESSOR" = x86; then
  1317 + UNAME_PROCESSOR=i386
  1318 + UNAME_MACHINE=pc
  1319 + fi
  1320 + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
  1321 + exit ;;
  1322 + *:QNX:*:4*)
  1323 + echo i386-pc-qnx
  1324 + exit ;;
  1325 + NEO-?:NONSTOP_KERNEL:*:*)
  1326 + echo neo-tandem-nsk${UNAME_RELEASE}
  1327 + exit ;;
  1328 + NSE-*:NONSTOP_KERNEL:*:*)
  1329 + echo nse-tandem-nsk${UNAME_RELEASE}
  1330 + exit ;;
  1331 + NSR-?:NONSTOP_KERNEL:*:*)
  1332 + echo nsr-tandem-nsk${UNAME_RELEASE}
  1333 + exit ;;
  1334 + *:NonStop-UX:*:*)
  1335 + echo mips-compaq-nonstopux
  1336 + exit ;;
  1337 + BS2000:POSIX*:*:*)
  1338 + echo bs2000-siemens-sysv
  1339 + exit ;;
  1340 + DS/*:UNIX_System_V:*:*)
  1341 + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
  1342 + exit ;;
  1343 + *:Plan9:*:*)
  1344 + # "uname -m" is not consistent, so use $cputype instead. 386
  1345 + # is converted to i386 for consistency with other x86
  1346 + # operating systems.
  1347 + if test "$cputype" = 386; then
  1348 + UNAME_MACHINE=i386
  1349 + else
  1350 + UNAME_MACHINE="$cputype"
  1351 + fi
  1352 + echo ${UNAME_MACHINE}-unknown-plan9
  1353 + exit ;;
  1354 + *:TOPS-10:*:*)
  1355 + echo pdp10-unknown-tops10
  1356 + exit ;;
  1357 + *:TENEX:*:*)
  1358 + echo pdp10-unknown-tenex
  1359 + exit ;;
  1360 + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
  1361 + echo pdp10-dec-tops20
  1362 + exit ;;
  1363 + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
  1364 + echo pdp10-xkl-tops20
  1365 + exit ;;
  1366 + *:TOPS-20:*:*)
  1367 + echo pdp10-unknown-tops20
  1368 + exit ;;
  1369 + *:ITS:*:*)
  1370 + echo pdp10-unknown-its
  1371 + exit ;;
  1372 + SEI:*:*:SEIUX)
  1373 + echo mips-sei-seiux${UNAME_RELEASE}
  1374 + exit ;;
  1375 + *:DragonFly:*:*)
  1376 + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
  1377 + exit ;;
  1378 + *:*VMS:*:*)
  1379 + UNAME_MACHINE=`(uname -p) 2>/dev/null`
  1380 + case "${UNAME_MACHINE}" in
  1381 + A*) echo alpha-dec-vms ; exit ;;
  1382 + I*) echo ia64-dec-vms ; exit ;;
  1383 + V*) echo vax-dec-vms ; exit ;;
  1384 + esac ;;
  1385 + *:XENIX:*:SysV)
  1386 + echo i386-pc-xenix
  1387 + exit ;;
  1388 + i*86:skyos:*:*)
  1389 + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
  1390 + exit ;;
  1391 + i*86:rdos:*:*)
  1392 + echo ${UNAME_MACHINE}-pc-rdos
  1393 + exit ;;
  1394 + i*86:AROS:*:*)
  1395 + echo ${UNAME_MACHINE}-pc-aros
  1396 + exit ;;
  1397 + x86_64:VMkernel:*:*)
  1398 + echo ${UNAME_MACHINE}-unknown-esx
  1399 + exit ;;
  1400 + amd64:Isilon\ OneFS:*:*)
  1401 + echo x86_64-unknown-onefs
  1402 + exit ;;
  1403 +esac
  1404 +
  1405 +cat >&2 <<EOF
  1406 +$0: unable to guess system type
  1407 +
  1408 +This script, last modified $timestamp, has failed to recognize
  1409 +the operating system you are using. It is advised that you
  1410 +download the most up to date version of the config scripts from
  1411 +
  1412 + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
  1413 +and
  1414 + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
  1415 +
  1416 +If the version you run ($0) is already up to date, please
  1417 +send the following data and any information you think might be
  1418 +pertinent to <config-patches@gnu.org> in order to provide the needed
  1419 +information to handle your system.
  1420 +
  1421 +config.guess timestamp = $timestamp
  1422 +
  1423 +uname -m = `(uname -m) 2>/dev/null || echo unknown`
  1424 +uname -r = `(uname -r) 2>/dev/null || echo unknown`
  1425 +uname -s = `(uname -s) 2>/dev/null || echo unknown`
  1426 +uname -v = `(uname -v) 2>/dev/null || echo unknown`
  1427 +
  1428 +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
  1429 +/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
  1430 +
  1431 +hostinfo = `(hostinfo) 2>/dev/null`
  1432 +/bin/universe = `(/bin/universe) 2>/dev/null`
  1433 +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
  1434 +/bin/arch = `(/bin/arch) 2>/dev/null`
  1435 +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
  1436 +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
  1437 +
  1438 +UNAME_MACHINE = ${UNAME_MACHINE}
  1439 +UNAME_RELEASE = ${UNAME_RELEASE}
  1440 +UNAME_SYSTEM = ${UNAME_SYSTEM}
  1441 +UNAME_VERSION = ${UNAME_VERSION}
  1442 +EOF
  1443 +
  1444 +exit 1
  1445 +
  1446 +# Local variables:
  1447 +# eval: (add-hook 'write-file-hooks 'time-stamp)
  1448 +# time-stamp-start: "timestamp='"
  1449 +# time-stamp-format: "%:y-%02m-%02d"
  1450 +# time-stamp-end: "'"
  1451 +# End:
... ...
scripts/config.sub 0 → 100644
... ... @@ -0,0 +1,1813 @@
  1 +#! /bin/sh
  2 +# Configuration validation subroutine script.
  3 +# Copyright 1992-2016 Free Software Foundation, Inc.
  4 +
  5 +timestamp='2016-01-01'
  6 +
  7 +# This file is free software; you can redistribute it and/or modify it
  8 +# under the terms of the GNU General Public License as published by
  9 +# the Free Software Foundation; either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful, but
  13 +# WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15 +# General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU General Public License
  18 +# along with this program; if not, see <http://www.gnu.org/licenses/>.
  19 +#
  20 +# As a special exception to the GNU General Public License, if you
  21 +# distribute this file as part of a program that contains a
  22 +# configuration script generated by Autoconf, you may include it under
  23 +# the same distribution terms that you use for the rest of that
  24 +# program. This Exception is an additional permission under section 7
  25 +# of the GNU General Public License, version 3 ("GPLv3").
  26 +
  27 +
  28 +# Please send patches to <config-patches@gnu.org>.
  29 +#
  30 +# Configuration subroutine to validate and canonicalize a configuration type.
  31 +# Supply the specified configuration type as an argument.
  32 +# If it is invalid, we print an error message on stderr and exit with code 1.
  33 +# Otherwise, we print the canonical config type on stdout and succeed.
  34 +
  35 +# You can get the latest version of this script from:
  36 +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
  37 +
  38 +# This file is supposed to be the same for all GNU packages
  39 +# and recognize all the CPU types, system types and aliases
  40 +# that are meaningful with *any* GNU software.
  41 +# Each package is responsible for reporting which valid configurations
  42 +# it does not support. The user should be able to distinguish
  43 +# a failure to support a valid configuration from a meaningless
  44 +# configuration.
  45 +
  46 +# The goal of this file is to map all the various variations of a given
  47 +# machine specification into a single specification in the form:
  48 +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
  49 +# or in some cases, the newer four-part form:
  50 +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
  51 +# It is wrong to echo any other type of specification.
  52 +
  53 +me=`echo "$0" | sed -e 's,.*/,,'`
  54 +
  55 +usage="\
  56 +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
  57 +
  58 +Canonicalize a configuration name.
  59 +
  60 +Operation modes:
  61 + -h, --help print this help, then exit
  62 + -t, --time-stamp print date of last modification, then exit
  63 + -v, --version print version number, then exit
  64 +
  65 +Report bugs and patches to <config-patches@gnu.org>."
  66 +
  67 +version="\
  68 +GNU config.sub ($timestamp)
  69 +
  70 +Copyright 1992-2016 Free Software Foundation, Inc.
  71 +
  72 +This is free software; see the source for copying conditions. There is NO
  73 +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
  74 +
  75 +help="
  76 +Try \`$me --help' for more information."
  77 +
  78 +# Parse command line
  79 +while test $# -gt 0 ; do
  80 + case $1 in
  81 + --time-stamp | --time* | -t )
  82 + echo "$timestamp" ; exit ;;
  83 + --version | -v )
  84 + echo "$version" ; exit ;;
  85 + --help | --h* | -h )
  86 + echo "$usage"; exit ;;
  87 + -- ) # Stop option processing
  88 + shift; break ;;
  89 + - ) # Use stdin as input.
  90 + break ;;
  91 + -* )
  92 + echo "$me: invalid option $1$help"
  93 + exit 1 ;;
  94 +
  95 + *local*)
  96 + # First pass through any local machine types.
  97 + echo $1
  98 + exit ;;
  99 +
  100 + * )
  101 + break ;;
  102 + esac
  103 +done
  104 +
  105 +case $# in
  106 + 0) echo "$me: missing argument$help" >&2
  107 + exit 1;;
  108 + 1) ;;
  109 + *) echo "$me: too many arguments$help" >&2
  110 + exit 1;;
  111 +esac
  112 +
  113 +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
  114 +# Here we must recognize all the valid KERNEL-OS combinations.
  115 +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
  116 +case $maybe_os in
  117 + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
  118 + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
  119 + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
  120 + kopensolaris*-gnu* | \
  121 + storm-chaos* | os2-emx* | rtmk-nova*)
  122 + os=-$maybe_os
  123 + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
  124 + ;;
  125 + android-linux)
  126 + os=-linux-android
  127 + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
  128 + ;;
  129 + *)
  130 + basic_machine=`echo $1 | sed 's/-[^-]*$//'`
  131 + if [ $basic_machine != $1 ]
  132 + then os=`echo $1 | sed 's/.*-/-/'`
  133 + else os=; fi
  134 + ;;
  135 +esac
  136 +
  137 +### Let's recognize common machines as not being operating systems so
  138 +### that things like config.sub decstation-3100 work. We also
  139 +### recognize some manufacturers as not being operating systems, so we
  140 +### can provide default operating systems below.
  141 +case $os in
  142 + -sun*os*)
  143 + # Prevent following clause from handling this invalid input.
  144 + ;;
  145 + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
  146 + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
  147 + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
  148 + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
  149 + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
  150 + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
  151 + -apple | -axis | -knuth | -cray | -microblaze*)
  152 + os=
  153 + basic_machine=$1
  154 + ;;
  155 + -bluegene*)
  156 + os=-cnk
  157 + ;;
  158 + -sim | -cisco | -oki | -wec | -winbond)
  159 + os=
  160 + basic_machine=$1
  161 + ;;
  162 + -scout)
  163 + ;;
  164 + -wrs)
  165 + os=-vxworks
  166 + basic_machine=$1
  167 + ;;
  168 + -chorusos*)
  169 + os=-chorusos
  170 + basic_machine=$1
  171 + ;;
  172 + -chorusrdb)
  173 + os=-chorusrdb
  174 + basic_machine=$1
  175 + ;;
  176 + -hiux*)
  177 + os=-hiuxwe2
  178 + ;;
  179 + -sco6)
  180 + os=-sco5v6
  181 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  182 + ;;
  183 + -sco5)
  184 + os=-sco3.2v5
  185 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  186 + ;;
  187 + -sco4)
  188 + os=-sco3.2v4
  189 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  190 + ;;
  191 + -sco3.2.[4-9]*)
  192 + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
  193 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  194 + ;;
  195 + -sco3.2v[4-9]*)
  196 + # Don't forget version if it is 3.2v4 or newer.
  197 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  198 + ;;
  199 + -sco5v6*)
  200 + # Don't forget version if it is 3.2v4 or newer.
  201 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  202 + ;;
  203 + -sco*)
  204 + os=-sco3.2v2
  205 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  206 + ;;
  207 + -udk*)
  208 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  209 + ;;
  210 + -isc)
  211 + os=-isc2.2
  212 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  213 + ;;
  214 + -clix*)
  215 + basic_machine=clipper-intergraph
  216 + ;;
  217 + -isc*)
  218 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  219 + ;;
  220 + -lynx*178)
  221 + os=-lynxos178
  222 + ;;
  223 + -lynx*5)
  224 + os=-lynxos5
  225 + ;;
  226 + -lynx*)
  227 + os=-lynxos
  228 + ;;
  229 + -ptx*)
  230 + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
  231 + ;;
  232 + -windowsnt*)
  233 + os=`echo $os | sed -e 's/windowsnt/winnt/'`
  234 + ;;
  235 + -psos*)
  236 + os=-psos
  237 + ;;
  238 + -mint | -mint[0-9]*)
  239 + basic_machine=m68k-atari
  240 + os=-mint
  241 + ;;
  242 +esac
  243 +
  244 +# Decode aliases for certain CPU-COMPANY combinations.
  245 +case $basic_machine in
  246 + # Recognize the basic CPU types without company name.
  247 + # Some are omitted here because they have special meanings below.
  248 + 1750a | 580 \
  249 + | a29k \
  250 + | aarch64 | aarch64_be \
  251 + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
  252 + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
  253 + | am33_2.0 \
  254 + | arc | arceb \
  255 + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
  256 + | avr | avr32 \
  257 + | ba \
  258 + | be32 | be64 \
  259 + | bfin \
  260 + | c4x | c8051 | clipper \
  261 + | d10v | d30v | dlx | dsp16xx \
  262 + | e2k | epiphany \
  263 + | fido | fr30 | frv | ft32 \
  264 + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
  265 + | hexagon \
  266 + | i370 | i860 | i960 | ia64 \
  267 + | ip2k | iq2000 \
  268 + | k1om \
  269 + | le32 | le64 \
  270 + | lm32 \
  271 + | m32c | m32r | m32rle | m68000 | m68k | m88k \
  272 + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
  273 + | mips | mipsbe | mipseb | mipsel | mipsle \
  274 + | mips16 \
  275 + | mips64 | mips64el \
  276 + | mips64octeon | mips64octeonel \
  277 + | mips64orion | mips64orionel \
  278 + | mips64r5900 | mips64r5900el \
  279 + | mips64vr | mips64vrel \
  280 + | mips64vr4100 | mips64vr4100el \
  281 + | mips64vr4300 | mips64vr4300el \
  282 + | mips64vr5000 | mips64vr5000el \
  283 + | mips64vr5900 | mips64vr5900el \
  284 + | mipsisa32 | mipsisa32el \
  285 + | mipsisa32r2 | mipsisa32r2el \
  286 + | mipsisa32r6 | mipsisa32r6el \
  287 + | mipsisa64 | mipsisa64el \
  288 + | mipsisa64r2 | mipsisa64r2el \
  289 + | mipsisa64r6 | mipsisa64r6el \
  290 + | mipsisa64sb1 | mipsisa64sb1el \
  291 + | mipsisa64sr71k | mipsisa64sr71kel \
  292 + | mipsr5900 | mipsr5900el \
  293 + | mipstx39 | mipstx39el \
  294 + | mn10200 | mn10300 \
  295 + | moxie \
  296 + | mt \
  297 + | msp430 \
  298 + | nds32 | nds32le | nds32be \
  299 + | nios | nios2 | nios2eb | nios2el \
  300 + | ns16k | ns32k \
  301 + | open8 | or1k | or1knd | or32 \
  302 + | pdp10 | pdp11 | pj | pjl \
  303 + | powerpc | powerpc64 | powerpc64le | powerpcle \
  304 + | pyramid \
  305 + | riscv32 | riscv64 \
  306 + | rl78 | rx \
  307 + | score \
  308 + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
  309 + | sh64 | sh64le \
  310 + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
  311 + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
  312 + | spu \
  313 + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
  314 + | ubicom32 \
  315 + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
  316 + | visium \
  317 + | we32k \
  318 + | x86 | xc16x | xstormy16 | xtensa \
  319 + | z8k | z80)
  320 + basic_machine=$basic_machine-unknown
  321 + ;;
  322 + c54x)
  323 + basic_machine=tic54x-unknown
  324 + ;;
  325 + c55x)
  326 + basic_machine=tic55x-unknown
  327 + ;;
  328 + c6x)
  329 + basic_machine=tic6x-unknown
  330 + ;;
  331 + leon|leon[3-9])
  332 + basic_machine=sparc-$basic_machine
  333 + ;;
  334 + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
  335 + basic_machine=$basic_machine-unknown
  336 + os=-none
  337 + ;;
  338 + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
  339 + ;;
  340 + ms1)
  341 + basic_machine=mt-unknown
  342 + ;;
  343 +
  344 + strongarm | thumb | xscale)
  345 + basic_machine=arm-unknown
  346 + ;;
  347 + xgate)
  348 + basic_machine=$basic_machine-unknown
  349 + os=-none
  350 + ;;
  351 + xscaleeb)
  352 + basic_machine=armeb-unknown
  353 + ;;
  354 +
  355 + xscaleel)
  356 + basic_machine=armel-unknown
  357 + ;;
  358 +
  359 + # We use `pc' rather than `unknown'
  360 + # because (1) that's what they normally are, and
  361 + # (2) the word "unknown" tends to confuse beginning users.
  362 + i*86 | x86_64)
  363 + basic_machine=$basic_machine-pc
  364 + ;;
  365 + # Object if more than one company name word.
  366 + *-*-*)
  367 + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  368 + exit 1
  369 + ;;
  370 + # Recognize the basic CPU types with company name.
  371 + 580-* \
  372 + | a29k-* \
  373 + | aarch64-* | aarch64_be-* \
  374 + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
  375 + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
  376 + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
  377 + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
  378 + | avr-* | avr32-* \
  379 + | ba-* \
  380 + | be32-* | be64-* \
  381 + | bfin-* | bs2000-* \
  382 + | c[123]* | c30-* | [cjt]90-* | c4x-* \
  383 + | c8051-* | clipper-* | craynv-* | cydra-* \
  384 + | d10v-* | d30v-* | dlx-* \
  385 + | e2k-* | elxsi-* \
  386 + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
  387 + | h8300-* | h8500-* \
  388 + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
  389 + | hexagon-* \
  390 + | i*86-* | i860-* | i960-* | ia64-* \
  391 + | ip2k-* | iq2000-* \
  392 + | k1om-* \
  393 + | le32-* | le64-* \
  394 + | lm32-* \
  395 + | m32c-* | m32r-* | m32rle-* \
  396 + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
  397 + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
  398 + | microblaze-* | microblazeel-* \
  399 + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
  400 + | mips16-* \
  401 + | mips64-* | mips64el-* \
  402 + | mips64octeon-* | mips64octeonel-* \
  403 + | mips64orion-* | mips64orionel-* \
  404 + | mips64r5900-* | mips64r5900el-* \
  405 + | mips64vr-* | mips64vrel-* \
  406 + | mips64vr4100-* | mips64vr4100el-* \
  407 + | mips64vr4300-* | mips64vr4300el-* \
  408 + | mips64vr5000-* | mips64vr5000el-* \
  409 + | mips64vr5900-* | mips64vr5900el-* \
  410 + | mipsisa32-* | mipsisa32el-* \
  411 + | mipsisa32r2-* | mipsisa32r2el-* \
  412 + | mipsisa32r6-* | mipsisa32r6el-* \
  413 + | mipsisa64-* | mipsisa64el-* \
  414 + | mipsisa64r2-* | mipsisa64r2el-* \
  415 + | mipsisa64r6-* | mipsisa64r6el-* \
  416 + | mipsisa64sb1-* | mipsisa64sb1el-* \
  417 + | mipsisa64sr71k-* | mipsisa64sr71kel-* \
  418 + | mipsr5900-* | mipsr5900el-* \
  419 + | mipstx39-* | mipstx39el-* \
  420 + | mmix-* \
  421 + | mt-* \
  422 + | msp430-* \
  423 + | nds32-* | nds32le-* | nds32be-* \
  424 + | nios-* | nios2-* | nios2eb-* | nios2el-* \
  425 + | none-* | np1-* | ns16k-* | ns32k-* \
  426 + | open8-* \
  427 + | or1k*-* \
  428 + | orion-* \
  429 + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
  430 + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
  431 + | pyramid-* \
  432 + | riscv32-* | riscv64-* \
  433 + | rl78-* | romp-* | rs6000-* | rx-* \
  434 + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
  435 + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
  436 + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
  437 + | sparclite-* \
  438 + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
  439 + | tahoe-* \
  440 + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
  441 + | tile*-* \
  442 + | tron-* \
  443 + | ubicom32-* \
  444 + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
  445 + | vax-* \
  446 + | visium-* \
  447 + | we32k-* \
  448 + | x86-* | x86_64-* | xc16x-* | xps100-* \
  449 + | xstormy16-* | xtensa*-* \
  450 + | ymp-* \
  451 + | z8k-* | z80-*)
  452 + ;;
  453 + # Recognize the basic CPU types without company name, with glob match.
  454 + xtensa*)
  455 + basic_machine=$basic_machine-unknown
  456 + ;;
  457 + # Recognize the various machine names and aliases which stand
  458 + # for a CPU type and a company and sometimes even an OS.
  459 + 386bsd)
  460 + basic_machine=i386-unknown
  461 + os=-bsd
  462 + ;;
  463 + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
  464 + basic_machine=m68000-att
  465 + ;;
  466 + 3b*)
  467 + basic_machine=we32k-att
  468 + ;;
  469 + a29khif)
  470 + basic_machine=a29k-amd
  471 + os=-udi
  472 + ;;
  473 + abacus)
  474 + basic_machine=abacus-unknown
  475 + ;;
  476 + adobe68k)
  477 + basic_machine=m68010-adobe
  478 + os=-scout
  479 + ;;
  480 + alliant | fx80)
  481 + basic_machine=fx80-alliant
  482 + ;;
  483 + altos | altos3068)
  484 + basic_machine=m68k-altos
  485 + ;;
  486 + am29k)
  487 + basic_machine=a29k-none
  488 + os=-bsd
  489 + ;;
  490 + amd64)
  491 + basic_machine=x86_64-pc
  492 + ;;
  493 + amd64-*)
  494 + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
  495 + ;;
  496 + amdahl)
  497 + basic_machine=580-amdahl
  498 + os=-sysv
  499 + ;;
  500 + amiga | amiga-*)
  501 + basic_machine=m68k-unknown
  502 + ;;
  503 + amigaos | amigados)
  504 + basic_machine=m68k-unknown
  505 + os=-amigaos
  506 + ;;
  507 + amigaunix | amix)
  508 + basic_machine=m68k-unknown
  509 + os=-sysv4
  510 + ;;
  511 + apollo68)
  512 + basic_machine=m68k-apollo
  513 + os=-sysv
  514 + ;;
  515 + apollo68bsd)
  516 + basic_machine=m68k-apollo
  517 + os=-bsd
  518 + ;;
  519 + aros)
  520 + basic_machine=i386-pc
  521 + os=-aros
  522 + ;;
  523 + asmjs)
  524 + basic_machine=asmjs-unknown
  525 + ;;
  526 + aux)
  527 + basic_machine=m68k-apple
  528 + os=-aux
  529 + ;;
  530 + balance)
  531 + basic_machine=ns32k-sequent
  532 + os=-dynix
  533 + ;;
  534 + blackfin)
  535 + basic_machine=bfin-unknown
  536 + os=-linux
  537 + ;;
  538 + blackfin-*)
  539 + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
  540 + os=-linux
  541 + ;;
  542 + bluegene*)
  543 + basic_machine=powerpc-ibm
  544 + os=-cnk
  545 + ;;
  546 + c54x-*)
  547 + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
  548 + ;;
  549 + c55x-*)
  550 + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
  551 + ;;
  552 + c6x-*)
  553 + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
  554 + ;;
  555 + c90)
  556 + basic_machine=c90-cray
  557 + os=-unicos
  558 + ;;
  559 + cegcc)
  560 + basic_machine=arm-unknown
  561 + os=-cegcc
  562 + ;;
  563 + convex-c1)
  564 + basic_machine=c1-convex
  565 + os=-bsd
  566 + ;;
  567 + convex-c2)
  568 + basic_machine=c2-convex
  569 + os=-bsd
  570 + ;;
  571 + convex-c32)
  572 + basic_machine=c32-convex
  573 + os=-bsd
  574 + ;;
  575 + convex-c34)
  576 + basic_machine=c34-convex
  577 + os=-bsd
  578 + ;;
  579 + convex-c38)
  580 + basic_machine=c38-convex
  581 + os=-bsd
  582 + ;;
  583 + cray | j90)
  584 + basic_machine=j90-cray
  585 + os=-unicos
  586 + ;;
  587 + craynv)
  588 + basic_machine=craynv-cray
  589 + os=-unicosmp
  590 + ;;
  591 + cr16 | cr16-*)
  592 + basic_machine=cr16-unknown
  593 + os=-elf
  594 + ;;
  595 + crds | unos)
  596 + basic_machine=m68k-crds
  597 + ;;
  598 + crisv32 | crisv32-* | etraxfs*)
  599 + basic_machine=crisv32-axis
  600 + ;;
  601 + cris | cris-* | etrax*)
  602 + basic_machine=cris-axis
  603 + ;;
  604 + crx)
  605 + basic_machine=crx-unknown
  606 + os=-elf
  607 + ;;
  608 + da30 | da30-*)
  609 + basic_machine=m68k-da30
  610 + ;;
  611 + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
  612 + basic_machine=mips-dec
  613 + ;;
  614 + decsystem10* | dec10*)
  615 + basic_machine=pdp10-dec
  616 + os=-tops10
  617 + ;;
  618 + decsystem20* | dec20*)
  619 + basic_machine=pdp10-dec
  620 + os=-tops20
  621 + ;;
  622 + delta | 3300 | motorola-3300 | motorola-delta \
  623 + | 3300-motorola | delta-motorola)
  624 + basic_machine=m68k-motorola
  625 + ;;
  626 + delta88)
  627 + basic_machine=m88k-motorola
  628 + os=-sysv3
  629 + ;;
  630 + dicos)
  631 + basic_machine=i686-pc
  632 + os=-dicos
  633 + ;;
  634 + djgpp)
  635 + basic_machine=i586-pc
  636 + os=-msdosdjgpp
  637 + ;;
  638 + dpx20 | dpx20-*)
  639 + basic_machine=rs6000-bull
  640 + os=-bosx
  641 + ;;
  642 + dpx2* | dpx2*-bull)
  643 + basic_machine=m68k-bull
  644 + os=-sysv3
  645 + ;;
  646 + ebmon29k)
  647 + basic_machine=a29k-amd
  648 + os=-ebmon
  649 + ;;
  650 + elxsi)
  651 + basic_machine=elxsi-elxsi
  652 + os=-bsd
  653 + ;;
  654 + encore | umax | mmax)
  655 + basic_machine=ns32k-encore
  656 + ;;
  657 + es1800 | OSE68k | ose68k | ose | OSE)
  658 + basic_machine=m68k-ericsson
  659 + os=-ose
  660 + ;;
  661 + fx2800)
  662 + basic_machine=i860-alliant
  663 + ;;
  664 + genix)
  665 + basic_machine=ns32k-ns
  666 + ;;
  667 + gmicro)
  668 + basic_machine=tron-gmicro
  669 + os=-sysv
  670 + ;;
  671 + go32)
  672 + basic_machine=i386-pc
  673 + os=-go32
  674 + ;;
  675 + h3050r* | hiux*)
  676 + basic_machine=hppa1.1-hitachi
  677 + os=-hiuxwe2
  678 + ;;
  679 + h8300hms)
  680 + basic_machine=h8300-hitachi
  681 + os=-hms
  682 + ;;
  683 + h8300xray)
  684 + basic_machine=h8300-hitachi
  685 + os=-xray
  686 + ;;
  687 + h8500hms)
  688 + basic_machine=h8500-hitachi
  689 + os=-hms
  690 + ;;
  691 + harris)
  692 + basic_machine=m88k-harris
  693 + os=-sysv3
  694 + ;;
  695 + hp300-*)
  696 + basic_machine=m68k-hp
  697 + ;;
  698 + hp300bsd)
  699 + basic_machine=m68k-hp
  700 + os=-bsd
  701 + ;;
  702 + hp300hpux)
  703 + basic_machine=m68k-hp
  704 + os=-hpux
  705 + ;;
  706 + hp3k9[0-9][0-9] | hp9[0-9][0-9])
  707 + basic_machine=hppa1.0-hp
  708 + ;;
  709 + hp9k2[0-9][0-9] | hp9k31[0-9])
  710 + basic_machine=m68000-hp
  711 + ;;
  712 + hp9k3[2-9][0-9])
  713 + basic_machine=m68k-hp
  714 + ;;
  715 + hp9k6[0-9][0-9] | hp6[0-9][0-9])
  716 + basic_machine=hppa1.0-hp
  717 + ;;
  718 + hp9k7[0-79][0-9] | hp7[0-79][0-9])
  719 + basic_machine=hppa1.1-hp
  720 + ;;
  721 + hp9k78[0-9] | hp78[0-9])
  722 + # FIXME: really hppa2.0-hp
  723 + basic_machine=hppa1.1-hp
  724 + ;;
  725 + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
  726 + # FIXME: really hppa2.0-hp
  727 + basic_machine=hppa1.1-hp
  728 + ;;
  729 + hp9k8[0-9][13679] | hp8[0-9][13679])
  730 + basic_machine=hppa1.1-hp
  731 + ;;
  732 + hp9k8[0-9][0-9] | hp8[0-9][0-9])
  733 + basic_machine=hppa1.0-hp
  734 + ;;
  735 + hppa-next)
  736 + os=-nextstep3
  737 + ;;
  738 + hppaosf)
  739 + basic_machine=hppa1.1-hp
  740 + os=-osf
  741 + ;;
  742 + hppro)
  743 + basic_machine=hppa1.1-hp
  744 + os=-proelf
  745 + ;;
  746 + i370-ibm* | ibm*)
  747 + basic_machine=i370-ibm
  748 + ;;
  749 + i*86v32)
  750 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  751 + os=-sysv32
  752 + ;;
  753 + i*86v4*)
  754 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  755 + os=-sysv4
  756 + ;;
  757 + i*86v)
  758 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  759 + os=-sysv
  760 + ;;
  761 + i*86sol2)
  762 + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  763 + os=-solaris2
  764 + ;;
  765 + i386mach)
  766 + basic_machine=i386-mach
  767 + os=-mach
  768 + ;;
  769 + i386-vsta | vsta)
  770 + basic_machine=i386-unknown
  771 + os=-vsta
  772 + ;;
  773 + iris | iris4d)
  774 + basic_machine=mips-sgi
  775 + case $os in
  776 + -irix*)
  777 + ;;
  778 + *)
  779 + os=-irix4
  780 + ;;
  781 + esac
  782 + ;;
  783 + isi68 | isi)
  784 + basic_machine=m68k-isi
  785 + os=-sysv
  786 + ;;
  787 + leon-*|leon[3-9]-*)
  788 + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
  789 + ;;
  790 + m68knommu)
  791 + basic_machine=m68k-unknown
  792 + os=-linux
  793 + ;;
  794 + m68knommu-*)
  795 + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
  796 + os=-linux
  797 + ;;
  798 + m88k-omron*)
  799 + basic_machine=m88k-omron
  800 + ;;
  801 + magnum | m3230)
  802 + basic_machine=mips-mips
  803 + os=-sysv
  804 + ;;
  805 + merlin)
  806 + basic_machine=ns32k-utek
  807 + os=-sysv
  808 + ;;
  809 + microblaze*)
  810 + basic_machine=microblaze-xilinx
  811 + ;;
  812 + mingw64)
  813 + basic_machine=x86_64-pc
  814 + os=-mingw64
  815 + ;;
  816 + mingw32)
  817 + basic_machine=i686-pc
  818 + os=-mingw32
  819 + ;;
  820 + mingw32ce)
  821 + basic_machine=arm-unknown
  822 + os=-mingw32ce
  823 + ;;
  824 + miniframe)
  825 + basic_machine=m68000-convergent
  826 + ;;
  827 + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
  828 + basic_machine=m68k-atari
  829 + os=-mint
  830 + ;;
  831 + mips3*-*)
  832 + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
  833 + ;;
  834 + mips3*)
  835 + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
  836 + ;;
  837 + monitor)
  838 + basic_machine=m68k-rom68k
  839 + os=-coff
  840 + ;;
  841 + morphos)
  842 + basic_machine=powerpc-unknown
  843 + os=-morphos
  844 + ;;
  845 + moxiebox)
  846 + basic_machine=moxie-unknown
  847 + os=-moxiebox
  848 + ;;
  849 + msdos)
  850 + basic_machine=i386-pc
  851 + os=-msdos
  852 + ;;
  853 + ms1-*)
  854 + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
  855 + ;;
  856 + msys)
  857 + basic_machine=i686-pc
  858 + os=-msys
  859 + ;;
  860 + mvs)
  861 + basic_machine=i370-ibm
  862 + os=-mvs
  863 + ;;
  864 + nacl)
  865 + basic_machine=le32-unknown
  866 + os=-nacl
  867 + ;;
  868 + ncr3000)
  869 + basic_machine=i486-ncr
  870 + os=-sysv4
  871 + ;;
  872 + netbsd386)
  873 + basic_machine=i386-unknown
  874 + os=-netbsd
  875 + ;;
  876 + netwinder)
  877 + basic_machine=armv4l-rebel
  878 + os=-linux
  879 + ;;
  880 + news | news700 | news800 | news900)
  881 + basic_machine=m68k-sony
  882 + os=-newsos
  883 + ;;
  884 + news1000)
  885 + basic_machine=m68030-sony
  886 + os=-newsos
  887 + ;;
  888 + news-3600 | risc-news)
  889 + basic_machine=mips-sony
  890 + os=-newsos
  891 + ;;
  892 + necv70)
  893 + basic_machine=v70-nec
  894 + os=-sysv
  895 + ;;
  896 + next | m*-next )
  897 + basic_machine=m68k-next
  898 + case $os in
  899 + -nextstep* )
  900 + ;;
  901 + -ns2*)
  902 + os=-nextstep2
  903 + ;;
  904 + *)
  905 + os=-nextstep3
  906 + ;;
  907 + esac
  908 + ;;
  909 + nh3000)
  910 + basic_machine=m68k-harris
  911 + os=-cxux
  912 + ;;
  913 + nh[45]000)
  914 + basic_machine=m88k-harris
  915 + os=-cxux
  916 + ;;
  917 + nindy960)
  918 + basic_machine=i960-intel
  919 + os=-nindy
  920 + ;;
  921 + mon960)
  922 + basic_machine=i960-intel
  923 + os=-mon960
  924 + ;;
  925 + nonstopux)
  926 + basic_machine=mips-compaq
  927 + os=-nonstopux
  928 + ;;
  929 + np1)
  930 + basic_machine=np1-gould
  931 + ;;
  932 + neo-tandem)
  933 + basic_machine=neo-tandem
  934 + ;;
  935 + nse-tandem)
  936 + basic_machine=nse-tandem
  937 + ;;
  938 + nsr-tandem)
  939 + basic_machine=nsr-tandem
  940 + ;;
  941 + op50n-* | op60c-*)
  942 + basic_machine=hppa1.1-oki
  943 + os=-proelf
  944 + ;;
  945 + openrisc | openrisc-*)
  946 + basic_machine=or32-unknown
  947 + ;;
  948 + os400)
  949 + basic_machine=powerpc-ibm
  950 + os=-os400
  951 + ;;
  952 + OSE68000 | ose68000)
  953 + basic_machine=m68000-ericsson
  954 + os=-ose
  955 + ;;
  956 + os68k)
  957 + basic_machine=m68k-none
  958 + os=-os68k
  959 + ;;
  960 + pa-hitachi)
  961 + basic_machine=hppa1.1-hitachi
  962 + os=-hiuxwe2
  963 + ;;
  964 + paragon)
  965 + basic_machine=i860-intel
  966 + os=-osf
  967 + ;;
  968 + parisc)
  969 + basic_machine=hppa-unknown
  970 + os=-linux
  971 + ;;
  972 + parisc-*)
  973 + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
  974 + os=-linux
  975 + ;;
  976 + pbd)
  977 + basic_machine=sparc-tti
  978 + ;;
  979 + pbb)
  980 + basic_machine=m68k-tti
  981 + ;;
  982 + pc532 | pc532-*)
  983 + basic_machine=ns32k-pc532
  984 + ;;
  985 + pc98)
  986 + basic_machine=i386-pc
  987 + ;;
  988 + pc98-*)
  989 + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
  990 + ;;
  991 + pentium | p5 | k5 | k6 | nexgen | viac3)
  992 + basic_machine=i586-pc
  993 + ;;
  994 + pentiumpro | p6 | 6x86 | athlon | athlon_*)
  995 + basic_machine=i686-pc
  996 + ;;
  997 + pentiumii | pentium2 | pentiumiii | pentium3)
  998 + basic_machine=i686-pc
  999 + ;;
  1000 + pentium4)
  1001 + basic_machine=i786-pc
  1002 + ;;
  1003 + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
  1004 + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
  1005 + ;;
  1006 + pentiumpro-* | p6-* | 6x86-* | athlon-*)
  1007 + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
  1008 + ;;
  1009 + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
  1010 + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
  1011 + ;;
  1012 + pentium4-*)
  1013 + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
  1014 + ;;
  1015 + pn)
  1016 + basic_machine=pn-gould
  1017 + ;;
  1018 + power) basic_machine=power-ibm
  1019 + ;;
  1020 + ppc | ppcbe) basic_machine=powerpc-unknown
  1021 + ;;
  1022 + ppc-* | ppcbe-*)
  1023 + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
  1024 + ;;
  1025 + ppcle | powerpclittle | ppc-le | powerpc-little)
  1026 + basic_machine=powerpcle-unknown
  1027 + ;;
  1028 + ppcle-* | powerpclittle-*)
  1029 + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
  1030 + ;;
  1031 + ppc64) basic_machine=powerpc64-unknown
  1032 + ;;
  1033 + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
  1034 + ;;
  1035 + ppc64le | powerpc64little | ppc64-le | powerpc64-little)
  1036 + basic_machine=powerpc64le-unknown
  1037 + ;;
  1038 + ppc64le-* | powerpc64little-*)
  1039 + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
  1040 + ;;
  1041 + ps2)
  1042 + basic_machine=i386-ibm
  1043 + ;;
  1044 + pw32)
  1045 + basic_machine=i586-unknown
  1046 + os=-pw32
  1047 + ;;
  1048 + rdos | rdos64)
  1049 + basic_machine=x86_64-pc
  1050 + os=-rdos
  1051 + ;;
  1052 + rdos32)
  1053 + basic_machine=i386-pc
  1054 + os=-rdos
  1055 + ;;
  1056 + rom68k)
  1057 + basic_machine=m68k-rom68k
  1058 + os=-coff
  1059 + ;;
  1060 + rm[46]00)
  1061 + basic_machine=mips-siemens
  1062 + ;;
  1063 + rtpc | rtpc-*)
  1064 + basic_machine=romp-ibm
  1065 + ;;
  1066 + s390 | s390-*)
  1067 + basic_machine=s390-ibm
  1068 + ;;
  1069 + s390x | s390x-*)
  1070 + basic_machine=s390x-ibm
  1071 + ;;
  1072 + sa29200)
  1073 + basic_machine=a29k-amd
  1074 + os=-udi
  1075 + ;;
  1076 + sb1)
  1077 + basic_machine=mipsisa64sb1-unknown
  1078 + ;;
  1079 + sb1el)
  1080 + basic_machine=mipsisa64sb1el-unknown
  1081 + ;;
  1082 + sde)
  1083 + basic_machine=mipsisa32-sde
  1084 + os=-elf
  1085 + ;;
  1086 + sei)
  1087 + basic_machine=mips-sei
  1088 + os=-seiux
  1089 + ;;
  1090 + sequent)
  1091 + basic_machine=i386-sequent
  1092 + ;;
  1093 + sh)
  1094 + basic_machine=sh-hitachi
  1095 + os=-hms
  1096 + ;;
  1097 + sh5el)
  1098 + basic_machine=sh5le-unknown
  1099 + ;;
  1100 + sh64)
  1101 + basic_machine=sh64-unknown
  1102 + ;;
  1103 + sparclite-wrs | simso-wrs)
  1104 + basic_machine=sparclite-wrs
  1105 + os=-vxworks
  1106 + ;;
  1107 + sps7)
  1108 + basic_machine=m68k-bull
  1109 + os=-sysv2
  1110 + ;;
  1111 + spur)
  1112 + basic_machine=spur-unknown
  1113 + ;;
  1114 + st2000)
  1115 + basic_machine=m68k-tandem
  1116 + ;;
  1117 + stratus)
  1118 + basic_machine=i860-stratus
  1119 + os=-sysv4
  1120 + ;;
  1121 + strongarm-* | thumb-*)
  1122 + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
  1123 + ;;
  1124 + sun2)
  1125 + basic_machine=m68000-sun
  1126 + ;;
  1127 + sun2os3)
  1128 + basic_machine=m68000-sun
  1129 + os=-sunos3
  1130 + ;;
  1131 + sun2os4)
  1132 + basic_machine=m68000-sun
  1133 + os=-sunos4
  1134 + ;;
  1135 + sun3os3)
  1136 + basic_machine=m68k-sun
  1137 + os=-sunos3
  1138 + ;;
  1139 + sun3os4)
  1140 + basic_machine=m68k-sun
  1141 + os=-sunos4
  1142 + ;;
  1143 + sun4os3)
  1144 + basic_machine=sparc-sun
  1145 + os=-sunos3
  1146 + ;;
  1147 + sun4os4)
  1148 + basic_machine=sparc-sun
  1149 + os=-sunos4
  1150 + ;;
  1151 + sun4sol2)
  1152 + basic_machine=sparc-sun
  1153 + os=-solaris2
  1154 + ;;
  1155 + sun3 | sun3-*)
  1156 + basic_machine=m68k-sun
  1157 + ;;
  1158 + sun4)
  1159 + basic_machine=sparc-sun
  1160 + ;;
  1161 + sun386 | sun386i | roadrunner)
  1162 + basic_machine=i386-sun
  1163 + ;;
  1164 + sv1)
  1165 + basic_machine=sv1-cray
  1166 + os=-unicos
  1167 + ;;
  1168 + symmetry)
  1169 + basic_machine=i386-sequent
  1170 + os=-dynix
  1171 + ;;
  1172 + t3e)
  1173 + basic_machine=alphaev5-cray
  1174 + os=-unicos
  1175 + ;;
  1176 + t90)
  1177 + basic_machine=t90-cray
  1178 + os=-unicos
  1179 + ;;
  1180 + tile*)
  1181 + basic_machine=$basic_machine-unknown
  1182 + os=-linux-gnu
  1183 + ;;
  1184 + tx39)
  1185 + basic_machine=mipstx39-unknown
  1186 + ;;
  1187 + tx39el)
  1188 + basic_machine=mipstx39el-unknown
  1189 + ;;
  1190 + toad1)
  1191 + basic_machine=pdp10-xkl
  1192 + os=-tops20
  1193 + ;;
  1194 + tower | tower-32)
  1195 + basic_machine=m68k-ncr
  1196 + ;;
  1197 + tpf)
  1198 + basic_machine=s390x-ibm
  1199 + os=-tpf
  1200 + ;;
  1201 + udi29k)
  1202 + basic_machine=a29k-amd
  1203 + os=-udi
  1204 + ;;
  1205 + ultra3)
  1206 + basic_machine=a29k-nyu
  1207 + os=-sym1
  1208 + ;;
  1209 + v810 | necv810)
  1210 + basic_machine=v810-nec
  1211 + os=-none
  1212 + ;;
  1213 + vaxv)
  1214 + basic_machine=vax-dec
  1215 + os=-sysv
  1216 + ;;
  1217 + vms)
  1218 + basic_machine=vax-dec
  1219 + os=-vms
  1220 + ;;
  1221 + vpp*|vx|vx-*)
  1222 + basic_machine=f301-fujitsu
  1223 + ;;
  1224 + vxworks960)
  1225 + basic_machine=i960-wrs
  1226 + os=-vxworks
  1227 + ;;
  1228 + vxworks68)
  1229 + basic_machine=m68k-wrs
  1230 + os=-vxworks
  1231 + ;;
  1232 + vxworks29k)
  1233 + basic_machine=a29k-wrs
  1234 + os=-vxworks
  1235 + ;;
  1236 + w65*)
  1237 + basic_machine=w65-wdc
  1238 + os=-none
  1239 + ;;
  1240 + w89k-*)
  1241 + basic_machine=hppa1.1-winbond
  1242 + os=-proelf
  1243 + ;;
  1244 + xbox)
  1245 + basic_machine=i686-pc
  1246 + os=-mingw32
  1247 + ;;
  1248 + xps | xps100)
  1249 + basic_machine=xps100-honeywell
  1250 + ;;
  1251 + xscale-* | xscalee[bl]-*)
  1252 + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
  1253 + ;;
  1254 + ymp)
  1255 + basic_machine=ymp-cray
  1256 + os=-unicos
  1257 + ;;
  1258 + z8k-*-coff)
  1259 + basic_machine=z8k-unknown
  1260 + os=-sim
  1261 + ;;
  1262 + z80-*-coff)
  1263 + basic_machine=z80-unknown
  1264 + os=-sim
  1265 + ;;
  1266 + none)
  1267 + basic_machine=none-none
  1268 + os=-none
  1269 + ;;
  1270 +
  1271 +# Here we handle the default manufacturer of certain CPU types. It is in
  1272 +# some cases the only manufacturer, in others, it is the most popular.
  1273 + w89k)
  1274 + basic_machine=hppa1.1-winbond
  1275 + ;;
  1276 + op50n)
  1277 + basic_machine=hppa1.1-oki
  1278 + ;;
  1279 + op60c)
  1280 + basic_machine=hppa1.1-oki
  1281 + ;;
  1282 + romp)
  1283 + basic_machine=romp-ibm
  1284 + ;;
  1285 + mmix)
  1286 + basic_machine=mmix-knuth
  1287 + ;;
  1288 + rs6000)
  1289 + basic_machine=rs6000-ibm
  1290 + ;;
  1291 + vax)
  1292 + basic_machine=vax-dec
  1293 + ;;
  1294 + pdp10)
  1295 + # there are many clones, so DEC is not a safe bet
  1296 + basic_machine=pdp10-unknown
  1297 + ;;
  1298 + pdp11)
  1299 + basic_machine=pdp11-dec
  1300 + ;;
  1301 + we32k)
  1302 + basic_machine=we32k-att
  1303 + ;;
  1304 + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
  1305 + basic_machine=sh-unknown
  1306 + ;;
  1307 + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
  1308 + basic_machine=sparc-sun
  1309 + ;;
  1310 + cydra)
  1311 + basic_machine=cydra-cydrome
  1312 + ;;
  1313 + orion)
  1314 + basic_machine=orion-highlevel
  1315 + ;;
  1316 + orion105)
  1317 + basic_machine=clipper-highlevel
  1318 + ;;
  1319 + mac | mpw | mac-mpw)
  1320 + basic_machine=m68k-apple
  1321 + ;;
  1322 + pmac | pmac-mpw)
  1323 + basic_machine=powerpc-apple
  1324 + ;;
  1325 + *-unknown)
  1326 + # Make sure to match an already-canonicalized machine name.
  1327 + ;;
  1328 + *)
  1329 + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  1330 + exit 1
  1331 + ;;
  1332 +esac
  1333 +
  1334 +# Here we canonicalize certain aliases for manufacturers.
  1335 +case $basic_machine in
  1336 + *-digital*)
  1337 + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
  1338 + ;;
  1339 + *-commodore*)
  1340 + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
  1341 + ;;
  1342 + *)
  1343 + ;;
  1344 +esac
  1345 +
  1346 +# Decode manufacturer-specific aliases for certain operating systems.
  1347 +
  1348 +if [ x"$os" != x"" ]
  1349 +then
  1350 +case $os in
  1351 + # First match some system type aliases
  1352 + # that might get confused with valid system types.
  1353 + # -solaris* is a basic system type, with this one exception.
  1354 + -auroraux)
  1355 + os=-auroraux
  1356 + ;;
  1357 + -solaris1 | -solaris1.*)
  1358 + os=`echo $os | sed -e 's|solaris1|sunos4|'`
  1359 + ;;
  1360 + -solaris)
  1361 + os=-solaris2
  1362 + ;;
  1363 + -svr4*)
  1364 + os=-sysv4
  1365 + ;;
  1366 + -unixware*)
  1367 + os=-sysv4.2uw
  1368 + ;;
  1369 + -gnu/linux*)
  1370 + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
  1371 + ;;
  1372 + # First accept the basic system types.
  1373 + # The portable systems comes first.
  1374 + # Each alternative MUST END IN A *, to match a version number.
  1375 + # -sysv* is not here because it comes later, after sysvr4.
  1376 + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  1377 + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
  1378 + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
  1379 + | -sym* | -kopensolaris* | -plan9* \
  1380 + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
  1381 + | -aos* | -aros* | -cloudabi* | -sortix* \
  1382 + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  1383 + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
  1384 + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
  1385 + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
  1386 + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
  1387 + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  1388 + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  1389 + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  1390 + | -chorusos* | -chorusrdb* | -cegcc* \
  1391 + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
  1392 + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
  1393 + | -linux-newlib* | -linux-musl* | -linux-uclibc* \
  1394 + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
  1395 + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
  1396 + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
  1397 + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  1398 + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  1399 + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
  1400 + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
  1401 + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
  1402 + | -onefs* | -tirtos*)
  1403 + # Remember, each alternative MUST END IN *, to match a version number.
  1404 + ;;
  1405 + -qnx*)
  1406 + case $basic_machine in
  1407 + x86-* | i*86-*)
  1408 + ;;
  1409 + *)
  1410 + os=-nto$os
  1411 + ;;
  1412 + esac
  1413 + ;;
  1414 + -nto-qnx*)
  1415 + ;;
  1416 + -nto*)
  1417 + os=`echo $os | sed -e 's|nto|nto-qnx|'`
  1418 + ;;
  1419 + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
  1420 + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
  1421 + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
  1422 + ;;
  1423 + -mac*)
  1424 + os=`echo $os | sed -e 's|mac|macos|'`
  1425 + ;;
  1426 + -linux-dietlibc)
  1427 + os=-linux-dietlibc
  1428 + ;;
  1429 + -linux*)
  1430 + os=`echo $os | sed -e 's|linux|linux-gnu|'`
  1431 + ;;
  1432 + -sunos5*)
  1433 + os=`echo $os | sed -e 's|sunos5|solaris2|'`
  1434 + ;;
  1435 + -sunos6*)
  1436 + os=`echo $os | sed -e 's|sunos6|solaris3|'`
  1437 + ;;
  1438 + -opened*)
  1439 + os=-openedition
  1440 + ;;
  1441 + -os400*)
  1442 + os=-os400
  1443 + ;;
  1444 + -wince*)
  1445 + os=-wince
  1446 + ;;
  1447 + -osfrose*)
  1448 + os=-osfrose
  1449 + ;;
  1450 + -osf*)
  1451 + os=-osf
  1452 + ;;
  1453 + -utek*)
  1454 + os=-bsd
  1455 + ;;
  1456 + -dynix*)
  1457 + os=-bsd
  1458 + ;;
  1459 + -acis*)
  1460 + os=-aos
  1461 + ;;
  1462 + -atheos*)
  1463 + os=-atheos
  1464 + ;;
  1465 + -syllable*)
  1466 + os=-syllable
  1467 + ;;
  1468 + -386bsd)
  1469 + os=-bsd
  1470 + ;;
  1471 + -ctix* | -uts*)
  1472 + os=-sysv
  1473 + ;;
  1474 + -nova*)
  1475 + os=-rtmk-nova
  1476 + ;;
  1477 + -ns2 )
  1478 + os=-nextstep2
  1479 + ;;
  1480 + -nsk*)
  1481 + os=-nsk
  1482 + ;;
  1483 + # Preserve the version number of sinix5.
  1484 + -sinix5.*)
  1485 + os=`echo $os | sed -e 's|sinix|sysv|'`
  1486 + ;;
  1487 + -sinix*)
  1488 + os=-sysv4
  1489 + ;;
  1490 + -tpf*)
  1491 + os=-tpf
  1492 + ;;
  1493 + -triton*)
  1494 + os=-sysv3
  1495 + ;;
  1496 + -oss*)
  1497 + os=-sysv3
  1498 + ;;
  1499 + -svr4)
  1500 + os=-sysv4
  1501 + ;;
  1502 + -svr3)
  1503 + os=-sysv3
  1504 + ;;
  1505 + -sysvr4)
  1506 + os=-sysv4
  1507 + ;;
  1508 + # This must come after -sysvr4.
  1509 + -sysv*)
  1510 + ;;
  1511 + -ose*)
  1512 + os=-ose
  1513 + ;;
  1514 + -es1800*)
  1515 + os=-ose
  1516 + ;;
  1517 + -xenix)
  1518 + os=-xenix
  1519 + ;;
  1520 + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  1521 + os=-mint
  1522 + ;;
  1523 + -aros*)
  1524 + os=-aros
  1525 + ;;
  1526 + -zvmoe)
  1527 + os=-zvmoe
  1528 + ;;
  1529 + -dicos*)
  1530 + os=-dicos
  1531 + ;;
  1532 + -nacl*)
  1533 + ;;
  1534 + -none)
  1535 + ;;
  1536 + *)
  1537 + # Get rid of the `-' at the beginning of $os.
  1538 + os=`echo $os | sed 's/[^-]*-//'`
  1539 + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
  1540 + exit 1
  1541 + ;;
  1542 +esac
  1543 +else
  1544 +
  1545 +# Here we handle the default operating systems that come with various machines.
  1546 +# The value should be what the vendor currently ships out the door with their
  1547 +# machine or put another way, the most popular os provided with the machine.
  1548 +
  1549 +# Note that if you're going to try to match "-MANUFACTURER" here (say,
  1550 +# "-sun"), then you have to tell the case statement up towards the top
  1551 +# that MANUFACTURER isn't an operating system. Otherwise, code above
  1552 +# will signal an error saying that MANUFACTURER isn't an operating
  1553 +# system, and we'll never get to this point.
  1554 +
  1555 +case $basic_machine in
  1556 + score-*)
  1557 + os=-elf
  1558 + ;;
  1559 + spu-*)
  1560 + os=-elf
  1561 + ;;
  1562 + *-acorn)
  1563 + os=-riscix1.2
  1564 + ;;
  1565 + arm*-rebel)
  1566 + os=-linux
  1567 + ;;
  1568 + arm*-semi)
  1569 + os=-aout
  1570 + ;;
  1571 + c4x-* | tic4x-*)
  1572 + os=-coff
  1573 + ;;
  1574 + c8051-*)
  1575 + os=-elf
  1576 + ;;
  1577 + hexagon-*)
  1578 + os=-elf
  1579 + ;;
  1580 + tic54x-*)
  1581 + os=-coff
  1582 + ;;
  1583 + tic55x-*)
  1584 + os=-coff
  1585 + ;;
  1586 + tic6x-*)
  1587 + os=-coff
  1588 + ;;
  1589 + # This must come before the *-dec entry.
  1590 + pdp10-*)
  1591 + os=-tops20
  1592 + ;;
  1593 + pdp11-*)
  1594 + os=-none
  1595 + ;;
  1596 + *-dec | vax-*)
  1597 + os=-ultrix4.2
  1598 + ;;
  1599 + m68*-apollo)
  1600 + os=-domain
  1601 + ;;
  1602 + i386-sun)
  1603 + os=-sunos4.0.2
  1604 + ;;
  1605 + m68000-sun)
  1606 + os=-sunos3
  1607 + ;;
  1608 + m68*-cisco)
  1609 + os=-aout
  1610 + ;;
  1611 + mep-*)
  1612 + os=-elf
  1613 + ;;
  1614 + mips*-cisco)
  1615 + os=-elf
  1616 + ;;
  1617 + mips*-*)
  1618 + os=-elf
  1619 + ;;
  1620 + or32-*)
  1621 + os=-coff
  1622 + ;;
  1623 + *-tti) # must be before sparc entry or we get the wrong os.
  1624 + os=-sysv3
  1625 + ;;
  1626 + sparc-* | *-sun)
  1627 + os=-sunos4.1.1
  1628 + ;;
  1629 + *-be)
  1630 + os=-beos
  1631 + ;;
  1632 + *-haiku)
  1633 + os=-haiku
  1634 + ;;
  1635 + *-ibm)
  1636 + os=-aix
  1637 + ;;
  1638 + *-knuth)
  1639 + os=-mmixware
  1640 + ;;
  1641 + *-wec)
  1642 + os=-proelf
  1643 + ;;
  1644 + *-winbond)
  1645 + os=-proelf
  1646 + ;;
  1647 + *-oki)
  1648 + os=-proelf
  1649 + ;;
  1650 + *-hp)
  1651 + os=-hpux
  1652 + ;;
  1653 + *-hitachi)
  1654 + os=-hiux
  1655 + ;;
  1656 + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
  1657 + os=-sysv
  1658 + ;;
  1659 + *-cbm)
  1660 + os=-amigaos
  1661 + ;;
  1662 + *-dg)
  1663 + os=-dgux
  1664 + ;;
  1665 + *-dolphin)
  1666 + os=-sysv3
  1667 + ;;
  1668 + m68k-ccur)
  1669 + os=-rtu
  1670 + ;;
  1671 + m88k-omron*)
  1672 + os=-luna
  1673 + ;;
  1674 + *-next )
  1675 + os=-nextstep
  1676 + ;;
  1677 + *-sequent)
  1678 + os=-ptx
  1679 + ;;
  1680 + *-crds)
  1681 + os=-unos
  1682 + ;;
  1683 + *-ns)
  1684 + os=-genix
  1685 + ;;
  1686 + i370-*)
  1687 + os=-mvs
  1688 + ;;
  1689 + *-next)
  1690 + os=-nextstep3
  1691 + ;;
  1692 + *-gould)
  1693 + os=-sysv
  1694 + ;;
  1695 + *-highlevel)
  1696 + os=-bsd
  1697 + ;;
  1698 + *-encore)
  1699 + os=-bsd
  1700 + ;;
  1701 + *-sgi)
  1702 + os=-irix
  1703 + ;;
  1704 + *-siemens)
  1705 + os=-sysv4
  1706 + ;;
  1707 + *-masscomp)
  1708 + os=-rtu
  1709 + ;;
  1710 + f30[01]-fujitsu | f700-fujitsu)
  1711 + os=-uxpv
  1712 + ;;
  1713 + *-rom68k)
  1714 + os=-coff
  1715 + ;;
  1716 + *-*bug)
  1717 + os=-coff
  1718 + ;;
  1719 + *-apple)
  1720 + os=-macos
  1721 + ;;
  1722 + *-atari*)
  1723 + os=-mint
  1724 + ;;
  1725 + *)
  1726 + os=-none
  1727 + ;;
  1728 +esac
  1729 +fi
  1730 +
  1731 +# Here we handle the case where we know the os, and the CPU type, but not the
  1732 +# manufacturer. We pick the logical manufacturer.
  1733 +vendor=unknown
  1734 +case $basic_machine in
  1735 + *-unknown)
  1736 + case $os in
  1737 + -riscix*)
  1738 + vendor=acorn
  1739 + ;;
  1740 + -sunos*)
  1741 + vendor=sun
  1742 + ;;
  1743 + -cnk*|-aix*)
  1744 + vendor=ibm
  1745 + ;;
  1746 + -beos*)
  1747 + vendor=be
  1748 + ;;
  1749 + -hpux*)
  1750 + vendor=hp
  1751 + ;;
  1752 + -mpeix*)
  1753 + vendor=hp
  1754 + ;;
  1755 + -hiux*)
  1756 + vendor=hitachi
  1757 + ;;
  1758 + -unos*)
  1759 + vendor=crds
  1760 + ;;
  1761 + -dgux*)
  1762 + vendor=dg
  1763 + ;;
  1764 + -luna*)
  1765 + vendor=omron
  1766 + ;;
  1767 + -genix*)
  1768 + vendor=ns
  1769 + ;;
  1770 + -mvs* | -opened*)
  1771 + vendor=ibm
  1772 + ;;
  1773 + -os400*)
  1774 + vendor=ibm
  1775 + ;;
  1776 + -ptx*)
  1777 + vendor=sequent
  1778 + ;;
  1779 + -tpf*)
  1780 + vendor=ibm
  1781 + ;;
  1782 + -vxsim* | -vxworks* | -windiss*)
  1783 + vendor=wrs
  1784 + ;;
  1785 + -aux*)
  1786 + vendor=apple
  1787 + ;;
  1788 + -hms*)
  1789 + vendor=hitachi
  1790 + ;;
  1791 + -mpw* | -macos*)
  1792 + vendor=apple
  1793 + ;;
  1794 + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  1795 + vendor=atari
  1796 + ;;
  1797 + -vos*)
  1798 + vendor=stratus
  1799 + ;;
  1800 + esac
  1801 + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
  1802 + ;;
  1803 +esac
  1804 +
  1805 +echo $basic_machine$os
  1806 +exit
  1807 +
  1808 +# Local variables:
  1809 +# eval: (add-hook 'write-file-hooks 'time-stamp)
  1810 +# time-stamp-start: "timestamp='"
  1811 +# time-stamp-format: "%:y-%02m-%02d"
  1812 +# time-stamp-end: "'"
  1813 +# End:
... ...
scripts/convert-sh 0 → 100755
... ... @@ -0,0 +1,4 @@
  1 +#!/bin/sh
  2 +echo "WARNING: Can't convert $1 to $2"
  3 +cp "$1" "$2"
  4 +
... ...
scripts/install-sh 0 → 100755
... ... @@ -0,0 +1,251 @@
  1 +#!/bin/sh
  2 +#
  3 +# install - install a program, script, or datafile
  4 +# This comes from X11R5 (mit/util/scripts/install.sh).
  5 +#
  6 +# Copyright 1991 by the Massachusetts Institute of Technology
  7 +#
  8 +# Permission to use, copy, modify, distribute, and sell this software and its
  9 +# documentation for any purpose is hereby granted without fee, provided that
  10 +# the above copyright notice appear in all copies and that both that
  11 +# copyright notice and this permission notice appear in supporting
  12 +# documentation, and that the name of M.I.T. not be used in advertising or
  13 +# publicity pertaining to distribution of the software without specific,
  14 +# written prior permission. M.I.T. makes no representations about the
  15 +# suitability of this software for any purpose. It is provided "as is"
  16 +# without express or implied warranty.
  17 +#
  18 +# Calling this script install-sh is preferred over install.sh, to prevent
  19 +# `make' implicit rules from creating a file called install from it
  20 +# when there is no Makefile.
  21 +#
  22 +# This script is compatible with the BSD install script, but was written
  23 +# from scratch. It can only install one file at a time, a restriction
  24 +# shared with many OS's install programs.
  25 +
  26 +
  27 +# set DOITPROG to echo to test this script
  28 +
  29 +# Don't use :- since 4.3BSD and earlier shells don't like it.
  30 +doit="${DOITPROG-}"
  31 +
  32 +
  33 +# put in absolute paths if you don't have them in your path; or use env. vars.
  34 +
  35 +mvprog="${MVPROG-mv}"
  36 +cpprog="${CPPROG-cp}"
  37 +chmodprog="${CHMODPROG-chmod}"
  38 +chownprog="${CHOWNPROG-chown}"
  39 +chgrpprog="${CHGRPPROG-chgrp}"
  40 +stripprog="${STRIPPROG-strip}"
  41 +rmprog="${RMPROG-rm}"
  42 +mkdirprog="${MKDIRPROG-mkdir}"
  43 +
  44 +transformbasename=""
  45 +transform_arg=""
  46 +instcmd="$mvprog"
  47 +chmodcmd="$chmodprog 0755"
  48 +chowncmd=""
  49 +chgrpcmd=""
  50 +stripcmd=""
  51 +rmcmd="$rmprog -f"
  52 +mvcmd="$mvprog"
  53 +src=""
  54 +dst=""
  55 +dir_arg=""
  56 +
  57 +while [ x"$1" != x ]; do
  58 + case $1 in
  59 + -c) instcmd="$cpprog"
  60 + shift
  61 + continue;;
  62 +
  63 + -d) dir_arg=true
  64 + shift
  65 + continue;;
  66 +
  67 + -m) chmodcmd="$chmodprog $2"
  68 + shift
  69 + shift
  70 + continue;;
  71 +
  72 + -o) chowncmd="$chownprog $2"
  73 + shift
  74 + shift
  75 + continue;;
  76 +
  77 + -g) chgrpcmd="$chgrpprog $2"
  78 + shift
  79 + shift
  80 + continue;;
  81 +
  82 + -s) stripcmd="$stripprog"
  83 + shift
  84 + continue;;
  85 +
  86 + -t=*) transformarg=`echo $1 | sed 's/-t=//'`
  87 + shift
  88 + continue;;
  89 +
  90 + -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
  91 + shift
  92 + continue;;
  93 +
  94 + *) if [ x"$src" = x ]
  95 + then
  96 + src=$1
  97 + else
  98 + # this colon is to work around a 386BSD /bin/sh bug
  99 + :
  100 + dst=$1
  101 + fi
  102 + shift
  103 + continue;;
  104 + esac
  105 +done
  106 +
  107 +if [ x"$src" = x ]
  108 +then
  109 + echo "install: no input file specified"
  110 + exit 1
  111 +else
  112 + :
  113 +fi
  114 +
  115 +if [ x"$dir_arg" != x ]; then
  116 + dst=$src
  117 + src=""
  118 +
  119 + if [ -d $dst ]; then
  120 + instcmd=:
  121 + chmodcmd=""
  122 + else
  123 + instcmd=$mkdirprog
  124 + fi
  125 +else
  126 +
  127 +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
  128 +# might cause directories to be created, which would be especially bad
  129 +# if $src (and thus $dsttmp) contains '*'.
  130 +
  131 + if [ -f $src -o -d $src ]
  132 + then
  133 + :
  134 + else
  135 + echo "install: $src does not exist"
  136 + exit 1
  137 + fi
  138 +
  139 + if [ x"$dst" = x ]
  140 + then
  141 + echo "install: no destination specified"
  142 + exit 1
  143 + else
  144 + :
  145 + fi
  146 +
  147 +# If destination is a directory, append the input filename; if your system
  148 +# does not like double slashes in filenames, you may need to add some logic
  149 +
  150 + if [ -d $dst ]
  151 + then
  152 + dst="$dst"/`basename $src`
  153 + else
  154 + :
  155 + fi
  156 +fi
  157 +
  158 +## this sed command emulates the dirname command
  159 +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
  160 +
  161 +# Make sure that the destination directory exists.
  162 +# this part is taken from Noah Friedman's mkinstalldirs script
  163 +
  164 +# Skip lots of stat calls in the usual case.
  165 +if [ ! -d "$dstdir" ]; then
  166 +defaultIFS='
  167 + '
  168 +IFS="${IFS-${defaultIFS}}"
  169 +
  170 +oIFS="${IFS}"
  171 +# Some sh's can't handle IFS=/ for some reason.
  172 +IFS='%'
  173 +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
  174 +IFS="${oIFS}"
  175 +
  176 +pathcomp=''
  177 +
  178 +while [ $# -ne 0 ] ; do
  179 + pathcomp="${pathcomp}${1}"
  180 + shift
  181 +
  182 + if [ ! -d "${pathcomp}" ] ;
  183 + then
  184 + $mkdirprog "${pathcomp}"
  185 + else
  186 + :
  187 + fi
  188 +
  189 + pathcomp="${pathcomp}/"
  190 +done
  191 +fi
  192 +
  193 +if [ x"$dir_arg" != x ]
  194 +then
  195 + $doit $instcmd $dst &&
  196 +
  197 + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
  198 + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
  199 + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
  200 + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
  201 +else
  202 +
  203 +# If we're going to rename the final executable, determine the name now.
  204 +
  205 + if [ x"$transformarg" = x ]
  206 + then
  207 + dstfile=`basename $dst`
  208 + else
  209 + dstfile=`basename $dst $transformbasename |
  210 + sed $transformarg`$transformbasename
  211 + fi
  212 +
  213 +# don't allow the sed command to completely eliminate the filename
  214 +
  215 + if [ x"$dstfile" = x ]
  216 + then
  217 + dstfile=`basename $dst`
  218 + else
  219 + :
  220 + fi
  221 +
  222 +# Make a temp file name in the proper directory.
  223 +
  224 + dsttmp=$dstdir/#inst.$$#
  225 +
  226 +# Move or copy the file name to the temp name
  227 +
  228 + $doit $instcmd $src $dsttmp &&
  229 +
  230 + trap "rm -f ${dsttmp}" 0 &&
  231 +
  232 +# and set any options; do chmod last to preserve setuid bits
  233 +
  234 +# If any of these fail, we abort the whole thing. If we want to
  235 +# ignore errors from any of these, just make sure not to ignore
  236 +# errors from the above "$doit $instcmd $src $dsttmp" command.
  237 +
  238 + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
  239 + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
  240 + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
  241 + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
  242 +
  243 +# Now rename the file to the real destination.
  244 +
  245 + $doit $rmcmd -f $dstdir/$dstfile &&
  246 + $doit $mvcmd $dsttmp $dstdir/$dstfile
  247 +
  248 +fi &&
  249 +
  250 +
  251 +exit 0
... ...
src/include/config.h.in 0 → 100644
... ... @@ -0,0 +1,47 @@
  1 +/**
  2 + * @file config.h
  3 + *
  4 + * @brief Configuração para o aplicativo.
  5 + *
  6 + * Gerado automaticamente pelo processo ./configure esse arquivo descreve
  7 + * as configurações de ambiente detectadas automaticamente.
  8 + *
  9 + * @author perry.werneck@gmail.com
  10 + *
  11 + */
  12 +
  13 +#ifndef CONFIG_H_INCLUDED
  14 +
  15 + #define CONFIG_H_INCLUDED 1
  16 +
  17 + /**
  18 + * @brief Nome do pacote.
  19 + */
  20 + #undef PACKAGE_NAME
  21 +
  22 + /**
  23 + * @brief Versão atual.
  24 + */
  25 + #undef PACKAGE_VERSION
  26 +
  27 + /**
  28 + * @brief Revisão svn quando o pacote foi configurado.
  29 + *
  30 + */
  31 + #undef PACKAGE_REVISION
  32 +
  33 + /**
  34 + * @brief Indica se o compilador atual possui suporte a "visibility"
  35 + *
  36 + * Quando disponível indica que o compilador atual permite tornar
  37 + * visíveis numa biblioteca apenas as funções declaradas para isso
  38 + * evitando que todos os símbolos fiquem visíveis.
  39 + *
  40 + * Isso permite um melhor controle sobre quais funções podem ser usados
  41 + * pelo programa principal.
  42 + *
  43 + */
  44 + #undef HAVE_GNUC_VISIBILITY
  45 +
  46 +
  47 +#endif // CONFIG_H_INCLUDED
... ...
src/native/Makefile.in 0 → 100644
... ... @@ -0,0 +1,152 @@
  1 +#
  2 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +#
  6 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +#
  8 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +# Free Software Foundation.
  11 +#
  12 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +# obter mais detalhes.
  16 +#
  17 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +#
  21 +# Contatos:
  22 +#
  23 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +#
  26 +
  27 +SOURCES=actions.cc get.cc init.cc screen.cc set.cc network.cc
  28 +LIBNAME=lib3270-mono@DLLEXT@
  29 +
  30 +#---[ Configuration values ]-------------------------------------------------------------
  31 +
  32 +PACKAGE_NAME=@PACKAGE_NAME@
  33 +PACKAGE_VERSION=@PACKAGE_VERSION@
  34 +PACKAGE_TARNAME=@PACKAGE_TARNAME@
  35 +
  36 +prefix=@prefix@
  37 +exec_prefix=@exec_prefix@
  38 +bindir=@bindir@
  39 +sbindir=@sbindir@
  40 +libdir=@libdir@
  41 +
  42 +BASEDIR=@BASEDIR@
  43 +SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
  44 +
  45 +OBJDIR=$(BASEDIR)/.obj
  46 +OBJDBG=$(OBJDIR)/Debug
  47 +OBJRLS=$(OBJDIR)/Release
  48 +
  49 +BINDIR=$(BASEDIR)/.bin
  50 +BINDBG=$(BINDIR)/Debug
  51 +BINRLS=$(BINDIR)/Release
  52 +
  53 +INSTALL=@INSTALL@
  54 +INSTALL_DATA=@INSTALL_DATA@
  55 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  56 +
  57 +LN_S=@LN_S@
  58 +
  59 +VALGRIND=@VALGRIND@
  60 +AMTAR=@AMTAR@
  61 +SHELL=@SHELL@
  62 +STRIP=@STRIP@
  63 +MKDIR=@MKDIR_P@
  64 +
  65 +CXX=@CXX@
  66 +CC=@CC@
  67 +LD=@CXX@
  68 +
  69 +LIBS=-lpw3270cpp @LIBS@ @LIBICONV@
  70 +CFLAGS=@CFLAGS@
  71 +LDFLAGS=@LDFLAGS@
  72 +
  73 +#---[ Rules ]----------------------------------------------------------------------------
  74 +
  75 +DEPENDS=*.h Makefile
  76 +
  77 +$(OBJDBG)/%.o: \
  78 + %.cc \
  79 + $(DEPENDS)
  80 +
  81 + @echo $< ...
  82 + @$(MKDIR) `dirname $@`
  83 + @$(CXX) $(CFLAGS) -fstack-check -DDEBUG=1 \
  84 + -DBUILD_DATE=`date +"0x%Y%m%d"`\
  85 + -g -o $@ -c $<
  86 +
  87 +$(OBJRLS)/%.o: \
  88 + %.cc \
  89 + $(DEPENDS)
  90 +
  91 + @echo $< ...
  92 + @$(MKDIR) `dirname $@`
  93 + @$(CXX) $(CFLAGS) -DNDEBUG=1 \
  94 + -DBUILD_DATE=`date +"0x%Y%m%d"` \
  95 + -o $@ -c $<
  96 +
  97 +#---[ Release Targets ]------------------------------------------------------------------
  98 +
  99 +all: \
  100 + $(BINRLS)/$(LIBNAME)
  101 +
  102 +Release: \
  103 + $(BINRLS)/$(LIBNAME)
  104 +
  105 +$(BINRLS)/$(LIBNAME): \
  106 + $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@
  107 +
  108 + @rm -f $@
  109 + @$(LN_S) $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@
  110 +
  111 +
  112 +$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \
  113 + $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  114 +
  115 + @rm -f $@
  116 + @$(LN_S) $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@
  117 +
  118 +
  119 +$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  120 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  121 +
  122 + @echo $(basename $@) ...
  123 + @$(MKDIR) `dirname $@`
  124 + @$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -o $@ $^ $(LIBS)
  125 +
  126 +#---[ Debug Targets ]--------------------------------------------------------------------
  127 +
  128 +Debug: \
  129 + $(BINDBG)/$(LIBNAME)
  130 +
  131 +$(BINDBG)/$(LIBNAME): \
  132 + $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@
  133 +
  134 + @rm -f $@
  135 + @$(LN_S) $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@
  136 +
  137 +
  138 +$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \
  139 + $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  140 +
  141 + @rm -f $@
  142 + @$(LN_S) $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@
  143 +
  144 +
  145 +$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  146 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
  147 +
  148 + @echo $(basename $@) ...
  149 + @$(MKDIR) `dirname $@`
  150 + @$(LD) -shared -Wl,-soname,$(LIBNAME) $(LDFLAGS) -o $@ $^ $(LIBS)
  151 +
  152 +
... ...
src/native/actions.cc 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como set.cc e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "private.h"
  31 +
  32 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  33 +
  34 +int tn3270_enter(h3270::session *ses) {
  35 + return ses->enter();
  36 +}
  37 +
  38 +int tn3270_pfkey(h3270::session *ses, int key) {
  39 + return ses->pfkey(key);
  40 +}
  41 +
  42 +int tn3270_pakey(h3270::session *ses, int key) {
  43 + return ses->pakey(key);
  44 +}
  45 +
... ...
src/native/get.cc 0 → 100644
... ... @@ -0,0 +1,61 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como get.cc e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "private.h"
  31 +
  32 +
  33 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  34 +
  35 + /**
  36 + * @brief Obtém a versão da biblioteca.
  37 + *
  38 + */
  39 + void tn3270_get_version(h3270::session *ses, char* str, int strlen) {
  40 + strncpy(str,ses->get_version().c_str(),strlen);
  41 + }
  42 +
  43 + /**
  44 + * @brief Obtém a revisão da biblioteca.
  45 + *
  46 + */
  47 + void tn3270_get_revision(h3270::session *ses, char* str, int strlen) {
  48 + strncpy(str,ses->get_revision().c_str(),strlen);
  49 + }
  50 +
  51 + int tn3270_get_cstate(h3270::session *ses) {
  52 + return (int) ses->get_cstate();
  53 + }
  54 +
  55 + int tn3270_get_program_message(h3270::session *ses) {
  56 + return (int) ses->get_program_message();
  57 + }
  58 +
  59 + int tn3270_get_secure(h3270::session *ses) {
  60 + return (int) ses->get_secure();
  61 + }
... ...
src/native/init.cc 0 → 100644
... ... @@ -0,0 +1,53 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como private.h e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "private.h"
  31 +
  32 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  33 +
  34 +/**
  35 + * @brief Cria uma sessão tn3270.
  36 + *
  37 + * @param name Nome da janela ou "" para criar uma sessão oculta.
  38 + *
  39 + * @return Identificador da sessão criada.
  40 + *
  41 + */
  42 + h3270::session * tn3270_create_session(const char *name) {
  43 + return h3270::session::create(name);
  44 + }
  45 +
  46 + /**
  47 + * @brief Destrói uma sessão.
  48 + *
  49 + */
  50 + void tn3270_destroy_session(h3270::session *ses) {
  51 + delete ses;
  52 + }
  53 +
... ...
src/native/network.cc 0 → 100644
... ... @@ -0,0 +1,46 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como network.cc e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "private.h"
  31 +
  32 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  33 +
  34 +int tn3270_connect(h3270::session *ses, const char *host, time_t wait) {
  35 + return ses->connect(host,wait);
  36 +}
  37 +
  38 +int tn3270_disconnect(h3270::session *ses) {
  39 + return ses->disconnect();
  40 +}
  41 +
  42 +int tn3270_is_connected(h3270::session *ses) {
  43 + return (int) ses->is_connected();
  44 +}
  45 +
  46 +
... ...
src/native/private.h 0 → 100644
... ... @@ -0,0 +1,99 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como private.h e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + * Referências:
  29 + *
  30 + * http://www.mono-project.com/docs/advanced/pinvoke/
  31 + * http://tirania.org/blog/archive/2011/Dec-19.html
  32 + *
  33 + */
  34 +#ifndef PRIVATE_H_INCLUDED
  35 +
  36 + #define PRIVATE_H_INCLUDED
  37 +
  38 + #if defined(_WIN32)
  39 +
  40 + #include <windows.h>
  41 +
  42 + #define DLL_PRIVATE extern
  43 + #define DLL_PUBLIC extern __declspec (dllexport)
  44 +
  45 + #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
  46 +
  47 + #define DLL_PRIVATE __hidden extern
  48 + #define DLL_PUBLIC extern
  49 +
  50 + #else
  51 +
  52 + #define DLL_PRIVATE __attribute__((visibility("hidden"))) extern
  53 + #define DLL_PUBLIC __attribute__((visibility("default"))) extern
  54 +
  55 + #endif
  56 +
  57 + #include <pw3270cpp.h>
  58 + #include <cerrno>
  59 + #include <cstring>
  60 +
  61 + extern "C" {
  62 +
  63 + DLL_PUBLIC h3270::session * tn3270_create_session(const char *name);
  64 + DLL_PUBLIC void tn3270_destroy_session(h3270::session *ses);
  65 +
  66 + DLL_PUBLIC void tn3270_get_version(h3270::session *ses, char* str, int strlen);
  67 + DLL_PUBLIC void tn3270_get_revision(h3270::session *ses, char* str, int strlen);
  68 +
  69 + DLL_PUBLIC int tn3270_connect(h3270::session *ses, const char *host, time_t wait);
  70 + DLL_PUBLIC int tn3270_disconnect(h3270::session *ses);
  71 + DLL_PUBLIC int tn3270_is_connected(h3270::session *ses);
  72 +
  73 + DLL_PUBLIC int tn3270_wait_for_ready(h3270::session *ses, int seconds);
  74 + DLL_PUBLIC int tn3270_wait(h3270::session *ses, int seconds);
  75 +
  76 + DLL_PUBLIC int tn3270_get_cstate(h3270::session *ses);
  77 + DLL_PUBLIC int tn3270_get_program_message(h3270::session *ses);
  78 + DLL_PUBLIC int tn3270_get_secure(h3270::session *ses);
  79 +
  80 + DLL_PUBLIC void tn3270_get_string(h3270::session *ses, int addr, char* str, int strlen);
  81 + DLL_PUBLIC void tn3270_get_string_at(h3270::session *ses, int row, int col, char* str, int strlen);
  82 +
  83 + DLL_PUBLIC void tn3270_set_string_at(h3270::session *ses, int row, int col, const char* str);
  84 +
  85 + DLL_PUBLIC int tn3270_wait_for_string_at(h3270::session *ses, int row, int col, const char *key, int timeout);
  86 + DLL_PUBLIC int tn3270_cmp_string_at(h3270::session *ses, int row, int col, const char* str);
  87 +
  88 + DLL_PUBLIC void tn3270_set_unlock_delay(h3270::session *ses, int ms);
  89 + DLL_PUBLIC void tn3270_set_cursor_position(h3270::session *ses, int row, int col);
  90 + DLL_PUBLIC void tn3270_set_cursor_addr(h3270::session *ses, int addr);
  91 +
  92 + DLL_PUBLIC int tn3270_enter(h3270::session *ses);
  93 + DLL_PUBLIC int tn3270_pfkey(h3270::session *ses, int key);
  94 + DLL_PUBLIC int tn3270_pakey(h3270::session *ses, int key);
  95 +
  96 + }
  97 +
  98 +
  99 +#endif // PRIVATE_H_INCLUDED
... ...
src/native/screen.cc 0 → 100644
... ... @@ -0,0 +1,54 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como set.cc e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "private.h"
  31 +
  32 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  33 +
  34 +void tn3270_get_string(h3270::session *ses, int addr, char* str, int strlen) {
  35 + memset(str,0,strlen);
  36 + strncpy(str,ses->get_string(addr,strlen).c_str(),strlen);
  37 +}
  38 +
  39 +void tn3270_get_string_at(h3270::session *ses, int row, int col, char* str, int strlen) {
  40 + memset(str,0,strlen);
  41 + strncpy(str,ses->get_string_at(row,col,strlen).c_str(),strlen);
  42 +}
  43 +
  44 +void tn3270_set_string_at(h3270::session *ses, int row, int col, const char* str) {
  45 + ses->set_string_at(row,col,str);
  46 +}
  47 +
  48 +int tn3270_wait_for_string_at(h3270::session *ses, int row, int col, const char *key, int timeout) {
  49 + return ses->wait_for_string_at(row,col,key,timeout);
  50 +}
  51 +
  52 +int tn3270_cmp_string_at(h3270::session *ses, int row, int col, const char* str) {
  53 + return ses->cmp_string_at(row,col,str);
  54 +}
... ...
src/native/set.cc 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como set.cc e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "private.h"
  31 +
  32 +/*---[ Implement ]----------------------------------------------------------------------------------*/
  33 +
  34 +void tn3270_set_unlock_delay(h3270::session *ses, int ms) {
  35 + ses->set_unlock_delay((unsigned short) ms);
  36 +}
  37 +
  38 +void tn3270_set_cursor_position(h3270::session *ses, int row, int col) {
  39 + ses->set_cursor_position(row,col);
  40 +}
  41 +
  42 +void tn3270_set_cursor_addr(h3270::session *ses, int addr) {
  43 + ses->set_cursor_addr(addr);
  44 +}
  45 +
... ...
src/tn3270-sharp/Makefile.in 0 → 100644
... ... @@ -0,0 +1,85 @@
  1 +#
  2 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +#
  6 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +#
  8 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +# Free Software Foundation.
  11 +#
  12 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +# obter mais detalhes.
  16 +#
  17 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +#
  21 +# Contatos:
  22 +#
  23 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +#
  26 +
  27 +SOURCES=tn3270-sharp.cs
  28 +LIBNAME=tn3270-sharp.dll
  29 +
  30 +#---[ Configuration values ]-------------------------------------------------------------
  31 +
  32 +PACKAGE_NAME=@PACKAGE_NAME@
  33 +PACKAGE_VERSION=@PACKAGE_VERSION@
  34 +PACKAGE_TARNAME=@PACKAGE_TARNAME@
  35 +
  36 +prefix=@prefix@
  37 +exec_prefix=@exec_prefix@
  38 +bindir=@bindir@
  39 +sbindir=@sbindir@
  40 +libdir=@libdir@
  41 +
  42 +BASEDIR=@BASEDIR@
  43 +SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
  44 +
  45 +OBJDIR=$(BASEDIR)/.obj
  46 +OBJDBG=$(OBJDIR)/Debug
  47 +OBJRLS=$(OBJDIR)/Release
  48 +
  49 +BINDIR=$(BASEDIR)/.bin
  50 +BINDBG=$(BINDIR)/Debug
  51 +BINRLS=$(BINDIR)/Release
  52 +
  53 +INSTALL=@INSTALL@
  54 +INSTALL_DATA=@INSTALL_DATA@
  55 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  56 +
  57 +LN_S=@LN_S@
  58 +
  59 +MCS=@MCS@
  60 +MKDIR=@MKDIR_P@
  61 +
  62 +#---[ Targets ]--------------------------------------------------------------------------
  63 +
  64 +all: \
  65 + $(BINRLS)/$(LIBNAME)
  66 +
  67 +Release: \
  68 + $(BINRLS)/$(LIBNAME)
  69 +
  70 +Debug: \
  71 + $(BINDBG)/$(LIBNAME)
  72 +
  73 +$(BINDBG)/$(LIBNAME): \
  74 + $(SOURCES)
  75 +
  76 + @$(MKDIR) `dirname $@`
  77 + @$(MCS) -debug -target:library -out:$@ $<
  78 +
  79 +$(BINRLS)/$(LIBNAME): \
  80 + $(SOURCES)
  81 +
  82 + @$(MKDIR) `dirname $@`
  83 + @$(MCS) -target:library -out:$@ $<
  84 +
  85 +
... ...
src/tn3270-sharp/tn3270-sharp.cs 0 → 100644
... ... @@ -0,0 +1,199 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como tn3270-sharp.cs e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + * Referências:
  29 + *
  30 + *
  31 + */
  32 +
  33 +using System;
  34 +using System.Text;
  35 +using System.Runtime.InteropServices;
  36 +
  37 +namespace tn3270 {
  38 +
  39 + public class Session {
  40 +
  41 + private IntPtr hSession;
  42 +
  43 + [DllImport ("lib3270-mono")]
  44 + extern static IntPtr tn3270_create_session(string name);
  45 +
  46 + [DllImport ("lib3270-mono")]
  47 + extern static void tn3270_destroy_session(IntPtr session);
  48 +
  49 + [DllImport ("lib3270-mono")]
  50 + extern static void tn3270_get_version(IntPtr session, StringBuilder str, int strlen);
  51 +
  52 + [DllImport ("lib3270-mono")]
  53 + extern static void tn3270_get_revision(IntPtr session, StringBuilder str, int strlen);
  54 +
  55 + [DllImport ("lib3270-mono")]
  56 + extern static int tn3270_connect(IntPtr Session, string host, int wait);
  57 +
  58 + [DllImport ("lib3270-mono")]
  59 + extern static int tn3270_is_connected(IntPtr Session);
  60 +
  61 + [DllImport ("lib3270-mono")]
  62 + extern static int tn3270_disconnect(IntPtr Session);
  63 +
  64 + [DllImport ("lib3270-mono")]
  65 + extern static int tn3270_wait_for_ready(IntPtr Session, int seconds);
  66 +
  67 + [DllImport ("lib3270-mono")]
  68 + extern static int tn3270_wait(IntPtr Session, int seconds);
  69 +
  70 + [DllImport ("lib3270-mono")]
  71 + extern static int tn3270_get_cstate(IntPtr Session);
  72 +
  73 + [DllImport ("lib3270-mono")]
  74 + extern static int tn3270_get_program_message(IntPtr Session);
  75 +
  76 + [DllImport ("lib3270-mono")]
  77 + extern static int tn3270_get_secure(IntPtr Session);
  78 +
  79 + [DllImport ("lib3270-mono")]
  80 + extern static void tn3270_get_string(IntPtr Session, int addr, StringBuilder str, int strlen);
  81 +
  82 + [DllImport ("lib3270-mono")]
  83 + extern static void tn3270_get_string_at(IntPtr Session, int row, int col, StringBuilder str, int strlen);
  84 +
  85 + [DllImport ("lib3270-mono")]
  86 + extern static void tn3270_set_string_at(IntPtr Session, int row, int col, string str);
  87 +
  88 + [DllImport ("lib3270-mono")]
  89 + extern static int tn3270_wait_for_string_at(IntPtr Session, int row, int col, string key, int timeout);
  90 +
  91 + [DllImport ("lib3270-mono")]
  92 + extern static int tn3270_cmp_string_at(IntPtr Session, int row, int col, string str);
  93 +
  94 + [DllImport ("lib3270-mono")]
  95 + extern static void tn3270_set_unlock_delay(IntPtr Session, int ms);
  96 +
  97 + [DllImport ("lib3270-mono")]
  98 + extern static void tn3270_set_cursor_position(IntPtr Session, int row, int col);
  99 +
  100 + [DllImport ("lib3270-mono")]
  101 + extern static void tn3270_set_cursor_addr(IntPtr Session, int addr);
  102 +
  103 + [DllImport ("lib3270-mono")]
  104 + extern static int tn3270_enter(IntPtr Session);
  105 +
  106 + [DllImport ("lib3270-mono")]
  107 + extern static int tn3270_pfkey(IntPtr Session, int key);
  108 +
  109 + [DllImport ("lib3270-mono")]
  110 + extern static int tn3270_pakey(IntPtr Session, int key);
  111 +
  112 + public Session(string name) {
  113 + hSession = tn3270_create_session(name);
  114 + }
  115 +
  116 + ~Session() {
  117 + tn3270_destroy_session(hSession);
  118 + }
  119 +
  120 + public string GetVersion() {
  121 + StringBuilder str = new StringBuilder(10);
  122 + tn3270_get_version(hSession, str, 10);
  123 + return str.ToString();
  124 + }
  125 +
  126 + public string GetRevision() {
  127 + StringBuilder str = new StringBuilder(10);
  128 + tn3270_get_revision(hSession, str, 10);
  129 + return str.ToString();
  130 + }
  131 +
  132 + public int Connect(string host, int wait) {
  133 + return tn3270_connect(hSession, host, wait);
  134 + }
  135 +
  136 + public bool IsConnected() {
  137 + return tn3270_is_connected(hSession) != 0;
  138 + }
  139 +
  140 + public int Disconnect() {
  141 + return tn3270_disconnect(hSession);
  142 + }
  143 +
  144 + public int WaitForReady(int seconds) {
  145 + return tn3270_wait_for_ready(hSession, seconds);
  146 + }
  147 +
  148 + public int Wait(int seconds) {
  149 + return tn3270_wait(hSession, seconds);
  150 + }
  151 +
  152 + public string GetString(int addr, int strlen) {
  153 + StringBuilder str = new StringBuilder(strlen+1);
  154 + tn3270_get_string(hSession, addr, str, strlen);
  155 + return str.ToString(0,strlen);
  156 + }
  157 +
  158 + public string GetStringAt(int row, int col, int strlen) {
  159 + StringBuilder str = new StringBuilder(strlen+1);
  160 + tn3270_get_string_at(hSession, row, col, str, strlen);
  161 + return str.ToString(0,strlen);
  162 + }
  163 +
  164 + public void SetStringAg(int row, int col, string str) {
  165 + tn3270_set_string_at(hSession, row, col, str);
  166 + }
  167 +
  168 + public int WaitForStringAt(int row, int col, string str, int timeout) {
  169 + return tn3270_wait_for_string_at(hSession, row, col, str, timeout);
  170 + }
  171 +
  172 + public int CmpStringAt(int row, int col, string str) {
  173 + return tn3270_cmp_string_at(hSession, row, col, str);
  174 + }
  175 +
  176 + public void SetCursorPosition(int row, int col) {
  177 + tn3270_set_cursor_position(hSession, row, col);
  178 + }
  179 +
  180 + public void SetCursorAddr(int addr) {
  181 + tn3270_set_cursor_addr(hSession, addr);
  182 + }
  183 +
  184 + public int Enter() {
  185 + return tn3270_enter(hSession);
  186 + }
  187 +
  188 + public int PfKey(int key) {
  189 + return tn3270_pfkey(hSession, key);
  190 + }
  191 +
  192 + public int PaKey(int key) {
  193 + return tn3270_pakey(hSession, key);
  194 + }
  195 +
  196 +
  197 + }
  198 +
  199 +}
... ...
testprograms/sample.cs 0 → 100644
... ... @@ -0,0 +1,54 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como sample.cs e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 +using tn3270;
  31 +
  32 +class sample {
  33 +
  34 + static void Main(string[] args) {
  35 +
  36 + tn3270.Session host = new tn3270.Session("");
  37 +
  38 + System.Console.WriteLine("Using pw3270 version " + host.GetVersion() + " revision " + host.GetRevision());
  39 +
  40 + host.Connect("tn3270://zos.efglobe.com:telnet",10);
  41 +
  42 + if(host.IsConnected()) {
  43 +
  44 + System.Console.WriteLine("Connected to host");
  45 +
  46 + System.Console.WriteLine(host.GetStringAt(14,19,38));
  47 +
  48 + host.Disconnect();
  49 + }
  50 +
  51 + }
  52 +
  53 +}
  54 +
... ...
testprograms/simple.cs 0 → 100644
... ... @@ -0,0 +1,64 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como simple.cs e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 +using System;
  31 +using System.Collections.Generic;
  32 +using System.Linq;
  33 +using System.Text;
  34 +using System.Runtime.InteropServices;
  35 +
  36 +class test {
  37 +
  38 + [DllImport ("lib3270-mono")]
  39 + extern static IntPtr tn3270_create_session(string name);
  40 +
  41 + [DllImport ("lib3270-mono")]
  42 + extern static void tn3270_destroy_session(IntPtr session);
  43 +
  44 + [DllImport ("lib3270-mono")]
  45 + extern static void tn3270_get_version(IntPtr session, StringBuilder str, int strlen);
  46 +
  47 + [DllImport ("lib3270-mono")]
  48 + extern static void tn3270_get_revision(IntPtr session, StringBuilder str, int strlen);
  49 +
  50 + static void Main(string[] args) {
  51 +
  52 + IntPtr handle = tn3270_create_session("");
  53 +
  54 + StringBuilder str = new StringBuilder(100);
  55 + tn3270_get_version(handle, str, 100);
  56 + System.Console.WriteLine(str);
  57 +
  58 + tn3270_get_revision(handle, str, 100);
  59 + System.Console.WriteLine(str);
  60 +
  61 + tn3270_destroy_session(handle);
  62 +
  63 + }
  64 +}
... ...