[llvm-commits] [compiler-rt] r163412 - in /compiler-rt/trunk: Makefile make/lib_info.mk make/options.mk
Alexey Samsonov
samsonov at google.com
Sun Sep 9 00:28:50 PDT 2012
On Fri, Sep 7, 2012 at 11:57 PM, Daniel Dunbar <daniel at zuster.org> wrote:
> Author: ddunbar
> Date: Fri Sep 7 14:57:23 2012
> New Revision: 163412
>
> URL: http://llvm.org/viewvc/llvm-project?rev=163412&view=rev
> Log:
> build: Add support for building dylibs.
>
> Modified:
> compiler-rt/trunk/Makefile
> compiler-rt/trunk/make/lib_info.mk
> compiler-rt/trunk/make/options.mk
>
> Modified: compiler-rt/trunk/Makefile
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/Makefile?rev=163412&r1=163411&r2=163412&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/Makefile (original)
> +++ compiler-rt/trunk/Makefile Fri Sep 7 14:57:23 2012
> @@ -117,7 +117,7 @@
> $(call Set,Tmp.ObjPath,$(ProjObjRoot)/$(Tmp.Name))
>
> # Top-Level Platform Target
> -$(Tmp.Name):: $(Tmp.Configs:%=$(Tmp.ObjPath)/%/libcompiler_rt.a)
> +$(Tmp.Name):: $(Tmp.Configs:%=$(Tmp.Name)-%)
> .PHONY: $(Tmp.Name)
>
> clean::
> @@ -131,6 +131,13 @@
> define PerPlatformConfig_template
> $(call Set,Tmp.Config,$(1))
> $(call Set,Tmp.ObjPath,$(ProjObjRoot)/$(Tmp.Name)/$(Tmp.Config))
> +$(call Set,Tmp.SHARED_LIBRARY,$(strip \
> + $(call GetCNAVar,SHARED_LIBRARY,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> +
> +# Compute the library suffix.
> +$(if $(call streq,1,$(Tmp.SHARED_LIBRARY)),
> + $(call Set,Tmp.LibrarySuffix,dylib),
> + $(call Set,Tmp.LibrarySuffix,a))
>
> # Compute the archs to build, depending on whether this is a universal
> build or
> # not.
> @@ -142,8 +149,8 @@
> $(call
> VarOrDefault,$(Tmp.Key).Arch.$(Tmp.Config),$($(Tmp.Key).Arch))))
>
> # Copy or lipo to create the per-config library.
> -$(call
> Set,Tmp.Inputs,$(Tmp.ArchsToBuild:%=$(Tmp.ObjPath)/%/libcompiler_rt.a))
> -$(Tmp.ObjPath)/libcompiler_rt.a: $(Tmp.Inputs) $(Tmp.ObjPath)/.dir
> +$(call
> Set,Tmp.Inputs,$(Tmp.ArchsToBuild:%=$(Tmp.ObjPath)/%/libcompiler_rt.$(Tmp.LibrarySuffix)))
> +$(Tmp.ObjPath)/libcompiler_rt.$(Tmp.LibrarySuffix): $(Tmp.Inputs)
> $(Tmp.ObjPath)/.dir
> $(Summary) " FINAL-ARCHIVE: $(Tmp.Name)/$(Tmp.Config): $$@"
> -$(Verb) $(RM) $$@
> $(if $(call streq,1,$(words $(Tmp.ArchsToBuild))), \
> @@ -152,7 +159,7 @@
> .PRECIOUS: $(Tmp.ObjPath)/.dir
>
> # Per-Config Targets
> -$(Tmp.Name)-$(Tmp.Config):: $(Tmp.ObjPath)/libcompiler_rt.a
> +$(Tmp.Name)-$(Tmp.Config)::
> $(Tmp.ObjPath)/libcompiler_rt.$(Tmp.LibrarySuffix)
> .PHONY: $(Tmp.Name)-$(Tmp.Config)
>
> # Per-Config-Arch Libraries
> @@ -172,10 +179,21 @@
> $(call GetCNAVar,AR,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> $(call Set,Tmp.ARFLAGS,$(strip \
> $(call GetCNAVar,ARFLAGS,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> +$(call Set,Tmp.CC,$(strip \
> + $(call GetCNAVar,CC,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> +$(call Set,Tmp.LDFLAGS,$(strip \
> + $(call GetCNAVar,LDFLAGS,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> $(call Set,Tmp.RANLIB,$(strip \
> $(call GetCNAVar,RANLIB,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> $(call Set,Tmp.RANLIBFLAGS,$(strip \
> $(call GetCNAVar,RANLIBFLAGS,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> +$(call Set,Tmp.SHARED_LIBRARY,$(strip \
> + $(call GetCNAVar,SHARED_LIBRARY,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
> +
> +# Compute the library suffix.
> +$(if $(call streq,1,$(Tmp.SHARED_LIBRARY)),
> + $(call Set,Tmp.LibrarySuffix,dylib),
> + $(call Set,Tmp.LibrarySuffix,a))
>
> # Compute the object inputs for this library.
> $(call Set,Tmp.Inputs,\
> @@ -188,10 +206,14 @@
> -$(Verb) $(RM) $$@
> $(Verb) $(Tmp.AR) $(Tmp.ARFLAGS) $$@ $(Tmp.Inputs)
> $(Verb) $(Tmp.RANLIB) $(Tmp.RANLIBFLAGS) $$@
> +$(Tmp.ObjPath)/libcompiler_rt.dylib: $(Tmp.Inputs) $(Tmp.ObjPath)/.dir
> + $(Summary) " DYLIB: $(Tmp.Name)/$(Tmp.Config)/$(Tmp.Arch): $$@"
> + $(Verb) $(Tmp.CC) -arch $(Tmp.Arch) -dynamiclib -o $$@ \
> + $(Tmp.Inputs) $(Tmp.LDFLAGS)
> .PRECIOUS: $(Tmp.ObjPath)/.dir
>
> # Per-Config-Arch Targets
> -$(Tmp.Name)-$(Tmp.Config)-$(Tmp.Arch):: $(Tmp.ObjPath)/libcompiler_rt.a
> +$(Tmp.Name)-$(Tmp.Config)-$(Tmp.Arch)::
> $(Tmp.ObjPath)/libcompiler_rt.$(Tmp.LibrarySuffix)
> .PHONY: $(Tmp.Name)-$(Tmp.Config)-$(Tmp.Arch)
>
> # Per-Config-Arch-SubDir Objects
>
> Modified: compiler-rt/trunk/make/lib_info.mk
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/lib_info.mk?rev=163412&r1=163411&r2=163412&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/make/lib_info.mk (original)
> +++ compiler-rt/trunk/make/lib_info.mk Fri Sep 7 14:57:23 2012
> @@ -53,8 +53,7 @@
>
> # The names of all the available options.
> AvailableOptions := AR ARFLAGS \
> - CC CFLAGS FUNCTIONS OPTIMIZED \
> + CC CFLAGS LDFLAGS FUNCTIONS OPTIMIZED \
> RANLIB RANLIBFLAGS \
> - VISIBILITY_HIDDEN \
> - KERNEL_USE \
> - STRIP LIPO
> + VISIBILITY_HIDDEN KERNEL_USE \
> + SHARED_LIBRARY STRIP LIPO
>
> Modified: compiler-rt/trunk/make/options.mk
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/options.mk?rev=163412&r1=163411&r2=163412&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/make/options.mk (original)
> +++ compiler-rt/trunk/make/options.mk Fri Sep 7 14:57:23 2012
> @@ -23,11 +23,20 @@
> # default.
> VISIBILITY_HIDDEN := 0
>
> +# Whether the library is being built for kernel use.
> +KERNEL_USE := 0
> +
> +# Whether the library should be built as a shared object.
> +SHARED_LIBRARY := 0
> +
> # Miscellaneous tools.
>
> AR := ar
> # FIXME: Remove these pipes once ranlib errors are fixed.
> ARFLAGS := cru 2> /dev/null
> +
> +LDFLAGS :=
> +
> RANLIB := ranlib
> # FIXME: Remove these pipes once ranlib errors are fixed.
> RANLIBFLAGS := 2> /dev/null
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
We get the following build error on our Mac 10.6 bot:
<...>
DYLIB: clang_darwin/asan_osx_dynamic/i386:
/Users/buildbot/src/llvm-buildbot/slave/mac10.6/build/llvm-build/tools/clang/runtime/compiler-rt/clang_darwin/asan_osx_dynamic/i386/libcompiler_rt.dylib
DYLIB: clang_darwin/asan_osx_dynamic/x86_64:
/Users/buildbot/src/llvm-buildbot/slave/mac10.6/build/llvm-build/tools/clang/runtime/compiler-rt/clang_darwin/asan_osx_dynamic/x86_64/libcompiler_rt.dylib
ld: library not found for -lc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
--
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120909/592fe50e/attachment.html>
More information about the llvm-commits
mailing list