@@ -20,11 +20,8 @@ def configuration(parent_package='',top_path=None):
2020 open (generate_umath_py ,'U' ),generate_umath_py ,
2121 ('.py' ,'U' ,1 ))
2222
23- package_include = join (local_dir , 'include' , 'scipy' )
24-
2523 def generate_config_h (ext , build_dir ):
26- #target = join(build_dir,'config.h')
27- target = join (package_include , 'config.h' )
24+ target = join (build_dir ,'config.h' )
2825 if newer (__file__ ,target ):
2926 config_cmd = config .get_config_cmd ()
3027 print 'Generating' ,target
@@ -83,34 +80,37 @@ def generate_config_h(ext, build_dir):
8380 target_f .close ()
8481
8582 ext .libraries .extend (mathlibs )
86- ext .include_dirs .append (os .path .dirname (target ))
83+
84+ incl_dir = os .path .dirname (target )
85+ if incl_dir not in config .scipy_include_dirs :
86+ config .scipy_include_dirs .append (incl_dir )
87+
88+ #if incl_dir not in ext.include_dirs:
89+ # ext.include_dirs.append(incl_dir)
90+
8791 config .add_data_files (target )
8892 return target
8993
9094 def generate_array_api (ext ,build_dir ):
91- #target = join(build_dir,'__multiarray_api.h')
92- target = join (package_include , '__multiarray_api.h' )
95+ target = join (build_dir ,'__multiarray_api.h' )
9396 script = join (codegen_dir ,'generate_array_api.py' )
9497 if newer (script ,target ):
9598 script = os .path .abspath (script )
9699 old_cwd = os .getcwd ()
97- #os.chdir(build_dir)
98- os .chdir (package_include )
100+ os .chdir (build_dir )
99101 print 'executing' ,script
100102 execfile (script ,{},{})
101103 os .chdir (old_cwd )
102104 config .add_data_files (target )
103105 return target
104106
105107 def generate_ufunc_api (ext ,build_dir ):
106- #target = join(build_dir,'__ufunc_api.h')
107- target = join (package_include , '__ufunc_api.h' )
108+ target = join (build_dir ,'__ufunc_api.h' )
108109 script = join (codegen_dir ,'generate_ufunc_api.py' )
109110 if newer (script ,target ):
110111 script = os .path .abspath (script )
111112 old_cwd = os .getcwd ()
112- #os.chdir(build_dir)
113- os .chdir (package_include )
113+ os .chdir (build_dir )
114114 print 'executing' ,script
115115 execfile (script ,{},{})
116116 os .chdir (old_cwd )
@@ -127,12 +127,10 @@ def generate_umath_c(ext,build_dir):
127127 f .close ()
128128 return []
129129
130- config .add_include_dirs ('include' ,'src' )
131- #config.add_headers(join('include','scipy','*.h'),name='scipy')
132- config .add_data_dir (join ('include' , 'scipy' ))
133- from scipy .distutils .command .build_src import appendpath
134- print "****%s****" % config .local_path
135- config .add_include_dirs (appendpath ('build/src' ,join (config .local_path ,'Src' )))
130+ config .add_headers (('scipy' ,join ('include' ,'scipy' ,'*.h' )))
131+ config .add_include_dirs ('src' )
132+
133+ config .scipy_include_dirs .extend (config .paths ('include' ))
136134
137135 deps = [join ('src' ,'arrayobject.c' ),
138136 join ('src' ,'arraymethods.c' ),
@@ -149,7 +147,7 @@ def generate_umath_c(ext,build_dir):
149147 join (codegen_dir ,'generate_array_api.py' ),
150148 join ('*.py' )
151149 ],
152- depends = deps
150+ depends = deps ,
153151 )
154152
155153 config .add_extension ('umath' ,
@@ -165,10 +163,14 @@ def generate_umath_c(ext,build_dir):
165163 join (codegen_dir ,'generate_ufunc_api.py' )
166164 ]+ deps ,
167165 )
168- config . add_include_dirs ( appendpath ( 'build/src' , config . local_path ))
166+
169167 config .add_extension ('_compiled_base' ,
170- sources = [join ('src' ,'_compiled_base.c' )],
168+ sources = [join ('src' ,'_compiled_base.c' ),
169+ generate_config_h ,
170+ generate_array_api ,
171+ ],
171172 )
173+
172174 config .add_data_dir ('tests' )
173175
174176 return config
0 commit comments