Skip to content

Commit c3afcab

Browse files
rilliangraydon
authored andcommitted
---
yaml --- r: 825 b: refs/heads/master c: 45056fc h: refs/heads/master i: 823: 6f66da4 v: v3
1 parent 3ce980a commit c3afcab

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: a7599a79681e98be65cd24bbeef771edc0534409
2+
refs/heads/master: 45056fc022a77c1b7c912ef05c7505d4ab415834

trunk/src/Makefile

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -167,16 +167,30 @@ ifneq ($(CFG_LLVM_CONFIG),)
167167
endif
168168
ifneq ($(CFG_LLVM_CONFIG),)
169169
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))
176175
else
177176
CFG_LLVM_CONFIG :=
178177
$(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)
180194
endif
181195
endif
182196
ifdef CFG_LLVM_CONFIG
@@ -185,13 +199,12 @@ ifdef CFG_LLVM_CONFIG
185199
LLVM_NATIVE_LIBS := llvm.cmxa llvm_bitwriter.cmxa
186200
LLVM_CLIBS := $(shell for c in `$(CFG_LLVM_CONFIG) --ldflags --libs` \
187201
-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)
189203
LLVM_MLS := $(addprefix boot/llvm/, llabi.ml llasm.ml llfinal.ml \
190204
lltrans.ml llemit.ml)
191205
LLC := "$(shell $(CFG_LLVM_CONFIG) --bindir)/llc"
192206
CFG_LLC_CFLAGS := -march=x86
193207
LLVM-DIS := "$(shell $(CFG_LLVM_CONFIG) --bindir)/llvm-dis"
194-
$(info cfg: found llvm-config at $(CFG_LLVM_CONFIG))
195208
else
196209
VARIANT=x86
197210
LLVM_CLIBS :=

0 commit comments

Comments
 (0)