Fix a parallel make race condition by swapping the order of -I directories.
authorBob Wilson <bob.wilson@apple.com>
Fri, 6 Mar 2009 00:00:58 +0000 (00:00 +0000)
committerBob Wilson <bob.wilson@apple.com>
Fri, 6 Mar 2009 00:00:58 +0000 (00:00 +0000)
The .cmi files are generated in $(ObjDir) and then copied to $(OcamlDir).
The ocamldep output references the .cmi files in $(ObjDir), so make kicks
off a dependent compile as soon as the local copy is generated.  If the
copy to $(OcamlDir) is not complete at that point, the compiler will read
the partially copied file and complain about a "Corrupted compiled
interface".  Searching $(ObjDir) first avoids this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66217 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/ocaml/Makefile.ocaml

index 9ca9fb742a9dc3ce2e032e7f8ccbd545f70df6b4..d98a489f7c424b38817eab512a25725aba57460d 100644 (file)
@@ -37,7 +37,7 @@ UsedLibNames = $(shell $(LLVM_CONFIG) --libnames $(UsedComponents))
 endif
 
 # Tools
-OCAMLCFLAGS += -I $(OcamlDir) -I $(ObjDir)
+OCAMLCFLAGS += -I $(ObjDir) -I $(OcamlDir)
 ifneq ($(ObjectsO),)
 OCAMLAFLAGS += $(patsubst %,-cclib %, \
                  $(filter-out -L$(LibDir),-l$(LIBRARYNAME) \
@@ -297,7 +297,7 @@ endif
 
 $(ObjDir)/$(LIBRARYNAME).odoc: $(ObjectsCMI)
        $(Echo) "Documenting $(notdir $@)"
-       $(Verb) $(OCAMLDOC) -I $(OcamlDir) -I $(ObjDir) -dump $@ $(OcamlHeaders)
+       $(Verb) $(OCAMLDOC) -I $(ObjDir) -I $(OcamlDir) -dump $@ $(OcamlHeaders)
 
 ocamldoc: $(ObjDir)/$(LIBRARYNAME).odoc