From 9374155344b33b1880042527540133700e286089 Mon Sep 17 00:00:00 2001 From: pierre Date: Fri, 11 Jun 2021 08:49:24 +0000 Subject: [PATCH] Add --NOLLVM and use LLVM by default of compiler is llvm variant git-svn-id: trunk@49495 - --- packages/ide/Makefile | 640 +++++--------------------------------- packages/ide/Makefile.fpc | 4 + packages/ide/fpmake.pp | 21 +- 3 files changed, 103 insertions(+), 562 deletions(-) diff --git a/packages/ide/Makefile b/packages/ide/Makefile index 63ac9bae06..0c362c3388 100644 --- a/packages/ide/Makefile +++ b/packages/ide/Makefile @@ -2,10 +2,10 @@ # Don't edit, this file is generated by FPCMake Version 2.0.0 # default: all -MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris 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 i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded m68k-sinclairql powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic 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-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-freebsd aarch64-darwin aarch64-win64 aarch64-android aarch64-ios wasm32-embedded wasm32-wasi sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc +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 i386-aros 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 x86_64-iphonesim x86_64-dragonfly 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 mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos aarch64-linux aarch64-darwin BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix -LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari +LIMIT83fs = go32v2 os2 emx watcom msdos OSNeedsComspecToRunBatch = go32v2 watcom FORCE: .PHONY: FORCE @@ -184,36 +184,12 @@ $(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t endif override FPCOPT+=-Cp$(SUBARCH) endif -ifeq ($(FULL_TARGET),avr-embedded) -ifeq ($(SUBARCH),) -$(error When compiling for avr-embedded, a sub-architecture (e.g. SUBARCH=avr25 or SUBARCH=avr35) must be defined) -endif -override FPCOPT+=-Cp$(SUBARCH) -endif ifeq ($(FULL_TARGET),mipsel-embedded) ifeq ($(SUBARCH),) $(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic32mx) must be defined) endif override FPCOPT+=-Cp$(SUBARCH) endif -ifeq ($(FULL_TARGET),xtensa-embedded) -ifeq ($(SUBARCH),) -$(error When compiling for xtensa-embedded, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined) -endif -override FPCOPT+=-Cp$(SUBARCH) -endif -ifeq ($(FULL_TARGET),xtensa-freertos) -ifeq ($(SUBARCH),) -$(error When compiling for xtensa-freertos, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined) -endif -override FPCOPT+=-Cp$(SUBARCH) -endif -ifeq ($(FULL_TARGET),arm-freertos) -ifeq ($(SUBARCH),) -$(error When compiling for arm-freertos, a sub-architecture (e.g. SUBARCH=armv6m or SUBARCH=armv7em) must be defined) -endif -override FPCOPT+=-Cp$(SUBARCH) -endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) TARGETSUFFIX=$(OS_TARGET) SOURCESUFFIX=$(OS_SOURCE) @@ -250,7 +226,7 @@ endif 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)),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif else @@ -259,7 +235,7 @@ endif ifdef DEFAULT_FPCDIR ifeq ($(FPCDIR),wrong) override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=wrong endif endif @@ -273,11 +249,11 @@ endif else override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))))) override FPCDIR:=$(FPCDIR)/.. -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(BASEDIR) -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif @@ -287,8 +263,8 @@ endif ifndef CROSSBINDIR CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) endif -ifneq ($(findstring $(OS_TARGET),darwin iphonesim ios),) -ifneq ($(findstring $(OS_SOURCE),darwin ios),) +ifneq ($(findstring $(OS_TARGET),darwin iphonesim),) +ifeq ($(OS_SOURCE),darwin) DARWIN2DARWIN=1 endif endif @@ -306,7 +282,9 @@ else ifeq ($(CPU_TARGET),i386) BINUTILSPREFIX=i686-linux-android- else -BINUTILSPREFIX=$(CPU_TARGET)-linux-android- +ifeq ($(CPU_TARGET),mipsel) +BINUTILSPREFIX=mipsel-linux-android- +endif endif endif endif @@ -322,7 +300,7 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX)) ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif -PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) ifndef FPCFPMAKE ifdef CROSSCOMPILE ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),) @@ -563,97 +541,12 @@ endif else CROSSBINDIR= endif -ifeq ($(OS_SOURCE),linux) -ifndef GCCLIBDIR -ifeq ($(CPU_TARGET),i386) -ifneq ($(findstring x86_64,$(shell uname -a)),) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m32 -endif -endif -endif -ifeq ($(CPU_TARGET),powerpc) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m32 -endif -endif -ifeq ($(CPU_TARGET),powerpc64) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`) -else -CROSSGCCOPT=-m64 -endif -endif -ifeq ($(CPU_TARGET),sparc) -ifneq ($(findstring sparc64,$(shell uname -a)),) -ifeq ($(BINUTILSPREFIX),) -GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips mipsel),) -CROSSGCCOPT=-mabi=32 -else -CROSSGCCOPT=-m32 -endif -endif -endif -endif -endif -ifdef FPCFPMAKE -FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP) -ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET)) -FPCMAKEGCCLIBDIR:=$(GCCLIBDIR) -else -ifneq ($(findstring $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64),) -FPCMAKE_CROSSGCCOPT=-m64 -else -ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips64 mips64el),) -FPCMAKE_CROSSGCCOPT=-mabi=64 -else -ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips mipsel),) -FPCMAKE_CROSSGCCOPT=-mabi=32 -else -ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),riscv64),) -FPCMAKE_CROSSGCCOPT=-mabi=lp64 -else -ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),riscv32),) -FPCMAKE_CROSSGCCOPT=-mabi=ilp32 -else -FPCMAKE_CROSSGCCOPT=-m32 -endif -endif -endif -endif -endif -FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`) -endif -endif -ifndef FPCMAKEGCCLIBDIR -FPCMAKEGCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`) -endif -ifndef GCCLIBDIR -CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH)))) -ifneq ($(CROSSGCC),) -GCCLIBDIR:=$(shell dirname `$(CROSSGCC) $(CROSSGCCOPT) -print-libgcc-file-name`) -endif -endif -endif -ifdef inUnix -ifeq ($(OS_SOURCE),netbsd) -OTHERLIBDIR:=/usr/pkg/lib -endif -export GCCLIBDIR FPCMAKEGCCLIBDIR OTHERLIBDIR -endif BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl PPUEXT=.ppu OEXT=.o -LTOEXT=.bc ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a @@ -791,14 +684,14 @@ STATICLIBPREFIX= SHORTSUFFIX=nwl IMPORTLIBPREFIX=imp endif -ifeq ($(OS_TARGET),macosclassic) +ifeq ($(OS_TARGET),macos) BATCHEXT= EXEEXT= DEBUGSYMEXT=.xcoff SHORTSUFFIX=mac IMPORTLIBPREFIX=imp endif -ifneq ($(findstring $(OS_TARGET),darwin iphonesim ios),) +ifneq ($(findstring $(OS_TARGET),darwin iphonesim),) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 @@ -826,7 +719,6 @@ endif ifeq ($(OS_TARGET),aix) BATCHEXT=.sh EXEEXT= -SHAREDLIBEXT=.a SHORTSUFFIX=aix endif ifeq ($(OS_TARGET),java) @@ -848,32 +740,6 @@ STATICLIBPREFIX= STATICLIBEXT=.a SHORTSUFFIX=d16 endif -ifeq ($(OS_TARGET),msxdos) -STATICLIBPREFIX= -STATICLIBEXT=.a -SHORTSUFFIX=msd -endif -ifeq ($(OS_TARGET),embedded) -ifeq ($(CPU_TARGET),i8086) -STATICLIBPREFIX= -STATICLIBEXT=.a -else -EXEEXT=.bin -endif -ifeq ($(CPU_TARGET),z80) -OEXT=.rel -endif -SHORTSUFFIX=emb -endif -ifeq ($(OS_TARGET),win16) -STATICLIBPREFIX= -STATICLIBEXT=.a -SHAREDLIBEXT=.dll -SHORTSUFFIX=w16 -endif -ifeq ($(OS_TARGET),zxspectrum) -OEXT=.rel -endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) FPCMADE=fpcmade.$(SHORTSUFFIX) ZIPSUFFIX=$(SHORTSUFFIX) @@ -1238,6 +1104,18 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif +ifeq ($(FULL_TARGET),i386-qnx) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL-PROCESS=1 +REQUIRE_PACKAGES_HASH=1 +REQUIRE_PACKAGES_LIBTAR=1 +REQUIRE_PACKAGES_FPMKUNIT=1 +REQUIRE_PACKAGES_RTL-EXTRA=1 +REQUIRE_PACKAGES_FV=1 +REQUIRE_PACKAGES_CHM=1 +REQUIRE_PACKAGES_REGEXPR=1 +endif ifeq ($(FULL_TARGET),i386-netware) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1418,6 +1296,18 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif +ifeq ($(FULL_TARGET),m68k-freebsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL-PROCESS=1 +REQUIRE_PACKAGES_HASH=1 +REQUIRE_PACKAGES_LIBTAR=1 +REQUIRE_PACKAGES_FPMKUNIT=1 +REQUIRE_PACKAGES_RTL-EXTRA=1 +REQUIRE_PACKAGES_FV=1 +REQUIRE_PACKAGES_CHM=1 +REQUIRE_PACKAGES_REGEXPR=1 +endif ifeq ($(FULL_TARGET),m68k-netbsd) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1454,6 +1344,18 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif +ifeq ($(FULL_TARGET),m68k-openbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL-PROCESS=1 +REQUIRE_PACKAGES_HASH=1 +REQUIRE_PACKAGES_LIBTAR=1 +REQUIRE_PACKAGES_FPMKUNIT=1 +REQUIRE_PACKAGES_RTL-EXTRA=1 +REQUIRE_PACKAGES_FV=1 +REQUIRE_PACKAGES_CHM=1 +REQUIRE_PACKAGES_REGEXPR=1 +endif ifeq ($(FULL_TARGET),m68k-palmos) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1466,18 +1368,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),m68k-macosclassic) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),m68k-embedded) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1490,18 +1380,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),m68k-sinclairql) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),powerpc-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1538,7 +1416,7 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),powerpc-macosclassic) +ifeq ($(FULL_TARGET),powerpc-macos) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_FCL-PROCESS=1 @@ -1682,18 +1560,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),x86_64-haiku) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),x86_64-netbsd) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1778,30 +1644,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),x86_64-android) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),x86_64-aros) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),x86_64-dragonfly) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -1826,7 +1668,7 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),arm-netbsd) +ifeq ($(FULL_TARGET),arm-palmos) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_FCL-PROCESS=1 @@ -1838,7 +1680,7 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),arm-palmos) +ifeq ($(FULL_TARGET),arm-darwin) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_FCL-PROCESS=1 @@ -1922,42 +1764,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),arm-aros) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),arm-freertos) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),arm-ios) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),powerpc64-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2090,18 +1896,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),mips64el-linux) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),jvm-java) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2126,18 +1920,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),i8086-embedded) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),i8086-msdos) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2150,18 +1932,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),i8086-win16) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),aarch64-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2174,18 +1944,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),aarch64-freebsd) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifeq ($(FULL_TARGET),aarch64-darwin) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -2198,210 +1956,6 @@ REQUIRE_PACKAGES_FV=1 REQUIRE_PACKAGES_CHM=1 REQUIRE_PACKAGES_REGEXPR=1 endif -ifeq ($(FULL_TARGET),aarch64-win64) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),aarch64-android) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),aarch64-ios) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),wasm32-embedded) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),wasm32-wasi) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),sparc64-linux) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),riscv32-linux) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),riscv32-embedded) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),riscv64-linux) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),riscv64-embedded) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),xtensa-linux) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),xtensa-embedded) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),xtensa-freertos) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),z80-embedded) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),z80-zxspectrum) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),z80-msxdos) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif -ifeq ($(FULL_TARGET),z80-amstradcpc) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL-PROCESS=1 -REQUIRE_PACKAGES_HASH=1 -REQUIRE_PACKAGES_LIBTAR=1 -REQUIRE_PACKAGES_FPMKUNIT=1 -REQUIRE_PACKAGES_RTL-EXTRA=1 -REQUIRE_PACKAGES_FV=1 -REQUIRE_PACKAGES_CHM=1 -REQUIRE_PACKAGES_REGEXPR=1 -endif ifdef REQUIRE_PACKAGES_RTL PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_RTL),) @@ -2832,20 +2386,18 @@ endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH) -override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH) endif ifndef CROSSBOOTSTRAP ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-XP$(BINUTILSPREFIX) -ifneq ($(RLINKPATH),) -override FPCOPT+=-Xr$(RLINKPATH) endif +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-Xr$(RLINKPATH) endif endif ifndef CROSSCOMPILE ifneq ($(BINUTILSPREFIX),) override FPCMAKEOPT+=-XP$(BINUTILSPREFIX) -override FPMAKE_BUILD_OPT+=-XP$(BINUTILSPREFIX) endif endif ifdef UNITDIR @@ -2871,7 +2423,16 @@ override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE +ifneq ($(findstring 2.0.,$(FPC_VERSION)),) +ifeq ($(CPU_TARGET),i386) +FPCCPUOPT:=-OG2p3 +endif +ifeq ($(CPU_TARGET),powerpc) +FPCCPUOPT:=-O1r +endif +else FPCCPUOPT:=-O2 +endif override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif @@ -2923,46 +2484,19 @@ override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) endif endif -ifdef SYSROOTPATH -override FPCOPT+=-XR$(SYSROOTPATH) -else -ifeq ($(OS_TARGET),$(OS_SOURCE)) -ifneq ($(findstring $(OS_TARGET),darwin),) -ifneq ($(findstring $(CPU_TARGET),aarch64),) -ifneq ($(wildcard /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk),) -override FPCOPT+=-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -endif -endif -endif -endif -endif ifdef CREATESHARED override FPCOPT+=-Cg endif ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),) -ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel riscv64),) +ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel),) override FPCOPT+=-Cg endif endif ifdef LINKSHARED endif -ifdef GCCLIBDIR -override FPCOPT+=-Fl$(GCCLIBDIR) -ifdef FPCMAKEGCCLIBDIR -override FPCMAKEOPT+=-Fl$(FPCMAKEGCCLIBDIR) -else -override FPCMAKEOPT+=-Fl$(GCCLIBDIR) -endif -endif -ifdef OTHERLIBDIR -override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR)) -endif ifdef OPT override FPCOPT+=$(OPT) endif -ifdef FPMAKEBUILDOPT -override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT) -endif ifdef FPCOPTDEF override FPCOPT+=$(addprefix -d,$(FPCOPTDEF)) endif @@ -3012,16 +2546,10 @@ ifdef INSTALL_BUILDUNIT override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) endif ifdef INSTALLPPUFILES -ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT)) -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) -else -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) -endif +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) ifneq ($(UNITTARGETDIRPREFIX),) -override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES)) -override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES)) -override INSTALLPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILENAMES)) -override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILENAMES))) +override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES))) +override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES)))) endif override INSTALL_CREATEPACKAGEFPC=1 endif @@ -3067,7 +2595,7 @@ endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) -fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) +fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) endif @@ -3176,14 +2704,12 @@ ifdef CLEAN_UNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES -override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) ifdef DEBUGSYMEXT override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) endif -override CLEANPPUFILENAMES:=$(CLEANPPUFILES) -override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES)) -override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES) -override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES))) +override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) +override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES @@ -3207,9 +2733,8 @@ endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif - -$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT) - -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res - -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) fpc_cleanall: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) @@ -3229,25 +2754,19 @@ ifdef CLEAN_FILES -$(DEL) $(CLEAN_FILES) endif -$(DELTREE) units - -$(DELTREE) bin - -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) + -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) ifneq ($(PPUEXT),.ppu) -$(DEL) *.o *.ppu *.a endif -$(DELTREE) *$(SMARTEXT) - -$(DEL) fpcmade.* Package.fpc *.fpm - -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res - -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT) + -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *_ppas$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif ifdef DEBUGSYMEXT -$(DEL) *$(DEBUGSYMEXT) endif -ifdef LOCALFPMAKEBIN - -$(DEL) $(LOCALFPMAKEBIN) - -$(DEL) $(FPMAKEBINOBJ) -endif fpc_distclean: cleanall .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo @@ -3409,6 +2928,9 @@ endif ifdef LLVM FPMAKE_OPT+=--LLVM=1 endif +ifdef NOLLVM +FPMAKE_OPT+=--NOLLVM=1 +endif .NOTPARALLEL: PPC_TARGETS=i386 m68k powerpc sparc arm x86_64 powerpc64 mips mipsel avr jvm i8086 aarch64 sparc64 CLEAN_TARGETS=$(addsuffix _clean,$(sort $(PPC_TARGETS))) diff --git a/packages/ide/Makefile.fpc b/packages/ide/Makefile.fpc index 0f98df14f7..305a67daae 100644 --- a/packages/ide/Makefile.fpc +++ b/packages/ide/Makefile.fpc @@ -94,6 +94,10 @@ ifdef LLVM FPMAKE_OPT+=--LLVM=1 endif +ifdef NOLLVM +FPMAKE_OPT+=--NOLLVM=1 +endif + .NOTPARALLEL: PPC_TARGETS=i386 m68k powerpc sparc arm x86_64 powerpc64 mips mipsel avr jvm i8086 aarch64 sparc64 diff --git a/packages/ide/fpmake.pp b/packages/ide/fpmake.pp index 7e3114163b..3967c75413 100644 --- a/packages/ide/fpmake.pp +++ b/packages/ide/fpmake.pp @@ -11,6 +11,7 @@ const NoGDBOption: boolean = false; GDBMIOption: boolean = false; GDBMI_Disabled: boolean = false; + LLVM_Disabled: boolean = false; GDBMI_DEFAULT_OSes = [aix, darwin, freebsd, haiku,linux, netbsd, openbsd, solaris, win32, win64]; procedure ide_check_gdb_availability(Sender: TObject); @@ -149,6 +150,7 @@ begin AddCustomFpmakeCommandlineOption('NoIDE','If value=1 or ''Y'', the IDE will be skipped'); AddCustomFpmakeCommandlineOption('IDE','If value=1 or ''Y'', the IDE will be build for each target'); AddCustomFpmakeCommandlineOption('LLVM','If value=1 or ''Y'', the Compiler codegenerator will use LLVM'); + AddCustomFpmakeCommandlineOption('NoLLVM','If value=1 or ''Y'', ito explicitly disable use of LLVM'); end; procedure add_ide(const ADirectory: string); @@ -187,11 +189,24 @@ begin CompilerTarget:=StringToCPU(s) else CompilerTarget:=Defaults.CPU; - s:=GetCustomFpmakeCommandlineOptionValue('LLVM'); +{$ifdef CPULLVM} + llvm:=true; +{$else} + llvm:=false; +{$endif} + s := GetCustomFpmakeCommandlineOptionValue('NOLLVM'); if (s='1') or (s='Y') then - llvm:=true + LLVM_Disabled := true; + if LLVM_Disabled then + llvm:=false else - llvm:=false; + begin + s:=GetCustomFpmakeCommandlineOptionValue('LLVM'); + if (s='1') or (s='Y') then + llvm:=true + else + llvm:=false; + end; { Only try to build natively } { or for cross-compile if the resulting executable does not depend on C libs }