diff --git a/.gitignore b/.gitignore index 0092991..fd358f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,54 @@ +# Editor / OS cruft *~ -*.[ao] -*.8 +core +tags +# Autotools generated files (run ./autogen.sh to regenerate) INSTALL Makefile.in aclocal.m4 +autom4te.cache/ +compile config.guess config.sub +config.h.in configure depcomp -config.h.in install-sh missing -aclocal.m4 -autom4te.cache -tags -.pc +ltmain.sh +ar-lib +/build-aux/ +/m4/ + +# configure / make output Makefile -.deps +.deps/ +.libs/ +*.o +*.a +*.lo +*.la config.log config.status +config.h include/config.h include/credits.h include/stamp-h1 +libtool +reiserfscore/reiserfs_err.c +reiserfscore/reiserfs_err.h +reiserfscore/reiserfscore.pc -reiserfsprogs-*.tar.* +# Generated man pages (from *.8.in) +*.8 + +# Built programs /debugreiserfs/debugreiserfs /fsck/reiserfsck /mkreiserfs/mkreiserfs /resize_reiserfs/resize_reiserfs /tune/reiserfstune + +# Release tarballs +reiserfsprogs-*.tar.* diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..22c28f2 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# Regenerate the autotools build system (configure, Makefile.in, ...). +# Run this after a fresh clone; release tarballs ship the generated files. +set -e + +srcdir=$(dirname "$0") +cd "$srcdir" + +mkdir -p m4 build-aux + +autoreconf -fi + +echo +echo "Now run ./configure && make" diff --git a/configure.ac b/configure.ac index c77b175..f3f1a65 100644 --- a/configure.ac +++ b/configure.ac @@ -1,68 +1,79 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT([reiserfsprogs], [3.6.25], [reiserfs-devel@vger.kernel.org]) AC_CANONICAL_HOST -AC_PREREQ(2.50) +AC_PREREQ([2.64]) + +AC_CONFIG_MACRO_DIRS([m4]) +AC_CONFIG_AUX_DIR([build-aux]) AH_TEMPLATE([HAVE_LIBUUID], [Define for enable libuuid using.]) -AM_INIT_AUTOMAKE([1.11.1 dist-xz silent-rules]) +AM_INIT_AUTOMAKE([1.11.1 foreign dist-xz silent-rules subdir-objects]) AM_SILENT_RULES([yes]) AM_MAINTAINER_MODE dnl We install in /sbin, the utils are to be available on boot dnl AC_PREFIX(/) -AM_CONFIG_HEADER(include/config.h) +AC_CONFIG_HEADERS([include/config.h]) dnl Checks for programs. AC_PROG_CC -AC_PROG_AWK +AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET -AC_PROG_LIBTOOL +AM_PROG_AR + +dnl libtool, replaces the long-obsolete AC_PROG_LIBTOOL +LT_INIT dnl Checks for libraries. # Check for LIBUUID -AC_CHECK_LIB(uuid, uuid_generate, , AC_MSG_WARN(libuuid could not be found)) +AC_CHECK_LIB([uuid], [uuid_generate], [], [AC_MSG_WARN([libuuid could not be found])]) UUID_LIBS="$LIBS" -AC_SUBST(UUID_LIBS) +AC_SUBST([UUID_LIBS]) -AC_CHECK_LIB(com_err, _et_list, , AC_MSG_ERROR(libcom_err could not be found)) +AC_CHECK_LIB([com_err], [_et_list], [], [AC_MSG_ERROR([libcom_err could not be found])]) COM_ERR_LIBS="$LIBS" -AC_SUBST(COM_ERR_LIBS) +AC_SUBST([COM_ERR_LIBS]) dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/ioctl.h unistd.h uuid/uuid.h) +AC_CHECK_HEADERS([fcntl.h limits.h malloc.h sys/ioctl.h unistd.h uuid/uuid.h]) AC_HEADER_MAJOR dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_C_INLINE AC_TYPE_SIZE_T -AC_STRUCT_ST_RDEV + +dnl Use a deterministic language level: the code predates C99 and C23 +dnl removes constructs (e.g. implicit int in some spots) it relies on. +AC_MSG_CHECKING([whether $CC accepts -std=gnu11]) +saved_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -std=gnu11" +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]); CFLAGS="$saved_CFLAGS"]) # Checking for compiler warning options AC_CACHE_CHECK([whether -Wuninitialized works], [ac_cv_wuninitialized_flag], [ - saved_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-O1 -Wuninitialized" - AC_TRY_COMPILE(, , [ac_cv_wuninitialized_flag=yes], [ac_cv_wuninitialized_flag=no]) - CPPFLAGS="$saved_CPPFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], + [ac_cv_wuninitialized_flag=yes], [ac_cv_wuninitialized_flag=no]) ]) AC_CACHE_CHECK([whether -Wno-unused-parameter works], [ac_cv_wno_unused_parameter_flag], [ saved_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-Wno-unused-parameter" - AC_TRY_COMPILE(, , [ac_cv_wno_unused_parameter_flag=yes], [ac_cv_wno_unused_parameter_flag=no]) + CPPFLAGS="$CPPFLAGS -Wno-unused-parameter" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], + [ac_cv_wno_unused_parameter_flag=yes], [ac_cv_wno_unused_parameter_flag=no]) CPPFLAGS="$saved_CPPFLAGS" ]) AC_CACHE_CHECK([whether -Wredundant-decls works], [ac_cv_wredundant_decls_flag], [ saved_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-Wredundant-decls" - AC_TRY_COMPILE(, , [ac_cv_wredundant_decls_flag=yes], [ac_cv_wredundant_decls_flag=no]) + CPPFLAGS="$CPPFLAGS -Wredundant-decls" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], + [ac_cv_wredundant_decls_flag=yes], [ac_cv_wredundant_decls_flag=no]) CPPFLAGS="$saved_CPPFLAGS" ]) @@ -70,77 +81,74 @@ AC_CACHE_CHECK([whether -Wredundant-decls works], [ac_cv_wredundant_decls_flag], AC_SYS_LARGEFILE if test -z "${ac_cv_sys_file_offset_bits}"; then - AC_MSG_WARN(Can't detect right _FILE_OFFSET_BITS. Will be forced to 64bit.) + AC_MSG_WARN([Can't detect right _FILE_OFFSET_BITS. Will be forced to 64bit.]) ac_cv_sys_file_offset_bits=64 fi -AC_CHECK_SIZEOF(off_t, 64, [ +AC_CHECK_SIZEOF([off_t], [8], [ #include #include - #include + #include ]) -AC_CHECK_SIZEOF(blkcnt_t, 64, [ +AC_CHECK_SIZEOF([blkcnt_t], [8], [ #include #include - #include + #include ]) dnl Checks for library functions. -AC_PROG_GCC_TRADITIONAL -AC_FUNC_MEMCMP -AC_FUNC_STRFTIME -AC_FUNC_VPRINTF -AC_CHECK_FUNCS(strerror strstr strtol statfs getmntent hasmntopt memset time \ - uname strptime ctime_r register_printf_modifier \ - register_printf_specifier) +AC_CHECK_FUNCS([strerror strstr strtol statfs getmntent hasmntopt memset time \ + uname strptime ctime_r register_printf_modifier \ + register_printf_specifier]) -if test -z "${ac_cv_func_register_printf_function}" -a -z "${ac_cv_func_register_printf_specifier}"; then - AC_MSG_ERROR(reiserfsprogs requires a method to add printf modifiers) +if test "x$ac_cv_func_register_printf_specifier" != xyes -a \ + "x$ac_cv_func_register_printf_modifier" != xyes; then + AC_MSG_ERROR([reiserfsprogs requires a method to add printf modifiers]) fi dnl Never enable this. It is for debugging only -AC_ARG_ENABLE(io-failure-emulation, +AC_ARG_ENABLE([io-failure-emulation], [AS_HELP_STRING([--enable-io-failure-emulation], [Never use this. It is for debugging only])]) if test "$enable_io_failure_emulation" = "yes" ; then AC_MSG_WARN([Careful! IO failure emulation is ON]) - AC_DEFINE(IO_FAILURE_EMULATION, 1, [gets set when configure --enable-io-failure-emulation]) + AC_DEFINE([IO_FAILURE_EMULATION], [1], [gets set when configure --enable-io-failure-emulation]) fi if test "x$ac_cv_wno_unused_parameter_flag" = xyes; then CFLAGS="$CFLAGS -Wno-unused-parameter" -else - CFLAGS="$CFLAGS -Wno-unused" fi - + if test "x$ac_cv_wredundant_decls_flag" = xyes; then CFLAGS="$CFLAGS -Wredundant-decls" fi - + if test "x$ac_cv_wuninitialized_flag" = xyes; then CFLAGS="$CFLAGS -Wuninitialized" fi CPPFLAGS="-I\$(top_srcdir)/include $CPPFLAGS" -AC_OUTPUT( - include/Makefile - mkreiserfs/Makefile - mkreiserfs/mkreiserfs.8 - resize_reiserfs/Makefile - resize_reiserfs/resize_reiserfs.8 - fsck/Makefile - fsck/reiserfsck.8 - lib/Makefile - Makefile - reiserfscore/Makefile - reiserfscore/reiserfscore.pc - debugreiserfs/Makefile - debugreiserfs/debugreiserfs.8 - tune/Makefile - tune/reiserfstune.8 - ) +AC_CONFIG_FILES([ + Makefile + include/Makefile + lib/Makefile + reiserfscore/Makefile + reiserfscore/reiserfscore.pc + fsck/Makefile + fsck/reiserfsck.8 + mkreiserfs/Makefile + mkreiserfs/mkreiserfs.8 + debugreiserfs/Makefile + debugreiserfs/debugreiserfs.8 + resize_reiserfs/Makefile + resize_reiserfs/resize_reiserfs.8 + tune/Makefile + tune/reiserfstune.8 +]) + +AC_OUTPUT AC_MSG_NOTICE([ diff --git a/lib/parse_time.c b/lib/parse_time.c index 0d08f48..006d293 100644 --- a/lib/parse_time.c +++ b/lib/parse_time.c @@ -1,4 +1,4 @@ -#define _XOPEN_SOURCE +#define _GNU_SOURCE #ifdef HAVE_CONFIG_H #include #endif diff --git a/reiserfscore/reiserfscore.pc.in b/reiserfscore/reiserfscore.pc.in index c593847..20a6f1e 100644 --- a/reiserfscore/reiserfscore.pc.in +++ b/reiserfscore/reiserfscore.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@ Name: reiserfscore Description: ReiserFS Core Library -Version: @REISERFSPROGS_VERSION@ +Version: @PACKAGE_VERSION@ Cflags: -I${includedir}/reiserfs -I${includedir} Libs: -L${libdir} -lreiserfscore diff --git a/reiserfscore/xattr.c b/reiserfscore/xattr.c index 8ad81f3..f3ecae7 100644 --- a/reiserfscore/xattr.c +++ b/reiserfscore/xattr.c @@ -1,7 +1,6 @@ #include #include #include -#include #include "reiserfs_lib.h" static inline unsigned short from32to16(unsigned int x)