Re: [RFC PATCH for-next] pm: cpupower: rename raw_pylibcpupower.i

From: John B. Wyatt IV
Date: Fri Sep 13 2024 - 12:35:38 EST


On Fri, Sep 13, 2024 at 06:55:19AM +0800, Min-Hua Chen wrote:
> AFAIK,
> raw_pylibcpupower.i is not a generated file, it is a interface file
> for swig.

That is correct. You can do more advanced things to help SWIG handle
different languages, but so far with the script I wrote for libcpupower
simply copying the definition files as worked for me for the .i file.

See:
https://www.swig.org/Doc4.2/Preprocessor.html#Preprocessor

> The *.i file extension is also used for pre-processor output
> (single target build) and all *.i files are removed by 'make mrproper',
> including raw_pylibcpupower.i (should not be removed).

That would explain it. Not just 'make mrproper', but 'make clean'
in the root removes the file as well. 'make clean' in the tools
directory does not affect it.

>From 'man gcc':

file.i
C source code that should not be preprocessed.

> >
> >> I have reviewed and tested and this. I am good with it being a stopgap.
> >
> >I am okay with the stopgap, but I do want i explore other solutions.

Reviewing the documentation a better solution would be to rename it to .swg

'''
5.1.1 Input format

As input, SWIG expects a file containing ISO C/C++ declarations and special
SWIG directives. More often than not, this is a special SWIG interface file
which is usually denoted with a special .i or .swg suffix.
'''

https://www.swig.org/Doc4.2/SWIG.html

--
Sincerely,
John Wyatt
Software Engineer, Core Kernel
Red Hat