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

Min-Hua Chen posted 1 patch 2 months, 2 weeks ago
There is a newer version of this series
tools/power/cpupower/bindings/python/Makefile                 | 4 ++--
.../python/{raw_pylibcpupower.i => raw_pylibcpupower.if}      | 0
2 files changed, 2 insertions(+), 2 deletions(-)
rename tools/power/cpupower/bindings/python/{raw_pylibcpupower.i => raw_pylibcpupower.if} (100%)
[PATCH v2 for-next] pm: cpupower: rename raw_pylibcpupower.i
Posted by Min-Hua Chen 2 months, 2 weeks ago
All *.i files will be removed by 'make mrproper',
including raw_pylibcpupower.i, added by
commit: 338f490e07bc ("pm:cpupower: Add SWIG bindings files for libcpupower")

We can reproduce the error by performing the following command:
cd linux-next
make mrproper
cd tools/power/cpupower/bindings/python
make

We will get an error message:
make: *** No rule to make target 'raw_pylibcpupower.i', needed by 'raw_pylibcpupower_wrap.c'.  Stop.

To fix it, rename raw_pylibcpupower.i to raw_pylibcpupower.if.

Reviewed-by: John B. Wyatt IV <jwyatt@redhat.com>
Reviewed-by: John B. Wyatt IV <sageofredondo@gmail.com>
Tested-by: John B. Wyatt IV <jwyatt@redhat.com>
Tested-by: John B. Wyatt IV <sageofredondo@gmail.com>
Signed-off-by: Min-Hua Chen <minhuadotchen@gmail.com>
---
 tools/power/cpupower/bindings/python/Makefile                 | 4 ++--
 .../python/{raw_pylibcpupower.i => raw_pylibcpupower.if}      | 0
 2 files changed, 2 insertions(+), 2 deletions(-)
 rename tools/power/cpupower/bindings/python/{raw_pylibcpupower.i => raw_pylibcpupower.if} (100%)

diff --git a/tools/power/cpupower/bindings/python/Makefile b/tools/power/cpupower/bindings/python/Makefile
index dc09c5b66ead..de872a1b80d3 100644
--- a/tools/power/cpupower/bindings/python/Makefile
+++ b/tools/power/cpupower/bindings/python/Makefile
@@ -20,13 +20,13 @@ _raw_pylibcpupower.so: raw_pylibcpupower_wrap.o
 raw_pylibcpupower_wrap.o: raw_pylibcpupower_wrap.c
 	$(CC) -fPIC -c raw_pylibcpupower_wrap.c $(PY_INCLUDE)
 
-raw_pylibcpupower_wrap.c: raw_pylibcpupower.i
+raw_pylibcpupower_wrap.c: raw_pylibcpupower.if
 ifeq ($(HAVE_SWIG),0)
 	$(error "swig was not found. Make sure you have it installed and in the PATH to generate the bindings.")
 else ifeq ($(HAVE_PYCONFIG),0)
 	$(error "python-config was not found. Make sure you have it installed and in the PATH to generate the bindings.")
 endif
-	swig -python raw_pylibcpupower.i
+	swig -python raw_pylibcpupower.if
 
 # Will only clean the bindings folder; will not clean the actual cpupower folder
 clean:
diff --git a/tools/power/cpupower/bindings/python/raw_pylibcpupower.i b/tools/power/cpupower/bindings/python/raw_pylibcpupower.if
similarity index 100%
rename from tools/power/cpupower/bindings/python/raw_pylibcpupower.i
rename to tools/power/cpupower/bindings/python/raw_pylibcpupower.if
-- 
2.43.0
Re: [PATCH v2 for-next] pm: cpupower: rename raw_pylibcpupower.i
Posted by John B. Wyatt IV 2 months, 2 weeks ago
On Fri, Sep 13, 2024 at 07:01:00AM +0800, Min-Hua Chen wrote:

> To fix it, rename raw_pylibcpupower.i to raw_pylibcpupower.if.

Would you please rename this to .swg instead?

'''
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

I tested it and .swg is not removed by 'make clean' or 'make mrproper'.

My apologies for the extra work Min-Hua. I can send a quick patch
instead if you wish.

-- 
Sincerely,
John Wyatt
Software Engineer, Core Kernel
Red Hat
Re: [PATCH v2 for-next] pm: cpupower: rename raw_pylibcpupower.i
Posted by Min-Hua Chen 2 months, 2 weeks ago
>On Fri, Sep 13, 2024 at 07:01:00AM +0800, Min-Hua Chen wrote:
>
>> To fix it, rename raw_pylibcpupower.i to raw_pylibcpupower.if.
>
>Would you please rename this to .swg instead?

No problem, I will send patch v3 for this.

>
>'''
>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.
>'''

Thanks for sharing the document, using .swg extension looks a better solution.


cheers,
Min-Hua

>
>https://www.swig.org/Doc4.2/SWIG.html
>
>I tested it and .swg is not removed by 'make clean' or 'make mrproper'.
>
>My apologies for the extra work Min-Hua. I can send a quick patch
>instead if you wish.
Re: [PATCH v2 for-next] pm: cpupower: rename raw_pylibcpupower.i
Posted by Shuah Khan 2 months, 2 weeks ago
On 9/13/24 10:38, John B. Wyatt IV wrote:
> On Fri, Sep 13, 2024 at 07:01:00AM +0800, Min-Hua Chen wrote:
> 
>> To fix it, rename raw_pylibcpupower.i to raw_pylibcpupower.if.
> 
> Would you please rename this to .swg instead?
> 
> '''
> 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
> 
> I tested it and .swg is not removed by 'make clean' or 'make mrproper'.

That is expected.

.i extension is used for a C pre-processor out, hence the need to
mrprpoer and clean remove it. Because of that reason, using .i
will not work for swig interface files.

We build files to debug problems and to check the pre-processor
output. So changing mrproper and cleans to not remove .i would
leave the tree dirty.

This is the reason why I wanted to understand the problem to come up
with a solutions than renaming the file with .if extension.

Please add this information to the changelog so it is clear that
.i extenion will not work for swig files that get added to kernel repos.

> 
> My apologies for the extra work Min-Hua. I can send a quick patch
> instead if you wish.
> 

+1 - Yes please send me the patch with renaming it with .swg extension.

thanks,
-- Shuah