[Buildroot] [RFC PATCH v2 1/4] package/dhcp: bump version to 4.3.3

Ricardo Martincoski ricardo.martincoski at gmail.com
Sat Jan 16 01:32:29 UTC 2016


Hi Doug,

On Fri, Jan 15, 2016 at 01:31 PM, rdkehn at yahoo.com wrote:
> Hi Richardo, Arnout, All,
> 
> On Thu, Jan 14, 2016 at 10:17:28PM -0200, Ricardo Martincoski wrote:
>> Hi Doug and Arnout,
>> 
>> On Sun, 10 Jan 2016 15:25:06 -0600, Doug Kehn wrote:
>> > The embedded bind configure is called as part of dhcp make instead of
>> > dhcp configure. dhcp make environment is expanded to ensure bind
>> > configure has the proper information.
>> Maybe the bind configure could be called in a post configure hook.
>> This way, bind would be configured in the configure step too.
>> 
>> [snip]
>> > +DHCP_MAKE=$(MAKE1)
>> > +
>> > +DHCP_MAKE_ENV = \
>> > +	GNU_TARGET_NAME=$(GNU_TARGET_NAME) \
>> For at least one external toolchain, the bind configure can't find the
>> target compiler because it is expecting arm-buildroot-linux-gnueabi-gcc
>> while the binary name is arm-none-linux-gnueabi-gcc.
>> Maybe setting CC here would fix this.
>> > +	GNU_HOST_NAME=$(GNU_HOST_NAME) \
>> > +	AR="$(TARGET_AR)" \
>> > +	BUILD_CC="$(HOSTCC)"
> 
> Did you try adding CC to see if it fixed the external toolchain
> issue? I also wonder if adding $(TARGET_CONFIGURE_OPTS) to MAKE_ENV
> is warranted?
> 
I just tested adding only CC="$(TARGET_CC)" copied from TARGET_CONFIGURE_OPTS
and it solves the external toolchain issue.
Only a few autotools-packages (smcroute, fcgiwrap, libpam-radius-auth) add
$(TARGET_CONFIGURE_OPTS) to MAKE_ENV. All three have comments to justify the
use, so I suppose it is not the best practice.

>> 
>> If a hook is used, TARGET_CONFIGURE_OPTS can provide most of variables needed,
>> fixing the issue with some external toolchains.
>> Something like this:
>> DHCP_BIND_CONF_ENV = \
>> 	$(TARGET_CONFIGURE_OPTS) \
>> 	GNU_TARGET_NAME=$(GNU_TARGET_NAME) \
>> 	GNU_HOST_NAME=$(GNU_HOST_NAME) \
>> 	BUILD_CC="$(HOSTCC)"
>> 
>> define DHCP_CONFIGURE_BIND
>> 	$(DHCP_BIND_CONF_ENV) $(DHCP_MAKE) -C $(@D)/bind bind1
>> endef
>> DHCP_POST_CONFIGURE_HOOKS += DHCP_CONFIGURE_BIND
>> > +
>> > +define DHCP_EXTRACT_BIND
>> > +	cd $(@D)/bind; tar -xvf bind.tar.gz
>> > +endef
>> > +DHCP_POST_EXTRACT_HOOKS += DHCP_EXTRACT_BIND
>> 
>> What do you think about this?
> 
> Did the configure hook work for you?
> 
Yes.
Also, in a rapid test, the hook seems to work fine after removing
TARGET_CONFIGURE_OPTS and adding back AR and CC.

> At the end of the day, configure hook vs make env is a matter
> preference for the Buildroot maintainers; as long as it works... I
> have not yet tried the configure hook; but, I will. My only
> reservation with the configure hook is that it must know the exact
> target to make to configure bind as apposed to just ensuring the
> environment has the proper values for cross compiling and letting
> the Buildroot infra take care of the rest. 
> 
Taking your reservation into account, I agree make env seems a better choice.
Thank you for your explanation.

Regards,
Ricardo


More information about the buildroot mailing list