Use RPM_ENHANCESNAME only if detected at configure time.
authorMartin Vidner <mvidner@suse.cz>
Wed, 13 Sep 2006 19:51:22 +0000 (19:51 +0000)
committerMartin Vidner <mvidner@suse.cz>
Wed, 13 Sep 2006 19:51:22 +0000 (19:51 +0000)
(allows compilation with older rpm)

configure.ac
zypp/target/rpm/RpmHeader.cc

index 885606c..c0a0501 100644 (file)
@@ -195,6 +195,17 @@ AM_GNU_GETTEXT
 
 dnl ==================================================
 dnl checks for typedefs
+
+AH_TEMPLATE([HAVE_RPM_ENHANCES], [the new enhances dependency])
+AC_MSG_CHECKING([for librpm features])
+hre=no
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([#include "librpm.h"],
+                 [int i = RPMTAG_ENHANCESNAME;])],
+  [AC_DEFINE([HAVE_RPM_ENHANCES]) hre=yes]
+)
+AC_MSG_RESULT([$hre])
+
 dnl ==================================================
 dnl checks for structures
 dnl ==================================================
index 313064c..853df27 100644 (file)
@@ -291,10 +291,12 @@ namespace zypp {
           kindFlags   = RPMTAG_CONFLICTFLAGS;
           kindVersion = RPMTAG_CONFLICTVERSION;
           break;
+#ifdef HAVE_RPM_ENHANCES
         case RPMTAG_ENHANCESNAME:
           kindFlags   = RPMTAG_ENHANCESFLAGS;
           kindVersion = RPMTAG_ENHANCESVERSION;
           break;
+#endif
 #warning NEEDS RPMTAG_SUPPLEMENTSNAME
 #if 0
         case RPMTAG_SUPPLEMENTSNAME:
@@ -452,7 +454,11 @@ namespace zypp {
       //
       CapSet RpmHeader::tag_enhances( set<string> * freq_r ) const
       {
+#ifdef HAVE_RPM_ENHANCES
         return PkgRelList_val( RPMTAG_ENHANCESNAME, false, freq_r );
+#else
+       return CapSet();
+#endif
       }
 
       ///////////////////////////////////////////////////////////////////