add pkg-config support, re-write sane-config to use pkg-config to avoid

multilib problems with conflicting sane-config scripts
This commit is contained in:
Nils Philippsen 2006-05-16 16:24:14 +00:00
parent bf13b86f0e
commit 20e2dab44e
2 changed files with 285 additions and 1 deletions

View File

@ -0,0 +1,278 @@
--- sane-backends-1.0.17/ChangeLog.pkgconfig 2005-12-18 15:41:09.000000000 +0100
+++ sane-backends-1.0.17/ChangeLog 2006-05-16 18:22:07.000000000 +0200
@@ -0,0 +1,7 @@
+2006-05-16 Nils Philippsen <nphilipp@redhat.com>
+
+ * 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
+
--- sane-backends-1.0.17/acinclude.m4.pkgconfig 2006-05-15 17:05:18.000000000 +0200
+++ sane-backends-1.0.17/acinclude.m4 2006-05-16 17:31:37.000000000 +0200
@@ -194,6 +194,7 @@
# 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 <ieee1284.h>], [
@@ -206,6 +207,7 @@
],)
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 @@
# 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 @@
[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 @@
# GPHOTO2 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 @@
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)])
],)
],)
])
@@ -415,6 +420,7 @@
# 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@:>@]),
@@ -444,6 +450,7 @@
LDFLAGS="$LDFLAGS $GPHOTO2_LDFLAGS"
AC_SUBST(GPHOTO2_LDFLAGS)
+ AC_SUBST(PC_REQS, "libgphoto2 $PC_REQS")
saved_LIBS="${LIBS}"
LIBS="${LIBS} ${GPHOTO2_LIBS}"
--- sane-backends-1.0.17/configure.in.pkgconfig 2005-12-18 14:15:15.000000000 +0100
+++ sane-backends-1.0.17/configure.in 2006-05-16 17:43:53.000000000 +0200
@@ -52,6 +52,7 @@
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)
@@ -93,6 +94,8 @@
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
@@ -103,6 +106,8 @@
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_IEEE1284
SANE_CHECK_PTHREAD
@@ -130,19 +135,23 @@
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 <usb.h>
#include <os2.h>])
@@ -259,6 +268,7 @@
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],
@@ -274,6 +284,10 @@
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
@@ -518,6 +532,7 @@
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 ***********************************************************************
--- sane-backends-1.0.17/tools/sane-config.in.pkgconfig 2006-05-15 17:05:17.000000000 +0200
+++ sane-backends-1.0.17/tools/sane-config.in 2006-05-16 18:14:26.000000000 +0200
@@ -7,30 +7,10 @@
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@"
-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
@@ -83,27 +63,13 @@
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}
--- sane-backends-1.0.17/tools/sane-backends.pc.in.pkgconfig 2006-05-15 17:37:54.000000000 +0200
+++ sane-backends-1.0.17/tools/sane-backends.pc.in 2006-05-16 17:44:05.000000000 +0200
@@ -0,0 +1,13 @@
+prefix=@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:
--- sane-backends-1.0.17/tools/Makefile.in.pkgconfig 2005-10-29 16:41:09.000000000 +0200
+++ sane-backends-1.0.17/tools/Makefile.in 2006-05-16 17:46:46.000000000 +0200
@@ -25,6 +25,7 @@
includedir = @includedir@
oldincludedir = /usr/include
configdir = ${sysconfdir}/sane.d
+pkgconfigdir = ${libdir}/pkgconfig
MKDIR = $(top_srcdir)/mkinstalldirs
INSTALL = @INSTALL@
@@ -65,7 +66,8 @@
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
@@ -79,8 +81,9 @@
all: $(DESTINATIONS)
-install: sane-config sane-find-scanner gamma4scanimage
+install: sane-config sane-backends.pc sane-find-scanner gamma4scanimage
$(INSTALL_SCRIPT) sane-config $(DESTDIR)$(bindir)/sane-config
+ $(INSTALL_DATA) sane-backends.pc $(DESTDIR)$(pkgconfigdir)/sane-backends.pc
$(INSTALL_PROGRAM) sane-find-scanner $(DESTDIR)$(bindir)/sane-find-scanner
$(INSTALL_PROGRAM) gamma4scanimage $(DESTDIR)$(bindir)/gamma4scanimage
@@ -91,6 +94,10 @@
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

View File

@ -4,7 +4,7 @@
Summary: Scanner access software
Name: sane-backends
Version: 1.0.17
Release: 9
Release: 10
License: GPL (programs), relaxed LGPL (libraries), and public domain (docs)
Group: System Environment/Libraries
Source0: ftp://ftp.sane-project.org/pub/sane/%{name}-%{version}/%{name}-%{version}.tar.gz
@ -13,6 +13,7 @@ Patch1: sane-backends-1.0.11-rpath.patch
Patch2: sane-backends-1.0.12-badcode.patch
Patch3: sane-backends-multilib.patch
Patch4: sane-backends-1.0.17-newmodels.patch
Patch5: sane-backends-1.0.17-pkgconfig.patch
URL: http://www.sane-project.org
BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(%__id_u -n)
BuildRequires: tetex-latex libusb-devel libieee1284-devel libjpeg-devel
@ -69,6 +70,7 @@ Additional documentation for SANE, a universal scanner interface.
%patch2 -p1 -b .badcode
%patch3 -p1 -b .multilib
%patch4 -p1 -b .newmodels
%patch5 -p1 -b .pkgconfig
# Fix bug #62847.
perl -pi -e 's,/dev/usbscanner0?,/dev/usb/scanner0,' backend/*.conf
@ -157,6 +159,10 @@ rm -rf %{buildroot}
%{_docdir}/%{name}-%{version}/sane.ps
%changelog
* Tue May 16 2006 Nils Philippsen <nphilipp@redhat.com> 1.0.17-10
- add pkg-config support, re-write sane-config to use pkg-config to avoid
multilib problems with conflicting sane-config scripts
* Tue Apr 25 2006 Nils Philippsen <nphilipp@redhat.com> 1.0.17-9
- add support for Canon Lide 60 scanner (#189726)