Hi Steven,
Well, isn't this addressable in Boost PP?
No. Boost.PP can't change how the compiler searches for headers.
I obviously didn't mean this. See below please.
I mean, can Boost PP just not make its expansion compatible with this cross-compiler issue?
Like I have also said above, I am asking for Boost PP to adapt itself with this cross-platform issue. To put it differently, why is BOOST_PP_FILENAME_1 not portable? Can Boost PP please address that?
I ran into this same problem also and ended up just using a non-relative name of the form
for all compilers as the easiest solution. But, this requires my clients to copy my stuff under their local Boost directory, right?
No. That's just a specific example. You just need to make sure that the header is in the compiler's include path.
Sorry I'm quite puzzled with your words above.
From what I can read in the Section on Self Iteration under A.4.1.2 in:
http://www.boostpro.com/tmpbook/preprocessor.html
for Self Iteration, the file passed to BOOST_PP_FILENAME_1 needs to be the same file that I'm using BOOST_PP_FILENAME_1 in.
Let's say that I'm using BOOST_PP_FILENAME_1 in Header.hpp. From what I understand of the above link, I should have the following line at the appropriate part of my Header.hpp to get Self Iteration:
#define BOOST_PP_FILENAME_1 "Header.hpp"
Now, are you telling me that I can replace the above line with, say, the following?
#define BOOST_PP_FILENAME_1