Re: Problem building xfsprogs

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

 



On Wed, Jul 23, 2014 at 07:47:27AM +1000, Dave Chinner wrote:
> On Tue, Jul 22, 2014 at 04:09:51PM -0500, scameron@xxxxxxxxxxxxxxxxxx wrote:
> > On Wed, Jul 23, 2014 at 06:56:05AM +1000, Dave Chinner wrote:
> > > Nothing built in the include directory - is this a clean build area?
> > 
> > Well, it was originally clean, but I did try the build several
> > times (not sure why I thought trying it again might help, but
> > in any case I suppose the subsequent attempts may not have been
> > considered clean.)
> > 
> > So, I just tried a fresh checkout with the same results:
> > 
> > [relliott@msablackburn ~]$ rm -fr xfsprogs
> > [relliott@msablackburn ~]$ git clone git://oss.sgi.com/xfs/cmds/xfsprogs
> > Initialized empty Git repository in /home/relliott/xfsprogs/.git/
> > remote: Counting objects: 14359, done.
> > remote: Compressing objects: 100% (5042/5042), done.
> > remote: Total 14359 (delta 11622), reused 11396 (delta 9306)
> > Receiving objects: 100% (14359/14359), 4.43 MiB | 1.34 MiB/s, done.
> > Resolving deltas: 100% (11622/11622), done.
> > [relliott@msablackburn ~]$ cd xfsprogs
> > [relliott@msablackburn xfsprogs]$ make
> ....
> > checking for gmake... /usr/bin/gmake
> > checking for tar... /bin/tar
> > checking for gzip... /bin/gzip
> > checking whether gcc -MM is supported... yes
> 
> So, the $MAKEDEP variable should be fine....
> 
> > [relliott@msablackburn xfsprogs]$ make realclean; make Q=
> ...
> > aclocal -I m4
> > autoconf
> > ./configure $LOCAL_CONFIGURE_OPTIONS
> > checking build system type... x86_64-unknown-linux-gnu
> > checking host system type... x86_64-unknown-linux-gnu
> > checking for gcc... gcc
> > checking for C compiler default output file name... a.out
> > checking whether the C compiler works... yes
> > checking whether we are cross compiling... no
> > checking for suffix of executables... 
> > checking for suffix of object files... o
> > checking whether we are using the GNU C compiler... yes
> > checking whether gcc accepts -g... yes
> > checking for gcc option to accept ISO C89... none needed
> > checking for a sed that does not truncate output... /bin/sed
> > checking for grep that handles long lines and -e... /bin/grep
> > checking for egrep... /bin/grep -E
> > checking for fgrep... /bin/grep -F
> > checking for ld used by gcc... /usr/bin/ld
> > checking if the linker (/usr/bin/ld) is GNU ld... yes
> > checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
> > checking the name lister (/usr/bin/nm -B) interface... BSD nm
> > checking whether ln -s works... yes
> > checking the maximum length of command line arguments... 1572864
> > checking whether the shell understands some XSI constructs... yes
> > checking whether the shell understands "+="... yes
> > checking for /usr/bin/ld option to reload object files... -r
> > checking for objdump... objdump
> > checking how to recognize dependent libraries... pass_all
> > checking for ar... ar
> > checking for strip... strip
> > checking for ranlib... ranlib
> > checking command to parse /usr/bin/nm -B output from gcc object... ok
> > checking how to run the C preprocessor... gcc -E
> > checking for ANSI C header files... yes
> > checking for sys/types.h... yes
> > checking for sys/stat.h... yes
> > checking for stdlib.h... yes
> > checking for string.h... yes
> > checking for memory.h... yes
> > checking for strings.h... yes
> > checking for inttypes.h... yes
> > checking for stdint.h... yes
> > checking for unistd.h... yes
> > checking for dlfcn.h... yes
> > checking for objdir... .libs
> > checking if gcc supports -fno-rtti -fno-exceptions... no
> > checking for gcc option to produce PIC... -fPIC -DPIC
> > checking if gcc PIC flag -fPIC -DPIC works... yes
> > checking if gcc static flag -static works... no
> > checking if gcc supports -c -o file.o... yes
> > checking if gcc supports -c -o file.o... (cached) yes
> > checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
> > checking whether -lc should be explicitly linked in... no
> > checking dynamic linker characteristics... GNU/Linux ld.so
> > checking how to hardcode library paths into programs... immediate
> > checking whether stripping libraries is possible... yes
> > checking if libtool supports shared libraries... yes
> > checking whether to build shared libraries... yes
> > checking whether to build static libraries... yes
> > checking for gcc... (cached) gcc
> > checking whether we are using the GNU C compiler... (cached) yes
> > checking whether gcc accepts -g... (cached) yes
> > checking for gcc option to accept ISO C89... (cached) none needed
> > checking for gcc... (cached) gcc
> > checking whether we are using the GNU C compiler... (cached) yes
> > checking whether gcc accepts -g... (cached) yes
> > checking for gcc option to accept ISO C89... (cached) none needed
> > checking for gmake... /usr/bin/gmake
> > checking for tar... /bin/tar
> > checking for gzip... /bin/gzip
> > checking whether gcc -MM is supported... yes
> > checking for awk... /bin/awk
> > checking for sort... /bin/sort
> > checking whether ln -s works... yes
> > checking for msgfmt... /usr/bin/msgfmt
> > checking for msgmerge... /usr/bin/msgmerge
> > checking for xgettext... /usr/bin/xgettext
> > checking for rpm... /bin/rpm
> > checking for rpmbuild... /usr/bin/rpmbuild
> > checking aio.h usability... yes
> > checking aio.h presence... yes
> > checking for aio.h... yes
> > checking for lio_listio... no
> > checking for lio_listio in -lrt... yes
> > checking uuid.h usability... yes
> > checking uuid.h presence... yes
> > checking for uuid.h... yes
> > checking sys/uuid.h usability... no
> > checking sys/uuid.h presence... no
> > checking for sys/uuid.h... no
> > checking uuid/uuid.h usability... yes
> > checking uuid/uuid.h presence... yes
> > checking for uuid/uuid.h... yes
> > checking for uuid_compare... no
> > checking for uuid_compare in -luuid... yes
> > checking pthread.h usability... yes
> > checking pthread.h presence... yes
> > checking for pthread.h... yes
> > checking for pthread_mutex_init in -lpthread... yes
> > checking for fadvise ... yes
> > checking for madvise ... yes
> > checking for mincore ... yes
> > checking for sendfile ... yes
> > checking for getmntent ... yes
> > checking for getmntinfo ... no
> > checking for fallocate... yes
> > checking for fiemap... yes
> > checking for preadv... yes
> > checking for sync_file_range... yes
> > checking for library containing blkid_probe_all... -lblkid
> > checking for blkid_probe_get_topology... yes
> > checking for readdir... yes
> > checking size of long... 8
> > checking size of char *... 8
> > checking for __psint_t ... no
> > checking for __psunsigned_t ... no
> > checking for __u32 ... yes
> > checking for umode_t... yes
> > configure: creating ./config.status
> > config.status: creating include/builddefs
> > config.status: creating include/platform_defs.h
> > config.status: executing libtool commands
> > make --no-print-directory Q= -C . default
> > /usr/bin/gmake --no-print-directory Q= include libxfs libxlog libxcmd libhandle libdisk copy db estimate fsck fsr growfs io logprint mkfs quota mdrestore repair rtcp m4 man doc po debian
> > Building include
> > /usr/bin/gmake --no-print-directory Q= -q -C include || /usr/bin/gmake --no-print-directory Q= -C include
> >     [LN]     xfs
> > ln -s . xfs
> >     [LN]     disk
> > ln -s . disk
> > Building libxfs
> > /usr/bin/gmake --no-print-directory Q= -q -C libxfs || /usr/bin/gmake --no-print-directory Q= -C libxfs
> >     [CC]     gen_crc32table
> > gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT   -o gen_crc32table gen_crc32table.c
> >     [GENERATE] crc32table.h
> > ./gen_crc32table > crc32table.h
> 
> But it's not running the dependency generation rule here, which is
> what generates the .ltdep file.
> 
> Can you please attach the built include/builddefs and
> include/platform_defs.h files that autoconf built?

Attached.

> 
> Also, what version of autoconf are you running?

[relliott@msablackburn include]$ autoconf --version
autoconf (GNU Autoconf) 2.63
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later
<http://gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.
[relliott@msablackburn include]$ 

-- steve

#
# Copyright (c) 2004-2006 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.
#
# 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
#
# include/builddefs.  Generated from builddefs.in by configure.
#

ifndef _BUILDDEFS_INCLUDED_
_BUILDDEFS_INCLUDED_ = 1

DEBUG = -DDEBUG
OPTIMIZER = -g -O2
MALLOCLIB = 
LOADERFLAGS = 
LTLDFLAGS = 
CFLAGS = -g -O2

LIBRT = -lrt
LIBUUID = -luuid
LIBPTHREAD = -lpthread
LIBTERMCAP = 
LIBEDITLINE = 
LIBREADLINE = 
LIBBLKID = -lblkid
LIBXFS = $(TOPDIR)/libxfs/libxfs.la
LIBXCMD = $(TOPDIR)/libxcmd/libxcmd.la
LIBXLOG = $(TOPDIR)/libxlog/libxlog.la
LIBDISK = $(TOPDIR)/libdisk/libdisk.la
LIBHANDLE = $(TOPDIR)/libhandle/libhandle.la

PKG_NAME	= xfsprogs
PKG_USER	= relliott
PKG_GROUP	= relliott
PKG_RELEASE	= 1
PKG_VERSION	= 3.2.1
PKG_PLATFORM	= srcv
PKG_DISTRIBUTION= Linux

prefix		= /usr
exec_prefix	= ${prefix}
datarootdir	= ${prefix}/share
top_builddir	= ..

PKG_SBIN_DIR	= ${exec_prefix}/sbin
PKG_ROOT_SBIN_DIR = /sbin
PKG_ROOT_LIB_DIR= /lib64
PKG_LIB_DIR	= ${exec_prefix}/lib64
PKG_INC_DIR	= ${prefix}/include/xfs
DK_INC_DIR	= ${prefix}/include/disk
PKG_MAN_DIR	= ${datarootdir}/man
PKG_DOC_DIR	= ${datarootdir}/doc/xfsprogs
PKG_LOCALE_DIR	= ${datarootdir}/locale

CC		= gcc
AWK		= /bin/awk
SED		= /bin/sed
TAR		= /bin/tar
ZIP		= /bin/gzip
MAKE		= /usr/bin/gmake
ECHO		= echo
SORT		= /bin/sort
LN_S		= ln -s
SHELL		= /bin/sh
LIBTOOL		= $(SHELL) $(top_builddir)/libtool
MAKEDEPEND	= gcc -MM

MSGFMT		= /usr/bin/msgfmt
MSGMERGE	= /usr/bin/msgmerge
XGETTEXT	= /usr/bin/xgettext
LOCALIZED_FILES	=  $(TOPDIR)/./copy/xfs_copy.c $(TOPDIR)/./repair/dir2.c $(TOPDIR)/./repair/incore.c $(TOPDIR)/./repair/phase7.c $(TOPDIR)/./repair/threads.c $(TOPDIR)/./repair/phase6.c $(TOPDIR)/./repair/xfs_repair.c $(TOPDIR)/./repair/avl64.c $(TOPDIR)/./repair/incore_bmc.c $(TOPDIR)/./repair/attr_repair.c $(TOPDIR)/./repair/agheader.c $(TOPDIR)/./repair/progress.c $(TOPDIR)/./repair/phase2.c $(TOPDIR)/./repair/btree.c $(TOPDIR)/./repair/dinode.c $(TOPDIR)/./repair/globals.c $(TOPDIR)/./repair/phase4.c $(TOPDIR)/./repair/incore_ino.c $(TOPDIR)/./repair/incore_ext.c $(TOPDIR)/./repair/phase3.c $(TOPDIR)/./repair/dino_chunks.c $(TOPDIR)/./repair/phase1.c $(TOPDIR)/./repair/prefetch.c $(TOPDIR)/./repair/sb.c $(TOPDIR)/./repair/init.c $(TOPDIR)/./repair/versions.c $(TOPDIR)/./repair/rt.c $(TOPDIR)/./repair/avl.c $(TOPDIR)/./repair/phase5.c $(TOPDIR)/./repair/scan.c $(TOPDIR)/./repair/bmap.c $(TOPDIR)/./rtcp/xfs_rtcp.c $(TOPDIR)/./libxlog/xfs_log_recover.c $(TOPDIR)/./libxlog/util.c $(TOPDIR)/./logprint/log_print_trans.c $(TOPDIR)/./logprint/log_copy.c $(TOPDIR)/./logprint/logprint.c $(TOPDIR)/./logprint/log_dump.c $(TOPDIR)/./logprint/log_print_all.c $(TOPDIR)/./logprint/log_misc.c $(TOPDIR)/./libxfs/xfs_inode_fork.c $(TOPDIR)/./libxfs/gen_crc32table.c $(TOPDIR)/./libxfs/xfs_attr_leaf.c $(TOPDIR)/./libxfs/xfs_da_btree.c $(TOPDIR)/./libxfs/xfs_dir2.c $(TOPDIR)/./libxfs/trans.c $(TOPDIR)/./libxfs/xfs_sb.c $(TOPDIR)/./libxfs/xfs_dir2_data.c $(TOPDIR)/./libxfs/xfs_ialloc_btree.c $(TOPDIR)/./libxfs/xfs_ialloc.c $(TOPDIR)/./libxfs/xfs_inode_buf.c $(TOPDIR)/./libxfs/xfs_symlink_remote.c $(TOPDIR)/./libxfs/xfs_bmap.c $(TOPDIR)/./libxfs/xfs_btree.c $(TOPDIR)/./libxfs/xfs_log_rlimit.c $(TOPDIR)/./libxfs/xfs_rtbitmap.c $(TOPDIR)/./libxfs/xfs_alloc_btree.c $(TOPDIR)/./libxfs/xfs_dir2_block.c $(TOPDIR)/./libxfs/xfs_bmap_btree.c $(TOPDIR)/./libxfs/xfs_dir2_node.c $(TOPDIR)/./libxfs/darwin.c $(TOPDIR)/./libxfs/xfs_dir2_sf.c $(TOPDIR)/./libxfs/util.c $(TOPDIR)/./libxfs/radix-tree.c $(TOPDIR)/./libxfs/logitem.c $(TOPDIR)/./libxfs/linux.c $(TOPDIR)/./libxfs/freebsd.c $(TOPDIR)/./libxfs/xfs_alloc.c $(TOPDIR)/./libxfs/xfs_dir2_leaf.c $(TOPDIR)/./libxfs/xfs_dquot_buf.c $(TOPDIR)/./libxfs/xfs_attr.c $(TOPDIR)/./libxfs/init.c $(TOPDIR)/./libxfs/xfs_trans_resv.c $(TOPDIR)/./libxfs/crc32.c $(TOPDIR)/./libxfs/kmem.c $(TOPDIR)/./libxfs/rdwr.c $(TOPDIR)/./libxfs/xfs_attr_remote.c $(TOPDIR)/./libxfs/irix.c $(TOPDIR)/./libxfs/cache.c $(TOPDIR)/./growfs/xfs_growfs.c $(TOPDIR)/./libhandle/jdm.c $(TOPDIR)/./libhandle/handle.c $(TOPDIR)/./libxcmd/help.c $(TOPDIR)/./libxcmd/input.c $(TOPDIR)/./libxcmd/paths.c $(TOPDIR)/./libxcmd/quit.c $(TOPDIR)/./libxcmd/command.c $(TOPDIR)/./libxcmd/projects.c $(TOPDIR)/./estimate/xfs_estimate.c $(TOPDIR)/./libdisk/xvm.c $(TOPDIR)/./libdisk/fstype.c $(TOPDIR)/./libdisk/evms.c $(TOPDIR)/./libdisk/pttype.c $(TOPDIR)/./libdisk/md.c $(TOPDIR)/./libdisk/drivers.c $(TOPDIR)/./libdisk/lvm.c $(TOPDIR)/./libdisk/dm.c $(TOPDIR)/./db/help.c $(TOPDIR)/./db/symlink.c $(TOPDIR)/./db/dir2.c $(TOPDIR)/./db/field.c $(TOPDIR)/./db/type.c $(TOPDIR)/./db/debug.c $(TOPDIR)/./db/sig.c $(TOPDIR)/./db/convert.c $(TOPDIR)/./db/text.c $(TOPDIR)/./db/check.c $(TOPDIR)/./db/strvec.c $(TOPDIR)/./db/flist.c $(TOPDIR)/./db/input.c $(TOPDIR)/./db/io.c $(TOPDIR)/./db/btblock.c $(TOPDIR)/./db/attrset.c $(TOPDIR)/./db/agi.c $(TOPDIR)/./db/fprint.c $(TOPDIR)/./db/dquot.c $(TOPDIR)/./db/attrshort.c $(TOPDIR)/./db/bmroot.c $(TOPDIR)/./db/output.c $(TOPDIR)/./db/inode.c $(TOPDIR)/./db/quit.c $(TOPDIR)/./db/agf.c $(TOPDIR)/./db/hash.c $(TOPDIR)/./db/echo.c $(TOPDIR)/./db/agfl.c $(TOPDIR)/./db/write.c $(TOPDIR)/./db/command.c $(TOPDIR)/./db/print.c $(TOPDIR)/./db/freesp.c $(TOPDIR)/./db/block.c $(TOPDIR)/./db/sb.c $(TOPDIR)/./db/init.c $(TOPDIR)/./db/metadump.c $(TOPDIR)/./db/malloc.c $(TOPDIR)/./db/bit.c $(TOPDIR)/./db/addr.c $(TOPDIR)/./db/frag.c $(TOPDIR)/./db/attr.c $(TOPDIR)/./db/bmap.c $(TOPDIR)/./db/dir2sf.c $(TOPDIR)/./db/faddr.c $(TOPDIR)/./mdrestore/xfs_mdrestore.c $(TOPDIR)/./quota/free.c $(TOPDIR)/./quota/quot.c $(TOPDIR)/./quota/quota.c $(TOPDIR)/./quota/state.c $(TOPDIR)/./quota/edit.c $(TOPDIR)/./quota/darwin.c $(TOPDIR)/./quota/util.c $(TOPDIR)/./quota/project.c $(TOPDIR)/./quota/path.c $(TOPDIR)/./quota/linux.c $(TOPDIR)/./quota/report.c $(TOPDIR)/./quota/freebsd.c $(TOPDIR)/./quota/init.c $(TOPDIR)/./quota/irix.c $(TOPDIR)/./mkfs/maxtrres.c $(TOPDIR)/./mkfs/xfs_mkfs.c $(TOPDIR)/./mkfs/fstyp.c $(TOPDIR)/./mkfs/proto.c $(TOPDIR)/./io/parent.c $(TOPDIR)/./io/seek.c $(TOPDIR)/./io/file.c $(TOPDIR)/./io/madvise.c $(TOPDIR)/./io/resblks.c $(TOPDIR)/./io/freeze.c $(TOPDIR)/./io/fsync.c $(TOPDIR)/./io/mmap.c $(TOPDIR)/./io/fadvise.c $(TOPDIR)/./io/prealloc.c $(TOPDIR)/./io/inject.c $(TOPDIR)/./io/fiemap.c $(TOPDIR)/./io/sendfile.c $(TOPDIR)/./io/pwrite.c $(TOPDIR)/./io/link.c $(TOPDIR)/./io/getrusage.c $(TOPDIR)/./io/sync_file_range.c $(TOPDIR)/./io/pread.c $(TOPDIR)/./io/readdir.c $(TOPDIR)/./io/shutdown.c $(TOPDIR)/./io/mincore.c $(TOPDIR)/./io/open.c $(TOPDIR)/./io/init.c $(TOPDIR)/./io/imap.c $(TOPDIR)/./io/truncate.c $(TOPDIR)/./io/attr.c $(TOPDIR)/./io/bmap.c $(TOPDIR)/./fsr/xfs_fsr.c

RPM		= /bin/rpm
RPMBUILD	= /usr/bin/rpmbuild
RPM_VERSION	= 4

ENABLE_SHARED	= yes
ENABLE_GETTEXT	= yes
ENABLE_EDITLINE	= no
ENABLE_READLINE	= no
ENABLE_BLKID	= yes

HAVE_ZIPPED_MANPAGES = false

HAVE_FADVISE = yes
HAVE_MADVISE = yes
HAVE_MINCORE = yes
HAVE_SENDFILE = yes
HAVE_GETMNTENT = yes
HAVE_GETMNTINFO = 
HAVE_FALLOCATE = yes
HAVE_FIEMAP = yes
HAVE_PREADV = yes
HAVE_SYNC_FILE_RANGE = yes
HAVE_READDIR = yes

GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall 
#	   -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl

ifeq ($(PKG_PLATFORM),linux)
PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS)
ifeq ($(HAVE_UMODE_T),yes)
PCFLAGS += -DHAVE_UMODE_T
endif
DEPENDFLAGS = -D__linux__
endif
ifeq ($(PKG_PLATFORM),gnukfreebsd)
PCFLAGS = -D_GNU_SOURCE $(GCCFLAGS)
endif
ifeq ($(PKG_PLATFORM),darwin)
PCFLAGS = -traditional-cpp $(GCCFLAGS)
DEPENDFLAGS = -D__APPLE__
endif
ifeq ($(PKG_PLATFORM),irix)
PLDLIBS = -ldisk -lgen
DEPENDFLAGS = -D__sgi__
endif
ifeq ($(PKG_PLATFORM),freebsd)
PLDLIBS = -L/usr/local/lib -lintl
PCFLAGS = -I/usr/local/include $(GCCFLAGS)
DEPENDFLAGS = -D__FreeBSD__
endif

GCFLAGS = $(OPTIMIZER) $(DEBUG) \
	  -DVERSION=\"$(PKG_VERSION)\" -DLOCALEDIR=\"$(PKG_LOCALE_DIR)\"  \
	  -DPACKAGE=\"$(PKG_NAME)\" -I$(TOPDIR)/include

ifeq ($(ENABLE_GETTEXT),yes)
GCFLAGS += -DENABLE_GETTEXT
endif

# First, Global, Platform, Local CFLAGS
CFLAGS += $(FCFLAGS) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)

include $(TOPDIR)/include/buildmacros

endif

#
# For targets that should always be rebuilt,
# define a target that is never up-to-date.
# Targets needing this should depend on $(_FORCE)
_FORCE = __force_build
/* include/platform_defs.h.  Generated from platform_defs.h.in by configure.  */
/*
 * Copyright (c) 2000-2005 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 Lesser 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser 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
 *
 * @configure_input@
 */
#ifndef __XFS_PLATFORM_DEFS_H__
#define __XFS_PLATFORM_DEFS_H__

#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <stdarg.h>
#include <assert.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <unistd.h>
#include <pthread.h>
#include <ctype.h>
#include <sys/types.h>
#include <limits.h>
#include <stdbool.h>

#define HAVE___U32 1
#ifdef HAVE___U32
#include <asm/types.h>
#else
typedef unsigned char		__u8;
typedef signed char		__s8;
typedef unsigned short		__u16;
typedef signed short		__s16;
typedef unsigned int		__u32;
typedef signed int		__s32;
typedef unsigned long long int	__u64;
typedef signed long long int	__s64;
#endif

#ifdef __CHECKER__
#define __bitwise		__attribute__((bitwise))
#define __force			__attribute__((force))
#else
#define __bitwise
#define __force
#endif

typedef __u16	__bitwise	__le16;
typedef __u32	__bitwise	__le32;
typedef __u64	__bitwise	__le64;

typedef __u16	__bitwise	__be16;
typedef __u32	__bitwise	__be32;
typedef __u64	__bitwise	__be64;

typedef struct filldir		filldir_t;

#if defined(__linux__)
#include <xfs/linux.h>
#elif defined(__FreeBSD__)
#include <xfs/freebsd.h>
#elif defined(__FreeBSD_kernel__)
#include <xfs/gnukfreebsd.h>
#elif defined(__APPLE__)
#include <xfs/darwin.h>
#elif defined(__sgi__) || defined(__sgi)
#include <xfs/irix.h>
#else
# error unknown platform... have fun porting!
#endif

/* long and pointer must be either 32 bit or 64 bit */
#define SIZEOF_LONG 8
#define SIZEOF_CHAR_P 8
#define BITS_PER_LONG (SIZEOF_LONG * CHAR_BIT)

/* Check if __psint_t is set to something meaningful */
/* #undef HAVE___PSINT_T */
#ifndef HAVE___PSINT_T
# if (SIZEOF_CHAR_P * CHAR_BIT) == 32
typedef int __psint_t;
# elif (SIZEOF_CHAR_P * CHAR_BIT) == 64
#  if BITS_PER_LONG == 64
typedef long __psint_t;
#  else
/* This is a very strange architecture, which has 64 bit pointers but */
/* not 64 bit longs.  So, just punt here and assume long long is OK.  */
typedef long long __psint_t;
#  endif
# else
#  error Unknown pointer size
# endif
#endif

