@@ -122,7 +122,7 @@ def process_header(src, extern_py=False, implement_py=False, prefix='', flags=No
122122src_path = os .environ .get ('SRC_DIR' , '' )
123123DSS_CAPI_PATH = os .environ .get ('DSS_CAPI_PATH' , os .path .join (src_path , '..' , 'dss_capi' ))
124124
125- VERSIONS = ['dss_capi ' , 'dss_capid ' ]
125+ VERSIONS = ['altdss_capi ' , 'altdss_capid ' ]
126126if BUILD_ODDIE :
127127 VERSIONS .append ('altdss_oddie_capi' )
128128
@@ -131,35 +131,43 @@ def process_header(src, extern_py=False, implement_py=False, prefix='', flags=No
131131 debug = 'd' if version .endswith ('d' ) else ''
132132
133133 if 'oddie' not in version :
134- main_header_fn = os .path .join (DSS_CAPI_PATH , 'include' , 'dss_capi.h' )
135- dss_capi_ctx_path = os .path .join (DSS_CAPI_PATH , 'include' , 'dss_capi_ctx.h' )
136- # headers = [main_header_fn, dss_capi_ctx_path]
134+ main_header_fn = os .path .join (DSS_CAPI_PATH , 'include' , 'altdss' , 'capi' , 'dss_ctx.h' )
135+ common_header_fn = os .path .join (DSS_CAPI_PATH , 'include' , 'altdss' , 'capi' , 'common.h' )
136+ enums_header_fn = os .path .join (DSS_CAPI_PATH , 'include' , 'altdss' , 'capi' , 'enums.h' )
137+ # dss_capi_ctx_path = os.path.join(DSS_CAPI_PATH, 'include', 'altdss', 'capi', 'dss_ctx.h')
138+ extra_headers = [enums_header_fn , ]
137139 else :
138- main_header_fn = os .path .join (DSS_CAPI_PATH , 'include' , 'altdss' , 'altdss_oddie .h' )
140+ main_header_fn = os .path .join (DSS_CAPI_PATH , 'include' , 'altdss' , 'capi' , 'oddie .h' )
139141 dss_capi_ctx_path = None
140- # headers = [main_header_fn]
142+ common_header_fn = None
143+ extra_headers = []
144+
145+ if common_header_fn :
146+ with open (common_header_fn , 'r' ) as f :
147+ cffi_header_dss = process_header (f .read (), fn = common_header_fn )
148+ else :
149+ cffi_header_dss = ''
141150
142151 with open (main_header_fn , 'r' ) as f :
143- cffi_header_dss = process_header (f .read (), fn = main_header_fn )
152+ cffi_header_dss += process_header (f .read (), fn = main_header_fn )
153+
144154
145155 if 'oddie' not in version :
146- if os .path .exists (dss_capi_ctx_path ):
147- with open (dss_capi_ctx_path , 'r' ) as f :
148- cffi_header_dss += process_header (f .read ())
149-
156+ for extra_fn in extra_headers :
157+ if os .path .exists (extra_fn ):
158+ with open (extra_fn , 'r' ) as f :
159+ cffi_header_dss += process_header (f .read ())
160+
150161 with open ('cffi/dss_capi_custom.h' , 'r' ) as f :
151162 extra_header_dss = f .read ()
152163
153164 cffi_header_dss += extra_header_dss
154165
155166 with open ('cffi/dss_capi_custom.c' , 'r' ) as f :
156- if os .path .exists (dss_capi_ctx_path ):
157- extra_source_dss = '#include <dss_capi_ctx.h>\n '
158- extra_source_dss += f .read ()
159- else :
160- extra_source_dss = f .read ()
167+ extra_source_dss = '#include <altdss/capi/dss_ctx.h>\n '
168+ extra_source_dss += f .read ()
161169 else :
162- extra_source_dss = '#include <altdss_oddie .h>\n '
170+ extra_source_dss = '#include <altdss/capi/oddie .h>\n '
163171
164172 ffi_builder_dss .cdef (cffi_header_dss )
165173
@@ -170,7 +178,7 @@ def process_header(src, extern_py=False, implement_py=False, prefix='', flags=No
170178 ],
171179 include_dirs = [
172180 os .path .join (DSS_CAPI_PATH , 'include' ),
173- os .path .join (DSS_CAPI_PATH , 'include/altdss' ),
181+ # os.path.join(DSS_CAPI_PATH, 'include/altdss'),
174182 ],
175183 source_extension = '.c' ,
176184 ** extra
@@ -226,8 +234,8 @@ def process_header(src, extern_py=False, implement_py=False, prefix='', flags=No
226234
227235# Is there a better way to do this? Unfortunately setup(cffi_modules=...)
228236# needs a list of strings and cannot handle objects directly
229- ffi_builder_ = ffi_builders ['dss_capi ' ]
230- ffi_builder_d = ffi_builders ['dss_capid ' ]
237+ ffi_builder_ = ffi_builders ['altdss_capi ' ]
238+ ffi_builder_d = ffi_builders ['altdss_capid ' ]
231239if BUILD_ODDIE :
232240 ffi_builder_odd = ffi_builders ['altdss_oddie_capi' ]
233241
0 commit comments