Skip to content

Commit 35951c9

Browse files
committed
Support CFG_LLVM_ROOT since CMake-built LLVM has no llvm-config
1 parent e6d3308 commit 35951c9

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

configure

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,11 @@ putvar CFG_CPUTYPE
103103
msg "looking for build programs"
104104
probe_need CFG_GCC gcc
105105
probe_need CFG_GIT git
106-
probe_need CFG_LLVM_CONFIG llvm-config
107106
probe_need CFG_OCAMLC ocamlc
108107
probe_need CFG_PERL perl
109108
probe_need CFG_PYTHON python
110109

110+
probe CFG_LLVM_CONFIG llvm-config
111111
probe CFG_VALGRIND valgrind
112112
probe CFG_OCAMLOPT ocamlopt
113113
probe CFG_OCAMLC_OPT ocamlc.opt
@@ -116,7 +116,29 @@ probe CFG_FLEXLINK flexlink
116116
probe CFG_MAKEINFO makeinfo
117117
probe CFG_TEXI2PDF texi2pdf
118118

119-
CFG_LLVM_VERSION=$(llvm-config --version)
119+
if [ ! -z "$CFG_LLVM_ROOT" ]
120+
then
121+
CFG_LLVM_INCDIR="$CFG_LLVM_ROOT/include"
122+
CFG_LLVM_BINDIR="$CFG_LLVM_ROOT/bin"
123+
CFG_LLVM_LIBDIR="$CFG_LLVM_ROOT/lib"
124+
CFG_LLVM_CXXFLAGS="-I$CFG_LLVM_INCDIR"
125+
CFG_LLVM_LDFLAGS=""
126+
CFG_LLVM_LIBS=$(find "$CFG_LLVM_LIBDIR" -name '*.lib' -exec echo '\"{}\"' ';' | xargs echo)
127+
CFG_LLVM_VERSION=$("$CFG_LLVM_BINDIR/llc" --version | grep version | cut -d ' ' -f 5-)
128+
elif [ ! -z "$CFG_LLVM_VERSION" ]
129+
then
130+
CFG_LLVM_VERSION=$(llvm-config --version)
131+
CFG_LLVM_INCDIR=$(llvm-config --includedir)
132+
CFG_LLVM_BINDIR=$(llvm-config --bindir)
133+
CFG_LLVM_LIBDIR=$(llvm-config --libdir)
134+
CFG_LLVM_CXXFLAGS=$(llvm-config --cxxflags)
135+
CFG_LLVM_LDFLAGS=$(llvm-config --ldflags)
136+
CFG_LLVM_LIBS=$(llvm-config --libs)
137+
else
138+
err "either the \"CFG_LLVM_ROOT\" environment variable must be set, or a \
139+
\"llvm-version\" script must be present"
140+
fi
141+
120142
case $CFG_LLVM_VERSION in
121143
(3.0svn | 3.0)
122144
msg "found ok version of LLVM: $CFG_LLVM_VERSION"
@@ -125,12 +147,6 @@ case $CFG_LLVM_VERSION in
125147
err "bad LLVM version: $CFG_LLVM_VERSION, need >=3.0svn"
126148
;;
127149
esac
128-
CFG_LLVM_INCDIR=$(llvm-config --includedir)
129-
CFG_LLVM_BINDIR=$(llvm-config --bindir)
130-
CFG_LLVM_LIBDIR=$(llvm-config --libdir)
131-
CFG_LLVM_CXXFLAGS=$(llvm-config --cxxflags)
132-
CFG_LLVM_LDFLAGS=$(llvm-config --ldflags)
133-
CFG_LLVM_LIBS=$(llvm-config --libs)
134150

135151
putvar CFG_LLVM_INCDIR
136152
putvar CFG_LLVM_BINDIR

0 commit comments

Comments
 (0)