/ Check-in [f9e5fb88]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge up to trunk.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | lsm-vtab
Files: files | file ages | folders
SHA1: f9e5fb88a5a14b26e9ea6997f449d0913f27a494
User & Date: drh 2016-02-22 13:01:22
Context
2016-02-23
01:37
Add support for (variable length) integer keys in LSM1. check-in: 32f3daec user: drh tags: lsm-vtab
2016-02-22
13:01
Merge up to trunk. check-in: f9e5fb88 user: drh tags: lsm-vtab
09:45
Add an extra test case for the change in commit [c4295725]. check-in: a48ac4c3 user: dan tags: trunk
2015-11-19
19:31
Merge the latest enhancements from trunk. check-in: 8aede091 user: drh tags: lsm-vtab
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Makefile.in.

   175    175            func.lo global.lo hash.lo \
   176    176            icu.lo insert.lo journal.lo json1.lo legacy.lo loadext.lo \
   177    177            main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
   178    178            memjournal.lo \
   179    179            mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
   180    180            notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
   181    181            pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
   182         -         random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
          182  +         random.lo resolve.lo rowset.lo rtree.lo select.lo sqlite3rbu.lo status.lo \
   183    183            table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
   184    184            update.lo util.lo vacuum.lo \
   185    185            vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
   186    186            vdbetrace.lo wal.lo walker.lo where.lo wherecode.lo whereexpr.lo \
   187    187            utf.lo vtab.lo
   188    188   
   189    189   # Object files for the amalgamation.
................................................................................
   398    398     $(TOP)/src/test_schema.c \
   399    399     $(TOP)/src/test_server.c \
   400    400     $(TOP)/src/test_superlock.c \
   401    401     $(TOP)/src/test_syscall.c \
   402    402     $(TOP)/src/test_tclvar.c \
   403    403     $(TOP)/src/test_thread.c \
   404    404     $(TOP)/src/test_vfs.c \
          405  +  $(TOP)/src/test_windirent.c \
   405    406     $(TOP)/src/test_wsd.c       \
   406    407     $(TOP)/ext/fts3/fts3_term.c \
   407    408     $(TOP)/ext/fts3/fts3_test.c \
   408    409     $(TOP)/ext/rbu/test_rbu.c 
   409    410   
   410    411   # Statically linked extensions
   411    412   #
................................................................................
   413    414     $(TOP)/ext/misc/amatch.c \
   414    415     $(TOP)/ext/misc/closure.c \
   415    416     $(TOP)/ext/misc/eval.c \
   416    417     $(TOP)/ext/misc/fileio.c \
   417    418     $(TOP)/ext/misc/fuzzer.c \
   418    419     $(TOP)/ext/fts5/fts5_tcl.c \
   419    420     $(TOP)/ext/fts5/fts5_test_mi.c \
          421  +  $(TOP)/ext/fts5/fts5_test_tok.c \
   420    422     $(TOP)/ext/misc/ieee754.c \
   421    423     $(TOP)/ext/misc/nextchar.c \
   422    424     $(TOP)/ext/misc/percentile.c \
   423    425     $(TOP)/ext/misc/regexp.c \
   424    426     $(TOP)/ext/misc/series.c \
   425    427     $(TOP)/ext/misc/spellfix.c \
   426    428     $(TOP)/ext/misc/totype.c \
................................................................................
   543    545   
   544    546   # Standard options to testfixture
   545    547   #
   546    548   TESTOPTS = --verbose=file --output=test-out.txt
   547    549   
   548    550   # Extra compiler options for various shell tools
   549    551   #
   550         -SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
          552  +SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
          553  +SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
   551    554   FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
   552         -FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1
          555  +FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
   553    556   
   554    557   # This is the default Makefile target.  The objects listed here
   555    558   # are what get build when you type just "make" with no arguments.
   556    559   #
   557    560   all:	sqlite3.h libsqlite3.la sqlite3$(TEXE) $(HAVE_TCL:1=libtclsqlite3.la)
   558    561   
   559    562   Makefile: $(TOP)/Makefile.in
................................................................................
   569    572   libtclsqlite3.la:	tclsqlite.lo libsqlite3.la
   570    573   	$(LTLINK) -no-undefined -o $@ tclsqlite.lo \
   571    574   		libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
   572    575   		-rpath "$(TCLLIBDIR)" \
   573    576   		-version-info "8:6:8" \
   574    577   		-avoid-version
   575    578   
   576         -sqlite3$(TEXE):	$(TOP)/src/shell.c libsqlite3.la sqlite3.h
          579  +sqlite3$(TEXE):	$(TOP)/src/shell.c sqlite3.c
   577    580   	$(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
   578         -		$(TOP)/src/shell.c libsqlite3.la \
          581  +		$(TOP)/src/shell.c sqlite3.c \
   579    582   		$(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
   580    583   
   581    584   sqldiff$(TEXE):	$(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
   582    585   	$(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS)
          586  +
          587  +srcck1$(BEXE):	$(TOP)/tool/srcck1.c
          588  +	$(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
          589  +
          590  +sourcetest:	srcck1$(BEXE) sqlite3.c
          591  +	./srcck1 sqlite3.c
   583    592   
   584    593   fuzzershell$(TEXE):	$(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
   585    594   	$(LTLINK) -o $@ $(FUZZERSHELL_OPT) \
   586    595   	  $(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
   587    596   
   588    597   fuzzcheck$(TEXE):	$(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h
   589    598   	$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/fuzzcheck.c sqlite3.c $(TLIBS)
................................................................................
  1023   1032   fts5.c: $(FTS5_SRC)
  1024   1033   	$(TCLSH_CMD) $(TOP)/ext/fts5/tool/mkfts5c.tcl
  1025   1034   	cp $(TOP)/ext/fts5/fts5.h .
  1026   1035   
  1027   1036   fts5.lo:	fts5.c $(HDR) $(EXTHDR)
  1028   1037   	$(LTCOMPILE) -DSQLITE_CORE -c fts5.c
  1029   1038   
         1039  +sqlite3rbu.lo:	$(TOP)/ext/rbu/sqlite3rbu.c $(HDR) $(EXTHDR)
         1040  +	$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/rbu/sqlite3rbu.c
         1041  +
  1030   1042   
  1031   1043   # Rules to build the 'testfixture' application.
  1032   1044   #
  1033   1045   # If using the amalgamation, use sqlite3.c directly to build the test
  1034   1046   # fixture.  Otherwise link against libsqlite3.la.  (This distinction is
  1035   1047   # necessary because the test fixture requires non-API symbols which are
  1036   1048   # hidden when the library is built via the amalgamation).
................................................................................
  1074   1086   #
  1075   1087   quicktest:	./testfixture$(TEXE)
  1076   1088   	./testfixture$(TEXE) $(TOP)/test/extraquick.test $(TESTOPTS)
  1077   1089   
  1078   1090   # This is the common case.  Run many tests that do not take too long,
  1079   1091   # including fuzzcheck, sqlite3_analyzer, and sqldiff tests.
  1080   1092   #
  1081         -test:	$(TESTPROGS) fastfuzztest
         1093  +test:	$(TESTPROGS) sourcetest fastfuzztest
  1082   1094   	./testfixture$(TEXE) $(TOP)/test/veryquick.test $(TESTOPTS)
  1083   1095   
  1084   1096   # Run a test using valgrind.  This can take a really long time
  1085   1097   # because valgrind is so much slower than a native machine.
  1086   1098   #
  1087   1099   valgrindtest:	$(TESTPROGS) valgrindfuzz
  1088   1100   	OMIT_MISUSE=1 valgrind -v ./testfixture$(TEXE) $(TOP)/test/permutations.test valgrind $(TESTOPTS)
................................................................................
  1125   1137   	$(LTLINK) -I. -o $@ $(TOP)/tool/logest.c
  1126   1138   
  1127   1139   wordcount$(TEXE):	$(TOP)/test/wordcount.c sqlite3.c
  1128   1140   	$(LTLINK) -o $@ $(TOP)/test/wordcount.c sqlite3.c $(TLIBS)
  1129   1141   
  1130   1142   speedtest1$(TEXE):	$(TOP)/test/speedtest1.c sqlite3.lo
  1131   1143   	$(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS)
         1144  +
         1145  +rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo 
         1146  +	$(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
         1147  +
         1148  +loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
         1149  +	$(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
  1132   1150   
  1133   1151   # This target will fail if the SQLite amalgamation contains any exported
  1134   1152   # symbols that do not begin with "sqlite3_". It is run as part of the
  1135   1153   # releasetest.tcl script.
  1136   1154   #
  1137   1155   checksymbols: sqlite3.lo
  1138   1156   	nm -g --defined-only sqlite3.o | grep -v " sqlite3_" ; test $$? -ne 0
  1139   1157   	echo '0 errors out of 1 tests'
  1140   1158   
  1141         -# Build the amalgamation-autoconf package.
         1159  +# Build the amalgamation-autoconf package.  The amalamgation-tarball target builds
         1160  +# a tarball named for the version number.  Ex:  sqlite-autoconf-3110000.tar.gz.
         1161  +# The snapshot-tarball target builds a tarball named by the SHA1 hash
  1142   1162   #
  1143   1163   amalgamation-tarball: sqlite3.c
  1144         -	TOP=$(TOP) sh $(TOP)/tool/mkautoconfamal.sh
         1164  +	TOP=$(TOP) sh $(TOP)/tool/mkautoconfamal.sh --normal
         1165  +
         1166  +snapshot-tarball: sqlite3.c
         1167  +	TOP=$(TOP) sh $(TOP)/tool/mkautoconfamal.sh --snapshot
  1145   1168   
  1146   1169   # The next two rules are used to support the "threadtest" target. Building
  1147   1170   # threadtest runs a few thread-safety tests that are implemented in C. This
  1148   1171   # target is invoked by the releasetest.tcl script.
  1149   1172   # 
  1150   1173   THREADTEST3_SRC = $(TOP)/test/threadtest3.c    \
  1151   1174                     $(TOP)/test/tt3_checkpoint.c \
  1152   1175                     $(TOP)/test/tt3_index.c      \
  1153   1176                     $(TOP)/test/tt3_vacuum.c      \
  1154   1177                     $(TOP)/test/tt3_stress.c      \
  1155   1178                     $(TOP)/test/tt3_lookaside1.c
  1156   1179   
  1157   1180   threadtest3$(TEXE): sqlite3.lo $(THREADTEST3_SRC)
  1158         -	$(LTLINK) $(TOP)/test/threadtest3.c sqlite3.lo -o $@ $(TLIBS)
         1181  +	$(LTLINK) $(TOP)/test/threadtest3.c $(TOP)/src/test_multiplex.c sqlite3.lo -o $@ $(TLIBS)
  1159   1182   
  1160   1183   threadtest: threadtest3$(TEXE)
  1161   1184   	./threadtest3$(TEXE)
  1162   1185   
  1163   1186   releasetest:	
  1164   1187   	$(TCLSH_CMD) $(TOP)/test/releasetest.tcl
  1165   1188   
  1166   1189   # Standard install and cleanup targets
  1167   1190   #
  1168   1191   lib_install:	libsqlite3.la
  1169   1192   	$(INSTALL) -d $(DESTDIR)$(libdir)
  1170   1193   	$(LTINSTALL) libsqlite3.la $(DESTDIR)$(libdir)
  1171   1194   	
  1172         -install:	sqlite3$(BEXE) lib_install sqlite3.h sqlite3.pc ${HAVE_TCL:1=tcl_install}
         1195  +install:	sqlite3$(TEXE) lib_install sqlite3.h sqlite3.pc ${HAVE_TCL:1=tcl_install}
  1173   1196   	$(INSTALL) -d $(DESTDIR)$(bindir)
  1174         -	$(LTINSTALL) sqlite3$(BEXE) $(DESTDIR)$(bindir)
         1197  +	$(LTINSTALL) sqlite3$(TEXE) $(DESTDIR)$(bindir)
  1175   1198   	$(INSTALL) -d $(DESTDIR)$(includedir)
  1176   1199   	$(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(includedir)
  1177   1200   	$(INSTALL) -m 0644 $(TOP)/src/sqlite3ext.h $(DESTDIR)$(includedir)
  1178   1201   	$(INSTALL) -d $(DESTDIR)$(pkgconfigdir)
  1179   1202   	$(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(pkgconfigdir)
  1180   1203   
  1181   1204   pkgIndex.tcl:
................................................................................
  1203   1226   	rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
  1204   1227   	rm -f sqlite3.c
  1205   1228   	rm -f sqlite3rc.h
  1206   1229   	rm -f shell.c sqlite3ext.h
  1207   1230   	rm -f sqlite3_analyzer$(TEXE) sqlite3_analyzer.c
  1208   1231   	rm -f sqlite-*-output.vsix
  1209   1232   	rm -f mptester mptester.exe
         1233  +	rm -f rbu rbu.exe
         1234  +	rm -f srcck1 srcck1.exe
  1210   1235   	rm -f fuzzershell fuzzershell.exe
  1211   1236   	rm -f fuzzcheck fuzzcheck.exe
  1212   1237   	rm -f sqldiff sqldiff.exe
  1213   1238   	rm -f fts5.* fts5parse.*
  1214   1239   
  1215   1240   distclean:	clean
  1216   1241   	rm -f config.h config.log config.status libtool Makefile sqlite3.pc

Changes to Makefile.msc.

     6      6   ###############################################################################
     7      7   
     8      8   # The toplevel directory of the source tree.  This is the directory
     9      9   # that contains this "Makefile.msc".
    10     10   #
    11     11   TOP = .
    12     12   
           13  +# <<mark>>
    13     14   # Set this non-0 to create and use the SQLite amalgamation file.
    14     15   #
    15     16   !IFNDEF USE_AMALGAMATION
    16     17   USE_AMALGAMATION = 1
    17     18   !ENDIF
           19  +# <</mark>>
    18     20   
    19     21   # Set this non-0 to enable full warnings (-W4, etc) when compiling.
    20     22   #
    21     23   !IFNDEF USE_FULLWARN
    22     24   USE_FULLWARN = 0
    23     25   !ENDIF
    24     26   
................................................................................
    46     48   # If necessary, create a list of harmless compiler warnings to disable when
    47     49   # compiling the various tools.  For the SQLite source code itself, warnings,
    48     50   # if any, will be disabled from within it.
    49     51   #
    50     52   !IFNDEF NO_WARN
    51     53   !IF $(USE_FULLWARN)!=0
    52     54   NO_WARN = -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -wd4206
    53         -NO_WARN = $(NO_WARN) -wd4210 -wd4232 -wd4244 -wd4305 -wd4306 -wd4702 -wd4706
           55  +NO_WARN = $(NO_WARN) -wd4210 -wd4232 -wd4305 -wd4306 -wd4702 -wd4706
    54     56   !ENDIF
    55     57   !ENDIF
    56     58   
    57     59   # Set this non-0 to use the library paths and other options necessary for
    58     60   # Windows Phone 8.1.
    59     61   #
    60     62   !IFNDEF USE_WP81_OPTS
................................................................................
    64     66   # Set this non-0 to split the SQLite amalgamation file into chunks to
    65     67   # be used for debugging with Visual Studio.
    66     68   #
    67     69   !IFNDEF SPLIT_AMALGAMATION
    68     70   SPLIT_AMALGAMATION = 0
    69     71   !ENDIF
    70     72   
           73  +# <<mark>>
    71     74   # Set this non-0 to use the International Components for Unicode (ICU).
    72     75   #
    73     76   !IFNDEF USE_ICU
    74     77   USE_ICU = 0
    75     78   !ENDIF
           79  +# <</mark>>
    76     80   
    77     81   # Set this non-0 to dynamically link to the MSVC runtime library.
    78     82   #
    79     83   !IFNDEF USE_CRT_DLL
    80     84   USE_CRT_DLL = 0
    81     85   !ENDIF
    82     86   
................................................................................
   118    122   # This setting does not apply to any binaries that require Tcl to operate
   119    123   # properly (i.e. the text fixture, etc).
   120    124   #
   121    125   !IFNDEF FOR_WINRT
   122    126   FOR_WINRT = 0
   123    127   !ENDIF
   124    128   
   125         -# Set this non-0 to compile binaries suitable for the UAP environment.
          129  +# Set this non-0 to compile binaries suitable for the UWP environment.
   126    130   # This setting does not apply to any binaries that require Tcl to operate
   127    131   # properly (i.e. the text fixture, etc).
   128    132   #
   129         -!IFNDEF FOR_UAP
   130         -FOR_UAP = 0
          133  +!IFNDEF FOR_UWP
          134  +FOR_UWP = 0
   131    135   !ENDIF
   132    136   
          137  +# Set this non-0 to compile binaries suitable for the Windows 10 platform.
          138  +#
          139  +!IFNDEF FOR_WIN10
          140  +FOR_WIN10 = 0
          141  +!ENDIF
          142  +
          143  +# <<mark>>
   133    144   # Set this non-0 to skip attempting to look for and/or link with the Tcl
   134    145   # runtime library.
   135    146   #
   136    147   !IFNDEF NO_TCL
   137    148   NO_TCL = 0
   138    149   !ENDIF
          150  +# <</mark>>
   139    151   
   140    152   # Set this to non-0 to create and use PDBs.
   141    153   #
   142    154   !IFNDEF SYMBOLS
   143    155   SYMBOLS = 1
   144    156   !ENDIF
   145    157   
................................................................................
   181    193   # Enable use of available compiler optimizations?  Normally, this should be
   182    194   # non-zero.  Setting this to zero, thus disabling all compiler optimizations,
   183    195   # can be useful for testing.
   184    196   #
   185    197   !IFNDEF OPTIMIZATIONS
   186    198   OPTIMIZATIONS = 2
   187    199   !ENDIF
          200  +
          201  +# Set the source code file to be used by executables and libraries when
          202  +# they need the amalgamation.
          203  +#
          204  +!IFNDEF SQLITE3C
          205  +!IF $(SPLIT_AMALGAMATION)!=0
          206  +SQLITE3C = sqlite3-all.c
          207  +!ELSE
          208  +SQLITE3C = sqlite3.c
          209  +!ENDIF
          210  +!ENDIF
          211  +
          212  +# Set the include code file to be used by executables and libraries when
          213  +# they need SQLite.
          214  +#
          215  +!IFNDEF SQLITE3H
          216  +SQLITE3H = sqlite3.h
          217  +!ENDIF
          218  +
          219  +# This is the name to use for the SQLite dynamic link library (DLL).
          220  +#
          221  +!IFNDEF SQLITE3DLL
          222  +!IF $(FOR_WIN10)!=0
          223  +SQLITE3DLL = winsqlite3.dll
          224  +!ELSE
          225  +SQLITE3DLL = sqlite3.dll
          226  +!ENDIF
          227  +!ENDIF
          228  +
          229  +# This is the name to use for the SQLite import library (LIB).
          230  +#
          231  +!IFNDEF SQLITE3LIB
          232  +!IF $(FOR_WIN10)!=0
          233  +SQLITE3LIB = winsqlite3.lib
          234  +!ELSE
          235  +SQLITE3LIB = sqlite3.lib
          236  +!ENDIF
          237  +!ENDIF
          238  +
          239  +# This is the name to use for the SQLite shell executable (EXE).
          240  +#
          241  +!IFNDEF SQLITE3EXE
          242  +!IF $(FOR_WIN10)!=0
          243  +SQLITE3EXE = winsqlite3shell.exe
          244  +!ELSE
          245  +SQLITE3EXE = sqlite3.exe
          246  +!ENDIF
          247  +!ENDIF
          248  +
          249  +# This is the argument used to set the program database (PDB) file for the
          250  +# SQLite shell executable (EXE).
          251  +#
          252  +!IFNDEF SQLITE3EXEPDB
          253  +!IF $(FOR_WIN10)!=0
          254  +SQLITE3EXEPDB =
          255  +!ELSE
          256  +SQLITE3EXEPDB = /pdb:sqlite3sh.pdb
          257  +!ENDIF
          258  +!ENDIF
   188    259   
   189    260   # These are the "standard" SQLite compilation options used when compiling for
   190    261   # the Windows platform.
   191    262   #
   192    263   !IFNDEF OPT_FEATURE_FLAGS
   193    264   OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS3=1
   194    265   OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RTREE=1
   195    266   OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1
   196    267   !ENDIF
          268  +
          269  +# These are the "extended" SQLite compilation options used when compiling for
          270  +# the Windows 10 platform.
          271  +#
          272  +!IFNDEF EXT_FEATURE_FLAGS
          273  +!IF $(FOR_WIN10)!=0
          274  +EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS4=1
          275  +EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_SYSTEM_MALLOC=1
          276  +EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_OMIT_LOCALTIME=1
          277  +!ELSE
          278  +EXT_FEATURE_FLAGS =
          279  +!ENDIF
          280  +!ENDIF
   197    281   
   198    282   ###############################################################################
   199    283   ############################### END OF OPTIONS ################################
   200    284   ###############################################################################
          285  +
          286  +# When compiling for the Windows 10 platform, the PLATFORM macro must be set
          287  +# to an appropriate value (e.g. x86, x64, arm, arm64, etc).
          288  +#
          289  +!IF $(FOR_WIN10)!=0
          290  +!IFNDEF PLATFORM
          291  +!ERROR Using the FOR_WIN10 option requires a value for PLATFORM.
          292  +!ENDIF
          293  +!ENDIF
   201    294   
   202    295   # This assumes that MSVC is always installed in 32-bit Program Files directory
   203    296   # and sets the variable for use in locating other 32-bit installs accordingly.
   204    297   #
   205    298   PROGRAMFILES_X86 = $(VCINSTALLDIR)\..\..
   206    299   PROGRAMFILES_X86 = $(PROGRAMFILES_X86:\\=\)
   207    300   
................................................................................
   225    318   # compiler binary for the target platform.  If it is not defined, simply define
   226    319   # it to the legacy default value 'rc.exe'.
   227    320   #
   228    321   !IFNDEF RC
   229    322   RC = rc.exe
   230    323   !ENDIF
   231    324   
   232         -# Check for the MSVC runtime library path macro.  Othertise, this value will
          325  +# Check for the MSVC runtime library path macro.  Otherwise, this value will
   233    326   # default to the 'lib' directory underneath the MSVC installation directory.
   234    327   #
   235    328   !IFNDEF CRTLIBPATH
   236    329   CRTLIBPATH = $(VCINSTALLDIR)\lib
   237    330   !ENDIF
   238    331   
   239    332   CRTLIBPATH = $(CRTLIBPATH:\\=\)
................................................................................
   262    355   !ELSEIF $(XCOMPILE)!=0
   263    356   NCC = "$(VCINSTALLDIR)\bin\$(CC)"
   264    357   NCC = $(NCC:\\=\)
   265    358   !ELSE
   266    359   NCC = $(CC)
   267    360   !ENDIF
   268    361   
   269         -# Check for the MSVC native runtime library path macro.  Othertise,
          362  +# Check for the MSVC native runtime library path macro.  Otherwise,
   270    363   # this value will default to the 'lib' directory underneath the MSVC
   271    364   # installation directory.
   272    365   #
   273    366   !IFNDEF NCRTLIBPATH
   274    367   NCRTLIBPATH = $(VCINSTALLDIR)\lib
   275    368   !ENDIF
   276    369   
   277    370   NCRTLIBPATH = $(NCRTLIBPATH:\\=\)
   278    371   
   279         -# Check for the Platform SDK library path macro.  Othertise, this
          372  +# Check for the Platform SDK library path macro.  Otherwise, this
   280    373   # value will default to the 'lib' directory underneath the Windows
   281    374   # SDK installation directory (the environment variable used appears
   282    375   # to be available when using Visual C++ 2008 or later via the
   283    376   # command line).
   284    377   #
   285    378   !IFNDEF NSDKLIBPATH
   286    379   NSDKLIBPATH = $(WINDOWSSDKDIR)\lib
   287    380   !ENDIF
   288    381   
   289    382   NSDKLIBPATH = $(NSDKLIBPATH:\\=\)
          383  +
          384  +# Check for the UCRT library path macro.  Otherwise, this value will
          385  +# default to the version-specific, platform-specific 'lib' directory
          386  +# underneath the Windows SDK installation directory.
          387  +#
          388  +!IFNDEF UCRTLIBPATH
          389  +UCRTLIBPATH = $(WINDOWSSDKDIR)\lib\$(WINDOWSSDKLIBVERSION)\ucrt\$(PLATFORM)
          390  +!ENDIF
          391  +
          392  +UCRTLIBPATH = $(UCRTLIBPATH:\\=\)
   290    393   
   291    394   # C compiler and options for use in building executables that
   292    395   # will run on the platform that is doing the build.
   293    396   #
   294    397   !IF $(USE_FULLWARN)!=0
   295    398   BCC = $(NCC) -nologo -W4 $(CCOPTS) $(BCCOPTS)
   296    399   !ELSE
................................................................................
   324    427   !IF $(USE_FULLWARN)!=0
   325    428   TCC = $(CC) -nologo -W4 -DINCLUDE_MSVC_H=1 $(CCOPTS) $(TCCOPTS)
   326    429   !ELSE
   327    430   TCC = $(CC) -nologo -W3 $(CCOPTS) $(TCCOPTS)
   328    431   !ENDIF
   329    432   
   330    433   TCC = $(TCC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -I$(TOP)\src -fp:precise
   331         -RCC = $(RC) -DSQLITE_OS_WIN=1 -I$(TOP) -I$(TOP)\src $(RCOPTS) $(RCCOPTS)
          434  +RCC = $(RC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -I$(TOP)\src $(RCOPTS) $(RCCOPTS)
   332    435   
   333    436   # Check if we want to use the "stdcall" calling convention when compiling.
   334    437   # This is not supported by the compilers for non-x86 platforms.  It should
   335    438   # also be noted here that building any target with these "stdcall" options
   336    439   # will most likely fail if the Tcl library is also required.  This is due
   337    440   # to how the Tcl library functions are declared and exported (i.e. without
   338    441   # an explicit calling convention, which results in "cdecl").
   339    442   #
   340         -!IF $(USE_STDCALL)!=0
          443  +!IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
   341    444   !IF "$(PLATFORM)"=="x86"
   342    445   CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
   343    446   SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
   344    447   !ELSE
   345    448   !IFNDEF PLATFORM
   346    449   CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
   347    450   SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
................................................................................
   354    457   CORE_CCONV_OPTS =
   355    458   SHELL_CCONV_OPTS =
   356    459   !ENDIF
   357    460   
   358    461   # These are additional compiler options used for the core library.
   359    462   #
   360    463   !IFNDEF CORE_COMPILE_OPTS
   361         -!IF $(DYNAMIC_SHELL)!=0
          464  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
   362    465   CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS) -DSQLITE_API=__declspec(dllexport)
   363    466   !ELSE
   364    467   CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS)
   365    468   !ENDIF
   366    469   !ENDIF
   367    470   
   368    471   # These are the additional targets that the core library should depend on
   369    472   # when linking.
   370    473   #
   371    474   !IFNDEF CORE_LINK_DEP
   372         -!IF $(DYNAMIC_SHELL)!=0
          475  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
   373    476   CORE_LINK_DEP =
   374    477   !ELSE
   375    478   CORE_LINK_DEP = sqlite3.def
   376    479   !ENDIF
   377    480   !ENDIF
   378    481   
   379    482   # These are additional linker options used for the core library.
   380    483   #
   381    484   !IFNDEF CORE_LINK_OPTS
   382         -!IF $(DYNAMIC_SHELL)!=0
          485  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
   383    486   CORE_LINK_OPTS =
   384    487   !ELSE
   385    488   CORE_LINK_OPTS = /DEF:sqlite3.def
   386    489   !ENDIF
   387    490   !ENDIF
   388    491   
   389    492   # These are additional compiler options used for the shell executable.
   390    493   #
   391    494   !IFNDEF SHELL_COMPILE_OPTS
   392         -!IF $(DYNAMIC_SHELL)!=0
   393         -SHELL_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport)
          495  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          496  +SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport)
   394    497   !ELSE
   395         -SHELL_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 $(SHELL_CCONV_OPTS)
          498  +SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS)
          499  +!ENDIF
          500  +!ENDIF
          501  +
          502  +# This is the source code that the shell executable should be compiled
          503  +# with.
          504  +#
          505  +!IFNDEF SHELL_CORE_SRC
          506  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          507  +SHELL_CORE_SRC =
          508  +!ELSE
          509  +SHELL_CORE_SRC = $(SQLITE3C)
   396    510   !ENDIF
   397    511   !ENDIF
   398    512   
   399    513   # This is the core library that the shell executable should depend on.
   400    514   #
   401    515   !IFNDEF SHELL_CORE_DEP
   402         -!IF $(DYNAMIC_SHELL)!=0
   403         -SHELL_CORE_DEP = sqlite3.dll
          516  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          517  +SHELL_CORE_DEP = $(SQLITE3DLL)
   404    518   !ELSE
   405         -SHELL_CORE_DEP = libsqlite3.lib
          519  +SHELL_CORE_DEP =
   406    520   !ENDIF
   407    521   !ENDIF
   408    522   
   409    523   # This is the core library that the shell executable should link with.
   410    524   #
   411    525   !IFNDEF SHELL_CORE_LIB
   412         -!IF $(DYNAMIC_SHELL)!=0
   413         -SHELL_CORE_LIB = sqlite3.lib
          526  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          527  +SHELL_CORE_LIB = $(SQLITE3LIB)
   414    528   !ELSE
   415         -SHELL_CORE_LIB = libsqlite3.lib
          529  +SHELL_CORE_LIB =
   416    530   !ENDIF
   417    531   !ENDIF
   418    532   
   419    533   # These are additional linker options used for the shell executable.
   420    534   #
   421    535   !IFNDEF SHELL_LINK_OPTS
   422    536   SHELL_LINK_OPTS = $(SHELL_CORE_LIB)
................................................................................
   436    550   #
   437    551   !IF $(FOR_WINRT)!=0
   438    552   TCC = $(TCC) -DSQLITE_OS_WINRT=1
   439    553   RCC = $(RCC) -DSQLITE_OS_WINRT=1
   440    554   TCC = $(TCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
   441    555   RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
   442    556   !ENDIF
          557  +
          558  +# C compiler options for the Windows 10 platform (needs MSVC 2015).
          559  +#
          560  +!IF $(FOR_WIN10)!=0
          561  +TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
          562  +BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
          563  +!ENDIF
   443    564   
   444    565   # Also, we need to dynamically link to the correct MSVC runtime
   445    566   # when compiling for WinRT (e.g. debug or release) OR if the
   446    567   # USE_CRT_DLL option is set to force dynamically linking to the
   447    568   # MSVC runtime library.
   448    569   #
   449    570   !IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0
................................................................................
   460    581   BCC = $(BCC) -MTd
   461    582   !ELSE
   462    583   TCC = $(TCC) -MT
   463    584   BCC = $(BCC) -MT
   464    585   !ENDIF
   465    586   !ENDIF
   466    587   
          588  +# <<mark>>
   467    589   # The mksqlite3c.tcl and mksqlite3h.tcl scripts will pull in
   468    590   # any extension header files by default.  For non-amalgamation
   469    591   # builds, we need to make sure the compiler can find these.
   470    592   #
   471    593   !IF $(USE_AMALGAMATION)==0
   472    594   TCC = $(TCC) -I$(TOP)\ext\fts3
   473    595   RCC = $(RCC) -I$(TOP)\ext\fts3
................................................................................
   483    605   !IFNDEF MKSQLITE3C_ARGS
   484    606   !IF $(DEBUG)>1
   485    607   MKSQLITE3C_ARGS = --linemacros
   486    608   !ELSE
   487    609   MKSQLITE3C_ARGS =
   488    610   !ENDIF
   489    611   !ENDIF
          612  +# <</mark>>
   490    613   
   491    614   # Define -DNDEBUG to compile without debugging (i.e., for production usage)
   492    615   # Omitting the define will cause extra debugging code to be inserted and
   493    616   # includes extra comments when "EXPLAIN stmt" is used.
   494    617   #
   495    618   !IF $(DEBUG)==0
   496    619   TCC = $(TCC) -DNDEBUG
   497    620   BCC = $(BCC) -DNDEBUG
   498    621   RCC = $(RCC) -DNDEBUG
   499    622   !ENDIF
   500    623   
   501         -!IF $(DEBUG)>0 || $(API_ARMOR)!=0
          624  +!IF $(DEBUG)>0 || $(API_ARMOR)!=0 || $(FOR_WIN10)!=0
   502    625   TCC = $(TCC) -DSQLITE_ENABLE_API_ARMOR=1
   503    626   RCC = $(RCC) -DSQLITE_ENABLE_API_ARMOR=1
   504    627   !ENDIF
   505    628   
   506    629   !IF $(DEBUG)>2
   507    630   TCC = $(TCC) -DSQLITE_DEBUG=1
   508    631   RCC = $(RCC) -DSQLITE_DEBUG=1
................................................................................
   547    670   #
   548    671   !IF $(DEBUG)>3
   549    672   TCC = $(TCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
   550    673   RCC = $(RCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
   551    674   !ENDIF
   552    675   !ENDIF
   553    676   
          677  +# <<mark>>
   554    678   # The locations of the Tcl header and library files.  Also, the library that
   555    679   # non-stubs enabled programs using Tcl must link against.  These variables
   556    680   # (TCLINCDIR, TCLLIBDIR, and LIBTCL) may be overridden via the environment
   557    681   # prior to running nmake in order to match the actual installed location and
   558    682   # version on this machine.
   559    683   #
   560    684   !IFNDEF TCLINCDIR
................................................................................
   598    722   # know the specific version we want to use.  This variable (TCLSH_CMD) may be
   599    723   # overridden via the environment prior to running nmake in order to select a
   600    724   # specific Tcl shell to use.
   601    725   #
   602    726   !IFNDEF TCLSH_CMD
   603    727   TCLSH_CMD = tclsh85
   604    728   !ENDIF
          729  +# <</mark>>
   605    730   
   606    731   # Compiler options needed for programs that use the readline() library.
   607    732   #
   608    733   !IFNDEF READLINE_FLAGS
   609    734   READLINE_FLAGS = -DHAVE_READLINE=0
   610    735   !ENDIF
   611    736   
................................................................................
   655    780   !IF $(USE_RPCRT4_LIB)!=0
   656    781   REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_WIN32_USE_UUID=1
   657    782   !ENDIF
   658    783   
   659    784   # Add the required and optional SQLite compilation options into the command
   660    785   # lines used to invoke the MSVC code and resource compilers.
   661    786   #
   662         -TCC = $(TCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS)
   663         -RCC = $(RCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS)
          787  +TCC = $(TCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS)
          788  +RCC = $(RCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS)
   664    789   
   665    790   # Add in any optional parameters specified on the commane line, e.g.
   666    791   # nmake /f Makefile.msc all "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1"
   667    792   #
   668    793   TCC = $(TCC) $(OPTS)
   669    794   RCC = $(RCC) $(OPTS)
   670    795   
................................................................................
   696    821   # If symbols are enabled (or compiling for debugging), enable PDBs.
   697    822   #
   698    823   !IF $(DEBUG)>1 || $(SYMBOLS)!=0
   699    824   TCC = $(TCC) -Zi
   700    825   BCC = $(BCC) -Zi
   701    826   !ENDIF
   702    827   
          828  +# <<mark>>
   703    829   # If ICU support is enabled, add the compiler options for it.
   704    830   #
   705    831   !IF $(USE_ICU)!=0
   706    832   TCC = $(TCC) -DSQLITE_ENABLE_ICU=1
   707    833   RCC = $(RCC) -DSQLITE_ENABLE_ICU=1
   708    834   TCC = $(TCC) -I$(TOP)\ext\icu
   709    835   RCC = $(RCC) -I$(TOP)\ext\icu
   710    836   TCC = $(TCC) -I$(ICUINCDIR)
   711    837   RCC = $(RCC) -I$(ICUINCDIR)
   712    838   !ENDIF
          839  +# <</mark>>
   713    840   
   714    841   # Command line prefixes for compiling code, compiling resources,
   715    842   # linking, etc.
   716    843   #
   717    844   LTCOMPILE = $(TCC) -Fo$@
   718    845   LTRCOMPILE = $(RCC) -r
   719    846   LTLIB = lib.exe
................................................................................
   783    910   LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)"
   784    911   !ENDIF
   785    912   LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE
   786    913   LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib
   787    914   LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib
   788    915   !ENDIF
   789    916   
   790         -# When compiling for UAP, some extra linker options are also required.
          917  +# When compiling for UWP or the Windows 10 platform, some extra linker
          918  +# options are also required.
   791    919   #
   792         -!IF $(FOR_UAP)!=0
          920  +!IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0
   793    921   LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib
   794    922   LTLINKOPTS = $(LTLINKOPTS) mincore.lib
   795    923   !IFDEF PSDKLIBPATH
   796    924   LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)"
   797    925   !ENDIF
   798    926   !ENDIF
          927  +
          928  +!IF $(FOR_WIN10)!=0
          929  +LTLINKOPTS = $(LTLINKOPTS) /guard:cf "/LIBPATH:$(UCRTLIBPATH)"
          930  +!IF $(DEBUG)>1
          931  +LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrtd.lib /DEFAULTLIB:ucrtd.lib
          932  +!ELSE
          933  +LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib
          934  +!ENDIF
          935  +!ENDIF
   799    936   
   800    937   # If either debugging or symbols are enabled, enable PDBs.
   801    938   #
   802    939   !IF $(DEBUG)>1 || $(SYMBOLS)!=0
   803    940   LDFLAGS = /DEBUG $(LDOPTS)
   804    941   !ELSE
   805    942   LDFLAGS = $(LDOPTS)
   806    943   !ENDIF
   807    944   
          945  +# <<mark>>
   808    946   # Start with the Tcl related linker options.
   809    947   #
   810    948   !IF $(NO_TCL)==0
   811    949   LTLIBPATHS = /LIBPATH:$(TCLLIBDIR)
   812    950   LTLIBS = $(LIBTCL)
   813    951   !ENDIF
   814    952   
   815    953   # If ICU support is enabled, add the linker options for it.
   816    954   #
   817    955   !IF $(USE_ICU)!=0
   818    956   LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:$(ICULIBDIR)
   819    957   LTLIBS = $(LTLIBS) $(LIBICU)
   820    958   !ENDIF
          959  +# <</mark>>
   821    960   
   822    961   # You should not have to change anything below this line
   823    962   ###############################################################################
   824    963   
          964  +# <<mark>>
   825    965   # Object files for the SQLite library (non-amalgamation).
   826    966   #
   827    967   LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \
   828    968            backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
   829    969            callback.lo complete.lo ctime.lo date.lo dbstat.lo delete.lo \
   830    970            expr.lo fault.lo fkey.lo \
   831    971            fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \
................................................................................
   835    975            func.lo global.lo hash.lo \
   836    976            icu.lo insert.lo journal.lo legacy.lo loadext.lo \
   837    977            main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
   838    978            memjournal.lo \
   839    979            mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
   840    980            notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
   841    981            pager.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
   842         -         random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
          982  +         random.lo resolve.lo rowset.lo rtree.lo select.lo sqlite3rbu.lo status.lo \
   843    983            table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
   844    984            update.lo util.lo vacuum.lo \
   845    985            vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
   846    986            vdbetrace.lo wal.lo walker.lo where.lo wherecode.lo whereexpr.lo \
   847    987            utf.lo vtab.lo
          988  +# <</mark>>
   848    989   
   849    990   # Object files for the amalgamation.
   850    991   #
   851    992   LIBOBJS1 = sqlite3.lo
   852    993   
   853    994   # Determine the real value of LIBOBJ based on the 'configure' script
   854    995   #
          996  +# <<mark>>
   855    997   !IF $(USE_AMALGAMATION)==0
   856    998   LIBOBJ = $(LIBOBJS0)
   857    999   !ELSE
         1000  +# <</mark>>
   858   1001   LIBOBJ = $(LIBOBJS1)
         1002  +# <<mark>>
   859   1003   !ENDIF
         1004  +# <</mark>>
   860   1005   
   861   1006   # Determine if embedded resource compilation and usage are enabled.
   862   1007   #
   863   1008   !IF $(USE_RC)!=0
   864   1009   LIBRESOBJS = sqlite3res.lo
   865   1010   !ELSE
   866   1011   LIBRESOBJS =
   867   1012   !ENDIF
   868   1013   
   869         -# All of the source code files.
         1014  +# <<mark>>
         1015  +# Core source code files, part 1.
   870   1016   #
   871         -SRC1 = \
         1017  +SRC00 = \
   872   1018     $(TOP)\src\alter.c \
   873   1019     $(TOP)\src\analyze.c \
   874   1020     $(TOP)\src\attach.c \
   875   1021     $(TOP)\src\auth.c \
   876   1022     $(TOP)\src\backup.c \
   877   1023     $(TOP)\src\bitvec.c \
   878   1024     $(TOP)\src\btmutex.c \
   879   1025     $(TOP)\src\btree.c \
   880         -  $(TOP)\src\btree.h \
   881         -  $(TOP)\src\btreeInt.h \
   882   1026     $(TOP)\src\build.c \
   883   1027     $(TOP)\src\callback.c \
   884   1028     $(TOP)\src\complete.c \
   885   1029     $(TOP)\src\ctime.c \
   886   1030     $(TOP)\src\date.c \
   887   1031     $(TOP)\src\dbstat.c \
   888   1032     $(TOP)\src\delete.c \
   889   1033     $(TOP)\src\expr.c \
   890   1034     $(TOP)\src\fault.c \
   891   1035     $(TOP)\src\fkey.c \
   892   1036     $(TOP)\src\func.c \
   893   1037     $(TOP)\src\global.c \
   894   1038     $(TOP)\src\hash.c \
   895         -  $(TOP)\src\hash.h \
   896         -  $(TOP)\src\hwtime.h \
   897   1039     $(TOP)\src\insert.c \
   898   1040     $(TOP)\src\journal.c \
   899   1041     $(TOP)\src\legacy.c \
   900   1042     $(TOP)\src\loadext.c \
   901   1043     $(TOP)\src\main.c \
   902   1044     $(TOP)\src\malloc.c \
   903   1045     $(TOP)\src\mem0.c \
   904   1046     $(TOP)\src\mem1.c \
   905   1047     $(TOP)\src\mem2.c \
   906   1048     $(TOP)\src\mem3.c \
   907   1049     $(TOP)\src\mem5.c \
   908   1050     $(TOP)\src\memjournal.c \
   909         -  $(TOP)\src\msvc.h \
   910   1051     $(TOP)\src\mutex.c \
   911         -  $(TOP)\src\mutex.h \
   912   1052     $(TOP)\src\mutex_noop.c \
   913   1053     $(TOP)\src\mutex_unix.c \
   914   1054     $(TOP)\src\mutex_w32.c \
   915   1055     $(TOP)\src\notify.c \
   916   1056     $(TOP)\src\os.c \
   917         -  $(TOP)\src\os.h \
   918         -  $(TOP)\src\os_common.h \
   919         -  $(TOP)\src\os_setup.h \
   920   1057     $(TOP)\src\os_unix.c \
   921         -  $(TOP)\src\os_win.c \
   922         -  $(TOP)\src\os_win.h
   923         -SRC2 = \
         1058  +  $(TOP)\src\os_win.c
         1059  +
         1060  +# Core source code files, part 2.
         1061  +#
         1062  +SRC01 = \
   924   1063     $(TOP)\src\pager.c \
   925         -  $(TOP)\src\pager.h \
   926         -  $(TOP)\src\parse.y \
   927   1064     $(TOP)\src\pcache.c \
   928         -  $(TOP)\src\pcache.h \
   929   1065     $(TOP)\src\pcache1.c \
   930   1066     $(TOP)\src\pragma.c \
   931         -  $(TOP)\src\pragma.h \
   932   1067     $(TOP)\src\prepare.c \
   933   1068     $(TOP)\src\printf.c \
   934   1069     $(TOP)\src\random.c \
   935   1070     $(TOP)\src\resolve.c \
   936   1071     $(TOP)\src\rowset.c \
   937   1072     $(TOP)\src\select.c \
   938   1073     $(TOP)\src\status.c \
   939         -  $(TOP)\src\shell.c \
   940         -  $(TOP)\src\sqlite.h.in \
   941         -  $(TOP)\src\sqlite3ext.h \
   942         -  $(TOP)\src\sqliteInt.h \
   943         -  $(TOP)\src\sqliteLimit.h \
   944   1074     $(TOP)\src\table.c \
   945   1075     $(TOP)\src\threads.c \
   946   1076     $(TOP)\src\tclsqlite.c \
   947   1077     $(TOP)\src\tokenize.c \
   948   1078     $(TOP)\src\treeview.c \
   949   1079     $(TOP)\src\trigger.c \
   950   1080     $(TOP)\src\utf.c \
   951   1081     $(TOP)\src\update.c \
   952   1082     $(TOP)\src\util.c \
   953   1083     $(TOP)\src\vacuum.c \
   954   1084     $(TOP)\src\vdbe.c \
   955         -  $(TOP)\src\vdbe.h \
   956   1085     $(TOP)\src\vdbeapi.c \
   957   1086     $(TOP)\src\vdbeaux.c \
   958   1087     $(TOP)\src\vdbeblob.c \
   959   1088     $(TOP)\src\vdbemem.c \
   960   1089     $(TOP)\src\vdbesort.c \
   961   1090     $(TOP)\src\vdbetrace.c \
   962         -  $(TOP)\src\vdbeInt.h \
   963   1091     $(TOP)\src\vtab.c \
   964         -  $(TOP)\src\vxworks.h \
   965   1092     $(TOP)\src\wal.c \
   966         -  $(TOP)\src\wal.h \
   967   1093     $(TOP)\src\walker.c \
   968   1094     $(TOP)\src\where.c \
   969   1095     $(TOP)\src\wherecode.c \
   970         -  $(TOP)\src\whereexpr.c \
         1096  +  $(TOP)\src\whereexpr.c
         1097  +
         1098  +# Shell source code files.
         1099  +#
         1100  +SRC02 = \
         1101  +  $(TOP)\src\shell.c
         1102  +
         1103  +# Core miscellaneous files.
         1104  +#
         1105  +SRC03 = \
         1106  +  $(TOP)\src\parse.y
         1107  +
         1108  +# Core header files, part 1.
         1109  +#
         1110  +SRC04 = \
         1111  +  $(TOP)\src\btree.h \
         1112  +  $(TOP)\src\btreeInt.h \
         1113  +  $(TOP)\src\hash.h \
         1114  +  $(TOP)\src\hwtime.h \
         1115  +  $(TOP)\src\msvc.h \
         1116  +  $(TOP)\src\mutex.h \
         1117  +  $(TOP)\src\os.h \
         1118  +  $(TOP)\src\os_common.h \
         1119  +  $(TOP)\src\os_setup.h \
         1120  +  $(TOP)\src\os_win.h
         1121  +
         1122  +# Core header files, part 2.
         1123  +#
         1124  +SRC05 = \
         1125  +  $(TOP)\src\pager.h \
         1126  +  $(TOP)\src\pcache.h \
         1127  +  $(TOP)\src\pragma.h \
         1128  +  $(TOP)\src\sqlite.h.in \
         1129  +  $(TOP)\src\sqlite3ext.h \
         1130  +  $(TOP)\src\sqliteInt.h \
         1131  +  $(TOP)\src\sqliteLimit.h \
         1132  +  $(TOP)\src\vdbe.h \
         1133  +  $(TOP)\src\vdbeInt.h \
         1134  +  $(TOP)\src\vxworks.h \
         1135  +  $(TOP)\src\wal.h \
   971   1136     $(TOP)\src\whereInt.h
   972   1137   
   973         -# Source code for extensions
         1138  +# Extension source code files, part 1.
   974   1139   #
   975         -SRC3 = \
         1140  +SRC06 = \
   976   1141     $(TOP)\ext\fts1\fts1.c \
   977         -  $(TOP)\ext\fts1\fts1.h \
   978   1142     $(TOP)\ext\fts1\fts1_hash.c \
   979         -  $(TOP)\ext\fts1\fts1_hash.h \
   980   1143     $(TOP)\ext\fts1\fts1_porter.c \
   981         -  $(TOP)\ext\fts1\fts1_tokenizer.h \
   982   1144     $(TOP)\ext\fts1\fts1_tokenizer1.c \
   983   1145     $(TOP)\ext\fts2\fts2.c \
   984         -  $(TOP)\ext\fts2\fts2.h \
   985   1146     $(TOP)\ext\fts2\fts2_hash.c \
   986         -  $(TOP)\ext\fts2\fts2_hash.h \
   987   1147     $(TOP)\ext\fts2\fts2_icu.c \
   988   1148     $(TOP)\ext\fts2\fts2_porter.c \
   989         -  $(TOP)\ext\fts2\fts2_tokenizer.h \
   990   1149     $(TOP)\ext\fts2\fts2_tokenizer.c \
   991   1150     $(TOP)\ext\fts2\fts2_tokenizer1.c
   992         -SRC4 = \
         1151  +
         1152  +# Extension source code files, part 2.
         1153  +#
         1154  +SRC07 = \
   993   1155     $(TOP)\ext\fts3\fts3.c \
   994         -  $(TOP)\ext\fts3\fts3.h \
   995         -  $(TOP)\ext\fts3\fts3Int.h \
   996   1156     $(TOP)\ext\fts3\fts3_aux.c \
   997   1157     $(TOP)\ext\fts3\fts3_expr.c \
   998   1158     $(TOP)\ext\fts3\fts3_hash.c \
   999         -  $(TOP)\ext\fts3\fts3_hash.h \
  1000   1159     $(TOP)\ext\fts3\fts3_icu.c \
  1001   1160     $(TOP)\ext\fts3\fts3_porter.c \
  1002   1161     $(TOP)\ext\fts3\fts3_snippet.c \
  1003         -  $(TOP)\ext\fts3\fts3_tokenizer.h \
  1004   1162     $(TOP)\ext\fts3\fts3_tokenizer.c \
  1005   1163     $(TOP)\ext\fts3\fts3_tokenizer1.c \
  1006   1164     $(TOP)\ext\fts3\fts3_tokenize_vtab.c \
  1007   1165     $(TOP)\ext\fts3\fts3_unicode.c \
  1008   1166     $(TOP)\ext\fts3\fts3_unicode2.c \
  1009   1167     $(TOP)\ext\fts3\fts3_write.c \
  1010         -  $(TOP)\ext\icu\sqliteicu.h \
  1011   1168     $(TOP)\ext\icu\icu.c \
  1012         -  $(TOP)\ext\rtree\rtree.h \
  1013   1169     $(TOP)\ext\rtree\rtree.c \
  1014         -  $(TOP)\ext\rbu\sqlite3rbu.h \
  1015   1170     $(TOP)\ext\rbu\sqlite3rbu.c \
  1016   1171     $(TOP)\ext\misc\json1.c
  1017   1172   
         1173  +# Extension header files, part 1.
         1174  +#
         1175  +SRC08 = \
         1176  +  $(TOP)\ext\fts1\fts1.h \
         1177  +  $(TOP)\ext\fts1\fts1_hash.h \
         1178  +  $(TOP)\ext\fts1\fts1_tokenizer.h \
         1179  +  $(TOP)\ext\fts2\fts2.h \
         1180  +  $(TOP)\ext\fts2\fts2_hash.h \
         1181  +  $(TOP)\ext\fts2\fts2_tokenizer.h
         1182  +
         1183  +# Extension header files, part 2.
         1184  +#
         1185  +SRC09 = \
         1186  +  $(TOP)\ext\fts3\fts3.h \
         1187  +  $(TOP)\ext\fts3\fts3Int.h \
         1188  +  $(TOP)\ext\fts3\fts3_hash.h \
         1189  +  $(TOP)\ext\fts3\fts3_tokenizer.h \
         1190  +  $(TOP)\ext\icu\sqliteicu.h \
         1191  +  $(TOP)\ext\rtree\rtree.h \
         1192  +  $(TOP)\ext\rbu\sqlite3rbu.h
  1018   1193   
  1019   1194   # Generated source code files
  1020   1195   #
  1021         -SRC5 = \
  1022         -  keywordhash.h \
         1196  +SRC10 = \
  1023   1197     opcodes.c \
         1198  +  parse.c
         1199  +
         1200  +# Generated header files
         1201  +#
         1202  +SRC11 = \
         1203  +  keywordhash.h \
  1024   1204     opcodes.h \
  1025         -  parse.c \
  1026   1205     parse.h \
  1027         -  sqlite3.h
         1206  +  $(SQLITE3H)
  1028   1207   
  1029   1208   # All source code files.
  1030   1209   #
  1031         -SRC = $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5)
         1210  +SRC = $(SRC00) $(SRC01) $(SRC02) $(SRC03) $(SRC04) $(SRC05) $(SRC06) $(SRC07) $(SRC08) $(SRC09) $(SRC10) $(SRC11)
  1032   1211   
  1033   1212   # Source code to the test files.
  1034   1213   #
  1035   1214   TESTSRC = \
  1036   1215     $(TOP)\src\test1.c \
  1037   1216     $(TOP)\src\test2.c \
  1038   1217     $(TOP)\src\test3.c \
................................................................................
  1067   1246     $(TOP)\src\test_schema.c \
  1068   1247     $(TOP)\src\test_server.c \
  1069   1248     $(TOP)\src\test_superlock.c \
  1070   1249     $(TOP)\src\test_syscall.c \
  1071   1250     $(TOP)\src\test_tclvar.c \
  1072   1251     $(TOP)\src\test_thread.c \
  1073   1252     $(TOP)\src\test_vfs.c \
         1253  +  $(TOP)\src\test_windirent.c \
  1074   1254     $(TOP)\src\test_wsd.c \
  1075   1255     $(TOP)\ext\fts3\fts3_term.c \
  1076   1256     $(TOP)\ext\fts3\fts3_test.c \
  1077   1257     $(TOP)\ext\rbu\test_rbu.c
  1078   1258   
  1079         -# Statically linked extensions
         1259  +# Statically linked extensions.
  1080   1260   #
  1081   1261   TESTEXT = \
  1082   1262     $(TOP)\ext\misc\amatch.c \
  1083   1263     $(TOP)\ext\misc\closure.c \
  1084   1264     $(TOP)\ext\misc\eval.c \
  1085   1265     $(TOP)\ext\misc\fileio.c \
  1086   1266     $(TOP)\ext\misc\fuzzer.c \
  1087   1267     $(TOP)\ext\fts5\fts5_tcl.c \
  1088   1268     $(TOP)\ext\fts5\fts5_test_mi.c \
         1269  +  $(TOP)\ext\fts5\fts5_test_tok.c \
  1089   1270     $(TOP)\ext\misc\ieee754.c \
  1090   1271     $(TOP)\ext\misc\nextchar.c \
  1091   1272     $(TOP)\ext\misc\percentile.c \
  1092   1273     $(TOP)\ext\misc\regexp.c \
  1093   1274     $(TOP)\ext\misc\series.c \
  1094   1275     $(TOP)\ext\misc\spellfix.c \
  1095   1276     $(TOP)\ext\misc\totype.c \
  1096   1277     $(TOP)\ext\misc\wholenumber.c
  1097   1278   
  1098         -
  1099   1279   # Source code to the library files needed by the test fixture
  1100   1280   #
  1101   1281   TESTSRC2 = \
  1102         -  $(TOP)\src\attach.c \
  1103         -  $(TOP)\src\backup.c \
  1104         -  $(TOP)\src\bitvec.c \
  1105         -  $(TOP)\src\btree.c \
  1106         -  $(TOP)\src\build.c \
  1107         -  $(TOP)\src\ctime.c \
  1108         -  $(TOP)\src\date.c \
  1109         -  $(TOP)\src\dbstat.c \
  1110         -  $(TOP)\src\expr.c \
  1111         -  $(TOP)\src\func.c \
  1112         -  $(TOP)\src\insert.c \
  1113         -  $(TOP)\src\wal.c \
  1114         -  $(TOP)\src\main.c \
  1115         -  $(TOP)\src\mem5.c \
  1116         -  $(TOP)\src\os.c \
  1117         -  $(TOP)\src\os_unix.c \
  1118         -  $(TOP)\src\os_win.c \
  1119         -  $(TOP)\src\pager.c \
  1120         -  $(TOP)\src\pragma.c \
  1121         -  $(TOP)\src\prepare.c \
  1122         -  $(TOP)\src\printf.c \
  1123         -  $(TOP)\src\random.c \
  1124         -  $(TOP)\src\pcache.c \
  1125         -  $(TOP)\src\pcache1.c \
  1126         -  $(TOP)\src\select.c \
  1127         -  $(TOP)\src\tokenize.c \
  1128         -  $(TOP)\src\utf.c \
  1129         -  $(TOP)\src\util.c \
  1130         -  $(TOP)\src\vdbeapi.c \
  1131         -  $(TOP)\src\vdbeaux.c \
  1132         -  $(TOP)\src\vdbe.c \
  1133         -  $(TOP)\src\vdbemem.c \
  1134         -  $(TOP)\src\vdbesort.c \
  1135         -  $(TOP)\src\vdbetrace.c \
  1136         -  $(TOP)\src\where.c \
  1137         -  $(TOP)\src\wherecode.c \
  1138         -  $(TOP)\src\whereexpr.c \
  1139         -  parse.c \
  1140         -  $(TOP)\ext\fts3\fts3.c \
  1141         -  $(TOP)\ext\fts3\fts3_aux.c \
  1142         -  $(TOP)\ext\fts3\fts3_expr.c \
  1143         -  $(TOP)\ext\fts3\fts3_tokenizer.c \
  1144         -  $(TOP)\ext\fts3\fts3_tokenize_vtab.c \
  1145         -  $(TOP)\ext\fts3\fts3_unicode.c \
  1146         -  $(TOP)\ext\fts3\fts3_unicode2.c \
  1147         -  $(TOP)\ext\fts3\fts3_write.c \
         1282  +  $(SRC00) \
         1283  +  $(SRC01) \
         1284  +  $(SRC06) \
         1285  +  $(SRC07) \
         1286  +  $(SRC10) \
  1148   1287     $(TOP)\ext\async\sqlite3async.c
  1149   1288   
  1150   1289   # Header files used by all library source files.
  1151   1290   #
  1152   1291   HDR = \
  1153   1292      $(TOP)\src\btree.h \
  1154   1293      $(TOP)\src\btreeInt.h \
................................................................................
  1162   1301      $(TOP)\src\os_common.h \
  1163   1302      $(TOP)\src\os_setup.h \
  1164   1303      $(TOP)\src\os_win.h \
  1165   1304      $(TOP)\src\pager.h \
  1166   1305      $(TOP)\src\pcache.h \
  1167   1306      parse.h \
  1168   1307      $(TOP)\src\pragma.h \
  1169         -   sqlite3.h \
         1308  +   $(SQLITE3H) \
  1170   1309      $(TOP)\src\sqlite3ext.h \
  1171   1310      $(TOP)\src\sqliteInt.h \
  1172   1311      $(TOP)\src\sqliteLimit.h \
  1173   1312      $(TOP)\src\vdbe.h \
  1174   1313      $(TOP)\src\vdbeInt.h \
  1175   1314      $(TOP)\src\vxworks.h \
  1176   1315      $(TOP)\src\whereInt.h
................................................................................
  1197   1336   EXTHDR = $(EXTHDR) \
  1198   1337     $(TOP)\ext\rtree\sqlite3rtree.h
  1199   1338   
  1200   1339   # executables needed for testing
  1201   1340   #
  1202   1341   TESTPROGS = \
  1203   1342     testfixture.exe \
  1204         -  sqlite3.exe \
         1343  +  $(SQLITE3EXE) \
  1205   1344     sqlite3_analyzer.exe \
  1206   1345     sqldiff.exe
  1207   1346   
  1208   1347   # Databases containing fuzzer test cases
  1209   1348   #
  1210   1349   FUZZDATA = \
  1211   1350     $(TOP)\test\fuzzdata1.db \
  1212   1351     $(TOP)\test\fuzzdata2.db \
  1213   1352     $(TOP)\test\fuzzdata3.db \
  1214   1353     $(TOP)\test\fuzzdata4.db
         1354  +# <</mark>>
  1215   1355   
  1216         -# Extra compiler options for various shell tools
         1356  +# Additional compiler options for the shell.  These are only effective
         1357  +# when the shell is not being dynamically linked.
  1217   1358   #
  1218         -SHELL_COMPILE_OPTS = -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
         1359  +!IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0
         1360  +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
         1361  +!ENDIF
         1362  +
         1363  +# <<mark>>
         1364  +# Extra compiler options for various test tools.
         1365  +#
         1366  +MPTESTER_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS5
  1219   1367   FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1
  1220         -FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1
         1368  +FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
  1221   1369   
  1222         -# Standard options to testfixture
         1370  +# Standard options to testfixture.
  1223   1371   #
  1224   1372   TESTOPTS = --verbose=file --output=test-out.txt
         1373  +
         1374  +# Extra targets for the "all" target that require Tcl.
         1375  +#
         1376  +!IF $(NO_TCL)==0
         1377  +ALL_TCL_TARGETS = libtclsqlite3.lib
         1378  +!ELSE
         1379  +ALL_TCL_TARGETS =
         1380  +!ENDIF
         1381  +# <</mark>>
  1225   1382   
  1226   1383   # This is the default Makefile target.  The objects listed here
  1227   1384   # are what get build when you type just "make" with no arguments.
  1228   1385   #
  1229         -all:	dll libsqlite3.lib sqlite3.exe libtclsqlite3.lib
         1386  +all:	dll libsqlite3.lib shell $(ALL_TCL_TARGETS)
  1230   1387   
         1388  +# Dynamic link library section.
         1389  +#
         1390  +dll: $(SQLITE3DLL)
         1391  +
         1392  +# Shell executable.
         1393  +#
         1394  +shell: $(SQLITE3EXE)
         1395  +
         1396  +# <<mark>>
  1231   1397   libsqlite3.lib:	$(LIBOBJ)
  1232   1398   	$(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS)
  1233   1399   
  1234   1400   libtclsqlite3.lib:	tclsqlite.lo libsqlite3.lib
  1235   1401   	$(LTLIB) $(LTLIBOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCLSTUB) $(TLIBS)
  1236         -
  1237         -sqlite3.exe:	$(TOP)\src\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) sqlite3.h
  1238         -	$(LTLINK) $(SHELL_COMPILE_OPTS) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) $(TOP)\src\shell.c \
  1239         -		/link /pdb:sqlite3sh.pdb $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
  1240         -
  1241         -sqldiff.exe:	$(TOP)\tool\sqldiff.c sqlite3.c sqlite3.h
  1242         -	$(LTLINK) $(NO_WARN) $(TOP)\tool\sqldiff.c sqlite3.c /link $(LDFLAGS) $(LTLINKOPTS)
  1243         -
  1244         -fuzzershell.exe:	$(TOP)\tool\fuzzershell.c sqlite3.c sqlite3.h
  1245         -	$(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) \
  1246         -	  $(TOP)\tool\fuzzershell.c sqlite3.c /link $(LDFLAGS) $(LTLINKOPTS)
  1247         -
  1248         -fuzzcheck.exe:	$(TOP)\test\fuzzcheck.c sqlite3.c sqlite3.h
  1249         -	$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(TOP)\test\fuzzcheck.c sqlite3.c /link $(LDFLAGS) $(LTLINKOPTS)
  1250         -
  1251         -mptester.exe:	$(TOP)\mptest\mptest.c $(SHELL_CORE_DEP) $(LIBRESOBJS) sqlite3.h
  1252         -	$(LTLINK) $(NO_WARN) $(SHELL_COMPILE_OPTS) $(TOP)\mptest\mptest.c \
  1253         -		/link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(SHELL_LINK_OPTS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
         1402  +# <</mark>>
         1403  +
         1404  +$(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
         1405  +	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
         1406  +
         1407  +# <<mark>>
         1408  +sqlite3.def: libsqlite3.lib
         1409  +	echo EXPORTS > sqlite3.def
         1410  +	dumpbin /all libsqlite3.lib \
         1411  +		| $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3_.*)$$" \1 \
         1412  +		| sort >> sqlite3.def
         1413  +# <</mark>>
         1414  +
         1415  +$(SQLITE3EXE):	$(TOP)\src\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLITE3H)
         1416  +	$(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) $(TOP)\src\shell.c $(SHELL_CORE_SRC) \
         1417  +		/link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
         1418  +
         1419  +# <<mark>>
         1420  +sqldiff.exe:	$(TOP)\tool\sqldiff.c $(SQLITE3C) $(SQLITE3H)
         1421  +	$(LTLINK) $(NO_WARN) $(TOP)\tool\sqldiff.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
         1422  +
         1423  +srcck1.exe:	$(TOP)\tool\srcck1.c
         1424  +	$(BCC) $(NO_WARN) -Fe$@ $(TOP)\tool\srcck1.c
         1425  +
         1426  +sourcetest:	srcck1.exe sqlite3.c
         1427  +	srcck1.exe sqlite3.c
         1428  +
         1429  +fuzzershell.exe:	$(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H)
         1430  +	$(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
         1431  +
         1432  +fuzzcheck.exe:	$(TOP)\test\fuzzcheck.c $(SQLITE3C) $(SQLITE3H)
         1433  +	$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(TOP)\test\fuzzcheck.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
         1434  +
         1435  +mptester.exe:	$(TOP)\mptest\mptest.c $(SQLITE3C) $(SQLITE3H)
         1436  +	$(LTLINK) $(NO_WARN) $(MPTESTER_COMPILE_OPTS) $(TOP)\mptest\mptest.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1254   1437   
  1255   1438   MPTEST1 = mptester mptest.db $(TOP)\mptest\crash01.test --repeat 20
  1256   1439   MPTEST2 = mptester mptest.db $(TOP)\mptest\multiwrite01.test --repeat 20
  1257   1440   
  1258   1441   mptest:	mptester.exe
  1259   1442   	del /Q mptest.db 2>NUL
  1260   1443   	$(MPTEST1) --journalmode DELETE
................................................................................
  1271   1454   # build on the target system.  Some of the C source code and header
  1272   1455   # files are automatically generated.  This target takes care of
  1273   1456   # all that automatic generation.
  1274   1457   #
  1275   1458   .target_source:	$(SRC) $(TOP)\tool\vdbe-compress.tcl fts5.c
  1276   1459   	-rmdir /Q/S tsrc 2>NUL
  1277   1460   	-mkdir tsrc
  1278         -	for %i in ($(SRC1)) do copy /Y %i tsrc
  1279         -	for %i in ($(SRC2)) do copy /Y %i tsrc
  1280         -	for %i in ($(SRC3)) do copy /Y %i tsrc
  1281         -	for %i in ($(SRC4)) do copy /Y %i tsrc
  1282         -	for %i in ($(SRC5)) do copy /Y %i tsrc
         1461  +	for %i in ($(SRC00)) do copy /Y %i tsrc
         1462  +	for %i in ($(SRC01)) do copy /Y %i tsrc
         1463  +	for %i in ($(SRC02)) do copy /Y %i tsrc
         1464  +	for %i in ($(SRC03)) do copy /Y %i tsrc
         1465  +	for %i in ($(SRC04)) do copy /Y %i tsrc
         1466  +	for %i in ($(SRC05)) do copy /Y %i tsrc
         1467  +	for %i in ($(SRC06)) do copy /Y %i tsrc
         1468  +	for %i in ($(SRC07)) do copy /Y %i tsrc
         1469  +	for %i in ($(SRC08)) do copy /Y %i tsrc
         1470  +	for %i in ($(SRC09)) do copy /Y %i tsrc
         1471  +	for %i in ($(SRC10)) do copy /Y %i tsrc
         1472  +	for %i in ($(SRC11)) do copy /Y %i tsrc
  1283   1473   	copy /Y fts5.c tsrc
  1284   1474   	copy /Y fts5.h tsrc
  1285   1475   	del /Q tsrc\sqlite.h.in tsrc\parse.y 2>NUL
  1286   1476   	$(TCLSH_CMD) $(TOP)\tool\vdbe-compress.tcl $(OPTS) < tsrc\vdbe.c > vdbe.new
  1287   1477   	move vdbe.new tsrc\vdbe.c
  1288   1478   	echo > .target_source
  1289   1479   
  1290   1480   sqlite3.c:	.target_source sqlite3ext.h $(TOP)\tool\mksqlite3c.tcl
  1291   1481   	$(TCLSH_CMD) $(TOP)\tool\mksqlite3c.tcl $(MKSQLITE3C_ARGS)
  1292   1482   	copy tsrc\shell.c .
  1293   1483   
  1294   1484   sqlite3-all.c:	sqlite3.c $(TOP)\tool\split-sqlite3c.tcl
  1295   1485   	$(TCLSH_CMD) $(TOP)\tool\split-sqlite3c.tcl
  1296         -
  1297         -# Set the source code file to be used by executables and libraries when
  1298         -# they need the amalgamation.
  1299         -#
  1300         -!IF $(SPLIT_AMALGAMATION)!=0
  1301         -SQLITE3C = sqlite3-all.c
  1302         -!ELSE
  1303         -SQLITE3C = sqlite3.c
  1304         -!ENDIF
         1486  +# <</mark>>
  1305   1487   
  1306   1488   # Rule to build the amalgamation
  1307   1489   #
  1308   1490   sqlite3.lo:	$(SQLITE3C)
  1309   1491   	$(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(SQLITE3C)
  1310   1492   
         1493  +# <<mark>>
  1311   1494   # Rules to build the LEMON compiler generator
  1312   1495   #
  1313   1496   lempar.c:	$(TOP)\tool\lempar.c
  1314   1497   	copy $(TOP)\tool\lempar.c .
  1315   1498   
  1316   1499   lemon.exe:	$(TOP)\tool\lemon.c lempar.c
  1317   1500   	$(BCC) $(NO_WARN) -Daccess=_access \
................................................................................
  1324   1507   #     opcodes.lo
  1325   1508   #
  1326   1509   parse.lo:	parse.c $(HDR)
  1327   1510   	$(LTCOMPILE) $(CORE_COMPILE_OPTS) -c parse.c
  1328   1511   
  1329   1512   opcodes.lo:	opcodes.c
  1330   1513   	$(LTCOMPILE) $(CORE_COMPILE_OPTS) -c opcodes.c
         1514  +# <</mark>>
  1331   1515   
  1332   1516   # Rule to build the Win32 resources object file.
  1333   1517   #
  1334   1518   !IF $(USE_RC)!=0
  1335         -$(LIBRESOBJS):	$(TOP)\src\sqlite3.rc $(HDR)
         1519  +# <<block1>>
         1520  +$(LIBRESOBJS):	$(TOP)\src\sqlite3.rc $(SQLITE3H)
  1336   1521   	echo #ifndef SQLITE_RESOURCE_VERSION > sqlite3rc.h
  1337   1522   	for /F %%V in ('type "$(TOP)\VERSION"') do ( \
  1338   1523   		echo #define SQLITE_RESOURCE_VERSION %%V \
  1339   1524   			| $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact . ^, >> sqlite3rc.h \
  1340   1525   	)
  1341   1526   	echo #endif >> sqlite3rc.h
  1342   1527   	$(LTRCOMPILE) -fo $(LIBRESOBJS) $(TOP)\src\sqlite3.rc
         1528  +# <</block1>>
  1343   1529   !ENDIF
  1344   1530   
         1531  +# <<mark>>
  1345   1532   # Rules to build individual *.lo files from files in the src directory.
  1346   1533   #
  1347   1534   alter.lo:	$(TOP)\src\alter.c $(HDR)
  1348   1535   	$(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\alter.c
  1349   1536   
  1350   1537   analyze.lo:	$(TOP)\src\analyze.c $(HDR)
  1351   1538   	$(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\analyze.c
................................................................................
  1568   1755   
  1569   1756   tclsqlite.lo:	$(TOP)\src\tclsqlite.c $(HDR)
  1570   1757   	$(LTCOMPILE) $(NO_WARN) -DUSE_TCL_STUBS=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
  1571   1758   
  1572   1759   tclsqlite-shell.lo:	$(TOP)\src\tclsqlite.c $(HDR)
  1573   1760   	$(LTCOMPILE) $(NO_WARN) -DTCLSH=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
  1574   1761   
  1575         -tclsqlite3.exe:	tclsqlite-shell.lo $(SQLITE3C) $(LIBRESOBJS)
         1762  +tclsqlite3.exe:	tclsqlite-shell.lo $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS)
  1576   1763   	$(LTLINK) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite-shell.lo $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
  1577   1764   
  1578   1765   # Rules to build opcodes.c and opcodes.h
  1579   1766   #
  1580   1767   opcodes.c:	opcodes.h $(TOP)\tool\mkopcodec.tcl
  1581   1768   	$(TCLSH_CMD) $(TOP)\tool\mkopcodec.tcl opcodes.h > opcodes.c
  1582   1769   
................................................................................
  1586   1773   # Rules to build parse.c and parse.h - the outputs of lemon.
  1587   1774   #
  1588   1775   parse.h:	parse.c
  1589   1776   
  1590   1777   parse.c:	$(TOP)\src\parse.y lemon.exe $(TOP)\tool\addopcodes.tcl
  1591   1778   	del /Q parse.y parse.h parse.h.temp 2>NUL
  1592   1779   	copy $(TOP)\src\parse.y .
  1593         -	.\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) parse.y
         1780  +	.\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) parse.y
  1594   1781   	move parse.h parse.h.temp
  1595   1782   	$(TCLSH_CMD) $(TOP)\tool\addopcodes.tcl parse.h.temp > parse.h
  1596   1783   
  1597         -sqlite3.h:	$(TOP)\src\sqlite.h.in $(TOP)\manifest.uuid $(TOP)\VERSION
  1598         -	$(TCLSH_CMD) $(TOP)\tool\mksqlite3h.tcl $(TOP:\=/) > sqlite3.h
         1784  +$(SQLITE3H):	$(TOP)\src\sqlite.h.in $(TOP)\manifest.uuid $(TOP)\VERSION
         1785  +	$(TCLSH_CMD) $(TOP)\tool\mksqlite3h.tcl $(TOP:\=/) > $(SQLITE3H)
  1599   1786   
  1600   1787   sqlite3ext.h: .target_source
  1601   1788   	copy tsrc\sqlite3ext.h .
  1602   1789   
  1603   1790   mkkeywordhash.exe:	$(TOP)\tool\mkkeywordhash.c
  1604         -	$(BCC) $(NO_WARN) -Fe$@ $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) \
         1791  +	$(BCC) $(NO_WARN) -Fe$@ $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) \
  1605   1792   		$(TOP)\tool\mkkeywordhash.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTLIBPATHS)
  1606   1793   
  1607   1794   keywordhash.h:	$(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe
  1608   1795   	.\mkkeywordhash.exe > keywordhash.h
  1609   1796   
  1610   1797   
  1611   1798   
................................................................................
  1692   1879      $(TOP)\ext\fts5\fts5_unicode2.c \
  1693   1880      $(TOP)\ext\fts5\fts5_varint.c \
  1694   1881      $(TOP)\ext\fts5\fts5_vocab.c
  1695   1882   
  1696   1883   fts5parse.c:	$(TOP)\ext\fts5\fts5parse.y lemon.exe
  1697   1884   	copy $(TOP)\ext\fts5\fts5parse.y .
  1698   1885   	del /Q fts5parse.h 2>NUL
  1699         -	.\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) fts5parse.y
         1886  +	.\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) fts5parse.y
  1700   1887   
  1701   1888   fts5parse.h: fts5parse.c
  1702   1889   
  1703   1890   fts5.c: $(FTS5_SRC)
  1704   1891   	$(TCLSH_CMD) $(TOP)\ext\fts5\tool\mkfts5c.tcl
  1705   1892   	copy $(TOP)\ext\fts5\fts5.h .
  1706   1893   
................................................................................
  1709   1896   
  1710   1897   fts5_ext.lo:	fts5.c $(HDR) $(EXTHDR)
  1711   1898   	$(LTCOMPILE) $(NO_WARN) -c fts5.c
  1712   1899   
  1713   1900   fts5.dll:	fts5_ext.lo
  1714   1901   	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ fts5_ext.lo
  1715   1902   
         1903  +sqlite3rbu.lo:	$(TOP)\ext\rbu\sqlite3rbu.c $(HDR) $(EXTHDR)
         1904  +	$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\rbu\sqlite3rbu.c
         1905  +
  1716   1906   # Rules to build the 'testfixture' application.
  1717   1907   #
  1718   1908   # If using the amalgamation, use sqlite3.c directly to build the test
  1719   1909   # fixture.  Otherwise link against libsqlite3.lib.  (This distinction is
  1720   1910   # necessary because the test fixture requires non-API symbols which are
  1721   1911   # hidden when the library is built via the amalgamation).
  1722   1912   #
  1723   1913   TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
  1724   1914   TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERVER=1 -DSQLITE_PRIVATE=""
  1725   1915   TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_CORE $(NO_WARN)
  1726   1916   
  1727         -TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2) $(SHELL_CORE_DEP)
         1917  +TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2)
  1728   1918   TESTFIXTURE_SRC1 = $(TESTEXT) $(SQLITE3C)
  1729   1919   !IF $(USE_AMALGAMATION)==0
  1730   1920   TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC0)
  1731   1921   !ELSE
  1732   1922   TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC1)
  1733   1923   !ENDIF
  1734   1924   
  1735         -testfixture.exe:	$(TESTFIXTURE_SRC) $(LIBRESOBJS) $(HDR)
         1925  +testfixture.exe:	$(TESTFIXTURE_SRC) $(SQLITE3H) $(LIBRESOBJS) $(HDR)
  1736   1926   	$(LTLINK) -DSQLITE_NO_SYNC=1 $(TESTFIXTURE_FLAGS) \
  1737   1927   		-DBUILD_sqlite -I$(TCLINCDIR) \
  1738   1928   		$(TESTFIXTURE_SRC) \
  1739   1929   		/link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
  1740   1930   
  1741   1931   extensiontest: testfixture.exe testloadext.dll
  1742   1932   	@set PATH=$(LIBTCLPATH);$(PATH)
................................................................................
  1750   1940   	@set PATH=$(LIBTCLPATH);$(PATH)
  1751   1941   	.\testfixture.exe $(TOP)\test\all.test -soak=1 $(TESTOPTS)
  1752   1942   
  1753   1943   fulltestonly:	$(TESTPROGS) fuzztest
  1754   1944   	@set PATH=$(LIBTCLPATH);$(PATH)
  1755   1945   	.\testfixture.exe $(TOP)\test\full.test
  1756   1946   
  1757         -queryplantest:	testfixture.exe sqlite3.exe
         1947  +queryplantest:	testfixture.exe shell
  1758   1948   	@set PATH=$(LIBTCLPATH);$(PATH)
  1759   1949   	.\testfixture.exe $(TOP)\test\permutations.test queryplanner $(TESTOPTS)
  1760   1950   
  1761   1951   fuzztest:	fuzzcheck.exe
  1762   1952   	.\fuzzcheck.exe $(FUZZDATA)
  1763   1953   
  1764   1954   fastfuzztest:	fuzzcheck.exe
  1765   1955   	.\fuzzcheck.exe --limit-mem 100M $(FUZZDATA)
  1766   1956   
  1767   1957   # Minimal testing that runs in less than 3 minutes (on a fast machine)
  1768   1958   #
  1769         -quicktest:	testfixture.exe
         1959  +quicktest:	testfixture.exe sourcetest
  1770   1960   	@set PATH=$(LIBTCLPATH);$(PATH)
  1771   1961   	.\testfixture.exe $(TOP)\test\extraquick.test $(TESTOPTS)
  1772   1962   
  1773   1963   # This is the common case.  Run many tests that do not take too long,
  1774   1964   # including fuzzcheck, sqlite3_analyzer, and sqldiff tests.
  1775   1965   #
  1776         -test:	$(TESTPROGS) fastfuzztest
         1966  +test:	$(TESTPROGS) sourcetest fastfuzztest
  1777   1967   	@set PATH=$(LIBTCLPATH);$(PATH)
  1778   1968   	.\testfixture.exe $(TOP)\test\veryquick.test $(TESTOPTS)
  1779   1969   
  1780   1970   smoketest:	$(TESTPROGS)
  1781   1971   	@set PATH=$(LIBTCLPATH);$(PATH)
  1782   1972   	.\testfixture.exe $(TOP)\test\main.test $(TESTOPTS)
  1783   1973   
  1784         -sqlite3_analyzer.c: $(SQLITE3C) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl
         1974  +sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl
  1785   1975   	echo #define TCLSH 2 > $@
  1786   1976   	echo #define SQLITE_ENABLE_DBSTAT_VTAB 1 >> $@
  1787   1977   	copy $@ + $(SQLITE3C) + $(TOP)\src\tclsqlite.c $@
  1788   1978   	echo static const char *tclsh_main_loop(void){ >> $@
  1789   1979   	echo static const char *zMainloop = >> $@
  1790   1980   	$(TCLSH_CMD) $(TOP)\tool\tostr.tcl $(TOP)\tool\spaceanal.tcl >> $@
  1791   1981   	echo ; return zMainloop; } >> $@
................................................................................
  1796   1986   
  1797   1987   testloadext.lo:	$(TOP)\src\test_loadext.c
  1798   1988   	$(LTCOMPILE) $(NO_WARN) -c $(TOP)\src\test_loadext.c
  1799   1989   
  1800   1990   testloadext.dll: testloadext.lo
  1801   1991   	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ testloadext.lo
  1802   1992   
  1803         -showdb.exe:	$(TOP)\tool\showdb.c $(SQLITE3C)
         1993  +showdb.exe:	$(TOP)\tool\showdb.c $(SQLITE3C) $(SQLITE3H)
  1804   1994   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1805   1995   		$(TOP)\tool\showdb.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1806   1996   
  1807         -showstat4.exe:	$(TOP)\tool\showstat4.c $(SQLITE3C)
         1997  +showstat4.exe:	$(TOP)\tool\showstat4.c $(SQLITE3C) $(SQLITE3H)
  1808   1998   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1809   1999   		$(TOP)\tool\showstat4.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1810   2000   
  1811         -showjournal.exe:	$(TOP)\tool\showjournal.c $(SQLITE3C)
         2001  +showjournal.exe:	$(TOP)\tool\showjournal.c $(SQLITE3C) $(SQLITE3H)
  1812   2002   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1813   2003   		$(TOP)\tool\showjournal.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1814   2004   
  1815         -showwal.exe:	$(TOP)\tool\showwal.c $(SQLITE3C)
         2005  +showwal.exe:	$(TOP)\tool\showwal.c $(SQLITE3C) $(SQLITE3H)
  1816   2006   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1817   2007   		$(TOP)\tool\showwal.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1818   2008   
  1819         -fts3view.exe:	$(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C)
         2009  +fts3view.exe:	$(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) $(SQLITE3H)
  1820   2010   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1821   2011   		$(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1822   2012   
  1823         -rollback-test.exe:	$(TOP)\tool\rollback-test.c $(SQLITE3C)
         2013  +rollback-test.exe:	$(TOP)\tool\rollback-test.c $(SQLITE3C) $(SQLITE3H)
  1824   2014   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1825   2015   		$(TOP)\tool\rollback-test.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1826   2016   
  1827         -LogEst.exe:	$(TOP)\tool\logest.c sqlite3.h
         2017  +LogEst.exe:	$(TOP)\tool\logest.c $(SQLITE3H)
  1828   2018   	$(LTLINK) $(NO_WARN) -Fe$@ $(TOP)\tool\LogEst.c /link $(LDFLAGS) $(LTLINKOPTS)
  1829   2019   
  1830         -wordcount.exe:	$(TOP)\test\wordcount.c $(SQLITE3C)
         2020  +wordcount.exe:	$(TOP)\test\wordcount.c $(SQLITE3C) $(SQLITE3H)
  1831   2021   	$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1832   2022   		$(TOP)\test\wordcount.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1833   2023   
  1834         -speedtest1.exe:	$(TOP)\test\speedtest1.c $(SQLITE3C)
         2024  +speedtest1.exe:	$(TOP)\test\speedtest1.c $(SQLITE3C) $(SQLITE3H)
  1835   2025   	$(LTLINK) $(NO_WARN) -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
  1836   2026   		$(TOP)\test\speedtest1.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
  1837   2027   
         2028  +rbu.exe: $(TOP)\ext\rbu\rbu.c $(TOP)\ext\rbu\sqlite3rbu.c $(SQLITE3C) $(SQLITE3H)
         2029  +	$(LTLINK) $(NO_WARN) -DSQLITE_ENABLE_RBU -Fe$@ \
         2030  +		$(TOP)\ext\rbu\rbu.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
         2031  +# <</mark>>
         2032  +
  1838   2033   clean:
  1839   2034   	del /Q *.exp *.lo *.ilk *.lib *.obj *.ncb *.pdb *.sdf *.suo 2>NUL
  1840         -	del /Q *.bsc *.cod *.da *.bb *.bbg gmon.out 2>NUL
  1841         -	del /Q sqlite3.h opcodes.c opcodes.h 2>NUL
         2035  +	del /Q *.bsc *.def *.cod *.da *.bb *.bbg *.vc gmon.out 2>NUL
         2036  +	del /Q $(SQLITE3EXE) $(SQLITE3DLL) 2>NUL
         2037  +# <<mark>>
         2038  +	del /Q $(SQLITE3C) $(SQLITE3H) opcodes.c opcodes.h 2>NUL
  1842   2039   	del /Q lemon.* lempar.c parse.* 2>NUL
  1843   2040   	del /Q mkkeywordhash.* keywordhash.h 2>NUL
  1844   2041   	del /Q notasharedlib.* 2>NUL
  1845   2042   	-rmdir /Q/S .deps 2>NUL
  1846   2043   	-rmdir /Q/S .libs 2>NUL
  1847   2044   	-rmdir /Q/S quota2a 2>NUL
  1848   2045   	-rmdir /Q/S quota2b 2>NUL
................................................................................
  1850   2047   	-rmdir /Q/S tsrc 2>NUL
  1851   2048   	del /Q .target_source 2>NUL
  1852   2049   	del /Q tclsqlite3.exe 2>NUL
  1853   2050   	del /Q testloadext.dll 2>NUL
  1854   2051   	del /Q testfixture.exe test.db 2>NUL
  1855   2052   	del /Q LogEst.exe fts3view.exe rollback-test.exe showdb.exe 2>NUL
  1856   2053   	del /Q showjournal.exe showstat4.exe showwal.exe speedtest1.exe 2>NUL
  1857         -	del /Q mptester.exe wordcount.exe 2>NUL
  1858         -	del /Q sqlite3.exe sqlite3.dll sqlite3.def 2>NUL
         2054  +	del /Q mptester.exe wordcount.exe rbu.exe srcck1.exe 2>NUL
  1859   2055   	del /Q sqlite3.c sqlite3-*.c 2>NUL
  1860   2056   	del /Q sqlite3rc.h 2>NUL
  1861   2057   	del /Q shell.c sqlite3ext.h 2>NUL
  1862   2058   	del /Q sqlite3_analyzer.exe sqlite3_analyzer.c 2>NUL
  1863   2059   	del /Q sqlite-*-output.vsix 2>NUL
  1864   2060   	del /Q fuzzershell.exe fuzzcheck.exe sqldiff.exe 2>NUL
  1865   2061   	del /Q fts5.* fts5parse.* 2>NUL
  1866         -
  1867         -# Dynamic link library section.
  1868         -#
  1869         -dll: sqlite3.dll
  1870         -
  1871         -sqlite3.def: libsqlite3.lib
  1872         -	echo EXPORTS > sqlite3.def
  1873         -	dumpbin /all libsqlite3.lib \
  1874         -		| $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3_.*)$$" \1 \
  1875         -		| sort >> sqlite3.def
  1876         -
  1877         -sqlite3.dll: $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
  1878         -	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
         2062  +# <</mark>>

Changes to VERSION.

     1         -3.10.0
            1  +3.12.0

Changes to autoconf/Makefile.am.

     2      2   AM_CFLAGS = @THREADSAFE_FLAGS@ @DYNAMIC_EXTENSION_FLAGS@ @FTS5_FLAGS@ @JSON1_FLAGS@ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE
     3      3   
     4      4   lib_LTLIBRARIES = libsqlite3.la
     5      5   libsqlite3_la_SOURCES = sqlite3.c
     6      6   libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8
     7      7   
     8      8   bin_PROGRAMS = sqlite3
     9         -sqlite3_SOURCES = shell.c sqlite3.h
    10         -EXTRA_sqlite3_SOURCES = sqlite3.c
    11         -sqlite3_LDADD = @EXTRA_SHELL_OBJ@ @READLINE_LIBS@
            9  +sqlite3_SOURCES = shell.c sqlite3.c sqlite3.h
           10  +sqlite3_LDADD = @READLINE_LIBS@
    12     11   sqlite3_DEPENDENCIES = @EXTRA_SHELL_OBJ@
    13         -sqlite3_CFLAGS = $(AM_CFLAGS)
           12  +sqlite3_CFLAGS = $(AM_CFLAGS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS
    14     13   
    15     14   include_HEADERS = sqlite3.h sqlite3ext.h
    16     15   
    17         -EXTRA_DIST = sqlite3.1 tea
           16  +EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc README.txt
    18     17   pkgconfigdir = ${libdir}/pkgconfig
    19     18   pkgconfig_DATA = sqlite3.pc
    20     19   
    21     20   man_MANS = sqlite3.1

Added autoconf/Makefile.msc.

            1  +#### DO NOT EDIT ####
            2  +# This makefile is automatically generated from the Makefile.msc at
            3  +# the root of the canonical SQLite source tree (not the
            4  +# amalgamation tarball) using the tool/mkmsvcmin.tcl
            5  +# script.
            6  +#
            7  +
            8  +#
            9  +# nmake Makefile for SQLite
           10  +#
           11  +###############################################################################
           12  +############################## START OF OPTIONS ###############################
           13  +###############################################################################
           14  +
           15  +# The toplevel directory of the source tree.  This is the directory
           16  +# that contains this "Makefile.msc".
           17  +#
           18  +TOP = .
           19  +
           20  +
           21  +# Set this non-0 to enable full warnings (-W4, etc) when compiling.
           22  +#
           23  +!IFNDEF USE_FULLWARN
           24  +USE_FULLWARN = 0
           25  +!ENDIF
           26  +
           27  +# Set this non-0 to use "stdcall" calling convention for the core library
           28  +# and shell executable.
           29  +#
           30  +!IFNDEF USE_STDCALL
           31  +USE_STDCALL = 0
           32  +!ENDIF
           33  +
           34  +# Set this non-0 to have the shell executable link against the core dynamic
           35  +# link library.
           36  +#
           37  +!IFNDEF DYNAMIC_SHELL
           38  +DYNAMIC_SHELL = 0
           39  +!ENDIF
           40  +
           41  +# Set this non-0 to enable extra code that attempts to detect misuse of the
           42  +# SQLite API.
           43  +#
           44  +!IFNDEF API_ARMOR
           45  +API_ARMOR = 0
           46  +!ENDIF
           47  +
           48  +# If necessary, create a list of harmless compiler warnings to disable when
           49  +# compiling the various tools.  For the SQLite source code itself, warnings,
           50  +# if any, will be disabled from within it.
           51  +#
           52  +!IFNDEF NO_WARN
           53  +!IF $(USE_FULLWARN)!=0
           54  +NO_WARN = -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -wd4206
           55  +NO_WARN = $(NO_WARN) -wd4210 -wd4232 -wd4305 -wd4306 -wd4702 -wd4706
           56  +!ENDIF
           57  +!ENDIF
           58  +
           59  +# Set this non-0 to use the library paths and other options necessary for
           60  +# Windows Phone 8.1.
           61  +#
           62  +!IFNDEF USE_WP81_OPTS
           63  +USE_WP81_OPTS = 0
           64  +!ENDIF
           65  +
           66  +# Set this non-0 to split the SQLite amalgamation file into chunks to
           67  +# be used for debugging with Visual Studio.
           68  +#
           69  +!IFNDEF SPLIT_AMALGAMATION
           70  +SPLIT_AMALGAMATION = 0
           71  +!ENDIF
           72  +
           73  +
           74  +# Set this non-0 to dynamically link to the MSVC runtime library.
           75  +#
           76  +!IFNDEF USE_CRT_DLL
           77  +USE_CRT_DLL = 0
           78  +!ENDIF
           79  +
           80  +# Set this non-0 to link to the RPCRT4 library.
           81  +#
           82  +!IFNDEF USE_RPCRT4_LIB
           83  +USE_RPCRT4_LIB = 0
           84  +!ENDIF
           85  +
           86  +# Set this non-0 to generate assembly code listings for the source code
           87  +# files.
           88  +#
           89  +!IFNDEF USE_LISTINGS
           90  +USE_LISTINGS = 0
           91  +!ENDIF
           92  +
           93  +# Set this non-0 to attempt setting the native compiler automatically
           94  +# for cross-compiling the command line tools needed during the compilation
           95  +# process.
           96  +#
           97  +!IFNDEF XCOMPILE
           98  +XCOMPILE = 0
           99  +!ENDIF
          100  +
          101  +# Set this non-0 to use the native libraries paths for cross-compiling
          102  +# the command line tools needed during the compilation process.
          103  +#
          104  +!IFNDEF USE_NATIVE_LIBPATHS
          105  +USE_NATIVE_LIBPATHS = 0
          106  +!ENDIF
          107  +
          108  +# Set this 0 to skip the compiling and embedding of version resources.
          109  +#
          110  +!IFNDEF USE_RC
          111  +USE_RC = 1
          112  +!ENDIF
          113  +
          114  +# Set this non-0 to compile binaries suitable for the WinRT environment.
          115  +# This setting does not apply to any binaries that require Tcl to operate
          116  +# properly (i.e. the text fixture, etc).
          117  +#
          118  +!IFNDEF FOR_WINRT
          119  +FOR_WINRT = 0
          120  +!ENDIF
          121  +
          122  +# Set this non-0 to compile binaries suitable for the UWP environment.
          123  +# This setting does not apply to any binaries that require Tcl to operate
          124  +# properly (i.e. the text fixture, etc).
          125  +#
          126  +!IFNDEF FOR_UWP
          127  +FOR_UWP = 0
          128  +!ENDIF
          129  +
          130  +# Set this non-0 to compile binaries suitable for the Windows 10 platform.
          131  +#
          132  +!IFNDEF FOR_WIN10
          133  +FOR_WIN10 = 0
          134  +!ENDIF
          135  +
          136  +
          137  +# Set this to non-0 to create and use PDBs.
          138  +#
          139  +!IFNDEF SYMBOLS
          140  +SYMBOLS = 1
          141  +!ENDIF
          142  +
          143  +# Set this to non-0 to use the SQLite debugging heap subsystem.
          144  +#
          145  +!IFNDEF MEMDEBUG
          146  +MEMDEBUG = 0
          147  +!ENDIF
          148  +
          149  +# Set this to non-0 to use the Win32 native heap subsystem.
          150  +#
          151  +!IFNDEF WIN32HEAP
          152  +WIN32HEAP = 0
          153  +!ENDIF
          154  +
          155  +# Set this to non-0 to enable OSTRACE() macros, which can be useful when
          156  +# debugging.
          157  +#
          158  +!IFNDEF OSTRACE
          159  +OSTRACE = 0
          160  +!ENDIF
          161  +
          162  +# Set this to one of the following values to enable various debugging
          163  +# features.  Each level includes the debugging options from the previous
          164  +# levels.  Currently, the recognized values for DEBUG are:
          165  +#
          166  +# 0 == NDEBUG: Disables assert() and other runtime diagnostics.
          167  +# 1 == SQLITE_ENABLE_API_ARMOR: extra attempts to detect misuse of the API.
          168  +# 2 == Disables NDEBUG and all optimizations and then enables PDBs.
          169  +# 3 == SQLITE_DEBUG: Enables various diagnostics messages and code.
          170  +# 4 == SQLITE_WIN32_MALLOC_VALIDATE: Validate the Win32 native heap per call.
          171  +# 5 == SQLITE_DEBUG_OS_TRACE: Enables output from the OSTRACE() macros.
          172  +# 6 == SQLITE_ENABLE_IOTRACE: Enables output from the IOTRACE() macros.
          173  +#
          174  +!IFNDEF DEBUG
          175  +DEBUG = 0
          176  +!ENDIF
          177  +
          178  +# Enable use of available compiler optimizations?  Normally, this should be
          179  +# non-zero.  Setting this to zero, thus disabling all compiler optimizations,
          180  +# can be useful for testing.
          181  +#
          182  +!IFNDEF OPTIMIZATIONS
          183  +OPTIMIZATIONS = 2
          184  +!ENDIF
          185  +
          186  +# Set the source code file to be used by executables and libraries when
          187  +# they need the amalgamation.
          188  +#
          189  +!IFNDEF SQLITE3C
          190  +!IF $(SPLIT_AMALGAMATION)!=0
          191  +SQLITE3C = sqlite3-all.c
          192  +!ELSE
          193  +SQLITE3C = sqlite3.c
          194  +!ENDIF
          195  +!ENDIF
          196  +
          197  +# Set the include code file to be used by executables and libraries when
          198  +# they need SQLite.
          199  +#
          200  +!IFNDEF SQLITE3H
          201  +SQLITE3H = sqlite3.h
          202  +!ENDIF
          203  +
          204  +# This is the name to use for the SQLite dynamic link library (DLL).
          205  +#
          206  +!IFNDEF SQLITE3DLL
          207  +!IF $(FOR_WIN10)!=0
          208  +SQLITE3DLL = winsqlite3.dll
          209  +!ELSE
          210  +SQLITE3DLL = sqlite3.dll
          211  +!ENDIF
          212  +!ENDIF
          213  +
          214  +# This is the name to use for the SQLite import library (LIB).
          215  +#
          216  +!IFNDEF SQLITE3LIB
          217  +!IF $(FOR_WIN10)!=0
          218  +SQLITE3LIB = winsqlite3.lib
          219  +!ELSE
          220  +SQLITE3LIB = sqlite3.lib
          221  +!ENDIF
          222  +!ENDIF
          223  +
          224  +# This is the name to use for the SQLite shell executable (EXE).
          225  +#
          226  +!IFNDEF SQLITE3EXE
          227  +!IF $(FOR_WIN10)!=0
          228  +SQLITE3EXE = winsqlite3shell.exe
          229  +!ELSE
          230  +SQLITE3EXE = sqlite3.exe
          231  +!ENDIF
          232  +!ENDIF
          233  +
          234  +# This is the argument used to set the program database (PDB) file for the
          235  +# SQLite shell executable (EXE).
          236  +#
          237  +!IFNDEF SQLITE3EXEPDB
          238  +!IF $(FOR_WIN10)!=0
          239  +SQLITE3EXEPDB =
          240  +!ELSE
          241  +SQLITE3EXEPDB = /pdb:sqlite3sh.pdb
          242  +!ENDIF
          243  +!ENDIF
          244  +
          245  +# These are the "standard" SQLite compilation options used when compiling for
          246  +# the Windows platform.
          247  +#
          248  +!IFNDEF OPT_FEATURE_FLAGS
          249  +OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS3=1
          250  +OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RTREE=1
          251  +OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1
          252  +!ENDIF
          253  +
          254  +# These are the "extended" SQLite compilation options used when compiling for
          255  +# the Windows 10 platform.
          256  +#
          257  +!IFNDEF EXT_FEATURE_FLAGS
          258  +!IF $(FOR_WIN10)!=0
          259  +EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS4=1
          260  +EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_SYSTEM_MALLOC=1
          261  +EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_OMIT_LOCALTIME=1
          262  +!ELSE
          263  +EXT_FEATURE_FLAGS =
          264  +!ENDIF
          265  +!ENDIF
          266  +
          267  +###############################################################################
          268  +############################### END OF OPTIONS ################################
          269  +###############################################################################
          270  +
          271  +# When compiling for the Windows 10 platform, the PLATFORM macro must be set
          272  +# to an appropriate value (e.g. x86, x64, arm, arm64, etc).
          273  +#
          274  +!IF $(FOR_WIN10)!=0
          275  +!IFNDEF PLATFORM
          276  +!ERROR Using the FOR_WIN10 option requires a value for PLATFORM.
          277  +!ENDIF
          278  +!ENDIF
          279  +
          280  +# This assumes that MSVC is always installed in 32-bit Program Files directory
          281  +# and sets the variable for use in locating other 32-bit installs accordingly.
          282  +#
          283  +PROGRAMFILES_X86 = $(VCINSTALLDIR)\..\..
          284  +PROGRAMFILES_X86 = $(PROGRAMFILES_X86:\\=\)
          285  +
          286  +# Check for the predefined command macro CC.  This should point to the compiler
          287  +# binary for the target platform.  If it is not defined, simply define it to
          288  +# the legacy default value 'cl.exe'.
          289  +#
          290  +!IFNDEF CC
          291  +CC = cl.exe
          292  +!ENDIF
          293  +
          294  +# Check for the command macro LD.  This should point to the linker binary for
          295  +# the target platform.  If it is not defined, simply define it to the legacy
          296  +# default value 'link.exe'.
          297  +#
          298  +!IFNDEF LD
          299  +LD = link.exe
          300  +!ENDIF
          301  +
          302  +# Check for the predefined command macro RC.  This should point to the resource
          303  +# compiler binary for the target platform.  If it is not defined, simply define
          304  +# it to the legacy default value 'rc.exe'.
          305  +#
          306  +!IFNDEF RC
          307  +RC = rc.exe
          308  +!ENDIF
          309  +
          310  +# Check for the MSVC runtime library path macro.  Otherwise, this value will
          311  +# default to the 'lib' directory underneath the MSVC installation directory.
          312  +#
          313  +!IFNDEF CRTLIBPATH
          314  +CRTLIBPATH = $(VCINSTALLDIR)\lib
          315  +!ENDIF
          316  +
          317  +CRTLIBPATH = $(CRTLIBPATH:\\=\)
          318  +
          319  +# Check for the command macro NCC.  This should point to the compiler binary
          320  +# for the platform the compilation process is taking place on.  If it is not
          321  +# defined, simply define it to have the same value as the CC macro.  When
          322  +# cross-compiling, it is suggested that this macro be modified via the command
          323  +# line (since nmake itself does not provide a built-in method to guess it).
          324  +# For example, to use the x86 compiler when cross-compiling for x64, a command
          325  +# line similar to the following could be used (all on one line):
          326  +#
          327  +#     nmake /f Makefile.msc sqlite3.dll
          328  +#           XCOMPILE=1 USE_NATIVE_LIBPATHS=1
          329  +#
          330  +# Alternatively, the full path and file name to the compiler binary for the
          331  +# platform the compilation process is taking place may be specified (all on
          332  +# one line):
          333  +#
          334  +#     nmake /f Makefile.msc sqlite3.dll
          335  +#           "NCC=""%VCINSTALLDIR%\bin\cl.exe"""
          336  +#           USE_NATIVE_LIBPATHS=1
          337  +#
          338  +!IFDEF NCC
          339  +NCC = $(NCC:\\=\)
          340  +!ELSEIF $(XCOMPILE)!=0
          341  +NCC = "$(VCINSTALLDIR)\bin\$(CC)"
          342  +NCC = $(NCC:\\=\)
          343  +!ELSE
          344  +NCC = $(CC)
          345  +!ENDIF
          346  +
          347  +# Check for the MSVC native runtime library path macro.  Otherwise,
          348  +# this value will default to the 'lib' directory underneath the MSVC
          349  +# installation directory.
          350  +#
          351  +!IFNDEF NCRTLIBPATH
          352  +NCRTLIBPATH = $(VCINSTALLDIR)\lib
          353  +!ENDIF
          354  +
          355  +NCRTLIBPATH = $(NCRTLIBPATH:\\=\)
          356  +
          357  +# Check for the Platform SDK library path macro.  Otherwise, this
          358  +# value will default to the 'lib' directory underneath the Windows
          359  +# SDK installation directory (the environment variable used appears
          360  +# to be available when using Visual C++ 2008 or later via the
          361  +# command line).
          362  +#
          363  +!IFNDEF NSDKLIBPATH
          364  +NSDKLIBPATH = $(WINDOWSSDKDIR)\lib
          365  +!ENDIF
          366  +
          367  +NSDKLIBPATH = $(NSDKLIBPATH:\\=\)
          368  +
          369  +# Check for the UCRT library path macro.  Otherwise, this value will
          370  +# default to the version-specific, platform-specific 'lib' directory
          371  +# underneath the Windows SDK installation directory.
          372  +#
          373  +!IFNDEF UCRTLIBPATH
          374  +UCRTLIBPATH = $(WINDOWSSDKDIR)\lib\$(WINDOWSSDKLIBVERSION)\ucrt\$(PLATFORM)
          375  +!ENDIF
          376  +
          377  +UCRTLIBPATH = $(UCRTLIBPATH:\\=\)
          378  +
          379  +# C compiler and options for use in building executables that
          380  +# will run on the platform that is doing the build.
          381  +#
          382  +!IF $(USE_FULLWARN)!=0
          383  +BCC = $(NCC) -nologo -W4 $(CCOPTS) $(BCCOPTS)
          384  +!ELSE
          385  +BCC = $(NCC) -nologo -W3 $(CCOPTS) $(BCCOPTS)
          386  +!ENDIF
          387  +
          388  +# Check if assembly code listings should be generated for the source
          389  +# code files to be compiled.
          390  +#
          391  +!IF $(USE_LISTINGS)!=0
          392  +BCC = $(BCC) -FAcs
          393  +!ENDIF
          394  +
          395  +# Check if the native library paths should be used when compiling
          396  +# the command line tools used during the compilation process.  If
          397  +# so, set the necessary macro now.
          398  +#
          399  +!IF $(USE_NATIVE_LIBPATHS)!=0
          400  +NLTLIBPATHS = "/LIBPATH:$(NCRTLIBPATH)" "/LIBPATH:$(NSDKLIBPATH)"
          401  +
          402  +!IFDEF NUCRTLIBPATH
          403  +NUCRTLIBPATH = $(NUCRTLIBPATH:\\=\)
          404  +NLTLIBPATHS = $(NLTLIBPATHS) "/LIBPATH:$(NUCRTLIBPATH)"
          405  +!ENDIF
          406  +!ENDIF
          407  +
          408  +# C compiler and options for use in building executables that
          409  +# will run on the target platform.  (BCC and TCC are usually the
          410  +# same unless your are cross-compiling.)
          411  +#
          412  +!IF $(USE_FULLWARN)!=0
          413  +TCC = $(CC) -nologo -W4 -DINCLUDE_MSVC_H=1 $(CCOPTS) $(TCCOPTS)
          414  +!ELSE
          415  +TCC = $(CC) -nologo -W3 $(CCOPTS) $(TCCOPTS)
          416  +!ENDIF
          417  +
          418  +TCC = $(TCC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -fp:precise
          419  +RCC = $(RC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) $(RCOPTS) $(RCCOPTS)
          420  +
          421  +# Check if we want to use the "stdcall" calling convention when compiling.
          422  +# This is not supported by the compilers for non-x86 platforms.  It should
          423  +# also be noted here that building any target with these "stdcall" options
          424  +# will most likely fail if the Tcl library is also required.  This is due
          425  +# to how the Tcl library functions are declared and exported (i.e. without
          426  +# an explicit calling convention, which results in "cdecl").
          427  +#
          428  +!IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
          429  +!IF "$(PLATFORM)"=="x86"
          430  +CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
          431  +SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
          432  +!ELSE
          433  +!IFNDEF PLATFORM
          434  +CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
          435  +SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_STDCALL=__stdcall
          436  +!ELSE
          437  +CORE_CCONV_OPTS =
          438  +SHELL_CCONV_OPTS =
          439  +!ENDIF
          440  +!ENDIF
          441  +!ELSE
          442  +CORE_CCONV_OPTS =
          443  +SHELL_CCONV_OPTS =
          444  +!ENDIF
          445  +
          446  +# These are additional compiler options used for the core library.
          447  +#
          448  +!IFNDEF CORE_COMPILE_OPTS
          449  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          450  +CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS) -DSQLITE_API=__declspec(dllexport)
          451  +!ELSE
          452  +CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS)
          453  +!ENDIF
          454  +!ENDIF
          455  +
          456  +# These are the additional targets that the core library should depend on
          457  +# when linking.
          458  +#
          459  +!IFNDEF CORE_LINK_DEP
          460  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          461  +CORE_LINK_DEP =
          462  +!ELSE
          463  +CORE_LINK_DEP =
          464  +!ENDIF
          465  +!ENDIF
          466  +
          467  +# These are additional linker options used for the core library.
          468  +#
          469  +!IFNDEF CORE_LINK_OPTS
          470  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          471  +CORE_LINK_OPTS =
          472  +!ELSE
          473  +CORE_LINK_OPTS =
          474  +!ENDIF
          475  +!ENDIF
          476  +
          477  +# These are additional compiler options used for the shell executable.
          478  +#
          479  +!IFNDEF SHELL_COMPILE_OPTS
          480  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          481  +SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport)
          482  +!ELSE
          483  +SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS)
          484  +!ENDIF
          485  +!ENDIF
          486  +
          487  +# This is the source code that the shell executable should be compiled
          488  +# with.
          489  +#
          490  +!IFNDEF SHELL_CORE_SRC
          491  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          492  +SHELL_CORE_SRC =
          493  +!ELSE
          494  +SHELL_CORE_SRC = $(SQLITE3C)
          495  +!ENDIF
          496  +!ENDIF
          497  +
          498  +# This is the core library that the shell executable should depend on.
          499  +#
          500  +!IFNDEF SHELL_CORE_DEP
          501  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          502  +SHELL_CORE_DEP = $(SQLITE3DLL)
          503  +!ELSE
          504  +SHELL_CORE_DEP =
          505  +!ENDIF
          506  +!ENDIF
          507  +
          508  +# This is the core library that the shell executable should link with.
          509  +#
          510  +!IFNDEF SHELL_CORE_LIB
          511  +!IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
          512  +SHELL_CORE_LIB = $(SQLITE3LIB)
          513  +!ELSE
          514  +SHELL_CORE_LIB =
          515  +!ENDIF
          516  +!ENDIF
          517  +
          518  +# These are additional linker options used for the shell executable.
          519  +#
          520  +!IFNDEF SHELL_LINK_OPTS
          521  +SHELL_LINK_OPTS = $(SHELL_CORE_LIB)
          522  +!ENDIF
          523  +
          524  +# Check if assembly code listings should be generated for the source
          525  +# code files to be compiled.
          526  +#
          527  +!IF $(USE_LISTINGS)!=0
          528  +TCC = $(TCC) -FAcs
          529  +!ENDIF
          530  +
          531  +# When compiling the library for use in the WinRT environment,
          532  +# the following compile-time options must be used as well to
          533  +# disable use of Win32 APIs that are not available and to enable
          534  +# use of Win32 APIs that are specific to Windows 8 and/or WinRT.
          535  +#
          536  +!IF $(FOR_WINRT)!=0
          537  +TCC = $(TCC) -DSQLITE_OS_WINRT=1
          538  +RCC = $(RCC) -DSQLITE_OS_WINRT=1
          539  +TCC = $(TCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
          540  +RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
          541  +!ENDIF
          542  +
          543  +# C compiler options for the Windows 10 platform (needs MSVC 2015).
          544  +#
          545  +!IF $(FOR_WIN10)!=0
          546  +TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
          547  +BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
          548  +!ENDIF
          549  +
          550  +# Also, we need to dynamically link to the correct MSVC runtime
          551  +# when compiling for WinRT (e.g. debug or release) OR if the
          552  +# USE_CRT_DLL option is set to force dynamically linking to the
          553  +# MSVC runtime library.
          554  +#
          555  +!IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0
          556  +!IF $(DEBUG)>1
          557  +TCC = $(TCC) -MDd
          558  +BCC = $(BCC) -MDd
          559  +!ELSE
          560  +TCC = $(TCC) -MD
          561  +BCC = $(BCC) -MD
          562  +!ENDIF
          563  +!ELSE
          564  +!IF $(DEBUG)>1
          565  +TCC = $(TCC) -MTd
          566  +BCC = $(BCC) -MTd
          567  +!ELSE
          568  +TCC = $(TCC) -MT
          569  +BCC = $(BCC) -MT
          570  +!ENDIF
          571  +!ENDIF
          572  +
          573  +
          574  +# Define -DNDEBUG to compile without debugging (i.e., for production usage)
          575  +# Omitting the define will cause extra debugging code to be inserted and
          576  +# includes extra comments when "EXPLAIN stmt" is used.
          577  +#
          578  +!IF $(DEBUG)==0
          579  +TCC = $(TCC) -DNDEBUG
          580  +BCC = $(BCC) -DNDEBUG
          581  +RCC = $(RCC) -DNDEBUG
          582  +!ENDIF
          583  +
          584  +!IF $(DEBUG)>0 || $(API_ARMOR)!=0 || $(FOR_WIN10)!=0
          585  +TCC = $(TCC) -DSQLITE_ENABLE_API_ARMOR=1
          586  +RCC = $(RCC) -DSQLITE_ENABLE_API_ARMOR=1
          587  +!ENDIF
          588  +
          589  +!IF $(DEBUG)>2
          590  +TCC = $(TCC) -DSQLITE_DEBUG=1
          591  +RCC = $(RCC) -DSQLITE_DEBUG=1
          592  +!ENDIF
          593  +
          594  +!IF $(DEBUG)>4 || $(OSTRACE)!=0
          595  +TCC = $(TCC) -DSQLITE_FORCE_OS_TRACE=1 -DSQLITE_DEBUG_OS_TRACE=1
          596  +RCC = $(RCC) -DSQLITE_FORCE_OS_TRACE=1 -DSQLITE_DEBUG_OS_TRACE=1
          597  +!ENDIF
          598  +
          599  +!IF $(DEBUG)>5
          600  +TCC = $(TCC) -DSQLITE_ENABLE_IOTRACE=1
          601  +RCC = $(RCC) -DSQLITE_ENABLE_IOTRACE=1
          602  +!ENDIF
          603  +
          604  +# Prevent warnings about "insecure" MSVC runtime library functions
          605  +# being used.
          606  +#
          607  +TCC = $(TCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
          608  +BCC = $(BCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
          609  +RCC = $(RCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
          610  +
          611  +# Prevent warnings about "deprecated" POSIX functions being used.
          612  +#
          613  +TCC = $(TCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
          614  +BCC = $(BCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
          615  +RCC = $(RCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
          616  +
          617  +# Use the SQLite debugging heap subsystem?
          618  +#
          619  +!IF $(MEMDEBUG)!=0
          620  +TCC = $(TCC) -DSQLITE_MEMDEBUG=1
          621  +RCC = $(RCC) -DSQLITE_MEMDEBUG=1
          622  +
          623  +# Use native Win32 heap subsystem instead of malloc/free?
          624  +#
          625  +!ELSEIF $(WIN32HEAP)!=0
          626  +TCC = $(TCC) -DSQLITE_WIN32_MALLOC=1
          627  +RCC = $(RCC) -DSQLITE_WIN32_MALLOC=1
          628  +
          629  +# Validate the heap on every call into the native Win32 heap subsystem?
          630  +#
          631  +!IF $(DEBUG)>3
          632  +TCC = $(TCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
          633  +RCC = $(RCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
          634  +!ENDIF
          635  +!ENDIF
          636  +
          637  +
          638  +# Compiler options needed for programs that use the readline() library.
          639  +#
          640  +!IFNDEF READLINE_FLAGS
          641  +READLINE_FLAGS = -DHAVE_READLINE=0
          642  +!ENDIF
          643  +
          644  +# The library that programs using readline() must link against.
          645  +#
          646  +!IFNDEF LIBREADLINE
          647  +LIBREADLINE =
          648  +!ENDIF
          649  +
          650  +# Should the database engine be compiled threadsafe
          651  +#
          652  +TCC = $(TCC) -DSQLITE_THREADSAFE=1
          653  +RCC = $(RCC) -DSQLITE_THREADSAFE=1
          654  +
          655  +# Do threads override each others locks by default (1), or do we test (-1)
          656  +#
          657  +TCC = $(TCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1
          658  +RCC = $(RCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1
          659  +
          660  +# Any target libraries which libsqlite must be linked against
          661  +#
          662  +!IFNDEF TLIBS
          663  +TLIBS =
          664  +!ENDIF
          665  +
          666  +# Flags controlling use of the in memory btree implementation
          667  +#
          668  +# SQLITE_TEMP_STORE is 0 to force temporary tables to be in a file, 1 to
          669  +# default to file, 2 to default to memory, and 3 to force temporary
          670  +# tables to always be in memory.
          671  +#
          672  +TCC = $(TCC) -DSQLITE_TEMP_STORE=1
          673  +RCC = $(RCC) -DSQLITE_TEMP_STORE=1
          674  +
          675  +# Enable/disable loadable extensions, and other optional features
          676  +# based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*).
          677  +# The same set of OMIT and ENABLE flags should be passed to the
          678  +# LEMON parser generator and the mkkeywordhash tool as well.
          679  +
          680  +# These are the required SQLite compilation options used when compiling for
          681  +# the Windows platform.
          682  +#
          683  +REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_MAX_TRIGGER_DEPTH=100
          684  +
          685  +# If we are linking to the RPCRT4 library, enable features that need it.
          686  +#
          687  +!IF $(USE_RPCRT4_LIB)!=0
          688  +REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_WIN32_USE_UUID=1
          689  +!ENDIF
          690  +
          691  +# Add the required and optional SQLite compilation options into the command
          692  +# lines used to invoke the MSVC code and resource compilers.
          693  +#
          694  +TCC = $(TCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS)
          695  +RCC = $(RCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS)
          696  +
          697  +# Add in any optional parameters specified on the commane line, e.g.
          698  +# nmake /f Makefile.msc all "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1"
          699  +#
          700  +TCC = $(TCC) $(OPTS)
          701  +RCC = $(RCC) $(OPTS)
          702  +
          703  +# If compiling for debugging, add some defines.
          704  +#
          705  +!IF $(DEBUG)>1
          706  +TCC = $(TCC) -D_DEBUG
          707  +BCC = $(BCC) -D_DEBUG
          708  +RCC = $(RCC) -D_DEBUG
          709  +!ENDIF
          710  +
          711  +# If optimizations are enabled or disabled (either implicitly or
          712  +# explicitly), add the necessary flags.
          713  +#
          714  +!IF $(DEBUG)>1 || $(OPTIMIZATIONS)==0
          715  +TCC = $(TCC) -Od
          716  +BCC = $(BCC) -Od
          717  +!ELSEIF $(OPTIMIZATIONS)>=3
          718  +TCC = $(TCC) -Ox
          719  +BCC = $(BCC) -Ox
          720  +!ELSEIF $(OPTIMIZATIONS)==2
          721  +TCC = $(TCC) -O2
          722  +BCC = $(BCC) -O2
          723  +!ELSEIF $(OPTIMIZATIONS)==1
          724  +TCC = $(TCC) -O1
          725  +BCC = $(BCC) -O1
          726  +!ENDIF
          727  +
          728  +# If symbols are enabled (or compiling for debugging), enable PDBs.
          729  +#
          730  +!IF $(DEBUG)>1 || $(SYMBOLS)!=0
          731  +TCC = $(TCC) -Zi
          732  +BCC = $(BCC) -Zi
          733  +!ENDIF
          734  +
          735  +
          736  +# Command line prefixes for compiling code, compiling resources,
          737  +# linking, etc.
          738  +#
          739  +LTCOMPILE = $(TCC) -Fo$@
          740  +LTRCOMPILE = $(RCC) -r
          741  +LTLIB = lib.exe
          742  +LTLINK = $(TCC) -Fe$@
          743  +
          744  +# If requested, link to the RPCRT4 library.
          745  +#
          746  +!IF $(USE_RPCRT4_LIB)!=0
          747  +LTLINK = $(LTLINK) rpcrt4.lib
          748  +!ENDIF
          749  +
          750  +# If a platform was set, force the linker to target that.
          751  +# Note that the vcvars*.bat family of batch files typically
          752  +# set this for you.  Otherwise, the linker will attempt
          753  +# to deduce the binary type based on the object files.
          754  +!IFDEF PLATFORM
          755  +LTLINKOPTS = /NOLOGO /MACHINE:$(PLATFORM)
          756  +LTLIBOPTS = /NOLOGO /MACHINE:$(PLATFORM)
          757  +!ELSE
          758  +LTLINKOPTS = /NOLOGO
          759  +LTLIBOPTS = /NOLOGO
          760  +!ENDIF
          761  +
          762  +# When compiling for use in the WinRT environment, the following
          763  +# linker option must be used to mark the executable as runnable
          764  +# only in the context of an application container.
          765  +#
          766  +!IF $(FOR_WINRT)!=0
          767  +LTLINKOPTS = $(LTLINKOPTS) /APPCONTAINER
          768  +!IF "$(VISUALSTUDIOVERSION)"=="12.0" || "$(VISUALSTUDIOVERSION)"=="14.0"
          769  +!IFNDEF STORELIBPATH
          770  +!IF "$(PLATFORM)"=="x86"
          771  +STORELIBPATH = $(CRTLIBPATH)\store
          772  +!ELSEIF "$(PLATFORM)"=="x64"
          773  +STORELIBPATH = $(CRTLIBPATH)\store\amd64
          774  +!ELSEIF "$(PLATFORM)"=="ARM"
          775  +STORELIBPATH = $(CRTLIBPATH)\store\arm
          776  +!ELSE
          777  +STORELIBPATH = $(CRTLIBPATH)\store
          778  +!ENDIF
          779  +!ENDIF
          780  +STORELIBPATH = $(STORELIBPATH:\\=\)
          781  +LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(STORELIBPATH)"
          782  +!ENDIF
          783  +!ENDIF
          784  +
          785  +# When compiling for Windows Phone 8.1, an extra library path is
          786  +# required.
          787  +#
          788  +!IF $(USE_WP81_OPTS)!=0
          789  +!IFNDEF WP81LIBPATH
          790  +!IF "$(PLATFORM)"=="x86"
          791  +WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\x86
          792  +!ELSEIF "$(PLATFORM)"=="ARM"
          793  +WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\ARM
          794  +!ELSE
          795  +WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\x86
          796  +!ENDIF
          797  +!ENDIF
          798  +!ENDIF
          799  +
          800  +# When compiling for Windows Phone 8.1, some extra linker options
          801  +# are also required.
          802  +#
          803  +!IF $(USE_WP81_OPTS)!=0
          804  +!IFDEF WP81LIBPATH
          805  +LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)"
          806  +!ENDIF
          807  +LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE
          808  +LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib
          809  +LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib
          810  +!ENDIF
          811  +
          812  +# When compiling for UWP or the Windows 10 platform, some extra linker
          813  +# options are also required.
          814  +#
          815  +!IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0
          816  +LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib
          817  +LTLINKOPTS = $(LTLINKOPTS) mincore.lib
          818  +!IFDEF PSDKLIBPATH
          819  +LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)"
          820  +!ENDIF
          821  +!ENDIF
          822  +
          823  +!IF $(FOR_WIN10)!=0
          824  +LTLINKOPTS = $(LTLINKOPTS) /guard:cf "/LIBPATH:$(UCRTLIBPATH)"
          825  +!IF $(DEBUG)>1
          826  +LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrtd.lib /DEFAULTLIB:ucrtd.lib
          827  +!ELSE
          828  +LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib
          829  +!ENDIF
          830  +!ENDIF
          831  +
          832  +# If either debugging or symbols are enabled, enable PDBs.
          833  +#
          834  +!IF $(DEBUG)>1 || $(SYMBOLS)!=0
          835  +LDFLAGS = /DEBUG $(LDOPTS)
          836  +!ELSE
          837  +LDFLAGS = $(LDOPTS)
          838  +!ENDIF
          839  +
          840  +
          841  +# You should not have to change anything below this line
          842  +###############################################################################
          843  +
          844  +
          845  +# Object files for the amalgamation.
          846  +#
          847  +LIBOBJS1 = sqlite3.lo
          848  +
          849  +# Determine the real value of LIBOBJ based on the 'configure' script
          850  +#
          851  +LIBOBJ = $(LIBOBJS1)
          852  +
          853  +# Determine if embedded resource compilation and usage are enabled.
          854  +#
          855  +!IF $(USE_RC)!=0
          856  +LIBRESOBJS = sqlite3res.lo
          857  +!ELSE
          858  +LIBRESOBJS =
          859  +!ENDIF
          860  +
          861  +
          862  +# Additional compiler options for the shell.  These are only effective
          863  +# when the shell is not being dynamically linked.
          864  +#
          865  +!IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0
          866  +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS
          867  +!ENDIF
          868  +
          869  +
          870  +# This is the default Makefile target.  The objects listed here
          871  +# are what get build when you type just "make" with no arguments.
          872  +#
          873  +all:	dll shell
          874  +
          875  +# Dynamic link library section.
          876  +#
          877  +dll: $(SQLITE3DLL)
          878  +
          879  +# Shell executable.
          880  +#
          881  +shell: $(SQLITE3EXE)
          882  +
          883  +
          884  +$(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
          885  +	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
          886  +
          887  +
          888  +$(SQLITE3EXE):	$(TOP)\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLITE3H)
          889  +	$(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) $(TOP)\shell.c $(SHELL_CORE_SRC) \
          890  +		/link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
          891  +
          892  +
          893  +# Rule to build the amalgamation
          894  +#
          895  +sqlite3.lo:	$(SQLITE3C)
          896  +	$(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(SQLITE3C)
          897  +
          898  +
          899  +# Rule to build the Win32 resources object file.
          900  +#
          901  +!IF $(USE_RC)!=0
          902  +_HASHCHAR=^#
          903  +!IF ![echo !IFNDEF VERSION > rcver.vc] && \
          904  +    ![for /F "delims=" %V in ('type "$(SQLITE3H)" ^| find "$(_HASHCHAR)define SQLITE_VERSION "') do (echo VERSION = ^^%V >> rcver.vc)] && \
          905  +    ![echo !ENDIF >> rcver.vc]
          906  +!INCLUDE rcver.vc
          907  +!ENDIF
          908  +
          909  +RESOURCE_VERSION = $(VERSION:^#=)
          910  +RESOURCE_VERSION = $(RESOURCE_VERSION:define=)
          911  +RESOURCE_VERSION = $(RESOURCE_VERSION:SQLITE_VERSION=)
          912  +RESOURCE_VERSION = $(RESOURCE_VERSION:"=)
          913  +RESOURCE_VERSION = $(RESOURCE_VERSION:.=,)
          914  +
          915  +$(LIBRESOBJS):	$(TOP)\sqlite3.rc rcver.vc $(SQLITE3H)
          916  +	echo #ifndef SQLITE_RESOURCE_VERSION > sqlite3rc.h
          917  +	echo #define SQLITE_RESOURCE_VERSION $(RESOURCE_VERSION) >> sqlite3rc.h
          918  +	echo #endif >> sqlite3rc.h
          919  +	$(LTRCOMPILE) -fo $(LIBRESOBJS) -DRC_VERONLY $(TOP)\sqlite3.rc
          920  +!ENDIF
          921  +
          922  +
          923  +clean:
          924  +	del /Q *.exp *.lo *.ilk *.lib *.obj *.ncb *.pdb *.sdf *.suo 2>NUL
          925  +	del /Q *.bsc *.def *.cod *.da *.bb *.bbg *.vc gmon.out 2>NUL
          926  +	del /Q $(SQLITE3EXE) $(SQLITE3DLL) 2>NUL

Name change from autoconf/README to autoconf/README.txt.

     1         -
     2      1   This package contains:
     3      2   
     4         - * the SQLite library amalgamation (single file) source code distribution,
     5         - * the shell.c file used to build the sqlite3 shell too, and
     6         - * the sqlite3.h and sqlite3ext.h header files required to link programs
     7         -   and sqlite extensions against the installed libary.
     8         - * autoconf/automake installation infrastucture.
            3  + * the SQLite library amalgamation source code file: sqlite3.c
            4  + * the sqlite3.h and sqlite3ext.h header files that define the C-language
            5  +   interface to the sqlite3.c library file
            6  + * the shell.c file used to build the sqlite3 command-line shell program
            7  + * autoconf/automake installation infrastucture for building on POSIX
            8  +   compliant systems
            9  + * a Makefile.msc and sqlite3.rc for building with Microsoft Visual C++ on
           10  +   Windows
           11  +
           12  +SUMMARY OF HOW TO BUILD
           13  +=======================
           14  +
           15  +  Unix:      ./configure; make
           16  +  Windows:   nmake /f Makefile.msc
           17  +
           18  +BUILDING ON POSIX
           19  +=================
     9     20   
    10     21   The generic installation instructions for autoconf/automake are found
    11     22   in the INSTALL file.
    12     23   
    13     24   The following SQLite specific boolean options are supported:
    14     25   
    15     26     --enable-readline           use readline in shell tool   [default=yes]
    16     27     --enable-threadsafe         build a thread-safe library  [default=yes]
    17     28     --enable-dynamic-extensions support loadable extensions  [default=yes]
    18     29   
    19         -The default value for the CFLAGS variable (options passed to the C 
           30  +The default value for the CFLAGS variable (options passed to the C
    20     31   compiler) includes debugging symbols in the build, resulting in larger
    21     32   binaries than are necessary. Override it on the configure command
    22     33   line like this:
    23     34   
    24     35     $ CFLAGS="-Os" ./configure
    25     36   
    26     37   to produce a smaller installation footprint.
    27     38   
    28     39   Other SQLite compilation parameters can also be set using CFLAGS. For
    29     40   example:
    30     41   
    31         -  $ CFLAGS="-Os -DSQLITE_OMIT_TRIGGERS" ./configure
           42  +  $ CFLAGS="-Os -DSQLITE_THREADSAFE=0" ./configure
           43  +
           44  +
           45  +BUILDING WITH MICROSOFT VISUAL C++
           46  +==================================
           47  +
           48  +To compile for Windows using Microsoft Visual C++:
           49  +
           50  +  $ nmake /f Makefile.msc
           51  +
           52  +Using Microsoft Visual C++ 2005 (or later) is recommended.  Several Windows
           53  +platform variants may be built by adding additional macros to the NMAKE
           54  +command line.
           55  +
           56  +Building for WinRT 8.0
           57  +----------------------
           58  +
           59  +  FOR_WINRT=1
           60  +
           61  +Using Microsoft Visual C++ 2012 (or later) is required.  When using the
           62  +above, something like the following macro will need to be added to the
           63  +NMAKE command line as well:
           64  +
           65  +  "NSDKLIBPATH=%WindowsSdkDir%\..\8.0\lib\win8\um\x86"
           66  +
           67  +Building for WinRT 8.1
           68  +----------------------
           69  +
           70  +  FOR_WINRT=1
           71  +
           72  +Using Microsoft Visual C++ 2013 (or later) is required.  When using the
           73  +above, something like the following macro will need to be added to the
           74  +NMAKE command line as well:
           75  +
           76  +  "NSDKLIBPATH=%WindowsSdkDir%\..\8.1\lib\winv6.3\um\x86"
           77  +
           78  +Building for UWP 10.0
           79  +---------------------
           80  +
           81  +  FOR_WINRT=1 FOR_UWP=1
           82  +
           83  +Using Microsoft Visual C++ 2015 (or later) is required.  When using the
           84  +above, something like the following macros will need to be added to the
           85  +NMAKE command line as well:
           86  +
           87  +  "NSDKLIBPATH=%WindowsSdkDir%\..\10\lib\10.0.10586.0\um\x86"
           88  +  "PSDKLIBPATH=%WindowsSdkDir%\..\10\lib\10.0.10586.0\um\x86"
           89  +  "NUCRTLIBPATH=%UniversalCRTSdkDir%\..\10\lib\10.0.10586.0\ucrt\x86"
           90  +
           91  +Building for the Windows 10 SDK
           92  +-------------------------------
           93  +
           94  +  FOR_WIN10=1
           95  +
           96  +Using Microsoft Visual C++ 2015 (or later) is required.  When using the
           97  +above, no other macros should be needed on the NMAKE command line.
           98  +
           99  +Other preprocessor defines
          100  +--------------------------
          101  +
          102  +Additionally, preprocessor defines may be specified by using the OPTS macro
          103  +on the NMAKE command line.  However, not all possible preprocessor defines
          104  +may be specified in this manner as some require the amalgamation to be built
          105  +with them enabled (see http://www.sqlite.org/compile.html). For example, the
          106  +following will work:
          107  +
          108  +  "OPTS=-DSQLITE_ENABLE_STAT4=1 -DSQLITE_ENABLE_JSON1=1"
          109  +
          110  +However, the following will not compile unless the amalgamation was built
          111  +with it enabled:
    32    112   
          113  +  "OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"

Deleted autoconf/config.guess.

     1         -#! /bin/sh
     2         -# Attempt to guess a canonical system name.
     3         -#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
     4         -#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
     5         -#   2011, 2012 Free Software Foundation, Inc.
     6         -
     7         -timestamp='2012-02-10'
     8         -
     9         -# This file is free software; you can redistribute it and/or modify it
    10         -# under the terms of the GNU General Public License as published by
    11         -# the Free Software Foundation; either version 2 of the License, or
    12         -# (at your option) any later version.
    13         -#
    14         -# This program is distributed in the hope that it will be useful, but
    15         -# WITHOUT ANY WARRANTY; without even the implied warranty of
    16         -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    17         -# General Public License for more details.
    18         -#
    19         -# You should have received a copy of the GNU General Public License
    20         -# along with this program; if not, see <http://www.gnu.org/licenses/>.
    21         -#
    22         -# As a special exception to the GNU General Public License, if you
    23         -# distribute this file as part of a program that contains a
    24         -# configuration script generated by Autoconf, you may include it under
    25         -# the same distribution terms that you use for the rest of that program.
    26         -
    27         -
    28         -# Originally written by Per Bothner.  Please send patches (context
    29         -# diff format) to <config-patches@gnu.org> and include a ChangeLog
    30         -# entry.
    31         -#
    32         -# This script attempts to guess a canonical system name similar to
    33         -# config.sub.  If it succeeds, it prints the system name on stdout, and
    34         -# exits with 0.  Otherwise, it exits with 1.
    35         -#
    36         -# You can get the latest version of this script from:
    37         -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
    38         -
    39         -me=`echo "$0" | sed -e 's,.*/,,'`
    40         -
    41         -usage="\
    42         -Usage: $0 [OPTION]
    43         -
    44         -Output the configuration name of the system \`$me' is run on.
    45         -
    46         -Operation modes:
    47         -  -h, --help         print this help, then exit
    48         -  -t, --time-stamp   print date of last modification, then exit
    49         -  -v, --version      print version number, then exit
    50         -
    51         -Report bugs and patches to <config-patches@gnu.org>."
    52         -
    53         -version="\
    54         -GNU config.guess ($timestamp)
    55         -
    56         -Originally written by Per Bothner.
    57         -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
    58         -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
    59         -Free Software Foundation, Inc.
    60         -
    61         -This is free software; see the source for copying conditions.  There is NO
    62         -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
    63         -
    64         -help="
    65         -Try \`$me --help' for more information."
    66         -
    67         -# Parse command line
    68         -while test $# -gt 0 ; do
    69         -  case $1 in
    70         -    --time-stamp | --time* | -t )
    71         -       echo "$timestamp" ; exit ;;
    72         -    --version | -v )
    73         -       echo "$version" ; exit ;;
    74         -    --help | --h* | -h )
    75         -       echo "$usage"; exit ;;
    76         -    -- )     # Stop option processing
    77         -       shift; break ;;
    78         -    - )	# Use stdin as input.
    79         -       break ;;
    80         -    -* )
    81         -       echo "$me: invalid option $1$help" >&2
    82         -       exit 1 ;;
    83         -    * )
    84         -       break ;;
    85         -  esac
    86         -done
    87         -
    88         -if test $# != 0; then
    89         -  echo "$me: too many arguments$help" >&2
    90         -  exit 1
    91         -fi
    92         -
    93         -trap 'exit 1' 1 2 15
    94         -
    95         -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
    96         -# compiler to aid in system detection is discouraged as it requires
    97         -# temporary files to be created and, as you can see below, it is a
    98         -# headache to deal with in a portable fashion.
    99         -
   100         -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
   101         -# use `HOST_CC' if defined, but it is deprecated.
   102         -
   103         -# Portable tmp directory creation inspired by the Autoconf team.
   104         -
   105         -set_cc_for_build='
   106         -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
   107         -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
   108         -: ${TMPDIR=/tmp} ;
   109         - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
   110         - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
   111         - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
   112         - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
   113         -dummy=$tmp/dummy ;
   114         -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
   115         -case $CC_FOR_BUILD,$HOST_CC,$CC in
   116         - ,,)    echo "int x;" > $dummy.c ;
   117         -	for c in cc gcc c89 c99 ; do
   118         -	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
   119         -	     CC_FOR_BUILD="$c"; break ;
   120         -	  fi ;
   121         -	done ;
   122         -	if test x"$CC_FOR_BUILD" = x ; then
   123         -	  CC_FOR_BUILD=no_compiler_found ;
   124         -	fi
   125         -	;;
   126         - ,,*)   CC_FOR_BUILD=$CC ;;
   127         - ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
   128         -esac ; set_cc_for_build= ;'
   129         -
   130         -# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
   131         -# (ghazi@noc.rutgers.edu 1994-08-24)
   132         -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
   133         -	PATH=$PATH:/.attbin ; export PATH
   134         -fi
   135         -
   136         -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
   137         -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
   138         -UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
   139         -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
   140         -
   141         -# Note: order is significant - the case branches are not exclusive.
   142         -
   143         -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
   144         -    *:NetBSD:*:*)
   145         -	# NetBSD (nbsd) targets should (where applicable) match one or
   146         -	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
   147         -	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
   148         -	# switched to ELF, *-*-netbsd* would select the old
   149         -	# object file format.  This provides both forward
   150         -	# compatibility and a consistent mechanism for selecting the
   151         -	# object file format.
   152         -	#
   153         -	# Note: NetBSD doesn't particularly care about the vendor
   154         -	# portion of the name.  We always set it to "unknown".
   155         -	sysctl="sysctl -n hw.machine_arch"
   156         -	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
   157         -	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
   158         -	case "${UNAME_MACHINE_ARCH}" in
   159         -	    armeb) machine=armeb-unknown ;;
   160         -	    arm*) machine=arm-unknown ;;
   161         -	    sh3el) machine=shl-unknown ;;
   162         -	    sh3eb) machine=sh-unknown ;;
   163         -	    sh5el) machine=sh5le-unknown ;;
   164         -	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
   165         -	esac
   166         -	# The Operating System including object format, if it has switched
   167         -	# to ELF recently, or will in the future.
   168         -	case "${UNAME_MACHINE_ARCH}" in
   169         -	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
   170         -		eval $set_cc_for_build
   171         -		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
   172         -			| grep -q __ELF__
   173         -		then
   174         -		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
   175         -		    # Return netbsd for either.  FIX?
   176         -		    os=netbsd
   177         -		else
   178         -		    os=netbsdelf
   179         -		fi
   180         -		;;
   181         -	    *)
   182         -		os=netbsd
   183         -		;;
   184         -	esac
   185         -	# The OS release
   186         -	# Debian GNU/NetBSD machines have a different userland, and
   187         -	# thus, need a distinct triplet. However, they do not need
   188         -	# kernel version information, so it can be replaced with a
   189         -	# suitable tag, in the style of linux-gnu.
   190         -	case "${UNAME_VERSION}" in
   191         -	    Debian*)
   192         -		release='-gnu'
   193         -		;;
   194         -	    *)
   195         -		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
   196         -		;;
   197         -	esac
   198         -	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
   199         -	# contains redundant information, the shorter form:
   200         -	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
   201         -	echo "${machine}-${os}${release}"
   202         -	exit ;;
   203         -    *:OpenBSD:*:*)
   204         -	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
   205         -	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
   206         -	exit ;;
   207         -    *:ekkoBSD:*:*)
   208         -	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
   209         -	exit ;;
   210         -    *:SolidBSD:*:*)
   211         -	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
   212         -	exit ;;
   213         -    macppc:MirBSD:*:*)
   214         -	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
   215         -	exit ;;
   216         -    *:MirBSD:*:*)
   217         -	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
   218         -	exit ;;
   219         -    alpha:OSF1:*:*)
   220         -	case $UNAME_RELEASE in
   221         -	*4.0)
   222         -		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
   223         -		;;
   224         -	*5.*)
   225         -		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
   226         -		;;
   227         -	esac
   228         -	# According to Compaq, /usr/sbin/psrinfo has been available on
   229         -	# OSF/1 and Tru64 systems produced since 1995.  I hope that
   230         -	# covers most systems running today.  This code pipes the CPU
   231         -	# types through head -n 1, so we only detect the type of CPU 0.
   232         -	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
   233         -	case "$ALPHA_CPU_TYPE" in
   234         -	    "EV4 (21064)")
   235         -		UNAME_MACHINE="alpha" ;;
   236         -	    "EV4.5 (21064)")
   237         -		UNAME_MACHINE="alpha" ;;
   238         -	    "LCA4 (21066/21068)")
   239         -		UNAME_MACHINE="alpha" ;;
   240         -	    "EV5 (21164)")
   241         -		UNAME_MACHINE="alphaev5" ;;
   242         -	    "EV5.6 (21164A)")
   243         -		UNAME_MACHINE="alphaev56" ;;
   244         -	    "EV5.6 (21164PC)")
   245         -		UNAME_MACHINE="alphapca56" ;;
   246         -	    "EV5.7 (21164PC)")
   247         -		UNAME_MACHINE="alphapca57" ;;
   248         -	    "EV6 (21264)")
   249         -		UNAME_MACHINE="alphaev6" ;;
   250         -	    "EV6.7 (21264A)")
   251         -		UNAME_MACHINE="alphaev67" ;;
   252         -	    "EV6.8CB (21264C)")
   253         -		UNAME_MACHINE="alphaev68" ;;
   254         -	    "EV6.8AL (21264B)")
   255         -		UNAME_MACHINE="alphaev68" ;;
   256         -	    "EV6.8CX (21264D)")
   257         -		UNAME_MACHINE="alphaev68" ;;
   258         -	    "EV6.9A (21264/EV69A)")
   259         -		UNAME_MACHINE="alphaev69" ;;
   260         -	    "EV7 (21364)")
   261         -		UNAME_MACHINE="alphaev7" ;;
   262         -	    "EV7.9 (21364A)")
   263         -		UNAME_MACHINE="alphaev79" ;;
   264         -	esac
   265         -	# A Pn.n version is a patched version.
   266         -	# A Vn.n version is a released version.
   267         -	# A Tn.n version is a released field test version.
   268         -	# A Xn.n version is an unreleased experimental baselevel.
   269         -	# 1.2 uses "1.2" for uname -r.
   270         -	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   271         -	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
   272         -	exitcode=$?
   273         -	trap '' 0
   274         -	exit $exitcode ;;
   275         -    Alpha\ *:Windows_NT*:*)
   276         -	# How do we know it's Interix rather than the generic POSIX subsystem?
   277         -	# Should we change UNAME_MACHINE based on the output of uname instead
   278         -	# of the specific Alpha model?
   279         -	echo alpha-pc-interix
   280         -	exit ;;
   281         -    21064:Windows_NT:50:3)
   282         -	echo alpha-dec-winnt3.5
   283         -	exit ;;
   284         -    Amiga*:UNIX_System_V:4.0:*)
   285         -	echo m68k-unknown-sysv4
   286         -	exit ;;
   287         -    *:[Aa]miga[Oo][Ss]:*:*)
   288         -	echo ${UNAME_MACHINE}-unknown-amigaos
   289         -	exit ;;
   290         -    *:[Mm]orph[Oo][Ss]:*:*)
   291         -	echo ${UNAME_MACHINE}-unknown-morphos
   292         -	exit ;;
   293         -    *:OS/390:*:*)
   294         -	echo i370-ibm-openedition
   295         -	exit ;;
   296         -    *:z/VM:*:*)
   297         -	echo s390-ibm-zvmoe
   298         -	exit ;;
   299         -    *:OS400:*:*)
   300         -	echo powerpc-ibm-os400
   301         -	exit ;;
   302         -    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
   303         -	echo arm-acorn-riscix${UNAME_RELEASE}
   304         -	exit ;;
   305         -    arm:riscos:*:*|arm:RISCOS:*:*)
   306         -	echo arm-unknown-riscos
   307         -	exit ;;
   308         -    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
   309         -	echo hppa1.1-hitachi-hiuxmpp
   310         -	exit ;;
   311         -    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
   312         -	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
   313         -	if test "`(/bin/universe) 2>/dev/null`" = att ; then
   314         -		echo pyramid-pyramid-sysv3
   315         -	else
   316         -		echo pyramid-pyramid-bsd
   317         -	fi
   318         -	exit ;;
   319         -    NILE*:*:*:dcosx)
   320         -	echo pyramid-pyramid-svr4
   321         -	exit ;;
   322         -    DRS?6000:unix:4.0:6*)
   323         -	echo sparc-icl-nx6
   324         -	exit ;;
   325         -    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
   326         -	case `/usr/bin/uname -p` in
   327         -	    sparc) echo sparc-icl-nx7; exit ;;
   328         -	esac ;;
   329         -    s390x:SunOS:*:*)
   330         -	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
   331         -	exit ;;
   332         -    sun4H:SunOS:5.*:*)
   333         -	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
   334         -	exit ;;
   335         -    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
   336         -	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
   337         -	exit ;;
   338         -    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
   339         -	echo i386-pc-auroraux${UNAME_RELEASE}
   340         -	exit ;;
   341         -    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
   342         -	eval $set_cc_for_build
   343         -	SUN_ARCH="i386"
   344         -	# If there is a compiler, see if it is configured for 64-bit objects.
   345         -	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
   346         -	# This test works for both compilers.
   347         -	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
   348         -	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
   349         -		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
   350         -		grep IS_64BIT_ARCH >/dev/null
   351         -	    then
   352         -		SUN_ARCH="x86_64"
   353         -	    fi
   354         -	fi
   355         -	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
   356         -	exit ;;
   357         -    sun4*:SunOS:6*:*)
   358         -	# According to config.sub, this is the proper way to canonicalize
   359         -	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
   360         -	# it's likely to be more like Solaris than SunOS4.
   361         -	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
   362         -	exit ;;
   363         -    sun4*:SunOS:*:*)
   364         -	case "`/usr/bin/arch -k`" in
   365         -	    Series*|S4*)
   366         -		UNAME_RELEASE=`uname -v`
   367         -		;;
   368         -	esac
   369         -	# Japanese Language versions have a version number like `4.1.3-JL'.
   370         -	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
   371         -	exit ;;
   372         -    sun3*:SunOS:*:*)
   373         -	echo m68k-sun-sunos${UNAME_RELEASE}
   374         -	exit ;;
   375         -    sun*:*:4.2BSD:*)
   376         -	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
   377         -	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
   378         -	case "`/bin/arch`" in
   379         -	    sun3)
   380         -		echo m68k-sun-sunos${UNAME_RELEASE}
   381         -		;;
   382         -	    sun4)
   383         -		echo sparc-sun-sunos${UNAME_RELEASE}
   384         -		;;
   385         -	esac
   386         -	exit ;;
   387         -    aushp:SunOS:*:*)
   388         -	echo sparc-auspex-sunos${UNAME_RELEASE}
   389         -	exit ;;
   390         -    # The situation for MiNT is a little confusing.  The machine name
   391         -    # can be virtually everything (everything which is not
   392         -    # "atarist" or "atariste" at least should have a processor
   393         -    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
   394         -    # to the lowercase version "mint" (or "freemint").  Finally
   395         -    # the system name "TOS" denotes a system which is actually not
   396         -    # MiNT.  But MiNT is downward compatible to TOS, so this should
   397         -    # be no problem.
   398         -    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
   399         -	echo m68k-atari-mint${UNAME_RELEASE}
   400         -	exit ;;
   401         -    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
   402         -	echo m68k-atari-mint${UNAME_RELEASE}
   403         -	exit ;;
   404         -    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
   405         -	echo m68k-atari-mint${UNAME_RELEASE}
   406         -	exit ;;
   407         -    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
   408         -	echo m68k-milan-mint${UNAME_RELEASE}
   409         -	exit ;;
   410         -    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
   411         -	echo m68k-hades-mint${UNAME_RELEASE}
   412         -	exit ;;
   413         -    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
   414         -	echo m68k-unknown-mint${UNAME_RELEASE}
   415         -	exit ;;
   416         -    m68k:machten:*:*)
   417         -	echo m68k-apple-machten${UNAME_RELEASE}
   418         -	exit ;;
   419         -    powerpc:machten:*:*)
   420         -	echo powerpc-apple-machten${UNAME_RELEASE}
   421         -	exit ;;
   422         -    RISC*:Mach:*:*)
   423         -	echo mips-dec-mach_bsd4.3
   424         -	exit ;;
   425         -    RISC*:ULTRIX:*:*)
   426         -	echo mips-dec-ultrix${UNAME_RELEASE}
   427         -	exit ;;
   428         -    VAX*:ULTRIX*:*:*)
   429         -	echo vax-dec-ultrix${UNAME_RELEASE}
   430         -	exit ;;
   431         -    2020:CLIX:*:* | 2430:CLIX:*:*)
   432         -	echo clipper-intergraph-clix${UNAME_RELEASE}
   433         -	exit ;;
   434         -    mips:*:*:UMIPS | mips:*:*:RISCos)
   435         -	eval $set_cc_for_build
   436         -	sed 's/^	//' << EOF >$dummy.c
   437         -#ifdef __cplusplus
   438         -#include <stdio.h>  /* for printf() prototype */
   439         -	int main (int argc, char *argv[]) {
   440         -#else
   441         -	int main (argc, argv) int argc; char *argv[]; {
   442         -#endif
   443         -	#if defined (host_mips) && defined (MIPSEB)
   444         -	#if defined (SYSTYPE_SYSV)
   445         -	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
   446         -	#endif
   447         -	#if defined (SYSTYPE_SVR4)
   448         -	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
   449         -	#endif
   450         -	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
   451         -	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
   452         -	#endif
   453         -	#endif
   454         -	  exit (-1);
   455         -	}
   456         -EOF
   457         -	$CC_FOR_BUILD -o $dummy $dummy.c &&
   458         -	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
   459         -	  SYSTEM_NAME=`$dummy $dummyarg` &&
   460         -	    { echo "$SYSTEM_NAME"; exit; }
   461         -	echo mips-mips-riscos${UNAME_RELEASE}
   462         -	exit ;;
   463         -    Motorola:PowerMAX_OS:*:*)
   464         -	echo powerpc-motorola-powermax
   465         -	exit ;;
   466         -    Motorola:*:4.3:PL8-*)
   467         -	echo powerpc-harris-powermax
   468         -	exit ;;
   469         -    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
   470         -	echo powerpc-harris-powermax
   471         -	exit ;;
   472         -    Night_Hawk:Power_UNIX:*:*)
   473         -	echo powerpc-harris-powerunix
   474         -	exit ;;
   475         -    m88k:CX/UX:7*:*)
   476         -	echo m88k-harris-cxux7
   477         -	exit ;;
   478         -    m88k:*:4*:R4*)
   479         -	echo m88k-motorola-sysv4
   480         -	exit ;;
   481         -    m88k:*:3*:R3*)
   482         -	echo m88k-motorola-sysv3
   483         -	exit ;;
   484         -    AViiON:dgux:*:*)
   485         -	# DG/UX returns AViiON for all architectures
   486         -	UNAME_PROCESSOR=`/usr/bin/uname -p`
   487         -	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
   488         -	then
   489         -	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
   490         -	       [ ${TARGET_BINARY_INTERFACE}x = x ]
   491         -	    then
   492         -		echo m88k-dg-dgux${UNAME_RELEASE}
   493         -	    else
   494         -		echo m88k-dg-dguxbcs${UNAME_RELEASE}
   495         -	    fi
   496         -	else
   497         -	    echo i586-dg-dgux${UNAME_RELEASE}
   498         -	fi
   499         -	exit ;;
   500         -    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
   501         -	echo m88k-dolphin-sysv3
   502         -	exit ;;
   503         -    M88*:*:R3*:*)
   504         -	# Delta 88k system running SVR3
   505         -	echo m88k-motorola-sysv3
   506         -	exit ;;
   507         -    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
   508         -	echo m88k-tektronix-sysv3
   509         -	exit ;;
   510         -    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
   511         -	echo m68k-tektronix-bsd
   512         -	exit ;;
   513         -    *:IRIX*:*:*)
   514         -	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
   515         -	exit ;;
   516         -    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
   517         -	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
   518         -	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
   519         -    i*86:AIX:*:*)
   520         -	echo i386-ibm-aix
   521         -	exit ;;
   522         -    ia64:AIX:*:*)
   523         -	if [ -x /usr/bin/oslevel ] ; then
   524         -		IBM_REV=`/usr/bin/oslevel`
   525         -	else
   526         -		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
   527         -	fi
   528         -	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
   529         -	exit ;;
   530         -    *:AIX:2:3)
   531         -	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
   532         -		eval $set_cc_for_build
   533         -		sed 's/^		//' << EOF >$dummy.c
   534         -		#include <sys/systemcfg.h>
   535         -
   536         -		main()
   537         -			{
   538         -			if (!__power_pc())
   539         -				exit(1);
   540         -			puts("powerpc-ibm-aix3.2.5");
   541         -			exit(0);
   542         -			}
   543         -EOF
   544         -		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
   545         -		then
   546         -			echo "$SYSTEM_NAME"
   547         -		else
   548         -			echo rs6000-ibm-aix3.2.5
   549         -		fi
   550         -	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
   551         -		echo rs6000-ibm-aix3.2.4
   552         -	else
   553         -		echo rs6000-ibm-aix3.2
   554         -	fi
   555         -	exit ;;
   556         -    *:AIX:*:[4567])
   557         -	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
   558         -	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
   559         -		IBM_ARCH=rs6000
   560         -	else
   561         -		IBM_ARCH=powerpc
   562         -	fi
   563         -	if [ -x /usr/bin/oslevel ] ; then
   564         -		IBM_REV=`/usr/bin/oslevel`
   565         -	else
   566         -		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
   567         -	fi
   568         -	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
   569         -	exit ;;
   570         -    *:AIX:*:*)
   571         -	echo rs6000-ibm-aix
   572         -	exit ;;
   573         -    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
   574         -	echo romp-ibm-bsd4.4
   575         -	exit ;;
   576         -    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
   577         -	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
   578         -	exit ;;                             # report: romp-ibm BSD 4.3
   579         -    *:BOSX:*:*)
   580         -	echo rs6000-bull-bosx
   581         -	exit ;;
   582         -    DPX/2?00:B.O.S.:*:*)
   583         -	echo m68k-bull-sysv3
   584         -	exit ;;
   585         -    9000/[34]??:4.3bsd:1.*:*)
   586         -	echo m68k-hp-bsd
   587         -	exit ;;
   588         -    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
   589         -	echo m68k-hp-bsd4.4
   590         -	exit ;;
   591         -    9000/[34678]??:HP-UX:*:*)
   592         -	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
   593         -	case "${UNAME_MACHINE}" in
   594         -	    9000/31? )            HP_ARCH=m68000 ;;
   595         -	    9000/[34]?? )         HP_ARCH=m68k ;;
   596         -	    9000/[678][0-9][0-9])
   597         -		if [ -x /usr/bin/getconf ]; then
   598         -		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
   599         -		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
   600         -		    case "${sc_cpu_version}" in
   601         -		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
   602         -		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
   603         -		      532)                      # CPU_PA_RISC2_0
   604         -			case "${sc_kernel_bits}" in
   605         -			  32) HP_ARCH="hppa2.0n" ;;
   606         -			  64) HP_ARCH="hppa2.0w" ;;
   607         -			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
   608         -			esac ;;
   609         -		    esac
   610         -		fi
   611         -		if [ "${HP_ARCH}" = "" ]; then
   612         -		    eval $set_cc_for_build
   613         -		    sed 's/^		//' << EOF >$dummy.c
   614         -
   615         -		#define _HPUX_SOURCE
   616         -		#include <stdlib.h>
   617         -		#include <unistd.h>
   618         -
   619         -		int main ()
   620         -		{
   621         -		#if defined(_SC_KERNEL_BITS)
   622         -		    long bits = sysconf(_SC_KERNEL_BITS);
   623         -		#endif
   624         -		    long cpu  = sysconf (_SC_CPU_VERSION);
   625         -
   626         -		    switch (cpu)
   627         -			{
   628         -			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
   629         -			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
   630         -			case CPU_PA_RISC2_0:
   631         -		#if defined(_SC_KERNEL_BITS)
   632         -			    switch (bits)
   633         -				{
   634         -				case 64: puts ("hppa2.0w"); break;
   635         -				case 32: puts ("hppa2.0n"); break;
   636         -				default: puts ("hppa2.0"); break;
   637         -				} break;
   638         -		#else  /* !defined(_SC_KERNEL_BITS) */
   639         -			    puts ("hppa2.0"); break;
   640         -		#endif
   641         -			default: puts ("hppa1.0"); break;
   642         -			}
   643         -		    exit (0);
   644         -		}
   645         -EOF
   646         -		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
   647         -		    test -z "$HP_ARCH" && HP_ARCH=hppa
   648         -		fi ;;
   649         -	esac
   650         -	if [ ${HP_ARCH} = "hppa2.0w" ]
   651         -	then
   652         -	    eval $set_cc_for_build
   653         -
   654         -	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
   655         -	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
   656         -	    # generating 64-bit code.  GNU and HP use different nomenclature:
   657         -	    #
   658         -	    # $ CC_FOR_BUILD=cc ./config.guess
   659         -	    # => hppa2.0w-hp-hpux11.23
   660         -	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
   661         -	    # => hppa64-hp-hpux11.23
   662         -
   663         -	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
   664         -		grep -q __LP64__
   665         -	    then
   666         -		HP_ARCH="hppa2.0w"
   667         -	    else
   668         -		HP_ARCH="hppa64"
   669         -	    fi
   670         -	fi
   671         -	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
   672         -	exit ;;
   673         -    ia64:HP-UX:*:*)
   674         -	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
   675         -	echo ia64-hp-hpux${HPUX_REV}
   676         -	exit ;;
   677         -    3050*:HI-UX:*:*)
   678         -	eval $set_cc_for_build
   679         -	sed 's/^	//' << EOF >$dummy.c
   680         -	#include <unistd.h>
   681         -	int
   682         -	main ()
   683         -	{
   684         -	  long cpu = sysconf (_SC_CPU_VERSION);
   685         -	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
   686         -	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
   687         -	     results, however.  */
   688         -	  if (CPU_IS_PA_RISC (cpu))
   689         -	    {
   690         -	      switch (cpu)
   691         -		{
   692         -		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
   693         -		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
   694         -		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
   695         -		  default: puts ("hppa-hitachi-hiuxwe2"); break;
   696         -		}
   697         -	    }
   698         -	  else if (CPU_IS_HP_MC68K (cpu))
   699         -	    puts ("m68k-hitachi-hiuxwe2");
   700         -	  else puts ("unknown-hitachi-hiuxwe2");
   701         -	  exit (0);
   702         -	}
   703         -EOF
   704         -	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
   705         -		{ echo "$SYSTEM_NAME"; exit; }
   706         -	echo unknown-hitachi-hiuxwe2
   707         -	exit ;;
   708         -    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
   709         -	echo hppa1.1-hp-bsd
   710         -	exit ;;
   711         -    9000/8??:4.3bsd:*:*)
   712         -	echo hppa1.0-hp-bsd
   713         -	exit ;;
   714         -    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
   715         -	echo hppa1.0-hp-mpeix
   716         -	exit ;;
   717         -    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
   718         -	echo hppa1.1-hp-osf
   719         -	exit ;;
   720         -    hp8??:OSF1:*:*)
   721         -	echo hppa1.0-hp-osf
   722         -	exit ;;
   723         -    i*86:OSF1:*:*)
   724         -	if [ -x /usr/sbin/sysversion ] ; then
   725         -	    echo ${UNAME_MACHINE}-unknown-osf1mk
   726         -	else
   727         -	    echo ${UNAME_MACHINE}-unknown-osf1
   728         -	fi
   729         -	exit ;;
   730         -    parisc*:Lites*:*:*)
   731         -	echo hppa1.1-hp-lites
   732         -	exit ;;
   733         -    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
   734         -	echo c1-convex-bsd
   735         -	exit ;;
   736         -    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
   737         -	if getsysinfo -f scalar_acc
   738         -	then echo c32-convex-bsd
   739         -	else echo c2-convex-bsd
   740         -	fi
   741         -	exit ;;
   742         -    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
   743         -	echo c34-convex-bsd
   744         -	exit ;;
   745         -    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
   746         -	echo c38-convex-bsd
   747         -	exit ;;
   748         -    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
   749         -	echo c4-convex-bsd
   750         -	exit ;;
   751         -    CRAY*Y-MP:*:*:*)
   752         -	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
   753         -	exit ;;
   754         -    CRAY*[A-Z]90:*:*:*)
   755         -	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
   756         -	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
   757         -	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
   758         -	      -e 's/\.[^.]*$/.X/'
   759         -	exit ;;
   760         -    CRAY*TS:*:*:*)
   761         -	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
   762         -	exit ;;
   763         -    CRAY*T3E:*:*:*)
   764         -	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
   765         -	exit ;;
   766         -    CRAY*SV1:*:*:*)
   767         -	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
   768         -	exit ;;
   769         -    *:UNICOS/mp:*:*)
   770         -	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
   771         -	exit ;;
   772         -    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
   773         -	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   774         -	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
   775         -	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
   776         -	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
   777         -	exit ;;
   778         -    5000:UNIX_System_V:4.*:*)
   779         -	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
   780         -	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
   781         -	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
   782         -	exit ;;
   783         -    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
   784         -	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
   785         -	exit ;;
   786         -    sparc*:BSD/OS:*:*)
   787         -	echo sparc-unknown-bsdi${UNAME_RELEASE}
   788         -	exit ;;
   789         -    *:BSD/OS:*:*)
   790         -	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
   791         -	exit ;;
   792         -    *:FreeBSD:*:*)
   793         -	UNAME_PROCESSOR=`/usr/bin/uname -p`
   794         -	case ${UNAME_PROCESSOR} in
   795         -	    amd64)
   796         -		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
   797         -	    *)
   798         -		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
   799         -	esac
   800         -	exit ;;
   801         -    i*:CYGWIN*:*)
   802         -	echo ${UNAME_MACHINE}-pc-cygwin
   803         -	exit ;;
   804         -    *:MINGW*:*)
   805         -	echo ${UNAME_MACHINE}-pc-mingw32
   806         -	exit ;;
   807         -    i*:MSYS*:*)
   808         -	echo ${UNAME_MACHINE}-pc-msys
   809         -	exit ;;
   810         -    i*:windows32*:*)
   811         -	# uname -m includes "-pc" on this system.
   812         -	echo ${UNAME_MACHINE}-mingw32
   813         -	exit ;;
   814         -    i*:PW*:*)
   815         -	echo ${UNAME_MACHINE}-pc-pw32
   816         -	exit ;;
   817         -    *:Interix*:*)
   818         -	case ${UNAME_MACHINE} in
   819         -	    x86)
   820         -		echo i586-pc-interix${UNAME_RELEASE}
   821         -		exit ;;
   822         -	    authenticamd | genuineintel | EM64T)
   823         -		echo x86_64-unknown-interix${UNAME_RELEASE}
   824         -		exit ;;
   825         -	    IA64)
   826         -		echo ia64-unknown-interix${UNAME_RELEASE}
   827         -		exit ;;
   828         -	esac ;;
   829         -    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
   830         -	echo i${UNAME_MACHINE}-pc-mks
   831         -	exit ;;
   832         -    8664:Windows_NT:*)
   833         -	echo x86_64-pc-mks
   834         -	exit ;;
   835         -    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
   836         -	# How do we know it's Interix rather than the generic POSIX subsystem?
   837         -	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
   838         -	# UNAME_MACHINE based on the output of uname instead of i386?
   839         -	echo i586-pc-interix
   840         -	exit ;;
   841         -    i*:UWIN*:*)
   842         -	echo ${UNAME_MACHINE}-pc-uwin
   843         -	exit ;;
   844         -    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
   845         -	echo x86_64-unknown-cygwin
   846         -	exit ;;
   847         -    p*:CYGWIN*:*)
   848         -	echo powerpcle-unknown-cygwin
   849         -	exit ;;
   850         -    prep*:SunOS:5.*:*)
   851         -	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
   852         -	exit ;;
   853         -    *:GNU:*:*)
   854         -	# the GNU system
   855         -	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
   856         -	exit ;;
   857         -    *:GNU/*:*:*)
   858         -	# other systems with GNU libc and userland
   859         -	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
   860         -	exit ;;
   861         -    i*86:Minix:*:*)
   862         -	echo ${UNAME_MACHINE}-pc-minix
   863         -	exit ;;
   864         -    aarch64:Linux:*:*)
   865         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   866         -	exit ;;
   867         -    aarch64_be:Linux:*:*)
   868         -	UNAME_MACHINE=aarch64_be
   869         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   870         -	exit ;;
   871         -    alpha:Linux:*:*)
   872         -	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
   873         -	  EV5)   UNAME_MACHINE=alphaev5 ;;
   874         -	  EV56)  UNAME_MACHINE=alphaev56 ;;
   875         -	  PCA56) UNAME_MACHINE=alphapca56 ;;
   876         -	  PCA57) UNAME_MACHINE=alphapca56 ;;
   877         -	  EV6)   UNAME_MACHINE=alphaev6 ;;
   878         -	  EV67)  UNAME_MACHINE=alphaev67 ;;
   879         -	  EV68*) UNAME_MACHINE=alphaev68 ;;
   880         -	esac
   881         -	objdump --private-headers /bin/sh | grep -q ld.so.1
   882         -	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
   883         -	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
   884         -	exit ;;
   885         -    arm*:Linux:*:*)
   886         -	eval $set_cc_for_build
   887         -	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
   888         -	    | grep -q __ARM_EABI__
   889         -	then
   890         -	    echo ${UNAME_MACHINE}-unknown-linux-gnu
   891         -	else
   892         -	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
   893         -		| grep -q __ARM_PCS_VFP
   894         -	    then
   895         -		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
   896         -	    else
   897         -		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
   898         -	    fi
   899         -	fi
   900         -	exit ;;
   901         -    avr32*:Linux:*:*)
   902         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   903         -	exit ;;
   904         -    cris:Linux:*:*)
   905         -	echo ${UNAME_MACHINE}-axis-linux-gnu
   906         -	exit ;;
   907         -    crisv32:Linux:*:*)
   908         -	echo ${UNAME_MACHINE}-axis-linux-gnu
   909         -	exit ;;
   910         -    frv:Linux:*:*)
   911         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   912         -	exit ;;
   913         -    hexagon:Linux:*:*)
   914         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   915         -	exit ;;
   916         -    i*86:Linux:*:*)
   917         -	LIBC=gnu
   918         -	eval $set_cc_for_build
   919         -	sed 's/^	//' << EOF >$dummy.c
   920         -	#ifdef __dietlibc__
   921         -	LIBC=dietlibc
   922         -	#endif
   923         -EOF
   924         -	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
   925         -	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
   926         -	exit ;;
   927         -    ia64:Linux:*:*)
   928         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   929         -	exit ;;
   930         -    m32r*:Linux:*:*)
   931         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   932         -	exit ;;
   933         -    m68*:Linux:*:*)
   934         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   935         -	exit ;;
   936         -    mips:Linux:*:* | mips64:Linux:*:*)
   937         -	eval $set_cc_for_build
   938         -	sed 's/^	//' << EOF >$dummy.c
   939         -	#undef CPU
   940         -	#undef ${UNAME_MACHINE}
   941         -	#undef ${UNAME_MACHINE}el
   942         -	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
   943         -	CPU=${UNAME_MACHINE}el
   944         -	#else
   945         -	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
   946         -	CPU=${UNAME_MACHINE}
   947         -	#else
   948         -	CPU=
   949         -	#endif
   950         -	#endif
   951         -EOF
   952         -	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
   953         -	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
   954         -	;;
   955         -    or32:Linux:*:*)
   956         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   957         -	exit ;;
   958         -    padre:Linux:*:*)
   959         -	echo sparc-unknown-linux-gnu
   960         -	exit ;;
   961         -    parisc64:Linux:*:* | hppa64:Linux:*:*)
   962         -	echo hppa64-unknown-linux-gnu
   963         -	exit ;;
   964         -    parisc:Linux:*:* | hppa:Linux:*:*)
   965         -	# Look for CPU level
   966         -	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
   967         -	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
   968         -	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
   969         -	  *)    echo hppa-unknown-linux-gnu ;;
   970         -	esac
   971         -	exit ;;
   972         -    ppc64:Linux:*:*)
   973         -	echo powerpc64-unknown-linux-gnu
   974         -	exit ;;
   975         -    ppc:Linux:*:*)
   976         -	echo powerpc-unknown-linux-gnu
   977         -	exit ;;
   978         -    s390:Linux:*:* | s390x:Linux:*:*)
   979         -	echo ${UNAME_MACHINE}-ibm-linux
   980         -	exit ;;
   981         -    sh64*:Linux:*:*)
   982         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   983         -	exit ;;
   984         -    sh*:Linux:*:*)
   985         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   986         -	exit ;;
   987         -    sparc:Linux:*:* | sparc64:Linux:*:*)
   988         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   989         -	exit ;;
   990         -    tile*:Linux:*:*)
   991         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   992         -	exit ;;
   993         -    vax:Linux:*:*)
   994         -	echo ${UNAME_MACHINE}-dec-linux-gnu
   995         -	exit ;;
   996         -    x86_64:Linux:*:*)
   997         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
   998         -	exit ;;
   999         -    xtensa*:Linux:*:*)
  1000         -	echo ${UNAME_MACHINE}-unknown-linux-gnu
  1001         -	exit ;;
  1002         -    i*86:DYNIX/ptx:4*:*)
  1003         -	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  1004         -	# earlier versions are messed up and put the nodename in both
  1005         -	# sysname and nodename.
  1006         -	echo i386-sequent-sysv4
  1007         -	exit ;;
  1008         -    i*86:UNIX_SV:4.2MP:2.*)
  1009         -	# Unixware is an offshoot of SVR4, but it has its own version
  1010         -	# number series starting with 2...
  1011         -	# I am not positive that other SVR4 systems won't match this,
  1012         -	# I just have to hope.  -- rms.
  1013         -	# Use sysv4.2uw... so that sysv4* matches it.
  1014         -	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
  1015         -	exit ;;
  1016         -    i*86:OS/2:*:*)
  1017         -	# If we were able to find `uname', then EMX Unix compatibility
  1018         -	# is probably installed.
  1019         -	echo ${UNAME_MACHINE}-pc-os2-emx
  1020         -	exit ;;
  1021         -    i*86:XTS-300:*:STOP)
  1022         -	echo ${UNAME_MACHINE}-unknown-stop
  1023         -	exit ;;
  1024         -    i*86:atheos:*:*)
  1025         -	echo ${UNAME_MACHINE}-unknown-atheos
  1026         -	exit ;;
  1027         -    i*86:syllable:*:*)
  1028         -	echo ${UNAME_MACHINE}-pc-syllable
  1029         -	exit ;;
  1030         -    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
  1031         -	echo i386-unknown-lynxos${UNAME_RELEASE}
  1032         -	exit ;;
  1033         -    i*86:*DOS:*:*)
  1034         -	echo ${UNAME_MACHINE}-pc-msdosdjgpp
  1035         -	exit ;;
  1036         -    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
  1037         -	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
  1038         -	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
  1039         -		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
  1040         -	else
  1041         -		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  1042         -	fi
  1043         -	exit ;;
  1044         -    i*86:*:5:[678]*)
  1045         -	# UnixWare 7.x, OpenUNIX and OpenServer 6.
  1046         -	case `/bin/uname -X | grep "^Machine"` in
  1047         -	    *486*)	     UNAME_MACHINE=i486 ;;
  1048         -	    *Pentium)	     UNAME_MACHINE=i586 ;;
  1049         -	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
  1050         -	esac
  1051         -	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
  1052         -	exit ;;
  1053         -    i*86:*:3.2:*)
  1054         -	if test -f /usr/options/cb.name; then
  1055         -		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
  1056         -		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
  1057         -	elif /bin/uname -X 2>/dev/null >/dev/null ; then
  1058         -		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
  1059         -		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
  1060         -		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
  1061         -			&& UNAME_MACHINE=i586
  1062         -		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
  1063         -			&& UNAME_MACHINE=i686
  1064         -		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
  1065         -			&& UNAME_MACHINE=i686
  1066         -		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
  1067         -	else
  1068         -		echo ${UNAME_MACHINE}-pc-sysv32
  1069         -	fi
  1070         -	exit ;;
  1071         -    pc:*:*:*)
  1072         -	# Left here for compatibility:
  1073         -	# uname -m prints for DJGPP always 'pc', but it prints nothing about
  1074         -	# the processor, so we play safe by assuming i586.
  1075         -	# Note: whatever this is, it MUST be the same as what config.sub
  1076         -	# prints for the "djgpp" host, or else GDB configury will decide that
  1077         -	# this is a cross-build.
  1078         -	echo i586-pc-msdosdjgpp
  1079         -	exit ;;
  1080         -    Intel:Mach:3*:*)
  1081         -	echo i386-pc-mach3
  1082         -	exit ;;
  1083         -    paragon:*:*:*)
  1084         -	echo i860-intel-osf1
  1085         -	exit ;;
  1086         -    i860:*:4.*:*) # i860-SVR4
  1087         -	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  1088         -	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  1089         -	else # Add other i860-SVR4 vendors below as they are discovered.
  1090         -	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  1091         -	fi
  1092         -	exit ;;
  1093         -    mini*:CTIX:SYS*5:*)
  1094         -	# "miniframe"
  1095         -	echo m68010-convergent-sysv
  1096         -	exit ;;
  1097         -    mc68k:UNIX:SYSTEM5:3.51m)
  1098         -	echo m68k-convergent-sysv
  1099         -	exit ;;
  1100         -    M680?0:D-NIX:5.3:*)
  1101         -	echo m68k-diab-dnix
  1102         -	exit ;;
  1103         -    M68*:*:R3V[5678]*:*)
  1104         -	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
  1105         -    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)
  1106         -	OS_REL=''
  1107         -	test -r /etc/.relid \
  1108         -	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  1109         -	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1110         -	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
  1111         -	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  1112         -	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
  1113         -    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
  1114         -	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1115         -	  && { echo i486-ncr-sysv4; exit; } ;;
  1116         -    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
  1117         -	OS_REL='.3'
  1118         -	test -r /etc/.relid \
  1119         -	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  1120         -	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1121         -	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
  1122         -	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  1123         -	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
  1124         -	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
  1125         -	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
  1126         -    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  1127         -	echo m68k-unknown-lynxos${UNAME_RELEASE}
  1128         -	exit ;;
  1129         -    mc68030:UNIX_System_V:4.*:*)
  1130         -	echo m68k-atari-sysv4
  1131         -	exit ;;
  1132         -    TSUNAMI:LynxOS:2.*:*)
  1133         -	echo sparc-unknown-lynxos${UNAME_RELEASE}
  1134         -	exit ;;
  1135         -    rs6000:LynxOS:2.*:*)
  1136         -	echo rs6000-unknown-lynxos${UNAME_RELEASE}
  1137         -	exit ;;
  1138         -    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
  1139         -	echo powerpc-unknown-lynxos${UNAME_RELEASE}
  1140         -	exit ;;
  1141         -    SM[BE]S:UNIX_SV:*:*)
  1142         -	echo mips-dde-sysv${UNAME_RELEASE}
  1143         -	exit ;;
  1144         -    RM*:ReliantUNIX-*:*:*)
  1145         -	echo mips-sni-sysv4
  1146         -	exit ;;
  1147         -    RM*:SINIX-*:*:*)
  1148         -	echo mips-sni-sysv4
  1149         -	exit ;;
  1150         -    *:SINIX-*:*:*)
  1151         -	if uname -p 2>/dev/null >/dev/null ; then
  1152         -		UNAME_MACHINE=`(uname -p) 2>/dev/null`
  1153         -		echo ${UNAME_MACHINE}-sni-sysv4
  1154         -	else
  1155         -		echo ns32k-sni-sysv
  1156         -	fi
  1157         -	exit ;;
  1158         -    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
  1159         -			# says <Richard.M.Bartel@ccMail.Census.GOV>
  1160         -	echo i586-unisys-sysv4
  1161         -	exit ;;
  1162         -    *:UNIX_System_V:4*:FTX*)
  1163         -	# From Gerald Hewes <hewes@openmarket.com>.
  1164         -	# How about differentiating between stratus architectures? -djm
  1165         -	echo hppa1.1-stratus-sysv4
  1166         -	exit ;;
  1167         -    *:*:*:FTX*)
  1168         -	# From seanf@swdc.stratus.com.
  1169         -	echo i860-stratus-sysv4
  1170         -	exit ;;
  1171         -    i*86:VOS:*:*)
  1172         -	# From Paul.Green@stratus.com.
  1173         -	echo ${UNAME_MACHINE}-stratus-vos
  1174         -	exit ;;
  1175         -    *:VOS:*:*)
  1176         -	# From Paul.Green@stratus.com.
  1177         -	echo hppa1.1-stratus-vos
  1178         -	exit ;;
  1179         -    mc68*:A/UX:*:*)
  1180         -	echo m68k-apple-aux${UNAME_RELEASE}
  1181         -	exit ;;
  1182         -    news*:NEWS-OS:6*:*)
  1183         -	echo mips-sony-newsos6
  1184         -	exit ;;
  1185         -    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  1186         -	if [ -d /usr/nec ]; then
  1187         -		echo mips-nec-sysv${UNAME_RELEASE}
  1188         -	else
  1189         -		echo mips-unknown-sysv${UNAME_RELEASE}
  1190         -	fi
  1191         -	exit ;;
  1192         -    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
  1193         -	echo powerpc-be-beos
  1194         -	exit ;;
  1195         -    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
  1196         -	echo powerpc-apple-beos
  1197         -	exit ;;
  1198         -    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
  1199         -	echo i586-pc-beos
  1200         -	exit ;;
  1201         -    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
  1202         -	echo i586-pc-haiku
  1203         -	exit ;;
  1204         -    SX-4:SUPER-UX:*:*)
  1205         -	echo sx4-nec-superux${UNAME_RELEASE}
  1206         -	exit ;;
  1207         -    SX-5:SUPER-UX:*:*)
  1208         -	echo sx5-nec-superux${UNAME_RELEASE}
  1209         -	exit ;;
  1210         -    SX-6:SUPER-UX:*:*)
  1211         -	echo sx6-nec-superux${UNAME_RELEASE}
  1212         -	exit ;;
  1213         -    SX-7:SUPER-UX:*:*)
  1214         -	echo sx7-nec-superux${UNAME_RELEASE}
  1215         -	exit ;;
  1216         -    SX-8:SUPER-UX:*:*)
  1217         -	echo sx8-nec-superux${UNAME_RELEASE}
  1218         -	exit ;;
  1219         -    SX-8R:SUPER-UX:*:*)
  1220         -	echo sx8r-nec-superux${UNAME_RELEASE}
  1221         -	exit ;;
  1222         -    Power*:Rhapsody:*:*)
  1223         -	echo powerpc-apple-rhapsody${UNAME_RELEASE}
  1224         -	exit ;;
  1225         -    *:Rhapsody:*:*)
  1226         -	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
  1227         -	exit ;;
  1228         -    *:Darwin:*:*)
  1229         -	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
  1230         -	case $UNAME_PROCESSOR in
  1231         -	    i386)
  1232         -		eval $set_cc_for_build
  1233         -		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
  1234         -		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
  1235         -		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
  1236         -		      grep IS_64BIT_ARCH >/dev/null
  1237         -		  then
  1238         -		      UNAME_PROCESSOR="x86_64"
  1239         -		  fi
  1240         -		fi ;;
  1241         -	    unknown) UNAME_PROCESSOR=powerpc ;;
  1242         -	esac
  1243         -	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
  1244         -	exit ;;
  1245         -    *:procnto*:*:* | *:QNX:[0123456789]*:*)
  1246         -	UNAME_PROCESSOR=`uname -p`
  1247         -	if test "$UNAME_PROCESSOR" = "x86"; then
  1248         -		UNAME_PROCESSOR=i386
  1249         -		UNAME_MACHINE=pc
  1250         -	fi
  1251         -	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
  1252         -	exit ;;
  1253         -    *:QNX:*:4*)
  1254         -	echo i386-pc-qnx
  1255         -	exit ;;
  1256         -    NEO-?:NONSTOP_KERNEL:*:*)
  1257         -	echo neo-tandem-nsk${UNAME_RELEASE}
  1258         -	exit ;;
  1259         -    NSE-?:NONSTOP_KERNEL:*:*)
  1260         -	echo nse-tandem-nsk${UNAME_RELEASE}
  1261         -	exit ;;
  1262         -    NSR-?:NONSTOP_KERNEL:*:*)
  1263         -	echo nsr-tandem-nsk${UNAME_RELEASE}
  1264         -	exit ;;
  1265         -    *:NonStop-UX:*:*)
  1266         -	echo mips-compaq-nonstopux
  1267         -	exit ;;
  1268         -    BS2000:POSIX*:*:*)
  1269         -	echo bs2000-siemens-sysv
  1270         -	exit ;;
  1271         -    DS/*:UNIX_System_V:*:*)
  1272         -	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
  1273         -	exit ;;
  1274         -    *:Plan9:*:*)
  1275         -	# "uname -m" is not consistent, so use $cputype instead. 386
  1276         -	# is converted to i386 for consistency with other x86
  1277         -	# operating systems.
  1278         -	if test "$cputype" = "386"; then
  1279         -	    UNAME_MACHINE=i386
  1280         -	else
  1281         -	    UNAME_MACHINE="$cputype"
  1282         -	fi
  1283         -	echo ${UNAME_MACHINE}-unknown-plan9
  1284         -	exit ;;
  1285         -    *:TOPS-10:*:*)
  1286         -	echo pdp10-unknown-tops10
  1287         -	exit ;;
  1288         -    *:TENEX:*:*)
  1289         -	echo pdp10-unknown-tenex
  1290         -	exit ;;
  1291         -    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
  1292         -	echo pdp10-dec-tops20
  1293         -	exit ;;
  1294         -    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
  1295         -	echo pdp10-xkl-tops20
  1296         -	exit ;;
  1297         -    *:TOPS-20:*:*)
  1298         -	echo pdp10-unknown-tops20
  1299         -	exit ;;
  1300         -    *:ITS:*:*)
  1301         -	echo pdp10-unknown-its
  1302         -	exit ;;
  1303         -    SEI:*:*:SEIUX)
  1304         -	echo mips-sei-seiux${UNAME_RELEASE}
  1305         -	exit ;;
  1306         -    *:DragonFly:*:*)
  1307         -	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
  1308         -	exit ;;
  1309         -    *:*VMS:*:*)
  1310         -	UNAME_MACHINE=`(uname -p) 2>/dev/null`
  1311         -	case "${UNAME_MACHINE}" in
  1312         -	    A*) echo alpha-dec-vms ; exit ;;
  1313         -	    I*) echo ia64-dec-vms ; exit ;;
  1314         -	    V*) echo vax-dec-vms ; exit ;;
  1315         -	esac ;;
  1316         -    *:XENIX:*:SysV)
  1317         -	echo i386-pc-xenix
  1318         -	exit ;;
  1319         -    i*86:skyos:*:*)
  1320         -	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
  1321         -	exit ;;
  1322         -    i*86:rdos:*:*)
  1323         -	echo ${UNAME_MACHINE}-pc-rdos
  1324         -	exit ;;
  1325         -    i*86:AROS:*:*)
  1326         -	echo ${UNAME_MACHINE}-pc-aros
  1327         -	exit ;;
  1328         -    x86_64:VMkernel:*:*)
  1329         -	echo ${UNAME_MACHINE}-unknown-esx
  1330         -	exit ;;
  1331         -esac
  1332         -
  1333         -#echo '(No uname command or uname output not recognized.)' 1>&2
  1334         -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
  1335         -
  1336         -eval $set_cc_for_build
  1337         -cat >$dummy.c <<EOF
  1338         -#ifdef _SEQUENT_
  1339         -# include <sys/types.h>
  1340         -# include <sys/utsname.h>
  1341         -#endif
  1342         -main ()
  1343         -{
  1344         -#if defined (sony)
  1345         -#if defined (MIPSEB)
  1346         -  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
  1347         -     I don't know....  */
  1348         -  printf ("mips-sony-bsd\n"); exit (0);
  1349         -#else
  1350         -#include <sys/param.h>
  1351         -  printf ("m68k-sony-newsos%s\n",
  1352         -#ifdef NEWSOS4
  1353         -	"4"
  1354         -#else
  1355         -	""
  1356         -#endif
  1357         -	); exit (0);
  1358         -#endif
  1359         -#endif
  1360         -
  1361         -#if defined (__arm) && defined (__acorn) && defined (__unix)
  1362         -  printf ("arm-acorn-riscix\n"); exit (0);
  1363         -#endif
  1364         -
  1365         -#if defined (hp300) && !defined (hpux)
  1366         -  printf ("m68k-hp-bsd\n"); exit (0);
  1367         -#endif
  1368         -
  1369         -#if defined (NeXT)
  1370         -#if !defined (__ARCHITECTURE__)
  1371         -#define __ARCHITECTURE__ "m68k"
  1372         -#endif
  1373         -  int version;
  1374         -  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
  1375         -  if (version < 4)
  1376         -    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  1377         -  else
  1378         -    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
  1379         -  exit (0);
  1380         -#endif
  1381         -
  1382         -#if defined (MULTIMAX) || defined (n16)
  1383         -#if defined (UMAXV)
  1384         -  printf ("ns32k-encore-sysv\n"); exit (0);
  1385         -#else
  1386         -#if defined (CMU)
  1387         -  printf ("ns32k-encore-mach\n"); exit (0);
  1388         -#else
  1389         -  printf ("ns32k-encore-bsd\n"); exit (0);
  1390         -#endif
  1391         -#endif
  1392         -#endif
  1393         -
  1394         -#if defined (__386BSD__)
  1395         -  printf ("i386-pc-bsd\n"); exit (0);
  1396         -#endif
  1397         -
  1398         -#if defined (sequent)
  1399         -#if defined (i386)
  1400         -  printf ("i386-sequent-dynix\n"); exit (0);
  1401         -#endif
  1402         -#if defined (ns32000)
  1403         -  printf ("ns32k-sequent-dynix\n"); exit (0);
  1404         -#endif
  1405         -#endif
  1406         -
  1407         -#if defined (_SEQUENT_)
  1408         -    struct utsname un;
  1409         -
  1410         -    uname(&un);
  1411         -
  1412         -    if (strncmp(un.version, "V2", 2) == 0) {
  1413         -	printf ("i386-sequent-ptx2\n"); exit (0);
  1414         -    }
  1415         -    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
  1416         -	printf ("i386-sequent-ptx1\n"); exit (0);
  1417         -    }
  1418         -    printf ("i386-sequent-ptx\n"); exit (0);
  1419         -
  1420         -#endif
  1421         -
  1422         -#if defined (vax)
  1423         -# if !defined (ultrix)
  1424         -#  include <sys/param.h>
  1425         -#  if defined (BSD)
  1426         -#   if BSD == 43
  1427         -      printf ("vax-dec-bsd4.3\n"); exit (0);
  1428         -#   else
  1429         -#    if BSD == 199006
  1430         -      printf ("vax-dec-bsd4.3reno\n"); exit (0);
  1431         -#    else
  1432         -      printf ("vax-dec-bsd\n"); exit (0);
  1433         -#    endif
  1434         -#   endif
  1435         -#  else
  1436         -    printf ("vax-dec-bsd\n"); exit (0);
  1437         -#  endif
  1438         -# else
  1439         -    printf ("vax-dec-ultrix\n"); exit (0);
  1440         -# endif
  1441         -#endif
  1442         -
  1443         -#if defined (alliant) && defined (i860)
  1444         -  printf ("i860-alliant-bsd\n"); exit (0);
  1445         -#endif
  1446         -
  1447         -  exit (1);
  1448         -}
  1449         -EOF
  1450         -
  1451         -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
  1452         -	{ echo "$SYSTEM_NAME"; exit; }
  1453         -
  1454         -# Apollos put the system type in the environment.
  1455         -
  1456         -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
  1457         -
  1458         -# Convex versions that predate uname can use getsysinfo(1)
  1459         -
  1460         -if [ -x /usr/convex/getsysinfo ]
  1461         -then
  1462         -    case `getsysinfo -f cpu_type` in
  1463         -    c1*)
  1464         -	echo c1-convex-bsd
  1465         -	exit ;;
  1466         -    c2*)
  1467         -	if getsysinfo -f scalar_acc
  1468         -	then echo c32-convex-bsd
  1469         -	else echo c2-convex-bsd
  1470         -	fi
  1471         -	exit ;;
  1472         -    c34*)
  1473         -	echo c34-convex-bsd
  1474         -	exit ;;
  1475         -    c38*)
  1476         -	echo c38-convex-bsd
  1477         -	exit ;;
  1478         -    c4*)
  1479         -	echo c4-convex-bsd
  1480         -	exit ;;
  1481         -    esac
  1482         -fi
  1483         -
  1484         -cat >&2 <<EOF
  1485         -$0: unable to guess system type
  1486         -
  1487         -This script, last modified $timestamp, has failed to recognize
  1488         -the operating system you are using. It is advised that you
  1489         -download the most up to date version of the config scripts from
  1490         -
  1491         -  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
  1492         -and
  1493         -  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
  1494         -
  1495         -If the version you run ($0) is already up to date, please
  1496         -send the following data and any information you think might be
  1497         -pertinent to <config-patches@gnu.org> in order to provide the needed
  1498         -information to handle your system.
  1499         -
  1500         -config.guess timestamp = $timestamp
  1501         -
  1502         -uname -m = `(uname -m) 2>/dev/null || echo unknown`
  1503         -uname -r = `(uname -r) 2>/dev/null || echo unknown`
  1504         -uname -s = `(uname -s) 2>/dev/null || echo unknown`
  1505         -uname -v = `(uname -v) 2>/dev/null || echo unknown`
  1506         -
  1507         -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
  1508         -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
  1509         -
  1510         -hostinfo               = `(hostinfo) 2>/dev/null`
  1511         -/bin/universe          = `(/bin/universe) 2>/dev/null`
  1512         -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
  1513         -/bin/arch              = `(/bin/arch) 2>/dev/null`
  1514         -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
  1515         -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
  1516         -
  1517         -UNAME_MACHINE = ${UNAME_MACHINE}
  1518         -UNAME_RELEASE = ${UNAME_RELEASE}
  1519         -UNAME_SYSTEM  = ${UNAME_SYSTEM}
  1520         -UNAME_VERSION = ${UNAME_VERSION}
  1521         -EOF
  1522         -
  1523         -exit 1
  1524         -
  1525         -# Local variables:
  1526         -# eval: (add-hook 'write-file-hooks 'time-stamp)
  1527         -# time-stamp-start: "timestamp='"
  1528         -# time-stamp-format: "%:y-%02m-%02d"
  1529         -# time-stamp-end: "'"
  1530         -# End:

Deleted autoconf/config.sub.

     1         -#! /bin/sh
     2         -# Configuration validation subroutine script.
     3         -#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
     4         -#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
     5         -#   2011, 2012 Free Software Foundation, Inc.
     6         -
     7         -timestamp='2012-02-10'
     8         -
     9         -# This file is (in principle) common to ALL GNU software.
    10         -# The presence of a machine in this file suggests that SOME GNU software
    11         -# can handle that machine.  It does not imply ALL GNU software can.
    12         -#
    13         -# This file is free software; you can redistribute it and/or modify
    14         -# it under the terms of the GNU General Public License as published by
    15         -# the Free Software Foundation; either version 2 of the License, or
    16         -# (at your option) any later version.
    17         -#
    18         -# This program is distributed in the hope that it will be useful,
    19         -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    20         -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    21         -# GNU General Public License for more details.
    22         -#
    23         -# You should have received a copy of the GNU General Public License
    24         -# along with this program; if not, see <http://www.gnu.org/licenses/>.
    25         -#
    26         -# As a special exception to the GNU General Public License, if you
    27         -# distribute this file as part of a program that contains a
    28         -# configuration script generated by Autoconf, you may include it under
    29         -# the same distribution terms that you use for the rest of that program.
    30         -
    31         -
    32         -# Please send patches to <config-patches@gnu.org>.  Submit a context
    33         -# diff and a properly formatted GNU ChangeLog entry.
    34         -#
    35         -# Configuration subroutine to validate and canonicalize a configuration type.
    36         -# Supply the specified configuration type as an argument.
    37         -# If it is invalid, we print an error message on stderr and exit with code 1.
    38         -# Otherwise, we print the canonical config type on stdout and succeed.
    39         -
    40         -# You can get the latest version of this script from:
    41         -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
    42         -
    43         -# This file is supposed to be the same for all GNU packages
    44         -# and recognize all the CPU types, system types and aliases
    45         -# that are meaningful with *any* GNU software.
    46         -# Each package is responsible for reporting which valid configurations
    47         -# it does not support.  The user should be able to distinguish
    48         -# a failure to support a valid configuration from a meaningless
    49         -# configuration.
    50         -
    51         -# The goal of this file is to map all the various variations of a given
    52         -# machine specification into a single specification in the form:
    53         -#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
    54         -# or in some cases, the newer four-part form:
    55         -#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
    56         -# It is wrong to echo any other type of specification.
    57         -
    58         -me=`echo "$0" | sed -e 's,.*/,,'`
    59         -
    60         -usage="\
    61         -Usage: $0 [OPTION] CPU-MFR-OPSYS
    62         -       $0 [OPTION] ALIAS
    63         -
    64         -Canonicalize a configuration name.
    65         -
    66         -Operation modes:
    67         -  -h, --help         print this help, then exit
    68         -  -t, --time-stamp   print date of last modification, then exit
    69         -  -v, --version      print version number, then exit
    70         -
    71         -Report bugs and patches to <config-patches@gnu.org>."
    72         -
    73         -version="\
    74         -GNU config.sub ($timestamp)
    75         -
    76         -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
    77         -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
    78         -Free Software Foundation, Inc.
    79         -
    80         -This is free software; see the source for copying conditions.  There is NO
    81         -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
    82         -
    83         -help="
    84         -Try \`$me --help' for more information."
    85         -
    86         -# Parse command line
    87         -while test $# -gt 0 ; do
    88         -  case $1 in
    89         -    --time-stamp | --time* | -t )
    90         -       echo "$timestamp" ; exit ;;
    91         -    --version | -v )
    92         -       echo "$version" ; exit ;;
    93         -    --help | --h* | -h )
    94         -       echo "$usage"; exit ;;
    95         -    -- )     # Stop option processing
    96         -       shift; break ;;
    97         -    - )	# Use stdin as input.
    98         -       break ;;
    99         -    -* )
   100         -       echo "$me: invalid option $1$help"
   101         -       exit 1 ;;
   102         -
   103         -    *local*)
   104         -       # First pass through any local machine types.
   105         -       echo $1
   106         -       exit ;;
   107         -
   108         -    * )
   109         -       break ;;
   110         -  esac
   111         -done
   112         -
   113         -case $# in
   114         - 0) echo "$me: missing argument$help" >&2
   115         -    exit 1;;
   116         - 1) ;;
   117         - *) echo "$me: too many arguments$help" >&2
   118         -    exit 1;;
   119         -esac
   120         -
   121         -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
   122         -# Here we must recognize all the valid KERNEL-OS combinations.
   123         -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
   124         -case $maybe_os in
   125         -  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   126         -  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   127         -  knetbsd*-gnu* | netbsd*-gnu* | \
   128         -  kopensolaris*-gnu* | \
   129         -  storm-chaos* | os2-emx* | rtmk-nova*)
   130         -    os=-$maybe_os
   131         -    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
   132         -    ;;
   133         -  android-linux)
   134         -    os=-linux-android
   135         -    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
   136         -    ;;
   137         -  *)
   138         -    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
   139         -    if [ $basic_machine != $1 ]
   140         -    then os=`echo $1 | sed 's/.*-/-/'`
   141         -    else os=; fi
   142         -    ;;
   143         -esac
   144         -
   145         -### Let's recognize common machines as not being operating systems so
   146         -### that things like config.sub decstation-3100 work.  We also
   147         -### recognize some manufacturers as not being operating systems, so we
   148         -### can provide default operating systems below.
   149         -case $os in
   150         -	-sun*os*)
   151         -		# Prevent following clause from handling this invalid input.
   152         -		;;
   153         -	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
   154         -	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
   155         -	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
   156         -	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
   157         -	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
   158         -	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
   159         -	-apple | -axis | -knuth | -cray | -microblaze)
   160         -		os=
   161         -		basic_machine=$1
   162         -		;;
   163         -	-bluegene*)
   164         -		os=-cnk
   165         -		;;
   166         -	-sim | -cisco | -oki | -wec | -winbond)
   167         -		os=
   168         -		basic_machine=$1
   169         -		;;
   170         -	-scout)
   171         -		;;
   172         -	-wrs)
   173         -		os=-vxworks
   174         -		basic_machine=$1
   175         -		;;
   176         -	-chorusos*)
   177         -		os=-chorusos
   178         -		basic_machine=$1
   179         -		;;
   180         -	-chorusrdb)
   181         -		os=-chorusrdb
   182         -		basic_machine=$1
   183         -		;;
   184         -	-hiux*)
   185         -		os=-hiuxwe2
   186         -		;;
   187         -	-sco6)
   188         -		os=-sco5v6
   189         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   190         -		;;
   191         -	-sco5)
   192         -		os=-sco3.2v5
   193         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   194         -		;;
   195         -	-sco4)
   196         -		os=-sco3.2v4
   197         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   198         -		;;
   199         -	-sco3.2.[4-9]*)
   200         -		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
   201         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   202         -		;;
   203         -	-sco3.2v[4-9]*)
   204         -		# Don't forget version if it is 3.2v4 or newer.
   205         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   206         -		;;
   207         -	-sco5v6*)
   208         -		# Don't forget version if it is 3.2v4 or newer.
   209         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   210         -		;;
   211         -	-sco*)
   212         -		os=-sco3.2v2
   213         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   214         -		;;
   215         -	-udk*)
   216         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   217         -		;;
   218         -	-isc)
   219         -		os=-isc2.2
   220         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   221         -		;;
   222         -	-clix*)
   223         -		basic_machine=clipper-intergraph
   224         -		;;
   225         -	-isc*)
   226         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
   227         -		;;
   228         -	-lynx*)
   229         -		os=-lynxos
   230         -		;;
   231         -	-ptx*)
   232         -		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
   233         -		;;
   234         -	-windowsnt*)
   235         -		os=`echo $os | sed -e 's/windowsnt/winnt/'`
   236         -		;;
   237         -	-psos*)
   238         -		os=-psos
   239         -		;;
   240         -	-mint | -mint[0-9]*)
   241         -		basic_machine=m68k-atari
   242         -		os=-mint
   243         -		;;
   244         -esac
   245         -
   246         -# Decode aliases for certain CPU-COMPANY combinations.
   247         -case $basic_machine in
   248         -	# Recognize the basic CPU types without company name.
   249         -	# Some are omitted here because they have special meanings below.
   250         -	1750a | 580 \
   251         -	| a29k \
   252         -	| aarch64 | aarch64_be \
   253         -	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
   254         -	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
   255         -	| am33_2.0 \
   256         -	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
   257         -        | be32 | be64 \
   258         -	| bfin \
   259         -	| c4x | clipper \
   260         -	| d10v | d30v | dlx | dsp16xx \
   261         -	| epiphany \
   262         -	| fido | fr30 | frv \
   263         -	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
   264         -	| hexagon \
   265         -	| i370 | i860 | i960 | ia64 \
   266         -	| ip2k | iq2000 \
   267         -	| le32 | le64 \
   268         -	| lm32 \
   269         -	| m32c | m32r | m32rle | m68000 | m68k | m88k \
   270         -	| maxq | mb | microblaze | mcore | mep | metag \
   271         -	| mips | mipsbe | mipseb | mipsel | mipsle \
   272         -	| mips16 \
   273         -	| mips64 | mips64el \
   274         -	| mips64octeon | mips64octeonel \
   275         -	| mips64orion | mips64orionel \
   276         -	| mips64r5900 | mips64r5900el \
   277         -	| mips64vr | mips64vrel \
   278         -	| mips64vr4100 | mips64vr4100el \
   279         -	| mips64vr4300 | mips64vr4300el \
   280         -	| mips64vr5000 | mips64vr5000el \
   281         -	| mips64vr5900 | mips64vr5900el \
   282         -	| mipsisa32 | mipsisa32el \
   283         -	| mipsisa32r2 | mipsisa32r2el \
   284         -	| mipsisa64 | mipsisa64el \
   285         -	| mipsisa64r2 | mipsisa64r2el \
   286         -	| mipsisa64sb1 | mipsisa64sb1el \
   287         -	| mipsisa64sr71k | mipsisa64sr71kel \
   288         -	| mipstx39 | mipstx39el \
   289         -	| mn10200 | mn10300 \
   290         -	| moxie \
   291         -	| mt \
   292         -	| msp430 \
   293         -	| nds32 | nds32le | nds32be \
   294         -	| nios | nios2 \
   295         -	| ns16k | ns32k \
   296         -	| open8 \
   297         -	| or32 \
   298         -	| pdp10 | pdp11 | pj | pjl \
   299         -	| powerpc | powerpc64 | powerpc64le | powerpcle \
   300         -	| pyramid \
   301         -	| rl78 | rx \
   302         -	| score \
   303         -	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
   304         -	| sh64 | sh64le \
   305         -	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
   306         -	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
   307         -	| spu \
   308         -	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
   309         -	| ubicom32 \
   310         -	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
   311         -	| we32k \
   312         -	| x86 | xc16x | xstormy16 | xtensa \
   313         -	| z8k | z80)
   314         -		basic_machine=$basic_machine-unknown
   315         -		;;
   316         -	c54x)
   317         -		basic_machine=tic54x-unknown
   318         -		;;
   319         -	c55x)
   320         -		basic_machine=tic55x-unknown
   321         -		;;
   322         -	c6x)
   323         -		basic_machine=tic6x-unknown
   324         -		;;
   325         -	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
   326         -		basic_machine=$basic_machine-unknown
   327         -		os=-none
   328         -		;;
   329         -	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
   330         -		;;
   331         -	ms1)
   332         -		basic_machine=mt-unknown
   333         -		;;
   334         -
   335         -	strongarm | thumb | xscale)
   336         -		basic_machine=arm-unknown
   337         -		;;
   338         -	xgate)
   339         -		basic_machine=$basic_machine-unknown
   340         -		os=-none
   341         -		;;
   342         -	xscaleeb)
   343         -		basic_machine=armeb-unknown
   344         -		;;
   345         -
   346         -	xscaleel)
   347         -		basic_machine=armel-unknown
   348         -		;;
   349         -
   350         -	# We use `pc' rather than `unknown'
   351         -	# because (1) that's what they normally are, and
   352         -	# (2) the word "unknown" tends to confuse beginning users.
   353         -	i*86 | x86_64)
   354         -	  basic_machine=$basic_machine-pc
   355         -	  ;;
   356         -	# Object if more than one company name word.
   357         -	*-*-*)
   358         -		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
   359         -		exit 1
   360         -		;;
   361         -	# Recognize the basic CPU types with company name.
   362         -	580-* \
   363         -	| a29k-* \
   364         -	| aarch64-* | aarch64_be-* \
   365         -	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
   366         -	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
   367         -	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
   368         -	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
   369         -	| avr-* | avr32-* \
   370         -	| be32-* | be64-* \
   371         -	| bfin-* | bs2000-* \
   372         -	| c[123]* | c30-* | [cjt]90-* | c4x-* \
   373         -	| clipper-* | craynv-* | cydra-* \
   374         -	| d10v-* | d30v-* | dlx-* \
   375         -	| elxsi-* \
   376         -	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
   377         -	| h8300-* | h8500-* \
   378         -	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
   379         -	| hexagon-* \
   380         -	| i*86-* | i860-* | i960-* | ia64-* \
   381         -	| ip2k-* | iq2000-* \
   382         -	| le32-* | le64-* \
   383         -	| lm32-* \
   384         -	| m32c-* | m32r-* | m32rle-* \
   385         -	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
   386         -	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
   387         -	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
   388         -	| mips16-* \
   389         -	| mips64-* | mips64el-* \
   390         -	| mips64octeon-* | mips64octeonel-* \
   391         -	| mips64orion-* | mips64orionel-* \
   392         -	| mips64r5900-* | mips64r5900el-* \
   393         -	| mips64vr-* | mips64vrel-* \
   394         -	| mips64vr4100-* | mips64vr4100el-* \
   395         -	| mips64vr4300-* | mips64vr4300el-* \
   396         -	| mips64vr5000-* | mips64vr5000el-* \
   397         -	| mips64vr5900-* | mips64vr5900el-* \
   398         -	| mipsisa32-* | mipsisa32el-* \
   399         -	| mipsisa32r2-* | mipsisa32r2el-* \
   400         -	| mipsisa64-* | mipsisa64el-* \
   401         -	| mipsisa64r2-* | mipsisa64r2el-* \
   402         -	| mipsisa64sb1-* | mipsisa64sb1el-* \
   403         -	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
   404         -	| mipstx39-* | mipstx39el-* \
   405         -	| mmix-* \
   406         -	| mt-* \
   407         -	| msp430-* \
   408         -	| nds32-* | nds32le-* | nds32be-* \
   409         -	| nios-* | nios2-* \
   410         -	| none-* | np1-* | ns16k-* | ns32k-* \
   411         -	| open8-* \
   412         -	| orion-* \
   413         -	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
   414         -	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
   415         -	| pyramid-* \
   416         -	| rl78-* | romp-* | rs6000-* | rx-* \
   417         -	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
   418         -	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
   419         -	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
   420         -	| sparclite-* \
   421         -	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
   422         -	| tahoe-* \
   423         -	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
   424         -	| tile*-* \
   425         -	| tron-* \
   426         -	| ubicom32-* \
   427         -	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
   428         -	| vax-* \
   429         -	| we32k-* \
   430         -	| x86-* | x86_64-* | xc16x-* | xps100-* \
   431         -	| xstormy16-* | xtensa*-* \
   432         -	| ymp-* \
   433         -	| z8k-* | z80-*)
   434         -		;;
   435         -	# Recognize the basic CPU types without company name, with glob match.
   436         -	xtensa*)
   437         -		basic_machine=$basic_machine-unknown
   438         -		;;
   439         -	# Recognize the various machine names and aliases which stand
   440         -	# for a CPU type and a company and sometimes even an OS.
   441         -	386bsd)
   442         -		basic_machine=i386-unknown
   443         -		os=-bsd
   444         -		;;
   445         -	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
   446         -		basic_machine=m68000-att
   447         -		;;
   448         -	3b*)
   449         -		basic_machine=we32k-att
   450         -		;;
   451         -	a29khif)
   452         -		basic_machine=a29k-amd
   453         -		os=-udi
   454         -		;;
   455         -	abacus)
   456         -		basic_machine=abacus-unknown
   457         -		;;
   458         -	adobe68k)
   459         -		basic_machine=m68010-adobe
   460         -		os=-scout
   461         -		;;
   462         -	alliant | fx80)
   463         -		basic_machine=fx80-alliant
   464         -		;;
   465         -	altos | altos3068)
   466         -		basic_machine=m68k-altos
   467         -		;;
   468         -	am29k)
   469         -		basic_machine=a29k-none
   470         -		os=-bsd
   471         -		;;
   472         -	amd64)
   473         -		basic_machine=x86_64-pc
   474         -		;;
   475         -	amd64-*)
   476         -		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
   477         -		;;
   478         -	amdahl)
   479         -		basic_machine=580-amdahl
   480         -		os=-sysv
   481         -		;;
   482         -	amiga | amiga-*)
   483         -		basic_machine=m68k-unknown
   484         -		;;
   485         -	amigaos | amigados)
   486         -		basic_machine=m68k-unknown
   487         -		os=-amigaos
   488         -		;;
   489         -	amigaunix | amix)
   490         -		basic_machine=m68k-unknown
   491         -		os=-sysv4
   492         -		;;
   493         -	apollo68)
   494         -		basic_machine=m68k-apollo
   495         -		os=-sysv
   496         -		;;
   497         -	apollo68bsd)
   498         -		basic_machine=m68k-apollo
   499         -		os=-bsd
   500         -		;;
   501         -	aros)
   502         -		basic_machine=i386-pc
   503         -		os=-aros
   504         -		;;
   505         -	aux)
   506         -		basic_machine=m68k-apple
   507         -		os=-aux
   508         -		;;
   509         -	balance)
   510         -		basic_machine=ns32k-sequent
   511         -		os=-dynix
   512         -		;;
   513         -	blackfin)
   514         -		basic_machine=bfin-unknown
   515         -		os=-linux
   516         -		;;
   517         -	blackfin-*)
   518         -		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
   519         -		os=-linux
   520         -		;;
   521         -	bluegene*)
   522         -		basic_machine=powerpc-ibm
   523         -		os=-cnk
   524         -		;;
   525         -	c54x-*)
   526         -		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
   527         -		;;
   528         -	c55x-*)
   529         -		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
   530         -		;;
   531         -	c6x-*)
   532         -		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
   533         -		;;
   534         -	c90)
   535         -		basic_machine=c90-cray
   536         -		os=-unicos
   537         -		;;
   538         -	cegcc)
   539         -		basic_machine=arm-unknown
   540         -		os=-cegcc
   541         -		;;
   542         -	convex-c1)
   543         -		basic_machine=c1-convex
   544         -		os=-bsd
   545         -		;;
   546         -	convex-c2)
   547         -		basic_machine=c2-convex
   548         -		os=-bsd
   549         -		;;
   550         -	convex-c32)
   551         -		basic_machine=c32-convex
   552         -		os=-bsd
   553         -		;;
   554         -	convex-c34)
   555         -		basic_machine=c34-convex
   556         -		os=-bsd
   557         -		;;
   558         -	convex-c38)
   559         -		basic_machine=c38-convex
   560         -		os=-bsd
   561         -		;;
   562         -	cray | j90)
   563         -		basic_machine=j90-cray
   564         -		os=-unicos
   565         -		;;
   566         -	craynv)
   567         -		basic_machine=craynv-cray
   568         -		os=-unicosmp
   569         -		;;
   570         -	cr16 | cr16-*)
   571         -		basic_machine=cr16-unknown
   572         -		os=-elf
   573         -		;;
   574         -	crds | unos)
   575         -		basic_machine=m68k-crds
   576         -		;;
   577         -	crisv32 | crisv32-* | etraxfs*)
   578         -		basic_machine=crisv32-axis
   579         -		;;
   580         -	cris | cris-* | etrax*)
   581         -		basic_machine=cris-axis
   582         -		;;
   583         -	crx)
   584         -		basic_machine=crx-unknown
   585         -		os=-elf
   586         -		;;
   587         -	da30 | da30-*)
   588         -		basic_machine=m68k-da30
   589         -		;;
   590         -	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
   591         -		basic_machine=mips-dec
   592         -		;;
   593         -	decsystem10* | dec10*)
   594         -		basic_machine=pdp10-dec
   595         -		os=-tops10
   596         -		;;
   597         -	decsystem20* | dec20*)
   598         -		basic_machine=pdp10-dec
   599         -		os=-tops20
   600         -		;;
   601         -	delta | 3300 | motorola-3300 | motorola-delta \
   602         -	      | 3300-motorola | delta-motorola)
   603         -		basic_machine=m68k-motorola
   604         -		;;
   605         -	delta88)
   606         -		basic_machine=m88k-motorola
   607         -		os=-sysv3
   608         -		;;
   609         -	dicos)
   610         -		basic_machine=i686-pc
   611         -		os=-dicos
   612         -		;;
   613         -	djgpp)
   614         -		basic_machine=i586-pc
   615         -		os=-msdosdjgpp
   616         -		;;
   617         -	dpx20 | dpx20-*)
   618         -		basic_machine=rs6000-bull
   619         -		os=-bosx
   620         -		;;
   621         -	dpx2* | dpx2*-bull)
   622         -		basic_machine=m68k-bull
   623         -		os=-sysv3
   624         -		;;
   625         -	ebmon29k)
   626         -		basic_machine=a29k-amd
   627         -		os=-ebmon
   628         -		;;
   629         -	elxsi)
   630         -		basic_machine=elxsi-elxsi
   631         -		os=-bsd
   632         -		;;
   633         -	encore | umax | mmax)
   634         -		basic_machine=ns32k-encore
   635         -		;;
   636         -	es1800 | OSE68k | ose68k | ose | OSE)
   637         -		basic_machine=m68k-ericsson
   638         -		os=-ose
   639         -		;;
   640         -	fx2800)
   641         -		basic_machine=i860-alliant
   642         -		;;
   643         -	genix)
   644         -		basic_machine=ns32k-ns
   645         -		;;
   646         -	gmicro)
   647         -		basic_machine=tron-gmicro
   648         -		os=-sysv
   649         -		;;
   650         -	go32)
   651         -		basic_machine=i386-pc
   652         -		os=-go32
   653         -		;;
   654         -	h3050r* | hiux*)
   655         -		basic_machine=hppa1.1-hitachi
   656         -		os=-hiuxwe2
   657         -		;;
   658         -	h8300hms)
   659         -		basic_machine=h8300-hitachi
   660         -		os=-hms
   661         -		;;
   662         -	h8300xray)
   663         -		basic_machine=h8300-hitachi
   664         -		os=-xray
   665         -		;;
   666         -	h8500hms)
   667         -		basic_machine=h8500-hitachi
   668         -		os=-hms
   669         -		;;
   670         -	harris)
   671         -		basic_machine=m88k-harris
   672         -		os=-sysv3
   673         -		;;
   674         -	hp300-*)
   675         -		basic_machine=m68k-hp
   676         -		;;
   677         -	hp300bsd)
   678         -		basic_machine=m68k-hp
   679         -		os=-bsd
   680         -		;;
   681         -	hp300hpux)
   682         -		basic_machine=m68k-hp
   683         -		os=-hpux
   684         -		;;
   685         -	hp3k9[0-9][0-9] | hp9[0-9][0-9])
   686         -		basic_machine=hppa1.0-hp
   687         -		;;
   688         -	hp9k2[0-9][0-9] | hp9k31[0-9])
   689         -		basic_machine=m68000-hp
   690         -		;;
   691         -	hp9k3[2-9][0-9])
   692         -		basic_machine=m68k-hp
   693         -		;;
   694         -	hp9k6[0-9][0-9] | hp6[0-9][0-9])
   695         -		basic_machine=hppa1.0-hp
   696         -		;;
   697         -	hp9k7[0-79][0-9] | hp7[0-79][0-9])
   698         -		basic_machine=hppa1.1-hp
   699         -		;;
   700         -	hp9k78[0-9] | hp78[0-9])
   701         -		# FIXME: really hppa2.0-hp
   702         -		basic_machine=hppa1.1-hp
   703         -		;;
   704         -	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
   705         -		# FIXME: really hppa2.0-hp
   706         -		basic_machine=hppa1.1-hp
   707         -		;;
   708         -	hp9k8[0-9][13679] | hp8[0-9][13679])
   709         -		basic_machine=hppa1.1-hp
   710         -		;;
   711         -	hp9k8[0-9][0-9] | hp8[0-9][0-9])
   712         -		basic_machine=hppa1.0-hp
   713         -		;;
   714         -	hppa-next)
   715         -		os=-nextstep3
   716         -		;;
   717         -	hppaosf)
   718         -		basic_machine=hppa1.1-hp
   719         -		os=-osf
   720         -		;;
   721         -	hppro)
   722         -		basic_machine=hppa1.1-hp
   723         -		os=-proelf
   724         -		;;
   725         -	i370-ibm* | ibm*)
   726         -		basic_machine=i370-ibm
   727         -		;;
   728         -	i*86v32)
   729         -		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   730         -		os=-sysv32
   731         -		;;
   732         -	i*86v4*)
   733         -		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   734         -		os=-sysv4
   735         -		;;
   736         -	i*86v)
   737         -		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   738         -		os=-sysv
   739         -		;;
   740         -	i*86sol2)
   741         -		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
   742         -		os=-solaris2
   743         -		;;
   744         -	i386mach)
   745         -		basic_machine=i386-mach
   746         -		os=-mach
   747         -		;;
   748         -	i386-vsta | vsta)
   749         -		basic_machine=i386-unknown
   750         -		os=-vsta
   751         -		;;
   752         -	iris | iris4d)
   753         -		basic_machine=mips-sgi
   754         -		case $os in
   755         -		    -irix*)
   756         -			;;
   757         -		    *)
   758         -			os=-irix4
   759         -			;;
   760         -		esac
   761         -		;;
   762         -	isi68 | isi)
   763         -		basic_machine=m68k-isi
   764         -		os=-sysv
   765         -		;;
   766         -	m68knommu)
   767         -		basic_machine=m68k-unknown
   768         -		os=-linux
   769         -		;;
   770         -	m68knommu-*)
   771         -		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
   772         -		os=-linux
   773         -		;;
   774         -	m88k-omron*)
   775         -		basic_machine=m88k-omron
   776         -		;;
   777         -	magnum | m3230)
   778         -		basic_machine=mips-mips
   779         -		os=-sysv
   780         -		;;
   781         -	merlin)
   782         -		basic_machine=ns32k-utek
   783         -		os=-sysv
   784         -		;;
   785         -	microblaze)
   786         -		basic_machine=microblaze-xilinx
   787         -		;;
   788         -	mingw32)
   789         -		basic_machine=i386-pc
   790         -		os=-mingw32
   791         -		;;
   792         -	mingw32ce)
   793         -		basic_machine=arm-unknown
   794         -		os=-mingw32ce
   795         -		;;
   796         -	miniframe)
   797         -		basic_machine=m68000-convergent
   798         -		;;
   799         -	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
   800         -		basic_machine=m68k-atari
   801         -		os=-mint
   802         -		;;
   803         -	mips3*-*)
   804         -		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
   805         -		;;
   806         -	mips3*)
   807         -		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
   808         -		;;
   809         -	monitor)
   810         -		basic_machine=m68k-rom68k
   811         -		os=-coff
   812         -		;;
   813         -	morphos)
   814         -		basic_machine=powerpc-unknown
   815         -		os=-morphos
   816         -		;;
   817         -	msdos)
   818         -		basic_machine=i386-pc
   819         -		os=-msdos
   820         -		;;
   821         -	ms1-*)
   822         -		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
   823         -		;;
   824         -	msys)
   825         -		basic_machine=i386-pc
   826         -		os=-msys
   827         -		;;
   828         -	mvs)
   829         -		basic_machine=i370-ibm
   830         -		os=-mvs
   831         -		;;
   832         -	nacl)
   833         -		basic_machine=le32-unknown
   834         -		os=-nacl
   835         -		;;
   836         -	ncr3000)
   837         -		basic_machine=i486-ncr
   838         -		os=-sysv4
   839         -		;;
   840         -	netbsd386)
   841         -		basic_machine=i386-unknown
   842         -		os=-netbsd
   843         -		;;
   844         -	netwinder)
   845         -		basic_machine=armv4l-rebel
   846         -		os=-linux
   847         -		;;
   848         -	news | news700 | news800 | news900)
   849         -		basic_machine=m68k-sony
   850         -		os=-newsos
   851         -		;;
   852         -	news1000)
   853         -		basic_machine=m68030-sony
   854         -		os=-newsos
   855         -		;;
   856         -	news-3600 | risc-news)
   857         -		basic_machine=mips-sony
   858         -		os=-newsos
   859         -		;;
   860         -	necv70)
   861         -		basic_machine=v70-nec
   862         -		os=-sysv
   863         -		;;
   864         -	next | m*-next )
   865         -		basic_machine=m68k-next
   866         -		case $os in
   867         -		    -nextstep* )
   868         -			;;
   869         -		    -ns2*)
   870         -		      os=-nextstep2
   871         -			;;
   872         -		    *)
   873         -		      os=-nextstep3
   874         -			;;
   875         -		esac
   876         -		;;
   877         -	nh3000)
   878         -		basic_machine=m68k-harris
   879         -		os=-cxux
   880         -		;;
   881         -	nh[45]000)
   882         -		basic_machine=m88k-harris
   883         -		os=-cxux
   884         -		;;
   885         -	nindy960)
   886         -		basic_machine=i960-intel
   887         -		os=-nindy
   888         -		;;
   889         -	mon960)
   890         -		basic_machine=i960-intel
   891         -		os=-mon960
   892         -		;;
   893         -	nonstopux)
   894         -		basic_machine=mips-compaq
   895         -		os=-nonstopux
   896         -		;;
   897         -	np1)
   898         -		basic_machine=np1-gould
   899         -		;;
   900         -	neo-tandem)
   901         -		basic_machine=neo-tandem
   902         -		;;
   903         -	nse-tandem)
   904         -		basic_machine=nse-tandem
   905         -		;;
   906         -	nsr-tandem)
   907         -		basic_machine=nsr-tandem
   908         -		;;
   909         -	op50n-* | op60c-*)
   910         -		basic_machine=hppa1.1-oki
   911         -		os=-proelf
   912         -		;;
   913         -	openrisc | openrisc-*)
   914         -		basic_machine=or32-unknown
   915         -		;;
   916         -	os400)
   917         -		basic_machine=powerpc-ibm
   918         -		os=-os400
   919         -		;;
   920         -	OSE68000 | ose68000)
   921         -		basic_machine=m68000-ericsson
   922         -		os=-ose
   923         -		;;
   924         -	os68k)
   925         -		basic_machine=m68k-none
   926         -		os=-os68k
   927         -		;;
   928         -	pa-hitachi)
   929         -		basic_machine=hppa1.1-hitachi
   930         -		os=-hiuxwe2
   931         -		;;
   932         -	paragon)
   933         -		basic_machine=i860-intel
   934         -		os=-osf
   935         -		;;
   936         -	parisc)
   937         -		basic_machine=hppa-unknown
   938         -		os=-linux
   939         -		;;
   940         -	parisc-*)
   941         -		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
   942         -		os=-linux
   943         -		;;
   944         -	pbd)
   945         -		basic_machine=sparc-tti
   946         -		;;
   947         -	pbb)
   948         -		basic_machine=m68k-tti
   949         -		;;
   950         -	pc532 | pc532-*)
   951         -		basic_machine=ns32k-pc532
   952         -		;;
   953         -	pc98)
   954         -		basic_machine=i386-pc
   955         -		;;
   956         -	pc98-*)
   957         -		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
   958         -		;;
   959         -	pentium | p5 | k5 | k6 | nexgen | viac3)
   960         -		basic_machine=i586-pc
   961         -		;;
   962         -	pentiumpro | p6 | 6x86 | athlon | athlon_*)
   963         -		basic_machine=i686-pc
   964         -		;;
   965         -	pentiumii | pentium2 | pentiumiii | pentium3)
   966         -		basic_machine=i686-pc
   967         -		;;
   968         -	pentium4)
   969         -		basic_machine=i786-pc
   970         -		;;
   971         -	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
   972         -		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
   973         -		;;
   974         -	pentiumpro-* | p6-* | 6x86-* | athlon-*)
   975         -		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   976         -		;;
   977         -	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
   978         -		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
   979         -		;;
   980         -	pentium4-*)
   981         -		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
   982         -		;;
   983         -	pn)
   984         -		basic_machine=pn-gould
   985         -		;;
   986         -	power)	basic_machine=power-ibm
   987         -		;;
   988         -	ppc | ppcbe)	basic_machine=powerpc-unknown
   989         -		;;
   990         -	ppc-* | ppcbe-*)
   991         -		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
   992         -		;;
   993         -	ppcle | powerpclittle | ppc-le | powerpc-little)
   994         -		basic_machine=powerpcle-unknown
   995         -		;;
   996         -	ppcle-* | powerpclittle-*)
   997         -		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
   998         -		;;
   999         -	ppc64)	basic_machine=powerpc64-unknown
  1000         -		;;
  1001         -	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
  1002         -		;;
  1003         -	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
  1004         -		basic_machine=powerpc64le-unknown
  1005         -		;;
  1006         -	ppc64le-* | powerpc64little-*)
  1007         -		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
  1008         -		;;
  1009         -	ps2)
  1010         -		basic_machine=i386-ibm
  1011         -		;;
  1012         -	pw32)
  1013         -		basic_machine=i586-unknown
  1014         -		os=-pw32
  1015         -		;;
  1016         -	rdos)
  1017         -		basic_machine=i386-pc
  1018         -		os=-rdos
  1019         -		;;
  1020         -	rom68k)
  1021         -		basic_machine=m68k-rom68k
  1022         -		os=-coff
  1023         -		;;
  1024         -	rm[46]00)
  1025         -		basic_machine=mips-siemens
  1026         -		;;
  1027         -	rtpc | rtpc-*)
  1028         -		basic_machine=romp-ibm
  1029         -		;;
  1030         -	s390 | s390-*)
  1031         -		basic_machine=s390-ibm
  1032         -		;;
  1033         -	s390x | s390x-*)
  1034         -		basic_machine=s390x-ibm
  1035         -		;;
  1036         -	sa29200)
  1037         -		basic_machine=a29k-amd
  1038         -		os=-udi
  1039         -		;;
  1040         -	sb1)
  1041         -		basic_machine=mipsisa64sb1-unknown
  1042         -		;;
  1043         -	sb1el)
  1044         -		basic_machine=mipsisa64sb1el-unknown
  1045         -		;;
  1046         -	sde)
  1047         -		basic_machine=mipsisa32-sde
  1048         -		os=-elf
  1049         -		;;
  1050         -	sei)
  1051         -		basic_machine=mips-sei
  1052         -		os=-seiux
  1053         -		;;
  1054         -	sequent)
  1055         -		basic_machine=i386-sequent
  1056         -		;;
  1057         -	sh)
  1058         -		basic_machine=sh-hitachi
  1059         -		os=-hms
  1060         -		;;
  1061         -	sh5el)
  1062         -		basic_machine=sh5le-unknown
  1063         -		;;
  1064         -	sh64)
  1065         -		basic_machine=sh64-unknown
  1066         -		;;
  1067         -	sparclite-wrs | simso-wrs)
  1068         -		basic_machine=sparclite-wrs
  1069         -		os=-vxworks
  1070         -		;;
  1071         -	sps7)
  1072         -		basic_machine=m68k-bull
  1073         -		os=-sysv2
  1074         -		;;
  1075         -	spur)
  1076         -		basic_machine=spur-unknown
  1077         -		;;
  1078         -	st2000)
  1079         -		basic_machine=m68k-tandem
  1080         -		;;
  1081         -	stratus)
  1082         -		basic_machine=i860-stratus
  1083         -		os=-sysv4
  1084         -		;;
  1085         -	strongarm-* | thumb-*)
  1086         -		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
  1087         -		;;
  1088         -	sun2)
  1089         -		basic_machine=m68000-sun
  1090         -		;;
  1091         -	sun2os3)
  1092         -		basic_machine=m68000-sun
  1093         -		os=-sunos3
  1094         -		;;
  1095         -	sun2os4)
  1096         -		basic_machine=m68000-sun
  1097         -		os=-sunos4
  1098         -		;;
  1099         -	sun3os3)
  1100         -		basic_machine=m68k-sun
  1101         -		os=-sunos3
  1102         -		;;
  1103         -	sun3os4)
  1104         -		basic_machine=m68k-sun
  1105         -		os=-sunos4
  1106         -		;;
  1107         -	sun4os3)
  1108         -		basic_machine=sparc-sun
  1109         -		os=-sunos3
  1110         -		;;
  1111         -	sun4os4)
  1112         -		basic_machine=sparc-sun
  1113         -		os=-sunos4
  1114         -		;;
  1115         -	sun4sol2)
  1116         -		basic_machine=sparc-sun
  1117         -		os=-solaris2
  1118         -		;;
  1119         -	sun3 | sun3-*)
  1120         -		basic_machine=m68k-sun
  1121         -		;;
  1122         -	sun4)
  1123         -		basic_machine=sparc-sun
  1124         -		;;
  1125         -	sun386 | sun386i | roadrunner)
  1126         -		basic_machine=i386-sun
  1127         -		;;
  1128         -	sv1)
  1129         -		basic_machine=sv1-cray
  1130         -		os=-unicos
  1131         -		;;
  1132         -	symmetry)
  1133         -		basic_machine=i386-sequent
  1134         -		os=-dynix
  1135         -		;;
  1136         -	t3e)
  1137         -		basic_machine=alphaev5-cray
  1138         -		os=-unicos
  1139         -		;;
  1140         -	t90)
  1141         -		basic_machine=t90-cray
  1142         -		os=-unicos
  1143         -		;;
  1144         -	tile*)
  1145         -		basic_machine=$basic_machine-unknown
  1146         -		os=-linux-gnu
  1147         -		;;
  1148         -	tx39)
  1149         -		basic_machine=mipstx39-unknown
  1150         -		;;
  1151         -	tx39el)
  1152         -		basic_machine=mipstx39el-unknown
  1153         -		;;
  1154         -	toad1)
  1155         -		basic_machine=pdp10-xkl
  1156         -		os=-tops20
  1157         -		;;
  1158         -	tower | tower-32)
  1159         -		basic_machine=m68k-ncr
  1160         -		;;
  1161         -	tpf)
  1162         -		basic_machine=s390x-ibm
  1163         -		os=-tpf
  1164         -		;;
  1165         -	udi29k)
  1166         -		basic_machine=a29k-amd
  1167         -		os=-udi
  1168         -		;;
  1169         -	ultra3)
  1170         -		basic_machine=a29k-nyu
  1171         -		os=-sym1
  1172         -		;;
  1173         -	v810 | necv810)
  1174         -		basic_machine=v810-nec
  1175         -		os=-none
  1176         -		;;
  1177         -	vaxv)
  1178         -		basic_machine=vax-dec
  1179         -		os=-sysv
  1180         -		;;
  1181         -	vms)
  1182         -		basic_machine=vax-dec
  1183         -		os=-vms
  1184         -		;;
  1185         -	vpp*|vx|vx-*)
  1186         -		basic_machine=f301-fujitsu
  1187         -		;;
  1188         -	vxworks960)
  1189         -		basic_machine=i960-wrs
  1190         -		os=-vxworks
  1191         -		;;
  1192         -	vxworks68)
  1193         -		basic_machine=m68k-wrs
  1194         -		os=-vxworks
  1195         -		;;
  1196         -	vxworks29k)
  1197         -		basic_machine=a29k-wrs
  1198         -		os=-vxworks
  1199         -		;;
  1200         -	w65*)
  1201         -		basic_machine=w65-wdc
  1202         -		os=-none
  1203         -		;;
  1204         -	w89k-*)
  1205         -		basic_machine=hppa1.1-winbond
  1206         -		os=-proelf
  1207         -		;;
  1208         -	xbox)
  1209         -		basic_machine=i686-pc
  1210         -		os=-mingw32
  1211         -		;;
  1212         -	xps | xps100)
  1213         -		basic_machine=xps100-honeywell
  1214         -		;;
  1215         -	xscale-* | xscalee[bl]-*)
  1216         -		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
  1217         -		;;
  1218         -	ymp)
  1219         -		basic_machine=ymp-cray
  1220         -		os=-unicos
  1221         -		;;
  1222         -	z8k-*-coff)
  1223         -		basic_machine=z8k-unknown
  1224         -		os=-sim
  1225         -		;;
  1226         -	z80-*-coff)
  1227         -		basic_machine=z80-unknown
  1228         -		os=-sim
  1229         -		;;
  1230         -	none)
  1231         -		basic_machine=none-none
  1232         -		os=-none
  1233         -		;;
  1234         -
  1235         -# Here we handle the default manufacturer of certain CPU types.  It is in
  1236         -# some cases the only manufacturer, in others, it is the most popular.
  1237         -	w89k)
  1238         -		basic_machine=hppa1.1-winbond
  1239         -		;;
  1240         -	op50n)
  1241         -		basic_machine=hppa1.1-oki
  1242         -		;;
  1243         -	op60c)
  1244         -		basic_machine=hppa1.1-oki
  1245         -		;;
  1246         -	romp)
  1247         -		basic_machine=romp-ibm
  1248         -		;;
  1249         -	mmix)
  1250         -		basic_machine=mmix-knuth
  1251         -		;;
  1252         -	rs6000)
  1253         -		basic_machine=rs6000-ibm
  1254         -		;;
  1255         -	vax)
  1256         -		basic_machine=vax-dec
  1257         -		;;
  1258         -	pdp10)
  1259         -		# there are many clones, so DEC is not a safe bet
  1260         -		basic_machine=pdp10-unknown
  1261         -		;;
  1262         -	pdp11)
  1263         -		basic_machine=pdp11-dec
  1264         -		;;
  1265         -	we32k)
  1266         -		basic_machine=we32k-att
  1267         -		;;
  1268         -	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
  1269         -		basic_machine=sh-unknown
  1270         -		;;
  1271         -	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
  1272         -		basic_machine=sparc-sun
  1273         -		;;
  1274         -	cydra)
  1275         -		basic_machine=cydra-cydrome
  1276         -		;;
  1277         -	orion)
  1278         -		basic_machine=orion-highlevel
  1279         -		;;
  1280         -	orion105)
  1281         -		basic_machine=clipper-highlevel
  1282         -		;;
  1283         -	mac | mpw | mac-mpw)
  1284         -		basic_machine=m68k-apple
  1285         -		;;
  1286         -	pmac | pmac-mpw)
  1287         -		basic_machine=powerpc-apple
  1288         -		;;
  1289         -	*-unknown)
  1290         -		# Make sure to match an already-canonicalized machine name.
  1291         -		;;
  1292         -	*)
  1293         -		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  1294         -		exit 1
  1295         -		;;
  1296         -esac
  1297         -
  1298         -# Here we canonicalize certain aliases for manufacturers.
  1299         -case $basic_machine in
  1300         -	*-digital*)
  1301         -		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
  1302         -		;;
  1303         -	*-commodore*)
  1304         -		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
  1305         -		;;
  1306         -	*)
  1307         -		;;
  1308         -esac
  1309         -
  1310         -# Decode manufacturer-specific aliases for certain operating systems.
  1311         -
  1312         -if [ x"$os" != x"" ]
  1313         -then
  1314         -case $os in
  1315         -	# First match some system type aliases
  1316         -	# that might get confused with valid system types.
  1317         -	# -solaris* is a basic system type, with this one exception.
  1318         -	-auroraux)
  1319         -		os=-auroraux
  1320         -		;;
  1321         -	-solaris1 | -solaris1.*)
  1322         -		os=`echo $os | sed -e 's|solaris1|sunos4|'`
  1323         -		;;
  1324         -	-solaris)
  1325         -		os=-solaris2
  1326         -		;;
  1327         -	-svr4*)
  1328         -		os=-sysv4
  1329         -		;;
  1330         -	-unixware*)
  1331         -		os=-sysv4.2uw
  1332         -		;;
  1333         -	-gnu/linux*)
  1334         -		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
  1335         -		;;
  1336         -	# First accept the basic system types.
  1337         -	# The portable systems comes first.
  1338         -	# Each alternative MUST END IN A *, to match a version number.
  1339         -	# -sysv* is not here because it comes later, after sysvr4.
  1340         -	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  1341         -	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
  1342         -	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
  1343         -	      | -sym* | -kopensolaris* \
  1344         -	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
  1345         -	      | -aos* | -aros* \
  1346         -	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  1347         -	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
  1348         -	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
  1349         -	      | -openbsd* | -solidbsd* \
  1350         -	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
  1351         -	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  1352         -	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  1353         -	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  1354         -	      | -chorusos* | -chorusrdb* | -cegcc* \
  1355         -	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
  1356         -	      | -mingw32* | -linux-gnu* | -linux-android* \
  1357         -	      | -linux-newlib* | -linux-uclibc* \
  1358         -	      | -uxpv* | -beos* | -mpeix* | -udk* \
  1359         -	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
  1360         -	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
  1361         -	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  1362         -	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  1363         -	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
  1364         -	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
  1365         -	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
  1366         -	# Remember, each alternative MUST END IN *, to match a version number.
  1367         -		;;
  1368         -	-qnx*)
  1369         -		case $basic_machine in
  1370         -		    x86-* | i*86-*)
  1371         -			;;
  1372         -		    *)
  1373         -			os=-nto$os
  1374         -			;;
  1375         -		esac
  1376         -		;;
  1377         -	-nto-qnx*)
  1378         -		;;
  1379         -	-nto*)
  1380         -		os=`echo $os | sed -e 's|nto|nto-qnx|'`
  1381         -		;;
  1382         -	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
  1383         -	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
  1384         -	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
  1385         -		;;
  1386         -	-mac*)
  1387         -		os=`echo $os | sed -e 's|mac|macos|'`
  1388         -		;;
  1389         -	-linux-dietlibc)
  1390         -		os=-linux-dietlibc
  1391         -		;;
  1392         -	-linux*)
  1393         -		os=`echo $os | sed -e 's|linux|linux-gnu|'`
  1394         -		;;
  1395         -	-sunos5*)
  1396         -		os=`echo $os | sed -e 's|sunos5|solaris2|'`
  1397         -		;;
  1398         -	-sunos6*)
  1399         -		os=`echo $os | sed -e 's|sunos6|solaris3|'`
  1400         -		;;
  1401         -	-opened*)
  1402         -		os=-openedition
  1403         -		;;
  1404         -	-os400*)
  1405         -		os=-os400
  1406         -		;;
  1407         -	-wince*)
  1408         -		os=-wince
  1409         -		;;
  1410         -	-osfrose*)
  1411         -		os=-osfrose
  1412         -		;;
  1413         -	-osf*)
  1414         -		os=-osf
  1415         -		;;
  1416         -	-utek*)
  1417         -		os=-bsd
  1418         -		;;
  1419         -	-dynix*)
  1420         -		os=-bsd
  1421         -		;;
  1422         -	-acis*)
  1423         -		os=-aos
  1424         -		;;
  1425         -	-atheos*)
  1426         -		os=-atheos
  1427         -		;;
  1428         -	-syllable*)
  1429         -		os=-syllable
  1430         -		;;
  1431         -	-386bsd)
  1432         -		os=-bsd
  1433         -		;;
  1434         -	-ctix* | -uts*)
  1435         -		os=-sysv
  1436         -		;;
  1437         -	-nova*)
  1438         -		os=-rtmk-nova
  1439         -		;;
  1440         -	-ns2 )
  1441         -		os=-nextstep2
  1442         -		;;
  1443         -	-nsk*)
  1444         -		os=-nsk
  1445         -		;;
  1446         -	# Preserve the version number of sinix5.
  1447         -	-sinix5.*)
  1448         -		os=`echo $os | sed -e 's|sinix|sysv|'`
  1449         -		;;
  1450         -	-sinix*)
  1451         -		os=-sysv4
  1452         -		;;
  1453         -	-tpf*)
  1454         -		os=-tpf
  1455         -		;;
  1456         -	-triton*)
  1457         -		os=-sysv3
  1458         -		;;
  1459         -	-oss*)
  1460         -		os=-sysv3
  1461         -		;;
  1462         -	-svr4)
  1463         -		os=-sysv4
  1464         -		;;
  1465         -	-svr3)
  1466         -		os=-sysv3
  1467         -		;;
  1468         -	-sysvr4)
  1469         -		os=-sysv4
  1470         -		;;
  1471         -	# This must come after -sysvr4.
  1472         -	-sysv*)
  1473         -		;;
  1474         -	-ose*)
  1475         -		os=-ose
  1476         -		;;
  1477         -	-es1800*)
  1478         -		os=-ose
  1479         -		;;
  1480         -	-xenix)
  1481         -		os=-xenix
  1482         -		;;
  1483         -	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  1484         -		os=-mint
  1485         -		;;
  1486         -	-aros*)
  1487         -		os=-aros
  1488         -		;;
  1489         -	-kaos*)
  1490         -		os=-kaos
  1491         -		;;
  1492         -	-zvmoe)
  1493         -		os=-zvmoe
  1494         -		;;
  1495         -	-dicos*)
  1496         -		os=-dicos
  1497         -		;;
  1498         -	-nacl*)
  1499         -		;;
  1500         -	-none)
  1501         -		;;
  1502         -	*)
  1503         -		# Get rid of the `-' at the beginning of $os.
  1504         -		os=`echo $os | sed 's/[^-]*-//'`
  1505         -		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
  1506         -		exit 1
  1507         -		;;
  1508         -esac
  1509         -else
  1510         -
  1511         -# Here we handle the default operating systems that come with various machines.
  1512         -# The value should be what the vendor currently ships out the door with their
  1513         -# machine or put another way, the most popular os provided with the machine.
  1514         -
  1515         -# Note that if you're going to try to match "-MANUFACTURER" here (say,
  1516         -# "-sun"), then you have to tell the case statement up towards the top
  1517         -# that MANUFACTURER isn't an operating system.  Otherwise, code above
  1518         -# will signal an error saying that MANUFACTURER isn't an operating
  1519         -# system, and we'll never get to this point.
  1520         -
  1521         -case $basic_machine in
  1522         -	score-*)
  1523         -		os=-elf
  1524         -		;;
  1525         -	spu-*)
  1526         -		os=-elf
  1527         -		;;
  1528         -	*-acorn)
  1529         -		os=-riscix1.2
  1530         -		;;
  1531         -	arm*-rebel)
  1532         -		os=-linux
  1533         -		;;
  1534         -	arm*-semi)
  1535         -		os=-aout
  1536         -		;;
  1537         -	c4x-* | tic4x-*)
  1538         -		os=-coff
  1539         -		;;
  1540         -	tic54x-*)
  1541         -		os=-coff
  1542         -		;;
  1543         -	tic55x-*)
  1544         -		os=-coff
  1545         -		;;
  1546         -	tic6x-*)
  1547         -		os=-coff
  1548         -		;;
  1549         -	# This must come before the *-dec entry.
  1550         -	pdp10-*)
  1551         -		os=-tops20
  1552         -		;;
  1553         -	pdp11-*)
  1554         -		os=-none
  1555         -		;;
  1556         -	*-dec | vax-*)
  1557         -		os=-ultrix4.2
  1558         -		;;
  1559         -	m68*-apollo)
  1560         -		os=-domain
  1561         -		;;
  1562         -	i386-sun)
  1563         -		os=-sunos4.0.2
  1564         -		;;
  1565         -	m68000-sun)
  1566         -		os=-sunos3
  1567         -		;;
  1568         -	m68*-cisco)
  1569         -		os=-aout
  1570         -		;;
  1571         -	mep-*)
  1572         -		os=-elf
  1573         -		;;
  1574         -	mips*-cisco)
  1575         -		os=-elf
  1576         -		;;
  1577         -	mips*-*)
  1578         -		os=-elf
  1579         -		;;
  1580         -	or32-*)
  1581         -		os=-coff
  1582         -		;;
  1583         -	*-tti)	# must be before sparc entry or we get the wrong os.
  1584         -		os=-sysv3
  1585         -		;;
  1586         -	sparc-* | *-sun)
  1587         -		os=-sunos4.1.1
  1588         -		;;
  1589         -	*-be)
  1590         -		os=-beos
  1591         -		;;
  1592         -	*-haiku)
  1593         -		os=-haiku
  1594         -		;;
  1595         -	*-ibm)
  1596         -		os=-aix
  1597         -		;;
  1598         -	*-knuth)
  1599         -		os=-mmixware
  1600         -		;;
  1601         -	*-wec)
  1602         -		os=-proelf
  1603         -		;;
  1604         -	*-winbond)
  1605         -		os=-proelf
  1606         -		;;
  1607         -	*-oki)
  1608         -		os=-proelf
  1609         -		;;
  1610         -	*-hp)
  1611         -		os=-hpux
  1612         -		;;
  1613         -	*-hitachi)
  1614         -		os=-hiux
  1615         -		;;
  1616         -	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
  1617         -		os=-sysv
  1618         -		;;
  1619         -	*-cbm)
  1620         -		os=-amigaos
  1621         -		;;
  1622         -	*-dg)
  1623         -		os=-dgux
  1624         -		;;
  1625         -	*-dolphin)
  1626         -		os=-sysv3
  1627         -		;;
  1628         -	m68k-ccur)
  1629         -		os=-rtu
  1630         -		;;
  1631         -	m88k-omron*)
  1632         -		os=-luna
  1633         -		;;
  1634         -	*-next )
  1635         -		os=-nextstep
  1636         -		;;
  1637         -	*-sequent)
  1638         -		os=-ptx
  1639         -		;;
  1640         -	*-crds)
  1641         -		os=-unos
  1642         -		;;
  1643         -	*-ns)
  1644         -		os=-genix
  1645         -		;;
  1646         -	i370-*)
  1647         -		os=-mvs
  1648         -		;;
  1649         -	*-next)
  1650         -		os=-nextstep3
  1651         -		;;
  1652         -	*-gould)
  1653         -		os=-sysv
  1654         -		;;
  1655         -	*-highlevel)
  1656         -		os=-bsd
  1657         -		;;
  1658         -	*-encore)
  1659         -		os=-bsd
  1660         -		;;
  1661         -	*-sgi)
  1662         -		os=-irix
  1663         -		;;
  1664         -	*-siemens)
  1665         -		os=-sysv4
  1666         -		;;
  1667         -	*-masscomp)
  1668         -		os=-rtu
  1669         -		;;
  1670         -	f30[01]-fujitsu | f700-fujitsu)
  1671         -		os=-uxpv
  1672         -		;;
  1673         -	*-rom68k)
  1674         -		os=-coff
  1675         -		;;
  1676         -	*-*bug)
  1677         -		os=-coff
  1678         -		;;
  1679         -	*-apple)
  1680         -		os=-macos
  1681         -		;;
  1682         -	*-atari*)
  1683         -		os=-mint
  1684         -		;;
  1685         -	*)
  1686         -		os=-none
  1687         -		;;
  1688         -esac
  1689         -fi
  1690         -
  1691         -# Here we handle the case where we know the os, and the CPU type, but not the
  1692         -# manufacturer.  We pick the logical manufacturer.
  1693         -vendor=unknown
  1694         -case $basic_machine in
  1695         -	*-unknown)
  1696         -		case $os in
  1697         -			-riscix*)
  1698         -				vendor=acorn
  1699         -				;;
  1700         -			-sunos*)
  1701         -				vendor=sun
  1702         -				;;
  1703         -			-cnk*|-aix*)
  1704         -				vendor=ibm
  1705         -				;;
  1706         -			-beos*)
  1707         -				vendor=be
  1708         -				;;
  1709         -			-hpux*)
  1710         -				vendor=hp
  1711         -				;;
  1712         -			-mpeix*)
  1713         -				vendor=hp
  1714         -				;;
  1715         -			-hiux*)
  1716         -				vendor=hitachi
  1717         -				;;
  1718         -			-unos*)
  1719         -				vendor=crds
  1720         -				;;
  1721         -			-dgux*)
  1722         -				vendor=dg
  1723         -				;;
  1724         -			-luna*)
  1725         -				vendor=omron
  1726         -				;;
  1727         -			-genix*)
  1728         -				vendor=ns
  1729         -				;;
  1730         -			-mvs* | -opened*)
  1731         -				vendor=ibm
  1732         -				;;
  1733         -			-os400*)
  1734         -				vendor=ibm
  1735         -				;;
  1736         -			-ptx*)
  1737         -				vendor=sequent
  1738         -				;;
  1739         -			-tpf*)
  1740         -				vendor=ibm
  1741         -				;;
  1742         -			-vxsim* | -vxworks* | -windiss*)
  1743         -				vendor=wrs
  1744         -				;;
  1745         -			-aux*)
  1746         -				vendor=apple
  1747         -				;;
  1748         -			-hms*)
  1749         -				vendor=hitachi
  1750         -				;;
  1751         -			-mpw* | -macos*)
  1752         -				vendor=apple
  1753         -				;;
  1754         -			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  1755         -				vendor=atari
  1756         -				;;
  1757         -			-vos*)
  1758         -				vendor=stratus
  1759         -				;;
  1760         -		esac
  1761         -		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
  1762         -		;;
  1763         -esac
  1764         -
  1765         -echo $basic_machine$os
  1766         -exit
  1767         -
  1768         -# Local variables:
  1769         -# eval: (add-hook 'write-file-hooks 'time-stamp)
  1770         -# time-stamp-start: "timestamp='"
  1771         -# time-stamp-format: "%:y-%02m-%02d"
  1772         -# time-stamp-end: "'"
  1773         -# End:

Changes to autoconf/configure.ac.

     6      6   #   --enable-readline
     7      7   #   --enable-editline
     8      8   #   --enable-static-shell
     9      9   #   --enable-dynamic-extensions
    10     10   #
    11     11   
    12     12   AC_PREREQ(2.61)
    13         -AC_INIT(sqlite, 3.7.5, http://www.sqlite.org)
           13  +AC_INIT(sqlite, --SQLITE-VERSION--, http://www.sqlite.org)
    14     14   AC_CONFIG_SRCDIR([sqlite3.c])
    15     15   
    16     16   # Use automake.
    17     17   AM_INIT_AUTOMAKE([foreign])
    18     18   
    19     19   AC_SYS_LARGEFILE
    20     20   
................................................................................
    45     45   if test x"$enable_editline" != xno ; then
    46     46     sLIBS=$LIBS
    47     47     LIBS=""
    48     48     AC_SEARCH_LIBS([readline],[edit],[enable_readline=no],[enable_editline=no])
    49     49     READLINE_LIBS=$LIBS
    50     50     if test x"$LIBS" != "x"; then
    51     51        AC_DEFINE([HAVE_EDITLINE],1,Define to use BSD editline)
           52  +  else
           53  +    unset ac_cv_search_readline
    52     54     fi
    53     55     LIBS=$sLIBS
    54     56   fi
    55     57   if test x"$enable_readline" != xno ; then
    56     58     sLIBS=$LIBS
    57     59     LIBS=""
    58     60     AC_SEARCH_LIBS(tgetent, curses ncurses ncursesw, [], [])
................................................................................
    70     72   AC_ARG_ENABLE(threadsafe, [AS_HELP_STRING(
    71     73     [--enable-threadsafe], [build a thread-safe library [default=yes]])], 
    72     74     [], [enable_threadsafe=yes])
    73     75   THREADSAFE_FLAGS=-DSQLITE_THREADSAFE=0
    74     76   if test x"$enable_threadsafe" != "xno"; then
    75     77     THREADSAFE_FLAGS="-D_REENTRANT=1 -DSQLITE_THREADSAFE=1"
    76     78     AC_SEARCH_LIBS(pthread_create, pthread)
           79  +  AC_SEARCH_LIBS(pthread_mutexattr_init, pthread)
    77     80   fi
    78     81   AC_SUBST(THREADSAFE_FLAGS)
    79     82   #-----------------------------------------------------------------------
    80     83   
    81     84   #-----------------------------------------------------------------------
    82     85   #   --enable-dynamic-extensions
    83     86   #

Deleted autoconf/depcomp.

     1         -#! /bin/sh
     2         -# depcomp - compile a program generating dependencies as side-effects
     3         -
     4         -scriptversion=2012-03-27.16; # UTC
     5         -
     6         -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
     7         -# 2011, 2012 Free Software Foundation, Inc.
     8         -
     9         -# This program is free software; you can redistribute it and/or modify
    10         -# it under the terms of the GNU General Public License as published by
    11         -# the Free Software Foundation; either version 2, or (at your option)
    12         -# any later version.
    13         -
    14         -# This program is distributed in the hope that it will be useful,
    15         -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    16         -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    17         -# GNU General Public License for more details.
    18         -
    19         -# You should have received a copy of the GNU General Public License
    20         -# along with this program.  If not, see <http://www.gnu.org/licenses/>.
    21         -
    22         -# As a special exception to the GNU General Public License, if you
    23         -# distribute this file as part of a program that contains a
    24         -# configuration script generated by Autoconf, you may include it under
    25         -# the same distribution terms that you use for the rest of that program.
    26         -
    27         -# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
    28         -
    29         -case $1 in
    30         -  '')
    31         -     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
    32         -     exit 1;
    33         -     ;;
    34         -  -h | --h*)
    35         -    cat <<\EOF
    36         -Usage: depcomp [--help] [--version] PROGRAM [ARGS]
    37         -
    38         -Run PROGRAMS ARGS to compile a file, generating dependencies
    39         -as side-effects.
    40         -
    41         -Environment variables:
    42         -  depmode     Dependency tracking mode.
    43         -  source      Source file read by 'PROGRAMS ARGS'.
    44         -  object      Object file output by 'PROGRAMS ARGS'.
    45         -  DEPDIR      directory where to store dependencies.
    46         -  depfile     Dependency file to output.
    47         -  tmpdepfile  Temporary file to use when outputting dependencies.
    48         -  libtool     Whether libtool is used (yes/no).
    49         -
    50         -Report bugs to <bug-automake@gnu.org>.
    51         -EOF
    52         -    exit $?
    53         -    ;;
    54         -  -v | --v*)
    55         -    echo "depcomp $scriptversion"
    56         -    exit $?
    57         -    ;;
    58         -esac
    59         -
    60         -# A tabulation character.
    61         -tab='	'
    62         -# A newline character.
    63         -nl='
    64         -'
    65         -
    66         -if test -z "$depmode" || test -z "$source" || test -z "$object"; then
    67         -  echo "depcomp: Variables source, object and depmode must be set" 1>&2
    68         -  exit 1
    69         -fi
    70         -
    71         -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
    72         -depfile=${depfile-`echo "$object" |
    73         -  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
    74         -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
    75         -
    76         -rm -f "$tmpdepfile"
    77         -
    78         -# Some modes work just like other modes, but use different flags.  We
    79         -# parameterize here, but still list the modes in the big case below,
    80         -# to make depend.m4 easier to write.  Note that we *cannot* use a case
    81         -# here, because this file can only contain one case statement.
    82         -if test "$depmode" = hp; then
    83         -  # HP compiler uses -M and no extra arg.
    84         -  gccflag=-M
    85         -  depmode=gcc
    86         -fi
    87         -
    88         -if test "$depmode" = dashXmstdout; then
    89         -   # This is just like dashmstdout with a different argument.
    90         -   dashmflag=-xM
    91         -   depmode=dashmstdout
    92         -fi
    93         -
    94         -cygpath_u="cygpath -u -f -"
    95         -if test "$depmode" = msvcmsys; then
    96         -   # This is just like msvisualcpp but w/o cygpath translation.
    97         -   # Just convert the backslash-escaped backslashes to single forward
    98         -   # slashes to satisfy depend.m4
    99         -   cygpath_u='sed s,\\\\,/,g'
   100         -   depmode=msvisualcpp
   101         -fi
   102         -
   103         -if test "$depmode" = msvc7msys; then
   104         -   # This is just like msvc7 but w/o cygpath translation.
   105         -   # Just convert the backslash-escaped backslashes to single forward
   106         -   # slashes to satisfy depend.m4
   107         -   cygpath_u='sed s,\\\\,/,g'
   108         -   depmode=msvc7
   109         -fi
   110         -
   111         -if test "$depmode" = xlc; then
   112         -   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
   113         -   gccflag=-qmakedep=gcc,-MF
   114         -   depmode=gcc
   115         -fi
   116         -
   117         -case "$depmode" in
   118         -gcc3)
   119         -## gcc 3 implements dependency tracking that does exactly what
   120         -## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
   121         -## it if -MD -MP comes after the -MF stuff.  Hmm.
   122         -## Unfortunately, FreeBSD c89 acceptance of flags depends upon
   123         -## the command line argument order; so add the flags where they
   124         -## appear in depend2.am.  Note that the slowdown incurred here
   125         -## affects only configure: in makefiles, %FASTDEP% shortcuts this.
   126         -  for arg
   127         -  do
   128         -    case $arg in
   129         -    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
   130         -    *)  set fnord "$@" "$arg" ;;
   131         -    esac
   132         -    shift # fnord
   133         -    shift # $arg
   134         -  done
   135         -  "$@"
   136         -  stat=$?
   137         -  if test $stat -eq 0; then :
   138         -  else
   139         -    rm -f "$tmpdepfile"
   140         -    exit $stat
   141         -  fi
   142         -  mv "$tmpdepfile" "$depfile"
   143         -  ;;
   144         -
   145         -gcc)
   146         -## There are various ways to get dependency output from gcc.  Here's
   147         -## why we pick this rather obscure method:
   148         -## - Don't want to use -MD because we'd like the dependencies to end
   149         -##   up in a subdir.  Having to rename by hand is ugly.
   150         -##   (We might end up doing this anyway to support other compilers.)
   151         -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
   152         -##   -MM, not -M (despite what the docs say).
   153         -## - Using -M directly means running the compiler twice (even worse
   154         -##   than renaming).
   155         -  if test -z "$gccflag"; then
   156         -    gccflag=-MD,
   157         -  fi
   158         -  "$@" -Wp,"$gccflag$tmpdepfile"
   159         -  stat=$?
   160         -  if test $stat -eq 0; then :
   161         -  else
   162         -    rm -f "$tmpdepfile"
   163         -    exit $stat
   164         -  fi
   165         -  rm -f "$depfile"
   166         -  echo "$object : \\" > "$depfile"
   167         -  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
   168         -## The second -e expression handles DOS-style file names with drive letters.
   169         -  sed -e 's/^[^:]*: / /' \
   170         -      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
   171         -## This next piece of magic avoids the "deleted header file" problem.
   172         -## The problem is that when a header file which appears in a .P file
   173         -## is deleted, the dependency causes make to die (because there is
   174         -## typically no way to rebuild the header).  We avoid this by adding
   175         -## dummy dependencies for each header file.  Too bad gcc doesn't do
   176         -## this for us directly.
   177         -  tr ' ' "$nl" < "$tmpdepfile" |
   178         -## Some versions of gcc put a space before the ':'.  On the theory
   179         -## that the space means something, we add a space to the output as
   180         -## well.  hp depmode also adds that space, but also prefixes the VPATH
   181         -## to the object.  Take care to not repeat it in the output.
   182         -## Some versions of the HPUX 10.20 sed can't process this invocation
   183         -## correctly.  Breaking it into two sed invocations is a workaround.
   184         -    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
   185         -      | sed -e 's/$/ :/' >> "$depfile"
   186         -  rm -f "$tmpdepfile"
   187         -  ;;
   188         -
   189         -hp)
   190         -  # This case exists only to let depend.m4 do its work.  It works by
   191         -  # looking at the text of this script.  This case will never be run,
   192         -  # since it is checked for above.
   193         -  exit 1
   194         -  ;;
   195         -
   196         -sgi)
   197         -  if test "$libtool" = yes; then
   198         -    "$@" "-Wp,-MDupdate,$tmpdepfile"
   199         -  else
   200         -    "$@" -MDupdate "$tmpdepfile"
   201         -  fi
   202         -  stat=$?
   203         -  if test $stat -eq 0; then :
   204         -  else
   205         -    rm -f "$tmpdepfile"
   206         -    exit $stat
   207         -  fi
   208         -  rm -f "$depfile"
   209         -
   210         -  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
   211         -    echo "$object : \\" > "$depfile"
   212         -
   213         -    # Clip off the initial element (the dependent).  Don't try to be
   214         -    # clever and replace this with sed code, as IRIX sed won't handle
   215         -    # lines with more than a fixed number of characters (4096 in
   216         -    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
   217         -    # the IRIX cc adds comments like '#:fec' to the end of the
   218         -    # dependency line.
   219         -    tr ' ' "$nl" < "$tmpdepfile" \
   220         -    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
   221         -    tr "$nl" ' ' >> "$depfile"
   222         -    echo >> "$depfile"
   223         -
   224         -    # The second pass generates a dummy entry for each header file.
   225         -    tr ' ' "$nl" < "$tmpdepfile" \
   226         -   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
   227         -   >> "$depfile"
   228         -  else
   229         -    # The sourcefile does not contain any dependencies, so just
   230         -    # store a dummy comment line, to avoid errors with the Makefile
   231         -    # "include basename.Plo" scheme.
   232         -    echo "#dummy" > "$depfile"
   233         -  fi
   234         -  rm -f "$tmpdepfile"
   235         -  ;;
   236         -
   237         -xlc)
   238         -  # This case exists only to let depend.m4 do its work.  It works by
   239         -  # looking at the text of this script.  This case will never be run,
   240         -  # since it is checked for above.
   241         -  exit 1
   242         -  ;;
   243         -
   244         -aix)
   245         -  # The C for AIX Compiler uses -M and outputs the dependencies
   246         -  # in a .u file.  In older versions, this file always lives in the
   247         -  # current directory.  Also, the AIX compiler puts '$object:' at the
   248         -  # start of each line; $object doesn't have directory information.
   249         -  # Version 6 uses the directory in both cases.
   250         -  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   251         -  test "x$dir" = "x$object" && dir=
   252         -  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   253         -  if test "$libtool" = yes; then
   254         -    tmpdepfile1=$dir$base.u
   255         -    tmpdepfile2=$base.u
   256         -    tmpdepfile3=$dir.libs/$base.u
   257         -    "$@" -Wc,-M
   258         -  else
   259         -    tmpdepfile1=$dir$base.u
   260         -    tmpdepfile2=$dir$base.u
   261         -    tmpdepfile3=$dir$base.u
   262         -    "$@" -M
   263         -  fi
   264         -  stat=$?
   265         -
   266         -  if test $stat -eq 0; then :
   267         -  else
   268         -    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
   269         -    exit $stat
   270         -  fi
   271         -
   272         -  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
   273         -  do
   274         -    test -f "$tmpdepfile" && break
   275         -  done
   276         -  if test -f "$tmpdepfile"; then
   277         -    # Each line is of the form 'foo.o: dependent.h'.
   278         -    # Do two passes, one to just change these to
   279         -    # '$object: dependent.h' and one to simply 'dependent.h:'.
   280         -    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
   281         -    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   282         -  else
   283         -    # The sourcefile does not contain any dependencies, so just
   284         -    # store a dummy comment line, to avoid errors with the Makefile
   285         -    # "include basename.Plo" scheme.
   286         -    echo "#dummy" > "$depfile"
   287         -  fi
   288         -  rm -f "$tmpdepfile"
   289         -  ;;
   290         -
   291         -icc)
   292         -  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
   293         -  # However on
   294         -  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   295         -  # ICC 7.0 will fill foo.d with something like
   296         -  #    foo.o: sub/foo.c
   297         -  #    foo.o: sub/foo.h
   298         -  # which is wrong.  We want
   299         -  #    sub/foo.o: sub/foo.c
   300         -  #    sub/foo.o: sub/foo.h
   301         -  #    sub/foo.c:
   302         -  #    sub/foo.h:
   303         -  # ICC 7.1 will output
   304         -  #    foo.o: sub/foo.c sub/foo.h
   305         -  # and will wrap long lines using '\':
   306         -  #    foo.o: sub/foo.c ... \
   307         -  #     sub/foo.h ... \
   308         -  #     ...
   309         -  # tcc 0.9.26 (FIXME still under development at the moment of writing)
   310         -  # will emit a similar output, but also prepend the continuation lines
   311         -  # with horizontal tabulation characters.
   312         -  "$@" -MD -MF "$tmpdepfile"
   313         -  stat=$?
   314         -  if test $stat -eq 0; then :
   315         -  else
   316         -    rm -f "$tmpdepfile"
   317         -    exit $stat
   318         -  fi
   319         -  rm -f "$depfile"
   320         -  # Each line is of the form 'foo.o: dependent.h',
   321         -  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   322         -  # Do two passes, one to just change these to
   323         -  # '$object: dependent.h' and one to simply 'dependent.h:'.
   324         -  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
   325         -    < "$tmpdepfile" > "$depfile"
   326         -  sed '
   327         -    s/[ '"$tab"'][ '"$tab"']*/ /g
   328         -    s/^ *//
   329         -    s/ *\\*$//
   330         -    s/^[^:]*: *//
   331         -    /^$/d
   332         -    /:$/d
   333         -    s/$/ :/
   334         -  ' < "$tmpdepfile" >> "$depfile"
   335         -  rm -f "$tmpdepfile"
   336         -  ;;
   337         -
   338         -hp2)
   339         -  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
   340         -  # compilers, which have integrated preprocessors.  The correct option
   341         -  # to use with these is +Maked; it writes dependencies to a file named
   342         -  # 'foo.d', which lands next to the object file, wherever that
   343         -  # happens to be.
   344         -  # Much of this is similar to the tru64 case; see comments there.
   345         -  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   346         -  test "x$dir" = "x$object" && dir=
   347         -  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   348         -  if test "$libtool" = yes; then
   349         -    tmpdepfile1=$dir$base.d
   350         -    tmpdepfile2=$dir.libs/$base.d
   351         -    "$@" -Wc,+Maked
   352         -  else
   353         -    tmpdepfile1=$dir$base.d
   354         -    tmpdepfile2=$dir$base.d
   355         -    "$@" +Maked
   356         -  fi
   357         -  stat=$?
   358         -  if test $stat -eq 0; then :
   359         -  else
   360         -     rm -f "$tmpdepfile1" "$tmpdepfile2"
   361         -     exit $stat
   362         -  fi
   363         -
   364         -  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
   365         -  do
   366         -    test -f "$tmpdepfile" && break
   367         -  done
   368         -  if test -f "$tmpdepfile"; then
   369         -    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
   370         -    # Add 'dependent.h:' lines.
   371         -    sed -ne '2,${
   372         -	       s/^ *//
   373         -	       s/ \\*$//
   374         -	       s/$/:/
   375         -	       p
   376         -	     }' "$tmpdepfile" >> "$depfile"
   377         -  else
   378         -    echo "#dummy" > "$depfile"
   379         -  fi
   380         -  rm -f "$tmpdepfile" "$tmpdepfile2"
   381         -  ;;
   382         -
   383         -tru64)
   384         -   # The Tru64 compiler uses -MD to generate dependencies as a side
   385         -   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
   386         -   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
   387         -   # dependencies in 'foo.d' instead, so we check for that too.
   388         -   # Subdirectories are respected.
   389         -   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   390         -   test "x$dir" = "x$object" && dir=
   391         -   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   392         -
   393         -   if test "$libtool" = yes; then
   394         -      # With Tru64 cc, shared objects can also be used to make a
   395         -      # static library.  This mechanism is used in libtool 1.4 series to
   396         -      # handle both shared and static libraries in a single compilation.
   397         -      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
   398         -      #
   399         -      # With libtool 1.5 this exception was removed, and libtool now
   400         -      # generates 2 separate objects for the 2 libraries.  These two
   401         -      # compilations output dependencies in $dir.libs/$base.o.d and
   402         -      # in $dir$base.o.d.  We have to check for both files, because
   403         -      # one of the two compilations can be disabled.  We should prefer
   404         -      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
   405         -      # automatically cleaned when .libs/ is deleted, while ignoring
   406         -      # the former would cause a distcleancheck panic.
   407         -      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
   408         -      tmpdepfile2=$dir$base.o.d          # libtool 1.5
   409         -      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
   410         -      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
   411         -      "$@" -Wc,-MD
   412         -   else
   413         -      tmpdepfile1=$dir$base.o.d
   414         -      tmpdepfile2=$dir$base.d
   415         -      tmpdepfile3=$dir$base.d
   416         -      tmpdepfile4=$dir$base.d
   417         -      "$@" -MD
   418         -   fi
   419         -
   420         -   stat=$?
   421         -   if test $stat -eq 0; then :
   422         -   else
   423         -      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
   424         -      exit $stat
   425         -   fi
   426         -
   427         -   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
   428         -   do
   429         -     test -f "$tmpdepfile" && break
   430         -   done
   431         -   if test -f "$tmpdepfile"; then
   432         -      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
   433         -      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   434         -   else
   435         -      echo "#dummy" > "$depfile"
   436         -   fi
   437         -   rm -f "$tmpdepfile"
   438         -   ;;
   439         -
   440         -msvc7)
   441         -  if test "$libtool" = yes; then
   442         -    showIncludes=-Wc,-showIncludes
   443         -  else
   444         -    showIncludes=-showIncludes
   445         -  fi
   446         -  "$@" $showIncludes > "$tmpdepfile"
   447         -  stat=$?
   448         -  grep -v '^Note: including file: ' "$tmpdepfile"
   449         -  if test "$stat" = 0; then :
   450         -  else
   451         -    rm -f "$tmpdepfile"
   452         -    exit $stat
   453         -  fi
   454         -  rm -f "$depfile"
   455         -  echo "$object : \\" > "$depfile"
   456         -  # The first sed program below extracts the file names and escapes
   457         -  # backslashes for cygpath.  The second sed program outputs the file
   458         -  # name when reading, but also accumulates all include files in the
   459         -  # hold buffer in order to output them again at the end.  This only
   460         -  # works with sed implementations that can handle large buffers.
   461         -  sed < "$tmpdepfile" -n '
   462         -/^Note: including file:  *\(.*\)/ {
   463         -  s//\1/
   464         -  s/\\/\\\\/g
   465         -  p
   466         -}' | $cygpath_u | sort -u | sed -n '
   467         -s/ /\\ /g
   468         -s/\(.*\)/'"$tab"'\1 \\/p
   469         -s/.\(.*\) \\/\1:/
   470         -H
   471         -$ {
   472         -  s/.*/'"$tab"'/
   473         -  G
   474         -  p
   475         -}' >> "$depfile"
   476         -  rm -f "$tmpdepfile"
   477         -  ;;
   478         -
   479         -msvc7msys)
   480         -  # This case exists only to let depend.m4 do its work.  It works by
   481         -  # looking at the text of this script.  This case will never be run,
   482         -  # since it is checked for above.
   483         -  exit 1
   484         -  ;;
   485         -
   486         -#nosideeffect)
   487         -  # This comment above is used by automake to tell side-effect
   488         -  # dependency tracking mechanisms from slower ones.
   489         -
   490         -dashmstdout)
   491         -  # Important note: in order to support this mode, a compiler *must*
   492         -  # always write the preprocessed file to stdout, regardless of -o.
   493         -  "$@" || exit $?
   494         -
   495         -  # Remove the call to Libtool.
   496         -  if test "$libtool" = yes; then
   497         -    while test "X$1" != 'X--mode=compile'; do
   498         -      shift
   499         -    done
   500         -    shift
   501         -  fi
   502         -
   503         -  # Remove '-o $object'.
   504         -  IFS=" "
   505         -  for arg
   506         -  do
   507         -    case $arg in
   508         -    -o)
   509         -      shift
   510         -      ;;
   511         -    $object)
   512         -      shift
   513         -      ;;
   514         -    *)
   515         -      set fnord "$@" "$arg"
   516         -      shift # fnord
   517         -      shift # $arg
   518         -      ;;
   519         -    esac
   520         -  done
   521         -
   522         -  test -z "$dashmflag" && dashmflag=-M
   523         -  # Require at least two characters before searching for ':'
   524         -  # in the target name.  This is to cope with DOS-style filenames:
   525         -  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   526         -  "$@" $dashmflag |
   527         -    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   528         -  rm -f "$depfile"
   529         -  cat < "$tmpdepfile" > "$depfile"
   530         -  tr ' ' "$nl" < "$tmpdepfile" | \
   531         -## Some versions of the HPUX 10.20 sed can't process this invocation
   532         -## correctly.  Breaking it into two sed invocations is a workaround.
   533         -    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   534         -  rm -f "$tmpdepfile"
   535         -  ;;
   536         -
   537         -dashXmstdout)
   538         -  # This case only exists to satisfy depend.m4.  It is never actually
   539         -  # run, as this mode is specially recognized in the preamble.
   540         -  exit 1
   541         -  ;;
   542         -
   543         -makedepend)
   544         -  "$@" || exit $?
   545         -  # Remove any Libtool call
   546         -  if test "$libtool" = yes; then
   547         -    while test "X$1" != 'X--mode=compile'; do
   548         -      shift
   549         -    done
   550         -    shift
   551         -  fi
   552         -  # X makedepend
   553         -  shift
   554         -  cleared=no eat=no
   555         -  for arg
   556         -  do
   557         -    case $cleared in
   558         -    no)
   559         -      set ""; shift
   560         -      cleared=yes ;;
   561         -    esac
   562         -    if test $eat = yes; then
   563         -      eat=no
   564         -      continue
   565         -    fi
   566         -    case "$arg" in
   567         -    -D*|-I*)
   568         -      set fnord "$@" "$arg"; shift ;;
   569         -    # Strip any option that makedepend may not understand.  Remove
   570         -    # the object too, otherwise makedepend will parse it as a source file.
   571         -    -arch)
   572         -      eat=yes ;;
   573         -    -*|$object)
   574         -      ;;
   575         -    *)
   576         -      set fnord "$@" "$arg"; shift ;;
   577         -    esac
   578         -  done
   579         -  obj_suffix=`echo "$object" | sed 's/^.*\././'`
   580         -  touch "$tmpdepfile"
   581         -  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   582         -  rm -f "$depfile"
   583         -  # makedepend may prepend the VPATH from the source file name to the object.
   584         -  # No need to regex-escape $object, excess matching of '.' is harmless.
   585         -  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
   586         -  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
   587         -## Some versions of the HPUX 10.20 sed can't process this invocation
   588         -## correctly.  Breaking it into two sed invocations is a workaround.
   589         -    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   590         -  rm -f "$tmpdepfile" "$tmpdepfile".bak
   591         -  ;;
   592         -
   593         -cpp)
   594         -  # Important note: in order to support this mode, a compiler *must*
   595         -  # always write the preprocessed file to stdout.
   596         -  "$@" || exit $?
   597         -
   598         -  # Remove the call to Libtool.
   599         -  if test "$libtool" = yes; then
   600         -    while test "X$1" != 'X--mode=compile'; do
   601         -      shift
   602         -    done
   603         -    shift
   604         -  fi
   605         -
   606         -  # Remove '-o $object'.
   607         -  IFS=" "
   608         -  for arg
   609         -  do
   610         -    case $arg in
   611         -    -o)
   612         -      shift
   613         -      ;;
   614         -    $object)
   615         -      shift
   616         -      ;;
   617         -    *)
   618         -      set fnord "$@" "$arg"
   619         -      shift # fnord
   620         -      shift # $arg
   621         -      ;;
   622         -    esac
   623         -  done
   624         -
   625         -  "$@" -E |
   626         -    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
   627         -       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
   628         -    sed '$ s: \\$::' > "$tmpdepfile"
   629         -  rm -f "$depfile"
   630         -  echo "$object : \\" > "$depfile"
   631         -  cat < "$tmpdepfile" >> "$depfile"
   632         -  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
   633         -  rm -f "$tmpdepfile"
   634         -  ;;
   635         -
   636         -msvisualcpp)
   637         -  # Important note: in order to support this mode, a compiler *must*
   638         -  # always write the preprocessed file to stdout.
   639         -  "$@" || exit $?
   640         -
   641         -  # Remove the call to Libtool.
   642         -  if test "$libtool" = yes; then
   643         -    while test "X$1" != 'X--mode=compile'; do
   644         -      shift
   645         -    done
   646         -    shift
   647         -  fi
   648         -
   649         -  IFS=" "
   650         -  for arg
   651         -  do
   652         -    case "$arg" in
   653         -    -o)
   654         -      shift
   655         -      ;;
   656         -    $object)
   657         -      shift
   658         -      ;;
   659         -    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
   660         -	set fnord "$@"
   661         -	shift
   662         -	shift
   663         -	;;
   664         -    *)
   665         -	set fnord "$@" "$arg"
   666         -	shift
   667         -	shift
   668         -	;;
   669         -    esac
   670         -  done
   671         -  "$@" -E 2>/dev/null |
   672         -  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   673         -  rm -f "$depfile"
   674         -  echo "$object : \\" > "$depfile"
   675         -  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
   676         -  echo "$tab" >> "$depfile"
   677         -  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   678         -  rm -f "$tmpdepfile"
   679         -  ;;
   680         -
   681         -msvcmsys)
   682         -  # This case exists only to let depend.m4 do its work.  It works by
   683         -  # looking at the text of this script.  This case will never be run,
   684         -  # since it is checked for above.
   685         -  exit 1
   686         -  ;;
   687         -
   688         -none)
   689         -  exec "$@"
   690         -  ;;
   691         -
   692         -*)
   693         -  echo "Unknown depmode $depmode" 1>&2
   694         -  exit 1
   695         -  ;;
   696         -esac
   697         -
   698         -exit 0
   699         -
   700         -# Local Variables:
   701         -# mode: shell-script
   702         -# sh-indentation: 2
   703         -# eval: (add-hook 'write-file-hooks 'time-stamp)
   704         -# time-stamp-start: "scriptversion="
   705         -# time-stamp-format: "%:y-%02m-%02d.%02H"
   706         -# time-stamp-time-zone: "UTC"
   707         -# time-stamp-end: "; # UTC"
   708         -# End:

Deleted autoconf/install-sh.

     1         -#!/bin/sh
     2         -# install - install a program, script, or datafile
     3         -
     4         -scriptversion=2011-01-19.21; # UTC
     5         -
     6         -# This originates from X11R5 (mit/util/scripts/install.sh), which was
     7         -# later released in X11R6 (xc/config/util/install.sh) with the
     8         -# following copyright and license.
     9         -#
    10         -# Copyright (C) 1994 X Consortium
    11         -#
    12         -# Permission is hereby granted, free of charge, to any person obtaining a copy
    13         -# of this software and associated documentation files (the "Software"), to
    14         -# deal in the Software without restriction, including without limitation the
    15         -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    16         -# sell copies of the Software, and to permit persons to whom the Software is
    17         -# furnished to do so, subject to the following conditions:
    18         -#
    19         -# The above copyright notice and this permission notice shall be included in
    20         -# all copies or substantial portions of the Software.
    21         -#
    22         -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    23         -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    24         -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    25         -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
    26         -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
    27         -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    28         -#
    29         -# Except as contained in this notice, the name of the X Consortium shall not
    30         -# be used in advertising or otherwise to promote the sale, use or other deal-
    31         -# ings in this Software without prior written authorization from the X Consor-
    32         -# tium.
    33         -#
    34         -#
    35         -# FSF changes to this file are in the public domain.
    36         -#
    37         -# Calling this script install-sh is preferred over install.sh, to prevent
    38         -# `make' implicit rules from creating a file called install from it
    39         -# when there is no Makefile.
    40         -#
    41         -# This script is compatible with the BSD install script, but was written
    42         -# from scratch.
    43         -
    44         -nl='
    45         -'
    46         -IFS=" ""	$nl"
    47         -
    48         -# set DOITPROG to echo to test this script
    49         -
    50         -# Don't use :- since 4.3BSD and earlier shells don't like it.
    51         -doit=${DOITPROG-}
    52         -if test -z "$doit"; then
    53         -  doit_exec=exec
    54         -else
    55         -  doit_exec=$doit
    56         -fi
    57         -
    58         -# Put in absolute file names if you don't have them in your path;
    59         -# or use environment vars.
    60         -
    61         -chgrpprog=${CHGRPPROG-chgrp}
    62         -chmodprog=${CHMODPROG-chmod}
    63         -chownprog=${CHOWNPROG-chown}
    64         -cmpprog=${CMPPROG-cmp}
    65         -cpprog=${CPPROG-cp}
    66         -mkdirprog=${MKDIRPROG-mkdir}
    67         -mvprog=${MVPROG-mv}
    68         -rmprog=${RMPROG-rm}
    69         -stripprog=${STRIPPROG-strip}
    70         -
    71         -posix_glob='?'
    72         -initialize_posix_glob='
    73         -  test "$posix_glob" != "?" || {
    74         -    if (set -f) 2>/dev/null; then
    75         -      posix_glob=
    76         -    else
    77         -      posix_glob=:
    78         -    fi
    79         -  }
    80         -'
    81         -
    82         -posix_mkdir=
    83         -
    84         -# Desired mode of installed file.
    85         -mode=0755
    86         -
    87         -chgrpcmd=
    88         -chmodcmd=$chmodprog
    89         -chowncmd=
    90         -mvcmd=$mvprog
    91         -rmcmd="$rmprog -f"
    92         -stripcmd=
    93         -
    94         -src=
    95         -dst=
    96         -dir_arg=
    97         -dst_arg=
    98         -
    99         -copy_on_change=false
   100         -no_target_directory=
   101         -
   102         -usage="\
   103         -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
   104         -   or: $0 [OPTION]... SRCFILES... DIRECTORY
   105         -   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
   106         -   or: $0 [OPTION]... -d DIRECTORIES...
   107         -
   108         -In the 1st form, copy SRCFILE to DSTFILE.
   109         -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
   110         -In the 4th, create DIRECTORIES.
   111         -
   112         -Options:
   113         -     --help     display this help and exit.
   114         -     --version  display version info and exit.
   115         -
   116         -  -c            (ignored)
   117         -  -C            install only if different (preserve the last data modification time)
   118         -  -d            create directories instead of installing files.
   119         -  -g GROUP      $chgrpprog installed files to GROUP.
   120         -  -m MODE       $chmodprog installed files to MODE.
   121         -  -o USER       $chownprog installed files to USER.
   122         -  -s            $stripprog installed files.
   123         -  -t DIRECTORY  install into DIRECTORY.
   124         -  -T            report an error if DSTFILE is a directory.
   125         -
   126         -Environment variables override the default commands:
   127         -  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
   128         -  RMPROG STRIPPROG
   129         -"
   130         -
   131         -while test $# -ne 0; do
   132         -  case $1 in
   133         -    -c) ;;
   134         -
   135         -    -C) copy_on_change=true;;
   136         -
   137         -    -d) dir_arg=true;;
   138         -
   139         -    -g) chgrpcmd="$chgrpprog $2"
   140         -	shift;;
   141         -
   142         -    --help) echo "$usage"; exit $?;;
   143         -
   144         -    -m) mode=$2
   145         -	case $mode in
   146         -	  *' '* | *'	'* | *'
   147         -'*	  | *'*'* | *'?'* | *'['*)
   148         -	    echo "$0: invalid mode: $mode" >&2
   149         -	    exit 1;;
   150         -	esac
   151         -	shift;;
   152         -
   153         -    -o) chowncmd="$chownprog $2"
   154         -	shift;;
   155         -
   156         -    -s) stripcmd=$stripprog;;
   157         -
   158         -    -t) dst_arg=$2
   159         -	# Protect names problematic for `test' and other utilities.
   160         -	case $dst_arg in
   161         -	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
   162         -	esac
   163         -	shift;;
   164         -
   165         -    -T) no_target_directory=true;;
   166         -
   167         -    --version) echo "$0 $scriptversion"; exit $?;;
   168         -
   169         -    --)	shift
   170         -	break;;
   171         -
   172         -    -*)	echo "$0: invalid option: $1" >&2
   173         -	exit 1;;
   174         -
   175         -    *)  break;;
   176         -  esac
   177         -  shift
   178         -done
   179         -
   180         -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   181         -  # When -d is used, all remaining arguments are directories to create.
   182         -  # When -t is used, the destination is already specified.
   183         -  # Otherwise, the last argument is the destination.  Remove it from $@.
   184         -  for arg
   185         -  do
   186         -    if test -n "$dst_arg"; then
   187         -      # $@ is not empty: it contains at least $arg.
   188         -      set fnord "$@" "$dst_arg"
   189         -      shift # fnord
   190         -    fi
   191         -    shift # arg
   192         -    dst_arg=$arg
   193         -    # Protect names problematic for `test' and other utilities.
   194         -    case $dst_arg in
   195         -      -* | [=\(\)!]) dst_arg=./$dst_arg;;
   196         -    esac
   197         -  done
   198         -fi
   199         -
   200         -if test $# -eq 0; then
   201         -  if test -z "$dir_arg"; then
   202         -    echo "$0: no input file specified." >&2
   203         -    exit 1
   204         -  fi
   205         -  # It's OK to call `install-sh -d' without argument.
   206         -  # This can happen when creating conditional directories.
   207         -  exit 0
   208         -fi
   209         -
   210         -if test -z "$dir_arg"; then
   211         -  do_exit='(exit $ret); exit $ret'
   212         -  trap "ret=129; $do_exit" 1
   213         -  trap "ret=130; $do_exit" 2
   214         -  trap "ret=141; $do_exit" 13
   215         -  trap "ret=143; $do_exit" 15
   216         -
   217         -  # Set umask so as not to create temps with too-generous modes.
   218         -  # However, 'strip' requires both read and write access to temps.
   219         -  case $mode in
   220         -    # Optimize common cases.
   221         -    *644) cp_umask=133;;
   222         -    *755) cp_umask=22;;
   223         -
   224         -    *[0-7])
   225         -      if test -z "$stripcmd"; then
   226         -	u_plus_rw=
   227         -      else
   228         -	u_plus_rw='% 200'
   229         -      fi
   230         -      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
   231         -    *)
   232         -      if test -z "$stripcmd"; then
   233         -	u_plus_rw=
   234         -      else
   235         -	u_plus_rw=,u+rw
   236         -      fi
   237         -      cp_umask=$mode$u_plus_rw;;
   238         -  esac
   239         -fi
   240         -
   241         -for src
   242         -do
   243         -  # Protect names problematic for `test' and other utilities.
   244         -  case $src in
   245         -    -* | [=\(\)!]) src=./$src;;
   246         -  esac
   247         -
   248         -  if test -n "$dir_arg"; then
   249         -    dst=$src
   250         -    dstdir=$dst
   251         -    test -d "$dstdir"
   252         -    dstdir_status=$?
   253         -  else
   254         -
   255         -    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
   256         -    # might cause directories to be created, which would be especially bad
   257         -    # if $src (and thus $dsttmp) contains '*'.
   258         -    if test ! -f "$src" && test ! -d "$src"; then
   259         -      echo "$0: $src does not exist." >&2
   260         -      exit 1
   261         -    fi
   262         -
   263         -    if test -z "$dst_arg"; then
   264         -      echo "$0: no destination specified." >&2
   265         -      exit 1
   266         -    fi
   267         -    dst=$dst_arg
   268         -
   269         -    # If destination is a directory, append the input filename; won't work
   270         -    # if double slashes aren't ignored.
   271         -    if test -d "$dst"; then
   272         -      if test -n "$no_target_directory"; then
   273         -	echo "$0: $dst_arg: Is a directory" >&2
   274         -	exit 1
   275         -      fi
   276         -      dstdir=$dst
   277         -      dst=$dstdir/`basename "$src"`
   278         -      dstdir_status=0
   279         -    else
   280         -      # Prefer dirname, but fall back on a substitute if dirname fails.
   281         -      dstdir=`
   282         -	(dirname "$dst") 2>/dev/null ||
   283         -	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
   284         -	     X"$dst" : 'X\(//\)[^/]' \| \
   285         -	     X"$dst" : 'X\(//\)$' \| \
   286         -	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
   287         -	echo X"$dst" |
   288         -	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
   289         -		   s//\1/
   290         -		   q
   291         -		 }
   292         -		 /^X\(\/\/\)[^/].*/{
   293         -		   s//\1/
   294         -		   q
   295         -		 }
   296         -		 /^X\(\/\/\)$/{
   297         -		   s//\1/
   298         -		   q
   299         -		 }
   300         -		 /^X\(\/\).*/{
   301         -		   s//\1/
   302         -		   q
   303         -		 }
   304         -		 s/.*/./; q'
   305         -      `
   306         -
   307         -      test -d "$dstdir"
   308         -      dstdir_status=$?
   309         -    fi
   310         -  fi
   311         -
   312         -  obsolete_mkdir_used=false
   313         -
   314         -  if test $dstdir_status != 0; then
   315         -    case $posix_mkdir in
   316         -      '')
   317         -	# Create intermediate dirs using mode 755 as modified by the umask.
   318         -	# This is like FreeBSD 'install' as of 1997-10-28.
   319         -	umask=`umask`
   320         -	case $stripcmd.$umask in
   321         -	  # Optimize common cases.
   322         -	  *[2367][2367]) mkdir_umask=$umask;;
   323         -	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
   324         -
   325         -	  *[0-7])
   326         -	    mkdir_umask=`expr $umask + 22 \
   327         -	      - $umask % 100 % 40 + $umask % 20 \
   328         -	      - $umask % 10 % 4 + $umask % 2
   329         -	    `;;
   330         -	  *) mkdir_umask=$umask,go-w;;
   331         -	esac
   332         -
   333         -	# With -d, create the new directory with the user-specified mode.
   334         -	# Otherwise, rely on $mkdir_umask.
   335         -	if test -n "$dir_arg"; then
   336         -	  mkdir_mode=-m$mode
   337         -	else
   338         -	  mkdir_mode=
   339         -	fi
   340         -
   341         -	posix_mkdir=false
   342         -	case $umask in
   343         -	  *[123567][0-7][0-7])
   344         -	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
   345         -	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
   346         -	    ;;
   347         -	  *)
   348         -	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
   349         -	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
   350         -
   351         -	    if (umask $mkdir_umask &&
   352         -		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
   353         -	    then
   354         -	      if test -z "$dir_arg" || {
   355         -		   # Check for POSIX incompatibilities with -m.
   356         -		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
   357         -		   # other-writeable bit of parent directory when it shouldn't.
   358         -		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
   359         -		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
   360         -		   case $ls_ld_tmpdir in
   361         -		     d????-?r-*) different_mode=700;;
   362         -		     d????-?--*) different_mode=755;;
   363         -		     *) false;;
   364         -		   esac &&
   365         -		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
   366         -		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
   367         -		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
   368         -		   }
   369         -		 }
   370         -	      then posix_mkdir=:
   371         -	      fi
   372         -	      rmdir "$tmpdir/d" "$tmpdir"
   373         -	    else
   374         -	      # Remove any dirs left behind by ancient mkdir implementations.
   375         -	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
   376         -	    fi
   377         -	    trap '' 0;;
   378         -	esac;;
   379         -    esac
   380         -
   381         -    if
   382         -      $posix_mkdir && (
   383         -	umask $mkdir_umask &&
   384         -	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
   385         -      )
   386         -    then :
   387         -    else
   388         -
   389         -      # The umask is ridiculous, or mkdir does not conform to POSIX,
   390         -      # or it failed possibly due to a race condition.  Create the
   391         -      # directory the slow way, step by step, checking for races as we go.
   392         -
   393         -      case $dstdir in
   394         -	/*) prefix='/';;
   395         -	[-=\(\)!]*) prefix='./';;
   396         -	*)  prefix='';;
   397         -      esac
   398         -
   399         -      eval "$initialize_posix_glob"
   400         -
   401         -      oIFS=$IFS
   402         -      IFS=/
   403         -      $posix_glob set -f
   404         -      set fnord $dstdir
   405         -      shift
   406         -      $posix_glob set +f
   407         -      IFS=$oIFS
   408         -
   409         -      prefixes=
   410         -
   411         -      for d
   412         -      do
   413         -	test X"$d" = X && continue
   414         -
   415         -	prefix=$prefix$d
   416         -	if test -d "$prefix"; then
   417         -	  prefixes=
   418         -	else
   419         -	  if $posix_mkdir; then
   420         -	    (umask=$mkdir_umask &&
   421         -	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
   422         -	    # Don't fail if two instances are running concurrently.
   423         -	    test -d "$prefix" || exit 1
   424         -	  else
   425         -	    case $prefix in
   426         -	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
   427         -	      *) qprefix=$prefix;;
   428         -	    esac
   429         -	    prefixes="$prefixes '$qprefix'"
   430         -	  fi
   431         -	fi
   432         -	prefix=$prefix/
   433         -      done
   434         -
   435         -      if test -n "$prefixes"; then
   436         -	# Don't fail if two instances are running concurrently.
   437         -	(umask $mkdir_umask &&
   438         -	 eval "\$doit_exec \$mkdirprog $prefixes") ||
   439         -	  test -d "$dstdir" || exit 1
   440         -	obsolete_mkdir_used=true
   441         -      fi
   442         -    fi
   443         -  fi
   444         -
   445         -  if test -n "$dir_arg"; then
   446         -    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
   447         -    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
   448         -    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
   449         -      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
   450         -  else
   451         -
   452         -    # Make a couple of temp file names in the proper directory.
   453         -    dsttmp=$dstdir/_inst.$$_
   454         -    rmtmp=$dstdir/_rm.$$_
   455         -
   456         -    # Trap to clean up those temp files at exit.
   457         -    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
   458         -
   459         -    # Copy the file name to the temp name.
   460         -    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
   461         -
   462         -    # and set any options; do chmod last to preserve setuid bits.
   463         -    #
   464         -    # If any of these fail, we abort the whole thing.  If we want to
   465         -    # ignore errors from any of these, just make sure not to ignore
   466         -    # errors from the above "$doit $cpprog $src $dsttmp" command.
   467         -    #
   468         -    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
   469         -    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
   470         -    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
   471         -    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
   472         -
   473         -    # If -C, don't bother to copy if it wouldn't change the file.
   474         -    if $copy_on_change &&
   475         -       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
   476         -       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
   477         -
   478         -       eval "$initialize_posix_glob" &&
   479         -       $posix_glob set -f &&
   480         -       set X $old && old=:$2:$4:$5:$6 &&
   481         -       set X $new && new=:$2:$4:$5:$6 &&
   482         -       $posix_glob set +f &&
   483         -
   484         -       test "$old" = "$new" &&
   485         -       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
   486         -    then
   487         -      rm -f "$dsttmp"
   488         -    else
   489         -      # Rename the file to the real destination.
   490         -      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
   491         -
   492         -      # The rename failed, perhaps because mv can't rename something else
   493         -      # to itself, or perhaps because mv is so ancient that it does not
   494         -      # support -f.
   495         -      {
   496         -	# Now remove or move aside any old file at destination location.
   497         -	# We try this two ways since rm can't unlink itself on some
   498         -	# systems and the destination file might be busy for other
   499         -	# reasons.  In this case, the final cleanup might fail but the new
   500         -	# file should still install successfully.
   501         -	{
   502         -	  test ! -f "$dst" ||
   503         -	  $doit $rmcmd -f "$dst" 2>/dev/null ||
   504         -	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
   505         -	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
   506         -	  } ||
   507         -	  { echo "$0: cannot unlink or rename $dst" >&2
   508         -	    (exit 1); exit 1
   509         -	  }
   510         -	} &&
   511         -
   512         -	# Now rename the file to the real destination.
   513         -	$doit $mvcmd "$dsttmp" "$dst"
   514         -      }
   515         -    fi || exit 1
   516         -
   517         -    trap '' 0
   518         -  fi
   519         -done
   520         -
   521         -# Local variables:
   522         -# eval: (add-hook 'write-file-hooks 'time-stamp)
   523         -# time-stamp-start: "scriptversion="
   524         -# time-stamp-format: "%:y-%02m-%02d.%02H"
   525         -# time-stamp-time-zone: "UTC"
   526         -# time-stamp-end: "; # UTC"
   527         -# End:

Deleted autoconf/ltmain.sh.

     1         -
     2         -# libtool (GNU libtool) 2.4.2
     3         -# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
     4         -
     5         -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
     6         -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
     7         -# This is free software; see the source for copying conditions.  There is NO
     8         -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     9         -
    10         -# GNU Libtool is free software; you can redistribute it and/or modify
    11         -# it under the terms of the GNU General Public License as published by
    12         -# the Free Software Foundation; either version 2 of the License, or
    13         -# (at your option) any later version.
    14         -#
    15         -# As a special exception to the GNU General Public License,
    16         -# if you distribute this file as part of a program or library that
    17         -# is built using GNU Libtool, you may include this file under the
    18         -# same distribution terms that you use for the rest of that program.
    19         -#
    20         -# GNU Libtool is distributed in the hope that it will be useful, but
    21         -# WITHOUT ANY WARRANTY; without even the implied warranty of
    22         -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    23         -# General Public License for more details.
    24         -#
    25         -# You should have received a copy of the GNU General Public License
    26         -# along with GNU Libtool; see the file COPYING.  If not, a copy
    27         -# can be downloaded from http://www.gnu.org/licenses/gpl.html,
    28         -# or obtained by writing to the Free Software Foundation, Inc.,
    29         -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    30         -
    31         -# Usage: $progname [OPTION]... [MODE-ARG]...
    32         -#
    33         -# Provide generalized library-building support services.
    34         -#
    35         -#       --config             show all configuration variables
    36         -#       --debug              enable verbose shell tracing
    37         -#   -n, --dry-run            display commands without modifying any files
    38         -#       --features           display basic configuration information and exit
    39         -#       --mode=MODE          use operation mode MODE
    40         -#       --preserve-dup-deps  don't remove duplicate dependency libraries
    41         -#       --quiet, --silent    don't print informational messages
    42         -#       --no-quiet, --no-silent
    43         -#                            print informational messages (default)
    44         -#       --no-warn            don't display warning messages
    45         -#       --tag=TAG            use configuration variables from tag TAG
    46         -#   -v, --verbose            print more informational messages than default
    47         -#       --no-verbose         don't print the extra informational messages
    48         -#       --version            print version information
    49         -#   -h, --help, --help-all   print short, long, or detailed help message
    50         -#
    51         -# MODE must be one of the following:
    52         -#
    53         -#         clean              remove files from the build directory
    54         -#         compile            compile a source file into a libtool object
    55         -#         execute            automatically set library path, then run a program
    56         -#         finish             complete the installation of libtool libraries
    57         -#         install            install libraries or executables
    58         -#         link               create a library or an executable
    59         -#         uninstall          remove libraries from an installed directory
    60         -#
    61         -# MODE-ARGS vary depending on the MODE.  When passed as first option,
    62         -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
    63         -# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
    64         -#
    65         -# When reporting a bug, please describe a test case to reproduce it and
    66         -# include the following information:
    67         -#
    68         -#         host-triplet:	$host
    69         -#         shell:		$SHELL
    70         -#         compiler:		$LTCC
    71         -#         compiler flags:		$LTCFLAGS
    72         -#         linker:		$LD (gnu? $with_gnu_ld)
    73         -#         $progname:	(GNU libtool) 2.4.2
    74         -#         automake:	$automake_version
    75         -#         autoconf:	$autoconf_version
    76         -#
    77         -# Report bugs to <bug-libtool@gnu.org>.
    78         -# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
    79         -# General help using GNU software: <http://www.gnu.org/gethelp/>.
    80         -
    81         -PROGRAM=libtool
    82         -PACKAGE=libtool
    83         -VERSION=2.4.2
    84         -TIMESTAMP=""
    85         -package_revision=1.3337
    86         -
    87         -# Be Bourne compatible
    88         -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
    89         -  emulate sh
    90         -  NULLCMD=:
    91         -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
    92         -  # is contrary to our usage.  Disable this feature.
    93         -  alias -g '${1+"$@"}'='"$@"'
    94         -  setopt NO_GLOB_SUBST
    95         -else
    96         -  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
    97         -fi
    98         -BIN_SH=xpg4; export BIN_SH # for Tru64
    99         -DUALCASE=1; export DUALCASE # for MKS sh
   100         -
   101         -# A function that is used when there is no print builtin or printf.
   102         -func_fallback_echo ()
   103         -{
   104         -  eval 'cat <<_LTECHO_EOF
   105         -$1
   106         -_LTECHO_EOF'
   107         -}
   108         -
   109         -# NLS nuisances: We save the old values to restore during execute mode.
   110         -lt_user_locale=
   111         -lt_safe_locale=
   112         -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
   113         -do
   114         -  eval "if test \"\${$lt_var+set}\" = set; then
   115         -          save_$lt_var=\$$lt_var
   116         -          $lt_var=C
   117         -	  export $lt_var
   118         -	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
   119         -	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
   120         -	fi"
   121         -done
   122         -LC_ALL=C
   123         -LANGUAGE=C
   124         -export LANGUAGE LC_ALL
   125         -
   126         -$lt_unset CDPATH
   127         -
   128         -
   129         -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
   130         -# is ksh but when the shell is invoked as "sh" and the current value of
   131         -# the _XPG environment variable is not equal to 1 (one), the special
   132         -# positional parameter $0, within a function call, is the name of the
   133         -# function.
   134         -progpath="$0"
   135         -
   136         -
   137         -
   138         -: ${CP="cp -f"}
   139         -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
   140         -: ${MAKE="make"}
   141         -: ${MKDIR="mkdir"}
   142         -: ${MV="mv -f"}
   143         -: ${RM="rm -f"}
   144         -: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
   145         -: ${Xsed="$SED -e 1s/^X//"}
   146         -
   147         -# Global variables:
   148         -EXIT_SUCCESS=0
   149         -EXIT_FAILURE=1
   150         -EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
   151         -EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
   152         -
   153         -exit_status=$EXIT_SUCCESS
   154         -
   155         -# Make sure IFS has a sensible default
   156         -lt_nl='
   157         -'
   158         -IFS=" 	$lt_nl"
   159         -
   160         -dirname="s,/[^/]*$,,"
   161         -basename="s,^.*/,,"
   162         -
   163         -# func_dirname file append nondir_replacement
   164         -# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
   165         -# otherwise set result to NONDIR_REPLACEMENT.
   166         -func_dirname ()
   167         -{
   168         -    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
   169         -    if test "X$func_dirname_result" = "X${1}"; then
   170         -      func_dirname_result="${3}"
   171         -    else
   172         -      func_dirname_result="$func_dirname_result${2}"
   173         -    fi
   174         -} # func_dirname may be replaced by extended shell implementation
   175         -
   176         -
   177         -# func_basename file
   178         -func_basename ()
   179         -{
   180         -    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
   181         -} # func_basename may be replaced by extended shell implementation
   182         -
   183         -
   184         -# func_dirname_and_basename file append nondir_replacement
   185         -# perform func_basename and func_dirname in a single function
   186         -# call:
   187         -#   dirname:  Compute the dirname of FILE.  If nonempty,
   188         -#             add APPEND to the result, otherwise set result
   189         -#             to NONDIR_REPLACEMENT.
   190         -#             value returned in "$func_dirname_result"
   191         -#   basename: Compute filename of FILE.
   192         -#             value retuned in "$func_basename_result"
   193         -# Implementation must be kept synchronized with func_dirname
   194         -# and func_basename. For efficiency, we do not delegate to
   195         -# those functions but instead duplicate the functionality here.
   196         -func_dirname_and_basename ()
   197         -{
   198         -    # Extract subdirectory from the argument.
   199         -    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
   200         -    if test "X$func_dirname_result" = "X${1}"; then
   201         -      func_dirname_result="${3}"
   202         -    else
   203         -      func_dirname_result="$func_dirname_result${2}"
   204         -    fi
   205         -    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
   206         -} # func_dirname_and_basename may be replaced by extended shell implementation
   207         -
   208         -
   209         -# func_stripname prefix suffix name
   210         -# strip PREFIX and SUFFIX off of NAME.
   211         -# PREFIX and SUFFIX must not contain globbing or regex special
   212         -# characters, hashes, percent signs, but SUFFIX may contain a leading
   213         -# dot (in which case that matches only a dot).
   214         -# func_strip_suffix prefix name
   215         -func_stripname ()
   216         -{
   217         -    case ${2} in
   218         -      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
   219         -      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
   220         -    esac
   221         -} # func_stripname may be replaced by extended shell implementation
   222         -
   223         -
   224         -# These SED scripts presuppose an absolute path with a trailing slash.
   225         -pathcar='s,^/\([^/]*\).*$,\1,'
   226         -pathcdr='s,^/[^/]*,,'
   227         -removedotparts=':dotsl
   228         -		s@/\./@/@g
   229         -		t dotsl
   230         -		s,/\.$,/,'
   231         -collapseslashes='s@/\{1,\}@/@g'
   232         -finalslash='s,/*$,/,'
   233         -
   234         -# func_normal_abspath PATH
   235         -# Remove doubled-up and trailing slashes, "." path components,
   236         -# and cancel out any ".." path components in PATH after making
   237         -# it an absolute path.
   238         -#             value returned in "$func_normal_abspath_result"
   239         -func_normal_abspath ()
   240         -{
   241         -  # Start from root dir and reassemble the path.
   242         -  func_normal_abspath_result=
   243         -  func_normal_abspath_tpath=$1
   244         -  func_normal_abspath_altnamespace=
   245         -  case $func_normal_abspath_tpath in
   246         -    "")
   247         -      # Empty path, that just means $cwd.
   248         -      func_stripname '' '/' "`pwd`"
   249         -      func_normal_abspath_result=$func_stripname_result
   250         -      return
   251         -    ;;
   252         -    # The next three entries are used to spot a run of precisely
   253         -    # two leading slashes without using negated character classes;
   254         -    # we take advantage of case's first-match behaviour.
   255         -    ///*)
   256         -      # Unusual form of absolute path, do nothing.
   257         -    ;;
   258         -    //*)
   259         -      # Not necessarily an ordinary path; POSIX reserves leading '//'
   260         -      # and for example Cygwin uses it to access remote file shares
   261         -      # over CIFS/SMB, so we conserve a leading double slash if found.
   262         -      func_normal_abspath_altnamespace=/
   263         -    ;;
   264         -    /*)
   265         -      # Absolute path, do nothing.
   266         -    ;;
   267         -    *)
   268         -      # Relative path, prepend $cwd.
   269         -      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
   270         -    ;;
   271         -  esac
   272         -  # Cancel out all the simple stuff to save iterations.  We also want
   273         -  # the path to end with a slash for ease of parsing, so make sure
   274         -  # there is one (and only one) here.
   275         -  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
   276         -        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
   277         -  while :; do
   278         -    # Processed it all yet?
   279         -    if test "$func_normal_abspath_tpath" = / ; then
   280         -      # If we ascended to the root using ".." the result may be empty now.
   281         -      if test -z "$func_normal_abspath_result" ; then
   282         -        func_normal_abspath_result=/
   283         -      fi
   284         -      break
   285         -    fi
   286         -    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
   287         -        -e "$pathcar"`
   288         -    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
   289         -        -e "$pathcdr"`
   290         -    # Figure out what to do with it
   291         -    case $func_normal_abspath_tcomponent in
   292         -      "")
   293         -        # Trailing empty path component, ignore it.
   294         -      ;;
   295         -      ..)
   296         -        # Parent dir; strip last assembled component from result.
   297         -        func_dirname "$func_normal_abspath_result"
   298         -        func_normal_abspath_result=$func_dirname_result
   299         -      ;;
   300         -      *)
   301         -        # Actual path component, append it.
   302         -        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
   303         -      ;;
   304         -    esac
   305         -  done
   306         -  # Restore leading double-slash if one was found on entry.
   307         -  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
   308         -}
   309         -
   310         -# func_relative_path SRCDIR DSTDIR
   311         -# generates a relative path from SRCDIR to DSTDIR, with a trailing
   312         -# slash if non-empty, suitable for immediately appending a filename
   313         -# without needing to append a separator.
   314         -#             value returned in "$func_relative_path_result"
   315         -func_relative_path ()
   316         -{
   317         -  func_relative_path_result=
   318         -  func_normal_abspath "$1"
   319         -  func_relative_path_tlibdir=$func_normal_abspath_result
   320         -  func_normal_abspath "$2"
   321         -  func_relative_path_tbindir=$func_normal_abspath_result
   322         -
   323         -  # Ascend the tree starting from libdir
   324         -  while :; do
   325         -    # check if we have found a prefix of bindir
   326         -    case $func_relative_path_tbindir in
   327         -      $func_relative_path_tlibdir)
   328         -        # found an exact match
   329         -        func_relative_path_tcancelled=
   330         -        break
   331         -        ;;
   332         -      $func_relative_path_tlibdir*)
   333         -        # found a matching prefix
   334         -        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
   335         -        func_relative_path_tcancelled=$func_stripname_result
   336         -        if test -z "$func_relative_path_result"; then
   337         -          func_relative_path_result=.
   338         -        fi
   339         -        break
   340         -        ;;
   341         -      *)
   342         -        func_dirname $func_relative_path_tlibdir
   343         -        func_relative_path_tlibdir=${func_dirname_result}
   344         -        if test "x$func_relative_path_tlibdir" = x ; then
   345         -          # Have to descend all the way to the root!
   346         -          func_relative_path_result=../$func_relative_path_result
   347         -          func_relative_path_tcancelled=$func_relative_path_tbindir
   348         -          break
   349         -        fi
   350         -        func_relative_path_result=../$func_relative_path_result
   351         -        ;;
   352         -    esac
   353         -  done
   354         -
   355         -  # Now calculate path; take care to avoid doubling-up slashes.
   356         -  func_stripname '' '/' "$func_relative_path_result"
   357         -  func_relative_path_result=$func_stripname_result
   358         -  func_stripname '/' '/' "$func_relative_path_tcancelled"
   359         -  if test "x$func_stripname_result" != x ; then
   360         -    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
   361         -  fi
   362         -
   363         -  # Normalisation. If bindir is libdir, return empty string,
   364         -  # else relative path ending with a slash; either way, target
   365         -  # file name can be directly appended.
   366         -  if test ! -z "$func_relative_path_result"; then
   367         -    func_stripname './' '' "$func_relative_path_result/"
   368         -    func_relative_path_result=$func_stripname_result
   369         -  fi
   370         -}
   371         -
   372         -# The name of this program:
   373         -func_dirname_and_basename "$progpath"
   374         -progname=$func_basename_result
   375         -
   376         -# Make sure we have an absolute path for reexecution:
   377         -case $progpath in
   378         -  [\\/]*|[A-Za-z]:\\*) ;;
   379         -  *[\\/]*)
   380         -     progdir=$func_dirname_result
   381         -     progdir=`cd "$progdir" && pwd`
   382         -     progpath="$progdir/$progname"
   383         -     ;;
   384         -  *)
   385         -     save_IFS="$IFS"
   386         -     IFS=${PATH_SEPARATOR-:}
   387         -     for progdir in $PATH; do
   388         -       IFS="$save_IFS"
   389         -       test -x "$progdir/$progname" && break
   390         -     done
   391         -     IFS="$save_IFS"
   392         -     test -n "$progdir" || progdir=`pwd`
   393         -     progpath="$progdir/$progname"
   394         -     ;;
   395         -esac
   396         -
   397         -# Sed substitution that helps us do robust quoting.  It backslashifies
   398         -# metacharacters that are still active within double-quoted strings.
   399         -Xsed="${SED}"' -e 1s/^X//'
   400         -sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
   401         -
   402         -# Same as above, but do not quote variable references.
   403         -double_quote_subst='s/\(["`\\]\)/\\\1/g'
   404         -
   405         -# Sed substitution that turns a string into a regex matching for the
   406         -# string literally.
   407         -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
   408         -
   409         -# Sed substitution that converts a w32 file name or path
   410         -# which contains forward slashes, into one that contains
   411         -# (escaped) backslashes.  A very naive implementation.
   412         -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
   413         -
   414         -# Re-`\' parameter expansions in output of double_quote_subst that were
   415         -# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
   416         -# in input to double_quote_subst, that '$' was protected from expansion.
   417         -# Since each input `\' is now two `\'s, look for any number of runs of
   418         -# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
   419         -bs='\\'
   420         -bs2='\\\\'
   421         -bs4='\\\\\\\\'
   422         -dollar='\$'
   423         -sed_double_backslash="\
   424         -  s/$bs4/&\\
   425         -/g
   426         -  s/^$bs2$dollar/$bs&/
   427         -  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
   428         -  s/\n//g"
   429         -
   430         -# Standard options:
   431         -opt_dry_run=false
   432         -opt_help=false
   433         -opt_quiet=false
   434         -opt_verbose=false
   435         -opt_warning=:
   436         -
   437         -# func_echo arg...
   438         -# Echo program name prefixed message, along with the current mode
   439         -# name if it has been set yet.
   440         -func_echo ()
   441         -{
   442         -    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
   443         -}
   444         -
   445         -# func_verbose arg...
   446         -# Echo program name prefixed message in verbose mode only.
   447         -func_verbose ()
   448         -{
   449         -    $opt_verbose && func_echo ${1+"$@"}
   450         -
   451         -    # A bug in bash halts the script if the last line of a function
   452         -    # fails when set -e is in force, so we need another command to
   453         -    # work around that:
   454         -    :
   455         -}
   456         -
   457         -# func_echo_all arg...
   458         -# Invoke $ECHO with all args, space-separated.
   459         -func_echo_all ()
   460         -{
   461         -    $ECHO "$*"
   462         -}
   463         -
   464         -# func_error arg...
   465         -# Echo program name prefixed message to standard error.
   466         -func_error ()
   467         -{
   468         -    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
   469         -}
   470         -
   471         -# func_warning arg...
   472         -# Echo program name prefixed warning message to standard error.
   473         -func_warning ()
   474         -{
   475         -    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
   476         -
   477         -    # bash bug again:
   478         -    :
   479         -}
   480         -
   481         -# func_fatal_error arg...
   482         -# Echo program name prefixed message to standard error, and exit.
   483         -func_fatal_error ()
   484         -{
   485         -    func_error ${1+"$@"}
   486         -    exit $EXIT_FAILURE
   487         -}
   488         -
   489         -# func_fatal_help arg...
   490         -# Echo program name prefixed message to standard error, followed by
   491         -# a help hint, and exit.
   492         -func_fatal_help ()
   493         -{
   494         -    func_error ${1+"$@"}
   495         -    func_fatal_error "$help"
   496         -}
   497         -help="Try \`$progname --help' for more information."  ## default
   498         -
   499         -
   500         -# func_grep expression filename
   501         -# Check whether EXPRESSION matches any line of FILENAME, without output.
   502         -func_grep ()
   503         -{
   504         -    $GREP "$1" "$2" >/dev/null 2>&1
   505         -}
   506         -
   507         -
   508         -# func_mkdir_p directory-path
   509         -# Make sure the entire path to DIRECTORY-PATH is available.
   510         -func_mkdir_p ()
   511         -{
   512         -    my_directory_path="$1"
   513         -    my_dir_list=
   514         -
   515         -    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
   516         -
   517         -      # Protect directory names starting with `-'
   518         -      case $my_directory_path in
   519         -        -*) my_directory_path="./$my_directory_path" ;;
   520         -      esac
   521         -
   522         -      # While some portion of DIR does not yet exist...
   523         -      while test ! -d "$my_directory_path"; do
   524         -        # ...make a list in topmost first order.  Use a colon delimited
   525         -	# list incase some portion of path contains whitespace.
   526         -        my_dir_list="$my_directory_path:$my_dir_list"
   527         -
   528         -        # If the last portion added has no slash in it, the list is done
   529         -        case $my_directory_path in */*) ;; *) break ;; esac
   530         -
   531         -        # ...otherwise throw away the child directory and loop
   532         -        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
   533         -      done
   534         -      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
   535         -
   536         -      save_mkdir_p_IFS="$IFS"; IFS=':'
   537         -      for my_dir in $my_dir_list; do
   538         -	IFS="$save_mkdir_p_IFS"
   539         -        # mkdir can fail with a `File exist' error if two processes
   540         -        # try to create one of the directories concurrently.  Don't
   541         -        # stop in that case!
   542         -        $MKDIR "$my_dir" 2>/dev/null || :
   543         -      done
   544         -      IFS="$save_mkdir_p_IFS"
   545         -
   546         -      # Bail out if we (or some other process) failed to create a directory.
   547         -      test -d "$my_directory_path" || \
   548         -        func_fatal_error "Failed to create \`$1'"
   549         -    fi
   550         -}
   551         -
   552         -
   553         -# func_mktempdir [string]
   554         -# Make a temporary directory that won't clash with other running
   555         -# libtool processes, and avoids race conditions if possible.  If
   556         -# given, STRING is the basename for that directory.
   557         -func_mktempdir ()
   558         -{
   559         -    my_template="${TMPDIR-/tmp}/${1-$progname}"
   560         -
   561         -    if test "$opt_dry_run" = ":"; then
   562         -      # Return a directory name, but don't create it in dry-run mode
   563         -      my_tmpdir="${my_template}-$$"
   564         -    else
   565         -
   566         -      # If mktemp works, use that first and foremost
   567         -      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
   568         -
   569         -      if test ! -d "$my_tmpdir"; then
   570         -        # Failing that, at least try and use $RANDOM to avoid a race
   571         -        my_tmpdir="${my_template}-${RANDOM-0}$$"
   572         -
   573         -        save_mktempdir_umask=`umask`
   574         -        umask 0077
   575         -        $MKDIR "$my_tmpdir"
   576         -        umask $save_mktempdir_umask
   577         -      fi
   578         -
   579         -      # If we're not in dry-run mode, bomb out on failure
   580         -      test -d "$my_tmpdir" || \
   581         -        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
   582         -    fi
   583         -
   584         -    $ECHO "$my_tmpdir"
   585         -}
   586         -
   587         -
   588         -# func_quote_for_eval arg
   589         -# Aesthetically quote ARG to be evaled later.
   590         -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
   591         -# is double-quoted, suitable for a subsequent eval, whereas
   592         -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
   593         -# which are still active within double quotes backslashified.
   594         -func_quote_for_eval ()
   595         -{
   596         -    case $1 in
   597         -      *[\\\`\"\$]*)
   598         -	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
   599         -      *)
   600         -        func_quote_for_eval_unquoted_result="$1" ;;
   601         -    esac
   602         -
   603         -    case $func_quote_for_eval_unquoted_result in
   604         -      # Double-quote args containing shell metacharacters to delay
   605         -      # word splitting, command substitution and and variable
   606         -      # expansion for a subsequent eval.
   607         -      # Many Bourne shells cannot handle close brackets correctly
   608         -      # in scan sets, so we specify it separately.
   609         -      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   610         -        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
   611         -        ;;
   612         -      *)
   613         -        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
   614         -    esac
   615         -}
   616         -
   617         -
   618         -# func_quote_for_expand arg
   619         -# Aesthetically quote ARG to be evaled later; same as above,
   620         -# but do not quote variable references.
   621         -func_quote_for_expand ()
   622         -{
   623         -    case $1 in
   624         -      *[\\\`\"]*)
   625         -	my_arg=`$ECHO "$1" | $SED \
   626         -	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
   627         -      *)
   628         -        my_arg="$1" ;;
   629         -    esac
   630         -
   631         -    case $my_arg in
   632         -      # Double-quote args containing shell metacharacters to delay
   633         -      # word splitting and command substitution for a subsequent eval.
   634         -      # Many Bourne shells cannot handle close brackets correctly
   635         -      # in scan sets, so we specify it separately.
   636         -      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   637         -        my_arg="\"$my_arg\""
   638         -        ;;
   639         -    esac
   640         -
   641         -    func_quote_for_expand_result="$my_arg"
   642         -}
   643         -
   644         -
   645         -# func_show_eval cmd [fail_exp]
   646         -# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
   647         -# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
   648         -# is given, then evaluate it.
   649         -func_show_eval ()
   650         -{
   651         -    my_cmd="$1"
   652         -    my_fail_exp="${2-:}"
   653         -
   654         -    ${opt_silent-false} || {
   655         -      func_quote_for_expand "$my_cmd"
   656         -      eval "func_echo $func_quote_for_expand_result"
   657         -    }
   658         -
   659         -    if ${opt_dry_run-false}; then :; else
   660         -      eval "$my_cmd"
   661         -      my_status=$?
   662         -      if test "$my_status" -eq 0; then :; else
   663         -	eval "(exit $my_status); $my_fail_exp"
   664         -      fi
   665         -    fi
   666         -}
   667         -
   668         -
   669         -# func_show_eval_locale cmd [fail_exp]
   670         -# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
   671         -# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
   672         -# is given, then evaluate it.  Use the saved locale for evaluation.
   673         -func_show_eval_locale ()
   674         -{
   675         -    my_cmd="$1"
   676         -    my_fail_exp="${2-:}"
   677         -
   678         -    ${opt_silent-false} || {
   679         -      func_quote_for_expand "$my_cmd"
   680         -      eval "func_echo $func_quote_for_expand_result"
   681         -    }
   682         -
   683         -    if ${opt_dry_run-false}; then :; else
   684         -      eval "$lt_user_locale
   685         -	    $my_cmd"
   686         -      my_status=$?
   687         -      eval "$lt_safe_locale"
   688         -      if test "$my_status" -eq 0; then :; else
   689         -	eval "(exit $my_status); $my_fail_exp"
   690         -      fi
   691         -    fi
   692         -}
   693         -
   694         -# func_tr_sh
   695         -# Turn $1 into a string suitable for a shell variable name.
   696         -# Result is stored in $func_tr_sh_result.  All characters
   697         -# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
   698         -# if $1 begins with a digit, a '_' is prepended as well.
   699         -func_tr_sh ()
   700         -{
   701         -  case $1 in
   702         -  [0-9]* | *[!a-zA-Z0-9_]*)
   703         -    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
   704         -    ;;
   705         -  * )
   706         -    func_tr_sh_result=$1
   707         -    ;;
   708         -  esac
   709         -}
   710         -
   711         -
   712         -# func_version
   713         -# Echo version message to standard output and exit.
   714         -func_version ()
   715         -{
   716         -    $opt_debug
   717         -
   718         -    $SED -n '/(C)/!b go
   719         -	:more
   720         -	/\./!{
   721         -	  N
   722         -	  s/\n# / /
   723         -	  b more
   724         -	}
   725         -	:go
   726         -	/^# '$PROGRAM' (GNU /,/# warranty; / {
   727         -        s/^# //
   728         -	s/^# *$//
   729         -        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
   730         -        p
   731         -     }' < "$progpath"
   732         -     exit $?
   733         -}
   734         -
   735         -# func_usage
   736         -# Echo short help message to standard output and exit.
   737         -func_usage ()
   738         -{
   739         -    $opt_debug
   740         -
   741         -    $SED -n '/^# Usage:/,/^#  *.*--help/ {
   742         -        s/^# //
   743         -	s/^# *$//
   744         -	s/\$progname/'$progname'/
   745         -	p
   746         -    }' < "$progpath"
   747         -    echo
   748         -    $ECHO "run \`$progname --help | more' for full usage"
   749         -    exit $?
   750         -}
   751         -
   752         -# func_help [NOEXIT]
   753         -# Echo long help message to standard output and exit,
   754         -# unless 'noexit' is passed as argument.
   755         -func_help ()
   756         -{
   757         -    $opt_debug
   758         -
   759         -    $SED -n '/^# Usage:/,/# Report bugs to/ {
   760         -	:print
   761         -        s/^# //
   762         -	s/^# *$//
   763         -	s*\$progname*'$progname'*
   764         -	s*\$host*'"$host"'*
   765         -	s*\$SHELL*'"$SHELL"'*
   766         -	s*\$LTCC*'"$LTCC"'*
   767         -	s*\$LTCFLAGS*'"$LTCFLAGS"'*
   768         -	s*\$LD*'"$LD"'*
   769         -	s/\$with_gnu_ld/'"$with_gnu_ld"'/
   770         -	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
   771         -	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
   772         -	p
   773         -	d
   774         -     }
   775         -     /^# .* home page:/b print
   776         -     /^# General help using/b print
   777         -     ' < "$progpath"
   778         -    ret=$?
   779         -    if test -z "$1"; then
   780         -      exit $ret
   781         -    fi
   782         -}
   783         -
   784         -# func_missing_arg argname
   785         -# Echo program name prefixed message to standard error and set global
   786         -# exit_cmd.
   787         -func_missing_arg ()
   788         -{
   789         -    $opt_debug
   790         -
   791         -    func_error "missing argument for $1."
   792         -    exit_cmd=exit
   793         -}
   794         -
   795         -
   796         -# func_split_short_opt shortopt
   797         -# Set func_split_short_opt_name and func_split_short_opt_arg shell
   798         -# variables after splitting SHORTOPT after the 2nd character.
   799         -func_split_short_opt ()
   800         -{
   801         -    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
   802         -    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
   803         -
   804         -    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
   805         -    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
   806         -} # func_split_short_opt may be replaced by extended shell implementation
   807         -
   808         -
   809         -# func_split_long_opt longopt
   810         -# Set func_split_long_opt_name and func_split_long_opt_arg shell
   811         -# variables after splitting LONGOPT at the `=' sign.
   812         -func_split_long_opt ()
   813         -{
   814         -    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
   815         -    my_sed_long_arg='1s/^--[^=]*=//'
   816         -
   817         -    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
   818         -    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
   819         -} # func_split_long_opt may be replaced by extended shell implementation
   820         -
   821         -exit_cmd=:
   822         -
   823         -
   824         -
   825         -
   826         -
   827         -magic="%%%MAGIC variable%%%"
   828         -magic_exe="%%%MAGIC EXE variable%%%"
   829         -
   830         -# Global variables.
   831         -nonopt=
   832         -preserve_args=
   833         -lo2o="s/\\.lo\$/.${objext}/"
   834         -o2lo="s/\\.${objext}\$/.lo/"
   835         -extracted_archives=
   836         -extracted_serial=0
   837         -
   838         -# If this variable is set in any of the actions, the command in it
   839         -# will be execed at the end.  This prevents here-documents from being
   840         -# left over by shells.
   841         -exec_cmd=
   842         -
   843         -# func_append var value
   844         -# Append VALUE to the end of shell variable VAR.
   845         -func_append ()
   846         -{
   847         -    eval "${1}=\$${1}\${2}"
   848         -} # func_append may be replaced by extended shell implementation
   849         -
   850         -# func_append_quoted var value
   851         -# Quote VALUE and append to the end of shell variable VAR, separated
   852         -# by a space.
   853         -func_append_quoted ()
   854         -{
   855         -    func_quote_for_eval "${2}"
   856         -    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
   857         -} # func_append_quoted may be replaced by extended shell implementation
   858         -
   859         -
   860         -# func_arith arithmetic-term...
   861         -func_arith ()
   862         -{
   863         -    func_arith_result=`expr "${@}"`
   864         -} # func_arith may be replaced by extended shell implementation
   865         -
   866         -
   867         -# func_len string
   868         -# STRING may not start with a hyphen.
   869         -func_len ()
   870         -{
   871         -    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
   872         -} # func_len may be replaced by extended shell implementation
   873         -
   874         -
   875         -# func_lo2o object
   876         -func_lo2o ()
   877         -{
   878         -    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
   879         -} # func_lo2o may be replaced by extended shell implementation
   880         -
   881         -
   882         -# func_xform libobj-or-source
   883         -func_xform ()
   884         -{
   885         -    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
   886         -} # func_xform may be replaced by extended shell implementation
   887         -
   888         -
   889         -# func_fatal_configuration arg...
   890         -# Echo program name prefixed message to standard error, followed by
   891         -# a configuration failure hint, and exit.
   892         -func_fatal_configuration ()
   893         -{
   894         -    func_error ${1+"$@"}
   895         -    func_error "See the $PACKAGE documentation for more information."
   896         -    func_fatal_error "Fatal configuration error."
   897         -}
   898         -
   899         -
   900         -# func_config
   901         -# Display the configuration for all the tags in this script.
   902         -func_config ()
   903         -{
   904         -    re_begincf='^# ### BEGIN LIBTOOL'
   905         -    re_endcf='^# ### END LIBTOOL'
   906         -
   907         -    # Default configuration.
   908         -    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
   909         -
   910         -    # Now print the configurations for the tags.
   911         -    for tagname in $taglist; do
   912         -      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
   913         -    done
   914         -
   915         -    exit $?
   916         -}
   917         -
   918         -# func_features
   919         -# Display the features supported by this script.
   920         -func_features ()
   921         -{
   922         -    echo "host: $host"
   923         -    if test "$build_libtool_libs" = yes; then
   924         -      echo "enable shared libraries"
   925         -    else
   926         -      echo "disable shared libraries"
   927         -    fi
   928         -    if test "$build_old_libs" = yes; then
   929         -      echo "enable static libraries"
   930         -    else
   931         -      echo "disable static libraries"
   932         -    fi
   933         -
   934         -    exit $?
   935         -}
   936         -
   937         -# func_enable_tag tagname
   938         -# Verify that TAGNAME is valid, and either flag an error and exit, or
   939         -# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
   940         -# variable here.
   941         -func_enable_tag ()
   942         -{
   943         -  # Global variable:
   944         -  tagname="$1"
   945         -
   946         -  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
   947         -  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
   948         -  sed_extractcf="/$re_begincf/,/$re_endcf/p"
   949         -
   950         -  # Validate tagname.
   951         -  case $tagname in
   952         -    *[!-_A-Za-z0-9,/]*)
   953         -      func_fatal_error "invalid tag name: $tagname"
   954         -      ;;
   955         -  esac
   956         -
   957         -  # Don't test for the "default" C tag, as we know it's
   958         -  # there but not specially marked.
   959         -  case $tagname in
   960         -    CC) ;;
   961         -    *)
   962         -      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
   963         -	taglist="$taglist $tagname"
   964         -
   965         -	# Evaluate the configuration.  Be careful to quote the path
   966         -	# and the sed script, to avoid splitting on whitespace, but
   967         -	# also don't use non-portable quotes within backquotes within
   968         -	# quotes we have to do it in 2 steps:
   969         -	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
   970         -	eval "$extractedcf"
   971         -      else
   972         -	func_error "ignoring unknown tag $tagname"
   973         -      fi
   974         -      ;;
   975         -  esac
   976         -}
   977         -
   978         -# func_check_version_match
   979         -# Ensure that we are using m4 macros, and libtool script from the same
   980         -# release of libtool.
   981         -func_check_version_match ()
   982         -{
   983         -  if test "$package_revision" != "$macro_revision"; then
   984         -    if test "$VERSION" != "$macro_version"; then
   985         -      if test -z "$macro_version"; then
   986         -        cat >&2 <<_LT_EOF
   987         -$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
   988         -$progname: definition of this LT_INIT comes from an older release.
   989         -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
   990         -$progname: and run autoconf again.
   991         -_LT_EOF
   992         -      else
   993         -        cat >&2 <<_LT_EOF
   994         -$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
   995         -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
   996         -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
   997         -$progname: and run autoconf again.
   998         -_LT_EOF
   999         -      fi
  1000         -    else
  1001         -      cat >&2 <<_LT_EOF
  1002         -$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
  1003         -$progname: but the definition of this LT_INIT comes from revision $macro_revision.
  1004         -$progname: You should recreate aclocal.m4 with macros from revision $package_revision
  1005         -$progname: of $PACKAGE $VERSION and run autoconf again.
  1006         -_LT_EOF
  1007         -    fi
  1008         -
  1009         -    exit $EXIT_MISMATCH
  1010         -  fi
  1011         -}
  1012         -
  1013         -
  1014         -# Shorthand for --mode=foo, only valid as the first argument
  1015         -case $1 in
  1016         -clean|clea|cle|cl)
  1017         -  shift; set dummy --mode clean ${1+"$@"}; shift
  1018         -  ;;
  1019         -compile|compil|compi|comp|com|co|c)
  1020         -  shift; set dummy --mode compile ${1+"$@"}; shift
  1021         -  ;;
  1022         -execute|execut|execu|exec|exe|ex|e)
  1023         -  shift; set dummy --mode execute ${1+"$@"}; shift
  1024         -  ;;
  1025         -finish|finis|fini|fin|fi|f)
  1026         -  shift; set dummy --mode finish ${1+"$@"}; shift
  1027         -  ;;
  1028         -install|instal|insta|inst|ins|in|i)
  1029         -  shift; set dummy --mode install ${1+"$@"}; shift
  1030         -  ;;
  1031         -link|lin|li|l)
  1032         -  shift; set dummy --mode link ${1+"$@"}; shift
  1033         -  ;;
  1034         -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
  1035         -  shift; set dummy --mode uninstall ${1+"$@"}; shift
  1036         -  ;;
  1037         -esac
  1038         -
  1039         -
  1040         -
  1041         -# Option defaults:
  1042         -opt_debug=:
  1043         -opt_dry_run=false
  1044         -opt_config=false
  1045         -opt_preserve_dup_deps=false
  1046         -opt_features=false
  1047         -opt_finish=false
  1048         -opt_help=false
  1049         -opt_help_all=false
  1050         -opt_silent=:
  1051         -opt_warning=:
  1052         -opt_verbose=:
  1053         -opt_silent=false
  1054         -opt_verbose=false
  1055         -
  1056         -
  1057         -# Parse options once, thoroughly.  This comes as soon as possible in the
  1058         -# script to make things like `--version' happen as quickly as we can.
  1059         -{
  1060         -  # this just eases exit handling
  1061         -  while test $# -gt 0; do
  1062         -    opt="$1"
  1063         -    shift
  1064         -    case $opt in
  1065         -      --debug|-x)	opt_debug='set -x'
  1066         -			func_echo "enabling shell trace mode"
  1067         -			$opt_debug
  1068         -			;;
  1069         -      --dry-run|--dryrun|-n)
  1070         -			opt_dry_run=:
  1071         -			;;
  1072         -      --config)
  1073         -			opt_config=:
  1074         -func_config
  1075         -			;;
  1076         -      --dlopen|-dlopen)
  1077         -			optarg="$1"
  1078         -			opt_dlopen="${opt_dlopen+$opt_dlopen
  1079         -}$optarg"
  1080         -			shift
  1081         -			;;
  1082         -      --preserve-dup-deps)
  1083         -			opt_preserve_dup_deps=:
  1084         -			;;
  1085         -      --features)
  1086         -			opt_features=:
  1087         -func_features
  1088         -			;;
  1089         -      --finish)
  1090         -			opt_finish=:
  1091         -set dummy --mode finish ${1+"$@"}; shift
  1092         -			;;
  1093         -      --help)
  1094         -			opt_help=:
  1095         -			;;
  1096         -      --help-all)
  1097         -			opt_help_all=:
  1098         -opt_help=': help-all'
  1099         -			;;
  1100         -      --mode)
  1101         -			test $# = 0 && func_missing_arg $opt && break
  1102         -			optarg="$1"
  1103         -			opt_mode="$optarg"
  1104         -case $optarg in
  1105         -  # Valid mode arguments:
  1106         -  clean|compile|execute|finish|install|link|relink|uninstall) ;;
  1107         -
  1108         -  # Catch anything else as an error
  1109         -  *) func_error "invalid argument for $opt"
  1110         -     exit_cmd=exit
  1111         -     break
  1112         -     ;;
  1113         -esac
  1114         -			shift
  1115         -			;;
  1116         -      --no-silent|--no-quiet)
  1117         -			opt_silent=false
  1118         -func_append preserve_args " $opt"
  1119         -			;;
  1120         -      --no-warning|--no-warn)
  1121         -			opt_warning=false
  1122         -func_append preserve_args " $opt"
  1123         -			;;
  1124         -      --no-verbose)
  1125         -			opt_verbose=false
  1126         -func_append preserve_args " $opt"
  1127         -			;;
  1128         -      --silent|--quiet)
  1129         -			opt_silent=:
  1130         -func_append preserve_args " $opt"
  1131         -        opt_verbose=false
  1132         -			;;
  1133         -      --verbose|-v)
  1134         -			opt_verbose=:
  1135         -func_append preserve_args " $opt"
  1136         -opt_silent=false
  1137         -			;;
  1138         -      --tag)
  1139         -			test $# = 0 && func_missing_arg $opt && break
  1140         -			optarg="$1"
  1141         -			opt_tag="$optarg"
  1142         -func_append preserve_args " $opt $optarg"
  1143         -func_enable_tag "$optarg"
  1144         -			shift
  1145         -			;;
  1146         -
  1147         -      -\?|-h)		func_usage				;;
  1148         -      --help)		func_help				;;
  1149         -      --version)	func_version				;;
  1150         -
  1151         -      # Separate optargs to long options:
  1152         -      --*=*)
  1153         -			func_split_long_opt "$opt"
  1154         -			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
  1155         -			shift
  1156         -			;;
  1157         -
  1158         -      # Separate non-argument short options:
  1159         -      -\?*|-h*|-n*|-v*)
  1160         -			func_split_short_opt "$opt"
  1161         -			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
  1162         -			shift
  1163         -			;;
  1164         -
  1165         -      --)		break					;;
  1166         -      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
  1167         -      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
  1168         -    esac
  1169         -  done
  1170         -
  1171         -  # Validate options:
  1172         -
  1173         -  # save first non-option argument
  1174         -  if test "$#" -gt 0; then
  1175         -    nonopt="$opt"
  1176         -    shift
  1177         -  fi
  1178         -
  1179         -  # preserve --debug
  1180         -  test "$opt_debug" = : || func_append preserve_args " --debug"
  1181         -
  1182         -  case $host in
  1183         -    *cygwin* | *mingw* | *pw32* | *cegcc*)
  1184         -      # don't eliminate duplications in $postdeps and $predeps
  1185         -      opt_duplicate_compiler_generated_deps=:
  1186         -      ;;
  1187         -    *)
  1188         -      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
  1189         -      ;;
  1190         -  esac
  1191         -
  1192         -  $opt_help || {
  1193         -    # Sanity checks first:
  1194         -    func_check_version_match
  1195         -
  1196         -    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
  1197         -      func_fatal_configuration "not configured to build any kind of library"
  1198         -    fi
  1199         -
  1200         -    # Darwin sucks
  1201         -    eval std_shrext=\"$shrext_cmds\"
  1202         -
  1203         -    # Only execute mode is allowed to have -dlopen flags.
  1204         -    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
  1205         -      func_error "unrecognized option \`-dlopen'"
  1206         -      $ECHO "$help" 1>&2
  1207         -      exit $EXIT_FAILURE
  1208         -    fi
  1209         -
  1210         -    # Change the help message to a mode-specific one.
  1211         -    generic_help="$help"
  1212         -    help="Try \`$progname --help --mode=$opt_mode' for more information."
  1213         -  }
  1214         -
  1215         -
  1216         -  # Bail if the options were screwed
  1217         -  $exit_cmd $EXIT_FAILURE
  1218         -}
  1219         -
  1220         -
  1221         -
  1222         -
  1223         -## ----------- ##
  1224         -##    Main.    ##
  1225         -## ----------- ##
  1226         -
  1227         -# func_lalib_p file
  1228         -# True iff FILE is a libtool `.la' library or `.lo' object file.
  1229         -# This function is only a basic sanity check; it will hardly flush out
  1230         -# determined imposters.
  1231         -func_lalib_p ()
  1232         -{
  1233         -    test -f "$1" &&
  1234         -      $SED -e 4q "$1" 2>/dev/null \
  1235         -        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
  1236         -}
  1237         -
  1238         -# func_lalib_unsafe_p file
  1239         -# True iff FILE is a libtool `.la' library or `.lo' object file.
  1240         -# This function implements the same check as func_lalib_p without
  1241         -# resorting to external programs.  To this end, it redirects stdin and
  1242         -# closes it afterwards, without saving the original file descriptor.
  1243         -# As a safety measure, use it only where a negative result would be
  1244         -# fatal anyway.  Works if `file' does not exist.
  1245         -func_lalib_unsafe_p ()
  1246         -{
  1247         -    lalib_p=no
  1248         -    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
  1249         -	for lalib_p_l in 1 2 3 4
  1250         -	do
  1251         -	    read lalib_p_line
  1252         -	    case "$lalib_p_line" in
  1253         -		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
  1254         -	    esac
  1255         -	done
  1256         -	exec 0<&5 5<&-
  1257         -    fi
  1258         -    test "$lalib_p" = yes
  1259         -}
  1260         -
  1261         -# func_ltwrapper_script_p file
  1262         -# True iff FILE is a libtool wrapper script
  1263         -# This function is only a basic sanity check; it will hardly flush out
  1264         -# determined imposters.
  1265         -func_ltwrapper_script_p ()
  1266         -{
  1267         -    func_lalib_p "$1"
  1268         -}
  1269         -
  1270         -# func_ltwrapper_executable_p file
  1271         -# True iff FILE is a libtool wrapper executable
  1272         -# This function is only a basic sanity check; it will hardly flush out
  1273         -# determined imposters.
  1274         -func_ltwrapper_executable_p ()
  1275         -{
  1276         -    func_ltwrapper_exec_suffix=
  1277         -    case $1 in
  1278         -    *.exe) ;;
  1279         -    *) func_ltwrapper_exec_suffix=.exe ;;
  1280         -    esac
  1281         -    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
  1282         -}
  1283         -
  1284         -# func_ltwrapper_scriptname file
  1285         -# Assumes file is an ltwrapper_executable
  1286         -# uses $file to determine the appropriate filename for a
  1287         -# temporary ltwrapper_script.
  1288         -func_ltwrapper_scriptname ()
  1289         -{
  1290         -    func_dirname_and_basename "$1" "" "."
  1291         -    func_stripname '' '.exe' "$func_basename_result"
  1292         -    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
  1293         -}
  1294         -
  1295         -# func_ltwrapper_p file
  1296         -# True iff FILE is a libtool wrapper script or wrapper executable
  1297         -# This function is only a basic sanity check; it will hardly flush out
  1298         -# determined imposters.
  1299         -func_ltwrapper_p ()
  1300         -{
  1301         -    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
  1302         -}
  1303         -
  1304         -
  1305         -# func_execute_cmds commands fail_cmd
  1306         -# Execute tilde-delimited COMMANDS.
  1307         -# If FAIL_CMD is given, eval that upon failure.
  1308         -# FAIL_CMD may read-access the current command in variable CMD!
  1309         -func_execute_cmds ()
  1310         -{
  1311         -    $opt_debug
  1312         -    save_ifs=$IFS; IFS='~'
  1313         -    for cmd in $1; do
  1314         -      IFS=$save_ifs
  1315         -      eval cmd=\"$cmd\"
  1316         -      func_show_eval "$cmd" "${2-:}"
  1317         -    done
  1318         -    IFS=$save_ifs
  1319         -}
  1320         -
  1321         -
  1322         -# func_source file
  1323         -# Source FILE, adding directory component if necessary.
  1324         -# Note that it is not necessary on cygwin/mingw to append a dot to
  1325         -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
  1326         -# behavior happens only for exec(3), not for open(2)!  Also, sourcing
  1327         -# `FILE.' does not work on cygwin managed mounts.
  1328         -func_source ()
  1329         -{
  1330         -    $opt_debug
  1331         -    case $1 in
  1332         -    */* | *\\*)	. "$1" ;;
  1333         -    *)		. "./$1" ;;
  1334         -    esac
  1335         -}
  1336         -
  1337         -
  1338         -# func_resolve_sysroot PATH
  1339         -# Replace a leading = in PATH with a sysroot.  Store the result into
  1340         -# func_resolve_sysroot_result
  1341         -func_resolve_sysroot ()
  1342         -{
  1343         -  func_resolve_sysroot_result=$1
  1344         -  case $func_resolve_sysroot_result in
  1345         -  =*)
  1346         -    func_stripname '=' '' "$func_resolve_sysroot_result"
  1347         -    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
  1348         -    ;;
  1349         -  esac
  1350         -}
  1351         -
  1352         -# func_replace_sysroot PATH
  1353         -# If PATH begins with the sysroot, replace it with = and
  1354         -# store the result into func_replace_sysroot_result.
  1355         -func_replace_sysroot ()
  1356         -{
  1357         -  case "$lt_sysroot:$1" in
  1358         -  ?*:"$lt_sysroot"*)
  1359         -    func_stripname "$lt_sysroot" '' "$1"
  1360         -    func_replace_sysroot_result="=$func_stripname_result"
  1361         -    ;;
  1362         -  *)
  1363         -    # Including no sysroot.
  1364         -    func_replace_sysroot_result=$1
  1365         -    ;;
  1366         -  esac
  1367         -}
  1368         -
  1369         -# func_infer_tag arg
  1370         -# Infer tagged configuration to use if any are available and
  1371         -# if one wasn't chosen via the "--tag" command line option.
  1372         -# Only attempt this if the compiler in the base compile
  1373         -# command doesn't match the default compiler.
  1374         -# arg is usually of the form 'gcc ...'
  1375         -func_infer_tag ()
  1376         -{
  1377         -    $opt_debug
  1378         -    if test -n "$available_tags" && test -z "$tagname"; then
  1379         -      CC_quoted=
  1380         -      for arg in $CC; do
  1381         -	func_append_quoted CC_quoted "$arg"
  1382         -      done
  1383         -      CC_expanded=`func_echo_all $CC`
  1384         -      CC_quoted_expanded=`func_echo_all $CC_quoted`
  1385         -      case $@ in
  1386         -      # Blanks in the command may have been stripped by the calling shell,
  1387         -      # but not from the CC environment variable when configure was run.
  1388         -      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
  1389         -      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
  1390         -      # Blanks at the start of $base_compile will cause this to fail
  1391         -      # if we don't check for them as well.
  1392         -      *)
  1393         -	for z in $available_tags; do
  1394         -	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
  1395         -	    # Evaluate the configuration.
  1396         -	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
  1397         -	    CC_quoted=
  1398         -	    for arg in $CC; do
  1399         -	      # Double-quote args containing other shell metacharacters.
  1400         -	      func_append_quoted CC_quoted "$arg"
  1401         -	    done
  1402         -	    CC_expanded=`func_echo_all $CC`
  1403         -	    CC_quoted_expanded=`func_echo_all $CC_quoted`
  1404         -	    case "$@ " in
  1405         -	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
  1406         -	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
  1407         -	      # The compiler in the base compile command matches
  1408         -	      # the one in the tagged configuration.
  1409         -	      # Assume this is the tagged configuration we want.
  1410         -	      tagname=$z
  1411         -	      break
  1412         -	      ;;
  1413         -	    esac
  1414         -	  fi
  1415         -	done
  1416         -	# If $tagname still isn't set, then no tagged configuration
  1417         -	# was found and let the user know that the "--tag" command
  1418         -	# line option must be used.
  1419         -	if test -z "$tagname"; then
  1420         -	  func_echo "unable to infer tagged configuration"
  1421         -	  func_fatal_error "specify a tag with \`--tag'"
  1422         -#	else
  1423         -#	  func_verbose "using $tagname tagged configuration"
  1424         -	fi
  1425         -	;;
  1426         -      esac
  1427         -    fi
  1428         -}
  1429         -
  1430         -
  1431         -
  1432         -# func_write_libtool_object output_name pic_name nonpic_name
  1433         -# Create a libtool object file (analogous to a ".la" file),
  1434         -# but don't create it if we're doing a dry run.
  1435         -func_write_libtool_object ()
  1436         -{
  1437         -    write_libobj=${1}
  1438         -    if test "$build_libtool_libs" = yes; then
  1439         -      write_lobj=\'${2}\'
  1440         -    else
  1441         -      write_lobj=none
  1442         -    fi
  1443         -
  1444         -    if test "$build_old_libs" = yes; then
  1445         -      write_oldobj=\'${3}\'
  1446         -    else
  1447         -      write_oldobj=none
  1448         -    fi
  1449         -
  1450         -    $opt_dry_run || {
  1451         -      cat >${write_libobj}T <<EOF
  1452         -# $write_libobj - a libtool object file
  1453         -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
  1454         -#
  1455         -# Please DO NOT delete this file!
  1456         -# It is necessary for linking the library.
  1457         -
  1458         -# Name of the PIC object.
  1459         -pic_object=$write_lobj
  1460         -
  1461         -# Name of the non-PIC object
  1462         -non_pic_object=$write_oldobj
  1463         -
  1464         -EOF
  1465         -      $MV "${write_libobj}T" "${write_libobj}"
  1466         -    }
  1467         -}
  1468         -
  1469         -
  1470         -##################################################
  1471         -# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
  1472         -##################################################
  1473         -
  1474         -# func_convert_core_file_wine_to_w32 ARG
  1475         -# Helper function used by file name conversion functions when $build is *nix,
  1476         -# and $host is mingw, cygwin, or some other w32 environment. Relies on a
  1477         -# correctly configured wine environment available, with the winepath program
  1478         -# in $build's $PATH.
  1479         -#
  1480         -# ARG is the $build file name to be converted to w32 format.
  1481         -# Result is available in $func_convert_core_file_wine_to_w32_result, and will
  1482         -# be empty on error (or when ARG is empty)
  1483         -func_convert_core_file_wine_to_w32 ()
  1484         -{
  1485         -  $opt_debug
  1486         -  func_convert_core_file_wine_to_w32_result="$1"
  1487         -  if test -n "$1"; then
  1488         -    # Unfortunately, winepath does not exit with a non-zero error code, so we
  1489         -    # are forced to check the contents of stdout. On the other hand, if the
  1490         -    # command is not found, the shell will set an exit code of 127 and print
  1491         -    # *an error message* to stdout. So we must check for both error code of
  1492         -    # zero AND non-empty stdout, which explains the odd construction:
  1493         -    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
  1494         -    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
  1495         -      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
  1496         -        $SED -e "$lt_sed_naive_backslashify"`
  1497         -    else
  1498         -      func_convert_core_file_wine_to_w32_result=
  1499         -    fi
  1500         -  fi
  1501         -}
  1502         -# end: func_convert_core_file_wine_to_w32
  1503         -
  1504         -
  1505         -# func_convert_core_path_wine_to_w32 ARG
  1506         -# Helper function used by path conversion functions when $build is *nix, and
  1507         -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
  1508         -# configured wine environment available, with the winepath program in $build's
  1509         -# $PATH. Assumes ARG has no leading or trailing path separator characters.
  1510         -#
  1511         -# ARG is path to be converted from $build format to win32.
  1512         -# Result is available in $func_convert_core_path_wine_to_w32_result.
  1513         -# Unconvertible file (directory) names in ARG are skipped; if no directory names
  1514         -# are convertible, then the result may be empty.
  1515         -func_convert_core_path_wine_to_w32 ()
  1516         -{
  1517         -  $opt_debug
  1518         -  # unfortunately, winepath doesn't convert paths, only file names
  1519         -  func_convert_core_path_wine_to_w32_result=""
  1520         -  if test -n "$1"; then
  1521         -    oldIFS=$IFS
  1522         -    IFS=:
  1523         -    for func_convert_core_path_wine_to_w32_f in $1; do
  1524         -      IFS=$oldIFS
  1525         -      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
  1526         -      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
  1527         -        if test -z "$func_convert_core_path_wine_to_w32_result"; then
  1528         -          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
  1529         -        else
  1530         -          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
  1531         -        fi
  1532         -      fi
  1533         -    done
  1534         -    IFS=$oldIFS
  1535         -  fi
  1536         -}
  1537         -# end: func_convert_core_path_wine_to_w32
  1538         -
  1539         -
  1540         -# func_cygpath ARGS...
  1541         -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
  1542         -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
  1543         -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
  1544         -# (2), returns the Cygwin file name or path in func_cygpath_result (input
  1545         -# file name or path is assumed to be in w32 format, as previously converted
  1546         -# from $build's *nix or MSYS format). In case (3), returns the w32 file name
  1547         -# or path in func_cygpath_result (input file name or path is assumed to be in
  1548         -# Cygwin format). Returns an empty string on error.
  1549         -#
  1550         -# ARGS are passed to cygpath, with the last one being the file name or path to
  1551         -# be converted.
  1552         -#
  1553         -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
  1554         -# environment variable; do not put it in $PATH.
  1555         -func_cygpath ()
  1556         -{
  1557         -  $opt_debug
  1558         -  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
  1559         -    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
  1560         -    if test "$?" -ne 0; then
  1561         -      # on failure, ensure result is empty
  1562         -      func_cygpath_result=
  1563         -    fi
  1564         -  else
  1565         -    func_cygpath_result=
  1566         -    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
  1567         -  fi
  1568         -}
  1569         -#end: func_cygpath
  1570         -
  1571         -
  1572         -# func_convert_core_msys_to_w32 ARG
  1573         -# Convert file name or path ARG from MSYS format to w32 format.  Return
  1574         -# result in func_convert_core_msys_to_w32_result.
  1575         -func_convert_core_msys_to_w32 ()
  1576         -{
  1577         -  $opt_debug
  1578         -  # awkward: cmd appends spaces to result
  1579         -  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
  1580         -    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
  1581         -}
  1582         -#end: func_convert_core_msys_to_w32
  1583         -
  1584         -
  1585         -# func_convert_file_check ARG1 ARG2
  1586         -# Verify that ARG1 (a file name in $build format) was converted to $host
  1587         -# format in ARG2. Otherwise, emit an error message, but continue (resetting
  1588         -# func_to_host_file_result to ARG1).
  1589         -func_convert_file_check ()
  1590         -{
  1591         -  $opt_debug
  1592         -  if test -z "$2" && test -n "$1" ; then
  1593         -    func_error "Could not determine host file name corresponding to"
  1594         -    func_error "  \`$1'"
  1595         -    func_error "Continuing, but uninstalled executables may not work."
  1596         -    # Fallback:
  1597         -    func_to_host_file_result="$1"
  1598         -  fi
  1599         -}
  1600         -# end func_convert_file_check
  1601         -
  1602         -
  1603         -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
  1604         -# Verify that FROM_PATH (a path in $build format) was converted to $host
  1605         -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
  1606         -# func_to_host_file_result to a simplistic fallback value (see below).
  1607         -func_convert_path_check ()
  1608         -{
  1609         -  $opt_debug
  1610         -  if test -z "$4" && test -n "$3"; then
  1611         -    func_error "Could not determine the host path corresponding to"
  1612         -    func_error "  \`$3'"
  1613         -    func_error "Continuing, but uninstalled executables may not work."
  1614         -    # Fallback.  This is a deliberately simplistic "conversion" and
  1615         -    # should not be "improved".  See libtool.info.
  1616         -    if test "x$1" != "x$2"; then
  1617         -      lt_replace_pathsep_chars="s|$1|$2|g"
  1618         -      func_to_host_path_result=`echo "$3" |
  1619         -        $SED -e "$lt_replace_pathsep_chars"`
  1620         -    else
  1621         -      func_to_host_path_result="$3"
  1622         -    fi
  1623         -  fi
  1624         -}
  1625         -# end func_convert_path_check
  1626         -
  1627         -
  1628         -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
  1629         -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
  1630         -# and appending REPL if ORIG matches BACKPAT.
  1631         -func_convert_path_front_back_pathsep ()
  1632         -{
  1633         -  $opt_debug
  1634         -  case $4 in
  1635         -  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
  1636         -    ;;
  1637         -  esac
  1638         -  case $4 in
  1639         -  $2 ) func_append func_to_host_path_result "$3"
  1640         -    ;;
  1641         -  esac
  1642         -}
  1643         -# end func_convert_path_front_back_pathsep
  1644         -
  1645         -
  1646         -##################################################
  1647         -# $build to $host FILE NAME CONVERSION FUNCTIONS #
  1648         -##################################################
  1649         -# invoked via `$to_host_file_cmd ARG'
  1650         -#
  1651         -# In each case, ARG is the path to be converted from $build to $host format.
  1652         -# Result will be available in $func_to_host_file_result.
  1653         -
  1654         -
  1655         -# func_to_host_file ARG
  1656         -# Converts the file name ARG from $build format to $host format. Return result
  1657         -# in func_to_host_file_result.
  1658         -func_to_host_file ()
  1659         -{
  1660         -  $opt_debug
  1661         -  $to_host_file_cmd "$1"
  1662         -}
  1663         -# end func_to_host_file
  1664         -
  1665         -
  1666         -# func_to_tool_file ARG LAZY
  1667         -# converts the file name ARG from $build format to toolchain format. Return
  1668         -# result in func_to_tool_file_result.  If the conversion in use is listed
  1669         -# in (the comma separated) LAZY, no conversion takes place.
  1670         -func_to_tool_file ()
  1671         -{
  1672         -  $opt_debug
  1673         -  case ,$2, in
  1674         -    *,"$to_tool_file_cmd",*)
  1675         -      func_to_tool_file_result=$1
  1676         -      ;;
  1677         -    *)
  1678         -      $to_tool_file_cmd "$1"
  1679         -      func_to_tool_file_result=$func_to_host_file_result
  1680         -      ;;
  1681         -  esac
  1682         -}
  1683         -# end func_to_tool_file
  1684         -
  1685         -
  1686         -# func_convert_file_noop ARG
  1687         -# Copy ARG to func_to_host_file_result.
  1688         -func_convert_file_noop ()
  1689         -{
  1690         -  func_to_host_file_result="$1"
  1691         -}
  1692         -# end func_convert_file_noop
  1693         -
  1694         -
  1695         -# func_convert_file_msys_to_w32 ARG
  1696         -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
  1697         -# conversion to w32 is not available inside the cwrapper.  Returns result in
  1698         -# func_to_host_file_result.
  1699         -func_convert_file_msys_to_w32 ()
  1700         -{
  1701         -  $opt_debug
  1702         -  func_to_host_file_result="$1"
  1703         -  if test -n "$1"; then
  1704         -    func_convert_core_msys_to_w32 "$1"
  1705         -    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
  1706         -  fi
  1707         -  func_convert_file_check "$1" "$func_to_host_file_result"
  1708         -}
  1709         -# end func_convert_file_msys_to_w32
  1710         -
  1711         -
  1712         -# func_convert_file_cygwin_to_w32 ARG
  1713         -# Convert file name ARG from Cygwin to w32 format.  Returns result in
  1714         -# func_to_host_file_result.
  1715         -func_convert_file_cygwin_to_w32 ()
  1716         -{
  1717         -  $opt_debug
  1718         -  func_to_host_file_result="$1"
  1719         -  if test -n "$1"; then
  1720         -    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
  1721         -    # LT_CYGPATH in this case.
  1722         -    func_to_host_file_result=`cygpath -m "$1"`
  1723         -  fi
  1724         -  func_convert_file_check "$1" "$func_to_host_file_result"
  1725         -}
  1726         -# end func_convert_file_cygwin_to_w32
  1727         -
  1728         -
  1729         -# func_convert_file_nix_to_w32 ARG
  1730         -# Convert file name ARG from *nix to w32 format.  Requires a wine environment
  1731         -# and a working winepath. Returns result in func_to_host_file_result.
  1732         -func_convert_file_nix_to_w32 ()
  1733         -{
  1734         -  $opt_debug
  1735         -  func_to_host_file_result="$1"
  1736         -  if test -n "$1"; then
  1737         -    func_convert_core_file_wine_to_w32 "$1"
  1738         -    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
  1739         -  fi
  1740         -  func_convert_file_check "$1" "$func_to_host_file_result"
  1741         -}
  1742         -# end func_convert_file_nix_to_w32
  1743         -
  1744         -
  1745         -# func_convert_file_msys_to_cygwin ARG
  1746         -# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
  1747         -# Returns result in func_to_host_file_result.
  1748         -func_convert_file_msys_to_cygwin ()
  1749         -{
  1750         -  $opt_debug
  1751         -  func_to_host_file_result="$1"
  1752         -  if test -n "$1"; then
  1753         -    func_convert_core_msys_to_w32 "$1"
  1754         -    func_cygpath -u "$func_convert_core_msys_to_w32_result"
  1755         -    func_to_host_file_result="$func_cygpath_result"
  1756         -  fi
  1757         -  func_convert_file_check "$1" "$func_to_host_file_result"
  1758         -}
  1759         -# end func_convert_file_msys_to_cygwin
  1760         -
  1761         -
  1762         -# func_convert_file_nix_to_cygwin ARG
  1763         -# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
  1764         -# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
  1765         -# in func_to_host_file_result.
  1766         -func_convert_file_nix_to_cygwin ()
  1767         -{
  1768         -  $opt_debug
  1769         -  func_to_host_file_result="$1"
  1770         -  if test -n "$1"; then
  1771         -    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
  1772         -    func_convert_core_file_wine_to_w32 "$1"
  1773         -    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
  1774         -    func_to_host_file_result="$func_cygpath_result"
  1775         -  fi
  1776         -  func_convert_file_check "$1" "$func_to_host_file_result"
  1777         -}
  1778         -# end func_convert_file_nix_to_cygwin
  1779         -
  1780         -
  1781         -#############################################
  1782         -# $build to $host PATH CONVERSION FUNCTIONS #
  1783         -#############################################
  1784         -# invoked via `$to_host_path_cmd ARG'
  1785         -#
  1786         -# In each case, ARG is the path to be converted from $build to $host format.
  1787         -# The result will be available in $func_to_host_path_result.
  1788         -#
  1789         -# Path separators are also converted from $build format to $host format.  If
  1790         -# ARG begins or ends with a path separator character, it is preserved (but
  1791         -# converted to $host format) on output.
  1792         -#
  1793         -# All path conversion functions are named using the following convention:
  1794         -#   file name conversion function    : func_convert_file_X_to_Y ()
  1795         -#   path conversion function         : func_convert_path_X_to_Y ()
  1796         -# where, for any given $build/$host combination the 'X_to_Y' value is the
  1797         -# same.  If conversion functions are added for new $build/$host combinations,
  1798         -# the two new functions must follow this pattern, or func_init_to_host_path_cmd
  1799         -# will break.
  1800         -
  1801         -
  1802         -# func_init_to_host_path_cmd
  1803         -# Ensures that function "pointer" variable $to_host_path_cmd is set to the
  1804         -# appropriate value, based on the value of $to_host_file_cmd.
  1805         -to_host_path_cmd=
  1806         -func_init_to_host_path_cmd ()
  1807         -{
  1808         -  $opt_debug
  1809         -  if test -z "$to_host_path_cmd"; then
  1810         -    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
  1811         -    to_host_path_cmd="func_convert_path_${func_stripname_result}"
  1812         -  fi
  1813         -}
  1814         -
  1815         -
  1816         -# func_to_host_path ARG
  1817         -# Converts the path ARG from $build format to $host format. Return result
  1818         -# in func_to_host_path_result.
  1819         -func_to_host_path ()
  1820         -{
  1821         -  $opt_debug
  1822         -  func_init_to_host_path_cmd
  1823         -  $to_host_path_cmd "$1"
  1824         -}
  1825         -# end func_to_host_path
  1826         -
  1827         -
  1828         -# func_convert_path_noop ARG
  1829         -# Copy ARG to func_to_host_path_result.
  1830         -func_convert_path_noop ()
  1831         -{
  1832         -  func_to_host_path_result="$1"
  1833         -}
  1834         -# end func_convert_path_noop
  1835         -
  1836         -
  1837         -# func_convert_path_msys_to_w32 ARG
  1838         -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
  1839         -# conversion to w32 is not available inside the cwrapper.  Returns result in
  1840         -# func_to_host_path_result.
  1841         -func_convert_path_msys_to_w32 ()
  1842         -{
  1843         -  $opt_debug
  1844         -  func_to_host_path_result="$1"
  1845         -  if test -n "$1"; then
  1846         -    # Remove leading and trailing path separator characters from ARG.  MSYS
  1847         -    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
  1848         -    # and winepath ignores them completely.
  1849         -    func_stripname : : "$1"
  1850         -    func_to_host_path_tmp1=$func_stripname_result
  1851         -    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
  1852         -    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
  1853         -    func_convert_path_check : ";" \
  1854         -      "$func_to_host_path_tmp1" "$func_to_host_path_result"
  1855         -    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
  1856         -  fi
  1857         -}
  1858         -# end func_convert_path_msys_to_w32
  1859         -
  1860         -
  1861         -# func_convert_path_cygwin_to_w32 ARG
  1862         -# Convert path ARG from Cygwin to w32 format.  Returns result in
  1863         -# func_to_host_file_result.
  1864         -func_convert_path_cygwin_to_w32 ()
  1865         -{
  1866         -  $opt_debug
  1867         -  func_to_host_path_result="$1"
  1868         -  if test -n "$1"; then
  1869         -    # See func_convert_path_msys_to_w32:
  1870         -    func_stripname : : "$1"
  1871         -    func_to_host_path_tmp1=$func_stripname_result
  1872         -    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
  1873         -    func_convert_path_check : ";" \
  1874         -      "$func_to_host_path_tmp1" "$func_to_host_path_result"
  1875         -    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
  1876         -  fi
  1877         -}
  1878         -# end func_convert_path_cygwin_to_w32
  1879         -
  1880         -
  1881         -# func_convert_path_nix_to_w32 ARG
  1882         -# Convert path ARG from *nix to w32 format.  Requires a wine environment and
  1883         -# a working winepath.  Returns result in func_to_host_file_result.
  1884         -func_convert_path_nix_to_w32 ()
  1885         -{
  1886         -  $opt_debug
  1887         -  func_to_host_path_result="$1"
  1888         -  if test -n "$1"; then
  1889         -    # See func_convert_path_msys_to_w32:
  1890         -    func_stripname : : "$1"
  1891         -    func_to_host_path_tmp1=$func_stripname_result
  1892         -    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
  1893         -    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
  1894         -    func_convert_path_check : ";" \
  1895         -      "$func_to_host_path_tmp1" "$func_to_host_path_result"
  1896         -    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
  1897         -  fi
  1898         -}
  1899         -# end func_convert_path_nix_to_w32
  1900         -
  1901         -
  1902         -# func_convert_path_msys_to_cygwin ARG
  1903         -# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
  1904         -# Returns result in func_to_host_file_result.
  1905         -func_convert_path_msys_to_cygwin ()
  1906         -{
  1907         -  $opt_debug
  1908         -  func_to_host_path_result="$1"
  1909         -  if test -n "$1"; then
  1910         -    # See func_convert_path_msys_to_w32:
  1911         -    func_stripname : : "$1"
  1912         -    func_to_host_path_tmp1=$func_stripname_result
  1913         -    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
  1914         -    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
  1915         -    func_to_host_path_result="$func_cygpath_result"
  1916         -    func_convert_path_check : : \
  1917         -      "$func_to_host_path_tmp1" "$func_to_host_path_result"
  1918         -    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
  1919         -  fi
  1920         -}
  1921         -# end func_convert_path_msys_to_cygwin
  1922         -
  1923         -
  1924         -# func_convert_path_nix_to_cygwin ARG
  1925         -# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
  1926         -# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
  1927         -# func_to_host_file_result.
  1928         -func_convert_path_nix_to_cygwin ()
  1929         -{
  1930         -  $opt_debug
  1931         -  func_to_host_path_result="$1"
  1932         -  if test -n "$1"; then
  1933         -    # Remove leading and trailing path separator characters from
  1934         -    # ARG. msys behavior is inconsistent here, cygpath turns them
  1935         -    # into '.;' and ';.', and winepath ignores them completely.
  1936         -    func_stripname : : "$1"
  1937         -    func_to_host_path_tmp1=$func_stripname_result
  1938         -    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
  1939         -    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
  1940         -    func_to_host_path_result="$func_cygpath_result"
  1941         -    func_convert_path_check : : \
  1942         -      "$func_to_host_path_tmp1" "$func_to_host_path_result"
  1943         -    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
  1944         -  fi
  1945         -}
  1946         -# end func_convert_path_nix_to_cygwin
  1947         -
  1948         -
  1949         -# func_mode_compile arg...
  1950         -func_mode_compile ()
  1951         -{
  1952         -    $opt_debug
  1953         -    # Get the compilation command and the source file.
  1954         -    base_compile=
  1955         -    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
  1956         -    suppress_opt=yes
  1957         -    suppress_output=
  1958         -    arg_mode=normal
  1959         -    libobj=
  1960         -    later=
  1961         -    pie_flag=
  1962         -
  1963         -    for arg
  1964         -    do
  1965         -      case $arg_mode in
  1966         -      arg  )
  1967         -	# do not "continue".  Instead, add this to base_compile
  1968         -	lastarg="$arg"
  1969         -	arg_mode=normal
  1970         -	;;
  1971         -
  1972         -      target )
  1973         -	libobj="$arg"
  1974         -	arg_mode=normal
  1975         -	continue
  1976         -	;;
  1977         -
  1978         -      normal )
  1979         -	# Accept any command-line options.
  1980         -	case $arg in
  1981         -	-o)
  1982         -	  test -n "$libobj" && \
  1983         -	    func_fatal_error "you cannot specify \`-o' more than once"
  1984         -	  arg_mode=target
  1985         -	  continue
  1986         -	  ;;
  1987         -
  1988         -	-pie | -fpie | -fPIE)
  1989         -          func_append pie_flag " $arg"
  1990         -	  continue
  1991         -	  ;;
  1992         -
  1993         -	-shared | -static | -prefer-pic | -prefer-non-pic)
  1994         -	  func_append later " $arg"
  1995         -	  continue
  1996         -	  ;;
  1997         -
  1998         -	-no-suppress)
  1999         -	  suppress_opt=no
  2000         -	  continue
  2001         -	  ;;
  2002         -
  2003         -	-Xcompiler)
  2004         -	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
  2005         -	  continue      #  The current "srcfile" will either be retained or
  2006         -	  ;;            #  replaced later.  I would guess that would be a bug.
  2007         -
  2008         -	-Wc,*)
  2009         -	  func_stripname '-Wc,' '' "$arg"
  2010         -	  args=$func_stripname_result
  2011         -	  lastarg=
  2012         -	  save_ifs="$IFS"; IFS=','
  2013         -	  for arg in $args; do
  2014         -	    IFS="$save_ifs"
  2015         -	    func_append_quoted lastarg "$arg"
  2016         -	  done
  2017         -	  IFS="$save_ifs"
  2018         -	  func_stripname ' ' '' "$lastarg"
  2019         -	  lastarg=$func_stripname_result
  2020         -
  2021         -	  # Add the arguments to base_compile.
  2022         -	  func_append base_compile " $lastarg"
  2023         -	  continue
  2024         -	  ;;
  2025         -
  2026         -	*)
  2027         -	  # Accept the current argument as the source file.
  2028         -	  # The previous "srcfile" becomes the current argument.
  2029         -	  #
  2030         -	  lastarg="$srcfile"
  2031         -	  srcfile="$arg"
  2032         -	  ;;
  2033         -	esac  #  case $arg
  2034         -	;;
  2035         -      esac    #  case $arg_mode
  2036         -
  2037         -      # Aesthetically quote the previous argument.
  2038         -      func_append_quoted base_compile "$lastarg"
  2039         -    done # for arg
  2040         -
  2041         -    case $arg_mode in
  2042         -    arg)
  2043         -      func_fatal_error "you must specify an argument for -Xcompile"
  2044         -      ;;
  2045         -    target)
  2046         -      func_fatal_error "you must specify a target with \`-o'"
  2047         -      ;;
  2048         -    *)
  2049         -      # Get the name of the library object.
  2050         -      test -z "$libobj" && {
  2051         -	func_basename "$srcfile"
  2052         -	libobj="$func_basename_result"
  2053         -      }
  2054         -      ;;
  2055         -    esac
  2056         -
  2057         -    # Recognize several different file suffixes.
  2058         -    # If the user specifies -o file.o, it is replaced with file.lo
  2059         -    case $libobj in
  2060         -    *.[cCFSifmso] | \
  2061         -    *.ada | *.adb | *.ads | *.asm | \
  2062         -    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
  2063         -    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
  2064         -      func_xform "$libobj"
  2065         -      libobj=$func_xform_result
  2066         -      ;;
  2067         -    esac
  2068         -
  2069         -    case $libobj in
  2070         -    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
  2071         -    *)
  2072         -      func_fatal_error "cannot determine name of library object from \`$libobj'"
  2073         -      ;;
  2074         -    esac
  2075         -
  2076         -    func_infer_tag $base_compile
  2077         -
  2078         -    for arg in $later; do
  2079         -      case $arg in
  2080         -      -shared)
  2081         -	test "$build_libtool_libs" != yes && \
  2082         -	  func_fatal_configuration "can not build a shared library"
  2083         -	build_old_libs=no
  2084         -	continue
  2085         -	;;
  2086         -
  2087         -      -static)
  2088         -	build_libtool_libs=no
  2089         -	build_old_libs=yes
  2090         -	continue
  2091         -	;;
  2092         -
  2093         -      -prefer-pic)
  2094         -	pic_mode=yes
  2095         -	continue
  2096         -	;;
  2097         -
  2098         -      -prefer-non-pic)
  2099         -	pic_mode=no
  2100         -	continue
  2101         -	;;
  2102         -      esac
  2103         -    done
  2104         -
  2105         -    func_quote_for_eval "$libobj"
  2106         -    test "X$libobj" != "X$func_quote_for_eval_result" \
  2107         -      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
  2108         -      && func_warning "libobj name \`$libobj' may not contain shell special characters."
  2109         -    func_dirname_and_basename "$obj" "/" ""
  2110         -    objname="$func_basename_result"
  2111         -    xdir="$func_dirname_result"
  2112         -    lobj=${xdir}$objdir/$objname
  2113         -
  2114         -    test -z "$base_compile" && \
  2115         -      func_fatal_help "you must specify a compilation command"
  2116         -
  2117         -    # Delete any leftover library objects.
  2118         -    if test "$build_old_libs" = yes; then
  2119         -      removelist="$obj $lobj $libobj ${libobj}T"
  2120         -    else
  2121         -      removelist="$lobj $libobj ${libobj}T"
  2122         -    fi
  2123         -
  2124         -    # On Cygwin there's no "real" PIC flag so we must build both object types
  2125         -    case $host_os in
  2126         -    cygwin* | mingw* | pw32* | os2* | cegcc*)
  2127         -      pic_mode=default
  2128         -      ;;
  2129         -    esac
  2130         -    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
  2131         -      # non-PIC code in shared libraries is not supported
  2132         -      pic_mode=default
  2133         -    fi
  2134         -
  2135         -    # Calculate the filename of the output object if compiler does
  2136         -    # not support -o with -c
  2137         -    if test "$compiler_c_o" = no; then
  2138         -      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
  2139         -      lockfile="$output_obj.lock"
  2140         -    else
  2141         -      output_obj=
  2142         -      need_locks=no
  2143         -      lockfile=
  2144         -    fi
  2145         -
  2146         -    # Lock this critical section if it is needed
  2147         -    # We use this script file to make the link, it avoids creating a new file
  2148         -    if test "$need_locks" = yes; then
  2149         -      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
  2150         -	func_echo "Waiting for $lockfile to be removed"
  2151         -	sleep 2
  2152         -      done
  2153         -    elif test "$need_locks" = warn; then
  2154         -      if test -f "$lockfile"; then
  2155         -	$ECHO "\
  2156         -*** ERROR, $lockfile exists and contains:
  2157         -`cat $lockfile 2>/dev/null`
  2158         -
  2159         -This indicates that another process is trying to use the same
  2160         -temporary object file, and libtool could not work around it because
  2161         -your compiler does not support \`-c' and \`-o' together.  If you
  2162         -repeat this compilation, it may succeed, by chance, but you had better
  2163         -avoid parallel builds (make -j) in this platform, or get a better
  2164         -compiler."
  2165         -
  2166         -	$opt_dry_run || $RM $removelist
  2167         -	exit $EXIT_FAILURE
  2168         -      fi
  2169         -      func_append removelist " $output_obj"
  2170         -      $ECHO "$srcfile" > "$lockfile"
  2171         -    fi
  2172         -
  2173         -    $opt_dry_run || $RM $removelist
  2174         -    func_append removelist " $lockfile"
  2175         -    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
  2176         -
  2177         -    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
  2178         -    srcfile=$func_to_tool_file_result
  2179         -    func_quote_for_eval "$srcfile"
  2180         -    qsrcfile=$func_quote_for_eval_result
  2181         -
  2182         -    # Only build a PIC object if we are building libtool libraries.
  2183         -    if test "$build_libtool_libs" = yes; then
  2184         -      # Without this assignment, base_compile gets emptied.
  2185         -      fbsd_hideous_sh_bug=$base_compile
  2186         -
  2187         -      if test "$pic_mode" != no; then
  2188         -	command="$base_compile $qsrcfile $pic_flag"
  2189         -      else
  2190         -	# Don't build PIC code
  2191         -	command="$base_compile $qsrcfile"
  2192         -      fi
  2193         -
  2194         -      func_mkdir_p "$xdir$objdir"
  2195         -
  2196         -      if test -z "$output_obj"; then
  2197         -	# Place PIC objects in $objdir
  2198         -	func_append command " -o $lobj"
  2199         -      fi
  2200         -
  2201         -      func_show_eval_locale "$command"	\
  2202         -          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
  2203         -
  2204         -      if test "$need_locks" = warn &&
  2205         -	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
  2206         -	$ECHO "\
  2207         -*** ERROR, $lockfile contains:
  2208         -`cat $lockfile 2>/dev/null`
  2209         -
  2210         -but it should contain:
  2211         -$srcfile
  2212         -
  2213         -This indicates that another process is trying to use the same
  2214         -temporary object file, and libtool could not work around it because
  2215         -your compiler does not support \`-c' and \`-o' together.  If you
  2216         -repeat this compilation, it may succeed, by chance, but you had better
  2217         -avoid parallel builds (make -j) in this platform, or get a better
  2218         -compiler."
  2219         -
  2220         -	$opt_dry_run || $RM $removelist
  2221         -	exit $EXIT_FAILURE
  2222         -      fi
  2223         -
  2224         -      # Just move the object if needed, then go on to compile the next one
  2225         -      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
  2226         -	func_show_eval '$MV "$output_obj" "$lobj"' \
  2227         -	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
  2228         -      fi
  2229         -
  2230         -      # Allow error messages only from the first compilation.
  2231         -      if test "$suppress_opt" = yes; then
  2232         -	suppress_output=' >/dev/null 2>&1'
  2233         -      fi
  2234         -    fi
  2235         -
  2236         -    # Only build a position-dependent object if we build old libraries.
  2237         -    if test "$build_old_libs" = yes; then
  2238         -      if test "$pic_mode" != yes; then
  2239         -	# Don't build PIC code
  2240         -	command="$base_compile $qsrcfile$pie_flag"
  2241         -      else
  2242         -	command="$base_compile $qsrcfile $pic_flag"
  2243         -      fi
  2244         -      if test "$compiler_c_o" = yes; then
  2245         -	func_append command " -o $obj"
  2246         -      fi
  2247         -
  2248         -      # Suppress compiler output if we already did a PIC compilation.
  2249         -      func_append command "$suppress_output"
  2250         -      func_show_eval_locale "$command" \
  2251         -        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
  2252         -
  2253         -      if test "$need_locks" = warn &&
  2254         -	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
  2255         -	$ECHO "\
  2256         -*** ERROR, $lockfile contains:
  2257         -`cat $lockfile 2>/dev/null`
  2258         -
  2259         -but it should contain:
  2260         -$srcfile
  2261         -
  2262         -This indicates that another process is trying to use the same
  2263         -temporary object file, and libtool could not work around it because
  2264         -your compiler does not support \`-c' and \`-o' together.  If you
  2265         -repeat this compilation, it may succeed, by chance, but you had better
  2266         -avoid parallel builds (make -j) in this platform, or get a better
  2267         -compiler."
  2268         -
  2269         -	$opt_dry_run || $RM $removelist
  2270         -	exit $EXIT_FAILURE
  2271         -      fi
  2272         -
  2273         -      # Just move the object if needed
  2274         -      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
  2275         -	func_show_eval '$MV "$output_obj" "$obj"' \
  2276         -	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
  2277         -      fi
  2278         -    fi
  2279         -
  2280         -    $opt_dry_run || {
  2281         -      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
  2282         -
  2283         -      # Unlock the critical section if it was locked
  2284         -      if test "$need_locks" != no; then
  2285         -	removelist=$lockfile
  2286         -        $RM "$lockfile"
  2287         -      fi
  2288         -    }
  2289         -
  2290         -    exit $EXIT_SUCCESS
  2291         -}
  2292         -
  2293         -$opt_help || {
  2294         -  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
  2295         -}
  2296         -
  2297         -func_mode_help ()
  2298         -{
  2299         -    # We need to display help for each of the modes.
  2300         -    case $opt_mode in
  2301         -      "")
  2302         -        # Generic help is extracted from the usage comments
  2303         -        # at the start of this file.
  2304         -        func_help
  2305         -        ;;
  2306         -
  2307         -      clean)
  2308         -        $ECHO \
  2309         -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
  2310         -
  2311         -Remove files from the build directory.
  2312         -
  2313         -RM is the name of the program to use to delete files associated with each FILE
  2314         -(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
  2315         -to RM.
  2316         -
  2317         -If FILE is a libtool library, object or program, all the files associated
  2318         -with it are deleted. Otherwise, only FILE itself is deleted using RM."
  2319         -        ;;
  2320         -
  2321         -      compile)
  2322         -      $ECHO \
  2323         -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
  2324         -
  2325         -Compile a source file into a libtool library object.
  2326         -
  2327         -This mode accepts the following additional options:
  2328         -
  2329         -  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
  2330         -  -no-suppress      do not suppress compiler output for multiple passes
  2331         -  -prefer-pic       try to build PIC objects only
  2332         -  -prefer-non-pic   try to build non-PIC objects only
  2333         -  -shared           do not build a \`.o' file suitable for static linking
  2334         -  -static           only build a \`.o' file suitable for static linking
  2335         -  -Wc,FLAG          pass FLAG directly to the compiler
  2336         -
  2337         -COMPILE-COMMAND is a command to be used in creating a \`standard' object file
  2338         -from the given SOURCEFILE.
  2339         -
  2340         -The output file name is determined by removing the directory component from
  2341         -SOURCEFILE, then substituting the C source code suffix \`.c' with the
  2342         -library object suffix, \`.lo'."
  2343         -        ;;
  2344         -
  2345         -      execute)
  2346         -        $ECHO \
  2347         -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
  2348         -
  2349         -Automatically set library path, then run a program.
  2350         -
  2351         -This mode accepts the following additional options:
  2352         -
  2353         -  -dlopen FILE      add the directory containing FILE to the library path
  2354         -
  2355         -This mode sets the library path environment variable according to \`-dlopen'
  2356         -flags.
  2357         -
  2358         -If any of the ARGS are libtool executable wrappers, then they are translated
  2359         -into their corresponding uninstalled binary, and any of their required library
  2360         -directories are added to the library path.
  2361         -
  2362         -Then, COMMAND is executed, with ARGS as arguments."
  2363         -        ;;
  2364         -
  2365         -      finish)
  2366         -        $ECHO \
  2367         -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
  2368         -
  2369         -Complete the installation of libtool libraries.
  2370         -
  2371         -Each LIBDIR is a directory that contains libtool libraries.
  2372         -
  2373         -The commands that this mode executes may require superuser privileges.  Use
  2374         -the \`--dry-run' option if you just want to see what would be executed."
  2375         -        ;;
  2376         -
  2377         -      install)
  2378         -        $ECHO \
  2379         -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
  2380         -
  2381         -Install executables or libraries.
  2382         -
  2383         -INSTALL-COMMAND is the installation command.  The first component should be
  2384         -either the \`install' or \`cp' program.
  2385         -
  2386         -The following components of INSTALL-COMMAND are treated specially:
  2387         -
  2388         -  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
  2389         -
  2390         -The rest of the components are interpreted as arguments to that command (only
  2391         -BSD-compatible install options are recognized)."
  2392         -        ;;
  2393         -
  2394         -      link)
  2395         -        $ECHO \
  2396         -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
  2397         -
  2398         -Link object files or libraries together to form another library, or to
  2399         -create an executable program.
  2400         -
  2401         -LINK-COMMAND is a command using the C compiler that you would use to create
  2402         -a program from several object files.
  2403         -
  2404         -The following components of LINK-COMMAND are treated specially:
  2405         -
  2406         -  -all-static       do not do any dynamic linking at all
  2407         -  -avoid-version    do not add a version suffix if possible
  2408         -  -bindir BINDIR    specify path to binaries directory (for systems where
  2409         -                    libraries must be found in the PATH setting at runtime)
  2410         -  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
  2411         -  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
  2412         -  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
  2413         -  -export-symbols SYMFILE
  2414         -                    try to export only the symbols listed in SYMFILE
  2415         -  -export-symbols-regex REGEX
  2416         -                    try to export only the symbols matching REGEX
  2417         -  -LLIBDIR          search LIBDIR for required installed libraries
  2418         -  -lNAME            OUTPUT-FILE requires the installed library libNAME
  2419         -  -module           build a library that can dlopened
  2420         -  -no-fast-install  disable the fast-install mode
  2421         -  -no-install       link a not-installable executable
  2422         -  -no-undefined     declare that a library does not refer to external symbols
  2423         -  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
  2424         -  -objectlist FILE  Use a list of object files found in FILE to specify objects
  2425         -  -precious-files-regex REGEX
  2426         -                    don't remove output files matching REGEX
  2427         -  -release RELEASE  specify package release information
  2428         -  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
  2429         -  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
  2430         -  -shared           only do dynamic linking of libtool libraries
  2431         -  -shrext SUFFIX    override the standard shared library file extension
  2432         -  -static           do not do any dynamic linking of uninstalled libtool libraries
  2433         -  -static-libtool-libs
  2434         -                    do not do any dynamic linking of libtool libraries
  2435         -  -version-info CURRENT[:REVISION[:AGE]]
  2436         -                    specify library version info [each variable defaults to 0]
  2437         -  -weak LIBNAME     declare that the target provides the LIBNAME interface
  2438         -  -Wc,FLAG
  2439         -  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
  2440         -  -Wl,FLAG
  2441         -  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
  2442         -  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
  2443         -
  2444         -All other options (arguments beginning with \`-') are ignored.
  2445         -
  2446         -Every other argument is treated as a filename.  Files ending in \`.la' are
  2447         -treated as uninstalled libtool libraries, other files are standard or library
  2448         -object files.
  2449         -
  2450         -If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
  2451         -only library objects (\`.lo' files) may be specified, and \`-rpath' is
  2452         -required, except when creating a convenience library.
  2453         -
  2454         -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
  2455         -using \`ar' and \`ranlib', or on Windows using \`lib'.
  2456         -
  2457         -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
  2458         -is created, otherwise an executable program is created."
  2459         -        ;;
  2460         -
  2461         -      uninstall)
  2462         -        $ECHO \
  2463         -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
  2464         -
  2465         -Remove libraries from an installation directory.
  2466         -
  2467         -RM is the name of the program to use to delete files associated with each FILE
  2468         -(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
  2469         -to RM.
  2470         -
  2471         -If FILE is a libtool library, all the files associated with it are deleted.
  2472         -Otherwise, only FILE itself is deleted using RM."
  2473         -        ;;
  2474         -
  2475         -      *)
  2476         -        func_fatal_help "invalid operation mode \`$opt_mode'"
  2477         -        ;;
  2478         -    esac
  2479         -
  2480         -    echo
  2481         -    $ECHO "Try \`$progname --help' for more information about other modes."
  2482         -}
  2483         -
  2484         -# Now that we've collected a possible --mode arg, show help if necessary
  2485         -if $opt_help; then
  2486         -  if test "$opt_help" = :; then
  2487         -    func_mode_help
  2488         -  else
  2489         -    {
  2490         -      func_help noexit
  2491         -      for opt_mode in compile link execute install finish uninstall clean; do
  2492         -	func_mode_help
  2493         -      done
  2494         -    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
  2495         -    {
  2496         -      func_help noexit
  2497         -      for opt_mode in compile link execute install finish uninstall clean; do
  2498         -	echo
  2499         -	func_mode_help
  2500         -      done
  2501         -    } |
  2502         -    sed '1d
  2503         -      /^When reporting/,/^Report/{
  2504         -	H
  2505         -	d
  2506         -      }
  2507         -      $x
  2508         -      /information about other modes/d
  2509         -      /more detailed .*MODE/d
  2510         -      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
  2511         -  fi
  2512         -  exit $?
  2513         -fi
  2514         -
  2515         -
  2516         -# func_mode_execute arg...
  2517         -func_mode_execute ()
  2518         -{
  2519         -    $opt_debug
  2520         -    # The first argument is the command name.
  2521         -    cmd="$nonopt"
  2522         -    test -z "$cmd" && \
  2523         -      func_fatal_help "you must specify a COMMAND"
  2524         -
  2525         -    # Handle -dlopen flags immediately.
  2526         -    for file in $opt_dlopen; do
  2527         -      test -f "$file" \
  2528         -	|| func_fatal_help "\`$file' is not a file"
  2529         -
  2530         -      dir=
  2531         -      case $file in
  2532         -      *.la)
  2533         -	func_resolve_sysroot "$file"
  2534         -	file=$func_resolve_sysroot_result
  2535         -
  2536         -	# Check to see that this really is a libtool archive.
  2537         -	func_lalib_unsafe_p "$file" \
  2538         -	  || func_fatal_help "\`$lib' is not a valid libtool archive"
  2539         -
  2540         -	# Read the libtool library.
  2541         -	dlname=
  2542         -	library_names=
  2543         -	func_source "$file"
  2544         -
  2545         -	# Skip this library if it cannot be dlopened.
  2546         -	if test -z "$dlname"; then
  2547         -	  # Warn if it was a shared library.
  2548         -	  test -n "$library_names" && \
  2549         -	    func_warning "\`$file' was not linked with \`-export-dynamic'"
  2550         -	  continue
  2551         -	fi
  2552         -
  2553         -	func_dirname "$file" "" "."
  2554         -	dir="$func_dirname_result"
  2555         -
  2556         -	if test -f "$dir/$objdir/$dlname"; then
  2557         -	  func_append dir "/$objdir"
  2558         -	else
  2559         -	  if test ! -f "$dir/$dlname"; then
  2560         -	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
  2561         -	  fi
  2562         -	fi
  2563         -	;;
  2564         -
  2565         -      *.lo)
  2566         -	# Just add the directory containing the .lo file.
  2567         -	func_dirname "$file" "" "."
  2568         -	dir="$func_dirname_result"
  2569         -	;;
  2570         -
  2571         -      *)
  2572         -	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
  2573         -	continue
  2574         -	;;
  2575         -      esac
  2576         -
  2577         -      # Get the absolute pathname.
  2578         -      absdir=`cd "$dir" && pwd`
  2579         -      test -n "$absdir" && dir="$absdir"
  2580         -
  2581         -      # Now add the directory to shlibpath_var.
  2582         -      if eval "test -z \"\$$shlibpath_var\""; then
  2583         -	eval "$shlibpath_var=\"\$dir\""
  2584         -      else
  2585         -	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
  2586         -      fi
  2587         -    done
  2588         -
  2589         -    # This variable tells wrapper scripts just to set shlibpath_var
  2590         -    # rather than running their programs.
  2591         -    libtool_execute_magic="$magic"
  2592         -
  2593         -    # Check if any of the arguments is a wrapper script.
  2594         -    args=
  2595         -    for file
  2596         -    do
  2597         -      case $file in
  2598         -      -* | *.la | *.lo ) ;;
  2599         -      *)
  2600         -	# Do a test to see if this is really a libtool program.
  2601         -	if func_ltwrapper_script_p "$file"; then
  2602         -	  func_source "$file"
  2603         -	  # Transform arg to wrapped name.
  2604         -	  file="$progdir/$program"
  2605         -	elif func_ltwrapper_executable_p "$file"; then
  2606         -	  func_ltwrapper_scriptname "$file"
  2607         -	  func_source "$func_ltwrapper_scriptname_result"
  2608         -	  # Transform arg to wrapped name.
  2609         -	  file="$progdir/$program"
  2610         -	fi
  2611         -	;;
  2612         -      esac
  2613         -      # Quote arguments (to preserve shell metacharacters).
  2614         -      func_append_quoted args "$file"
  2615         -    done
  2616         -
  2617         -    if test "X$opt_dry_run" = Xfalse; then
  2618         -      if test -n "$shlibpath_var"; then
  2619         -	# Export the shlibpath_var.
  2620         -	eval "export $shlibpath_var"
  2621         -      fi
  2622         -
  2623         -      # Restore saved environment variables
  2624         -      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
  2625         -      do
  2626         -	eval "if test \"\${save_$lt_var+set}\" = set; then
  2627         -                $lt_var=\$save_$lt_var; export $lt_var
  2628         -	      else
  2629         -		$lt_unset $lt_var
  2630         -	      fi"
  2631         -      done
  2632         -
  2633         -      # Now prepare to actually exec the command.
  2634         -      exec_cmd="\$cmd$args"
  2635         -    else
  2636         -      # Display what would be done.
  2637         -      if test -n "$shlibpath_var"; then
  2638         -	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
  2639         -	echo "export $shlibpath_var"
  2640         -      fi
  2641         -      $ECHO "$cmd$args"
  2642         -      exit $EXIT_SUCCESS
  2643         -    fi
  2644         -}
  2645         -
  2646         -test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
  2647         -
  2648         -
  2649         -# func_mode_finish arg...
  2650         -func_mode_finish ()
  2651         -{
  2652         -    $opt_debug
  2653         -    libs=
  2654         -    libdirs=
  2655         -    admincmds=
  2656         -
  2657         -    for opt in "$nonopt" ${1+"$@"}
  2658         -    do
  2659         -      if test -d "$opt"; then
  2660         -	func_append libdirs " $opt"
  2661         -
  2662         -      elif test -f "$opt"; then
  2663         -	if func_lalib_unsafe_p "$opt"; then
  2664         -	  func_append libs " $opt"
  2665         -	else
  2666         -	  func_warning "\`$opt' is not a valid libtool archive"
  2667         -	fi
  2668         -
  2669         -      else
  2670         -	func_fatal_error "invalid argument \`$opt'"
  2671         -      fi
  2672         -    done
  2673         -
  2674         -    if test -n "$libs"; then
  2675         -      if test -n "$lt_sysroot"; then
  2676         -        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
  2677         -        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
  2678         -      else
  2679         -        sysroot_cmd=
  2680         -      fi
  2681         -
  2682         -      # Remove sysroot references
  2683         -      if $opt_dry_run; then
  2684         -        for lib in $libs; do
  2685         -          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
  2686         -        done
  2687         -      else
  2688         -        tmpdir=`func_mktempdir`
  2689         -        for lib in $libs; do
  2690         -	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
  2691         -	    > $tmpdir/tmp-la
  2692         -	  mv -f $tmpdir/tmp-la $lib
  2693         -	done
  2694         -        ${RM}r "$tmpdir"
  2695         -      fi
  2696         -    fi
  2697         -
  2698         -    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
  2699         -      for libdir in $libdirs; do
  2700         -	if test -n "$finish_cmds"; then
  2701         -	  # Do each command in the finish commands.
  2702         -	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
  2703         -'"$cmd"'"'
  2704         -	fi
  2705         -	if test -n "$finish_eval"; then
  2706         -	  # Do the single finish_eval.
  2707         -	  eval cmds=\"$finish_eval\"
  2708         -	  $opt_dry_run || eval "$cmds" || func_append admincmds "
  2709         -       $cmds"
  2710         -	fi
  2711         -      done
  2712         -    fi
  2713         -
  2714         -    # Exit here if they wanted silent mode.
  2715         -    $opt_silent && exit $EXIT_SUCCESS
  2716         -
  2717         -    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
  2718         -      echo "----------------------------------------------------------------------"
  2719         -      echo "Libraries have been installed in:"
  2720         -      for libdir in $libdirs; do
  2721         -	$ECHO "   $libdir"
  2722         -      done
  2723         -      echo
  2724         -      echo "If you ever happen to want to link against installed libraries"
  2725         -      echo "in a given directory, LIBDIR, you must either use libtool, and"
  2726         -      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
  2727         -      echo "flag during linking and do at least one of the following:"
  2728         -      if test -n "$shlibpath_var"; then
  2729         -	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
  2730         -	echo "     during execution"
  2731         -      fi
  2732         -      if test -n "$runpath_var"; then
  2733         -	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
  2734         -	echo "     during linking"
  2735         -      fi
  2736         -      if test -n "$hardcode_libdir_flag_spec"; then
  2737         -	libdir=LIBDIR
  2738         -	eval flag=\"$hardcode_libdir_flag_spec\"
  2739         -
  2740         -	$ECHO "   - use the \`$flag' linker flag"
  2741         -      fi
  2742         -      if test -n "$admincmds"; then
  2743         -	$ECHO "   - have your system administrator run these commands:$admincmds"
  2744         -      fi
  2745         -      if test -f /etc/ld.so.conf; then
  2746         -	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
  2747         -      fi
  2748         -      echo
  2749         -
  2750         -      echo "See any operating system documentation about shared libraries for"
  2751         -      case $host in
  2752         -	solaris2.[6789]|solaris2.1[0-9])
  2753         -	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
  2754         -	  echo "pages."
  2755         -	  ;;
  2756         -	*)
  2757         -	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
  2758         -	  ;;
  2759         -      esac
  2760         -      echo "----------------------------------------------------------------------"
  2761         -    fi
  2762         -    exit $EXIT_SUCCESS
  2763         -}
  2764         -
  2765         -test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
  2766         -
  2767         -
  2768         -# func_mode_install arg...
  2769         -func_mode_install ()
  2770         -{
  2771         -    $opt_debug
  2772         -    # There may be an optional sh(1) argument at the beginning of
  2773         -    # install_prog (especially on Windows NT).
  2774         -    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
  2775         -       # Allow the use of GNU shtool's install command.
  2776         -       case $nonopt in *shtool*) :;; *) false;; esac; then
  2777         -      # Aesthetically quote it.
  2778         -      func_quote_for_eval "$nonopt"
  2779         -      install_prog="$func_quote_for_eval_result "
  2780         -      arg=$1
  2781         -      shift
  2782         -    else
  2783         -      install_prog=
  2784         -      arg=$nonopt
  2785         -    fi
  2786         -
  2787         -    # The real first argument should be the name of the installation program.
  2788         -    # Aesthetically quote it.
  2789         -    func_quote_for_eval "$arg"
  2790         -    func_append install_prog "$func_quote_for_eval_result"
  2791         -    install_shared_prog=$install_prog
  2792         -    case " $install_prog " in
  2793         -      *[\\\ /]cp\ *) install_cp=: ;;
  2794         -      *) install_cp=false ;;
  2795         -    esac
  2796         -
  2797         -    # We need to accept at least all the BSD install flags.
  2798         -    dest=
  2799         -    files=
  2800         -    opts=
  2801         -    prev=
  2802         -    install_type=
  2803         -    isdir=no
  2804         -    stripme=
  2805         -    no_mode=:
  2806         -    for arg
  2807         -    do
  2808         -      arg2=
  2809         -      if test -n "$dest"; then
  2810         -	func_append files " $dest"
  2811         -	dest=$arg
  2812         -	continue
  2813         -      fi
  2814         -
  2815         -      case $arg in
  2816         -      -d) isdir=yes ;;
  2817         -      -f)
  2818         -	if $install_cp; then :; else
  2819         -	  prev=$arg
  2820         -	fi
  2821         -	;;
  2822         -      -g | -m | -o)
  2823         -	prev=$arg
  2824         -	;;
  2825         -      -s)
  2826         -	stripme=" -s"
  2827         -	continue
  2828         -	;;
  2829         -      -*)
  2830         -	;;
  2831         -      *)
  2832         -	# If the previous option needed an argument, then skip it.
  2833         -	if test -n "$prev"; then
  2834         -	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
  2835         -	    arg2=$install_override_mode
  2836         -	    no_mode=false
  2837         -	  fi
  2838         -	  prev=
  2839         -	else
  2840         -	  dest=$arg
  2841         -	  continue
  2842         -	fi
  2843         -	;;
  2844         -      esac
  2845         -
  2846         -      # Aesthetically quote the argument.
  2847         -      func_quote_for_eval "$arg"
  2848         -      func_append install_prog " $func_quote_for_eval_result"
  2849         -      if test -n "$arg2"; then
  2850         -	func_quote_for_eval "$arg2"
  2851         -      fi
  2852         -      func_append install_shared_prog " $func_quote_for_eval_result"
  2853         -    done
  2854         -
  2855         -    test -z "$install_prog" && \
  2856         -      func_fatal_help "you must specify an install program"
  2857         -
  2858         -    test -n "$prev" && \
  2859         -      func_fatal_help "the \`$prev' option requires an argument"
  2860         -
  2861         -    if test -n "$install_override_mode" && $no_mode; then
  2862         -      if $install_cp; then :; else
  2863         -	func_quote_for_eval "$install_override_mode"
  2864         -	func_append install_shared_prog " -m $func_quote_for_eval_result"
  2865         -      fi
  2866         -    fi
  2867         -
  2868         -    if test -z "$files"; then
  2869         -      if test -z "$dest"; then
  2870         -	func_fatal_help "no file or destination specified"
  2871         -      else
  2872         -	func_fatal_help "you must specify a destination"
  2873         -      fi
  2874         -    fi
  2875         -
  2876         -    # Strip any trailing slash from the destination.
  2877         -    func_stripname '' '/' "$dest"
  2878         -    dest=$func_stripname_result
  2879         -
  2880         -    # Check to see that the destination is a directory.
  2881         -    test -d "$dest" && isdir=yes
  2882         -    if test "$isdir" = yes; then
  2883         -      destdir="$dest"
  2884         -      destname=
  2885         -    else
  2886         -      func_dirname_and_basename "$dest" "" "."
  2887         -      destdir="$func_dirname_result"
  2888         -      destname="$func_basename_result"
  2889         -
  2890         -      # Not a directory, so check to see that there is only one file specified.
  2891         -      set dummy $files; shift
  2892         -      test "$#" -gt 1 && \
  2893         -	func_fatal_help "\`$dest' is not a directory"
  2894         -    fi
  2895         -    case $destdir in
  2896         -    [\\/]* | [A-Za-z]:[\\/]*) ;;
  2897         -    *)
  2898         -      for file in $files; do
  2899         -	case $file in
  2900         -	*.lo) ;;
  2901         -	*)
  2902         -	  func_fatal_help "\`$destdir' must be an absolute directory name"
  2903         -	  ;;
  2904         -	esac
  2905         -      done
  2906         -      ;;
  2907         -    esac
  2908         -
  2909         -    # This variable tells wrapper scripts just to set variables rather
  2910         -    # than running their programs.
  2911         -    libtool_install_magic="$magic"
  2912         -
  2913         -    staticlibs=
  2914         -    future_libdirs=
  2915         -    current_libdirs=
  2916         -    for file in $files; do
  2917         -
  2918         -      # Do each installation.
  2919         -      case $file in
  2920         -      *.$libext)
  2921         -	# Do the static libraries later.
  2922         -	func_append staticlibs " $file"
  2923         -	;;
  2924         -
  2925         -      *.la)
  2926         -	func_resolve_sysroot "$file"
  2927         -	file=$func_resolve_sysroot_result
  2928         -
  2929         -	# Check to see that this really is a libtool archive.
  2930         -	func_lalib_unsafe_p "$file" \
  2931         -	  || func_fatal_help "\`$file' is not a valid libtool archive"
  2932         -
  2933         -	library_names=
  2934         -	old_library=
  2935         -	relink_command=
  2936         -	func_source "$file"
  2937         -
  2938         -	# Add the libdir to current_libdirs if it is the destination.
  2939         -	if test "X$destdir" = "X$libdir"; then
  2940         -	  case "$current_libdirs " in
  2941         -	  *" $libdir "*) ;;
  2942         -	  *) func_append current_libdirs " $libdir" ;;
  2943         -	  esac
  2944         -	else
  2945         -	  # Note the libdir as a future libdir.
  2946         -	  case "$future_libdirs " in
  2947         -	  *" $libdir "*) ;;
  2948         -	  *) func_append future_libdirs " $libdir" ;;
  2949         -	  esac
  2950         -	fi
  2951         -
  2952         -	func_dirname "$file" "/" ""
  2953         -	dir="$func_dirname_result"
  2954         -	func_append dir "$objdir"
  2955         -
  2956         -	if test -n "$relink_command"; then
  2957         -	  # Determine the prefix the user has applied to our future dir.
  2958         -	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
  2959         -
  2960         -	  # Don't allow the user to place us outside of our expected
  2961         -	  # location b/c this prevents finding dependent libraries that
  2962         -	  # are installed to the same prefix.
  2963         -	  # At present, this check doesn't affect windows .dll's that
  2964         -	  # are installed into $libdir/../bin (currently, that works fine)
  2965         -	  # but it's something to keep an eye on.
  2966         -	  test "$inst_prefix_dir" = "$destdir" && \
  2967         -	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
  2968         -
  2969         -	  if test -n "$inst_prefix_dir"; then
  2970         -	    # Stick the inst_prefix_dir data into the link command.
  2971         -	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
  2972         -	  else
  2973         -	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
  2974         -	  fi
  2975         -
  2976         -	  func_warning "relinking \`$file'"
  2977         -	  func_show_eval "$relink_command" \
  2978         -	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
  2979         -	fi
  2980         -
  2981         -	# See the names of the shared library.
  2982         -	set dummy $library_names; shift
  2983         -	if test -n "$1"; then
  2984         -	  realname="$1"
  2985         -	  shift
  2986         -
  2987         -	  srcname="$realname"
  2988         -	  test -n "$relink_command" && srcname="$realname"T
  2989         -
  2990         -	  # Install the shared library and build the symlinks.
  2991         -	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
  2992         -	      'exit $?'
  2993         -	  tstripme="$stripme"
  2994         -	  case $host_os in
  2995         -	  cygwin* | mingw* | pw32* | cegcc*)
  2996         -	    case $realname in
  2997         -	    *.dll.a)
  2998         -	      tstripme=""
  2999         -	      ;;
  3000         -	    esac
  3001         -	    ;;
  3002         -	  esac
  3003         -	  if test -n "$tstripme" && test -n "$striplib"; then
  3004         -	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
  3005         -	  fi
  3006         -
  3007         -	  if test "$#" -gt 0; then
  3008         -	    # Delete the old symlinks, and create new ones.
  3009         -	    # Try `ln -sf' first, because the `ln' binary might depend on
  3010         -	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
  3011         -	    # so we also need to try rm && ln -s.
  3012         -	    for linkname
  3013         -	    do
  3014         -	      test "$linkname" != "$realname" \
  3015         -		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
  3016         -	    done
  3017         -	  fi
  3018         -
  3019         -	  # Do each command in the postinstall commands.
  3020         -	  lib="$destdir/$realname"
  3021         -	  func_execute_cmds "$postinstall_cmds" 'exit $?'
  3022         -	fi
  3023         -
  3024         -	# Install the pseudo-library for information purposes.
  3025         -	func_basename "$file"
  3026         -	name="$func_basename_result"
  3027         -	instname="$dir/$name"i
  3028         -	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
  3029         -
  3030         -	# Maybe install the static library, too.
  3031         -	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
  3032         -	;;
  3033         -
  3034         -      *.lo)
  3035         -	# Install (i.e. copy) a libtool object.
  3036         -
  3037         -	# Figure out destination file name, if it wasn't already specified.
  3038         -	if test -n "$destname"; then
  3039         -	  destfile="$destdir/$destname"
  3040         -	else
  3041         -	  func_basename "$file"
  3042         -	  destfile="$func_basename_result"
  3043         -	  destfile="$destdir/$destfile"
  3044         -	fi
  3045         -
  3046         -	# Deduce the name of the destination old-style object file.
  3047         -	case $destfile in
  3048         -	*.lo)
  3049         -	  func_lo2o "$destfile"
  3050         -	  staticdest=$func_lo2o_result
  3051         -	  ;;
  3052         -	*.$objext)
  3053         -	  staticdest="$destfile"
  3054         -	  destfile=
  3055         -	  ;;
  3056         -	*)
  3057         -	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
  3058         -	  ;;
  3059         -	esac
  3060         -
  3061         -	# Install the libtool object if requested.
  3062         -	test -n "$destfile" && \
  3063         -	  func_show_eval "$install_prog $file $destfile" 'exit $?'
  3064         -
  3065         -	# Install the old object if enabled.
  3066         -	if test "$build_old_libs" = yes; then
  3067         -	  # Deduce the name of the old-style object file.
  3068         -	  func_lo2o "$file"
  3069         -	  staticobj=$func_lo2o_result
  3070         -	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
  3071         -	fi
  3072         -	exit $EXIT_SUCCESS
  3073         -	;;
  3074         -
  3075         -      *)
  3076         -	# Figure out destination file name, if it wasn't already specified.
  3077         -	if test -n "$destname"; then
  3078         -	  destfile="$destdir/$destname"
  3079         -	else
  3080         -	  func_basename "$file"
  3081         -	  destfile="$func_basename_result"
  3082         -	  destfile="$destdir/$destfile"
  3083         -	fi
  3084         -
  3085         -	# If the file is missing, and there is a .exe on the end, strip it
  3086         -	# because it is most likely a libtool script we actually want to
  3087         -	# install
  3088         -	stripped_ext=""
  3089         -	case $file in
  3090         -	  *.exe)
  3091         -	    if test ! -f "$file"; then
  3092         -	      func_stripname '' '.exe' "$file"
  3093         -	      file=$func_stripname_result
  3094         -	      stripped_ext=".exe"
  3095         -	    fi
  3096         -	    ;;
  3097         -	esac
  3098         -
  3099         -	# Do a test to see if this is really a libtool program.
  3100         -	case $host in
  3101         -	*cygwin* | *mingw*)
  3102         -	    if func_ltwrapper_executable_p "$file"; then
  3103         -	      func_ltwrapper_scriptname "$file"
  3104         -	      wrapper=$func_ltwrapper_scriptname_result
  3105         -	    else
  3106         -	      func_stripname '' '.exe' "$file"
  3107         -	      wrapper=$func_stripname_result
  3108         -	    fi
  3109         <