Selaa lähdekoodia

Merged revisions 10834-10835 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r10834 | hajny | 2008-04-28 07:39:34 -0700 (po, 28 IV 2008) | 1 line

* fix for running testsuite for GO32v2 by Giulio Bernardi
........
r10835 | hajny | 2008-04-28 07:40:21 -0700 (po, 28 IV 2008) | 1 line

* fix for running testsuite for GO32v2 by Giulio Bernardi
........

git-svn-id: branches/fixes_2_2@10860 -

Tomas Hajny 17 vuotta sitten
vanhempi
commit
e7ceedc014
6 muutettua tiedostoa jossa 222 lisäystä ja 80 poistoa
  1. 45 10
      tests/Makefile
  2. 33 5
      tests/Makefile.fpc
  3. 113 58
      tests/units/Makefile
  4. 1 1
      tests/units/Makefile.fpc
  5. 29 6
      tests/utils/Makefile
  6. 1 0
      tests/utils/Makefile.fpc

+ 45 - 10
tests/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/10/29]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/04/18]
 #
 default: allexectests
-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
+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-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx
 LIMIT83fs = go32v2 os2 emx watcom
@@ -167,6 +167,17 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifeq ($(CPU_TARGET),armeb)
+ARCH=arm
+override FPCOPT+=-Cb
+else
+ifeq ($(CPU_TARGET),armel)
+ARCH=arm
+override FPCOPT+=-CaEABI
+else
+ARCH=$(CPU_TARGET)
+endif
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 TARGETSUFFIX=$(OS_TARGET)
 SOURCESUFFIX=$(OS_SOURCE)
@@ -188,7 +199,7 @@ endif
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -989,13 +1000,13 @@ TAROPT=vz
 TAREXT=.tar.gz
 endif
 ifndef NOCPUDEF
-override FPCOPTDEF=$(CPU_TARGET)
+override FPCOPTDEF=$(ARCH)
 endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 endif
 ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(CPU_TARGET)
+override FPCOPT+=-P$(ARCH)
 endif
 ifeq ($(OS_SOURCE),openbsd)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
@@ -1376,6 +1387,11 @@ ifndef TEST_OS_TARGET
 TEST_OS_TARGET:=$(word 5,$(TEST_FPC_COMPILERINFO))
 endif
 TEST_FULL_TARGET=$(TEST_CPU_TARGET)-$(TEST_OS_TARGET)
+ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
+TEST_TARGETSUFFIX=$(TEST_OS_TARGET)
+else
+TEST_TARGETSUFFIX=$(TEST_FULL_TARGET)
+endif
 ifndef TEST_CCOMPILER
 ifeq ($(CPU_TARGET),$(TEST_CPU_TARGET))
 ifeq ($(OS_TARGET),$(TEST_OS_TARGET))
@@ -1386,7 +1402,7 @@ endif
 endif
 endif
 endif
-TEST_OUTPUTDIR=output/$(TEST_FULL_TARGET)
+TEST_OUTPUTDIR=output/$(TEST_TARGETSUFFIX)
 TEST_DATETIME:=$(shell $(DATE) +%Y%m%d%H%M)
 ifndef TEST_USER
 TEST_USER=$(USER)
@@ -1397,6 +1413,13 @@ endif
 DB_TARGZ=$(TEST_HOSTNAME)-$(TEST_DATETIME).tar.gz
 [email protected]
 DB_UPLOADDIR=/home/fpc/testsuite/incoming
+ifdef inWinNT
+inWinDOS=1
+endif
+ifeq ($(OS_SOURCE),go32v2)
+inWinDOS=1
+inDOS=1
+endif
 ifndef FAILLIST
 export FAILLIST:=$(TEST_OUTPUTDIR)/faillist
 endif
@@ -1447,6 +1470,9 @@ endif
 ifneq ($(TEST_BINUTILSPREFIX),)
 override DOTESTOPT+=-Y-XP$(TEST_BINUTILSPREFIX) -Y-Xd
 endif
+ifdef inDOS
+override DOTESTOPT+=-X
+endif
 ifdef TEST_RSH
 override DOTESTOPT+=-R$(TEST_RSH)
 endif
