浏览代码

Merged revisions 1795-1796 via svnmerge from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/trunk

........
r1795 | marco | 2005-11-20 22:55:12 +0100 (Sun, 20 Nov 2005) | 2 lines

* CROSSOPT support required for darwin.

........
r1796 | marco | 2005-11-20 23:13:23 +0100 (Sun, 20 Nov 2005) | 2 lines

* cross-darwin support

........

git-svn-id: branches/fixes_2_0@1799 -

fpc 20 年之前
父节点
当前提交
395ed8e1c0
共有 2 个文件被更改,包括 23 次插入2 次删除
  1. 12 2
      compiler/systems/t_bsd.pas
  2. 11 0
      utils/fpcm/fpcmake.ini

+ 12 - 2
compiler/systems/t_bsd.pas

@@ -367,7 +367,12 @@ begin
       linklibc := true;
       if not(isdll) then
         if not(cs_profile in aktmoduleswitches) then
-          prtobj:='/usr/lib/crt1.o'
+          begin
+             if librarysearchpath.FindFile('crt1.o',s) then
+             prtobj:=s
+            else
+             prtobj:='/usr/lib/crt1.o';
+          end
         else
           prtobj:='/usr/lib/gcrt1.o'
       else
@@ -547,7 +552,12 @@ begin
    DynLinkStr:='-dynamic-linker='+Info.DynamicLinker;
 
   if CShared Then
-   DynLinKStr:=DynLinkStr+' --shared';
+   begin
+   if  (target_info.system <> system_powerpc_darwin) then
+     DynLinKStr:=DynLinkStr+' --shared'
+    else
+     DynLinKStr:=DynLinkStr+' -dynamic'; // one dash!
+   end;  
 { Write used files and libraries }
   WriteResponseFile(false);
 

+ 11 - 0
utils/fpcm/fpcmake.ini

@@ -1390,6 +1390,17 @@ override FPCOPT:=!FPCEXTCMD
 export FPCEXTCMD
 endif
 
+override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
+override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+
+ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
+override ACROSSCOMPILE=1
+endif
+
+ifdef ACROSSCOMPILE
+override FPCOPT+=$(CROSSOPT)
+endif
+
 # Compiler commandline
 override COMPILER:=$(FPC) $(FPCOPT)