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