فهرست منبع

* Dotted filenames for package chm

Michael VAN CANNEYT 2 سال پیش
والد
کامیت
0c1bdb85d5
40فایلهای تغییر یافته به همراه265 افزوده شده و 4 حذف شده
  1. 2 2
      packages/chm/fpmake.pp
  2. 3 0
      packages/chm/namespaced/Chm.Base.pas
  3. 3 0
      packages/chm/namespaced/Chm.FiftiMain.pas
  4. 3 0
      packages/chm/namespaced/Chm.FileWriter.pas
  5. 3 0
      packages/chm/namespaced/Chm.HtmlIndexer.pas
  6. 3 0
      packages/chm/namespaced/Chm.HtmlUtil.pas
  7. 3 0
      packages/chm/namespaced/Chm.ItolItls.Reader.pas
  8. 3 0
      packages/chm/namespaced/Chm.ItolItls.Types.pas
  9. 3 0
      packages/chm/namespaced/Chm.ItsFTransform.pas
  10. 3 0
      packages/chm/namespaced/Chm.Lzx.Compress.pas
  11. 3 0
      packages/chm/namespaced/Chm.Lzx.CompressThread.pas
  12. 3 0
      packages/chm/namespaced/Chm.Lzx.NonSlide.pas
  13. 3 0
      packages/chm/namespaced/Chm.Lzx.pas
  14. 3 0
      packages/chm/namespaced/Chm.Reader.pas
  15. 3 0
      packages/chm/namespaced/Chm.Sitemap.pas
  16. 3 0
      packages/chm/namespaced/Chm.SpecialFiles.pas
  17. 3 0
      packages/chm/namespaced/Chm.Types.pas
  18. 3 0
      packages/chm/namespaced/Chm.Writer.pas
  19. 3 0
      packages/chm/namespaced/Fcl.FastHtmlParser.pas
  20. 20 0
      packages/chm/namespaces.lst
  21. 7 0
      packages/chm/src/chmbase.pas
  22. 5 0
      packages/chm/src/chmcmd.lpr
  23. 10 0
      packages/chm/src/chmfiftimain.pas
  24. 12 0
      packages/chm/src/chmfilewriter.pas
  25. 6 1
      packages/chm/src/chmls.lpr
  26. 13 0
      packages/chm/src/chmreader.pas
  27. 13 0
      packages/chm/src/chmsitemap.pas
  28. 7 0
      packages/chm/src/chmspecialfiles.pas
  29. 12 0
      packages/chm/src/chmtypes.pas
  30. 11 0
      packages/chm/src/chmwriter.pas
  31. 11 0
      packages/chm/src/fasthtmlparser.pas
  32. 7 0
      packages/chm/src/htmlindexer.pas
  33. 13 1
      packages/chm/src/htmlutil.pas
  34. 7 0
      packages/chm/src/itolitlsreader.pas
  35. 6 0
      packages/chm/src/itolitlstypes.pas
  36. 12 0
      packages/chm/src/itsftransform.pas
  37. 12 0
      packages/chm/src/lzxcompressthread.pas
  38. 7 0
      packages/chm/src/paslznonslide.pas
  39. 7 0
      packages/chm/src/paslzx.pas
  40. 11 0
      packages/chm/src/paslzxcomp.pas

+ 2 - 2
packages/chm/fpmake.pp

@@ -117,8 +117,8 @@ begin
         end;
 
 //    P.ProgramPath.Add('src');
-    T:=P.Targets.AddProgram('chmls.lpr');
-    T:=P.Targets.AddProgram('chmcmd.lpr');
+//    T:=P.Targets.AddProgram('chmls.lpr');
+//    T:=P.Targets.AddProgram('chmcmd.lpr');
 
 
 

+ 3 - 0
packages/chm/namespaced/Chm.Base.pas

@@ -0,0 +1,3 @@
+unit Chm.Base;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmbase.pas}

+ 3 - 0
packages/chm/namespaced/Chm.FiftiMain.pas

@@ -0,0 +1,3 @@
+unit Chm.FiftiMain;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmfiftimain.pas}

