From ca82d22bed7651819dabbb8e64d3c42526ee4867 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Mon, 21 Mar 2016 23:43:41 -0400 Subject: [PATCH] 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 --- MCONFIG.in | 8 ++++---- lib/ext2fs/unix_io.c | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MCONFIG.in b/MCONFIG.in index 25835d4c..e15b8559 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 33654e40..e419e9d9 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 -- 2.11.0