[llvm-commits] [PATCH][EXPERIMENTAL] Building LLVMgold.dll

NAKAMURA Takumi geek4civic at gmail.com
Mon Sep 13 20:34:17 PDT 2010


Eric,

Thank you to give comments.
I apologize to disclose a patch without any comments.
I will post one again when I resolved dependency issue.

> -  # No support for dynamic libraries on windows targets.
> -  ifneq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW))
>
> Do we now support building libLTO and gold as static libraries or do dynamic libraries now work?

We can build libLTO.a, LTO.dll and LLVMgold.dll(with binutils),
both ENABLE_SHARED=1 and 0 with this patch.
libLLVMgold.a is not built on ToT.

I don't know yet whether DLLs would work or not.

>     # gold only builds if binutils is around.  It requires "lto" to build before
>     # it so it is added to DIRS.
>     ifdef BINUTILS_INCDIR
> -      DIRS += lto gold
> +      DIRS += lto
> +      PARALLEL_DIRS += gold
>
> Either the code is wrong or the comment is wrong :)

I believe code might be right. Either lto or gold can be added to parallel set.
But I know it is not needed with this patch and I will split away it at next.

> OK, I see how you're getting around the dynamic library thing:
(see below)
> Eeew.  Can you give an explanation? There has to be a better way of doing this.

> -LIBS += -llto

I didn't know who creates liblto.(a|so|dylib). Is it needed?

> +ifneq (,$(filter $(HOST_OS), Cygwin MingW))
> +  ifneq ($(ENABLE_SHARED),1)
> +    LINK_COMPONENTS += $(TARGETS_TO_BUILD) ipo scalaropts linker bitreader bitwriter
> +  endif
> +endif

On ENABLE_SHARED=0, LLVMgold.dll should be monolithic and independent
from LTO.dll.
Since llvm-config does not handle dependency of libLTO, I had to add
some components
from tool/lto/Makefile.

"How huge we are!"
15047789 Sep 10 17:57 LLVMgold.dll
15034550 Sep 10 17:57 LTO.dll

> Anyhow, I think the patch needs some explanation of what you're trying to do and why.

Ok I see. Please review again when next patch comes!

thanks...Takumi




More information about the llvm-commits mailing list