|
@@ -27,7 +27,7 @@ unit pkgutil;
|
|
interface
|
|
interface
|
|
|
|
|
|
uses
|
|
uses
|
|
- fmodule,fpkg,link,cstreams;
|
|
|
|
|
|
+ fmodule,fpkg,link,cstreams,cclasses;
|
|
|
|
|
|
procedure createimportlibfromexternals;
|
|
procedure createimportlibfromexternals;
|
|
Function RewritePPU(const PPUFn:String;OutStream:TCStream):Boolean;
|
|
Function RewritePPU(const PPUFn:String;OutStream:TCStream):Boolean;
|
|
@@ -36,13 +36,14 @@ interface
|
|
procedure add_package(const name:string;ignoreduplicates:boolean;direct:boolean);
|
|
procedure add_package(const name:string;ignoreduplicates:boolean;direct:boolean);
|
|
procedure add_package_unit_ref(package:tpackage);
|
|
procedure add_package_unit_ref(package:tpackage);
|
|
procedure add_package_libs(l:tlinker);
|
|
procedure add_package_libs(l:tlinker);
|
|
|
|
+ procedure check_for_indirect_package_usages(modules:tlinkedlist);
|
|
|
|
|
|
implementation
|
|
implementation
|
|
|
|
|
|
uses
|
|
uses
|
|
sysutils,
|
|
sysutils,
|
|
globtype,systems,
|
|
globtype,systems,
|
|
- cutils,cclasses,
|
|
|
|
|
|
+ cutils,
|
|
globals,verbose,
|
|
globals,verbose,
|
|
aasmbase,aasmdata,aasmtai,
|
|
aasmbase,aasmdata,aasmtai,
|
|
symtype,symconst,symsym,symdef,symbase,symtable,
|
|
symtype,symconst,symsym,symdef,symbase,symtable,
|
|
@@ -519,6 +520,27 @@ implementation
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure check_for_indirect_package_usages(modules:tlinkedlist);
|
|
|
|
+ var
|
|
|
|
+ uu : tused_unit;
|
|
|
|
+ pentry : ppackageentry;
|
|
|
|
+ begin
|
|
|
|
+ uu:=tused_unit(modules.first);
|
|
|
|
+ while assigned(uu) do
|
|
|
|
+ begin
|
|
|
|
+ if assigned(uu.u.package) then
|
|
|
|
+ begin
|
|
|
|
+ pentry:=ppackageentry(packagelist.find(uu.u.package.packagename^));
|
|
|
|
+ if not assigned(pentry) then
|
|
|
|
+ internalerror(2015112304);
|
|
|
|
+ if not pentry^.direct then
|
|
|
|
+ Message2(package_w_unit_from_indirect_package,uu.u.realmodulename^,uu.u.package.realpackagename^);
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ uu:=tused_unit(uu.Next);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
|
|
procedure createimportlibfromexternals;
|
|
procedure createimportlibfromexternals;
|
|
type
|
|
type
|