chiark / gitweb /
debianutils: Update from 4.8.3 to 4.8.4
[termux-packages] / packages / libllvm / llvm-config.in
1 #!/bin/sh
2 show_help () {
3 echo "usage: llvm-config <OPTION>... [<COMPONENT>...]
4
5 Get various configuration information needed to compile programs which use
6 LLVM.  Typically called from 'configure' scripts.  Examples:
7   llvm-config --cxxflags
8   llvm-config --ldflags
9   llvm-config --libs engine bcreader scalaropts
10
11 Options:
12   --version         Print LLVM version.
13   --prefix          Print the installation prefix.
14   --src-root        Print the source root LLVM was built from.
15   --obj-root        Print the object root used to build LLVM.
16   --bindir          Directory containing LLVM executables.
17   --includedir      Directory containing LLVM headers.
18   --libdir          Directory containing LLVM libraries.
19   --cppflags        C preprocessor flags for files that include LLVM headers.
20   --cflags          C compiler flags for files that include LLVM headers.
21   --cxxflags        C++ compiler flags for files that include LLVM headers.
22   --ldflags         Print Linker flags.
23   --system-libs     System Libraries needed to link against LLVM components.
24   --libs            Libraries needed to link against LLVM components.
25   --libnames        Bare library names for in-tree builds.
26   --libfiles        Fully qualified library filenames for makefile depends.
27   --components      List of all possible components.
28   --targets-built   List of all targets currently built.
29   --host-target     Target triple used to configure LLVM.
30   --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).
31   --assertion-mode  Print assertion mode of LLVM tree (ON or OFF).
32   --build-system    Print the build system used to build LLVM (always cmake).
33   --has-rtti        Print whether or not LLVM was built with rtti (YES or NO).
34   --has-global-isel Print whether or not LLVM was built with global-isel support (YES or NO).
35   --shared-mode     Print how the provided components can be collectively linked (\`shared\` or \`static\`).
36   --link-shared     Link the components as shared libraries.
37   --link-static     Link the component libraries statically.                                                                                                                                 
38 Typical components:                                                                                                                                                                          
39   all               All LLVM libraries (default).                                                                                                                                            
40   engine            Either a native JIT or a bitcode interpreter."
41 }
42
43 arch=@TERMUX_ARCH@
44 version=@TERMUX_PKG_VERSION@
45 prefix=@TERMUX_PREFIX@
46 has_rtti=NO
47 CPPFLAGS="-I${prefix}/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
48 CFLAGS="${CPPFLAGS} ${CFLAGS} -fPIC -Werror=date-time -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic \
49 -Wno-long-long -Wcovered-switch-default -Wdelete-non-virtual-dtor -Wstring-conversion \
50 -ffunction-sections -fdata-sections -Os -DNDEBUG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS \
51 -D__STDC_LIMIT_MACROS"
52 CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -Wcast-qual -Wnon-virtual-dtor -std=c++11 -fno-exceptions"
53 if [ "$has_rtti" != "YES" ]; then CXXFLAGS="$CXXFLAGS -fno-rtti"; fi
54 LDFLAGS="-L${prefix}/lib"
55 LIBFILE="${prefix}/lib/libLLVM-$version.so"
56
57 components="aarch64 aarch64asmparser aarch64asmprinter aarch64codegen aarch64desc \
58 aarch64disassembler aarch64info aarch64utils all all-targets amdgpu amdgpuasmparser amdgpuasmprinter \
59 amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgpuutils analysis arm armasmparser armasmprinter \
60 armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter binaryformat bitreader bitwriter \
61 bpf bpfasmparser bpfasmprinter bpfcodegen bpfdesc bpfdisassembler bpfinfo codegen core coroutines coverage \
62 debuginfocodeview debuginfodwarf debuginfomsf debuginfopdb demangle dlltooldriver engine executionengine \
63 fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo \
64 instcombine instrumentation interpreter ipo irreader lanai lanaiasmparser lanaiasmprinter lanaicodegen \
65 lanaidesc lanaidisassembler lanaiinfo libdriver lineeditor linker lto mc mcdisassembler mcjit mcparser \
66 mips mipsasmparser mipsasmprinter mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 \
67 msp430asmprinter msp430codegen msp430desc msp430info native nativecodegen nvptx nvptxasmprinter \
68 nvptxcodegen nvptxdesc nvptxinfo objcarcopts object objectyaml option orcjit passes powerpc powerpcasmparser \
69 powerpcasmprinter powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata runtimedyld scalaropts \
70 selectiondag sparc sparcasmparser sparcasmprinter sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize \
71 systemz systemzasmparser systemzasmprinter systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target \
72 transformutils vectorize webassembly webassemblyasmprinter webassemblycodegen webassemblydesc webassemblydisassembler \
73 webassemblyinfo windowsmanifest x86 x86asmparser x86asmprinter x86codegen x86desc x86disassembler x86info x86utils xcore \
74 xcoreasmprinter xcorecodegen xcoredesc xcoredisassembler xcoreinfo"
75 static_libs="-lLLVMLTO -lLLVMPasses -lLLVMObjCARCOpts -lLLVMMIRParser -lLLVMSymbolize -lLLVMDebugInfoPDB -lLLVMDebugInfoDWARF \
76 -lLLVMCoverage -lLLVMTableGen -lLLVMDlltoolDriver -lLLVMOrcJIT -lLLVMWebAssemblyDisassembler -lLLVMWebAssemblyCodeGen \
77 -lLLVMWebAssemblyDesc -lLLVMWebAssemblyInfo -lLLVMWebAssemblyAsmPrinter -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen \
78 -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser \
79 -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter -lLLVMSparcDisassembler -lLLVMSparcCodeGen -lLLVMSparcAsmParser \
80 -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMSparcAsmPrinter -lLLVMPowerPCDisassembler -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser \
81 -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter \
82 -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser \
83 -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter -lLLVMLanaiDisassembler -lLLVMLanaiCodeGen -lLLVMLanaiAsmParser -lLLVMLanaiDesc \
84 -lLLVMLanaiAsmPrinter -lLLVMLanaiInfo -lLLVMHexagonDisassembler -lLLVMHexagonCodeGen -lLLVMHexagonAsmParser -lLLVMHexagonDesc -lLLVMHexagonInfo \
85 -lLLVMBPFDisassembler -lLLVMBPFCodeGen -lLLVMBPFAsmParser -lLLVMBPFDesc -lLLVMBPFInfo -lLLVMBPFAsmPrinter -lLLVMARMDisassembler \
86 -lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMARMUtils -lLLVMAMDGPUDisassembler \
87 -lLLVMAMDGPUCodeGen -lLLVMAMDGPUAsmParser -lLLVMAMDGPUDesc -lLLVMAMDGPUInfo -lLLVMAMDGPUAsmPrinter -lLLVMAMDGPUUtils \
88 -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter \
89 -lLLVMAArch64Utils -lLLVMObjectYAML -lLLVMLibDriver -lLLVMOption -lLLVMWindowsManifest -lLLVMFuzzMutate -lLLVMX86Disassembler \
90 -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMDebugInfoCodeView -lLLVMDebugInfoMSF \
91 -lLLVMX86Desc -lLLVMMCDisassembler -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMMCJIT -lLLVMLineEditor -lLLVMInterpreter \
92 -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMCodeGen -lLLVMTarget -lLLVMCoroutines -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize \
93 -lLLVMScalarOpts -lLLVMLinker -lLLVMIRReader -lLLVMAsmParser -lLLVMInstCombine -lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis \
94 -lLLVMProfileData -lLLVMObject -lLLVMMCParser -lLLVMMC -lLLVMBitReader -lLLVMCore -lLLVMBinaryFormat -lLLVMSupport -lLLVMDemangle"
95 shared_libs="-lLLVM-$version"
96 libs=$shared_libs
97 handle_args () {
98         case "${1##--}" in
99                 link-shared) libs=$shared_libs ;;
100                 link-static) libs=$static_libs ;;
101                 version) echo "$version\n";;
102                 prefix) echo "$prefix";;
103                 src-root) echo "@TERMUX_PKG_SRCDIR@";;
104                 obj-root) echo "$prefix";;
105                 bindir) echo "$prefix/bin";;
106                 includedir) echo "$prefix/include";;
107                 libdir) echo "$prefix/lib";;
108                 cppflags) echo "$CPPFLAGS";;
109                 cflags) echo "$CFLAGS";;
110                 cxxflags) echo "$CXXFLAGS";;
111                 ldflags) echo "$LDFLAGS";;
112                 system-libs) echo "-lc -ldl -lcurses -lz -lm";;
113                 libs) echo "$libs";;
114                 libnames) echo "libLLVM-$version.so";;
115                 libfiles) echo "$LIBFILE";;
116                 components) echo "$components";;
117                 targets-built) echo "AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore WebAssembly";;
118                 host-target) echo "@LLVM_DEFAULT_TARGET_TRIPLE@";;
119                 build-mode) echo "Release";;
120                 assertion-mode) echo "OFF";;
121                 build-system) echo "cmake";;
122                 has-rtti) echo "$has_rtti";;
123                 has-global-isel) echo "OFF";;
124                 shared-mode) echo "shared";;
125                 cmakedir) echo "$prefix/lib/cmake/llvm";;
126                 *) show_help >&2;;
127         esac
128 }
129
130 for arg in $@; do handle_args $arg; done
131