[llvm-commits] [llvm] r143662 - /llvm/trunk/Makefile.rules
Sebastian Pop
spop at codeaurora.org
Thu Feb 16 19:07:28 PST 2012
Hi Daniel,
On Thu, Nov 3, 2011 at 5:46 PM, Daniel Dunbar <daniel at zuster.org> wrote:
> Author: ddunbar
> Date: Thu Nov 3 17:46:21 2011
> New Revision: 143662
>
> URL: http://llvm.org/viewvc/llvm-project?rev=143662&view=rev
> Log:
> build/Make: Integrate llvm-build into Makefiles.
> - Basically, we coordinate with llvm-build to create a Makefile fragment we can
> easily use. For now, nothing is wired in except the support to automatically
> regenerate this file when necessary.
>
> Modified:
> llvm/trunk/Makefile.rules
>
> Modified: llvm/trunk/Makefile.rules
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=143662&r1=143661&r2=143662&view=diff
> ==============================================================================
> --- llvm/trunk/Makefile.rules (original)
> +++ llvm/trunk/Makefile.rules Thu Nov 3 17:46:21 2011
> @@ -57,6 +57,54 @@
>
> $(UserTargets)::
>
> +#------------------------------------------------------------------------
> +# LLVMBuild Integration
> +#------------------------------------------------------------------------
> +#
> +# We use llvm-build to generate all the data required by the Makefile based
> +# build system in one swoop:
> +#
> +# - We generate a file (a Makefile fragment) in the object root which contains
> +# all the definitions that are required by Makefiles across the entire
> +# project.
> +#
> +# - We generate the library table used by llvm-config.
> +#
> +# - We generate the dependencies for the Makefile fragment, so that we will
> +# automatically reconfigure outselves.
> +
> +# The path to the llvm-build tool itself.
> +LLVMBuildTool := $(PROJ_SRC_ROOT)/utils/llvm-build/llvm-build
This line most likely should be:
LLVMBuildTool := $(LLVM_SRC_ROOT)/utils/llvm-build/llvm-build
otherwise projects like Polly would fail to find llvm-build in their
utils subdir: i.e., llvm/tools/polly/utils/llvm-build/llvm-build
With the attached patch polly configures and builds again properly.
Ok to commit?
Thanks,
Sebastian
> +
> +# The files we are going to generate using llvm-build.
> +LLVMBuildMakeFrag := $(PROJ_OBJ_ROOT)/Makefile.llvmbuild
> +LLVMConfigLibraryDependenciesInc := \
> + $(PROJ_OBJ_ROOT)/tools/llvm-config/LibraryDependencies.inc
> +
> +# The rule to create the LLVMBuild Makefile fragment as well as the llvm-config
> +# library table.
> +#
> +# Note that this target gets its real dependencies generated for us by
> +# llvm-build.
> +$(LLVMBuildMakeFrag):
> + $(EchoCmd) Constructing LLVMBuild project information. ; \
> + $(LLVMBuildTool) \
> + --write-library-table $(LLVMConfigLibraryDependenciesInc) \
> + --write-make-fragment $(LLVMBuildMakeFrag)
> +
> +# Include the generated Makefile fragment.
> +#
> +# We currently only include the dependencies for the fragment itself if we are
> +# at the top-level. Otherwise, recursive invocations would ends up doing
> +# substantially more redundant stat'ing.
> +#
> +# This means that we won't properly regenerate things for developers used to
> +# building from a subdirectory, but that is always somewhat unreliable.
> +ifeq ($(LEVEL),.)
> +LLVMBUILD_INCLUDE_DEPENDENCIES := 1
> +endif
> +-include $(LLVMBuildMakeFrag)
> +
> ################################################################################
> # PRECONDITIONS: that which must be built/checked first
> ################################################################################
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
--
Qualcomm Innovation Center, Inc is a member of Code Aurora Forum
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-llvm-build-and-Makefile.rules-are-in-the-LLVM-source.patch
Type: text/x-diff
Size: 1202 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120216/d9d70722/attachment.patch>
More information about the llvm-commits
mailing list