<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 18, 2013 at 6:17 PM, Karl Rupp <span dir="ltr"><<a href="mailto:rupp@mcs.anl.gov" target="_blank">rupp@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":5ft">some packages such as OpenCL and OpenGL may be located in different subfolders depending on which OS we're on:<br>
Mac OS: OpenCL/*.h and OpenGL/*.h<br>
other: CL/*.h and GL/*.h<br>
How is this properly translated into BuildSystem-specific package files? In opengl.py I only find<br>
self.includes = ['OpenGL/gl.h']<br>
and I can confirm that it fails to find the headers on my machine (Linux Mint). However, if I change the line in opengl.py to ['GL/gl.h'], everything works as expected.<br></div></blockquote><div><br></div><div style>
We test each variant until we find one that works. I don't think there is an automatic way to do that currently so you'd have to call checkCompile() in sequence.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":5ft">
So, the question is: How to deal with these OS-specific things? Within header files there is the standard<br>
#if defined(__APPLE__)<br></div></blockquote><div><br></div><div style>We (almost) never do this in the C file because it's fragile and fails too late. Instead, configure would normally test and set a macro indicating how to do it safely.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":5ft">
approach, but how does this translate to BuildSystem?</div></blockquote></div><br><br></div></div>