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
1=== modified file 'ChangeLog'
2--- ChangeLog 2009-06-30 15:58:15 +0000
3+++ ChangeLog 2009-07-27 22:39:29 +0000
4@@ -1,725 +1,2009 @@
5-PBXT Release Notes
6-==================
7-
8-------- 1.0.08 RC2 - 2009-06-30
9-
10-RN251: A Windows-specific test update, also removed false assertion that failed on Windows.
11-
12-RN250: 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.
13-
14-RN249: 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.
15-
16-RN248: PBXT now compiles and runs with MySQL 5.1.35. All tests pass.
17-
18-RN247: Fixed bug #369086: Incosistent/Incorrect Truncate behavior
19-
20-RN246: Fixed bug #378222: Drop sakila causes error: Cannot delete or update a parent row: a foreign key constraint fails
21-
22-RN245: Fixed bug #379315: Inconsistent behavior of DELETE IGNORE and FK constraint.
23-
24-RN244: 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.
25-
26-RN243: 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 registered
27-
28-RN242: 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 thread
29-
30-RN241: 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.
31-
32-RN240: Load the record cache on read when no using memory mapped files.
33-
34-RN239: 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.
35-
36-RN238: 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.
37-
38-RN237: 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.
39-
40-RN236: Fixed bug #349177: a bug in configure.in script.
41-
42-RN235: Fixed bug 349176: a compiler warning.
43-
44-RN234: Completed Drizzle integration. All Drizzle tests now run with PBXT.
45-
46-RN233: Fixed bugs which occur when PBXT is used together with PBMS (BLOB Streaming engine).
47-
48-RN232: Merged Drizzle-specific changes into the main tree.
49-
50-RN231: 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.
51-
52-RN230: 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.
53-
54-RN229: Fixed bug #313391: LOAD DATA ... REPLACE broken.
55-
56-RN228: Fixed bug #341115: 'Out of memory' error (a bug in key comparison algorithm).
57-
58-RN227: Changed conflict handling to use spin locks and improve efficiency.
59-
60-RN226: Fixed bug #340316: Issue with bigint unsigned auto-increment field.
61-
62-RN225: Fixed bug #308557: UPDATE fails to match all rows in a transactional scenario.
63-
64-RN224: Fixed a deadlock which could occur during table scans.
65-
66-RN223: Index scans now use handles to cache buffers instead of making a copy of the index page. The handles are "copy-on-write".
67-
68-RN222: 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.
69-
70-RN221: Fixed an index recovery bug. This occurred if the server crashed after operating in low index cache sitations.
71-
72-RN220: Improved index selectivity estimation: added scanning from the end of index backwards.
73-
74-RN219: Fixed a problem: during intersected range scan not all fields were returned by engine to MySQL.
75-
76-RN218: 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.
77-
78-RN217: Fixed bug #315564: Rollbacked inserts remain permanently in table.
79-
80-RN216: Added lock tracing. In DEBUG mode, each thread has a list of locks (semaphores, mutexes, r/w locks that it holds).
81-
82-RN215: Fixed a bug that caused a crash during restart if an index file was flushed during recovery.
83-
84-RN214: Fixed bug #310184: Deadlock when trying to wake up transactions
85-
86-RN213: 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.
87-
88-------- 1.0.07 RC - 2008-12-15
89-
90-RN212: Fixed build problems on NetBSD.
91-
92-RN211: Fixed build problems on FreeBSD.
93-
94-RN210: Fixed build problems on OpenSolaris.
95-
96-RN209: Added handling of the foreign_key_checks system flag.
97-
98-RN208: xtstat will now automatically reconnect if the connection to server is lost.
99-
100-RN207: Foreign key references are now checked on CREATE TABLE.
101-
102-RN206: Fixed a crash if inserting into a table that has an FK that references a column that has no index on it.
103-
104-RN205: Added processing of foreign key action SET DEFAULT.
105-
106-RN204: Fixed an index recovery problem: unswept index entries were not recovered correctly
107-
108-RN203: Fixed foreign key bug: REPLACE fails with 'on delete cascade'
109-
110-RN202: Fixes and updates to tests, now all tests pass on windows and linux.
111-
112-RN201: Fixed ref-counting for mmapped files.
113-
114-RN200: Fixed an index recovery problem: unswept index entries were not recovered correctly .
115-
116-RN199: Recovery now takes place on plug-in startup. Previously recovery occurred when the first PBXT table was accessed.
117-
118-RN198: Fixed a recovery bug that caused index entries to get out of sync with the data file.
119-
120-RN197: Improved the efficiency of group commit.
121-
122-RN196: 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.
123-
124-RN195: 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.
125-
126-RN194: Created the xtstat program which monitors the internal performance of PBXT. Run xtstat --help for more details information of the output.
127-
128-RN193: 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.
129-
130-RN192: 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.
131-
132-RN191: Fixed a bug that caused a hang when conflicts occured while reading a covering index.
133-
134-RN190: 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.
135-
136-RN189: Fixed a bug that could cause a row to go missing due to a visibility issue.
137-
138-RN188: 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.
139-
140-RN187: 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).
141-
142-RN186: Set version number to 1.0.07.
143-
144-------- 1.0.06 Beta 2 - 2008-11-06
145-
146-RN185: Disabled support for INSERT DELAYED because of MySQL bug #40505
147-
148-RN184: 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.
149-
150-RN183: Turned off streaming on Windows (see XT_STREAMING macro in sources)
151-
152-RN182: Switch code base to the latest version of BLOB streaming engine (PBMS): www.blobstreaming.org.
153-
154-RN181: Updated pbxt-test-run default parameters (--force is on, --default-storage-engine is pbxt, --base-dir is set according to config)
155-
156-RN180: PBXT can now cope with a missing .xti file (the file that contains the table indexes). This file can be regenerated using REPAIR TABLE.
157-
158-RN179: 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.
159-
160-RN178: Fixed a problem in CHECK TABLE that caused memory corruption for fixed-size records
161-
162-RN177: Added "crash debugging". When enabled, crash debugging does the following:
163- - Create a core dump on Windows if the server crashes.
164- - Make a backup copy of the datadir directory before recovery if the server crashes.
165- - Keep at least 5 of the previous transaction logs.
166-Currently 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.
167-
168-RN176: Fixed a bug: a lock was not released appropriately
169-
170-RN175: Fixed some debug assertions
171-
172-RN174: Fixed some of test/mysql-test tests
173-
174-RN173: Fixed a RENAME TABLE bug, that prevented index files from being properly recreated
175-
176-RN172: 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.
177-
178-RN171: 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.
179-
180-RN170: 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:
181- yes - Debug symbols enabled, no optimization, DEBUG not defined.
182- full - Debug symbols enabled, no optimization, DEBUG defined.
183- only - Debug symbols enabled, MySQL flags used, DEBUG not defined.
184- prof - Profile code enabled, optimization on, DEBUG not defined.
185- no - No debug symbols, optimization on, DEBUG not defined.
186-
187-RN169: Used MySQL root Makefile instead of config.status in order to extract settings (such as CFLAGS and CXXFLAGS) for the PBXT build.
188-
189-RN168: Fixed Windows build after merging changes for Drizzle.
190-
191-RN167: Fixed "This table requires primary key" error in sql-bench.
192-
193-RN166: Fixed threading problems that caused crashes in sql-bench.
194-
195-RN165: Added sql-bench to pbxt source tree.
196-
197-RN164: 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.
198-
199-RN163: 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
200-pbxt 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
201-from there) and passing the rest of usual arguments (--force --mysqld=--default-storage-engine=pbxt)
202-
203-RN162: 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.
204-
205-RN161: 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.
206-
207-RN160: Made changes to run with MySQL 6.0.6.
208-
209-RN159: 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'.
210-
211-Also updated --help, to include all options, and better desciptions of the options.
212-
213-The configure options are now as follows:
214-
215---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.
216---with-debug=yes/no - (Optional) Specify if then engine should be built with different debug options to the MySQL source tree.
217---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.
218-
219-
220-RN158: 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.
221-
222-RN157: Fixed a compile problem with tv_nsec which is not supported on all platforms.
223-
224-RN156: Updated tests to run with MySQL 5.1.28.
225-
226-RN155: Errors during cascade update of VARCHAR values with trailing spaces
227-
228-RN154: Fixed a bug: impossible to create a foreign key that referenced an ENUM or SET column
229-
230-RN153: 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 recursion
231-
232-RN152: Fixed missing information about foreign keys in I_S.table_constraints and I_S.referential_constraints
233-
234-------- 1.0.05 Beta - 2008-08-30
235-
236-RN151: "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.
237-
238-RN150: 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.
239-
240-RN149: 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.
241-
242-RN148: 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.
243-
244-RN147: Fixed a problem with TRUNCATE TABLE: a failed TRUNCATE TABLE could put the engine into an invalid state that later caused a crash
245-
246-RN146: Fixed a bug that caused the error: "-49: Record format unknown, either corrupted or upgrade required".
247-
248-RN145: Added pbxt_db_offline_log_function system variable, 0 = recycle logs (default), 1 = delete logs (default on Mac OS X), 2 = keep logs.
249-
250-------- 1.0.04 Alpha - 2008-08-02
251-
252-RN144: Completed port and testing of Windows version.
253-
254-RN143: 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.
255-
256-RN142: The fast RW/mutex lock can now handle nested calls. This is possible during a sequential scan.
257-
258-RN141: 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.
259-
260-A 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.
261-
262-However, 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.
263-
264-RN140: Index statistics are now automatically recalculated when the table row count exceeds 200.
265-
266-RN139: Fixed a bug that caused index corruption, error: "int idx_push(index_xt.cc:172) -2: Core B-tree too deep".
267-
268-RN138: Handle startup and recovery when an index is corrupted.
269-
270-RN137: 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).
271-
272-RN136: Fixed a bug that cause the error "int xt_pwrite_file(filesys_xt.cc:789) errno (14): Bad address".
273-
274-RN135: Fixed TRUNCATE TABLE that did not work correctly when the table contained BLOBs stored in the BLOB streaming engine (www.blobstreaming.org).
275-
276-RN134: 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.
277-
278-RN133: 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].
279-
280-------- 1.0.03 Alpha - 2008-05-30
281-
282-RN132: Fixed bug when using PBXT in conjunction with the BLOB streaming engine (www.blobstreaming.org). Uploaded BLOBs could not be inserted into a table.
283-
284-RN131: Fixed wait for background processes on shutdown. Shutdown will wait a maximum of 16 seconds for each process.
285-
286-RN130: Fixed calculation of bytes to be read for recovery.
287-
288-RN129: Fixed bug in cleanup of unterminated transactions.
289-
290-RN128: The writer will now start working when one of the following is true:
291-- it is time for a checkpoint,
292-- the log cache is almost full,
293-- the free'er is waiting for the writer,
294-- there is no other activity.
295-
296-RN127: Fixed checkpoint frequency. Checkpointing is now done correctly after 'pbxt_checkpoint_frequency' bytes.
297-
298-RN126: Implemented index consistent write [TODO: 0050].
299-
300-RN125: Implemented memory mapping for row pointer (.xtr) and handle data files (.xtd).
301-
302-RN124: Index files now use direct I/O.
303-
304-------- 1.0.02 Alpha - 2008-04-25
305-
306-RN123: Fixed compile errors with MySQL 5.1.24.
307-
308-------- 1.0.01 Alpha - 2008-03-28
309-
310-RN122: ++++ NOTE: This version is not compatible with older versions of PBXT ++++.
311-
312-RN121: Transaction logs are now global so that multi-database statements are now possible. This makes it also possible to work PBXT temporary tables.
313-
314-RN120: Transaction logs pre-allocated and recycled.
315-
316-RN119: Transaction log writes on 512 byte boundaries only.
317-
318-------- 1.0.00 Alpha - 2008-03-10
319-
320-This version has alpha status because of the large number of changes done for full durability.
321-
322-RN118: ++++ NOTE: This version is incompatible to older versions of PBXT ++++.
323-
324-RN117: Documentation now avaliable at http://www.primebase.org/documentation.
325-
326-RN116: Corrected the plug.in file so that PBXT compiles when dropped into the storage directory in the MySQL source tree.
327-
328-RN115: Compiled and tested with MySQL 5.1.23.
329-
330-RN114: Increased index block size. Minimum is now 4K. Default is 16K.
331-
332-RN113: 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.
333-
334-RN112: Optimized table storage, saving 8 bytes per row.
335-
336-RN111: Optimized search on keys containing 2 or 3 not null integer values.
337-
338-RN110: 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.
339-
340-RN109: Optimization: only load the record extended data if required.
341-
342-RN108: Implemented SHOW ENGINE PBXT STATUS;
343-
344-RN107: Added the following system variables:
345-
346-pbxt_index_cache_size - The amount of memory allocated to the index cache, used only to cache index data
347-pbxt_record_cache_size - The amount of memory allocated to the record cache used to cache table data
348-pbxt_log_cache_size - The amount of memory allocated to the transaction log cache used to cache on transaction log data
349-pbxt_log_file_threshold - The size of a transaction log before rollover, and a new log is created
350-pbxt_transaction_buffer_size - The size of the global transaction log buffer (the engine allocates 2 buffers of this size)
351-pbxt_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 log
352-pbxt_checkpoint_frequency - The amount of data written to the transaction log before a checkpoint is performed
353-pbxt_data_log_threshold - The maximum size of a data log file
354-pbxt_garbage_threshold - The percentage of garbage in a data log file before it is compacted
355-
356-RN106: PBXT now compiles for MySQL 6.0.3.
357-
358-RN104: 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.
359-
360-RN103: 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.
361-
362-RN102: 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.
363-
364-RN101: Writing and flushing of a single transaction write-ahead log.
365-
366-RN100: Automatic rollover of transaction logs as they become full.
367-
368-RN99: Implementation of the transaction log cache.
369-
370-RN98: Group commit.
371-
372-RN97: Implementation of the writer thread that applies changes in the transaction log to the database.
373-
374-RN96: Implementation of the checkpointer thread that periodically flushes the database and writes a checkpoint which determines the recovery start point.
375-
376-RN95: Implementation of the free'er thread that is responsible for keeping the record cache at a preset level.
377-
378-RN94: Modifications to the record cache so that rows are stored in pages, in order to speed up sequence access.
379-
380-RN93: Implemented the recovery process which applies changes written to the log that are not in the database, on startup.
381-
382-RN92: Modification of the sweeper thread which cleans up rolled-back transactions and deleted data, to use the new transaction log format.
383-
384-RN91: Modifications to the data logs so that they use the same record structure as the transaction logs.
385-
386-RN90: The data logs are now managed "per database" in order to minimize the work done to flush and commit a transaction.
387-
388-RN89: Implementation of a file handle pool for the data logs.
389-
390-------- 0.9.91 Beta - 2007-10-30
391-
392-RN88: The format of the URL genearated by MyBS has been changed. The format of the BLOB URLs is now as follows:
393-
394-'~*' <db-name> '/' <type-char> <table-id> '-' <blob-id> '-' <access-code> '-' <server-id>
395-
396-Where <type-char> is '_' or '~'.
397-
398-Examples: ~*test/_11-128-fbd590b-0, ~*test/~1-524-3dc45b09-0
399-
400-In 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.
401-
402-NOTE: 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:
403-
404-UPDATE blob_table SET blob_col = REPLACE(REPLACE(blob_col, '~>', '~*'), '/:', '/~');
405-
406-Replacing '^' is not necessary because BLOB URLs with '^' should not appear in tables.
407-
408-------- 0.9.90 Beta - 2007-10-17
409-
410-RN87: Corrected stack trace of errors passed through the BLOB streaming API.
411-
412-RN86: Added new engine API accessor functions that appeared in 5.1.21 (thanks Stewart).
413-
414-RN85: 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:
415-
416-rm -rf autom4te.cache/
417-aclocal
418-autoconf
419-autoheader
420-automake -a
421-./configure --help
422-./configure --with-plugins=max --without-innodb --prefix=/usr/local/mysql --with-debug=full
423-
424-NOTE: ./configure --help should show that the PBXT has been included.
425-
426-RN84: Fixed several problems with shutdown of PBXT in combiniation with MyBS.
427-
428-------- 0.9.89 Beta - 2007-08-17
429-
430-RN83 (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_()).
431-
432-RN82: 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.
433-
434-RN81: Fixed a bug that caused PBXT to crash during certina operations when MyBS was not installed.
435-
436-RN80: Set engine as capable of row-level replication, but not as statement replication. Statement replication does not work because MVCC is not serializable.
437-
438-------- 0.9.88 Beta - 2007-07-25
439-
440-RN79: Made some corrections in order to compile with MySQL 5.1.20.
441-
442-RN78: Support for the features of the MyBS BLOB Streaming engine, version 0.5 Alpha.
443-
444-RN77: Bugfix: The server crashes during BLOB data handling. The reason is the table field structure is shared, and may not be changed.
445-
446-------- 0.9.87 Beta - 2007-06-19
447-
448-RN76: 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:
449-
450-use test;
451-CREATE TABLE notes_tab (
452- n_id INTEGER PRIMARY KEY,
453- n_text BLOB
454-) ENGINE=pbxt;
455-INSERT notes_tab VALUES (1, "This is a BLOB streaming test!");
456-
457-The URL:
458-
459-http://localhost:8080/test/notes_tab/n_text/n_id=1
460-
461-will return the value "This is a BLOB streaming test!"
462-
463-RN75: Bugfix: MySQL prints error: "Plugin 'PBXT' will be forced to shutdown". This error was caused by the plug-in having a reference to itself.
464-
465-RN74: 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.
466-
467-------- 0.9.86 Beta - 2007-04-07
468-
469-RN74: ++++ NOTE: This version is incompatible to older versions of PBXT ++++.
470-
471-In 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.
472-
473-RN73: 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]
474-
475-RN72: 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.
476-
477-RN71: Removed all directory scans when creating and dropping table. Increased the table limit to 10000.
478-
479-RN70: Changed locking to avoid a deadlock when TRUNCATE TABLE is used together with other DML.
480-
481-RN69: procedures and functions are now considered atomic, and execute in a single transaction.
482-
483-RN68: Bug fixed: all files are now correctly flushed before commit.
484-
485-------- 0.9.85 Beta - 2007-03-15
486-
487-RN67: 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).
488-
489-RN66: Fixed a bug that caused PBXT to corrupt the index file when the size exceeded 4GB. [TODO: 0031]
490-
491-RN65: 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]
492-
493-RN64: 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.
494-
495-RN63: Added checking for repeat update of a record in a statement.
496-
497-RN62: Committed read no longer blocks due to a change made by another transaction (the XT_REPEATABLE_READ_BLOCKS define, turns blocking on).
498-
499-RN61: Avoid checking for duplicates if an index is not modified by an update.
500-
501-RN60: Records updated repeatedly by a transaction are now updated in place. [TODO: 0040]
502-
503-------- 0.9.8 Beta - 2007-01-30
504-
505-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).
506-
507-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.
508-
509-RN57: Changed error number returned on lock from 1205 (lock timeout) to 1020 (optimistic lock failure).
510-
511-RN56: Added UNIX environment variable for PBXT system parameters. These must be set before starting mysqld, for example:
512-
513-setenv pbxt_index_cache_size 400MB
514-setenv pbxt_record_cache_size "1 GB"
515-
516-Values are in bytes unless one of the following units is specified: GB, MB, Kb
517-
518-RN55: Fixed a bug which prevented VARCHAR values from being compressed correctly when stored in variable length rows.
519-
520-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.
521-
522-RN53: Set query caching mode to transactional. [TODO: 0027]
523-
524-RN52: Added conditions so that the engine compiles with MySQL 5.1.14 and 5.1.13.
525-
526-------- 0.9.74 Beta - 2006-12-14
527-
528-RN51: 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.
529-
530-RN50: The test scripts innodb.test and innodb-mysql.test have been modified to run with PBXT.
531-
532-RN49: [TODO: 0020] Implemented foreign keys. Functionality is identical to InnoDB with 2 exceptions:
533-
534-* Data types of referenced columns must be an exact match (e.g. you cannot mix VARCHAR and CHAR values).
535-* 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).
536-
537-Also note the following:
538-
539-* 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.
540-* 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.
541-
542-RN48: Fixed a bug in the implementation of indexes on ENUM and SET types.
543-
544-RN47: Fixed a bug that caused a crash when an index was place on a BLOB column, and data was retrieved from the index directly.
545-
546-------- 0.9.73 Beta - 2006-10-31
547-
548-RN46: Updated test scripts to run with MySQL 5.1.13.
549-
550-------- 0.9.72 Beta - 2006-10-19
551-
552-RN45: Corrected compilation errors that occurred due to a change to struct st_mysql_plugin.
553-
554-------- 0.9.71 Beta - 2006-10-04
555-
556-RN44: Corrected compilation errors that occurred due to changes in the storage engine API.
557-
558-------- 0.9.7 Beta - 2006-09-20
559-
560-RN43: 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.
561-
562-RN42: ++++ NOTE: This version is incompatible to older versions of PBXT ++++. Files created by older versions cannot be opened by version 0.9.7.
563-
564-RN41: Renaming or deleting a table while using a name with different case to the original created name did not work.
565-
566-RN40: Fixed a bug when grouping and searching on indexed columns that contain a null.
567-
568-RN39: 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.
569-
570-RN38: The default AUTO_INCREMENT value was not correctly preserved during ALTER TABLE.
571-
572-RN37: Created a MySQL 5.1 Plugin version of PBXT. [TODO: 0017]
573-
574-RN36: 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.
575-
576-------- 0.9.6 - 2006-08-05
577-
578-RN35: ++++ NOTE: This version is incompatible to older versions of PBXT ++++.
579-
580-The 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.
581-
582-RN34: 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.
583-
584-RN33: 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));
585-
586-With the following contents: c1 c2
587- A 8
588- B 1
589-
590-After executing the following statement: insert into t1 (c1) values ('B');
591-
592-This is the result using PBXT: c1 c2
593- A 8
594- B 1
595- B 9
596-
597-The standard result would be: c1 c2
598- A 8
599- B 1
600- B 2
601-
602-RN32: PBXT does not permit access to multiple databases within a single transaction. For example:
603-
604-begin;
605-update database_1.t1 set a=10;
606-update database_2.t2 set d=10;
607-commit;
608-
609-In this case the following error is returned: 1015: Can't lock file (errno: -1)
610-
611-RN31: 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.
612-
613-RN30: 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.
614-
615-RN29: PBXT compiles and runs on under 64-bit Lunix. [TODO: 0009]
616-
617-RN28: ./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]
618-
619-RN27: 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:
620-
621-LOCK TABLES, BEGIN, COMMIT, UNLOCK TABLES, SELECT
622-or
623-LOCK TABLES, BEGIN, COMMIT, BEGIN, SELECT COMMIT, UNLOCK TABLES
624-
625-RN26: Fixed a concurrency problem which caused a number of threads to hang during the sysbench test - see RN30 above (bug reported by Vadim).
626-
627-RN25: 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.
628-
629-RN24: Fixed bug in the indexing of blob columns, for example: create table t1(name_id int, name blob, INDEX name_idx (name(5)));
630-
631-RN23: When a duplicate key error occurs in auto-commit mode, the transaction is now rolled back.
632-
633-RN22: 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:
634-
635-create table t1 (id int not null, str char(10), unique(str));
636-insert into t1 values (1, null),(2, null),(3, "foo"),(4, "bar");
637-
638-RN21: PBXT now returns the correct error code on duplicate key: 1062 instead of 1022.
639-
640-RN19: 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:
641-
642-create table t1 (c1 char(10) not null, c2 int not null auto_increment, primary key(c1, c2));
643-select * from t1;
644-c1 c2
645-A 8
646-B 1
647-
648-insert into t1 (c1) values ('B');
649-select * from t1;
650-c1 c2
651-A 8
652-B 1
653-B 9
654-
655-The standard result would be:
656-c1 c2
657-A 8
658-B 1
659-B 2
660-
661-RN18: 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]
662-
663-RN17: Implemented CREATE TABLE (...) auto_increment=<value>;
664-
665-------- 0.9.51 - 2006-07-06
666-
667-RN16: Fixed crash which could occur when creating the first table in a database (bug reported by Hakan).
668-
669-------- 0.9.5 - 2006-07-03
670-
671-RN15: This version concludes the re-structuring of the PBXT implementation. I have made a number of major changes, including:
672-
673-- 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.
674-
675-- I have merged the handle and the fixed length row data for performance reasons.
676-
677-- 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.
678-
679-- Memory mapped files are no longer used because it is not possible to flush changes to the disk.
680-
681-RN14: File names have the following forms:
682-
683-[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.
684-
685-[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.
686-
687-[table-name].xti - This file contains the index data of the table.
688-
689-[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.
690-
691-xtlog-[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.
692-
693-RN13: Fixed the bug "Hang on DROP DATABASE". [TODO: 0016]
694-
695-RN12: 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.
696-
697-If 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.
698-
699-RN11: I have implemented write buffering on the table data files. [TODO: 0013]
700-
701-RN10: The unique constraint (UNIQUE INDEX/PRIMARY KEY) is now checked correctly. [TODO: 0008]
702-
703-RN9: 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]
704-
705-RN8: PBXT now has only 2 caches [TODO: 0006]:
706-
707-The 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.
708-
709-The 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'.
710-
711-The 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.
712-
713-RN7: 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]
714-
715-RN6: ./run-all-tests --create-options=TYPE=PBXT succeeds. [TODO: 0004]
716-
717-RN5: Using sql-bench and my own Java based test I have confirmed that PBXT behaves correctly during multi-threaded access. [PARTIALY TODO: 0002]
718-
719-RN4: Load/Stability test. Using sql-bench I have tested PBXT under load over a long period of time. [PARTIALY TODO: 0001]
720-
721-------- 0.9.2 - 2006-04-01
722-
723-RN3: Fixed a bug that cause the error "-6: Handle is out of range: [0:0]".
724-
725-RN2: Implemented SET, ENUM and YEAR data types.
726-
727-RN1: Fixed a bug in the error reporting when a table is created with a datatype that is not supported. [TODO: 0011]
728-
729+ 664 Paul McCullagh 2009-06-30 [merge]
730+ Merged with trunk
731+
732+ 663 Paul McCullagh 2009-06-26
733+ Free the cache page handle as soon as possible
734+
735+ 662 Paul McCullagh 2009-06-24
736+ Corrected the FK test result
737+
738+ 661 Paul McCullagh 2009-06-23 [merge]
739+ date for DELETE IGNORE fix
740+
741+ 660 Paul McCullagh 2009-06-23 [merge]
742+ Merged RN249
743+
744+ 659 Paul McCullagh 2009-06-17 [merge]
745+ Merged RN248
746+
747+ 658 Paul McCullagh 2009-06-16 [merge]
748+ Merged RN246
749+
750+ 657 Paul McCullagh 2009-06-11 [merge]
751+ Merged RN245
752+
753+ 656 Paul McCullagh 2009-06-10 [merge]
754+ Merged RN244
755+
756+ 655 Paul McCullagh 2009-06-03 [merge]
757+ Merged RN243
758+
759+ 654 Paul McCullagh 2009-06-02
760+ Fixed a hang that can occur when the index cache is flushed. Hang was due to an unnecessary wait in unlock
761+
762+ 653 Paul McCullagh 2009-05-29 [merge]
763+ Merged type_enum test fix
764+
765+ 652 Paul McCullagh 2009-05-28 [merge]
766+ Merged RN241
767+
768+ 651 Paul McCullagh 2009-05-27 [merge]
769+ Merged fix to dirent on Solaris
770+
771+ 650 Paul McCullagh 2009-05-27
772+ Merged changes required by Drizzle
773+
774+ 649 Paul McCullagh 2009-05-26
775+ Compile without warnings for Drizzle
776+
777+ 648 Paul McCullagh 2009-05-26
778+ Tuning for sysbench
779+
780+ 647 Paul McCullagh 2009-05-26 [merge]
781+ Merged with trunk
782+
783+ 646 Paul McCullagh 2009-05-26
784+ Load the record cache on read when no using memory mapped files
785+
786+ 645 Paul McCullagh 2009-05-21
787+ Added PBXT_STATISTICS table name
788+
789+ 644 Paul McCullagh 2009-05-20
790+ Uhm... unlock (wrong macro)
791+
792+ 643 Paul McCullagh 2009-05-20
793+ Declaration forgotten
794+
795+ 642 Paul McCullagh 2009-05-20
796+ Atomic operations are no longer required to compile an run
797+
798+ 641 Paul McCullagh 2009-05-20
799+ Added pbxt_max_threads variable
800+
801+ 640 Paul McCullagh 2009-05-19
802+ Changes for compiling on Solaris 10
803+
804+ 639 Paul McCullagh 2009-05-19
805+ Removed __attribute__((unused))
806+
807+ 638 Paul McCullagh 2009-05-19
808+ Changes after compiling and testing for Drizzle
809+
810+ 637 Paul McCullagh 2009-05-14
811+ Tuning: use new lock types xsmutex and spinxslock, 1019 row lock slots, 256 xact segments
812+
813+ 636 Paul McCullagh 2009-05-14
814+ Handle index versioning for the new lazy delete type indexes
815+
816+ 635 Paul McCullagh 2009-05-14
817+ Use matching macros
818+
819+ 634 Paul McCullagh 2009-05-14
820+ Changed locking options
821+
822+ 633 Paul McCullagh 2009-05-14
823+ implemented a new type of X/S mutex, that does not require a thread array
824+
825+ 632 Paul McCullagh 2009-05-14
826+ Removed unused parameter
827+
828+ 631 Paul McCullagh 2009-05-14
829+ Added a new type of atomic spin lock
830+
831+ 630 Paul McCullagh 2009-05-12
832+ Added a new type of spin R/W mutex lock
833+
834+ 629 Paul McCullagh 2009-05-12
835+ Added an options to spin while waiting for I/O on the transaction log
836+
837+ 628 Paul McCullagh 2009-05-11
838+ Adjust to optimal number of transactions behind
839+
840+ 627 Paul McCullagh 2009-05-11
841+ Adjust to optimal number of transactions behind
842+
843+ 626 Paul McCullagh 2009-05-11
844+ Adjust to optimal number of transactions behind
845+
846+ 625 Paul McCullagh 2009-05-11
847+ Make the number behind variable
848+
849+ 624 Paul McCullagh 2009-05-11
850+ Added an option to wait for the sweeper to clean up old transactions on a particular connection
851+
852+ 623 Paul McCullagh 2009-05-11
853+ Added option to use a different type of index cache page lock
854+
855+ 622 Paul McCullagh 2009-05-08
856+ Implemented lazy deleted for fixed length indexes
857+
858+ 621 Paul McCullagh 2009-05-08
859+ Disable lazy deleting
860+
861+ 620 Paul McCullagh 2009-05-08
862+ Implemented lazy deleted for fixed length indexes
863+
864+ 619 Paul McCullagh 2009-05-04
865+ Use a slock on the page on release handle
866+
867+ 618 Paul McCullagh 2009-05-04
868+ Added an options to wait for cleanup
869+
870+ 617 Paul McCullagh 2009-05-04
871+ Added connection tracking for performance debugging
872+
873+ 616 Paul McCullagh 2009-04-30
874+ Allow the number of transaction segments to be increased
875+
876+ 615 Paul McCullagh 2009-04-30
877+ Added atomic R/W lock that favors writers
878+
879+ 614 Paul McCullagh 2009-04-27
880+ Changes from merge with Drizzle
881+
882+ 613 Paul McCullagh 2009-04-09 [merge]
883+ Merged RN236
884+
885+ 612 Paul McCullagh 2009-04-09
886+ Added parenthesis to avoid compiler warning
887+
888+ 611 Paul McCullagh 2009-04-08 [merge]
889+ Merged RN235
890+
891+ 610 Paul McCullagh 2009-04-08 [merge]
892+ Merged RN234: Drizzle integration
893+
894+ 609 Paul McCullagh 2009-04-03
895+ Test only works with MyISAM because of dirty tricks
896+
897+ 608 Paul McCullagh 2009-04-02
898+ Changes to tests required by Maria
899+
900+ 607 Paul McCullagh 2009-04-02
901+ Dereference missing on exception
902+
903+ 606 Paul McCullagh 2009-04-02
904+ Handle create table error correctly
905+
906+ 605 Paul McCullagh 2009-03-31
907+ Added release note
908+
909+ 604 Paul McCullagh 2009-03-31
910+ Fixed bugs which occur when PBXT is used together with PBMS
911+
912+ 603 Paul McCullagh 2009-03-31
913+ Improved average row estimates
914+
915+ 602 Paul McCullagh 2009-03-30
916+ Fixed auto-increment value returned to MySQL
917+
918+ 601 Paul McCullagh 2009-03-27 [merge]
919+ Pre-increment the auto-increment value to allow max value in column
920+
921+ 600 Paul McCullagh 2009-03-26
922+ Fixed crash that can occur after deadlock detected
923+
924+ 599 Paul McCullagh 2009-03-26 [merge]
925+ Merged changes for RN232
926+
927+ 598 Paul McCullagh 2009-03-25
928+ Free open tables from pool only after a certain time, to reduce affect of MySQL open/close handlers
929+
930+ 597 Paul McCullagh 2009-03-24
931+ Use a reference to the table instead of a table ID, this saves a lot
932+
933+ 596 Paul McCullagh 2009-03-24
934+ Use a spin lock here
935+
936+ 595 Paul McCullagh 2009-03-24
937+ Make sure table initialization in ha_pbxt is only done when the table is actually openned
938+
939+ 594 Paul McCullagh 2009-03-24
940+ May be NULL on shutdown
941+
942+ 593 Paul McCullagh 2009-03-23
943+ Fixed a bug that caused a long pause when MySQL starts to close table handlers
944+
945+ 592 Paul McCullagh 2009-03-23
946+ Don't spin so much, condition wait works now
947+
948+ 591 Paul McCullagh 2009-03-21
949+ Use wait condition per thread, to avoid conflict
950+
951+ 590 Paul McCullagh 2009-03-20
952+ Oldest transactions are scheduled first
953+
954+ 589 Paul McCullagh 2009-03-20
955+ Wait for transaction will not stop spinning after a while
956+
957+ 588 Paul McCullagh 2009-03-19
958+ Fixed bug that crashed lock queue stuff
959+
960+ 587 Paul McCullagh 2009-03-19
961+ Added debug code for lock queue
962+
963+ 586 Paul McCullagh 2009-03-19
964+ 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
965+
966+ 585 Paul McCullagh 2009-03-19 [merge]
967+ Merged RN229
968+
969+ 584 Paul McCullagh 2009-03-18 [merge]
970+ Merged atomic op change
971+
972+ 583 Paul McCullagh 2009-03-18 [merge]
973+ Merged memory leak fix
974+
975+ 582 Paul McCullagh 2009-03-18 [merge]
976+ Merged RN228
977+
978+ 581 Paul McCullagh 2009-03-16
979+ Do not wait unless the transaction has ended
980+
981+ 580 Paul McCullagh 2009-03-16
982+ Use a sleep condition for longer waits
983+
984+ 579 Paul McCullagh 2009-03-13
985+ Changed conflict handling to use spin locks and improve efficiency
986+
987+ 578 Paul McCullagh 2009-03-12 [merge]
988+ Merged RN226
989+
990+ 577 Paul McCullagh 2009-03-12 [merge]
991+ Merged RN225
992+
993+ 576 Paul McCullagh 2009-03-09
994+ Use a read instead of a lock map (should be quicker), fixed sequential scan bug introduced by last change
995+
996+ 575 Paul McCullagh 2009-03-06 [merge]
997+ Merged a fix to RN220
998+
999+ 574 Paul McCullagh 2009-03-06 [merge]
1000+ Merged atomic dec/inc improvement
1001+
1002+ 573 Paul McCullagh 2009-03-05
1003+ Correcting cleanup
1004+
1005+ 572 Paul McCullagh 2009-03-05 [merge]
1006+ Merged bug fix RN224
1007+
1008+ 571 Paul McCullagh 2009-03-05
1009+ Failed sometime when outside the spinlock
1010+
1011+ 570 Paul McCullagh 2009-03-03
1012+ Use the RW mutex type lock
1013+
1014+ 569 Paul McCullagh 2009-03-03
1015+ Added the XADD variation
1016+
1017+ 568 Paul McCullagh 2009-03-02
1018+ Split the handles into slot to reduce contention
1019+
1020+ 567 Paul McCullagh 2009-03-02
1021+ Corrected pthread version of the lock
1022+
1023+ 566 Paul McCullagh 2009-03-02
1024+ Better check code
1025+
1026+ 565 Paul McCullagh 2009-03-02
1027+ Added debug checking
1028+
1029+ 564 Paul McCullagh 2009-02-27
1030+ Lock type can now be changed
1031+
1032+ 563 Paul McCullagh 2009-02-27
1033+ Goto may not jump initialisation
1034+
1035+ 562 Paul McCullagh 2009-02-27
1036+ Some comments
1037+
1038+ 561 Paul McCullagh 2009-02-27
1039+ Index scans now use handles to cache buffersm instead of making a copy of the index page
1040+
1041+ 560 Paul McCullagh 2009-02-27
1042+ Fixed a race condition in the RW Mutex lock
1043+
1044+ 559 Paul McCullagh 2009-02-25 [merge]
1045+ Merged RN220
1046+
1047+ 558 Paul McCullagh 2009-02-25
1048+ xt_idx_delete_current unused
1049+
1050+ 557 Paul McCullagh 2009-02-25
1051+ Locking forgotten
1052+
1053+ 556 Paul McCullagh 2009-02-24
1054+ Optimiser did not seem to handle this correctly
1055+
1056+ 555 Paul McCullagh 2009-02-23
1057+ The freeer must be started before recovery or the sweeper will hang when out of record cache
1058+
1059+ 554 Paul McCullagh 2009-02-23
1060+ Fixed index recovery bug
1061+
1062+ 553 Paul McCullagh 2009-02-20
1063+ Implemented concurrent updating of indexes and remover the memcpy's
1064+
1065+ 552 Paul McCullagh 2009-02-18 [merge]
1066+ Merged RN219
1067+
1068+ 551 Paul McCullagh 2009-02-18
1069+ Built trunk
1070+
1071+ 550 Paul McCullagh 2009-02-17 [merge]
1072+ Merged compile fix, and solaris bug fix
1073+
1074+ 549 Paul McCullagh 2009-02-17
1075+ Standard pthread locks are more efficient on LINUX
1076+
1077+ 548 Paul McCullagh 2009-02-17
1078+ Use an absolute path when embedded - this is required if a symbolic link to pbxt is used
1079+
1080+ 547 Paul McCullagh 2009-02-13
1081+ Operations now atomic, and return correct value
1082+
1083+ 546 Paul McCullagh 2009-02-13
1084+ Hang on 8 core may be due to this value not being written through to memory
1085+
1086+ 545 Paul McCullagh 2009-02-12
1087+ Trying to make timing more responsive
1088+
1089+ 544 Paul McCullagh 2009-02-12
1090+ Reduced sleep times...
1091+
1092+ 543 Paul McCullagh 2009-02-10
1093+ Wait for other transactions for as long as the last transaction log flush took
1094+
1095+ 542 Paul McCullagh 2009-02-10
1096+ Option to reset the trace after dump
1097+
1098+ 541 Paul McCullagh 2009-02-10
1099+ Moved trace to end of operation
1100+
1101+ 540 Paul McCullagh 2009-02-10
1102+ Removed debugs
1103+
1104+ 539 Paul McCullagh 2009-02-10
1105+ Added a release not for the locking change
1106+
1107+ 538 Paul McCullagh 2009-02-10
1108+ Implemented list-based locking in order to avoid conflicts that occur with the group based locking
1109+
1110+ 537 Paul McCullagh 2009-02-05
1111+ Cleaned up statement trace
1112+
1113+ 536 Paul McCullagh 2009-02-05
1114+ Changed function name
1115+
1116+ 535 Paul McCullagh 2009-02-04 [merge]
1117+ Merged from trunk
1118+
1119+ 534 Paul McCullagh 2009-02-03
1120+ Do not read if a page is at the EOF. Also added a function to load RAM for testing
1121+
1122+ 533 Paul McCullagh 2009-01-26 [merge]
1123+ Added lock tracing
1124+
1125+ 532 Paul McCullagh 2009-01-26 [merge]
1126+ Merged changes for RN214
1127+
1128+ 531 Paul McCullagh 2009-01-26 [merge]
1129+ Merged from trunk
1130+
1131+ 530 Paul McCullagh 2009-01-26
1132+ Fixed a bug that caused a crash during restart if an index file was flushed during recovery
1133+
1134+ 529 Paul McCullagh 2009-01-26
1135+ Added start log id to xt_dump_xlogs, NEVER_CHECKPOINT turns off checkpointing completely
1136+
1137+ 528 Paul McCullagh 2008-12-22
1138+ Set version to 1.0.08
1139+
1140+ 527 Paul McCullagh 2008-12-22
1141+ Set version to 1.0.08
1142+
1143+ 526 Paul McCullagh 2008-12-22 [merge]
1144+ Merge Solaris atomic ops implementation
1145+
1146+ 525 Paul McCullagh 2008-12-22
1147+ Fixed compiler warnings where NULL should be 0
1148+
1149+ 524 Paul McCullagh 2008-12-18
1150+ Fixed a MySQL assertion failure which occurred during INSTALL PLUGIN
1151+
1152+ 523 Paul McCullagh 2008-12-18 [merge]
1153+ Merge netbsd compile fixes
1154+
1155+ 522 Paul McCullagh 2008-12-16 [merge]
1156+ Merged from trunk
1157+
1158+ 521 Paul McCullagh 2008-12-16
1159+ Merged from trunk
1160+
1161+ 520 Paul McCullagh 2008-12-16
1162+ Allow different size VARCHAR values to match in FK-PK references
1163+
1164+ 519 Paul McCullagh 2008-12-16
1165+ Allow different size VARCHAR values to match in FK-PK references
1166+
1167+ 518 Paul McCullagh 2008-12-16 [merge]
1168+ Merged from trunk
1169+
1170+ 517 Paul McCullagh 2008-12-16
1171+ Checkpoint was hanging if required during high activity
1172+
1173+ 516 Paul McCullagh 2008-12-12
1174+ Fixed compilation warning on Windows
1175+
1176+ 515 Paul McCullagh 2008-12-11 [merge]
1177+ Merged FK error reporting fix
1178+
1179+ 514 Paul McCullagh 2008-12-11
1180+ Done before
1181+
1182+ 513 Paul McCullagh 2008-12-11
1183+ Added --display option, and scan and row statistics
1184+
1185+ 512 Paul McCullagh 2008-12-11
1186+ Changes for compiling Drizzle
1187+
1188+ 511 Paul McCullagh 2008-12-11
1189+ Merged changes from Drizzle
1190+
1191+ 510 Paul McCullagh 2008-12-11
1192+ xtstat now does an auto-reconnect
1193+
1194+ 509 Paul McCullagh 2008-12-10
1195+ Fixed MySQL lock macros
1196+
1197+ 508 Paul McCullagh 2008-12-10
1198+ Added release note
1199+
1200+ 507 Paul McCullagh 2008-12-10
1201+ Added error for FK reference of temporary table
1202+
1203+ 506 Paul McCullagh 2008-12-10 [merge]
1204+ Merged from trunk
1205+
1206+ 505 Paul McCullagh 2008-12-10
1207+ Added error for FK reference of temporary table
1208+
1209+ 504 Paul McCullagh 2008-12-10
1210+ Added a flag to remember if a table is temporary
1211+
1212+ 503 Paul McCullagh 2008-12-10
1213+ Foreign key references are now checked on CREATE TABLE
1214+
1215+ 502 Paul McCullagh 2008-12-10
1216+ Foreign key references are now checked on CREATE TABLE
1217+
1218+ 501 Paul McCullagh 2008-12-10
1219+ Added some to-dos
1220+
1221+ 500 Paul McCullagh 2008-12-10
1222+ Potential NO ACTION implementation
1223+
1224+ 499 Paul McCullagh 2008-12-10
1225+ Before image can be NULL on cascade operations
1226+
1227+ 498 Paul McCullagh 2008-12-10
1228+ Load table on CREATE TABLE to check FK references, before image can be NULL on cascade operations
1229+
1230+ 497 Paul McCullagh 2008-12-10
1231+ We must flush the log ahead of the index to ensure there is nothing in the index that cannot be undone on recovery
1232+
1233+ 496 Paul McCullagh 2008-12-10
1234+ Added referenced_by_foreign_key() to make sure REPLACE works correctly when foreign key references exist
1235+
1236+ 495 Paul McCullagh 2008-12-10
1237+ Removed option, unused
1238+
1239+ 494 Paul McCullagh 2008-12-10
1240+ Potential NO ACTION implementation
1241+
1242+ 493 Paul McCullagh 2008-12-10
1243+ Pool was not released in the case of an exception
1244+
1245+ 492 Paul McCullagh 2008-12-08
1246+ Handle the case were the index entry exists, but the row ID has not been set yet
1247+
1248+ 491 Paul McCullagh 2008-12-08
1249+ Added the --protocol option
1250+
1251+ 490 Paul McCullagh 2008-12-08 [merge]
1252+ Merged changes for RN200,201,202
1253+
1254+ 489 Paul McCullagh 2008-12-05
1255+ Fixed xtstat options
1256+
1257+ 488 Paul McCullagh 2008-12-05 [merge]
1258+ Merge trunk
1259+
1260+ 487 Paul McCullagh 2008-12-05
1261+ Fixed bugs with checkpointing
1262+
1263+ 486 Paul McCullagh 2008-12-04
1264+ Recovery now takes place on plug-in startup
1265+
1266+ 485 Paul McCullagh 2008-12-04
1267+ Added an error message if the transaction log uses a newer format
1268+
1269+ 484 Paul McCullagh 2008-12-04
1270+ Fixed a recovery bug that caused index entries to get out of sync with the data file
1271+
1272+ 483 Paul McCullagh 2008-12-04
1273+ Flush now begins and ends a checkpoint if required to ensure that a flush always contributes to a checkpoint
1274+
1275+ 482 Paul McCullagh 2008-12-04
1276+ Flush now begins and ends a checkpoint if required to ensure that a flush always contributes to a checkpoint
1277+
1278+ 481 Paul McCullagh 2008-12-04
1279+ Fixed a recovery bug that caused index entries to get out of sync with the data file
1280+
1281+ 480 Paul McCullagh 2008-12-03
1282+ Removed unused code
1283+
1284+ 479 Paul McCullagh 2008-12-01
1285+ Changed checkpointing so that it works during idle time, and that any flush will contribute to the progress of a checkpoint
1286+
1287+ 478 Paul McCullagh 2008-11-28
1288+ Make sure that a long running transaction does not hold up threads waiting to group commit
1289+
1290+ 477 Paul McCullagh 2008-11-28
1291+ Group commit waiting threads must check flush condition for possible quick exit
1292+
1293+ 476 Paul McCullagh 2008-11-27
1294+ Removed unnecessary structure
1295+
1296+ 475 Paul McCullagh 2008-11-27
1297+ Added wait for running transactions that may commit
1298+
1299+ 474 Paul McCullagh 2008-11-27
1300+ Use a prime number
1301+
1302+ 473 Paul McCullagh 2008-11-27
1303+ Don't allow the sweeper to get too far behind
1304+
1305+ 472 Paul McCullagh 2008-11-27
1306+ Table pool: only background processes flush tables
1307+
1308+ 471 Paul McCullagh 2008-11-27
1309+ Set priority of sweeper up if it gets behind
1310+
1311+ 470 Paul McCullagh 2008-11-27
1312+ Added regular sync of tables in the background
1313+
1314+ 469 Paul McCullagh 2008-11-27
1315+ Time sync on remap of memory mapped files
1316+
1317+ 468 Paul McCullagh 2008-11-27
1318+ Fixed table sync when writer or sweeper in error
1319+
1320+ 467 Paul McCullagh 2008-11-27
1321+ Table pool: only background processes flush tables, only flush on last close, , lock no longer held during flush
1322+
1323+ 466 Paul McCullagh 2008-11-27
1324+ Optimisations, avoid reads and memory copies
1325+
1326+ 465 Paul McCullagh 2008-11-26
1327+ Removed configure debugs
1328+
1329+ 464 Paul McCullagh 2008-11-26
1330+ Changed default order of stats
1331+
1332+ 463 Paul McCullagh 2008-11-26
1333+ Changed default order of stats
1334+
1335+ 462 Paul McCullagh 2008-11-26
1336+ Write a maximum of 12MB record/row data to the log before it is flushed
1337+
1338+ 461 Paul McCullagh 2008-11-26
1339+ Split out the flushing of the record/row files
1340+
1341+ 460 Paul McCullagh 2008-11-26
1342+ Make sure the freeer wakes up on time. Scheduled for every .5s now
1343+
1344+ 459 Paul McCullagh 2008-11-26
1345+ Changed default order of stats
1346+
1347+ 458 Paul McCullagh 2008-11-26
1348+ Added counting of dirty bytes/pages in files in order to flush regularly
1349+
1350+ 457 Paul McCullagh 2008-11-26
1351+ Debug code to 'interrupt' PBXT when a situation need to be investigated
1352+
1353+ 456 Paul McCullagh 2008-11-25
1354+ The log cache is now written on a strict round-robin basis, only restart and transfer of log to cache update the cache
1355+
1356+ 455 Paul McCullagh 2008-11-25
1357+ Options -Os used on Mac OS X
1358+
1359+ 454 Paul McCullagh 2008-11-25
1360+ Bytes to checkpoint, and bytes to write depend on the log write position
1361+
1362+ 453 Paul McCullagh 2008-11-25
1363+ Added statistic bytes to sweep
1364+
1365+ 452 Paul McCullagh 2008-11-25
1366+ Freeer now correctly starts to work at 95% cache full
1367+
1368+ 451 Paul McCullagh 2008-11-25
1369+ Added statement counts
1370+
1371+ 450 Paul McCullagh 2008-11-25
1372+ Changed statistics to correspond to PBXT file types: xlog, rec/row, dlog, ilog
1373+
1374+ 449 Paul McCullagh 2008-11-21
1375+ Fix for Windows
1376+
1377+ 448 Paul McCullagh 2008-11-21
1378+ Correct warnings, minor error on Linux
1379+
1380+ 447 Paul McCullagh 2008-11-21
1381+ Fixed scheduling bug that caused sweeper to get behind with the cleanup, which caused performance problems in high conflict situations
1382+
1383+ 446 Paul McCullagh 2008-11-21
1384+ Created the xtstat program which monitors the internal performance of PBXT
1385+
1386+ 445 Paul McCullagh 2008-11-21
1387+ Implemented the pbxt.statistics virtual table
1388+
1389+ 444 Paul McCullagh 2008-11-21
1390+ Added statistics probes
1391+
1392+ 443 Paul McCullagh 2008-11-21
1393+ Minor cosmetics
1394+
1395+ 442 Paul McCullagh 2008-11-18
1396+ Changes for compiling under Drizzle
1397+
1398+ 441 Paul McCullagh 2008-11-17 [merge]
1399+ Merge with trunk
1400+
1401+ 440 Paul McCullagh 2008-11-17
1402+ Access to transaction structure must now be protected
1403+
1404+ 439 Paul McCullagh 2008-11-14
1405+ Added some comments about this change
1406+
1407+ 438 Paul McCullagh 2008-11-14
1408+ Added release notes
1409+
1410+ 437 Paul McCullagh 2008-11-14
1411+ Catch the case where the change to handle immediate deleting of xact structures fail
1412+
1413+ 436 Paul McCullagh 2008-11-14
1414+ No longer delay remove of transaction structures (this case is handled now)
1415+
1416+ 435 Paul McCullagh 2008-11-14
1417+ Store paths in location file in UNIX format
1418+
1419+ 434 Paul McCullagh 2008-11-14
1420+ Fixed a bug when calculating row format if AVG_ROW_LENGTH is set
1421+
1422+ 433 Paul McCullagh 2008-11-14
1423+ Fixed a bug when calculating row format if AVG_ROW_LENGTH is set
1424+
1425+ 432 Paul McCullagh 2008-11-13 [merge]
1426+ Merged from trunk
1427+
1428+ 431 Paul McCullagh 2008-11-13 [merge]
1429+ Merged fixed 2 more test cases
1430+
1431+ 430 Paul McCullagh 2008-11-06
1432+ Set release date
1433+
1434+ 429 Paul McCullagh 2008-11-06 [merge]
1435+ Merged with trunk
1436+
1437+ 428 Paul McCullagh 2008-11-06
1438+ Strip the partition table part of the name from the file path as well as the table name
1439+
1440+ 427 Paul McCullagh 2008-11-06 [merge]
1441+ Merge fix to variables.test
1442+
1443+ 426 Paul McCullagh 2008-11-05
1444+ Fixed crash in ALTER TABLE
1445+
1446+ 425 Paul McCullagh 2008-11-05
1447+ Set default binlog format to mixed for pbxt-test-run
1448+
1449+ 424 Paul McCullagh 2008-11-05 [merge]
1450+ Merged changes for RN185
1451+
1452+ 423 Paul McCullagh 2008-11-05
1453+ Test result change
1454+
1455+ 422 Paul McCullagh 2008-11-05
1456+ Added info(flag == HA_STATUS_AUTO), and changed test results for 5.1.29
1457+
1458+ 421 Paul McCullagh 2008-11-05 [merge]
1459+ Merge changes for RN183
1460+
1461+ 420 Paul McCullagh 2008-11-05
1462+ Test result changes required for 5.1.29
1463+
1464+ 419 Paul McCullagh 2008-11-05 [merge]
1465+ Merged 6.0.7 build fixes
1466+
1467+ 418 Paul McCullagh 2008-11-04
1468+ Test results required by Mac OS X
1469+
1470+ 417 Paul McCullagh 2008-11-04 [merge]
1471+ Switched to the current version of the BLOB streaming engine (PBMS)
1472+
1473+ 416 Paul McCullagh 2008-11-04
1474+ Switched to the current version of the BLOB streaming engine (PBMS)
1475+
1476+ 415 Paul McCullagh 2008-11-04 [merge]
1477+ Merged fix for 'make test'
1478+
1479+ 414 Paul McCullagh 2008-11-04
1480+ Changed the location of the pbxt lock file so that the pbxt database can be dropped
1481+
1482+ 413 Paul McCullagh 2008-11-03 [merge]
1483+ Merged progress file stuff
1484+
1485+ 412 Paul McCullagh 2008-11-03
1486+ Handle missing .xti file, use REPAIR TABLE to regenerate the file
1487+
1488+ 411 Paul McCullagh 2008-10-30
1489+ Fixed Windows compile error
1490+
1491+ 410 Paul McCullagh 2008-10-29
1492+ 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
1493+
1494+ 409 Paul McCullagh 2008-10-29 [merge]
1495+ Merged changes from Drizzle
1496+
1497+ 408 Paul McCullagh 2008-10-29 [merge]
1498+ Applied change in RN175 & RN176
1499+
1500+ 407 Paul McCullagh 2008-10-29 [merge]
1501+ Applied change in RN173 & RN174
1502+
1503+ 406 Paul McCullagh 2008-10-28
1504+ Bug fixed installation lock under Windows
1505+
1506+ 405 Paul McCullagh 2008-10-28
1507+ Added a lock file to prevent the server from being started twice
1508+
1509+ 404 Paul McCullagh 2008-10-23
1510+ Changed for debugging
1511+
1512+ 403 Paul McCullagh 2008-10-23
1513+ Removed warning on 32-bit machine
1514+
1515+ 402 Paul McCullagh 2008-10-23
1516+ Added sources and compile under Windows
1517+
1518+ 401 Paul McCullagh 2008-10-23
1519+ Increased the row average size estimate
1520+
1521+ 400 Paul McCullagh 2008-10-23
1522+ Implemented the AVG_ROW_LENGTH table attribute. When set, this value determines the size of the fixed length data component of a record
1523+
1524+ 399 Paul McCullagh 2008-10-23
1525+ CHECK TABLE now calculates the average variable record length
1526+
1527+ 398 Paul McCullagh 2008-10-23
1528+ Fixed a bug that could crash the server because xseq_log_file could be NULL
1529+
1530+ 397 Paul McCullagh 2008-10-23
1531+ Changed configure so that debug/optimize flags set for building the engine override the flags set for MySQL
1532+
1533+ 396 Paul McCullagh 2008-10-17
1534+ Used MySQL root Makefile instead of config.status in order to extract settings
1535+
1536+ 395 Paul McCullagh 2008-10-17
1537+ Changes for Drizzle
1538+
1539+ 394 Paul McCullagh 2008-10-13
1540+ Must use the CXX flags of course!
1541+
1542+ 393 Paul McCullagh 2008-10-10
1543+ Jay's fix for Drizzle compile problem
1544+
1545+ 392 Paul McCullagh 2008-10-09 [merge]
1546+ Merged from trunk
1547+
1548+ 391 Paul McCullagh 2008-10-09
1549+ Corrected compile errors when compiled with DEBUG enabled under Drizzle tree
1550+
1551+ 390 Paul McCullagh 2008-10-07
1552+ Latest changes from Drizzle project
1553+
1554+ 389 Paul McCullagh 2008-10-03
1555+ This is the plug.in file used by Drizzle
1556+
1557+ 388 Paul McCullagh 2008-10-02 [merge]
1558+ Merged Drizzle make files, and RN164
1559+
1560+ 387 Paul McCullagh 2008-10-02 [merge]
1561+ Merged changes for Drizzle port into trunk
1562+
1563+ 386 Paul McCullagh 2008-10-02 [merge]
1564+ Merged changes from RN163
1565+
1566+ 385 Paul McCullagh 2008-10-01
1567+ Warnings are new in 5.1.28
1568+
1569+ 384 Paul McCullagh 2008-09-30
1570+ Avoid creating a partition table when creating a system table
1571+
1572+ 383 Paul McCullagh 2008-09-30
1573+ Allow create and binlog system tables
1574+
1575+ 382 Paul McCullagh 2008-09-30
1576+ Added pbxt.location system table, drop database pbxt now works
1577+
1578+ 381 Paul McCullagh 2008-09-30
1579+ Hack for MySQL 6.0.6
1580+
1581+ 380 Paul McCullagh 2008-09-30
1582+ In MySQL version > 6.0.6 st_table struct was renamed
1583+
1584+ 379 Paul McCullagh 2008-09-18
1585+ Added release notes
1586+
1587+ 378 Paul McCullagh 2008-09-17
1588+ Updated tests for 5.1.28
1589+
1590+ 377 Paul McCullagh 2008-09-16 [merge]
1591+ Merged fix for mac crash
1592+
1593+ 376 Paul McCullagh 2008-09-16
1594+ Some adjustments for 5.1.26 tests
1595+
1596+ 375 Paul McCullagh 2008-09-15
1597+ Case found where tv_nsec is not supported (Ubuntu derivative used by Mark)
1598+
1599+ 374 Paul McCullagh 2008-09-12 [merge]
1600+ Merged update for RN155
1601+
1602+ 373 Paul McCullagh 2008-09-09
1603+ Removed PBXT_SERVER
1604+
1605+ 372 Paul McCullagh 2008-09-09
1606+ Need the MYSQL_DYNAMIC_PLUGIN flag
1607+
1608+ 371 Paul McCullagh 2008-09-08
1609+ Fixed configure added --with-plugindir
1610+
1611+ 370 Paul McCullagh 2008-09-05 [merge]
1612+ Merged update for RN154
1613+
1614+ 369 Paul McCullagh 2008-09-04
1615+ Set to primebase.org
1616+
1617+ 368 PrimeBase Build 2008-09-04
1618+ Removed the pbxt directory
1619+
1620+ 367 vkolesnikov 2008-09-03
1621+ fixed a bug that caused the following problems:
1622+ #1. Foreign keys: crash if update cascade and autocommit=0
1623+ #2. Foreign keys: crash if update cascade and multi-level recursion
1624+
1625+ 366 vkolesnikov 2008-09-03
1626+ fixed a problem that prevented a table to be created if it had FKs which referred to an inexistent table.
1627+
1628+ 365 paul-mccullagh 2008-09-02
1629+ Variable read from config.status had wierd stuff in them when MySQL built be Darwin 9.4.0
1630+
1631+ 364 paul-mccullagh 2008-09-02
1632+ Variable read from config.status had wierd stuff in them when MySQL built be Darwin 9.4.0
1633+
1634+ 363 vkolesnikov 2008-09-02
1635+ RN152: Fixed missing information about foreign keys in I_S.table_constraints and I_S.referential_constraints
1636+
1637+ 362 paul-mccullagh 2008-09-02
1638+ Set version to 1.0.06
1639+
1640+ 361 paul-mccullagh 2008-09-01
1641+ Forgot to free
1642+
1643+ 360 paul-mccullagh 2008-08-31
1644+ Remove a debug
1645+
1646+ 359 paul-mccullagh 2008-08-30
1647+ unsued
1648+
1649+ 358 paul-mccullagh 2008-08-30
1650+ 2 cases for tracing transactions
1651+
1652+ 357 paul-mccullagh 2008-08-30
1653+ Added a callback called by a thread after releasing a lock, this prevents livelock when waiting for a lock
1654+
1655+ 356 paul-mccullagh 2008-08-30
1656+ Sweeper goes faster if deleted record found
1657+
1658+ 355 paul-mccullagh 2008-08-30
1659+ Added pbxt_sweeper_priority system variable
1660+
1661+ 354 paul-mccullagh 2008-08-30
1662+ Fixed bug by removing tab_lock_perm bit-map
1663+
1664+ 353 paul-mccullagh 2008-08-30
1665+ Test result oscillates
1666+
1667+ 352 paul-mccullagh 2008-08-30
1668+ Added pbxt_sweeper_priority system variable
1669+
1670+ 351 paul-mccullagh 2008-08-30
1671+ Added quick config, parameter taking from MySQL build
1672+
1673+ 350 vkolesnikov 2008-08-25
1674+ RN146: Fixed a problem with TRUNCATE TABLE
1675+
1676+ 349 paul-mccullagh 2008-08-21
1677+ We don't add the auto-inc change yet, because of performance
1678+
1679+ 348 paul-mccullagh 2008-08-20
1680+ Fixed record corruption bug
1681+
1682+ 347 paul-mccullagh 2008-08-11
1683+ Set version number to 1.0.05
1684+
1685+ 346 paul-mccullagh 2008-08-11
1686+ Added option to change the log offline function, set TD defaults
1687+
1688+ 345 paul-mccullagh 2008-08-11
1689+ Disable this optimization for the moment (is suspect)
1690+
1691+ 344 paul-mccullagh 2008-08-03
1692+ I actually forgot I did this!
1693+
1694+ 343 paul-mccullagh 2008-08-03
1695+ Changed date
1696+
1697+ 342 paul-mccullagh 2008-08-01
1698+ Release notes
1699+
1700+ 341 paul-mccullagh 2008-08-01
1701+ Unused variable
1702+
1703+ 340 paul-mccullagh 2008-08-01
1704+ Improved check cache function
1705+
1706+ 339 paul-mccullagh 2008-08-01
1707+ Handled a situation that should not occur (bug now fixed), improved check cache function
1708+
1709+ 338 paul-mccullagh 2008-08-01
1710+ Explained use of pool during flushing
1711+
1712+ 337 paul-mccullagh 2008-08-01
1713+ Changed debug
1714+
1715+ 336 paul-mccullagh 2008-08-01
1716+ Consolidated the flush table call
1717+
1718+ 335 paul-mccullagh 2008-08-01
1719+ Improved trace
1720+
1721+ 334 paul-mccullagh 2008-08-01
1722+ Consolidated the flush table call
1723+
1724+ 333 paul-mccullagh 2008-08-01
1725+ Lock the flush operation, this is to prevent another thread from writing an old table header
1726+
1727+ 332 paul-mccullagh 2008-08-01
1728+ Ensure log files are not overwritten, added an always flush option
1729+
1730+ 331 paul-mccullagh 2008-08-01
1731+ Ensure log files are not overwritten, added an always flush option
1732+
1733+ 330 paul-mccullagh 2008-07-31
1734+ A useful assertion
1735+
1736+ 329 paul-mccullagh 2008-07-31
1737+ End of line correction
1738+
1739+ 328 paul-mccullagh 2008-07-31
1740+ Disable test
1741+
1742+ 327 paul-mccullagh 2008-07-31
1743+ Added xt_write1, but not used
1744+
1745+ 326 paul-mccullagh 2008-07-31
1746+ The fast RW/mutex lock can now handle nested calls
1747+
1748+ 325 paul-mccullagh 2008-07-31
1749+ This assertion failed when the cache was brocken
1750+
1751+ 324 paul-mccullagh 2008-07-31
1752+ DBUG_ON not defined under Windows?
1753+
1754+ 323 paul-mccullagh 2008-07-31
1755+ Explain the need for nested lock calls
1756+
1757+ 322 paul-mccullagh 2008-07-31
1758+ There can be 1000's of operations pending, a optimized list is required
1759+
1760+ 321 paul-mccullagh 2008-07-31
1761+ Sometimes the mem map lock was not handled correctly, read too much data in check table
1762+
1763+ 320 paul-mccullagh 2008-07-31
1764+ Bug: cg_mru_block should be cg_lru_block (error during optimisation), also added debug check for index cache
1765+
1766+ 319 paul-mccullagh 2008-07-31
1767+ Added debug check for index cache
1768+
1769+ 318 paul-mccullagh 2008-07-29
1770+ Added direct file trace dump
1771+
1772+ 317 paul-mccullagh 2008-07-29
1773+ Added windows debug window
1774+
1775+ 316 paul-mccullagh 2008-07-28
1776+ Forgot to track returned rows in index_last()
1777+
1778+ 315 paul-mccullagh 2008-07-28
1779+ Debug window on failed assertion
1780+
1781+ 314 paul-mccullagh 2008-07-28
1782+ Parameter missing
1783+
1784+ 313 paul-mccullagh 2008-07-28
1785+ Corrected Visual Studio assembler
1786+
1787+ 312 paul-mccullagh 2008-07-28
1788+ Compile errors and warnings under Windows
1789+
1790+ 311 paul-mccullagh 2008-07-28
1791+ Lock test must use thread ID, uncommented some tests
1792+
1793+ 310 paul-mccullagh 2008-07-28
1794+ Use thread ID for waiting (else require ref count for thread struct)
1795+
1796+ 309 paul-mccullagh 2008-07-28
1797+ Removed unused pragma
1798+
1799+ 308 paul-mccullagh 2008-07-28
1800+ Removed unused pragma
1801+
1802+ 307 paul-mccullagh 2008-07-25
1803+ pb_open_tab can be NULL
1804+
1805+ 306 paul-mccullagh 2008-07-25
1806+ Remove debug
1807+
1808+ 305 paul-mccullagh 2008-07-25
1809+ Added pbxt_auto_increment_mode and automatic re-calc statistics when table exceeds 200 rows
1810+
1811+ 304 paul-mccullagh 2008-07-24
1812+ not yet released
1813+
1814+ 303 paul-mccullagh 2008-07-24
1815+ End of block was overwritten, block_len - 1 required
1816+
1817+ 302 paul-mccullagh 2008-07-24
1818+ Do not delete if the index is corrupted
1819+
1820+ 301 paul-mccullagh 2008-07-24
1821+ 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
1822+
1823+ 300 paul-mccullagh 2008-07-24
1824+ Added index trace
1825+
1826+ 299 paul-mccullagh 2008-07-24
1827+ Renamed trace function
1828+
1829+ 298 paul-mccullagh 2008-07-24
1830+ Use a circular trace buffer
1831+
1832+ 297 paul-mccullagh 2008-07-23
1833+ Handle restart and recovery even when the index of a table is corrupt
1834+
1835+ 296 paul-mccullagh 2008-07-22
1836+ Removed debugs
1837+
1838+ 295 paul-mccullagh 2008-07-22
1839+ Testing without the automic set
1840+
1841+ 294 paul-mccullagh 2008-07-22
1842+ xs_state is VERY volatile, on a multi-core system we must make sure memory is written, not the processor cache
1843+
1844+ 293 paul-mccullagh 2008-07-22
1845+ Cannot call xt_p_join with a bad pthread id
1846+
1847+ 292 paul-mccullagh 2008-07-22
1848+ Turned of debugs
1849+
1850+ 291 paul-mccullagh 2008-07-22
1851+ Write was complaining that the buffer was not valid
1852+
1853+ 290 paul-mccullagh 2008-07-22
1854+ Checking for a bug here
1855+
1856+ 289 paul-mccullagh 2008-07-22
1857+ Checking for a bug here
1858+
1859+ 288 paul-mccullagh 2008-07-17
1860+ Hmm, wrong block
1861+
1862+ 287 paul-mccullagh 2008-07-17
1863+ This assertion fails?
1864+
1865+ 286 paul-mccullagh 2008-07-16
1866+ Improved hash algorithm, added a missing mutex UNLOCK
1867+
1868+ 285 paul-mccullagh 2008-07-16
1869+ realloc, not grow
1870+
1871+ 284 paul-mccullagh 2008-07-16
1872+ Other debug parameters
1873+
1874+ 283 paul-mccullagh 2008-07-16
1875+ EOF is a page ID, must start at 1
1876+
1877+ 282 paul-mccullagh 2008-07-16
1878+ Unused defines removed
1879+
1880+ 281 paul-mccullagh 2008-07-16
1881+ Improved hashing algorithm
1882+
1883+ 280 paul-mccullagh 2008-07-16
1884+ Test too slow with this in
1885+
1886+ 279 paul-mccullagh 2008-07-16
1887+ Improved the reliability of tests
1888+
1889+ 278 paul-mccullagh 2008-07-15
1890+ Avoid crash in xt_flush_table()
1891+
1892+ 277 paul-mccullagh 2008-07-15
1893+ Commented out by mistake, thank Kay!
1894+
1895+ 276 paul-mccullagh 2008-07-14
1896+ Windows only
1897+
1898+ 275 paul-mccullagh 2008-07-14
1899+ Fixed a bug that returned duplicate rows, and TRUNCATE TABLE when using BLOB streaming
1900+
1901+ 274 paul-mccullagh 2008-07-03
1902+ A comment
1903+
1904+ 273 paul-mccullagh 2008-07-03
1905+ A comment
1906+
1907+ 272 paul-mccullagh 2008-07-03
1908+ Changed xt_ind_read prototype
1909+
1910+ 271 paul-mccullagh 2008-07-03
1911+ Set version to alpha
1912+
1913+ 270 paul-mccullagh 2008-07-03
1914+ Check index to use Node ID instead of file offset (this was already mostly the case on disk)
1915+
1916+ 269 paul-mccullagh 2008-07-02
1917+ Slight reformatting
1918+
1919+ 268 paul-mccullagh 2008-07-02
1920+ Optimised for simple SELECT, INSERT and UPDATE scaling, now at least as good as InnoDB
1921+
1922+ 267 paul-mccullagh 2008-06-26
1923+ Adding functions to wait and signal a thread
1924+
1925+ 266 paul-mccullagh 2008-06-26
1926+ New error numbers
1927+
1928+ 265 paul-mccullagh 2008-06-26
1929+ Memory mapped files should use a fast RW mutex
1930+
1931+ 264 paul-mccullagh 2008-06-26
1932+ Call unit tests
1933+
1934+ 263 paul-mccullagh 2008-06-26
1935+ Adding functions to wait and signal a thread
1936+
1937+ 262 paul-mccullagh 2008-06-26
1938+ Forgot to set the open table thread
1939+
1940+ 261 paul-mccullagh 2008-06-26
1941+ Use a spinlock for writing the log file
1942+
1943+ 260 paul-mccullagh 2008-06-26
1944+ Use a RW mutex for the table cache
1945+
1946+ 259 paul-mccullagh 2008-06-26
1947+ Tested various types of locks
1948+
1949+ 258 paul-mccullagh 2008-06-26
1950+ Implemented many types of locks
1951+
1952+ 257 paul-mccullagh 2008-06-24
1953+ Table cache now uses fast read/write locks
1954+
1955+ 256 paul-mccullagh 2008-06-24
1956+ Memory maps now use fast read/write locks
1957+
1958+ 255 paul-mccullagh 2008-06-24
1959+ Implemented spinlocks
1960+
1961+ 254 paul-mccullagh 2008-06-20
1962+ Set version number to 1.0.04
1963+
1964+ 253 paul-mccullagh 2008-06-20
1965+ Implemented fast read/write lock
1966+
1967+ 252 paul-mccullagh 2008-06-20
1968+ Cleaned up locking functions
1969+
1970+ 251 paul-mccullagh 2008-06-20
1971+ Implemented fast read/write lock
1972+
1973+ 250 paul-mccullagh 2008-06-12
1974+ Wrong type for printf
1975+
1976+ 249 paul-mccullagh 2008-06-12
1977+ Added dump table statistics to check table
1978+
1979+ 248 paul-mccullagh 2008-06-12
1980+ Windows: close logs before delete or rename
1981+
1982+ 247 paul-mccullagh 2008-06-11
1983+ Add a close function for windows
1984+
1985+ 246 paul-mccullagh 2008-06-10
1986+ Fixed PBXT_STATISTICS table
1987+
1988+ 245 paul-mccullagh 2008-06-10
1989+ Updated for 5.1.24
1990+
1991+ 244 paul-mccullagh 2008-06-10
1992+ Close mapped files before deleting old table
1993+
1994+ 243 paul-mccullagh 2008-06-10
1995+ Close data logs before deleting
1996+
1997+ 242 paul-mccullagh 2008-06-09
1998+ Fixed tests for MySQL 5.1.24
1999+
2000+ 241 paul-mccullagh 2008-06-06
2001+ Fixed Windows conditional wait, hang in rename table
2002+
2003+ 240 paul-mccullagh 2008-06-05
2004+ Fixed compile errors
2005+
2006+ 239 paul-mccullagh 2008-06-05
2007+ Correct line endings
2008+
2009+ 238 paul-mccullagh 2008-06-05
2010+ Windows version works now
2011+
2012+ 237 paul-mccullagh 2008-06-05
2013+ Fixed free order
2014+
2015+ 236 paul-mccullagh 2008-06-05
2016+ PBXT now compiles under Windows
2017+
2018+ 235 paul-mccullagh 2008-06-05
2019+ Implemented file memory mapping for Windows
2020+
2021+ 234 paul-mccullagh 2008-06-04
2022+ Missing endif
2023+
2024+ 233 paul-mccullagh 2008-06-04
2025+ Changes for Windows port
2026+
2027+ 232 paul-mccullagh 2008-06-04
2028+ Changes for Windows
2029+
2030+ 231 paul-mccullagh 2008-06-04
2031+ Changes for Windows
2032+
2033+ 230 paul-mccullagh 2008-06-04
2034+ Updated Windows make file
2035+
2036+ 229 paul-mccullagh 2008-06-03
2037+ Updated release notes
2038+
2039+ 228 paul-mccullagh 2008-05-30
2040+ Corrections for the BLOB streaming engine
2041+
2042+ 227 paul-mccullagh 2008-05-30
2043+ The latest version of the mybs header
2044+
2045+ 226 paul-mccullagh 2008-05-30
2046+ Added system variables: pbxt_data_file_grow_size & pbxt_row_file_grow_size
2047+
2048+ 225 paul-mccullagh 2008-05-30
2049+ Set date of release
2050+
2051+ 224 paul-mccullagh 2008-05-30
2052+ Share lock the memory map while flushing
2053+
2054+ 223 paul-mccullagh 2008-05-30
2055+ Remove debugs
2056+
2057+ 222 paul-mccullagh 2008-05-30
2058+ Pre-writing logs completely doubles the speed on SSDs
2059+
2060+ 221 paul-mccullagh 2008-05-29
2061+ Re-use logs when not on the Mac
2062+
2063+ 220 paul-mccullagh 2008-05-29
2064+ Re-use logs when not on the Mac
2065+
2066+ 219 paul-mccullagh 2008-05-29
2067+ Corrected use of log buffer size
2068+
2069+ 218 paul-mccullagh 2008-05-29
2070+ Fixed checkpointing frequency, and other bugs
2071+
2072+ 217 paul-mccullagh 2008-05-28
2073+ Fixed checkpointing frequency
2074+
2075+ 216 paul-mccullagh 2008-05-22
2076+ Rows, not records
2077+
2078+ 215 paul-mccullagh 2008-05-21
2079+ Fixed some tests
2080+
2081+ 214 paul-mccullagh 2008-05-20
2082+ Fixed bugs with index consistent write
2083+
2084+ 213 paul-mccullagh 2008-05-09
2085+ Implemented index consistant write
2086+
2087+ 212 paul-mccullagh 2008-04-24
2088+ mtr tests run successfully
2089+
2090+ 211 paul-mccullagh 2008-04-24
2091+ Added direct I/O, and memory sequential scan
2092+
2093+ 210 paul-mccullagh 2008-04-23
2094+ Added memory mapping of row index and handle data files
2095+
2096+ 209 paul-mccullagh 2008-04-03
2097+ Fixed compile error
2098+
2099+ 208 paul-mccullagh 2008-03-28
2100+ Updated release notes
2101+
2102+ 207 paul-mccullagh 2008-03-28
2103+ Updated tests, multi-db statements now possible
2104+
2105+ 206 paul-mccullagh 2008-03-28
2106+ Fixed bugs related to the global database change
2107+
2108+ 205 paul-mccullagh 2008-03-25
2109+ Transactions can now cross database boundaries
2110+
2111+ 204 paul-mccullagh 2008-03-22
2112+ Corrected hang on invalid input
2113+
2114+ 203 paul-mccullagh 2008-03-20
2115+ Corrected default
2116+
2117+ 202 paul-mccullagh 2008-03-20
2118+ Changed default log threshold to 32MB
2119+
2120+ 201 paul-mccullagh 2008-03-20
2121+ Rollover and re-use transction logs that would otherwise be deleted
2122+
2123+ 200 paul-mccullagh 2008-03-19
2124+ Remove debugs
2125+
2126+ 199 paul-mccullagh 2008-03-19
2127+ Pre-allocate transaction logs
2128+
2129+ 198 paul-mccullagh 2008-03-19
2130+ Pre-allocate transaction logs
2131+
2132+ 197 paul-mccullagh 2008-03-19
2133+ Added time difference
2134+
2135+ 196 paul-mccullagh 2008-03-19
2136+ Added microsecond timing to trace
2137+
2138+ 195 paul-mccullagh 2008-03-19
2139+ Transaction log writes on 512 byte boundaries only
2140+
2141+ 194 paul-mccullagh 2008-03-15
2142+ Corrected compile errors with gcc 4.1.3
2143+
2144+ 193 paul-mccullagh 2008-03-13
2145+ Updated notes
2146+
2147+ 192 paul-mccullagh 2008-03-13
2148+ Corrected the drop-in build process
2149+
2150+ 191 paul-mccullagh 2008-03-12
2151+ Scripts no longer required
2152+
2153+ 190 paul-mccullagh 2008-03-12
2154+ Now compiles with MySQL 6.0.4
2155+
2156+ 189 paul-mccullagh 2008-03-12
2157+ Installation simplified
2158+
2159+ 188 paul-mccullagh 2008-03-12
2160+ Installation simplified
2161+
2162+ 187 paul-mccullagh 2008-03-12
2163+ Added plugin description file
2164+
2165+ 186 paul-mccullagh 2008-03-12
2166+ VA args must be copied before re-use
2167+
2168+ 185 paul-mccullagh 2008-03-11
2169+ Updated tests for MySQL 5.1.23
2170+
2171+ 184 paul-mccullagh 2008-03-11
2172+ Fixed 64-bit bug
2173+
2174+ 183 paul-mccullagh 2008-03-11
2175+ More information
2176+
2177+ 182 paul-mccullagh 2008-03-11
2178+ Additional debug
2179+
2180+ 181 paul-mccullagh 2008-03-11
2181+ Updated test readme
2182+
2183+ 180 paul-mccullagh 2008-03-11
2184+ Corrected 64 bit error
2185+
2186+ 179 paul-mccullagh 2008-03-11
2187+ Restored config
2188+
2189+ 178 paul-mccullagh 2008-03-11
2190+ Fixed linux compile errors
2191+
2192+ 177 paul-mccullagh 2008-03-11
2193+ Implemented recovery process and checkpointing on server restart
2194+
2195+ 176 paul-mccullagh 2008-03-11
2196+ Added table page cache
2197+
2198+ 175 paul-mccullagh 2008-03-11
2199+ Implemented full durability, and SELECT FOR UPDATE
2200+
2201+ 174 paul-mccullagh 2008-03-10
2202+ Implemented full durability
2203+
2204+ 173 paul-mccullagh 2008-03-10
2205+ Implemented full durability
2206+
2207+ 172 paul-mccullagh 2007-11-07
2208+ Changed all files to C++, pthread.c as well
2209+
2210+ 171 paul-mccullagh 2007-11-07
2211+ Further corrections for name and changes/conversion to C++
2212+
2213+ 170 paul-mccullagh 2007-11-07
2214+ Renamed files and changed all to C++
2215+
2216+ 169 paul-mccullagh 2007-11-06
2217+ Changed utility name
2218+
2219+ 168 paul-mccullagh 2007-11-06
2220+ Corrected self type
2221+
2222+ 167 paul-mccullagh 2007-10-30
2223+ Corrected problem with URL encoding in BLOB URLs, only unreserved chars used now (see RFC2396)
2224+
2225+ 166 paul-mccullagh 2007-10-23
2226+ COPY of the BLOB Streaming header file (from BLOB Streaming for MySQL project)
2227+
2228+ 165 paul-mccullagh 2007-10-17
2229+ Corrected stack trace of errors passed through the BLOB streaming API
2230+
2231+ 164 paul-mccullagh 2007-09-26
2232+ re-generated
2233+
2234+ 163 paul-mccullagh 2007-09-26
2235+ Added change
2236+
2237+ 162 paul-mccullagh 2007-09-26
2238+ re-generated
2239+
2240+ 161 paul-mccullagh 2007-09-26
2241+ re-generated
2242+
2243+ 160 paul-mccullagh 2007-09-26
2244+ Set version number
2245+
2246+ 159 paul-mccullagh 2007-09-26
2247+ Updated for 0.9.90
2248+
2249+ 158 paul-mccullagh 2007-09-26
2250+ re-generated
2251+
2252+ 157 paul-mccullagh 2007-09-26
2253+ Set name of streaming interface
2254+
2255+ 156 paul-mccullagh 2007-09-26
2256+ Making shutdown a bit safer. In debug mode, no exception due to assertion failure
2257+
2258+ 155 paul-mccullagh 2007-09-26
2259+ Added new accessors. Changed shutdown sequence to avoid crashes
2260+
2261+ 154 paul-mccullagh 2007-09-26
2262+ These accessors are not declared in any public header because the are specific to InnoDB
2263+
2264+ 153 paul-mccullagh 2007-09-26
2265+ 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
2266+
2267+ 152 paul-mccullagh 2007-09-26
2268+ thd_charset() is a new accessor in 5.1.21
2269+
2270+ 151 paul-mccullagh 2007-09-26
2271+ More robust on shutdown
2272+
2273+ 150 paul-mccullagh 2007-09-26
2274+ Some compilers generated crashing code (unable to use untyped macros!)
2275+
2276+ 149 paul-mccullagh 2007-09-26
2277+ Some compilers generated crashing code (unable to use untyped macros!)
2278+
2279+ 148 paul-mccullagh 2007-09-26
2280+ Changes for allowing drop in compilation
2281+
2282+ 147 paul-mccullagh 2007-09-26
2283+ Changes for allowing drop in compilation
2284+
2285+ 146 paul-mccullagh 2007-09-26
2286+ Added plug.in to enable drop-in compilation
2287+
2288+ 145 paul-mccullagh 2007-08-20
2289+ Changed the version number
2290+
2291+ 144 paul-mccullagh 2007-08-20
2292+ release notes
2293+
2294+ 143 paul-mccullagh 2007-08-20
2295+ Log types supported must now be declared
2296+
2297+ 142 paul-mccullagh 2007-08-20
2298+ Non-URL data may also be inserted into LONGBLOB fields
2299+
2300+ 141 paul-mccullagh 2007-07-26
2301+ Ported to MySQL 5.1.20
2302+
2303+ 140 paul-mccullagh 2007-07-25
2304+ Support for the features of the MyBS BLOB Streaming engine, version 0.5 Alpha
2305+
2306+ 139 paul-mccullagh 2007-07-10
2307+ Fixed a bug that caused a crash while handling BLOB data. The crash was due to changing the field structure which is shared data
2308+
2309+ 138 paul-mccullagh 2007-06-26
2310+ Added the latest bug fix
2311+
2312+ 137 paul-mccullagh 2007-06-22
2313+ set current version
2314+
2315+ 136 paul-mccullagh 2007-06-22
2316+ set current version
2317+
2318+ 135 paul-mccullagh 2007-06-22
2319+ don't lock yourself!
2320+
2321+ 134 paul-mccullagh 2007-06-22
2322+ xt_get_self() is used in thr_exit()
2323+
2324+ 133 paul-mccullagh 2007-06-21
2325+ Only 5.1.18 can do system variables
2326+
2327+ 132 paul-mccullagh 2007-06-21
2328+ Added BLOB streaming stuff
2329+
2330+ 131 paul-mccullagh 2007-06-21
2331+ The plugin directory is set strangely, this helps to find it!
2332+
2333+ 130 paul-mccullagh 2007-06-21
2334+ Set date
2335+
2336+ 129 paul-mccullagh 2007-06-21
2337+ Added new files
2338+
2339+ 128 paul-mccullagh 2007-06-21
2340+ Implemented system parameters
2341+
2342+ 127 paul-mccullagh 2007-06-21
2343+ These functions do URL decoding of the intput string
2344+
2345+ 126 paul-mccullagh 2007-06-21
2346+ This function does URL decoding at the same time
2347+
2348+ 125 paul-mccullagh 2007-06-21
2349+ Changed prototypes
2350+
2351+ 124 paul-mccullagh 2007-06-21
2352+ These functions make it possible to build an index key structure
2353+
2354+ 123 paul-mccullagh 2007-06-21
2355+ These functions do URL decoding of the intput string
2356+
2357+ 122 paul-mccullagh 2007-06-21
2358+ Added system variables, added initialisation and cleanup for BLOB streaming
2359+
2360+ 121 paul-mccullagh 2007-06-21
2361+ This function does URL decoding at the same time
2362+
2363+ 120 paul-mccullagh 2007-06-21
2364+ New function uses self pointer
2365+
2366+ 119 paul-mccullagh 2007-06-21
2367+ Yes, he is responsible for this one too!
2368+
2369+ 118 paul-mccullagh 2007-06-21
2370+ New error that can occur when returning a BLOB via streaming
2371+
2372+ 117 paul-mccullagh 2007-06-21
2373+ Yes, he is responsible for this one too!
2374+
2375+ 116 paul-mccullagh 2007-06-21
2376+ Removed old stuff
2377+
2378+ 115 paul-mccullagh 2007-06-21
2379+ These functions make it possible to build an index key structure
2380+
2381+ 114 paul-mccullagh 2007-06-21
2382+ Added a column index to the index segment
2383+
2384+ 113 paul-mccullagh 2007-06-21
2385+ Added self to logging functions (instead of thread name)
2386+
2387+ 112 paul-mccullagh 2007-06-21
2388+ Added self to logging functions (instead of thread name)
2389+
2390+ 111 paul-mccullagh 2007-06-21
2391+ Added new files
2392+
2393+ 110 paul-mccullagh 2007-06-21
2394+ COPY of the BLOB Streaming header file (from BLOB Streaming for MySQL project)
2395+
2396+ 109 paul-mccullagh 2007-06-21
2397+ Handles BLOB streaming interface
2398+
2399+ 108 paul-mccullagh 2007-06-21
2400+ Handles BLOB streaming interface
2401+
2402+ 107 paul-mccullagh 2007-04-07
2403+ Update notes
2404+
2405+ 106 paul-mccullagh 2007-04-06
2406+ pb_share may not have been initialized
2407+
2408+ 105 paul-mccullagh 2007-04-05
2409+ Set version number
2410+
2411+ 104 paul-mccullagh 2007-04-05
2412+ Test for last bug
2413+
2414+ 103 paul-mccullagh 2007-04-05
2415+ May not be conditional
2416+
2417+ 102 paul-mccullagh 2007-04-05
2418+ Added release notes and changed the version number
2419+
2420+ 101 paul-mccullagh 2007-04-05
2421+ All tests now run through, at least on the second try
2422+
2423+ 100 paul-mccullagh 2007-04-05
2424+ No longer commit statements within a procedure/function, considered atomic!
2425+
2426+ 99 paul-mccullagh 2007-04-05
2427+ No longer commit statements within a procedure/function, considered atomic!
2428+
2429+ 98 paul-mccullagh 2007-04-05
2430+ tabbing
2431+
2432+ 97 paul-mccullagh 2007-04-05
2433+ Count statements when in LOCK TABLES
2434+
2435+ 96 paul-mccullagh 2007-04-05
2436+ Improved trace, lock timeout now uses real time, Count statements when in LOCK TABLES, Only TRUNCATE TABLE takes X lock in external_lock
2437+
2438+ 95 paul-mccullagh 2007-04-05
2439+ Count statements when in LOCK TABLES
2440+
2441+ 94 paul-mccullagh 2007-04-05
2442+ Handle the fact that a table may have been deleted
2443+
2444+ 93 paul-mccullagh 2007-04-05
2445+ Fixed path in move table
2446+
2447+ 92 paul-mccullagh 2007-04-05
2448+ Count statements when in LOCK TABLES
2449+
2450+ 91 paul-mccullagh 2007-04-05
2451+ Handle the fact that a table may have been deleted
2452+
2453+ 90 paul-mccullagh 2007-04-03
2454+ Fixed table locking - now locks on external_lock
2455+
2456+ 89 paul-mccullagh 2007-04-03
2457+ Prevent data log from being created on tables with fixed length record
2458+
2459+ 88 paul-mccullagh 2007-04-03
2460+ Added lock timeout error for table locks
2461+
2462+ 87 paul-mccullagh 2007-04-03
2463+ Added lock timeout error for table locks
2464+
2465+ 86 paul-mccullagh 2007-03-29
2466+ Trace define to print to console instead of debug log
2467+
2468+ 85 paul-mccullagh 2007-03-29
2469+ New errors, upgrade table and bad index version
2470+
2471+ 84 paul-mccullagh 2007-03-29
2472+ New constants, data log minimum size (for compaction), and increment size (recovery checkpointing)
2473+
2474+ 83 paul-mccullagh 2007-03-29
2475+ Index files now have a version number so that changes to index structure only requires OPTIMISE TABLE to fix
2476+
2477+ 82 paul-mccullagh 2007-03-29
2478+ Made it possible to log exceptions as warnings
2479+
2480+ 81 paul-mccullagh 2007-03-29
2481+ Fixed a bug that cause the sweeper to miss transactions because of a gap between ID increment and creation of the RAM structure
2482+
2483+ 80 paul-mccullagh 2007-03-29
2484+ Fixed a bug that cause the sweeper to miss transactions because of a gap between ID increment and creation of the RAM structure
2485+
2486+ 79 paul-mccullagh 2007-03-29
2487+ Changes for the 4 data log compactor
2488+
2489+ 78 paul-mccullagh 2007-03-29
2490+ The sweeper and the compactor cannot open the MySQL .frm file
2491+
2492+ 77 paul-mccullagh 2007-03-29
2493+ Changes take into account the limit data log usage, and the removal of directory scans to find files
2494+
2495+ 76 paul-mccullagh 2007-03-29
2496+ Changes take into account the limit data log usage, and the removal of directory scans to find files
2497+
2498+ 75 paul-mccullagh 2007-03-29
2499+ Changes to ensure that commit or rollback occurs after unlock table
2500+
2501+ 74 paul-mccullagh 2007-03-29
2502+ Made it possible to log exceptions as warnings
2503+
2504+ 73 paul-mccullagh 2007-03-29
2505+ Added flush file
2506+
2507+ 72 paul-mccullagh 2007-03-29
2508+ Added flush file
2509+
2510+ 71 paul-mccullagh 2007-03-29
2511+ Made it possible to log exceptions as warnings
2512+
2513+ 70 paul-mccullagh 2007-03-29
2514+ Re-wrote compactor and data log usage to limit to 4 files per table
2515+
2516+ 69 paul-mccullagh 2007-03-29
2517+ Re-wrote compactor and data log usage to limit to 4 files per table
2518+
2519+ 68 paul-mccullagh 2007-03-15
2520+ Last minute release notes
2521+
2522+ 67 paul-mccullagh 2007-03-15
2523+ Return parameters are optional
2524+
2525+ 66 paul-mccullagh 2007-03-14
2526+ Switched to Windows line endings
2527+
2528+ 65 paul-mccullagh 2007-03-14
2529+ Removed debugs
2530+
2531+ 64 paul-mccullagh 2007-03-14
2532+ Set version to 0.9.85
2533+
2534+ 63 paul-mccullagh 2007-03-14
2535+ Change for compilers/platforms that have a problem with *((void **) &(v)) =
2536+
2537+ 62 paul-mccullagh 2007-03-13
2538+ Set version and reconfigure
2539+
2540+ 61 paul-mccullagh 2007-03-13
2541+ Update version
2542+
2543+ 60 paul-mccullagh 2007-03-13
2544+ comments about Windows
2545+
2546+ 59 paul-mccullagh 2007-03-13
2547+ added blog
2548+
2549+ 58 paul-mccullagh 2007-03-13
2550+ latest changes
2551+
2552+ 57 paul-mccullagh 2007-03-13
2553+ from pbxt-to-do.txt
2554+
2555+ 56 paul-mccullagh 2007-03-13
2556+ Most tests running with MySQL 5.1.16
2557+
2558+ 55 paul-mccullagh 2007-03-13
2559+ Windows build
2560+
2561+ 54 paul-mccullagh 2007-03-13
2562+ Instructions for building Windows
2563+
2564+ 53 paul-mccullagh 2007-03-13
2565+ Added checking for repeat update of a record in a statement
2566+
2567+ 52 paul-mccullagh 2007-03-13
2568+ Added checking for repeat update of a record in a statement
2569+
2570+ 51 paul-mccullagh 2007-03-13
2571+ Avoid checking for duplicates if an index is not modified by an update
2572+
2573+ 50 paul-mccullagh 2007-03-13
2574+ 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).
2575+
2576+ 49 paul-mccullagh 2007-03-13
2577+ added checking for repeat update of a record in a statement
2578+
2579+ 48 paul-mccullagh 2007-03-13
2580+ 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.
2581+
2582+ 47 paul-mccullagh 2007-03-13
2583+ Added checking for repeat update of a record
2584+
2585+ 46 paul-mccullagh 2007-03-13
2586+ added xt_sl_delete_from_info
2587+
2588+ 45 paul-mccullagh 2007-03-13
2589+ moved prototype
2590+
2591+ 44 paul-mccullagh 2007-03-13
2592+ added xt_sb_concat_char
2593+
2594+ 43 paul-mccullagh 2007-03-13
2595+ added xt_sb_concat_char
2596+
2597+ 42 paul-mccullagh 2007-03-02
2598+ Improved comments
2599+
2600+ 41 paul-mccullagh 2007-03-02
2601+ Bug fix of the bug fix
2602+
2603+ 40 paul-mccullagh 2007-03-01
2604+ Corrected hang on started - thanks Hakan\!
2605+
2606+ 39 paul-mccullagh 2007-02-28
2607+ Fixed a bug if an error occurred in external_lock()
2608+
2609+ 38 paul-mccullagh 2007-02-28
2610+ Turn off strict aliasing warning
2611+
2612+ 37 paul-mccullagh 2007-02-28
2613+ Include for Linux
2614+
2615+ 36 paul-mccullagh 2007-02-28
2616+ Misplaced #endif
2617+
2618+ 35 paul-mccullagh 2007-02-28
2619+ Added an error when index file grow too large (500 GB)
2620+
2621+ 34 paul-mccullagh 2007-02-28
2622+ Fixed index corruption when file grows to 4GB (thanks Luciano!)
2623+
2624+ 33 paul-mccullagh 2007-02-28
2625+ Corrected line endings
2626+
2627+ 32 paul-mccullagh 2007-02-26
2628+ Build and link under UNIX again
2629+
2630+ 31 paul-mccullagh 2007-02-26
2631+ Initial port to Windows
2632+
2633+ 30 paul-mccullagh 2007-02-20
2634+ Port to Windows
2635+
2636+ 29 paul-mccullagh 2007-02-19
2637+ After checking all cases, removed: -Wno-uninitialized
2638+
2639+ 28 paul-mccullagh 2007-02-19
2640+ Disabled some warnings: -Wno-unused-parameter -Wno-switch
2641+
2642+ 27 paul-mccullagh 2007-02-19
2643+ Added compile options for warnings: -Wall -Wextra -Wwrite-strings
2644+
2645+ 26 paul-mccullagh 2007-02-19
2646+ Fixed warnings that result from compiling with -Wextra
2647+
2648+ 25 paul-mccullagh 2007-02-18
2649+ Fixed warning that result from compiling with -Wall -Wwrite-strings
2650+
2651+ 24 paul-mccullagh 2007-02-09
2652+ Handle the fast mutex compile variation
2653+
2654+ 23 paul-mccullagh 2007-02-09
2655+ Corrected compile warning
2656+
2657+ 22 paul-mccullagh 2007-02-01
2658+ Removed the API trace!
2659+
2660+ 21 paul-mccullagh 2007-01-30
2661+ Changes for 0.9.8 release
2662+
2663+ 20 paul-mccullagh 2007-01-29
2664+ Updated tests to MySQL 5.1-BK
2665+
2666+ 19 paul-mccullagh 2007-01-29
2667+ Fixed a bug with the reference counting of file handles
2668+
2669+ 18 paul-mccullagh 2007-01-24
2670+ Set version number to 0.9.75
2671+
2672+ 17 paul-mccullagh 2007-01-24
2673+ Fixed compile warning on Linux
2674+
2675+ 16 paul-mccullagh 2007-01-23
2676+ 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).
2677+
2678+ 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.
2679+
2680+ RN57: Changed error number returned on lock from 1205 (lock timeout) to 1020 (optimistic lock failure).
2681+
2682+ RN56: Added UNIX environment variable for PBXT system parameters. These must be set before starting mysqld, for example:
2683+
2684+ setenv pbxt_index_cache_size 400MB
2685+ setenv pbxt_record_cache_size "1 GB"
2686+
2687+ Values are in bytes unless one of the following units is specified: GB, MB, Kb
2688+
2689+ RN55: Fixed a bug which prevented VARCHAR values from being compressed correctly when stored in variable length rows.
2690+
2691+ 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.
2692+
2693+ 15 paul-mccullagh 2006-12-18
2694+ Set query caching mode to transactional, Added conditions so that the engine compiles with MySQL 5.1.14 and 5.1.13
2695+
2696+ 14 paul-mccullagh 2006-12-15
2697+ Corrected makefile and non-debug compile errors
2698+
2699+ 13 paul-mccullagh 2006-12-15
2700+ Corrected makefile and non-debug compile errors
2701+
2702+ 12 paul-mccullagh 2006-12-14
2703+ Added foreign key test for PBXT
2704+
2705+ 11 paul-mccullagh 2006-12-14
2706+ Implemented foreign keys and fixed some bugs (RN47 - RN51)
2707+
2708+ 10 paul-mccullagh 2006-12-14
2709+ I have reported this problem as MySQL Bug #25062
2710+
2711+ 9 paul-mccullagh 2006-12-14
2712+ Corrected release date
2713+
2714+ 8 paul-mccullagh 2006-12-14
2715+ Implemented foreign keys and fixed some bugs (RN47 - RN51)
2716+
2717+ 7 paul-mccullagh 2006-10-31
2718+ RN47: Modified make dist so that the mysql-test-update folder is shipped
2719+
2720+ 6 paul-mccullagh 2006-10-31
2721+ RN47: Modified make dist so that the mysql-test-update folder is shipped
2722+
2723+ 5 paul-mccullagh 2006-10-31
2724+ RN47: Modified make dist so that the mysql-test-update folder is shipped
2725+
2726+ 4 paul-mccullagh 2006-10-31
2727+ RN46: Update test scripts to run with MySQL 5.1.13
2728+
2729+ 3 paul-mccullagh 2006-10-31
2730+ RN46: Update test scripts to run with MySQL 5.1.13
2731+
2732+ 2 paul-mccullagh 2006-10-31
2733+ RN46: Update test scripts to run with MySQL 5.1.13
2734+
2735+ 1 paul-mccullagh 2006-10-23
2736+ Initial import
2737
2738
2739=== modified file 'INSTALL'
2740--- INSTALL 2008-09-04 10:04:27 +0000
2741+++ INSTALL 2009-07-27 22:39:29 +0000
2742@@ -1,8 +1,8 @@
2743 Installation Instructions
2744 *************************
2745
2746-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
2747-Software Foundation, Inc.
2748+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2749+2006, 2007 Free Software Foundation, Inc.
2750
2751 This file is free documentation; the Free Software Foundation gives
2752 unlimited permission to copy, distribute and modify it.
2753@@ -10,7 +10,10 @@
2754 Basic Installation
2755 ==================
2756
2757-These are generic installation instructions.
2758+Briefly, the shell commands `./configure; make; make install' should
2759+configure, build, and install this package. The following
2760+more-detailed instructions are generic; see the `README' file for
2761+instructions specific to this package.
2762
2763 The `configure' shell script attempts to guess correct values for
2764 various system-dependent variables used during compilation. It uses
2765@@ -23,9 +26,9 @@
2766
2767 It can also use an optional file (typically called `config.cache'
2768 and enabled with `--cache-file=config.cache' or simply `-C') that saves
2769-the results of its tests to speed up reconfiguring. (Caching is
2770+the results of its tests to speed up reconfiguring. Caching is
2771 disabled by default to prevent problems with accidental use of stale
2772-cache files.)
2773+cache files.
2774
2775 If you need to do unusual things to compile the package, please try
2776 to figure out how `configure' could check whether to do them, and mail
2777@@ -35,20 +38,17 @@
2778 may remove or edit it.
2779
2780 The file `configure.ac' (or `configure.in') is used to create
2781-`configure' by a program called `autoconf'. You only need
2782-`configure.ac' if you want to change it or regenerate `configure' using
2783-a newer version of `autoconf'.
2784+`configure' by a program called `autoconf'. You need `configure.ac' if
2785+you want to change it or regenerate `configure' using a newer version
2786+of `autoconf'.
2787
2788 The simplest way to compile this package is:
2789
2790 1. `cd' to the directory containing the package's source code and type
2791- `./configure' to configure the package for your system. If you're
2792- using `csh' on an old version of System V, you might need to type
2793- `sh ./configure' instead to prevent `csh' from trying to execute
2794- `configure' itself.
2795+ `./configure' to configure the package for your system.
2796
2797- Running `configure' takes awhile. While running, it prints some
2798- messages telling which features it is checking for.
2799+ Running `configure' might take a while. While running, it prints
2800+ some messages telling which features it is checking for.
2801
2802 2. Type `make' to compile the package.
2803
2804@@ -67,6 +67,9 @@
2805 all sorts of other programs in order to regenerate files that came
2806 with the distribution.
2807
2808+ 6. Often, you can also type `make uninstall' to remove the installed
2809+ files again.
2810+
2811 Compilers and Options
2812 =====================
2813
2814@@ -78,7 +81,7 @@
2815 by setting variables in the command line or in the environment. Here
2816 is an example:
2817
2818- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
2819+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
2820
2821 *Note Defining Variables::, for more details.
2822
2823@@ -87,17 +90,15 @@
2824
2825 You can compile the package for more than one kind of computer at the
2826 same time, by placing the object files for each architecture in their
2827-own directory. To do this, you must use a version of `make' that
2828-supports the `VPATH' variable, such as GNU `make'. `cd' to the
2829+own directory. To do this, you can use GNU `make'. `cd' to the
2830 directory where you want the object files and executables to go and run
2831 the `configure' script. `configure' automatically checks for the
2832 source code in the directory that `configure' is in and in `..'.
2833
2834- If you have to use a `make' that does not support the `VPATH'
2835-variable, you have to compile the package for one architecture at a
2836-time in the source code directory. After you have installed the
2837-package for one architecture, use `make distclean' before reconfiguring
2838-for another architecture.
2839+ With a non-GNU `make', it is safer to compile the package for one
2840+architecture at a time in the source code directory. After you have
2841+installed the package for one architecture, use `make distclean' before
2842+reconfiguring for another architecture.
2843
2844 Installation Names
2845 ==================
2846@@ -190,12 +191,12 @@
2847 ./configure CC=/usr/local2/bin/gcc
2848
2849 causes the specified `gcc' to be used as the C compiler (unless it is
2850-overridden in the site shell script). Here is a another example:
2851-
2852- /bin/bash ./configure CONFIG_SHELL=/bin/bash
2853-
2854-Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
2855-configuration-related scripts to be executed by `/bin/bash'.
2856+overridden in the site shell script).
2857+
2858+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
2859+an Autoconf bug. Until the bug is fixed you can use this workaround:
2860+
2861+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2862
2863 `configure' Invocation
2864 ======================
2865
2866=== modified file 'Makefile.in'
2867--- Makefile.in 2009-05-14 20:32:49 +0000
2868+++ Makefile.in 2009-07-27 22:39:29 +0000
2869@@ -1,8 +1,8 @@
2870-# Makefile.in generated by automake 1.10 from Makefile.am.
2871+# Makefile.in generated by automake 1.10.1 from Makefile.am.
2872 # @configure_input@
2873
2874 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2875-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
2876+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
2877 # This Makefile.in is free software; the Free Software Foundation
2878 # gives unlimited permission to copy and/or distribute it,
2879 # with or without modifications, as long as this notice is preserved.
2880@@ -92,6 +92,7 @@
2881 CYGPATH_W = @CYGPATH_W@
2882 DEFS = @DEFS@
2883 DEPDIR = @DEPDIR@
2884+DSYMUTIL = @DSYMUTIL@
2885 ECHO = @ECHO@
2886 ECHO_C = @ECHO_C@
2887 ECHO_N = @ECHO_N@
2888@@ -117,6 +118,7 @@
2889 LTLIBOBJS = @LTLIBOBJS@
2890 MAKEINFO = @MAKEINFO@
2891 MKDIR_P = @MKDIR_P@
2892+NMEDIT = @NMEDIT@
2893 OBJEXT = @OBJEXT@
2894 PACKAGE = @PACKAGE@
2895 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
2896@@ -180,6 +182,7 @@
2897 srcdir = @srcdir@
2898 sysconfdir = @sysconfdir@
2899 target_alias = @target_alias@
2900+top_build_prefix = @top_build_prefix@
2901 top_builddir = @top_builddir@
2902 top_srcdir = @top_srcdir@
2903 INCLUDES =
2904@@ -324,8 +327,8 @@
2905 unique=`for i in $$list; do \
2906 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2907 done | \
2908- $(AWK) ' { files[$$0] = 1; } \
2909- END { for (i in files) print i; }'`; \
2910+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
2911+ END { if (nonempty) { for (i in files) print i; }; }'`; \
2912 mkid -fID $$unique
2913 tags: TAGS
2914
2915@@ -350,8 +353,8 @@
2916 unique=`for i in $$list; do \
2917 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2918 done | \
2919- $(AWK) ' { files[$$0] = 1; } \
2920- END { for (i in files) print i; }'`; \
2921+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
2922+ END { if (nonempty) { for (i in files) print i; }; }'`; \
2923 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
2924 test -n "$$unique" || unique=$$empty_fix; \
2925 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
2926@@ -361,13 +364,12 @@
2927 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
2928 $(TAGS_FILES) $(LISP)
2929 tags=; \
2930- here=`pwd`; \
2931 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
2932 unique=`for i in $$list; do \
2933 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
2934 done | \
2935- $(AWK) ' { files[$$0] = 1; } \
2936- END { for (i in files) print i; }'`; \
2937+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
2938+ END { if (nonempty) { for (i in files) print i; }; }'`; \
2939 test -z "$(CTAGS_ARGS)$$tags$$unique" \
2940 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
2941 $$tags $$unique
2942@@ -438,6 +440,10 @@
2943 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
2944 $(am__remove_distdir)
2945
2946+dist-lzma: distdir
2947+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
2948+ $(am__remove_distdir)
2949+
2950 dist-tarZ: distdir
2951 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
2952 $(am__remove_distdir)
2953@@ -464,6 +470,8 @@
2954 GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
2955 *.tar.bz2*) \
2956 bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
2957+ *.tar.lzma*) \
2958+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
2959 *.tar.Z*) \
2960 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
2961 *.shar.gz*) \
2962@@ -615,8 +623,8 @@
2963 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
2964 all all-am am--refresh check check-am clean clean-generic \
2965 clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
2966- dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
2967- distclean-generic distclean-hdr distclean-libtool \
2968+ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
2969+ distclean distclean-generic distclean-hdr distclean-libtool \
2970 distclean-tags distcleancheck distdir distuninstallcheck dvi \
2971 dvi-am html html-am info info-am install install-am \
2972 install-data install-data-am install-dvi install-dvi-am \
2973
2974=== modified file 'aclocal.m4'
2975--- aclocal.m4 2009-05-14 20:32:49 +0000
2976+++ aclocal.m4 2009-07-27 22:39:29 +0000
2977@@ -1,7 +1,7 @@
2978-# generated automatically by aclocal 1.10 -*- Autoconf -*-
2979+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
2980
2981 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2982-# 2005, 2006 Free Software Foundation, Inc.
2983+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
2984 # This file is free software; the Free Software Foundation
2985 # gives unlimited permission to copy and/or distribute it,
2986 # with or without modifications, as long as this notice is preserved.
2987@@ -11,14 +11,17 @@
2988 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
2989 # PARTICULAR PURPOSE.
2990
2991-m4_if(m4_PACKAGE_VERSION, [2.61],,
2992-[m4_fatal([this file was generated for autoconf 2.61.
2993-You have another version of autoconf. If you want to use that,
2994-you should regenerate the build system entirely.], [63])])
2995+m4_ifndef([AC_AUTOCONF_VERSION],
2996+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
2997+m4_if(AC_AUTOCONF_VERSION, [2.63],,
2998+[m4_warning([this file was generated for autoconf 2.63.
2999+You have another version of autoconf. It may work, but is not guaranteed to.
3000+If you have problems, you may need to regenerate the build system entirely.
3001+To do so, use the procedure documented by the package, typically `autoreconf'.])])
3002
3003 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
3004
3005-# serial 51 AC_PROG_LIBTOOL
3006+# serial 52 AC_PROG_LIBTOOL
3007
3008
3009 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
3010@@ -106,7 +109,6 @@
3011 AC_REQUIRE([AC_OBJEXT])dnl
3012 AC_REQUIRE([AC_EXEEXT])dnl
3013 dnl
3014-
3015 AC_LIBTOOL_SYS_MAX_CMD_LEN
3016 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
3017 AC_LIBTOOL_OBJDIR
3018@@ -208,6 +210,8 @@
3019 ;;
3020 esac
3021
3022+_LT_REQUIRED_DARWIN_CHECKS
3023+
3024 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
3025 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
3026 enable_win32_dll=yes, enable_win32_dll=no)
3027@@ -287,9 +291,80 @@
3028 echo "$lt_simple_link_test_code" >conftest.$ac_ext
3029 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
3030 _lt_linker_boilerplate=`cat conftest.err`
3031-$rm conftest*
3032+$rm -r conftest*
3033 ])# _LT_LINKER_BOILERPLATE
3034
3035+# _LT_REQUIRED_DARWIN_CHECKS
3036+# --------------------------
3037+# Check for some things on darwin
3038+AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
3039+ case $host_os in
3040+ rhapsody* | darwin*)
3041+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
3042+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
3043+
3044+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
3045+ [lt_cv_apple_cc_single_mod=no
3046+ if test -z "${LT_MULTI_MODULE}"; then
3047+ # By default we will add the -single_module flag. You can override
3048+ # by either setting the environment variable LT_MULTI_MODULE
3049+ # non-empty at configure time, or by adding -multi_module to the
3050+ # link flags.
3051+ echo "int foo(void){return 1;}" > conftest.c
3052+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
3053+ -dynamiclib ${wl}-single_module conftest.c
3054+ if test -f libconftest.dylib; then
3055+ lt_cv_apple_cc_single_mod=yes
3056+ rm -rf libconftest.dylib*
3057+ fi
3058+ rm conftest.c
3059+ fi])
3060+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
3061+ [lt_cv_ld_exported_symbols_list],
3062+ [lt_cv_ld_exported_symbols_list=no
3063+ save_LDFLAGS=$LDFLAGS
3064+ echo "_main" > conftest.sym
3065+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
3066+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
3067+ [lt_cv_ld_exported_symbols_list=yes],
3068+ [lt_cv_ld_exported_symbols_list=no])
3069+ LDFLAGS="$save_LDFLAGS"
3070+ ])
3071+ case $host_os in
3072+ rhapsody* | darwin1.[[0123]])
3073+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
3074+ darwin1.*)
3075+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
3076+ darwin*)
3077+ # if running on 10.5 or later, the deployment target defaults
3078+ # to the OS version, if on x86, and 10.4, the deployment
3079+ # target defaults to 10.4. Don't you love it?
3080+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
3081+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
3082+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
3083+ 10.[[012]]*)
3084+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
3085+ 10.*)
3086+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
3087+ esac
3088+ ;;
3089+ esac
3090+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
3091+ _lt_dar_single_mod='$single_module'
3092+ fi
3093+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
3094+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
3095+ else
3096+ _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
3097+ fi
3098+ if test "$DSYMUTIL" != ":"; then
3099+ _lt_dsymutil="~$DSYMUTIL \$lib || :"
3100+ else
3101+ _lt_dsymutil=
3102+ fi
3103+ ;;
3104+ esac
3105+])
3106
3107 # _LT_AC_SYS_LIBPATH_AIX
3108 # ----------------------
3109@@ -614,7 +689,11 @@
3110 *64-bit*)
3111 case $lt_cv_prog_gnu_ld in
3112 yes*) LD="${LD-ld} -m elf64_sparc" ;;
3113- *) LD="${LD-ld} -64" ;;
3114+ *)
3115+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
3116+ LD="${LD-ld} -64"
3117+ fi
3118+ ;;
3119 esac
3120 ;;
3121 esac
3122@@ -707,7 +786,7 @@
3123 $2=yes
3124 fi
3125 fi
3126- $rm conftest*
3127+ $rm -r conftest*
3128 LDFLAGS="$save_LDFLAGS"
3129 ])
3130
3131@@ -978,7 +1057,7 @@
3132 AC_CHECK_FUNC([shl_load],
3133 [lt_cv_dlopen="shl_load"],
3134 [AC_CHECK_LIB([dld], [shl_load],
3135- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
3136+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
3137 [AC_CHECK_FUNC([dlopen],
3138 [lt_cv_dlopen="dlopen"],
3139 [AC_CHECK_LIB([dl], [dlopen],
3140@@ -986,7 +1065,7 @@
3141 [AC_CHECK_LIB([svld], [dlopen],
3142 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
3143 [AC_CHECK_LIB([dld], [dld_link],
3144- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
3145+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
3146 ])
3147 ])
3148 ])
3149@@ -1303,7 +1382,7 @@
3150 soname_spec='${libname}${release}${shared_ext}$major'
3151 ;;
3152
3153-aix4* | aix5*)
3154+aix[[4-9]]*)
3155 version_type=linux
3156 need_lib_prefix=no
3157 need_version=no
3158@@ -1824,6 +1903,13 @@
3159 AC_MSG_RESULT([$dynamic_linker])
3160 test "$dynamic_linker" = no && can_build_shared=no
3161
3162+AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
3163+[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
3164+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
3165+AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
3166+[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
3167+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
3168+
3169 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3170 if test "$GCC" = yes; then
3171 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3172@@ -2323,7 +2409,7 @@
3173 # whether `pass_all' will *always* work, you probably want this one.
3174
3175 case $host_os in
3176-aix4* | aix5*)
3177+aix[[4-9]]*)
3178 lt_cv_deplibs_check_method=pass_all
3179 ;;
3180
3181@@ -2759,7 +2845,7 @@
3182 fi
3183 ;;
3184
3185-aix4* | aix5*)
3186+aix[[4-9]]*)
3187 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3188 test "$enable_shared" = yes && enable_static=no
3189 fi
3190@@ -2816,6 +2902,7 @@
3191 _LT_AC_TAGVAR(predeps, $1)=
3192 _LT_AC_TAGVAR(postdeps, $1)=
3193 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
3194+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
3195
3196 # Source file extension for C++ test sources.
3197 ac_ext=cpp
3198@@ -2925,7 +3012,7 @@
3199 # FIXME: insert proper C++ library support
3200 _LT_AC_TAGVAR(ld_shlibs, $1)=no
3201 ;;
3202- aix4* | aix5*)
3203+ aix[[4-9]]*)
3204 if test "$host_cpu" = ia64; then
3205 # On IA64, the linker does run time linking by default, so we don't
3206 # have to do anything special.
3207@@ -2938,7 +3025,7 @@
3208 # Test if we are trying to use run time linking or normal
3209 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
3210 # need to do runtime linking.
3211- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
3212+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
3213 for ld_flag in $LDFLAGS; do
3214 case $ld_flag in
3215 *-brtl*)
3216@@ -3084,51 +3171,23 @@
3217 fi
3218 ;;
3219 darwin* | rhapsody*)
3220- case $host_os in
3221- rhapsody* | darwin1.[[012]])
3222- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
3223- ;;
3224- *) # Darwin 1.3 on
3225- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
3226- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3227- else
3228- case ${MACOSX_DEPLOYMENT_TARGET} in
3229- 10.[[012]])
3230- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3231- ;;
3232- 10.*)
3233- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
3234- ;;
3235- esac
3236- fi
3237- ;;
3238- esac
3239 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3240 _LT_AC_TAGVAR(hardcode_direct, $1)=no
3241 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
3242 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3243 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
3244 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3245-
3246- if test "$GXX" = yes ; then
3247- lt_int_apple_cc_single_mod=no
3248+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
3249+ if test "$GXX" = yes ; then
3250 output_verbose_link_cmd='echo'
3251- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
3252- lt_int_apple_cc_single_mod=yes
3253+ _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}"
3254+ _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
3255+ _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}"
3256+ _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}"
3257+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
3258+ _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}"
3259+ _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}"
3260 fi
3261- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3262- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3263- else
3264- _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'
3265- fi
3266- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3267- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3268- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3269- _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}'
3270- else
3271- _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}'
3272- fi
3273- _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}'
3274 else
3275 case $cc_basename in
3276 xlc*)
3277@@ -3379,7 +3438,7 @@
3278 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3279 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
3280 ;;
3281- pgCC*)
3282+ pgCC* | pgcpp*)
3283 # Portland Group C++ compiler
3284 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
3285 _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'
3286@@ -3814,7 +3873,8 @@
3287 # compiler output when linking a shared library.
3288 # Parse the compiler output and extract the necessary
3289 # objects, libraries and library flags.
3290-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
3291+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
3292+[AC_REQUIRE([LT_AC_PROG_SED])dnl
3293 dnl we can't use the lt_simple_compile_test_code here,
3294 dnl because it contains code intended for an executable,
3295 dnl not a library. It's possible we should let each
3296@@ -3939,6 +3999,11 @@
3297
3298 $rm -f confest.$objext
3299
3300+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
3301+if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3302+ _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
3303+fi
3304+
3305 # PORTME: override above test on systems where it is broken
3306 ifelse([$1],[CXX],
3307 [case $host_os in
3308@@ -3995,7 +4060,6 @@
3309 ;;
3310 esac
3311 ])
3312-
3313 case " $_LT_AC_TAGVAR(postdeps, $1) " in
3314 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
3315 esac
3316@@ -4080,7 +4144,7 @@
3317 postinstall_cmds='$RANLIB $lib'
3318 fi
3319 ;;
3320-aix4* | aix5*)
3321+aix[[4-9]]*)
3322 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3323 test "$enable_shared" = yes && enable_static=no
3324 fi
3325@@ -4257,6 +4321,7 @@
3326 _LT_AC_TAGVAR(predeps, $1) \
3327 _LT_AC_TAGVAR(postdeps, $1) \
3328 _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
3329+ _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
3330 _LT_AC_TAGVAR(archive_cmds, $1) \
3331 _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
3332 _LT_AC_TAGVAR(postinstall_cmds, $1) \
3333@@ -4319,7 +4384,7 @@
3334 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
3335 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
3336 #
3337-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
3338+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3339 # Free Software Foundation, Inc.
3340 #
3341 # This file is part of GNU Libtool:
3342@@ -4556,6 +4621,10 @@
3343 # shared library.
3344 postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
3345
3346+# The directories searched by this compiler when creating a shared
3347+# library
3348+compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
3349+
3350 # The library search path used internally by the compiler when linking
3351 # a shared library.
3352 compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
3353@@ -4905,7 +4974,7 @@
3354 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3355 cat conftest.$ac_ext >&5
3356 fi
3357- rm -f conftest* conftst*
3358+ rm -rf conftest* conftst*
3359
3360 # Do not use the global_symbol_pipe unless it works.
3361 if test "$pipe_works" = yes; then
3362@@ -4962,7 +5031,8 @@
3363 # built for inclusion in a dll (and should export symbols for example).
3364 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3365 # (--disable-auto-import) libraries
3366- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
3367+ m4_if([$1], [GCJ], [],
3368+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3369 ;;
3370 darwin* | rhapsody*)
3371 # PIC is the default on this platform
3372@@ -4999,7 +5069,7 @@
3373 esac
3374 else
3375 case $host_os in
3376- aix4* | aix5*)
3377+ aix[[4-9]]*)
3378 # All AIX code is PIC.
3379 if test "$host_cpu" = ia64; then
3380 # AIX 5 now supports IA64 processor
3381@@ -5095,7 +5165,7 @@
3382 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3383 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
3384 ;;
3385- pgCC*)
3386+ pgCC* | pgcpp*)
3387 # Portland Group C++ compiler.
3388 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3389 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3390@@ -5246,7 +5316,8 @@
3391 # built for inclusion in a dll (and should export symbols for example).
3392 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3393 # (--disable-auto-import) libraries
3394- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
3395+ m4_if([$1], [GCJ], [],
3396+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3397 ;;
3398
3399 darwin* | rhapsody*)
3400@@ -5316,7 +5387,8 @@
3401 mingw* | cygwin* | pw32* | os2*)
3402 # This hack is so that the source file can tell whether it is being
3403 # built for inclusion in a dll (and should export symbols for example).
3404- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
3405+ m4_if([$1], [GCJ], [],
3406+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3407 ;;
3408
3409 hpux9* | hpux10* | hpux11*)
3410@@ -5453,7 +5525,7 @@
3411 #
3412 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
3413 AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
3414- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
3415+ _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
3416 [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
3417 [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
3418 "" | " "*) ;;
3419@@ -5477,7 +5549,7 @@
3420 #
3421 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
3422 AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
3423- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
3424+ _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
3425 $lt_tmp_static_flag,
3426 [],
3427 [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
3428@@ -5493,7 +5565,7 @@
3429 ifelse([$1],[CXX],[
3430 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
3431 case $host_os in
3432- aix4* | aix5*)
3433+ aix[[4-9]]*)
3434 # If we're using GNU nm, then we don't want the "-C" option.
3435 # -C means demangle to AIX nm, but means don't demangle with GNU nm
3436 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
3437@@ -5512,6 +5584,7 @@
3438 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
3439 ;;
3440 esac
3441+ _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
3442 ],[
3443 runpath_var=
3444 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
3445@@ -5542,12 +5615,14 @@
3446 # it will be wrapped by ` (' and `)$', so one must not match beginning or
3447 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
3448 # as well as any symbol that contains `d'.
3449- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
3450+ _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
3451 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
3452 # platforms (ab)use it in PIC code, but their linkers get confused if
3453 # the symbol is explicitly referenced. Since portable code cannot
3454 # rely on this symbol name, it's probably fine to never include it in
3455 # preloaded symbol tables.
3456+ # Exclude shared library initialization/finalization symbols.
3457+dnl Note also adjust exclude_expsyms for C++ above.
3458 extract_expsyms_cmds=
3459 # Just being paranoid about ensuring that cc_basename is set.
3460 _LT_CC_BASENAME([$compiler])
3461@@ -5597,7 +5672,7 @@
3462
3463 # See if GNU ld supports shared libraries.
3464 case $host_os in
3465- aix3* | aix4* | aix5*)
3466+ aix[[3-9]]*)
3467 # On AIX/PPC, the GNU linker is very broken
3468 if test "$host_cpu" != ia64; then
3469 _LT_AC_TAGVAR(ld_shlibs, $1)=no
3470@@ -5816,7 +5891,7 @@
3471 fi
3472 ;;
3473
3474- aix4* | aix5*)
3475+ aix[[4-9]]*)
3476 if test "$host_cpu" = ia64; then
3477 # On IA64, the linker does run time linking by default, so we don't
3478 # have to do anything special.
3479@@ -5836,7 +5911,7 @@
3480 # Test if we are trying to use run time linking or normal
3481 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
3482 # need to do runtime linking.
3483- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
3484+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
3485 for ld_flag in $LDFLAGS; do
3486 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
3487 aix_use_runtimelinking=yes
3488@@ -5969,25 +6044,7 @@
3489 ;;
3490
3491 darwin* | rhapsody*)
3492- case $host_os in
3493- rhapsody* | darwin1.[[012]])
3494- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
3495- ;;
3496- *) # Darwin 1.3 on
3497- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
3498- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3499- else
3500- case ${MACOSX_DEPLOYMENT_TARGET} in
3501- 10.[[012]])
3502- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3503- ;;
3504- 10.*)
3505- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
3506- ;;
3507- esac
3508- fi
3509- ;;
3510- esac
3511+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
3512 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3513 _LT_AC_TAGVAR(hardcode_direct, $1)=no
3514 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
3515@@ -5996,11 +6053,10 @@
3516 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3517 if test "$GCC" = yes ; then
3518 output_verbose_link_cmd='echo'
3519- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3520- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3521- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3522- _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}'
3523- _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}'
3524+ _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}"
3525+ _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
3526+ _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}"
3527+ _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}"
3528 else
3529 case $cc_basename in
3530 xlc*)
3531@@ -6581,7 +6637,7 @@
3532 AC_MSG_RESULT([$SED])
3533 ])
3534
3535-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
3536+# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
3537 #
3538 # This file is free software; the Free Software Foundation
3539 # gives unlimited permission to copy and/or distribute it,
3540@@ -6596,7 +6652,7 @@
3541 [am__api_version='1.10'
3542 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
3543 dnl require some minimum version. Point them to the right macro.
3544-m4_if([$1], [1.10], [],
3545+m4_if([$1], [1.10.1], [],
3546 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
3547 ])
3548
3549@@ -6612,8 +6668,10 @@
3550 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
3551 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
3552 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
3553-[AM_AUTOMAKE_VERSION([1.10])dnl
3554-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
3555+[AM_AUTOMAKE_VERSION([1.10.1])dnl
3556+m4_ifndef([AC_AUTOCONF_VERSION],
3557+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
3558+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
3559
3560 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
3561
3562@@ -6885,7 +6943,7 @@
3563 # each Makefile.in and add a new line on top of each file to say so.
3564 # Grep'ing the whole file is not good either: AIX grep has a line
3565 # limit of 2048, but all sed's we know have understand at least 4000.
3566- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
3567+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
3568 dirpart=`AS_DIRNAME("$mf")`
3569 else
3570 continue
3571@@ -6945,13 +7003,13 @@
3572 # Do all the work for Automake. -*- Autoconf -*-
3573
3574 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3575-# 2005, 2006 Free Software Foundation, Inc.
3576+# 2005, 2006, 2008 Free Software Foundation, Inc.
3577 #
3578 # This file is free software; the Free Software Foundation
3579 # gives unlimited permission to copy and/or distribute it,
3580 # with or without modifications, as long as this notice is preserved.
3581
3582-# serial 12
3583+# serial 13
3584
3585 # This macro actually does too much. Some checks are only needed if
3586 # your package does certain things. But this isn't really a big deal.
3587@@ -7056,16 +7114,17 @@
3588 # our stamp files there.
3589 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
3590 [# Compute $1's index in $config_headers.
3591+_am_arg=$1
3592 _am_stamp_count=1
3593 for _am_header in $config_headers :; do
3594 case $_am_header in
3595- $1 | $1:* )
3596+ $_am_arg | $_am_arg:* )
3597 break ;;
3598 * )
3599 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
3600 esac
3601 done
3602-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
3603+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
3604
3605 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
3606 #
3607@@ -7337,7 +7396,7 @@
3608
3609 # _AM_SUBST_NOTMAKE(VARIABLE)
3610 # ---------------------------
3611-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
3612+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
3613 # This macro is traced by Automake.
3614 AC_DEFUN([_AM_SUBST_NOTMAKE])
3615
3616
3617=== modified file 'bin/Makefile.in'
3618--- bin/Makefile.in 2009-05-14 20:32:49 +0000
3619+++ bin/Makefile.in 2009-07-27 22:39:29 +0000
3620@@ -1,8 +1,8 @@
3621-# Makefile.in generated by automake 1.10 from Makefile.am.
3622+# Makefile.in generated by automake 1.10.1 from Makefile.am.
3623 # @configure_input@
3624
3625 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
3626-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3627+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3628 # This Makefile.in is free software; the Free Software Foundation
3629 # gives unlimited permission to copy and/or distribute it,
3630 # with or without modifications, as long as this notice is preserved.
3631@@ -52,7 +52,7 @@
3632 xtstat_OBJECTS = $(am_xtstat_OBJECTS)
3633 xtstat_DEPENDENCIES = @ENG_MYSQL_SRC@/libmysql/libmysqlclient.la \
3634 ../src/libxtutil.a
3635-DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
3636+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
3637 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
3638 am__depfiles_maybe = depfiles
3639 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
3640@@ -88,6 +88,7 @@
3641 CYGPATH_W = @CYGPATH_W@
3642 DEFS = @DEFS@
3643 DEPDIR = @DEPDIR@
3644+DSYMUTIL = @DSYMUTIL@
3645 ECHO = @ECHO@
3646 ECHO_C = @ECHO_C@
3647 ECHO_N = @ECHO_N@
3648@@ -113,6 +114,7 @@
3649 LTLIBOBJS = @LTLIBOBJS@
3650 MAKEINFO = @MAKEINFO@
3651 MKDIR_P = @MKDIR_P@
3652+NMEDIT = @NMEDIT@
3653 OBJEXT = @OBJEXT@
3654 PACKAGE = @PACKAGE@
3655 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
3656@@ -176,6 +178,7 @@
3657 srcdir = @srcdir@
3658 sysconfdir = @sysconfdir@
3659 target_alias = @target_alias@
3660+top_build_prefix = @top_build_prefix@
3661 top_builddir = @top_builddir@
3662 top_srcdir = @top_srcdir@
3663 INCLUDES = $(ENG_MYSQL_INC) -I../src
3664@@ -223,8 +226,8 @@
3665 || test -f $$p1 \
3666 ; then \
3667 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
3668- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
3669- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
3670+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
3671+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
3672 else :; fi; \
3673 done
3674
3675@@ -286,8 +289,8 @@
3676 unique=`for i in $$list; do \
3677 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
3678 done | \
3679- $(AWK) ' { files[$$0] = 1; } \
3680- END { for (i in files) print i; }'`; \
3681+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
3682+ END { if (nonempty) { for (i in files) print i; }; }'`; \
3683 mkid -fID $$unique
3684 tags: TAGS
3685
3686@@ -299,8 +302,8 @@
3687 unique=`for i in $$list; do \
3688 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
3689 done | \
3690- $(AWK) ' { files[$$0] = 1; } \
3691- END { for (i in files) print i; }'`; \
3692+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
3693+ END { if (nonempty) { for (i in files) print i; }; }'`; \
3694 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
3695 test -n "$$unique" || unique=$$empty_fix; \
3696 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
3697@@ -310,13 +313,12 @@
3698 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
3699 $(TAGS_FILES) $(LISP)
3700 tags=; \
3701- here=`pwd`; \
3702 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
3703 unique=`for i in $$list; do \
3704 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
3705 done | \
3706- $(AWK) ' { files[$$0] = 1; } \
3707- END { for (i in files) print i; }'`; \
3708+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
3709+ END { if (nonempty) { for (i in files) print i; }; }'`; \
3710 test -z "$(CTAGS_ARGS)$$tags$$unique" \
3711 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
3712 $$tags $$unique
3713
3714=== modified file 'config/config.guess'
3715--- config/config.guess 2008-09-08 17:47:43 +0000
3716+++ config/config.guess 2009-07-27 22:39:29 +0000
3717@@ -1,9 +1,10 @@
3718 #! /bin/sh
3719 # Attempt to guess a canonical system name.
3720 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3721-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
3722+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3723+# Free Software Foundation, Inc.
3724
3725-timestamp='2005-07-08'
3726+timestamp='2008-01-08'
3727
3728 # This file is free software; you can redistribute it and/or modify it
3729 # under the terms of the GNU General Public License as published by
3730@@ -55,8 +56,8 @@
3731 GNU config.guess ($timestamp)
3732
3733 Originally written by Per Bothner.
3734-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
3735-Free Software Foundation, Inc.
3736+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
3737+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3738
3739 This is free software; see the source for copying conditions. There is NO
3740 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
3741@@ -106,7 +107,7 @@
3742 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
3743 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
3744 : ${TMPDIR=/tmp} ;
3745- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
3746+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
3747 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
3748 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
3749 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
3750@@ -160,6 +161,7 @@
3751 arm*) machine=arm-unknown ;;
3752 sh3el) machine=shl-unknown ;;
3753 sh3eb) machine=sh-unknown ;;
3754+ sh5el) machine=sh5le-unknown ;;
3755 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
3756 esac
3757 # The Operating System including object format, if it has switched
3758@@ -206,8 +208,11 @@
3759 *:ekkoBSD:*:*)
3760 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
3761 exit ;;
3762+ *:SolidBSD:*:*)
3763+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
3764+ exit ;;
3765 macppc:MirBSD:*:*)
3766- echo powerppc-unknown-mirbsd${UNAME_RELEASE}
3767+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
3768 exit ;;
3769 *:MirBSD:*:*)
3770 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
3771@@ -325,7 +330,7 @@
3772 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3773 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3774 exit ;;
3775- i86pc:SunOS:5.*:*)
3776+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
3777 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3778 exit ;;
3779 sun4*:SunOS:6*:*)
3780@@ -527,7 +532,7 @@
3781 echo rs6000-ibm-aix3.2
3782 fi
3783 exit ;;
3784- *:AIX:*:[45])
3785+ *:AIX:*:[456])
3786 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
3787 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
3788 IBM_ARCH=rs6000
3789@@ -764,12 +769,19 @@
3790 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
3791 exit ;;
3792 *:FreeBSD:*:*)
3793- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
3794+ case ${UNAME_MACHINE} in
3795+ pc98)
3796+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
3797+ amd64)
3798+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
3799+ *)
3800+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
3801+ esac
3802 exit ;;
3803 i*:CYGWIN*:*)
3804 echo ${UNAME_MACHINE}-pc-cygwin
3805 exit ;;
3806- i*:MINGW*:*)
3807+ *:MINGW*:*)
3808 echo ${UNAME_MACHINE}-pc-mingw32
3809 exit ;;
3810 i*:windows32*:*)
3811@@ -779,9 +791,18 @@
3812 i*:PW*:*)
3813 echo ${UNAME_MACHINE}-pc-pw32
3814 exit ;;
3815- x86:Interix*:[34]*)
3816- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
3817- exit ;;
3818+ *:Interix*:[3456]*)
3819+ case ${UNAME_MACHINE} in
3820+ x86)
3821+ echo i586-pc-interix${UNAME_RELEASE}
3822+ exit ;;
3823+ EM64T | authenticamd)
3824+ echo x86_64-unknown-interix${UNAME_RELEASE}
3825+ exit ;;
3826+ IA64)
3827+ echo ia64-unknown-interix${UNAME_RELEASE}
3828+ exit ;;
3829+ esac ;;
3830 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
3831 echo i${UNAME_MACHINE}-pc-mks
3832 exit ;;
3833@@ -794,7 +815,7 @@
3834 i*:UWIN*:*)
3835 echo ${UNAME_MACHINE}-pc-uwin
3836 exit ;;
3837- amd64:CYGWIN*:*:*)
3838+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
3839 echo x86_64-unknown-cygwin
3840 exit ;;
3841 p*:CYGWIN*:*)
3842@@ -815,6 +836,16 @@
3843 echo ${UNAME_MACHINE}-pc-minix
3844 exit ;;
3845 arm*:Linux:*:*)
3846+ eval $set_cc_for_build
3847+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
3848+ | grep -q __ARM_EABI__
3849+ then
3850+ echo ${UNAME_MACHINE}-unknown-linux-gnu
3851+ else
3852+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
3853+ fi
3854+ exit ;;
3855+ avr32*:Linux:*:*)
3856 echo ${UNAME_MACHINE}-unknown-linux-gnu
3857 exit ;;
3858 cris:Linux:*:*)
3859@@ -851,7 +882,11 @@
3860 #endif
3861 #endif
3862 EOF
3863- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
3864+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
3865+ /^CPU/{
3866+ s: ::g
3867+ p
3868+ }'`"
3869 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
3870 ;;
3871 mips64:Linux:*:*)
3872@@ -870,9 +905,16 @@
3873 #endif
3874 #endif
3875 EOF
3876- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
3877+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
3878+ /^CPU/{
3879+ s: ::g
3880+ p
3881+ }'`"
3882 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
3883 ;;
3884+ or32:Linux:*:*)
3885+ echo or32-unknown-linux-gnu
3886+ exit ;;
3887 ppc:Linux:*:*)
3888 echo powerpc-unknown-linux-gnu
3889 exit ;;
3890@@ -916,9 +958,15 @@
3891 sparc:Linux:*:* | sparc64:Linux:*:*)
3892 echo ${UNAME_MACHINE}-unknown-linux-gnu
3893 exit ;;
3894+ vax:Linux:*:*)
3895+ echo ${UNAME_MACHINE}-dec-linux-gnu
3896+ exit ;;
3897 x86_64:Linux:*:*)
3898 echo x86_64-unknown-linux-gnu
3899 exit ;;
3900+ xtensa*:Linux:*:*)
3901+ echo ${UNAME_MACHINE}-unknown-linux-gnu
3902+ exit ;;
3903 i*86:Linux:*:*)
3904 # The BFD linker knows what the default object file format is, so
3905 # first see if it will tell us. cd to the root directory to prevent
3906@@ -961,7 +1009,7 @@
3907 LIBC=gnulibc1
3908 # endif
3909 #else
3910- #ifdef __INTEL_COMPILER
3911+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
3912 LIBC=gnu
3913 #else
3914 LIBC=gnuaout
3915@@ -971,7 +1019,11 @@
3916 LIBC=dietlibc
3917 #endif
3918 EOF
3919- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
3920+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
3921+ /^LIBC/{
3922+ s: ::g
3923+ p
3924+ }'`"
3925 test x"${LIBC}" != x && {
3926 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
3927 exit
3928@@ -1173,6 +1225,15 @@
3929 SX-6:SUPER-UX:*:*)
3930 echo sx6-nec-superux${UNAME_RELEASE}
3931 exit ;;
3932+ SX-7:SUPER-UX:*:*)
3933+ echo sx7-nec-superux${UNAME_RELEASE}
3934+ exit ;;
3935+ SX-8:SUPER-UX:*:*)
3936+ echo sx8-nec-superux${UNAME_RELEASE}
3937+ exit ;;
3938+ SX-8R:SUPER-UX:*:*)
3939+ echo sx8r-nec-superux${UNAME_RELEASE}
3940+ exit ;;
3941 Power*:Rhapsody:*:*)
3942 echo powerpc-apple-rhapsody${UNAME_RELEASE}
3943 exit ;;
3944@@ -1182,7 +1243,6 @@
3945 *:Darwin:*:*)
3946 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
3947 case $UNAME_PROCESSOR in
3948- *86) UNAME_PROCESSOR=i686 ;;
3949 unknown) UNAME_PROCESSOR=powerpc ;;
3950 esac
3951 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
3952@@ -1261,6 +1321,9 @@
3953 i*86:skyos:*:*)
3954 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
3955 exit ;;
3956+ i*86:rdos:*:*)
3957+ echo ${UNAME_MACHINE}-pc-rdos
3958+ exit ;;
3959 esac
3960
3961 #echo '(No uname command or uname output not recognized.)' 1>&2
3962
3963=== modified file 'config/config.sub'
3964--- config/config.sub 2008-09-08 17:47:43 +0000
3965+++ config/config.sub 2009-07-27 22:39:29 +0000
3966@@ -1,9 +1,10 @@
3967 #! /bin/sh
3968 # Configuration validation subroutine script.
3969 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3970-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
3971+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3972+# Free Software Foundation, Inc.
3973
3974-timestamp='2005-07-08'
3975+timestamp='2008-01-16'
3976
3977 # This file is (in principle) common to ALL GNU software.
3978 # The presence of a machine in this file suggests that SOME GNU software
3979@@ -71,8 +72,8 @@
3980 version="\
3981 GNU config.sub ($timestamp)
3982
3983-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
3984-Free Software Foundation, Inc.
3985+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
3986+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3987
3988 This is free software; see the source for copying conditions. There is NO
3989 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
3990@@ -119,8 +120,9 @@
3991 # Here we must recognize all the valid KERNEL-OS combinations.
3992 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
3993 case $maybe_os in
3994- nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
3995- kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
3996+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
3997+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
3998+ storm-chaos* | os2-emx* | rtmk-nova*)
3999 os=-$maybe_os
4000 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
4001 ;;
4002@@ -171,6 +173,10 @@
4003 -hiux*)
4004 os=-hiuxwe2
4005 ;;
4006+ -sco6)
4007+ os=-sco5v6
4008+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
4009+ ;;
4010 -sco5)
4011 os=-sco3.2v5
4012 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
4013@@ -187,6 +193,10 @@
4014 # Don't forget version if it is 3.2v4 or newer.
4015 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
4016 ;;
4017+ -sco5v6*)
4018+ # Don't forget version if it is 3.2v4 or newer.
4019+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
4020+ ;;
4021 -sco*)
4022 os=-sco3.2v2
4023 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
4024@@ -231,15 +241,16 @@
4025 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
4026 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
4027 | am33_2.0 \
4028- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
4029+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
4030 | bfin \
4031 | c4x | clipper \
4032 | d10v | d30v | dlx | dsp16xx \
4033- | fr30 | frv \
4034+ | fido | fr30 | frv \
4035 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
4036 | i370 | i860 | i960 | ia64 \
4037 | ip2k | iq2000 \
4038- | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
4039+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
4040+ | maxq | mb | microblaze | mcore | mep \
4041 | mips | mipsbe | mipseb | mipsel | mipsle \
4042 | mips16 \
4043 | mips64 | mips64el \
4044@@ -257,28 +268,27 @@
4045 | mipsisa64sr71k | mipsisa64sr71kel \
4046 | mipstx39 | mipstx39el \
4047 | mn10200 | mn10300 \
4048- | ms1 \
4049+ | mt \
4050 | msp430 \
4051+ | nios | nios2 \
4052 | ns16k | ns32k \
4053 | or32 \
4054 | pdp10 | pdp11 | pj | pjl \
4055 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
4056 | pyramid \
4057- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
4058+ | score \
4059+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
4060 | sh64 | sh64le \
4061- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
4062- | sparcv8 | sparcv9 | sparcv9b \
4063- | strongarm \
4064+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
4065+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
4066+ | spu | strongarm \
4067 | tahoe | thumb | tic4x | tic80 | tron \
4068 | v850 | v850e \
4069 | we32k \
4070- | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
4071+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
4072 | z8k)
4073 basic_machine=$basic_machine-unknown
4074 ;;
4075- m32c)
4076- basic_machine=$basic_machine-unknown
4077- ;;
4078 m6811 | m68hc11 | m6812 | m68hc12)
4079 # Motorola 68HC11/12.
4080 basic_machine=$basic_machine-unknown
4081@@ -286,6 +296,9 @@
4082 ;;
4083 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
4084 ;;
4085+ ms1)
4086+ basic_machine=mt-unknown
4087+ ;;
4088
4089 # We use `pc' rather than `unknown'
4090 # because (1) that's what they normally are, and
4091@@ -305,18 +318,18 @@
4092 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
4093 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
4094 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
4095- | avr-* \
4096+ | avr-* | avr32-* \
4097 | bfin-* | bs2000-* \
4098 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
4099 | clipper-* | craynv-* | cydra-* \
4100 | d10v-* | d30v-* | dlx-* \
4101 | elxsi-* \
4102- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
4103+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
4104 | h8300-* | h8500-* \
4105 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
4106 | i*86-* | i860-* | i960-* | ia64-* \
4107 | ip2k-* | iq2000-* \
4108- | m32r-* | m32rle-* \
4109+ | m32c-* | m32r-* | m32rle-* \
4110 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
4111 | m88110-* | m88k-* | maxq-* | mcore-* \
4112 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
4113@@ -336,30 +349,33 @@
4114 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
4115 | mipstx39-* | mipstx39el-* \
4116 | mmix-* \
4117- | ms1-* \
4118+ | mt-* \
4119 | msp430-* \
4120+ | nios-* | nios2-* \
4121 | none-* | np1-* | ns16k-* | ns32k-* \
4122 | orion-* \
4123 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4124 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
4125 | pyramid-* \
4126 | romp-* | rs6000-* \
4127- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
4128+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4129 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4130- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
4131+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4132 | sparclite-* \
4133- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
4134+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
4135 | tahoe-* | thumb-* \
4136 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4137 | tron-* \
4138 | v850-* | v850e-* | vax-* \
4139 | we32k-* \
4140- | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
4141- | xstormy16-* | xtensa-* \
4142+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4143+ | xstormy16-* | xtensa*-* \
4144 | ymp-* \
4145 | z8k-*)
4146 ;;
4147- m32c-*)
4148+ # Recognize the basic CPU types without company name, with glob match.
4149+ xtensa*)
4150+ basic_machine=$basic_machine-unknown
4151 ;;
4152 # Recognize the various machine names and aliases which stand
4153 # for a CPU type and a company and sometimes even an OS.
4154@@ -431,6 +447,14 @@
4155 basic_machine=ns32k-sequent
4156 os=-dynix
4157 ;;
4158+ blackfin)
4159+ basic_machine=bfin-unknown
4160+ os=-linux
4161+ ;;
4162+ blackfin-*)
4163+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4164+ os=-linux
4165+ ;;
4166 c90)
4167 basic_machine=c90-cray
4168 os=-unicos
4169@@ -463,8 +487,8 @@
4170 basic_machine=craynv-cray
4171 os=-unicosmp
4172 ;;
4173- cr16c)
4174- basic_machine=cr16c-unknown
4175+ cr16)
4176+ basic_machine=cr16-unknown
4177 os=-elf
4178 ;;
4179 crds | unos)
4180@@ -656,6 +680,14 @@
4181 basic_machine=m68k-isi
4182 os=-sysv
4183 ;;
4184+ m68knommu)
4185+ basic_machine=m68k-unknown
4186+ os=-linux
4187+ ;;
4188+ m68knommu-*)
4189+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
4190+ os=-linux
4191+ ;;
4192 m88k-omron*)
4193 basic_machine=m88k-omron
4194 ;;
4195@@ -671,6 +703,10 @@
4196 basic_machine=i386-pc
4197 os=-mingw32
4198 ;;
4199+ mingw32ce)
4200+ basic_machine=arm-unknown
4201+ os=-mingw32ce
4202+ ;;
4203 miniframe)
4204 basic_machine=m68000-convergent
4205 ;;
4206@@ -696,6 +732,9 @@
4207 basic_machine=i386-pc
4208 os=-msdos
4209 ;;
4210+ ms1-*)
4211+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
4212+ ;;
4213 mvs)
4214 basic_machine=i370-ibm
4215 os=-mvs
4216@@ -794,6 +833,14 @@
4217 basic_machine=i860-intel
4218 os=-osf
4219 ;;
4220+ parisc)
4221+ basic_machine=hppa-unknown
4222+ os=-linux
4223+ ;;
4224+ parisc-*)
4225+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
4226+ os=-linux
4227+ ;;
4228 pbd)
4229 basic_machine=sparc-tti
4230 ;;
4231@@ -803,6 +850,12 @@
4232 pc532 | pc532-*)
4233 basic_machine=ns32k-pc532
4234 ;;
4235+ pc98)
4236+ basic_machine=i386-pc
4237+ ;;
4238+ pc98-*)
4239+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
4240+ ;;
4241 pentium | p5 | k5 | k6 | nexgen | viac3)
4242 basic_machine=i586-pc
4243 ;;
4244@@ -859,6 +912,10 @@
4245 basic_machine=i586-unknown
4246 os=-pw32
4247 ;;
4248+ rdos)
4249+ basic_machine=i386-pc
4250+ os=-rdos
4251+ ;;
4252 rom68k)
4253 basic_machine=m68k-rom68k
4254 os=-coff
4255@@ -885,6 +942,10 @@
4256 sb1el)
4257 basic_machine=mipsisa64sb1el-unknown
4258 ;;
4259+ sde)
4260+ basic_machine=mipsisa32-sde
4261+ os=-elf
4262+ ;;
4263 sei)
4264 basic_machine=mips-sei
4265 os=-seiux
4266@@ -896,6 +957,9 @@
4267 basic_machine=sh-hitachi
4268 os=-hms
4269 ;;
4270+ sh5el)
4271+ basic_machine=sh5le-unknown
4272+ ;;
4273 sh64)
4274 basic_machine=sh64-unknown
4275 ;;
4276@@ -985,6 +1049,10 @@
4277 basic_machine=tic6x-unknown
4278 os=-coff
4279 ;;
4280+ tile*)
4281+ basic_machine=tile-unknown
4282+ os=-linux-gnu
4283+ ;;
4284 tx39)
4285 basic_machine=mipstx39-unknown
4286 ;;
4287@@ -1101,7 +1169,7 @@
4288 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
4289 basic_machine=sh-unknown
4290 ;;
4291- sparc | sparcv8 | sparcv9 | sparcv9b)
4292+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
4293 basic_machine=sparc-sun
4294 ;;
4295 cydra)
4296@@ -1174,21 +1242,23 @@
4297 | -aos* \
4298 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
4299 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
4300- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
4301+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
4302+ | -openbsd* | -solidbsd* \
4303 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
4304 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
4305 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
4306 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
4307 | -chorusos* | -chorusrdb* \
4308 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
4309- | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
4310+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
4311+ | -uxpv* | -beos* | -mpeix* | -udk* \
4312 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
4313 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
4314 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
4315 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
4316 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
4317 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
4318- | -skyos* | -haiku*)
4319+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
4320 # Remember, each alternative MUST END IN *, to match a version number.
4321 ;;
4322 -qnx*)
4323@@ -1340,6 +1410,12 @@
4324 # system, and we'll never get to this point.
4325
4326 case $basic_machine in
4327+ score-*)
4328+ os=-elf
4329+ ;;
4330+ spu-*)
4331+ os=-elf
4332+ ;;
4333 *-acorn)
4334 os=-riscix1.2
4335 ;;
4336@@ -1349,9 +1425,9 @@
4337 arm*-semi)
4338 os=-aout
4339 ;;
4340- c4x-* | tic4x-*)
4341- os=-coff
4342- ;;
4343+ c4x-* | tic4x-*)
4344+ os=-coff
4345+ ;;
4346 # This must come before the *-dec entry.
4347 pdp10-*)
4348 os=-tops20
4349@@ -1377,6 +1453,9 @@
4350 m68*-cisco)
4351 os=-aout
4352 ;;
4353+ mep-*)
4354+ os=-elf
4355+ ;;
4356 mips*-cisco)
4357 os=-elf
4358 ;;
4359
4360=== modified file 'config/depcomp' (properties changed: -x to +x)
4361--- config/depcomp 2006-10-23 09:14:04 +0000
4362+++ config/depcomp 2009-07-27 22:39:29 +0000
4363@@ -1,9 +1,10 @@
4364 #! /bin/sh
4365 # depcomp - compile a program generating dependencies as side-effects
4366
4367-scriptversion=2005-07-09.11
4368+scriptversion=2007-03-29.01
4369
4370-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
4371+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
4372+# Foundation, Inc.
4373
4374 # This program is free software; you can redistribute it and/or modify
4375 # it under the terms of the GNU General Public License as published by
4376@@ -91,7 +92,20 @@
4377 ## gcc 3 implements dependency tracking that does exactly what
4378 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
4379 ## it if -MD -MP comes after the -MF stuff. Hmm.
4380- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
4381+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
4382+## the command line argument order; so add the flags where they
4383+## appear in depend2.am. Note that the slowdown incurred here
4384+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
4385+ for arg
4386+ do
4387+ case $arg in
4388+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
4389+ *) set fnord "$@" "$arg" ;;
4390+ esac
4391+ shift # fnord
4392+ shift # $arg
4393+ done
4394+ "$@"
4395 stat=$?
4396 if test $stat -eq 0; then :
4397 else
4398@@ -201,34 +215,39 @@
4399 # current directory. Also, the AIX compiler puts `$object:' at the
4400 # start of each line; $object doesn't have directory information.
4401 # Version 6 uses the directory in both cases.
4402- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
4403- tmpdepfile="$stripped.u"
4404+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
4405+ test "x$dir" = "x$object" && dir=
4406+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
4407 if test "$libtool" = yes; then
4408+ tmpdepfile1=$dir$base.u
4409+ tmpdepfile2=$base.u
4410+ tmpdepfile3=$dir.libs/$base.u
4411 "$@" -Wc,-M
4412 else
4413+ tmpdepfile1=$dir$base.u
4414+ tmpdepfile2=$dir$base.u
4415+ tmpdepfile3=$dir$base.u
4416 "$@" -M
4417 fi
4418 stat=$?
4419
4420- if test -f "$tmpdepfile"; then :
4421- else
4422- stripped=`echo "$stripped" | sed 's,^.*/,,'`
4423- tmpdepfile="$stripped.u"
4424- fi
4425-
4426 if test $stat -eq 0; then :
4427 else
4428- rm -f "$tmpdepfile"
4429+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
4430 exit $stat
4431 fi
4432
4433+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
4434+ do
4435+ test -f "$tmpdepfile" && break
4436+ done
4437 if test -f "$tmpdepfile"; then
4438- outname="$stripped.o"
4439 # Each line is of the form `foo.o: dependent.h'.
4440 # Do two passes, one to just change these to
4441 # `$object: dependent.h' and one to simply `dependent.h:'.
4442- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
4443- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
4444+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
4445+ # That's a tab and a space in the [].
4446+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
4447 else
4448 # The sourcefile does not contain any dependencies, so just
4449 # store a dummy comment line, to avoid errors with the Makefile
4450@@ -276,6 +295,46 @@
4451 rm -f "$tmpdepfile"
4452 ;;
4453
4454+hp2)
4455+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
4456+ # compilers, which have integrated preprocessors. The correct option
4457+ # to use with these is +Maked; it writes dependencies to a file named
4458+ # 'foo.d', which lands next to the object file, wherever that
4459+ # happens to be.
4460+ # Much of this is similar to the tru64 case; see comments there.
4461+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
4462+ test "x$dir" = "x$object" && dir=
4463+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
4464+ if test "$libtool" = yes; then
4465+ tmpdepfile1=$dir$base.d
4466+ tmpdepfile2=$dir.libs/$base.d
4467+ "$@" -Wc,+Maked
4468+ else
4469+ tmpdepfile1=$dir$base.d
4470+ tmpdepfile2=$dir$base.d
4471+ "$@" +Maked
4472+ fi
4473+ stat=$?
4474+ if test $stat -eq 0; then :
4475+ else
4476+ rm -f "$tmpdepfile1" "$tmpdepfile2"
4477+ exit $stat
4478+ fi
4479+
4480+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
4481+ do
4482+ test -f "$tmpdepfile" && break
4483+ done
4484+ if test -f "$tmpdepfile"; then
4485+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
4486+ # Add `dependent.h:' lines.
4487+ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
4488+ else
4489+ echo "#dummy" > "$depfile"
4490+ fi
4491+ rm -f "$tmpdepfile" "$tmpdepfile2"
4492+ ;;
4493+
4494 tru64)
4495 # The Tru64 compiler uses -MD to generate dependencies as a side
4496 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
4497@@ -288,13 +347,13 @@
4498
4499 if test "$libtool" = yes; then
4500 # With Tru64 cc, shared objects can also be used to make a
4501- # static library. This mecanism is used in libtool 1.4 series to
4502+ # static library. This mechanism is used in libtool 1.4 series to
4503 # handle both shared and static libraries in a single compilation.
4504 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
4505 #
4506 # With libtool 1.5 this exception was removed, and libtool now
4507 # generates 2 separate objects for the 2 libraries. These two
4508- # compilations output dependencies in in $dir.libs/$base.o.d and
4509+ # compilations output dependencies in $dir.libs/$base.o.d and
4510 # in $dir$base.o.d. We have to check for both files, because
4511 # one of the two compilations can be disabled. We should prefer
4512 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
4513
4514=== modified file 'config/install-sh'
4515--- config/install-sh 2008-09-08 17:47:43 +0000
4516+++ config/install-sh 2009-07-27 22:39:29 +0000
4517@@ -1,7 +1,7 @@
4518 #!/bin/sh
4519 # install - install a program, script, or datafile
4520
4521-scriptversion=2005-05-14.22
4522+scriptversion=2006-12-25.00
4523
4524 # This originates from X11R5 (mit/util/scripts/install.sh), which was
4525 # later released in X11R6 (xc/config/util/install.sh) with the
4526@@ -39,38 +39,68 @@
4527 # when there is no Makefile.
4528 #
4529 # This script is compatible with the BSD install script, but was written
4530-# from scratch. It can only install one file at a time, a restriction
4531-# shared with many OS's install programs.
4532+# from scratch.
4533+
4534+nl='
4535+'
4536+IFS=" "" $nl"
4537
4538 # set DOITPROG to echo to test this script
4539
4540 # Don't use :- since 4.3BSD and earlier shells don't like it.
4541-doit="${DOITPROG-}"
4542-
4543-# put in absolute paths if you don't have them in your path; or use env. vars.
4544-
4545-mvprog="${MVPROG-mv}"
4546-cpprog="${CPPROG-cp}"
4547-chmodprog="${CHMODPROG-chmod}"
4548-chownprog="${CHOWNPROG-chown}"
4549-chgrpprog="${CHGRPPROG-chgrp}"
4550-stripprog="${STRIPPROG-strip}"
4551-rmprog="${RMPROG-rm}"
4552-mkdirprog="${MKDIRPROG-mkdir}"
4553-
4554-chmodcmd="$chmodprog 0755"
4555+doit=${DOITPROG-}
4556+if test -z "$doit"; then
4557+ doit_exec=exec
4558+else
4559+ doit_exec=$doit
4560+fi
4561+
4562+# Put in absolute file names if you don't have them in your path;
4563+# or use environment vars.
4564+
4565+chgrpprog=${CHGRPPROG-chgrp}
4566+chmodprog=${CHMODPROG-chmod}
4567+chownprog=${CHOWNPROG-chown}
4568+cmpprog=${CMPPROG-cmp}
4569+cpprog=${CPPROG-cp}
4570+mkdirprog=${MKDIRPROG-mkdir}
4571+mvprog=${MVPROG-mv}
4572+rmprog=${RMPROG-rm}
4573+stripprog=${STRIPPROG-strip}
4574+
4575+posix_glob='?'
4576+initialize_posix_glob='
4577+ test "$posix_glob" != "?" || {
4578+ if (set -f) 2>/dev/null; then
4579+ posix_glob=
4580+ else
4581+ posix_glob=:
4582+ fi
4583+ }
4584+'
4585+
4586+posix_mkdir=
4587+
4588+# Desired mode of installed file.
4589+mode=0755
4590+
4591+chgrpcmd=
4592+chmodcmd=$chmodprog
4593 chowncmd=
4594-chgrpcmd=
4595+mvcmd=$mvprog
4596+rmcmd="$rmprog -f"
4597 stripcmd=
4598-rmcmd="$rmprog -f"
4599-mvcmd="$mvprog"
4600+
4601 src=
4602 dst=
4603 dir_arg=
4604-dstarg=
4605+dst_arg=
4606+
4607+copy_on_change=false
4608 no_target_directory=
4609
4610-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
4611+usage="\
4612+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
4613 or: $0 [OPTION]... SRCFILES... DIRECTORY
4614 or: $0 [OPTION]... -t DIRECTORY SRCFILES...
4615 or: $0 [OPTION]... -d DIRECTORIES...
4616@@ -80,81 +110,86 @@
4617 In the 4th, create DIRECTORIES.
4618
4619 Options:
4620--c (ignored)
4621--d create directories instead of installing files.
4622--g GROUP $chgrpprog installed files to GROUP.
4623--m MODE $chmodprog installed files to MODE.
4624--o USER $chownprog installed files to USER.
4625--s $stripprog installed files.
4626--t DIRECTORY install into DIRECTORY.
4627--T report an error if DSTFILE is a directory.
4628---help display this help and exit.
4629---version display version info and exit.
4630+ --help display this help and exit.
4631+ --version display version info and exit.
4632+
4633+ -c (ignored)
4634+ -C install only if different (preserve the last data modification time)
4635+ -d create directories instead of installing files.
4636+ -g GROUP $chgrpprog installed files to GROUP.
4637+ -m MODE $chmodprog installed files to MODE.
4638+ -o USER $chownprog installed files to USER.
4639+ -s $stripprog installed files.
4640+ -t DIRECTORY install into DIRECTORY.
4641+ -T report an error if DSTFILE is a directory.
4642
4643 Environment variables override the default commands:
4644- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
4645+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
4646+ RMPROG STRIPPROG
4647 "
4648
4649-while test -n "$1"; do
4650+while test $# -ne 0; do
4651 case $1 in
4652- -c) shift
4653- continue;;
4654-
4655- -d) dir_arg=true
4656- shift
4657- continue;;
4658+ -c) ;;
4659+
4660+ -C) copy_on_change=true;;
4661+
4662+ -d) dir_arg=true;;
4663
4664 -g) chgrpcmd="$chgrpprog $2"
4665- shift
4666- shift
4667- continue;;
4668+ shift;;
4669
4670 --help) echo "$usage"; exit $?;;
4671
4672- -m) chmodcmd="$chmodprog $2"
4673- shift
4674- shift
4675- continue;;
4676+ -m) mode=$2
4677+ case $mode in
4678+ *' '* | *' '* | *'
4679+'* | *'*'* | *'?'* | *'['*)
4680+ echo "$0: invalid mode: $mode" >&2
4681+ exit 1;;
4682+ esac
4683+ shift;;
4684
4685 -o) chowncmd="$chownprog $2"
4686- shift
4687- shift
4688- continue;;
4689-
4690- -s) stripcmd=$stripprog
4691- shift
4692- continue;;
4693-
4694- -t) dstarg=$2
4695- shift
4696- shift
4697- continue;;
4698-
4699- -T) no_target_directory=true
4700- shift
4701- continue;;
4702+ shift;;
4703+
4704+ -s) stripcmd=$stripprog;;
4705+
4706+ -t) dst_arg=$2
4707+ shift;;
4708+
4709+ -T) no_target_directory=true;;
4710
4711 --version) echo "$0 $scriptversion"; exit $?;;
4712
4713- *) # When -d is used, all remaining arguments are directories to create.
4714- # When -t is used, the destination is already specified.
4715- test -n "$dir_arg$dstarg" && break
4716- # Otherwise, the last argument is the destination. Remove it from $@.
4717- for arg
4718- do
4719- if test -n "$dstarg"; then
4720- # $@ is not empty: it contains at least $arg.
4721- set fnord "$@" "$dstarg"
4722- shift # fnord
4723- fi
4724- shift # arg
4725- dstarg=$arg
4726- done
4727+ --) shift
4728 break;;
4729+
4730+ -*) echo "$0: invalid option: $1" >&2
4731+ exit 1;;
4732+
4733+ *) break;;
4734 esac
4735+ shift
4736 done
4737
4738-if test -z "$1"; then
4739+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
4740+ # When -d is used, all remaining arguments are directories to create.
4741+ # When -t is used, the destination is already specified.
4742+ # Otherwise, the last argument is the destination. Remove it from $@.
4743+ for arg
4744+ do
4745+ if test -n "$dst_arg"; then
4746+ # $@ is not empty: it contains at least $arg.
4747+ set fnord "$@" "$dst_arg"
4748+ shift # fnord
4749+ fi
4750+ shift # arg
4751+ dst_arg=$arg
4752+ done
4753+fi
4754+
4755+if test $# -eq 0; then
4756 if test -z "$dir_arg"; then
4757 echo "$0: no input file specified." >&2
4758 exit 1
4759@@ -164,24 +199,47 @@
4760 exit 0
4761 fi
4762
4763+if test -z "$dir_arg"; then
4764+ trap '(exit $?); exit' 1 2 13 15
4765+
4766+ # Set umask so as not to create temps with too-generous modes.
4767+ # However, 'strip' requires both read and write access to temps.
4768+ case $mode in
4769+ # Optimize common cases.
4770+ *644) cp_umask=133;;
4771+ *755) cp_umask=22;;
4772+
4773+ *[0-7])
4774+ if test -z "$stripcmd"; then
4775+ u_plus_rw=
4776+ else
4777+ u_plus_rw='% 200'
4778+ fi
4779+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
4780+ *)
4781+ if test -z "$stripcmd"; then
4782+ u_plus_rw=
4783+ else
4784+ u_plus_rw=,u+rw
4785+ fi
4786+ cp_umask=$mode$u_plus_rw;;
4787+ esac
4788+fi
4789+
4790 for src
4791 do
4792 # Protect names starting with `-'.
4793 case $src in
4794- -*) src=./$src ;;
4795+ -*) src=./$src;;
4796 esac
4797
4798 if test -n "$dir_arg"; then
4799 dst=$src
4800- src=
4801+ dstdir=$dst
4802+ test -d "$dstdir"
4803+ dstdir_status=$?
4804+ else
4805
4806- if test -d "$dst"; then
4807- mkdircmd=:
4808- chmodcmd=
4809- else
4810- mkdircmd=$mkdirprog
4811- fi
4812- else
4813 # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
4814 # might cause directories to be created, which would be especially bad
4815 # if $src (and thus $dsttmp) contains '*'.
4816@@ -190,71 +248,199 @@
4817 exit 1
4818 fi
4819
4820- if test -z "$dstarg"; then
4821+ if test -z "$dst_arg"; then
4822 echo "$0: no destination specified." >&2
4823 exit 1
4824 fi
4825
4826- dst=$dstarg
4827+ dst=$dst_arg
4828 # Protect names starting with `-'.
4829 case $dst in
4830- -*) dst=./$dst ;;
4831+ -*) dst=./$dst;;
4832 esac
4833
4834 # If destination is a directory, append the input filename; won't work
4835 # if double slashes aren't ignored.
4836 if test -d "$dst"; then
4837 if test -n "$no_target_directory"; then
4838- echo "$0: $dstarg: Is a directory" >&2
4839+ echo "$0: $dst_arg: Is a directory" >&2
4840 exit 1
4841 fi
4842- dst=$dst/`basename "$src"`
4843+ dstdir=$dst
4844+ dst=$dstdir/`basename "$src"`
4845+ dstdir_status=0
4846+ else
4847+ # Prefer dirname, but fall back on a substitute if dirname fails.
4848+ dstdir=`
4849+ (dirname "$dst") 2>/dev/null ||
4850+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
4851+ X"$dst" : 'X\(//\)[^/]' \| \
4852+ X"$dst" : 'X\(//\)$' \| \
4853+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
4854+ echo X"$dst" |
4855+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
4856+ s//\1/
4857+ q
4858+ }
4859+ /^X\(\/\/\)[^/].*/{
4860+ s//\1/
4861+ q
4862+ }
4863+ /^X\(\/\/\)$/{
4864+ s//\1/
4865+ q
4866+ }
4867+ /^X\(\/\).*/{
4868+ s//\1/
4869+ q
4870+ }
4871+ s/.*/./; q'
4872+ `
4873+
4874+ test -d "$dstdir"
4875+ dstdir_status=$?
4876 fi
4877 fi
4878
4879- # This sed command emulates the dirname command.
4880- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
4881-
4882- # Make sure that the destination directory exists.
4883-
4884- # Skip lots of stat calls in the usual case.
4885- if test ! -d "$dstdir"; then
4886- defaultIFS='
4887- '
4888- IFS="${IFS-$defaultIFS}"
4889-
4890- oIFS=$IFS
4891- # Some sh's can't handle IFS=/ for some reason.
4892- IFS='%'
4893- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
4894- shift
4895- IFS=$oIFS
4896-
4897- pathcomp=
4898-
4899- while test $# -ne 0 ; do
4900- pathcomp=$pathcomp$1
4901+ obsolete_mkdir_used=false
4902+
4903+ if test $dstdir_status != 0; then
4904+ case $posix_mkdir in
4905+ '')
4906+ # Create intermediate dirs using mode 755 as modified by the umask.
4907+ # This is like FreeBSD 'install' as of 1997-10-28.
4908+ umask=`umask`
4909+ case $stripcmd.$umask in
4910+ # Optimize common cases.
4911+ *[2367][2367]) mkdir_umask=$umask;;
4912+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
4913+
4914+ *[0-7])
4915+ mkdir_umask=`expr $umask + 22 \
4916+ - $umask % 100 % 40 + $umask % 20 \
4917+ - $umask % 10 % 4 + $umask % 2
4918+ `;;
4919+ *) mkdir_umask=$umask,go-w;;
4920+ esac
4921+
4922+ # With -d, create the new directory with the user-specified mode.
4923+ # Otherwise, rely on $mkdir_umask.
4924+ if test -n "$dir_arg"; then
4925+ mkdir_mode=-m$mode
4926+ else
4927+ mkdir_mode=
4928+ fi
4929+
4930+ posix_mkdir=false
4931+ case $umask in
4932+ *[123567][0-7][0-7])
4933+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
4934+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
4935+ ;;
4936+ *)
4937+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
4938+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
4939+
4940+ if (umask $mkdir_umask &&
4941+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
4942+ then
4943+ if test -z "$dir_arg" || {
4944+ # Check for POSIX incompatibilities with -m.
4945+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
4946+ # other-writeable bit of parent directory when it shouldn't.
4947+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
4948+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
4949+ case $ls_ld_tmpdir in
4950+ d????-?r-*) different_mode=700;;
4951+ d????-?--*) different_mode=755;;
4952+ *) false;;
4953+ esac &&
4954+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
4955+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
4956+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
4957+ }
4958+ }
4959+ then posix_mkdir=:
4960+ fi
4961+ rmdir "$tmpdir/d" "$tmpdir"
4962+ else
4963+ # Remove any dirs left behind by ancient mkdir implementations.
4964+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
4965+ fi
4966+ trap '' 0;;
4967+ esac;;
4968+ esac
4969+
4970+ if
4971+ $posix_mkdir && (
4972+ umask $mkdir_umask &&
4973+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
4974+ )
4975+ then :
4976+ else
4977+
4978+ # The umask is ridiculous, or mkdir does not conform to POSIX,
4979+ # or it failed possibly due to a race condition. Create the
4980+ # directory the slow way, step by step, checking for races as we go.
4981+
4982+ case $dstdir in
4983+ /*) prefix='/';;
4984+ -*) prefix='./';;
4985+ *) prefix='';;
4986+ esac
4987+
4988+ eval "$initialize_posix_glob"
4989+
4990+ oIFS=$IFS
4991+ IFS=/
4992+ $posix_glob set -f
4993+ set fnord $dstdir
4994 shift
4995- if test ! -d "$pathcomp"; then
4996- $mkdirprog "$pathcomp"
4997- # mkdir can fail with a `File exist' error in case several
4998- # install-sh are creating the directory concurrently. This
4999- # is OK.
5000- test -d "$pathcomp" || exit
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches