mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-04 23:05:47 +02:00
Add LLVM clang '-emit-llvm' MBS option
Allows the user to configure clang to generate object code or LLVM bitcode. The previous behaviour (bitcode generation) remains the default.
This commit is contained in:
parent
9b61c23c82
commit
2a38be3704
2 changed files with 66 additions and 4 deletions
|
@ -173,6 +173,9 @@ Option.Posix.Linker.native=Create native binary (with LLVM native code generator
|
||||||
Option.Posix.Linker.nativeCBackend=Create native binary (with C backend code generator)
|
Option.Posix.Linker.nativeCBackend=Create native binary (with C backend code generator)
|
||||||
Option.Posix.Static.Compiler.Flags=Static Compiler Flags
|
Option.Posix.Static.Compiler.Flags=Static Compiler Flags
|
||||||
|
|
||||||
|
Option.Llvm.Clang.EmitLlvm.name=Emit LLVM IR (-emit-llvm)
|
||||||
|
Option.Llvm.Clang.EmitLlvm.tip=Generate LLVM bitcode (not object code)
|
||||||
|
|
||||||
Option.Llvm.printStats=Print statistics
|
Option.Llvm.printStats=Print statistics
|
||||||
Option.Llvm.Archiver.Flags=Archiver flags
|
Option.Llvm.Archiver.Flags=Archiver flags
|
||||||
Option.Llvm.Llc.Flags=LLC flags
|
Option.Llvm.Llc.Flags=LLC flags
|
||||||
|
|
|
@ -1,5 +1,18 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<?eclipse version="3.4"?>
|
<?eclipse version="3.4"?>
|
||||||
|
<!--
|
||||||
|
Copyright (c) 2010-2025 Nokia Siemens Networks Oyj and others
|
||||||
|
This program and the accompanying materials
|
||||||
|
are made available under the terms of the Eclipse Public License 2.0
|
||||||
|
which accompanies this distribution, and is available at
|
||||||
|
https://www.eclipse.org/legal/epl-2.0/
|
||||||
|
|
||||||
|
SPDX-License-Identifier: EPL-2.0
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Nokia Siemens Networks - initial implementation
|
||||||
|
John Dallaway - add option for clang '-emit-llvm' (#1277)
|
||||||
|
-->
|
||||||
<plugin>
|
<plugin>
|
||||||
<extension
|
<extension
|
||||||
id="org.eclipse.cdt.managedbuilder.llvm.ui.buildDefinitions"
|
id="org.eclipse.cdt.managedbuilder.llvm.ui.buildDefinitions"
|
||||||
|
@ -210,7 +223,7 @@
|
||||||
<inputType
|
<inputType
|
||||||
buildVariable="BCS"
|
buildVariable="BCS"
|
||||||
dependencyCalculator="org.eclipse.cdt.managedbuilder.llvm.makegen.LlvmDependencyCalculator2"
|
dependencyCalculator="org.eclipse.cdt.managedbuilder.llvm.makegen.LlvmDependencyCalculator2"
|
||||||
id="cdt.managedbuild.tool.llvm.c.linker.input"
|
id="cdt.managedbuild.tool.llvm.c.linker.input.bc"
|
||||||
multipleOfType="true"
|
multipleOfType="true"
|
||||||
primaryInput="true"
|
primaryInput="true"
|
||||||
sourceContentType="org.eclipse.cdt.managedbuilder.llvm.ui.llvmBytecode"
|
sourceContentType="org.eclipse.cdt.managedbuilder.llvm.ui.llvmBytecode"
|
||||||
|
@ -224,6 +237,15 @@
|
||||||
paths="$(LIBS)">
|
paths="$(LIBS)">
|
||||||
</additionalInput>
|
</additionalInput>
|
||||||
</inputType>
|
</inputType>
|
||||||
|
<inputType
|
||||||
|
buildVariable="OBJS"
|
||||||
|
dependencyCalculator="org.eclipse.cdt.managedbuilder.llvm.makegen.LlvmDependencyCalculator2"
|
||||||
|
id="cdt.managedbuild.tool.llvm.c.linker.input.obj"
|
||||||
|
multipleOfType="true"
|
||||||
|
primaryInput="true"
|
||||||
|
sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
|
||||||
|
sources="o">
|
||||||
|
</inputType>
|
||||||
<outputType
|
<outputType
|
||||||
buildVariable="LLVM_BC_EXECUTABLES"
|
buildVariable="LLVM_BC_EXECUTABLES"
|
||||||
id="cdt.managedbuild.tool.llvm.c.linker.output.exe.bc"
|
id="cdt.managedbuild.tool.llvm.c.linker.output.exe.bc"
|
||||||
|
@ -317,8 +339,9 @@
|
||||||
<inputType
|
<inputType
|
||||||
buildVariable="BCS"
|
buildVariable="BCS"
|
||||||
dependencyCalculator="org.eclipse.cdt.managedbuilder.llvm.makegen.LlvmDependencyCalculator2"
|
dependencyCalculator="org.eclipse.cdt.managedbuilder.llvm.makegen.LlvmDependencyCalculator2"
|
||||||
id="cdt.managedbuild.tool.llvm.archiver.input"
|
id="cdt.managedbuild.tool.llvm.archiver.input.bc"
|
||||||
multipleOfType="true"
|
multipleOfType="true"
|
||||||
|
primaryInput="true"
|
||||||
sourceContentType="org.eclipse.cdt.managedbuilder.llvm.ui.llvmBytecode"
|
sourceContentType="org.eclipse.cdt.managedbuilder.llvm.ui.llvmBytecode"
|
||||||
sources="bc">
|
sources="bc">
|
||||||
<additionalInput
|
<additionalInput
|
||||||
|
@ -330,6 +353,15 @@
|
||||||
paths="$(LIBS)">
|
paths="$(LIBS)">
|
||||||
</additionalInput>
|
</additionalInput>
|
||||||
</inputType>
|
</inputType>
|
||||||
|
<inputType
|
||||||
|
buildVariable="OBJS"
|
||||||
|
dependencyCalculator="org.eclipse.cdt.managedbuilder.llvm.makegen.LlvmDependencyCalculator2"
|
||||||
|
id="cdt.managedbuild.tool.llvm.archiver.input.obj"
|
||||||
|
multipleOfType="true"
|
||||||
|
primaryInput="true"
|
||||||
|
sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
|
||||||
|
sources="o">
|
||||||
|
</inputType>
|
||||||
<outputType
|
<outputType
|
||||||
buildVariable="ARCHIVES"
|
buildVariable="ARCHIVES"
|
||||||
id="cdt.managedbuild.tool.llvm.archiver.output"
|
id="cdt.managedbuild.tool.llvm.archiver.output"
|
||||||
|
@ -814,9 +846,17 @@
|
||||||
category="llvm.c_cpp.compiler.category.optimization"
|
category="llvm.c_cpp.compiler.category.optimization"
|
||||||
id="llvm.c_cpp.compiler.option.optimization.flags"
|
id="llvm.c_cpp.compiler.option.optimization.flags"
|
||||||
name="%Option.Posix.Optimize.Flags"
|
name="%Option.Posix.Optimize.Flags"
|
||||||
value="-emit-llvm"
|
|
||||||
valueType="string">
|
valueType="string">
|
||||||
</option>
|
</option>
|
||||||
|
<option
|
||||||
|
category="llvm.c_cpp.compiler.category.optimization"
|
||||||
|
command="-emit-llvm"
|
||||||
|
defaultValue="true"
|
||||||
|
id="llvm.c_cpp.compiler.option.optimization.emit-llvm"
|
||||||
|
name="%Option.Llvm.Clang.EmitLlvm.name"
|
||||||
|
tip="%Option.Llvm.Clang.EmitLlvm.tip"
|
||||||
|
valueType="boolean">
|
||||||
|
</option>
|
||||||
<optionCategory
|
<optionCategory
|
||||||
id="llvm.c_cpp.compiler.category.debug"
|
id="llvm.c_cpp.compiler.category.debug"
|
||||||
name="%OptionCategory.Debug"
|
name="%OptionCategory.Debug"
|
||||||
|
@ -1047,8 +1087,27 @@
|
||||||
</option>
|
</option>
|
||||||
<outputType
|
<outputType
|
||||||
buildVariable="BCS"
|
buildVariable="BCS"
|
||||||
id="cdt.managedbuild.tool.llvm.c_cpp.compiler.output"
|
id="cdt.managedbuild.tool.llvm.c_cpp.compiler.output.bc"
|
||||||
outputs="bc">
|
outputs="bc">
|
||||||
|
<enablement
|
||||||
|
type="ALL">
|
||||||
|
<checkOption
|
||||||
|
optionId="llvm.c_cpp.compiler.option.optimization.emit-llvm"
|
||||||
|
value="true">
|
||||||
|
</checkOption>
|
||||||
|
</enablement>
|
||||||
|
</outputType>
|
||||||
|
<outputType
|
||||||
|
buildVariable="OBJS"
|
||||||
|
id="cdt.managedbuild.tool.llvm.c_cpp.compiler.output.obj"
|
||||||
|
outputs="o">
|
||||||
|
<enablement
|
||||||
|
type="ALL">
|
||||||
|
<checkOption
|
||||||
|
optionId="llvm.c_cpp.compiler.option.optimization.emit-llvm"
|
||||||
|
value="false">
|
||||||
|
</checkOption>
|
||||||
|
</enablement>
|
||||||
</outputType>
|
</outputType>
|
||||||
</tool>
|
</tool>
|
||||||
<tool
|
<tool
|
||||||
|
|
Loading…
Add table
Reference in a new issue