[sane-devel] minor: libusb not recognized

Enrico Weigelt weigelt@metux.de
Tue, 30 Mar 2004 19:41:46 +0000

* Henning Meier-Geinitz <henning@meier-geinitz.de> [2004-03-30 19:03:58 +0200]:

> > > libusb and it's header file must be present when configure is run.
> > > Usually the missing header file causes that trouble.
> > yes, but that's very confusing.
> Really? I think that's the default behaviour for optional libraries.
it is generally a bad idea if the user has no control over the build process.
perhaps for self-compiling users it doesn't matter very much, but for 
packaging it's really essential to know exactly what gets in and what 
comes out of the build process.

> > better introduce a --enable-libusb configure option, which will check for 
> > libusb and aborts with an error message when libusb is not found.
> As an optional feature, this may be useful. But by default, the
> current behaviour should stay the same IMHO.
> Please send a patch.
I'm not familar w/ automake, so where should I look at ?

When I look at the configure scripts, I can't get away from the idea that
writing it by hand would be a better than using automake ...
(why can't it simply use such trivial things like functions and includes ?!)

> > we also should have a clear modeling of optional features and 
> > dependencies, since this would make the life of packager's much easier.
> Can you give some more details, please?

well, I'd like to have a simple (machine readable) file, which exactly 
describes what modules can be built from the package, which optional 
features the may have and what dependencies they all have.

for example the sane-backends package would fall into several modules,
one for each backend and each common library. these modules produce several
file classes, i.e binaries, dynamic libs, static libs, includes, manpages
and docs (also in different locales). 

those backends which 're using libusb then provide the optional feature
"use-libusb" (or perhaps some better name...). if the usb access code  
of these backends resides in a common lib, then just this lib would provide
this feature. in the documentation we'd give a note, that linux-2.6-users
should try this feature if they dont have /dev/usbscanner (it seems that
2.6 doesnt have usb scanner drivers anylonger)

at the end we'll have a build system, which allows us to:

* list all modules in a package, their features and all their dependencies
* build a list of modules w/ specified features
  (also support for chroot-builds + crosscompile)
* spit out a list of files and their classes for each module
* install evryting into some prefix

> > btw: the current libusb is broken - it's libfiles' names are missing .so.
> Which current libusb?

 Enrico Weigelt    ==   metux IT services

  phone:     +49 36207 519931         www:       http://www.metux.de/
  fax:       +49 36207 519932         email:     contact@metux.de
  cellphone: +49 174 7066481
   -- DSL-Zugang ab 0 Euro. -- statische IP -- UUCP -- Hosting --