[csw-maintainers] Proposal: direct binding for all the opencsw software stack

Dagobert Michelsen dam at opencsw.org
Sat Aug 25 17:40:59 CEST 2012


Hi Ben,

Am 25.08.2012 um 17:34 schrieb Ben Walton:
> Excerpts from Yann Rouillard's message of Sat Aug 25 11:10:57 -0400 2012:
> What about:
> 
> bwalton @ unstable10s : ~/opencsw/.buildsys/v2
> $ svn diff
> Index: gar.conf.mk
> ===================================================================
> --- gar.conf.mk (revision 19080)
> +++ gar.conf.mk (working copy)
> @@ -706,7 +706,7 @@
> CFLAGS   ?= $(strip $($(GARCOMPILER)_CC_FLAGS) $(_CATEGORY_CFLAGS)
> $(EXTRA_CFLAGS))
> CXXFLAGS ?= $(strip $($(GARCOMPILER)_CXX_FLAGS) $(_CATEGORY_CXXFLAGS)
> $(EXTRA_CXXFLAGS))
> CPPFLAGS ?= $(strip $($(GARCOMPILER)_CPP_FLAGS) $(_CATEGORY_CPPFLAGS)
> $(EXTRA_CPPFLAGS) $(INCLUDE_FLAGS))
> -LDFLAGS  ?= $(strip $($(GARCOMPILER)_LD_FLAGS) $(_CATEGORY_LDFLAGS)
> $(EXTRA_LDFLAGS) $(LINKER_FLAGS))
> +LDFLAGS  ?= $(strip $($(GARCOMPILER)_LD_FLAGS) $(_CATEGORY_LDFLAGS)
> $(EXTRA_LDFLAGS) $(LINKER_FLAGS) $(ifeq $(NO_LD_DIRECT),,-Bdirect))
> ASFLAGS  ?= $(strip $($(GARCOMPILER)_AS_FLAGS) $(_CATEGORY_ASFLAGS)
> $(EXTRA_ASFLAGS))
> OPTFLAGS ?= $(strip $($(GARCOMPILER)_CC_FLAGS) $(_CATEGORY_OPTFLAGS)
> $(EXTRA_OPTFLAGS))
> FFLAGS   ?= $(strip $($(GARCOMPILER)_FFLAGS) $(_CATEGORY_FFLAGS)
> $(EXTRA_FFLAGS))
> 
> That would allow a maintainer to set NO_LD_DIRECT in the recipe to
> skip that flag but for everything else it would be set.

I see two drawbacks here:
1. autoconf etc. could filter it as it is passed in the build chain
2. A magic variable is introduced

Therefore I suggest using LD_OPTIONS with
  LD_OPTIONS_DIRECT ?= -Bdirect
and
  LD_OPTIONS ?= $(strip $($(GARCOMPILER)_LD_OPTIONS) $(RUNPATH_LINKER_FLAGS) $(LD_OPTIONS_DIRECT) $(EXTRA_LD_OPTIONS) $(_CATEGORY_LD_OPTIONS))
with a possible override
  LD_OPTIONS_DIRECT =

Thoughts?


Best regards

  -- Dago


More information about the maintainers mailing list