Commit afde7866dc5f37b7427d8a34fcabd5384298b4fa
1 parent
197dc506
Exists in
master
Refactoring configuration for version 5.2.
Showing
22 changed files
with
1063 additions
and
4594 deletions
Show diff stats
.gitignore
autogen.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | 2 | ||
3 | -APPLEVEL="0" | ||
4 | - | ||
5 | test -n "$srcdir" || srcdir=`dirname "$0"` | 3 | test -n "$srcdir" || srcdir=`dirname "$0"` |
6 | test -n "$srcdir" || srcdir=. | 4 | test -n "$srcdir" || srcdir=. |
7 | 5 | ||
8 | olddir=`pwd` | 6 | olddir=`pwd` |
9 | cd "$srcdir" | 7 | cd "$srcdir" |
10 | 8 | ||
11 | -if test -e revision ; then | ||
12 | - . revision | ||
13 | -fi | ||
14 | - | ||
15 | -touch ChangeLog | ||
16 | - | ||
17 | -# Inicia com os defaults | ||
18 | -TEMPFILE=autogen.tmp | ||
19 | - | ||
20 | -if [ -d .svn ]; then | ||
21 | - | ||
22 | - # Tenta detectar a versão | ||
23 | - SVNVERSION=$(which svnversion 2> /dev/null) | ||
24 | - if test -x "${SVNVERSION}" ; then | ||
25 | - svnversion | cut -d: -f2 | sed 's@[M|m]@@g' > ${TEMPFILE} 2> /dev/null | ||
26 | - if [ "$?" == "0" ]; then | ||
27 | - PACKAGE_REVISION=$(cat ${TEMPFILE}) | ||
28 | - fi | ||
29 | - fi | ||
30 | - | ||
31 | - # Tenta detectar a URL | ||
32 | - SVN=$(which svn 2> /dev/null) | ||
33 | - if test -x "${SVN}" ; then | ||
34 | - | ||
35 | - LANG="EN_US" "${SVN}" info > ${TEMPFILE} 2>&1 | ||
36 | - if [ "$?" == "0" ]; then | ||
37 | - PACKAGE_SOURCE=$(cat ${TEMPFILE} | grep "^URL: " | cut -d" " -f2) | ||
38 | - fi | ||
39 | - | ||
40 | - fi | ||
41 | - | ||
42 | -elif [ -d .git ]; then | ||
43 | - | ||
44 | - # Obtém revisão via git | ||
45 | - # Referência: http://stackoverflow.com/questions/4120001/what-is-the-git-equivalent-for-revision-number | ||
46 | - | ||
47 | - # Obtém URL via git | ||
48 | - PACKAGE_SOURCE=$(git config --get remote.origin.url) | ||
49 | - | ||
50 | - # Obtém número total de commits | ||
51 | - PACKAGE_REVISION=$(git rev-list HEAD --count) | ||
52 | - | ||
53 | -fi | ||
54 | - | ||
55 | - | ||
56 | -rm -f $TEMPFILE | ||
57 | - | ||
58 | -if test -z ${PACKAGE_REVISION} ; then | ||
59 | - echo "Can´t detect package revision, using current date" | ||
60 | - PACKAGE_REVISION=`date +%y%m%d` | ||
61 | -fi | ||
62 | - | ||
63 | -if test -z ${PACKAGE_SOURCE} ; then | ||
64 | - echo "Can´t detect package source" | ||
65 | - exit -1 | ||
66 | -fi | ||
67 | - | ||
68 | -#echo "PACKAGE_REVISION=${PACKAGE_REVISION}" > $srcdir/revision | ||
69 | -#echo "PACKAGE_SOURCE=${PACKAGE_SOURCE}" >> $srcdir/revision | ||
70 | -#echo "PACKAGE_LEVEL=${APPLEVEL}" >> $srcdir/revision | ||
71 | - | ||
72 | -#echo "m4_define([SVN_REVISION], ${PACKAGE_REVISION})" > $srcdir/revision.m4 | ||
73 | -#echo "m4_define([SVN_URL], ${PACKAGE_SOURCE})" >> $srcdir/revision.m4 | ||
74 | -#echo "m4_define([APP_LEVEL], ${APPLEVEL})" >> $srcdir/revision.m4 | ||
75 | - | ||
76 | aclocal | 9 | aclocal |
77 | if test $? != 0 ; then | 10 | if test $? != 0 ; then |
78 | echo "aclocal failed." | 11 | echo "aclocal failed." |
@@ -85,10 +18,12 @@ if test $? != 0 ; then | @@ -85,10 +18,12 @@ if test $? != 0 ; then | ||
85 | exit -1 | 18 | exit -1 |
86 | fi | 19 | fi |
87 | 20 | ||
21 | +mkdir -p scripts | ||
22 | +automake --add-missing 2> /dev/null | true | ||
23 | + | ||
88 | cd "$olddir" | 24 | cd "$olddir" |
89 | test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" | 25 | test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" |
90 | 26 | ||
91 | -echo "Package set to revision $PACKAGE_REVISION and source $PACKAGE_SOURCE" | ||
92 | 27 | ||
93 | 28 | ||
94 | 29 |
configure.ac
@@ -27,11 +27,11 @@ dnl | @@ -27,11 +27,11 @@ dnl | ||
27 | dnl Process this file with autoconf to produce a configure script. | 27 | dnl Process this file with autoconf to produce a configure script. |
28 | 28 | ||
29 | dnl The minimum version of autoconf required. | 29 | dnl The minimum version of autoconf required. |
30 | -AC_PREREQ(2.59) | 30 | +AC_PREREQ(2.61) |
31 | 31 | ||
32 | dnl Initialise automake with the package name, version and | 32 | dnl Initialise automake with the package name, version and |
33 | dnl bug-reporting address. | 33 | dnl bug-reporting address. |
34 | -AC_INIT([python-pw3270], [5.1], [perry.werneck@gmail.com]) | 34 | +AC_INIT([py3270], [5.2], [perry.werneck@gmail.com]) |
35 | 35 | ||
36 | dnl Place auxilliary scripts here. | 36 | dnl Place auxilliary scripts here. |
37 | AC_CONFIG_AUX_DIR([scripts]) | 37 | AC_CONFIG_AUX_DIR([scripts]) |
@@ -40,7 +40,7 @@ dnl Compute the canonical host-system type | @@ -40,7 +40,7 @@ dnl Compute the canonical host-system type | ||
40 | AC_CANONICAL_HOST | 40 | AC_CANONICAL_HOST |
41 | 41 | ||
42 | dnl Put macro definitions here (though they aren't used). | 42 | dnl Put macro definitions here (though they aren't used). |
43 | -AC_CONFIG_HEADER([src/config.h]) | 43 | +AC_CONFIG_HEADER([src/include/config.h]) |
44 | 44 | ||
45 | dnl Initialise automake stuff. | 45 | dnl Initialise automake stuff. |
46 | AM_INIT_AUTOMAKE | 46 | AM_INIT_AUTOMAKE |
@@ -49,8 +49,8 @@ dnl Check for iconv | @@ -49,8 +49,8 @@ dnl Check for iconv | ||
49 | AM_ICONV | 49 | AM_ICONV |
50 | 50 | ||
51 | dnl Checks for programs. | 51 | dnl Checks for programs. |
52 | -AC_PROG_CXX | ||
53 | AC_PROG_CC | 52 | AC_PROG_CC |
53 | +AC_PROG_CXX | ||
54 | AC_PROG_SED | 54 | AC_PROG_SED |
55 | AC_PROG_LN_S | 55 | AC_PROG_LN_S |
56 | 56 | ||
@@ -59,123 +59,114 @@ AC_LANG([C++]) | @@ -59,123 +59,114 @@ AC_LANG([C++]) | ||
59 | dnl --------------------------------------------------------------------------- | 59 | dnl --------------------------------------------------------------------------- |
60 | dnl Initialize defaults | 60 | dnl Initialize defaults |
61 | dnl --------------------------------------------------------------------------- | 61 | dnl --------------------------------------------------------------------------- |
62 | -DLLFLAGS="-shared -Wl,-soname,\$(@F)" | ||
63 | -DBG_CFLAGS="-DDEBUG=1" | 62 | + |
63 | +DBG_CFLAGS="-g -fstack-check -DDEBUG=1" | ||
64 | RLS_CFLAGS="-DNDEBUG=1" | 64 | RLS_CFLAGS="-DNDEBUG=1" |
65 | +PLUGINS="" | ||
66 | +APP_RESOURCES="" | ||
67 | +APP_LDFLAGS="" | ||
68 | +DLL_LDFLAGS="-shared -Wl,-soname,\$(@F)" | ||
69 | +DEPENDS="" | ||
65 | 70 | ||
66 | dnl --------------------------------------------------------------------------- | 71 | dnl --------------------------------------------------------------------------- |
67 | -dnl Check for OS specifics | 72 | +dnl Version info |
68 | dnl --------------------------------------------------------------------------- | 73 | dnl --------------------------------------------------------------------------- |
69 | 74 | ||
70 | -case "$host" in | ||
71 | - *-mingw32) | ||
72 | - | ||
73 | - EXEEXT=".exe" | ||
74 | - DLLPREFIX="" | ||
75 | - DLLEXT=".dll" | ||
76 | - | ||
77 | - CFLAGS="$CFLAGS -Wall -Werror -D_WIN32_WINNT=0x0600" | ||
78 | - LIBS="$LIBS -lws2_32 -lntdll -lwtsapi32" | ||
79 | - | ||
80 | - ;; | 75 | +AC_SUBST(PACKAGE_DESCRIPTION,"Python binding for pw3270/lib3270") |
81 | 76 | ||
82 | - *) | ||
83 | - EXEEXT="" | 77 | +app_vrs_major=$(echo $VERSION | cut -d. -f1) |
78 | +app_vrs_minor=$(echo $VERSION | cut -d. -f2) | ||
84 | 79 | ||
85 | - DLLEXT=".so" | 80 | +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major) |
81 | +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor) | ||
86 | 82 | ||
87 | - CFLAGS="$CFLAGS -Wall -Werror" | 83 | +AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major) |
84 | +AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor) | ||
88 | 85 | ||
89 | - # LIBS="-Wl,--no-allow-shlib-undefined,--as-needed,--no-undefined -pthread $LIBS" | ||
90 | - LIBS="-pthread $LIBS" | 86 | +AC_ARG_WITH([release], [AS_HELP_STRING([--with-release], [Set release])], [ app_cv_release="$withval" ],[ app_cv_release="`date +%-y`.`date +%-m`.`date +%-d`" ]) |
91 | 87 | ||
92 | -esac | 88 | +app_rls_major=$(echo $app_cv_release.0.0 | cut -d. -f1) |
89 | +app_rls_minor=$(echo $app_cv_release.0.0 | cut -d. -f2) | ||
93 | 90 | ||
94 | -AC_SUBST(LIBS) | 91 | +AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, $app_cv_release) |
92 | +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_RELEASE, $app_rls_major) | ||
93 | +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_RELEASE, $app_rls_minor) | ||
95 | 94 | ||
96 | -AC_SUBST(DBG_CFLAGS) | ||
97 | -AC_SUBST(RLS_CFLAGS) | 95 | +AC_SUBST(PACKAGE_RELEASE,$app_cv_release) |
96 | +AC_SUBST(PACKAGE_MAJOR_RELEASE,$app_rls_major) | ||
97 | +AC_SUBST(PACKAGE_MINOR_RELEASE,$app_rls_minor) | ||
98 | 98 | ||
99 | -AC_SUBST(DBG_LDFLAGS) | ||
100 | -AC_SUBST(RLS_LDFLAGS) | 99 | +AC_ARG_WITH([application-datadir], [AS_HELP_STRING([--with-application-datadir], [Set path for configuration file])], [ app_cv_source_appdatadir="$withval" ],[ app_cv_source_appdatadir="\$(datarootdir)/\$(PACKAGE_NAME)" ]) |
101 | 100 | ||
102 | -AC_SUBST(EXEEXT) | ||
103 | -AC_SUBST(DLLEXT) | ||
104 | -AC_SUBST(DLLPREFIX) | 101 | +AC_DEFINE_UNQUOTED(APPDATADIR, $app_cv_source_appdatadir) |
102 | +AC_SUBST(APPDATADIR,$app_cv_source_appdatadir) | ||
105 | 103 | ||
106 | dnl --------------------------------------------------------------------------- | 104 | dnl --------------------------------------------------------------------------- |
107 | -dnl Check for other programs | ||
108 | -dnl --------------------------------------------------------------------------- | ||
109 | -AC_PATH_TOOL([STRIP], [strip]) | ||
110 | -AC_PATH_TOOL([RPMBUILD], [rpmbuild], [no]) | ||
111 | -AC_PATH_TOOL([MAKENSIS], [makensis], [no]) | ||
112 | -AC_PATH_TOOL([VALGRIND], [valgrind], [no]) | ||
113 | -AC_PATH_TOOL([WINDRES], [windres], [no]) | ||
114 | -AC_PATH_TOOL([ZIP], [zip], [zip]) | ||
115 | -AC_PATH_TOOL([FIND], [find], [find]) | ||
116 | -AC_PATH_TOOL([AR], [ar], [ar]) | ||
117 | - | ||
118 | -PKG_CHECK_EXISTS | ||
119 | - | ||
120 | -dnl --------------------------------------------------------------------------- | ||
121 | -dnl Version info | 105 | +dnl Check for OS specifics |
122 | dnl --------------------------------------------------------------------------- | 106 | dnl --------------------------------------------------------------------------- |
123 | 107 | ||
124 | -app_vrs_major=$(echo $VERSION | cut -d. -f1) | ||
125 | -app_vrs_minor=$(echo $VERSION | cut -d. -f2) | ||
126 | - | ||
127 | -AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major) | ||
128 | -AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor) | ||
129 | - | ||
130 | -AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major) | ||
131 | -AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor) | 108 | +case "$host" in |
109 | + *-mingw32|*-pc-msys) | ||
110 | + app_cv_osname="windows" | ||
132 | 111 | ||
133 | -AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major) | ||
134 | -AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor) | 112 | + CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600" |
113 | + LIBS="$LIBS -lws2_32 -lwtsapi32 -lcomdlg32" | ||
114 | + DLLEXT=".dll" | ||
135 | 115 | ||
136 | -app_cv_description="Python binding for pw3270/lib3270" | 116 | + app_win32_revision=$(date +%-y.%-m.%-d.%-H) |
117 | + AC_SUBST(WIN32_VERSION,$app_win32_revision) | ||
137 | 118 | ||
138 | -AC_DEFINE_UNQUOTED(PACKAGE_DESCRIPTION,"$app_cv_description") | ||
139 | -AC_SUBST(PACKAGE_DESCRIPTION,"$app_cv_description") | 119 | + app_win32_file_version=$(date +%-y,%-m,%-d,%-H) |
120 | + AC_SUBST(WIN32_FILE_VERSION,$app_win32_file_version) | ||
140 | 121 | ||
141 | -dnl --------------------------------------------------------------------------- | ||
142 | -dnl Check for Python | ||
143 | -dnl --------------------------------------------------------------------------- | 122 | +dnl AC_CONFIG_FILES(src/core/windows/resources.rc) |
123 | +dnl AC_CONFIG_FILES(win/py3270.nsi) | ||
144 | 124 | ||
145 | -PKG_CHECK_MODULES( [PYTHON], [python], AC_DEFINE(HAVE_PYTHON)) | 125 | + if test "$host_cpu" = "x86_64"; then |
126 | + app_cv_programfiles="PROGRAMFILES64" | ||
127 | + app_cv_winarch="64" | ||
128 | + else | ||
129 | + app_cv_programfiles="PROGRAMFILES" | ||
130 | + app_cv_winarch="32" | ||
131 | + fi | ||
146 | 132 | ||
147 | -AC_SUBST(PYTHON_LIBS) | ||
148 | -AC_SUBST(PYTHON_CFLAGS) | 133 | + AC_SUBST(PROGRAMFILES,$app_cv_programfiles) |
134 | + AC_SUBST(WINARCH,$app_cv_winarch) | ||
135 | + AC_SUBST(SONAME,py3270.dll) | ||
149 | 136 | ||
150 | -dnl --------------------------------------------------------------------------- | ||
151 | -dnl Check for D-Bus | ||
152 | -dnl --------------------------------------------------------------------------- | 137 | + ;; |
153 | 138 | ||
154 | -PKG_CHECK_MODULES( [DBUS], [dbus-1], AC_DEFINE(HAVE_DBUS), AC_MSG_NOTICE([ No DBUS support.]) ) | ||
155 | -AC_SUBST(DBUS_LIBS) | ||
156 | -AC_SUBST(DBUS_CFLAGS) | 139 | + *) |
140 | + CFLAGS="$CFLAGS -pthread" | ||
141 | + LDFLAGS="$LDFLAGS -pthread" | ||
142 | + app_cv_datadir="/usr/share" | ||
143 | + app_cv_confdir="/etc" | ||
144 | + app_cv_osname="linux" | ||
145 | + LOGDIR="/var/log" | ||
146 | + DLLEXT=".so" | ||
147 | + AC_SUBST(SONAME,py3270.so.$app_vrs_major.$app_vrs_minor) | ||
157 | 148 | ||
158 | -dnl --------------------------------------------------------------------------- | ||
159 | -dnl Check for integer types & library functions | ||
160 | -dnl --------------------------------------------------------------------------- | 149 | +esac |
161 | 150 | ||
162 | -AC_CHECK_TYPES([pid_t, uint8_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t]) | ||
163 | -AC_CHECK_FUNCS(srandom random getopt asprintf vasprintf) | ||
164 | -AC_CHECK_FUNCS(getaddrinfo sendfile poll eventfd statfs64) | 151 | +AC_SUBST(DATADIR,$app_cv_datadir) |
152 | +AC_SUBST(CONFDIR,$app_cv_confdir) | ||
153 | +AC_SUBST(OSNAME,$app_cv_osname) | ||
154 | +AC_SUBST(LIBS) | ||
155 | +AC_SUBST(LOGDIR) | ||
156 | +AC_SUBST(DLLEXT) | ||
157 | +AC_SUBST(DLLPREFIX) | ||
158 | +AC_SUBST(LDFLAGS) | ||
159 | +AC_SUBST(DLL_LDFLAGS) | ||
165 | 160 | ||
166 | dnl --------------------------------------------------------------------------- | 161 | dnl --------------------------------------------------------------------------- |
167 | -dnl Check for libintl | 162 | +dnl Check for other programs |
168 | dnl --------------------------------------------------------------------------- | 163 | dnl --------------------------------------------------------------------------- |
169 | 164 | ||
170 | -AC_PATH_TOOL([XGETTEXT], [xgettext], [no]) | ||
171 | -AC_PATH_TOOL([MSGCAT], [msgcat], [no]) | ||
172 | -AC_PATH_TOOL([MSGINIT], [msginit], [no]) | ||
173 | -AC_PATH_TOOL([MSGMERGE], [msgmerge], [no]) | ||
174 | -AC_PATH_TOOL([MSGFMT], [msgfmt], [no]) | 165 | +AC_PATH_TOOL([AR], [ar], [ar]) |
166 | +AC_PATH_TOOL([WINDRES], [windres], [no]) | ||
167 | +AC_PATH_TOOL([VALGRIND], [valgrind], [no]) | ||
175 | 168 | ||
176 | -AC_CHECK_HEADER(libintl.h, [ | ||
177 | - AC_DEFINE(HAVE_LIBINTL, 1) | ||
178 | -]) | 169 | +PKG_CHECK_EXISTS |
179 | 170 | ||
180 | dnl --------------------------------------------------------------------------- | 171 | dnl --------------------------------------------------------------------------- |
181 | dnl Check for C++ 2011 support | 172 | dnl Check for C++ 2011 support |
@@ -199,118 +190,95 @@ AS_VAR_POPDEF([CACHEVAR])dnl | @@ -199,118 +190,95 @@ AS_VAR_POPDEF([CACHEVAR])dnl | ||
199 | AX_CHECK_COMPILE_FLAG([-std=gnu++11], [CFLAGS="$CFLAGS -std=gnu++11"]) | 190 | AX_CHECK_COMPILE_FLAG([-std=gnu++11], [CFLAGS="$CFLAGS -std=gnu++11"]) |
200 | 191 | ||
201 | dnl --------------------------------------------------------------------------- | 192 | dnl --------------------------------------------------------------------------- |
202 | -dnl Check for ELF symbol visibility support | 193 | +dnl Check for IPC3270 |
203 | dnl --------------------------------------------------------------------------- | 194 | dnl --------------------------------------------------------------------------- |
204 | -m4_define([GLIB_CHECK_COMPILE_WARNINGS], | ||
205 | -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl | ||
206 | -rm -f conftest.$ac_objext | ||
207 | -glib_ac_compile_save="$ac_compile" | ||
208 | -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext' | ||
209 | -AS_IF([_AC_EVAL_STDERR($ac_compile) && | ||
210 | - AC_TRY_COMMAND([(if test -s conftest.err; then false ; else true; fi)])], | ||
211 | - [$2], | ||
212 | - [echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD | ||
213 | -cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD | ||
214 | -m4_ifvaln([$3],[$3])dnl]) | ||
215 | -ac_compile="$glib_ac_compile_save" | ||
216 | -rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl | ||
217 | -])# GLIB_CHECK_COMPILE_WARNINGS | ||
218 | - | ||
219 | -AC_MSG_CHECKING(for GNUC visibility attribute) | ||
220 | -GLIB_CHECK_COMPILE_WARNINGS([ | ||
221 | -void | ||
222 | -__attribute__ ((visibility ("hidden"))) | ||
223 | - f_hidden (void) | ||
224 | -{ | ||
225 | -} | ||
226 | -void | ||
227 | -__attribute__ ((visibility ("internal"))) | ||
228 | - f_internal (void) | ||
229 | -{ | ||
230 | -} | ||
231 | -void | ||
232 | -__attribute__ ((visibility ("protected"))) | ||
233 | - f_protected (void) | ||
234 | -{ | ||
235 | -} | ||
236 | -void | ||
237 | -__attribute__ ((visibility ("default"))) | ||
238 | - f_default (void) | ||
239 | -{ | ||
240 | -} | ||
241 | -int main (int argc, char **argv) | ||
242 | -{ | ||
243 | - f_hidden(); | ||
244 | - f_internal(); | ||
245 | - f_protected(); | ||
246 | - f_default(); | ||
247 | - return 0; | ||
248 | -} | ||
249 | -],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no) | ||
250 | -AC_MSG_RESULT($g_have_gnuc_visibility) | ||
251 | -if test x$g_have_gnuc_visibility = xyes; then | ||
252 | - AC_DEFINE(HAVE_GNUC_VISIBILITY, 1, [supports GCC visibility attributes]) | 195 | + |
196 | +AC_ARG_WITH([static-ipc3270], | ||
197 | + [AS_HELP_STRING([--with-static-ipc3270], [Uses static version of ipc3270])], | ||
198 | +[ | ||
199 | + app_cv_static_ipc3270=$withval | ||
200 | +],[ | ||
201 | + app_cv_static_ipc3270="auto" | ||
202 | +]) | ||
203 | + | ||
204 | +if test "$app_cv_static_ipc3270" == "auto"; then | ||
205 | + case "$host" in | ||
206 | + *-mingw32|*-pc-msys) | ||
207 | + app_cv_static_ipc3270="yes" | ||
208 | + ;; | ||
209 | + | ||
210 | + *) | ||
211 | + app_cv_static_ipc3270="no" | ||
212 | + | ||
213 | + esac | ||
214 | + | ||
215 | +fi | ||
216 | + | ||
217 | +if test "$app_cv_static_ipc3270" == "yes"; then | ||
218 | + LDFLAGS="-static -static-libgcc -static-libstdc++ $LDFLAGS" | ||
219 | + PKG_CHECK_MODULES( [IPC3270], [ipc3270-static], AC_DEFINE(USING_STATIC_IPC3270), AC_MSG_ERROR([IPC3270 not present.])) | ||
220 | +else | ||
221 | + PKG_CHECK_MODULES( [IPC3270], [ipc3270], AC_DEFINE(USING_SHARED_IPC3270), AC_MSG_ERROR([IPC3270 not present.])) | ||
253 | fi | 222 | fi |
254 | 223 | ||
224 | +AC_SUBST(IPC3270_LIBS) | ||
225 | +AC_SUBST(IPC3270_CFLAGS) | ||
226 | + | ||
227 | +AC_ARG_WITH([product-name], [AS_HELP_STRING([--with-product-name], [Set product name])], [ app_cv_product="$withval" ],[ app_cv_product=`pkg-config --variable=product_name ipc3270` ]) | ||
228 | +AC_DEFINE_UNQUOTED(PRODUCT_NAME, $app_cv_product) | ||
229 | +AC_SUBST(PRODUCT_NAME,$app_cv_product) | ||
230 | + | ||
255 | dnl --------------------------------------------------------------------------- | 231 | dnl --------------------------------------------------------------------------- |
256 | -dnl Check for compiler visibility flag | 232 | +dnl Check for Python |
257 | dnl --------------------------------------------------------------------------- | 233 | dnl --------------------------------------------------------------------------- |
258 | -dnl AC_MSG_CHECKING(whether $CC accepts -fvisibility=hidden) | ||
259 | -dnl AC_CACHE_VAL(app_cv_fvisibility_ok, | ||
260 | -dnl [ac_save_cc="$CC" | ||
261 | -dnl CC="$CC -fvisibility=hidden" | ||
262 | -dnl AC_TRY_RUN([int main() { return 0; }], | ||
263 | -dnl app_cv_fvisibility_ok=yes, | ||
264 | -dnl app_cv_fvisibility_ok=no, | ||
265 | -dnl app_cv_fvisibility_ok=no) | ||
266 | -dnl CC="$ac_save_cc"]) | ||
267 | -dnl AC_MSG_RESULT($app_cv_fvisibility_ok) | ||
268 | -dnl if test $app_cv_fvisibility_ok = yes; then | ||
269 | -dnl CFLAGS="$CFLAGS -fvisibility=hidden" | ||
270 | -dnl fi | 234 | + |
235 | +PKG_CHECK_MODULES( [PYTHON], [python], AC_DEFINE(HAVE_PYTHON), AC_MSG_ERROR([Python devel is unavailable])) | ||
236 | + | ||
237 | +AC_SUBST(PYTHON_LIBS) | ||
238 | +AC_SUBST(PYTHON_CFLAGS) | ||
239 | + | ||
271 | 240 | ||
272 | dnl --------------------------------------------------------------------------- | 241 | dnl --------------------------------------------------------------------------- |
273 | dnl Check for pic | 242 | dnl Check for pic |
274 | dnl --------------------------------------------------------------------------- | 243 | dnl --------------------------------------------------------------------------- |
244 | + | ||
275 | AC_ARG_ENABLE([pic], | 245 | AC_ARG_ENABLE([pic], |
276 | [AS_HELP_STRING([--disable-pic], [disable support for PIC libraries (required to compile on 64bits)])], | 246 | [AS_HELP_STRING([--disable-pic], [disable support for PIC libraries (required to compile on 64bits)])], |
277 | [ | 247 | [ |
278 | app_cv_pic="$enableval" | 248 | app_cv_pic="$enableval" |
279 | ],[ | 249 | ],[ |
280 | 250 | ||
281 | - case "$host" in | ||
282 | - *-mingw32) | ||
283 | - app_cv_pic="no" | ||
284 | - ;; | 251 | + case "$host_cpu" in |
252 | + x86_64) | ||
253 | + app_cv_pic="yes" | ||
254 | + ;; | ||
255 | + | ||
256 | + aarch64) | ||
257 | + app_cv_pic="yes" | ||
258 | + ;; | ||
285 | 259 | ||
286 | *) | 260 | *) |
287 | - if test "$host_cpu" = "x86_64"; then | ||
288 | - app_cv_pic="yes" | ||
289 | - else | ||
290 | - app_cv_pic="no" | ||
291 | - fi | 261 | + app_cv_pic="no" |
292 | esac | 262 | esac |
263 | + | ||
293 | ]) | 264 | ]) |
294 | 265 | ||
295 | if test "$app_cv_pic" == "yes"; then | 266 | if test "$app_cv_pic" == "yes"; then |
296 | CFLAGS="$CFLAGS -fPIC" | 267 | CFLAGS="$CFLAGS -fPIC" |
268 | + CXXFLAGS="$CXXFLAGS -fPIC" | ||
297 | fi | 269 | fi |
298 | 270 | ||
299 | dnl --------------------------------------------------------------------------- | 271 | dnl --------------------------------------------------------------------------- |
300 | -dnl Output config | ||
301 | -dnl --------------------------------------------------------------------------- | ||
302 | - | ||
303 | -AC_SUBST(BASEDIR,$ac_pwd) | ||
304 | - | ||
305 | -dnl --------------------------------------------------------------------------- | ||
306 | dnl Configure which files to generate. | 272 | dnl Configure which files to generate. |
307 | dnl --------------------------------------------------------------------------- | 273 | dnl --------------------------------------------------------------------------- |
308 | 274 | ||
309 | -AC_CONFIG_FILES(Makefile) | 275 | +# AC_CONFIG_FILES(Makefile) |
310 | 276 | ||
311 | dnl --------------------------------------------------------------------------- | 277 | dnl --------------------------------------------------------------------------- |
312 | dnl Output the generated config.status script. | 278 | dnl Output the generated config.status script. |
313 | dnl --------------------------------------------------------------------------- | 279 | dnl --------------------------------------------------------------------------- |
280 | +AC_SUBST(BASEDIR,$ac_pwd) | ||
281 | + | ||
314 | AC_OUTPUT | 282 | AC_OUTPUT |
315 | 283 | ||
316 | 284 |
scripts/config.guess
@@ -1,1526 +0,0 @@ | @@ -1,1526 +0,0 @@ | ||
1 | -#! /bin/sh | ||
2 | -# Attempt to guess a canonical system name. | ||
3 | -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | ||
4 | -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 | ||
5 | -# Free Software Foundation, Inc. | ||
6 | - | ||
7 | -timestamp='2008-01-23' | ||
8 | - | ||
9 | -# This file is free software; you can redistribute it and/or modify it | ||
10 | -# under the terms of the GNU General Public License as published by | ||
11 | -# the Free Software Foundation; either version 2 of the License, or | ||
12 | -# (at your option) any later version. | ||
13 | -# | ||
14 | -# This program is distributed in the hope that it will be useful, but | ||
15 | -# WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | -# General Public License for more details. | ||
18 | -# | ||
19 | -# You should have received a copy of the GNU General Public License | ||
20 | -# along with this program; if not, write to the Free Software | ||
21 | -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | ||
22 | -# 02110-1301, USA. | ||
23 | -# | ||
24 | -# As a special exception to the GNU General Public License, if you | ||
25 | -# distribute this file as part of a program that contains a | ||
26 | -# configuration script generated by Autoconf, you may include it under | ||
27 | -# the same distribution terms that you use for the rest of that program. | ||
28 | - | ||
29 | - | ||
30 | -# Originally written by Per Bothner <per@bothner.com>. | ||
31 | -# Please send patches to <config-patches@gnu.org>. Submit a context | ||
32 | -# diff and a properly formatted ChangeLog entry. | ||
33 | -# | ||
34 | -# This script attempts to guess a canonical system name similar to | ||
35 | -# config.sub. If it succeeds, it prints the system name on stdout, and | ||
36 | -# exits with 0. Otherwise, it exits with 1. | ||
37 | -# | ||
38 | -# The plan is that this can be called by configure scripts if you | ||
39 | -# don't specify an explicit build system type. | ||
40 | - | ||
41 | -me=`echo "$0" | sed -e 's,.*/,,'` | ||
42 | - | ||
43 | -usage="\ | ||
44 | -Usage: $0 [OPTION] | ||
45 | - | ||
46 | -Output the configuration name of the system \`$me' is run on. | ||
47 | - | ||
48 | -Operation modes: | ||
49 | - -h, --help print this help, then exit | ||
50 | - -t, --time-stamp print date of last modification, then exit | ||
51 | - -v, --version print version number, then exit | ||
52 | - | ||
53 | -Report bugs and patches to <config-patches@gnu.org>." | ||
54 | - | ||
55 | -version="\ | ||
56 | -GNU config.guess ($timestamp) | ||
57 | - | ||
58 | -Originally written by Per Bothner. | ||
59 | -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | ||
60 | -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | ||
61 | - | ||
62 | -This is free software; see the source for copying conditions. There is NO | ||
63 | -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | ||
64 | - | ||
65 | -help=" | ||
66 | -Try \`$me --help' for more information." | ||
67 | - | ||
68 | -# Parse command line | ||
69 | -while test $# -gt 0 ; do | ||
70 | - case $1 in | ||
71 | - --time-stamp | --time* | -t ) | ||
72 | - echo "$timestamp" ; exit ;; | ||
73 | - --version | -v ) | ||
74 | - echo "$version" ; exit ;; | ||
75 | - --help | --h* | -h ) | ||
76 | - echo "$usage"; exit ;; | ||
77 | - -- ) # Stop option processing | ||
78 | - shift; break ;; | ||
79 | - - ) # Use stdin as input. | ||
80 | - break ;; | ||
81 | - -* ) | ||
82 | - echo "$me: invalid option $1$help" >&2 | ||
83 | - exit 1 ;; | ||
84 | - * ) | ||
85 | - break ;; | ||
86 | - esac | ||
87 | -done | ||
88 | - | ||
89 | -if test $# != 0; then | ||
90 | - echo "$me: too many arguments$help" >&2 | ||
91 | - exit 1 | ||
92 | -fi | ||
93 | - | ||
94 | -trap 'exit 1' 1 2 15 | ||
95 | - | ||
96 | -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a | ||
97 | -# compiler to aid in system detection is discouraged as it requires | ||
98 | -# temporary files to be created and, as you can see below, it is a | ||
99 | -# headache to deal with in a portable fashion. | ||
100 | - | ||
101 | -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still | ||
102 | -# use `HOST_CC' if defined, but it is deprecated. | ||
103 | - | ||
104 | -# Portable tmp directory creation inspired by the Autoconf team. | ||
105 | - | ||
106 | -set_cc_for_build=' | ||
107 | -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; | ||
108 | -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; | ||
109 | -: ${TMPDIR=/tmp} ; | ||
110 | - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || | ||
111 | - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || | ||
112 | - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || | ||
113 | - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; | ||
114 | -dummy=$tmp/dummy ; | ||
115 | -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; | ||
116 | -case $CC_FOR_BUILD,$HOST_CC,$CC in | ||
117 | - ,,) echo "int x;" > $dummy.c ; | ||
118 | - for c in cc gcc c89 c99 ; do | ||
119 | - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then | ||
120 | - CC_FOR_BUILD="$c"; break ; | ||
121 | - fi ; | ||
122 | - done ; | ||
123 | - if test x"$CC_FOR_BUILD" = x ; then | ||
124 | - CC_FOR_BUILD=no_compiler_found ; | ||
125 | - fi | ||
126 | - ;; | ||
127 | - ,,*) CC_FOR_BUILD=$CC ;; | ||
128 | - ,*,*) CC_FOR_BUILD=$HOST_CC ;; | ||
129 | -esac ; set_cc_for_build= ;' | ||
130 | - | ||
131 | -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. | ||
132 | -# (ghazi@noc.rutgers.edu 1994-08-24) | ||
133 | -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then | ||
134 | - PATH=$PATH:/.attbin ; export PATH | ||
135 | -fi | ||
136 | - | ||
137 | -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown | ||
138 | -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown | ||
139 | -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown | ||
140 | -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown | ||
141 | - | ||
142 | -# Note: order is significant - the case branches are not exclusive. | ||
143 | - | ||
144 | -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | ||
145 | - *:NetBSD:*:*) | ||
146 | - # NetBSD (nbsd) targets should (where applicable) match one or | ||
147 | - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, | ||
148 | - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently | ||
149 | - # switched to ELF, *-*-netbsd* would select the old | ||
150 | - # object file format. This provides both forward | ||
151 | - # compatibility and a consistent mechanism for selecting the | ||
152 | - # object file format. | ||
153 | - # | ||
154 | - # Note: NetBSD doesn't particularly care about the vendor | ||
155 | - # portion of the name. We always set it to "unknown". | ||
156 | - sysctl="sysctl -n hw.machine_arch" | ||
157 | - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ | ||
158 | - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` | ||
159 | - case "${UNAME_MACHINE_ARCH}" in | ||
160 | - armeb) machine=armeb-unknown ;; | ||
161 | - arm*) machine=arm-unknown ;; | ||
162 | - sh3el) machine=shl-unknown ;; | ||
163 | - sh3eb) machine=sh-unknown ;; | ||
164 | - sh5el) machine=sh5le-unknown ;; | ||
165 | - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; | ||
166 | - esac | ||
167 | - # The Operating System including object format, if it has switched | ||
168 | - # to ELF recently, or will in the future. | ||
169 | - case "${UNAME_MACHINE_ARCH}" in | ||
170 | - arm*|i386|m68k|ns32k|sh3*|sparc|vax) | ||
171 | - eval $set_cc_for_build | ||
172 | - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | ||
173 | - | grep __ELF__ >/dev/null | ||
174 | - then | ||
175 | - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). | ||
176 | - # Return netbsd for either. FIX? | ||
177 | - os=netbsd | ||
178 | - else | ||
179 | - os=netbsdelf | ||
180 | - fi | ||
181 | - ;; | ||
182 | - *) | ||
183 | - os=netbsd | ||
184 | - ;; | ||
185 | - esac | ||
186 | - # The OS release | ||
187 | - # Debian GNU/NetBSD machines have a different userland, and | ||
188 | - # thus, need a distinct triplet. However, they do not need | ||
189 | - # kernel version information, so it can be replaced with a | ||
190 | - # suitable tag, in the style of linux-gnu. | ||
191 | - case "${UNAME_VERSION}" in | ||
192 | - Debian*) | ||
193 | - release='-gnu' | ||
194 | - ;; | ||
195 | - *) | ||
196 | - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` | ||
197 | - ;; | ||
198 | - esac | ||
199 | - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: | ||
200 | - # contains redundant information, the shorter form: | ||
201 | - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. | ||
202 | - echo "${machine}-${os}${release}" | ||
203 | - exit ;; | ||
204 | - *:OpenBSD:*:*) | ||
205 | - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` | ||
206 | - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | ||
207 | - exit ;; | ||
208 | - *:ekkoBSD:*:*) | ||
209 | - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} | ||
210 | - exit ;; | ||
211 | - *:SolidBSD:*:*) | ||
212 | - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} | ||
213 | - exit ;; | ||
214 | - macppc:MirBSD:*:*) | ||
215 | - echo powerpc-unknown-mirbsd${UNAME_RELEASE} | ||
216 | - exit ;; | ||
217 | - *:MirBSD:*:*) | ||
218 | - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} | ||
219 | - exit ;; | ||
220 | - alpha:OSF1:*:*) | ||
221 | - case $UNAME_RELEASE in | ||
222 | - *4.0) | ||
223 | - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` | ||
224 | - ;; | ||
225 | - *5.*) | ||
226 | - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` | ||
227 | - ;; | ||
228 | - esac | ||
229 | - # According to Compaq, /usr/sbin/psrinfo has been available on | ||
230 | - # OSF/1 and Tru64 systems produced since 1995. I hope that | ||
231 | - # covers most systems running today. This code pipes the CPU | ||
232 | - # types through head -n 1, so we only detect the type of CPU 0. | ||
233 | - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` | ||
234 | - case "$ALPHA_CPU_TYPE" in | ||
235 | - "EV4 (21064)") | ||
236 | - UNAME_MACHINE="alpha" ;; | ||
237 | - "EV4.5 (21064)") | ||
238 | - UNAME_MACHINE="alpha" ;; | ||
239 | - "LCA4 (21066/21068)") | ||
240 | - UNAME_MACHINE="alpha" ;; | ||
241 | - "EV5 (21164)") | ||
242 | - UNAME_MACHINE="alphaev5" ;; | ||
243 | - "EV5.6 (21164A)") | ||
244 | - UNAME_MACHINE="alphaev56" ;; | ||
245 | - "EV5.6 (21164PC)") | ||
246 | - UNAME_MACHINE="alphapca56" ;; | ||
247 | - "EV5.7 (21164PC)") | ||
248 | - UNAME_MACHINE="alphapca57" ;; | ||
249 | - "EV6 (21264)") | ||
250 | - UNAME_MACHINE="alphaev6" ;; | ||
251 | - "EV6.7 (21264A)") | ||
252 | - UNAME_MACHINE="alphaev67" ;; | ||
253 | - "EV6.8CB (21264C)") | ||
254 | - UNAME_MACHINE="alphaev68" ;; | ||
255 | - "EV6.8AL (21264B)") | ||
256 | - UNAME_MACHINE="alphaev68" ;; | ||
257 | - "EV6.8CX (21264D)") | ||
258 | - UNAME_MACHINE="alphaev68" ;; | ||
259 | - "EV6.9A (21264/EV69A)") | ||
260 | - UNAME_MACHINE="alphaev69" ;; | ||
261 | - "EV7 (21364)") | ||
262 | - UNAME_MACHINE="alphaev7" ;; | ||
263 | - "EV7.9 (21364A)") | ||
264 | - UNAME_MACHINE="alphaev79" ;; | ||
265 | - esac | ||
266 | - # A Pn.n version is a patched version. | ||
267 | - # A Vn.n version is a released version. | ||
268 | - # A Tn.n version is a released field test version. | ||
269 | - # A Xn.n version is an unreleased experimental baselevel. | ||
270 | - # 1.2 uses "1.2" for uname -r. | ||
271 | - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | ||
272 | - exit ;; | ||
273 | - Alpha\ *:Windows_NT*:*) | ||
274 | - # How do we know it's Interix rather than the generic POSIX subsystem? | ||
275 | - # Should we change UNAME_MACHINE based on the output of uname instead | ||
276 | - # of the specific Alpha model? | ||
277 | - echo alpha-pc-interix | ||
278 | - exit ;; | ||
279 | - 21064:Windows_NT:50:3) | ||
280 | - echo alpha-dec-winnt3.5 | ||
281 | - exit ;; | ||
282 | - Amiga*:UNIX_System_V:4.0:*) | ||
283 | - echo m68k-unknown-sysv4 | ||
284 | - exit ;; | ||
285 | - *:[Aa]miga[Oo][Ss]:*:*) | ||
286 | - echo ${UNAME_MACHINE}-unknown-amigaos | ||
287 | - exit ;; | ||
288 | - *:[Mm]orph[Oo][Ss]:*:*) | ||
289 | - echo ${UNAME_MACHINE}-unknown-morphos | ||
290 | - exit ;; | ||
291 | - *:OS/390:*:*) | ||
292 | - echo i370-ibm-openedition | ||
293 | - exit ;; | ||
294 | - *:z/VM:*:*) | ||
295 | - echo s390-ibm-zvmoe | ||
296 | - exit ;; | ||
297 | - *:OS400:*:*) | ||
298 | - echo powerpc-ibm-os400 | ||
299 | - exit ;; | ||
300 | - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) | ||
301 | - echo arm-acorn-riscix${UNAME_RELEASE} | ||
302 | - exit ;; | ||
303 | - arm:riscos:*:*|arm:RISCOS:*:*) | ||
304 | - echo arm-unknown-riscos | ||
305 | - exit ;; | ||
306 | - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) | ||
307 | - echo hppa1.1-hitachi-hiuxmpp | ||
308 | - exit ;; | ||
309 | - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) | ||
310 | - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. | ||
311 | - if test "`(/bin/universe) 2>/dev/null`" = att ; then | ||
312 | - echo pyramid-pyramid-sysv3 | ||
313 | - else | ||
314 | - echo pyramid-pyramid-bsd | ||
315 | - fi | ||
316 | - exit ;; | ||
317 | - NILE*:*:*:dcosx) | ||
318 | - echo pyramid-pyramid-svr4 | ||
319 | - exit ;; | ||
320 | - DRS?6000:unix:4.0:6*) | ||
321 | - echo sparc-icl-nx6 | ||
322 | - exit ;; | ||
323 | - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) | ||
324 | - case `/usr/bin/uname -p` in | ||
325 | - sparc) echo sparc-icl-nx7; exit ;; | ||
326 | - esac ;; | ||
327 | - sun4H:SunOS:5.*:*) | ||
328 | - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | ||
329 | - exit ;; | ||
330 | - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) | ||
331 | - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | ||
332 | - exit ;; | ||
333 | - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) | ||
334 | - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | ||
335 | - exit ;; | ||
336 | - sun4*:SunOS:6*:*) | ||
337 | - # According to config.sub, this is the proper way to canonicalize | ||
338 | - # SunOS6. Hard to guess exactly what SunOS6 will be like, but | ||
339 | - # it's likely to be more like Solaris than SunOS4. | ||
340 | - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | ||
341 | - exit ;; | ||
342 | - sun4*:SunOS:*:*) | ||
343 | - case "`/usr/bin/arch -k`" in | ||
344 | - Series*|S4*) | ||
345 | - UNAME_RELEASE=`uname -v` | ||
346 | - ;; | ||
347 | - esac | ||
348 | - # Japanese Language versions have a version number like `4.1.3-JL'. | ||
349 | - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` | ||
350 | - exit ;; | ||
351 | - sun3*:SunOS:*:*) | ||
352 | - echo m68k-sun-sunos${UNAME_RELEASE} | ||
353 | - exit ;; | ||
354 | - sun*:*:4.2BSD:*) | ||
355 | - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` | ||
356 | - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 | ||
357 | - case "`/bin/arch`" in | ||
358 | - sun3) | ||
359 | - echo m68k-sun-sunos${UNAME_RELEASE} | ||
360 | - ;; | ||
361 | - sun4) | ||
362 | - echo sparc-sun-sunos${UNAME_RELEASE} | ||
363 | - ;; | ||
364 | - esac | ||
365 | - exit ;; | ||
366 | - aushp:SunOS:*:*) | ||
367 | - echo sparc-auspex-sunos${UNAME_RELEASE} | ||
368 | - exit ;; | ||
369 | - # The situation for MiNT is a little confusing. The machine name | ||
370 | - # can be virtually everything (everything which is not | ||
371 | - # "atarist" or "atariste" at least should have a processor | ||
372 | - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" | ||
373 | - # to the lowercase version "mint" (or "freemint"). Finally | ||
374 | - # the system name "TOS" denotes a system which is actually not | ||
375 | - # MiNT. But MiNT is downward compatible to TOS, so this should | ||
376 | - # be no problem. | ||
377 | - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) | ||
378 | - echo m68k-atari-mint${UNAME_RELEASE} | ||
379 | - exit ;; | ||
380 | - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) | ||
381 | - echo m68k-atari-mint${UNAME_RELEASE} | ||
382 | - exit ;; | ||
383 | - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) | ||
384 | - echo m68k-atari-mint${UNAME_RELEASE} | ||
385 | - exit ;; | ||
386 | - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) | ||
387 | - echo m68k-milan-mint${UNAME_RELEASE} | ||
388 | - exit ;; | ||
389 | - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) | ||
390 | - echo m68k-hades-mint${UNAME_RELEASE} | ||
391 | - exit ;; | ||
392 | - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) | ||
393 | - echo m68k-unknown-mint${UNAME_RELEASE} | ||
394 | - exit ;; | ||
395 | - m68k:machten:*:*) | ||
396 | - echo m68k-apple-machten${UNAME_RELEASE} | ||
397 | - exit ;; | ||
398 | - powerpc:machten:*:*) | ||
399 | - echo powerpc-apple-machten${UNAME_RELEASE} | ||
400 | - exit ;; | ||
401 | - RISC*:Mach:*:*) | ||
402 | - echo mips-dec-mach_bsd4.3 | ||
403 | - exit ;; | ||
404 | - RISC*:ULTRIX:*:*) | ||
405 | - echo mips-dec-ultrix${UNAME_RELEASE} | ||
406 | - exit ;; | ||
407 | - VAX*:ULTRIX*:*:*) | ||
408 | - echo vax-dec-ultrix${UNAME_RELEASE} | ||
409 | - exit ;; | ||
410 | - 2020:CLIX:*:* | 2430:CLIX:*:*) | ||
411 | - echo clipper-intergraph-clix${UNAME_RELEASE} | ||
412 | - exit ;; | ||
413 | - mips:*:*:UMIPS | mips:*:*:RISCos) | ||
414 | - eval $set_cc_for_build | ||
415 | - sed 's/^ //' << EOF >$dummy.c | ||
416 | -#ifdef __cplusplus | ||
417 | -#include <stdio.h> /* for printf() prototype */ | ||
418 | - int main (int argc, char *argv[]) { | ||
419 | -#else | ||
420 | - int main (argc, argv) int argc; char *argv[]; { | ||
421 | -#endif | ||
422 | - #if defined (host_mips) && defined (MIPSEB) | ||
423 | - #if defined (SYSTYPE_SYSV) | ||
424 | - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); | ||
425 | - #endif | ||
426 | - #if defined (SYSTYPE_SVR4) | ||
427 | - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); | ||
428 | - #endif | ||
429 | - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) | ||
430 | - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); | ||
431 | - #endif | ||
432 | - #endif | ||
433 | - exit (-1); | ||
434 | - } | ||
435 | -EOF | ||
436 | - $CC_FOR_BUILD -o $dummy $dummy.c && | ||
437 | - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && | ||
438 | - SYSTEM_NAME=`$dummy $dummyarg` && | ||
439 | - { echo "$SYSTEM_NAME"; exit; } | ||
440 | - echo mips-mips-riscos${UNAME_RELEASE} | ||
441 | - exit ;; | ||
442 | - Motorola:PowerMAX_OS:*:*) | ||
443 | - echo powerpc-motorola-powermax | ||
444 | - exit ;; | ||
445 | - Motorola:*:4.3:PL8-*) | ||
446 | - echo powerpc-harris-powermax | ||
447 | - exit ;; | ||
448 | - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) | ||
449 | - echo powerpc-harris-powermax | ||
450 | - exit ;; | ||
451 | - Night_Hawk:Power_UNIX:*:*) | ||
452 | - echo powerpc-harris-powerunix | ||
453 | - exit ;; | ||
454 | - m88k:CX/UX:7*:*) | ||
455 | - echo m88k-harris-cxux7 | ||
456 | - exit ;; | ||
457 | - m88k:*:4*:R4*) | ||
458 | - echo m88k-motorola-sysv4 | ||
459 | - exit ;; | ||
460 | - m88k:*:3*:R3*) | ||
461 | - echo m88k-motorola-sysv3 | ||
462 | - exit ;; | ||
463 | - AViiON:dgux:*:*) | ||
464 | - # DG/UX returns AViiON for all architectures | ||
465 | - UNAME_PROCESSOR=`/usr/bin/uname -p` | ||
466 | - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] | ||
467 | - then | ||
468 | - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ | ||
469 | - [ ${TARGET_BINARY_INTERFACE}x = x ] | ||
470 | - then | ||
471 | - echo m88k-dg-dgux${UNAME_RELEASE} | ||
472 | - else | ||
473 | - echo m88k-dg-dguxbcs${UNAME_RELEASE} | ||
474 | - fi | ||
475 | - else | ||
476 | - echo i586-dg-dgux${UNAME_RELEASE} | ||
477 | - fi | ||
478 | - exit ;; | ||
479 | - M88*:DolphinOS:*:*) # DolphinOS (SVR3) | ||
480 | - echo m88k-dolphin-sysv3 | ||
481 | - exit ;; | ||
482 | - M88*:*:R3*:*) | ||
483 | - # Delta 88k system running SVR3 | ||
484 | - echo m88k-motorola-sysv3 | ||
485 | - exit ;; | ||
486 | - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) | ||
487 | - echo m88k-tektronix-sysv3 | ||
488 | - exit ;; | ||
489 | - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) | ||
490 | - echo m68k-tektronix-bsd | ||
491 | - exit ;; | ||
492 | - *:IRIX*:*:*) | ||
493 | - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` | ||
494 | - exit ;; | ||
495 | - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. | ||
496 | - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id | ||
497 | - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' | ||
498 | - i*86:AIX:*:*) | ||
499 | - echo i386-ibm-aix | ||
500 | - exit ;; | ||
501 | - ia64:AIX:*:*) | ||
502 | - if [ -x /usr/bin/oslevel ] ; then | ||
503 | - IBM_REV=`/usr/bin/oslevel` | ||
504 | - else | ||
505 | - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | ||
506 | - fi | ||
507 | - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} | ||
508 | - exit ;; | ||
509 | - *:AIX:2:3) | ||
510 | - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then | ||
511 | - eval $set_cc_for_build | ||
512 | - sed 's/^ //' << EOF >$dummy.c | ||
513 | - #include <sys/systemcfg.h> | ||
514 | - | ||
515 | - main() | ||
516 | - { | ||
517 | - if (!__power_pc()) | ||
518 | - exit(1); | ||
519 | - puts("powerpc-ibm-aix3.2.5"); | ||
520 | - exit(0); | ||
521 | - } | ||
522 | -EOF | ||
523 | - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` | ||
524 | - then | ||
525 | - echo "$SYSTEM_NAME" | ||
526 | - else | ||
527 | - echo rs6000-ibm-aix3.2.5 | ||
528 | - fi | ||
529 | - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then | ||
530 | - echo rs6000-ibm-aix3.2.4 | ||
531 | - else | ||
532 | - echo rs6000-ibm-aix3.2 | ||
533 | - fi | ||
534 | - exit ;; | ||
535 | - *:AIX:*:[456]) | ||
536 | - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` | ||
537 | - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then | ||
538 | - IBM_ARCH=rs6000 | ||
539 | - else | ||
540 | - IBM_ARCH=powerpc | ||
541 | - fi | ||
542 | - if [ -x /usr/bin/oslevel ] ; then | ||
543 | - IBM_REV=`/usr/bin/oslevel` | ||
544 | - else | ||
545 | - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | ||
546 | - fi | ||
547 | - echo ${IBM_ARCH}-ibm-aix${IBM_REV} | ||
548 | - exit ;; | ||
549 | - *:AIX:*:*) | ||
550 | - echo rs6000-ibm-aix | ||
551 | - exit ;; | ||
552 | - ibmrt:4.4BSD:*|romp-ibm:BSD:*) | ||
553 | - echo romp-ibm-bsd4.4 | ||
554 | - exit ;; | ||
555 | - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and | ||
556 | - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to | ||
557 | - exit ;; # report: romp-ibm BSD 4.3 | ||
558 | - *:BOSX:*:*) | ||
559 | - echo rs6000-bull-bosx | ||
560 | - exit ;; | ||
561 | - DPX/2?00:B.O.S.:*:*) | ||
562 | - echo m68k-bull-sysv3 | ||
563 | - exit ;; | ||
564 | - 9000/[34]??:4.3bsd:1.*:*) | ||
565 | - echo m68k-hp-bsd | ||
566 | - exit ;; | ||
567 | - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) | ||
568 | - echo m68k-hp-bsd4.4 | ||
569 | - exit ;; | ||
570 | - 9000/[34678]??:HP-UX:*:*) | ||
571 | - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | ||
572 | - case "${UNAME_MACHINE}" in | ||
573 | - 9000/31? ) HP_ARCH=m68000 ;; | ||
574 | - 9000/[34]?? ) HP_ARCH=m68k ;; | ||
575 | - 9000/[678][0-9][0-9]) | ||
576 | - if [ -x /usr/bin/getconf ]; then | ||
577 | - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` | ||
578 | - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` | ||
579 | - case "${sc_cpu_version}" in | ||
580 | - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 | ||
581 | - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 | ||
582 | - 532) # CPU_PA_RISC2_0 | ||
583 | - case "${sc_kernel_bits}" in | ||
584 | - 32) HP_ARCH="hppa2.0n" ;; | ||
585 | - 64) HP_ARCH="hppa2.0w" ;; | ||
586 | - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 | ||
587 | - esac ;; | ||
588 | - esac | ||
589 | - fi | ||
590 | - if [ "${HP_ARCH}" = "" ]; then | ||
591 | - eval $set_cc_for_build | ||
592 | - sed 's/^ //' << EOF >$dummy.c | ||
593 | - | ||
594 | - #define _HPUX_SOURCE | ||
595 | - #include <stdlib.h> | ||
596 | - #include <unistd.h> | ||
597 | - | ||
598 | - int main () | ||
599 | - { | ||
600 | - #if defined(_SC_KERNEL_BITS) | ||
601 | - long bits = sysconf(_SC_KERNEL_BITS); | ||
602 | - #endif | ||
603 | - long cpu = sysconf (_SC_CPU_VERSION); | ||
604 | - | ||
605 | - switch (cpu) | ||
606 | - { | ||
607 | - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; | ||
608 | - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; | ||
609 | - case CPU_PA_RISC2_0: | ||
610 | - #if defined(_SC_KERNEL_BITS) | ||
611 | - switch (bits) | ||
612 | - { | ||
613 | - case 64: puts ("hppa2.0w"); break; | ||
614 | - case 32: puts ("hppa2.0n"); break; | ||
615 | - default: puts ("hppa2.0"); break; | ||
616 | - } break; | ||
617 | - #else /* !defined(_SC_KERNEL_BITS) */ | ||
618 | - puts ("hppa2.0"); break; | ||
619 | - #endif | ||
620 | - default: puts ("hppa1.0"); break; | ||
621 | - } | ||
622 | - exit (0); | ||
623 | - } | ||
624 | -EOF | ||
625 | - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` | ||
626 | - test -z "$HP_ARCH" && HP_ARCH=hppa | ||
627 | - fi ;; | ||
628 | - esac | ||
629 | - if [ ${HP_ARCH} = "hppa2.0w" ] | ||
630 | - then | ||
631 | - eval $set_cc_for_build | ||
632 | - | ||
633 | - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating | ||
634 | - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler | ||
635 | - # generating 64-bit code. GNU and HP use different nomenclature: | ||
636 | - # | ||
637 | - # $ CC_FOR_BUILD=cc ./config.guess | ||
638 | - # => hppa2.0w-hp-hpux11.23 | ||
639 | - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess | ||
640 | - # => hppa64-hp-hpux11.23 | ||
641 | - | ||
642 | - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | | ||
643 | - grep __LP64__ >/dev/null | ||
644 | - then | ||
645 | - HP_ARCH="hppa2.0w" | ||
646 | - else | ||
647 | - HP_ARCH="hppa64" | ||
648 | - fi | ||
649 | - fi | ||
650 | - echo ${HP_ARCH}-hp-hpux${HPUX_REV} | ||
651 | - exit ;; | ||
652 | - ia64:HP-UX:*:*) | ||
653 | - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | ||
654 | - echo ia64-hp-hpux${HPUX_REV} | ||
655 | - exit ;; | ||
656 | - 3050*:HI-UX:*:*) | ||
657 | - eval $set_cc_for_build | ||
658 | - sed 's/^ //' << EOF >$dummy.c | ||
659 | - #include <unistd.h> | ||
660 | - int | ||
661 | - main () | ||
662 | - { | ||
663 | - long cpu = sysconf (_SC_CPU_VERSION); | ||
664 | - /* The order matters, because CPU_IS_HP_MC68K erroneously returns | ||
665 | - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct | ||
666 | - results, however. */ | ||
667 | - if (CPU_IS_PA_RISC (cpu)) | ||
668 | - { | ||
669 | - switch (cpu) | ||
670 | - { | ||
671 | - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; | ||
672 | - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; | ||
673 | - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; | ||
674 | - default: puts ("hppa-hitachi-hiuxwe2"); break; | ||
675 | - } | ||
676 | - } | ||
677 | - else if (CPU_IS_HP_MC68K (cpu)) | ||
678 | - puts ("m68k-hitachi-hiuxwe2"); | ||
679 | - else puts ("unknown-hitachi-hiuxwe2"); | ||
680 | - exit (0); | ||
681 | - } | ||
682 | -EOF | ||
683 | - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && | ||
684 | - { echo "$SYSTEM_NAME"; exit; } | ||
685 | - echo unknown-hitachi-hiuxwe2 | ||
686 | - exit ;; | ||
687 | - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) | ||
688 | - echo hppa1.1-hp-bsd | ||
689 | - exit ;; | ||
690 | - 9000/8??:4.3bsd:*:*) | ||
691 | - echo hppa1.0-hp-bsd | ||
692 | - exit ;; | ||
693 | - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) | ||
694 | - echo hppa1.0-hp-mpeix | ||
695 | - exit ;; | ||
696 | - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) | ||
697 | - echo hppa1.1-hp-osf | ||
698 | - exit ;; | ||
699 | - hp8??:OSF1:*:*) | ||
700 | - echo hppa1.0-hp-osf | ||
701 | - exit ;; | ||
702 | - i*86:OSF1:*:*) | ||
703 | - if [ -x /usr/sbin/sysversion ] ; then | ||
704 | - echo ${UNAME_MACHINE}-unknown-osf1mk | ||
705 | - else | ||
706 | - echo ${UNAME_MACHINE}-unknown-osf1 | ||
707 | - fi | ||
708 | - exit ;; | ||
709 | - parisc*:Lites*:*:*) | ||
710 | - echo hppa1.1-hp-lites | ||
711 | - exit ;; | ||
712 | - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) | ||
713 | - echo c1-convex-bsd | ||
714 | - exit ;; | ||
715 | - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) | ||
716 | - if getsysinfo -f scalar_acc | ||
717 | - then echo c32-convex-bsd | ||
718 | - else echo c2-convex-bsd | ||
719 | - fi | ||
720 | - exit ;; | ||
721 | - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) | ||
722 | - echo c34-convex-bsd | ||
723 | - exit ;; | ||
724 | - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) | ||
725 | - echo c38-convex-bsd | ||
726 | - exit ;; | ||
727 | - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) | ||
728 | - echo c4-convex-bsd | ||
729 | - exit ;; | ||
730 | - CRAY*Y-MP:*:*:*) | ||
731 | - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | ||
732 | - exit ;; | ||
733 | - CRAY*[A-Z]90:*:*:*) | ||
734 | - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | ||
735 | - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ | ||
736 | - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ | ||
737 | - -e 's/\.[^.]*$/.X/' | ||
738 | - exit ;; | ||
739 | - CRAY*TS:*:*:*) | ||
740 | - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | ||
741 | - exit ;; | ||
742 | - CRAY*T3E:*:*:*) | ||
743 | - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | ||
744 | - exit ;; | ||
745 | - CRAY*SV1:*:*:*) | ||
746 | - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | ||
747 | - exit ;; | ||
748 | - *:UNICOS/mp:*:*) | ||
749 | - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | ||
750 | - exit ;; | ||
751 | - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) | ||
752 | - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | ||
753 | - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | ||
754 | - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` | ||
755 | - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" | ||
756 | - exit ;; | ||
757 | - 5000:UNIX_System_V:4.*:*) | ||
758 | - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | ||
759 | - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` | ||
760 | - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" | ||
761 | - exit ;; | ||
762 | - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) | ||
763 | - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} | ||
764 | - exit ;; | ||
765 | - sparc*:BSD/OS:*:*) | ||
766 | - echo sparc-unknown-bsdi${UNAME_RELEASE} | ||
767 | - exit ;; | ||
768 | - *:BSD/OS:*:*) | ||
769 | - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} | ||
770 | - exit ;; | ||
771 | - *:FreeBSD:*:*) | ||
772 | - case ${UNAME_MACHINE} in | ||
773 | - pc98) | ||
774 | - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | ||
775 | - amd64) | ||
776 | - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | ||
777 | - *) | ||
778 | - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | ||
779 | - esac | ||
780 | - exit ;; | ||
781 | - i*:CYGWIN*:*) | ||
782 | - echo ${UNAME_MACHINE}-pc-cygwin | ||
783 | - exit ;; | ||
784 | - *:MINGW*:*) | ||
785 | - echo ${UNAME_MACHINE}-pc-mingw32 | ||
786 | - exit ;; | ||
787 | - i*:windows32*:*) | ||
788 | - # uname -m includes "-pc" on this system. | ||
789 | - echo ${UNAME_MACHINE}-mingw32 | ||
790 | - exit ;; | ||
791 | - i*:PW*:*) | ||
792 | - echo ${UNAME_MACHINE}-pc-pw32 | ||
793 | - exit ;; | ||
794 | - *:Interix*:[3456]*) | ||
795 | - case ${UNAME_MACHINE} in | ||
796 | - x86) | ||
797 | - echo i586-pc-interix${UNAME_RELEASE} | ||
798 | - exit ;; | ||
799 | - EM64T | authenticamd) | ||
800 | - echo x86_64-unknown-interix${UNAME_RELEASE} | ||
801 | - exit ;; | ||
802 | - IA64) | ||
803 | - echo ia64-unknown-interix${UNAME_RELEASE} | ||
804 | - exit ;; | ||
805 | - esac ;; | ||
806 | - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) | ||
807 | - echo i${UNAME_MACHINE}-pc-mks | ||
808 | - exit ;; | ||
809 | - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) | ||
810 | - # How do we know it's Interix rather than the generic POSIX subsystem? | ||
811 | - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we | ||
812 | - # UNAME_MACHINE based on the output of uname instead of i386? | ||
813 | - echo i586-pc-interix | ||
814 | - exit ;; | ||
815 | - i*:UWIN*:*) | ||
816 | - echo ${UNAME_MACHINE}-pc-uwin | ||
817 | - exit ;; | ||
818 | - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) | ||
819 | - echo x86_64-unknown-cygwin | ||
820 | - exit ;; | ||
821 | - p*:CYGWIN*:*) | ||
822 | - echo powerpcle-unknown-cygwin | ||
823 | - exit ;; | ||
824 | - prep*:SunOS:5.*:*) | ||
825 | - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | ||
826 | - exit ;; | ||
827 | - *:GNU:*:*) | ||
828 | - # the GNU system | ||
829 | - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` | ||
830 | - exit ;; | ||
831 | - *:GNU/*:*:*) | ||
832 | - # other systems with GNU libc and userland | ||
833 | - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu | ||
834 | - exit ;; | ||
835 | - i*86:Minix:*:*) | ||
836 | - echo ${UNAME_MACHINE}-pc-minix | ||
837 | - exit ;; | ||
838 | - arm*:Linux:*:*) | ||
839 | - eval $set_cc_for_build | ||
840 | - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | ||
841 | - | grep -q __ARM_EABI__ | ||
842 | - then | ||
843 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
844 | - else | ||
845 | - echo ${UNAME_MACHINE}-unknown-linux-gnueabi | ||
846 | - fi | ||
847 | - exit ;; | ||
848 | - avr32*:Linux:*:*) | ||
849 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
850 | - exit ;; | ||
851 | - cris:Linux:*:*) | ||
852 | - echo cris-axis-linux-gnu | ||
853 | - exit ;; | ||
854 | - crisv32:Linux:*:*) | ||
855 | - echo crisv32-axis-linux-gnu | ||
856 | - exit ;; | ||
857 | - frv:Linux:*:*) | ||
858 | - echo frv-unknown-linux-gnu | ||
859 | - exit ;; | ||
860 | - ia64:Linux:*:*) | ||
861 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
862 | - exit ;; | ||
863 | - m32r*:Linux:*:*) | ||
864 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
865 | - exit ;; | ||
866 | - m68*:Linux:*:*) | ||
867 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
868 | - exit ;; | ||
869 | - mips:Linux:*:*) | ||
870 | - eval $set_cc_for_build | ||
871 | - sed 's/^ //' << EOF >$dummy.c | ||
872 | - #undef CPU | ||
873 | - #undef mips | ||
874 | - #undef mipsel | ||
875 | - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) | ||
876 | - CPU=mipsel | ||
877 | - #else | ||
878 | - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) | ||
879 | - CPU=mips | ||
880 | - #else | ||
881 | - CPU= | ||
882 | - #endif | ||
883 | - #endif | ||
884 | -EOF | ||
885 | - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | ||
886 | - /^CPU/{ | ||
887 | - s: ::g | ||
888 | - p | ||
889 | - }'`" | ||
890 | - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | ||
891 | - ;; | ||
892 | - mips64:Linux:*:*) | ||
893 | - eval $set_cc_for_build | ||
894 | - sed 's/^ //' << EOF >$dummy.c | ||
895 | - #undef CPU | ||
896 | - #undef mips64 | ||
897 | - #undef mips64el | ||
898 | - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) | ||
899 | - CPU=mips64el | ||
900 | - #else | ||
901 | - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) | ||
902 | - CPU=mips64 | ||
903 | - #else | ||
904 | - CPU= | ||
905 | - #endif | ||
906 | - #endif | ||
907 | -EOF | ||
908 | - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | ||
909 | - /^CPU/{ | ||
910 | - s: ::g | ||
911 | - p | ||
912 | - }'`" | ||
913 | - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | ||
914 | - ;; | ||
915 | - or32:Linux:*:*) | ||
916 | - echo or32-unknown-linux-gnu | ||
917 | - exit ;; | ||
918 | - ppc:Linux:*:*) | ||
919 | - echo powerpc-unknown-linux-gnu | ||
920 | - exit ;; | ||
921 | - ppc64:Linux:*:*) | ||
922 | - echo powerpc64-unknown-linux-gnu | ||
923 | - exit ;; | ||
924 | - alpha:Linux:*:*) | ||
925 | - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | ||
926 | - EV5) UNAME_MACHINE=alphaev5 ;; | ||
927 | - EV56) UNAME_MACHINE=alphaev56 ;; | ||
928 | - PCA56) UNAME_MACHINE=alphapca56 ;; | ||
929 | - PCA57) UNAME_MACHINE=alphapca56 ;; | ||
930 | - EV6) UNAME_MACHINE=alphaev6 ;; | ||
931 | - EV67) UNAME_MACHINE=alphaev67 ;; | ||
932 | - EV68*) UNAME_MACHINE=alphaev68 ;; | ||
933 | - esac | ||
934 | - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null | ||
935 | - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | ||
936 | - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | ||
937 | - exit ;; | ||
938 | - parisc:Linux:*:* | hppa:Linux:*:*) | ||
939 | - # Look for CPU level | ||
940 | - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | ||
941 | - PA7*) echo hppa1.1-unknown-linux-gnu ;; | ||
942 | - PA8*) echo hppa2.0-unknown-linux-gnu ;; | ||
943 | - *) echo hppa-unknown-linux-gnu ;; | ||
944 | - esac | ||
945 | - exit ;; | ||
946 | - parisc64:Linux:*:* | hppa64:Linux:*:*) | ||
947 | - echo hppa64-unknown-linux-gnu | ||
948 | - exit ;; | ||
949 | - s390:Linux:*:* | s390x:Linux:*:*) | ||
950 | - echo ${UNAME_MACHINE}-ibm-linux | ||
951 | - exit ;; | ||
952 | - sh64*:Linux:*:*) | ||
953 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
954 | - exit ;; | ||
955 | - sh*:Linux:*:*) | ||
956 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
957 | - exit ;; | ||
958 | - sparc:Linux:*:* | sparc64:Linux:*:*) | ||
959 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
960 | - exit ;; | ||
961 | - vax:Linux:*:*) | ||
962 | - echo ${UNAME_MACHINE}-dec-linux-gnu | ||
963 | - exit ;; | ||
964 | - x86_64:Linux:*:*) | ||
965 | - echo x86_64-unknown-linux-gnu | ||
966 | - exit ;; | ||
967 | - xtensa*:Linux:*:*) | ||
968 | - echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
969 | - exit ;; | ||
970 | - i*86:Linux:*:*) | ||
971 | - # The BFD linker knows what the default object file format is, so | ||
972 | - # first see if it will tell us. cd to the root directory to prevent | ||
973 | - # problems with other programs or directories called `ld' in the path. | ||
974 | - # Set LC_ALL=C to ensure ld outputs messages in English. | ||
975 | - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | ||
976 | - | sed -ne '/supported targets:/!d | ||
977 | - s/[ ][ ]*/ /g | ||
978 | - s/.*supported targets: *// | ||
979 | - s/ .*// | ||
980 | - p'` | ||
981 | - case "$ld_supported_targets" in | ||
982 | - elf32-i386) | ||
983 | - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" | ||
984 | - ;; | ||
985 | - a.out-i386-linux) | ||
986 | - echo "${UNAME_MACHINE}-pc-linux-gnuaout" | ||
987 | - exit ;; | ||
988 | - coff-i386) | ||
989 | - echo "${UNAME_MACHINE}-pc-linux-gnucoff" | ||
990 | - exit ;; | ||
991 | - "") | ||
992 | - # Either a pre-BFD a.out linker (linux-gnuoldld) or | ||
993 | - # one that does not give us useful --help. | ||
994 | - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" | ||
995 | - exit ;; | ||
996 | - esac | ||
997 | - # Determine whether the default compiler is a.out or elf | ||
998 | - eval $set_cc_for_build | ||
999 | - sed 's/^ //' << EOF >$dummy.c | ||
1000 | - #include <features.h> | ||
1001 | - #ifdef __ELF__ | ||
1002 | - # ifdef __GLIBC__ | ||
1003 | - # if __GLIBC__ >= 2 | ||
1004 | - LIBC=gnu | ||
1005 | - # else | ||
1006 | - LIBC=gnulibc1 | ||
1007 | - # endif | ||
1008 | - # else | ||
1009 | - LIBC=gnulibc1 | ||
1010 | - # endif | ||
1011 | - #else | ||
1012 | - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) | ||
1013 | - LIBC=gnu | ||
1014 | - #else | ||
1015 | - LIBC=gnuaout | ||
1016 | - #endif | ||
1017 | - #endif | ||
1018 | - #ifdef __dietlibc__ | ||
1019 | - LIBC=dietlibc | ||
1020 | - #endif | ||
1021 | -EOF | ||
1022 | - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | ||
1023 | - /^LIBC/{ | ||
1024 | - s: ::g | ||
1025 | - p | ||
1026 | - }'`" | ||
1027 | - test x"${LIBC}" != x && { | ||
1028 | - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
1029 | - exit | ||
1030 | - } | ||
1031 | - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } | ||
1032 | - ;; | ||
1033 | - i*86:DYNIX/ptx:4*:*) | ||
1034 | - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | ||
1035 | - # earlier versions are messed up and put the nodename in both | ||
1036 | - # sysname and nodename. | ||
1037 | - echo i386-sequent-sysv4 | ||
1038 | - exit ;; | ||
1039 | - i*86:UNIX_SV:4.2MP:2.*) | ||
1040 | - # Unixware is an offshoot of SVR4, but it has its own version | ||
1041 | - # number series starting with 2... | ||
1042 | - # I am not positive that other SVR4 systems won't match this, | ||
1043 | - # I just have to hope. -- rms. | ||
1044 | - # Use sysv4.2uw... so that sysv4* matches it. | ||
1045 | - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} | ||
1046 | - exit ;; | ||
1047 | - i*86:OS/2:*:*) | ||
1048 | - # If we were able to find `uname', then EMX Unix compatibility | ||
1049 | - # is probably installed. | ||
1050 | - echo ${UNAME_MACHINE}-pc-os2-emx | ||
1051 | - exit ;; | ||
1052 | - i*86:XTS-300:*:STOP) | ||
1053 | - echo ${UNAME_MACHINE}-unknown-stop | ||
1054 | - exit ;; | ||
1055 | - i*86:atheos:*:*) | ||
1056 | - echo ${UNAME_MACHINE}-unknown-atheos | ||
1057 | - exit ;; | ||
1058 | - i*86:syllable:*:*) | ||
1059 | - echo ${UNAME_MACHINE}-pc-syllable | ||
1060 | - exit ;; | ||
1061 | - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) | ||
1062 | - echo i386-unknown-lynxos${UNAME_RELEASE} | ||
1063 | - exit ;; | ||
1064 | - i*86:*DOS:*:*) | ||
1065 | - echo ${UNAME_MACHINE}-pc-msdosdjgpp | ||
1066 | - exit ;; | ||
1067 | - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) | ||
1068 | - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` | ||
1069 | - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then | ||
1070 | - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} | ||
1071 | - else | ||
1072 | - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} | ||
1073 | - fi | ||
1074 | - exit ;; | ||
1075 | - i*86:*:5:[678]*) | ||
1076 | - # UnixWare 7.x, OpenUNIX and OpenServer 6. | ||
1077 | - case `/bin/uname -X | grep "^Machine"` in | ||
1078 | - *486*) UNAME_MACHINE=i486 ;; | ||
1079 | - *Pentium) UNAME_MACHINE=i586 ;; | ||
1080 | - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; | ||
1081 | - esac | ||
1082 | - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} | ||
1083 | - exit ;; | ||
1084 | - i*86:*:3.2:*) | ||
1085 | - if test -f /usr/options/cb.name; then | ||
1086 | - UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` | ||
1087 | - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL | ||
1088 | - elif /bin/uname -X 2>/dev/null >/dev/null ; then | ||
1089 | - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` | ||
1090 | - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 | ||
1091 | - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ | ||
1092 | - && UNAME_MACHINE=i586 | ||
1093 | - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ | ||
1094 | - && UNAME_MACHINE=i686 | ||
1095 | - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ | ||
1096 | - && UNAME_MACHINE=i686 | ||
1097 | - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL | ||
1098 | - else | ||
1099 | - echo ${UNAME_MACHINE}-pc-sysv32 | ||
1100 | - fi | ||
1101 | - exit ;; | ||
1102 | - pc:*:*:*) | ||
1103 | - # Left here for compatibility: | ||
1104 | - # uname -m prints for DJGPP always 'pc', but it prints nothing about | ||
1105 | - # the processor, so we play safe by assuming i386. | ||
1106 | - echo i386-pc-msdosdjgpp | ||
1107 | - exit ;; | ||
1108 | - Intel:Mach:3*:*) | ||
1109 | - echo i386-pc-mach3 | ||
1110 | - exit ;; | ||
1111 | - paragon:*:*:*) | ||
1112 | - echo i860-intel-osf1 | ||
1113 | - exit ;; | ||
1114 | - i860:*:4.*:*) # i860-SVR4 | ||
1115 | - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then | ||
1116 | - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 | ||
1117 | - else # Add other i860-SVR4 vendors below as they are discovered. | ||
1118 | - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 | ||
1119 | - fi | ||
1120 | - exit ;; | ||
1121 | - mini*:CTIX:SYS*5:*) | ||
1122 | - # "miniframe" | ||
1123 | - echo m68010-convergent-sysv | ||
1124 | - exit ;; | ||
1125 | - mc68k:UNIX:SYSTEM5:3.51m) | ||
1126 | - echo m68k-convergent-sysv | ||
1127 | - exit ;; | ||
1128 | - M680?0:D-NIX:5.3:*) | ||
1129 | - echo m68k-diab-dnix | ||
1130 | - exit ;; | ||
1131 | - M68*:*:R3V[5678]*:*) | ||
1132 | - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; | ||
1133 | - 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) | ||
1134 | - OS_REL='' | ||
1135 | - test -r /etc/.relid \ | ||
1136 | - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` | ||
1137 | - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | ||
1138 | - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | ||
1139 | - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ | ||
1140 | - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | ||
1141 | - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) | ||
1142 | - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | ||
1143 | - && { echo i486-ncr-sysv4; exit; } ;; | ||
1144 | - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) | ||
1145 | - echo m68k-unknown-lynxos${UNAME_RELEASE} | ||
1146 | - exit ;; | ||
1147 | - mc68030:UNIX_System_V:4.*:*) | ||
1148 | - echo m68k-atari-sysv4 | ||
1149 | - exit ;; | ||
1150 | - TSUNAMI:LynxOS:2.*:*) | ||
1151 | - echo sparc-unknown-lynxos${UNAME_RELEASE} | ||
1152 | - exit ;; | ||
1153 | - rs6000:LynxOS:2.*:*) | ||
1154 | - echo rs6000-unknown-lynxos${UNAME_RELEASE} | ||
1155 | - exit ;; | ||
1156 | - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) | ||
1157 | - echo powerpc-unknown-lynxos${UNAME_RELEASE} | ||
1158 | - exit ;; | ||
1159 | - SM[BE]S:UNIX_SV:*:*) | ||
1160 | - echo mips-dde-sysv${UNAME_RELEASE} | ||
1161 | - exit ;; | ||
1162 | - RM*:ReliantUNIX-*:*:*) | ||
1163 | - echo mips-sni-sysv4 | ||
1164 | - exit ;; | ||
1165 | - RM*:SINIX-*:*:*) | ||
1166 | - echo mips-sni-sysv4 | ||
1167 | - exit ;; | ||
1168 | - *:SINIX-*:*:*) | ||
1169 | - if uname -p 2>/dev/null >/dev/null ; then | ||
1170 | - UNAME_MACHINE=`(uname -p) 2>/dev/null` | ||
1171 | - echo ${UNAME_MACHINE}-sni-sysv4 | ||
1172 | - else | ||
1173 | - echo ns32k-sni-sysv | ||
1174 | - fi | ||
1175 | - exit ;; | ||
1176 | - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort | ||
1177 | - # says <Richard.M.Bartel@ccMail.Census.GOV> | ||
1178 | - echo i586-unisys-sysv4 | ||
1179 | - exit ;; | ||
1180 | - *:UNIX_System_V:4*:FTX*) | ||
1181 | - # From Gerald Hewes <hewes@openmarket.com>. | ||
1182 | - # How about differentiating between stratus architectures? -djm | ||
1183 | - echo hppa1.1-stratus-sysv4 | ||
1184 | - exit ;; | ||
1185 | - *:*:*:FTX*) | ||
1186 | - # From seanf@swdc.stratus.com. | ||
1187 | - echo i860-stratus-sysv4 | ||
1188 | - exit ;; | ||
1189 | - i*86:VOS:*:*) | ||
1190 | - # From Paul.Green@stratus.com. | ||
1191 | - echo ${UNAME_MACHINE}-stratus-vos | ||
1192 | - exit ;; | ||
1193 | - *:VOS:*:*) | ||
1194 | - # From Paul.Green@stratus.com. | ||
1195 | - echo hppa1.1-stratus-vos | ||
1196 | - exit ;; | ||
1197 | - mc68*:A/UX:*:*) | ||
1198 | - echo m68k-apple-aux${UNAME_RELEASE} | ||
1199 | - exit ;; | ||
1200 | - news*:NEWS-OS:6*:*) | ||
1201 | - echo mips-sony-newsos6 | ||
1202 | - exit ;; | ||
1203 | - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) | ||
1204 | - if [ -d /usr/nec ]; then | ||
1205 | - echo mips-nec-sysv${UNAME_RELEASE} | ||
1206 | - else | ||
1207 | - echo mips-unknown-sysv${UNAME_RELEASE} | ||
1208 | - fi | ||
1209 | - exit ;; | ||
1210 | - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. | ||
1211 | - echo powerpc-be-beos | ||
1212 | - exit ;; | ||
1213 | - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. | ||
1214 | - echo powerpc-apple-beos | ||
1215 | - exit ;; | ||
1216 | - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. | ||
1217 | - echo i586-pc-beos | ||
1218 | - exit ;; | ||
1219 | - SX-4:SUPER-UX:*:*) | ||
1220 | - echo sx4-nec-superux${UNAME_RELEASE} | ||
1221 | - exit ;; | ||
1222 | - SX-5:SUPER-UX:*:*) | ||
1223 | - echo sx5-nec-superux${UNAME_RELEASE} | ||
1224 | - exit ;; | ||
1225 | - SX-6:SUPER-UX:*:*) | ||
1226 | - echo sx6-nec-superux${UNAME_RELEASE} | ||
1227 | - exit ;; | ||
1228 | - SX-7:SUPER-UX:*:*) | ||
1229 | - echo sx7-nec-superux${UNAME_RELEASE} | ||
1230 | - exit ;; | ||
1231 | - SX-8:SUPER-UX:*:*) | ||
1232 | - echo sx8-nec-superux${UNAME_RELEASE} | ||
1233 | - exit ;; | ||
1234 | - SX-8R:SUPER-UX:*:*) | ||
1235 | - echo sx8r-nec-superux${UNAME_RELEASE} | ||
1236 | - exit ;; | ||
1237 | - Power*:Rhapsody:*:*) | ||
1238 | - echo powerpc-apple-rhapsody${UNAME_RELEASE} | ||
1239 | - exit ;; | ||
1240 | - *:Rhapsody:*:*) | ||
1241 | - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} | ||
1242 | - exit ;; | ||
1243 | - *:Darwin:*:*) | ||
1244 | - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | ||
1245 | - case $UNAME_PROCESSOR in | ||
1246 | - unknown) UNAME_PROCESSOR=powerpc ;; | ||
1247 | - esac | ||
1248 | - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | ||
1249 | - exit ;; | ||
1250 | - *:procnto*:*:* | *:QNX:[0123456789]*:*) | ||
1251 | - UNAME_PROCESSOR=`uname -p` | ||
1252 | - if test "$UNAME_PROCESSOR" = "x86"; then | ||
1253 | - UNAME_PROCESSOR=i386 | ||
1254 | - UNAME_MACHINE=pc | ||
1255 | - fi | ||
1256 | - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} | ||
1257 | - exit ;; | ||
1258 | - *:QNX:*:4*) | ||
1259 | - echo i386-pc-qnx | ||
1260 | - exit ;; | ||
1261 | - NSE-?:NONSTOP_KERNEL:*:*) | ||
1262 | - echo nse-tandem-nsk${UNAME_RELEASE} | ||
1263 | - exit ;; | ||
1264 | - NSR-?:NONSTOP_KERNEL:*:*) | ||
1265 | - echo nsr-tandem-nsk${UNAME_RELEASE} | ||
1266 | - exit ;; | ||
1267 | - *:NonStop-UX:*:*) | ||
1268 | - echo mips-compaq-nonstopux | ||
1269 | - exit ;; | ||
1270 | - BS2000:POSIX*:*:*) | ||
1271 | - echo bs2000-siemens-sysv | ||
1272 | - exit ;; | ||
1273 | - DS/*:UNIX_System_V:*:*) | ||
1274 | - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} | ||
1275 | - exit ;; | ||
1276 | - *:Plan9:*:*) | ||
1277 | - # "uname -m" is not consistent, so use $cputype instead. 386 | ||
1278 | - # is converted to i386 for consistency with other x86 | ||
1279 | - # operating systems. | ||
1280 | - if test "$cputype" = "386"; then | ||
1281 | - UNAME_MACHINE=i386 | ||
1282 | - else | ||
1283 | - UNAME_MACHINE="$cputype" | ||
1284 | - fi | ||
1285 | - echo ${UNAME_MACHINE}-unknown-plan9 | ||
1286 | - exit ;; | ||
1287 | - *:TOPS-10:*:*) | ||
1288 | - echo pdp10-unknown-tops10 | ||
1289 | - exit ;; | ||
1290 | - *:TENEX:*:*) | ||
1291 | - echo pdp10-unknown-tenex | ||
1292 | - exit ;; | ||
1293 | - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) | ||
1294 | - echo pdp10-dec-tops20 | ||
1295 | - exit ;; | ||
1296 | - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) | ||
1297 | - echo pdp10-xkl-tops20 | ||
1298 | - exit ;; | ||
1299 | - *:TOPS-20:*:*) | ||
1300 | - echo pdp10-unknown-tops20 | ||
1301 | - exit ;; | ||
1302 | - *:ITS:*:*) | ||
1303 | - echo pdp10-unknown-its | ||
1304 | - exit ;; | ||
1305 | - SEI:*:*:SEIUX) | ||
1306 | - echo mips-sei-seiux${UNAME_RELEASE} | ||
1307 | - exit ;; | ||
1308 | - *:DragonFly:*:*) | ||
1309 | - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` | ||
1310 | - exit ;; | ||
1311 | - *:*VMS:*:*) | ||
1312 | - UNAME_MACHINE=`(uname -p) 2>/dev/null` | ||
1313 | - case "${UNAME_MACHINE}" in | ||
1314 | - A*) echo alpha-dec-vms ; exit ;; | ||
1315 | - I*) echo ia64-dec-vms ; exit ;; | ||
1316 | - V*) echo vax-dec-vms ; exit ;; | ||
1317 | - esac ;; | ||
1318 | - *:XENIX:*:SysV) | ||
1319 | - echo i386-pc-xenix | ||
1320 | - exit ;; | ||
1321 | - i*86:skyos:*:*) | ||
1322 | - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' | ||
1323 | - exit ;; | ||
1324 | - i*86:rdos:*:*) | ||
1325 | - echo ${UNAME_MACHINE}-pc-rdos | ||
1326 | - exit ;; | ||
1327 | -esac | ||
1328 | - | ||
1329 | -#echo '(No uname command or uname output not recognized.)' 1>&2 | ||
1330 | -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 | ||
1331 | - | ||
1332 | -eval $set_cc_for_build | ||
1333 | -cat >$dummy.c <<EOF | ||
1334 | -#ifdef _SEQUENT_ | ||
1335 | -# include <sys/types.h> | ||
1336 | -# include <sys/utsname.h> | ||
1337 | -#endif | ||
1338 | -main () | ||
1339 | -{ | ||
1340 | -#if defined (sony) | ||
1341 | -#if defined (MIPSEB) | ||
1342 | - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, | ||
1343 | - I don't know.... */ | ||
1344 | - printf ("mips-sony-bsd\n"); exit (0); | ||
1345 | -#else | ||
1346 | -#include <sys/param.h> | ||
1347 | - printf ("m68k-sony-newsos%s\n", | ||
1348 | -#ifdef NEWSOS4 | ||
1349 | - "4" | ||
1350 | -#else | ||
1351 | - "" | ||
1352 | -#endif | ||
1353 | - ); exit (0); | ||
1354 | -#endif | ||
1355 | -#endif | ||
1356 | - | ||
1357 | -#if defined (__arm) && defined (__acorn) && defined (__unix) | ||
1358 | - printf ("arm-acorn-riscix\n"); exit (0); | ||
1359 | -#endif | ||
1360 | - | ||
1361 | -#if defined (hp300) && !defined (hpux) | ||
1362 | - printf ("m68k-hp-bsd\n"); exit (0); | ||
1363 | -#endif | ||
1364 | - | ||
1365 | -#if defined (NeXT) | ||
1366 | -#if !defined (__ARCHITECTURE__) | ||
1367 | -#define __ARCHITECTURE__ "m68k" | ||
1368 | -#endif | ||
1369 | - int version; | ||
1370 | - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; | ||
1371 | - if (version < 4) | ||
1372 | - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); | ||
1373 | - else | ||
1374 | - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); | ||
1375 | - exit (0); | ||
1376 | -#endif | ||
1377 | - | ||
1378 | -#if defined (MULTIMAX) || defined (n16) | ||
1379 | -#if defined (UMAXV) | ||
1380 | - printf ("ns32k-encore-sysv\n"); exit (0); | ||
1381 | -#else | ||
1382 | -#if defined (CMU) | ||
1383 | - printf ("ns32k-encore-mach\n"); exit (0); | ||
1384 | -#else | ||
1385 | - printf ("ns32k-encore-bsd\n"); exit (0); | ||
1386 | -#endif | ||
1387 | -#endif | ||
1388 | -#endif | ||
1389 | - | ||
1390 | -#if defined (__386BSD__) | ||
1391 | - printf ("i386-pc-bsd\n"); exit (0); | ||
1392 | -#endif | ||
1393 | - | ||
1394 | -#if defined (sequent) | ||
1395 | -#if defined (i386) | ||
1396 | - printf ("i386-sequent-dynix\n"); exit (0); | ||
1397 | -#endif | ||
1398 | -#if defined (ns32000) | ||
1399 | - printf ("ns32k-sequent-dynix\n"); exit (0); | ||
1400 | -#endif | ||
1401 | -#endif | ||
1402 | - | ||
1403 | -#if defined (_SEQUENT_) | ||
1404 | - struct utsname un; | ||
1405 | - | ||
1406 | - uname(&un); | ||
1407 | - | ||
1408 | - if (strncmp(un.version, "V2", 2) == 0) { | ||
1409 | - printf ("i386-sequent-ptx2\n"); exit (0); | ||
1410 | - } | ||
1411 | - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ | ||
1412 | - printf ("i386-sequent-ptx1\n"); exit (0); | ||
1413 | - } | ||
1414 | - printf ("i386-sequent-ptx\n"); exit (0); | ||
1415 | - | ||
1416 | -#endif | ||
1417 | - | ||
1418 | -#if defined (vax) | ||
1419 | -# if !defined (ultrix) | ||
1420 | -# include <sys/param.h> | ||
1421 | -# if defined (BSD) | ||
1422 | -# if BSD == 43 | ||
1423 | - printf ("vax-dec-bsd4.3\n"); exit (0); | ||
1424 | -# else | ||
1425 | -# if BSD == 199006 | ||
1426 | - printf ("vax-dec-bsd4.3reno\n"); exit (0); | ||
1427 | -# else | ||
1428 | - printf ("vax-dec-bsd\n"); exit (0); | ||
1429 | -# endif | ||
1430 | -# endif | ||
1431 | -# else | ||
1432 | - printf ("vax-dec-bsd\n"); exit (0); | ||
1433 | -# endif | ||
1434 | -# else | ||
1435 | - printf ("vax-dec-ultrix\n"); exit (0); | ||
1436 | -# endif | ||
1437 | -#endif | ||
1438 | - | ||
1439 | -#if defined (alliant) && defined (i860) | ||
1440 | - printf ("i860-alliant-bsd\n"); exit (0); | ||
1441 | -#endif | ||
1442 | - | ||
1443 | - exit (1); | ||
1444 | -} | ||
1445 | -EOF | ||
1446 | - | ||
1447 | -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && | ||
1448 | - { echo "$SYSTEM_NAME"; exit; } | ||
1449 | - | ||
1450 | -# Apollos put the system type in the environment. | ||
1451 | - | ||
1452 | -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } | ||
1453 | - | ||
1454 | -# Convex versions that predate uname can use getsysinfo(1) | ||
1455 | - | ||
1456 | -if [ -x /usr/convex/getsysinfo ] | ||
1457 | -then | ||
1458 | - case `getsysinfo -f cpu_type` in | ||
1459 | - c1*) | ||
1460 | - echo c1-convex-bsd | ||
1461 | - exit ;; | ||
1462 | - c2*) | ||
1463 | - if getsysinfo -f scalar_acc | ||
1464 | - then echo c32-convex-bsd | ||
1465 | - else echo c2-convex-bsd | ||
1466 | - fi | ||
1467 | - exit ;; | ||
1468 | - c34*) | ||
1469 | - echo c34-convex-bsd | ||
1470 | - exit ;; | ||
1471 | - c38*) | ||
1472 | - echo c38-convex-bsd | ||
1473 | - exit ;; | ||
1474 | - c4*) | ||
1475 | - echo c4-convex-bsd | ||
1476 | - exit ;; | ||
1477 | - esac | ||
1478 | -fi | ||
1479 | - | ||
1480 | -cat >&2 <<EOF | ||
1481 | -$0: unable to guess system type | ||
1482 | - | ||
1483 | -This script, last modified $timestamp, has failed to recognize | ||
1484 | -the operating system you are using. It is advised that you | ||
1485 | -download the most up to date version of the config scripts from | ||
1486 | - | ||
1487 | - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | ||
1488 | -and | ||
1489 | - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | ||
1490 | - | ||
1491 | -If the version you run ($0) is already up to date, please | ||
1492 | -send the following data and any information you think might be | ||
1493 | -pertinent to <config-patches@gnu.org> in order to provide the needed | ||
1494 | -information to handle your system. | ||
1495 | - | ||
1496 | -config.guess timestamp = $timestamp | ||
1497 | - | ||
1498 | -uname -m = `(uname -m) 2>/dev/null || echo unknown` | ||
1499 | -uname -r = `(uname -r) 2>/dev/null || echo unknown` | ||
1500 | -uname -s = `(uname -s) 2>/dev/null || echo unknown` | ||
1501 | -uname -v = `(uname -v) 2>/dev/null || echo unknown` | ||
1502 | - | ||
1503 | -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` | ||
1504 | -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` | ||
1505 | - | ||
1506 | -hostinfo = `(hostinfo) 2>/dev/null` | ||
1507 | -/bin/universe = `(/bin/universe) 2>/dev/null` | ||
1508 | -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` | ||
1509 | -/bin/arch = `(/bin/arch) 2>/dev/null` | ||
1510 | -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` | ||
1511 | -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` | ||
1512 | - | ||
1513 | -UNAME_MACHINE = ${UNAME_MACHINE} | ||
1514 | -UNAME_RELEASE = ${UNAME_RELEASE} | ||
1515 | -UNAME_SYSTEM = ${UNAME_SYSTEM} | ||
1516 | -UNAME_VERSION = ${UNAME_VERSION} | ||
1517 | -EOF | ||
1518 | - | ||
1519 | -exit 1 | ||
1520 | - | ||
1521 | -# Local variables: | ||
1522 | -# eval: (add-hook 'write-file-hooks 'time-stamp) | ||
1523 | -# time-stamp-start: "timestamp='" | ||
1524 | -# time-stamp-format: "%:y-%02m-%02d" | ||
1525 | -# time-stamp-end: "'" | ||
1526 | -# End: |
scripts/config.sub
@@ -1,1658 +0,0 @@ | @@ -1,1658 +0,0 @@ | ||
1 | -#! /bin/sh | ||
2 | -# Configuration validation subroutine script. | ||
3 | -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | ||
4 | -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 | ||
5 | -# Free Software Foundation, Inc. | ||
6 | - | ||
7 | -timestamp='2008-01-16' | ||
8 | - | ||
9 | -# This file is (in principle) common to ALL GNU software. | ||
10 | -# The presence of a machine in this file suggests that SOME GNU software | ||
11 | -# can handle that machine. It does not imply ALL GNU software can. | ||
12 | -# | ||
13 | -# This file is free software; you can redistribute it and/or modify | ||
14 | -# it under the terms of the GNU General Public License as published by | ||
15 | -# the Free Software Foundation; either version 2 of the License, or | ||
16 | -# (at your option) any later version. | ||
17 | -# | ||
18 | -# This program is distributed in the hope that it will be useful, | ||
19 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | -# GNU General Public License for more details. | ||
22 | -# | ||
23 | -# You should have received a copy of the GNU General Public License | ||
24 | -# along with this program; if not, write to the Free Software | ||
25 | -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | ||
26 | -# 02110-1301, USA. | ||
27 | -# | ||
28 | -# As a special exception to the GNU General Public License, if you | ||
29 | -# distribute this file as part of a program that contains a | ||
30 | -# configuration script generated by Autoconf, you may include it under | ||
31 | -# the same distribution terms that you use for the rest of that program. | ||
32 | - | ||
33 | - | ||
34 | -# Please send patches to <config-patches@gnu.org>. Submit a context | ||
35 | -# diff and a properly formatted ChangeLog entry. | ||
36 | -# | ||
37 | -# Configuration subroutine to validate and canonicalize a configuration type. | ||
38 | -# Supply the specified configuration type as an argument. | ||
39 | -# If it is invalid, we print an error message on stderr and exit with code 1. | ||
40 | -# Otherwise, we print the canonical config type on stdout and succeed. | ||
41 | - | ||
42 | -# This file is supposed to be the same for all GNU packages | ||
43 | -# and recognize all the CPU types, system types and aliases | ||
44 | -# that are meaningful with *any* GNU software. | ||
45 | -# Each package is responsible for reporting which valid configurations | ||
46 | -# it does not support. The user should be able to distinguish | ||
47 | -# a failure to support a valid configuration from a meaningless | ||
48 | -# configuration. | ||
49 | - | ||
50 | -# The goal of this file is to map all the various variations of a given | ||
51 | -# machine specification into a single specification in the form: | ||
52 | -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM | ||
53 | -# or in some cases, the newer four-part form: | ||
54 | -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM | ||
55 | -# It is wrong to echo any other type of specification. | ||
56 | - | ||
57 | -me=`echo "$0" | sed -e 's,.*/,,'` | ||
58 | - | ||
59 | -usage="\ | ||
60 | -Usage: $0 [OPTION] CPU-MFR-OPSYS | ||
61 | - $0 [OPTION] ALIAS | ||
62 | - | ||
63 | -Canonicalize a configuration name. | ||
64 | - | ||
65 | -Operation modes: | ||
66 | - -h, --help print this help, then exit | ||
67 | - -t, --time-stamp print date of last modification, then exit | ||
68 | - -v, --version print version number, then exit | ||
69 | - | ||
70 | -Report bugs and patches to <config-patches@gnu.org>." | ||
71 | - | ||
72 | -version="\ | ||
73 | -GNU config.sub ($timestamp) | ||
74 | - | ||
75 | -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | ||
76 | -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | ||
77 | - | ||
78 | -This is free software; see the source for copying conditions. There is NO | ||
79 | -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | ||
80 | - | ||
81 | -help=" | ||
82 | -Try \`$me --help' for more information." | ||
83 | - | ||
84 | -# Parse command line | ||
85 | -while test $# -gt 0 ; do | ||
86 | - case $1 in | ||
87 | - --time-stamp | --time* | -t ) | ||
88 | - echo "$timestamp" ; exit ;; | ||
89 | - --version | -v ) | ||
90 | - echo "$version" ; exit ;; | ||
91 | - --help | --h* | -h ) | ||
92 | - echo "$usage"; exit ;; | ||
93 | - -- ) # Stop option processing | ||
94 | - shift; break ;; | ||
95 | - - ) # Use stdin as input. | ||
96 | - break ;; | ||
97 | - -* ) | ||
98 | - echo "$me: invalid option $1$help" | ||
99 | - exit 1 ;; | ||
100 | - | ||
101 | - *local*) | ||
102 | - # First pass through any local machine types. | ||
103 | - echo $1 | ||
104 | - exit ;; | ||
105 | - | ||
106 | - * ) | ||
107 | - break ;; | ||
108 | - esac | ||
109 | -done | ||
110 | - | ||
111 | -case $# in | ||
112 | - 0) echo "$me: missing argument$help" >&2 | ||
113 | - exit 1;; | ||
114 | - 1) ;; | ||
115 | - *) echo "$me: too many arguments$help" >&2 | ||
116 | - exit 1;; | ||
117 | -esac | ||
118 | - | ||
119 | -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). | ||
120 | -# Here we must recognize all the valid KERNEL-OS combinations. | ||
121 | -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | ||
122 | -case $maybe_os in | ||
123 | - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ | ||
124 | - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ | ||
125 | - storm-chaos* | os2-emx* | rtmk-nova*) | ||
126 | - os=-$maybe_os | ||
127 | - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | ||
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) | ||
152 | - os= | ||
153 | - basic_machine=$1 | ||
154 | - ;; | ||
155 | - -sim | -cisco | -oki | -wec | -winbond) | ||
156 | - os= | ||
157 | - basic_machine=$1 | ||
158 | - ;; | ||
159 | - -scout) | ||
160 | - ;; | ||
161 | - -wrs) | ||
162 | - os=-vxworks | ||
163 | - basic_machine=$1 | ||
164 | - ;; | ||
165 | - -chorusos*) | ||
166 | - os=-chorusos | ||
167 | - basic_machine=$1 | ||
168 | - ;; | ||
169 | - -chorusrdb) | ||
170 | - os=-chorusrdb | ||
171 | - basic_machine=$1 | ||
172 | - ;; | ||
173 | - -hiux*) | ||
174 | - os=-hiuxwe2 | ||
175 | - ;; | ||
176 | - -sco6) | ||
177 | - os=-sco5v6 | ||
178 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
179 | - ;; | ||
180 | - -sco5) | ||
181 | - os=-sco3.2v5 | ||
182 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
183 | - ;; | ||
184 | - -sco4) | ||
185 | - os=-sco3.2v4 | ||
186 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
187 | - ;; | ||
188 | - -sco3.2.[4-9]*) | ||
189 | - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` | ||
190 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
191 | - ;; | ||
192 | - -sco3.2v[4-9]*) | ||
193 | - # Don't forget version if it is 3.2v4 or newer. | ||
194 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
195 | - ;; | ||
196 | - -sco5v6*) | ||
197 | - # Don't forget version if it is 3.2v4 or newer. | ||
198 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
199 | - ;; | ||
200 | - -sco*) | ||
201 | - os=-sco3.2v2 | ||
202 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
203 | - ;; | ||
204 | - -udk*) | ||
205 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
206 | - ;; | ||
207 | - -isc) | ||
208 | - os=-isc2.2 | ||
209 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
210 | - ;; | ||
211 | - -clix*) | ||
212 | - basic_machine=clipper-intergraph | ||
213 | - ;; | ||
214 | - -isc*) | ||
215 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | ||
216 | - ;; | ||
217 | - -lynx*) | ||
218 | - os=-lynxos | ||
219 | - ;; | ||
220 | - -ptx*) | ||
221 | - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` | ||
222 | - ;; | ||
223 | - -windowsnt*) | ||
224 | - os=`echo $os | sed -e 's/windowsnt/winnt/'` | ||
225 | - ;; | ||
226 | - -psos*) | ||
227 | - os=-psos | ||
228 | - ;; | ||
229 | - -mint | -mint[0-9]*) | ||
230 | - basic_machine=m68k-atari | ||
231 | - os=-mint | ||
232 | - ;; | ||
233 | -esac | ||
234 | - | ||
235 | -# Decode aliases for certain CPU-COMPANY combinations. | ||
236 | -case $basic_machine in | ||
237 | - # Recognize the basic CPU types without company name. | ||
238 | - # Some are omitted here because they have special meanings below. | ||
239 | - 1750a | 580 \ | ||
240 | - | a29k \ | ||
241 | - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | ||
242 | - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | ||
243 | - | am33_2.0 \ | ||
244 | - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | ||
245 | - | bfin \ | ||
246 | - | c4x | clipper \ | ||
247 | - | d10v | d30v | dlx | dsp16xx \ | ||
248 | - | fido | fr30 | frv \ | ||
249 | - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | ||
250 | - | i370 | i860 | i960 | ia64 \ | ||
251 | - | ip2k | iq2000 \ | ||
252 | - | m32c | m32r | m32rle | m68000 | m68k | m88k \ | ||
253 | - | maxq | mb | microblaze | mcore | mep \ | ||
254 | - | mips | mipsbe | mipseb | mipsel | mipsle \ | ||
255 | - | mips16 \ | ||
256 | - | mips64 | mips64el \ | ||
257 | - | mips64vr | mips64vrel \ | ||
258 | - | mips64orion | mips64orionel \ | ||
259 | - | mips64vr4100 | mips64vr4100el \ | ||
260 | - | mips64vr4300 | mips64vr4300el \ | ||
261 | - | mips64vr5000 | mips64vr5000el \ | ||
262 | - | mips64vr5900 | mips64vr5900el \ | ||
263 | - | mipsisa32 | mipsisa32el \ | ||
264 | - | mipsisa32r2 | mipsisa32r2el \ | ||
265 | - | mipsisa64 | mipsisa64el \ | ||
266 | - | mipsisa64r2 | mipsisa64r2el \ | ||
267 | - | mipsisa64sb1 | mipsisa64sb1el \ | ||
268 | - | mipsisa64sr71k | mipsisa64sr71kel \ | ||
269 | - | mipstx39 | mipstx39el \ | ||
270 | - | mn10200 | mn10300 \ | ||
271 | - | mt \ | ||
272 | - | msp430 \ | ||
273 | - | nios | nios2 \ | ||
274 | - | ns16k | ns32k \ | ||
275 | - | or32 \ | ||
276 | - | pdp10 | pdp11 | pj | pjl \ | ||
277 | - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | ||
278 | - | pyramid \ | ||
279 | - | score \ | ||
280 | - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | ||
281 | - | sh64 | sh64le \ | ||
282 | - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | ||
283 | - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | ||
284 | - | spu | strongarm \ | ||
285 | - | tahoe | thumb | tic4x | tic80 | tron \ | ||
286 | - | v850 | v850e \ | ||
287 | - | we32k \ | ||
288 | - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | ||
289 | - | z8k) | ||
290 | - basic_machine=$basic_machine-unknown | ||
291 | - ;; | ||
292 | - m6811 | m68hc11 | m6812 | m68hc12) | ||
293 | - # Motorola 68HC11/12. | ||
294 | - basic_machine=$basic_machine-unknown | ||
295 | - os=-none | ||
296 | - ;; | ||
297 | - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) | ||
298 | - ;; | ||
299 | - ms1) | ||
300 | - basic_machine=mt-unknown | ||
301 | - ;; | ||
302 | - | ||
303 | - # We use `pc' rather than `unknown' | ||
304 | - # because (1) that's what they normally are, and | ||
305 | - # (2) the word "unknown" tends to confuse beginning users. | ||
306 | - i*86 | x86_64) | ||
307 | - basic_machine=$basic_machine-pc | ||
308 | - ;; | ||
309 | - # Object if more than one company name word. | ||
310 | - *-*-*) | ||
311 | - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | ||
312 | - exit 1 | ||
313 | - ;; | ||
314 | - # Recognize the basic CPU types with company name. | ||
315 | - 580-* \ | ||
316 | - | a29k-* \ | ||
317 | - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | ||
318 | - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | ||
319 | - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | ||
320 | - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | ||
321 | - | avr-* | avr32-* \ | ||
322 | - | bfin-* | bs2000-* \ | ||
323 | - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | ||
324 | - | clipper-* | craynv-* | cydra-* \ | ||
325 | - | d10v-* | d30v-* | dlx-* \ | ||
326 | - | elxsi-* \ | ||
327 | - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | ||
328 | - | h8300-* | h8500-* \ | ||
329 | - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | ||
330 | - | i*86-* | i860-* | i960-* | ia64-* \ | ||
331 | - | ip2k-* | iq2000-* \ | ||
332 | - | m32c-* | m32r-* | m32rle-* \ | ||
333 | - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | ||
334 | - | m88110-* | m88k-* | maxq-* | mcore-* \ | ||
335 | - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | ||
336 | - | mips16-* \ | ||
337 | - | mips64-* | mips64el-* \ | ||
338 | - | mips64vr-* | mips64vrel-* \ | ||
339 | - | mips64orion-* | mips64orionel-* \ | ||
340 | - | mips64vr4100-* | mips64vr4100el-* \ | ||
341 | - | mips64vr4300-* | mips64vr4300el-* \ | ||
342 | - | mips64vr5000-* | mips64vr5000el-* \ | ||
343 | - | mips64vr5900-* | mips64vr5900el-* \ | ||
344 | - | mipsisa32-* | mipsisa32el-* \ | ||
345 | - | mipsisa32r2-* | mipsisa32r2el-* \ | ||
346 | - | mipsisa64-* | mipsisa64el-* \ | ||
347 | - | mipsisa64r2-* | mipsisa64r2el-* \ | ||
348 | - | mipsisa64sb1-* | mipsisa64sb1el-* \ | ||
349 | - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | ||
350 | - | mipstx39-* | mipstx39el-* \ | ||
351 | - | mmix-* \ | ||
352 | - | mt-* \ | ||
353 | - | msp430-* \ | ||
354 | - | nios-* | nios2-* \ | ||
355 | - | none-* | np1-* | ns16k-* | ns32k-* \ | ||
356 | - | orion-* \ | ||
357 | - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | ||
358 | - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | ||
359 | - | pyramid-* \ | ||
360 | - | romp-* | rs6000-* \ | ||
361 | - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | ||
362 | - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | ||
363 | - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | ||
364 | - | sparclite-* \ | ||
365 | - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | ||
366 | - | tahoe-* | thumb-* \ | ||
367 | - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | ||
368 | - | tron-* \ | ||
369 | - | v850-* | v850e-* | vax-* \ | ||
370 | - | we32k-* \ | ||
371 | - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | ||
372 | - | xstormy16-* | xtensa*-* \ | ||
373 | - | ymp-* \ | ||
374 | - | z8k-*) | ||
375 | - ;; | ||
376 | - # Recognize the basic CPU types without company name, with glob match. | ||
377 | - xtensa*) | ||
378 | - basic_machine=$basic_machine-unknown | ||
379 | - ;; | ||
380 | - # Recognize the various machine names and aliases which stand | ||
381 | - # for a CPU type and a company and sometimes even an OS. | ||
382 | - 386bsd) | ||
383 | - basic_machine=i386-unknown | ||
384 | - os=-bsd | ||
385 | - ;; | ||
386 | - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) | ||
387 | - basic_machine=m68000-att | ||
388 | - ;; | ||
389 | - 3b*) | ||
390 | - basic_machine=we32k-att | ||
391 | - ;; | ||
392 | - a29khif) | ||
393 | - basic_machine=a29k-amd | ||
394 | - os=-udi | ||
395 | - ;; | ||
396 | - abacus) | ||
397 | - basic_machine=abacus-unknown | ||
398 | - ;; | ||
399 | - adobe68k) | ||
400 | - basic_machine=m68010-adobe | ||
401 | - os=-scout | ||
402 | - ;; | ||
403 | - alliant | fx80) | ||
404 | - basic_machine=fx80-alliant | ||
405 | - ;; | ||
406 | - altos | altos3068) | ||
407 | - basic_machine=m68k-altos | ||
408 | - ;; | ||
409 | - am29k) | ||
410 | - basic_machine=a29k-none | ||
411 | - os=-bsd | ||
412 | - ;; | ||
413 | - amd64) | ||
414 | - basic_machine=x86_64-pc | ||
415 | - ;; | ||
416 | - amd64-*) | ||
417 | - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
418 | - ;; | ||
419 | - amdahl) | ||
420 | - basic_machine=580-amdahl | ||
421 | - os=-sysv | ||
422 | - ;; | ||
423 | - amiga | amiga-*) | ||
424 | - basic_machine=m68k-unknown | ||
425 | - ;; | ||
426 | - amigaos | amigados) | ||
427 | - basic_machine=m68k-unknown | ||
428 | - os=-amigaos | ||
429 | - ;; | ||
430 | - amigaunix | amix) | ||
431 | - basic_machine=m68k-unknown | ||
432 | - os=-sysv4 | ||
433 | - ;; | ||
434 | - apollo68) | ||
435 | - basic_machine=m68k-apollo | ||
436 | - os=-sysv | ||
437 | - ;; | ||
438 | - apollo68bsd) | ||
439 | - basic_machine=m68k-apollo | ||
440 | - os=-bsd | ||
441 | - ;; | ||
442 | - aux) | ||
443 | - basic_machine=m68k-apple | ||
444 | - os=-aux | ||
445 | - ;; | ||
446 | - balance) | ||
447 | - basic_machine=ns32k-sequent | ||
448 | - os=-dynix | ||
449 | - ;; | ||
450 | - blackfin) | ||
451 | - basic_machine=bfin-unknown | ||
452 | - os=-linux | ||
453 | - ;; | ||
454 | - blackfin-*) | ||
455 | - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
456 | - os=-linux | ||
457 | - ;; | ||
458 | - c90) | ||
459 | - basic_machine=c90-cray | ||
460 | - os=-unicos | ||
461 | - ;; | ||
462 | - convex-c1) | ||
463 | - basic_machine=c1-convex | ||
464 | - os=-bsd | ||
465 | - ;; | ||
466 | - convex-c2) | ||
467 | - basic_machine=c2-convex | ||
468 | - os=-bsd | ||
469 | - ;; | ||
470 | - convex-c32) | ||
471 | - basic_machine=c32-convex | ||
472 | - os=-bsd | ||
473 | - ;; | ||
474 | - convex-c34) | ||
475 | - basic_machine=c34-convex | ||
476 | - os=-bsd | ||
477 | - ;; | ||
478 | - convex-c38) | ||
479 | - basic_machine=c38-convex | ||
480 | - os=-bsd | ||
481 | - ;; | ||
482 | - cray | j90) | ||
483 | - basic_machine=j90-cray | ||
484 | - os=-unicos | ||
485 | - ;; | ||
486 | - craynv) | ||
487 | - basic_machine=craynv-cray | ||
488 | - os=-unicosmp | ||
489 | - ;; | ||
490 | - cr16) | ||
491 | - basic_machine=cr16-unknown | ||
492 | - os=-elf | ||
493 | - ;; | ||
494 | - crds | unos) | ||
495 | - basic_machine=m68k-crds | ||
496 | - ;; | ||
497 | - crisv32 | crisv32-* | etraxfs*) | ||
498 | - basic_machine=crisv32-axis | ||
499 | - ;; | ||
500 | - cris | cris-* | etrax*) | ||
501 | - basic_machine=cris-axis | ||
502 | - ;; | ||
503 | - crx) | ||
504 | - basic_machine=crx-unknown | ||
505 | - os=-elf | ||
506 | - ;; | ||
507 | - da30 | da30-*) | ||
508 | - basic_machine=m68k-da30 | ||
509 | - ;; | ||
510 | - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) | ||
511 | - basic_machine=mips-dec | ||
512 | - ;; | ||
513 | - decsystem10* | dec10*) | ||
514 | - basic_machine=pdp10-dec | ||
515 | - os=-tops10 | ||
516 | - ;; | ||
517 | - decsystem20* | dec20*) | ||
518 | - basic_machine=pdp10-dec | ||
519 | - os=-tops20 | ||
520 | - ;; | ||
521 | - delta | 3300 | motorola-3300 | motorola-delta \ | ||
522 | - | 3300-motorola | delta-motorola) | ||
523 | - basic_machine=m68k-motorola | ||
524 | - ;; | ||
525 | - delta88) | ||
526 | - basic_machine=m88k-motorola | ||
527 | - os=-sysv3 | ||
528 | - ;; | ||
529 | - djgpp) | ||
530 | - basic_machine=i586-pc | ||
531 | - os=-msdosdjgpp | ||
532 | - ;; | ||
533 | - dpx20 | dpx20-*) | ||
534 | - basic_machine=rs6000-bull | ||
535 | - os=-bosx | ||
536 | - ;; | ||
537 | - dpx2* | dpx2*-bull) | ||
538 | - basic_machine=m68k-bull | ||
539 | - os=-sysv3 | ||
540 | - ;; | ||
541 | - ebmon29k) | ||
542 | - basic_machine=a29k-amd | ||
543 | - os=-ebmon | ||
544 | - ;; | ||
545 | - elxsi) | ||
546 | - basic_machine=elxsi-elxsi | ||
547 | - os=-bsd | ||
548 | - ;; | ||
549 | - encore | umax | mmax) | ||
550 | - basic_machine=ns32k-encore | ||
551 | - ;; | ||
552 | - es1800 | OSE68k | ose68k | ose | OSE) | ||
553 | - basic_machine=m68k-ericsson | ||
554 | - os=-ose | ||
555 | - ;; | ||
556 | - fx2800) | ||
557 | - basic_machine=i860-alliant | ||
558 | - ;; | ||
559 | - genix) | ||
560 | - basic_machine=ns32k-ns | ||
561 | - ;; | ||
562 | - gmicro) | ||
563 | - basic_machine=tron-gmicro | ||
564 | - os=-sysv | ||
565 | - ;; | ||
566 | - go32) | ||
567 | - basic_machine=i386-pc | ||
568 | - os=-go32 | ||
569 | - ;; | ||
570 | - h3050r* | hiux*) | ||
571 | - basic_machine=hppa1.1-hitachi | ||
572 | - os=-hiuxwe2 | ||
573 | - ;; | ||
574 | - h8300hms) | ||
575 | - basic_machine=h8300-hitachi | ||
576 | - os=-hms | ||
577 | - ;; | ||
578 | - h8300xray) | ||
579 | - basic_machine=h8300-hitachi | ||
580 | - os=-xray | ||
581 | - ;; | ||
582 | - h8500hms) | ||
583 | - basic_machine=h8500-hitachi | ||
584 | - os=-hms | ||
585 | - ;; | ||
586 | - harris) | ||
587 | - basic_machine=m88k-harris | ||
588 | - os=-sysv3 | ||
589 | - ;; | ||
590 | - hp300-*) | ||
591 | - basic_machine=m68k-hp | ||
592 | - ;; | ||
593 | - hp300bsd) | ||
594 | - basic_machine=m68k-hp | ||
595 | - os=-bsd | ||
596 | - ;; | ||
597 | - hp300hpux) | ||
598 | - basic_machine=m68k-hp | ||
599 | - os=-hpux | ||
600 | - ;; | ||
601 | - hp3k9[0-9][0-9] | hp9[0-9][0-9]) | ||
602 | - basic_machine=hppa1.0-hp | ||
603 | - ;; | ||
604 | - hp9k2[0-9][0-9] | hp9k31[0-9]) | ||
605 | - basic_machine=m68000-hp | ||
606 | - ;; | ||
607 | - hp9k3[2-9][0-9]) | ||
608 | - basic_machine=m68k-hp | ||
609 | - ;; | ||
610 | - hp9k6[0-9][0-9] | hp6[0-9][0-9]) | ||
611 | - basic_machine=hppa1.0-hp | ||
612 | - ;; | ||
613 | - hp9k7[0-79][0-9] | hp7[0-79][0-9]) | ||
614 | - basic_machine=hppa1.1-hp | ||
615 | - ;; | ||
616 | - hp9k78[0-9] | hp78[0-9]) | ||
617 | - # FIXME: really hppa2.0-hp | ||
618 | - basic_machine=hppa1.1-hp | ||
619 | - ;; | ||
620 | - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) | ||
621 | - # FIXME: really hppa2.0-hp | ||
622 | - basic_machine=hppa1.1-hp | ||
623 | - ;; | ||
624 | - hp9k8[0-9][13679] | hp8[0-9][13679]) | ||
625 | - basic_machine=hppa1.1-hp | ||
626 | - ;; | ||
627 | - hp9k8[0-9][0-9] | hp8[0-9][0-9]) | ||
628 | - basic_machine=hppa1.0-hp | ||
629 | - ;; | ||
630 | - hppa-next) | ||
631 | - os=-nextstep3 | ||
632 | - ;; | ||
633 | - hppaosf) | ||
634 | - basic_machine=hppa1.1-hp | ||
635 | - os=-osf | ||
636 | - ;; | ||
637 | - hppro) | ||
638 | - basic_machine=hppa1.1-hp | ||
639 | - os=-proelf | ||
640 | - ;; | ||
641 | - i370-ibm* | ibm*) | ||
642 | - basic_machine=i370-ibm | ||
643 | - ;; | ||
644 | -# I'm not sure what "Sysv32" means. Should this be sysv3.2? | ||
645 | - i*86v32) | ||
646 | - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | ||
647 | - os=-sysv32 | ||
648 | - ;; | ||
649 | - i*86v4*) | ||
650 | - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | ||
651 | - os=-sysv4 | ||
652 | - ;; | ||
653 | - i*86v) | ||
654 | - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | ||
655 | - os=-sysv | ||
656 | - ;; | ||
657 | - i*86sol2) | ||
658 | - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | ||
659 | - os=-solaris2 | ||
660 | - ;; | ||
661 | - i386mach) | ||
662 | - basic_machine=i386-mach | ||
663 | - os=-mach | ||
664 | - ;; | ||
665 | - i386-vsta | vsta) | ||
666 | - basic_machine=i386-unknown | ||
667 | - os=-vsta | ||
668 | - ;; | ||
669 | - iris | iris4d) | ||
670 | - basic_machine=mips-sgi | ||
671 | - case $os in | ||
672 | - -irix*) | ||
673 | - ;; | ||
674 | - *) | ||
675 | - os=-irix4 | ||
676 | - ;; | ||
677 | - esac | ||
678 | - ;; | ||
679 | - isi68 | isi) | ||
680 | - basic_machine=m68k-isi | ||
681 | - os=-sysv | ||
682 | - ;; | ||
683 | - m68knommu) | ||
684 | - basic_machine=m68k-unknown | ||
685 | - os=-linux | ||
686 | - ;; | ||
687 | - m68knommu-*) | ||
688 | - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
689 | - os=-linux | ||
690 | - ;; | ||
691 | - m88k-omron*) | ||
692 | - basic_machine=m88k-omron | ||
693 | - ;; | ||
694 | - magnum | m3230) | ||
695 | - basic_machine=mips-mips | ||
696 | - os=-sysv | ||
697 | - ;; | ||
698 | - merlin) | ||
699 | - basic_machine=ns32k-utek | ||
700 | - os=-sysv | ||
701 | - ;; | ||
702 | - mingw32) | ||
703 | - basic_machine=i386-pc | ||
704 | - os=-mingw32 | ||
705 | - ;; | ||
706 | - mingw32ce) | ||
707 | - basic_machine=arm-unknown | ||
708 | - os=-mingw32ce | ||
709 | - ;; | ||
710 | - miniframe) | ||
711 | - basic_machine=m68000-convergent | ||
712 | - ;; | ||
713 | - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) | ||
714 | - basic_machine=m68k-atari | ||
715 | - os=-mint | ||
716 | - ;; | ||
717 | - mips3*-*) | ||
718 | - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` | ||
719 | - ;; | ||
720 | - mips3*) | ||
721 | - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown | ||
722 | - ;; | ||
723 | - monitor) | ||
724 | - basic_machine=m68k-rom68k | ||
725 | - os=-coff | ||
726 | - ;; | ||
727 | - morphos) | ||
728 | - basic_machine=powerpc-unknown | ||
729 | - os=-morphos | ||
730 | - ;; | ||
731 | - msdos) | ||
732 | - basic_machine=i386-pc | ||
733 | - os=-msdos | ||
734 | - ;; | ||
735 | - ms1-*) | ||
736 | - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` | ||
737 | - ;; | ||
738 | - mvs) | ||
739 | - basic_machine=i370-ibm | ||
740 | - os=-mvs | ||
741 | - ;; | ||
742 | - ncr3000) | ||
743 | - basic_machine=i486-ncr | ||
744 | - os=-sysv4 | ||
745 | - ;; | ||
746 | - netbsd386) | ||
747 | - basic_machine=i386-unknown | ||
748 | - os=-netbsd | ||
749 | - ;; | ||
750 | - netwinder) | ||
751 | - basic_machine=armv4l-rebel | ||
752 | - os=-linux | ||
753 | - ;; | ||
754 | - news | news700 | news800 | news900) | ||
755 | - basic_machine=m68k-sony | ||
756 | - os=-newsos | ||
757 | - ;; | ||
758 | - news1000) | ||
759 | - basic_machine=m68030-sony | ||
760 | - os=-newsos | ||
761 | - ;; | ||
762 | - news-3600 | risc-news) | ||
763 | - basic_machine=mips-sony | ||
764 | - os=-newsos | ||
765 | - ;; | ||
766 | - necv70) | ||
767 | - basic_machine=v70-nec | ||
768 | - os=-sysv | ||
769 | - ;; | ||
770 | - next | m*-next ) | ||
771 | - basic_machine=m68k-next | ||
772 | - case $os in | ||
773 | - -nextstep* ) | ||
774 | - ;; | ||
775 | - -ns2*) | ||
776 | - os=-nextstep2 | ||
777 | - ;; | ||
778 | - *) | ||
779 | - os=-nextstep3 | ||
780 | - ;; | ||
781 | - esac | ||
782 | - ;; | ||
783 | - nh3000) | ||
784 | - basic_machine=m68k-harris | ||
785 | - os=-cxux | ||
786 | - ;; | ||
787 | - nh[45]000) | ||
788 | - basic_machine=m88k-harris | ||
789 | - os=-cxux | ||
790 | - ;; | ||
791 | - nindy960) | ||
792 | - basic_machine=i960-intel | ||
793 | - os=-nindy | ||
794 | - ;; | ||
795 | - mon960) | ||
796 | - basic_machine=i960-intel | ||
797 | - os=-mon960 | ||
798 | - ;; | ||
799 | - nonstopux) | ||
800 | - basic_machine=mips-compaq | ||
801 | - os=-nonstopux | ||
802 | - ;; | ||
803 | - np1) | ||
804 | - basic_machine=np1-gould | ||
805 | - ;; | ||
806 | - nsr-tandem) | ||
807 | - basic_machine=nsr-tandem | ||
808 | - ;; | ||
809 | - op50n-* | op60c-*) | ||
810 | - basic_machine=hppa1.1-oki | ||
811 | - os=-proelf | ||
812 | - ;; | ||
813 | - openrisc | openrisc-*) | ||
814 | - basic_machine=or32-unknown | ||
815 | - ;; | ||
816 | - os400) | ||
817 | - basic_machine=powerpc-ibm | ||
818 | - os=-os400 | ||
819 | - ;; | ||
820 | - OSE68000 | ose68000) | ||
821 | - basic_machine=m68000-ericsson | ||
822 | - os=-ose | ||
823 | - ;; | ||
824 | - os68k) | ||
825 | - basic_machine=m68k-none | ||
826 | - os=-os68k | ||
827 | - ;; | ||
828 | - pa-hitachi) | ||
829 | - basic_machine=hppa1.1-hitachi | ||
830 | - os=-hiuxwe2 | ||
831 | - ;; | ||
832 | - paragon) | ||
833 | - basic_machine=i860-intel | ||
834 | - os=-osf | ||
835 | - ;; | ||
836 | - parisc) | ||
837 | - basic_machine=hppa-unknown | ||
838 | - os=-linux | ||
839 | - ;; | ||
840 | - parisc-*) | ||
841 | - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
842 | - os=-linux | ||
843 | - ;; | ||
844 | - pbd) | ||
845 | - basic_machine=sparc-tti | ||
846 | - ;; | ||
847 | - pbb) | ||
848 | - basic_machine=m68k-tti | ||
849 | - ;; | ||
850 | - pc532 | pc532-*) | ||
851 | - basic_machine=ns32k-pc532 | ||
852 | - ;; | ||
853 | - pc98) | ||
854 | - basic_machine=i386-pc | ||
855 | - ;; | ||
856 | - pc98-*) | ||
857 | - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
858 | - ;; | ||
859 | - pentium | p5 | k5 | k6 | nexgen | viac3) | ||
860 | - basic_machine=i586-pc | ||
861 | - ;; | ||
862 | - pentiumpro | p6 | 6x86 | athlon | athlon_*) | ||
863 | - basic_machine=i686-pc | ||
864 | - ;; | ||
865 | - pentiumii | pentium2 | pentiumiii | pentium3) | ||
866 | - basic_machine=i686-pc | ||
867 | - ;; | ||
868 | - pentium4) | ||
869 | - basic_machine=i786-pc | ||
870 | - ;; | ||
871 | - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) | ||
872 | - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
873 | - ;; | ||
874 | - pentiumpro-* | p6-* | 6x86-* | athlon-*) | ||
875 | - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
876 | - ;; | ||
877 | - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) | ||
878 | - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
879 | - ;; | ||
880 | - pentium4-*) | ||
881 | - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
882 | - ;; | ||
883 | - pn) | ||
884 | - basic_machine=pn-gould | ||
885 | - ;; | ||
886 | - power) basic_machine=power-ibm | ||
887 | - ;; | ||
888 | - ppc) basic_machine=powerpc-unknown | ||
889 | - ;; | ||
890 | - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
891 | - ;; | ||
892 | - ppcle | powerpclittle | ppc-le | powerpc-little) | ||
893 | - basic_machine=powerpcle-unknown | ||
894 | - ;; | ||
895 | - ppcle-* | powerpclittle-*) | ||
896 | - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
897 | - ;; | ||
898 | - ppc64) basic_machine=powerpc64-unknown | ||
899 | - ;; | ||
900 | - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
901 | - ;; | ||
902 | - ppc64le | powerpc64little | ppc64-le | powerpc64-little) | ||
903 | - basic_machine=powerpc64le-unknown | ||
904 | - ;; | ||
905 | - ppc64le-* | powerpc64little-*) | ||
906 | - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` | ||
907 | - ;; | ||
908 | - ps2) | ||
909 | - basic_machine=i386-ibm | ||
910 | - ;; | ||
911 | - pw32) | ||
912 | - basic_machine=i586-unknown | ||
913 | - os=-pw32 | ||
914 | - ;; | ||
915 | - rdos) | ||
916 | - basic_machine=i386-pc | ||
917 | - os=-rdos | ||
918 | - ;; | ||
919 | - rom68k) | ||
920 | - basic_machine=m68k-rom68k | ||
921 | - os=-coff | ||
922 | - ;; | ||
923 | - rm[46]00) | ||
924 | - basic_machine=mips-siemens | ||
925 | - ;; | ||
926 | - rtpc | rtpc-*) | ||
927 | - basic_machine=romp-ibm | ||
928 | - ;; | ||
929 | - s390 | s390-*) | ||
930 | - basic_machine=s390-ibm | ||
931 | - ;; | ||
932 | - s390x | s390x-*) | ||
933 | - basic_machine=s390x-ibm | ||
934 | - ;; | ||
935 | - sa29200) | ||
936 | - basic_machine=a29k-amd | ||
937 | - os=-udi | ||
938 | - ;; | ||
939 | - sb1) | ||
940 | - basic_machine=mipsisa64sb1-unknown | ||
941 | - ;; | ||
942 | - sb1el) | ||
943 | - basic_machine=mipsisa64sb1el-unknown | ||
944 | - ;; | ||
945 | - sde) | ||
946 | - basic_machine=mipsisa32-sde | ||
947 | - os=-elf | ||
948 | - ;; | ||
949 | - sei) | ||
950 | - basic_machine=mips-sei | ||
951 | - os=-seiux | ||
952 | - ;; | ||
953 | - sequent) | ||
954 | - basic_machine=i386-sequent | ||
955 | - ;; | ||
956 | - sh) | ||
957 | - basic_machine=sh-hitachi | ||
958 | - os=-hms | ||
959 | - ;; | ||
960 | - sh5el) | ||
961 | - basic_machine=sh5le-unknown | ||
962 | - ;; | ||
963 | - sh64) | ||
964 | - basic_machine=sh64-unknown | ||
965 | - ;; | ||
966 | - sparclite-wrs | simso-wrs) | ||
967 | - basic_machine=sparclite-wrs | ||
968 | - os=-vxworks | ||
969 | - ;; | ||
970 | - sps7) | ||
971 | - basic_machine=m68k-bull | ||
972 | - os=-sysv2 | ||
973 | - ;; | ||
974 | - spur) | ||
975 | - basic_machine=spur-unknown | ||
976 | - ;; | ||
977 | - st2000) | ||
978 | - basic_machine=m68k-tandem | ||
979 | - ;; | ||
980 | - stratus) | ||
981 | - basic_machine=i860-stratus | ||
982 | - os=-sysv4 | ||
983 | - ;; | ||
984 | - sun2) | ||
985 | - basic_machine=m68000-sun | ||
986 | - ;; | ||
987 | - sun2os3) | ||
988 | - basic_machine=m68000-sun | ||
989 | - os=-sunos3 | ||
990 | - ;; | ||
991 | - sun2os4) | ||
992 | - basic_machine=m68000-sun | ||
993 | - os=-sunos4 | ||
994 | - ;; | ||
995 | - sun3os3) | ||
996 | - basic_machine=m68k-sun | ||
997 | - os=-sunos3 | ||
998 | - ;; | ||
999 | - sun3os4) | ||
1000 | - basic_machine=m68k-sun | ||
1001 | - os=-sunos4 | ||
1002 | - ;; | ||
1003 | - sun4os3) | ||
1004 | - basic_machine=sparc-sun | ||
1005 | - os=-sunos3 | ||
1006 | - ;; | ||
1007 | - sun4os4) | ||
1008 | - basic_machine=sparc-sun | ||
1009 | - os=-sunos4 | ||
1010 | - ;; | ||
1011 | - sun4sol2) | ||
1012 | - basic_machine=sparc-sun | ||
1013 | - os=-solaris2 | ||
1014 | - ;; | ||
1015 | - sun3 | sun3-*) | ||
1016 | - basic_machine=m68k-sun | ||
1017 | - ;; | ||
1018 | - sun4) | ||
1019 | - basic_machine=sparc-sun | ||
1020 | - ;; | ||
1021 | - sun386 | sun386i | roadrunner) | ||
1022 | - basic_machine=i386-sun | ||
1023 | - ;; | ||
1024 | - sv1) | ||
1025 | - basic_machine=sv1-cray | ||
1026 | - os=-unicos | ||
1027 | - ;; | ||
1028 | - symmetry) | ||
1029 | - basic_machine=i386-sequent | ||
1030 | - os=-dynix | ||
1031 | - ;; | ||
1032 | - t3e) | ||
1033 | - basic_machine=alphaev5-cray | ||
1034 | - os=-unicos | ||
1035 | - ;; | ||
1036 | - t90) | ||
1037 | - basic_machine=t90-cray | ||
1038 | - os=-unicos | ||
1039 | - ;; | ||
1040 | - tic54x | c54x*) | ||
1041 | - basic_machine=tic54x-unknown | ||
1042 | - os=-coff | ||
1043 | - ;; | ||
1044 | - tic55x | c55x*) | ||
1045 | - basic_machine=tic55x-unknown | ||
1046 | - os=-coff | ||
1047 | - ;; | ||
1048 | - tic6x | c6x*) | ||
1049 | - basic_machine=tic6x-unknown | ||
1050 | - os=-coff | ||
1051 | - ;; | ||
1052 | - tile*) | ||
1053 | - basic_machine=tile-unknown | ||
1054 | - os=-linux-gnu | ||
1055 | - ;; | ||
1056 | - tx39) | ||
1057 | - basic_machine=mipstx39-unknown | ||
1058 | - ;; | ||
1059 | - tx39el) | ||
1060 | - basic_machine=mipstx39el-unknown | ||
1061 | - ;; | ||
1062 | - toad1) | ||
1063 | - basic_machine=pdp10-xkl | ||
1064 | - os=-tops20 | ||
1065 | - ;; | ||
1066 | - tower | tower-32) | ||
1067 | - basic_machine=m68k-ncr | ||
1068 | - ;; | ||
1069 | - tpf) | ||
1070 | - basic_machine=s390x-ibm | ||
1071 | - os=-tpf | ||
1072 | - ;; | ||
1073 | - udi29k) | ||
1074 | - basic_machine=a29k-amd | ||
1075 | - os=-udi | ||
1076 | - ;; | ||
1077 | - ultra3) | ||
1078 | - basic_machine=a29k-nyu | ||
1079 | - os=-sym1 | ||
1080 | - ;; | ||
1081 | - v810 | necv810) | ||
1082 | - basic_machine=v810-nec | ||
1083 | - os=-none | ||
1084 | - ;; | ||
1085 | - vaxv) | ||
1086 | - basic_machine=vax-dec | ||
1087 | - os=-sysv | ||
1088 | - ;; | ||
1089 | - vms) | ||
1090 | - basic_machine=vax-dec | ||
1091 | - os=-vms | ||
1092 | - ;; | ||
1093 | - vpp*|vx|vx-*) | ||
1094 | - basic_machine=f301-fujitsu | ||
1095 | - ;; | ||
1096 | - vxworks960) | ||
1097 | - basic_machine=i960-wrs | ||
1098 | - os=-vxworks | ||
1099 | - ;; | ||
1100 | - vxworks68) | ||
1101 | - basic_machine=m68k-wrs | ||
1102 | - os=-vxworks | ||
1103 | - ;; | ||
1104 | - vxworks29k) | ||
1105 | - basic_machine=a29k-wrs | ||
1106 | - os=-vxworks | ||
1107 | - ;; | ||
1108 | - w65*) | ||
1109 | - basic_machine=w65-wdc | ||
1110 | - os=-none | ||
1111 | - ;; | ||
1112 | - w89k-*) | ||
1113 | - basic_machine=hppa1.1-winbond | ||
1114 | - os=-proelf | ||
1115 | - ;; | ||
1116 | - xbox) | ||
1117 | - basic_machine=i686-pc | ||
1118 | - os=-mingw32 | ||
1119 | - ;; | ||
1120 | - xps | xps100) | ||
1121 | - basic_machine=xps100-honeywell | ||
1122 | - ;; | ||
1123 | - ymp) | ||
1124 | - basic_machine=ymp-cray | ||
1125 | - os=-unicos | ||
1126 | - ;; | ||
1127 | - z8k-*-coff) | ||
1128 | - basic_machine=z8k-unknown | ||
1129 | - os=-sim | ||
1130 | - ;; | ||
1131 | - none) | ||
1132 | - basic_machine=none-none | ||
1133 | - os=-none | ||
1134 | - ;; | ||
1135 | - | ||
1136 | -# Here we handle the default manufacturer of certain CPU types. It is in | ||
1137 | -# some cases the only manufacturer, in others, it is the most popular. | ||
1138 | - w89k) | ||
1139 | - basic_machine=hppa1.1-winbond | ||
1140 | - ;; | ||
1141 | - op50n) | ||
1142 | - basic_machine=hppa1.1-oki | ||
1143 | - ;; | ||
1144 | - op60c) | ||
1145 | - basic_machine=hppa1.1-oki | ||
1146 | - ;; | ||
1147 | - romp) | ||
1148 | - basic_machine=romp-ibm | ||
1149 | - ;; | ||
1150 | - mmix) | ||
1151 | - basic_machine=mmix-knuth | ||
1152 | - ;; | ||
1153 | - rs6000) | ||
1154 | - basic_machine=rs6000-ibm | ||
1155 | - ;; | ||
1156 | - vax) | ||
1157 | - basic_machine=vax-dec | ||
1158 | - ;; | ||
1159 | - pdp10) | ||
1160 | - # there are many clones, so DEC is not a safe bet | ||
1161 | - basic_machine=pdp10-unknown | ||
1162 | - ;; | ||
1163 | - pdp11) | ||
1164 | - basic_machine=pdp11-dec | ||
1165 | - ;; | ||
1166 | - we32k) | ||
1167 | - basic_machine=we32k-att | ||
1168 | - ;; | ||
1169 | - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) | ||
1170 | - basic_machine=sh-unknown | ||
1171 | - ;; | ||
1172 | - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) | ||
1173 | - basic_machine=sparc-sun | ||
1174 | - ;; | ||
1175 | - cydra) | ||
1176 | - basic_machine=cydra-cydrome | ||
1177 | - ;; | ||
1178 | - orion) | ||
1179 | - basic_machine=orion-highlevel | ||
1180 | - ;; | ||
1181 | - orion105) | ||
1182 | - basic_machine=clipper-highlevel | ||
1183 | - ;; | ||
1184 | - mac | mpw | mac-mpw) | ||
1185 | - basic_machine=m68k-apple | ||
1186 | - ;; | ||
1187 | - pmac | pmac-mpw) | ||
1188 | - basic_machine=powerpc-apple | ||
1189 | - ;; | ||
1190 | - *-unknown) | ||
1191 | - # Make sure to match an already-canonicalized machine name. | ||
1192 | - ;; | ||
1193 | - *) | ||
1194 | - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | ||
1195 | - exit 1 | ||
1196 | - ;; | ||
1197 | -esac | ||
1198 | - | ||
1199 | -# Here we canonicalize certain aliases for manufacturers. | ||
1200 | -case $basic_machine in | ||
1201 | - *-digital*) | ||
1202 | - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` | ||
1203 | - ;; | ||
1204 | - *-commodore*) | ||
1205 | - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` | ||
1206 | - ;; | ||
1207 | - *) | ||
1208 | - ;; | ||
1209 | -esac | ||
1210 | - | ||
1211 | -# Decode manufacturer-specific aliases for certain operating systems. | ||
1212 | - | ||
1213 | -if [ x"$os" != x"" ] | ||
1214 | -then | ||
1215 | -case $os in | ||
1216 | - # First match some system type aliases | ||
1217 | - # that might get confused with valid system types. | ||
1218 | - # -solaris* is a basic system type, with this one exception. | ||
1219 | - -solaris1 | -solaris1.*) | ||
1220 | - os=`echo $os | sed -e 's|solaris1|sunos4|'` | ||
1221 | - ;; | ||
1222 | - -solaris) | ||
1223 | - os=-solaris2 | ||
1224 | - ;; | ||
1225 | - -svr4*) | ||
1226 | - os=-sysv4 | ||
1227 | - ;; | ||
1228 | - -unixware*) | ||
1229 | - os=-sysv4.2uw | ||
1230 | - ;; | ||
1231 | - -gnu/linux*) | ||
1232 | - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` | ||
1233 | - ;; | ||
1234 | - # First accept the basic system types. | ||
1235 | - # The portable systems comes first. | ||
1236 | - # Each alternative MUST END IN A *, to match a version number. | ||
1237 | - # -sysv* is not here because it comes later, after sysvr4. | ||
1238 | - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | ||
1239 | - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | ||
1240 | - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | ||
1241 | - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | ||
1242 | - | -aos* \ | ||
1243 | - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | ||
1244 | - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | ||
1245 | - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | ||
1246 | - | -openbsd* | -solidbsd* \ | ||
1247 | - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | ||
1248 | - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | ||
1249 | - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | ||
1250 | - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | ||
1251 | - | -chorusos* | -chorusrdb* \ | ||
1252 | - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | ||
1253 | - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | ||
1254 | - | -uxpv* | -beos* | -mpeix* | -udk* \ | ||
1255 | - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | ||
1256 | - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | ||
1257 | - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | ||
1258 | - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | ||
1259 | - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | ||
1260 | - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | ||
1261 | - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) | ||
1262 | - # Remember, each alternative MUST END IN *, to match a version number. | ||
1263 | - ;; | ||
1264 | - -qnx*) | ||
1265 | - case $basic_machine in | ||
1266 | - x86-* | i*86-*) | ||
1267 | - ;; | ||
1268 | - *) | ||
1269 | - os=-nto$os | ||
1270 | - ;; | ||
1271 | - esac | ||
1272 | - ;; | ||
1273 | - -nto-qnx*) | ||
1274 | - ;; | ||
1275 | - -nto*) | ||
1276 | - os=`echo $os | sed -e 's|nto|nto-qnx|'` | ||
1277 | - ;; | ||
1278 | - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | ||
1279 | - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | ||
1280 | - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | ||
1281 | - ;; | ||
1282 | - -mac*) | ||
1283 | - os=`echo $os | sed -e 's|mac|macos|'` | ||
1284 | - ;; | ||
1285 | - -linux-dietlibc) | ||
1286 | - os=-linux-dietlibc | ||
1287 | - ;; | ||
1288 | - -linux*) | ||
1289 | - os=`echo $os | sed -e 's|linux|linux-gnu|'` | ||
1290 | - ;; | ||
1291 | - -sunos5*) | ||
1292 | - os=`echo $os | sed -e 's|sunos5|solaris2|'` | ||
1293 | - ;; | ||
1294 | - -sunos6*) | ||
1295 | - os=`echo $os | sed -e 's|sunos6|solaris3|'` | ||
1296 | - ;; | ||
1297 | - -opened*) | ||
1298 | - os=-openedition | ||
1299 | - ;; | ||
1300 | - -os400*) | ||
1301 | - os=-os400 | ||
1302 | - ;; | ||
1303 | - -wince*) | ||
1304 | - os=-wince | ||
1305 | - ;; | ||
1306 | - -osfrose*) | ||
1307 | - os=-osfrose | ||
1308 | - ;; | ||
1309 | - -osf*) | ||
1310 | - os=-osf | ||
1311 | - ;; | ||
1312 | - -utek*) | ||
1313 | - os=-bsd | ||
1314 | - ;; | ||
1315 | - -dynix*) | ||
1316 | - os=-bsd | ||
1317 | - ;; | ||
1318 | - -acis*) | ||
1319 | - os=-aos | ||
1320 | - ;; | ||
1321 | - -atheos*) | ||
1322 | - os=-atheos | ||
1323 | - ;; | ||
1324 | - -syllable*) | ||
1325 | - os=-syllable | ||
1326 | - ;; | ||
1327 | - -386bsd) | ||
1328 | - os=-bsd | ||
1329 | - ;; | ||
1330 | - -ctix* | -uts*) | ||
1331 | - os=-sysv | ||
1332 | - ;; | ||
1333 | - -nova*) | ||
1334 | - os=-rtmk-nova | ||
1335 | - ;; | ||
1336 | - -ns2 ) | ||
1337 | - os=-nextstep2 | ||
1338 | - ;; | ||
1339 | - -nsk*) | ||
1340 | - os=-nsk | ||
1341 | - ;; | ||
1342 | - # Preserve the version number of sinix5. | ||
1343 | - -sinix5.*) | ||
1344 | - os=`echo $os | sed -e 's|sinix|sysv|'` | ||
1345 | - ;; | ||
1346 | - -sinix*) | ||
1347 | - os=-sysv4 | ||
1348 | - ;; | ||
1349 | - -tpf*) | ||
1350 | - os=-tpf | ||
1351 | - ;; | ||
1352 | - -triton*) | ||
1353 | - os=-sysv3 | ||
1354 | - ;; | ||
1355 | - -oss*) | ||
1356 | - os=-sysv3 | ||
1357 | - ;; | ||
1358 | - -svr4) | ||
1359 | - os=-sysv4 | ||
1360 | - ;; | ||
1361 | - -svr3) | ||
1362 | - os=-sysv3 | ||
1363 | - ;; | ||
1364 | - -sysvr4) | ||
1365 | - os=-sysv4 | ||
1366 | - ;; | ||
1367 | - # This must come after -sysvr4. | ||
1368 | - -sysv*) | ||
1369 | - ;; | ||
1370 | - -ose*) | ||
1371 | - os=-ose | ||
1372 | - ;; | ||
1373 | - -es1800*) | ||
1374 | - os=-ose | ||
1375 | - ;; | ||
1376 | - -xenix) | ||
1377 | - os=-xenix | ||
1378 | - ;; | ||
1379 | - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | ||
1380 | - os=-mint | ||
1381 | - ;; | ||
1382 | - -aros*) | ||
1383 | - os=-aros | ||
1384 | - ;; | ||
1385 | - -kaos*) | ||
1386 | - os=-kaos | ||
1387 | - ;; | ||
1388 | - -zvmoe) | ||
1389 | - os=-zvmoe | ||
1390 | - ;; | ||
1391 | - -none) | ||
1392 | - ;; | ||
1393 | - *) | ||
1394 | - # Get rid of the `-' at the beginning of $os. | ||
1395 | - os=`echo $os | sed 's/[^-]*-//'` | ||
1396 | - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 | ||
1397 | - exit 1 | ||
1398 | - ;; | ||
1399 | -esac | ||
1400 | -else | ||
1401 | - | ||
1402 | -# Here we handle the default operating systems that come with various machines. | ||
1403 | -# The value should be what the vendor currently ships out the door with their | ||
1404 | -# machine or put another way, the most popular os provided with the machine. | ||
1405 | - | ||
1406 | -# Note that if you're going to try to match "-MANUFACTURER" here (say, | ||
1407 | -# "-sun"), then you have to tell the case statement up towards the top | ||
1408 | -# that MANUFACTURER isn't an operating system. Otherwise, code above | ||
1409 | -# will signal an error saying that MANUFACTURER isn't an operating | ||
1410 | -# system, and we'll never get to this point. | ||
1411 | - | ||
1412 | -case $basic_machine in | ||
1413 | - score-*) | ||
1414 | - os=-elf | ||
1415 | - ;; | ||
1416 | - spu-*) | ||
1417 | - os=-elf | ||
1418 | - ;; | ||
1419 | - *-acorn) | ||
1420 | - os=-riscix1.2 | ||
1421 | - ;; | ||
1422 | - arm*-rebel) | ||
1423 | - os=-linux | ||
1424 | - ;; | ||
1425 | - arm*-semi) | ||
1426 | - os=-aout | ||
1427 | - ;; | ||
1428 | - c4x-* | tic4x-*) | ||
1429 | - os=-coff | ||
1430 | - ;; | ||
1431 | - # This must come before the *-dec entry. | ||
1432 | - pdp10-*) | ||
1433 | - os=-tops20 | ||
1434 | - ;; | ||
1435 | - pdp11-*) | ||
1436 | - os=-none | ||
1437 | - ;; | ||
1438 | - *-dec | vax-*) | ||
1439 | - os=-ultrix4.2 | ||
1440 | - ;; | ||
1441 | - m68*-apollo) | ||
1442 | - os=-domain | ||
1443 | - ;; | ||
1444 | - i386-sun) | ||
1445 | - os=-sunos4.0.2 | ||
1446 | - ;; | ||
1447 | - m68000-sun) | ||
1448 | - os=-sunos3 | ||
1449 | - # This also exists in the configure program, but was not the | ||
1450 | - # default. | ||
1451 | - # os=-sunos4 | ||
1452 | - ;; | ||
1453 | - m68*-cisco) | ||
1454 | - os=-aout | ||
1455 | - ;; | ||
1456 | - mep-*) | ||
1457 | - os=-elf | ||
1458 | - ;; | ||
1459 | - mips*-cisco) | ||
1460 | - os=-elf | ||
1461 | - ;; | ||
1462 | - mips*-*) | ||
1463 | - os=-elf | ||
1464 | - ;; | ||
1465 | - or32-*) | ||
1466 | - os=-coff | ||
1467 | - ;; | ||
1468 | - *-tti) # must be before sparc entry or we get the wrong os. | ||
1469 | - os=-sysv3 | ||
1470 | - ;; | ||
1471 | - sparc-* | *-sun) | ||
1472 | - os=-sunos4.1.1 | ||
1473 | - ;; | ||
1474 | - *-be) | ||
1475 | - os=-beos | ||
1476 | - ;; | ||
1477 | - *-haiku) | ||
1478 | - os=-haiku | ||
1479 | - ;; | ||
1480 | - *-ibm) | ||
1481 | - os=-aix | ||
1482 | - ;; | ||
1483 | - *-knuth) | ||
1484 | - os=-mmixware | ||
1485 | - ;; | ||
1486 | - *-wec) | ||
1487 | - os=-proelf | ||
1488 | - ;; | ||
1489 | - *-winbond) | ||
1490 | - os=-proelf | ||
1491 | - ;; | ||
1492 | - *-oki) | ||
1493 | - os=-proelf | ||
1494 | - ;; | ||
1495 | - *-hp) | ||
1496 | - os=-hpux | ||
1497 | - ;; | ||
1498 | - *-hitachi) | ||
1499 | - os=-hiux | ||
1500 | - ;; | ||
1501 | - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) | ||
1502 | - os=-sysv | ||
1503 | - ;; | ||
1504 | - *-cbm) | ||
1505 | - os=-amigaos | ||
1506 | - ;; | ||
1507 | - *-dg) | ||
1508 | - os=-dgux | ||
1509 | - ;; | ||
1510 | - *-dolphin) | ||
1511 | - os=-sysv3 | ||
1512 | - ;; | ||
1513 | - m68k-ccur) | ||
1514 | - os=-rtu | ||
1515 | - ;; | ||
1516 | - m88k-omron*) | ||
1517 | - os=-luna | ||
1518 | - ;; | ||
1519 | - *-next ) | ||
1520 | - os=-nextstep | ||
1521 | - ;; | ||
1522 | - *-sequent) | ||
1523 | - os=-ptx | ||
1524 | - ;; | ||
1525 | - *-crds) | ||
1526 | - os=-unos | ||
1527 | - ;; | ||
1528 | - *-ns) | ||
1529 | - os=-genix | ||
1530 | - ;; | ||
1531 | - i370-*) | ||
1532 | - os=-mvs | ||
1533 | - ;; | ||
1534 | - *-next) | ||
1535 | - os=-nextstep3 | ||
1536 | - ;; | ||
1537 | - *-gould) | ||
1538 | - os=-sysv | ||
1539 | - ;; | ||
1540 | - *-highlevel) | ||
1541 | - os=-bsd | ||
1542 | - ;; | ||
1543 | - *-encore) | ||
1544 | - os=-bsd | ||
1545 | - ;; | ||
1546 | - *-sgi) | ||
1547 | - os=-irix | ||
1548 | - ;; | ||
1549 | - *-siemens) | ||
1550 | - os=-sysv4 | ||
1551 | - ;; | ||
1552 | - *-masscomp) | ||
1553 | - os=-rtu | ||
1554 | - ;; | ||
1555 | - f30[01]-fujitsu | f700-fujitsu) | ||
1556 | - os=-uxpv | ||
1557 | - ;; | ||
1558 | - *-rom68k) | ||
1559 | - os=-coff | ||
1560 | - ;; | ||
1561 | - *-*bug) | ||
1562 | - os=-coff | ||
1563 | - ;; | ||
1564 | - *-apple) | ||
1565 | - os=-macos | ||
1566 | - ;; | ||
1567 | - *-atari*) | ||
1568 | - os=-mint | ||
1569 | - ;; | ||
1570 | - *) | ||
1571 | - os=-none | ||
1572 | - ;; | ||
1573 | -esac | ||
1574 | -fi | ||
1575 | - | ||
1576 | -# Here we handle the case where we know the os, and the CPU type, but not the | ||
1577 | -# manufacturer. We pick the logical manufacturer. | ||
1578 | -vendor=unknown | ||
1579 | -case $basic_machine in | ||
1580 | - *-unknown) | ||
1581 | - case $os in | ||
1582 | - -riscix*) | ||
1583 | - vendor=acorn | ||
1584 | - ;; | ||
1585 | - -sunos*) | ||
1586 | - vendor=sun | ||
1587 | - ;; | ||
1588 | - -aix*) | ||
1589 | - vendor=ibm | ||
1590 | - ;; | ||
1591 | - -beos*) | ||
1592 | - vendor=be | ||
1593 | - ;; | ||
1594 | - -hpux*) | ||
1595 | - vendor=hp | ||
1596 | - ;; | ||
1597 | - -mpeix*) | ||
1598 | - vendor=hp | ||
1599 | - ;; | ||
1600 | - -hiux*) | ||
1601 | - vendor=hitachi | ||
1602 | - ;; | ||
1603 | - -unos*) | ||
1604 | - vendor=crds | ||
1605 | - ;; | ||
1606 | - -dgux*) | ||
1607 | - vendor=dg | ||
1608 | - ;; | ||
1609 | - -luna*) | ||
1610 | - vendor=omron | ||
1611 | - ;; | ||
1612 | - -genix*) | ||
1613 | - vendor=ns | ||
1614 | - ;; | ||
1615 | - -mvs* | -opened*) | ||
1616 | - vendor=ibm | ||
1617 | - ;; | ||
1618 | - -os400*) | ||
1619 | - vendor=ibm | ||
1620 | - ;; | ||
1621 | - -ptx*) | ||
1622 | - vendor=sequent | ||
1623 | - ;; | ||
1624 | - -tpf*) | ||
1625 | - vendor=ibm | ||
1626 | - ;; | ||
1627 | - -vxsim* | -vxworks* | -windiss*) | ||
1628 | - vendor=wrs | ||
1629 | - ;; | ||
1630 | - -aux*) | ||
1631 | - vendor=apple | ||
1632 | - ;; | ||
1633 | - -hms*) | ||
1634 | - vendor=hitachi | ||
1635 | - ;; | ||
1636 | - -mpw* | -macos*) | ||
1637 | - vendor=apple | ||
1638 | - ;; | ||
1639 | - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | ||
1640 | - vendor=atari | ||
1641 | - ;; | ||
1642 | - -vos*) | ||
1643 | - vendor=stratus | ||
1644 | - ;; | ||
1645 | - esac | ||
1646 | - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` | ||
1647 | - ;; | ||
1648 | -esac | ||
1649 | - | ||
1650 | -echo $basic_machine$os | ||
1651 | -exit | ||
1652 | - | ||
1653 | -# Local variables: | ||
1654 | -# eval: (add-hook 'write-file-hooks 'time-stamp) | ||
1655 | -# time-stamp-start: "timestamp='" | ||
1656 | -# time-stamp-format: "%:y-%02m-%02d" | ||
1657 | -# time-stamp-end: "'" | ||
1658 | -# End: |
scripts/install-sh
@@ -1,251 +0,0 @@ | @@ -1,251 +0,0 @@ | ||
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/actions.cc
@@ -1,128 +0,0 @@ | @@ -1,128 +0,0 @@ | ||
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 actions.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 | - * Referências: | ||
29 | - * | ||
30 | - * <https://docs.python.org/2/extending/newtypes.html> | ||
31 | - * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
32 | - * | ||
33 | - */ | ||
34 | - | ||
35 | - #include "private.h" | ||
36 | - | ||
37 | -/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
38 | - | ||
39 | - PyObject * terminal_pfkey(PyObject *self, PyObject *args) { | ||
40 | - | ||
41 | - int rc, key; | ||
42 | - | ||
43 | - if (!PyArg_ParseTuple(args, "i", &key)) { | ||
44 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
45 | - return NULL; | ||
46 | - } | ||
47 | - | ||
48 | - try { | ||
49 | - | ||
50 | - rc = ((pw3270_TerminalObject *) self)->session->pfkey(key); | ||
51 | - | ||
52 | - } catch(std::exception &e) { | ||
53 | - | ||
54 | - PyErr_SetString(terminalError, e.what()); | ||
55 | - return NULL; | ||
56 | - } | ||
57 | - | ||
58 | - return PyLong_FromLong(rc); | ||
59 | - | ||
60 | - } | ||
61 | - | ||
62 | - PyObject * terminal_pakey(PyObject *self, PyObject *args) { | ||
63 | - | ||
64 | - int rc, key; | ||
65 | - | ||
66 | - if (!PyArg_ParseTuple(args, "i", &key)) { | ||
67 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
68 | - return NULL; | ||
69 | - } | ||
70 | - | ||
71 | - try { | ||
72 | - | ||
73 | - rc = ((pw3270_TerminalObject *) self)->session->pakey(key); | ||
74 | - | ||
75 | - } catch(std::exception &e) { | ||
76 | - | ||
77 | - PyErr_SetString(terminalError, e.what()); | ||
78 | - return NULL; | ||
79 | - } | ||
80 | - | ||
81 | - return PyLong_FromLong(rc); | ||
82 | - | ||
83 | - } | ||
84 | - | ||
85 | - PyObject * terminal_enter(PyObject *self, PyObject *args) { | ||
86 | - | ||
87 | - int rc; | ||
88 | - | ||
89 | - try { | ||
90 | - | ||
91 | - rc = ((pw3270_TerminalObject *) self)->session->enter(); | ||
92 | - | ||
93 | - } catch(std::exception &e) { | ||
94 | - | ||
95 | - PyErr_SetString(terminalError, e.what()); | ||
96 | - return NULL; | ||
97 | - } | ||
98 | - | ||
99 | - return PyLong_FromLong(rc); | ||
100 | - | ||
101 | - | ||
102 | - } | ||
103 | - | ||
104 | - PyObject * terminal_action(PyObject *self, PyObject *args) { | ||
105 | - | ||
106 | - int rc; | ||
107 | - const char *name; | ||
108 | - | ||
109 | - if (!PyArg_ParseTuple(args, "s", &name)) { | ||
110 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
111 | - return NULL; | ||
112 | - } | ||
113 | - | ||
114 | - try { | ||
115 | - | ||
116 | - rc = ((pw3270_TerminalObject *) self)->session->action(name); | ||
117 | - | ||
118 | - } catch(std::exception &e) { | ||
119 | - | ||
120 | - PyErr_SetString(terminalError, e.what()); | ||
121 | - return NULL; | ||
122 | - } | ||
123 | - | ||
124 | - return PyLong_FromLong(rc); | ||
125 | - | ||
126 | - | ||
127 | - } | ||
128 | - |
src/config.h.in
@@ -1,51 +0,0 @@ | @@ -1,51 +0,0 @@ | ||
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 Descrição do aplicativo. | ||
35 | - */ | ||
36 | - #undef PACKAGE_DESCRIPTION | ||
37 | - | ||
38 | - /** | ||
39 | - * @brief Indica se o compilador atual possui suporte a "visibility" | ||
40 | - * | ||
41 | - * Quando disponível indica que o compilador atual permite tornar | ||
42 | - * visíveis numa biblioteca apenas as funções declaradas para isso | ||
43 | - * evitando que todos os símbolos fiquem visíveis. | ||
44 | - * | ||
45 | - * Isso permite um melhor controle sobre quais funções podem ser usados | ||
46 | - * pelo programa principal. | ||
47 | - * | ||
48 | - */ | ||
49 | - #undef HAVE_GNUC_VISIBILITY | ||
50 | - | ||
51 | -#endif // CONFIG_H_INCLUDED |
@@ -0,0 +1,128 @@ | @@ -0,0 +1,128 @@ | ||
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 actions.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 | + * Referências: | ||
29 | + * | ||
30 | + * <https://docs.python.org/2/extending/newtypes.html> | ||
31 | + * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
32 | + * | ||
33 | + */ | ||
34 | + | ||
35 | + #include "private.h" | ||
36 | + | ||
37 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
38 | + | ||
39 | + PyObject * terminal_pfkey(PyObject *self, PyObject *args) { | ||
40 | + | ||
41 | + int rc, key; | ||
42 | + | ||
43 | + if (!PyArg_ParseTuple(args, "i", &key)) { | ||
44 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
45 | + return NULL; | ||
46 | + } | ||
47 | + | ||
48 | + try { | ||
49 | + | ||
50 | + rc = ((pw3270_TerminalObject *) self)->session->pfkey(key); | ||
51 | + | ||
52 | + } catch(std::exception &e) { | ||
53 | + | ||
54 | + PyErr_SetString(terminalError, e.what()); | ||
55 | + return NULL; | ||
56 | + } | ||
57 | + | ||
58 | + return PyLong_FromLong(rc); | ||
59 | + | ||
60 | + } | ||
61 | + | ||
62 | + PyObject * terminal_pakey(PyObject *self, PyObject *args) { | ||
63 | + | ||
64 | + int rc, key; | ||
65 | + | ||
66 | + if (!PyArg_ParseTuple(args, "i", &key)) { | ||
67 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
68 | + return NULL; | ||
69 | + } | ||
70 | + | ||
71 | + try { | ||
72 | + | ||
73 | + rc = ((pw3270_TerminalObject *) self)->session->pakey(key); | ||
74 | + | ||
75 | + } catch(std::exception &e) { | ||
76 | + | ||
77 | + PyErr_SetString(terminalError, e.what()); | ||
78 | + return NULL; | ||
79 | + } | ||
80 | + | ||
81 | + return PyLong_FromLong(rc); | ||
82 | + | ||
83 | + } | ||
84 | + | ||
85 | + PyObject * terminal_enter(PyObject *self, PyObject *args) { | ||
86 | + | ||
87 | + int rc; | ||
88 | + | ||
89 | + try { | ||
90 | + | ||
91 | + rc = ((pw3270_TerminalObject *) self)->session->enter(); | ||
92 | + | ||
93 | + } catch(std::exception &e) { | ||
94 | + | ||
95 | + PyErr_SetString(terminalError, e.what()); | ||
96 | + return NULL; | ||
97 | + } | ||
98 | + | ||
99 | + return PyLong_FromLong(rc); | ||
100 | + | ||
101 | + | ||
102 | + } | ||
103 | + | ||
104 | + PyObject * terminal_action(PyObject *self, PyObject *args) { | ||
105 | + | ||
106 | + int rc; | ||
107 | + const char *name; | ||
108 | + | ||
109 | + if (!PyArg_ParseTuple(args, "s", &name)) { | ||
110 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
111 | + return NULL; | ||
112 | + } | ||
113 | + | ||
114 | + try { | ||
115 | + | ||
116 | + rc = ((pw3270_TerminalObject *) self)->session->action(name); | ||
117 | + | ||
118 | + } catch(std::exception &e) { | ||
119 | + | ||
120 | + PyErr_SetString(terminalError, e.what()); | ||
121 | + return NULL; | ||
122 | + } | ||
123 | + | ||
124 | + return PyLong_FromLong(rc); | ||
125 | + | ||
126 | + | ||
127 | + } | ||
128 | + |
@@ -0,0 +1,154 @@ | @@ -0,0 +1,154 @@ | ||
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 | + * Referências: | ||
29 | + * | ||
30 | + * <https://docs.python.org/2/extending/newtypes.html> | ||
31 | + * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
32 | + * | ||
33 | + */ | ||
34 | + | ||
35 | + #include "private.h" | ||
36 | + | ||
37 | + | ||
38 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
39 | + | ||
40 | +PyObject * terminal_get_version(PyObject *self, PyObject *args) { | ||
41 | + | ||
42 | + return PyString_FromString( ((pw3270_TerminalObject *) self)->session->get_version().c_str() ); | ||
43 | + | ||
44 | +} | ||
45 | + | ||
46 | +PyObject * terminal_get_revision(PyObject *self, PyObject *args) { | ||
47 | + | ||
48 | + return PyString_FromString( ((pw3270_TerminalObject *) self)->session->get_revision().c_str() ); | ||
49 | + | ||
50 | +} | ||
51 | + | ||
52 | +PyObject * terminal_is_connected(PyObject *self, PyObject *args) { | ||
53 | + | ||
54 | + return PyBool_FromLong( ((pw3270_TerminalObject *) self)->session->is_connected() ); | ||
55 | + | ||
56 | +} | ||
57 | + | ||
58 | +PyObject * terminal_is_ready(PyObject *self, PyObject *args) { | ||
59 | + | ||
60 | + return PyBool_FromLong( ((pw3270_TerminalObject *) self)->session->is_ready() ); | ||
61 | + | ||
62 | +} | ||
63 | + | ||
64 | +PyObject * terminal_is_protected_at(PyObject *self, PyObject *args) { | ||
65 | + | ||
66 | + int rc, row, col; | ||
67 | + | ||
68 | + if (!PyArg_ParseTuple(args, "ii", &row, &col)) { | ||
69 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
70 | + return NULL; | ||
71 | + } | ||
72 | + | ||
73 | + try { | ||
74 | + | ||
75 | + rc = ((pw3270_TerminalObject *) self)->session->get_is_protected_at(row,col); | ||
76 | + | ||
77 | + } catch(std::exception &e) { | ||
78 | + | ||
79 | + PyErr_SetString(terminalError, e.what()); | ||
80 | + return NULL; | ||
81 | + } | ||
82 | + | ||
83 | + return PyBool_FromLong( rc ); | ||
84 | + | ||
85 | +} | ||
86 | + | ||
87 | + | ||
88 | +PyObject * terminal_cmp_string_at(PyObject *self, PyObject *args) { | ||
89 | + | ||
90 | + int row, col, rc; | ||
91 | + const char *text; | ||
92 | + | ||
93 | + if (!PyArg_ParseTuple(args, "iis", &row, &col, &text)) { | ||
94 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
95 | + return NULL; | ||
96 | + } | ||
97 | + | ||
98 | + try { | ||
99 | + | ||
100 | + rc = ((pw3270_TerminalObject *) self)->session->cmp_string_at(row,col,text); | ||
101 | + | ||
102 | + } catch(std::exception &e) { | ||
103 | + | ||
104 | + PyErr_SetString(terminalError, e.what()); | ||
105 | + return NULL; | ||
106 | + } | ||
107 | + | ||
108 | + return PyLong_FromLong(rc); | ||
109 | + | ||
110 | +} | ||
111 | + | ||
112 | +PyObject * terminal_get_string_at(PyObject *self, PyObject *args) { | ||
113 | + | ||
114 | + int row, col, sz; | ||
115 | + string rc; | ||
116 | + | ||
117 | + if (!PyArg_ParseTuple(args, "iii", &row, &col, &sz)) { | ||
118 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
119 | + return NULL; | ||
120 | + } | ||
121 | + | ||
122 | + try { | ||
123 | + | ||
124 | + rc = ((pw3270_TerminalObject *) self)->session->get_string_at(row,col,sz); | ||
125 | + | ||
126 | + } catch(std::exception &e) { | ||
127 | + | ||
128 | + PyErr_SetString(terminalError, e.what()); | ||
129 | + return NULL; | ||
130 | + } | ||
131 | + | ||
132 | + return PyString_FromString(rc.c_str()); | ||
133 | + | ||
134 | +} | ||
135 | + | ||
136 | +PyObject * terminal_get_contents(PyObject *self) { | ||
137 | + | ||
138 | + string rc; | ||
139 | + | ||
140 | + try { | ||
141 | + | ||
142 | + rc = ((pw3270_TerminalObject *) self)->session->get_string(); | ||
143 | + | ||
144 | + } catch(std::exception &e) { | ||
145 | + | ||
146 | + PyErr_SetString(terminalError, e.what()); | ||
147 | + return NULL; | ||
148 | + } | ||
149 | + | ||
150 | + return PyString_FromString(rc.c_str()); | ||
151 | + | ||
152 | + | ||
153 | + | ||
154 | +} |
@@ -0,0 +1,87 @@ | @@ -0,0 +1,87 @@ | ||
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 py3270.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 | + * Implementa métodos básicos inicio/final do objeto python | ||
29 | + * | ||
30 | + * Referências: | ||
31 | + * | ||
32 | + * <https://docs.python.org/2/extending/newtypes.html> | ||
33 | + * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
34 | + * | ||
35 | + */ | ||
36 | + | ||
37 | + #include "private.h" | ||
38 | + | ||
39 | + | ||
40 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
41 | + | ||
42 | +PyObject * terminal_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { | ||
43 | + | ||
44 | + PW3270_NAMESPACE::session * session; | ||
45 | + const char *id = ""; | ||
46 | + | ||
47 | + if (!PyArg_ParseTuple(args, "s", &id)) { | ||
48 | + id = ""; | ||
49 | + } | ||
50 | + | ||
51 | + trace("%s(%s)",__FUNCTION__,id); | ||
52 | + | ||
53 | + try { | ||
54 | + | ||
55 | + session = PW3270_NAMESPACE::session::create(id); | ||
56 | + | ||
57 | + } catch(std::exception &e) { | ||
58 | + | ||
59 | + trace("%s failed: %s",__FUNCTION__,e.what()); | ||
60 | + PyErr_SetString(terminalError, e.what()); | ||
61 | + return NULL; | ||
62 | + | ||
63 | + } | ||
64 | + | ||
65 | + pw3270_TerminalObject *self = (pw3270_TerminalObject *) type->tp_alloc(type, 0); | ||
66 | + | ||
67 | + self->session = session; | ||
68 | + | ||
69 | + return (PyObject *)self; | ||
70 | +} | ||
71 | + | ||
72 | + | ||
73 | +int terminal_init(pw3270_TerminalObject *self, PyObject *args, PyObject *kwds) { | ||
74 | + | ||
75 | + return 0; | ||
76 | + | ||
77 | +} | ||
78 | + | ||
79 | +void terminal_dealloc(pw3270_TerminalObject * self) { | ||
80 | + | ||
81 | + trace("%s",__FUNCTION__); | ||
82 | + | ||
83 | + delete self->session; | ||
84 | + | ||
85 | + self->ob_type->tp_free((PyObject*)self); | ||
86 | + | ||
87 | +} |
@@ -0,0 +1,134 @@ | @@ -0,0 +1,134 @@ | ||
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 misc.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 | + * Implementa métodos básicos inicio/final do objeto python | ||
29 | + * | ||
30 | + * Referências: | ||
31 | + * | ||
32 | + * <https://docs.python.org/2/extending/newtypes.html> | ||
33 | + * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
34 | + * | ||
35 | + */ | ||
36 | + | ||
37 | + #include "private.h" | ||
38 | + | ||
39 | + | ||
40 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
41 | + | ||
42 | + PyObject * terminal_connect(PyObject *self, PyObject *args) { | ||
43 | + | ||
44 | + int rc = -1; | ||
45 | + int wait = 60; | ||
46 | + const char * host = ""; | ||
47 | + | ||
48 | + if (!PyArg_ParseTuple(args, "s|i", &host, &wait)) { | ||
49 | + PyErr_SetString(terminalError, "connect requires a host URL"); | ||
50 | + return NULL; | ||
51 | + } | ||
52 | + | ||
53 | + try { | ||
54 | + | ||
55 | + rc = ((pw3270_TerminalObject *) self)->session->connect(host,wait); | ||
56 | + | ||
57 | + } catch(std::exception &e) { | ||
58 | + | ||
59 | + PyErr_SetString(terminalError, e.what()); | ||
60 | + return NULL; | ||
61 | + } | ||
62 | + | ||
63 | + return PyLong_FromLong(rc); | ||
64 | + | ||
65 | + } | ||
66 | + | ||
67 | + PyObject * terminal_disconnect(PyObject *self, PyObject *args) { | ||
68 | + | ||
69 | + int rc = -1; | ||
70 | + | ||
71 | + try { | ||
72 | + | ||
73 | + rc = ((pw3270_TerminalObject *) self)->session->disconnect(); | ||
74 | + | ||
75 | + } catch(std::exception &e) { | ||
76 | + | ||
77 | + PyErr_SetString(terminalError, e.what()); | ||
78 | + return NULL; | ||
79 | + } | ||
80 | + | ||
81 | + return PyLong_FromLong(rc); | ||
82 | + | ||
83 | + } | ||
84 | + | ||
85 | + PyObject * terminal_wait_for_ready(PyObject *self, PyObject *args) { | ||
86 | + | ||
87 | + int rc; | ||
88 | + int timeout = 60; | ||
89 | + | ||
90 | + if (!PyArg_ParseTuple(args, "|i", &timeout)) { | ||
91 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
92 | + return NULL; | ||
93 | + } | ||
94 | + | ||
95 | + try { | ||
96 | + | ||
97 | + rc = ((pw3270_TerminalObject *) self)->session->wait_for_ready(timeout); | ||
98 | + | ||
99 | + } catch(std::exception &e) { | ||
100 | + | ||
101 | + PyErr_SetString(terminalError, e.what()); | ||
102 | + return NULL; | ||
103 | + } | ||
104 | + | ||
105 | + return PyLong_FromLong(rc); | ||
106 | + | ||
107 | + } | ||
108 | + | ||
109 | + | ||
110 | + PyObject * terminal_wait_for_string_at(PyObject *self, PyObject *args) { | ||
111 | + | ||
112 | + int row, col, rc; | ||
113 | + int timeout = 10; | ||
114 | + const char *text; | ||
115 | + | ||
116 | + if (!PyArg_ParseTuple(args, "iis|i", &row, &col, &text, &timeout)) { | ||
117 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
118 | + return NULL; | ||
119 | + } | ||
120 | + | ||
121 | + try { | ||
122 | + | ||
123 | + rc = ((pw3270_TerminalObject *) self)->session->wait_for_string_at(row,col,text,timeout); | ||
124 | + | ||
125 | + } catch(std::exception &e) { | ||
126 | + | ||
127 | + PyErr_SetString(terminalError, e.what()); | ||
128 | + return NULL; | ||
129 | + } | ||
130 | + | ||
131 | + return PyLong_FromLong(rc); | ||
132 | + | ||
133 | + } | ||
134 | + |
@@ -0,0 +1,167 @@ | @@ -0,0 +1,167 @@ | ||
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 py3270.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 | + * Implementa métodos básicos para a extensão python. | ||
29 | + * | ||
30 | + * Referências: | ||
31 | + * | ||
32 | + * <https://docs.python.org/2/extending/newtypes.html> | ||
33 | + * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
34 | + * | ||
35 | + */ | ||
36 | + | ||
37 | + #include "private.h" | ||
38 | + | ||
39 | +/*---[ Globals ]------------------------------------------------------------------------------------*/ | ||
40 | + | ||
41 | + PyObject * terminalError = NULL; | ||
42 | + | ||
43 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
44 | + | ||
45 | +static PyObject * get_revision(PyObject *self, PyObject *args) { | ||
46 | + | ||
47 | +#ifdef PACKAGE_REVISION | ||
48 | + return PyLong_FromLong(atoi(PACKAGE_REVISION)); | ||
49 | +#else | ||
50 | + return PyLong_FromLong(BUILD_DATE); | ||
51 | +#endif // PACKAGE_REVISION | ||
52 | + | ||
53 | +} | ||
54 | + | ||
55 | +static PyMethodDef terminal_methods[] = { | ||
56 | + | ||
57 | + { "Version", terminal_get_version, METH_NOARGS, "Get the lib3270 version string." }, | ||
58 | + { "Revision", terminal_get_revision, METH_NOARGS, "Get the lib3270 revision number." }, | ||
59 | + | ||
60 | + { "IsConnected", terminal_is_connected, METH_NOARGS, "True if the terminal is connected to the host." }, | ||
61 | + { "IsReady", terminal_is_ready, METH_NOARGS, "True if the terminal has finished network activity." }, | ||
62 | + { "IsProtected", terminal_is_protected_at, METH_VARARGS, "True if the position is read-only." }, | ||
63 | + | ||
64 | + { "SetCursorPosition", terminal_set_cursor_at, METH_VARARGS, "Set cursor position." }, | ||
65 | + | ||
66 | + { "WaitForStringAt", terminal_wait_for_string_at, METH_VARARGS, "Wait for string at position" }, | ||
67 | + { "WaitForReady", terminal_wait_for_ready, METH_VARARGS, "Wait for network communication to finish" }, | ||
68 | + | ||
69 | + { "Connect", terminal_connect, METH_VARARGS, "Connect to the host." }, | ||
70 | + { "Disconnect", terminal_disconnect, METH_NOARGS, "Disconnect from host." }, | ||
71 | + | ||
72 | + { "CmpStringAt", terminal_cmp_string_at, METH_VARARGS, "Compare string with terminal buffer at the position." }, | ||
73 | + { "GetStringAt", terminal_get_string_at, METH_VARARGS, "Get string from terminal buffer." }, | ||
74 | + { "SetStringAt", terminal_set_string_at, METH_VARARGS, "Set string in terminal buffer." }, | ||
75 | + | ||
76 | + { "PFKey", terminal_pfkey, METH_VARARGS, "Send PF key." }, | ||
77 | + { "PAKey", terminal_pakey, METH_VARARGS, "Send PA key." }, | ||
78 | + { "Enter", terminal_enter, METH_NOARGS, "Send Enter Key." }, | ||
79 | + { "Action", terminal_action, METH_VARARGS, "Send Action by name." }, | ||
80 | + | ||
81 | + {NULL} // Sentinel | ||
82 | + | ||
83 | +}; | ||
84 | + | ||
85 | +/* | ||
86 | +static PyMemberDef terminal_members[] = { | ||
87 | + | ||
88 | + { NULL } // Sentinel | ||
89 | + | ||
90 | +}; | ||
91 | +*/ | ||
92 | + | ||
93 | +static PyTypeObject pw3270_TerminalType = { | ||
94 | + PyObject_HEAD_INIT(NULL) | ||
95 | + 0, /*ob_size*/ | ||
96 | + "py3270.terminal", /*tp_name*/ | ||
97 | + sizeof(pw3270_TerminalObject), /*tp_basicsize*/ | ||
98 | + 0, /*tp_itemsize*/ | ||
99 | + (destructor) terminal_dealloc, /*tp_dealloc*/ | ||
100 | + 0, /*tp_print*/ | ||
101 | + 0, /*tp_getattr*/ | ||
102 | + 0, /*tp_setattr*/ | ||
103 | + 0, /*tp_compare*/ | ||
104 | + 0, /*tp_repr*/ | ||
105 | + 0, /*tp_as_number*/ | ||
106 | + 0, /*tp_as_sequence*/ | ||
107 | + 0, /*tp_as_mapping*/ | ||
108 | + 0, /*tp_hash */ | ||
109 | + 0, /*tp_call*/ | ||
110 | + terminal_get_contents, /*tp_str*/ | ||
111 | + 0, /*tp_getattro*/ | ||
112 | + 0, /*tp_setattro*/ | ||
113 | + 0, /*tp_as_buffer*/ | ||
114 | + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ | ||
115 | + "3270 terminal object", /* tp_doc */ | ||
116 | + 0, /* tp_traverse */ | ||
117 | + 0, /* tp_clear */ | ||
118 | + 0, /* tp_richcompare */ | ||
119 | + 0, /* tp_weaklistoffset */ | ||
120 | + 0, /* tp_iter */ | ||
121 | + 0, /* tp_iternext */ | ||
122 | + terminal_methods, /* tp_methods */ | ||
123 | + 0, // terminal_members, /* tp_members */ | ||
124 | + 0, /* tp_getset */ | ||
125 | + 0, /* tp_base */ | ||
126 | + 0, /* tp_dict */ | ||
127 | + 0, /* tp_descr_get */ | ||
128 | + 0, /* tp_descr_set */ | ||
129 | + 0, /* tp_dictoffset */ | ||
130 | + (initproc) terminal_init, /* tp_init */ | ||
131 | + 0, /* tp_alloc */ | ||
132 | + terminal_new, /* tp_new */ | ||
133 | + | ||
134 | +}; | ||
135 | + | ||
136 | +static PyMethodDef MyMethods[] = { | ||
137 | + | ||
138 | + { "Revision", get_revision, METH_VARARGS, "Get module revision." }, | ||
139 | + | ||
140 | + {NULL, NULL, 0, NULL} /* Sentinel */ | ||
141 | + | ||
142 | +}; | ||
143 | + | ||
144 | +PyMODINIT_FUNC initpy3270(void) { | ||
145 | + | ||
146 | + // Cria o módulo | ||
147 | + | ||
148 | + PyObject *m = Py_InitModule("py3270", MyMethods); | ||
149 | + | ||
150 | + if (m == NULL) { | ||
151 | + return; | ||
152 | + } | ||
153 | + | ||
154 | + // Adiciona objeto para tratamento de erros. | ||
155 | + terminalError = PyErr_NewException((char *) "py3270.error", NULL, NULL); | ||
156 | + | ||
157 | + (void) Py_INCREF(terminalError); | ||
158 | + PyModule_AddObject(m, "error", terminalError); | ||
159 | + | ||
160 | + // Adiciona terminal | ||
161 | + if(PyType_Ready(&pw3270_TerminalType) < 0) | ||
162 | + return | ||
163 | + | ||
164 | + (void) Py_INCREF(&pw3270_TerminalType); | ||
165 | + PyModule_AddObject(m, "Terminal", (PyObject *)&pw3270_TerminalType); | ||
166 | + | ||
167 | +} |
@@ -0,0 +1,86 @@ | @@ -0,0 +1,86 @@ | ||
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 | + * Referências: | ||
29 | + * | ||
30 | + * <https://docs.python.org/2/extending/newtypes.html> | ||
31 | + * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
32 | + * | ||
33 | + */ | ||
34 | + | ||
35 | + #include "private.h" | ||
36 | + | ||
37 | + | ||
38 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
39 | + | ||
40 | + PyObject * terminal_set_string_at(PyObject *self, PyObject *args) { | ||
41 | + | ||
42 | + int row, col, rc; | ||
43 | + const char *text; | ||
44 | + | ||
45 | + if (!PyArg_ParseTuple(args, "iis", &row, &col, &text)) { | ||
46 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
47 | + return NULL; | ||
48 | + } | ||
49 | + | ||
50 | + try { | ||
51 | + | ||
52 | + rc = ((pw3270_TerminalObject *) self)->session->set_string_at(row,col,text); | ||
53 | + | ||
54 | + } catch(std::exception &e) { | ||
55 | + | ||
56 | + PyErr_SetString(terminalError, e.what()); | ||
57 | + return NULL; | ||
58 | + } | ||
59 | + | ||
60 | + return PyLong_FromLong(rc); | ||
61 | + | ||
62 | + } | ||
63 | + | ||
64 | + PyObject * terminal_set_cursor_at(PyObject *self, PyObject *args) { | ||
65 | + | ||
66 | + int row, col, rc; | ||
67 | + | ||
68 | + if (!PyArg_ParseTuple(args, "ii", &row, &col)) { | ||
69 | + PyErr_SetString(terminalError, strerror(EINVAL)); | ||
70 | + return NULL; | ||
71 | + } | ||
72 | + | ||
73 | + try { | ||
74 | + | ||
75 | + rc = ((pw3270_TerminalObject *) self)->session->set_cursor_position(row,col); | ||
76 | + | ||
77 | + } catch(std::exception &e) { | ||
78 | + | ||
79 | + PyErr_SetString(terminalError, e.what()); | ||
80 | + return NULL; | ||
81 | + } | ||
82 | + | ||
83 | + return PyLong_FromLong(rc); | ||
84 | + | ||
85 | + } | ||
86 | + |
src/get.cc
@@ -1,154 +0,0 @@ | @@ -1,154 +0,0 @@ | ||
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 | - * Referências: | ||
29 | - * | ||
30 | - * <https://docs.python.org/2/extending/newtypes.html> | ||
31 | - * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
32 | - * | ||
33 | - */ | ||
34 | - | ||
35 | - #include "private.h" | ||
36 | - | ||
37 | - | ||
38 | -/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
39 | - | ||
40 | -PyObject * terminal_get_version(PyObject *self, PyObject *args) { | ||
41 | - | ||
42 | - return PyString_FromString( ((pw3270_TerminalObject *) self)->session->get_version().c_str() ); | ||
43 | - | ||
44 | -} | ||
45 | - | ||
46 | -PyObject * terminal_get_revision(PyObject *self, PyObject *args) { | ||
47 | - | ||
48 | - return PyString_FromString( ((pw3270_TerminalObject *) self)->session->get_revision().c_str() ); | ||
49 | - | ||
50 | -} | ||
51 | - | ||
52 | -PyObject * terminal_is_connected(PyObject *self, PyObject *args) { | ||
53 | - | ||
54 | - return PyBool_FromLong( ((pw3270_TerminalObject *) self)->session->is_connected() ); | ||
55 | - | ||
56 | -} | ||
57 | - | ||
58 | -PyObject * terminal_is_ready(PyObject *self, PyObject *args) { | ||
59 | - | ||
60 | - return PyBool_FromLong( ((pw3270_TerminalObject *) self)->session->is_ready() ); | ||
61 | - | ||
62 | -} | ||
63 | - | ||
64 | -PyObject * terminal_is_protected_at(PyObject *self, PyObject *args) { | ||
65 | - | ||
66 | - int rc, row, col; | ||
67 | - | ||
68 | - if (!PyArg_ParseTuple(args, "ii", &row, &col)) { | ||
69 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
70 | - return NULL; | ||
71 | - } | ||
72 | - | ||
73 | - try { | ||
74 | - | ||
75 | - rc = ((pw3270_TerminalObject *) self)->session->get_is_protected_at(row,col); | ||
76 | - | ||
77 | - } catch(std::exception &e) { | ||
78 | - | ||
79 | - PyErr_SetString(terminalError, e.what()); | ||
80 | - return NULL; | ||
81 | - } | ||
82 | - | ||
83 | - return PyBool_FromLong( rc ); | ||
84 | - | ||
85 | -} | ||
86 | - | ||
87 | - | ||
88 | -PyObject * terminal_cmp_string_at(PyObject *self, PyObject *args) { | ||
89 | - | ||
90 | - int row, col, rc; | ||
91 | - const char *text; | ||
92 | - | ||
93 | - if (!PyArg_ParseTuple(args, "iis", &row, &col, &text)) { | ||
94 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
95 | - return NULL; | ||
96 | - } | ||
97 | - | ||
98 | - try { | ||
99 | - | ||
100 | - rc = ((pw3270_TerminalObject *) self)->session->cmp_string_at(row,col,text); | ||
101 | - | ||
102 | - } catch(std::exception &e) { | ||
103 | - | ||
104 | - PyErr_SetString(terminalError, e.what()); | ||
105 | - return NULL; | ||
106 | - } | ||
107 | - | ||
108 | - return PyLong_FromLong(rc); | ||
109 | - | ||
110 | -} | ||
111 | - | ||
112 | -PyObject * terminal_get_string_at(PyObject *self, PyObject *args) { | ||
113 | - | ||
114 | - int row, col, sz; | ||
115 | - string rc; | ||
116 | - | ||
117 | - if (!PyArg_ParseTuple(args, "iii", &row, &col, &sz)) { | ||
118 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
119 | - return NULL; | ||
120 | - } | ||
121 | - | ||
122 | - try { | ||
123 | - | ||
124 | - rc = ((pw3270_TerminalObject *) self)->session->get_string_at(row,col,sz); | ||
125 | - | ||
126 | - } catch(std::exception &e) { | ||
127 | - | ||
128 | - PyErr_SetString(terminalError, e.what()); | ||
129 | - return NULL; | ||
130 | - } | ||
131 | - | ||
132 | - return PyString_FromString(rc.c_str()); | ||
133 | - | ||
134 | -} | ||
135 | - | ||
136 | -PyObject * terminal_get_contents(PyObject *self) { | ||
137 | - | ||
138 | - string rc; | ||
139 | - | ||
140 | - try { | ||
141 | - | ||
142 | - rc = ((pw3270_TerminalObject *) self)->session->get_string(); | ||
143 | - | ||
144 | - } catch(std::exception &e) { | ||
145 | - | ||
146 | - PyErr_SetString(terminalError, e.what()); | ||
147 | - return NULL; | ||
148 | - } | ||
149 | - | ||
150 | - return PyString_FromString(rc.c_str()); | ||
151 | - | ||
152 | - | ||
153 | - | ||
154 | -} |
@@ -0,0 +1,51 @@ | @@ -0,0 +1,51 @@ | ||
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 Descrição do aplicativo. | ||
35 | + */ | ||
36 | + #undef PACKAGE_DESCRIPTION | ||
37 | + | ||
38 | + /** | ||
39 | + * @brief Indica se o compilador atual possui suporte a "visibility" | ||
40 | + * | ||
41 | + * Quando disponível indica que o compilador atual permite tornar | ||
42 | + * visíveis numa biblioteca apenas as funções declaradas para isso | ||
43 | + * evitando que todos os símbolos fiquem visíveis. | ||
44 | + * | ||
45 | + * Isso permite um melhor controle sobre quais funções podem ser usados | ||
46 | + * pelo programa principal. | ||
47 | + * | ||
48 | + */ | ||
49 | + #undef HAVE_GNUC_VISIBILITY | ||
50 | + | ||
51 | +#endif // CONFIG_H_INCLUDED |
@@ -0,0 +1,115 @@ | @@ -0,0 +1,115 @@ | ||
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 | +#ifndef PRIVATE_H_INCLUDED | ||
31 | + | ||
32 | + #define PRIVATE_H_INCLUDED | ||
33 | + | ||
34 | + // http://stackoverflow.com/questions/28683358/error-hypot-has-not-been-declared-in-cmath-while-trying-to-embed-python | ||
35 | + #include <cmath> | ||
36 | + | ||
37 | + // https://lists.gt.net/python/dev/340073 | ||
38 | + #pragma GCC diagnostic push | ||
39 | + #pragma GCC system_header | ||
40 | + #include <Python.h> | ||
41 | + #pragma GCC diagnostic pop | ||
42 | + | ||
43 | + #include <pw3270/pw3270cpp.h> | ||
44 | + #include "config.h" | ||
45 | + | ||
46 | + #if defined(_WIN32) | ||
47 | + | ||
48 | + #include <windows.h> | ||
49 | + | ||
50 | + #define DLL_PRIVATE extern | ||
51 | + #define DLL_PUBLIC extern __declspec (dllexport) | ||
52 | + | ||
53 | + #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) | ||
54 | + | ||
55 | + #define DLL_PRIVATE __hidden extern | ||
56 | + #define DLL_PUBLIC extern | ||
57 | + | ||
58 | + #elif defined (HAVE_GNUC_VISIBILITY) | ||
59 | + | ||
60 | + #define DLL_PRIVATE __attribute__((visibility("hidden"))) extern | ||
61 | + #define DLL_PUBLIC __attribute__((visibility("default"))) extern | ||
62 | + | ||
63 | + #else | ||
64 | + | ||
65 | + #error Unable to set visibility attribute | ||
66 | + | ||
67 | + #endif | ||
68 | + | ||
69 | + | ||
70 | + using namespace std; | ||
71 | + | ||
72 | + typedef struct { | ||
73 | + | ||
74 | + PyObject_HEAD | ||
75 | + | ||
76 | + PW3270_NAMESPACE::session * session; | ||
77 | + | ||
78 | + } pw3270_TerminalObject; | ||
79 | + | ||
80 | + extern PyObject * terminalError; | ||
81 | + | ||
82 | + extern "C" { | ||
83 | + | ||
84 | + DLL_PRIVATE PyObject * terminal_new(PyTypeObject *type, PyObject *args, PyObject *kwds); | ||
85 | + DLL_PRIVATE int terminal_init(pw3270_TerminalObject *self, PyObject *args, PyObject *kwds); | ||
86 | + DLL_PRIVATE void terminal_dealloc(pw3270_TerminalObject * self); | ||
87 | + | ||
88 | + DLL_PRIVATE PyObject * terminal_get_version(PyObject *self, PyObject *args); | ||
89 | + DLL_PRIVATE PyObject * terminal_get_revision(PyObject *self, PyObject *args); | ||
90 | + | ||
91 | + DLL_PRIVATE PyObject * terminal_is_connected(PyObject *self, PyObject *args); | ||
92 | + DLL_PRIVATE PyObject * terminal_is_ready(PyObject *self, PyObject *args); | ||
93 | + | ||
94 | + DLL_PRIVATE PyObject * terminal_connect(PyObject *self, PyObject *args); | ||
95 | + DLL_PRIVATE PyObject * terminal_disconnect(PyObject *self, PyObject *args); | ||
96 | + | ||
97 | + DLL_PRIVATE PyObject * terminal_get_string_at(PyObject *self, PyObject *args); | ||
98 | + DLL_PRIVATE PyObject * terminal_get_contents(PyObject *self); | ||
99 | + DLL_PRIVATE PyObject * terminal_set_string_at(PyObject *self, PyObject *args); | ||
100 | + DLL_PRIVATE PyObject * terminal_cmp_string_at(PyObject *self, PyObject *args); | ||
101 | + | ||
102 | + DLL_PRIVATE PyObject * terminal_pfkey(PyObject *self, PyObject *args); | ||
103 | + DLL_PRIVATE PyObject * terminal_pakey(PyObject *self, PyObject *args); | ||
104 | + DLL_PRIVATE PyObject * terminal_enter(PyObject *self, PyObject *args); | ||
105 | + DLL_PRIVATE PyObject * terminal_action(PyObject *self, PyObject *args); | ||
106 | + | ||
107 | + DLL_PRIVATE PyObject * terminal_is_protected_at(PyObject *self, PyObject *args); | ||
108 | + DLL_PRIVATE PyObject * terminal_set_cursor_at(PyObject *self, PyObject *args); | ||
109 | + | ||
110 | + DLL_PRIVATE PyObject * terminal_wait_for_ready(PyObject *self, PyObject *args); | ||
111 | + DLL_PRIVATE PyObject * terminal_wait_for_string_at(PyObject *self, PyObject *args); | ||
112 | + | ||
113 | + } | ||
114 | + | ||
115 | +#endif // PRIVATE_H_INCLUDED |
src/init.cc
@@ -1,87 +0,0 @@ | @@ -1,87 +0,0 @@ | ||
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 py3270.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 | - * Implementa métodos básicos inicio/final do objeto python | ||
29 | - * | ||
30 | - * Referências: | ||
31 | - * | ||
32 | - * <https://docs.python.org/2/extending/newtypes.html> | ||
33 | - * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
34 | - * | ||
35 | - */ | ||
36 | - | ||
37 | - #include "private.h" | ||
38 | - | ||
39 | - | ||
40 | -/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
41 | - | ||
42 | -PyObject * terminal_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { | ||
43 | - | ||
44 | - PW3270_NAMESPACE::session * session; | ||
45 | - const char *id = ""; | ||
46 | - | ||
47 | - if (!PyArg_ParseTuple(args, "s", &id)) { | ||
48 | - id = ""; | ||
49 | - } | ||
50 | - | ||
51 | - trace("%s(%s)",__FUNCTION__,id); | ||
52 | - | ||
53 | - try { | ||
54 | - | ||
55 | - session = PW3270_NAMESPACE::session::create(id); | ||
56 | - | ||
57 | - } catch(std::exception &e) { | ||
58 | - | ||
59 | - trace("%s failed: %s",__FUNCTION__,e.what()); | ||
60 | - PyErr_SetString(terminalError, e.what()); | ||
61 | - return NULL; | ||
62 | - | ||
63 | - } | ||
64 | - | ||
65 | - pw3270_TerminalObject *self = (pw3270_TerminalObject *) type->tp_alloc(type, 0); | ||
66 | - | ||
67 | - self->session = session; | ||
68 | - | ||
69 | - return (PyObject *)self; | ||
70 | -} | ||
71 | - | ||
72 | - | ||
73 | -int terminal_init(pw3270_TerminalObject *self, PyObject *args, PyObject *kwds) { | ||
74 | - | ||
75 | - return 0; | ||
76 | - | ||
77 | -} | ||
78 | - | ||
79 | -void terminal_dealloc(pw3270_TerminalObject * self) { | ||
80 | - | ||
81 | - trace("%s",__FUNCTION__); | ||
82 | - | ||
83 | - delete self->session; | ||
84 | - | ||
85 | - self->ob_type->tp_free((PyObject*)self); | ||
86 | - | ||
87 | -} |
src/misc.cc
@@ -1,134 +0,0 @@ | @@ -1,134 +0,0 @@ | ||
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 misc.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 | - * Implementa métodos básicos inicio/final do objeto python | ||
29 | - * | ||
30 | - * Referências: | ||
31 | - * | ||
32 | - * <https://docs.python.org/2/extending/newtypes.html> | ||
33 | - * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
34 | - * | ||
35 | - */ | ||
36 | - | ||
37 | - #include "private.h" | ||
38 | - | ||
39 | - | ||
40 | -/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
41 | - | ||
42 | - PyObject * terminal_connect(PyObject *self, PyObject *args) { | ||
43 | - | ||
44 | - int rc = -1; | ||
45 | - int wait = 60; | ||
46 | - const char * host = ""; | ||
47 | - | ||
48 | - if (!PyArg_ParseTuple(args, "s|i", &host, &wait)) { | ||
49 | - PyErr_SetString(terminalError, "connect requires a host URL"); | ||
50 | - return NULL; | ||
51 | - } | ||
52 | - | ||
53 | - try { | ||
54 | - | ||
55 | - rc = ((pw3270_TerminalObject *) self)->session->connect(host,wait); | ||
56 | - | ||
57 | - } catch(std::exception &e) { | ||
58 | - | ||
59 | - PyErr_SetString(terminalError, e.what()); | ||
60 | - return NULL; | ||
61 | - } | ||
62 | - | ||
63 | - return PyLong_FromLong(rc); | ||
64 | - | ||
65 | - } | ||
66 | - | ||
67 | - PyObject * terminal_disconnect(PyObject *self, PyObject *args) { | ||
68 | - | ||
69 | - int rc = -1; | ||
70 | - | ||
71 | - try { | ||
72 | - | ||
73 | - rc = ((pw3270_TerminalObject *) self)->session->disconnect(); | ||
74 | - | ||
75 | - } catch(std::exception &e) { | ||
76 | - | ||
77 | - PyErr_SetString(terminalError, e.what()); | ||
78 | - return NULL; | ||
79 | - } | ||
80 | - | ||
81 | - return PyLong_FromLong(rc); | ||
82 | - | ||
83 | - } | ||
84 | - | ||
85 | - PyObject * terminal_wait_for_ready(PyObject *self, PyObject *args) { | ||
86 | - | ||
87 | - int rc; | ||
88 | - int timeout = 60; | ||
89 | - | ||
90 | - if (!PyArg_ParseTuple(args, "|i", &timeout)) { | ||
91 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
92 | - return NULL; | ||
93 | - } | ||
94 | - | ||
95 | - try { | ||
96 | - | ||
97 | - rc = ((pw3270_TerminalObject *) self)->session->wait_for_ready(timeout); | ||
98 | - | ||
99 | - } catch(std::exception &e) { | ||
100 | - | ||
101 | - PyErr_SetString(terminalError, e.what()); | ||
102 | - return NULL; | ||
103 | - } | ||
104 | - | ||
105 | - return PyLong_FromLong(rc); | ||
106 | - | ||
107 | - } | ||
108 | - | ||
109 | - | ||
110 | - PyObject * terminal_wait_for_string_at(PyObject *self, PyObject *args) { | ||
111 | - | ||
112 | - int row, col, rc; | ||
113 | - int timeout = 10; | ||
114 | - const char *text; | ||
115 | - | ||
116 | - if (!PyArg_ParseTuple(args, "iis|i", &row, &col, &text, &timeout)) { | ||
117 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
118 | - return NULL; | ||
119 | - } | ||
120 | - | ||
121 | - try { | ||
122 | - | ||
123 | - rc = ((pw3270_TerminalObject *) self)->session->wait_for_string_at(row,col,text,timeout); | ||
124 | - | ||
125 | - } catch(std::exception &e) { | ||
126 | - | ||
127 | - PyErr_SetString(terminalError, e.what()); | ||
128 | - return NULL; | ||
129 | - } | ||
130 | - | ||
131 | - return PyLong_FromLong(rc); | ||
132 | - | ||
133 | - } | ||
134 | - |
src/private.h
@@ -1,115 +0,0 @@ | @@ -1,115 +0,0 @@ | ||
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 | -#ifndef PRIVATE_H_INCLUDED | ||
31 | - | ||
32 | - #define PRIVATE_H_INCLUDED | ||
33 | - | ||
34 | - // http://stackoverflow.com/questions/28683358/error-hypot-has-not-been-declared-in-cmath-while-trying-to-embed-python | ||
35 | - #include <cmath> | ||
36 | - | ||
37 | - // https://lists.gt.net/python/dev/340073 | ||
38 | - #pragma GCC diagnostic push | ||
39 | - #pragma GCC system_header | ||
40 | - #include <Python.h> | ||
41 | - #pragma GCC diagnostic pop | ||
42 | - | ||
43 | - #include <pw3270/pw3270cpp.h> | ||
44 | - #include "config.h" | ||
45 | - | ||
46 | - #if defined(_WIN32) | ||
47 | - | ||
48 | - #include <windows.h> | ||
49 | - | ||
50 | - #define DLL_PRIVATE extern | ||
51 | - #define DLL_PUBLIC extern __declspec (dllexport) | ||
52 | - | ||
53 | - #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) | ||
54 | - | ||
55 | - #define DLL_PRIVATE __hidden extern | ||
56 | - #define DLL_PUBLIC extern | ||
57 | - | ||
58 | - #elif defined (HAVE_GNUC_VISIBILITY) | ||
59 | - | ||
60 | - #define DLL_PRIVATE __attribute__((visibility("hidden"))) extern | ||
61 | - #define DLL_PUBLIC __attribute__((visibility("default"))) extern | ||
62 | - | ||
63 | - #else | ||
64 | - | ||
65 | - #error Unable to set visibility attribute | ||
66 | - | ||
67 | - #endif | ||
68 | - | ||
69 | - | ||
70 | - using namespace std; | ||
71 | - | ||
72 | - typedef struct { | ||
73 | - | ||
74 | - PyObject_HEAD | ||
75 | - | ||
76 | - PW3270_NAMESPACE::session * session; | ||
77 | - | ||
78 | - } pw3270_TerminalObject; | ||
79 | - | ||
80 | - extern PyObject * terminalError; | ||
81 | - | ||
82 | - extern "C" { | ||
83 | - | ||
84 | - DLL_PRIVATE PyObject * terminal_new(PyTypeObject *type, PyObject *args, PyObject *kwds); | ||
85 | - DLL_PRIVATE int terminal_init(pw3270_TerminalObject *self, PyObject *args, PyObject *kwds); | ||
86 | - DLL_PRIVATE void terminal_dealloc(pw3270_TerminalObject * self); | ||
87 | - | ||
88 | - DLL_PRIVATE PyObject * terminal_get_version(PyObject *self, PyObject *args); | ||
89 | - DLL_PRIVATE PyObject * terminal_get_revision(PyObject *self, PyObject *args); | ||
90 | - | ||
91 | - DLL_PRIVATE PyObject * terminal_is_connected(PyObject *self, PyObject *args); | ||
92 | - DLL_PRIVATE PyObject * terminal_is_ready(PyObject *self, PyObject *args); | ||
93 | - | ||
94 | - DLL_PRIVATE PyObject * terminal_connect(PyObject *self, PyObject *args); | ||
95 | - DLL_PRIVATE PyObject * terminal_disconnect(PyObject *self, PyObject *args); | ||
96 | - | ||
97 | - DLL_PRIVATE PyObject * terminal_get_string_at(PyObject *self, PyObject *args); | ||
98 | - DLL_PRIVATE PyObject * terminal_get_contents(PyObject *self); | ||
99 | - DLL_PRIVATE PyObject * terminal_set_string_at(PyObject *self, PyObject *args); | ||
100 | - DLL_PRIVATE PyObject * terminal_cmp_string_at(PyObject *self, PyObject *args); | ||
101 | - | ||
102 | - DLL_PRIVATE PyObject * terminal_pfkey(PyObject *self, PyObject *args); | ||
103 | - DLL_PRIVATE PyObject * terminal_pakey(PyObject *self, PyObject *args); | ||
104 | - DLL_PRIVATE PyObject * terminal_enter(PyObject *self, PyObject *args); | ||
105 | - DLL_PRIVATE PyObject * terminal_action(PyObject *self, PyObject *args); | ||
106 | - | ||
107 | - DLL_PRIVATE PyObject * terminal_is_protected_at(PyObject *self, PyObject *args); | ||
108 | - DLL_PRIVATE PyObject * terminal_set_cursor_at(PyObject *self, PyObject *args); | ||
109 | - | ||
110 | - DLL_PRIVATE PyObject * terminal_wait_for_ready(PyObject *self, PyObject *args); | ||
111 | - DLL_PRIVATE PyObject * terminal_wait_for_string_at(PyObject *self, PyObject *args); | ||
112 | - | ||
113 | - } | ||
114 | - | ||
115 | -#endif // PRIVATE_H_INCLUDED |
src/py3270.cc
@@ -1,167 +0,0 @@ | @@ -1,167 +0,0 @@ | ||
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 py3270.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 | - * Implementa métodos básicos para a extensão python. | ||
29 | - * | ||
30 | - * Referências: | ||
31 | - * | ||
32 | - * <https://docs.python.org/2/extending/newtypes.html> | ||
33 | - * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
34 | - * | ||
35 | - */ | ||
36 | - | ||
37 | - #include "private.h" | ||
38 | - | ||
39 | -/*---[ Globals ]------------------------------------------------------------------------------------*/ | ||
40 | - | ||
41 | - PyObject * terminalError = NULL; | ||
42 | - | ||
43 | -/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
44 | - | ||
45 | -static PyObject * get_revision(PyObject *self, PyObject *args) { | ||
46 | - | ||
47 | -#ifdef PACKAGE_REVISION | ||
48 | - return PyLong_FromLong(atoi(PACKAGE_REVISION)); | ||
49 | -#else | ||
50 | - return PyLong_FromLong(BUILD_DATE); | ||
51 | -#endif // PACKAGE_REVISION | ||
52 | - | ||
53 | -} | ||
54 | - | ||
55 | -static PyMethodDef terminal_methods[] = { | ||
56 | - | ||
57 | - { "Version", terminal_get_version, METH_NOARGS, "Get the lib3270 version string." }, | ||
58 | - { "Revision", terminal_get_revision, METH_NOARGS, "Get the lib3270 revision number." }, | ||
59 | - | ||
60 | - { "IsConnected", terminal_is_connected, METH_NOARGS, "True if the terminal is connected to the host." }, | ||
61 | - { "IsReady", terminal_is_ready, METH_NOARGS, "True if the terminal has finished network activity." }, | ||
62 | - { "IsProtected", terminal_is_protected_at, METH_VARARGS, "True if the position is read-only." }, | ||
63 | - | ||
64 | - { "SetCursorPosition", terminal_set_cursor_at, METH_VARARGS, "Set cursor position." }, | ||
65 | - | ||
66 | - { "WaitForStringAt", terminal_wait_for_string_at, METH_VARARGS, "Wait for string at position" }, | ||
67 | - { "WaitForReady", terminal_wait_for_ready, METH_VARARGS, "Wait for network communication to finish" }, | ||
68 | - | ||
69 | - { "Connect", terminal_connect, METH_VARARGS, "Connect to the host." }, | ||
70 | - { "Disconnect", terminal_disconnect, METH_NOARGS, "Disconnect from host." }, | ||
71 | - | ||
72 | - { "CmpStringAt", terminal_cmp_string_at, METH_VARARGS, "Compare string with terminal buffer at the position." }, | ||
73 | - { "GetStringAt", terminal_get_string_at, METH_VARARGS, "Get string from terminal buffer." }, | ||
74 | - { "SetStringAt", terminal_set_string_at, METH_VARARGS, "Set string in terminal buffer." }, | ||
75 | - | ||
76 | - { "PFKey", terminal_pfkey, METH_VARARGS, "Send PF key." }, | ||
77 | - { "PAKey", terminal_pakey, METH_VARARGS, "Send PA key." }, | ||
78 | - { "Enter", terminal_enter, METH_NOARGS, "Send Enter Key." }, | ||
79 | - { "Action", terminal_action, METH_VARARGS, "Send Action by name." }, | ||
80 | - | ||
81 | - {NULL} // Sentinel | ||
82 | - | ||
83 | -}; | ||
84 | - | ||
85 | -/* | ||
86 | -static PyMemberDef terminal_members[] = { | ||
87 | - | ||
88 | - { NULL } // Sentinel | ||
89 | - | ||
90 | -}; | ||
91 | -*/ | ||
92 | - | ||
93 | -static PyTypeObject pw3270_TerminalType = { | ||
94 | - PyObject_HEAD_INIT(NULL) | ||
95 | - 0, /*ob_size*/ | ||
96 | - "py3270.terminal", /*tp_name*/ | ||
97 | - sizeof(pw3270_TerminalObject), /*tp_basicsize*/ | ||
98 | - 0, /*tp_itemsize*/ | ||
99 | - (destructor) terminal_dealloc, /*tp_dealloc*/ | ||
100 | - 0, /*tp_print*/ | ||
101 | - 0, /*tp_getattr*/ | ||
102 | - 0, /*tp_setattr*/ | ||
103 | - 0, /*tp_compare*/ | ||
104 | - 0, /*tp_repr*/ | ||
105 | - 0, /*tp_as_number*/ | ||
106 | - 0, /*tp_as_sequence*/ | ||
107 | - 0, /*tp_as_mapping*/ | ||
108 | - 0, /*tp_hash */ | ||
109 | - 0, /*tp_call*/ | ||
110 | - terminal_get_contents, /*tp_str*/ | ||
111 | - 0, /*tp_getattro*/ | ||
112 | - 0, /*tp_setattro*/ | ||
113 | - 0, /*tp_as_buffer*/ | ||
114 | - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ | ||
115 | - "3270 terminal object", /* tp_doc */ | ||
116 | - 0, /* tp_traverse */ | ||
117 | - 0, /* tp_clear */ | ||
118 | - 0, /* tp_richcompare */ | ||
119 | - 0, /* tp_weaklistoffset */ | ||
120 | - 0, /* tp_iter */ | ||
121 | - 0, /* tp_iternext */ | ||
122 | - terminal_methods, /* tp_methods */ | ||
123 | - 0, // terminal_members, /* tp_members */ | ||
124 | - 0, /* tp_getset */ | ||
125 | - 0, /* tp_base */ | ||
126 | - 0, /* tp_dict */ | ||
127 | - 0, /* tp_descr_get */ | ||
128 | - 0, /* tp_descr_set */ | ||
129 | - 0, /* tp_dictoffset */ | ||
130 | - (initproc) terminal_init, /* tp_init */ | ||
131 | - 0, /* tp_alloc */ | ||
132 | - terminal_new, /* tp_new */ | ||
133 | - | ||
134 | -}; | ||
135 | - | ||
136 | -static PyMethodDef MyMethods[] = { | ||
137 | - | ||
138 | - { "Revision", get_revision, METH_VARARGS, "Get module revision." }, | ||
139 | - | ||
140 | - {NULL, NULL, 0, NULL} /* Sentinel */ | ||
141 | - | ||
142 | -}; | ||
143 | - | ||
144 | -PyMODINIT_FUNC initpy3270(void) { | ||
145 | - | ||
146 | - // Cria o módulo | ||
147 | - | ||
148 | - PyObject *m = Py_InitModule("py3270", MyMethods); | ||
149 | - | ||
150 | - if (m == NULL) { | ||
151 | - return; | ||
152 | - } | ||
153 | - | ||
154 | - // Adiciona objeto para tratamento de erros. | ||
155 | - terminalError = PyErr_NewException((char *) "py3270.error", NULL, NULL); | ||
156 | - | ||
157 | - (void) Py_INCREF(terminalError); | ||
158 | - PyModule_AddObject(m, "error", terminalError); | ||
159 | - | ||
160 | - // Adiciona terminal | ||
161 | - if(PyType_Ready(&pw3270_TerminalType) < 0) | ||
162 | - return | ||
163 | - | ||
164 | - (void) Py_INCREF(&pw3270_TerminalType); | ||
165 | - PyModule_AddObject(m, "Terminal", (PyObject *)&pw3270_TerminalType); | ||
166 | - | ||
167 | -} |
src/set.cc
@@ -1,86 +0,0 @@ | @@ -1,86 +0,0 @@ | ||
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 | - * Referências: | ||
29 | - * | ||
30 | - * <https://docs.python.org/2/extending/newtypes.html> | ||
31 | - * <https://docs.python.org/2.7/extending/extending.html#a-simple-example> | ||
32 | - * | ||
33 | - */ | ||
34 | - | ||
35 | - #include "private.h" | ||
36 | - | ||
37 | - | ||
38 | -/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
39 | - | ||
40 | - PyObject * terminal_set_string_at(PyObject *self, PyObject *args) { | ||
41 | - | ||
42 | - int row, col, rc; | ||
43 | - const char *text; | ||
44 | - | ||
45 | - if (!PyArg_ParseTuple(args, "iis", &row, &col, &text)) { | ||
46 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
47 | - return NULL; | ||
48 | - } | ||
49 | - | ||
50 | - try { | ||
51 | - | ||
52 | - rc = ((pw3270_TerminalObject *) self)->session->set_string_at(row,col,text); | ||
53 | - | ||
54 | - } catch(std::exception &e) { | ||
55 | - | ||
56 | - PyErr_SetString(terminalError, e.what()); | ||
57 | - return NULL; | ||
58 | - } | ||
59 | - | ||
60 | - return PyLong_FromLong(rc); | ||
61 | - | ||
62 | - } | ||
63 | - | ||
64 | - PyObject * terminal_set_cursor_at(PyObject *self, PyObject *args) { | ||
65 | - | ||
66 | - int row, col, rc; | ||
67 | - | ||
68 | - if (!PyArg_ParseTuple(args, "ii", &row, &col)) { | ||
69 | - PyErr_SetString(terminalError, strerror(EINVAL)); | ||
70 | - return NULL; | ||
71 | - } | ||
72 | - | ||
73 | - try { | ||
74 | - | ||
75 | - rc = ((pw3270_TerminalObject *) self)->session->set_cursor_position(row,col); | ||
76 | - | ||
77 | - } catch(std::exception &e) { | ||
78 | - | ||
79 | - PyErr_SetString(terminalError, e.what()); | ||
80 | - return NULL; | ||
81 | - } | ||
82 | - | ||
83 | - return PyLong_FromLong(rc); | ||
84 | - | ||
85 | - } | ||
86 | - |