[COMMITTED] check-wrapper-headers test: Adjust Fortran include file directory
Commit Message
The check for "/finclude/" fails with the actual location of
Fortran headers because they are now stored in the "finclude"
subdirectory of the top-level include directory, so a relative path
does not contain a slash '/' before the "finclude" string.
2019-03-07 Florian Weimer <fweimer@redhat.com>
* scripts/check-wrapper-headers.py (check_headers): Adjust Fortran
header check.
Comments
On Thu, Mar 7, 2019 at 11:33 AM Florian Weimer <fweimer@redhat.com> wrote:
>
> The check for "/finclude/" fails with the actual location of
> Fortran headers because they are now stored in the "finclude"
> subdirectory of the top-level include directory, so a relative path
> does not contain a slash '/' before the "finclude" string.
For future-proofing, the script should do both checks:
if header.startswith("finclude/") or "/finclude/" in header:
(I'm working on a patch series which, among other things, removes all
of the installed headers from the top-level include directory.)
zw
* Zack Weinberg:
> On Thu, Mar 7, 2019 at 11:33 AM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> The check for "/finclude/" fails with the actual location of
>> Fortran headers because they are now stored in the "finclude"
>> subdirectory of the top-level include directory, so a relative path
>> does not contain a slash '/' before the "finclude" string.
>
> For future-proofing, the script should do both checks:
>
> if header.startswith("finclude/") or "/finclude/" in header:
>
> (I'm working on a patch series which, among other things, removes all
> of the installed headers from the top-level include directory.)
This is the relative installed path, relative to the include directory,
which is put into the headers make variable.
I expect that Fortran headers will live exclusively in
/usr/include/finclude, which is why I'm not checking for finclude
subdirectories.
Thanks,
Florian
On Thu, Mar 7, 2019 at 12:24 PM Florian Weimer <fweimer@redhat.com> wrote:
>
> This is the relative installed path, relative to the include directory,
> which is put into the headers make variable.
>
> I expect that Fortran headers will live exclusively in
> /usr/include/finclude, which is why I'm not checking for finclude
> subdirectories.
Oh, OK, that's fine then.
zw
@@ -76,7 +76,7 @@ def check_headers(args):
is_nonsysdep_header = os.access(header, os.R_OK)
if is_nonsysdep_header:
# Skip Fortran header files.
- if '/finclude/' in header:
+ if header.startswith("finclude/"):
continue
include_path = os.path.join(args.root, INCLUDE, header)