Skip to content

Commit 933ab6d

Browse files
committed
Update JSON schema to allow ext-modules property
1 parent 60b037e commit 933ab6d

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

setuptools/config/setuptools.schema.json

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,11 @@
158158
"items": {"type": "string", "format": "python-module-name-relaxed"},
159159
"$comment": "TODO: clarify the relationship with ``packages``"
160160
},
161+
"ext-modules": {
162+
"description": "Extension modules to be compiled by setuptools",
163+
"type": "array",
164+
"items": {"$ref": "#/definitions/ext-module"}
165+
},
161166
"data-files": {
162167
"$$description": [
163168
"``dict``-like structure where each key represents a directory and",
@@ -254,6 +259,82 @@
254259
{"type": "string", "format": "pep561-stub-name"}
255260
]
256261
},
262+
"ext-module": {
263+
"$id": "#/definitions/ext-module",
264+
"title": "Extension module",
265+
"description": "Parameters to construct a :class:`setuptools.Extension` object",
266+
"type": "object",
267+
"required": ["name", "sources"],
268+
"additionalProperties": false,
269+
"properties": {
270+
"name": {
271+
"type": "string",
272+
"format": "python-module-name-relaxed"
273+
},
274+
"sources": {
275+
"type": "array",
276+
"items": {"type": "string"}
277+
},
278+
"include-dirs":{
279+
"type": "array",
280+
"items": {"type": "string"}
281+
},
282+
"define-macros": {
283+
"type": "array",
284+
"items": {
285+
"type": "array",
286+
"items": [
287+
{"description": "macro name", "type": "string"},
288+
{"description": "macro value", "oneOf": [{"type": "string"}, {"type": "null"}]}
289+
],
290+
"additionalItems": false
291+
}
292+
},
293+
"undef-macros": {
294+
"type": "array",
295+
"items": {"type": "string"}
296+
},
297+
"library-dirs": {
298+
"type": "array",
299+
"items": {"type": "string"}
300+
},
301+
"libraries": {
302+
"type": "array",
303+
"items": {"type": "string"}
304+
},
305+
"runtime-library-dirs": {
306+
"type": "array",
307+
"items": {"type": "string"}
308+
},
309+
"extra-objects": {
310+
"type": "array",
311+
"items": {"type": "string"}
312+
},
313+
"extra-compile-args": {
314+
"type": "array",
315+
"items": {"type": "string"}
316+
},
317+
"extra-link-args": {
318+
"type": "array",
319+
"items": {"type": "string"}
320+
},
321+
"export-symbols": {
322+
"type": "array",
323+
"items": {"type": "string"}
324+
},
325+
"swig-opts": {
326+
"type": "array",
327+
"items": {"type": "string"}
328+
},
329+
"depends": {
330+
"type": "array",
331+
"items": {"type": "string"}
332+
},
333+
"language": {"type": "string"},
334+
"optional": {"type": "boolean"},
335+
"py-limited-api": {"type": "boolean"}
336+
}
337+
},
257338
"file-directive": {
258339
"$id": "#/definitions/file-directive",
259340
"title": "'file:' directive",

0 commit comments

Comments
 (0)