distutils -- compiling extension twice, two sets of compiler settings
Hi, maybe someone here could help me by using distutils: my problem is that I have some C++ files that I need to get compiled twice, first to make a "singleFloat"-module using gcc -DUSE_DOUBLE=0 and then to make the "doubleFloat"-module using gcc -DUSE_DOUBLE=1. Apparently distutils recognises (like "make") that the object files are already there and skips the gcc for the second run. My setup.py so far is something like this: ext_ccg_s = Extension('_CCG_smodule', [ 'Priithon_25_C/ccg/CCG_caller.cpp', 'Priithon_25_C/ccg/ccg_funct.cpp', 'Priithon_25_C/ccg/ccg.cpp', 'Priithon_25_C/ccg/CCG_s_wrap.cxx', ], define_macros=[('USE_DOUBLE', '0'),], ) ext_ccg_d = Extension('_CCG_dmodule', [ 'Priithon_25_C/ccg/CCG_caller.cpp', 'Priithon_25_C/ccg/ccg_funct.cpp', 'Priithon_25_C/ccg/ccg.cpp', 'Priithon_25_C/ccg/CCG_d_wrap.cxx', ], define_macros=[('USE_DOUBLE', '1'),], ) setup(... ext_package='Priithon_bin', ext_modules=[ext_ccg_s, ext_ccg_d], ) Thanks for any help, -- Sebastian Haase
Would two brand new .cpp files abusing of #include do the trick?
For example, for '_CCG_dmodule':
//file: CCG_dmodule.cxx
#define USE_DOUBLE 1
#include "CCG_caller.cpp"
#include "ccg_funct.cpp"
#include "ccg.cpp"
#include "CCG_d_wrap.cxx"
Then you can use:
ext_ccg_d = Extension('_CCG_dmodule',
['Priithon_25_C/ccg/CCG_dmodule.cxx'],
depends=[
Hi,
maybe someone here could help me by using distutils: my problem is that I have some C++ files that I need to get compiled twice, first to make a "singleFloat"-module using gcc -DUSE_DOUBLE=0 and then to make the "doubleFloat"-module using gcc -DUSE_DOUBLE=1.
Apparently distutils recognises (like "make") that the object files are already there and skips the gcc for the second run. My setup.py so far is something like this: ext_ccg_s = Extension('_CCG_smodule', [ 'Priithon_25_C/ccg/CCG_caller.cpp', 'Priithon_25_C/ccg/ccg_funct.cpp', 'Priithon_25_C/ccg/ccg.cpp', 'Priithon_25_C/ccg/CCG_s_wrap.cxx', ], define_macros=[('USE_DOUBLE', '0'),], ) ext_ccg_d = Extension('_CCG_dmodule', [ 'Priithon_25_C/ccg/CCG_caller.cpp', 'Priithon_25_C/ccg/ccg_funct.cpp', 'Priithon_25_C/ccg/ccg.cpp', 'Priithon_25_C/ccg/CCG_d_wrap.cxx', ], define_macros=[('USE_DOUBLE', '1'),], ) setup(... ext_package='Priithon_bin', ext_modules=[ext_ccg_s, ext_ccg_d], )
Thanks for any help,
-- Sebastian Haase _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
-- Lisandro Dalcín --------------- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594
participants (2)
-
Lisandro Dalcin
-
Sebastian Haase