[haiku-commits] Re: r40739 - haiku/trunk/data/develop

  • From: Alexander von Gluck <kallisti5@xxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 28 Feb 2011 13:35:32 -0600

On Mon, 28 Feb 2011 20:17:55 +0100 (CET)
zharik@xxxxxx wrote:
> Author: siarzhuk
> Date: 2011-02-28 20:17:55 +0100 (Mon, 28 Feb 2011)
> New Revision: 40739
> Changeset: http://dev.haiku-os.org/changeset/40739
> 
> Modified:
>    haiku/trunk/data/develop/makefile-engine
> Log:
> A workaround for compatibility problem, originated from r40300
> changes. Proposed in it "LD ?= gcc" assignment doesn't works both
> with existing makefiles and with current version of the makefile
> template. User must define LD in it's makefile to let them work. That
> is bad.
> 
> This workaround uses $origin function to check for redefinition of LD
> variable in user's makefile.
> 
> 
> 
> Modified: haiku/trunk/data/develop/makefile-engine
> ===================================================================
> --- haiku/trunk/data/develop/makefile-engine  2011-02-28
> 18:36:07 UTC (rev 40738) +++
> haiku/trunk/data/develop/makefile-engine      2011-02-28 19:17:55
> UTC (rev 40739) @@ -79,7 +79,9 @@ endif
>  
>  #    set the linker and linker flags
> -     LD                      ?= gcc
> +ifeq ($(origin LD), default)
> +     LD                      := gcc
> +endif
>       LDFLAGS         += $(DEBUG)
>  
>  #    SETTING: set linker flags for each binary type
> 
> 

The LD ?= should only define LD as gcc if it is not set within
the makefile (which it isn't in the provided makefile engine example),
but if that breaks compatibility in someway that the $origin doesn't...
it's ok by me :)

Thanks!
  -- Alex

Other related posts: