diff options
author | Jim Meyering <jim@meyering.net> | 2007-02-25 18:44:30 +0100 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2007-02-25 18:44:30 +0100 |
commit | 720c03986d3d9e158c54bbe89afa970c1e3be60e (patch) | |
tree | 219d5d9b4b5f6a5c2e5645cec5cd82e037e6a45f /m4 | |
parent | 40758f1bd909f927e81f9a523fc4169e18572eec (diff) | |
download | parted-720c03986d3d9e158c54bbe89afa970c1e3be60e.tar.gz |
mv parted.m4 into new dir, m4/
* Makefile.am (EXTRA_DIST): Remove parted.m4.
Now that it's in m4, it's included automatically.
(aclocal_DATA): Remove unnecessary definition.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/parted.m4 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/m4/parted.m4 b/m4/parted.m4 new file mode 100644 index 0000000..9f1e81d --- /dev/null +++ b/m4/parted.m4 @@ -0,0 +1,110 @@ +# library paths for libparted +# written by Damien Genet <damien.genet@free.fr> + +dnl Usage: +dnl PARTED_CHECK_LIBPARTED([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl where MINIMUM-VERSION must be >= 1.2.8 and != 1.3.0 +dnl +dnl Example: +dnl PARTED_CHECK_LIBPARTED(1.2.8, , [AC_MSG_ERROR([*** libparted >= 1.2.8 not installed - please install first ***])]) +dnl +dnl Adds the required libraries to $PARTED_LIBS and does an +dnl AC_SUBST(PARTED_LIBS) +dnl + + +AC_DEFUN([PARTED_CHECK_LIBPARTED], +[ +AC_REQUIRE([AC_CANONICAL_HOST]) + +dnl save LIBS +saved_LIBS="$LIBS" + +dnl Check for headers and library +AC_CHECK_HEADER(parted/parted.h, , + [AC_MSG_ERROR([<parted/parted.h> not found; install GNU/Parted])] + $3) +AC_CHECK_LIB(uuid, uuid_generate, , + [AC_MSG_ERROR([libuuid not found; install e2fsprogs available at http://web.mit.edu/tytso/www/linux/e2fsprogs.html])] + $3) +AC_CHECK_LIB(parted,ped_device_read, , + [AC_MSG_ERROR([libparted not found; install GNU/Parted available at http://www.gnu.org/software/parted/parted.html])] + $3) + +case "$host_os" in + gnu*) # The Hurd requires some special system libraries + # with very generic names, which is why we special + # case these tests. + + AC_CHECK_LIB(shouldbeinlibc,lcm, , + [AC_MSG_ERROR([libshouldbeinlibc not found; install the Hurd development libraries.])] + $3) + + AC_CHECK_LIB(store,store_open, , + [AC_MSG_ERROR([libstore not found; install the Hurd development libraries.])] + $3) + ;; + *) ;; +esac + +AC_MSG_CHECKING(for libparted - version >= $1) + +AC_TRY_LINK_FUNC(ped_get_version,, + AC_MSG_RESULT(failed) + AC_MSG_ERROR([*** libparted < 1.2.8 or == 1.3.0 can't execute test ***])) + +dnl Get major, minor, and micro version from arg MINIMUM-VERSION +parted_config_major_version=`echo $1 | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` +parted_config_minor_version=`echo $1 | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` +parted_config_micro_version=`echo $1 | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + +dnl Compare MINIMUM-VERSION with libparted version +AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> +#include <parted/parted.h> + +int main () +{ + int major, minor, micro; + const char *version; + + if ( !(version = ped_get_version ()) ) + exit(1); + if (sscanf(version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", version); + exit(1); + } + + if ((major > $parted_config_major_version) || + ((major == $parted_config_major_version) && (minor > $parted_config_minor_version)) || + ((major == $parted_config_major_version) && (minor == $parted_config_minor_version) && (micro >= $parted_config_micro_version))) { + return 0; + } else { + printf("\n*** An old version of libparted (%s) was found.\n", + version); + printf("*** You need a version of libparted equal to or newer than %d.%d.%d.\n", + $parted_config_major_version, + $parted_config_minor_version, + $parted_config_micro_version); + printf("*** You can get it at - ftp://ftp.gnu.org/gnu/parted/\n"); + return 1; + } +} +], + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) ; $3, + [echo $ac_n "cross compiling; assumed OK... $ac_c"]) + +dnl restore orignial LIBS and set @PARTED_LIBS@ +PARTED_LIBS="$LIBS" +LIBS="$saved_LIBS" +AC_SUBST(PARTED_LIBS) + +dnl Execute ACTION-IF-FOUND +$2 + +]) |