[Buildroot] [PATCH v2 1/2] pcsc-lite: new package
Arnout Vandecappelle
arnout at mind.be
Thu Sep 20 09:27:13 UTC 2012
On 09/20/12 08:10, Waldemar.Rymarkiewicz at tieto.com wrote:
>> >Why when udev is available you don't do need libusb? Also, if udev is
>> >available, you need to add it to the list of dependencies.
> This is how pcsc-lite ./configure works.
>
> Firstly, libudev and libusb can't be used together. That means if you --enable-libusb you have to --disable-libudev (by default is enabled) explicitly.
>
> Secondly, ./configure gives priority to libudev to be used if found, otherwise it searches for libusb.
>
> Finally, Neither libusb nor libudev can be found then no usb devices are used (serial only). Then --disable-libudev --disable-libusb will still compile.
In that case, it should be:
if UDEV=y
--enable-libudev --disable-libusb
DEPS += udev
else
if LIBUSB=y
--enable-libusb --disable-libudev
DEPS += libusb
else
--disable-libusb --disable-libudev
endif
endif
This gives buildroot complete control over the process. We generally want
explicit --enable and --disable options, to avoid accidents with forgotten
dependencies (they would mean that the compilation result is dependent on
the order in which things are compiled, and we want to avoid that at all
cost).
> The only concern I have now it that user has to know this dependencies and select libusb or libudev explicitly. So wandering if not to require libusb or libudev in this package. What's your opinion?
udev _has_ to be selected explicitly - it's consequences are too far-reaching to allow
selecting it behind the scenes, IMHO.
For libusb, you could add a config option in PCSC to force enabling of
libusb. Make that option 'depends on !BR2_PACKAGE_UDEV' because it isn't
needed if udev exists.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list