소스 검색

* don't inlcude rtl unit depnedencies

git-svn-id: trunk@9900 -
peter 17 년 전
부모
커밋
83777008b6
1개의 변경된 파일17개의 추가작업 그리고 4개의 파일을 삭제
  1. 17 4
      packages/fpmkunit/examples/ppu2fpmake.sh

+ 17 - 4
packages/fpmkunit/examples/ppu2fpmake.sh

@@ -4,21 +4,34 @@ ppudump=ppudump
 
 for f in $*; do
   $ppudump -vim $f | awk "
-BEGIN { first=1; }
+BEGIN { first=1;
+ rtlunits=\" baseunix buildrtl charset classes cmem convutils cpu crt cthreads ctypes cwstring dateutils dl dos dynlibs errors exeinfo fgl fmtbcd fpcylix getopts gpm heaptrc initc ipc keyboard lineinfo linux linuxvcs lnfodwrf macpas math matrix messages mmx mouse objects objpas ports printer rtlconsts serial sharemem si_c si_c21 si_c21g si_dll signals si_prc si_uc sockets stdconvs strings strutils syscall sysconst sysinitcyg sysinitgprof sysinitpas system sysutils terminfo termio types typinfo ucomplex unix unixtype unixutil variants varutils video windows winevent winsock winsock2 winsysut x86 \"
+}
 /^Source/ {
   if (first==1)
   {
-    printf(\"T:=P.Targets.AddUnit('%s');\\n  with T.Dependencies do\\n    begin\\n\",\$5);
+    printf(\"T:=P.Targets.AddUnit('%s');\\n\",\$5);
     first=0;
+    dep=1;
   }
   else
   {
+    if (dep==1) {
+      dep=0;
+      printf(\"  with T.Dependencies do\\n    begin\\n\",\$5);
+    }
     printf(\"      AddInclude('%s');\\n\",\$5);
   }
 }
 /^Uses unit/ {
-  printf(\"      AddUnit('%s');\\n\",tolower(\$3));
+  if (index(rtlunits,tolower(\$3))==0) {
+    if (dep==1) {
+      dep=0;
+      printf(\"  with T.Dependencies do\\n    begin\\n\",\$5);
+    }
+    printf(\"      AddUnit('%s');\\n\",tolower(\$3));
+  }
 }
-END { if (first==0) { printf(\"    end;\\n\"); } }
+END { if (first==0 && dep==0) { printf(\"    end;\\n\"); } }
 "
 done