@@ -1524,9 +1550,9 @@ allexectest : testprep $(patsubst %.pp,%.elg,$(wildcard $(addsuffix /t*.pp,$(TES
 allexectests: allexectest allexectbs allexectbf allexecwebtbs allexecwebtbf
 .PHONY: clean distclean clean_test
 clean_test:
-	-$(DELTREE) output/$(TEST_FULL_TARGET)
+	-$(DELTREE) $(TEST_OUTPUTDIR)
 	-$(DEL) $(LOG) $(LONGLOG) $(FAILLIST)
-	-$(DEL) core gmon.out testprep-stamp.$(TEST_FULL_TARGET)
+	-$(DEL) core gmon.out testprep-stamp.$(TEST_FULL_TARGET) dotgz.bat
 clean:
 	$(MAKE) clean_test CPU_TARGET=$(TEST_CPU_TARGET) OS_TARGET=$(TEST_OS_TARGET)
 	$(MAKE) -C units clean CPU_TARGET=$(TEST_CPU_TARGET) OS_TARGET=$(TEST_OS_TARGET)
@@ -1545,7 +1571,7 @@ $(TEST_OUTPUTDIR)/dbdigest.cfg:
 	$(ECHOREDIR) Submitter=$(TEST_USER) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
 	$(ECHOREDIR) Machine=$(TEST_HOSTNAME) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
 	$(ECHOREDIR) Comment=$(TEST_OPT) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
-ifndef inWinNT
+ifndef inWinDOS
 $(TEST_OUTPUTDIR)/tar.lst:
 	cd $(TEST_OUTPUTDIR) && find . -name '*.log' -o -name '*.elg' > tar.lst
 	$(ECHOREDIR) "log" >> $(TEST_OUTPUTDIR)/tar.lst
@@ -1557,10 +1583,19 @@ endif
 	cd $(TEST_OUTPUTDIR) && tar cfz $(DB_TARGZ) --files-from=tar.lst
 else
 $(TEST_OUTPUTDIR)/$(DB_TARGZ): $(TEST_OUTPUTDIR)/dbdigest.cfg
+ifdef inDOS
+	$(ECHOREDIR) @echo off > dotgz.bat
+	$(ECHOREDIR) cd $(subst /,\,$(TEST_OUTPUTDIR)) >> dotgz.bat
+	$(ECHOREDIR) $(subst /,\,../../$(PREPUP)) $(DB_TARGZ) >> dotgz.bat
+	$(ECHOREDIR) if errorlevel 1 $(DEL) $(DB_TARGZ) >> dotgz.bat
+	$(ECHOREDIR) cd $(subst /,\,../../) >> dotgz.bat
+	$(RUNBATCH) dotgz.bat
+else
 	cd "$(TEST_OUTPUTDIR)" && "../../$(PREPUP)" $(DB_TARGZ)
 endif
+endif
 uploadrun: $(TEST_OUTPUTDIR)/$(DB_TARGZ)
-ifdef inWinNT
+ifdef inWinDOS
 	pscp -load "[email protected]" $(TEST_OUTPUTDIR)/$(DB_TARGZ) $(DB_HOST):$(DB_UPLOADDIR)/$(DB_TARGZ).part $(SSH_EXTRA)
 	plink -load "[email protected]" "mv $(DB_UPLOADDIR)/$(DB_TARGZ).part $(DB_UPLOADDIR)/$(DB_TARGZ)"
 else

+ 33 - 5
tests/Makefile.fpc

@@ -61,6 +61,11 @@ ifndef TEST_OS_TARGET
 TEST_OS_TARGET:=$(word 5,$(TEST_FPC_COMPILERINFO))
 endif
 TEST_FULL_TARGET=$(TEST_CPU_TARGET)-$(TEST_OS_TARGET)
+ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
+TEST_TARGETSUFFIX=$(TEST_OS_TARGET)
+else
+TEST_TARGETSUFFIX=$(TEST_FULL_TARGET)
+endif
 
 ifndef TEST_CCOMPILER
 ifeq ($(CPU_TARGET),$(TEST_CPU_TARGET))
@@ -74,7 +79,7 @@ endif
 endif
 
 # Target dir where the ppu and binaries are created
-TEST_OUTPUTDIR=output/$(TEST_FULL_TARGET)
+TEST_OUTPUTDIR=output/$(TEST_TARGETSUFFIX)
 
 # Date and time the testsuite was run
 TEST_DATETIME:=$(shell $(DATE) +%Y%m%d%H%M)
@@ -91,6 +96,14 @@ DB_TARGZ=$(TEST_HOSTNAME)-$(TEST_DATETIME).tar.gz
 [email protected]
 DB_UPLOADDIR=/home/fpc/testsuite/incoming
 
+ifdef inWinNT
+inWinDOS=1
+endif
+ifeq ($(OS_SOURCE),go32v2)
+inWinDOS=1
+inDOS=1
+endif
+
 ################################
 # Misc
 #
@@ -185,6 +198,12 @@ endif
 ifneq ($(TEST_BINUTILSPREFIX),)
 override DOTESTOPT+=-Y-XP$(TEST_BINUTILSPREFIX) -Y-Xd
 endif
+# Don't use comspec for dos:
+# command.com returns 0 if it manages to execute a program
+# regardless of the program's exit code
+ifdef inDOS
+override DOTESTOPT+=-X
+endif
 ifdef TEST_RSH
 override DOTESTOPT+=-R$(TEST_RSH)
 endif
@@ -305,9 +324,9 @@ allexectests: allexectest allexectbs allexectbf allexecwebtbs allexecwebtbf
 .PHONY: clean distclean clean_test
 
 clean_test:
-        -$(DELTREE) output/$(TEST_FULL_TARGET)
+        -$(DELTREE) $(TEST_OUTPUTDIR)
         -$(DEL) $(LOG) $(LONGLOG) $(FAILLIST)
-        -$(DEL) core gmon.out testprep-stamp.$(TEST_FULL_TARGET)
+        -$(DEL) core gmon.out testprep-stamp.$(TEST_FULL_TARGET) dotgz.bat
 
 clean:
         $(MAKE) clean_test CPU_TARGET=$(TEST_CPU_TARGET) OS_TARGET=$(TEST_OS_TARGET)
@@ -339,7 +358,7 @@ $(TEST_OUTPUTDIR)/dbdigest.cfg:
         $(ECHOREDIR) Machine=$(TEST_HOSTNAME) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
         $(ECHOREDIR) Comment=$(TEST_OPT) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
 
-ifndef inWinNT
+ifndef inWinDOS
 $(TEST_OUTPUTDIR)/tar.lst:
         cd $(TEST_OUTPUTDIR) && find . -name '*.log' -o -name '*.elg' > tar.lst
         $(ECHOREDIR) "log" >> $(TEST_OUTPUTDIR)/tar.lst
@@ -353,11 +372,20 @@ endif
 
 else
 $(TEST_OUTPUTDIR)/$(DB_TARGZ): $(TEST_OUTPUTDIR)/dbdigest.cfg
+ifdef inDOS
+        $(ECHOREDIR) @echo off > dotgz.bat
+        $(ECHOREDIR) cd $(subst /,\,$(TEST_OUTPUTDIR)) >> dotgz.bat
+        $(ECHOREDIR) $(subst /,\,../../$(PREPUP)) $(DB_TARGZ) >> dotgz.bat
+        $(ECHOREDIR) if errorlevel 1 $(DEL) $(DB_TARGZ) >> dotgz.bat
+        $(ECHOREDIR) cd $(subst /,\,../../) >> dotgz.bat
+        $(RUNBATCH) dotgz.bat
+else
         cd "$(TEST_OUTPUTDIR)" && "../../$(PREPUP)" $(DB_TARGZ)
 endif
+endif
 
 uploadrun: $(TEST_OUTPUTDIR)/$(DB_TARGZ)
-ifdef inWinNT
+ifdef inWinDOS
         pscp -load "[email protected]" $(TEST_OUTPUTDIR)/$(DB_TARGZ) $(DB_HOST):$(DB_UPLOADDIR)/$(DB_TARGZ).part $(SSH_EXTRA)
         plink -load "[email protected]" "mv $(DB_UPLOADDIR)/$(DB_TARGZ).part $(DB_UPLOADDIR)/$(DB_TARGZ)"
 else

+ 113 - 58
tests/units/Makefile

@@ -1,11 +1,12 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/10/21]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/04/18]
 #
 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
+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-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-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,11 @@ ifndef FPC
 FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
 ifneq ($(FPCPROG),)
 FPCPROG:=$(firstword $(FPCPROG))
+ifneq ($(CPU_TARGET),)
+FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
+else
 FPC:=$(shell $(FPCPROG) -PB)
+endif
 ifneq ($(findstring Error,$(FPC)),)
 override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
 endif
@@ -157,6 +167,17 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifeq ($(CPU_TARGET),armeb)
+ARCH=arm
+override FPCOPT+=-Cb
+else
+ifeq ($(CPU_TARGET),armel)
+ARCH=arm
+override FPCOPT+=-CaEABI
+else
+ARCH=$(CPU_TARGET)
+endif
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 TARGETSUFFIX=$(OS_TARGET)
 SOURCESUFFIX=$(OS_SOURCE)
@@ -178,7 +199,7 @@ endif
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -350,6 +371,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override CLEAN_UNITS+=erroru popuperr ptest
 endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override CLEAN_UNITS+=erroru popuperr ptest
+endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 override CLEAN_UNITS+=erroru popuperr ptest
 endif
@@ -362,6 +386,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override CLEAN_UNITS+=erroru popuperr ptest
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override CLEAN_UNITS+=erroru popuperr ptest
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override CLEAN_UNITS+=erroru popuperr ptest
 endif
@@ -386,162 +413,186 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override CLEAN_UNITS+=erroru popuperr ptest
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override CLEAN_UNITS+=erroru popuperr ptest
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override CLEAN_UNITS+=erroru popuperr ptest
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override CLEAN_UNITS+=erroru popuperr ptest
+endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
+endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override COMPILER_TARGETDIR+=$(FULL_TARGET)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
+endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override COMPILER_TARGETDIR+=$(TARGETSUFFIX)
 endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
@@ -1291,20 +1342,20 @@ TAROPT=vz
 TAREXT=.tar.gz
 endif
 ifndef NOCPUDEF
-override FPCOPTDEF=$(CPU_TARGET)
+override FPCOPTDEF=$(ARCH)
 endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 endif
 ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(CPU_TARGET)
+override FPCOPT+=-P$(ARCH)
 endif
 ifeq ($(OS_SOURCE),openbsd)
 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)
@@ -1436,9 +1487,13 @@ ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
 ifeq ($(FULL_SOURCE),$(FULL_TARGET))
+ifdef RUNBATCH
+EXECPPAS:=@$(RUNBATCH) $(PPAS)
+else
 EXECPPAS:=@$(PPAS)
 endif
 endif
+endif
 ifdef TARGET_RSTS
 override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
 override CLEANRSTFILES+=$(RSTFILES)

+ 1 - 1
tests/units/Makefile.fpc

@@ -11,7 +11,7 @@ fpcpackage=y
 units = erroru popuperr ptest
 
 [compiler]
-targetdir=$(FULL_TARGET)
+targetdir=$(TARGETSUFFIX)
 
 [default]
 fpcdir=../..

+ 29 - 6
tests/utils/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/01/21]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/04/18]
 #
 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-darwin 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
