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

Eric Christopher echristo at apple.com
Mon Sep 13 11:44:30 PDT 2010


On Sep 13, 2010, at 7:19 AM, NAKAMURA Takumi wrote:

> Good evening, guys!
> 
> This patch enables building LTO.dll, libLTO.a and LLVMgold.dll on cygming.
> I know it is still incomplete, and I would say it is "experimental".
> 
> Known issue:
> 
>  - dependency between libs would be incomplete.
>  - I don't know how to test functionality.

Some review:

-  # 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?

     # 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 :)

OK, I see how you're getting around the dynamic library thing:

 LINK_COMPONENTS := support system
-LIBS += -llto
+
+ifneq (,$(filter $(HOST_OS), Cygwin MingW))
+  ifneq ($(ENABLE_SHARED),1)
+    LINK_COMPONENTS += $(TARGETS_TO_BUILD) ipo scalaropts linker bitreader bitwriter
+  endif
+endif

Eeew.  Can you give an explanation? There has to be a better way of doing this.

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

-eric



More information about the llvm-commits mailing list