Jacky Wang
Jacky Wang

Reputation: 3520

Some confusion about gevent (cffi) setup

In Gevent 1.1, there are two backends, cython and cffi. What I confuse is _corecffi_build.py.

In line 331,

ffi.set_source('gevent._corecffi', _source, include_dirs=include_dirs)

I do not know why ffi.set_source does not specify sources to include related c files. And _source only contains some declarations.

How the c source files are included?

Upvotes: 0

Views: 252

Answers (1)

Jason Madden
Jason Madden

Reputation: 586

The "c source files" are included in a libev-specific way. In the _source string we #define LIBEV_EMBED before we #include "libev.h". Setting that macro causes libev.h itself to #include "ev.c", which is all the source libev needs.

Upvotes: 1

Related Questions