Browse Source

(needed for darwin/i386 -> darwin/ppc cross compiler in 2.2 release)

Merged revisions 6933-6934,6939,6947 via svnmerge from 
svn+ssh://[email protected]/FPC/svn/fpc/trunk

........
r6933 | daniel | 2007-03-19 15:22:57 +0100 (Mon, 19 Mar 2007) | 2 lines

  + A binutils prefix is not necessary when cross-compiling from i386 to x86_64 and vice versa.

........
r6934 | daniel | 2007-03-19 16:33:06 +0100 (Mon, 19 Mar 2007) | 2 lines

  * Better check to avoid cross-binutils

........
r6939 | peter | 2007-03-21 12:26:46 +0100 (Wed, 21 Mar 2007) | 2 lines

  * use i?86 instead of i386

........
r6947 | jonas | 2007-03-21 20:16:51 +0100 (Wed, 21 Mar 2007) | 3 lines

  * darwin->darwin compilation does not need cross binutils (regardless
    of source/target processor)

........

git-svn-id: branches/fixes_2_2@7069 -
Jonas Maebe 18 years ago
parent
commit
1120d672f9
1 changed files with 42 additions and 0 deletions
  1. 42 0
      compiler/utils/samplecfg

+ 42 - 0
compiler/utils/samplecfg

@@ -122,6 +122,43 @@ case $HOSTOS in
    
    
 esac
 esac
 
 
+CPUCROSSIFDEF1="#DEFINE NEEDCROSSBINUTILS"
+CPUCROSSIFDEF2=""
+
+case `arch` in
+  i?86|x86_64)
+    # Cross-binutils are not needed to compile for i386 on an x86_64 system
+    CPUCROSSIFDEF1="
+#IFNDEF CPUI386
+#IFNDEF CPUAMD64
+#DEFINE NEEDCROSSBINUTILS
+#ENDIF
+#ENDIF
+"
+    CPUCROSSIFDEF2="
+#IFNDEF $HOSTOS
+#DEFINE NEEDCROSSBINUTILS
+#ENDIF
+"
+  ;;
+  *)
+    CPUCROSSIFDEF1="#DEFINE NEEDCROSSBINUTILS"
+    CPUCROSSIFDEF2=""
+  ;;
+esac
+
+# darwin->darwin does not need cross binutils
+case $HOSTOS in
+  darwin)
+    CPUCROSSIFDEF2="
+#ifdef darwin
+#undef NEEDCROSSBINUTILS
+#endif
+"
+  ;;
+esac
+
+
 # set right path to FPC with $fpcversion
 # set right path to FPC with $fpcversion
 FPCPATH=`dirname "$1"`/\$fpcversion
 FPCPATH=`dirname "$1"`/\$fpcversion
 
 
@@ -164,8 +201,13 @@ cat <<EOFCFG > $thefile
 #ENDIF
 #ENDIF
 
 
 # set binutils prefix
 # set binutils prefix
+$CPUCROSSIFDEF1
+$CPUCROSSIFDEF2
+
 #IFDEF FPC_CROSSCOMPILING
 #IFDEF FPC_CROSSCOMPILING
+#IFDEF NEEDCROSSBINUTILS
   -XP\$fpctarget-
   -XP\$fpctarget-
+#ENDIF NEEDCROSSBINUTILS
 #ENDIF
 #ENDIF
 
 
 # ----------------
 # ----------------