@@ -261,6 +261,20 @@ extern "C" {
261
261
return nullptr ; \
262
262
} \
263
263
264
+ #if PY_MAJOR_VERSION >= 3
265
+ #define PYBIND11_DETAIL_MODULE_STATIC_DEF (name ) \
266
+ static PyModuleDef PYBIND11_CONCAT (pybind11_module_def_, name);
267
+ #define PYBIND11_DETAIL_MODULE_CREATE (name ) \
268
+ auto m = ::pybind11::detail::create_top_level_module( \
269
+ PYBIND11_TOSTRING (name), nullptr, \
270
+ &PYBIND11_CONCAT(pybind11_module_def_, name));
271
+ #else
272
+ #define PYBIND11_DETAIL_MODULE_STATIC_DEF (name )
273
+ #define PYBIND11_DETAIL_MODULE_CREATE (name ) \
274
+ auto m = ::pybind11::detail::create_top_level_module( \
275
+ PYBIND11_TOSTRING (name), nullptr);
276
+ #endif
277
+
264
278
/* * \rst
265
279
***Deprecated in favor of PYBIND11_MODULE***
266
280
@@ -309,19 +323,6 @@ extern "C" {
309
323
});
310
324
}
311
325
\endrst */
312
- #if PY_MAJOR_VERSION >= 3
313
- #define PYBIND11_DETAIL_MODULE_STATIC_DEF (name ) \
314
- static PyModuleDef PYBIND11_CONCAT (pybind11_module_def_, name);
315
- #define PYBIND11_DETAIL_MODULE_CREATE (name ) \
316
- auto m = ::pybind11::detail::create_top_level_module( \
317
- PYBIND11_TOSTRING (name), nullptr, \
318
- &PYBIND11_CONCAT(pybind11_module_def_, name));
319
- #else
320
- #define PYBIND11_DETAIL_MODULE_STATIC_DEF (name )
321
- #define PYBIND11_DETAIL_MODULE_CREATE (name ) \
322
- auto m = ::pybind11::detail::create_top_level_module( \
323
- PYBIND11_TOSTRING (name), nullptr);
324
- #endif
325
326
#define PYBIND11_MODULE (name, variable ) \
326
327
PYBIND11_DETAIL_MODULE_STATIC_DEF (name) \
327
328
PYBIND11_MAYBE_UNUSED \
0 commit comments