From 4ca7e66661eb9cc231ba270c7520be71f26997e9 Mon Sep 17 00:00:00 2001 From: yury Date: Tue, 28 May 2013 12:55:25 +0000 Subject: [PATCH] * Fixed cross-installation after r24625. git-svn-id: trunk@24626 - --- Makefile | 9 ++++++++- Makefile.fpc | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1c57e4629f..120f68868a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2013-05-26 rev 24621] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2013/05/28] # default: help MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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 i386-nativent i386-iphonesim i386-android 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 powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd 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 arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android i8086-msdos @@ -436,8 +436,12 @@ export DIST_DESTDIR:=$(BASEDIR) endif BASEPACKDIR=$(BASEDIR)/basepack ifndef FPCMAKENEW +ifdef CROSSCOMPILE +FPCMAKENEW=$(BASEDIR)/utils/fpcm/fpcmake$(SRCEXEEXT) +else FPCMAKENEW=$(BASEDIR)/utils/fpcm/bin/$(SOURCESUFFIX)/fpcmake$(SRCEXEEXT) endif +endif CLEANOPTS=FPC=$(PPNEW) BUILDOPTS=FPC=$(PPNEW) FPCFPMAKE=$(FPCFPMAKENEW) RELEASE=1 INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW) @@ -2750,6 +2754,9 @@ endif buildbase: base.$(BUILDSTAMP) base.$(BUILDSTAMP): $(MAKE) compiler_cycle RELEASE=1 +ifdef CROSSCOMPILE + $(MAKE) -C utils/fpcm bootstrap $(BUILDOPTS) +endif $(MAKE) rtl_clean $(CLEANOPTS) $(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS) $(ECHOREDIR) Build > base.$(BUILDSTAMP) diff --git a/Makefile.fpc b/Makefile.fpc index 101b736864..2afc798b35 100644 --- a/Makefile.fpc +++ b/Makefile.fpc @@ -169,8 +169,14 @@ BASEPACKDIR=$(BASEDIR)/basepack # Always use newly created fpcmake ifndef FPCMAKENEW +ifdef CROSSCOMPILE +# Use bootstrapped fpcmake when cross-compiling +FPCMAKENEW=$(BASEDIR)/utils/fpcm/fpcmake$(SRCEXEEXT) +else +# Use normal fpcmake FPCMAKENEW=$(BASEDIR)/utils/fpcm/bin/$(SOURCESUFFIX)/fpcmake$(SRCEXEEXT) endif +endif # Build/install options CLEANOPTS=FPC=$(PPNEW) @@ -316,6 +322,11 @@ buildbase: base.$(BUILDSTAMP) base.$(BUILDSTAMP): # create new compiler $(MAKE) compiler_cycle RELEASE=1 +ifdef CROSSCOMPILE +# Buld a new native fpcmake when cross-compiling. +# Fresh native compiler and RTL are ready at this stage. + $(MAKE) -C utils/fpcm bootstrap $(BUILDOPTS) +endif # clean $(MAKE) rtl_clean $(CLEANOPTS) # build everything