Bläddra i källkod

* fixed m68k compilation and put it in fullcycle

git-svn-id: trunk@8953 -
florian 18 år sedan
förälder
incheckning
3a630340be
4 ändrade filer med 24 tillägg och 23 borttagningar
  1. 18 4
      compiler/Makefile
  2. 1 1
      compiler/Makefile.fpc
  3. 2 0
      compiler/m68k/cpubase.pas
  4. 3 18
      compiler/systems/t_linux.pas

+ 18 - 4
compiler/Makefile

@@ -1,11 +1,12 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/08/22]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/10/26]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx
 LIMIT83fs = go32v2 os2 emx watcom
+OSNeedsComspecToRunBatch = go32v2 watcom
 FORCE:
 .PHONY: FORCE
 override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
@@ -56,6 +57,11 @@ else
 SRCBATCHEXT=.bat
 endif
 endif
+ifdef COMSPEC
+ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+RUNBATCH=$(COMSPEC) /C
+endif
+endif
 ifdef inUnix
 PATHSEP=/
 else
@@ -102,7 +108,7 @@ ifndef FPC
 FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
 ifneq ($(FPCPROG),)
 FPCPROG:=$(firstword $(FPCPROG))
-FPC:=$(shell $(FPCPROG) -PB)
+FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
 ifneq ($(findstring Error,$(FPC)),)
 override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 endif
@@ -233,7 +239,7 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(F
 override PACKAGE_NAME=compiler
 override PACKAGE_VERSION=2.0.0
 unexport FPC_VERSION FPC_COMPILERINFO
-CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64
+CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k
 ALLTARGETS=$(CYCLETARGETS) m68k
 ifdef ALPHA
 PPC_TARGET=alpha
@@ -2233,7 +2239,7 @@ override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 endif
 ifndef CROSSBOOTSTRAP
 ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX) 
+override FPCOPT+=-XP$(BINUTILSPREFIX)
 endif
 ifneq ($(BINUTILSPREFIX),)
 override FPCOPT+=-Xr$(RLINKPATH)
@@ -2365,9 +2371,13 @@ ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
 ifeq ($(FULL_SOURCE),$(FULL_TARGET))
+ifdef RUNBATCH
+EXECPPAS:=@$(RUNBATCH) $(PPAS)
+else
 EXECPPAS:=@$(PPAS)
 endif
 endif
+endif
 .PHONY: fpc_exes
 ifndef CROSSINSTALL
 ifneq ($(TARGET_PROGRAMS),)
@@ -2599,8 +2609,12 @@ else
 endif
 ifdef inUnix
 	/bin/sh $(ZIPWRAPPER)
+else
+ifdef RUNBATCH
+	$(RUNBATCH) (ZIPWRAPPER)
 else
 	$(ZIPWRAPPER)
+endif
 endif
 	$(DEL) $(ZIPWRAPPER)
 else

+ 1 - 1
compiler/Makefile.fpc

@@ -32,7 +32,7 @@ fpcdir=..
 unexport FPC_VERSION FPC_COMPILERINFO
 
 # Which platforms are ready for inclusion in the cycle
-CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64
+CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k
 
 # All supported targets used for clean
 ALLTARGETS=$(CYCLETARGETS) m68k

+ 2 - 0
compiler/m68k/cpubase.pas

@@ -127,6 +127,8 @@ unit cpubase;
       first_mm_supreg    = 0;
       first_mm_imreg     = 0;
 
+      maxfpuregs = 8;
+
 {$WARNING TODO FIX BSSTART}
       regnumber_count_bsstart = 16;
 

+ 3 - 18
compiler/systems/t_linux.pas

@@ -231,11 +231,7 @@ const
 {$ifdef m68k}    platform_select='';{$endif} {unknown :( }
 
 var
-{$ifdef m68k}
-  St : TSearchRec;
-{$else}
   defdynlinker: string;
-{$endif m68k}
 begin
   with Info do
    begin
@@ -246,21 +242,10 @@ begin
      ExeCmd[1]:=ExeCmd[1]+' $RES';
      DllCmd[1]:='ld '+platform_select+' $OPT $INIT $FINI $SONAME -shared -L. -o $EXE $RES -E';
      DllCmd[2]:='strip --strip-unneeded $EXE';
+
 {$ifdef m68k}
-     libctype:=glibc2;
-     if FindFirst(sysrootpath+'/lib/ld*',faAnyFile+faSymLink,st)<>0 then
-       begin
-         repeat
-            if copy(st.name,1,5)='ld-2.' then
-             begin
-               DynamicLinker:='/lib/'+St.name;
-               if st.name[6]<>'0' then
-                 libctype:=glibc21;
-               break;
-             end;
-         until FindNext(St)<>0;
-       end;
-     FindClose(St);
+     { experimental, is this correct? }
+     defdynlinker:='/lib/ld-linux.so.2';
 {$endif m68k}
 
 {$ifdef i386}