Merge lp:~barry-leslie/pbxt/PBMS-509-compat into lp:pbxt

Proposed by Barry Leslie
Status: Merged
Merged at revision: not available
Proposed branch: lp:~barry-leslie/pbxt/PBMS-509-compat
Merge into: lp:pbxt
Diff against target: None lines
To merge this branch: bzr merge lp:~barry-leslie/pbxt/PBMS-509-compat
Reviewer Review Type Date Requested Status
PBXT Core Pending
Review via email: mp+9344@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Barry Leslie (barry-leslie) wrote :

In order for PBXT to work with PBMS these changes are required. Mostly it involves removing the old PBXT specific PBMS interface code and replacing it with the simpler generic PBMS interface code.

Revision history for this message
Paul McCullagh (paul-mccullagh) wrote :

Hi Barry,

The patch looks good except for a couple of things:

ChangeLog has been wiped out.

pbms_enabled.h and .cc are missing.

I would also prefer a patch that did not include changes to configure and other generated files.

I prefer to regenerate those myself (i.e. with my version of automake, etc).

666. By Barry Leslie

Added files pbms_enabled.cc and pbms_enabled.h

Revision history for this message
Barry Leslie (barry-leslie) wrote :

Hi Paul,

I added the missing files.

I will keep in mind for next time to not push up changes to the generated files.

