diff --git a/ext/ffi_c/extconf.rb b/ext/ffi_c/extconf.rb index e41ca1a0d..23f466939 100644 --- a/ext/ffi_c/extconf.rb +++ b/ext/ffi_c/extconf.rb @@ -11,15 +11,15 @@ $CFLAGS.gsub!(/[\s+]-std=[^\s]+/, '') # solaris 10 needs -c99 for $CFLAGS << " -std=c99" if RbConfig::CONFIG['host_os'] =~ /solaris(!?2\.11)/ - + if ENV['RUBY_CC_VERSION'].nil? && (pkg_config("libffi") || have_header("ffi.h") || find_header("ffi.h", "/usr/local/include", "/usr/include/ffi")) - # We need at least ffi_call and ffi_prep_closure + # We need at least ffi_call and ffi_closure_alloc libffi_ok = have_library("ffi", "ffi_call", [ "ffi.h" ]) || have_library("libffi", "ffi_call", [ "ffi.h" ]) - libffi_ok &&= have_func("ffi_prep_closure") + libffi_ok &&= have_func("ffi_closure_alloc") # Check if the raw api is available. $defs << "-DHAVE_RAW_API" if have_func("ffi_raw_call") && have_func("ffi_prep_raw_closure") diff --git a/ext/ffi_c/libffi.bsd.mk b/ext/ffi_c/libffi.bsd.mk index 8caac052d..ab66256ef 100644 --- a/ext/ffi_c/libffi.bsd.mk +++ b/ext/ffi_c/libffi.bsd.mk @@ -3,11 +3,11 @@ # Makefile for BSD systems # -INCFLAGS += -I${LIBFFI_BUILD_DIR}/include LOCAL_LIBS += ${LIBFFI} -lpthread LIBFFI_CFLAGS = ${FFI_MMAP_EXEC} -pthread LIBFFI_BUILD_DIR = ${.CURDIR}/libffi-${arch} +INCFLAGS := -I${LIBFFI_BUILD_DIR}/include -I${INCFLAGS} .if ${srcdir} == "." LIBFFI_SRC_DIR := ${.CURDIR}/libffi diff --git a/ext/ffi_c/libffi.gnu.mk b/ext/ffi_c/libffi.gnu.mk index b6b3701c1..473b8fb9d 100644 --- a/ext/ffi_c/libffi.gnu.mk +++ b/ext/ffi_c/libffi.gnu.mk @@ -5,11 +5,11 @@ # Tack the extra deps onto the autogenerated variables -INCFLAGS += -I"$(LIBFFI_BUILD_DIR)"/include LOCAL_LIBS += $(LIBFFI) BUILD_DIR = $(shell pwd) LIBFFI_CFLAGS = $(FFI_MMAP_EXEC) LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi-$(arch) +INCFLAGS := -I"$(LIBFFI_BUILD_DIR)"/include $(INCFLAGS) ifeq ($(srcdir),.) LIBFFI_SRC_DIR := $(shell pwd)/libffi diff --git a/ext/ffi_c/libffi.vc.mk b/ext/ffi_c/libffi.vc.mk index c62e55ff0..8cd460351 100644 --- a/ext/ffi_c/libffi.vc.mk +++ b/ext/ffi_c/libffi.vc.mk @@ -4,7 +4,7 @@ # # Tack the extra deps onto the autogenerated variables -INCFLAGS = $(INCFLAGS) -I$(LIBFFI_BUILD_DIR)/include -I$(LIBFFI_BUILD_DIR)/src/x86 +INCFLAGS = -I$(LIBFFI_BUILD_DIR)/include -I$(LIBFFI_BUILD_DIR)/src/x86 $(INCFLAGS) LOCAL_LIBS = $(LOCAL_LIBS) $(LIBFFI) BUILD_DIR = $(MAKEDIR) LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi diff --git a/ext/ffi_c/libffi.vc64.mk b/ext/ffi_c/libffi.vc64.mk index 958294876..6f3dbbc84 100644 --- a/ext/ffi_c/libffi.vc64.mk +++ b/ext/ffi_c/libffi.vc64.mk @@ -4,7 +4,7 @@ # # Tack the extra deps onto the autogenerated variables -INCFLAGS = $(INCFLAGS) -I$(LIBFFI_BUILD_DIR)/include -I$(LIBFFI_BUILD_DIR)/src/x86 +INCFLAGS = -I$(LIBFFI_BUILD_DIR)/include -I$(LIBFFI_BUILD_DIR)/src/x86 $(INCFLAGS) LOCAL_LIBS = $(LOCAL_LIBS) $(LIBFFI) BUILD_DIR = $(MAKEDIR) LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi