File tree 7 files changed +21
-17
lines changed 7 files changed +21
-17
lines changed Original file line number Diff line number Diff line change 12
12
13
13
def main ():
14
14
parser = argparse .ArgumentParser (usage = inspect .cleandoc (__doc__ or "" ))
15
- parser .add_argument ("package_name " )
15
+ parser .add_argument ("module_package_name " )
16
16
parser .add_argument ("name" )
17
17
parser .add_argument ("pyproject_toml" , type = pathlib .Path )
18
18
parser .add_argument ("pcfile" , type = pathlib .Path )
19
19
parser .add_argument ("--libinit-py" )
20
20
args = parser .parse_args ()
21
21
22
- package_name = args .package_name
22
+ module_package_name = args .module_package_name
23
23
project = PyProject (args .pyproject_toml )
24
24
25
- module = project .get_extension (package_name )
25
+ module = project .get_extension (module_package_name )
26
26
depends = project .get_extension_deps (module )
27
27
28
- pc_install_path = project .package_root / pathlib .Path (* package_name .split ("." ))
28
+ pc_install_path = project .package_root / pathlib .Path (* module_package_name .split ("." )[: - 1 ] )
29
29
make_pc_file (
30
30
project_root = project .root ,
31
31
pcfile = args .pcfile ,
@@ -36,6 +36,7 @@ def main():
36
36
includes = module .includes ,
37
37
depends = depends ,
38
38
libinit_py = args .libinit_py ,
39
+ generator_name = "semiwrap.cmd_gen_pkgconf" ,
39
40
)
40
41
41
42
Original file line number Diff line number Diff line change @@ -47,6 +47,7 @@ def main():
47
47
includes = cfg .includedir ,
48
48
depends = cfg .requires ,
49
49
libinit_py = None ,
50
+ generator_name = "semiwrap.cmd_publish_casters" ,
50
51
)
51
52
52
53
#
Original file line number Diff line number Diff line change @@ -14,11 +14,13 @@ def make_pc_file(
14
14
includes : T .List [str ],
15
15
depends : T .List [str ],
16
16
libinit_py : T .Optional [str ],
17
+ generator_name : str ,
17
18
):
18
19
19
20
pc_content = [
20
- "# automatically generated by semiwrap " ,
21
+ f "# automatically generated by { generator_name } " ,
21
22
"prefix=${pcfiledir}" ,
23
+ f"# pc_install_path: { pc_install_path } "
22
24
]
23
25
24
26
if libinit_py :
@@ -28,7 +30,7 @@ def make_pc_file(
28
30
29
31
for i , inc in enumerate (includes ):
30
32
includedir = project_root / pathlib .PurePosixPath (inc )
31
- rel = includedir .relative_to (pc_install_path . parent )
33
+ rel = includedir .relative_to (pc_install_path , walk_up = True )
32
34
pc_content .append (f"inc{ i } =${{prefix}}/{ rel .as_posix ()} " )
33
35
cflags .append (f"-I${{inc{ i } }}" )
34
36
Original file line number Diff line number Diff line change @@ -75,8 +75,8 @@ def project(self):
75
75
) from e
76
76
return self ._project
77
77
78
- def get_extension (self , package_name : str ) -> ExtensionModuleConfig :
79
- return self .project .extension_modules [package_name ]
78
+ def get_extension (self , module_package_name : str ) -> ExtensionModuleConfig :
79
+ return self .project .extension_modules [module_package_name ]
80
80
81
81
def get_extension_deps (self , extension : ExtensionModuleConfig ) -> T .List [str ]:
82
82
deps = []
Original file line number Diff line number Diff line change 1
- /src /swtest_base /sw-caster-test-pybind11 .pc
2
- /src /swtest_base /sw-caster-test-pybind11 .pybind11.json
1
+ /src /swtest_base /sw-caster-test-casters .pc
2
+ /src /swtest_base /sw-caster-test-casters .pybind11.json
3
3
/src /swtest_base /trampolines
Original file line number Diff line number Diff line change @@ -20,18 +20,18 @@ packages = ['src/swtest_base']
20
20
21
21
[tool .semiwrap ]
22
22
[tool .semiwrap .extension_modules ."swtest_base ._module" ]
23
- depends = [" sw-test-base-pybind11 " ]
23
+ depends = [" sw-test-base-casters " ]
24
24
includes = [" src/swtest_base/cpp" ]
25
25
26
26
[tool .semiwrap .extension_modules ."swtest_base ._module" .headers ]
27
27
fn = " cpp/fn.h"
28
28
base_class = " cpp/baseclass.h"
29
29
30
30
31
- [tool .semiwrap .export_type_casters .sw-test-base-pybind11 ]
31
+ [tool .semiwrap .export_type_casters .sw-test-base-casters ]
32
32
pypackage = " swtest_base"
33
33
includedir = [" src/swtest_base/cpp/type_casters" ]
34
34
35
- [[tool .semiwrap .export_type_casters .sw-test-base-pybind11 .headers ]]
35
+ [[tool .semiwrap .export_type_casters .sw-test-base-casters .headers ]]
36
36
header = " inty_cast.h"
37
37
types = [" inty" ]
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ packages = ["src/swtest"]
21
21
[tool .semiwrap ]
22
22
23
23
[tool .semiwrap .extension_modules ."swtest .ft ._ft" ]
24
- depends = [" sw-test-pybind11 " ]
24
+ depends = [" sw-test-casters " ]
25
25
wraps = [" swtest_base__module" ]
26
26
yaml_path = " wrapcfg/ft"
27
27
includes = [" src/swtest/ft/include" ]
@@ -99,16 +99,16 @@ tnested = "templates/nested.h"
99
99
100
100
101
101
102
- [tool .semiwrap .export_type_casters .sw-test-pybind11 ]
102
+ [tool .semiwrap .export_type_casters .sw-test-casters ]
103
103
pypackage = " swtest.tc"
104
104
includedir = [" src/swtest/tc/include" ]
105
105
106
- [[tool .semiwrap .export_type_casters .sw-test-pybind11 .headers ]]
106
+ [[tool .semiwrap .export_type_casters .sw-test-casters .headers ]]
107
107
header = " rpyint_type_caster.h"
108
108
types = [" rpy::rpyint" ]
109
109
default_arg_cast = true
110
110
111
- [[tool .semiwrap .export_type_casters .sw-test-pybind11 .headers ]]
111
+ [[tool .semiwrap .export_type_casters .sw-test-casters .headers ]]
112
112
header = " rpyint_type_caster.h"
113
113
types = [" rpyint_plus_5" ]
114
114
You can’t perform that action at this time.
0 commit comments