24 #ifdef PXR_BASE_TF_PY_MODULE_H
25 #error This file should only be included once in any given source (.cpp) file.
27 #define PXR_BASE_TF_PY_MODULE_H
35 #include <hboost/preprocessor/cat.hpp>
36 #include <hboost/python/module.hpp>
50 static void WrapModule();
56 const char* packageModule,
57 const char* packageName,
58 const char* packageTag,
59 const char* packageTag2);
75 #if PY_MAJOR_VERSION == 2
87 hboost::python::detail::init_module
89 TF_PP_CAT(&init_module_, MFB_PACKAGE_NAME));
108 hboost::python::detail::init_module
110 TF_PP_CAT(&init_module_, MFB_PACKAGE_NAME));
128 static struct PyModuleDef moduledef = {
129 PyModuleDef_HEAD_INIT,
141 return hboost::python::detail::init_module(moduledef,
149 static struct PyModuleDef moduledef = {
150 PyModuleDef_HEAD_INIT,
162 return hboost::python::detail::init_module(moduledef,
169 #define TF_WRAP_MODULE static void WrapModule()
172 #define TF_WRAP(x) ARCH_HIDDEN void wrap ## x (); wrap ## x ()
PXR_NAMESPACE_OPEN_SCOPE TF_API void Tf_PyInitWrapModule(void(*wrapModule)(), const char *packageModule, const char *packageName, const char *packageTag, const char *packageTag2)
#define TF_PP_STRINGIZE(x)
Expand and convert the argument to a string, using a most minimal macro.
#define PXR_NAMESPACE_USING_DIRECTIVE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
ARCH_EXPORT void HBOOST_PP_CAT(init_module_, MFB_PACKAGE_NAME)()