title: include headers to OpenCL .cl file
body: <p>I've written an OpenCL kernel in a <code>.cl</code> file.  It attempts to <code>#include</code> several headers.</p>
  
  <p>Its compilation fails, since the included header files are "not found".
  I am aware that <code>clBuildProgram</code> can take the <code>-I dir</code> option, which adds the directory <code>dir</code> to the list of directories to be searched for the header files.</p>
  
  <p>In the khronus site forum this post <a href="http://www.khronos.org/message_boards/viewtopic.php?f=37&amp;t=2535" rel="noreferrer">http://www.khronos.org/message_boards/viewtopic.php?f=37&amp;t=2535</a> talks about the issue.</p>
  
  <p>They propose  to use <code>clCreateProgramWithSource</code> which specifies all sources (including .h files).</p>
  
  <p>I have a questions regarding this issue:</p>
  
  <ol>
  <li>Which option is better? (<code>clBuildProgram</code> vs. <code>clCreateProgramWithSource</code>, as described above)</li>
  <li>If  I use  <code>clCreateProgramWithSource</code> how does the compiler know what to include? I mean, which source stands for which included file name?</li>
  <li>If I use <code>clBuildProgram</code> and there are several directories with include files, how do I specify them?</li>
  </ol>