+ 3 - 0
packages/chm/namespaced/Chm.FileWriter.pas

@@ -0,0 +1,3 @@
+unit Chm.FileWriter;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmfilewriter.pas}

+ 3 - 0
packages/chm/namespaced/Chm.HtmlIndexer.pas

@@ -0,0 +1,3 @@
+unit Chm.HtmlIndexer;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i htmlindexer.pas}

+ 3 - 0
packages/chm/namespaced/Chm.HtmlUtil.pas

@@ -0,0 +1,3 @@
+unit Chm.HtmlUtil;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i htmlutil.pas}

+ 3 - 0
packages/chm/namespaced/Chm.ItolItls.Reader.pas

@@ -0,0 +1,3 @@
+unit Chm.ItolItls.Reader;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i itolitlsreader.pas}

+ 3 - 0
packages/chm/namespaced/Chm.ItolItls.Types.pas

@@ -0,0 +1,3 @@
+unit Chm.ItolItls.Types;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i itolitlstypes.pas}

+ 3 - 0
packages/chm/namespaced/Chm.ItsFTransform.pas

@@ -0,0 +1,3 @@
+unit Chm.ItsFTransform;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i itsftransform.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Lzx.Compress.pas

@@ -0,0 +1,3 @@
+unit Chm.Lzx.Compress;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i paslzxcomp.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Lzx.CompressThread.pas

@@ -0,0 +1,3 @@
+unit Chm.Lzx.CompressThread;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i lzxcompressthread.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Lzx.NonSlide.pas

@@ -0,0 +1,3 @@
+unit Chm.Lzx.NonSlide;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i paslznonslide.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Lzx.pas

@@ -0,0 +1,3 @@
+unit Chm.Lzx;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i paslzx.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Reader.pas

@@ -0,0 +1,3 @@
+unit Chm.Reader;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmreader.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Sitemap.pas

@@ -0,0 +1,3 @@
+unit Chm.Sitemap;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmsitemap.pas}

+ 3 - 0
packages/chm/namespaced/Chm.SpecialFiles.pas

@@ -0,0 +1,3 @@
+unit Chm.SpecialFiles;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmspecialfiles.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Types.pas

@@ -0,0 +1,3 @@
+unit Chm.Types;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmtypes.pas}

+ 3 - 0
packages/chm/namespaced/Chm.Writer.pas

@@ -0,0 +1,3 @@
+unit Chm.Writer;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i chmwriter.pas}

+ 3 - 0
packages/chm/namespaced/Fcl.FastHtmlParser.pas

@@ -0,0 +1,3 @@
+unit Fcl.FastHtmlParser;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i fasthtmlparser.pas}

+ 20 - 0
packages/chm/namespaces.lst

@@ -0,0 +1,20 @@
+src/chmfiftimain.pas=namespaced/Chm.FiftiMain.pas
+{s*:src/}=namespaced/
+{i+:src/}
+src/chmwriter.pas=namespaced/Chm.Writer.pas
+src/paslzx.pas=namespaced/Chm.Lzx.pas
+src/chmbase.pas=namespaced/Chm.Base.pas
+src/fasthtmlparser.pas=namespaced/Fcl.FastHtmlParser.pas
+src/chmreader.pas=namespaced/Chm.Reader.pas
+src/chmspecialfiles.pas=namespaced/Chm.SpecialFiles.pas
+src/chmfilewriter.pas=namespaced/Chm.FileWriter.pas
+src/itsftransform.pas=namespaced/Chm.ItsFTransform.pas
+src/chmsitemap.pas=namespaced/Chm.Sitemap.pas
+src/itolitlstypes.pas=namespaced/Chm.ItolItls.Types.pas
+src/chmtypes.pas=namespaced/Chm.Types.pas
+src/lzxcompressthread.pas=namespaced/Chm.Lzx.CompressThread.pas
+src/paslzxcomp.pas=namespaced/Chm.Lzx.Compress.pas
+src/itolitlsreader.pas=namespaced/Chm.ItolItls.Reader.pas
+src/paslznonslide.pas=namespaced/Chm.Lzx.NonSlide.pas
+src/htmlindexer.pas=namespaced/Chm.HtmlIndexer.pas
+src/htmlutil.pas=namespaced/Chm.HtmlUtil.pas

