Fix a parallel make race condition by swapping the order of -I directories.

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
This commit is contained in:
Bob Wilson 2009-03-06 00:00:58 +00:00
parent ef0ff140a7
commit 46c95bbe06

View File

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