| Attached is a patch to look for libvirt and libxml2 during configure.  
configure will abort if either not found.  It uses pkg-config or simply 
AC_CHECK_LIB if pkg-config is not available.  Hmm, now that I think 
about it this patch is probably insufficient if pkg-config is not 
available since CFLAGS will not have proper include search paths. 
I wanted to get people's thoughts on using pkg-config to look for 
required packages or is another approach preferred? 
BTW, the libxml2 stuff will go away once we move exclusively to 
libvirt.  I'm using it in libxm shim now to parse libvirt's xml into 
xm_config structure. 
Thanks,
Jim
 diff -r bdf24cd56bed Makefile.am
--- a/Makefile.am       Wed Apr 26 12:28:36 2006 -0600
+++ b/Makefile.am       Wed Apr 26 17:51:56 2006 -0600
@@ -89,7 +89,8 @@ noinst_HEADERS = \
 # libxm is the Xen API for the CMPI providers
 lib_LTLIBRARIES = libxm.la
 libxm_la_SOURCES = src/xm.c
-libxm_la_LIBADD = -lvirt -lxenstore
+libxm_la_CFLAGS = $(LIBXM_CFLAGS)
+libxm_la_LIBADD = $(LIBXM_LIBS)
 
 # LIST EACH PROVIDER LIBRARY, ITS SOURCE FILE(S), AND ANY LIBS REQUIRED 
 # FOR LINKING HERE
@@ -136,10 +137,6 @@ provider_LTLIBRARIES = \
        libXen_CSSettingDataComponent.la \
        libXen_ProcessorCapabilitiesSettingData.la \
        libXen_MemoryCapabilitiesSettingData.la
-
-#libxm_la_SOURCES = src/xm.c
-#libxm_la_LIBADD = -lxenstore -L/usr/local/lib -lvirt
-#libxm_la_CFLAGS = -I../
 
 libXen_ComputerSystem_la_SOURCES = src/Xen_ComputerSystem.c 
src/Xen_ComputerSystem_Resource.c src/cmpiutil.c src/cmpitrace.c
 libXen_ComputerSystem_la_LIBADD = $(COMMON_LIBS) #-lxenstore -luuid -lxm 
diff -r bdf24cd56bed configure.ac
--- a/configure.ac      Wed Apr 26 12:28:36 2006 -0600
+++ b/configure.ac      Wed Apr 26 17:51:56 2006 -0600
@@ -50,11 +50,35 @@ AC_CONFIG_FILES([sblim-cmpi-xen.spec])
 
 # Check for required header files
 # ADD CHECKS FOR ANY REQUIRED NON-CMPI HEADER FILES HERE
-AC_CHECK_HEADERS([stdarg.h errno.h xm.h])
+AC_CHECK_HEADERS([stdarg.h errno.h])
 
 # Check for required library functions
 # ADD CHECKS FOR ANY REQUIRED NON_CMPI LIBRARY FUNCTIONS HERE
 AC_CHECK_FUNCS([popen pclose fgets vfprintf fprintf sprintf sscanf])
+
+# Is pkg-config available?
+AC_CHECK_PROG([PKG_CONFIG], [pkg-config], [yes], [no])
+if test "x$PKG_CONFIG" = "xyes"; then
+   export 
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig"
+
+    LIBVIRT_MIN_VER=0.1.0
+    LIBXML2_MIN_VER=2.5.0
+    PKG_CHECK_MODULES([LIBVIRT], [libvirt >= $LIBVIRT_MIN_VER])
+    PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= $LIBXML2_MIN_VER])
+else
+    AC_CHECK_LIB([virt], [virConnectOpen],
+        [LIBVIRT_LIBS="-lvirt"], 
+       [AC_MSG_ERROR([virt library not found])],
+       [-lxenstore])
+    AC_CHECK_LIB([xml2], [xmlParseFile],
+        [LIBXML2_LIBS="-lxml2"], 
+       [AC_MSG_ERROR([xml2 library not found])])
+fi
+
+LIBXM_CFLAGS="$LIBVIRT_CFLAGS $LIBXML2_CFLAGS "
+LIBXM_LIBS="$LIBVIRT_LIBS $LIBXML2_LIBS "
+AC_SUBST([LIBXM_CFLAGS])
+AC_SUBST([LIBXM_LIBS])
 
 # Set compiler flag for CMPI API version compatibility
 # SET THE PACKAGE CMPI_VERSION HERE
_______________________________________________
Xen-cim mailing list
Xen-cim@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-cim
 |