+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-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx
 LIMIT83fs = go32v2 os2 emx watcom
@@ -167,6 +167,17 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifeq ($(CPU_TARGET),armeb)
+ARCH=arm
+override FPCOPT+=-Cb
+else
+ifeq ($(CPU_TARGET),armel)
+ARCH=arm
+override FPCOPT+=-CaEABI
+else
+ARCH=$(CPU_TARGET)
+endif
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 TARGETSUFFIX=$(OS_TARGET)
 SOURCESUFFIX=$(OS_SOURCE)
@@ -188,7 +199,7 @@ endif
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -244,7 +255,7 @@ ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
+override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)  prepup
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)  prepup
@@ -375,6 +386,9 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
 endif
+ifeq ($(FULL_TARGET),arm-darwin)
+override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
+endif
 ifeq ($(FULL_TARGET),arm-wince)
 override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
 endif
@@ -399,6 +413,15 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
 endif
+ifeq ($(FULL_TARGET),avr-embedded)
+override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
+endif
+ifeq ($(FULL_TARGET),armeb-linux)
+override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
+endif
+ifeq ($(FULL_TARGET),armeb-embedded)
+override TARGET_PROGRAMS+=dotest fptime fail testfail digest $(DBDIGEST)
+endif
 override INSTALL_FPCPACKAGE=y
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
@@ -1148,13 +1171,13 @@ TAROPT=vz
 TAREXT=.tar.gz
 endif
 ifndef NOCPUDEF
-override FPCOPTDEF=$(CPU_TARGET)
+override FPCOPTDEF=$(ARCH)
 endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 endif
 ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(CPU_TARGET)
+override FPCOPT+=-P$(ARCH)
 endif
 ifeq ($(OS_SOURCE),openbsd)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)

+ 1 - 0
tests/utils/Makefile.fpc

@@ -16,6 +16,7 @@ nortl=y
 programs=dotest fptime fail testfail digest $(DBDIGEST)
 programs_win32=prepup
 programs_win64=prepup
+programs_go32v2=prepup
 
 [clean]
 programs=dbdigest