[sane-devel] broken sane-config in sane-backends version 1.1.0

szukw000 at arcor.de szukw000 at arcor.de
Mon Mar 2 21:50:16 UTC 2009


'sane-config' was broken in:
    sane-backends-2009-01-31
    sane-backends-2009-02-14

If not repaired, see below.

winfried
-------------------------------------------------------------------
Without the below listed changes 'sane-config' contained:

LIBS=" @DL_LIB@"
--ldflags)
      if test -z "$LINKER_RPATH"; then
        echo "-L${libdir} @GPHOTO2_LDFLAGS@"
      else
        echo "-L${libdir} @GPHOTO2_LDFLAGS@ ${LINKER_RPATH}${libdir}"
      fi
      ;;

I had to make some changes to get a working 'sane-config'. The result:

LIBS="  -lgphoto2 -lgphoto2_port -lexif -lm -lusb -ldl"
@GPHOTO2_LDFLAGS@ is empty

I do not know whether this is sufficient. sane-backends-1.0.19 has a
longer list for LIBS:

LIBS="-lusb -lpthread -lm  -ljpeg -ltiff -lieee1284  -lgphoto2 -lgphoto2_port -lexif -lm -lusb -ldl"

xsane needs SANE_CAP_ALWAYS_SETTABLE in : xsane-0.996/src/xsane-back-gtk.c


--- tools/sane-config.in.orig	2009-03-01 19:58:02.000000000 +0100
+++ tools/sane-config.in	2009-03-01 18:26:40.000000000 +0100
@@ -12,7 +12,7 @@
 prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 
-LIBS="@LIBS@ @DL_LIB@"
+LIBS="@LIBS@ @DL_LIBS@"
 pkgincludedir="@pkgincludedir@"
 pkglibdir="@pkglibdir@"
 includedir="@includedir@"
--- acinclude.m4.orig	2009-03-01 18:57:22.000000000 +0100
+++ acinclude.m4	2009-03-01 19:40:49.000000000 +0100
@@ -167,7 +167,30 @@
   fi
   AC_SUBST(DYNAMIC_FLAG)
 ])
-
+#
+#
+# Separate LIBS from LDFLAGS to link correctly on HP/UX (and other
+# platforms who care about the order of params to ld.  It removes all
+# non '-l..'-params from $2(LIBS), and appends them to $1(LDFLAGS)
+#
+# Use like this: SANE_EXTRACT_LDFLAGS(LDFLAGS, LIBS)
+AC_DEFUN([SANE_EXTRACT_LDFLAGS],
+[tmp_LIBS=""
+for param in ${$2}; do
+  case "${param}" in
+    -l*)
+         tmp_LIBS="${tmp_LIBS} ${param}"
+         ;;
+     *)
+         $1="${$1} ${param}"
+         ;;
+  esac
+done
+$2="${tmp_LIBS}"
+unset tmp_LIBS
+unset param
+])
+#
 #
 # Checks for ieee1284 library, needed for canon_pp backend.
 AC_DEFUN([SANE_CHECK_IEEE1284],
@@ -440,6 +463,10 @@
         GPHOTO2_CPPFLAGS="`pkg-config --cflags libgphoto2`"
 				GPHOTO2_LIBS="`pkg-config --libs libgphoto2`"
 
+		SANE_EXTRACT_LDFLAGS(GPHOTO2_LDFLAGS, GPHOTO2_LIBS)
+		LDFLAGS="$LDFLAGS $GPHOTO2_LDFLAGS"
+		AC_SUBST(GPHOTO2_LDFLAGS)
+
         saved_CPPFLAGS="${CPPFLAGS}"
         CPPFLAGS="${GPHOTO2_CPPFLAGS}"
 			 	saved_LIBS="${LIBS}"
@@ -457,6 +484,8 @@
         GPHOTO2_CPPFLAGS="" 
         GPHOTO2_LIBS="" 
 		fi
+	LIBS="${LIBS} ${GPHOTO2_LIBS}"
+	CPPFLAGS="${CPPFLAGS} ${GPHOTO2_CPPFLAGS}"
 	fi
   fi
   AC_SUBST(GPHOTO2_CPPFLAGS)
--- include/sane/sane.h.orig	2009-03-01 20:41:13.000000000 +0100
+++ include/sane/sane.h	2009-03-01 20:41:41.000000000 +0100
@@ -112,6 +112,7 @@
 #define SANE_CAP_AUTOMATIC		(1 << 4)
 #define SANE_CAP_INACTIVE		(1 << 5)
 #define SANE_CAP_ADVANCED		(1 << 6)
+#define SANE_CAP_ALWAYS_SETTABLE    (1 << 7)
 
 #define SANE_OPTION_IS_ACTIVE(cap)	(((cap) & SANE_CAP_INACTIVE) == 0)
 #define SANE_OPTION_IS_SETTABLE(cap)	(((cap) & SANE_CAP_SOFT_SELECT) != 0)


Erwischt! Bei Arcor sehen Sie die besten Promi-Bilder riesengroß und in Top-Qualität. Hier finden Sie die schönsten Schnappschüsse auf dem roten Teppich, lernen die Frauen des Womanizers Boris Becker kennen und schauen den Royals ins Wohnzimmer. Viel Spaß auf Ihrer virtuellen Reise durch die Welt der Stars und Sternchen: http://vip.arcor.de.



More information about the sane-devel mailing list