The following patch implements:
- added EXTERNALZIP define to make bootstrapping possible (missing zipper unit)
- implemented SearchFiles method which can search recursively and with a filemask (asterisk or questionmark) using MatchesMask function
- implemented methods AddDocFiles, AddSrcFiles, AddExampleFiles, AddTestFiles in TCustomInstaller
- implemented archiving of all files in TSources
Although the patch produces valid code, I also discovered some caveats in the process that need to be addressed. When using the fpmake.inc construct as in fcl\packages, a problem with the base directory arises. A package is written in such a way that files belonging to a package are described by using relative paths. This works as long as you create a fpmake.pp file per package.
When using the .inc approach, all code is linked to the top level fpmake.pp file, which destroys the paradigm. The only thing I can come up with is make an ifdef per fpmake.inc (which is very ugly imho) or not to use this approach and make it possible to cascade fpmake invocations starting from the top level fpmake. Any thoughts?
Darius
