| 1 | READ THIS BEFORE TRYING TO DYNAMICALLY LINK RSYNC AND ZLIB! |
| 2 | |
| 3 | zlib has been adapted slightly for use in rsync. Please don't bother |
| 4 | the zlib authors with problems related to the use of zlib in rsync as |
| 5 | any bugs are likely to be our fault and not theirs. |
| 6 | |
| 7 | Specific changes that have been made to zlib for rsync include: |
| 8 | |
| 9 | - add Z_INSERT_ONLY to allow for efficient history updating without |
| 10 | actually emitting any data. This is used to compress the matched |
| 11 | blocks that don't cross the wire, which gives better compression |
| 12 | ratios on the literal data. |
| 13 | |
| 14 | - fixed a number of minor compilation issues. (redefinition of MAX and |
| 15 | other such trivial things) |
| 16 | |
| 17 | - include rsync.h to ensure that we get a consistent set of includes |
| 18 | for all C code in rsync and to take advantage of autoconf |
| 19 | |
| 20 | As a result of the first item, the streams from rsync's version of |
| 21 | zlib are *not compatible* with those produced by the upstream version |
| 22 | of rsync. In other words, if you link rsync against your system's |
| 23 | copy, it will not be able to interoperate with any other version if |
| 24 | the -z option is used. (Sorry. Sometimes standard is better than |
| 25 | better.) |
| 26 | |
| 27 | The rsync maintainers hope to fix this problem in the future by either |
| 28 | merging our changes into the upstream version, or backing them out of |
| 29 | rsync in a way that preserves wire compatibility. But in the meantime |
| 30 | this version must be maintained in parallel. |
| 31 | |