mpv: Update from 0.27.1 to 0.27.2
[termux-packages] / packages / libllvm / llvm-config.in
CommitLineData
a8abc4a6
VB
1#!/bin/sh
2show_help () {
3echo "usage: llvm-config <OPTION>... [<COMPONENT>...]
4
5Get various configuration information needed to compile programs which use
6LLVM. Typically called from 'configure' scripts. Examples:
7 llvm-config --cxxflags
8 llvm-config --ldflags
9 llvm-config --libs engine bcreader scalaropts
10
11Options:
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.
38Typical components:
39 all All LLVM libraries (default).
40 engine Either a native JIT or a bitcode interpreter."
41}
42
43arch=@TERMUX_ARCH@
44version=@_PKG_MAJOR_VERSION@
45prefix=@TERMUX_PREFIX@
46has_rtti=NO
47CPPFLAGS="-I${prefix}/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
48CFLAGS="${CPPFLAGS} -Os -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers"
49CFLAGS="${CFLAGS} -pedantic -Wno-long-long -Wdelete-non-virtual-dtor -Werror=date-time -ffunction-sections"
50CFLAGS="${CFLAGS} -fdata-sections -DNDEBUG"
51CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -Wcast-qual -Wnon-virtual-dtor -std=c++11 -fno-exceptions"
52if [ "$has_rtti" != "YES" ]; then CXXFLAGS="$CXXFLAGS -fno-rtti"; fi
53LDFLAGS="-L${prefix}/lib"
54LIBFILE="${prefix}/lib/libLLVM-$version.so"
55
56show_components () {
57if [ "$arch" == "x86_64" -o "$arch" == "i686" ]; then arch="x86"; fi
58components="all all-targets analysis $arch ${arch}asmparser ${arch}asmprinter ${arch}codegen ${arch}desc"
59components="$components ${arch}disassembler ${arch}info asmparser asmprinter bitreader bitwriter codegen"
60components="$components core coroutines coverage debuginfocodeview debuginfodwarf debuginfomsf debuginfopdb"
61components="$components demangle engine executionengine globalisel instcombine instrumentation interpreter"
62components="$components ipo irreader libdriver lineeditor linker lto mc mcdisassembler mcjit mcparser"
63components="$components mirparser native nativecodegen objcarcopts object objectyaml option orcjit passes"
64components="$components profiledata runtimedyld scalaropts selectiondag support symbolize tablegen target"
65components="$components transformutils vectorize"
66if [ "$arch" != "arm" ]; then components="$components ${arch}utils"; fi
67echo "$components"
68}
69
70handle_args () {
71 case "${1##--}" in
72 version) echo "$version";;
73 prefix) echo "$prefix";;
74 src-root) echo "@TERMUX_PKG_SRCDIR@";;
75 obj-root) echo "$prefix";;
76 bindir) echo "$prefix/bin";;
77 includedir) echo "$prefix/include";;
78 libdir) echo "$prefix/lib";;
79 cppflags) echo "$CPPFLAGS";;
80 cflags) echo "$CFLAGS";;
81 cxxflags) echo "$CXXFLAGS";;
82 ldflags) echo "$LDFLAGS";;
83 system-libs) echo "-lc -ldl -lcurses -lz -lm";;
84 libs) echo "-l$LIBFILE";;
85 libnames) echo "libLLVM-$version.so";;
86 libfiles) echo "$LIBFILE";;
87 components) show_components;;
88 targets-built) echo "@LLVM_TARGET_ARCH@";;
89 host-target) echo "@LLVM_DEFAULT_TARGET_TRIPLE@";;
90 build-mode) echo "Release";;
91 assertion-mode) echo "OFF";;
92 build-system) echo "cmake";;
93 has-rtti) echo "$has_rtti";;
94 has-global-isel) echo "OFF";;
95 shared-mode) echo "shared";;
96 cmakedir) echo "$prefix/lib/cmake/llvm";;
97 # don't know what these do
98 link-shared) ;;
99 link-static) ;;
100 *) show_help >&2;;
101 esac
102}
103
104for arg in $@; do handle_args $arg; done
105