diff -U0 sane-backends-20080206/ChangeLog.pkgconfig sane-backends-20080206/ChangeLog --- sane-backends-20080206/ChangeLog.pkgconfig 2008-02-04 02:20:01.000000000 +0100 +++ sane-backends-20080206/ChangeLog 2008-02-06 11:49:41.000000000 +0100 @@ -0,0 +1,7 @@ +2006-05-16 Nils Philippsen + + * acinclude.m4 configure.in tools/sane-config.in + tools/sane-backends.pc.in tools/Makefile.in: add pkg-config support, + re-write sane-config to use pkg-config to avoid multilib problems with + conflicting sane-config scripts + diff -up sane-backends-20080206/acinclude.m4.pkgconfig sane-backends-20080206/acinclude.m4 --- sane-backends-20080206/acinclude.m4.pkgconfig 2007-11-10 08:12:54.000000000 +0100 +++ sane-backends-20080206/acinclude.m4 2008-02-06 11:49:41.000000000 +0100 @@ -194,6 +194,7 @@ unset param # Checks for ieee1284 library, needed for canon_pp backend. AC_DEFUN([SANE_CHECK_IEEE1284], [ + AC_SUBST(IEEE1284_LIBS) AC_CHECK_HEADER(ieee1284.h, [ AC_CACHE_CHECK([for libieee1284 >= 0.1.5], sane_cv_use_libieee1284, [ AC_TRY_COMPILE([#include ], [ @@ -206,6 +207,7 @@ AC_DEFUN([SANE_CHECK_IEEE1284], ],) if test "$sane_cv_use_libieee1284" = "yes" ; then AC_DEFINE(HAVE_LIBIEEE1284,1,[Define to 1 if you have the `ieee1284' library (-lcam).]) + AC_SUBST(IEEE1284_LIBS, "-lieee1284") fi ]) @@ -213,6 +215,7 @@ AC_DEFUN([SANE_CHECK_IEEE1284], # Checks for pthread support AC_DEFUN([SANE_CHECK_PTHREAD], [ + AC_SUBST(PTHREAD_LIBS) case "${host_os}" in darwin*) # currently only enabled on MacOS X @@ -246,6 +249,7 @@ AC_DEFUN([SANE_CHECK_PTHREAD], [Define if pthreads should be used instead of forked processes.]) fi if test "$have_pthread" = "yes" ; then + AC_SUBST(PTHREAD_LIBS, "-lpthread") CPPFLAGS="${CPPFLAGS} -D_REENTRANT" fi AC_MSG_CHECKING([whether to enable pthread support]) @@ -259,6 +263,7 @@ AC_DEFUN([SANE_CHECK_PTHREAD], # GPHOTO2 and dell1600n_net backends. AC_DEFUN([SANE_CHECK_JPEG], [ + AC_SUBST(JPEG_LIBS) AC_CHECK_LIB(jpeg,jpeg_start_decompress, [ AC_CHECK_HEADER(jconfig.h, @@ -271,7 +276,7 @@ AC_DEFUN([SANE_CHECK_JPEG], sane_correct_jpeg_lib_version_found #endif ],[sane_cv_use_libjpeg="yes"; LIBS="${LIBS} -ljpeg"; - AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) + AC_SUBST(JPEG_LIBS, "-ljpeg") AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) ],) ],) ]) @@ -425,6 +430,7 @@ AC_CHECK_TYPE(u_long, unsigned long) # Checks for gphoto2 libs, needed by gphoto2 backend AC_DEFUN([SANE_CHECK_GPHOTO2], [ + AC_SUBST(PC_REQS) AC_ARG_WITH(gphoto2, AC_HELP_STRING([--with-gphoto2], [include the gphoto2 backend @<:@default=yes@:>@]), @@ -454,6 +460,7 @@ AC_DEFUN([SANE_CHECK_GPHOTO2], LDFLAGS="$LDFLAGS $GPHOTO2_LDFLAGS" AC_SUBST(GPHOTO2_LDFLAGS) + AC_SUBST(PC_REQS, "libgphoto2 $PC_REQS") saved_LIBS="${LIBS}" LIBS="${LIBS} ${GPHOTO2_LIBS}" diff -up /dev/null sane-backends-20080206/tools/sane-backends.pc.in --- /dev/null 2008-02-01 17:10:39.395027948 +0100 +++ sane-backends-20080206/tools/sane-backends.pc.in 2008-02-06 11:49:41.000000000 +0100 @@ -0,0 +1,14 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +pc_libs=@RESMGR_LIBS@ @DL_LIB@ @IEEE1284_LIBS@ @PTHREAD_LIBS@ @JPEG_LIBS@ @PC_LIBS@ +pc_reqs=@PC_REQS@ + +Name: SANE Backends +Description: Backends for SANE, the universal scanner interface +Version: @VERSION@ +Requires: ${pc_reqs} +Libs: -L${libdir} -lsane ${pc_libs} +Cflags: diff -up sane-backends-20080206/tools/sane-config.in.pkgconfig sane-backends-20080206/tools/sane-config.in --- sane-backends-20080206/tools/sane-config.in.pkgconfig 2008-02-06 11:49:41.000000000 +0100 +++ sane-backends-20080206/tools/sane-config.in 2008-02-06 11:52:03.000000000 +0100 @@ -7,31 +7,9 @@ PACKAGE="@PACKAGE@" scriptname="sane-config" -LINKER_RPATH="" - prefix="@prefix@" exec_prefix="@exec_prefix@" -LIBS="@LIBS@ @DL_LIB@" -pkgincludedir="@pkgincludedir@" -pkglibdir="@pkglibdir@" -includedir="@includedir@" -mandir="@mandir@" -infodir="@infodir@" -libdir="@libdir@" -localstatedir="@localstatedir@" -sysconfdir="@sysconfdir@" -datarootdir="@datarootdir@" -datadir="@datadir@" -libexecdir="@libexecdir@" -sbindir="@sbindir@" -bindir="@bindir@" -#${prefix} -#exec_prefix_set=no -srcdir="@srcdir@" -top_srcdir="@top_srcdir@" -cflags= - usage () { echo "Usage: " 1>&2 @@ -84,27 +62,13 @@ if test $# -gt 0; then exit 1 ;; --ldflags) - - if test -z "$LINKER_RPATH"; then - echo "-L${libdir} @GPHOTO2_LDFLAGS@" - else - echo "-L${libdir} @GPHOTO2_LDFLAGS@ ${LINKER_RPATH}${libdir}" - fi + pkg-config --libs-only-L sane-backends ;; --libs) - echo "-lsane ${LIBS}" + pkg-config --libs sane-backends ;; --cflags) - unique_cflags= - if test "${includedir}" != "/usr/include"; then - unique_cflags="${unique_cflags} -I${includedir}" - fi - for i in $cflags; do - if test "${i}" != "-I${includedir}"; then - unique_cflags="${unique_cflags} $i" - fi - done - echo ${unique_cflags} + pkg-config --cflags sane-backends ;; --prefix) echo ${prefix} diff -up sane-backends-20080206/tools/Makefile.in.pkgconfig sane-backends-20080206/tools/Makefile.in --- sane-backends-20080206/tools/Makefile.in.pkgconfig 2008-02-03 07:59:36.000000000 +0100 +++ sane-backends-20080206/tools/Makefile.in 2008-02-06 11:49:41.000000000 +0100 @@ -26,6 +26,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include configdir = ${sysconfdir}/sane.d +pkgconfigdir = ${libdir}/pkgconfig MKDIR = $(top_srcdir)/mkinstalldirs INSTALL = @INSTALL@ @@ -74,7 +75,8 @@ LIBLIB = ../lib/liblib.a DISTFILES = Makefile.in RenSaneDlls.cmd README libtool-get-dll-ext \ mustek600iin-off.c sane-config.in sane-desc.c check-usb-chip.c \ - sane-find-scanner.c umax_pp.c xerox gamma4scanimage.c check-po.awk + sane-find-scanner.c umax_pp.c xerox gamma4scanimage.c check-po.awk \ + sane-backends.pc.in SUBDIRS = hotplug hotplug-ng udev hal @@ -88,18 +90,24 @@ SUBDIRS = hotplug hotplug-ng udev hal all: $(DESTINATIONS) -install: sane-config sane-find-scanner gamma4scanimage +install: sane-config sane-backends.pc sane-find-scanner gamma4scanimage + $(MKDIR) $(DESTDIR)$(bindir) $(DESTDIR)$(pkgconfigdir) + $(INSTALL_DATA) sane-backends.pc $(DESTDIR)$(pkgconfigdir)/sane-backends.pc $(INSTALL_SCRIPT) sane-config $(DESTDIR)$(bindir)/sane-config $(INSTALL_PROGRAM) sane-find-scanner $(DESTDIR)$(bindir)/sane-find-scanner $(INSTALL_PROGRAM) gamma4scanimage $(DESTDIR)$(bindir)/gamma4scanimage uninstall: - rm -f $(bindir)/sane-config $(bindir)/sane-find-scanner $(bindir)/gamma4scanimage + rm -f $(bindir)/sane-config $(bindir)/sane-find-scanner $(bindir)/gamma4scanimage $(pkgconfigdir)/sane-backends.pc sane-config: sane-config.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status +sane-backends.pc: sane-backends.pc.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + sane-find-scanner: sane-find-scanner.o check-usb-chip.o ../backend/sane_strstatus.lo \ ../sanei/sanei_scsi.lo ../sanei/sanei_usb.lo ../sanei/sanei_init_debug.lo \ ../sanei/sanei_config.lo diff -up sane-backends-20080206/configure.in.pkgconfig sane-backends-20080206/configure.in --- sane-backends-20080206/configure.in.pkgconfig 2008-02-02 13:20:45.000000000 +0100 +++ sane-backends-20080206/configure.in 2008-02-06 11:49:41.000000000 +0100 @@ -52,6 +52,7 @@ AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_CPP AC_PROG_GCC_TRADITIONAL +PKG_PROG_PKG_CONFIG AC_PATH_PROG(SANE_CONFIG_PATH, sane-config, no) AC_PATH_PROG(MSGFMT, msgfmt$EXEEXT, no) AC_PATH_PROG(XGETTEXT, xgettext$EXEEXT, no) @@ -99,6 +100,8 @@ dnl Checks for libraries dnl *********************************************************************** SANE_CHECK_DLL_LIB dnl Checks for Backend libraries. +_pc_libs_save="$LIBS" +LIBS="" AC_CHECK_LIB(m,sqrt) AC_CHECK_LIB(scsi, scsireq_enter) # FreeBSD needs this AC_CHECK_LIB(cam, cam_open_device) # FreeBSD 3+ needs this @@ -109,6 +112,8 @@ if test "`uname`" != "IRIX" -a "`uname`" AC_SEARCH_LIBS(socket, socket) AC_SEARCH_LIBS(syslog, syslog be) # OS/2 needs -lsyslog, BeOS needs -lbe fi +AC_SUBST(PC_LIBS, "$LIBS") +LIBS="$LIBS $_pc_libs_save" SANE_CHECK_JPEG SANE_CHECK_TIFF SANE_CHECK_IEEE1284 @@ -139,19 +144,23 @@ AC_CHECK_HEADERS([io/cam/cam.h],,,[#incl SANE_CHECK_MISSING_HEADERS +AC_SUBST(RESMGR_LIBS) AC_CHECK_HEADER(resmgr.h,[ AC_CHECK_LIB( resmgr, rsm_open_device,[ AC_DEFINE(HAVE_RESMGR,1,[define if you have the resmgr library]) LIBS="$LIBS -lresmgr" + AC_SUBST(RESMGR_LIBS, "-lresmgr") ] ) ]) +AC_SUBST(USBCALLS_LIBS) AC_CHECK_HEADER(usbcalls.h,[ AC_DEFINE(HAVE_USBCALLS,1,[define if you have the usbcalls library]) LIBS="$LIBS -lusbcalls" + AC_SUBST(USBCALLS_LIBS, "-lusbcalls") ],,[ #include #include ]) @@ -279,6 +288,7 @@ if test -c /dev/urandom ; then fi dnl libusb on enabled by default (if found) +AC_SUBST(PC_REQS) USE_LIBUSB=yes AC_ARG_ENABLE(libusb, AC_HELP_STRING([--disable-libusb], @@ -294,6 +304,10 @@ if test "${ac_cv_header_usb_h}" = "yes" AC_CHECK_LIB(usb, usb_interrupt_read) if test "${ac_cv_lib_usb_usb_interrupt_read}" = "yes" ; then HAVE_LIBUSB="yes" + PKG_CHECK_MODULES(LIBUSB, libusb) + if test "${LIBUSB_LIBS}"; then + AC_SUBST(PC_REQS, "libusb $PC_REQS") + fi fi fi @@ -560,6 +574,7 @@ AC_CONFIG_FILES([Makefile lib/Makefile s japi/Makefile backend/Makefile include/Makefile doc/Makefile \ po/Makefile testsuite/Makefile tools/Makefile doc/doxygen-sanei.conf]) AC_CONFIG_FILES([tools/sane-config], [chmod a+x tools/sane-config]) +AC_CONFIG_FILES([tools/sane-backends.pc]) AC_OUTPUT dnl ***********************************************************************