title: Python CFFI doesn't copy typedef from cdef() into generated C file
body: <p>I'm feeding a generated header file into <code>ffi.cdef()</code>, with a bunch of typedefs like this at the beginning:</p>
  
  <pre class="lang-c prettyprint-override"><code>typedef enum
  {
      LE_GPIO_EDGE_NONE = 0,
      LE_GPIO_EDGE_RISING = 1,
      // ...etc...
  }
  le_gpio_Edge_t;
  </code></pre>
  
  <p>Then I try to compile it:</p>
  
  <pre class="lang-py prettyprint-override"><code>with open(args.api_name + '_cdef.h') as f:
      cdef = f.read()
  
  ffibuilder.cdef(cdef)
  if __name__ == "__main__":
      ffibuilder.compile(verbose=True)
  </code></pre>
  
  <p>But it generates C code like this:</p>
  
  <pre class="lang-c prettyprint-override"><code>static int _cffi_const_LE_GPIO_EDGE_RISING(unsigned long long *o)
  {
    int n = (LE_GPIO_EDGE_RISING) &lt;= 0;
    *o = (unsigned long long)((LE_GPIO_EDGE_RISING) | 0);  /* check that LE_GPIO_EDGE_RISING is an integer */
    return n;
  }
  </code></pre>
  
  <p>Which causes the build to fail, because the symbol <code>LE_GPIO_EDGE_RISING</code> isn't defined anywhere (or referenced anywhere else)</p>
  
  <pre><code>le_gpio.c: In function ‘_cffi_const_LE_GPIO_EDGE_RISING’:
  le_gpio.c:494:12: error: ‘LE_GPIO_EDGE_RISING’ undeclared (first use in this function)
      int n = (LE_GPIO_EDGE_RISING) &lt;= 0;
  </code></pre>