From 13568bcee7dad4e63346c4570d0238c68831730d Mon Sep 17 00:00:00 2001 From: Curtis Gedak Date: Wed, 8 Jun 2011 10:38:55 -0600 Subject: [PATCH] Add configure check for libparted version 3.0.0 or higher This enhancement is in preparation for addressing the following bug report: Bug #651559 - Doesn't compile against parted 3.0 --- configure.in | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 427de2a0..436051d0 100644 --- a/configure.in +++ b/configure.in @@ -131,6 +131,55 @@ int main () LIBS="$LIBS_save" +dnl====================== +dnl check whether libparted >= 3.0 (libparted is missing file system resizing API) +dnl====================== +LIBPARTED_VERSION=3.0 +AC_MSG_CHECKING([if libparted >= $LIBPARTED_VERSION (libparted is missing file system resizing API)]) +LIBS_save="$LIBS" +LIBS="-lparted -luuid -ldl" +need_work_around=yes +AC_TRY_RUN([ +#include +#include + +int main () +{ + int min_major = 0; + int min_minor = 0; + int min_micro = 0; + int major = 0; + int minor = 0; + int micro = 0; + + if ( ( sscanf( "$LIBPARTED_VERSION", "%d.%d.%d", &min_major, &min_minor, &min_micro ) == 3 ) || + ( sscanf( "$LIBPARTED_VERSION", "%d.%d", &min_major, &min_minor ) == 2 ) || + ( sscanf( "$LIBPARTED_VERSION", "%d", &min_major ) == 1 ) + ) + { + if ( ( sscanf( ped_get_version(), "%d.%d.%d", &major, &minor, µ ) == 3 ) || + ( sscanf( ped_get_version(), "%d.%d", &major, &minor ) == 2 ) || + ( sscanf( ped_get_version(), "%d", &major ) == 1 ) + ) + { + return ! ( (major > min_major) || + ( (major == min_major) && (minor > min_minor) ) || + ( (major == min_major) && (minor == min_minor) && (micro >= min_micro) ) + ) ; + } + } + + return 1 ; +} +], [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_LIBPARTED_3_0_0_PLUS], [1], [Define to 1 if libparted >= 3.0]) + have_lp_fs_resize_api=no] +, [AC_MSG_RESULT([no]) + have_lp_fs_resize_api=yes] +) +LIBS="$LIBS_save" + + dnl GTKMM PKG_CHECK_MODULES([GTKMM], [gtkmm-2.4 > 2.8]) AC_SUBST([GTKMM_LIBS]) @@ -215,9 +264,12 @@ echo " Installing into prefix : $prefix" echo "" echo " Build documentation? : $enable_doc" echo "" +echo " Use native libparted dmraid support? : $enable_libparted_dmraid" +echo "" +echo " --- Features Based On Libparted Version ---" echo " Need partition table re-read work around? : $need_pt_reread_work_around" echo " Supports sector sizes > 512 bytes? : $support_sector_size_gt_512" -echo " Use native libparted dmraid support? : $enable_libparted_dmraid" +echo " Have libparted file system resizing API? : $have_lp_fs_resize_api" echo "" echo " If all settings are OK, type make and make install " echo "=================================================================="