1--- misc/libtextcat-2.2/configure Thu May 22 13:39:55 2003 2+++ misc/build/libtextcat-2.2/configure Fri Sep 4 16:42:33 2015 3@@ -3451,7 +3451,7 @@ 4 ;; 5 6 # This must be Linux ELF. 7-linux-gnu*) 8+linux-gnu*|k*bsd*-gnu*) 9 case $host_cpu in 10 alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*) 11 lt_cv_deplibs_check_method=pass_all ;; 12@@ -5391,7 +5391,8 @@ 13 allow_undefined_flag= 14 no_undefined_flag= 15 need_lib_prefix=unknown 16-need_version=unknown 17+#need_version=unknown 18+need_version=no 19 # when you set need_version to no, make sure it does not cause -set_version 20 # flags to be left without arguments 21 archive_cmds= 22@@ -5785,7 +5786,7 @@ 23 # cross-compilation, but unfortunately the echo tests do not 24 # yet detect zsh echo's removal of \ escapes. Also zsh mangles 25 # `"' quotes if we put them in here... so don't! 26- archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' 27+ archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' 28 # We need to add '_' to the symbols in $export_symbols first 29 #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' 30 hardcode_direct=yes 31@@ -5793,7 +5794,7 @@ 32 whole_archive_flag_spec='-all_load $convenience' 33 ;; 34 35- freebsd1*) 36+ freebsd1.*) 37 ld_shlibs=no 38 ;; 39 40@@ -5809,7 +5810,7 @@ 41 ;; 42 43 # Unfortunately, older versions of FreeBSD 2 do not have this feature. 44- freebsd2*) 45+ freebsd2.*) 46 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 47 hardcode_direct=yes 48 hardcode_minus_L=yes 49@@ -6275,12 +6276,12 @@ 50 shlibpath_var=DYLD_LIBRARY_PATH 51 ;; 52 53-freebsd1*) 54+freebsd1.*) 55 dynamic_linker=no 56 ;; 57 58 freebsd*) 59- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` 60+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` 61 version_type=freebsd-$objformat 62 case $version_type in 63 freebsd-elf*) 64@@ -6295,7 +6296,7 @@ 65 esac 66 shlibpath_var=LD_LIBRARY_PATH 67 case $host_os in 68- freebsd2*) 69+ freebsd2.*) 70 shlibpath_overrides_runpath=yes 71 ;; 72 *) 73@@ -6364,7 +6365,7 @@ 74 ;; 75 76 # This must be Linux ELF. 77-linux-gnu*) 78+linux-gnu*|k*bsd*-gnu*) 79 version_type=linux 80 need_lib_prefix=no 81 need_version=no 82--- misc/libtextcat-2.2/src/Makefile.in Thu May 22 13:39:52 2003 83+++ misc/build/libtextcat-2.2/src/Makefile.in Mon Mar 31 11:29:14 2008 84@@ -124,20 +124,20 @@ 85 target_vendor = @target_vendor@ 86 AUTOMAKE_OPTIONS = 1.4 foreign 87 88-WARNS = -W -Wall -Wshadow -Wpointer-arith 89-IFLAGS = 90-FLAGS = -g -O3 -funroll-loops -D_THREAD_SAFE -D_GNU_SOURCE 91+#WARNS = -W -Wall -Wshadow -Wpointer-arith 92+IFLAGS = 93+#FLAGS = -g -O3 -funroll-loops -D_THREAD_SAFE -D_GNU_SOURCE 94 VERBOSE = -DVERBOSE 95 AM_CFLAGS = $(IFLAGS) $(VERBOSE) $(WARNS) $(FLAGS) 96 AM_LDFLAGS = -g 97 98 noinst_HEADERS = \ 99- common.h constants.h fingerprint.h textcat.h wg_mempool.h 100+ common.h constants.h fingerprint.h textcat.h wg_mempool.h utf8misc.h 101 102 103 lib_LTLIBRARIES = libtextcat.la 104 libtextcat_la_SOURCES = \ 105- common.c fingerprint.c textcat.c wg_mempool.c 106+ common.c fingerprint.c textcat.c wg_mempool.c utf8misc.c 107 108 109 bin_PROGRAMS = createfp 110@@ -156,7 +156,7 @@ 111 libtextcat_la_LDFLAGS = 112 libtextcat_la_LIBADD = 113 am_libtextcat_la_OBJECTS = common.lo fingerprint.lo textcat.lo \ 114- wg_mempool.lo 115+ wg_mempool.lo utf8misc.lo 116 libtextcat_la_OBJECTS = $(am_libtextcat_la_OBJECTS) 117 bin_PROGRAMS = createfp$(EXEEXT) 118 noinst_PROGRAMS = testtextcat$(EXEEXT) 119@@ -177,7 +177,8 @@ 120 @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/common.Plo ./$(DEPDIR)/createfp.Po \ 121 @AMDEP_TRUE@ ./$(DEPDIR)/fingerprint.Plo \ 122 @AMDEP_TRUE@ ./$(DEPDIR)/testtextcat.Po ./$(DEPDIR)/textcat.Plo \ 123-@AMDEP_TRUE@ ./$(DEPDIR)/wg_mempool.Plo 124+@AMDEP_TRUE@ ./$(DEPDIR)/wg_mempool.Plo \ 125+@AMDEP_TRUE@ ./$(DEPDIR)/utf8misc.Plo 126 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 127 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 128 LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ 129@@ -213,7 +214,7 @@ 130 @rm -f stamp-h1 131 cd $(top_builddir) && $(SHELL) ./config.status src/config.h 132 133-$(srcdir)/config.h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4) 134+$(srcdir)/config.h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4) 135 cd $(top_srcdir) && $(AUTOHEADER) 136 touch $(srcdir)/config.h.in 137 138@@ -247,8 +248,8 @@ 139 echo "rm -f \"$${dir}/so_locations\""; \ 140 rm -f "$${dir}/so_locations"; \ 141 done 142-libtextcat.la: $(libtextcat_la_OBJECTS) $(libtextcat_la_DEPENDENCIES) 143- $(LINK) -rpath $(libdir) $(libtextcat_la_LDFLAGS) $(libtextcat_la_OBJECTS) $(libtextcat_la_LIBADD) $(LIBS) 144+libtextcat.la: $(libtextcat_la_OBJECTS) $(libtextcat_la_DEPENDENCIES) 145+ $(LINK) -avoid-version -rpath $(libdir) $(libtextcat_la_LDFLAGS) $(libtextcat_la_OBJECTS) $(libtextcat_la_LIBADD) $(LIBS) 146 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) 147 install-binPROGRAMS: $(bin_PROGRAMS) 148 @$(NORMAL_INSTALL) 149@@ -285,10 +286,10 @@ 150 echo " rm -f $$p $$f"; \ 151 rm -f $$p $$f ; \ 152 done 153-createfp$(EXEEXT): $(createfp_OBJECTS) $(createfp_DEPENDENCIES) 154+createfp$(EXEEXT): $(createfp_OBJECTS) $(createfp_DEPENDENCIES) 155 @rm -f createfp$(EXEEXT) 156 $(LINK) $(createfp_LDFLAGS) $(createfp_OBJECTS) $(createfp_LDADD) $(LIBS) 157-testtextcat$(EXEEXT): $(testtextcat_OBJECTS) $(testtextcat_DEPENDENCIES) 158+testtextcat$(EXEEXT): $(testtextcat_OBJECTS) $(testtextcat_DEPENDENCIES) 159 @rm -f testtextcat$(EXEEXT) 160 $(LINK) $(testtextcat_LDFLAGS) $(testtextcat_OBJECTS) $(testtextcat_LDADD) $(LIBS) 161 162@@ -304,6 +305,7 @@ 163 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testtextcat.Po@am__quote@ 164 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textcat.Plo@am__quote@ 165 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wg_mempool.Plo@am__quote@ 166+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8misc.Plo@am__quote@ 167 168 distclean-depend: 169 -rm -rf ./$(DEPDIR) 170--- misc/libtextcat-2.2/src/common.c Thu May 22 13:32:43 2003 171+++ misc/build/libtextcat-2.2/src/common.c Mon Mar 31 11:29:14 2008 172@@ -3,23 +3,23 @@ 173 * 174 * Copyright (c) 2003, WiseGuys Internet B.V. 175 * All rights reserved. 176- * 177+ * 178 * Redistribution and use in source and binary forms, with or without 179 * modification, are permitted provided that the following conditions 180 * are met: 181- * 182+ * 183 * - Redistributions of source code must retain the above copyright 184 * notice, this list of conditions and the following disclaimer. 185- * 186+ * 187 * - Redistributions in binary form must reproduce the above copyright 188 * notice, this list of conditions and the following disclaimer in the 189 * documentation and/or other materials provided with the 190 * distribution. 191- * 192+ * 193 * - Neither the name of the WiseGuys Internet B.V. nor the names of 194 * its contributors may be used to endorse or promote products derived 195 * from this software without specific prior written permission. 196- * 197+ * 198 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 199 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 200 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 201@@ -114,11 +114,11 @@ 202 wgmem_error( "Error while strduping %u bytes.\n", strlen(s) ); 203 } 204 205- return( result ); 206+ return( result ); 207 } 208 209-extern void* wg_realloc( void *ptr, size_t size ) 210-{ 211+extern void* wg_realloc( void *ptr, size_t size ) 212+{ 213 void *result; 214 215 if (!size) { 216@@ -131,7 +131,7 @@ 217 wgmem_error( "Error while reallocing %u bytes.\n", size ); 218 } 219 220- return( result ); 221+ return( result ); 222 } 223 224 extern void wg_free( void *mem ) 225@@ -148,12 +148,12 @@ 226 if ( fgets(line, size, fp) == NULL ) { 227 return NULL; 228 } 229- 230+ 231 /** kill term null **/ 232 if ( (p = strpbrk( line, "\n\r" )) ) { 233 *p = '\0'; 234- } 235- 236+ } 237+ 238 return line; 239 } 240 241@@ -164,39 +164,39 @@ 242 * 243 * ARGUMENTS: 244 * - result: 245- * 246+ * 247 * After the split, this array contains pointers to the start of each 248 * detected segment. Must be preallocated and at least as large as 249 * maxsegments. The pointers point into the dest buffer. 250- * 251- * - dest: 252- * 253+ * 254+ * - dest: 255+ * 256 * String into which result points as an index. Must be preallocated, and 257 * at least as big as src. You can use src as dest, but in that case src 258 * is overwritten! 259- * 260- * - src: 261- * 262+ * 263+ * - src: 264+ * 265 * The string to split. Sequences of whitespace are treated as separators, unless 266 * escaped. There are two ways to escape: by using single quotes (anything 267 * between single quotes is treated as one segment), or by using a backslash 268 * to escape the next character. The backslash escape works inside quotation 269 * as well. 270- * 271+ * 272 * Example: 273- * 274+ * 275 * "It\'s very\ easy 'to use WiseGuys\' wg_split()' function" is split into: 276- * 277+ * 278 * "It's" 279 * "very easy" 280 * "to use WiseGuys' wg_split()" 281 * "function" 282- * 283- * - maxsegments: 284- * 285+ * 286+ * - maxsegments: 287+ * 288 * The maximum number of segments. If the splitter runs out of segments, 289 * the remainder of the string is stored in the last segment. 290- * 291+ * 292 * RETURN VALUE: 293 * The number of segments found. 294 */ 295@@ -218,12 +218,12 @@ 296 switch (state) { 297 case 0: 298 /*** Skip spaces ***/ 299- while ( isspace((int) *p) ) { 300+ while ( isspace((unsigned char) *p) ) { 301 p++; 302 } 303 state = 1; 304 305- case 1: 306+ case 1: 307 /*** Start segment ***/ 308 result[cnt] = w; 309 cnt++; 310@@ -232,12 +232,12 @@ 311 case 2: 312 /*** Unquoted segment ***/ 313 while (*p) { 314- if ( isspace((int) *p) ) { 315+ if ( isspace((unsigned char) *p) ) { 316 *w++ = '\0'; 317 p++; 318 state = 0; 319 break; 320- } 321+ } 322 else if ( *p == '\'' ) { 323 /*** Start quotation ***/ 324 p++; 325@@ -292,17 +292,17 @@ 326 } 327 328 329+#ifdef HAVE_GETTIMEOFDAY /* TL : no struct timeval under Win32 */ 330 extern void wg_timerstart(wgtimer_t *t) 331 { 332-#ifdef HAVE_GETTIMEOFDAY 333 gettimeofday( &(t->start), NULL ); 334-#endif 335 } 336+#endif /* TL : no struct timeval under Win32 */ 337 338 339+#ifdef HAVE_GETTIMEOFDAY /* TL : no struct timeval under Win32 */ 340 extern uint4 wg_timerstop(wgtimer_t *t) 341 { 342-#ifdef HAVE_GETTIMEOFDAY 343 uint4 result; 344 gettimeofday( &(t->stop), NULL ); 345 result = (t->stop.tv_sec - t->start.tv_sec) * 1000000 + 346@@ -312,25 +312,23 @@ 347 t->start.tv_usec = t->stop.tv_usec; 348 349 return result; 350-#else 351- return 0; 352-#endif 353 } 354+#endif /* TL : no struct timeval under Win32 */ 355 356 357 /** 358 * wg_strgmov -- a guarded strcpy() variation 359- * 360+ * 361 * copies src to dest (including terminating zero), and returns 362 * pointer to position of terminating zero in dest. The function is 363 * guaranteed not to write past destlimit. If the copy couldn't be 364- * finished, the function returns NULL after restoring the first 365- * character in dest for your convenience (since this is usually a zero). 366+ * finished, the function returns NULL after restoring the first 367+ * character in dest for your convenience (since this is usually a zero). 368 */ 369 char *wg_strgmov( char *dest, const char *src, const char *destlimit ) 370 { 371 char tmp, *w; 372- 373+ 374 if ( !dest || dest >= destlimit ) { 375 return NULL; 376 } 377@@ -355,7 +353,7 @@ 378 } 379 380 /* 381- * wg_trim() -- remove whitespace surrounding a string. 382+ * wg_trim() -- remove whitespace surrounding a string. 383 * 384 * Example: " bla bla bla " becomes "bla bla bla" after trimming. 385 * 386@@ -373,12 +371,12 @@ 387 char *lastnonspace = &dest[-1]; 388 const char *p = src; 389 char *w = dest; 390- 391- while ( isspace((int)*p) ) { 392+ 393+ while ( isspace((unsigned char)*p) ) { 394 p++; 395 } 396 while (*p) { 397- if ( !isspace((int)*p) ) { 398+ if ( !isspace((unsigned char)*p) ) { 399 lastnonspace = w; 400 } 401 *w++ = *p++; 402--- misc/libtextcat-2.2/src/common.h Thu May 22 15:02:29 2003 403+++ misc/build/libtextcat-2.2/src/common.h Mon Mar 31 11:29:14 2008 404@@ -1,28 +1,28 @@ 405 #ifndef _COMMON_H_ 406 #define _COMMON_H_ 407 /** 408- * common.h -- a mixed bag of helper functions 409+ * common.h -- a mixed bag of helper functions 410 * 411 * Copyright (C) 2003 WiseGuys Internet B.V. 412 * 413 * THE BSD LICENSE 414- * 415+ * 416 * Redistribution and use in source and binary forms, with or without 417 * modification, are permitted provided that the following conditions 418 * are met: 419- * 420+ * 421 * - Redistributions of source code must retain the above copyright 422 * notice, this list of conditions and the following disclaimer. 423- * 424+ * 425 * - Redistributions in binary form must reproduce the above copyright 426 * notice, this list of conditions and the following disclaimer in the 427 * documentation and/or other materials provided with the 428 * distribution. 429- * 430+ * 431 * - Neither the name of the WiseGuys Internet B.V. nor the names of 432 * its contributors may be used to endorse or promote products derived 433 * from this software without specific prior written permission. 434- * 435+ * 436 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 437 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 438 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 439@@ -86,10 +86,12 @@ 440 typedef char boole; 441 #endif 442 443+#ifdef HAVE_GETTIMEOFDAY /* TL : no struct timeval under Win32 */ 444 typedef struct wgtimer_s { 445 struct timeval start; 446 struct timeval stop; 447 } wgtimer_t; 448+#endif /* TL : no struct timeval under Win32 */ 449 450 451 extern void *wg_malloc( size_t size ); 452@@ -101,13 +103,15 @@ 453 454 extern char *wg_getline( char *line, int size, FILE *fp ); 455 456+#ifdef HAVE_GETTIMEOFDAY /* TL : no struct timeval under Win32 */ 457 extern void wg_timerstart(wgtimer_t *t); 458 extern uint4 wg_timerstop(wgtimer_t *t); 459+#endif /* TL : no struct timeval under Win32 */ 460 461 extern unsigned int wg_split( char **result, char *dest, char *src, int maxsegments ); 462 extern char *wg_strgmov( char *dest, const char *src, const char *destlimit ); 463 extern char *wg_trim( char *dest, const char *src ); 464 465- 466+ 467 #endif 468 469--- misc/libtextcat-2.2/src/constants.h Thu May 22 13:32:43 2003 470+++ misc/build/libtextcat-2.2/src/constants.h Mon Mar 31 11:29:14 2008 471@@ -39,6 +39,8 @@ 472 */ 473 #include <limits.h> 474 475+#define _UTF8_ 476+ 477 #define DESCRIPTION "out of place" 478 479 /* Reported matches are those fingerprints with a score less than best 480@@ -59,14 +61,21 @@ 481 /* Maximum number of n-grams in a fingerprint */ 482 #define MAXNGRAMS 400 483 484-/* Maximum size of an n-gram? */ 485-#define MAXNGRAMSIZE 5 486+/* Maximum number of character of an n-gram? */ 487+#define MAXNGRAMSYMBOL 5 488+ 489+/* Maximum size of the string representing an n-gram (must be greater than number of symbol) */ 490+#ifdef _UTF8_ 491+#define MAXNGRAMSIZE 20 492+#else 493+#define MAXNGRAMSIZE MAXNGRAMSYMBOL 494+#endif 495 496 /* Which characters are not acceptable in n-grams? */ 497-#define INVALID(c) (isspace((int)c) || isdigit((int)c)) 498+#define INVALID(c) (isspace((unsigned char)c) || isdigit((unsigned char)c)) 499 500 /* Minimum size (in characters) for accepting a document */ 501-#define MINDOCSIZE 25 502+#define MINDOCSIZE 6 503 504 /* Maximum penalty for missing an n-gram in fingerprint */ 505 #define MAXOUTOFPLACE 400 506@@ -75,5 +84,8 @@ 507 #define TABLEPOW 13 508 509 #define MAXSCORE INT_MAX 510+ 511+/* where the fingerprints files are stored */ 512+#define DEFAULT_FINGERPRINTS_PATH "" 513 514 #endif 515--- misc/libtextcat-2.2/src/fingerprint.c Thu May 22 13:32:43 2003 516+++ misc/build/libtextcat-2.2/src/fingerprint.c Mon Mar 31 11:29:14 2008 517@@ -6,23 +6,23 @@ 518 * All rights reserved. 519 * 520 * THE BSD LICENSE 521- * 522+ * 523 * Redistribution and use in source and binary forms, with or without 524 * modification, are permitted provided that the following conditions 525 * are met: 526- * 527+ * 528 * - Redistributions of source code must retain the above copyright 529 * notice, this list of conditions and the following disclaimer. 530- * 531+ * 532 * - Redistributions in binary form must reproduce the above copyright 533 * notice, this list of conditions and the following disclaimer in the 534 * documentation and/or other materials provided with the 535 * distribution. 536- * 537+ * 538 * - Neither the name of the WiseGuys Internet B.V. nor the names of 539 * its contributors may be used to endorse or promote products derived 540 * from this software without specific prior written permission. 541- * 542+ * 543 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 544 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 545 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 546@@ -51,7 +51,7 @@ 547 * The reason why we go through the trouble of doing a partial 548 * (heap)sort is that a full quicksort behaves horribly on the data: 549 * most n-grams have a very low count, resulting in a data set in 550- * nearly-sorted order. This causes quicksort to behave very badly. 551+ * nearly-sorted order. This causes quicksort to behave very badly. 552 * Heapsort, on the other hand, behaves handsomely: worst case is 553 * Mlog(N) for M n-grams filtered through a N-sized heap. 554 * 555@@ -63,6 +63,10 @@ 556 * - put table/heap datastructure in a separate file. 557 */ 558 559+#ifndef _UTF8_ 560+#define _UTF8_ 561+#endif 562+ 563 #include "config.h" 564 #include <stdio.h> 565 #ifdef HAVE_STDLIB_H 566@@ -80,10 +84,12 @@ 567 #include "wg_mempool.h" 568 #include "constants.h" 569 570+#include "utf8misc.h" 571 572 #define TABLESIZE (1<<TABLEPOW) 573 #define TABLEMASK ((TABLESIZE)-1) 574 575+ 576 typedef struct { 577 578 sint2 rank; 579@@ -96,7 +102,7 @@ 580 const char *name; 581 ngram_t *fprint; 582 uint4 size; 583- 584+ 585 } fp_t; 586 587 typedef struct entry_s { 588@@ -105,13 +111,13 @@ 589 struct entry_s *next; 590 } entry_t; 591 592-typedef struct table_s { 593+typedef struct table_s { 594 void *pool; 595 entry_t **table; 596 entry_t *heap; 597 598 struct table_s *next; 599- 600+ 601 uint4 heapsize; 602 uint4 size; 603 } table_t; 604@@ -122,7 +128,7 @@ 605 * fast and furious little hash function 606 * 607 * (Note that we could use some kind of rolling checksum, and update it 608- * during n-gram construction) 609+ * during n-gram construction) 610 */ 611 static uint4 simplehash( const char *p, int len ) 612 { 613@@ -134,29 +140,14 @@ 614 } 615 616 617-/* checks if n-gram lex is a prefix of key and of length len */ 618-inline int issame( char *lex, char *key, int len ) 619-{ 620- int i; 621- for (i=0; i<len; i++) { 622- if ( key[i] != lex[i] ) { 623- return 0; 624- } 625- } 626- if ( lex[i] != 0 ) { 627- return 0; 628- } 629- return 1; 630-} 631- 632 633 /* increases frequency of ngram(p,len) */ 634-static inline int increasefreq( table_t *t, char *p, int len ) 635-{ 636- uint4 hash = simplehash( p, len ) & TABLEMASK; 637+static int increasefreq( table_t *t, char *p, int len ) 638+{ 639+ uint4 hash = simplehash( p, len ) & TABLEMASK; 640 entry_t *entry = t->table[ hash ]; 641- 642- while ( entry ) { 643+ 644+ while ( entry ) { 645 if ( issame( entry->str, p, len ) ) { 646 /*** Found it! ***/ 647 entry->cnt++; 648@@ -168,7 +159,7 @@ 649 } 650 651 /*** Not found, so create ***/ 652- entry = wgmempool_alloc( t->pool, sizeof(entry_t) ); 653+ entry = (entry_t*)(wgmempool_alloc( t->pool, sizeof(entry_t) )); 654 strcpy( entry->str, p ); 655 entry->cnt = 1; 656 657@@ -181,12 +172,12 @@ 658 #if 0 659 660 /* looks up ngram(p,len) */ 661-static entry_t *findfreq( table_t *t, char *p, int len ) 662-{ 663- uint4 hash = simplehash( p, len ) & TABLEMASK; 664+static entry_t *findfreq( table_t *t, char *p, int len ) 665+{ 666+ uint4 hash = simplehash( p, len ) & TABLEMASK; 667 entry_t *entry = t->table[ hash ]; 668- 669- while ( entry ) { 670+ 671+ while ( entry ) { 672 if ( issame( entry->str, p, len ) ) { 673 return entry; 674 } 675@@ -219,7 +210,7 @@ 676 #define GREATER(x,y) ((x).cnt > (y).cnt) 677 #define LESS(x,y) ((x).cnt < (y).cnt) 678 679-inline static void siftup( table_t *t, unsigned int child ) 680+static void siftup( table_t *t, unsigned int child ) 681 { 682 entry_t *heap = t->heap; 683 unsigned int parent = (child-1) >> 1; 684@@ -241,7 +232,7 @@ 685 } 686 687 688-inline static void siftdown( table_t *t, unsigned int heapsize, uint4 parent ) 689+static void siftdown( table_t *t, unsigned int heapsize, uint4 parent ) 690 { 691 entry_t *heap = t->heap; 692 unsigned int child = parent*2 + 1; 693@@ -273,7 +264,7 @@ 694 if (t->size < t->heapsize) { 695 memcpy( &(heap[t->size]), item, sizeof(entry_t)); 696 siftup( t, t->size ); 697- t->size++; 698+ t->size++; 699 return 0; 700 } 701 702@@ -316,18 +307,18 @@ 703 704 /*** Fill result heap ***/ 705 for (i=0; i<TABLESIZE; i++) { 706- entry_t *p = t->table[i]; 707+ entry_t *p = t->table[i]; 708 while (p) { 709 heapinsert(t, p); 710 p = p->next; 711 } 712- } 713+ } 714 return 1; 715 } 716 717 718 static table_t *inittable(uint4 maxngrams) 719-{ 720+{ 721 table_t *result = (table_t *)wg_zalloc( sizeof(table_t) ); 722 result->table = (entry_t **)wg_zalloc( sizeof(entry_t*) * TABLESIZE ); 723 result->pool = wgmempool_Init( 10000, 10 ); 724@@ -347,14 +338,14 @@ 725 wgmempool_Done(t->pool); 726 wg_free(t->table); 727 wg_free(t->heap); 728- wg_free(t); 729+ wg_free(t); 730 } 731 732 733 extern void *fp_Init(const char *name) 734 { 735 fp_t *h = (fp_t *)wg_zalloc( sizeof(fp_t) ); 736- 737+ 738 if ( name ) { 739 h->name = wg_strdup(name); 740 } 741@@ -458,21 +449,27 @@ 742 return dest; 743 } 744 745- 746+/** 747+* this function extract all n-gram from past buffer and put them into the table "t" 748+* [modified] by Jocelyn Merand to accept utf-8 multi-character symbols to be used in OpenOffice 749+*/ 750 static void createngramtable( table_t *t, const char *buf ) 751 { 752 char n[MAXNGRAMSIZE+1]; 753 const char *p = buf; 754 int i; 755+ int pointer = 0; 756 757 /*** Get all n-grams where 1<=n<=MAXNGRAMSIZE. Allow underscores only at borders. ***/ 758- for (;;p++) { 759+ while(1) { 760 761- const char *q = p; 762+ const char *q = &p[pointer]; /*[modified] previously p++ above (for(;;p++)) now, it's pointer which is increased so we have to get the new pointer on the buffer*/ 763 char *m = n; 764 765 /*** First char may be an underscore ***/ 766- *m++ = *q++; 767+ int decay = charcopy(q, m); /*[modified] previously *q++ = *m++*/ 768+ q = &(p[pointer+decay]); /*[modified] the old copying method do not manage multi-character symbols*/ 769+ m += decay; /*[modified]*/ 770 *m = '\0'; 771 772 increasefreq( t, n, 1 ); 773@@ -482,19 +479,22 @@ 774 } 775 776 /*** Let the compiler unroll this ***/ 777- for ( i=2; i<=MAXNGRAMSIZE; i++) { 778+ for ( i=2; i<=MAXNGRAMSYMBOL; i++) { 779 780- *m++ = *q; 781+ decay = charcopy(q, m); /*[modified] like above*/ 782+ m += decay; 783 *m = '\0'; 784 785 increasefreq( t, n, i ); 786 787 if ( *q == '_' ) break; 788- q++; 789+ q += decay; 790 if ( *q == '\0' ) { 791 return; 792 } 793 } 794+ 795+ pointer = nextcharstart(p,pointer); /*[modified] p[pointer] must point on the next start of symbol, but with utf next start is not surely next char*/ 796 } 797 return; 798 } 799@@ -514,7 +514,7 @@ 800 { 801 ngram_t *x = (ngram_t *)a; 802 ngram_t *y = (ngram_t *)b; 803- 804+ 805 return mystrcmp( x->str, y->str ); 806 } 807 808@@ -522,12 +522,12 @@ 809 { 810 ngram_t *x = (ngram_t *)a; 811 ngram_t *y = (ngram_t *)b; 812- 813+ 814 return x->rank - y->rank; 815 } 816 817 /** 818- * Create a fingerprint: 819+ * Create a fingerprint: 820 * - record the frequency of each unique n-gram in a hash table 821 * - take the most frequent n-grams 822 * - sort them alphabetically, recording their relative rank 823@@ -544,20 +544,21 @@ 824 } 825 826 /*** Throw out all invalid chars ***/ 827- tmp = prepbuffer( buffer, bufsize ); 828+ tmp = prepbuffer( buffer, bufsize ); 829+ /*printf("Cleaned buffer : %s\n",tmp);*/ 830 if ( tmp == NULL ) { 831 return 0; 832 } 833- 834 h = (fp_t*)handle; 835 t = inittable(maxngrams); 836+ /*printf("Table initialized\n");*/ 837 838 /*** Create a hash table containing n-gram counts ***/ 839 createngramtable(t, tmp); 840- 841+ /*printf("Table created\n");*/ 842 /*** Take the top N n-grams and add them to the profile ***/ 843- table2heap(t); 844- maxngrams = WGMIN( maxngrams, t->size ); 845+ table2heap(t); 846+ maxngrams = WGMIN( maxngrams, t->size ); 847 848 h->fprint = (ngram_t *)wg_malloc( sizeof(ngram_t) * maxngrams ); 849 h->size = maxngrams; 850@@ -568,7 +569,7 @@ 851 entry_t tmp2; 852 853 heapextract(t, &tmp2); 854- 855+ 856 /*** the string and its rank is all we need ***/ 857 strcpy( h->fprint[i].str, tmp2.str ); 858 h->fprint[i].rank = i; 859@@ -578,7 +579,7 @@ 860 wg_free(tmp); 861 862 /*** Sort n-grams alphabetically, for easy comparison ***/ 863- qsort( h->fprint, h->size, sizeof(ngram_t), ngramcmp_str ); 864+ qsort( h->fprint, h->size, sizeof(ngram_t), ngramcmp_str ); 865 return 1; 866 } 867 868@@ -608,7 +609,7 @@ 869 #endif 870 return 0; 871 } 872- 873+ 874 h->fprint = (ngram_t *)wg_malloc(maxngrams * sizeof(ngram_t)); 875 876 while (cnt < maxngrams && wg_getline(line,1024,fp)) { 877@@ -635,7 +636,7 @@ 878 h->size = cnt; 879 880 /*** Sort n-grams, for easy comparison later on ***/ 881- qsort( h->fprint, h->size, sizeof(ngram_t), ngramcmp_str ); 882+ qsort( h->fprint, h->size, sizeof(ngram_t), ngramcmp_str ); 883 884 fclose(fp); 885 886@@ -648,14 +649,15 @@ 887 { 888 uint4 i; 889 fp_t *h = (fp_t *)handle; 890- ngram_t *tmp = wg_malloc( sizeof(ngram_t) * h->size ); 891- 892+ ngram_t *tmp = (ngram_t*)wg_malloc( sizeof(ngram_t) * h->size ); 893+ 894 /*** Make a temporary and sort it on rank ***/ 895 memcpy( tmp, h->fprint, h->size * sizeof(ngram_t) ); 896- qsort( tmp, h->size, sizeof(ngram_t), ngramcmp_rank ); 897+ qsort( tmp, h->size, sizeof(ngram_t), ngramcmp_rank ); 898 899 for (i=0; i<h->size; i++) { 900- fprintf( fp, "%s\n", tmp[i].str ); 901+ /*fprintf( fp, "%s\t%i\n", tmp[i].str, tmp[i].rank );*/ 902+ fprintf( fp, "%s\n", tmp[i].str); 903 } 904 wg_free( tmp ); 905 } 906@@ -669,7 +671,7 @@ 907 uint4 i = 0; 908 uint4 j = 0; 909 sint4 sum = 0; 910- 911+ 912 /*** Compare the profiles in mergesort fashion ***/ 913 while ( i < c->size && j < u->size ) { 914 915@@ -705,7 +707,7 @@ 916 } 917 918 return sum; 919- 920+ 921 } 922 923 924--- misc/libtextcat-2.2/src/fingerprint.h Mon May 19 14:16:31 2003 925+++ misc/build/libtextcat-2.2/src/fingerprint.h Mon Mar 31 11:29:14 2008 926@@ -41,7 +41,13 @@ 927 extern int fp_Read( void *handle, const char *fname, int maxngrams ); 928 extern sint4 fp_Compare( void *cat, void *unknown, int cutoff ); 929 extern void fp_Show( void *handle ); 930+#ifdef __cplusplus 931+extern "C" { 932+#endif 933 extern const char *fp_Name( void *handle ); 934+#ifdef __cplusplus 935+} 936+#endif 937 extern void fp_Print( void *handle, FILE *fp ); 938 939 #endif 940--- misc/libtextcat-2.2/src/libtextcat.map Mon Mar 31 11:30:06 2008 941+++ misc/build/libtextcat-2.2/src/libtextcat.map Mon Mar 31 11:29:14 2008 942@@ -1 +1,40 @@ 943-dummy 944+{ 945+ global: 946+ charcopy 947+ issame 948+ nextcharstart 949+ utfstrlen 950+ wgmempool_Done 951+ wgmempool_Init 952+ wgmempool_Reset 953+ wgmempool_alloc 954+ wgmempool_getline 955+ wgmempool_strdup 956+ special_textcat_Init 957+ textcat_Classify 958+ textcat_Done 959+ textcat_Init 960+ textcat_Version 961+ fp_Compare 962+ fp_Create 963+ fp_Debug 964+ fp_Done 965+ fp_Init 966+ fp_Name 967+ fp_Print 968+ fp_Read 969+ heapextract 970+ wg_calloc 971+ wg_free 972+ wg_getline 973+ wg_malloc 974+ wg_split 975+ wg_strdup 976+ wg_strgmov 977+ wg_trim 978+ wg_zalloc 979+ wgmem_error 980+ 981+ local: 982+ *; 983+} 984--- misc/libtextcat-2.2/src/makefile.mk Mon Mar 31 11:30:06 2008 985+++ misc/build/libtextcat-2.2/src/makefile.mk Mon Mar 31 11:29:42 2008 986@@ -1 +1,81 @@ 987-dummy 988+#************************************************************** 989+# 990+# Licensed to the Apache Software Foundation (ASF) under one 991+# or more contributor license agreements. See the NOTICE file 992+# distributed with this work for additional information 993+# regarding copyright ownership. The ASF licenses this file 994+# to you under the Apache License, Version 2.0 (the 995+# "License"); you may not use this file except in compliance 996+# with the License. You may obtain a copy of the License at 997+# 998+# http://www.apache.org/licenses/LICENSE-2.0 999+# 1000+# Unless required by applicable law or agreed to in writing, 1001+# software distributed under the License is distributed on an 1002+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1003+# KIND, either express or implied. See the License for the 1004+# specific language governing permissions and limitations 1005+# under the License. 1006+# 1007+#************************************************************** 1008+ 1009+PRJ = ..$/..$/..$/..$/.. 1010+ 1011+PRJNAME = libtextcat 1012+TARGET = libtextcat 1013+CFLAGSCALL=gsd 1014+ 1015+USE_DEFFILE=TRUE 1016+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE 1017+UWINAPILIB= 1018+ 1019+.INCLUDE : settings.mk 1020+ 1021+# --- Files -------------------------------------------------------- 1022+ 1023+# !! not to be compiled because those belong to a stand alone programs: !! 1024+# $(SLO)$/createfp.obj\ 1025+# $(SLO)$/testtextcat.obj 1026+ 1027+SLOFILES= \ 1028+ $(SLO)$/common.obj\ 1029+ $(SLO)$/fingerprint.obj\ 1030+ $(SLO)$/textcat.obj\ 1031+ $(SLO)$/wg_mempool.obj\ 1032+ $(SLO)$/utf8misc.obj 1033+ 1034+#SHL1TARGET= $(TARGET)$(UPD)$(DLLPOSTFIX) 1035+SHL1TARGET= $(TARGET) 1036+ 1037+SHL1STDLIBS= 1038+ 1039+# build DLL 1040+SHL1LIBS= $(SLB)$/$(TARGET).lib 1041+SHL1IMPLIB= i$(TARGET) 1042+SHL1DEPN= $(SHL1LIBS) 1043+SHL1DEF= $(MISC)$/$(SHL1TARGET).def 1044+ 1045+# build DEF file 1046+DEF1NAME= $(SHL1TARGET) 1047+DEF1DEPN=$(MISC)$/$(SHL1TARGET).flt 1048+ 1049+SHL1VERSIONMAP= libtextcat.map 1050+ 1051+# --- Targets ------------------------------------------------------ 1052+ 1053+.INCLUDE : target.mk 1054+ 1055+# copy hand supplied configuration file for Win32 builds to the file 1056+# which is included in the source code 1057+$(SLOFILES) : config.h 1058+config.h : 1059+ $(GNUCOPY) $(OUT)$/misc$/build$/libtextcat-2.2$/src$/win32_config.h $(OUT)$/misc$/build$/libtextcat-2.2$/src$/config.h 1060+ 1061+ 1062+$(MISC)$/$(SHL1TARGET).flt: makefile.mk 1063+ @echo ------------------------------ 1064+ @echo Making: $@ 1065+ @echo Imp>$@ 1066+ @echo __CT>>$@ 1067+ @echo _real>>$@ 1068+ @echo unnamed>>$@ 1069--- misc/libtextcat-2.2/src/textcat.c Thu May 22 13:32:43 2003 1070+++ misc/build/libtextcat-2.2/src/textcat.c Mon Mar 31 11:29:14 2008 1071@@ -4,23 +4,23 @@ 1072 * Copyright (C) 2003 WiseGuys Internet B.V. 1073 * 1074 * THE BSD LICENSE 1075- * 1076+ * 1077 * Redistribution and use in source and binary forms, with or without 1078 * modification, are permitted provided that the following conditions 1079 * are met: 1080- * 1081+ * 1082 * - Redistributions of source code must retain the above copyright 1083 * notice, this list of conditions and the following disclaimer. 1084- * 1085+ * 1086 * - Redistributions in binary form must reproduce the above copyright 1087 * notice, this list of conditions and the following disclaimer in the 1088 * documentation and/or other materials provided with the 1089 * distribution. 1090- * 1091+ * 1092 * - Neither the name of the WiseGuys Internet B.V. nor the names of 1093 * its contributors may be used to endorse or promote products derived 1094 * from this software without specific prior written permission. 1095- * 1096+ * 1097 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1098 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1099 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1100@@ -74,6 +74,7 @@ 1101 typedef struct { 1102 1103 void **fprint; 1104+ char *fprint_disable; 1105 uint4 size; 1106 uint4 maxsize; 1107 1108@@ -112,11 +113,21 @@ 1109 fp_Done( h->fprint[i] ); 1110 } 1111 wg_free( h->fprint ); 1112+ wg_free( h->fprint_disable ); 1113 wg_free( h ); 1114 1115 } 1116 1117-extern void *textcat_Init( const char *conffile ) 1118+/** Replaces older function */ 1119+extern void *textcat_Init( const char *conffile ){ 1120+ return special_textcat_Init( conffile, DEFAULT_FINGERPRINTS_PATH ); 1121+} 1122+ 1123+/** 1124+ * Originally this function had only one parameter (conffile) it has been modified since OOo use 1125+ * Basically prefix is the directory path where fingerprints are stored 1126+ */ 1127+extern void *special_textcat_Init( const char *conffile, const char *prefix ) 1128 { 1129 textcat_t *h; 1130 char line[1024]; 1131@@ -134,11 +145,13 @@ 1132 h->size = 0; 1133 h->maxsize = 16; 1134 h->fprint = (void **)wg_malloc( sizeof(void*) * h->maxsize ); 1135+ h->fprint_disable = (char *)wg_malloc( sizeof(char*) * h->maxsize ); /*added to store the state of languages*/ 1136 1137 while ( wg_getline( line, 1024, fp ) ) { 1138 char *p; 1139 char *segment[4]; 1140- int res; 1141+ char finger_print_file_name[512]; 1142+ int res; 1143 1144 /*** Skip comments ***/ 1145 #ifdef HAVE_STRCHR 1146@@ -156,17 +169,23 @@ 1147 /*** Ensure enough space ***/ 1148 if ( h->size == h->maxsize ) { 1149 h->maxsize *= 2; 1150- h->fprint = (void *)wg_realloc( h->fprint, sizeof(void*) * h->maxsize ); 1151+ h->fprint = (void **)wg_realloc( h->fprint, sizeof(void*) * h->maxsize ); 1152+ h->fprint_disable = (char *)wg_realloc( h->fprint_disable, sizeof(char*) * h->maxsize ); 1153 } 1154 1155 /*** Load data ***/ 1156 if ((h->fprint[ h->size ] = fp_Init( segment[1] ))==NULL) { 1157 goto ERROR; 1158 } 1159- if ( fp_Read( h->fprint[h->size], segment[0], 400 ) == 0 ) { 1160+ finger_print_file_name[0] = '\0'; 1161+ strcat(finger_print_file_name, prefix); 1162+ strcat(finger_print_file_name, segment[0]); 1163+ 1164+ if ( fp_Read( h->fprint[h->size], finger_print_file_name, 400 ) == 0 ) { 1165 textcat_Done(h); 1166 goto ERROR; 1167- } 1168+ } 1169+ h->fprint_disable[h->size] = 0xF0; /*0xF0 is the code for enabled languages, 0x0F is for disabled*/ 1170 h->size++; 1171 } 1172 1173@@ -203,11 +222,18 @@ 1174 result = _TEXTCAT_RESULT_SHORT; 1175 goto READY; 1176 } 1177- 1178+ 1179 /*** Calculate the score for each category. ***/ 1180 for (i=0; i<h->size; i++) { 1181- int score = fp_Compare( h->fprint[i], unknown, threshold ); 1182- candidates[i].score = score; 1183+ int score; 1184+ if(h->fprint_disable[i] & 0x0F){ /*if this language is disabled*/ 1185+ score = MAXSCORE; 1186+ } 1187+ else{ 1188+ score = fp_Compare( h->fprint[i], unknown, threshold ); 1189+ /*printf("Score for %s : %i\n", fp_Name(h->fprint[i]), score);*/ 1190+ } 1191+ candidates[i].score = score; 1192 candidates[i].name = fp_Name( h->fprint[i] ); 1193 if ( score < minscore ) { 1194 minscore = score; 1195@@ -218,7 +244,6 @@ 1196 /*** Find the best performers ***/ 1197 for (i=0; i<h->size; i++) { 1198 if ( candidates[i].score < threshold ) { 1199- 1200 if ( ++cnt == MAXCANDIDATES+1 ) { 1201 break; 1202 } 1203@@ -235,7 +260,7 @@ 1204 else { 1205 char *p = result; 1206 char *plimit = result+MAXOUTPUTSIZE; 1207- 1208+ 1209 qsort( candidates, cnt, sizeof(candidate_t), cmpcandidates ); 1210 1211 *p = '\0'; 1212@@ -247,7 +272,7 @@ 1213 } 1214 READY: 1215 fp_Done(unknown); 1216-#ifdef SHOULD_FREE 1217+#ifdef SHOULD_FREE 1218 free(candidates); 1219 #undef SHOULD_FREE 1220 #endif 1221--- misc/libtextcat-2.2/src/textcat.h Mon May 19 14:16:31 2003 1222+++ misc/build/libtextcat-2.2/src/textcat.h Mon Mar 31 11:29:14 2008 1223@@ -40,6 +40,9 @@ 1224 #define _TEXTCAT_RESULT_UNKOWN "UNKNOWN" 1225 #define _TEXTCAT_RESULT_SHORT "SHORT" 1226 1227+#ifdef __cplusplus 1228+extern "C" { 1229+#endif 1230 1231 /** 1232 * textcat_Init() - Initialize the text classifier. The textfile 1233@@ -51,10 +54,19 @@ 1234 * Returns: handle on success, NULL on error. (At the moment, the 1235 * only way errors can occur, is when the library cannot read the 1236 * conffile, or one of the fingerprint files listed in it.) 1237+ * 1238+ * Replace older function (and has exacly the same behaviour) 1239+ * see below 1240 */ 1241 extern void *textcat_Init( const char *conffile ); 1242 1243 /** 1244+ * Originally this function had only one parameter (conffile) it has been modified since OOo must be able to load alternativ DB 1245+ * Basically prefix is the directory path where fingerprints are stored 1246+ */ 1247+extern void *special_textcat_Init( const char *conffile, const char *prefix ); 1248+ 1249+/** 1250 * textcat_Done() - Free up resources for handle 1251 */ 1252 extern void textcat_Done( void *handle ); 1253@@ -77,4 +89,8 @@ 1254 * textcat_Version() - Returns a string describing the version of this classifier. 1255 */ 1256 extern char *textcat_Version(); 1257+ 1258+#ifdef __cplusplus 1259+} 1260+#endif 1261 #endif 1262--- misc/libtextcat-2.2/src/utf8misc.c Mon Mar 31 11:30:06 2008 1263+++ misc/build/libtextcat-2.2/src/utf8misc.c Mon Mar 31 11:29:14 2008 1264@@ -1 +1,132 @@ 1265-dummy 1266+/*************************************************************************** 1267+ * Copyright (C) 2006 by Jocelyn Merand * 1268+ * joc.mer@gmail.com * 1269+ * * 1270+ * THE BSD LICENSE 1271+ * 1272+ * Redistribution and use in source and binary forms, with or without 1273+ * modification, are permitted provided that the following conditions 1274+ * are met: 1275+ * 1276+ * - Redistributions of source code must retain the above copyright 1277+ * notice, this list of conditions and the following disclaimer. 1278+ * 1279+ * - Redistributions in binary form must reproduce the above copyright 1280+ * notice, this list of conditions and the following disclaimer in the 1281+ * documentation and/or other materials provided with the 1282+ * distribution. 1283+ * 1284+ * - Neither the name of the WiseGuys Internet B.V. nor the names of 1285+ * its contributors may be used to endorse or promote products derived 1286+ * from this software without specific prior written permission. 1287+ * 1288+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1289+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1290+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1291+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1292+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1293+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1294+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1295+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1296+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1297+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1298+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1299+ ***************************************************************************/ 1300+ 1301+#ifndef _UTF8_MISC_H_ 1302+#include "utf8misc.h" 1303+#endif 1304+ 1305+ 1306+int nextcharstart(const char *str, int position){ 1307+ int pointer = position; 1308+ 1309+ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ 1310+ 1311+ /*then str[pointer] is an escape character*/ 1312+ 1313+ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (by bit translation) following characters (only the weightest part)*/ 1314+ 1315+ while(escape_char & ESCAPE_MASK && str[pointer]){/*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/ 1316+ escape_char = escape_char <<1; 1317+ ++pointer; 1318+ } 1319+ } 1320+ if(str[pointer]){ /*finally, if we are not on the \0 character, we jump to the next character*/ 1321+ ++pointer; 1322+ } 1323+ return pointer; 1324+} 1325+ 1326+ 1327+int charcopy(const char *str, char *dest){ 1328+ 1329+ int pointer = 0; 1330+ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ 1331+ 1332+ /*then str[pointer] is an escape character*/ 1333+ 1334+ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count following characters (only the weightest part)*/ 1335+ 1336+ while(escape_char & ESCAPE_MASK && str[pointer]){ /*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/ 1337+ dest[pointer] = str[pointer]; 1338+ escape_char = escape_char <<1; 1339+ ++pointer; 1340+ } 1341+ } 1342+ if(str[pointer]){ 1343+ dest[pointer] = str[pointer]; 1344+ ++pointer; 1345+ } 1346+ 1347+ return pointer; 1348+} 1349+ 1350+ 1351+int issame( char *lex, char *key, int len ) 1352+{ 1353+ /*printf("[%s] prefix of [%s] with length %i", lex, key, len);*/ 1354+ int char_counter = 0; 1355+ int pointer = 0; 1356+ while(char_counter < len) { 1357+ 1358+ if(key[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/ 1359+ 1360+ /*then key[pointer] is an escap character*/ 1361+ 1362+ char escape_char = ((key[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (only the weightest part)*/ 1363+ 1364+ while(escape_char & ESCAPE_MASK && key[pointer] == lex[pointer] ){ 1365+ escape_char = escape_char <<1; 1366+ ++pointer; 1367+ } 1368+ } 1369+ ++char_counter; /*and we are on a new utf8 character*/ 1370+ if ( key[pointer] != lex[pointer] ) { 1371+ return 0; 1372+ /*printf(" NO\n", lex, key, len);*/ 1373+ } 1374+ ++pointer; 1375+ } 1376+ if ( lex[pointer] != '\0' ) { 1377+ return 0; 1378+ /*printf(" NO\n");*/ 1379+ } 1380+ 1381+ /*printf(" YES\n");*/ 1382+ 1383+ return 1; 1384+} 1385+ 1386+ 1387+extern int utfstrlen(const char* str){ 1388+ int char_counter = 0; 1389+ int pointer = 0; 1390+ while(str[pointer]) { 1391+ pointer = nextcharstart(str, pointer); 1392+ 1393+ ++char_counter; /*and we are on a new utf8 character*/ 1394+ } 1395+ return char_counter; 1396+} 1397+ 1398--- misc/libtextcat-2.2/src/utf8misc.h Mon Mar 31 11:30:06 2008 1399+++ misc/build/libtextcat-2.2/src/utf8misc.h Mon Mar 31 11:29:14 2008 1400@@ -1 +1,88 @@ 1401-dummy 1402+/*************************************************************************** 1403+ * Copyright (C) 2006 by Jocelyn Merand * 1404+ * joc.mer@gmail.com * 1405+ * * 1406+ * THE BSD LICENSE 1407+ * 1408+ * Redistribution and use in source and binary forms, with or without 1409+ * modification, are permitted provided that the following conditions 1410+ * are met: 1411+ * 1412+ * - Redistributions of source code must retain the above copyright 1413+ * notice, this list of conditions and the following disclaimer. 1414+ * 1415+ * - Redistributions in binary form must reproduce the above copyright 1416+ * notice, this list of conditions and the following disclaimer in the 1417+ * documentation and/or other materials provided with the 1418+ * distribution. 1419+ * 1420+ * - Neither the name of the WiseGuys Internet B.V. nor the names of 1421+ * its contributors may be used to endorse or promote products derived 1422+ * from this software without specific prior written permission. 1423+ * 1424+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1425+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1426+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1427+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1428+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1429+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1430+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1431+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1432+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1433+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1434+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1435+ ***************************************************************************/ 1436+ 1437+#ifndef _UTF8_MISC_H_ 1438+#define _UTF8_MISC_H_ 1439+ 1440+/** 1441+ * These variables are used in character processing functions 1442+ * These have been added to manage utf-8 symbols, particularly escape chars 1443+ */ 1444+#ifdef _UTF8_ 1445+#define ESCAPE_MASK 0x80 1446+#define WEIGHT_MASK 0xF0 1447+#else 1448+#define ESCAPE_MASK 0xFF 1449+#define WEIGHT_MASK 0x00 1450+#endif 1451+ 1452+ 1453+/* 1454+ * Is used to jump to the next start of char 1455+ * of course it's only useful when encoding is utf-8 1456+ * This function have been added by Jocelyn Merand to use libtextcat in OOo 1457+ */ 1458+int nextcharstart(const char *str, int position); 1459+ 1460+ 1461+/*Copy the char in str to dest 1462+ * of course it's only useful when encoding is utf8 and the symbol is encoded with more than 1 char 1463+ * return the number of char jumped 1464+ * This function have been added by Jocelyn Merand to use libtextcat in OOo 1465+ */ 1466+int charcopy(const char *str, char *dest); 1467+ 1468+ 1469+/* checks if n-gram lex is a prefix of key and of length len 1470+* if _UTF8_ is defined, it uses escap characters and len is not really the length of lex 1471+* in this case, len is the number of utf-8 char strlen("€") == 3 but len == 1 1472+*/ 1473+int issame( char *lex, char *key, int len ); 1474+ 1475+ 1476+/* Counts the number of characters 1477+* if _UTF8_ is defined, it uses escap characters and the result is not really the length of str 1478+* in this case, the result is the number of utf-8 char strlen("€") == 3 but utfstrlen("€") == 1 1479+*/ 1480+#ifdef __cplusplus 1481+extern "C" { 1482+#endif 1483+extern int utfstrlen(const char* str); 1484+#ifdef __cplusplus 1485+} 1486+#endif 1487+ 1488+#endif 1489+ 1490--- misc/libtextcat-2.2/src/win32_config.h Mon Mar 31 11:30:06 2008 1491+++ misc/build/libtextcat-2.2/src/win32_config.h Mon Mar 31 11:29:14 2008 1492@@ -1 +1,136 @@ 1493-dummy 1494+/* src/config.h. Generated by configure. */ 1495+/* src/config.h.in. Generated from configure.ac by autoheader. */ 1496+ 1497+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP 1498+ systems. This function is required for `alloca.c' support on those systems. 1499+ */ 1500+/* #undef CRAY_STACKSEG_END */ 1501+ 1502+/* Define to 1 if using `alloca.c'. */ 1503+/* #undef C_ALLOCA */ 1504+ 1505+/* Define to 1 if you have `alloca', as a function or macro. */ 1506+/* #undef HAVE_ALLOCA */ 1507+ 1508+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). 1509+ */ 1510+/* #undef HAVE_ALLOCA_H */ 1511+ 1512+/* Define to 1 if you have the <dlfcn.h> header file. */ 1513+#define HAVE_DLFCN_H 1 1514+ 1515+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ 1516+/* #undef HAVE_DOPRNT */ 1517+ 1518+/* Define to 1 if you have the `gettimeofday' function. */ 1519+/* #undef HAVE_GETTIMEOFDAY */ 1520+ 1521+/* Define to 1 if you have the <inttypes.h> header file. */ 1522+/* #undef HAVE_INTTYPES_H */ 1523+ 1524+/* Define to 1 if you have the <limits.h> header file. */ 1525+#define HAVE_LIMITS_H 1 1526+ 1527+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and 1528+ to 0 otherwise. */ 1529+#define HAVE_MALLOC 1 1530+ 1531+/* Define to 1 if you have the <memory.h> header file. */ 1532+#define HAVE_MEMORY_H 1 1533+ 1534+/* Define to 1 if you have the `memset' function. */ 1535+#define HAVE_MEMSET 1 1536+ 1537+/* Define to 1 if your system has a GNU libc compatible `realloc' function, 1538+ and to 0 otherwise. */ 1539+#define HAVE_REALLOC 1 1540+ 1541+/* Define to 1 if you have the <stdint.h> header file. */ 1542+/* #undef HAVE_STDINT_H */ 1543+ 1544+/* Define to 1 if you have the <stdlib.h> header file. */ 1545+#define HAVE_STDLIB_H 1 1546+ 1547+/* Define to 1 if you have the `strchr' function. */ 1548+#define HAVE_STRCHR 1 1549+ 1550+/* Define to 1 if you have the `strdup' function. */ 1551+#define HAVE_STRDUP 1 1552+ 1553+/* Define to 1 if you have the <strings.h> header file. */ 1554+/* #undef HAVE_STRINGS_H */ 1555+ 1556+/* Define to 1 if you have the <string.h> header file. */ 1557+#define HAVE_STRING_H 1 1558+ 1559+/* Define to 1 if you have the `strpbrk' function. */ 1560+#define HAVE_STRPBRK 1 1561+ 1562+/* Define to 1 if you have the <sys/stat.h> header file. */ 1563+#define HAVE_SYS_STAT_H 1 1564+ 1565+/* Define to 1 if you have the <sys/time.h> header file. */ 1566+/* #undef HAVE_SYS_TIME_H */ 1567+ 1568+/* Define to 1 if you have the <sys/types.h> header file. */ 1569+#define HAVE_SYS_TYPES_H 1 1570+ 1571+/* Define to 1 if you have the <unistd.h> header file. */ 1572+#define HAVE_UNISTD_H 1 1573+ 1574+/* Define to 1 if you have the `vprintf' function. */ 1575+#define HAVE_VPRINTF 1 1576+ 1577+/* Name of package */ 1578+#define PACKAGE "libtextcat" 1579+ 1580+/* Define to the address where bug reports for this package should be sent. */ 1581+#define PACKAGE_BUGREPORT "" 1582+ 1583+/* Define to the full name of this package. */ 1584+#define PACKAGE_NAME "libtextcat" 1585+ 1586+/* Define to the full name and version of this package. */ 1587+#define PACKAGE_STRING "libtextcat 2.2" 1588+ 1589+/* Define to the one symbol short name of this package. */ 1590+#define PACKAGE_TARNAME "libtextcat" 1591+ 1592+/* Define to the version of this package. */ 1593+#define PACKAGE_VERSION "2.2" 1594+ 1595+/* If using the C implementation of alloca, define if you know the 1596+ direction of stack growth for your system; otherwise it will be 1597+ automatically deduced at run-time. 1598+ STACK_DIRECTION > 0 => grows toward higher addresses 1599+ STACK_DIRECTION < 0 => grows toward lower addresses 1600+ STACK_DIRECTION = 0 => direction of growth unknown */ 1601+/* #undef STACK_DIRECTION */ 1602+ 1603+/* Define to 1 if you have the ANSI C header files. */ 1604+#define STDC_HEADERS 1 1605+ 1606+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ 1607+#define TIME_WITH_SYS_TIME 1 1608+ 1609+/* Define to 1 if your <sys/time.h> declares `struct tm'. */ 1610+/* #undef TM_IN_SYS_TIME */ 1611+ 1612+/* Version number of package */ 1613+#define VERSION "2.2" 1614+ 1615+/* Define to empty if `const' does not conform to ANSI C. */ 1616+/* #undef const */ 1617+ 1618+/* Define as `__inline' if that's what the C compiler calls it, or to nothing 1619+ if it is not supported. */ 1620+/* #undef inline */ 1621+ 1622+/* Define to rpl_malloc if the replacement function should be used. */ 1623+/* #undef malloc */ 1624+ 1625+/* Define to rpl_realloc if the replacement function should be used. */ 1626+/* #undef realloc */ 1627+ 1628+/* Define to `unsigned' if <sys/types.h> does not define. */ 1629+/* #undef size_t */ 1630--- misc/libtextcat-2.2/config.guess 2010-04-15 09:20:04.000000000 +0000 1631+++ misc/build/libtextcat-2.2/config.guess 2010-04-15 09:20:41.000000000 +0000 1632@@ -1,9 +1,10 @@ 1633 #! /bin/sh 1634 # Attempt to guess a canonical system name. 1635 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 1636-# 2000, 2001, 2002 Free Software Foundation, Inc. 1637+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 1638+# Free Software Foundation, Inc. 1639 1640-timestamp='2002-10-21' 1641+timestamp='2009-12-30' 1642 1643 # This file is free software; you can redistribute it and/or modify it 1644 # under the terms of the GNU General Public License as published by 1645@@ -17,23 +18,25 @@ 1646 # 1647 # You should have received a copy of the GNU General Public License 1648 # along with this program; if not, write to the Free Software 1649-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 1650+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 1651+# 02110-1301, USA. 1652 # 1653 # As a special exception to the GNU General Public License, if you 1654 # distribute this file as part of a program that contains a 1655 # configuration script generated by Autoconf, you may include it under 1656 # the same distribution terms that you use for the rest of that program. 1657 1658-# Originally written by Per Bothner <per@bothner.com>. 1659-# Please send patches to <config-patches@gnu.org>. Submit a context 1660-# diff and a properly formatted ChangeLog entry. 1661+ 1662+# Originally written by Per Bothner. Please send patches (context 1663+# diff format) to <config-patches@gnu.org> and include a ChangeLog 1664+# entry. 1665 # 1666 # This script attempts to guess a canonical system name similar to 1667 # config.sub. If it succeeds, it prints the system name on stdout, and 1668 # exits with 0. Otherwise, it exits with 1. 1669 # 1670-# The plan is that this can be called by configure scripts if you 1671-# don't specify an explicit build system type. 1672+# You can get the latest version of this script from: 1673+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 1674 1675 me=`echo "$0" | sed -e 's,.*/,,'` 1676 1677@@ -53,8 +56,9 @@ 1678 GNU config.guess ($timestamp) 1679 1680 Originally written by Per Bothner. 1681-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 1682-Free Software Foundation, Inc. 1683+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 1684+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 1685+Software Foundation, Inc. 1686 1687 This is free software; see the source for copying conditions. There is NO 1688 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 1689@@ -66,11 +70,11 @@ 1690 while test $# -gt 0 ; do 1691 case $1 in 1692 --time-stamp | --time* | -t ) 1693- echo "$timestamp" ; exit 0 ;; 1694+ echo "$timestamp" ; exit ;; 1695 --version | -v ) 1696- echo "$version" ; exit 0 ;; 1697+ echo "$version" ; exit ;; 1698 --help | --h* | -h ) 1699- echo "$usage"; exit 0 ;; 1700+ echo "$usage"; exit ;; 1701 -- ) # Stop option processing 1702 shift; break ;; 1703 - ) # Use stdin as input. 1704@@ -98,14 +102,18 @@ 1705 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 1706 # use `HOST_CC' if defined, but it is deprecated. 1707 1708-# This shell variable is my proudest work .. or something. --bje 1709+# Portable tmp directory creation inspired by the Autoconf team. 1710 1711-set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; 1712-(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) 1713- || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; 1714-dummy=$tmpdir/dummy ; 1715-files="$dummy.c $dummy.o $dummy.rel $dummy" ; 1716-trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; 1717+set_cc_for_build=' 1718+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 1719+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 1720+: ${TMPDIR=/tmp} ; 1721+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1722+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 1723+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 1724+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 1725+dummy=$tmp/dummy ; 1726+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 1727 case $CC_FOR_BUILD,$HOST_CC,$CC in 1728 ,,) echo "int x;" > $dummy.c ; 1729 for c in cc gcc c89 c99 ; do 1730@@ -113,15 +121,13 @@ 1731 CC_FOR_BUILD="$c"; break ; 1732 fi ; 1733 done ; 1734- rm -f $files ; 1735 if test x"$CC_FOR_BUILD" = x ; then 1736 CC_FOR_BUILD=no_compiler_found ; 1737 fi 1738 ;; 1739 ,,*) CC_FOR_BUILD=$CC ;; 1740 ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1741-esac ; 1742-unset files' 1743+esac ; set_cc_for_build= ;' 1744 1745 # This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1746 # (ghazi@noc.rutgers.edu 1994-08-24) 1747@@ -156,6 +162,7 @@ 1748 arm*) machine=arm-unknown ;; 1749 sh3el) machine=shl-unknown ;; 1750 sh3eb) machine=sh-unknown ;; 1751+ sh5el) machine=sh5le-unknown ;; 1752 *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 1753 esac 1754 # The Operating System including object format, if it has switched 1755@@ -164,7 +171,7 @@ 1756 arm*|i386|m68k|ns32k|sh3*|sparc|vax) 1757 eval $set_cc_for_build 1758 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1759- | grep __ELF__ >/dev/null 1760+ | grep -q __ELF__ 1761 then 1762 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 1763 # Return netbsd for either. FIX? 1764@@ -178,144 +185,128 @@ 1765 ;; 1766 esac 1767 # The OS release 1768- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 1769+ # Debian GNU/NetBSD machines have a different userland, and 1770+ # thus, need a distinct triplet. However, they do not need 1771+ # kernel version information, so it can be replaced with a 1772+ # suitable tag, in the style of linux-gnu. 1773+ case "${UNAME_VERSION}" in 1774+ Debian*) 1775+ release='-gnu' 1776+ ;; 1777+ *) 1778+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 1779+ ;; 1780+ esac 1781 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 1782 # contains redundant information, the shorter form: 1783 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 1784 echo "${machine}-${os}${release}" 1785- exit 0 ;; 1786- amiga:OpenBSD:*:*) 1787- echo m68k-unknown-openbsd${UNAME_RELEASE} 1788- exit 0 ;; 1789- arc:OpenBSD:*:*) 1790- echo mipsel-unknown-openbsd${UNAME_RELEASE} 1791- exit 0 ;; 1792- hp300:OpenBSD:*:*) 1793- echo m68k-unknown-openbsd${UNAME_RELEASE} 1794- exit 0 ;; 1795- mac68k:OpenBSD:*:*) 1796- echo m68k-unknown-openbsd${UNAME_RELEASE} 1797- exit 0 ;; 1798- macppc:OpenBSD:*:*) 1799- echo powerpc-unknown-openbsd${UNAME_RELEASE} 1800- exit 0 ;; 1801- mvme68k:OpenBSD:*:*) 1802- echo m68k-unknown-openbsd${UNAME_RELEASE} 1803- exit 0 ;; 1804- mvme88k:OpenBSD:*:*) 1805- echo m88k-unknown-openbsd${UNAME_RELEASE} 1806- exit 0 ;; 1807- mvmeppc:OpenBSD:*:*) 1808- echo powerpc-unknown-openbsd${UNAME_RELEASE} 1809- exit 0 ;; 1810- pmax:OpenBSD:*:*) 1811- echo mipsel-unknown-openbsd${UNAME_RELEASE} 1812- exit 0 ;; 1813- sgi:OpenBSD:*:*) 1814- echo mipseb-unknown-openbsd${UNAME_RELEASE} 1815- exit 0 ;; 1816- sun3:OpenBSD:*:*) 1817- echo m68k-unknown-openbsd${UNAME_RELEASE} 1818- exit 0 ;; 1819- wgrisc:OpenBSD:*:*) 1820- echo mipsel-unknown-openbsd${UNAME_RELEASE} 1821- exit 0 ;; 1822+ exit ;; 1823 *:OpenBSD:*:*) 1824- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 1825- exit 0 ;; 1826+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 1827+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 1828+ exit ;; 1829+ *:ekkoBSD:*:*) 1830+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 1831+ exit ;; 1832+ *:SolidBSD:*:*) 1833+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 1834+ exit ;; 1835+ macppc:MirBSD:*:*) 1836+ echo powerpc-unknown-mirbsd${UNAME_RELEASE} 1837+ exit ;; 1838+ *:MirBSD:*:*) 1839+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 1840+ exit ;; 1841 alpha:OSF1:*:*) 1842- if test $UNAME_RELEASE = "V4.0"; then 1843+ case $UNAME_RELEASE in 1844+ *4.0) 1845 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 1846- fi 1847+ ;; 1848+ *5.*) 1849+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 1850+ ;; 1851+ esac 1852+ # According to Compaq, /usr/sbin/psrinfo has been available on 1853+ # OSF/1 and Tru64 systems produced since 1995. I hope that 1854+ # covers most systems running today. This code pipes the CPU 1855+ # types through head -n 1, so we only detect the type of CPU 0. 1856+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 1857+ case "$ALPHA_CPU_TYPE" in 1858+ "EV4 (21064)") 1859+ UNAME_MACHINE="alpha" ;; 1860+ "EV4.5 (21064)") 1861+ UNAME_MACHINE="alpha" ;; 1862+ "LCA4 (21066/21068)") 1863+ UNAME_MACHINE="alpha" ;; 1864+ "EV5 (21164)") 1865+ UNAME_MACHINE="alphaev5" ;; 1866+ "EV5.6 (21164A)") 1867+ UNAME_MACHINE="alphaev56" ;; 1868+ "EV5.6 (21164PC)") 1869+ UNAME_MACHINE="alphapca56" ;; 1870+ "EV5.7 (21164PC)") 1871+ UNAME_MACHINE="alphapca57" ;; 1872+ "EV6 (21264)") 1873+ UNAME_MACHINE="alphaev6" ;; 1874+ "EV6.7 (21264A)") 1875+ UNAME_MACHINE="alphaev67" ;; 1876+ "EV6.8CB (21264C)") 1877+ UNAME_MACHINE="alphaev68" ;; 1878+ "EV6.8AL (21264B)") 1879+ UNAME_MACHINE="alphaev68" ;; 1880+ "EV6.8CX (21264D)") 1881+ UNAME_MACHINE="alphaev68" ;; 1882+ "EV6.9A (21264/EV69A)") 1883+ UNAME_MACHINE="alphaev69" ;; 1884+ "EV7 (21364)") 1885+ UNAME_MACHINE="alphaev7" ;; 1886+ "EV7.9 (21364A)") 1887+ UNAME_MACHINE="alphaev79" ;; 1888+ esac 1889+ # A Pn.n version is a patched version. 1890 # A Vn.n version is a released version. 1891 # A Tn.n version is a released field test version. 1892 # A Xn.n version is an unreleased experimental baselevel. 1893 # 1.2 uses "1.2" for uname -r. 1894- eval $set_cc_for_build 1895- cat <<EOF >$dummy.s 1896- .data 1897-\$Lformat: 1898- .byte 37,100,45,37,120,10,0 # "%d-%x\n" 1899- 1900- .text 1901- .globl main 1902- .align 4 1903- .ent main 1904-main: 1905- .frame \$30,16,\$26,0 1906- ldgp \$29,0(\$27) 1907- .prologue 1 1908- .long 0x47e03d80 # implver \$0 1909- lda \$2,-1 1910- .long 0x47e20c21 # amask \$2,\$1 1911- lda \$16,\$Lformat 1912- mov \$0,\$17 1913- not \$1,\$18 1914- jsr \$26,printf 1915- ldgp \$29,0(\$26) 1916- mov 0,\$16 1917- jsr \$26,exit 1918- .end main 1919-EOF 1920- $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null 1921- if test "$?" = 0 ; then 1922- case `$dummy` in 1923- 0-0) 1924- UNAME_MACHINE="alpha" 1925- ;; 1926- 1-0) 1927- UNAME_MACHINE="alphaev5" 1928- ;; 1929- 1-1) 1930- UNAME_MACHINE="alphaev56" 1931- ;; 1932- 1-101) 1933- UNAME_MACHINE="alphapca56" 1934- ;; 1935- 2-303) 1936- UNAME_MACHINE="alphaev6" 1937- ;; 1938- 2-307) 1939- UNAME_MACHINE="alphaev67" 1940- ;; 1941- 2-1307) 1942- UNAME_MACHINE="alphaev68" 1943- ;; 1944- 3-1307) 1945- UNAME_MACHINE="alphaev7" 1946- ;; 1947- esac 1948- fi 1949- rm -f $dummy.s $dummy && rmdir $tmpdir 1950- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1951- exit 0 ;; 1952+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1953+ exit ;; 1954 Alpha\ *:Windows_NT*:*) 1955 # How do we know it's Interix rather than the generic POSIX subsystem? 1956 # Should we change UNAME_MACHINE based on the output of uname instead 1957 # of the specific Alpha model? 1958 echo alpha-pc-interix 1959- exit 0 ;; 1960+ exit ;; 1961 21064:Windows_NT:50:3) 1962 echo alpha-dec-winnt3.5 1963- exit 0 ;; 1964+ exit ;; 1965 Amiga*:UNIX_System_V:4.0:*) 1966 echo m68k-unknown-sysv4 1967- exit 0;; 1968+ exit ;; 1969 *:[Aa]miga[Oo][Ss]:*:*) 1970 echo ${UNAME_MACHINE}-unknown-amigaos 1971- exit 0 ;; 1972+ exit ;; 1973 *:[Mm]orph[Oo][Ss]:*:*) 1974 echo ${UNAME_MACHINE}-unknown-morphos 1975- exit 0 ;; 1976+ exit ;; 1977 *:OS/390:*:*) 1978 echo i370-ibm-openedition 1979- exit 0 ;; 1980+ exit ;; 1981+ *:z/VM:*:*) 1982+ echo s390-ibm-zvmoe 1983+ exit ;; 1984+ *:OS400:*:*) 1985+ echo powerpc-ibm-os400 1986+ exit ;; 1987 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 1988 echo arm-acorn-riscix${UNAME_RELEASE} 1989- exit 0;; 1990+ exit ;; 1991+ arm:riscos:*:*|arm:RISCOS:*:*) 1992+ echo arm-unknown-riscos 1993+ exit ;; 1994 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 1995 echo hppa1.1-hitachi-hiuxmpp 1996- exit 0;; 1997+ exit ;; 1998 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 1999 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 2000 if test "`(/bin/universe) 2>/dev/null`" = att ; then 2001@@ -323,29 +314,51 @@ 2002 else 2003 echo pyramid-pyramid-bsd 2004 fi 2005- exit 0 ;; 2006+ exit ;; 2007 NILE*:*:*:dcosx) 2008 echo pyramid-pyramid-svr4 2009- exit 0 ;; 2010- DRS?6000:UNIX_SV:4.2*:7*) 2011+ exit ;; 2012+ DRS?6000:unix:4.0:6*) 2013+ echo sparc-icl-nx6 2014+ exit ;; 2015+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 2016 case `/usr/bin/uname -p` in 2017- sparc) echo sparc-icl-nx7 && exit 0 ;; 2018+ sparc) echo sparc-icl-nx7; exit ;; 2019 esac ;; 2020+ s390x:SunOS:*:*) 2021+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2022+ exit ;; 2023 sun4H:SunOS:5.*:*) 2024 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2025- exit 0 ;; 2026+ exit ;; 2027 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 2028 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2029- exit 0 ;; 2030- i86pc:SunOS:5.*:*) 2031- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2032- exit 0 ;; 2033+ exit ;; 2034+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 2035+ echo i386-pc-auroraux${UNAME_RELEASE} 2036+ exit ;; 2037+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 2038+ eval $set_cc_for_build 2039+ SUN_ARCH="i386" 2040+ # If there is a compiler, see if it is configured for 64-bit objects. 2041+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 2042+ # This test works for both compilers. 2043+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 2044+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 2045+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 2046+ grep IS_64BIT_ARCH >/dev/null 2047+ then 2048+ SUN_ARCH="x86_64" 2049+ fi 2050+ fi 2051+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2052+ exit ;; 2053 sun4*:SunOS:6*:*) 2054 # According to config.sub, this is the proper way to canonicalize 2055 # SunOS6. Hard to guess exactly what SunOS6 will be like, but 2056 # it's likely to be more like Solaris than SunOS4. 2057 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2058- exit 0 ;; 2059+ exit ;; 2060 sun4*:SunOS:*:*) 2061 case "`/usr/bin/arch -k`" in 2062 Series*|S4*) 2063@@ -354,10 +367,10 @@ 2064 esac 2065 # Japanese Language versions have a version number like `4.1.3-JL'. 2066 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 2067- exit 0 ;; 2068+ exit ;; 2069 sun3*:SunOS:*:*) 2070 echo m68k-sun-sunos${UNAME_RELEASE} 2071- exit 0 ;; 2072+ exit ;; 2073 sun*:*:4.2BSD:*) 2074 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 2075 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 2076@@ -369,10 +382,10 @@ 2077 echo sparc-sun-sunos${UNAME_RELEASE} 2078 ;; 2079 esac 2080- exit 0 ;; 2081+ exit ;; 2082 aushp:SunOS:*:*) 2083 echo sparc-auspex-sunos${UNAME_RELEASE} 2084- exit 0 ;; 2085+ exit ;; 2086 # The situation for MiNT is a little confusing. The machine name 2087 # can be virtually everything (everything which is not 2088 # "atarist" or "atariste" at least should have a processor 2089@@ -383,37 +396,40 @@ 2090 # be no problem. 2091 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 2092 echo m68k-atari-mint${UNAME_RELEASE} 2093- exit 0 ;; 2094+ exit ;; 2095 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 2096 echo m68k-atari-mint${UNAME_RELEASE} 2097- exit 0 ;; 2098+ exit ;; 2099 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 2100 echo m68k-atari-mint${UNAME_RELEASE} 2101- exit 0 ;; 2102+ exit ;; 2103 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 2104 echo m68k-milan-mint${UNAME_RELEASE} 2105- exit 0 ;; 2106+ exit ;; 2107 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 2108 echo m68k-hades-mint${UNAME_RELEASE} 2109- exit 0 ;; 2110+ exit ;; 2111 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 2112 echo m68k-unknown-mint${UNAME_RELEASE} 2113- exit 0 ;; 2114+ exit ;; 2115+ m68k:machten:*:*) 2116+ echo m68k-apple-machten${UNAME_RELEASE} 2117+ exit ;; 2118 powerpc:machten:*:*) 2119 echo powerpc-apple-machten${UNAME_RELEASE} 2120- exit 0 ;; 2121+ exit ;; 2122 RISC*:Mach:*:*) 2123 echo mips-dec-mach_bsd4.3 2124- exit 0 ;; 2125+ exit ;; 2126 RISC*:ULTRIX:*:*) 2127 echo mips-dec-ultrix${UNAME_RELEASE} 2128- exit 0 ;; 2129+ exit ;; 2130 VAX*:ULTRIX*:*:*) 2131 echo vax-dec-ultrix${UNAME_RELEASE} 2132- exit 0 ;; 2133+ exit ;; 2134 2020:CLIX:*:* | 2430:CLIX:*:*) 2135 echo clipper-intergraph-clix${UNAME_RELEASE} 2136- exit 0 ;; 2137+ exit ;; 2138 mips:*:*:UMIPS | mips:*:*:RISCos) 2139 eval $set_cc_for_build 2140 sed 's/^ //' << EOF >$dummy.c 2141@@ -437,33 +453,33 @@ 2142 exit (-1); 2143 } 2144 EOF 2145- $CC_FOR_BUILD -o $dummy $dummy.c \ 2146- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 2147- && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 2148- rm -f $dummy.c $dummy && rmdir $tmpdir 2149+ $CC_FOR_BUILD -o $dummy $dummy.c && 2150+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 2151+ SYSTEM_NAME=`$dummy $dummyarg` && 2152+ { echo "$SYSTEM_NAME"; exit; } 2153 echo mips-mips-riscos${UNAME_RELEASE} 2154- exit 0 ;; 2155+ exit ;; 2156 Motorola:PowerMAX_OS:*:*) 2157 echo powerpc-motorola-powermax 2158- exit 0 ;; 2159+ exit ;; 2160 Motorola:*:4.3:PL8-*) 2161 echo powerpc-harris-powermax 2162- exit 0 ;; 2163- Night_Hawk:*:*:PowerMAX_OS) 2164+ exit ;; 2165+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 2166 echo powerpc-harris-powermax 2167- exit 0 ;; 2168+ exit ;; 2169 Night_Hawk:Power_UNIX:*:*) 2170 echo powerpc-harris-powerunix 2171- exit 0 ;; 2172+ exit ;; 2173 m88k:CX/UX:7*:*) 2174 echo m88k-harris-cxux7 2175- exit 0 ;; 2176+ exit ;; 2177 m88k:*:4*:R4*) 2178 echo m88k-motorola-sysv4 2179- exit 0 ;; 2180+ exit ;; 2181 m88k:*:3*:R3*) 2182 echo m88k-motorola-sysv3 2183- exit 0 ;; 2184+ exit ;; 2185 AViiON:dgux:*:*) 2186 # DG/UX returns AViiON for all architectures 2187 UNAME_PROCESSOR=`/usr/bin/uname -p` 2188@@ -479,29 +495,29 @@ 2189 else 2190 echo i586-dg-dgux${UNAME_RELEASE} 2191 fi 2192- exit 0 ;; 2193+ exit ;; 2194 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 2195 echo m88k-dolphin-sysv3 2196- exit 0 ;; 2197+ exit ;; 2198 M88*:*:R3*:*) 2199 # Delta 88k system running SVR3 2200 echo m88k-motorola-sysv3 2201- exit 0 ;; 2202+ exit ;; 2203 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 2204 echo m88k-tektronix-sysv3 2205- exit 0 ;; 2206+ exit ;; 2207 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 2208 echo m68k-tektronix-bsd 2209- exit 0 ;; 2210+ exit ;; 2211 *:IRIX*:*:*) 2212 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 2213- exit 0 ;; 2214+ exit ;; 2215 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 2216- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 2217- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 2218+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 2219+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 2220 i*86:AIX:*:*) 2221 echo i386-ibm-aix 2222- exit 0 ;; 2223+ exit ;; 2224 ia64:AIX:*:*) 2225 if [ -x /usr/bin/oslevel ] ; then 2226 IBM_REV=`/usr/bin/oslevel` 2227@@ -509,7 +525,7 @@ 2228 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 2229 fi 2230 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 2231- exit 0 ;; 2232+ exit ;; 2233 *:AIX:2:3) 2234 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 2235 eval $set_cc_for_build 2236@@ -524,16 +540,19 @@ 2237 exit(0); 2238 } 2239 EOF 2240- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 2241- rm -f $dummy.c $dummy && rmdir $tmpdir 2242- echo rs6000-ibm-aix3.2.5 2243+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 2244+ then 2245+ echo "$SYSTEM_NAME" 2246+ else 2247+ echo rs6000-ibm-aix3.2.5 2248+ fi 2249 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 2250 echo rs6000-ibm-aix3.2.4 2251 else 2252 echo rs6000-ibm-aix3.2 2253 fi 2254- exit 0 ;; 2255- *:AIX:*:[45]) 2256+ exit ;; 2257+ *:AIX:*:[456]) 2258 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 2259 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 2260 IBM_ARCH=rs6000 2261@@ -546,28 +565,28 @@ 2262 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 2263 fi 2264 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 2265- exit 0 ;; 2266+ exit ;; 2267 *:AIX:*:*) 2268 echo rs6000-ibm-aix 2269- exit 0 ;; 2270+ exit ;; 2271 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 2272 echo romp-ibm-bsd4.4 2273- exit 0 ;; 2274+ exit ;; 2275 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 2276 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 2277- exit 0 ;; # report: romp-ibm BSD 4.3 2278+ exit ;; # report: romp-ibm BSD 4.3 2279 *:BOSX:*:*) 2280 echo rs6000-bull-bosx 2281- exit 0 ;; 2282+ exit ;; 2283 DPX/2?00:B.O.S.:*:*) 2284 echo m68k-bull-sysv3 2285- exit 0 ;; 2286+ exit ;; 2287 9000/[34]??:4.3bsd:1.*:*) 2288 echo m68k-hp-bsd 2289- exit 0 ;; 2290+ exit ;; 2291 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 2292 echo m68k-hp-bsd4.4 2293- exit 0 ;; 2294+ exit ;; 2295 9000/[34678]??:HP-UX:*:*) 2296 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 2297 case "${UNAME_MACHINE}" in 2298@@ -624,16 +643,36 @@ 2299 } 2300 EOF 2301 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 2302- if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi 2303- rm -f $dummy.c $dummy && rmdir $tmpdir 2304+ test -z "$HP_ARCH" && HP_ARCH=hppa 2305 fi ;; 2306 esac 2307+ if [ ${HP_ARCH} = "hppa2.0w" ] 2308+ then 2309+ eval $set_cc_for_build 2310+ 2311+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 2312+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 2313+ # generating 64-bit code. GNU and HP use different nomenclature: 2314+ # 2315+ # $ CC_FOR_BUILD=cc ./config.guess 2316+ # => hppa2.0w-hp-hpux11.23 2317+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 2318+ # => hppa64-hp-hpux11.23 2319+ 2320+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 2321+ grep -q __LP64__ 2322+ then 2323+ HP_ARCH="hppa2.0w" 2324+ else 2325+ HP_ARCH="hppa64" 2326+ fi 2327+ fi 2328 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 2329- exit 0 ;; 2330+ exit ;; 2331 ia64:HP-UX:*:*) 2332 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 2333 echo ia64-hp-hpux${HPUX_REV} 2334- exit 0 ;; 2335+ exit ;; 2336 3050*:HI-UX:*:*) 2337 eval $set_cc_for_build 2338 sed 's/^ //' << EOF >$dummy.c 2339@@ -661,186 +700,248 @@ 2340 exit (0); 2341 } 2342 EOF 2343- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 2344- rm -f $dummy.c $dummy && rmdir $tmpdir 2345+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 2346+ { echo "$SYSTEM_NAME"; exit; } 2347 echo unknown-hitachi-hiuxwe2 2348- exit 0 ;; 2349+ exit ;; 2350 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 2351 echo hppa1.1-hp-bsd 2352- exit 0 ;; 2353+ exit ;; 2354 9000/8??:4.3bsd:*:*) 2355 echo hppa1.0-hp-bsd 2356- exit 0 ;; 2357+ exit ;; 2358 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 2359 echo hppa1.0-hp-mpeix 2360- exit 0 ;; 2361+ exit ;; 2362 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 2363 echo hppa1.1-hp-osf 2364- exit 0 ;; 2365+ exit ;; 2366 hp8??:OSF1:*:*) 2367 echo hppa1.0-hp-osf 2368- exit 0 ;; 2369+ exit ;; 2370 i*86:OSF1:*:*) 2371 if [ -x /usr/sbin/sysversion ] ; then 2372 echo ${UNAME_MACHINE}-unknown-osf1mk 2373 else 2374 echo ${UNAME_MACHINE}-unknown-osf1 2375 fi 2376- exit 0 ;; 2377+ exit ;; 2378 parisc*:Lites*:*:*) 2379 echo hppa1.1-hp-lites 2380- exit 0 ;; 2381+ exit ;; 2382 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 2383 echo c1-convex-bsd 2384- exit 0 ;; 2385+ exit ;; 2386 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 2387 if getsysinfo -f scalar_acc 2388 then echo c32-convex-bsd 2389 else echo c2-convex-bsd 2390 fi 2391- exit 0 ;; 2392+ exit ;; 2393 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 2394 echo c34-convex-bsd 2395- exit 0 ;; 2396+ exit ;; 2397 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 2398 echo c38-convex-bsd 2399- exit 0 ;; 2400+ exit ;; 2401 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 2402 echo c4-convex-bsd 2403- exit 0 ;; 2404+ exit ;; 2405 CRAY*Y-MP:*:*:*) 2406 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 2407- exit 0 ;; 2408+ exit ;; 2409 CRAY*[A-Z]90:*:*:*) 2410 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 2411 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 2412 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 2413 -e 's/\.[^.]*$/.X/' 2414- exit 0 ;; 2415+ exit ;; 2416 CRAY*TS:*:*:*) 2417 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 2418- exit 0 ;; 2419- CRAY*T3D:*:*:*) 2420- echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 2421- exit 0 ;; 2422+ exit ;; 2423 CRAY*T3E:*:*:*) 2424 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 2425- exit 0 ;; 2426+ exit ;; 2427 CRAY*SV1:*:*:*) 2428 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 2429- exit 0 ;; 2430+ exit ;; 2431+ *:UNICOS/mp:*:*) 2432+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 2433+ exit ;; 2434 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 2435 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 2436 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 2437 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 2438 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 2439- exit 0 ;; 2440+ exit ;; 2441+ 5000:UNIX_System_V:4.*:*) 2442+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 2443+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 2444+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 2445+ exit ;; 2446 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 2447 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 2448- exit 0 ;; 2449+ exit ;; 2450 sparc*:BSD/OS:*:*) 2451 echo sparc-unknown-bsdi${UNAME_RELEASE} 2452- exit 0 ;; 2453+ exit ;; 2454 *:BSD/OS:*:*) 2455 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 2456- exit 0 ;; 2457+ exit ;; 2458 *:FreeBSD:*:*) 2459- # Determine whether the default compiler uses glibc. 2460- eval $set_cc_for_build 2461- sed 's/^ //' << EOF >$dummy.c 2462- #include <features.h> 2463- #if __GLIBC__ >= 2 2464- LIBC=gnu 2465- #else 2466- LIBC= 2467- #endif 2468-EOF 2469- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 2470- rm -f $dummy.c && rmdir $tmpdir 2471- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} 2472- exit 0 ;; 2473+ case ${UNAME_MACHINE} in 2474+ pc98) 2475+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 2476+ amd64) 2477+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 2478+ *) 2479+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 2480+ esac 2481+ exit ;; 2482 i*:CYGWIN*:*) 2483 echo ${UNAME_MACHINE}-pc-cygwin 2484- exit 0 ;; 2485- i*:MINGW*:*) 2486+ exit ;; 2487+ *:MINGW*:*) 2488 echo ${UNAME_MACHINE}-pc-mingw32 2489- exit 0 ;; 2490+ exit ;; 2491+ i*:windows32*:*) 2492+ # uname -m includes "-pc" on this system. 2493+ echo ${UNAME_MACHINE}-mingw32 2494+ exit ;; 2495 i*:PW*:*) 2496 echo ${UNAME_MACHINE}-pc-pw32 2497- exit 0 ;; 2498- x86:Interix*:3*) 2499- echo i386-pc-interix3 2500- exit 0 ;; 2501+ exit ;; 2502+ *:Interix*:*) 2503+ case ${UNAME_MACHINE} in 2504+ x86) 2505+ echo i586-pc-interix${UNAME_RELEASE} 2506+ exit ;; 2507+ authenticamd | genuineintel | EM64T) 2508+ echo x86_64-unknown-interix${UNAME_RELEASE} 2509+ exit ;; 2510+ IA64) 2511+ echo ia64-unknown-interix${UNAME_RELEASE} 2512+ exit ;; 2513+ esac ;; 2514+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 2515+ echo i${UNAME_MACHINE}-pc-mks 2516+ exit ;; 2517+ 8664:Windows_NT:*) 2518+ echo x86_64-pc-mks 2519+ exit ;; 2520 i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 2521 # How do we know it's Interix rather than the generic POSIX subsystem? 2522 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 2523 # UNAME_MACHINE based on the output of uname instead of i386? 2524- echo i386-pc-interix 2525- exit 0 ;; 2526+ echo i586-pc-interix 2527+ exit ;; 2528 i*:UWIN*:*) 2529 echo ${UNAME_MACHINE}-pc-uwin 2530- exit 0 ;; 2531+ exit ;; 2532+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 2533+ echo x86_64-unknown-cygwin 2534+ exit ;; 2535 p*:CYGWIN*:*) 2536 echo powerpcle-unknown-cygwin 2537- exit 0 ;; 2538+ exit ;; 2539 prep*:SunOS:5.*:*) 2540 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2541- exit 0 ;; 2542+ exit ;; 2543 *:GNU:*:*) 2544+ # the GNU system 2545 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 2546- exit 0 ;; 2547+ exit ;; 2548+ *:GNU/*:*:*) 2549+ # other systems with GNU libc and userland 2550+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 2551+ exit ;; 2552 i*86:Minix:*:*) 2553 echo ${UNAME_MACHINE}-pc-minix 2554- exit 0 ;; 2555+ exit ;; 2556+ alpha:Linux:*:*) 2557+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 2558+ EV5) UNAME_MACHINE=alphaev5 ;; 2559+ EV56) UNAME_MACHINE=alphaev56 ;; 2560+ PCA56) UNAME_MACHINE=alphapca56 ;; 2561+ PCA57) UNAME_MACHINE=alphapca56 ;; 2562+ EV6) UNAME_MACHINE=alphaev6 ;; 2563+ EV67) UNAME_MACHINE=alphaev67 ;; 2564+ EV68*) UNAME_MACHINE=alphaev68 ;; 2565+ esac 2566+ objdump --private-headers /bin/sh | grep -q ld.so.1 2567+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 2568+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 2569+ exit ;; 2570 arm*:Linux:*:*) 2571+ eval $set_cc_for_build 2572+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 2573+ | grep -q __ARM_EABI__ 2574+ then 2575+ echo ${UNAME_MACHINE}-unknown-linux-gnu 2576+ else 2577+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi 2578+ fi 2579+ exit ;; 2580+ avr32*:Linux:*:*) 2581 echo ${UNAME_MACHINE}-unknown-linux-gnu 2582- exit 0 ;; 2583+ exit ;; 2584+ cris:Linux:*:*) 2585+ echo cris-axis-linux-gnu 2586+ exit ;; 2587+ crisv32:Linux:*:*) 2588+ echo crisv32-axis-linux-gnu 2589+ exit ;; 2590+ frv:Linux:*:*) 2591+ echo frv-unknown-linux-gnu 2592+ exit ;; 2593+ i*86:Linux:*:*) 2594+ LIBC=gnu 2595+ eval $set_cc_for_build 2596+ sed 's/^ //' << EOF >$dummy.c 2597+ #ifdef __dietlibc__ 2598+ LIBC=dietlibc 2599+ #endif 2600+EOF 2601+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` 2602+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 2603+ exit ;; 2604 ia64:Linux:*:*) 2605 echo ${UNAME_MACHINE}-unknown-linux-gnu 2606- exit 0 ;; 2607+ exit ;; 2608+ m32r*:Linux:*:*) 2609+ echo ${UNAME_MACHINE}-unknown-linux-gnu 2610+ exit ;; 2611 m68*:Linux:*:*) 2612 echo ${UNAME_MACHINE}-unknown-linux-gnu 2613- exit 0 ;; 2614- mips:Linux:*:*) 2615+ exit ;; 2616+ mips:Linux:*:* | mips64:Linux:*:*) 2617 eval $set_cc_for_build 2618 sed 's/^ //' << EOF >$dummy.c 2619 #undef CPU 2620- #undef mips 2621- #undef mipsel 2622+ #undef ${UNAME_MACHINE} 2623+ #undef ${UNAME_MACHINE}el 2624 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 2625- CPU=mipsel 2626+ CPU=${UNAME_MACHINE}el 2627 #else 2628 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 2629- CPU=mips 2630+ CPU=${UNAME_MACHINE} 2631 #else 2632 CPU= 2633 #endif 2634 #endif 2635 EOF 2636- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 2637- rm -f $dummy.c && rmdir $tmpdir 2638- test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 2639+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 2640+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 2641 ;; 2642- ppc:Linux:*:*) 2643- echo powerpc-unknown-linux-gnu 2644- exit 0 ;; 2645- ppc64:Linux:*:*) 2646- echo powerpc64-unknown-linux-gnu 2647- exit 0 ;; 2648- alpha:Linux:*:*) 2649- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 2650- EV5) UNAME_MACHINE=alphaev5 ;; 2651- EV56) UNAME_MACHINE=alphaev56 ;; 2652- PCA56) UNAME_MACHINE=alphapca56 ;; 2653- PCA57) UNAME_MACHINE=alphapca56 ;; 2654- EV6) UNAME_MACHINE=alphaev6 ;; 2655- EV67) UNAME_MACHINE=alphaev67 ;; 2656- EV68*) UNAME_MACHINE=alphaev68 ;; 2657- esac 2658- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 2659- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 2660- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 2661- exit 0 ;; 2662+ or32:Linux:*:*) 2663+ echo or32-unknown-linux-gnu 2664+ exit ;; 2665+ padre:Linux:*:*) 2666+ echo sparc-unknown-linux-gnu 2667+ exit ;; 2668+ parisc64:Linux:*:* | hppa64:Linux:*:*) 2669+ echo hppa64-unknown-linux-gnu 2670+ exit ;; 2671 parisc:Linux:*:* | hppa:Linux:*:*) 2672 # Look for CPU level 2673 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 2674@@ -848,82 +949,40 @@ 2675 PA8*) echo hppa2.0-unknown-linux-gnu ;; 2676 *) echo hppa-unknown-linux-gnu ;; 2677 esac 2678- exit 0 ;; 2679- parisc64:Linux:*:* | hppa64:Linux:*:*) 2680- echo hppa64-unknown-linux-gnu 2681- exit 0 ;; 2682+ exit ;; 2683+ ppc64:Linux:*:*) 2684+ echo powerpc64-unknown-linux-gnu 2685+ exit ;; 2686+ ppc:Linux:*:*) 2687+ echo powerpc-unknown-linux-gnu 2688+ exit ;; 2689 s390:Linux:*:* | s390x:Linux:*:*) 2690 echo ${UNAME_MACHINE}-ibm-linux 2691- exit 0 ;; 2692+ exit ;; 2693+ sh64*:Linux:*:*) 2694+ echo ${UNAME_MACHINE}-unknown-linux-gnu 2695+ exit ;; 2696 sh*:Linux:*:*) 2697 echo ${UNAME_MACHINE}-unknown-linux-gnu 2698- exit 0 ;; 2699+ exit ;; 2700 sparc:Linux:*:* | sparc64:Linux:*:*) 2701 echo ${UNAME_MACHINE}-unknown-linux-gnu 2702- exit 0 ;; 2703+ exit ;; 2704+ vax:Linux:*:*) 2705+ echo ${UNAME_MACHINE}-dec-linux-gnu 2706+ exit ;; 2707 x86_64:Linux:*:*) 2708 echo x86_64-unknown-linux-gnu 2709- exit 0 ;; 2710- i*86:Linux:*:*) 2711- # The BFD linker knows what the default object file format is, so 2712- # first see if it will tell us. cd to the root directory to prevent 2713- # problems with other programs or directories called `ld' in the path. 2714- # Set LC_ALL=C to ensure ld outputs messages in English. 2715- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 2716- | sed -ne '/supported targets:/!d 2717- s/[ ][ ]*/ /g 2718- s/.*supported targets: *// 2719- s/ .*// 2720- p'` 2721- case "$ld_supported_targets" in 2722- elf32-i386) 2723- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 2724- ;; 2725- a.out-i386-linux) 2726- echo "${UNAME_MACHINE}-pc-linux-gnuaout" 2727- exit 0 ;; 2728- coff-i386) 2729- echo "${UNAME_MACHINE}-pc-linux-gnucoff" 2730- exit 0 ;; 2731- "") 2732- # Either a pre-BFD a.out linker (linux-gnuoldld) or 2733- # one that does not give us useful --help. 2734- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 2735- exit 0 ;; 2736- esac 2737- # Determine whether the default compiler is a.out or elf 2738- eval $set_cc_for_build 2739- sed 's/^ //' << EOF >$dummy.c 2740- #include <features.h> 2741- #ifdef __ELF__ 2742- # ifdef __GLIBC__ 2743- # if __GLIBC__ >= 2 2744- LIBC=gnu 2745- # else 2746- LIBC=gnulibc1 2747- # endif 2748- # else 2749- LIBC=gnulibc1 2750- # endif 2751- #else 2752- #ifdef __INTEL_COMPILER 2753- LIBC=gnu 2754- #else 2755- LIBC=gnuaout 2756- #endif 2757- #endif 2758-EOF 2759- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 2760- rm -f $dummy.c && rmdir $tmpdir 2761- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 2762- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 2763- ;; 2764+ exit ;; 2765+ xtensa*:Linux:*:*) 2766+ echo ${UNAME_MACHINE}-unknown-linux-gnu 2767+ exit ;; 2768 i*86:DYNIX/ptx:4*:*) 2769 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 2770 # earlier versions are messed up and put the nodename in both 2771 # sysname and nodename. 2772 echo i386-sequent-sysv4 2773- exit 0 ;; 2774+ exit ;; 2775 i*86:UNIX_SV:4.2MP:2.*) 2776 # Unixware is an offshoot of SVR4, but it has its own version 2777 # number series starting with 2... 2778@@ -931,7 +990,27 @@ 2779 # I just have to hope. -- rms. 2780 # Use sysv4.2uw... so that sysv4* matches it. 2781 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 2782- exit 0 ;; 2783+ exit ;; 2784+ i*86:OS/2:*:*) 2785+ # If we were able to find `uname', then EMX Unix compatibility 2786+ # is probably installed. 2787+ echo ${UNAME_MACHINE}-pc-os2-emx 2788+ exit ;; 2789+ i*86:XTS-300:*:STOP) 2790+ echo ${UNAME_MACHINE}-unknown-stop 2791+ exit ;; 2792+ i*86:atheos:*:*) 2793+ echo ${UNAME_MACHINE}-unknown-atheos 2794+ exit ;; 2795+ i*86:syllable:*:*) 2796+ echo ${UNAME_MACHINE}-pc-syllable 2797+ exit ;; 2798+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 2799+ echo i386-unknown-lynxos${UNAME_RELEASE} 2800+ exit ;; 2801+ i*86:*DOS:*:*) 2802+ echo ${UNAME_MACHINE}-pc-msdosdjgpp 2803+ exit ;; 2804 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 2805 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 2806 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 2807@@ -939,15 +1018,16 @@ 2808 else 2809 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 2810 fi 2811- exit 0 ;; 2812- i*86:*:5:[78]*) 2813+ exit ;; 2814+ i*86:*:5:[678]*) 2815+ # UnixWare 7.x, OpenUNIX and OpenServer 6. 2816 case `/bin/uname -X | grep "^Machine"` in 2817 *486*) UNAME_MACHINE=i486 ;; 2818 *Pentium) UNAME_MACHINE=i586 ;; 2819 *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 2820 esac 2821 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 2822- exit 0 ;; 2823+ exit ;; 2824 i*86:*:3.2:*) 2825 if test -f /usr/options/cb.name; then 2826 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 2827@@ -965,76 +1045,86 @@ 2828 else 2829 echo ${UNAME_MACHINE}-pc-sysv32 2830 fi 2831- exit 0 ;; 2832- i*86:*DOS:*:*) 2833- echo ${UNAME_MACHINE}-pc-msdosdjgpp 2834- exit 0 ;; 2835+ exit ;; 2836 pc:*:*:*) 2837 # Left here for compatibility: 2838 # uname -m prints for DJGPP always 'pc', but it prints nothing about 2839- # the processor, so we play safe by assuming i386. 2840- echo i386-pc-msdosdjgpp 2841- exit 0 ;; 2842+ # the processor, so we play safe by assuming i586. 2843+ # Note: whatever this is, it MUST be the same as what config.sub 2844+ # prints for the "djgpp" host, or else GDB configury will decide that 2845+ # this is a cross-build. 2846+ echo i586-pc-msdosdjgpp 2847+ exit ;; 2848 Intel:Mach:3*:*) 2849 echo i386-pc-mach3 2850- exit 0 ;; 2851+ exit ;; 2852 paragon:*:*:*) 2853 echo i860-intel-osf1 2854- exit 0 ;; 2855+ exit ;; 2856 i860:*:4.*:*) # i860-SVR4 2857 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 2858 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 2859 else # Add other i860-SVR4 vendors below as they are discovered. 2860 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 2861 fi 2862- exit 0 ;; 2863+ exit ;; 2864 mini*:CTIX:SYS*5:*) 2865 # "miniframe" 2866 echo m68010-convergent-sysv 2867- exit 0 ;; 2868+ exit ;; 2869 mc68k:UNIX:SYSTEM5:3.51m) 2870 echo m68k-convergent-sysv 2871- exit 0 ;; 2872- M68*:*:R3V[567]*:*) 2873- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 2874- 3[34]??:*: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) 2875+ exit ;; 2876+ M680?0:D-NIX:5.3:*) 2877+ echo m68k-diab-dnix 2878+ exit ;; 2879+ M68*:*:R3V[5678]*:*) 2880+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 2881+ 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) 2882 OS_REL='' 2883 test -r /etc/.relid \ 2884 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 2885 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 2886- && echo i486-ncr-sysv4.3${OS_REL} && exit 0 2887+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 2888 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 2889- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 2890+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 2891 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 2892 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 2893- && echo i486-ncr-sysv4 && exit 0 ;; 2894+ && { echo i486-ncr-sysv4; exit; } ;; 2895+ NCR*:*:4.2:* | MPRAS*:*:4.2:*) 2896+ OS_REL='.3' 2897+ test -r /etc/.relid \ 2898+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 2899+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 2900+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 2901+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 2902+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 2903+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 2904+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 2905 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 2906 echo m68k-unknown-lynxos${UNAME_RELEASE} 2907- exit 0 ;; 2908+ exit ;; 2909 mc68030:UNIX_System_V:4.*:*) 2910 echo m68k-atari-sysv4 2911- exit 0 ;; 2912- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 2913- echo i386-unknown-lynxos${UNAME_RELEASE} 2914- exit 0 ;; 2915+ exit ;; 2916 TSUNAMI:LynxOS:2.*:*) 2917 echo sparc-unknown-lynxos${UNAME_RELEASE} 2918- exit 0 ;; 2919+ exit ;; 2920 rs6000:LynxOS:2.*:*) 2921 echo rs6000-unknown-lynxos${UNAME_RELEASE} 2922- exit 0 ;; 2923- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 2924+ exit ;; 2925+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 2926 echo powerpc-unknown-lynxos${UNAME_RELEASE} 2927- exit 0 ;; 2928+ exit ;; 2929 SM[BE]S:UNIX_SV:*:*) 2930 echo mips-dde-sysv${UNAME_RELEASE} 2931- exit 0 ;; 2932+ exit ;; 2933 RM*:ReliantUNIX-*:*:*) 2934 echo mips-sni-sysv4 2935- exit 0 ;; 2936+ exit ;; 2937 RM*:SINIX-*:*:*) 2938 echo mips-sni-sysv4 2939- exit 0 ;; 2940+ exit ;; 2941 *:SINIX-*:*:*) 2942 if uname -p 2>/dev/null >/dev/null ; then 2943 UNAME_MACHINE=`(uname -p) 2>/dev/null` 2944@@ -1042,64 +1132,94 @@ 2945 else 2946 echo ns32k-sni-sysv 2947 fi 2948- exit 0 ;; 2949+ exit ;; 2950 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 2951 # says <Richard.M.Bartel@ccMail.Census.GOV> 2952 echo i586-unisys-sysv4 2953- exit 0 ;; 2954+ exit ;; 2955 *:UNIX_System_V:4*:FTX*) 2956 # From Gerald Hewes <hewes@openmarket.com>. 2957 # How about differentiating between stratus architectures? -djm 2958 echo hppa1.1-stratus-sysv4 2959- exit 0 ;; 2960+ exit ;; 2961 *:*:*:FTX*) 2962 # From seanf@swdc.stratus.com. 2963 echo i860-stratus-sysv4 2964- exit 0 ;; 2965+ exit ;; 2966+ i*86:VOS:*:*) 2967+ # From Paul.Green@stratus.com. 2968+ echo ${UNAME_MACHINE}-stratus-vos 2969+ exit ;; 2970 *:VOS:*:*) 2971 # From Paul.Green@stratus.com. 2972 echo hppa1.1-stratus-vos 2973- exit 0 ;; 2974+ exit ;; 2975 mc68*:A/UX:*:*) 2976 echo m68k-apple-aux${UNAME_RELEASE} 2977- exit 0 ;; 2978+ exit ;; 2979 news*:NEWS-OS:6*:*) 2980 echo mips-sony-newsos6 2981- exit 0 ;; 2982+ exit ;; 2983 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 2984 if [ -d /usr/nec ]; then 2985 echo mips-nec-sysv${UNAME_RELEASE} 2986 else 2987 echo mips-unknown-sysv${UNAME_RELEASE} 2988 fi 2989- exit 0 ;; 2990+ exit ;; 2991 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 2992 echo powerpc-be-beos 2993- exit 0 ;; 2994+ exit ;; 2995 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 2996 echo powerpc-apple-beos 2997- exit 0 ;; 2998+ exit ;; 2999 BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 3000 echo i586-pc-beos 3001- exit 0 ;; 3002+ exit ;; 3003+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 3004+ echo i586-pc-haiku 3005+ exit ;; 3006 SX-4:SUPER-UX:*:*) 3007 echo sx4-nec-superux${UNAME_RELEASE} 3008- exit 0 ;; 3009+ exit ;; 3010 SX-5:SUPER-UX:*:*) 3011 echo sx5-nec-superux${UNAME_RELEASE} 3012- exit 0 ;; 3013+ exit ;; 3014 SX-6:SUPER-UX:*:*) 3015 echo sx6-nec-superux${UNAME_RELEASE} 3016- exit 0 ;; 3017+ exit ;; 3018+ SX-7:SUPER-UX:*:*) 3019+ echo sx7-nec-superux${UNAME_RELEASE} 3020+ exit ;; 3021+ SX-8:SUPER-UX:*:*) 3022+ echo sx8-nec-superux${UNAME_RELEASE} 3023+ exit ;; 3024+ SX-8R:SUPER-UX:*:*) 3025+ echo sx8r-nec-superux${UNAME_RELEASE} 3026+ exit ;; 3027 Power*:Rhapsody:*:*) 3028 echo powerpc-apple-rhapsody${UNAME_RELEASE} 3029- exit 0 ;; 3030+ exit ;; 3031 *:Rhapsody:*:*) 3032 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 3033- exit 0 ;; 3034+ exit ;; 3035 *:Darwin:*:*) 3036- echo `uname -p`-apple-darwin${UNAME_RELEASE} 3037- exit 0 ;; 3038+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 3039+ case $UNAME_PROCESSOR in 3040+ i386) 3041+ eval $set_cc_for_build 3042+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 3043+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 3044+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 3045+ grep IS_64BIT_ARCH >/dev/null 3046+ then 3047+ UNAME_PROCESSOR="x86_64" 3048+ fi 3049+ fi ;; 3050+ unknown) UNAME_PROCESSOR=powerpc ;; 3051+ esac 3052+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 3053+ exit ;; 3054 *:procnto*:*:* | *:QNX:[0123456789]*:*) 3055 UNAME_PROCESSOR=`uname -p` 3056 if test "$UNAME_PROCESSOR" = "x86"; then 3057@@ -1107,22 +1227,25 @@ 3058 UNAME_MACHINE=pc 3059 fi 3060 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 3061- exit 0 ;; 3062+ exit ;; 3063 *:QNX:*:4*) 3064 echo i386-pc-qnx 3065- exit 0 ;; 3066- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) 3067+ exit ;; 3068+ NSE-?:NONSTOP_KERNEL:*:*) 3069+ echo nse-tandem-nsk${UNAME_RELEASE} 3070+ exit ;; 3071+ NSR-?:NONSTOP_KERNEL:*:*) 3072 echo nsr-tandem-nsk${UNAME_RELEASE} 3073- exit 0 ;; 3074+ exit ;; 3075 *:NonStop-UX:*:*) 3076 echo mips-compaq-nonstopux 3077- exit 0 ;; 3078+ exit ;; 3079 BS2000:POSIX*:*:*) 3080 echo bs2000-siemens-sysv 3081- exit 0 ;; 3082+ exit ;; 3083 DS/*:UNIX_System_V:*:*) 3084 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 3085- exit 0 ;; 3086+ exit ;; 3087 *:Plan9:*:*) 3088 # "uname -m" is not consistent, so use $cputype instead. 386 3089 # is converted to i386 for consistency with other x86 3090@@ -1133,36 +1256,50 @@ 3091 UNAME_MACHINE="$cputype" 3092 fi 3093 echo ${UNAME_MACHINE}-unknown-plan9 3094- exit 0 ;; 3095- i*86:OS/2:*:*) 3096- # If we were able to find `uname', then EMX Unix compatibility 3097- # is probably installed. 3098- echo ${UNAME_MACHINE}-pc-os2-emx 3099- exit 0 ;; 3100+ exit ;; 3101 *:TOPS-10:*:*) 3102 echo pdp10-unknown-tops10 3103- exit 0 ;; 3104+ exit ;; 3105 *:TENEX:*:*) 3106 echo pdp10-unknown-tenex 3107- exit 0 ;; 3108+ exit ;; 3109 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 3110 echo pdp10-dec-tops20 3111- exit 0 ;; 3112+ exit ;; 3113 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 3114 echo pdp10-xkl-tops20 3115- exit 0 ;; 3116+ exit ;; 3117 *:TOPS-20:*:*) 3118 echo pdp10-unknown-tops20 3119- exit 0 ;; 3120+ exit ;; 3121 *:ITS:*:*) 3122 echo pdp10-unknown-its 3123- exit 0 ;; 3124- i*86:XTS-300:*:STOP) 3125- echo ${UNAME_MACHINE}-unknown-stop 3126- exit 0 ;; 3127- i*86:atheos:*:*) 3128- echo ${UNAME_MACHINE}-unknown-atheos 3129- exit 0 ;; 3130+ exit ;; 3131+ SEI:*:*:SEIUX) 3132+ echo mips-sei-seiux${UNAME_RELEASE} 3133+ exit ;; 3134+ *:DragonFly:*:*) 3135+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 3136+ exit ;; 3137+ *:*VMS:*:*) 3138+ UNAME_MACHINE=`(uname -p) 2>/dev/null` 3139+ case "${UNAME_MACHINE}" in 3140+ A*) echo alpha-dec-vms ; exit ;; 3141+ I*) echo ia64-dec-vms ; exit ;; 3142+ V*) echo vax-dec-vms ; exit ;; 3143+ esac ;; 3144+ *:XENIX:*:SysV) 3145+ echo i386-pc-xenix 3146+ exit ;; 3147+ i*86:skyos:*:*) 3148+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 3149+ exit ;; 3150+ i*86:rdos:*:*) 3151+ echo ${UNAME_MACHINE}-pc-rdos 3152+ exit ;; 3153+ i*86:AROS:*:*) 3154+ echo ${UNAME_MACHINE}-pc-aros 3155+ exit ;; 3156 esac 3157 3158 #echo '(No uname command or uname output not recognized.)' 1>&2 3159@@ -1194,7 +1331,7 @@ 3160 #endif 3161 3162 #if defined (__arm) && defined (__acorn) && defined (__unix) 3163- printf ("arm-acorn-riscix"); exit (0); 3164+ printf ("arm-acorn-riscix\n"); exit (0); 3165 #endif 3166 3167 #if defined (hp300) && !defined (hpux) 3168@@ -1283,12 +1420,12 @@ 3169 } 3170 EOF 3171 3172-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 3173-rm -f $dummy.c $dummy && rmdir $tmpdir 3174+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 3175+ { echo "$SYSTEM_NAME"; exit; } 3176 3177 # Apollos put the system type in the environment. 3178 3179-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 3180+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 3181 3182 # Convex versions that predate uname can use getsysinfo(1) 3183 3184@@ -1297,22 +1434,22 @@ 3185 case `getsysinfo -f cpu_type` in 3186 c1*) 3187 echo c1-convex-bsd 3188- exit 0 ;; 3189+ exit ;; 3190 c2*) 3191 if getsysinfo -f scalar_acc 3192 then echo c32-convex-bsd 3193 else echo c2-convex-bsd 3194 fi 3195- exit 0 ;; 3196+ exit ;; 3197 c34*) 3198 echo c34-convex-bsd 3199- exit 0 ;; 3200+ exit ;; 3201 c38*) 3202 echo c38-convex-bsd 3203- exit 0 ;; 3204+ exit ;; 3205 c4*) 3206 echo c4-convex-bsd 3207- exit 0 ;; 3208+ exit ;; 3209 esac 3210 fi 3211 3212@@ -1323,7 +1460,9 @@ 3213 the operating system you are using. It is advised that you 3214 download the most up to date version of the config scripts from 3215 3216- ftp://ftp.gnu.org/pub/gnu/config/ 3217+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 3218+and 3219+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 3220 3221 If the version you run ($0) is already up to date, please 3222 send the following data and any information you think might be 3223--- misc/libtextcat-2.2/config.sub 2010-04-15 09:20:04.000000000 +0000 3224+++ misc/build/libtextcat-2.2/config.sub 2010-04-15 09:20:41.000000000 +0000 3225@@ -1,9 +1,10 @@ 3226 #! /bin/sh 3227 # Configuration validation subroutine script. 3228 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3229-# 2000, 2001, 2002 Free Software Foundation, Inc. 3230+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 3231+# Free Software Foundation, Inc. 3232 3233-timestamp='2002-09-05' 3234+timestamp='2010-01-22' 3235 3236 # This file is (in principle) common to ALL GNU software. 3237 # The presence of a machine in this file suggests that SOME GNU software 3238@@ -21,22 +22,26 @@ 3239 # 3240 # You should have received a copy of the GNU General Public License 3241 # along with this program; if not, write to the Free Software 3242-# Foundation, Inc., 59 Temple Place - Suite 330, 3243-# Boston, MA 02111-1307, USA. 3244- 3245+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 3246+# 02110-1301, USA. 3247+# 3248 # As a special exception to the GNU General Public License, if you 3249 # distribute this file as part of a program that contains a 3250 # configuration script generated by Autoconf, you may include it under 3251 # the same distribution terms that you use for the rest of that program. 3252 3253+ 3254 # Please send patches to <config-patches@gnu.org>. Submit a context 3255-# diff and a properly formatted ChangeLog entry. 3256+# diff and a properly formatted GNU ChangeLog entry. 3257 # 3258 # Configuration subroutine to validate and canonicalize a configuration type. 3259 # Supply the specified configuration type as an argument. 3260 # If it is invalid, we print an error message on stderr and exit with code 1. 3261 # Otherwise, we print the canonical config type on stdout and succeed. 3262 3263+# You can get the latest version of this script from: 3264+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 3265+ 3266 # This file is supposed to be the same for all GNU packages 3267 # and recognize all the CPU types, system types and aliases 3268 # that are meaningful with *any* GNU software. 3269@@ -70,8 +75,9 @@ 3270 version="\ 3271 GNU config.sub ($timestamp) 3272 3273-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 3274-Free Software Foundation, Inc. 3275+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 3276+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 3277+Software Foundation, Inc. 3278 3279 This is free software; see the source for copying conditions. There is NO 3280 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 3281@@ -83,11 +89,11 @@ 3282 while test $# -gt 0 ; do 3283 case $1 in 3284 --time-stamp | --time* | -t ) 3285- echo "$timestamp" ; exit 0 ;; 3286+ echo "$timestamp" ; exit ;; 3287 --version | -v ) 3288- echo "$version" ; exit 0 ;; 3289+ echo "$version" ; exit ;; 3290 --help | --h* | -h ) 3291- echo "$usage"; exit 0 ;; 3292+ echo "$usage"; exit ;; 3293 -- ) # Stop option processing 3294 shift; break ;; 3295 - ) # Use stdin as input. 3296@@ -99,7 +105,7 @@ 3297 *local*) 3298 # First pass through any local machine types. 3299 echo $1 3300- exit 0;; 3301+ exit ;; 3302 3303 * ) 3304 break ;; 3305@@ -118,7 +124,10 @@ 3306 # Here we must recognize all the valid KERNEL-OS combinations. 3307 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 3308 case $maybe_os in 3309- nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) 3310+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ 3311+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ 3312+ kopensolaris*-gnu* | \ 3313+ storm-chaos* | os2-emx* | rtmk-nova*) 3314 os=-$maybe_os 3315 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 3316 ;; 3317@@ -144,10 +153,13 @@ 3318 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 3319 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 3320 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 3321- -apple | -axis) 3322+ -apple | -axis | -knuth | -cray | -microblaze) 3323 os= 3324 basic_machine=$1 3325 ;; 3326+ -bluegene*) 3327+ os=-cnk 3328+ ;; 3329 -sim | -cisco | -oki | -wec | -winbond) 3330 os= 3331 basic_machine=$1 3332@@ -169,6 +181,10 @@ 3333 -hiux*) 3334 os=-hiuxwe2 3335 ;; 3336+ -sco6) 3337+ os=-sco5v6 3338+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 3339+ ;; 3340 -sco5) 3341 os=-sco3.2v5 3342 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 3343@@ -185,6 +201,10 @@ 3344 # Don't forget version if it is 3.2v4 or newer. 3345 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 3346 ;; 3347+ -sco5v6*) 3348+ # Don't forget version if it is 3.2v4 or newer. 3349+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 3350+ ;; 3351 -sco*) 3352 os=-sco3.2v2 3353 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 3354@@ -228,51 +248,71 @@ 3355 | a29k \ 3356 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 3357 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 3358- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ 3359- | clipper \ 3360+ | am33_2.0 \ 3361+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 3362+ | bfin \ 3363+ | c4x | clipper \ 3364 | d10v | d30v | dlx | dsp16xx \ 3365- | fr30 | frv \ 3366+ | fido | fr30 | frv \ 3367 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 3368 | i370 | i860 | i960 | ia64 \ 3369- | ip2k \ 3370- | m32r | m68000 | m68k | m88k | mcore \ 3371+ | ip2k | iq2000 \ 3372+ | lm32 \ 3373+ | m32c | m32r | m32rle | m68000 | m68k | m88k \ 3374+ | maxq | mb | microblaze | mcore | mep | metag \ 3375 | mips | mipsbe | mipseb | mipsel | mipsle \ 3376 | mips16 \ 3377 | mips64 | mips64el \ 3378- | mips64vr | mips64vrel \ 3379+ | mips64octeon | mips64octeonel \ 3380 | mips64orion | mips64orionel \ 3381+ | mips64r5900 | mips64r5900el \ 3382+ | mips64vr | mips64vrel \ 3383 | mips64vr4100 | mips64vr4100el \ 3384 | mips64vr4300 | mips64vr4300el \ 3385 | mips64vr5000 | mips64vr5000el \ 3386+ | mips64vr5900 | mips64vr5900el \ 3387 | mipsisa32 | mipsisa32el \ 3388+ | mipsisa32r2 | mipsisa32r2el \ 3389 | mipsisa64 | mipsisa64el \ 3390+ | mipsisa64r2 | mipsisa64r2el \ 3391 | mipsisa64sb1 | mipsisa64sb1el \ 3392 | mipsisa64sr71k | mipsisa64sr71kel \ 3393 | mipstx39 | mipstx39el \ 3394 | mn10200 | mn10300 \ 3395+ | moxie \ 3396+ | mt \ 3397+ | msp430 \ 3398+ | nios | nios2 \ 3399 | ns16k | ns32k \ 3400- | openrisc | or32 \ 3401+ | or32 \ 3402 | pdp10 | pdp11 | pj | pjl \ 3403 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 3404 | pyramid \ 3405- | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ 3406+ | rx \ 3407+ | score \ 3408+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3409 | sh64 | sh64le \ 3410- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ 3411- | strongarm \ 3412- | tahoe | thumb | tic80 | tron \ 3413+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3414+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3415+ | spu | strongarm \ 3416+ | tahoe | thumb | tic4x | tic80 | tron \ 3417+ | ubicom32 \ 3418 | v850 | v850e \ 3419 | we32k \ 3420- | x86 | xscale | xstormy16 | xtensa \ 3421- | z8k) 3422+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 3423+ | z8k | z80) 3424 basic_machine=$basic_machine-unknown 3425 ;; 3426- m6811 | m68hc11 | m6812 | m68hc12) 3427+ m6811 | m68hc11 | m6812 | m68hc12 | picochip) 3428 # Motorola 68HC11/12. 3429 basic_machine=$basic_machine-unknown 3430 os=-none 3431 ;; 3432 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 3433 ;; 3434+ ms1) 3435+ basic_machine=mt-unknown 3436+ ;; 3437 3438 # We use `pc' rather than `unknown' 3439 # because (1) that's what they normally are, and 3440@@ -292,50 +332,69 @@ 3441 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3442 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 3443 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3444- | avr-* \ 3445- | bs2000-* \ 3446- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ 3447- | clipper-* | cydra-* \ 3448+ | avr-* | avr32-* \ 3449+ | bfin-* | bs2000-* \ 3450+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 3451+ | clipper-* | craynv-* | cydra-* \ 3452 | d10v-* | d30v-* | dlx-* \ 3453 | elxsi-* \ 3454- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ 3455+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3456 | h8300-* | h8500-* \ 3457 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3458 | i*86-* | i860-* | i960-* | ia64-* \ 3459- | ip2k-* \ 3460- | m32r-* \ 3461+ | ip2k-* | iq2000-* \ 3462+ | lm32-* \ 3463+ | m32c-* | m32r-* | m32rle-* \ 3464 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3465- | m88110-* | m88k-* | mcore-* \ 3466+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 3467 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3468 | mips16-* \ 3469 | mips64-* | mips64el-* \ 3470- | mips64vr-* | mips64vrel-* \ 3471+ | mips64octeon-* | mips64octeonel-* \ 3472 | mips64orion-* | mips64orionel-* \ 3473+ | mips64r5900-* | mips64r5900el-* \ 3474+ | mips64vr-* | mips64vrel-* \ 3475 | mips64vr4100-* | mips64vr4100el-* \ 3476 | mips64vr4300-* | mips64vr4300el-* \ 3477 | mips64vr5000-* | mips64vr5000el-* \ 3478+ | mips64vr5900-* | mips64vr5900el-* \ 3479 | mipsisa32-* | mipsisa32el-* \ 3480+ | mipsisa32r2-* | mipsisa32r2el-* \ 3481 | mipsisa64-* | mipsisa64el-* \ 3482+ | mipsisa64r2-* | mipsisa64r2el-* \ 3483 | mipsisa64sb1-* | mipsisa64sb1el-* \ 3484 | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 3485- | mipstx39 | mipstx39el \ 3486+ | mipstx39-* | mipstx39el-* \ 3487+ | mmix-* \ 3488+ | mt-* \ 3489+ | msp430-* \ 3490+ | nios-* | nios2-* \ 3491 | none-* | np1-* | ns16k-* | ns32k-* \ 3492 | orion-* \ 3493 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 3494 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 3495 | pyramid-* \ 3496- | romp-* | rs6000-* \ 3497- | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ 3498+ | romp-* | rs6000-* | rx-* \ 3499+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 3500 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 3501- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ 3502- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ 3503- | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ 3504+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 3505+ | sparclite-* \ 3506+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 3507+ | tahoe-* | thumb-* \ 3508+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 3509+ | tile-* | tilegx-* \ 3510+ | tron-* \ 3511+ | ubicom32-* \ 3512 | v850-* | v850e-* | vax-* \ 3513 | we32k-* \ 3514- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ 3515- | xtensa-* \ 3516+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 3517+ | xstormy16-* | xtensa*-* \ 3518 | ymp-* \ 3519- | z8k-*) 3520+ | z8k-* | z80-*) 3521+ ;; 3522+ # Recognize the basic CPU types without company name, with glob match. 3523+ xtensa*) 3524+ basic_machine=$basic_machine-unknown 3525 ;; 3526 # Recognize the various machine names and aliases which stand 3527 # for a CPU type and a company and sometimes even an OS. 3528@@ -353,6 +412,9 @@ 3529 basic_machine=a29k-amd 3530 os=-udi 3531 ;; 3532+ abacus) 3533+ basic_machine=abacus-unknown 3534+ ;; 3535 adobe68k) 3536 basic_machine=m68010-adobe 3537 os=-scout 3538@@ -367,6 +429,12 @@ 3539 basic_machine=a29k-none 3540 os=-bsd 3541 ;; 3542+ amd64) 3543+ basic_machine=x86_64-pc 3544+ ;; 3545+ amd64-*) 3546+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 3547+ ;; 3548 amdahl) 3549 basic_machine=580-amdahl 3550 os=-sysv 3551@@ -390,6 +458,10 @@ 3552 basic_machine=m68k-apollo 3553 os=-bsd 3554 ;; 3555+ aros) 3556+ basic_machine=i386-pc 3557+ os=-aros 3558+ ;; 3559 aux) 3560 basic_machine=m68k-apple 3561 os=-aux 3562@@ -398,10 +470,26 @@ 3563 basic_machine=ns32k-sequent 3564 os=-dynix 3565 ;; 3566+ blackfin) 3567+ basic_machine=bfin-unknown 3568+ os=-linux 3569+ ;; 3570+ blackfin-*) 3571+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 3572+ os=-linux 3573+ ;; 3574+ bluegene*) 3575+ basic_machine=powerpc-ibm 3576+ os=-cnk 3577+ ;; 3578 c90) 3579 basic_machine=c90-cray 3580 os=-unicos 3581 ;; 3582+ cegcc) 3583+ basic_machine=arm-unknown 3584+ os=-cegcc 3585+ ;; 3586 convex-c1) 3587 basic_machine=c1-convex 3588 os=-bsd 3589@@ -426,12 +514,27 @@ 3590 basic_machine=j90-cray 3591 os=-unicos 3592 ;; 3593+ craynv) 3594+ basic_machine=craynv-cray 3595+ os=-unicosmp 3596+ ;; 3597+ cr16) 3598+ basic_machine=cr16-unknown 3599+ os=-elf 3600+ ;; 3601 crds | unos) 3602 basic_machine=m68k-crds 3603 ;; 3604+ crisv32 | crisv32-* | etraxfs*) 3605+ basic_machine=crisv32-axis 3606+ ;; 3607 cris | cris-* | etrax*) 3608 basic_machine=cris-axis 3609 ;; 3610+ crx) 3611+ basic_machine=crx-unknown 3612+ os=-elf 3613+ ;; 3614 da30 | da30-*) 3615 basic_machine=m68k-da30 3616 ;; 3617@@ -454,6 +557,14 @@ 3618 basic_machine=m88k-motorola 3619 os=-sysv3 3620 ;; 3621+ dicos) 3622+ basic_machine=i686-pc 3623+ os=-dicos 3624+ ;; 3625+ djgpp) 3626+ basic_machine=i586-pc 3627+ os=-msdosdjgpp 3628+ ;; 3629 dpx20 | dpx20-*) 3630 basic_machine=rs6000-bull 3631 os=-bosx 3632@@ -604,6 +715,14 @@ 3633 basic_machine=m68k-isi 3634 os=-sysv 3635 ;; 3636+ m68knommu) 3637+ basic_machine=m68k-unknown 3638+ os=-linux 3639+ ;; 3640+ m68knommu-*) 3641+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 3642+ os=-linux 3643+ ;; 3644 m88k-omron*) 3645 basic_machine=m88k-omron 3646 ;; 3647@@ -615,10 +734,17 @@ 3648 basic_machine=ns32k-utek 3649 os=-sysv 3650 ;; 3651+ microblaze) 3652+ basic_machine=microblaze-xilinx 3653+ ;; 3654 mingw32) 3655 basic_machine=i386-pc 3656 os=-mingw32 3657 ;; 3658+ mingw32ce) 3659+ basic_machine=arm-unknown 3660+ os=-mingw32ce 3661+ ;; 3662 miniframe) 3663 basic_machine=m68000-convergent 3664 ;; 3665@@ -632,10 +758,6 @@ 3666 mips3*) 3667 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 3668 ;; 3669- mmix*) 3670- basic_machine=mmix-knuth 3671- os=-mmixware 3672- ;; 3673 monitor) 3674 basic_machine=m68k-rom68k 3675 os=-coff 3676@@ -648,6 +770,9 @@ 3677 basic_machine=i386-pc 3678 os=-msdos 3679 ;; 3680+ ms1-*) 3681+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 3682+ ;; 3683 mvs) 3684 basic_machine=i370-ibm 3685 os=-mvs 3686@@ -723,9 +848,12 @@ 3687 basic_machine=hppa1.1-oki 3688 os=-proelf 3689 ;; 3690- or32 | or32-*) 3691+ openrisc | openrisc-*) 3692 basic_machine=or32-unknown 3693- os=-coff 3694+ ;; 3695+ os400) 3696+ basic_machine=powerpc-ibm 3697+ os=-os400 3698 ;; 3699 OSE68000 | ose68000) 3700 basic_machine=m68000-ericsson 3701@@ -743,6 +871,14 @@ 3702 basic_machine=i860-intel 3703 os=-osf 3704 ;; 3705+ parisc) 3706+ basic_machine=hppa-unknown 3707+ os=-linux 3708+ ;; 3709+ parisc-*) 3710+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 3711+ os=-linux 3712+ ;; 3713 pbd) 3714 basic_machine=sparc-tti 3715 ;; 3716@@ -752,24 +888,36 @@ 3717 pc532 | pc532-*) 3718 basic_machine=ns32k-pc532 3719 ;; 3720+ pc98) 3721+ basic_machine=i386-pc 3722+ ;; 3723+ pc98-*) 3724+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 3725+ ;; 3726 pentium | p5 | k5 | k6 | nexgen | viac3) 3727 basic_machine=i586-pc 3728 ;; 3729 pentiumpro | p6 | 6x86 | athlon | athlon_*) 3730 basic_machine=i686-pc 3731 ;; 3732- pentiumii | pentium2) 3733+ pentiumii | pentium2 | pentiumiii | pentium3) 3734 basic_machine=i686-pc 3735 ;; 3736+ pentium4) 3737+ basic_machine=i786-pc 3738+ ;; 3739 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 3740 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 3741 ;; 3742 pentiumpro-* | p6-* | 6x86-* | athlon-*) 3743 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 3744 ;; 3745- pentiumii-* | pentium2-*) 3746+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 3747 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 3748 ;; 3749+ pentium4-*) 3750+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 3751+ ;; 3752 pn) 3753 basic_machine=pn-gould 3754 ;; 3755@@ -802,6 +950,10 @@ 3756 basic_machine=i586-unknown 3757 os=-pw32 3758 ;; 3759+ rdos) 3760+ basic_machine=i386-pc 3761+ os=-rdos 3762+ ;; 3763 rom68k) 3764 basic_machine=m68k-rom68k 3765 os=-coff 3766@@ -828,6 +980,14 @@ 3767 sb1el) 3768 basic_machine=mipsisa64sb1el-unknown 3769 ;; 3770+ sde) 3771+ basic_machine=mipsisa32-sde 3772+ os=-elf 3773+ ;; 3774+ sei) 3775+ basic_machine=mips-sei 3776+ os=-seiux 3777+ ;; 3778 sequent) 3779 basic_machine=i386-sequent 3780 ;; 3781@@ -835,6 +995,12 @@ 3782 basic_machine=sh-hitachi 3783 os=-hms 3784 ;; 3785+ sh5el) 3786+ basic_machine=sh5le-unknown 3787+ ;; 3788+ sh64) 3789+ basic_machine=sh64-unknown 3790+ ;; 3791 sparclite-wrs | simso-wrs) 3792 basic_machine=sparclite-wrs 3793 os=-vxworks 3794@@ -901,10 +1067,6 @@ 3795 basic_machine=i386-sequent 3796 os=-dynix 3797 ;; 3798- t3d) 3799- basic_machine=alpha-cray 3800- os=-unicos 3801- ;; 3802 t3e) 3803 basic_machine=alphaev5-cray 3804 os=-unicos 3805@@ -913,14 +1075,27 @@ 3806 basic_machine=t90-cray 3807 os=-unicos 3808 ;; 3809- tic4x | c4x*) 3810- basic_machine=tic4x-unknown 3811- os=-coff 3812- ;; 3813 tic54x | c54x*) 3814 basic_machine=tic54x-unknown 3815 os=-coff 3816 ;; 3817+ tic55x | c55x*) 3818+ basic_machine=tic55x-unknown 3819+ os=-coff 3820+ ;; 3821+ tic6x | c6x*) 3822+ basic_machine=tic6x-unknown 3823+ os=-coff 3824+ ;; 3825+ # This must be matched before tile*. 3826+ tilegx*) 3827+ basic_machine=tilegx-unknown 3828+ os=-linux-gnu 3829+ ;; 3830+ tile*) 3831+ basic_machine=tile-unknown 3832+ os=-linux-gnu 3833+ ;; 3834 tx39) 3835 basic_machine=mipstx39-unknown 3836 ;; 3837@@ -934,6 +1109,10 @@ 3838 tower | tower-32) 3839 basic_machine=m68k-ncr 3840 ;; 3841+ tpf) 3842+ basic_machine=s390x-ibm 3843+ os=-tpf 3844+ ;; 3845 udi29k) 3846 basic_machine=a29k-amd 3847 os=-udi 3848@@ -977,9 +1156,9 @@ 3849 basic_machine=hppa1.1-winbond 3850 os=-proelf 3851 ;; 3852- windows32) 3853- basic_machine=i386-pc 3854- os=-windows32-msvcrt 3855+ xbox) 3856+ basic_machine=i686-pc 3857+ os=-mingw32 3858 ;; 3859 xps | xps100) 3860 basic_machine=xps100-honeywell 3861@@ -992,6 +1171,10 @@ 3862 basic_machine=z8k-unknown 3863 os=-sim 3864 ;; 3865+ z80-*-coff) 3866+ basic_machine=z80-unknown 3867+ os=-sim 3868+ ;; 3869 none) 3870 basic_machine=none-none 3871 os=-none 3872@@ -1011,6 +1194,9 @@ 3873 romp) 3874 basic_machine=romp-ibm 3875 ;; 3876+ mmix) 3877+ basic_machine=mmix-knuth 3878+ ;; 3879 rs6000) 3880 basic_machine=rs6000-ibm 3881 ;; 3882@@ -1027,13 +1213,10 @@ 3883 we32k) 3884 basic_machine=we32k-att 3885 ;; 3886- sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) 3887+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 3888 basic_machine=sh-unknown 3889 ;; 3890- sh64) 3891- basic_machine=sh64-unknown 3892- ;; 3893- sparc | sparcv9 | sparcv9b) 3894+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 3895 basic_machine=sparc-sun 3896 ;; 3897 cydra) 3898@@ -1080,6 +1263,9 @@ 3899 # First match some system type aliases 3900 # that might get confused with valid system types. 3901 # -solaris* is a basic system type, with this one exception. 3902+ -auroraux) 3903+ os=-auroraux 3904+ ;; 3905 -solaris1 | -solaris1.*) 3906 os=`echo $os | sed -e 's|solaris1|sunos4|'` 3907 ;; 3908@@ -1100,24 +1286,30 @@ 3909 # Each alternative MUST END IN A *, to match a version number. 3910 # -sysv* is not here because it comes later, after sysvr4. 3911 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 3912- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 3913- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 3914+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 3915+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 3916+ | -sym* | -kopensolaris* \ 3917 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 3918- | -aos* \ 3919+ | -aos* | -aros* \ 3920 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 3921 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 3922- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ 3923- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 3924+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 3925+ | -openbsd* | -solidbsd* \ 3926+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 3927+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 3928 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 3929 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 3930- | -chorusos* | -chorusrdb* \ 3931+ | -chorusos* | -chorusrdb* | -cegcc* \ 3932 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 3933- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ 3934- | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ 3935+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ 3936+ | -uxpv* | -beos* | -mpeix* | -udk* \ 3937+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 3938 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 3939 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 3940 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 3941- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) 3942+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 3943+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 3944+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 3945 # Remember, each alternative MUST END IN *, to match a version number. 3946 ;; 3947 -qnx*) 3948@@ -1129,16 +1321,21 @@ 3949 ;; 3950 esac 3951 ;; 3952+ -nto-qnx*) 3953+ ;; 3954 -nto*) 3955- os=-nto-qnx 3956+ os=`echo $os | sed -e 's|nto|nto-qnx|'` 3957 ;; 3958 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 3959- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ 3960+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 3961 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 3962 ;; 3963 -mac*) 3964 os=`echo $os | sed -e 's|mac|macos|'` 3965 ;; 3966+ -linux-dietlibc) 3967+ os=-linux-dietlibc 3968+ ;; 3969 -linux*) 3970 os=`echo $os | sed -e 's|linux|linux-gnu|'` 3971 ;; 3972@@ -1151,6 +1348,9 @@ 3973 -opened*) 3974 os=-openedition 3975 ;; 3976+ -os400*) 3977+ os=-os400 3978+ ;; 3979 -wince*) 3980 os=-wince 3981 ;; 3982@@ -1172,6 +1372,9 @@ 3983 -atheos*) 3984 os=-atheos 3985 ;; 3986+ -syllable*) 3987+ os=-syllable 3988+ ;; 3989 -386bsd) 3990 os=-bsd 3991 ;; 3992@@ -1194,6 +1397,9 @@ 3993 -sinix*) 3994 os=-sysv4 3995 ;; 3996+ -tpf*) 3997+ os=-tpf 3998+ ;; 3999 -triton*) 4000 os=-sysv3 4001 ;; 4002@@ -1224,6 +1430,20 @@ 4003 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 4004 os=-mint 4005 ;; 4006+ -aros*) 4007+ os=-aros 4008+ ;; 4009+ -kaos*) 4010+ os=-kaos 4011+ ;; 4012+ -zvmoe) 4013+ os=-zvmoe 4014+ ;; 4015+ -dicos*) 4016+ os=-dicos 4017+ ;; 4018+ -nacl*) 4019+ ;; 4020 -none) 4021 ;; 4022 *) 4023@@ -1246,6 +1466,12 @@ 4024 # system, and we'll never get to this point. 4025 4026 case $basic_machine in 4027+ score-*) 4028+ os=-elf 4029+ ;; 4030+ spu-*) 4031+ os=-elf 4032+ ;; 4033 *-acorn) 4034 os=-riscix1.2 4035 ;; 4036@@ -1255,6 +1481,9 @@ 4037 arm*-semi) 4038 os=-aout 4039 ;; 4040+ c4x-* | tic4x-*) 4041+ os=-coff 4042+ ;; 4043 # This must come before the *-dec entry. 4044 pdp10-*) 4045 os=-tops20 4046@@ -1280,6 +1509,9 @@ 4047 m68*-cisco) 4048 os=-aout 4049 ;; 4050+ mep-*) 4051+ os=-elf 4052+ ;; 4053 mips*-cisco) 4054 os=-elf 4055 ;; 4056@@ -1298,9 +1530,15 @@ 4057 *-be) 4058 os=-beos 4059 ;; 4060+ *-haiku) 4061+ os=-haiku 4062+ ;; 4063 *-ibm) 4064 os=-aix 4065 ;; 4066+ *-knuth) 4067+ os=-mmixware 4068+ ;; 4069 *-wec) 4070 os=-proelf 4071 ;; 4072@@ -1403,7 +1641,7 @@ 4073 -sunos*) 4074 vendor=sun 4075 ;; 4076- -aix*) 4077+ -cnk*|-aix*) 4078 vendor=ibm 4079 ;; 4080 -beos*) 4081@@ -1433,9 +1671,15 @@ 4082 -mvs* | -opened*) 4083 vendor=ibm 4084 ;; 4085+ -os400*) 4086+ vendor=ibm 4087+ ;; 4088 -ptx*) 4089 vendor=sequent 4090 ;; 4091+ -tpf*) 4092+ vendor=ibm 4093+ ;; 4094 -vxsim* | -vxworks* | -windiss*) 4095 vendor=wrs 4096 ;; 4097@@ -1460,7 +1704,7 @@ 4098 esac 4099 4100 echo $basic_machine$os 4101-exit 0 4102+exit 4103 4104 # Local variables: 4105 # eval: (add-hook 'write-file-hooks 'time-stamp) 4106