- Request LIBTOOL to be used - Set topbuildir based on a Makefile variable to call libtool - Use /usr/local instead of /var for xfstest final location - Move macros from aclocal.m4 to acinclude.m4, aclocal.m4 is autogenerated. - Use autoconf variables @prefix@, @exec_prefix@. The regular way of compiling xfstests - make - remains. But it now runs autoreconf and libtoolize -i to produce a valid configure. Verified with 'make install --dry-run' that files are installed at the same place. Verified compiling in chromeOS chroot works as well. Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> --- Changes in v2: Removal of instal-sh, use of autoreconf Changes in v3: Use of @exec_prefix@ variable, unify installation location. Changes in v4: Add --install option to autoreconf so that aclocal is called with -I m4. Keep using AC_CONFIG_MACRO_DIR when autoconf is called directly. With --install option and AC_CONFIG_MACRO_DIR undefined verify that configure still works. Changes in v5: Rebase, move new changes from aclocal.m4 to acinclue.m4. Makefile | 7 +- aclocal.m4 => acinclude.m4 | 28 +---- configure.ac | 3 +- include/builddefs.in | 9 +- install-sh | 259 --------------------------------------------- 5 files changed, 15 insertions(+), 291 deletions(-) rename aclocal.m4 => acinclude.m4 (53%) delete mode 100755 install-sh diff --git a/Makefile b/Makefile index 30d8747d..d41750ab 100644 --- a/Makefile +++ b/Makefile @@ -76,12 +76,13 @@ clean: # if configure hasn't run, nothing to clean endif configure: configure.ac - autoheader - autoconf + autoreconf --include=m4 + libtoolize -i include/builddefs include/config.h: configure ./configure \ - --libexecdir=/usr/lib + --libexecdir=/usr/lib \ + --exec_prefix=/var/lib aclocal.m4:: aclocal --acdir=`pwd`/m4 --output=$@ diff --git a/aclocal.m4 b/acinclude.m4 similarity index 53% rename from aclocal.m4 rename to acinclude.m4 index 829fa101..a605c01c 100644 --- a/aclocal.m4 +++ b/acinclude.m4 @@ -1,16 +1,7 @@ -# generated automatically by aclocal 1.11 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - +dnl Copyright (C) 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([AC_PACKAGE_WANT_LINUX_FIEMAP_H], [ AC_CHECK_HEADERS([linux/fiemap.h], [ have_fiemap=true ], [ have_fiemap=false ]) AC_SUBST(have_fiemap) @@ -52,14 +43,3 @@ AC_DEFUN([AC_PACKAGE_WANT_OPEN_BY_HANDLE_AT], [ have_open_by_handle_at=false; AC_MSG_RESULT(no) ]) AC_SUBST(have_open_by_handle_at) ]) -m4_include([m4/multilib.m4]) -m4_include([m4/package_acldev.m4]) -m4_include([m4/package_aiodev.m4]) -m4_include([m4/package_attrdev.m4]) -m4_include([m4/package_dmapidev.m4]) -m4_include([m4/package_gdbmdev.m4]) -m4_include([m4/package_globals.m4]) -m4_include([m4/package_ssldev.m4]) -m4_include([m4/package_utilies.m4]) -m4_include([m4/package_uuiddev.m4]) -m4_include([m4/package_xfslibs.m4]) diff --git a/configure.ac b/configure.ac index 1285bf4e..5ddaadc2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,6 @@ AC_INIT([xfstests], [1.1.1]) -AC_PREREQ(2.50) +AC_CONFIG_MACRO_DIR([m4]) +LT_INIT AC_CONFIG_SRCDIR([src/xfsctl.c]) AC_PACKAGE_GLOBALS(xfstests) AC_PACKAGE_UTILITIES(xfstests) diff --git a/include/builddefs.in b/include/builddefs.in index 27250371..952a3e03 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -7,6 +7,8 @@ ifndef _BUILDDEFS_INCLUDED_ _BUILDDEFS_INCLUDED_ = 1 +top_builddir=$(TOPDIR) + DEBUG = @debug_build@ OPTIMIZER = @opt_build@ MALLOCLIB = @malloc_lib@ @@ -24,6 +26,7 @@ LIBUUID = @libuuid@ LIBHANDLE = @libhdl@ LIBDM = @libdm@ LIBTEST = $(TOPDIR)/lib/libtest.la +prefix = @prefix@ PKG_NAME = @pkg_name@ PKG_USER = @pkg_user@ @@ -32,10 +35,8 @@ PKG_RELEASE = @pkg_release@ PKG_VERSION = @pkg_version@ PKG_PLATFORM = @pkg_platform@ PKG_DISTRIBUTION= @pkg_distribution@ -PKG_SBIN_DIR = @sbindir@ -# A bit of a hack; by rights only state should probably go here -# But for now ... -PKG_LIB_DIR = /var/lib/@pkg_name@ +PKG_LIB_DIR = $(DESTDIR)@exec_prefix@/@pkg_name@ + CC = @cc@ AWK = @awk@ diff --git a/install-sh b/install-sh deleted file mode 100755 index 58e7b586..00000000 --- a/install-sh +++ /dev/null @@ -1,259 +0,0 @@ -#! /bin/bash -# -# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it would be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# -# This script emulates bsd install and also recognises -# two environment variables, with the following semantics :- -# -# $DIST_MANIFEST - if set, the name of the file to append manifest -# information in the following format: -# File : f mode owner group src target -# Directory: d mode owner group target -# Symlink : l linkval target -# -# $DIST_ROOT - if set, prepend to target -# -# The sematics of all combinations of these two variables -# are as follows: -# -# $DIST_MANIFEST? $DIST_ROOT? | Copy? Append Manifest? -# -----------------------------+-------------------------- -# not set not set | yes no -# not set set | yes no -# set not set | no yes -# set set | yes yes -# -_usage() { - echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory" - echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file" - echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory" - echo "or $prog -S file target (creates \"target\" symlink)" - echo "" - echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the" - echo "behaviour of this command - see comments in the script." - echo "The -D flag is only available for the second usage, and causes" - echo "the target directory to be created before installing the file." - echo "" - exit 1 -} - -_chown () -{ - _st=255 - if [ $# -eq 3 ] ; then - chown $1:$2 $3 - _st=$? - if [ $_st -ne 0 ] ; then - if [ $REAL_UID != '0' ] ; then - if [ ! -f $DIST_ROOT/.chown.quite ] ; then - echo '===============================================' - echo Ownership of files under ${DIST_ROOT:-/} - echo cannot be changed - echo '===============================================' - if [ -n "$DIST_ROOT" ] ; then - touch $DIST_ROOT/.chown.quite - fi - fi - _st=0 - fi - fi - fi - - return $_st -} - - -_manifest () -{ - echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null} -} - -prog=`basename $0` -HERE=`pwd` -dflag=false -Dflag=false -Sflag=false -DIRMODE=755 -FILEMODE=644 -OWNER=`id -u` -GROUP=`id -g` -REAL_UID=$OWNER - -# default is to install and don't append manifest -INSTALL=true -MANIFEST=: - -: ${DIST_ROOT:=${DESTDIR}} - -[ -n "$DIST_MANIFEST" -a -z "$DIST_ROOT" ] && INSTALL=false -[ -n "$DIST_MANIFEST" ] && MANIFEST="_manifest" - -[ $# -eq 0 ] && _usage - -if $INSTALL -then - CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown -else - CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true -fi - -[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true - -while getopts "Dcm:d:S:o:g:" c $* -do - case $c in - c) - ;; - g) - GROUP=$OPTARG - ;; - o) - OWNER=$OPTARG - ;; - m) - DIRMODE=`expr $OPTARG` - FILEMODE=$DIRMODE - ;; - D) - Dflag=true - ;; - S) - symlink=$OPTARG - Sflag=true - ;; - d) - dir=$DIST_ROOT/$OPTARG - dflag=true - ;; - *) - _usage - ;; - esac -done - -shift `expr $OPTIND - 1` - -status=0 -if $dflag -then - # - # first usage - # - $MKDIR -p $dir - status=$? - if [ $status -eq 0 ] - then - $CHMOD $DIRMODE $dir - status=$? - fi - if [ $status -eq 0 ] - then - $CHOWN $OWNER $GROUP $dir - status=$? - fi - $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT} -elif $Sflag -then - # - # fourth usage (symlink) - # - if [ $# -ne 1 ] - then - _usage - else - target=$DIST_ROOT/$1 - fi - $LN -s -f $symlink $target - status=$? - $MANIFEST l $symlink ${target#$DIST_ROOT} -else - list="" - dir="" - if [ $# -eq 2 ] - then - # - # second usage - # - f=$1 - dir=$DIST_ROOT/$2 - if $Dflag - then - mkdir -p `dirname $dir` - fi - $CP $f $dir - status=$? - if [ $status -eq 0 ] - then - if [ -f $dir/$f ] - then - $CHMOD $FILEMODE $dir/$f - status=$? - if [ $status -eq 0 ] - then - $CHOWN $OWNER $GROUP $dir/$f - status=$? - fi - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f - else - $CHMOD $FILEMODE $dir - status=$? - if [ $status -eq 0 ] - then - $CHOWN $OWNER $GROUP $dir - status=$? - fi - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT} - fi - fi - else - # - # third usage - # - n=1 - while [ $# -gt 0 ] - do - if [ $# -gt 1 ] - then - list="$list $1" - else - dir=$DIST_ROOT/$1 - fi - shift - done - - # echo DIR=$dir list=\"$list\" - for f in $list - do - $CP $f $dir - status=$? - if [ $status -eq 0 ] - then - $CHMOD $FILEMODE $dir/$f - status=$? - if [ $status -eq 0 ] - then - $CHOWN $OWNER $GROUP $dir/$f - status=$? - fi - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f - fi - [ $status -ne 0 ] && break - done - fi -fi - -exit $status -- 2.13.0.rc0.306.g87b477812d-goog -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html