Use specific Autoconf check for FS resize capability in libparted (#734718)
Replace Autoconf check for libparted >= 3.0 Currently uses a custom check which compiles an executable to check for libparted version >= 3.0 to determine if the ped_file_system_resize() function exists in the parted library. Change to use a direct Autoconf check to determine the availability of the ped_file_system_resize() function in the parted library. Bug #734718 - Update Autoconf version specific libparted checks and defines to feature specific ones
This commit is contained in:
parent
288c4dbf2e
commit
eb7b706f23
68
configure.ac
68
configure.ac
|
@ -144,62 +144,8 @@ int main ()
|
||||||
LIBS="$LIBS_save"
|
LIBS="$LIBS_save"
|
||||||
|
|
||||||
|
|
||||||
dnl======================
|
dnl Check for ped_file_system_resize() function to determine the existence
|
||||||
dnl check whether libparted >= 3.0 (libparted is missing file system resizing API)
|
dnl of the API in the original parted library. Available in parted <= 2.4.
|
||||||
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"
|
|
||||||
AC_RUN_IFELSE(
|
|
||||||
[AC_LANG_SOURCE(
|
|
||||||
[[
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <parted/parted.h>
|
|
||||||
|
|
||||||
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 ;
|
|
||||||
}
|
|
||||||
]]
|
|
||||||
)],
|
|
||||||
[have_old_lp_fs_resize_api=no
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
],
|
|
||||||
[have_old_lp_fs_resize_api=yes
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
]
|
|
||||||
)
|
|
||||||
LIBS="$LIBS_save"
|
|
||||||
|
|
||||||
|
|
||||||
dnl Check for ped_file_system_resize() function in the parted-fs-resize
|
|
||||||
dnl library to determine the need to use the new library. Available in
|
|
||||||
dnl parted >= 3.1.
|
|
||||||
dnl
|
dnl
|
||||||
dnl NOTE:
|
dnl NOTE:
|
||||||
dnl For AC_CHECK_LIB the default action-if-found ($3) includes extending
|
dnl For AC_CHECK_LIB the default action-if-found ($3) includes extending
|
||||||
|
@ -210,6 +156,16 @@ dnl the library is found.
|
||||||
dnl
|
dnl
|
||||||
dnl As the default action-if-found is overridden, LIBS isn't extended so
|
dnl As the default action-if-found is overridden, LIBS isn't extended so
|
||||||
dnl saving and restoring LIBS isn't required.
|
dnl saving and restoring LIBS isn't required.
|
||||||
|
AC_CHECK_LIB(
|
||||||
|
[parted], [ped_file_system_resize],
|
||||||
|
[have_old_lp_fs_resize_api=yes],
|
||||||
|
[have_old_lp_fs_resize_api=no]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
dnl Check for ped_file_system_resize() function in the parted-fs-resize
|
||||||
|
dnl library to determine the need to use the new library. Available in
|
||||||
|
dnl parted >= 3.1.
|
||||||
AC_CHECK_LIB(
|
AC_CHECK_LIB(
|
||||||
[parted-fs-resize], [ped_file_system_resize],
|
[parted-fs-resize], [ped_file_system_resize],
|
||||||
[have_new_lp_fs_resize_lib=yes],
|
[have_new_lp_fs_resize_lib=yes],
|
||||||
|
|
Loading…
Reference in New Issue