+ 7 - 0
packages/chm/src/chmbase.pas

@@ -18,14 +18,21 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmbase;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const 
   CHMPackageVersion = '3.3.1'; // to be put in readme

+ 5 - 0
packages/chm/src/chmcmd.lpr

@@ -22,8 +22,13 @@ program chmcmd;
 
 {$mode objfpc}{$H+}
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  {$ifdef Unix}UnixApi.CThreads, UnixApi.CWString, {$endif} System.Classes, System.SysUtils, Chm.FileWriter, System.GetOpts;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   {$ifdef Unix}cthreads, cwstring, {$endif} Classes, Sysutils, chmfilewriter, GetOpts;
+{$ENDIF FPC_DOTTEDUNITS}
 
 Const
   CHMCMDVersion = {$I %FPCVERSION%};

+ 10 - 0
packages/chm/src/chmfiftimain.pas

@@ -18,11 +18,17 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmFiftiMain;
+{$ENDIF FPC_DOTTEDUNITS}
 {$mode objfpc}{$H+}
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.Classes, Chm.HtmlIndexer;
+{$ELSE FPC_DOTTEDUNITS}
 uses Classes, HTMLIndexer;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TFiftiMainHeader = record
@@ -143,7 +149,11 @@ const
   FIFTI_NODE_SIZE = 4096;
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils, System.Math, Chm.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses SysUtils, Math, ChmBase;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 12 - 0
packages/chm/src/chmfilewriter.pas

@@ -18,15 +18,23 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmfilewriter;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, Chm.Writer, System.IniFiles, System.Contnrs, Chm.Sitemap, Fcl.AVLTree,
+  {for html scanning } Xml.Dom, Html.Sax, Html.Dom;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, chmwriter, inifiles, contnrs, chmsitemap, avl_tree,
   {for html scanning } dom,SAX_HTML,dom_html;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TChmProject = class;
@@ -130,7 +138,11 @@ Const
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses Xml.Config, Chm.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses XmlCfg, CHMTypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 6 - 1
packages/chm/src/chmls.lpr

@@ -29,11 +29,16 @@ program chmls;
 
 {$mode objfpc}{$H+}
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.GetOpts, System.SysUtils, System.Types,
+  Fcl.Streams.Extra, Chm.Reader, Chm.Base, Chm.Sitemap;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, GetOpts, SysUtils, Types,
   StreamEx,
   chmreader, chmbase, chmsitemap;
-
+{$ENDIF FPC_DOTTEDUNITS}
 {$R-} // CHM spec puts "-1" in dwords etc.
 type
 

+ 13 - 0
packages/chm/src/chmreader.pas

@@ -18,7 +18,9 @@
   See the file COPYING.modifiedLGPL, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmreader;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode delphi}
 
@@ -28,9 +30,15 @@ unit chmreader;
 {define nonumber}
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  SYstem.Generics.Collections, System.Classes, System.SysUtils,  System.Contnrs,
+  Chm.Base, Chm.Lzx, Chm.FiftiMain, Chm.Sitemap;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Generics.Collections, Classes, SysUtils,  Contnrs,
   chmbase, paslzx, chmFIftiMain, chmsitemap;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -177,7 +185,12 @@ const
   function ChmErrorToStr(Error: Integer): String;
 
 implementation
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses Chm.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses ChmTypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function ChmErrorToStr(Error: Integer): String;
 begin

+ 13 - 0
packages/chm/src/chmsitemap.pas

@@ -18,14 +18,21 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmsitemap;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode Delphi}{$H+}
 {define preferlower}
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, Fcl.FastHtmlParser, System.Contnrs, System.StrUtils, System.Generics.Collections;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, fasthtmlparser, contnrs, strutils, generics.collections;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TChmSiteMapItems = class; // forward
@@ -217,8 +224,14 @@ type
 
 
 function indexitemcompare(Item1, Item2: Pointer): Integer;
