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 | 1 | #!/bin/bash |
2 | 2 | |
3 | -APPLEVEL="0" | |
4 | - | |
5 | 3 | test -n "$srcdir" || srcdir=`dirname "$0"` |
6 | 4 | test -n "$srcdir" || srcdir=. |
7 | 5 | |
8 | 6 | olddir=`pwd` |
9 | 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 | 9 | aclocal |
77 | 10 | if test $? != 0 ; then |
78 | 11 | echo "aclocal failed." |
... | ... | @@ -85,10 +18,12 @@ if test $? != 0 ; then |
85 | 18 | exit -1 |
86 | 19 | fi |
87 | 20 | |
21 | +mkdir -p scripts | |
22 | +automake --add-missing 2> /dev/null | true | |
23 | + | |
88 | 24 | cd "$olddir" |
89 | 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 | 27 | dnl Process this file with autoconf to produce a configure script. |
28 | 28 | |
29 | 29 | dnl The minimum version of autoconf required. |
30 | -AC_PREREQ(2.59) | |
30 | +AC_PREREQ(2.61) | |
31 | 31 | |
32 | 32 | dnl Initialise automake with the package name, version and |
33 | 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 | 36 | dnl Place auxilliary scripts here. |
37 | 37 | AC_CONFIG_AUX_DIR([scripts]) |
... | ... | @@ -40,7 +40,7 @@ dnl Compute the canonical host-system type |
40 | 40 | AC_CANONICAL_HOST |
41 | 41 | |
42 | 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 | 45 | dnl Initialise automake stuff. |
46 | 46 | AM_INIT_AUTOMAKE |
... | ... | @@ -49,8 +49,8 @@ dnl Check for iconv |
49 | 49 | AM_ICONV |
50 | 50 | |
51 | 51 | dnl Checks for programs. |
52 | -AC_PROG_CXX | |
53 | 52 | AC_PROG_CC |
53 | +AC_PROG_CXX | |
54 | 54 | AC_PROG_SED |
55 | 55 | AC_PROG_LN_S |
56 | 56 | |
... | ... | @@ -59,123 +59,114 @@ AC_LANG([C++]) |
59 | 59 | dnl --------------------------------------------------------------------------- |
60 | 60 | dnl Initialize defaults |
61 | 61 | dnl --------------------------------------------------------------------------- |
62 | -DLLFLAGS="-shared -Wl,-soname,\$(@F)" | |
63 | -DBG_CFLAGS="-DDEBUG=1" | |
62 | + | |
63 | +DBG_CFLAGS="-g -fstack-check -DDEBUG=1" | |
64 | 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 | 71 | dnl --------------------------------------------------------------------------- |
67 | -dnl Check for OS specifics | |
72 | +dnl Version info | |
68 | 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 | 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 | 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 | 161 | dnl --------------------------------------------------------------------------- |
167 | -dnl Check for libintl | |
162 | +dnl Check for other programs | |
168 | 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 | 171 | dnl --------------------------------------------------------------------------- |
181 | 172 | dnl Check for C++ 2011 support |
... | ... | @@ -199,118 +190,95 @@ AS_VAR_POPDEF([CACHEVAR])dnl |
199 | 190 | AX_CHECK_COMPILE_FLAG([-std=gnu++11], [CFLAGS="$CFLAGS -std=gnu++11"]) |
200 | 191 | |
201 | 192 | dnl --------------------------------------------------------------------------- |
202 | -dnl Check for ELF symbol visibility support | |
193 | +dnl Check for IPC3270 | |
203 | 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 | 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 | 231 | dnl --------------------------------------------------------------------------- |
256 | -dnl Check for compiler visibility flag | |
232 | +dnl Check for Python | |
257 | 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 | 241 | dnl --------------------------------------------------------------------------- |
273 | 242 | dnl Check for pic |
274 | 243 | dnl --------------------------------------------------------------------------- |
244 | + | |
275 | 245 | AC_ARG_ENABLE([pic], |
276 | 246 | [AS_HELP_STRING([--disable-pic], [disable support for PIC libraries (required to compile on 64bits)])], |
277 | 247 | [ |
278 | 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 | 262 | esac |
263 | + | |
293 | 264 | ]) |
294 | 265 | |
295 | 266 | if test "$app_cv_pic" == "yes"; then |
296 | 267 | CFLAGS="$CFLAGS -fPIC" |
268 | + CXXFLAGS="$CXXFLAGS -fPIC" | |
297 | 269 | fi |
298 | 270 | |
299 | 271 | dnl --------------------------------------------------------------------------- |
300 | -dnl Output config | |
301 | -dnl --------------------------------------------------------------------------- | |
302 | - | |
303 | -AC_SUBST(BASEDIR,$ac_pwd) | |
304 | - | |
305 | -dnl --------------------------------------------------------------------------- | |
306 | 272 | dnl Configure which files to generate. |
307 | 273 | dnl --------------------------------------------------------------------------- |
308 | 274 | |
309 | -AC_CONFIG_FILES(Makefile) | |
275 | +# AC_CONFIG_FILES(Makefile) | |
310 | 276 | |
311 | 277 | dnl --------------------------------------------------------------------------- |
312 | 278 | dnl Output the generated config.status script. |
313 | 279 | dnl --------------------------------------------------------------------------- |
280 | +AC_SUBST(BASEDIR,$ac_pwd) | |
281 | + | |
314 | 282 | AC_OUTPUT |
315 | 283 | |
316 | 284 | ... | ... |
scripts/config.guess
... | ... | @@ -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 | -#! /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 | -#!/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 | -/* | |
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 | -/** | |
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 @@ |
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 @@ |
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 @@ |
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 @@ |
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 @@ |
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 @@ |
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 | -/* | |
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 @@ |
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 @@ |
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 | -/* | |
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 | -/* | |
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 | -/* | |
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 | -/* | |
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 | -/* | |
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 | - |