[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