Browse Source

+ linkofiles splitted inot linkofiles and linkunitfiles
because linkofiles must be stored with directory
to enabled linking of different objects with same name
in a different directory

pierre 26 years ago
parent
commit
9709b802ba
5 changed files with 46 additions and 6 deletions
  1. 12 1
      compiler/files.pas
  2. 9 1
      compiler/link.pas
  3. 8 2
      compiler/pmodules.pas
  4. 9 1
      compiler/ppu.pas
  5. 8 1
      compiler/symppu.inc

+ 12 - 1
compiler/files.pas

@@ -151,6 +151,7 @@ unit files;
           resourcefiles,
           linksharedlibs,
           linkstaticlibs,
+          linkunitfiles,
           linkofiles    : tstringcontainer;
           used_units    : tlinkedlist;
 
@@ -911,6 +912,8 @@ uses
         used_units.init;
         resourcefiles.done;
         resourcefiles.init_no_double;
+        linkunitfiles.done;
+        linkunitfiles.init_no_double;
         linkofiles.done;
         linkofiles.init_no_double;
         linkstaticlibs.done;
@@ -974,6 +977,7 @@ uses
          used_units.init;
          new(sourcefiles,init);
          resourcefiles.init_no_double;
+         linkunitfiles.init_no_double;
          linkofiles.init_no_double;
          linkstaticlibs.init_no_double;
          linksharedlibs.init_no_double;
@@ -1029,6 +1033,7 @@ uses
         sourcefiles:=nil;
         used_units.done;
         resourcefiles.done;
+        linkunitfiles.done;
         linkofiles.done;
         linkstaticlibs.done;
         linksharedlibs.done;
@@ -1092,7 +1097,13 @@ uses
 end.
 {
   $Log$
-  Revision 1.85  1999-01-14 21:47:11  peter
+  Revision 1.86  1999-02-05 08:54:24  pierre
+    + linkofiles splitted inot linkofiles and linkunitfiles
+      because linkofiles must be stored with directory
+      to enabled linking of different objects with same name
+      in a different directory
+
+  Revision 1.85  1999/01/14 21:47:11  peter
     * status.currentmodule is now also updated
     + status.currentsourcepath
 

+ 9 - 1
compiler/link.pas

@@ -126,6 +126,8 @@ procedure TLinker.AddModuleFiles(hp:pmodule);
 begin
   with hp^ do
    begin
+     while not linkunitfiles.empty do
+      AddObject(linkunitfiles.Get);
      while not linkofiles.empty do
       AddObject(linkofiles.Get);
      while not linksharedlibs.empty do
@@ -550,7 +552,13 @@ end;
 end.
 {
   $Log$
-  Revision 1.45  1999-01-29 10:33:07  peter
+  Revision 1.46  1999-02-05 08:54:26  pierre
+    + linkofiles splitted inot linkofiles and linkunitfiles
+      because linkofiles must be stored with directory
+      to enabled linking of different objects with same name
+      in a different directory
+
+  Revision 1.45  1999/01/29 10:33:07  peter
     * objectsearchpath is now also searched if an object is not found
 
   Revision 1.44  1999/01/27 13:07:58  pierre

+ 8 - 2
compiler/pmodules.pas

@@ -79,7 +79,7 @@ unit pmodules;
               (cs_smartlink in aktmoduleswitches) then
              current_module^.linkstaticlibs.insert(current_module^.staticlibfilename^)
            else
-             current_module^.linkofiles.insert(current_module^.objfilename^);
+             current_module^.linkunitfiles.insert(current_module^.objfilename^);
          end;
       end;
 
@@ -1234,7 +1234,13 @@ unit pmodules;
 end.
 {
   $Log$
-  Revision 1.95  1999-02-03 09:44:36  pierre
+  Revision 1.96  1999-02-05 08:54:27  pierre
+    + linkofiles splitted inot linkofiles and linkunitfiles
+      because linkofiles must be stored with directory
+      to enabled linking of different objects with same name
+      in a different directory
+
+  Revision 1.95  1999/02/03 09:44:36  pierre
     * symbol nubering begins with 1 in number_symbols
     * program tmodule has globalsymtable for its staticsymtable
       (to get it displayed in IDE globals list)

+ 9 - 1
compiler/ppu.pas

@@ -94,6 +94,8 @@ const
   ibwidestringdef = 56;
   ibfarpointerdef = 57;
 
+  iblinkunitfiles     = 58;
+
 { unit flags }
   uf_init          = $1;
   uf_finalize      = $2;
@@ -793,7 +795,13 @@ end;
 end.
 {
   $Log$
-  Revision 1.21  1998-12-30 22:15:50  peter
+  Revision 1.22  1999-02-05 08:54:29  pierre
+    + linkofiles splitted inot linkofiles and linkunitfiles
+      because linkofiles must be stored with directory
+      to enabled linking of different objects with same name
+      in a different directory
+
+  Revision 1.21  1998/12/30 22:15:50  peter
     + farpointer type
     * absolutesym now also stores if its far
 

+ 8 - 1
compiler/symppu.inc

@@ -434,6 +434,7 @@
           ibloadunit_int : readloadunit;
         iblinksharedlibs : readcontainer(current_module^.LinkSharedLibs);
         iblinkstaticlibs : readcontainer(current_module^.LinkStaticLibs);
+         iblinkunitfiles : readcontainer(current_module^.LinkUnitFiles);
             iblinkofiles : readcontainer(current_module^.LinkOFiles);
           ibendinterface : break;
            else
@@ -444,7 +445,13 @@
 
 {
   $Log$
-  Revision 1.29  1999-01-20 10:16:46  peter
+  Revision 1.30  1999-02-05 08:54:30  pierre
+    + linkofiles splitted inot linkofiles and linkunitfiles
+      because linkofiles must be stored with directory
+      to enabled linking of different objects with same name
+      in a different directory
+
+  Revision 1.29  1999/01/20 10:16:46  peter
     * don't update crc when writing objs,libs and sources
 
   Revision 1.28  1999/01/12 14:25:35  peter