#include "doc1.h"
#include "foo.h"
#include "config.h"

#include <stdio.h>

int generated();
int wrapped();

int main ()
{
  if (generated()*wrapped()*doc() == 3*5*7)
    {
    FILE* fin = fopen(PROJECT_BINARY_DIR "/not_included.h", "r");
    if(fin)
      {
      fclose(fin);
      return 0;
      }
    else
      {
      return -2;
      }
    }
  
  return -1;
}

