Hello,

 

I’m trying to compile GHDL with LLVM backend on Windows.

 

To do so, I started with an ready to use LLVM Windows installer package, but 
the package

doesn’t contain llvm-config.exe, so I switch to the do-it-self solution:

1.       Install CMake

2.       Download llvm-3.5

3.       Download clang-3.5 and integrate it into llvm-3.5

4.       Launch CMake

5.       Choose Configure and select VisualStudio 2013

6.       Set --prefix to C:\Tools\LLVM-3.5

7.       Write VisualStudio project files

8.       Start VS2013 and compile all targets.

9.       Run INSTALL target in VS to install LLVM to --prefix

 

I also tried to compile llvm-3.5 with MinGW64 => it reports syntax errors :(.

 

Now I tried to translate the console outputs from the Linux llvm compile flow 
into Windows compatible commands.

These are listed in my following PowerShell script.

https://github.com/Paebbels/ghdl/blob/paebbels/llvm/dist/llvm/compile.ps1

 

After an issue with llvm-config (see compile.ps1 for details), I got to the 
gnatlink.exe call.

The reported error is:

  Command: 'gnatmake.exe -v -o ghdl1-llvm -aI../../ -aI../../src/ortho/llvm 
-aI../../src/ortho -aI../../src -aI../../src/vhdl -aI../../src/psl 
-aI../../src/vhdl/translate -aI../../src/g

hdldrv -aI../../src/grt -aI../../src/ortho -aI../../src/ortho/llvm 
-gnaty3befhkmr -gnatwae -aO. -gnatf -gnat05 -g -gnata ortho_code_main -bargs -E 
-largs llvm-cbindings.o --LINK=clang++

-lLLVMTableGen -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc 
-lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMSystemZDisassembler 
-lLLVMSystemZCodeGen -lLLVMSystemZAsmParser -l

LLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter 
-lLLVMSparcDisassembler -lLLVMSparcCodeGen -lLLVMSparcAsmParser -lLLVMSparcDesc 
-lLLVMSparcInfo -lLLVMSparcAsmPrinter -lLLVMR60

0CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter 
-lLLVMPowerPCDisassembler -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser 
-lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPri

nter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter 
-lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter 
-lLLVMMipsDisassembler -lLLVMM

ipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo 
-lLLVMMipsAsmPrinter -lLLVMHexagonCodeGen -lLLVMHexagonAsmPrinter 
-lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMCppBackendCodeGe

n -lLLVMCppBackendInfo -lLLVMARMDisassembler -lLLVMARMCodeGen 
-lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter 
-lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAAr

ch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter 
-lLLVMAArch64Utils -lLLVMOption -lLLVMMCDisassembler -lLLVMProfileData 
-lLLVMInstrumentation -lLLVMLTO -lLLVMOb

jCARCOpts -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter 
-lLLVMDebugInfo -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMLineEditor -lLLVMMCAnalysis 
-lLLVMX86Disassembler -lLLVMX86AsmParser

-lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMObject 
-lLLVMMCParser -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT 
-lLLVMIRReader -lLLVMBitReader

-lLLVMAsmParser -lLLVMInterpreter -lLLVMExecutionEngine -lLLVMCodeGen 
-lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa 
-lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMCore

-lLLVMSupport '

 

GNATMAKE GPL 2015 (20150428-49)

Copyright (C) 1992-2015, Free Software Foundation, Inc.

  -> "ghdl1-llvm.exe" final executable

  "ortho_code_main.ali" being checked ...

  "llvm.ali" being checked ...

  "llvm-analysis.ali" being checked ...

  "llvm-bitwriter.ali" being checked ...

  "llvm-core.ali" being checked ...

[…]

  "psl-subsets.ali" being checked ...

  "canon_psl.ali" being checked ...

  "trans_analyzes.ali" being checked ...

  "iirs_walk.ali" being checked ...

End of compilation

  "ghdl1-llvm.exe" missing.

gnatbind -aI../../ -aI../../src/ortho/llvm -aI../../src/ortho -aI../../src 
-aI../../src/vhdl -aI../../src/psl -aI../../src/vhdl/translate 
-aI../../src/ghdldrv -aI../../src/grt -aI../../

src/ortho -aI../../src/ortho/llvm -aO. -E -x ortho_code_main.ali

gnatlink ortho_code_main.ali -o ghdl1-llvm.exe -g llvm-cbindings.o 
--LINK=clang++ -lLLVMTableGen -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen 
-lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAs

mPrinter -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser 
-lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter 
-lLLVMSparcDisassembler -lLLVMSparcCodeGen -lL

LVMSparcAsmParser -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMSparcAsmPrinter 
-lLLVMR600CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter 
-lLLVMPowerPCDisassembler -lLLVMPowerPCCodeG

en -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc -lLLVMPowerPCInfo 
-lLLVMPowerPCAsmPrinter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo 
-lLLVMNVPTXAsmPrinter -lLLVMMSP430CodeGen -lLLVM

MSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMMipsDisassembler 
-lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo 
-lLLVMMipsAsmPrinter -lLLVMHexagonCodeGen -

lLLVMHexagonAsmPrinter -lLLVMHexagonDesc -lLLVMHexagonInfo 
-lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMARMDisassembler 
-lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARM

Info -lLLVMARMAsmPrinter -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen 
-lLLVMAArch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info 
-lLLVMAArch64AsmPrinter -lLLVMAArch64Utils -lLLVMOptio

n -lLLVMMCDisassembler -lLLVMProfileData -lLLVMInstrumentation -lLLVMLTO 
-lLLVMObjCARCOpts -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter 
-lLLVMDebugInfo -lLLVMMCJIT -lLLVMRunti

meDyld -lLLVMLineEditor -lLLVMMCAnalysis -lLLVMX86Disassembler 
-lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter 
-lLLVMX86Desc -lLLVMObject -lLLVMMCParser -lLLVMX8

6Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT -lLLVMIRReader 
-lLLVMBitReader -lLLVMAsmParser -lLLVMInterpreter -lLLVMExecutionEngine 
-lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombin

e -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC 
-lLLVMCore -lLLVMSupport

clang++.exe: warning: argument unused during compilation: '-L.\'

clang++.exe: warning: argument unused during compilation: '-L.\'

clang++.exe: warning: argument unused during compilation: 
'-LC:/Tools/GNAT/2015/lib/gcc/i686-pc-mingw32/4.9.3/adalib/'

clang++.exe: error: unable to execute command: program not executable

clang++.exe: error: linker command failed with exit code 1 (use -v to see 
invocation)

gnatlink: error when calling C:\Tools\LLVM-3.5\bin\clang++.exe

gnatmake: *** link failed.

 

gnatmake.exe was already called with –v. I don’t know what program is not 
executable…

If anyone wants to test it, feel free to clone my ‘paebbels/llvm’ branch and 
ran ‘.\compile.ps1’

 

So maybe someone here has a solution or hint.

 

 

Regards

    Patrick

 

-----------------------------------

Wissenschaftliche Hilfskraft

 

Technische Universität Dresden

Fakultät Informatik

Institut für Technische Informatik

Lehrstuhl VLSI-Entwurfssysteme, Diagnostik und Architektur

01062 Dresden

Tel.:   +49 351 463-38451

Fax:    +49 351 463-38324

Raum:   APB-1020

E-Mail:  <mailto:patrick.lehm...@tu-dresden.de> patrick.lehm...@tu-dresden.de

WWW:     <http://vlsi-eda.inf.tu-dresden.de/> http://vlsi-eda.inf.tu-dresden.de

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to