+
 implementation
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses Chm.HtmlUtil;
+{$ELSE FPC_DOTTEDUNITS}
 uses HTMLUtil;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const sitemapkws : array[TChmSiteMapItemAttrName] of string = (
                     '',

+ 7 - 0
packages/chm/src/chmspecialfiles.pas

@@ -18,14 +18,21 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmspecialfiles;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, Chm.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, chmtypes;
+{$ENDIF FPC_DOTTEDUNITS}
   
 
   

+ 12 - 0
packages/chm/src/chmtypes.pas

@@ -18,14 +18,21 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmtypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils,Xml.Config;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils,xmlcfg;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TSectionName = (snMSCompressed, snUnCompressed);
@@ -244,7 +251,12 @@ function PageBookInfoRecordSize(ARecord: PTOCEntryPageBookInfo): Integer;
 Const defvalidflags = [valid_Navigation_pane_style,valid_Window_style_flags,valid_Initial_window_position,valid_Navigation_pane_width,valid_Buttons,valid_Tab_position];
 
 implementation
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses Chm.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses chmbase;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function PageBookInfoRecordSize(ARecord: PTOCEntryPageBookInfo): Integer;
 begin

+ 11 - 0
packages/chm/src/chmwriter.pas

@@ -18,11 +18,18 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit chmwriter;
+{$ENDIF FPC_DOTTEDUNITS}
 {$MODE OBJFPC}{$H+}
 
 interface
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.Generics.Collections,System.Classes, Chm.Base, Chm.Types, Chm.SpecialFiles, Chm.HtmlIndexer, Chm.Sitemap, System.Contnrs, Fcl.Streams.Extra, Fcl.AVLTree, Chm.Lzx.Compressthread;
+{$ELSE FPC_DOTTEDUNITS}
 uses Generics.Collections,Classes, ChmBase, chmtypes, chmspecialfiles, HtmlIndexer, chmsitemap, contnrs, StreamEx, Avl_Tree, lzxcompressthread;
+{$ENDIF FPC_DOTTEDUNITS}
 
 Const
    DefaultHHC = 'Default.hhc';
@@ -226,7 +233,11 @@ Type
 Function CompareStrings(Node1, Node2: Pointer): integer; // also used in filewriter
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.DateUtils, System.SysUtils, Chm.Lzx.Compress, Chm.FiftiMain;
+{$ELSE FPC_DOTTEDUNITS}
 uses dateutils, sysutils, paslzxcomp, chmFiftiMain;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   LZX_WINDOW_SIZE = 16; // 16 = 2 frames = 1 shl 16

+ 11 - 0
packages/chm/src/fasthtmlparser.pas

@@ -112,17 +112,28 @@
 
 // {$DEFINE DEBUGLN_ON}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit FastHTMLParser;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+ {$IFDEF KOL_MCK}
+  KOL;
+ {$else}
+  System.SysUtils;
+ {$ENDIF}
+{$ELSE FPC_DOTTEDUNITS}
 uses
  {$IFDEF KOL_MCK}
   KOL;
  {$else}
   SysUtils;
  {$ENDIF}
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$IFDEF DEBUGLN_ON}

+ 7 - 0
packages/chm/src/htmlindexer.pas

@@ -18,10 +18,17 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit HTMLIndexer;
+{$ENDIF FPC_DOTTEDUNITS}
 {$MODE OBJFPC}{$H+}
 interface
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.Classes, System.SysUtils, Fcl.FastHtmlParser,{$ifdef userb}fos_redblacktree_gen{$else}Fcl.AVLTree{$endif};
+{$ELSE FPC_DOTTEDUNITS}
 uses Classes, SysUtils, FastHTMLParser,{$ifdef userb}fos_redblacktree_gen{$else}avl_tree{$endif};
+{$ENDIF FPC_DOTTEDUNITS}
 
 Type
 

+ 13 - 1
packages/chm/src/htmlutil.pas

@@ -29,12 +29,24 @@
 
  Note: this isn't perfect, it needs to be improved.. see comments  }
   
