Subject: Re: [Boost-build] Automating the header compilation check. was : [boost] [thread] 1.36 thread.hpp compilation problem
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-09-05 13:20:19


----- Original Message -----
From: "Steven Watanabe" <watanabesj_at_[hidden]>
To: "Boost.Build developer's and user's list" <boost-build_at_[hidden]>
Cc: <boost_at_[hidden]>
Sent: Friday, September 05, 2008 4:48 PM
Subject: Re: [Boost-build] Automating the header compilation check. was :
[boost] [thread] 1.36 thread.hpp compilation problem

>
> AMDG
>
> vicente.botet wrote:
>> in my developement I use to include some tests that check that a header
>> file compiles. Other boost developers do the same. How this is done now?
>>
>> <snip>
>>
>> Even if this is simple, the creation of the file is tedious. Do you know
>> a simple way to do it?
>
> I've automated it for the Units library
> Take a look at the Jamfile in libs/units/test_headers
>

Hi,

It would be interesting to add this to the complete build, or to the
inspection script.

The rule takes all the files following the pattern *.hpp in the boost
directory.
Are there other files to check?
Do we need to check for all these files?

I don't know if all the files must follow this rule, in principle only the
public files need to follow it. I don't see any way to kwnow that other than
explicitly by the library owner. So maybe we need a rule that applies to
some specific files

test-suite units_headers :
  [ check_header : boost/header1.hpp ]
  [ check_header : boost/header2.hpp ]
  ...
  [ check_header : boost/headerN.hpp ]
  ;

If a library owner want to check for all the *.hpp files in its own
subdirectory she can write

test-suite units_headers :
  [ check_headers : ../../.. : boost/units : *.hpp ]

The check_header/s rule can be added to the testing module, as it is already
the case of compile, run, ...

Do you think that this should be added to boost?

Best,

Vicente