Re: [PATCH v3] Code to allow cros-compilation on chromeOS

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Tue, Apr 04, 2017 at 10:37:22AM -0700, Gwendal Grignou wrote:
> - 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.
> 
>  Makefile             |   7 +-
>  acinclude.m4         |  30 ++++++
>  aclocal.m4           |  50 ----------
>  configure.ac         |   3 +-
>  include/builddefs.in |   9 +-
>  install-sh           | 259 ---------------------------------------------------
>  6 files changed, 41 insertions(+), 317 deletions(-)
>  create mode 100644 acinclude.m4
>  delete mode 100644 aclocal.m4
>  delete mode 100755 install-sh
> 
> diff --git a/Makefile b/Makefile
> index 30d8747d..994a36ca 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
> +	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/acinclude.m4 b/acinclude.m4
> new file mode 100644
> index 00000000..666f4069
> --- /dev/null
> +++ b/acinclude.m4
> @@ -0,0 +1,30 @@
> +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)
> +  ])
> +
> +AC_DEFUN([AC_PACKAGE_WANT_LINUX_PRCTL_H],
> +  [ AC_CHECK_HEADERS([sys/prctl.h], [ have_prctl=true ], [ have_prctl=false ])
> +    AC_SUBST(have_prctl)
> +  ])
> +
> +AC_DEFUN([AC_PACKAGE_WANT_LINUX_FS_H],
> +  [ AC_CHECK_HEADER([linux/fs.h])
> +  ])
> +
> +AC_DEFUN([AC_PACKAGE_WANT_FALLOCATE],
> +  [ AC_MSG_CHECKING([for fallocate])
> +    AC_TRY_LINK([
> +#define _GNU_SOURCE
> +#define _FILE_OFFSET_BITS 64
> +#include <fcntl.h>
> +#include <linux/falloc.h> ],
> +      [ fallocate(0, 0, 0, 0); ],
> +      [ have_fallocate=true; AC_MSG_RESULT(yes) ],
> +      [ have_fallocate=false; AC_MSG_RESULT(no) ])
> +    AC_SUBST(have_fallocate)
> +  ])
> diff --git a/aclocal.m4 b/aclocal.m4
> deleted file mode 100644
> index f3412e19..00000000
> --- a/aclocal.m4
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -# 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.
> -
> -AC_DEFUN([AC_PACKAGE_WANT_LINUX_FIEMAP_H],
> -  [ AC_CHECK_HEADERS([linux/fiemap.h], [ have_fiemap=true ], [ have_fiemap=false ])
> -    AC_SUBST(have_fiemap)
> -  ])
> -
> -AC_DEFUN([AC_PACKAGE_WANT_LINUX_PRCTL_H],
> -  [ AC_CHECK_HEADERS([sys/prctl.h], [ have_prctl=true ], [ have_prctl=false ])
> -    AC_SUBST(have_prctl)
> -  ])
> -
> -AC_DEFUN([AC_PACKAGE_WANT_LINUX_FS_H],
> -  [ AC_CHECK_HEADER([linux/fs.h])
> -  ])
> -
> -AC_DEFUN([AC_PACKAGE_WANT_FALLOCATE],
> -  [ AC_MSG_CHECKING([for fallocate])
> -    AC_TRY_LINK([
> -#define _GNU_SOURCE
> -#define _FILE_OFFSET_BITS 64
> -#include <fcntl.h>
> -#include <linux/falloc.h> ],
> -      [ fallocate(0, 0, 0, 0); ],
> -      [ have_fallocate=true; AC_MSG_RESULT(yes) ],
> -      [ have_fallocate=false; AC_MSG_RESULT(no) ])
> -    AC_SUBST(have_fallocate)
> -  ])
> -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 246f92eb..2d7078bd 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])

Sorry, I didn't notice this in last review. But I don't know why this
AC_CONFIG_MACRO_DIR doesn't work on my RHEL6.9 system (it does work on
RHEL7), make reports:

configure.ac:5: error: possibly undefined macro: AC_PACKAGE_GLOBALS
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:6: error: possibly undefined macro: AC_PACKAGE_UTILITIES
...

Restoring all the "m4_include" in acinclude.m4 works for me. Just my
data point, not sure what's the proper fix.

Thanks,
Eryu
--
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



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux