@@ -167,16 +167,30 @@ ifneq ($(CFG_LLVM_CONFIG),)
167
167
endif
168
168
ifneq ($(CFG_LLVM_CONFIG ) ,)
169
169
CFG_LLVM_VERSION := $(shell $(CFG_LLVM_CONFIG ) --version)
170
- ifeq ($(CFG_LLVM_VERSION),2.8svn)
171
- $(info cfg : using LLVM version 2.8svn)
172
- WHERE := $(shell $(CFG_LLVM_CONFIG ) --libdir) /ocaml
173
- ifneq ($(shell test -e $(WHERE)/llvm.cma && echo ok),ok)
174
- CFG_LLVM_CONFIG := $(info cfg: LLVM ocaml bindings not found)
175
- endif
170
+ $(info cfg : found llvm-config at $(CFG_LLVM_CONFIG ) )
171
+ ifneq ($(findstring 2.8,$(CFG_LLVM_VERSION)),)
172
+ $(info cfg : using LLVM version $(CFG_LLVM_VERSION ) )
173
+ else ifneq ($(findstring 2.9,$(CFG_LLVM_VERSION)),)
174
+ $(info cfg : using LLVM version $(CFG_LLVM_VERSION ) )
176
175
else
177
176
CFG_LLVM_CONFIG :=
178
177
$(info cfg : incompatible LLVM version $(CFG_LLVM_VERSION ) , \
179
- expected 2.8svn)
178
+ expected 2.8)
179
+ endif
180
+ endif
181
+ ifneq ($(CFG_LLVM_CONFIG ) ,)
182
+ CFG_OCAML_LIBPATH := $(lastword \
183
+ $(shell ocamlc$(OPT ) -config | grep standard_library:) )
184
+ CFG_OCAML_LLVM := $(shell \
185
+ for path in $(shell $(CFG_LLVM_CONFIG ) --libdir) /ocaml \
186
+ $(CFG_OCAML_LIBPATH ) /llvm \
187
+ $(CFG_OCAML_LIBPATH ) /llvm-$(CFG_LLVM_VERSION ) ; do \
188
+ if test -e $${path}/llvm.cma; then echo $${path}; break; fi \
189
+ done)
190
+ ifneq ($(CFG_OCAML_LLVM),)
191
+ $(info cfg : found LLVM ocaml bindings in $(CFG_OCAML_LLVM ) )
192
+ else
193
+ CFG_LLVM_CONFIG := $(info cfg: LLVM ocaml bindings not found)
180
194
endif
181
195
endif
182
196
ifdef CFG_LLVM_CONFIG
@@ -185,13 +199,12 @@ ifdef CFG_LLVM_CONFIG
185
199
LLVM_NATIVE_LIBS := llvm.cmxa llvm_bitwriter.cmxa
186
200
LLVM_CLIBS := $(shell for c in `$(CFG_LLVM_CONFIG ) --ldflags --libs` \
187
201
-lllvm -lllvm_bitwriter; do echo -cclib && echo $$c; done | xargs echo)
188
- LLVM_INCS := -I boot/llvm -I $(WHERE )
202
+ LLVM_INCS := -I boot/llvm -I $(CFG_OCAML_LLVM )
189
203
LLVM_MLS := $(addprefix boot/llvm/, llabi.ml llasm.ml llfinal.ml \
190
204
lltrans.ml llemit.ml)
191
205
LLC := "$(shell $(CFG_LLVM_CONFIG ) --bindir) /llc"
192
206
CFG_LLC_CFLAGS := -march=x86
193
207
LLVM-DIS := "$(shell $(CFG_LLVM_CONFIG ) --bindir) /llvm-dis"
194
- $(info cfg : found llvm-config at $(CFG_LLVM_CONFIG ) )
195
208
else
196
209
VARIANT =x86
197
210
LLVM_CLIBS :=
0 commit comments