Barry

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ChangeLog'
--- ChangeLog 2009-06-30 15:58:15 +0000
+++ ChangeLog 2009-07-27 22:39:29 +0000
@@ -1,725 +1,2009 @@
1PBXT Release Notes1 664 Paul McCullagh 2009-06-30 [merge]
2==================2 Merged with trunk
33
4------- 1.0.08 RC2 - 2009-06-304 663 Paul McCullagh 2009-06-26
55 Free the cache page handle as soon as possible
6RN251: A Windows-specific test update, also removed false assertion that failed on Windows.6
77 662 Paul McCullagh 2009-06-24
8RN250: Fixed a bug that caused recovery to fail when the transaction log ID exceeded 255. The problem was a checksum failed in the log record.8 Corrected the FK test result
99
10RN249: Fixed bug #313176: Test case timeout. This happened because record cache pages where not propoerly freed and as soon as cache filled up the performacne degraded.10 661 Paul McCullagh 2009-06-23 [merge]
1111 date for DELETE IGNORE fix
12RN248: PBXT now compiles and runs with MySQL 5.1.35. All tests pass.12
1313 660 Paul McCullagh 2009-06-23 [merge]
14RN247: Fixed bug #369086: Incosistent/Incorrect Truncate behavior14 Merged RN249
1515
16RN246: Fixed bug #378222: Drop sakila causes error: Cannot delete or update a parent row: a foreign key constraint fails16 659 Paul McCullagh 2009-06-17 [merge]
1717 Merged RN248
18RN245: Fixed bug #379315: Inconsistent behavior of DELETE IGNORE and FK constraint.18
1919 658 Paul McCullagh 2009-06-16 [merge]
20RN244: Fixed a recovery problem: during the recovery of "record modified" action the table was updated before the old index entries were removed; then the xres_remove_index_entries was supplied the new record which lead to incorrect index update.20 Merged RN246
2121
22RN243: Fixed a bug that caused a recovery failure if partitioned pbxt tables where present. This happended because the recovery used a MySQL function to open tables and the PBXT handler was not yet registered22 657 Paul McCullagh 2009-06-11 [merge]
2323 Merged RN245
24RN242: Fixed a bug that caused a deadlock if pbxt initialization failed. This happened because pbxt ceanup was done from pbxt_init() with PLUGIN_lock being held by MySQL which lead to a deadlock in the freeer thread24
2525 656 Paul McCullagh 2009-06-10 [merge]
26RN241: Fixed a heap corruption bug (writing to a freed memory location). It happened only when memory mapped files were used leading to heap inconsistency and program crash or termination by heap checker. Likely to happen right after or during DROP TABLE but possible in other cases too.26 Merged RN244
2727
28RN240: Load the record cache on read when no using memory mapped files.28 655 Paul McCullagh 2009-06-03 [merge]
2929 Merged RN243
30RN239: Added PBXT variable pbxt_max_threads. This is the maximum number of threads that can be created PBXT. By default this value is set to 0 which means the number of threads is derived from the MySQL variable max_connections. The value used is max_connections+7. Under Drizzle the default value is 500.30
3131 654 Paul McCullagh 2009-06-02
32RN238: Added an option to wait for the sweeper to clean up old transactions on a particular connection. This prevents the sweeper from getting too far behind.32 Fixed a hang that can occur when the index cache is flushed. Hang was due to an unnecessary wait in unlock
3333
34RN237: Added an option to lazy delete fixed length index entries. This means the index entries are just marked for deletion, instead of removing the items from the index page. This has the advantage that an exclusive lock is not always required for deletion.34 653 Paul McCullagh 2009-05-29 [merge]
3535 Merged type_enum test fix
36RN236: Fixed bug #349177: a bug in configure.in script.36
3737 652 Paul McCullagh 2009-05-28 [merge]
38RN235: Fixed bug 349176: a compiler warning.38 Merged RN241
3939
40RN234: Completed Drizzle integration. All Drizzle tests now run with PBXT.40 651 Paul McCullagh 2009-05-27 [merge]
4141 Merged fix to dirent on Solaris
42RN233: Fixed bugs which occur when PBXT is used together with PBMS (BLOB Streaming engine).42
4343 650 Paul McCullagh 2009-05-27
44RN232: Merged Drizzle-specific changes into the main tree.44 Merged changes required by Drizzle
4545
46RN231: Fixed a bug that caused bad performance as the number of threads increased. This occurred when the number of open table handles exceeded 'table_open_cache', and MySQL started closing open table handlers. PBXT was flushing a table when all table handlers were closed. PBXT will now only do this when the FLUSH TABLES statement is used.46 649 Paul McCullagh 2009-05-26
4747 Compile without warnings for Drizzle
48RN230: Improved efficiency of conflict resolution: Implemented a queue for threads waiting for a lock. Threads no longer poll to take a lock. If a temp lock is granted because of an update, then the thread granted the temp lock will also wait for the transaction that did the update to quit.48
4949 648 Paul McCullagh 2009-05-26
50RN229: Fixed bug #313391: LOAD DATA ... REPLACE broken.50 Tuning for sysbench
5151
52RN228: Fixed bug #341115: 'Out of memory' error (a bug in key comparison algorithm).52 647 Paul McCullagh 2009-05-26 [merge]
5353 Merged with trunk
54RN227: Changed conflict handling to use spin locks and improve efficiency.54
5555 646 Paul McCullagh 2009-05-26
56RN226: Fixed bug #340316: Issue with bigint unsigned auto-increment field.56 Load the record cache on read when no using memory mapped files
5757
58RN225: Fixed bug #308557: UPDATE fails to match all rows in a transactional scenario.58 645 Paul McCullagh 2009-05-21
5959 Added PBXT_STATISTICS table name
60RN224: Fixed a deadlock which could occur during table scans.60
6161 644 Paul McCullagh 2009-05-20
62RN223: Index scans now use handles to cache buffers instead of making a copy of the index page. The handles are "copy-on-write".62 Uhm... unlock (wrong macro)
6363
64RN222: Fixed a bug that caused the server to hang on startup if PBXT ran out of record cache while waiting for the sweeper to complete.64 643 Paul McCullagh 2009-05-20
6565 Declaration forgotten
66RN221: Fixed an index recovery bug. This occurred if the server crashed after operating in low index cache sitations. 66
6767 642 Paul McCullagh 2009-05-20
68RN220: Improved index selectivity estimation: added scanning from the end of index backwards.68 Atomic operations are no longer required to compile an run
6969
70RN219: Fixed a problem: during intersected range scan not all fields were returned by engine to MySQL.70 641 Paul McCullagh 2009-05-20
7171 Added pbxt_max_threads variable
72RN218: Changed the way row locking (used by SELECT FOR UPDATE) works. Previously we locked a group of rows at once (although there were many groups). However, this caused conflicts even when the same rows were not locked. We now locks individual rows.72
7373 640 Paul McCullagh 2009-05-19
74RN217: Fixed bug #315564: Rollbacked inserts remain permanently in table.74 Changes for compiling on Solaris 10
7575
76RN216: Added lock tracing. In DEBUG mode, each thread has a list of locks (semaphores, mutexes, r/w locks that it holds).76 639 Paul McCullagh 2009-05-19
7777 Removed __attribute__((unused))
78RN215: Fixed a bug that caused a crash during restart if an index file was flushed during recovery.78
7979 638 Paul McCullagh 2009-05-19
80RN214: Fixed bug #310184: Deadlock when trying to wake up transactions80 Changes after compiling and testing for Drizzle
8181
82RN213: Fixed an index corruption bug on SPARC Solaris. Note this error will occur on any machine that does not use the x86 (little endian) byte order.82 637 Paul McCullagh 2009-05-14
8383 Tuning: use new lock types xsmutex and spinxslock, 1019 row lock slots, 256 xact segments
84------- 1.0.07 RC - 2008-12-1584
8585 636 Paul McCullagh 2009-05-14
86RN212: Fixed build problems on NetBSD.86 Handle index versioning for the new lazy delete type indexes
8787
88RN211: Fixed build problems on FreeBSD.88 635 Paul McCullagh 2009-05-14
8989 Use matching macros
90RN210: Fixed build problems on OpenSolaris.90
9191 634 Paul McCullagh 2009-05-14
92RN209: Added handling of the foreign_key_checks system flag.92 Changed locking options
9393
94RN208: xtstat will now automatically reconnect if the connection to server is lost. 94 633 Paul McCullagh 2009-05-14
9595 implemented a new type of X/S mutex, that does not require a thread array
96RN207: Foreign key references are now checked on CREATE TABLE.96
9797 632 Paul McCullagh 2009-05-14
98RN206: Fixed a crash if inserting into a table that has an FK that references a column that has no index on it.98 Removed unused parameter
9999
100RN205: Added processing of foreign key action SET DEFAULT.100 631 Paul McCullagh 2009-05-14
101101 Added a new type of atomic spin lock
102RN204: Fixed an index recovery problem: unswept index entries were not recovered correctly 102
103103 630 Paul McCullagh 2009-05-12
104RN203: Fixed foreign key bug: REPLACE fails with 'on delete cascade'104 Added a new type of spin R/W mutex lock
105105
106RN202: Fixes and updates to tests, now all tests pass on windows and linux.106 629 Paul McCullagh 2009-05-12
107107 Added an options to spin while waiting for I/O on the transaction log
108RN201: Fixed ref-counting for mmapped files.108
109109 628 Paul McCullagh 2009-05-11
110RN200: Fixed an index recovery problem: unswept index entries were not recovered correctly .110 Adjust to optimal number of transactions behind
111111
112RN199: Recovery now takes place on plug-in startup. Previously recovery occurred when the first PBXT table was accessed.112 627 Paul McCullagh 2009-05-11
113113 Adjust to optimal number of transactions behind
114RN198: Fixed a recovery bug that caused index entries to get out of sync with the data file.114
115115 626 Paul McCullagh 2009-05-11
116RN197: Improved the efficiency of group commit.116 Adjust to optimal number of transactions behind
117117
118RN196: Changed checkpointing so that it now works during idle time. Every record, row or index file fllush now also contributes to the checkpoint (fuzzy checkpointing). Checkpointing is forced to complete after about 50% of the checkpoint threshold in order to ensure the correct maximum for log reading on recovery.118 625 Paul McCullagh 2009-05-11
119119 Make the number behind variable
120RN195: Fixed scheduling bug that caused sweeper to get behind with the cleanup, which caused performance problems in high conflict situations. Foreground threads will now wait if the sweeper gets too far behind.120
121121 624 Paul McCullagh 2009-05-11
122RN194: Created the xtstat program which monitors the internal performance of PBXT. Run xtstat --help for more details information of the output. 122 Added an option to wait for the sweeper to clean up old transactions on a particular connection
123123
124RN193: Implemented the pbxt.statistics virtual table. The statistics table returns information about the internal activity of the engine. This includes I/O byte counts, cache hit counts and usage, commit count, etc. 124 623 Paul McCullagh 2009-05-11
125125 Added option to use a different type of index cache page lock
126RN192: Due to timing issues in the engine API it could happen that the client received an OK for a committed transaction before the transaction was actually committed. This problem has been fixed.126
127127 622 Paul McCullagh 2009-05-08
128RN191: Fixed a bug that caused a hang when conflicts occured while reading a covering index.128 Implemented lazy deleted for fixed length indexes
129129
130RN190: Previously the sweeper delayed deletion of transaction structures until all transactions that were running during sweeping have quit. This is now handled by the same code that fixed the bug in RN189.130 621 Paul McCullagh 2009-05-08
131131 Disable lazy deleting
132RN189: Fixed a bug that could cause a row to go missing due to a visibility issue.132
133133 620 Paul McCullagh 2009-05-08
134RN188: Fixed a bug which ocurred when using CREATE TABLE ... AVG_ROW_LENGTH=x, and the table contained BLOBs. In this case, alter table corrupted the table.134 Implemented lazy deleted for fixed length indexes
135135
136RN187: Windows now stores paths in the location file in UNIX format by converting all '\' characters to '/'. Note that the location file is only cross-platform if the paths are relative (which is the default).136 619 Paul McCullagh 2009-05-04
137137 Use a slock on the page on release handle
138RN186: Set version number to 1.0.07.138
139139 618 Paul McCullagh 2009-05-04
140------- 1.0.06 Beta 2 - 2008-11-06140 Added an options to wait for cleanup
141141
142RN185: Disabled support for INSERT DELAYED because of MySQL bug #40505142 617 Paul McCullagh 2009-05-04
143143 Added connection tracking for performance debugging
144RN184: Implemented info(flag == HA_STATUS_AUTO) engine API call. This call returns the next value that will be assigned as auto-increment value on the table.144
145145 616 Paul McCullagh 2009-04-30
146RN183: Turned off streaming on Windows (see XT_STREAMING macro in sources)146 Allow the number of transaction segments to be increased
147147
148RN182: Switch code base to the latest version of BLOB streaming engine (PBMS): www.blobstreaming.org.148 615 Paul McCullagh 2009-04-30
149149 Added atomic R/W lock that favors writers
150RN181: Updated pbxt-test-run default parameters (--force is on, --default-storage-engine is pbxt, --base-dir is set according to config)150
151151 614 Paul McCullagh 2009-04-27
152RN180: PBXT can now cope with a missing .xti file (the file that contains the table indexes). This file can be regenerated using REPAIR TABLE.152 Changes from merge with Drizzle
153153
154RN179: On recovery PBXT now creates a filed called 'recovery-progress' in the pbxt database. The recovery percentage complete is written to this file as recovery progresses. Note that this file will not be created if no recoery is necessary or if PBXT estimates that it will read less then 10MB to do recovery.154 613 Paul McCullagh 2009-04-09 [merge]
155155 Merged RN236
156RN178: Fixed a problem in CHECK TABLE that caused memory corruption for fixed-size records156
157157 612 Paul McCullagh 2009-04-09
158RN177: Added "crash debugging". When enabled, crash debugging does the following:158 Added parenthesis to avoid compiler warning
159 - Create a core dump on Windows if the server crashes.159
160 - Make a backup copy of the datadir directory before recovery if the server crashes.160 611 Paul McCullagh 2009-04-08 [merge]
161 - Keep at least 5 of the previous transaction logs.161 Merged RN235
162Currently crash debugging is disabled by default. To disable, create a file called 'no-debug' in the pbxt database folder, and restart the server. When crash debugging is disabled by default, it can be enabled by creating a file called 'crash-debug; in the pbxt database folder.162
163163 610 Paul McCullagh 2009-04-08 [merge]
164RN176: Fixed a bug: a lock was not released appropriately164 Merged RN234: Drizzle integration
165165
166RN175: Fixed some debug assertions166 609 Paul McCullagh 2009-04-03
167167 Test only works with MyISAM because of dirty tricks
168RN174: Fixed some of test/mysql-test tests168
169169 608 Paul McCullagh 2009-04-02
170RN173: Fixed a RENAME TABLE bug, that prevented index files from being properly recreated170 Changes to tests required by Maria
171171
172RN172: Added the file ./pbxt/lock-pid. This file is locked while the server is running, and contains the process of the server. PBXT will return an error on startup if the file is locked or the process is still running in order to prevent a second server from being started.172 607 Paul McCullagh 2009-04-02
173173 Dereference missing on exception
174RN171: Implemented the AVG_ROW_LENGTH table attribute. When set, this value determines the size of the fixed length data component of a record. Normally this size is estimated depending on the column definitions. The command CHECK TABLE dumps the current average row length to the log. This can be used to find a suitable value for AVG_ROW_LENGTH.174
175175 606 Paul McCullagh 2009-04-02
176RN170: Changed configure so that debug/optimize flags set for building the engine override the flags set for MySQL. If --with-debug is not specified, then the engine will use the flags set when building MySQL. If MySQL was built with --with-debug=full, the DEBUG will be defined for the engine. When building the engine, the following flags can be set:176 Handle create table error correctly
177 yes - Debug symbols enabled, no optimization, DEBUG not defined.177
178 full - Debug symbols enabled, no optimization, DEBUG defined.178 605 Paul McCullagh 2009-03-31
179 only - Debug symbols enabled, MySQL flags used, DEBUG not defined.179 Added release note
180 prof - Profile code enabled, optimization on, DEBUG not defined.180
181 no - No debug symbols, optimization on, DEBUG not defined.181 604 Paul McCullagh 2009-03-31
182182 Fixed bugs which occur when PBXT is used together with PBMS
183RN169: Used MySQL root Makefile instead of config.status in order to extract settings (such as CFLAGS and CXXFLAGS) for the PBXT build.183
184184 603 Paul McCullagh 2009-03-31
185RN168: Fixed Windows build after merging changes for Drizzle.185 Improved average row estimates
186186
187RN167: Fixed "This table requires primary key" error in sql-bench.187 602 Paul McCullagh 2009-03-30
188188 Fixed auto-increment value returned to MySQL
189RN166: Fixed threading problems that caused crashes in sql-bench.189
190190 601 Paul McCullagh 2009-03-27 [merge]
191RN165: Added sql-bench to pbxt source tree.191 Pre-increment the auto-increment value to allow max value in column
192192
193RN164: Ported PBXT to Drizzle. To compile for Drizzle DRIZZLED must be defined on the command line. The -drz.am and -drz.in files are must be used when PBXT is embedded in Drizzle.193 600 Paul McCullagh 2009-03-26
194194 Fixed crash that can occur after deadlock detected
195RN163: Added "make test" build step. Running "make test" from the root of pbxt source tree will launch test/mysql-test/pbxt-test-run.pl with appropriate options to execute the pbxt functional test suite. On Windows where 195
196pbxt is statically linked into mysql server binary pbxt testing works by going to test/mysql-test directory and running ./pbxt-test-run.pl with --base-dir argument pointing to a mysql source tree (mysql binaries are taken 196 599 Paul McCullagh 2009-03-26 [merge]
197from there) and passing the rest of usual arguments (--force --mysqld=--default-storage-engine=pbxt) 197 Merged changes for RN232
198198
199RN162: The 'pbxt' database must now be dropped explicitly. It is automatically created when the first PBXT table is created. After that, the pbxt database can be dropped once all PBXT tables have been dropped. Dropping the pbxt database will also cause all transaction (pbxt/system directory) and data logs (pbxt/data directory) to also be deleted.199 598 Paul McCullagh 2009-03-25
200200 Free open tables from pool only after a certain time, to reduce affect of MySQL open/close handlers
201RN161: Added pbxt.location system table. This table can only be dropped when all PBXT tables have been deleted. Dropping the system table will cause all transaction (pbxt/system directory) and data logs (pbxt/data directory) to also be deleted.201
202202 597 Paul McCullagh 2009-03-24
203RN160: Made changes to run with MySQL 6.0.6.203 Use a reference to the table instead of a table ID, this saves a lot
204204
205RN159: Changes to configure: added --with-plugindir=<path>, which should be used to specify the plugin directory. This means that --libdir should no longer be used. For backwards compatibility configure will still recognize this options if the path ends with 'plugin'.205 596 Paul McCullagh 2009-03-24
206206 Use a spin lock here
207Also updated --help, to include all options, and better desciptions of the options.207
208208 595 Paul McCullagh 2009-03-24
209The configure options are now as follows:209 Make sure table initialization in ha_pbxt is only done when the table is actually openned
210210
211--with-mysql=<path> - (Required) It specifies the path to the MySQL source tree. The source should already be built. All other options will be taken from the MySQL build by default.211 594 Paul McCullagh 2009-03-24
212--with-debug=yes/no - (Optional) Specify if then engine should be built with different debug options to the MySQL source tree.212 May be NULL on shutdown
213--with-plugindur=<path> - (Optional) Specify an alternative installation directory for the plugin. By default it will be installed in the plugin directory of the MySQL installation.213
214214 593 Paul McCullagh 2009-03-23
215215 Fixed a bug that caused a long pause when MySQL starts to close table handlers
216RN158: Added support for core dumps on Windows. This can be enabled by defining XT_COREDUMP. On by default at the moment. If the server crashes a file called PBXTCore00000001.dmp will be created in the data directory. This file can be openned using MS VS.216
217217 592 Paul McCullagh 2009-03-23
218RN157: Fixed a compile problem with tv_nsec which is not supported on all platforms.218 Don't spin so much, condition wait works now
219219
220RN156: Updated tests to run with MySQL 5.1.28.220 591 Paul McCullagh 2009-03-21
221221 Use wait condition per thread, to avoid conflict
222RN155: Errors during cascade update of VARCHAR values with trailing spaces222
223223 590 Paul McCullagh 2009-03-20
224RN154: Fixed a bug: impossible to create a foreign key that referenced an ENUM or SET column224 Oldest transactions are scheduled first
225225
226RN153: Fixed a bug that caused the following problems: #1. Foreign keys: crash if update cascade and autocommit=0 #2. Foreign keys: crash if update cascade and multi-level recursion226 589 Paul McCullagh 2009-03-20
227227 Wait for transaction will not stop spinning after a while
228RN152: Fixed missing information about foreign keys in I_S.table_constraints and I_S.referential_constraints228
229229 588 Paul McCullagh 2009-03-19
230------- 1.0.05 Beta - 2008-08-30230 Fixed bug that crashed lock queue stuff
231231
232RN151: "Quick config": It is now possible to configure the engine by just specifying the mysql source code tree (the --with-mysql option). The --libdir and --with-debug setting will be deduced automatically. 232 587 Paul McCullagh 2009-03-19
233233 Added debug code for lock queue
234RN150: Added system variable pbxt_sweeper_priority, 0 = low (default), 1 = normal (same as user threads), 2 = high. The sweeper cleans up deleted records (deleted records also result from an update). If allowed to accumulate, these records can slow searches. Higher priority for the sweeper is recommended on systems with 4 or more cores. 234
235235 586 Paul McCullagh 2009-03-19
236RN149: Record cleanup is now initiated if a deleted record is found, and the transaction that deleted the record has ended. Since waking up the sweeper is an expensive operation, normally the sweeper will run every 1/10th of a second.236 Implemented a queue for threads waiting for a lock, if a temp lock is granted because of an update, the thread will also wait for the transaction to quit
237237
238RN148: Fixed a bug which caused transaction starvation (one transaction was constantly locked out) during high conflict updates. This lead to cleanup of records not being done, which lead to a general slow down.238 585 Paul McCullagh 2009-03-19 [merge]
239239 Merged RN229
240RN147: Fixed a problem with TRUNCATE TABLE: a failed TRUNCATE TABLE could put the engine into an invalid state that later caused a crash240
241241 584 Paul McCullagh 2009-03-18 [merge]
242RN146: Fixed a bug that caused the error: "-49: Record format unknown, either corrupted or upgrade required".242 Merged atomic op change
243243
244RN145: Added pbxt_db_offline_log_function system variable, 0 = recycle logs (default), 1 = delete logs (default on Mac OS X), 2 = keep logs.244 583 Paul McCullagh 2009-03-18 [merge]
245245 Merged memory leak fix
246------- 1.0.04 Alpha - 2008-08-02246
247247 582 Paul McCullagh 2009-03-18 [merge]
248RN144: Completed port and testing of Windows version.248 Merged RN228
249249
250RN143: Fixed a bug which caused the free-er thread to hang. This was a result of an invalid operation ID, which was the result of the checkpointer flushing the table at the same time as a foreground thread.250 581 Paul McCullagh 2009-03-16
251251 Do not wait unless the transaction has ended
252RN142: The fast RW/mutex lock can now handle nested calls. This is possible during a sequential scan.252
253253 580 Paul McCullagh 2009-03-16
254RN141: The normal behavior in MySQL is that an auto-increment values will be re-issued if you delete the row containing the current maximum auto-increment value and then restart the server. To prevent this you can use ALTER TABLE my_table AUTO_INCREMENT = <current-max-auto-increment> + 1, before deleting the current maximum auto-increment value.254 Use a sleep condition for longer waits
255255
256A new system variable, pbxt_auto_increment_mode, has been added so that this work around is not necessary. When set to 0 (the default), auto-increment works as described above. When set to 1, the AUTO_INCREMENT value of the table is automatically to prevent previously issued auto-increment values being returned.256 579 Paul McCullagh 2009-03-13
257257 Changed conflict handling to use spin locks and improve efficiency
258However, if the server crashes, a gap of up to 100 unique values can result, because the table AUTO_INCREMENT value is incremented in steps of 100.258
259259 578 Paul McCullagh 2009-03-12 [merge]
260RN140: Index statistics are now automatically recalculated when the table row count exceeds 200. 260 Merged RN226
261261
262RN139: Fixed a bug that caused index corruption, error: "int idx_push(index_xt.cc:172) -2: Core B-tree too deep".262 577 Paul McCullagh 2009-03-12 [merge]
263263 Merged RN225
264RN138: Handle startup and recovery when an index is corrupted.264
265265 576 Paul McCullagh 2009-03-09
266RN137: Fixed a bug in the zero wait R/W lock that caused the lock to fail (the state is extremely volatile, and must be written to memory after increment).266 Use a read instead of a lock map (should be quicker), fixed sequential scan bug introduced by last change
267267
268RN136: Fixed a bug that cause the error "int xt_pwrite_file(filesys_xt.cc:789) errno (14): Bad address".268 575 Paul McCullagh 2009-03-06 [merge]
269269 Merged a fix to RN220
270RN135: Fixed TRUNCATE TABLE that did not work correctly when the table contained BLOBs stored in the BLOB streaming engine (www.blobstreaming.org).270
271271 574 Paul McCullagh 2009-03-06 [merge]
272RN134: Fixed a bug that caused duplicate rows to be returned from an index scan (using a SELECT FOR UPDATE) if a concurrent update was done.272 Merged atomic dec/inc improvement
273273
274RN133: Optimised PBXT for multi-processor scale-up. This mostly involved using different types of locks instead of the standard pthread mutex and reader/writer locks [TODO: 0038].274 573 Paul McCullagh 2009-03-05
275275 Correcting cleanup
276------- 1.0.03 Alpha - 2008-05-30276
277277 572 Paul McCullagh 2009-03-05 [merge]
278RN132: Fixed bug when using PBXT in conjunction with the BLOB streaming engine (www.blobstreaming.org). Uploaded BLOBs could not be inserted into a table.278 Merged bug fix RN224
279279
280RN131: Fixed wait for background processes on shutdown. Shutdown will wait a maximum of 16 seconds for each process.280 571 Paul McCullagh 2009-03-05
281281 Failed sometime when outside the spinlock
282RN130: Fixed calculation of bytes to be read for recovery.282
283283 570 Paul McCullagh 2009-03-03
284RN129: Fixed bug in cleanup of unterminated transactions.284 Use the RW mutex type lock
285285
286RN128: The writer will now start working when one of the following is true:286 569 Paul McCullagh 2009-03-03
287- it is time for a checkpoint,287 Added the XADD variation
288- the log cache is almost full,288
289- the free'er is waiting for the writer,289 568 Paul McCullagh 2009-03-02
290- there is no other activity.290 Split the handles into slot to reduce contention
291291
292RN127: Fixed checkpoint frequency. Checkpointing is now done correctly after 'pbxt_checkpoint_frequency' bytes.292 567 Paul McCullagh 2009-03-02
293293 Corrected pthread version of the lock
294RN126: Implemented index consistent write [TODO: 0050].294
295295 566 Paul McCullagh 2009-03-02
296RN125: Implemented memory mapping for row pointer (.xtr) and handle data files (.xtd).296 Better check code
297297
298RN124: Index files now use direct I/O.298 565 Paul McCullagh 2009-03-02
299299 Added debug checking
300------- 1.0.02 Alpha - 2008-04-25300
301301 564 Paul McCullagh 2009-02-27
302RN123: Fixed compile errors with MySQL 5.1.24.302 Lock type can now be changed
303303
304------- 1.0.01 Alpha - 2008-03-28304 563 Paul McCullagh 2009-02-27
305305 Goto may not jump initialisation
306RN122: ++++ NOTE: This version is not compatible with older versions of PBXT ++++.306
307307 562 Paul McCullagh 2009-02-27
308RN121: Transaction logs are now global so that multi-database statements are now possible. This makes it also possible to work PBXT temporary tables.308 Some comments
309309
310RN120: Transaction logs pre-allocated and recycled.310 561 Paul McCullagh 2009-02-27
311311 Index scans now use handles to cache buffersm instead of making a copy of the index page
312RN119: Transaction log writes on 512 byte boundaries only.312
313313 560 Paul McCullagh 2009-02-27
314------- 1.0.00 Alpha - 2008-03-10314 Fixed a race condition in the RW Mutex lock
315315
316This version has alpha status because of the large number of changes done for full durability.316 559 Paul McCullagh 2009-02-25 [merge]
317317 Merged RN220
318RN118: ++++ NOTE: This version is incompatible to older versions of PBXT ++++.318
319319 558 Paul McCullagh 2009-02-25
320RN117: Documentation now avaliable at http://www.primebase.org/documentation.320 xt_idx_delete_current unused
321321
322RN116: Corrected the plug.in file so that PBXT compiles when dropped into the storage directory in the MySQL source tree.322 557 Paul McCullagh 2009-02-25
323323 Locking forgotten
324RN115: Compiled and tested with MySQL 5.1.23.324
325325 556 Paul McCullagh 2009-02-24
326RN114: Increased index block size. Minimum is now 4K. Default is 16K.326 Optimiser did not seem to handle this correctly
327327
328RN113: Calculate index selectivity to return a more accurate value from records_in_range(). NOTE: FLUSH TABLESl will update the index statistics, after data has been inserted or updated.328 555 Paul McCullagh 2009-02-23
329329 The freeer must be started before recovery or the sweeper will hang when out of record cache
330RN112: Optimized table storage, saving 8 bytes per row.330
331331 554 Paul McCullagh 2009-02-23
332RN111: Optimized search on keys containing 2 or 3 not null integer values.332 Fixed index recovery bug
333333
334RN110: Optimization: store the row ID in the index so that an index entry can be verified as current without loading the record. This is necessary to optimize an access with index coverage.334 553 Paul McCullagh 2009-02-20
335335 Implemented concurrent updating of indexes and remover the memcpy's
336RN109: Optimization: only load the record extended data if required.336
337337 552 Paul McCullagh 2009-02-18 [merge]
338RN108: Implemented SHOW ENGINE PBXT STATUS;338 Merged RN219
339339
340RN107: Added the following system variables:340 551 Paul McCullagh 2009-02-18
341341 Built trunk
342pbxt_index_cache_size - The amount of memory allocated to the index cache, used only to cache index data342
343pbxt_record_cache_size - The amount of memory allocated to the record cache used to cache table data343 550 Paul McCullagh 2009-02-17 [merge]
344pbxt_log_cache_size - The amount of memory allocated to the transaction log cache used to cache on transaction log data344 Merged compile fix, and solaris bug fix
345pbxt_log_file_threshold - The size of a transaction log before rollover, and a new log is created345
346pbxt_transaction_buffer_size - The size of the global transaction log buffer (the engine allocates 2 buffers of this size)346 549 Paul McCullagh 2009-02-17
347pbxt_log_buffer_size - The size of the buffer used to cache data from transaction and data logs during sequential scans, or when writing a data log347 Standard pthread locks are more efficient on LINUX
348pbxt_checkpoint_frequency - The amount of data written to the transaction log before a checkpoint is performed348
349pbxt_data_log_threshold - The maximum size of a data log file349 548 Paul McCullagh 2009-02-17
350pbxt_garbage_threshold - The percentage of garbage in a data log file before it is compacted350 Use an absolute path when embedded - this is required if a symbolic link to pbxt is used
351351
352RN106: PBXT now compiles for MySQL 6.0.3.352 547 Paul McCullagh 2009-02-13
353353 Operations now atomic, and return correct value
354RN104: Updates now locks a record temporarily. This prevents most "record changed" errors, however, it makes UPDATE statements a type of "committed read". This means that you may update a different value to that which you selected in repeatable read mode. To avoid this, use SELECT FOR UPDATE if you plan to UPDATE records after reading.354
355355 546 Paul McCullagh 2009-02-13
356RN103: Implemented SELECT FOR UPDATE. This is implemented by turning SELECT FOR UPDATE into a type of "committed read". This means that, if you do a SELECT followed by a SELECT FOR UPDATE you can get different results, even in repeatable read mode.356 Hang on 8 core may be due to this value not being written through to memory
357357
358RN102: Implemented recovery of index entries. Note: indexes are not yet fully consistent. This means that index can become currupted due to a crash. Data, however, cannot be lost. The indices can be rebuild using REPAIR TABLE.358 545 Paul McCullagh 2009-02-12
359359 Trying to make timing more responsive
360RN101: Writing and flushing of a single transaction write-ahead log.360
361361 544 Paul McCullagh 2009-02-12
362RN100: Automatic rollover of transaction logs as they become full.362 Reduced sleep times...
363363
364RN99: Implementation of the transaction log cache.364 543 Paul McCullagh 2009-02-10
365365 Wait for other transactions for as long as the last transaction log flush took
366RN98: Group commit.366
367367 542 Paul McCullagh 2009-02-10
368RN97: Implementation of the writer thread that applies changes in the transaction log to the database.368 Option to reset the trace after dump
369369
370RN96: Implementation of the checkpointer thread that periodically flushes the database and writes a checkpoint which determines the recovery start point.370 541 Paul McCullagh 2009-02-10
371371 Moved trace to end of operation
372RN95: Implementation of the free'er thread that is responsible for keeping the record cache at a preset level.372
373373 540 Paul McCullagh 2009-02-10
374RN94: Modifications to the record cache so that rows are stored in pages, in order to speed up sequence access.374 Removed debugs
375375
376RN93: Implemented the recovery process which applies changes written to the log that are not in the database, on startup.376 539 Paul McCullagh 2009-02-10
377377 Added a release not for the locking change
378RN92: Modification of the sweeper thread which cleans up rolled-back transactions and deleted data, to use the new transaction log format.378
379379 538 Paul McCullagh 2009-02-10
380RN91: Modifications to the data logs so that they use the same record structure as the transaction logs.380 Implemented list-based locking in order to avoid conflicts that occur with the group based locking
381381
382RN90: The data logs are now managed "per database" in order to minimize the work done to flush and commit a transaction.382 537 Paul McCullagh 2009-02-05
383383 Cleaned up statement trace
384RN89: Implementation of a file handle pool for the data logs.384
385385 536 Paul McCullagh 2009-02-05
386------- 0.9.91 Beta - 2007-10-30386 Changed function name
387387
388RN88: The format of the URL genearated by MyBS has been changed. The format of the BLOB URLs is now as follows:388 535 Paul McCullagh 2009-02-04 [merge]
389389 Merged from trunk
390'~*' <db-name> '/' <type-char> <table-id> '-' <blob-id> '-' <access-code> '-' <server-id>390
391391 534 Paul McCullagh 2009-02-03
392Where <type-char> is '_' or '~'.392 Do not read if a page is at the EOF. Also added a function to load RAM for testing
393393
394Examples: ~*test/_11-128-fbd590b-0, ~*test/~1-524-3dc45b09-0394 533 Paul McCullagh 2009-01-26 [merge]
395395 Added lock tracing
396In other words, the characters '>' has been replace by '*', '^' has been replace by '_' and ':' has been replace by '~'. The reason for this is that the characters '>' and '^' are not allowed in URLs, and must be URL-encoded. The character ':' is reserved, but allowed.396
397397 532 Paul McCullagh 2009-01-26 [merge]
398NOTE: This change makes this version incompatible with previous versions of MyBS. If you have a table with BLOB URLs, you can upgrade the URLs as follows:398 Merged changes for RN214
399399
400UPDATE blob_table SET blob_col = REPLACE(REPLACE(blob_col, '~>', '~*'), '/:', '/~');400 531 Paul McCullagh 2009-01-26 [merge]
401401 Merged from trunk
402Replacing '^' is not necessary because BLOB URLs with '^' should not appear in tables. 402
403403 530 Paul McCullagh 2009-01-26
404------- 0.9.90 Beta - 2007-10-17404 Fixed a bug that caused a crash during restart if an index file was flushed during recovery
405405
406RN87: Corrected stack trace of errors passed through the BLOB streaming API.406 529 Paul McCullagh 2009-01-26
407407 Added start log id to xt_dump_xlogs, NEVER_CHECKPOINT turns off checkpointing completely
408RN86: Added new engine API accessor functions that appeared in 5.1.21 (thanks Stewart).408
409409 528 Paul McCullagh 2008-12-22
410RN85: Added plug.in file. PBXT now compiles when dropped into the storage directory of the MySQL build tree. However, you have rebuild configure. For example:410 Set version to 1.0.08
411411
412rm -rf autom4te.cache/412 527 Paul McCullagh 2008-12-22
413aclocal413 Set version to 1.0.08
414autoconf414
415autoheader415 526 Paul McCullagh 2008-12-22 [merge]
416automake -a416 Merge Solaris atomic ops implementation
417./configure --help417
418./configure --with-plugins=max --without-innodb --prefix=/usr/local/mysql --with-debug=full418 525 Paul McCullagh 2008-12-22
419419 Fixed compiler warnings where NULL should be 0
420NOTE: ./configure --help should show that the PBXT has been included.420
421421 524 Paul McCullagh 2008-12-18
422RN84: Fixed several problems with shutdown of PBXT in combiniation with MyBS.422 Fixed a MySQL assertion failure which occurred during INSTALL PLUGIN
423423
424------- 0.9.89 Beta - 2007-08-17424 523 Paul McCullagh 2008-12-18 [merge]
425425 Merge netbsd compile fixes
426RN83 (2007-08-21): Fixed a crash due to a compile bug that does not like the contruct *((xtWordPS *) &(v)) = (xtWordPS) (x) (macro allocr_() and alloczr_()).426
427427 522 Paul McCullagh 2008-12-16 [merge]
428RN82: It is now possible to insert non-URL values into a LONGBLOB field, in the previous version the generated an "Invalid URL" error. Such values can be retrieved as a stream using a field reference.428 Merged from trunk
429429
430RN81: Fixed a bug that caused PBXT to crash during certina operations when MyBS was not installed.430 521 Paul McCullagh 2008-12-16
431431 Merged from trunk
432RN80: Set engine as capable of row-level replication, but not as statement replication. Statement replication does not work because MVCC is not serializable.432
433433 520 Paul McCullagh 2008-12-16
434------- 0.9.88 Beta - 2007-07-25434 Allow different size VARCHAR values to match in FK-PK references
435435
436RN79: Made some corrections in order to compile with MySQL 5.1.20.436 519 Paul McCullagh 2008-12-16
437437 Allow different size VARCHAR values to match in FK-PK references
438RN78: Support for the features of the MyBS BLOB Streaming engine, version 0.5 Alpha.438
439439 518 Paul McCullagh 2008-12-16 [merge]
440RN77: Bugfix: The server crashes during BLOB data handling. The reason is the table field structure is shared, and may not be changed.440 Merged from trunk
441441
442------- 0.9.87 Beta - 2007-06-19442 517 Paul McCullagh 2008-12-16
443443 Checkpoint was hanging if required during high activity
444RN76: The major feature of this release is support for the BLOB Streaming Engine. The current version enables the download of specific BLOB columns via the Streaming Engine. For example:444
445445 516 Paul McCullagh 2008-12-12
446use test;446 Fixed compilation warning on Windows
447CREATE TABLE notes_tab (447
448 n_id INTEGER PRIMARY KEY,448 515 Paul McCullagh 2008-12-11 [merge]
449 n_text BLOB449 Merged FK error reporting fix
450) ENGINE=pbxt;450
451INSERT notes_tab VALUES (1, "This is a BLOB streaming test!");451 514 Paul McCullagh 2008-12-11
452452 Done before
453The URL:453
454454 513 Paul McCullagh 2008-12-11
455http://localhost:8080/test/notes_tab/n_text/n_id=1455 Added --display option, and scan and row statistics
456456
457will return the value "This is a BLOB streaming test!"457 512 Paul McCullagh 2008-12-11
458458 Changes for compiling Drizzle
459RN75: Bugfix: MySQL prints error: "Plugin 'PBXT' will be forced to shutdown". This error was caused by the plug-in having a reference to itself.459
460460 511 Paul McCullagh 2008-12-11
461RN74: Added system variable pbxt_index_cache_size and pbxt_record_cache_size. These variable can now be set on the mysqld command line (for example: --pbxt_record_cache_size=50MB). The values are also displayed by SHOW VARIABLES.461 Merged changes from Drizzle
462462
463------- 0.9.86 Beta - 2007-04-07463 510 Paul McCullagh 2008-12-11
464464 xtstat now does an auto-reconnect
465RN74: ++++ NOTE: This version is incompatible to older versions of PBXT ++++.465
466466 509 Paul McCullagh 2008-12-10
467In order to upgrade, install the older version of PBXT. Convert all tables to MyISAM using ALTER TABLE t1 ENGINE=MyISAM. Then install the new version of PBXT and convert back using ALTER TABLE t1 ENGINE=PBXT.467 Fixed MySQL lock macros
468468
469RN73: Each table will now use a maximum of 4 data log files. This means a maximum of 7 files per table. The minimum is 3 for tables that do not have a variable field that exceeds about 40 bytes in size. This means that under Linux PBXT requires a maximum of 7 file handles per table used. Windows lock of pread/pwrite (atomic seek and read/write) functions means it requires a file handler per file per open table handler. [TODO: 0044]469 508 Paul McCullagh 2008-12-10
470470 Added release note
471RN72: All threads now write to the same data log file. Recovery and compaction take this fact into account. Each thread still writes its own transaction log.471
472472 507 Paul McCullagh 2008-12-10
473RN71: Removed all directory scans when creating and dropping table. Increased the table limit to 10000.473 Added error for FK reference of temporary table
474474
475RN70: Changed locking to avoid a deadlock when TRUNCATE TABLE is used together with other DML.475 506 Paul McCullagh 2008-12-10 [merge]
476476 Merged from trunk
477RN69: procedures and functions are now considered atomic, and execute in a single transaction.477
478478 505 Paul McCullagh 2008-12-10
479RN68: Bug fixed: all files are now correctly flushed before commit.479 Added error for FK reference of temporary table
480480
481------- 0.9.85 Beta - 2007-03-15481 504 Paul McCullagh 2008-12-10
482482 Added a flag to remember if a table is temporary
483RN67: Changed the implementation of the pushsr_ and allocr_ macros because "*((void **) &(v) = " caused a crash due to a compiler error on some platforms (thanks Luciano for your help on this one and RN66).483
484484 503 Paul McCullagh 2008-12-10
485RN66: Fixed a bug that caused PBXT to corrupt the index file when the size exceeded 4GB. [TODO: 0031]485 Foreign key references are now checked on CREATE TABLE
486486
487RN65: PBXT now runs under Windows. This source tree must be placed in the MySQL source storage directory in order to compile. Further details of how to build are in the windows-readme.txt file. [TODO: 0027]487 502 Paul McCullagh 2008-12-10
488488 Foreign key references are now checked on CREATE TABLE
489RN64: Improved speed of table lookup by ID after a table has been deleted. The sweeper needs to ignore these records. Scanning the directory each time was too slow.489
490490 501 Paul McCullagh 2008-12-10
491RN63: Added checking for repeat update of a record in a statement.491 Added some to-dos
492492
493RN62: Committed read no longer blocks due to a change made by another transaction (the XT_REPEATABLE_READ_BLOCKS define, turns blocking on).493 500 Paul McCullagh 2008-12-10
494494 Potential NO ACTION implementation
495RN61: Avoid checking for duplicates if an index is not modified by an update.495
496496 499 Paul McCullagh 2008-12-10
497RN60: Records updated repeatedly by a transaction are now updated in place. [TODO: 0040]497 Before image can be NULL on cascade operations
498498
499------- 0.9.8 Beta - 2007-01-30499 498 Paul McCullagh 2008-12-10
500500 Load table on CREATE TABLE to check FK references, before image can be NULL on cascade operations
501RN59: Reduced the number of file handles used to a maximum of one per file. This assumes that pread() and pwrite() allows multiple threads to use the same file handle (according to my tests, this is the case).501
502502 497 Paul McCullagh 2008-12-10
503RN58: Added the configure flag --with-debug=only which compiles a version of the plug-in with debug symbols that will link to an non-debug MySQL server.503 We must flush the log ahead of the index to ensure there is nothing in the index that cannot be undone on recovery
504504
505RN57: Changed error number returned on lock from 1205 (lock timeout) to 1020 (optimistic lock failure).505 496 Paul McCullagh 2008-12-10
506506 Added referenced_by_foreign_key() to make sure REPLACE works correctly when foreign key references exist
507RN56: Added UNIX environment variable for PBXT system parameters. These must be set before starting mysqld, for example:507
508508 495 Paul McCullagh 2008-12-10
509setenv pbxt_index_cache_size 400MB509 Removed option, unused
510setenv pbxt_record_cache_size "1 GB"510
511511 494 Paul McCullagh 2008-12-10
512Values are in bytes unless one of the following units is specified: GB, MB, Kb512 Potential NO ACTION implementation
513513
514RN55: Fixed a bug which prevented VARCHAR values from being compressed correctly when stored in variable length rows.514 493 Paul McCullagh 2008-12-10
515515 Pool was not released in the case of an exception
516RN54: Fixed a bug which caused a crash when PBXT was used with MySQL 5.1.14. This bug also caused data to be corrupted on insert.516
517517 492 Paul McCullagh 2008-12-08
518RN53: Set query caching mode to transactional. [TODO: 0027]518 Handle the case were the index entry exists, but the row ID has not been set yet
519519
520RN52: Added conditions so that the engine compiles with MySQL 5.1.14 and 5.1.13.520 491 Paul McCullagh 2008-12-08
521521 Added the --protocol option
522------- 0.9.74 Beta - 2006-12-14522
523523 490 Paul McCullagh 2008-12-08 [merge]
524RN51: DELETE FROM <table>; is no longer implemented by re-creating the table. This statement now works by deleting all rows. TRUNCATE is implemented as before, by re-creating the table.524 Merged changes for RN200,201,202
525525
526RN50: The test scripts innodb.test and innodb-mysql.test have been modified to run with PBXT.526 489 Paul McCullagh 2008-12-05
527527 Fixed xtstat options
528RN49: [TODO: 0020] Implemented foreign keys. Functionality is identical to InnoDB with 2 exceptions:528
529529 488 Paul McCullagh 2008-12-05 [merge]
530* Data types of referenced columns must be an exact match (e.g. you cannot mix VARCHAR and CHAR values).530 Merge trunk
531* Currently an exact matching index is required on referenced columns (i.e. the index may not have more columns that the columns used in the foreign key definition).531
532532 487 Paul McCullagh 2008-12-05
533Also note the following:533 Fixed bugs with checkpointing
534534
535* It is possible to create foreign keys that reference non-existent tables or columns. An error will occur when updating a table with an incorrect foreign key declaration.535 486 Paul McCullagh 2008-12-04
536* If you alter the data-type of a column referenced by a foreign key set you need to set foreign_key_checks=0; or an error will occur.536 Recovery now takes place on plug-in startup
537537
538RN48: Fixed a bug in the implementation of indexes on ENUM and SET types.538 485 Paul McCullagh 2008-12-04
539539 Added an error message if the transaction log uses a newer format
540RN47: Fixed a bug that caused a crash when an index was place on a BLOB column, and data was retrieved from the index directly.540
541541 484 Paul McCullagh 2008-12-04
542------- 0.9.73 Beta - 2006-10-31542 Fixed a recovery bug that caused index entries to get out of sync with the data file
543543
544RN46: Updated test scripts to run with MySQL 5.1.13.544 483 Paul McCullagh 2008-12-04
545545 Flush now begins and ends a checkpoint if required to ensure that a flush always contributes to a checkpoint
546------- 0.9.72 Beta - 2006-10-19546
547547 482 Paul McCullagh 2008-12-04
548RN45: Corrected compilation errors that occurred due to a change to struct st_mysql_plugin.548 Flush now begins and ends a checkpoint if required to ensure that a flush always contributes to a checkpoint
549549
550------- 0.9.71 Beta - 2006-10-04550 481 Paul McCullagh 2008-12-04
551551 Fixed a recovery bug that caused index entries to get out of sync with the data file
552RN44: Corrected compilation errors that occurred due to changes in the storage engine API.552
553553 480 Paul McCullagh 2008-12-03
554------- 0.9.7 Beta - 2006-09-20554 Removed unused code
555555
556RN43: This is the first Beta release of PrimeBase XT. It has been integrated into MySQL 4.1.21 and is available as a plug-in for MySQL 5.1.12, or later. This version has been extensively tested using mysql-test-run, on various Linux and Mac OS X platforms.556 479 Paul McCullagh 2008-12-01
557557 Changed checkpointing so that it works during idle time, and that any flush will contribute to the progress of a checkpoint
558RN42: ++++ NOTE: This version is incompatible to older versions of PBXT ++++. Files created by older versions cannot be opened by version 0.9.7.558
559559 478 Paul McCullagh 2008-11-28
560RN41: Renaming or deleting a table while using a name with different case to the original created name did not work.560 Make sure that a long running transaction does not hold up threads waiting to group commit
561561
562RN40: Fixed a bug when grouping and searching on indexed columns that contain a null.562 477 Paul McCullagh 2008-11-28
563563 Group commit waiting threads must check flush condition for possible quick exit
564RN39: Fixed bugs related to trailing spaces on VARCHAR values. Values that only vary by the number of trailing spaces (for example "aa" and "aa "), are now correctly handled as identical.564
565565 476 Paul McCullagh 2008-11-27
566RN38: The default AUTO_INCREMENT value was not correctly preserved during ALTER TABLE.566 Removed unnecessary structure
567567
568RN37: Created a MySQL 5.1 Plugin version of PBXT. [TODO: 0017]568 475 Paul McCullagh 2008-11-27
569569 Added wait for running transactions that may commit
570RN36: Fixed a race condition in the row cache which had the affect that inserted rows dissappeared after cleanup because the cache was out of date. I was only able to reproduce this error on multi-processor machines.570
571571 474 Paul McCullagh 2008-11-27
572------- 0.9.6 - 2006-08-05572 Use a prime number
573573
574RN35: ++++ NOTE: This version is incompatible to older versions of PBXT ++++.574 473 Paul McCullagh 2008-11-27
575575 Don't allow the sweeper to get too far behind
576The disk format of tables and log files has changed slightly in this version. As a result, files created by older versions cannot be opened by version 0.9.6. An error will be generated. If you have data wish to preserve, first start the older version of XT and convert all tables to MyISAM. The stop the server and removed all transaction log file (files of the form xtlog-*.xt). Then start the new version and convert tables back to XT.576
577577 472 Paul McCullagh 2008-11-27
578RN34: Implemented READ COMMITTED transaction mode. XT now supports READ COMMITTED and SERIALIZABLE transaction modes. NOTE: if the mode is set to REPEATABLE READ, SERIALIZABLE is used. If the mode is set to READ UNCOMMITTED READ COMMITTED is used.578 Table pool: only background processes flush tables
579579
580RN33: The implementation of AUTO_INCREMENT on a paritial index is non-standard. A unique value is generated without regard to the value of the index prefix. For example, assume we have the following table: CREATE TABLE t1 (c1 CHAR(10) not null, c2 INT not null AUTO_INCREMENT, PRIMARY KEY(c1, c2));580 471 Paul McCullagh 2008-11-27
581581 Set priority of sweeper up if it gets behind
582With the following contents: c1 c2582
583 A 8583 470 Paul McCullagh 2008-11-27
584 B 1584 Added regular sync of tables in the background
585585
586After executing the following statement: insert into t1 (c1) values ('B');586 469 Paul McCullagh 2008-11-27
587587 Time sync on remap of memory mapped files
588This is the result using PBXT: c1 c2588
589 A 8589 468 Paul McCullagh 2008-11-27
590 B 1590 Fixed table sync when writer or sweeper in error
591 B 9591
592592 467 Paul McCullagh 2008-11-27
593The standard result would be: c1 c2593 Table pool: only background processes flush tables, only flush on last close, , lock no longer held during flush
594 A 8594
595 B 1595 466 Paul McCullagh 2008-11-27
596 B 2596 Optimisations, avoid reads and memory copies
597597
598RN32: PBXT does not permit access to multiple databases within a single transaction. For example:598 465 Paul McCullagh 2008-11-26
599599 Removed configure debugs
600begin;600
601update database_1.t1 set a=10;601 464 Paul McCullagh 2008-11-26
602update database_2.t2 set d=10;602 Changed default order of stats
603commit;603
604604 463 Paul McCullagh 2008-11-26
605In this case the following error is returned: 1015: Can't lock file (errno: -1)605 Changed default order of stats
606606
607RN31: The implementation of COUNT(*) has changed. For effectiency, rows are not counted. The information is taken from the header of the record (.xtr) files. This information is only 100% accurate after transaction cleanup has completed. Which basically means, only when PBXT is idle. ANALYZE TABLE waits for all background activity to stop, so the statement may be executed before a COUNT(*) to ensure an accurate result. NOTE: Other then waiting for background processes, ANALYSE TABLE is not implemented.607 462 Paul McCullagh 2008-11-26
608608 Write a maximum of 12MB record/row data to the log before it is flushed
609RN30: Two concurrency bugs have been fixed: a shared lock was used instead of an exclusive lock when deleting from a transaction list, the transaction segment semaphore was not initialized. XT now runs correctly in a multi-processor environment. The test used was sysbench on a dual-process, dual-core, AMD 64-bit machine running SUSE Linux 10.0.609
610610 461 Paul McCullagh 2008-11-26
611RN29: PBXT compiles and runs on under 64-bit Lunix. [TODO: 0009]611 Split out the flushing of the record/row files
612612
613RN28: ./mysql-test-run --force --mysqld=--default-storage-engine=pbxt will now execute most tests successfully. Changes to the tests and the result have been documented in http://www.primebase.com/xt/download/pbxt-test-run-changes.txt. [TODO: 0004, 0019]613 460 Paul McCullagh 2008-11-26
614614 Make sure the freeer wakes up on time. Scheduled for every .5s now
615RN27: Fixed a bug that caused the server to crash if when using tables locks and transactions. For example: LOCK TABLES, BEGIN, COMMIT, SELECT. This sequence now returns an error. The correct sequence is:615
616616 459 Paul McCullagh 2008-11-26
617LOCK TABLES, BEGIN, COMMIT, UNLOCK TABLES, SELECT617 Changed default order of stats
618or618
619LOCK TABLES, BEGIN, COMMIT, BEGIN, SELECT COMMIT, UNLOCK TABLES619 458 Paul McCullagh 2008-11-26
620620 Added counting of dirty bytes/pages in files in order to flush regularly
621RN26: Fixed a concurrency problem which caused a number of threads to hang during the sysbench test - see RN30 above (bug reported by Vadim).621
622622 457 Paul McCullagh 2008-11-26
623RN25: Fixed a bug that caused the server to hang when ha_pbxt::create() and ha_pbxt::ha_open() where given different, but equivalent paths for a particular table.623 Debug code to 'interrupt' PBXT when a situation need to be investigated
624624
625RN24: Fixed bug in the indexing of blob columns, for example: create table t1(name_id int, name blob, INDEX name_idx (name(5)));625 456 Paul McCullagh 2008-11-25
626626 The log cache is now written on a strict round-robin basis, only restart and transfer of log to cache update the cache
627RN23: When a duplicate key error occurs in auto-commit mode, the transaction is now rolled back.627
628628 455 Paul McCullagh 2008-11-25
629RN22: Fixed incorrect duplicate key error. In the case of a unique key which allows NULLs, duplicates are allowed if the inserted key contains a NULL. For example:629 Options -Os used on Mac OS X
630630
631create table t1 (id int not null, str char(10), unique(str));631 454 Paul McCullagh 2008-11-25
632insert into t1 values (1, null),(2, null),(3, "foo"),(4, "bar");632 Bytes to checkpoint, and bytes to write depend on the log write position
633633
634RN21: PBXT now returns the correct error code on duplicate key: 1062 instead of 1022.634 453 Paul McCullagh 2008-11-25
635635 Added statistic bytes to sweep
636RN19: Implemented AUTO_INCREMENT on partial keys. However, the XT implementation is non-standard. Increment of partial index works, but the ID generated is incremented like a non-partial index. For example:636
637637 452 Paul McCullagh 2008-11-25
638create table t1 (c1 char(10) not null, c2 int not null auto_increment, primary key(c1, c2));638 Freeer now correctly starts to work at 95% cache full
639select * from t1;639
640c1 c2640 451 Paul McCullagh 2008-11-25
641A 8641 Added statement counts
642B 1642
643643 450 Paul McCullagh 2008-11-25
644insert into t1 (c1) values ('B');644 Changed statistics to correspond to PBXT file types: xlog, rec/row, dlog, ilog
645select * from t1;645
646c1 c2646 449 Paul McCullagh 2008-11-21
647A 8647 Fix for Windows
648B 1648
649B 9649 448 Paul McCullagh 2008-11-21
650650 Correct warnings, minor error on Linux
651The standard result would be:651
652c1 c2652 447 Paul McCullagh 2008-11-21
653A 8653 Fixed scheduling bug that caused sweeper to get behind with the cleanup, which caused performance problems in high conflict situations
654B 1654
655B 2655 446 Paul McCullagh 2008-11-21
656656 Created the xtstat program which monitors the internal performance of PBXT
657RN18: Implemented TRUNCATE TABLE and DELETE FROM <table>; (i.e. a DELETE without WHERE clause). Previously DELETE FROM <table>; did not cause an error, but no rows where deleted (TRUNCATE TABLE returned an error). [TODO: 0012, 0022]657
658658 445 Paul McCullagh 2008-11-21
659RN17: Implemented CREATE TABLE (...) auto_increment=<value>;659 Implemented the pbxt.statistics virtual table
660660
661------- 0.9.51 - 2006-07-06661 444 Paul McCullagh 2008-11-21
662662 Added statistics probes
663RN16: Fixed crash which could occur when creating the first table in a database (bug reported by Hakan). 663
664664 443 Paul McCullagh 2008-11-21
665------- 0.9.5 - 2006-07-03665 Minor cosmetics
666666
667RN15: This version concludes the re-structuring of the PBXT implementation. I have made a number of major changes, including:667 442 Paul McCullagh 2008-11-18
668668 Changes for compiling under Drizzle
669- All files except the transaction logs are now associated with a particular table. All table related files begin with the name of the table. The extension indicates the function. 669
670670 441 Paul McCullagh 2008-11-17 [merge]
671- I have merged the handle and the fixed length row data for performance reasons.671 Merge with trunk
672672
673- Only the variable size component of a row is stored in the data log files. As a result the data logs can now be considered as a type of "overflow" area.673 440 Paul McCullagh 2008-11-17
674674 Access to transaction structure must now be protected
675- Memory mapped files are no longer used because it is not possible to flush changes to the disk.675
676676 439 Paul McCullagh 2008-11-14
677RN14: File names have the following forms:677 Added some comments about this change
678678
679[table-name]-[table-id].xtr - These files contains the table row pointers. Each row pointer occupies 8 bytes and refers to a list of records. The file name also contains the table ID. This is a unique number which is used internally by XT to identify the table. 679 438 Paul McCullagh 2008-11-14
680680 Added release notes
681[table-name].xtd - This file contains the fixed length data of a table. Each data item includes a handle and a record. The handle references a record in the data log file if the table contains variable length records.681
682682 437 Paul McCullagh 2008-11-14
683[table-name].xti - This file contains the index data of the table.683 Catch the case where the change to handle immediate deleting of xact structures fail
684684
685[table-name]-[log-id].xtl - This is a data log file. It contains the variable length data of the table. A table may have any number of data log files, each with a unique ID.685 436 Paul McCullagh 2008-11-14
686686 No longer delay remove of transaction structures (this case is handled now)
687xtlog-[log-id].xt - These files are the transaction logs. Log entries that specify updates reference a data file record. Each active thread has its own transaction log in order to avoid contension.687
688688 435 Paul McCullagh 2008-11-14
689RN13: Fixed the bug "Hang on DROP DATABASE". [TODO: 0016] 689 Store paths in location file in UNIX format
690690
691RN12: PBXT currently only supports the "Serializable" transaction isolation level. This is the highest isolation level possible and includes the "repeatable-read" functionality [TODO: 0015]. This is implemented by giving every transaction a snapshot of the database at the point when the transaction is started.691 434 Paul McCullagh 2008-11-14
692692 Fixed a bug when calculating row format if AVG_ROW_LENGTH is set
693If the transaction tries to update a record that was updated by some other transaction after the snapshot was taken, a locked error is returned. A deadlock can occur if 2 transactions update the same record in a different order. PBXT can detect all deadlocks.693
694694 433 Paul McCullagh 2008-11-14
695RN11: I have implemented write buffering on the table data files. [TODO: 0013]695 Fixed a bug when calculating row format if AVG_ROW_LENGTH is set
696696
697RN10: The unique constraint (UNIQUE INDEX/PRIMARY KEY) is now checked correctly. [TODO: 0008]697 432 Paul McCullagh 2008-11-13 [merge]
698698 Merged from trunk
699RN9: I have implemented a conventional B-tree algorithm for the indices (instead of the Lehman and Yoa B*-link tree). Although this reduces concurrency it improves the performance of queries significantly because of the simplicity of the algorithm. Deletion is also implemented in a very simple manner. [TODO: 0007]699
700700 431 Paul McCullagh 2008-11-13 [merge]
701RN8: PBXT now has only 2 caches [TODO: 0006]:701 Merged fixed 2 more test cases
702702
703The Index Cache (pbxt_index_cache_size): This is the amount of memory the PBXT storage engine uses to cache index data and row pointers. This is all the data in the files with the extensions '.xti' and '.xtr'. This cache is managed in blocks of 2K.703 430 Paul McCullagh 2008-11-06
704704 Set release date
705The Record Cache (pbxt_record_cache_size): This is the amount of memory the PBXT storage engine uses to cache table row data (handles and records). This is all the data in the files with the extension '.xtd'.705
706706 429 Paul McCullagh 2008-11-06 [merge]
707The size of the caches are determined by the values of the system variables pbxt_index_cache_size and pbxt_row_cache_size. By default these values are set to 32MB.707 Merged with trunk
708708
709RN7: Auto-increment is now implemented in memory. This is done by doing a MAX() select when a table is first opened to get the high value. After that, then high value is incremented in memory on INSERT. On UPDATE (or INSERT) the value in memory is adjusted if necessary. This method also makes it possible for rows to be inserted simultaneously on the same table. [TODO: 0005, 0014]709 428 Paul McCullagh 2008-11-06
710710 Strip the partition table part of the name from the file path as well as the table name
711RN6: ./run-all-tests --create-options=TYPE=PBXT succeeds. [TODO: 0004]711
712712 427 Paul McCullagh 2008-11-06 [merge]
713RN5: Using sql-bench and my own Java based test I have confirmed that PBXT behaves correctly during multi-threaded access. [PARTIALY TODO: 0002]713 Merge fix to variables.test
714714
715RN4: Load/Stability test. Using sql-bench I have tested PBXT under load over a long period of time. [PARTIALY TODO: 0001]715 426 Paul McCullagh 2008-11-05
716716 Fixed crash in ALTER TABLE
717------- 0.9.2 - 2006-04-01717
718718 425 Paul McCullagh 2008-11-05
719RN3: Fixed a bug that cause the error "-6: Handle is out of range: [0:0]".719 Set default binlog format to mixed for pbxt-test-run
720720
721RN2: Implemented SET, ENUM and YEAR data types.721 424 Paul McCullagh 2008-11-05 [merge]
722722 Merged changes for RN185
723RN1: Fixed a bug in the error reporting when a table is created with a datatype that is not supported. [TODO: 0011]723
724724 423 Paul McCullagh 2008-11-05
725 Test result change
726
727 422 Paul McCullagh 2008-11-05
728 Added info(flag == HA_STATUS_AUTO), and changed test results for 5.1.29
729
730 421 Paul McCullagh 2008-11-05 [merge]
731 Merge changes for RN183
732
733 420 Paul McCullagh 2008-11-05
734 Test result changes required for 5.1.29
735
736 419 Paul McCullagh 2008-11-05 [merge]
737 Merged 6.0.7 build fixes
738
739 418 Paul McCullagh 2008-11-04
740 Test results required by Mac OS X
741
742 417 Paul McCullagh 2008-11-04 [merge]
743 Switched to the current version of the BLOB streaming engine (PBMS)
744
745 416 Paul McCullagh 2008-11-04
746 Switched to the current version of the BLOB streaming engine (PBMS)
747
748 415 Paul McCullagh 2008-11-04 [merge]
749 Merged fix for 'make test'
750
751 414 Paul McCullagh 2008-11-04
752 Changed the location of the pbxt lock file so that the pbxt database can be dropped
753
754 413 Paul McCullagh 2008-11-03 [merge]
755 Merged progress file stuff
756
757 412 Paul McCullagh 2008-11-03
758 Handle missing .xti file, use REPAIR TABLE to regenerate the file
759
760 411 Paul McCullagh 2008-10-30
761 Fixed Windows compile error
762
763 410 Paul McCullagh 2008-10-29
764 Added crash debugging - creates a windows core dump, makes a backup copy of the datadir after a crash, keeps a number of previous transaction logs. To disable create var/pbxt/no-debug
765
766 409 Paul McCullagh 2008-10-29 [merge]
767 Merged changes from Drizzle
768
769 408 Paul McCullagh 2008-10-29 [merge]
770 Applied change in RN175 & RN176
771
772 407 Paul McCullagh 2008-10-29 [merge]
773 Applied change in RN173 & RN174
774
775 406 Paul McCullagh 2008-10-28
776 Bug fixed installation lock under Windows
777
778 405 Paul McCullagh 2008-10-28
779 Added a lock file to prevent the server from being started twice
780
781 404 Paul McCullagh 2008-10-23
782 Changed for debugging
783
784 403 Paul McCullagh 2008-10-23
785 Removed warning on 32-bit machine
786
787 402 Paul McCullagh 2008-10-23
788 Added sources and compile under Windows
789
790 401 Paul McCullagh 2008-10-23
791 Increased the row average size estimate
792
793 400 Paul McCullagh 2008-10-23
794 Implemented the AVG_ROW_LENGTH table attribute. When set, this value determines the size of the fixed length data component of a record
795
796 399 Paul McCullagh 2008-10-23
797 CHECK TABLE now calculates the average variable record length
798
799 398 Paul McCullagh 2008-10-23
800 Fixed a bug that could crash the server because xseq_log_file could be NULL
801
802 397 Paul McCullagh 2008-10-23
803 Changed configure so that debug/optimize flags set for building the engine override the flags set for MySQL
804
805 396 Paul McCullagh 2008-10-17
806 Used MySQL root Makefile instead of config.status in order to extract settings
807
808 395 Paul McCullagh 2008-10-17
809 Changes for Drizzle
810
811 394 Paul McCullagh 2008-10-13
812 Must use the CXX flags of course!
813
814 393 Paul McCullagh 2008-10-10
815 Jay's fix for Drizzle compile problem
816
817 392 Paul McCullagh 2008-10-09 [merge]
818 Merged from trunk
819
820 391 Paul McCullagh 2008-10-09
821 Corrected compile errors when compiled with DEBUG enabled under Drizzle tree
822
823 390 Paul McCullagh 2008-10-07
824 Latest changes from Drizzle project
825
826 389 Paul McCullagh 2008-10-03
827 This is the plug.in file used by Drizzle
828
829 388 Paul McCullagh 2008-10-02 [merge]
830 Merged Drizzle make files, and RN164
831
832 387 Paul McCullagh 2008-10-02 [merge]
833 Merged changes for Drizzle port into trunk
834
835 386 Paul McCullagh 2008-10-02 [merge]
836 Merged changes from RN163
837
838 385 Paul McCullagh 2008-10-01
839 Warnings are new in 5.1.28
840
841 384 Paul McCullagh 2008-09-30
842 Avoid creating a partition table when creating a system table
843
844 383 Paul McCullagh 2008-09-30
845 Allow create and binlog system tables
846
847 382 Paul McCullagh 2008-09-30
848 Added pbxt.location system table, drop database pbxt now works
849
850 381 Paul McCullagh 2008-09-30
851 Hack for MySQL 6.0.6
852
853 380 Paul McCullagh 2008-09-30
854 In MySQL version > 6.0.6 st_table struct was renamed
855
856 379 Paul McCullagh 2008-09-18
857 Added release notes
858
859 378 Paul McCullagh 2008-09-17
860 Updated tests for 5.1.28
861
862 377 Paul McCullagh 2008-09-16 [merge]
863 Merged fix for mac crash
864
865 376 Paul McCullagh 2008-09-16
866 Some adjustments for 5.1.26 tests
867
868 375 Paul McCullagh 2008-09-15
869 Case found where tv_nsec is not supported (Ubuntu derivative used by Mark)
870
871 374 Paul McCullagh 2008-09-12 [merge]
872 Merged update for RN155
873
874 373 Paul McCullagh 2008-09-09
875 Removed PBXT_SERVER
876
877 372 Paul McCullagh 2008-09-09
878 Need the MYSQL_DYNAMIC_PLUGIN flag
879
880 371 Paul McCullagh 2008-09-08
881 Fixed configure added --with-plugindir
882
883 370 Paul McCullagh 2008-09-05 [merge]
884 Merged update for RN154
885
886 369 Paul McCullagh 2008-09-04
887 Set to primebase.org
888
889 368 PrimeBase Build 2008-09-04
890 Removed the pbxt directory
891
892 367 vkolesnikov 2008-09-03
893 fixed a bug that caused the following problems:
894 #1. Foreign keys: crash if update cascade and autocommit=0
895 #2. Foreign keys: crash if update cascade and multi-level recursion
896
897 366 vkolesnikov 2008-09-03
898 fixed a problem that prevented a table to be created if it had FKs which referred to an inexistent table.
899
900 365 paul-mccullagh 2008-09-02
901 Variable read from config.status had wierd stuff in them when MySQL built be Darwin 9.4.0
902
903 364 paul-mccullagh 2008-09-02
904 Variable read from config.status had wierd stuff in them when MySQL built be Darwin 9.4.0
905
906 363 vkolesnikov 2008-09-02
907 RN152: Fixed missing information about foreign keys in I_S.table_constraints and I_S.referential_constraints
908
909 362 paul-mccullagh 2008-09-02
910 Set version to 1.0.06
911
912 361 paul-mccullagh 2008-09-01
913 Forgot to free
914
915 360 paul-mccullagh 2008-08-31
916 Remove a debug
917
918 359 paul-mccullagh 2008-08-30
919 unsued
920
921 358 paul-mccullagh 2008-08-30
922 2 cases for tracing transactions
923
924 357 paul-mccullagh 2008-08-30
925 Added a callback called by a thread after releasing a lock, this prevents livelock when waiting for a lock
926
927 356 paul-mccullagh 2008-08-30
928 Sweeper goes faster if deleted record found
929
930 355 paul-mccullagh 2008-08-30
931 Added pbxt_sweeper_priority system variable
932
933 354 paul-mccullagh 2008-08-30
934 Fixed bug by removing tab_lock_perm bit-map
935
936 353 paul-mccullagh 2008-08-30
937 Test result oscillates
938
939 352 paul-mccullagh 2008-08-30
940 Added pbxt_sweeper_priority system variable
941
942 351 paul-mccullagh 2008-08-30
943 Added quick config, parameter taking from MySQL build
944
945 350 vkolesnikov 2008-08-25
946 RN146: Fixed a problem with TRUNCATE TABLE
947
948 349 paul-mccullagh 2008-08-21
949 We don't add the auto-inc change yet, because of performance
950
951 348 paul-mccullagh 2008-08-20
952 Fixed record corruption bug
953
954 347 paul-mccullagh 2008-08-11
955 Set version number to 1.0.05
956
957 346 paul-mccullagh 2008-08-11
958 Added option to change the log offline function, set TD defaults
959
960 345 paul-mccullagh 2008-08-11
961 Disable this optimization for the moment (is suspect)
962
963 344 paul-mccullagh 2008-08-03
964 I actually forgot I did this!
965
966 343 paul-mccullagh 2008-08-03
967 Changed date
968
969 342 paul-mccullagh 2008-08-01
970 Release notes
971
972 341 paul-mccullagh 2008-08-01
973 Unused variable
974
975 340 paul-mccullagh 2008-08-01
976 Improved check cache function
977
978 339 paul-mccullagh 2008-08-01
979 Handled a situation that should not occur (bug now fixed), improved check cache function
980
981 338 paul-mccullagh 2008-08-01
982 Explained use of pool during flushing
983
984 337 paul-mccullagh 2008-08-01
985 Changed debug
986
987 336 paul-mccullagh 2008-08-01
988 Consolidated the flush table call
989
990 335 paul-mccullagh 2008-08-01
991 Improved trace
992
993 334 paul-mccullagh 2008-08-01
994 Consolidated the flush table call
995
996 333 paul-mccullagh 2008-08-01
997 Lock the flush operation, this is to prevent another thread from writing an old table header
998
999 332 paul-mccullagh 2008-08-01
1000 Ensure log files are not overwritten, added an always flush option
1001
1002 331 paul-mccullagh 2008-08-01
1003 Ensure log files are not overwritten, added an always flush option
1004
1005 330 paul-mccullagh 2008-07-31
1006 A useful assertion
1007
1008 329 paul-mccullagh 2008-07-31
1009 End of line correction
1010
1011 328 paul-mccullagh 2008-07-31
1012 Disable test
1013
1014 327 paul-mccullagh 2008-07-31
1015 Added xt_write1, but not used
1016
1017 326 paul-mccullagh 2008-07-31
1018 The fast RW/mutex lock can now handle nested calls
1019
1020 325 paul-mccullagh 2008-07-31
1021 This assertion failed when the cache was brocken
1022
1023 324 paul-mccullagh 2008-07-31
1024 DBUG_ON not defined under Windows?
1025
1026 323 paul-mccullagh 2008-07-31
1027 Explain the need for nested lock calls
1028
1029 322 paul-mccullagh 2008-07-31
1030 There can be 1000's of operations pending, a optimized list is required
1031
1032 321 paul-mccullagh 2008-07-31
1033 Sometimes the mem map lock was not handled correctly, read too much data in check table
1034
1035 320 paul-mccullagh 2008-07-31
1036 Bug: cg_mru_block should be cg_lru_block (error during optimisation), also added debug check for index cache
1037
1038 319 paul-mccullagh 2008-07-31
1039 Added debug check for index cache
1040
1041 318 paul-mccullagh 2008-07-29
1042 Added direct file trace dump
1043
1044 317 paul-mccullagh 2008-07-29
1045 Added windows debug window
1046
1047 316 paul-mccullagh 2008-07-28
1048 Forgot to track returned rows in index_last()
1049
1050 315 paul-mccullagh 2008-07-28
1051 Debug window on failed assertion
1052
1053 314 paul-mccullagh 2008-07-28
1054 Parameter missing
1055
1056 313 paul-mccullagh 2008-07-28
1057 Corrected Visual Studio assembler
1058
1059 312 paul-mccullagh 2008-07-28
1060 Compile errors and warnings under Windows
1061
1062 311 paul-mccullagh 2008-07-28
1063 Lock test must use thread ID, uncommented some tests
1064
1065 310 paul-mccullagh 2008-07-28
1066 Use thread ID for waiting (else require ref count for thread struct)
1067
1068 309 paul-mccullagh 2008-07-28
1069 Removed unused pragma
1070
1071 308 paul-mccullagh 2008-07-28
1072 Removed unused pragma
1073
1074 307 paul-mccullagh 2008-07-25
1075 pb_open_tab can be NULL
1076
1077 306 paul-mccullagh 2008-07-25
1078 Remove debug
1079
1080 305 paul-mccullagh 2008-07-25
1081 Added pbxt_auto_increment_mode and automatic re-calc statistics when table exceeds 200 rows
1082
1083 304 paul-mccullagh 2008-07-24
1084 not yet released
1085
1086 303 paul-mccullagh 2008-07-24
1087 End of block was overwritten, block_len - 1 required
1088
1089 302 paul-mccullagh 2008-07-24
1090 Do not delete if the index is corrupted
1091
1092 301 paul-mccullagh 2008-07-24
1093 End of block was overwritten, block_len - 1, required, index recovery not done if table cannot be found, index selectivity checks for index corruption, new trace on index references
1094
1095 300 paul-mccullagh 2008-07-24
1096 Added index trace
1097
1098 299 paul-mccullagh 2008-07-24
1099 Renamed trace function
1100
1101 298 paul-mccullagh 2008-07-24
1102 Use a circular trace buffer
1103
1104 297 paul-mccullagh 2008-07-23
1105 Handle restart and recovery even when the index of a table is corrupt
1106
1107 296 paul-mccullagh 2008-07-22
1108 Removed debugs
1109
1110 295 paul-mccullagh 2008-07-22
1111 Testing without the automic set
1112
1113 294 paul-mccullagh 2008-07-22
1114 xs_state is VERY volatile, on a multi-core system we must make sure memory is written, not the processor cache
1115
1116 293 paul-mccullagh 2008-07-22
1117 Cannot call xt_p_join with a bad pthread id
1118
1119 292 paul-mccullagh 2008-07-22
1120 Turned of debugs
1121
1122 291 paul-mccullagh 2008-07-22
1123 Write was complaining that the buffer was not valid
1124
1125 290 paul-mccullagh 2008-07-22
1126 Checking for a bug here
1127
1128 289 paul-mccullagh 2008-07-22
1129 Checking for a bug here
1130
1131 288 paul-mccullagh 2008-07-17
1132 Hmm, wrong block
1133
1134 287 paul-mccullagh 2008-07-17
1135 This assertion fails?
1136
1137 286 paul-mccullagh 2008-07-16
1138 Improved hash algorithm, added a missing mutex UNLOCK
1139
1140 285 paul-mccullagh 2008-07-16
1141 realloc, not grow
1142
1143 284 paul-mccullagh 2008-07-16
1144 Other debug parameters
1145
1146 283 paul-mccullagh 2008-07-16
1147 EOF is a page ID, must start at 1
1148
1149 282 paul-mccullagh 2008-07-16
1150 Unused defines removed
1151
1152 281 paul-mccullagh 2008-07-16
1153 Improved hashing algorithm
1154
1155 280 paul-mccullagh 2008-07-16
1156 Test too slow with this in
1157
1158 279 paul-mccullagh 2008-07-16
1159 Improved the reliability of tests
1160
1161 278 paul-mccullagh 2008-07-15
1162 Avoid crash in xt_flush_table()
1163
1164 277 paul-mccullagh 2008-07-15
1165 Commented out by mistake, thank Kay!
1166
1167 276 paul-mccullagh 2008-07-14
1168 Windows only
1169
1170 275 paul-mccullagh 2008-07-14
1171 Fixed a bug that returned duplicate rows, and TRUNCATE TABLE when using BLOB streaming
1172
1173 274 paul-mccullagh 2008-07-03
1174 A comment
1175
1176 273 paul-mccullagh 2008-07-03
1177 A comment
1178
1179 272 paul-mccullagh 2008-07-03
1180 Changed xt_ind_read prototype
1181
1182 271 paul-mccullagh 2008-07-03
1183 Set version to alpha
1184
1185 270 paul-mccullagh 2008-07-03
1186 Check index to use Node ID instead of file offset (this was already mostly the case on disk)
1187
1188 269 paul-mccullagh 2008-07-02
1189 Slight reformatting
1190
1191 268 paul-mccullagh 2008-07-02
1192 Optimised for simple SELECT, INSERT and UPDATE scaling, now at least as good as InnoDB
1193
1194 267 paul-mccullagh 2008-06-26
1195 Adding functions to wait and signal a thread
1196
1197 266 paul-mccullagh 2008-06-26
1198 New error numbers
1199
1200 265 paul-mccullagh 2008-06-26
1201 Memory mapped files should use a fast RW mutex
1202
1203 264 paul-mccullagh 2008-06-26
1204 Call unit tests
1205
1206 263 paul-mccullagh 2008-06-26
1207 Adding functions to wait and signal a thread
1208
1209 262 paul-mccullagh 2008-06-26
1210 Forgot to set the open table thread
1211
1212 261 paul-mccullagh 2008-06-26
1213 Use a spinlock for writing the log file
1214
1215 260 paul-mccullagh 2008-06-26
1216 Use a RW mutex for the table cache
1217
1218 259 paul-mccullagh 2008-06-26
1219 Tested various types of locks
1220
1221 258 paul-mccullagh 2008-06-26
1222 Implemented many types of locks
1223
1224 257 paul-mccullagh 2008-06-24
1225 Table cache now uses fast read/write locks
1226
1227 256 paul-mccullagh 2008-06-24
1228 Memory maps now use fast read/write locks
1229
1230 255 paul-mccullagh 2008-06-24
1231 Implemented spinlocks
1232
1233 254 paul-mccullagh 2008-06-20
1234 Set version number to 1.0.04
1235
1236 253 paul-mccullagh 2008-06-20
1237 Implemented fast read/write lock
1238
1239 252 paul-mccullagh 2008-06-20
1240 Cleaned up locking functions
1241
1242 251 paul-mccullagh 2008-06-20
1243 Implemented fast read/write lock
1244
1245 250 paul-mccullagh 2008-06-12
1246 Wrong type for printf
1247
1248 249 paul-mccullagh 2008-06-12
1249 Added dump table statistics to check table
1250
1251 248 paul-mccullagh 2008-06-12
1252 Windows: close logs before delete or rename
1253
1254 247 paul-mccullagh 2008-06-11
1255 Add a close function for windows
1256
1257 246 paul-mccullagh 2008-06-10
1258 Fixed PBXT_STATISTICS table
1259
1260 245 paul-mccullagh 2008-06-10
1261 Updated for 5.1.24
1262
1263 244 paul-mccullagh 2008-06-10
1264 Close mapped files before deleting old table
1265
1266 243 paul-mccullagh 2008-06-10
1267 Close data logs before deleting
1268
1269 242 paul-mccullagh 2008-06-09
1270 Fixed tests for MySQL 5.1.24
1271
1272 241 paul-mccullagh 2008-06-06
1273 Fixed Windows conditional wait, hang in rename table
1274
1275 240 paul-mccullagh 2008-06-05
1276 Fixed compile errors
1277
1278 239 paul-mccullagh 2008-06-05
1279 Correct line endings
1280
1281 238 paul-mccullagh 2008-06-05
1282 Windows version works now
1283
1284 237 paul-mccullagh 2008-06-05
1285 Fixed free order
1286
1287 236 paul-mccullagh 2008-06-05
1288 PBXT now compiles under Windows
1289
1290 235 paul-mccullagh 2008-06-05
1291 Implemented file memory mapping for Windows
1292
1293 234 paul-mccullagh 2008-06-04
1294 Missing endif
1295
1296 233 paul-mccullagh 2008-06-04
1297 Changes for Windows port
1298
1299 232 paul-mccullagh 2008-06-04
1300 Changes for Windows
1301
1302 231 paul-mccullagh 2008-06-04
1303 Changes for Windows
1304
1305 230 paul-mccullagh 2008-06-04
1306 Updated Windows make file
1307
1308 229 paul-mccullagh 2008-06-03
1309 Updated release notes
1310
1311 228 paul-mccullagh 2008-05-30
1312 Corrections for the BLOB streaming engine
1313
1314 227 paul-mccullagh 2008-05-30
1315 The latest version of the mybs header
1316
1317 226 paul-mccullagh 2008-05-30
1318 Added system variables: pbxt_data_file_grow_size & pbxt_row_file_grow_size
1319
1320 225 paul-mccullagh 2008-05-30
1321 Set date of release
1322
1323 224 paul-mccullagh 2008-05-30
1324 Share lock the memory map while flushing
1325
1326 223 paul-mccullagh 2008-05-30
1327 Remove debugs
1328
1329 222 paul-mccullagh 2008-05-30
1330 Pre-writing logs completely doubles the speed on SSDs
1331
1332 221 paul-mccullagh 2008-05-29
1333 Re-use logs when not on the Mac
1334
1335 220 paul-mccullagh 2008-05-29
1336 Re-use logs when not on the Mac
1337
1338 219 paul-mccullagh 2008-05-29
1339 Corrected use of log buffer size
1340
1341 218 paul-mccullagh 2008-05-29
1342 Fixed checkpointing frequency, and other bugs
1343
1344 217 paul-mccullagh 2008-05-28
1345 Fixed checkpointing frequency
1346
1347 216 paul-mccullagh 2008-05-22
1348 Rows, not records
1349
1350 215 paul-mccullagh 2008-05-21
1351 Fixed some tests
1352
1353 214 paul-mccullagh 2008-05-20
1354 Fixed bugs with index consistent write
1355
1356 213 paul-mccullagh 2008-05-09
1357 Implemented index consistant write
1358
1359 212 paul-mccullagh 2008-04-24
1360 mtr tests run successfully
1361
1362 211 paul-mccullagh 2008-04-24
1363 Added direct I/O, and memory sequential scan
1364
1365 210 paul-mccullagh 2008-04-23
1366 Added memory mapping of row index and handle data files
1367
1368 209 paul-mccullagh 2008-04-03
1369 Fixed compile error
1370
1371 208 paul-mccullagh 2008-03-28
1372 Updated release notes
1373
1374 207 paul-mccullagh 2008-03-28
1375 Updated tests, multi-db statements now possible
1376
1377 206 paul-mccullagh 2008-03-28
1378 Fixed bugs related to the global database change
1379
1380 205 paul-mccullagh 2008-03-25
1381 Transactions can now cross database boundaries
1382
1383 204 paul-mccullagh 2008-03-22
1384 Corrected hang on invalid input
1385
1386 203 paul-mccullagh 2008-03-20
1387 Corrected default
1388
1389 202 paul-mccullagh 2008-03-20
1390 Changed default log threshold to 32MB
1391
1392 201 paul-mccullagh 2008-03-20
1393 Rollover and re-use transction logs that would otherwise be deleted
1394
1395 200 paul-mccullagh 2008-03-19
1396 Remove debugs
1397
1398 199 paul-mccullagh 2008-03-19
1399 Pre-allocate transaction logs
1400
1401 198 paul-mccullagh 2008-03-19
1402 Pre-allocate transaction logs
1403
1404 197 paul-mccullagh 2008-03-19
1405 Added time difference
1406
1407 196 paul-mccullagh 2008-03-19
1408 Added microsecond timing to trace
1409
1410 195 paul-mccullagh 2008-03-19
1411 Transaction log writes on 512 byte boundaries only
1412
1413 194 paul-mccullagh 2008-03-15
1414 Corrected compile errors with gcc 4.1.3
1415
1416 193 paul-mccullagh 2008-03-13
1417 Updated notes
1418
1419 192 paul-mccullagh 2008-03-13
1420 Corrected the drop-in build process
1421
1422 191 paul-mccullagh 2008-03-12
1423 Scripts no longer required
1424
1425 190 paul-mccullagh 2008-03-12
1426 Now compiles with MySQL 6.0.4
1427
1428 189 paul-mccullagh 2008-03-12
1429 Installation simplified
1430
1431 188 paul-mccullagh 2008-03-12
1432 Installation simplified
1433
1434 187 paul-mccullagh 2008-03-12
1435 Added plugin description file
1436
1437 186 paul-mccullagh 2008-03-12
1438 VA args must be copied before re-use
1439
1440 185 paul-mccullagh 2008-03-11
1441 Updated tests for MySQL 5.1.23
1442
1443 184 paul-mccullagh 2008-03-11
1444 Fixed 64-bit bug
1445
1446 183 paul-mccullagh 2008-03-11
1447 More information
1448
1449 182 paul-mccullagh 2008-03-11
1450 Additional debug
1451
1452 181 paul-mccullagh 2008-03-11
1453 Updated test readme
1454
1455 180 paul-mccullagh 2008-03-11
1456 Corrected 64 bit error
1457
1458 179 paul-mccullagh 2008-03-11
1459 Restored config
1460
1461 178 paul-mccullagh 2008-03-11
1462 Fixed linux compile errors
1463
1464 177 paul-mccullagh 2008-03-11
1465 Implemented recovery process and checkpointing on server restart
1466
1467 176 paul-mccullagh 2008-03-11
1468 Added table page cache
1469
1470 175 paul-mccullagh 2008-03-11
1471 Implemented full durability, and SELECT FOR UPDATE
1472
1473 174 paul-mccullagh 2008-03-10
1474 Implemented full durability
1475
1476 173 paul-mccullagh 2008-03-10
1477 Implemented full durability
1478
1479 172 paul-mccullagh 2007-11-07
1480 Changed all files to C++, pthread.c as well
1481
1482 171 paul-mccullagh 2007-11-07
1483 Further corrections for name and changes/conversion to C++
1484
1485 170 paul-mccullagh 2007-11-07
1486 Renamed files and changed all to C++
1487
1488 169 paul-mccullagh 2007-11-06
1489 Changed utility name
1490
1491 168 paul-mccullagh 2007-11-06
1492 Corrected self type
1493
1494 167 paul-mccullagh 2007-10-30
1495 Corrected problem with URL encoding in BLOB URLs, only unreserved chars used now (see RFC2396)
1496
1497 166 paul-mccullagh 2007-10-23
1498 COPY of the BLOB Streaming header file (from BLOB Streaming for MySQL project)
1499
1500 165 paul-mccullagh 2007-10-17
1501 Corrected stack trace of errors passed through the BLOB streaming API
1502
1503 164 paul-mccullagh 2007-09-26
1504 re-generated
1505
1506 163 paul-mccullagh 2007-09-26
1507 Added change
1508
1509 162 paul-mccullagh 2007-09-26
1510 re-generated
1511
1512 161 paul-mccullagh 2007-09-26
1513 re-generated
1514
1515 160 paul-mccullagh 2007-09-26
1516 Set version number
1517
1518 159 paul-mccullagh 2007-09-26
1519 Updated for 0.9.90
1520
1521 158 paul-mccullagh 2007-09-26
1522 re-generated
1523
1524 157 paul-mccullagh 2007-09-26
1525 Set name of streaming interface
1526
1527 156 paul-mccullagh 2007-09-26
1528 Making shutdown a bit safer. In debug mode, no exception due to assertion failure
1529
1530 155 paul-mccullagh 2007-09-26
1531 Added new accessors. Changed shutdown sequence to avoid crashes
1532
1533 154 paul-mccullagh 2007-09-26
1534 These accessors are not declared in any public header because the are specific to InnoDB
1535
1536 153 paul-mccullagh 2007-09-26
1537 Interface objects must have differenct names so that each engine has its own copy of the code, or the engine will crash when the other shared object is unloaded
1538
1539 152 paul-mccullagh 2007-09-26
1540 thd_charset() is a new accessor in 5.1.21
1541
1542 151 paul-mccullagh 2007-09-26
1543 More robust on shutdown
1544
1545 150 paul-mccullagh 2007-09-26
1546 Some compilers generated crashing code (unable to use untyped macros!)
1547
1548 149 paul-mccullagh 2007-09-26
1549 Some compilers generated crashing code (unable to use untyped macros!)
1550
1551 148 paul-mccullagh 2007-09-26
1552 Changes for allowing drop in compilation
1553
1554 147 paul-mccullagh 2007-09-26
1555 Changes for allowing drop in compilation
1556
1557 146 paul-mccullagh 2007-09-26
1558 Added plug.in to enable drop-in compilation
1559
1560 145 paul-mccullagh 2007-08-20
1561 Changed the version number
1562
1563 144 paul-mccullagh 2007-08-20
1564 release notes
1565
1566 143 paul-mccullagh 2007-08-20
1567 Log types supported must now be declared
1568
1569 142 paul-mccullagh 2007-08-20
1570 Non-URL data may also be inserted into LONGBLOB fields
1571
1572 141 paul-mccullagh 2007-07-26
1573 Ported to MySQL 5.1.20
1574
1575 140 paul-mccullagh 2007-07-25
1576 Support for the features of the MyBS BLOB Streaming engine, version 0.5 Alpha
1577
1578 139 paul-mccullagh 2007-07-10
1579 Fixed a bug that caused a crash while handling BLOB data. The crash was due to changing the field structure which is shared data
1580
1581 138 paul-mccullagh 2007-06-26
1582 Added the latest bug fix
1583
1584 137 paul-mccullagh 2007-06-22
1585 set current version
1586
1587 136 paul-mccullagh 2007-06-22
1588 set current version
1589
1590 135 paul-mccullagh 2007-06-22
1591 don't lock yourself!
1592
1593 134 paul-mccullagh 2007-06-22
1594 xt_get_self() is used in thr_exit()
1595
1596 133 paul-mccullagh 2007-06-21
1597 Only 5.1.18 can do system variables
1598
1599 132 paul-mccullagh 2007-06-21
1600 Added BLOB streaming stuff
1601
1602 131 paul-mccullagh 2007-06-21
1603 The plugin directory is set strangely, this helps to find it!
1604
1605 130 paul-mccullagh 2007-06-21
1606 Set date
1607
1608 129 paul-mccullagh 2007-06-21
1609 Added new files
1610
1611 128 paul-mccullagh 2007-06-21
1612 Implemented system parameters
1613
1614 127 paul-mccullagh 2007-06-21
1615 These functions do URL decoding of the intput string
1616
1617 126 paul-mccullagh 2007-06-21
1618 This function does URL decoding at the same time
1619
1620 125 paul-mccullagh 2007-06-21
1621 Changed prototypes
1622
1623 124 paul-mccullagh 2007-06-21
1624 These functions make it possible to build an index key structure
1625
1626 123 paul-mccullagh 2007-06-21
1627 These functions do URL decoding of the intput string
1628
1629 122 paul-mccullagh 2007-06-21
1630 Added system variables, added initialisation and cleanup for BLOB streaming
1631
1632 121 paul-mccullagh 2007-06-21
1633 This function does URL decoding at the same time
1634
1635 120 paul-mccullagh 2007-06-21
1636 New function uses self pointer
1637
1638 119 paul-mccullagh 2007-06-21
1639 Yes, he is responsible for this one too!
1640
1641 118 paul-mccullagh 2007-06-21
1642 New error that can occur when returning a BLOB via streaming
1643
1644 117 paul-mccullagh 2007-06-21
1645 Yes, he is responsible for this one too!
1646
1647 116 paul-mccullagh 2007-06-21
1648 Removed old stuff
1649
1650 115 paul-mccullagh 2007-06-21
1651 These functions make it possible to build an index key structure
1652
1653 114 paul-mccullagh 2007-06-21
1654 Added a column index to the index segment
1655
1656 113 paul-mccullagh 2007-06-21
1657 Added self to logging functions (instead of thread name)
1658
1659 112 paul-mccullagh 2007-06-21
1660 Added self to logging functions (instead of thread name)
1661
1662 111 paul-mccullagh 2007-06-21
1663 Added new files
1664
1665 110 paul-mccullagh 2007-06-21
1666 COPY of the BLOB Streaming header file (from BLOB Streaming for MySQL project)
1667
1668 109 paul-mccullagh 2007-06-21
1669 Handles BLOB streaming interface
1670
1671 108 paul-mccullagh 2007-06-21
1672 Handles BLOB streaming interface
1673
1674 107 paul-mccullagh 2007-04-07
1675 Update notes
1676
1677 106 paul-mccullagh 2007-04-06
1678 pb_share may not have been initialized
1679
1680 105 paul-mccullagh 2007-04-05
1681 Set version number
1682
1683 104 paul-mccullagh 2007-04-05
1684 Test for last bug
1685
1686 103 paul-mccullagh 2007-04-05
1687 May not be conditional
1688
1689 102 paul-mccullagh 2007-04-05
1690 Added release notes and changed the version number
1691
1692 101 paul-mccullagh 2007-04-05
1693 All tests now run through, at least on the second try
1694
1695 100 paul-mccullagh 2007-04-05
1696 No longer commit statements within a procedure/function, considered atomic!
1697
1698 99 paul-mccullagh 2007-04-05
1699 No longer commit statements within a procedure/function, considered atomic!
1700
1701 98 paul-mccullagh 2007-04-05
1702 tabbing
1703
1704 97 paul-mccullagh 2007-04-05
1705 Count statements when in LOCK TABLES
1706
1707 96 paul-mccullagh 2007-04-05
1708 Improved trace, lock timeout now uses real time, Count statements when in LOCK TABLES, Only TRUNCATE TABLE takes X lock in external_lock
1709
1710 95 paul-mccullagh 2007-04-05
1711 Count statements when in LOCK TABLES
1712
1713 94 paul-mccullagh 2007-04-05
1714 Handle the fact that a table may have been deleted
1715
1716 93 paul-mccullagh 2007-04-05
1717 Fixed path in move table
1718
1719 92 paul-mccullagh 2007-04-05
1720 Count statements when in LOCK TABLES
1721
1722 91 paul-mccullagh 2007-04-05
1723 Handle the fact that a table may have been deleted
1724
1725 90 paul-mccullagh 2007-04-03
1726 Fixed table locking - now locks on external_lock
1727
1728 89 paul-mccullagh 2007-04-03
1729 Prevent data log from being created on tables with fixed length record
1730
1731 88 paul-mccullagh 2007-04-03
1732 Added lock timeout error for table locks
1733
1734 87 paul-mccullagh 2007-04-03
1735 Added lock timeout error for table locks
1736
1737 86 paul-mccullagh 2007-03-29
1738 Trace define to print to console instead of debug log
1739
1740 85 paul-mccullagh 2007-03-29
1741 New errors, upgrade table and bad index version
1742
1743 84 paul-mccullagh 2007-03-29
1744 New constants, data log minimum size (for compaction), and increment size (recovery checkpointing)
1745
1746 83 paul-mccullagh 2007-03-29
1747 Index files now have a version number so that changes to index structure only requires OPTIMISE TABLE to fix
1748
1749 82 paul-mccullagh 2007-03-29
1750 Made it possible to log exceptions as warnings
1751
1752 81 paul-mccullagh 2007-03-29
1753 Fixed a bug that cause the sweeper to miss transactions because of a gap between ID increment and creation of the RAM structure
1754
1755 80 paul-mccullagh 2007-03-29
1756 Fixed a bug that cause the sweeper to miss transactions because of a gap between ID increment and creation of the RAM structure
1757
1758 79 paul-mccullagh 2007-03-29
1759 Changes for the 4 data log compactor
1760
1761 78 paul-mccullagh 2007-03-29
1762 The sweeper and the compactor cannot open the MySQL .frm file
1763
1764 77 paul-mccullagh 2007-03-29
1765 Changes take into account the limit data log usage, and the removal of directory scans to find files
1766
1767 76 paul-mccullagh 2007-03-29
1768 Changes take into account the limit data log usage, and the removal of directory scans to find files
1769
1770 75 paul-mccullagh 2007-03-29
1771 Changes to ensure that commit or rollback occurs after unlock table
1772
1773 74 paul-mccullagh 2007-03-29
1774 Made it possible to log exceptions as warnings
1775
1776 73 paul-mccullagh 2007-03-29
1777 Added flush file
1778
1779 72 paul-mccullagh 2007-03-29
1780 Added flush file
1781
1782 71 paul-mccullagh 2007-03-29
1783 Made it possible to log exceptions as warnings
1784
1785 70 paul-mccullagh 2007-03-29
1786 Re-wrote compactor and data log usage to limit to 4 files per table
1787
1788 69 paul-mccullagh 2007-03-29
1789 Re-wrote compactor and data log usage to limit to 4 files per table
1790
1791 68 paul-mccullagh 2007-03-15
1792 Last minute release notes
1793
1794 67 paul-mccullagh 2007-03-15
1795 Return parameters are optional
1796
1797 66 paul-mccullagh 2007-03-14
1798 Switched to Windows line endings
1799
1800 65 paul-mccullagh 2007-03-14
1801 Removed debugs
1802
1803 64 paul-mccullagh 2007-03-14
1804 Set version to 0.9.85
1805
1806 63 paul-mccullagh 2007-03-14
1807 Change for compilers/platforms that have a problem with *((void **) &(v)) =
1808
1809 62 paul-mccullagh 2007-03-13
1810 Set version and reconfigure
1811
1812 61 paul-mccullagh 2007-03-13
1813 Update version
1814
1815 60 paul-mccullagh 2007-03-13
1816 comments about Windows
1817
1818 59 paul-mccullagh 2007-03-13
1819 added blog
1820
1821 58 paul-mccullagh 2007-03-13
1822 latest changes
1823
1824 57 paul-mccullagh 2007-03-13
1825 from pbxt-to-do.txt
1826
1827 56 paul-mccullagh 2007-03-13
1828 Most tests running with MySQL 5.1.16
1829
1830 55 paul-mccullagh 2007-03-13
1831 Windows build
1832
1833 54 paul-mccullagh 2007-03-13
1834 Instructions for building Windows
1835
1836 53 paul-mccullagh 2007-03-13
1837 Added checking for repeat update of a record in a statement
1838
1839 52 paul-mccullagh 2007-03-13
1840 Added checking for repeat update of a record in a statement
1841
1842 51 paul-mccullagh 2007-03-13
1843 Avoid checking for duplicates if an index is not modified by an update
1844
1845 50 paul-mccullagh 2007-03-13
1846 Added checking for repeat update of a record in a statement, committed read no longer blocks due to a change made by another transaction (XT_REPEATABLE_READ_BLOCKS define).
1847
1848 49 paul-mccullagh 2007-03-13
1849 added checking for repeat update of a record in a statement
1850
1851 48 paul-mccullagh 2007-03-13
1852 Improved speed of table lookup by ID after a table has been deleted, added checking for repeat update of a record in a statement, committed read no longer blocks due to a change made by another transaction (XT_REPEATABLE_READ_BLOCKS define), records updated repeatedly by a transaction are updated in place.
1853
1854 47 paul-mccullagh 2007-03-13
1855 Added checking for repeat update of a record
1856
1857 46 paul-mccullagh 2007-03-13
1858 added xt_sl_delete_from_info
1859
1860 45 paul-mccullagh 2007-03-13
1861 moved prototype
1862
1863 44 paul-mccullagh 2007-03-13
1864 added xt_sb_concat_char
1865
1866 43 paul-mccullagh 2007-03-13
1867 added xt_sb_concat_char
1868
1869 42 paul-mccullagh 2007-03-02
1870 Improved comments
1871
1872 41 paul-mccullagh 2007-03-02
1873 Bug fix of the bug fix
1874
1875 40 paul-mccullagh 2007-03-01
1876 Corrected hang on started - thanks Hakan\!
1877
1878 39 paul-mccullagh 2007-02-28
1879 Fixed a bug if an error occurred in external_lock()
1880
1881 38 paul-mccullagh 2007-02-28
1882 Turn off strict aliasing warning
1883
1884 37 paul-mccullagh 2007-02-28
1885 Include for Linux
1886
1887 36 paul-mccullagh 2007-02-28
1888 Misplaced #endif
1889
1890 35 paul-mccullagh 2007-02-28
1891 Added an error when index file grow too large (500 GB)
1892
1893 34 paul-mccullagh 2007-02-28
1894 Fixed index corruption when file grows to 4GB (thanks Luciano!)
1895
1896 33 paul-mccullagh 2007-02-28
1897 Corrected line endings
1898
1899 32 paul-mccullagh 2007-02-26
1900 Build and link under UNIX again
1901
1902 31 paul-mccullagh 2007-02-26
1903 Initial port to Windows
1904
1905 30 paul-mccullagh 2007-02-20
1906 Port to Windows
1907
1908 29 paul-mccullagh 2007-02-19
1909 After checking all cases, removed: -Wno-uninitialized
1910
1911 28 paul-mccullagh 2007-02-19
1912 Disabled some warnings: -Wno-unused-parameter -Wno-switch
1913
1914 27 paul-mccullagh 2007-02-19
1915 Added compile options for warnings: -Wall -Wextra -Wwrite-strings
1916
1917 26 paul-mccullagh 2007-02-19
1918 Fixed warnings that result from compiling with -Wextra
1919
1920 25 paul-mccullagh 2007-02-18
1921 Fixed warning that result from compiling with -Wall -Wwrite-strings
1922
1923 24 paul-mccullagh 2007-02-09
1924 Handle the fast mutex compile variation
1925
1926 23 paul-mccullagh 2007-02-09
1927 Corrected compile warning
1928
1929 22 paul-mccullagh 2007-02-01
1930 Removed the API trace!
1931
1932 21 paul-mccullagh 2007-01-30
1933 Changes for 0.9.8 release
1934
1935 20 paul-mccullagh 2007-01-29
1936 Updated tests to MySQL 5.1-BK
1937
1938 19 paul-mccullagh 2007-01-29
1939 Fixed a bug with the reference counting of file handles
1940
1941 18 paul-mccullagh 2007-01-24
1942 Set version number to 0.9.75
1943
1944 17 paul-mccullagh 2007-01-24
1945 Fixed compile warning on Linux
1946
1947 16 paul-mccullagh 2007-01-23
1948 RN59: Reduced the number of file handles used to a maximum of one per file. This assumes that pread() and pwrite() allows multiple threads to use the same file handle (according to my tests, this is the case).
1949
1950 RN58: Added the configure flag --with-debug=only which compiles a version of the plug-in with debug symbols that will link to an non-debug MySQL server.
1951
1952 RN57: Changed error number returned on lock from 1205 (lock timeout) to 1020 (optimistic lock failure).
1953
1954 RN56: Added UNIX environment variable for PBXT system parameters. These must be set before starting mysqld, for example:
1955
1956 setenv pbxt_index_cache_size 400MB
1957 setenv pbxt_record_cache_size "1 GB"
1958
1959 Values are in bytes unless one of the following units is specified: GB, MB, Kb
1960
1961 RN55: Fixed a bug which prevented VARCHAR values from being compressed correctly when stored in variable length rows.
1962
1963 RN54: Fixed a bug which caused a crash when PBXT was used with MySQL 5.1.14. This bug also caused data to be corrupted on insert.
1964
1965 15 paul-mccullagh 2006-12-18
1966 Set query caching mode to transactional, Added conditions so that the engine compiles with MySQL 5.1.14 and 5.1.13
1967
1968 14 paul-mccullagh 2006-12-15
1969 Corrected makefile and non-debug compile errors
1970
1971 13 paul-mccullagh 2006-12-15
1972 Corrected makefile and non-debug compile errors
1973
1974 12 paul-mccullagh 2006-12-14
1975 Added foreign key test for PBXT
1976
1977 11 paul-mccullagh 2006-12-14
1978 Implemented foreign keys and fixed some bugs (RN47 - RN51)
1979
1980 10 paul-mccullagh 2006-12-14
1981 I have reported this problem as MySQL Bug #25062
1982
1983 9 paul-mccullagh 2006-12-14
1984 Corrected release date
1985
1986 8 paul-mccullagh 2006-12-14
1987 Implemented foreign keys and fixed some bugs (RN47 - RN51)
1988
1989 7 paul-mccullagh 2006-10-31
1990 RN47: Modified make dist so that the mysql-test-update folder is shipped
1991
1992 6 paul-mccullagh 2006-10-31
1993 RN47: Modified make dist so that the mysql-test-update folder is shipped
1994
1995 5 paul-mccullagh 2006-10-31
1996 RN47: Modified make dist so that the mysql-test-update folder is shipped
1997
1998 4 paul-mccullagh 2006-10-31
1999 RN46: Update test scripts to run with MySQL 5.1.13
2000
2001 3 paul-mccullagh 2006-10-31
2002 RN46: Update test scripts to run with MySQL 5.1.13
2003
2004 2 paul-mccullagh 2006-10-31
2005 RN46: Update test scripts to run with MySQL 5.1.13
2006
2007 1 paul-mccullagh 2006-10-23
2008 Initial import
7252009
7262010
=== modified file 'INSTALL'
--- INSTALL 2008-09-04 10:04:27 +0000
+++ INSTALL 2009-07-27 22:39:29 +0000
@@ -1,8 +1,8 @@
1Installation Instructions1Installation Instructions
2*************************2*************************
33
4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5Software Foundation, Inc.52006, 2007 Free Software Foundation, Inc.
66
7This file is free documentation; the Free Software Foundation gives7This file is free documentation; the Free Software Foundation gives
8unlimited permission to copy, distribute and modify it.8unlimited permission to copy, distribute and modify it.
@@ -10,7 +10,10 @@
10Basic Installation10Basic Installation
11==================11==================
1212
13These are generic installation instructions.13Briefly, the shell commands `./configure; make; make install' should
14configure, build, and install this package. The following
15more-detailed instructions are generic; see the `README' file for
16instructions specific to this package.
1417
15 The `configure' shell script attempts to guess correct values for18 The `configure' shell script attempts to guess correct values for
16various system-dependent variables used during compilation. It uses19various system-dependent variables used during compilation. It uses
@@ -23,9 +26,9 @@
2326
24 It can also use an optional file (typically called `config.cache'27 It can also use an optional file (typically called `config.cache'
25and enabled with `--cache-file=config.cache' or simply `-C') that saves28and enabled with `--cache-file=config.cache' or simply `-C') that saves
26the results of its tests to speed up reconfiguring. (Caching is29the results of its tests to speed up reconfiguring. Caching is
27disabled by default to prevent problems with accidental use of stale30disabled by default to prevent problems with accidental use of stale
28cache files.)31cache files.
2932
30 If you need to do unusual things to compile the package, please try33 If you need to do unusual things to compile the package, please try
31to figure out how `configure' could check whether to do them, and mail34to figure out how `configure' could check whether to do them, and mail
@@ -35,20 +38,17 @@
35may remove or edit it.38may remove or edit it.
3639
37 The file `configure.ac' (or `configure.in') is used to create40 The file `configure.ac' (or `configure.in') is used to create
38`configure' by a program called `autoconf'. You only need41`configure' by a program called `autoconf'. You need `configure.ac' if
39`configure.ac' if you want to change it or regenerate `configure' using42you want to change it or regenerate `configure' using a newer version
40a newer version of `autoconf'.43of `autoconf'.
4144
42The simplest way to compile this package is:45The simplest way to compile this package is:
4346
44 1. `cd' to the directory containing the package's source code and type47 1. `cd' to the directory containing the package's source code and type
45 `./configure' to configure the package for your system. If you're48 `./configure' to configure the package for your system.
46 using `csh' on an old version of System V, you might need to type
47 `sh ./configure' instead to prevent `csh' from trying to execute
48 `configure' itself.
4949
50 Running `configure' takes awhile. While running, it prints some50 Running `configure' might take a while. While running, it prints
51 messages telling which features it is checking for.51 some messages telling which features it is checking for.
5252
53 2. Type `make' to compile the package.53 2. Type `make' to compile the package.
5454
@@ -67,6 +67,9 @@
67 all sorts of other programs in order to regenerate files that came67 all sorts of other programs in order to regenerate files that came
68 with the distribution.68 with the distribution.
6969
70 6. Often, you can also type `make uninstall' to remove the installed
71 files again.
72
70Compilers and Options73Compilers and Options
71=====================74=====================
7275
@@ -78,7 +81,7 @@
78by setting variables in the command line or in the environment. Here81by setting variables in the command line or in the environment. Here
79is an example:82is an example:
8083
81 ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix84 ./configure CC=c99 CFLAGS=-g LIBS=-lposix
8285
83 *Note Defining Variables::, for more details.86 *Note Defining Variables::, for more details.
8487
@@ -87,17 +90,15 @@
8790
88You can compile the package for more than one kind of computer at the91You can compile the package for more than one kind of computer at the
89same time, by placing the object files for each architecture in their92same time, by placing the object files for each architecture in their
90own directory. To do this, you must use a version of `make' that93own directory. To do this, you can use GNU `make'. `cd' to the
91supports the `VPATH' variable, such as GNU `make'. `cd' to the
92directory where you want the object files and executables to go and run94directory where you want the object files and executables to go and run
93the `configure' script. `configure' automatically checks for the95the `configure' script. `configure' automatically checks for the
94source code in the directory that `configure' is in and in `..'.96source code in the directory that `configure' is in and in `..'.
9597
96 If you have to use a `make' that does not support the `VPATH'98 With a non-GNU `make', it is safer to compile the package for one
97variable, you have to compile the package for one architecture at a99architecture at a time in the source code directory. After you have
98time in the source code directory. After you have installed the100installed the package for one architecture, use `make distclean' before
99package for one architecture, use `make distclean' before reconfiguring101reconfiguring for another architecture.
100for another architecture.
101102
102Installation Names103Installation Names
103==================104==================
@@ -190,12 +191,12 @@
190 ./configure CC=/usr/local2/bin/gcc191 ./configure CC=/usr/local2/bin/gcc
191192
192causes the specified `gcc' to be used as the C compiler (unless it is193causes the specified `gcc' to be used as the C compiler (unless it is
193overridden in the site shell script). Here is a another example:194overridden in the site shell script).
194195
195 /bin/bash ./configure CONFIG_SHELL=/bin/bash196Unfortunately, this technique does not work for `CONFIG_SHELL' due to
196197an Autoconf bug. Until the bug is fixed you can use this workaround:
197Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent198
198configuration-related scripts to be executed by `/bin/bash'.199 CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
199200
200`configure' Invocation201`configure' Invocation
201======================202======================
202203
=== modified file 'Makefile.in'
--- Makefile.in 2009-05-14 20:32:49 +0000
+++ Makefile.in 2009-07-27 22:39:29 +0000
@@ -1,8 +1,8 @@
1# Makefile.in generated by automake 1.10 from Makefile.am.1# Makefile.in generated by automake 1.10.1 from Makefile.am.
2# @configure_input@2# @configure_input@
33
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.5# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
6# This Makefile.in is free software; the Free Software Foundation6# This Makefile.in is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it,7# gives unlimited permission to copy and/or distribute it,
8# with or without modifications, as long as this notice is preserved.8# with or without modifications, as long as this notice is preserved.
@@ -92,6 +92,7 @@
92CYGPATH_W = @CYGPATH_W@92CYGPATH_W = @CYGPATH_W@
93DEFS = @DEFS@93DEFS = @DEFS@
94DEPDIR = @DEPDIR@94DEPDIR = @DEPDIR@
95DSYMUTIL = @DSYMUTIL@
95ECHO = @ECHO@96ECHO = @ECHO@
96ECHO_C = @ECHO_C@97ECHO_C = @ECHO_C@
97ECHO_N = @ECHO_N@98ECHO_N = @ECHO_N@
@@ -117,6 +118,7 @@
117LTLIBOBJS = @LTLIBOBJS@118LTLIBOBJS = @LTLIBOBJS@
118MAKEINFO = @MAKEINFO@119MAKEINFO = @MAKEINFO@
119MKDIR_P = @MKDIR_P@120MKDIR_P = @MKDIR_P@
121NMEDIT = @NMEDIT@
120OBJEXT = @OBJEXT@122OBJEXT = @OBJEXT@
121PACKAGE = @PACKAGE@123PACKAGE = @PACKAGE@
122PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@124PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -180,6 +182,7 @@
180srcdir = @srcdir@182srcdir = @srcdir@
181sysconfdir = @sysconfdir@183sysconfdir = @sysconfdir@
182target_alias = @target_alias@184target_alias = @target_alias@
185top_build_prefix = @top_build_prefix@
183top_builddir = @top_builddir@186top_builddir = @top_builddir@
184top_srcdir = @top_srcdir@187top_srcdir = @top_srcdir@
185INCLUDES = 188INCLUDES =
@@ -324,8 +327,8 @@
324 unique=`for i in $$list; do \327 unique=`for i in $$list; do \
325 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \328 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
326 done | \329 done | \
327 $(AWK) ' { files[$$0] = 1; } \330 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
328 END { for (i in files) print i; }'`; \331 END { if (nonempty) { for (i in files) print i; }; }'`; \
329 mkid -fID $$unique332 mkid -fID $$unique
330tags: TAGS333tags: TAGS
331334
@@ -350,8 +353,8 @@
350 unique=`for i in $$list; do \353 unique=`for i in $$list; do \
351 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \354 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
352 done | \355 done | \
353 $(AWK) ' { files[$$0] = 1; } \356 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
354 END { for (i in files) print i; }'`; \357 END { if (nonempty) { for (i in files) print i; }; }'`; \
355 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \358 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
356 test -n "$$unique" || unique=$$empty_fix; \359 test -n "$$unique" || unique=$$empty_fix; \
357 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \360 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -361,13 +364,12 @@
361CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \364CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
362 $(TAGS_FILES) $(LISP)365 $(TAGS_FILES) $(LISP)
363 tags=; \366 tags=; \
364 here=`pwd`; \
365 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \367 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
366 unique=`for i in $$list; do \368 unique=`for i in $$list; do \
367 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \369 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
368 done | \370 done | \
369 $(AWK) ' { files[$$0] = 1; } \371 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
370 END { for (i in files) print i; }'`; \372 END { if (nonempty) { for (i in files) print i; }; }'`; \
371 test -z "$(CTAGS_ARGS)$$tags$$unique" \373 test -z "$(CTAGS_ARGS)$$tags$$unique" \
372 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \374 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
373 $$tags $$unique375 $$tags $$unique
@@ -438,6 +440,10 @@
438 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2440 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
439 $(am__remove_distdir)441 $(am__remove_distdir)
440442
443dist-lzma: distdir
444 tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
445 $(am__remove_distdir)
446
441dist-tarZ: distdir447dist-tarZ: distdir
442 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z448 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
443 $(am__remove_distdir)449 $(am__remove_distdir)
@@ -464,6 +470,8 @@
464 GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\470 GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
465 *.tar.bz2*) \471 *.tar.bz2*) \
466 bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\472 bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
473 *.tar.lzma*) \
474 unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
467 *.tar.Z*) \475 *.tar.Z*) \
468 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\476 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
469 *.shar.gz*) \477 *.shar.gz*) \
@@ -615,8 +623,8 @@
615.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \623.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
616 all all-am am--refresh check check-am clean clean-generic \624 all all-am am--refresh check check-am clean clean-generic \
617 clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \625 clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
618 dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \626 dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
619 distclean-generic distclean-hdr distclean-libtool \627 distclean distclean-generic distclean-hdr distclean-libtool \
620 distclean-tags distcleancheck distdir distuninstallcheck dvi \628 distclean-tags distcleancheck distdir distuninstallcheck dvi \
621 dvi-am html html-am info info-am install install-am \629 dvi-am html html-am info info-am install install-am \
622 install-data install-data-am install-dvi install-dvi-am \630 install-data install-data-am install-dvi install-dvi-am \
623631
=== modified file 'aclocal.m4'
--- aclocal.m4 2009-05-14 20:32:49 +0000
+++ aclocal.m4 2009-07-27 22:39:29 +0000
@@ -1,7 +1,7 @@
1# generated automatically by aclocal 1.10 -*- Autoconf -*-1# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
22
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4# 2005, 2006 Free Software Foundation, Inc.4# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5# This file is free software; the Free Software Foundation5# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.7# with or without modifications, as long as this notice is preserved.
@@ -11,14 +11,17 @@
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.12# PARTICULAR PURPOSE.
1313
14m4_if(m4_PACKAGE_VERSION, [2.61],,14m4_ifndef([AC_AUTOCONF_VERSION],
15[m4_fatal([this file was generated for autoconf 2.61.15 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16You have another version of autoconf. If you want to use that,16m4_if(AC_AUTOCONF_VERSION, [2.63],,
17you should regenerate the build system entirely.], [63])])17[m4_warning([this file was generated for autoconf 2.63.
18You have another version of autoconf. It may work, but is not guaranteed to.
19If you have problems, you may need to regenerate the build system entirely.
20To do so, use the procedure documented by the package, typically `autoreconf'.])])
1821
19# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-22# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2023
21# serial 51 AC_PROG_LIBTOOL24# serial 52 AC_PROG_LIBTOOL
2225
2326
24# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)27# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -106,7 +109,6 @@
106AC_REQUIRE([AC_OBJEXT])dnl109AC_REQUIRE([AC_OBJEXT])dnl
107AC_REQUIRE([AC_EXEEXT])dnl110AC_REQUIRE([AC_EXEEXT])dnl
108dnl111dnl
109
110AC_LIBTOOL_SYS_MAX_CMD_LEN112AC_LIBTOOL_SYS_MAX_CMD_LEN
111AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE113AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
112AC_LIBTOOL_OBJDIR114AC_LIBTOOL_OBJDIR
@@ -208,6 +210,8 @@
208 ;;210 ;;
209esac211esac
210212
213_LT_REQUIRED_DARWIN_CHECKS
214
211AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)215AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
212AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],216AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
213enable_win32_dll=yes, enable_win32_dll=no)217enable_win32_dll=yes, enable_win32_dll=no)
@@ -287,9 +291,80 @@
287echo "$lt_simple_link_test_code" >conftest.$ac_ext291echo "$lt_simple_link_test_code" >conftest.$ac_ext
288eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err292eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
289_lt_linker_boilerplate=`cat conftest.err`293_lt_linker_boilerplate=`cat conftest.err`
290$rm conftest*294$rm -r conftest*
291])# _LT_LINKER_BOILERPLATE295])# _LT_LINKER_BOILERPLATE
292296
297# _LT_REQUIRED_DARWIN_CHECKS
298# --------------------------
299# Check for some things on darwin
300AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
301 case $host_os in
302 rhapsody* | darwin*)
303 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
304 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
305
306 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
307 [lt_cv_apple_cc_single_mod=no
308 if test -z "${LT_MULTI_MODULE}"; then
309 # By default we will add the -single_module flag. You can override
310 # by either setting the environment variable LT_MULTI_MODULE
311 # non-empty at configure time, or by adding -multi_module to the
312 # link flags.
313 echo "int foo(void){return 1;}" > conftest.c
314 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
315 -dynamiclib ${wl}-single_module conftest.c
316 if test -f libconftest.dylib; then
317 lt_cv_apple_cc_single_mod=yes
318 rm -rf libconftest.dylib*
319 fi
320 rm conftest.c
321 fi])
322 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
323 [lt_cv_ld_exported_symbols_list],
324 [lt_cv_ld_exported_symbols_list=no
325 save_LDFLAGS=$LDFLAGS
326 echo "_main" > conftest.sym
327 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
328 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
329 [lt_cv_ld_exported_symbols_list=yes],
330 [lt_cv_ld_exported_symbols_list=no])
331 LDFLAGS="$save_LDFLAGS"
332 ])
333 case $host_os in
334 rhapsody* | darwin1.[[0123]])
335 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
336 darwin1.*)
337 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
338 darwin*)
339 # if running on 10.5 or later, the deployment target defaults
340 # to the OS version, if on x86, and 10.4, the deployment
341 # target defaults to 10.4. Don't you love it?
342 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
343 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
344 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
345 10.[[012]]*)
346 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
347 10.*)
348 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
349 esac
350 ;;
351 esac
352 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
353 _lt_dar_single_mod='$single_module'
354 fi
355 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
356 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
357 else
358 _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
359 fi
360 if test "$DSYMUTIL" != ":"; then
361 _lt_dsymutil="~$DSYMUTIL \$lib || :"
362 else
363 _lt_dsymutil=
364 fi
365 ;;
366 esac
367])
293368
294# _LT_AC_SYS_LIBPATH_AIX369# _LT_AC_SYS_LIBPATH_AIX
295# ----------------------370# ----------------------
@@ -614,7 +689,11 @@
614 *64-bit*)689 *64-bit*)
615 case $lt_cv_prog_gnu_ld in690 case $lt_cv_prog_gnu_ld in
616 yes*) LD="${LD-ld} -m elf64_sparc" ;;691 yes*) LD="${LD-ld} -m elf64_sparc" ;;
617 *) LD="${LD-ld} -64" ;;692 *)
693 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
694 LD="${LD-ld} -64"
695 fi
696 ;;
618 esac697 esac
619 ;;698 ;;
620 esac699 esac
@@ -707,7 +786,7 @@
707 $2=yes786 $2=yes
708 fi787 fi
709 fi788 fi
710 $rm conftest*789 $rm -r conftest*
711 LDFLAGS="$save_LDFLAGS"790 LDFLAGS="$save_LDFLAGS"
712])791])
713792
@@ -978,7 +1057,7 @@
978 AC_CHECK_FUNC([shl_load],1057 AC_CHECK_FUNC([shl_load],
979 [lt_cv_dlopen="shl_load"],1058 [lt_cv_dlopen="shl_load"],
980 [AC_CHECK_LIB([dld], [shl_load],1059 [AC_CHECK_LIB([dld], [shl_load],
981 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],1060 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
982 [AC_CHECK_FUNC([dlopen],1061 [AC_CHECK_FUNC([dlopen],
983 [lt_cv_dlopen="dlopen"],1062 [lt_cv_dlopen="dlopen"],
984 [AC_CHECK_LIB([dl], [dlopen],1063 [AC_CHECK_LIB([dl], [dlopen],
@@ -986,7 +1065,7 @@
986 [AC_CHECK_LIB([svld], [dlopen],1065 [AC_CHECK_LIB([svld], [dlopen],
987 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],1066 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
988 [AC_CHECK_LIB([dld], [dld_link],1067 [AC_CHECK_LIB([dld], [dld_link],
989 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])1068 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
990 ])1069 ])
991 ])1070 ])
992 ])1071 ])
@@ -1303,7 +1382,7 @@
1303 soname_spec='${libname}${release}${shared_ext}$major'1382 soname_spec='${libname}${release}${shared_ext}$major'
1304 ;;1383 ;;
13051384
1306aix4* | aix5*)1385aix[[4-9]]*)
1307 version_type=linux1386 version_type=linux
1308 need_lib_prefix=no1387 need_lib_prefix=no
1309 need_version=no1388 need_version=no
@@ -1824,6 +1903,13 @@
1824AC_MSG_RESULT([$dynamic_linker])1903AC_MSG_RESULT([$dynamic_linker])
1825test "$dynamic_linker" = no && can_build_shared=no1904test "$dynamic_linker" = no && can_build_shared=no
18261905
1906AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
1907[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
1908sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
1909AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
1910[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
1911sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
1912
1827variables_saved_for_relink="PATH $shlibpath_var $runpath_var"1913variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
1828if test "$GCC" = yes; then1914if test "$GCC" = yes; then
1829 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"1915 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
@@ -2323,7 +2409,7 @@
2323# whether `pass_all' will *always* work, you probably want this one.2409# whether `pass_all' will *always* work, you probably want this one.
23242410
2325case $host_os in2411case $host_os in
2326aix4* | aix5*)2412aix[[4-9]]*)
2327 lt_cv_deplibs_check_method=pass_all2413 lt_cv_deplibs_check_method=pass_all
2328 ;;2414 ;;
23292415
@@ -2759,7 +2845,7 @@
2759 fi2845 fi
2760 ;;2846 ;;
27612847
2762aix4* | aix5*)2848aix[[4-9]]*)
2763 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then2849 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2764 test "$enable_shared" = yes && enable_static=no2850 test "$enable_shared" = yes && enable_static=no
2765 fi2851 fi
@@ -2816,6 +2902,7 @@
2816_LT_AC_TAGVAR(predeps, $1)=2902_LT_AC_TAGVAR(predeps, $1)=
2817_LT_AC_TAGVAR(postdeps, $1)=2903_LT_AC_TAGVAR(postdeps, $1)=
2818_LT_AC_TAGVAR(compiler_lib_search_path, $1)=2904_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
2905_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
28192906
2820# Source file extension for C++ test sources.2907# Source file extension for C++ test sources.
2821ac_ext=cpp2908ac_ext=cpp
@@ -2925,7 +3012,7 @@
2925 # FIXME: insert proper C++ library support3012 # FIXME: insert proper C++ library support
2926 _LT_AC_TAGVAR(ld_shlibs, $1)=no3013 _LT_AC_TAGVAR(ld_shlibs, $1)=no
2927 ;;3014 ;;
2928 aix4* | aix5*)3015 aix[[4-9]]*)
2929 if test "$host_cpu" = ia64; then3016 if test "$host_cpu" = ia64; then
2930 # On IA64, the linker does run time linking by default, so we don't3017 # On IA64, the linker does run time linking by default, so we don't
2931 # have to do anything special.3018 # have to do anything special.
@@ -2938,7 +3025,7 @@
2938 # Test if we are trying to use run time linking or normal3025 # Test if we are trying to use run time linking or normal
2939 # AIX style linking. If -brtl is somewhere in LDFLAGS, we3026 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
2940 # need to do runtime linking.3027 # need to do runtime linking.
2941 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)3028 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
2942 for ld_flag in $LDFLAGS; do3029 for ld_flag in $LDFLAGS; do
2943 case $ld_flag in3030 case $ld_flag in
2944 *-brtl*)3031 *-brtl*)
@@ -3084,51 +3171,23 @@
3084 fi3171 fi
3085 ;;3172 ;;
3086 darwin* | rhapsody*)3173 darwin* | rhapsody*)
3087 case $host_os in
3088 rhapsody* | darwin1.[[012]])
3089 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
3090 ;;
3091 *) # Darwin 1.3 on
3092 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
3093 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3094 else
3095 case ${MACOSX_DEPLOYMENT_TARGET} in
3096 10.[[012]])
3097 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3098 ;;
3099 10.*)
3100 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
3101 ;;
3102 esac
3103 fi
3104 ;;
3105 esac
3106 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no3174 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3107 _LT_AC_TAGVAR(hardcode_direct, $1)=no3175 _LT_AC_TAGVAR(hardcode_direct, $1)=no
3108 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes3176 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
3109 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported3177 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3110 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''3178 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
3111 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes3179 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
31123180 _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
3113 if test "$GXX" = yes ; then3181 if test "$GXX" = yes ; then
3114 lt_int_apple_cc_single_mod=no
3115 output_verbose_link_cmd='echo'3182 output_verbose_link_cmd='echo'
3116 if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then3183 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
3117 lt_int_apple_cc_single_mod=yes3184 _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
3185 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
3186 _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
3187 if test "$lt_cv_apple_cc_single_mod" != "yes"; then
3188 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
3189 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
3118 fi3190 fi
3119 if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3120 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3121 else
3122 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3123 fi
3124 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3125 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3126 if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3127 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3128 else
3129 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3130 fi
3131 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3132 else3191 else
3133 case $cc_basename in3192 case $cc_basename in
3134 xlc*)3193 xlc*)
@@ -3379,7 +3438,7 @@
3379 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'3438 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3380 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'3439 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
3381 ;;3440 ;;
3382 pgCC*)3441 pgCC* | pgcpp*)
3383 # Portland Group C++ compiler3442 # Portland Group C++ compiler
3384 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'3443 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
3385 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'3444 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
@@ -3814,7 +3873,8 @@
3814# compiler output when linking a shared library.3873# compiler output when linking a shared library.
3815# Parse the compiler output and extract the necessary3874# Parse the compiler output and extract the necessary
3816# objects, libraries and library flags.3875# objects, libraries and library flags.
3817AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[3876AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
3877[AC_REQUIRE([LT_AC_PROG_SED])dnl
3818dnl we can't use the lt_simple_compile_test_code here,3878dnl we can't use the lt_simple_compile_test_code here,
3819dnl because it contains code intended for an executable,3879dnl because it contains code intended for an executable,
3820dnl not a library. It's possible we should let each3880dnl not a library. It's possible we should let each
@@ -3939,6 +3999,11 @@
39393999
3940$rm -f confest.$objext4000$rm -f confest.$objext
39414001
4002_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
4003if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
4004 _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
4005fi
4006
3942# PORTME: override above test on systems where it is broken4007# PORTME: override above test on systems where it is broken
3943ifelse([$1],[CXX],4008ifelse([$1],[CXX],
3944[case $host_os in4009[case $host_os in
@@ -3995,7 +4060,6 @@
3995 ;;4060 ;;
3996esac4061esac
3997])4062])
3998
3999case " $_LT_AC_TAGVAR(postdeps, $1) " in4063case " $_LT_AC_TAGVAR(postdeps, $1) " in
4000*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;4064*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
4001esac4065esac
@@ -4080,7 +4144,7 @@
4080 postinstall_cmds='$RANLIB $lib'4144 postinstall_cmds='$RANLIB $lib'
4081 fi4145 fi
4082 ;;4146 ;;
4083aix4* | aix5*)4147aix[[4-9]]*)
4084 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then4148 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
4085 test "$enable_shared" = yes && enable_static=no4149 test "$enable_shared" = yes && enable_static=no
4086 fi4150 fi
@@ -4257,6 +4321,7 @@
4257 _LT_AC_TAGVAR(predeps, $1) \4321 _LT_AC_TAGVAR(predeps, $1) \
4258 _LT_AC_TAGVAR(postdeps, $1) \4322 _LT_AC_TAGVAR(postdeps, $1) \
4259 _LT_AC_TAGVAR(compiler_lib_search_path, $1) \4323 _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
4324 _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
4260 _LT_AC_TAGVAR(archive_cmds, $1) \4325 _LT_AC_TAGVAR(archive_cmds, $1) \
4261 _LT_AC_TAGVAR(archive_expsym_cmds, $1) \4326 _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
4262 _LT_AC_TAGVAR(postinstall_cmds, $1) \4327 _LT_AC_TAGVAR(postinstall_cmds, $1) \
@@ -4319,7 +4384,7 @@
4319# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)4384# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
4320# NOTE: Changes made to this file will be lost: look at ltmain.sh.4385# NOTE: Changes made to this file will be lost: look at ltmain.sh.
4321#4386#
4322# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 20074387# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4323# Free Software Foundation, Inc.4388# Free Software Foundation, Inc.
4324#4389#
4325# This file is part of GNU Libtool:4390# This file is part of GNU Libtool:
@@ -4556,6 +4621,10 @@
4556# shared library.4621# shared library.
4557postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)4622postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
45584623
4624# The directories searched by this compiler when creating a shared
4625# library
4626compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
4627
4559# The library search path used internally by the compiler when linking4628# The library search path used internally by the compiler when linking
4560# a shared library.4629# a shared library.
4561compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)4630compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
@@ -4905,7 +4974,7 @@
4905 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD4974 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4906 cat conftest.$ac_ext >&54975 cat conftest.$ac_ext >&5
4907 fi4976 fi
4908 rm -f conftest* conftst*4977 rm -rf conftest* conftst*
49094978
4910 # Do not use the global_symbol_pipe unless it works.4979 # Do not use the global_symbol_pipe unless it works.
4911 if test "$pipe_works" = yes; then4980 if test "$pipe_works" = yes; then
@@ -4962,7 +5031,8 @@
4962 # built for inclusion in a dll (and should export symbols for example).5031 # built for inclusion in a dll (and should export symbols for example).
4963 # Although the cygwin gcc ignores -fPIC, still need this for old-style5032 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4964 # (--disable-auto-import) libraries5033 # (--disable-auto-import) libraries
4965 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'5034 m4_if([$1], [GCJ], [],
5035 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4966 ;;5036 ;;
4967 darwin* | rhapsody*)5037 darwin* | rhapsody*)
4968 # PIC is the default on this platform5038 # PIC is the default on this platform
@@ -4999,7 +5069,7 @@
4999 esac5069 esac
5000 else5070 else
5001 case $host_os in5071 case $host_os in
5002 aix4* | aix5*)5072 aix[[4-9]]*)
5003 # All AIX code is PIC.5073 # All AIX code is PIC.
5004 if test "$host_cpu" = ia64; then5074 if test "$host_cpu" = ia64; then
5005 # AIX 5 now supports IA64 processor5075 # AIX 5 now supports IA64 processor
@@ -5095,7 +5165,7 @@
5095 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'5165 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5096 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'5166 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5097 ;;5167 ;;
5098 pgCC*)5168 pgCC* | pgcpp*)
5099 # Portland Group C++ compiler.5169 # Portland Group C++ compiler.
5100 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'5170 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5101 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'5171 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
@@ -5246,7 +5316,8 @@
5246 # built for inclusion in a dll (and should export symbols for example).5316 # built for inclusion in a dll (and should export symbols for example).
5247 # Although the cygwin gcc ignores -fPIC, still need this for old-style5317 # Although the cygwin gcc ignores -fPIC, still need this for old-style
5248 # (--disable-auto-import) libraries5318 # (--disable-auto-import) libraries
5249 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'5319 m4_if([$1], [GCJ], [],
5320 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
5250 ;;5321 ;;
52515322
5252 darwin* | rhapsody*)5323 darwin* | rhapsody*)
@@ -5316,7 +5387,8 @@
5316 mingw* | cygwin* | pw32* | os2*)5387 mingw* | cygwin* | pw32* | os2*)
5317 # This hack is so that the source file can tell whether it is being5388 # This hack is so that the source file can tell whether it is being
5318 # built for inclusion in a dll (and should export symbols for example).5389 # built for inclusion in a dll (and should export symbols for example).
5319 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'5390 m4_if([$1], [GCJ], [],
5391 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
5320 ;;5392 ;;
53215393
5322 hpux9* | hpux10* | hpux11*)5394 hpux9* | hpux10* | hpux11*)
@@ -5453,7 +5525,7 @@
5453#5525#
5454if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then5526if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
5455 AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],5527 AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
5456 _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),5528 _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
5457 [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],5529 [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
5458 [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in5530 [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
5459 "" | " "*) ;;5531 "" | " "*) ;;
@@ -5477,7 +5549,7 @@
5477#5549#
5478wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"5550wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
5479AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],5551AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5480 _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),5552 _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
5481 $lt_tmp_static_flag,5553 $lt_tmp_static_flag,
5482 [],5554 [],
5483 [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])5555 [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
@@ -5493,7 +5565,7 @@
5493ifelse([$1],[CXX],[5565ifelse([$1],[CXX],[
5494 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'5566 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5495 case $host_os in5567 case $host_os in
5496 aix4* | aix5*)5568 aix[[4-9]]*)
5497 # If we're using GNU nm, then we don't want the "-C" option.5569 # If we're using GNU nm, then we don't want the "-C" option.
5498 # -C means demangle to AIX nm, but means don't demangle with GNU nm5570 # -C means demangle to AIX nm, but means don't demangle with GNU nm
5499 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then5571 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
@@ -5512,6 +5584,7 @@
5512 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'5584 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5513 ;;5585 ;;
5514 esac5586 esac
5587 _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5515],[5588],[
5516 runpath_var=5589 runpath_var=
5517 _LT_AC_TAGVAR(allow_undefined_flag, $1)=5590 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
@@ -5542,12 +5615,14 @@
5542 # it will be wrapped by ` (' and `)$', so one must not match beginning or5615 # it will be wrapped by ` (' and `)$', so one must not match beginning or
5543 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',5616 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
5544 # as well as any symbol that contains `d'.5617 # as well as any symbol that contains `d'.
5545 _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"5618 _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5546 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out5619 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
5547 # platforms (ab)use it in PIC code, but their linkers get confused if5620 # platforms (ab)use it in PIC code, but their linkers get confused if
5548 # the symbol is explicitly referenced. Since portable code cannot5621 # the symbol is explicitly referenced. Since portable code cannot
5549 # rely on this symbol name, it's probably fine to never include it in5622 # rely on this symbol name, it's probably fine to never include it in
5550 # preloaded symbol tables.5623 # preloaded symbol tables.
5624 # Exclude shared library initialization/finalization symbols.
5625dnl Note also adjust exclude_expsyms for C++ above.
5551 extract_expsyms_cmds=5626 extract_expsyms_cmds=
5552 # Just being paranoid about ensuring that cc_basename is set.5627 # Just being paranoid about ensuring that cc_basename is set.
5553 _LT_CC_BASENAME([$compiler])5628 _LT_CC_BASENAME([$compiler])
@@ -5597,7 +5672,7 @@
55975672
5598 # See if GNU ld supports shared libraries.5673 # See if GNU ld supports shared libraries.
5599 case $host_os in5674 case $host_os in
5600 aix3* | aix4* | aix5*)5675 aix[[3-9]]*)
5601 # On AIX/PPC, the GNU linker is very broken5676 # On AIX/PPC, the GNU linker is very broken
5602 if test "$host_cpu" != ia64; then5677 if test "$host_cpu" != ia64; then
5603 _LT_AC_TAGVAR(ld_shlibs, $1)=no5678 _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -5816,7 +5891,7 @@
5816 fi5891 fi
5817 ;;5892 ;;
58185893
5819 aix4* | aix5*)5894 aix[[4-9]]*)
5820 if test "$host_cpu" = ia64; then5895 if test "$host_cpu" = ia64; then
5821 # On IA64, the linker does run time linking by default, so we don't5896 # On IA64, the linker does run time linking by default, so we don't
5822 # have to do anything special.5897 # have to do anything special.
@@ -5836,7 +5911,7 @@
5836 # Test if we are trying to use run time linking or normal5911 # Test if we are trying to use run time linking or normal
5837 # AIX style linking. If -brtl is somewhere in LDFLAGS, we5912 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5838 # need to do runtime linking.5913 # need to do runtime linking.
5839 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)5914 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5840 for ld_flag in $LDFLAGS; do5915 for ld_flag in $LDFLAGS; do
5841 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then5916 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5842 aix_use_runtimelinking=yes5917 aix_use_runtimelinking=yes
@@ -5969,25 +6044,7 @@
5969 ;;6044 ;;
59706045
5971 darwin* | rhapsody*)6046 darwin* | rhapsody*)
5972 case $host_os in6047 _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
5973 rhapsody* | darwin1.[[012]])
5974 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
5975 ;;
5976 *) # Darwin 1.3 on
5977 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
5978 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5979 else
5980 case ${MACOSX_DEPLOYMENT_TARGET} in
5981 10.[[012]])
5982 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5983 ;;
5984 10.*)
5985 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
5986 ;;
5987 esac
5988 fi
5989 ;;
5990 esac
5991 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no6048 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5992 _LT_AC_TAGVAR(hardcode_direct, $1)=no6049 _LT_AC_TAGVAR(hardcode_direct, $1)=no
5993 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes6050 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
@@ -5996,11 +6053,10 @@
5996 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes6053 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5997 if test "$GCC" = yes ; then6054 if test "$GCC" = yes ; then
5998 output_verbose_link_cmd='echo'6055 output_verbose_link_cmd='echo'
5999 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'6056 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
6000 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'6057 _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
6001 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds6058 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
6002 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'6059 _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
6003 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
6004 else6060 else
6005 case $cc_basename in6061 case $cc_basename in
6006 xlc*)6062 xlc*)
@@ -6581,7 +6637,7 @@
6581AC_MSG_RESULT([$SED])6637AC_MSG_RESULT([$SED])
6582])6638])
65836639
6584# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.6640# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
6585#6641#
6586# This file is free software; the Free Software Foundation6642# This file is free software; the Free Software Foundation
6587# gives unlimited permission to copy and/or distribute it,6643# gives unlimited permission to copy and/or distribute it,
@@ -6596,7 +6652,7 @@
6596[am__api_version='1.10'6652[am__api_version='1.10'
6597dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to6653dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
6598dnl require some minimum version. Point them to the right macro.6654dnl require some minimum version. Point them to the right macro.
6599m4_if([$1], [1.10], [],6655m4_if([$1], [1.10.1], [],
6600 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl6656 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
6601])6657])
66026658
@@ -6612,8 +6668,10 @@
6612# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.6668# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
6613# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.6669# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
6614AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],6670AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
6615[AM_AUTOMAKE_VERSION([1.10])dnl6671[AM_AUTOMAKE_VERSION([1.10.1])dnl
6616_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])6672m4_ifndef([AC_AUTOCONF_VERSION],
6673 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
6674_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
66176675
6618# AM_AUX_DIR_EXPAND -*- Autoconf -*-6676# AM_AUX_DIR_EXPAND -*- Autoconf -*-
66196677
@@ -6885,7 +6943,7 @@
6885 # each Makefile.in and add a new line on top of each file to say so.6943 # each Makefile.in and add a new line on top of each file to say so.
6886 # Grep'ing the whole file is not good either: AIX grep has a line6944 # Grep'ing the whole file is not good either: AIX grep has a line
6887 # limit of 2048, but all sed's we know have understand at least 4000.6945 # limit of 2048, but all sed's we know have understand at least 4000.
6888 if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then6946 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
6889 dirpart=`AS_DIRNAME("$mf")`6947 dirpart=`AS_DIRNAME("$mf")`
6890 else6948 else
6891 continue6949 continue
@@ -6945,13 +7003,13 @@
6945# Do all the work for Automake. -*- Autoconf -*-7003# Do all the work for Automake. -*- Autoconf -*-
69467004
6947# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,7005# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
6948# 2005, 2006 Free Software Foundation, Inc.7006# 2005, 2006, 2008 Free Software Foundation, Inc.
6949#7007#
6950# This file is free software; the Free Software Foundation7008# This file is free software; the Free Software Foundation
6951# gives unlimited permission to copy and/or distribute it,7009# gives unlimited permission to copy and/or distribute it,
6952# with or without modifications, as long as this notice is preserved.7010# with or without modifications, as long as this notice is preserved.
69537011
6954# serial 127012# serial 13
69557013
6956# This macro actually does too much. Some checks are only needed if7014# This macro actually does too much. Some checks are only needed if
6957# your package does certain things. But this isn't really a big deal.7015# your package does certain things. But this isn't really a big deal.
@@ -7056,16 +7114,17 @@
7056# our stamp files there.7114# our stamp files there.
7057AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],7115AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
7058[# Compute $1's index in $config_headers.7116[# Compute $1's index in $config_headers.
7117_am_arg=$1
7059_am_stamp_count=17118_am_stamp_count=1
7060for _am_header in $config_headers :; do7119for _am_header in $config_headers :; do
7061 case $_am_header in7120 case $_am_header in
7062 $1 | $1:* )7121 $_am_arg | $_am_arg:* )
7063 break ;;7122 break ;;
7064 * )7123 * )
7065 _am_stamp_count=`expr $_am_stamp_count + 1` ;;7124 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
7066 esac7125 esac
7067done7126done
7068echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])7127echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
70697128
7070# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.7129# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
7071#7130#
@@ -7337,7 +7396,7 @@
73377396
7338# _AM_SUBST_NOTMAKE(VARIABLE)7397# _AM_SUBST_NOTMAKE(VARIABLE)
7339# ---------------------------7398# ---------------------------
7340# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.7399# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
7341# This macro is traced by Automake.7400# This macro is traced by Automake.
7342AC_DEFUN([_AM_SUBST_NOTMAKE])7401AC_DEFUN([_AM_SUBST_NOTMAKE])
73437402
73447403
=== modified file 'bin/Makefile.in'
--- bin/Makefile.in 2009-05-14 20:32:49 +0000
+++ bin/Makefile.in 2009-07-27 22:39:29 +0000
@@ -1,8 +1,8 @@
1# Makefile.in generated by automake 1.10 from Makefile.am.1# Makefile.in generated by automake 1.10.1 from Makefile.am.
2# @configure_input@2# @configure_input@
33
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.5# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
6# This Makefile.in is free software; the Free Software Foundation6# This Makefile.in is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it,7# gives unlimited permission to copy and/or distribute it,
8# with or without modifications, as long as this notice is preserved.8# with or without modifications, as long as this notice is preserved.
@@ -52,7 +52,7 @@
52xtstat_OBJECTS = $(am_xtstat_OBJECTS)52xtstat_OBJECTS = $(am_xtstat_OBJECTS)
53xtstat_DEPENDENCIES = @ENG_MYSQL_SRC@/libmysql/libmysqlclient.la \53xtstat_DEPENDENCIES = @ENG_MYSQL_SRC@/libmysql/libmysqlclient.la \
54 ../src/libxtutil.a54 ../src/libxtutil.a
55DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@55DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
56depcomp = $(SHELL) $(top_srcdir)/config/depcomp56depcomp = $(SHELL) $(top_srcdir)/config/depcomp
57am__depfiles_maybe = depfiles57am__depfiles_maybe = depfiles
58CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \58CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -88,6 +88,7 @@
88CYGPATH_W = @CYGPATH_W@88CYGPATH_W = @CYGPATH_W@
89DEFS = @DEFS@89DEFS = @DEFS@
90DEPDIR = @DEPDIR@90DEPDIR = @DEPDIR@
91DSYMUTIL = @DSYMUTIL@
91ECHO = @ECHO@92ECHO = @ECHO@
92ECHO_C = @ECHO_C@93ECHO_C = @ECHO_C@
93ECHO_N = @ECHO_N@94ECHO_N = @ECHO_N@
@@ -113,6 +114,7 @@
113LTLIBOBJS = @LTLIBOBJS@114LTLIBOBJS = @LTLIBOBJS@
114MAKEINFO = @MAKEINFO@115MAKEINFO = @MAKEINFO@
115MKDIR_P = @MKDIR_P@116MKDIR_P = @MKDIR_P@
117NMEDIT = @NMEDIT@
116OBJEXT = @OBJEXT@118OBJEXT = @OBJEXT@
117PACKAGE = @PACKAGE@119PACKAGE = @PACKAGE@
118PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@120PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -176,6 +178,7 @@
176srcdir = @srcdir@178srcdir = @srcdir@
177sysconfdir = @sysconfdir@179sysconfdir = @sysconfdir@
178target_alias = @target_alias@180target_alias = @target_alias@
181top_build_prefix = @top_build_prefix@
179top_builddir = @top_builddir@182top_builddir = @top_builddir@
180top_srcdir = @top_srcdir@183top_srcdir = @top_srcdir@
181INCLUDES = $(ENG_MYSQL_INC) -I../src184INCLUDES = $(ENG_MYSQL_INC) -I../src
@@ -223,8 +226,8 @@
223 || test -f $$p1 \226 || test -f $$p1 \
224 ; then \227 ; then \
225 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \228 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
226 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \229 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
227 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \230 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
228 else :; fi; \231 else :; fi; \
229 done232 done
230233
@@ -286,8 +289,8 @@
286 unique=`for i in $$list; do \289 unique=`for i in $$list; do \
287 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \290 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
288 done | \291 done | \
289 $(AWK) ' { files[$$0] = 1; } \292 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
290 END { for (i in files) print i; }'`; \293 END { if (nonempty) { for (i in files) print i; }; }'`; \
291 mkid -fID $$unique294 mkid -fID $$unique
292tags: TAGS295tags: TAGS
293296
@@ -299,8 +302,8 @@
299 unique=`for i in $$list; do \302 unique=`for i in $$list; do \
300 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \303 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
301 done | \304 done | \
302 $(AWK) ' { files[$$0] = 1; } \305 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
303 END { for (i in files) print i; }'`; \306 END { if (nonempty) { for (i in files) print i; }; }'`; \
304 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \307 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
305 test -n "$$unique" || unique=$$empty_fix; \308 test -n "$$unique" || unique=$$empty_fix; \
306 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \309 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -310,13 +313,12 @@
310CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \313CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
311 $(TAGS_FILES) $(LISP)314 $(TAGS_FILES) $(LISP)
312 tags=; \315 tags=; \
313 here=`pwd`; \
314 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \316 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
315 unique=`for i in $$list; do \317 unique=`for i in $$list; do \
316 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \318 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
317 done | \319 done | \
318 $(AWK) ' { files[$$0] = 1; } \320 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
319 END { for (i in files) print i; }'`; \321 END { if (nonempty) { for (i in files) print i; }; }'`; \
320 test -z "$(CTAGS_ARGS)$$tags$$unique" \322 test -z "$(CTAGS_ARGS)$$tags$$unique" \
321 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \323 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
322 $$tags $$unique324 $$tags $$unique
323325
=== modified file 'config/config.guess'
--- config/config.guess 2008-09-08 17:47:43 +0000
+++ config/config.guess 2009-07-27 22:39:29 +0000
@@ -1,9 +1,10 @@
1#! /bin/sh1#! /bin/sh
2# Attempt to guess a canonical system name.2# Attempt to guess a canonical system name.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5# Free Software Foundation, Inc.
56
6timestamp='2005-07-08'7timestamp='2008-01-08'
78
8# This file is free software; you can redistribute it and/or modify it9# This file is free software; you can redistribute it and/or modify it
9# under the terms of the GNU General Public License as published by10# under the terms of the GNU General Public License as published by
@@ -55,8 +56,8 @@
55GNU config.guess ($timestamp)56GNU config.guess ($timestamp)
5657
57Originally written by Per Bothner.58Originally written by Per Bothner.
58Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 200559Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
59Free Software Foundation, Inc.602002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
6061
61This is free software; see the source for copying conditions. There is NO62This is free software; see the source for copying conditions. There is NO
62warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."63warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -106,7 +107,7 @@
106trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;107trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;108trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108: ${TMPDIR=/tmp} ;109: ${TMPDIR=/tmp} ;
109 { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||110 { 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 { 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 { 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 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -160,6 +161,7 @@
160 arm*) machine=arm-unknown ;;161 arm*) machine=arm-unknown ;;
161 sh3el) machine=shl-unknown ;;162 sh3el) machine=shl-unknown ;;
162 sh3eb) machine=sh-unknown ;;163 sh3eb) machine=sh-unknown ;;
164 sh5el) machine=sh5le-unknown ;;
163 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;165 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
164 esac166 esac
165 # The Operating System including object format, if it has switched167 # The Operating System including object format, if it has switched
@@ -206,8 +208,11 @@
206 *:ekkoBSD:*:*)208 *:ekkoBSD:*:*)
207 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}209 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
208 exit ;;210 exit ;;
211 *:SolidBSD:*:*)
212 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213 exit ;;
209 macppc:MirBSD:*:*)214 macppc:MirBSD:*:*)
210 echo powerppc-unknown-mirbsd${UNAME_RELEASE}215 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
211 exit ;;216 exit ;;
212 *:MirBSD:*:*)217 *:MirBSD:*:*)
213 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}218 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@@ -325,7 +330,7 @@
325 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)330 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
326 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`331 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
327 exit ;;332 exit ;;
328 i86pc:SunOS:5.*:*)333 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
329 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`334 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330 exit ;;335 exit ;;
331 sun4*:SunOS:6*:*)336 sun4*:SunOS:6*:*)
@@ -527,7 +532,7 @@
527 echo rs6000-ibm-aix3.2532 echo rs6000-ibm-aix3.2
528 fi533 fi
529 exit ;;534 exit ;;
530 *:AIX:*:[45])535 *:AIX:*:[456])
531 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`536 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
532 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then537 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
533 IBM_ARCH=rs6000538 IBM_ARCH=rs6000
@@ -764,12 +769,19 @@
764 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}769 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
765 exit ;;770 exit ;;
766 *:FreeBSD:*:*)771 *:FreeBSD:*:*)
767 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`772 case ${UNAME_MACHINE} in
773 pc98)
774 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
775 amd64)
776 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
777 *)
778 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
779 esac
768 exit ;;780 exit ;;
769 i*:CYGWIN*:*)781 i*:CYGWIN*:*)
770 echo ${UNAME_MACHINE}-pc-cygwin782 echo ${UNAME_MACHINE}-pc-cygwin
771 exit ;;783 exit ;;
772 i*:MINGW*:*)784 *:MINGW*:*)
773 echo ${UNAME_MACHINE}-pc-mingw32785 echo ${UNAME_MACHINE}-pc-mingw32
774 exit ;;786 exit ;;
775 i*:windows32*:*)787 i*:windows32*:*)
@@ -779,9 +791,18 @@
779 i*:PW*:*)791 i*:PW*:*)
780 echo ${UNAME_MACHINE}-pc-pw32792 echo ${UNAME_MACHINE}-pc-pw32
781 exit ;;793 exit ;;
782 x86:Interix*:[34]*)794 *:Interix*:[3456]*)
783 echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'795 case ${UNAME_MACHINE} in
784 exit ;;796 x86)
797 echo i586-pc-interix${UNAME_RELEASE}
798 exit ;;
799 EM64T | authenticamd)
800 echo x86_64-unknown-interix${UNAME_RELEASE}
801 exit ;;
802 IA64)
803 echo ia64-unknown-interix${UNAME_RELEASE}
804 exit ;;
805 esac ;;
785 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)806 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
786 echo i${UNAME_MACHINE}-pc-mks807 echo i${UNAME_MACHINE}-pc-mks
787 exit ;;808 exit ;;
@@ -794,7 +815,7 @@
794 i*:UWIN*:*)815 i*:UWIN*:*)
795 echo ${UNAME_MACHINE}-pc-uwin816 echo ${UNAME_MACHINE}-pc-uwin
796 exit ;;817 exit ;;
797 amd64:CYGWIN*:*:*)818 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
798 echo x86_64-unknown-cygwin819 echo x86_64-unknown-cygwin
799 exit ;;820 exit ;;
800 p*:CYGWIN*:*)821 p*:CYGWIN*:*)
@@ -815,6 +836,16 @@
815 echo ${UNAME_MACHINE}-pc-minix836 echo ${UNAME_MACHINE}-pc-minix
816 exit ;;837 exit ;;
817 arm*:Linux:*:*)838 arm*:Linux:*:*)
839 eval $set_cc_for_build
840 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
841 | grep -q __ARM_EABI__
842 then
843 echo ${UNAME_MACHINE}-unknown-linux-gnu
844 else
845 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
846 fi
847 exit ;;
848 avr32*:Linux:*:*)
818 echo ${UNAME_MACHINE}-unknown-linux-gnu849 echo ${UNAME_MACHINE}-unknown-linux-gnu
819 exit ;;850 exit ;;
820 cris:Linux:*:*)851 cris:Linux:*:*)
@@ -851,7 +882,11 @@
851 #endif882 #endif
852 #endif883 #endif
853EOF884EOF
854 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`885 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
886 /^CPU/{
887 s: ::g
888 p
889 }'`"
855 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }890 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
856 ;;891 ;;
857 mips64:Linux:*:*)892 mips64:Linux:*:*)
@@ -870,9 +905,16 @@
870 #endif905 #endif
871 #endif906 #endif
872EOF907EOF
873 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`908 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
909 /^CPU/{
910 s: ::g
911 p
912 }'`"
874 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }913 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
875 ;;914 ;;
915 or32:Linux:*:*)
916 echo or32-unknown-linux-gnu
917 exit ;;
876 ppc:Linux:*:*)918 ppc:Linux:*:*)
877 echo powerpc-unknown-linux-gnu919 echo powerpc-unknown-linux-gnu
878 exit ;;920 exit ;;
@@ -916,9 +958,15 @@
916 sparc:Linux:*:* | sparc64:Linux:*:*)958 sparc:Linux:*:* | sparc64:Linux:*:*)
917 echo ${UNAME_MACHINE}-unknown-linux-gnu959 echo ${UNAME_MACHINE}-unknown-linux-gnu
918 exit ;;960 exit ;;
961 vax:Linux:*:*)
962 echo ${UNAME_MACHINE}-dec-linux-gnu
963 exit ;;
919 x86_64:Linux:*:*)964 x86_64:Linux:*:*)
920 echo x86_64-unknown-linux-gnu965 echo x86_64-unknown-linux-gnu
921 exit ;;966 exit ;;
967 xtensa*:Linux:*:*)
968 echo ${UNAME_MACHINE}-unknown-linux-gnu
969 exit ;;
922 i*86:Linux:*:*)970 i*86:Linux:*:*)
923 # The BFD linker knows what the default object file format is, so971 # The BFD linker knows what the default object file format is, so
924 # first see if it will tell us. cd to the root directory to prevent972 # first see if it will tell us. cd to the root directory to prevent
@@ -961,7 +1009,7 @@
961 LIBC=gnulibc11009 LIBC=gnulibc1
962 # endif1010 # endif
963 #else1011 #else
964 #ifdef __INTEL_COMPILER1012 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
965 LIBC=gnu1013 LIBC=gnu
966 #else1014 #else
967 LIBC=gnuaout1015 LIBC=gnuaout
@@ -971,7 +1019,11 @@
971 LIBC=dietlibc1019 LIBC=dietlibc
972 #endif1020 #endif
973EOF1021EOF
974 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`1022 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1023 /^LIBC/{
1024 s: ::g
1025 p
1026 }'`"
975 test x"${LIBC}" != x && {1027 test x"${LIBC}" != x && {
976 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"1028 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
977 exit1029 exit
@@ -1173,6 +1225,15 @@
1173 SX-6:SUPER-UX:*:*)1225 SX-6:SUPER-UX:*:*)
1174 echo sx6-nec-superux${UNAME_RELEASE}1226 echo sx6-nec-superux${UNAME_RELEASE}
1175 exit ;;1227 exit ;;
1228 SX-7:SUPER-UX:*:*)
1229 echo sx7-nec-superux${UNAME_RELEASE}
1230 exit ;;
1231 SX-8:SUPER-UX:*:*)
1232 echo sx8-nec-superux${UNAME_RELEASE}
1233 exit ;;
1234 SX-8R:SUPER-UX:*:*)
1235 echo sx8r-nec-superux${UNAME_RELEASE}
1236 exit ;;
1176 Power*:Rhapsody:*:*)1237 Power*:Rhapsody:*:*)
1177 echo powerpc-apple-rhapsody${UNAME_RELEASE}1238 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1178 exit ;;1239 exit ;;
@@ -1182,7 +1243,6 @@
1182 *:Darwin:*:*)1243 *:Darwin:*:*)
1183 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown1244 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1184 case $UNAME_PROCESSOR in1245 case $UNAME_PROCESSOR in
1185 *86) UNAME_PROCESSOR=i686 ;;
1186 unknown) UNAME_PROCESSOR=powerpc ;;1246 unknown) UNAME_PROCESSOR=powerpc ;;
1187 esac1247 esac
1188 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}1248 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1261,6 +1321,9 @@
1261 i*86:skyos:*:*)1321 i*86:skyos:*:*)
1262 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'1322 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1263 exit ;;1323 exit ;;
1324 i*86:rdos:*:*)
1325 echo ${UNAME_MACHINE}-pc-rdos
1326 exit ;;
1264esac1327esac
12651328
1266#echo '(No uname command or uname output not recognized.)' 1>&21329#echo '(No uname command or uname output not recognized.)' 1>&2
12671330
=== modified file 'config/config.sub'
--- config/config.sub 2008-09-08 17:47:43 +0000
+++ config/config.sub 2009-07-27 22:39:29 +0000
@@ -1,9 +1,10 @@
1#! /bin/sh1#! /bin/sh
2# Configuration validation subroutine script.2# Configuration validation subroutine script.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5# Free Software Foundation, Inc.
56
6timestamp='2005-07-08'7timestamp='2008-01-16'
78
8# This file is (in principle) common to ALL GNU software.9# This file is (in principle) common to ALL GNU software.
9# The presence of a machine in this file suggests that SOME GNU software10# The presence of a machine in this file suggests that SOME GNU software
@@ -71,8 +72,8 @@
71version="\72version="\
72GNU config.sub ($timestamp)73GNU config.sub ($timestamp)
7374
74Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 200575Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
75Free Software Foundation, Inc.762002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
7677
77This is free software; see the source for copying conditions. There is NO78This is free software; see the source for copying conditions. There is NO
78warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."79warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -119,8 +120,9 @@
119# Here we must recognize all the valid KERNEL-OS combinations.120# Here we must recognize all the valid KERNEL-OS combinations.
120maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`121maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
121case $maybe_os in122case $maybe_os in
122 nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \123 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
123 kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)124 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125 storm-chaos* | os2-emx* | rtmk-nova*)
124 os=-$maybe_os126 os=-$maybe_os
125 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
126 ;;128 ;;
@@ -171,6 +173,10 @@
171 -hiux*)173 -hiux*)
172 os=-hiuxwe2174 os=-hiuxwe2
173 ;;175 ;;
176 -sco6)
177 os=-sco5v6
178 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179 ;;
174 -sco5)180 -sco5)
175 os=-sco3.2v5181 os=-sco3.2v5
176 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`182 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -187,6 +193,10 @@
187 # Don't forget version if it is 3.2v4 or newer.193 # Don't forget version if it is 3.2v4 or newer.
188 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`194 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
189 ;;195 ;;
196 -sco5v6*)
197 # Don't forget version if it is 3.2v4 or newer.
198 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199 ;;
190 -sco*)200 -sco*)
191 os=-sco3.2v2201 os=-sco3.2v2
192 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`202 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -231,15 +241,16 @@
231 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \241 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
232 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \242 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
233 | am33_2.0 \243 | am33_2.0 \
234 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \244 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
235 | bfin \245 | bfin \
236 | c4x | clipper \246 | c4x | clipper \
237 | d10v | d30v | dlx | dsp16xx \247 | d10v | d30v | dlx | dsp16xx \
238 | fr30 | frv \248 | fido | fr30 | frv \
239 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \249 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
240 | i370 | i860 | i960 | ia64 \250 | i370 | i860 | i960 | ia64 \
241 | ip2k | iq2000 \251 | ip2k | iq2000 \
242 | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \252 | m32c | m32r | m32rle | m68000 | m68k | m88k \
253 | maxq | mb | microblaze | mcore | mep \
243 | mips | mipsbe | mipseb | mipsel | mipsle \254 | mips | mipsbe | mipseb | mipsel | mipsle \
244 | mips16 \255 | mips16 \
245 | mips64 | mips64el \256 | mips64 | mips64el \
@@ -257,28 +268,27 @@
257 | mipsisa64sr71k | mipsisa64sr71kel \268 | mipsisa64sr71k | mipsisa64sr71kel \
258 | mipstx39 | mipstx39el \269 | mipstx39 | mipstx39el \
259 | mn10200 | mn10300 \270 | mn10200 | mn10300 \
260 | ms1 \271 | mt \
261 | msp430 \272 | msp430 \
273 | nios | nios2 \
262 | ns16k | ns32k \274 | ns16k | ns32k \
263 | or32 \275 | or32 \
264 | pdp10 | pdp11 | pj | pjl \276 | pdp10 | pdp11 | pj | pjl \
265 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \277 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
266 | pyramid \278 | pyramid \
267 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \279 | score \
280 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
268 | sh64 | sh64le \281 | sh64 | sh64le \
269 | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \282 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
270 | sparcv8 | sparcv9 | sparcv9b \283 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
271 | strongarm \284 | spu | strongarm \
272 | tahoe | thumb | tic4x | tic80 | tron \285 | tahoe | thumb | tic4x | tic80 | tron \
273 | v850 | v850e \286 | v850 | v850e \
274 | we32k \287 | we32k \
275 | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \288 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
276 | z8k)289 | z8k)
277 basic_machine=$basic_machine-unknown290 basic_machine=$basic_machine-unknown
278 ;;291 ;;
279 m32c)
280 basic_machine=$basic_machine-unknown
281 ;;
282 m6811 | m68hc11 | m6812 | m68hc12)292 m6811 | m68hc11 | m6812 | m68hc12)
283 # Motorola 68HC11/12.293 # Motorola 68HC11/12.
284 basic_machine=$basic_machine-unknown294 basic_machine=$basic_machine-unknown
@@ -286,6 +296,9 @@
286 ;;296 ;;
287 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)297 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
288 ;;298 ;;
299 ms1)
300 basic_machine=mt-unknown
301 ;;
289302
290 # We use `pc' rather than `unknown'303 # We use `pc' rather than `unknown'
291 # because (1) that's what they normally are, and304 # because (1) that's what they normally are, and
@@ -305,18 +318,18 @@
305 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \318 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
306 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \319 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
307 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \320 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
308 | avr-* \321 | avr-* | avr32-* \
309 | bfin-* | bs2000-* \322 | bfin-* | bs2000-* \
310 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \323 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
311 | clipper-* | craynv-* | cydra-* \324 | clipper-* | craynv-* | cydra-* \
312 | d10v-* | d30v-* | dlx-* \325 | d10v-* | d30v-* | dlx-* \
313 | elxsi-* \326 | elxsi-* \
314 | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \327 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
315 | h8300-* | h8500-* \328 | h8300-* | h8500-* \
316 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \329 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
317 | i*86-* | i860-* | i960-* | ia64-* \330 | i*86-* | i860-* | i960-* | ia64-* \
318 | ip2k-* | iq2000-* \331 | ip2k-* | iq2000-* \
319 | m32r-* | m32rle-* \332 | m32c-* | m32r-* | m32rle-* \
320 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \333 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
321 | m88110-* | m88k-* | maxq-* | mcore-* \334 | m88110-* | m88k-* | maxq-* | mcore-* \
322 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \335 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -336,30 +349,33 @@
336 | mipsisa64sr71k-* | mipsisa64sr71kel-* \349 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
337 | mipstx39-* | mipstx39el-* \350 | mipstx39-* | mipstx39el-* \
338 | mmix-* \351 | mmix-* \
339 | ms1-* \352 | mt-* \
340 | msp430-* \353 | msp430-* \
354 | nios-* | nios2-* \
341 | none-* | np1-* | ns16k-* | ns32k-* \355 | none-* | np1-* | ns16k-* | ns32k-* \
342 | orion-* \356 | orion-* \
343 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \357 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
344 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \358 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
345 | pyramid-* \359 | pyramid-* \
346 | romp-* | rs6000-* \360 | romp-* | rs6000-* \
347 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \361 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
348 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \362 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
349 | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \363 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
350 | sparclite-* \364 | sparclite-* \
351 | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \365 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
352 | tahoe-* | thumb-* \366 | tahoe-* | thumb-* \
353 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \367 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
354 | tron-* \368 | tron-* \
355 | v850-* | v850e-* | vax-* \369 | v850-* | v850e-* | vax-* \
356 | we32k-* \370 | we32k-* \
357 | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \371 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
358 | xstormy16-* | xtensa-* \372 | xstormy16-* | xtensa*-* \
359 | ymp-* \373 | ymp-* \
360 | z8k-*)374 | z8k-*)
361 ;;375 ;;
362 m32c-*)376 # Recognize the basic CPU types without company name, with glob match.
377 xtensa*)
378 basic_machine=$basic_machine-unknown
363 ;;379 ;;
364 # Recognize the various machine names and aliases which stand380 # Recognize the various machine names and aliases which stand
365 # for a CPU type and a company and sometimes even an OS.381 # for a CPU type and a company and sometimes even an OS.
@@ -431,6 +447,14 @@
431 basic_machine=ns32k-sequent447 basic_machine=ns32k-sequent
432 os=-dynix448 os=-dynix
433 ;;449 ;;
450 blackfin)
451 basic_machine=bfin-unknown
452 os=-linux
453 ;;
454 blackfin-*)
455 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
456 os=-linux
457 ;;
434 c90)458 c90)
435 basic_machine=c90-cray459 basic_machine=c90-cray
436 os=-unicos460 os=-unicos
@@ -463,8 +487,8 @@
463 basic_machine=craynv-cray487 basic_machine=craynv-cray
464 os=-unicosmp488 os=-unicosmp
465 ;;489 ;;
466 cr16c)490 cr16)
467 basic_machine=cr16c-unknown491 basic_machine=cr16-unknown
468 os=-elf492 os=-elf
469 ;;493 ;;
470 crds | unos)494 crds | unos)
@@ -656,6 +680,14 @@
656 basic_machine=m68k-isi680 basic_machine=m68k-isi
657 os=-sysv681 os=-sysv
658 ;;682 ;;
683 m68knommu)
684 basic_machine=m68k-unknown
685 os=-linux
686 ;;
687 m68knommu-*)
688 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
689 os=-linux
690 ;;
659 m88k-omron*)691 m88k-omron*)
660 basic_machine=m88k-omron692 basic_machine=m88k-omron
661 ;;693 ;;
@@ -671,6 +703,10 @@
671 basic_machine=i386-pc703 basic_machine=i386-pc
672 os=-mingw32704 os=-mingw32
673 ;;705 ;;
706 mingw32ce)
707 basic_machine=arm-unknown
708 os=-mingw32ce
709 ;;
674 miniframe)710 miniframe)
675 basic_machine=m68000-convergent711 basic_machine=m68000-convergent
676 ;;712 ;;
@@ -696,6 +732,9 @@
696 basic_machine=i386-pc732 basic_machine=i386-pc
697 os=-msdos733 os=-msdos
698 ;;734 ;;
735 ms1-*)
736 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737 ;;
699 mvs)738 mvs)
700 basic_machine=i370-ibm739 basic_machine=i370-ibm
701 os=-mvs740 os=-mvs
@@ -794,6 +833,14 @@
794 basic_machine=i860-intel833 basic_machine=i860-intel
795 os=-osf834 os=-osf
796 ;;835 ;;
836 parisc)
837 basic_machine=hppa-unknown
838 os=-linux
839 ;;
840 parisc-*)
841 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
842 os=-linux
843 ;;
797 pbd)844 pbd)
798 basic_machine=sparc-tti845 basic_machine=sparc-tti
799 ;;846 ;;
@@ -803,6 +850,12 @@
803 pc532 | pc532-*)850 pc532 | pc532-*)
804 basic_machine=ns32k-pc532851 basic_machine=ns32k-pc532
805 ;;852 ;;
853 pc98)
854 basic_machine=i386-pc
855 ;;
856 pc98-*)
857 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
858 ;;
806 pentium | p5 | k5 | k6 | nexgen | viac3)859 pentium | p5 | k5 | k6 | nexgen | viac3)
807 basic_machine=i586-pc860 basic_machine=i586-pc
808 ;;861 ;;
@@ -859,6 +912,10 @@
859 basic_machine=i586-unknown912 basic_machine=i586-unknown
860 os=-pw32913 os=-pw32
861 ;;914 ;;
915 rdos)
916 basic_machine=i386-pc
917 os=-rdos
918 ;;
862 rom68k)919 rom68k)
863 basic_machine=m68k-rom68k920 basic_machine=m68k-rom68k
864 os=-coff921 os=-coff
@@ -885,6 +942,10 @@
885 sb1el)942 sb1el)
886 basic_machine=mipsisa64sb1el-unknown943 basic_machine=mipsisa64sb1el-unknown
887 ;;944 ;;
945 sde)
946 basic_machine=mipsisa32-sde
947 os=-elf
948 ;;
888 sei)949 sei)
889 basic_machine=mips-sei950 basic_machine=mips-sei
890 os=-seiux951 os=-seiux
@@ -896,6 +957,9 @@
896 basic_machine=sh-hitachi957 basic_machine=sh-hitachi
897 os=-hms958 os=-hms
898 ;;959 ;;
960 sh5el)
961 basic_machine=sh5le-unknown
962 ;;
899 sh64)963 sh64)
900 basic_machine=sh64-unknown964 basic_machine=sh64-unknown
901 ;;965 ;;
@@ -985,6 +1049,10 @@
985 basic_machine=tic6x-unknown1049 basic_machine=tic6x-unknown
986 os=-coff1050 os=-coff
987 ;;1051 ;;
1052 tile*)
1053 basic_machine=tile-unknown
1054 os=-linux-gnu
1055 ;;
988 tx39)1056 tx39)
989 basic_machine=mipstx39-unknown1057 basic_machine=mipstx39-unknown
990 ;;1058 ;;
@@ -1101,7 +1169,7 @@
1101 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)1169 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1102 basic_machine=sh-unknown1170 basic_machine=sh-unknown
1103 ;;1171 ;;
1104 sparc | sparcv8 | sparcv9 | sparcv9b)1172 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1105 basic_machine=sparc-sun1173 basic_machine=sparc-sun
1106 ;;1174 ;;
1107 cydra)1175 cydra)
@@ -1174,21 +1242,23 @@
1174 | -aos* \1242 | -aos* \
1175 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \1243 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1176 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \1244 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1177 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \1245 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1246 | -openbsd* | -solidbsd* \
1178 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \1247 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1179 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \1248 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1180 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \1249 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1181 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \1250 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1182 | -chorusos* | -chorusrdb* \1251 | -chorusos* | -chorusrdb* \
1183 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \1252 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1184 | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \1253 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1254 | -uxpv* | -beos* | -mpeix* | -udk* \
1185 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \1255 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1186 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \1256 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1187 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \1257 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1188 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \1258 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1189 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \1259 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1190 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \1260 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1191 | -skyos* | -haiku*)1261 | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1192 # Remember, each alternative MUST END IN *, to match a version number.1262 # Remember, each alternative MUST END IN *, to match a version number.
1193 ;;1263 ;;
1194 -qnx*)1264 -qnx*)
@@ -1340,6 +1410,12 @@
1340# system, and we'll never get to this point.1410# system, and we'll never get to this point.
13411411
1342case $basic_machine in1412case $basic_machine in
1413 score-*)
1414 os=-elf
1415 ;;
1416 spu-*)
1417 os=-elf
1418 ;;
1343 *-acorn)1419 *-acorn)
1344 os=-riscix1.21420 os=-riscix1.2
1345 ;;1421 ;;
@@ -1349,9 +1425,9 @@
1349 arm*-semi)1425 arm*-semi)
1350 os=-aout1426 os=-aout
1351 ;;1427 ;;
1352 c4x-* | tic4x-*)1428 c4x-* | tic4x-*)
1353 os=-coff1429 os=-coff
1354 ;;1430 ;;
1355 # This must come before the *-dec entry.1431 # This must come before the *-dec entry.
1356 pdp10-*)1432 pdp10-*)
1357 os=-tops201433 os=-tops20
@@ -1377,6 +1453,9 @@
1377 m68*-cisco)1453 m68*-cisco)
1378 os=-aout1454 os=-aout
1379 ;;1455 ;;
1456 mep-*)
1457 os=-elf
1458 ;;
1380 mips*-cisco)1459 mips*-cisco)
1381 os=-elf1460 os=-elf
1382 ;;1461 ;;
13831462
=== modified file 'config/depcomp' (properties changed: -x to +x)
--- config/depcomp 2006-10-23 09:14:04 +0000
+++ config/depcomp 2009-07-27 22:39:29 +0000
@@ -1,9 +1,10 @@
1#! /bin/sh1#! /bin/sh
2# depcomp - compile a program generating dependencies as side-effects2# depcomp - compile a program generating dependencies as side-effects
33
4scriptversion=2005-07-09.114scriptversion=2007-03-29.01
55
6# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.6# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
7# Foundation, Inc.
78
8# This program is free software; you can redistribute it and/or modify9# This program is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by10# it under the terms of the GNU General Public License as published by
@@ -91,7 +92,20 @@
91## gcc 3 implements dependency tracking that does exactly what92## gcc 3 implements dependency tracking that does exactly what
92## we want. Yay! Note: for some reason libtool 1.4 doesn't like93## we want. Yay! Note: for some reason libtool 1.4 doesn't like
93## it if -MD -MP comes after the -MF stuff. Hmm.94## it if -MD -MP comes after the -MF stuff. Hmm.
94 "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"95## Unfortunately, FreeBSD c89 acceptance of flags depends upon
96## the command line argument order; so add the flags where they
97## appear in depend2.am. Note that the slowdown incurred here
98## affects only configure: in makefiles, %FASTDEP% shortcuts this.
99 for arg
100 do
101 case $arg in
102 -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
103 *) set fnord "$@" "$arg" ;;
104 esac
105 shift # fnord
106 shift # $arg
107 done
108 "$@"
95 stat=$?109 stat=$?
96 if test $stat -eq 0; then :110 if test $stat -eq 0; then :
97 else111 else
@@ -201,34 +215,39 @@
201 # current directory. Also, the AIX compiler puts `$object:' at the215 # current directory. Also, the AIX compiler puts `$object:' at the
202 # start of each line; $object doesn't have directory information.216 # start of each line; $object doesn't have directory information.
203 # Version 6 uses the directory in both cases.217 # Version 6 uses the directory in both cases.
204 stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`218 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
205 tmpdepfile="$stripped.u"219 test "x$dir" = "x$object" && dir=
220 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
206 if test "$libtool" = yes; then221 if test "$libtool" = yes; then
222 tmpdepfile1=$dir$base.u
223 tmpdepfile2=$base.u
224 tmpdepfile3=$dir.libs/$base.u
207 "$@" -Wc,-M225 "$@" -Wc,-M
208 else226 else
227 tmpdepfile1=$dir$base.u
228 tmpdepfile2=$dir$base.u
229 tmpdepfile3=$dir$base.u
209 "$@" -M230 "$@" -M
210 fi231 fi
211 stat=$?232 stat=$?
212233
213 if test -f "$tmpdepfile"; then :
214 else
215 stripped=`echo "$stripped" | sed 's,^.*/,,'`
216 tmpdepfile="$stripped.u"
217 fi
218
219 if test $stat -eq 0; then :234 if test $stat -eq 0; then :
220 else235 else
221 rm -f "$tmpdepfile"236 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
222 exit $stat237 exit $stat
223 fi238 fi
224239
240 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
241 do
242 test -f "$tmpdepfile" && break
243 done
225 if test -f "$tmpdepfile"; then244 if test -f "$tmpdepfile"; then
226 outname="$stripped.o"
227 # Each line is of the form `foo.o: dependent.h'.245 # Each line is of the form `foo.o: dependent.h'.
228 # Do two passes, one to just change these to246 # Do two passes, one to just change these to
229 # `$object: dependent.h' and one to simply `dependent.h:'.247 # `$object: dependent.h' and one to simply `dependent.h:'.
230 sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"248 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
231 sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"249 # That's a tab and a space in the [].
250 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
232 else251 else
233 # The sourcefile does not contain any dependencies, so just252 # The sourcefile does not contain any dependencies, so just
234 # store a dummy comment line, to avoid errors with the Makefile253 # store a dummy comment line, to avoid errors with the Makefile
@@ -276,6 +295,46 @@
276 rm -f "$tmpdepfile"295 rm -f "$tmpdepfile"
277 ;;296 ;;
278297
298hp2)
299 # The "hp" stanza above does not work with aCC (C++) and HP's ia64
300 # compilers, which have integrated preprocessors. The correct option
301 # to use with these is +Maked; it writes dependencies to a file named
302 # 'foo.d', which lands next to the object file, wherever that
303 # happens to be.
304 # Much of this is similar to the tru64 case; see comments there.
305 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
306 test "x$dir" = "x$object" && dir=
307 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
308 if test "$libtool" = yes; then
309 tmpdepfile1=$dir$base.d
310 tmpdepfile2=$dir.libs/$base.d
311 "$@" -Wc,+Maked
312 else
313 tmpdepfile1=$dir$base.d
314 tmpdepfile2=$dir$base.d
315 "$@" +Maked
316 fi
317 stat=$?
318 if test $stat -eq 0; then :
319 else
320 rm -f "$tmpdepfile1" "$tmpdepfile2"
321 exit $stat
322 fi
323
324 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
325 do
326 test -f "$tmpdepfile" && break
327 done
328 if test -f "$tmpdepfile"; then
329 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
330 # Add `dependent.h:' lines.
331 sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
332 else
333 echo "#dummy" > "$depfile"
334 fi
335 rm -f "$tmpdepfile" "$tmpdepfile2"
336 ;;
337
279tru64)338tru64)
280 # The Tru64 compiler uses -MD to generate dependencies as a side339 # The Tru64 compiler uses -MD to generate dependencies as a side
281 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.340 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@@ -288,13 +347,13 @@
288347
289 if test "$libtool" = yes; then348 if test "$libtool" = yes; then
290 # With Tru64 cc, shared objects can also be used to make a349 # With Tru64 cc, shared objects can also be used to make a
291 # static library. This mecanism is used in libtool 1.4 series to350 # static library. This mechanism is used in libtool 1.4 series to
292 # handle both shared and static libraries in a single compilation.351 # handle both shared and static libraries in a single compilation.
293 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.352 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
294 #353 #
295 # With libtool 1.5 this exception was removed, and libtool now354 # With libtool 1.5 this exception was removed, and libtool now
296 # generates 2 separate objects for the 2 libraries. These two355 # generates 2 separate objects for the 2 libraries. These two
297 # compilations output dependencies in in $dir.libs/$base.o.d and356 # compilations output dependencies in $dir.libs/$base.o.d and
298 # in $dir$base.o.d. We have to check for both files, because357 # in $dir$base.o.d. We have to check for both files, because
299 # one of the two compilations can be disabled. We should prefer358 # one of the two compilations can be disabled. We should prefer
300 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is359 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
301360
=== modified file 'config/install-sh'
--- config/install-sh 2008-09-08 17:47:43 +0000
+++ config/install-sh 2009-07-27 22:39:29 +0000
@@ -1,7 +1,7 @@
1#!/bin/sh1#!/bin/sh
2# install - install a program, script, or datafile2# install - install a program, script, or datafile
33
4scriptversion=2005-05-14.224scriptversion=2006-12-25.00
55
6# This originates from X11R5 (mit/util/scripts/install.sh), which was6# This originates from X11R5 (mit/util/scripts/install.sh), which was
7# later released in X11R6 (xc/config/util/install.sh) with the7# later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,38 +39,68 @@
39# when there is no Makefile.39# when there is no Makefile.
40#40#
41# This script is compatible with the BSD install script, but was written41# This script is compatible with the BSD install script, but was written
42# from scratch. It can only install one file at a time, a restriction42# from scratch.
43# shared with many OS's install programs.43
44nl='
45'
46IFS=" "" $nl"
4447
45# set DOITPROG to echo to test this script48# set DOITPROG to echo to test this script
4649
47# Don't use :- since 4.3BSD and earlier shells don't like it.50# Don't use :- since 4.3BSD and earlier shells don't like it.
48doit="${DOITPROG-}"51doit=${DOITPROG-}
4952if test -z "$doit"; then
50# put in absolute paths if you don't have them in your path; or use env. vars.53 doit_exec=exec
5154else
52mvprog="${MVPROG-mv}"55 doit_exec=$doit
53cpprog="${CPPROG-cp}"56fi
54chmodprog="${CHMODPROG-chmod}"57
55chownprog="${CHOWNPROG-chown}"58# Put in absolute file names if you don't have them in your path;
56chgrpprog="${CHGRPPROG-chgrp}"59# or use environment vars.
57stripprog="${STRIPPROG-strip}"60
58rmprog="${RMPROG-rm}"61chgrpprog=${CHGRPPROG-chgrp}
59mkdirprog="${MKDIRPROG-mkdir}"62chmodprog=${CHMODPROG-chmod}
6063chownprog=${CHOWNPROG-chown}
61chmodcmd="$chmodprog 0755"64cmpprog=${CMPPROG-cmp}
65cpprog=${CPPROG-cp}
66mkdirprog=${MKDIRPROG-mkdir}
67mvprog=${MVPROG-mv}
68rmprog=${RMPROG-rm}
69stripprog=${STRIPPROG-strip}
70
71posix_glob='?'
72initialize_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
82posix_mkdir=
83
84# Desired mode of installed file.
85mode=0755
86
87chgrpcmd=
88chmodcmd=$chmodprog
62chowncmd=89chowncmd=
63chgrpcmd=90mvcmd=$mvprog
91rmcmd="$rmprog -f"
64stripcmd=92stripcmd=
65rmcmd="$rmprog -f"93
66mvcmd="$mvprog"
67src=94src=
68dst=95dst=
69dir_arg=96dir_arg=
70dstarg=97dst_arg=
98
99copy_on_change=false
71no_target_directory=100no_target_directory=
72101
73usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE102usage="\
103Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
74 or: $0 [OPTION]... SRCFILES... DIRECTORY104 or: $0 [OPTION]... SRCFILES... DIRECTORY
75 or: $0 [OPTION]... -t DIRECTORY SRCFILES...105 or: $0 [OPTION]... -t DIRECTORY SRCFILES...
76 or: $0 [OPTION]... -d DIRECTORIES...106 or: $0 [OPTION]... -d DIRECTORIES...
@@ -80,81 +110,86 @@
80In the 4th, create DIRECTORIES.110In the 4th, create DIRECTORIES.
81111
82Options:112Options:
83-c (ignored)113 --help display this help and exit.
84-d create directories instead of installing files.114 --version display version info and exit.
85-g GROUP $chgrpprog installed files to GROUP.115
86-m MODE $chmodprog installed files to MODE.116 -c (ignored)
87-o USER $chownprog installed files to USER.117 -C install only if different (preserve the last data modification time)
88-s $stripprog installed files.118 -d create directories instead of installing files.
89-t DIRECTORY install into DIRECTORY.119 -g GROUP $chgrpprog installed files to GROUP.
90-T report an error if DSTFILE is a directory.120 -m MODE $chmodprog installed files to MODE.
91--help display this help and exit.121 -o USER $chownprog installed files to USER.
92--version display version info and exit.122 -s $stripprog installed files.
123 -t DIRECTORY install into DIRECTORY.
124 -T report an error if DSTFILE is a directory.
93125
94Environment variables override the default commands:126Environment variables override the default commands:
95 CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG127 CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
128 RMPROG STRIPPROG
96"129"
97130
98while test -n "$1"; do131while test $# -ne 0; do
99 case $1 in132 case $1 in
100 -c) shift133 -c) ;;
101 continue;;134
102135 -C) copy_on_change=true;;
103 -d) dir_arg=true136
104 shift137 -d) dir_arg=true;;
105 continue;;
106138
107 -g) chgrpcmd="$chgrpprog $2"139 -g) chgrpcmd="$chgrpprog $2"
108 shift140 shift;;
109 shift
110 continue;;
111141
112 --help) echo "$usage"; exit $?;;142 --help) echo "$usage"; exit $?;;
113143
114 -m) chmodcmd="$chmodprog $2"144 -m) mode=$2
115 shift145 case $mode in
116 shift146 *' '* | *' '* | *'
117 continue;;147'* | *'*'* | *'?'* | *'['*)
148 echo "$0: invalid mode: $mode" >&2
149 exit 1;;
150 esac
151 shift;;
118152
119 -o) chowncmd="$chownprog $2"153 -o) chowncmd="$chownprog $2"
120 shift154 shift;;
121 shift155
122 continue;;156 -s) stripcmd=$stripprog;;
123157
124 -s) stripcmd=$stripprog158 -t) dst_arg=$2
125 shift159 shift;;
126 continue;;160
127161 -T) no_target_directory=true;;
128 -t) dstarg=$2
129 shift
130 shift
131 continue;;
132
133 -T) no_target_directory=true
134 shift
135 continue;;
136162
137 --version) echo "$0 $scriptversion"; exit $?;;163 --version) echo "$0 $scriptversion"; exit $?;;
138164
139 *) # When -d is used, all remaining arguments are directories to create.165 --) shift
140 # When -t is used, the destination is already specified.
141 test -n "$dir_arg$dstarg" && break
142 # Otherwise, the last argument is the destination. Remove it from $@.
143 for arg
144 do
145 if test -n "$dstarg"; then
146 # $@ is not empty: it contains at least $arg.
147 set fnord "$@" "$dstarg"
148 shift # fnord
149 fi
150 shift # arg
151 dstarg=$arg
152 done
153 break;;166 break;;
167
168 -*) echo "$0: invalid option: $1" >&2
169 exit 1;;
170
171 *) break;;
154 esac172 esac
173 shift
155done174done
156175
157if test -z "$1"; then176if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
177 # When -d is used, all remaining arguments are directories to create.
178 # When -t is used, the destination is already specified.
179 # Otherwise, the last argument is the destination. Remove it from $@.
180 for arg
181 do
182 if test -n "$dst_arg"; then
183 # $@ is not empty: it contains at least $arg.
184 set fnord "$@" "$dst_arg"
185 shift # fnord
186 fi
187 shift # arg
188 dst_arg=$arg
189 done
190fi
191
192if test $# -eq 0; then
158 if test -z "$dir_arg"; then193 if test -z "$dir_arg"; then
159 echo "$0: no input file specified." >&2194 echo "$0: no input file specified." >&2
160 exit 1195 exit 1
@@ -164,24 +199,47 @@
164 exit 0199 exit 0
165fi200fi
166201
202if test -z "$dir_arg"; then
203 trap '(exit $?); exit' 1 2 13 15
204
205 # Set umask so as not to create temps with too-generous modes.
206 # However, 'strip' requires both read and write access to temps.
207 case $mode in
208 # Optimize common cases.
209 *644) cp_umask=133;;
210 *755) cp_umask=22;;
211
212 *[0-7])
213 if test -z "$stripcmd"; then
214 u_plus_rw=
215 else
216 u_plus_rw='% 200'
217 fi
218 cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
219 *)
220 if test -z "$stripcmd"; then
221 u_plus_rw=
222 else
223 u_plus_rw=,u+rw
224 fi
225 cp_umask=$mode$u_plus_rw;;
226 esac
227fi
228
167for src229for src
168do230do
169 # Protect names starting with `-'.231 # Protect names starting with `-'.
170 case $src in232 case $src in
171 -*) src=./$src ;;233 -*) src=./$src;;
172 esac234 esac
173235
174 if test -n "$dir_arg"; then236 if test -n "$dir_arg"; then
175 dst=$src237 dst=$src
176 src=238 dstdir=$dst
239 test -d "$dstdir"
240 dstdir_status=$?
241 else
177242
178 if test -d "$dst"; then
179 mkdircmd=:
180 chmodcmd=
181 else
182 mkdircmd=$mkdirprog
183 fi
184 else
185 # Waiting for this to be detected by the "$cpprog $src $dsttmp" command243 # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
186 # might cause directories to be created, which would be especially bad244 # might cause directories to be created, which would be especially bad
187 # if $src (and thus $dsttmp) contains '*'.245 # if $src (and thus $dsttmp) contains '*'.
@@ -190,71 +248,199 @@
190 exit 1248 exit 1
191 fi249 fi
192250
193 if test -z "$dstarg"; then251 if test -z "$dst_arg"; then
194 echo "$0: no destination specified." >&2252 echo "$0: no destination specified." >&2
195 exit 1253 exit 1
196 fi254 fi
197255
198 dst=$dstarg256 dst=$dst_arg
199 # Protect names starting with `-'.257 # Protect names starting with `-'.
200 case $dst in258 case $dst in
201 -*) dst=./$dst ;;259 -*) dst=./$dst;;
202 esac260 esac
203261
204 # If destination is a directory, append the input filename; won't work262 # If destination is a directory, append the input filename; won't work
205 # if double slashes aren't ignored.263 # if double slashes aren't ignored.
206 if test -d "$dst"; then264 if test -d "$dst"; then
207 if test -n "$no_target_directory"; then265 if test -n "$no_target_directory"; then
208 echo "$0: $dstarg: Is a directory" >&2266 echo "$0: $dst_arg: Is a directory" >&2
209 exit 1267 exit 1
210 fi268 fi
211 dst=$dst/`basename "$src"`269 dstdir=$dst
270 dst=$dstdir/`basename "$src"`
271 dstdir_status=0
272 else
273 # Prefer dirname, but fall back on a substitute if dirname fails.
274 dstdir=`
275 (dirname "$dst") 2>/dev/null ||
276 expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
277 X"$dst" : 'X\(//\)[^/]' \| \
278 X"$dst" : 'X\(//\)$' \| \
279 X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
280 echo X"$dst" |
281 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
282 s//\1/
283 q
284 }
285 /^X\(\/\/\)[^/].*/{
286 s//\1/
287 q
288 }
289 /^X\(\/\/\)$/{
290 s//\1/
291 q
292 }
293 /^X\(\/\).*/{
294 s//\1/
295 q
296 }
297 s/.*/./; q'
298 `
299
300 test -d "$dstdir"
301 dstdir_status=$?
212 fi302 fi
213 fi303 fi
214304
215 # This sed command emulates the dirname command.305 obsolete_mkdir_used=false
216 dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`306
217307 if test $dstdir_status != 0; then
218 # Make sure that the destination directory exists.308 case $posix_mkdir in
219309 '')
220 # Skip lots of stat calls in the usual case.310 # Create intermediate dirs using mode 755 as modified by the umask.
221 if test ! -d "$dstdir"; then311 # This is like FreeBSD 'install' as of 1997-10-28.
222 defaultIFS='312 umask=`umask`
223 '313 case $stripcmd.$umask in
224 IFS="${IFS-$defaultIFS}"314 # Optimize common cases.
225315 *[2367][2367]) mkdir_umask=$umask;;
226 oIFS=$IFS316 .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
227 # Some sh's can't handle IFS=/ for some reason.317
228 IFS='%'318 *[0-7])
229 set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`319 mkdir_umask=`expr $umask + 22 \
230 shift320 - $umask % 100 % 40 + $umask % 20 \
231 IFS=$oIFS321 - $umask % 10 % 4 + $umask % 2
232322 `;;
233 pathcomp=323 *) mkdir_umask=$umask,go-w;;
234324 esac
235 while test $# -ne 0 ; do325
236 pathcomp=$pathcomp$1326 # With -d, create the new directory with the user-specified mode.
327 # Otherwise, rely on $mkdir_umask.
328 if test -n "$dir_arg"; then
329 mkdir_mode=-m$mode
330 else
331 mkdir_mode=
332 fi
333
334 posix_mkdir=false
335 case $umask in
336 *[123567][0-7][0-7])
337 # POSIX mkdir -p sets u+wx bits regardless of umask, which
338 # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
339 ;;
340 *)
341 tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
342 trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
343
344 if (umask $mkdir_umask &&
345 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
346 then
347 if test -z "$dir_arg" || {
348 # Check for POSIX incompatibilities with -m.
349 # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
350 # other-writeable bit of parent directory when it shouldn't.
351 # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
352 ls_ld_tmpdir=`ls -ld "$tmpdir"`
353 case $ls_ld_tmpdir in
354 d????-?r-*) different_mode=700;;
355 d????-?--*) different_mode=755;;
356 *) false;;
357 esac &&
358 $mkdirprog -m$different_mode -p -- "$tmpdir" && {
359 ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
360 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
361 }
362 }
363 then posix_mkdir=:
364 fi
365 rmdir "$tmpdir/d" "$tmpdir"
366 else
367 # Remove any dirs left behind by ancient mkdir implementations.
368 rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
369 fi
370 trap '' 0;;
371 esac;;
372 esac
373
374 if
375 $posix_mkdir && (
376 umask $mkdir_umask &&
377 $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
378 )
379 then :
380 else
381
382 # The umask is ridiculous, or mkdir does not conform to POSIX,
383 # or it failed possibly due to a race condition. Create the
384 # directory the slow way, step by step, checking for races as we go.
385
386 case $dstdir in
387 /*) prefix='/';;
388 -*) prefix='./';;
389 *) prefix='';;
390 esac
391
392 eval "$initialize_posix_glob"
393
394 oIFS=$IFS
395 IFS=/
396 $posix_glob set -f
397 set fnord $dstdir
237 shift398 shift
238 if test ! -d "$pathcomp"; then
239 $mkdirprog "$pathcomp"
240 # mkdir can fail with a `File exist' error in case several
241 # install-sh are creating the directory concurrently. This
242 # is OK.
243 test -d "$pathcomp" || exit
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches