From: Theodore Ts'o Date: Tue, 22 Mar 2016 03:43:41 +0000 (-0400) Subject: Fix FreeBSD portability problems X-Git-Tag: v1.43-WIP-2016-05-12~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ca82d22bed7651819dabbb8e64d3c42526ee4867;p=thirdparty%2Fe2fsprogs.git Fix FreeBSD portability problems FreeBSD doesn't have libintl support built into the libc, and libsupport requires libintl support. So we need to make sure it is available when we link against the libsupport library. Also, work around *BSD's interesting interpretation of how _XOPEN_SOURCE is supposed to work. Signed-off-by: Theodore Ts'o --- diff --git a/MCONFIG.in b/MCONFIG.in index 25835d4c5..e15b85597 100644 --- a/MCONFIG.in +++ b/MCONFIG.in @@ -116,14 +116,14 @@ LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@ LIBUUID = @LIBUUID@ @SOCKET_LIB@ LIBMAGIC = @MAGIC_LIB@ LIBFUSE = @FUSE_LIB@ -LIBSUPPORT = $(LIB)/libsupport@STATIC_LIB_EXT@ +LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@STATIC_LIB_EXT@ LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID) LIBINTL = @LIBINTL@ SYSLIBS = @LIBS@ DEPLIBSS = $(LIB)/libss@LIB_EXT@ DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ DEPLIBUUID = @DEPLIBUUID@ -DEPLIBSUPPORT = $(LIBSUPPORT) +DEPLIBSUPPORT = $(LIB)/libsupport@STATIC_LIB_EXT@ DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID) TESTENV = LD_LIBRARY_PATH="$(LIB):$${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="$(LIB):$${DYLD_LIBRARY_PATH}" @@ -132,7 +132,7 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@ STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@ STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@ STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@ -STATIC_LIBSUPPORT = $(LIBSUPPORT) +STATIC_LIBSUPPORT = $(LIBINTL) $(LIBSUPPORT) STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID) DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @@ -145,7 +145,7 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@ PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@ PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@ PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@ -PROFILED_LIBSUPPORT = $(LIB)/libsupport@PROFILED_LIB_EXT@ +PROFILED_LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@PROFILED_LIB_EXT@ PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID) DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c index 33654e40c..e419e9d96 100644 --- a/lib/ext2fs/unix_io.c +++ b/lib/ext2fs/unix_io.c @@ -15,6 +15,7 @@ * %End-Header% */ +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) #define _XOPEN_SOURCE 600 #define _DARWIN_C_SOURCE #define _FILE_OFFSET_BITS 64 @@ -27,6 +28,7 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif +#endif #include "config.h" #include