Răsfoiți Sursa

* Handle some options required by android, nasm and darwin assemblers

Michaël Van Canneyt 2 ani în urmă
părinte
comite
28a3223b6b
1 a modificat fișierele cu 30 adăugiri și 1 ștergeri
  1. 30 1
      compiler/utils/dummyas.pp

+ 30 - 1
compiler/utils/dummyas.pp

@@ -39,7 +39,7 @@ begin
 end;
 
 var
-  i : longint;
+  i,j : longint;
   param : string;
   skipnext : boolean;
 begin
@@ -58,6 +58,31 @@ begin
           skipnext:=true;
           object_name:=ParamStr(i+1);
         end
+      else if (param='-x') then
+        begin
+        // darwin -x assembler for clang
+        skipnext:=true
+        end
+      else if (param='-target') then
+        begin
+        // darwin -target x86_64-apple-macosx10.8.0 for clang
+        skipnext:=true
+        end
+      else if (param='--32') then
+        begin
+        // Android
+        // Ignore
+        end
+      else if (param='--defsym') then
+        begin
+        // Android
+        skipnext:=true;
+        end
+      else if (Param='-f') then
+        begin
+          // ignore format in nasm
+          skipnext:=true;
+        end
       else if (Param[1]='-') then
         begin
           { option Param not handled }
@@ -73,6 +98,10 @@ begin
               Writeln(stderr,'first non option param =',assembler_name);
               Writeln(stderr,'second non option param =',Param);
               Writeln(stderr,'Don''t know how to handle this!');
+              write(stderr,'full command-line was:');
+              for j:=1 to ParamCount do
+                Write(' ',paramstr(j));
+              Writeln;  
               halt(1);
             end;
         end;