From 0403024cd6763fff3a0118b15e68c0f7fe4766d5 Mon Sep 17 00:00:00 2001 From: Sami Tolvanen Date: Mon, 28 Sep 2015 17:05:11 +0100 Subject: fec: enable building on Mac Enable the host libfec and the fec tool to be built on Mac with the help of . Change-Id: I5e7c9fac11f4a00814bad92734e703ec8dc22dc9 --- libfec/Android.mk | 6 ++---- libfec/fec_open.cpp | 9 ++++++++- libfec/fec_private.h | 1 + verity/fec/Android.mk | 6 ++---- verity/fec/image.cpp | 9 ++++++++- verity/fec/image.h | 1 + 6 files changed, 22 insertions(+), 10 deletions(-) diff --git a/libfec/Android.mk b/libfec/Android.mk index 4ca563e4..45fb19ec 100644 --- a/libfec/Android.mk +++ b/libfec/Android.mk @@ -38,13 +38,13 @@ LOCAL_STATIC_LIBRARIES := \ $(common_static_libraries) include $(BUILD_STATIC_LIBRARY) -ifeq ($(HOST_OS),linux) - include $(CLEAR_VARS) LOCAL_CFLAGS := $(common_cflags) -D_GNU_SOURCE -DFEC_NO_KLOG LOCAL_C_INCLUDES := $(common_c_includes) LOCAL_CLANG := true +ifeq ($(HOST_OS),linux) LOCAL_SANITIZE := integer +endif LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_MODULE := libfec_host LOCAL_SRC_FILES := $(common_src_files) @@ -55,6 +55,4 @@ LOCAL_STATIC_LIBRARIES := \ $(common_static_libraries) include $(BUILD_HOST_STATIC_LIBRARY) -endif # HOST_OS == linux - include $(LOCAL_PATH)/test/Android.mk diff --git a/libfec/fec_open.cpp b/libfec/fec_open.cpp index f25aa7fb..1923406f 100644 --- a/libfec/fec_open.cpp +++ b/libfec/fec_open.cpp @@ -14,7 +14,6 @@ * limitations under the License. */ -#include #include #include #include @@ -24,6 +23,14 @@ extern "C" { #include } +#if defined(__linux__) + #include +#elif defined(__APPLE__) + #include + #define BLKGETSIZE64 DKIOCGETBLOCKCOUNT + #define fdatasync(fd) fcntl((fd), F_FULLFSYNC) +#endif + #include "fec_private.h" /* used by `find_offset'; returns metadata size for a file size `size' and diff --git a/libfec/fec_private.h b/libfec/fec_private.h index fab81cfe..21758990 100644 --- a/libfec/fec_private.h +++ b/libfec/fec_private.h @@ -31,6 +31,7 @@ #include #include +#include #include #include #include diff --git a/verity/fec/Android.mk b/verity/fec/Android.mk index 774878d4..c13f5775 100644 --- a/verity/fec/Android.mk +++ b/verity/fec/Android.mk @@ -1,10 +1,10 @@ LOCAL_PATH:= $(call my-dir) -ifeq ($(HOST_OS),linux) - include $(CLEAR_VARS) LOCAL_CLANG := true +ifeq ($(HOST_OS),linux) LOCAL_SANITIZE := integer +endif LOCAL_MODULE := fec LOCAL_SRC_FILES := main.cpp image.cpp LOCAL_MODULE_TAGS := optional @@ -21,8 +21,6 @@ LOCAL_CFLAGS += -Wall -Werror -O3 LOCAL_C_INCLUDES += external/fec include $(BUILD_HOST_EXECUTABLE) -endif # HOST_OS == linux - include $(CLEAR_VARS) LOCAL_CLANG := true LOCAL_SANITIZE := integer diff --git a/verity/fec/image.cpp b/verity/fec/image.cpp index 7acf4c87..41018158 100644 --- a/verity/fec/image.cpp +++ b/verity/fec/image.cpp @@ -26,7 +26,6 @@ extern "C" { #include #include #include -#include #include #include #include @@ -39,6 +38,14 @@ extern "C" { #endif #include "image.h" +#if defined(__linux__) + #include +#elif defined(__APPLE__) + #include + #define BLKGETSIZE64 DKIOCGETBLOCKCOUNT + #define O_LARGEFILE 0 +#endif + void image_init(image *ctx) { memset(ctx, 0, sizeof(*ctx)); diff --git a/verity/fec/image.h b/verity/fec/image.h index a7f55530..f235eb58 100644 --- a/verity/fec/image.h +++ b/verity/fec/image.h @@ -17,6 +17,7 @@ #ifndef __FEC_H__ #define __FEC_H__ +#include #include #include -- cgit v1.2.3