From 723430ac34811b2a6177c65c0f9067e4d529fbf4 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 18 Apr 2020 15:44:57 +0000 Subject: [PATCH] * support building the IDE with the LLVM code generator git-svn-id: trunk@44791 - --- packages/Makefile.fpc | 3 +++ packages/ide/Makefile.fpc | 4 ++++ packages/ide/fpmake.pp | 13 +++++++++++++ 3 files changed, 20 insertions(+) diff --git a/packages/Makefile.fpc b/packages/Makefile.fpc index f5429e3f8a..bc71eabd77 100644 --- a/packages/Makefile.fpc +++ b/packages/Makefile.fpc @@ -69,6 +69,9 @@ FPMAKE_OPT+=-bu ifndef BUILDFULLNATIVE FPMAKE_OPT+=-scp endif +ifdef LLVM +FPMAKE_OPT+=--LLVM=1 +endif .NOTPARALLEL: fpmkunit_clean_bootstrap: diff --git a/packages/ide/Makefile.fpc b/packages/ide/Makefile.fpc index 64cfe6259c..0f98df14f7 100644 --- a/packages/ide/Makefile.fpc +++ b/packages/ide/Makefile.fpc @@ -90,6 +90,10 @@ ifdef PPC_TARGET FPMAKE_OPT+=--CompilerTarget=$(PPC_TARGET) endif +ifdef LLVM +FPMAKE_OPT+=--LLVM=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 86a041d972..7e3114163b 100644 --- a/packages/ide/fpmake.pp +++ b/packages/ide/fpmake.pp @@ -148,6 +148,7 @@ begin AddCustomFpmakeCommandlineOption('GDBMI','If value=1 or ''Y'', builds IDE with GDB/MI support (no need for LibGDB)'); 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'); end; procedure add_ide(const ADirectory: string); @@ -158,6 +159,7 @@ Var CompilerTarget : TCpu; CompilerDir, s: string; + llvm: boolean; begin With Installer do @@ -185,6 +187,11 @@ begin CompilerTarget:=StringToCPU(s) else CompilerTarget:=Defaults.CPU; + s:=GetCustomFpmakeCommandlineOptionValue('LLVM'); + if (s='1') or (s='Y') then + llvm:=true + else + llvm:=false; { Only try to build natively } { or for cross-compile if the resulting executable does not depend on C libs } @@ -261,6 +268,12 @@ begin if CompilerTarget = mipsel then P.Options.Add('-Fu'+CompilerDir+'/mips'); + if llvm then + begin + P.Options.Add('-Fu'+CompilerDir+'/llvm'); + P.Options.Add('-Fi'+CompilerDir+'/llvm'); + end; + { powerpc64-aix compiled IDE needs -CTsmalltoc option } if (Defaults.OS=aix) and (Defaults.CPU=powerpc64) then P.Options.Add('-CTsmalltoc');