build: define _DARWIN_USE_64_BIT_INODE=1 on OS X

Fixes a segmentation fault on some OS X systems due to sizeof(struct stat)
mismatches.

Fixes #2061.
This commit is contained in:
Ben Noordhuis 2012-04-02 23:44:36 +02:00
parent 0965d2d9f6
commit ffee873941
2 changed files with 4 additions and 1 deletions

View File

@ -50,7 +50,7 @@ endif
ifeq (Darwin,$(uname_S)) ifeq (Darwin,$(uname_S))
EV_CONFIG=config_darwin.h EV_CONFIG=config_darwin.h
EIO_CONFIG=config_darwin.h EIO_CONFIG=config_darwin.h
CPPFLAGS += -Isrc/ares/config_darwin CPPFLAGS += -D_DARWIN_USE_64_BIT_INODE=1 -Isrc/ares/config_darwin
LINKFLAGS+=-framework CoreServices LINKFLAGS+=-framework CoreServices
OBJS += src/unix/darwin.o OBJS += src/unix/darwin.o
OBJS += src/unix/kqueue.o OBJS += src/unix/kqueue.o

View File

@ -469,6 +469,9 @@ def configure(conf):
conf.env.append_value('CPPFLAGS', '-D_LARGEFILE_SOURCE') conf.env.append_value('CPPFLAGS', '-D_LARGEFILE_SOURCE')
conf.env.append_value('CPPFLAGS', '-D_FILE_OFFSET_BITS=64') conf.env.append_value('CPPFLAGS', '-D_FILE_OFFSET_BITS=64')
if sys.platform.startswith('darwin'):
conf.env.append_value('CPPFLAGS', '-D_DARWIN_USE_64_BIT_INODE=1')
# Makes select on windows support more than 64 FDs # Makes select on windows support more than 64 FDs
if sys.platform.startswith("win32"): if sys.platform.startswith("win32"):
conf.env.append_value('CPPFLAGS', '-DFD_SETSIZE=1024'); conf.env.append_value('CPPFLAGS', '-DFD_SETSIZE=1024');