[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