-unit HTMLUtil; {$ifdef fpc} {$MODE Delphi} {$H+}{$endif}
+{$IFNDEF FPC_DOTTEDUNITS}
+unit HTMLUtil; 
+{$ENDIF FPC_DOTTEDUNITS}
+
+{$ifdef fpc} 
+{$MODE Delphi} 
+{$H+}
+{$endif}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses 
+  System.SysUtils, System.StrUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses 
   SysUtils, strutils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 { most commonly used }
 function GetVal(const tag, attribname_ci: string): string;

+ 7 - 0
packages/chm/src/itolitlsreader.pas

@@ -18,7 +18,9 @@
   See the file COPYING.modifiedLGPL, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit ITOLITLSReader;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 
@@ -26,8 +28,13 @@ unit ITOLITLSReader;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, Chm.Reader, Chm.ItolItls.Types, System.SysUtils, Chm.Base, Chm.ItsFTransform;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, chmreader, itolitlstypes, Sysutils, chmbase, itsftransform;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 6 - 0
packages/chm/src/itolitlstypes.pas

@@ -18,14 +18,20 @@
   See the file COPYING.modifiedLGPL, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit ITOLITLSTypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 {$PACKRECORDS C}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses Chm.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses ChmBase;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 12 - 0
packages/chm/src/itsftransform.pas

@@ -18,7 +18,9 @@
   See the file COPYING.modifiedLGPL, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit ITSFTransform;
+{$ENDIF FPC_DOTTEDUNITS}
 
 { $DEFINE DEBUG_HELP2}
 
@@ -26,8 +28,13 @@ unit ITSFTransform;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, Chm.Lzx, Chm.ItolItls.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, paslzx, ITOLITLSTypes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TGetObject = function(AName: String): TMemoryStream of object;
@@ -103,8 +110,13 @@ function RegisteredTransforms: TITSFTransformList;
 
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 var
   LocTransforms: TITSFTransformList = nil;

+ 12 - 0
packages/chm/src/lzxcompressthread.pas

@@ -18,14 +18,21 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit lzxcompressthread;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, Chm.Lzx.Compress;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, paslzxcomp;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TLZXCompressor = class;
@@ -165,8 +172,13 @@ type
   end;
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils; // for Sleep()
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Sysutils; // for Sleep()
+{$ENDIF FPC_DOTTEDUNITS}
 
 { TLZXCompressor }
 

+ 7 - 0
packages/chm/src/paslznonslide.pas

@@ -19,7 +19,9 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit paslznonslide;
+{$ENDIF FPC_DOTTEDUNITS}
 {$MODE OBJFPC}
 
 interface
@@ -87,8 +89,13 @@ type
 
 
 implementation
+
 {$IFDEF DEBUG_LZ}
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses Sysutils;
+{$ENDIF FPC_DOTTEDUNITS}
 {$ENDIF}
 
 const

+ 7 - 0
packages/chm/src/paslzx.pas

@@ -38,14 +38,21 @@
  *              x86(Linux and Windows). Only tested on little endian pc's. *
  ***************************************************************************}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit paslzx;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode objfpc}{$H+}{$R+}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils;
+{$ENDIF FPC_DOTTEDUNITS}
   
 const
   DECR_OK = 0;

+ 11 - 0
packages/chm/src/paslzxcomp.pas

@@ -18,12 +18,18 @@
   See the file COPYING.FPC, included in this distribution,
   for details about the copyright.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit paslzxcomp;
+{$ENDIF FPC_DOTTEDUNITS}
 {$MODE OBJFPC}
 {$GOTO ON}
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses Chm.Lzx.NonSlide;
+{$ELSE FPC_DOTTEDUNITS}
 uses paslznonslide;
+{$ENDIF FPC_DOTTEDUNITS}
 
   const
      MIN_MATCH = 2;
@@ -137,7 +143,12 @@ uses paslznonslide;
   function lzx_finish(lzxd:plzx_data; lzxr:plzx_results):longint;
 
 implementation
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.Math, System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses math, sysutils;
+{$ENDIF FPC_DOTTEDUNITS}
 var
   rloge2: double; // set in initialization section