diff --git a/dispatch/dispatch.h b/dispatch/dispatch.h index c865f8482..9869bc2ec 100644 --- a/dispatch/dispatch.h +++ b/dispatch/dispatch.h @@ -44,8 +44,8 @@ #endif #ifdef __linux__ -#ifdef __DISPATCH_BUILDING_SWIFT_MODULE__ -#include // for off_t +#if __has_feature(modules) +#include // for off_t (to match Glibc.modulemap) #endif #define DISPATCH_LINUX_UNAVAILABLE() \ __DISPATCH_UNAVAILABLE("This interface is unavailable on linux systems") diff --git a/dispatch/object.h b/dispatch/object.h index 041ee8116..8b2030138 100644 --- a/dispatch/object.h +++ b/dispatch/object.h @@ -108,7 +108,7 @@ typedef union { #define DISPATCH_RETURNS_RETAINED #endif -#if OS_OBJECT_SWIFT3 +#if OS_OBJECT_SWIFT3 && OS_OBJECT_USE_OBJC #define DISPATCH_SOURCE_TYPE_DECL(name) \ DISPATCH_EXPORT struct dispatch_source_type_s \ _dispatch_source_type_##name; \ diff --git a/src/Makefile.am b/src/Makefile.am index 58fa4ef12..f06a49347 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -149,7 +149,7 @@ SWIFT_GEN_FILES= \ $(SWIFT_OBJ_FILES:%=%.~partial.swiftdoc) \ $(SWIFT_OBJ_FILES:%=%.~partial.swiftdeps) -SWIFTC_FLAGS = -Xcc -D__DISPATCH_BUILDING_SWIFT_MODULE__=1 -Xcc -fmodule-map-file=$(abs_top_srcdir)/dispatch/module.modulemap -I$(abs_top_srcdir) -Xcc -fblocks +SWIFTC_FLAGS = -Xcc -fmodule-map-file=$(abs_top_srcdir)/dispatch/module.modulemap -I$(abs_top_srcdir) -Xcc -fblocks $(abs_builddir)/swift/%.o: $(abs_srcdir)/swift/%.swift $(SWIFTC) -frontend -c $(SWIFT_ABS_SRC_FILES) -primary-file $< \