Re: [PATCH v2] Makefile.llvm: simplify LLVM build

From: Nick Desaulniers
Date: Mon Mar 30 2020 - 14:58:35 EST


On Sat, Mar 28, 2020 at 6:57 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> I also had planned to provide a single switch to change
> all the tool defaults to LLVM.
>
> So, supporting 'LLVM' is fine, but I'd rather want this
> look symmetrical, and easy to understand.
>
> CPP = $(CC) -E
> ifneq ($(LLVM),)

Yes, a simple if statement is much simpler than the overly complex patch I had.

> CC = $(LLVM_DIR)clang

Do we need $LLVM_DIR? Shouldn't users just have that in their $PATH?

Also, I think we need to support suffixed binaries, as debian
distributes these with version suffixes, as Nathan points out. Or do
the debian packages install suffixed binaries AND path versioned
non-suffixed binaries?

> LD = $(LLVM_DIR)ld.lld
> AR = $(LLVM_DIR)llvm-ar
> NM = $(LLVM_DIR)llvm-nm
> OBJCOPY = $(LLVM_DIR)llvm-objcopy
> OBJDUMP = $(LLVM_DIR)llvm-objdump
> READELF = $(LLVM_DIR)llvm-readelf
> OBJSIZE = $(LLVM_DIR)llvm-size
> STRIP = $(LLVM_DIR)llvm-strip
> else
> CC = $(CROSS_COMPILE)gcc
> LD = $(CROSS_COMPILE)ld
> AR = $(CROSS_COMPILE)ar
> NM = $(CROSS_COMPILE)nm
> OBJCOPY = $(CROSS_COMPILE)objcopy
> OBJDUMP = $(CROSS_COMPILE)objdump
> READELF = $(CROSS_COMPILE)readelf
> OBJSIZE = $(CROSS_COMPILE)size
> STRIP = $(CROSS_COMPILE)strip
> endif
>
>
>
> I attached two patches.
> Comments appreciated.

I'm not sure the second one that recommends changing cc/c++ is the way
to go; I think it might harm hermeticity.

> If you are so addicted to LLVM

Lol, maybe?
--
Thanks,
~Nick Desaulniers