-include <file>

Henry Cejtin henry@sourcelight.com
Fri, 29 Jun 2001 03:33:00 -0500


The point is that the search rules used for
    #include "file"
and
    #include <file>
are a bit different.  The main difference is that in the double-quote case it
will first look in the directory that the C file is in, while in  the  angle-
bracket case it won't.  (I think that this is the only difference, and if you
add the `-I.', then they will do the same thing.)

The relevance is that MLton puts the C file some  place  different  from  the
.sml  file,  and so it will fail to include .h files in the same directory as
the .sml file.  (In theory, even worse, it WILL include files that happen  to
be in /tmp.)

I  would  say that the best solution is to just use angle brackets instead of
double quotes, and mention that that is what we do.  Then if some  one  wants
to  use  a  .h  file  in their current directory, they can just add the `-I.'
option.  This will keep them from getting junk in /tmp and will also be  what
they would expect from the fact that it is angle brackets.