/* Check if __psunsigned_t is set to something meaningful */
/* #undef HAVE___PSUNSIGNED_T */
#ifndef HAVE___PSUNSIGNED_T
# if (SIZEOF_CHAR_P * CHAR_BIT) == 32
typedef unsigned int __psunsigned_t;
# elif (SIZEOF_CHAR_P * CHAR_BIT) == 64
#  if BITS_PER_LONG == 64
typedef long __psunsigned_t;
#  else
/* This is a very strange architecture, which has 64 bit pointers but */
/* not 64 bit longs.  So, just punt here and assume long long is OK.  */
typedef unsigned long long __psunsigned_t;
#  endif
# else
#  error Unknown pointer size
# endif
#endif

/* Check whether to define umode_t ourselves. */
#ifndef HAVE_UMODE_T
typedef unsigned short umode_t;
#endif

/* Define if you want gettext (I18N) support */
/* #undef ENABLE_GETTEXT */
#ifdef ENABLE_GETTEXT
# include <libintl.h>
# define _(x)                   gettext(x)
# define N_(x)			 x
#else
# define _(x)                   (x)
# define N_(x)			 x
# define textdomain(d)          do { } while (0)
# define bindtextdomain(d,dir)  do { } while (0)
#endif
#include <locale.h>

#ifdef DEBUG
# define ASSERT(EX)	assert(EX)
#else
# define ASSERT(EX)	((void) 0)
#endif

/*
 * sparse kernel source annotations
 */
#ifndef __user
#define __user
#endif

#define IRIX_DEV_BITSMAJOR      14
#define IRIX_DEV_BITSMINOR      18
#define IRIX_DEV_MAXMAJ         0x1ff
#define IRIX_DEV_MAXMIN         0x3ffff
#define IRIX_DEV_MAJOR(dev)	((int)(((unsigned)(dev) >> IRIX_DEV_BITSMINOR) \
					& IRIX_DEV_MAXMAJ))
#define IRIX_DEV_MINOR(dev)	((int)((dev) & IRIX_DEV_MAXMIN))
#define IRIX_MKDEV(major,minor)	((xfs_dev_t)(((major) << IRIX_DEV_BITSMINOR) \
					| (minor&IRIX_DEV_MAXMIN)))
#define IRIX_DEV_TO_KDEVT(dev)	makedev(IRIX_DEV_MAJOR(dev),IRIX_DEV_MINOR(dev))

/* ARM old ABI has some weird alignment/padding */
#if defined(__arm__) && !defined(__ARM_EABI__)
#define __arch_pack __attribute__((packed))
#else
#define __arch_pack
#endif

#ifndef min
#define min(a,b)	(((a)<(b))?(a):(b))
#define max(a,b)	(((a)>(b))?(a):(b))
#endif

#endif	/* __XFS_PLATFORM_DEFS_H__ */
_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs

[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux