Skip to content

Commit 8e42265

Browse files
committed
fix building to account for namespaces
1 parent 9823bbb commit 8e42265

File tree

2 files changed

+154
-150
lines changed

2 files changed

+154
-150
lines changed

sc_leflib/_leflib.pxd

Lines changed: 138 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -19,76 +19,86 @@ ctypedef void* lefiUserData
1919

2020
# These typedefs define the function signatures of each LEF parser callback.
2121
# (Order same as in lefrReader.hpp)
22-
ctypedef int (*lefrVoidCbkFnType) (lefrCallbackType_e,
23-
void* num,
24-
lefiUserData);
25-
ctypedef int (*lefrStringCbkFnType) (lefrCallbackType_e,
26-
const char *string,
27-
lefiUserData);
28-
ctypedef int (*lefrIntegerCbkFnType) (lefrCallbackType_e,
29-
int number,
30-
lefiUserData);
31-
ctypedef int (*lefrDoubleCbkFnType) (lefrCallbackType_e,
32-
double number,
33-
lefiUserData);
34-
ctypedef int (*lefrUnitsCbkFnType) (lefrCallbackType_e,
35-
lefiUnits* units,
36-
lefiUserData);
37-
ctypedef int (*lefrLayerCbkFnType) (lefrCallbackType_e,
38-
lefiLayer* l,
39-
lefiUserData);
40-
ctypedef int (*lefrViaRuleCbkFnType) (lefrCallbackType_e,
41-
lefiViaRule* l,
42-
lefiUserData);
43-
ctypedef int (*lefrSiteCbkFnType) (lefrCallbackType_e,
44-
lefiSite* l,
45-
lefiUserData);
46-
ctypedef int (*lefrMacroCbkFnType) (lefrCallbackType_e,
47-
lefiMacro* l,
48-
lefiUserData);
49-
ctypedef int (*lefrPinCbkFnType) (lefrCallbackType_e,
50-
lefiPin* l,
51-
lefiUserData);
52-
ctypedef int (*lefrObstructionCbkFnType) (lefrCallbackType_e,
53-
lefiObstruction* l,
54-
lefiUserData);
55-
ctypedef int (*lefrUseMinSpacingCbkFnType) (lefrCallbackType_e,
56-
lefiUseMinSpacing* l,
57-
lefiUserData);
58-
ctypedef int (*lefrMaxStackViaCbkFnType) (lefrCallbackType_e,
59-
lefiMaxStackVia* l,
60-
lefiUserData);
6122

6223
ctypedef void (*LEFI_LOG_FUNCTION) (const char*);
6324
ctypedef void (*LEFI_WARNING_LOG_FUNCTION) (const char*);
6425

65-
# Must declare everything we reference from lefrReader.hpp here
66-
cdef extern from "lefrReader.hpp":
67-
int lefrInit()
68-
int lefrRead (FILE *file, const char *fileName, void* userData)
26+
# Must declare everything we reference from lefiMisc.hpp here
27+
cdef extern from "lefiMisc.hpp" namespace "LefParser":
28+
# Structs defining generic geometries
29+
cdef struct lefiGeomRect:
30+
double xl
31+
double yl
32+
double xh
33+
double yh
34+
int colorMask
6935

70-
# Callback setters
71-
void lefrSetVersionCbk(lefrDoubleCbkFnType)
72-
void lefrSetBusBitCharsCbk(lefrStringCbkFnType)
73-
void lefrSetDividerCharCbk(lefrStringCbkFnType)
74-
void lefrSetUnitsCbk(lefrUnitsCbkFnType)
75-
void lefrSetManufacturingCbk(lefrDoubleCbkFnType)
76-
void lefrSetUseMinSpacingCbk(lefrUseMinSpacingCbkFnType)
77-
void lefrSetClearanceMeasureCbk(lefrStringCbkFnType)
78-
void lefrSetFixedMaskCbk(lefrIntegerCbkFnType)
79-
void lefrSetLayerCbk(lefrLayerCbkFnType)
80-
void lefrSetMaxStackViaCbk(lefrMaxStackViaCbkFnType)
81-
void lefrSetViaRuleCbk(lefrViaRuleCbkFnType)
82-
void lefrSetSiteCbk(lefrSiteCbkFnType)
83-
void lefrSetMacroBeginCbk(lefrStringCbkFnType)
84-
void lefrSetPinCbk(lefrPinCbkFnType)
85-
void lefrSetObstructionCbk(lefrObstructionCbkFnType)
86-
void lefrSetMacroCbk(lefrMacroCbkFnType)
36+
cdef struct lefiGeomRectIter:
37+
double xl
38+
double yl
39+
double xh
40+
double yh
41+
double xStart
42+
double yStart
43+
double xStep
44+
double yStep
45+
int colorMask
8746

88-
# Additional callbacks
89-
void lefrSetLogFunction(LEFI_LOG_FUNCTION)
90-
void lefrSetWarningLogFunction(LEFI_WARNING_LOG_FUNCTION)
47+
cdef struct lefiGeomPath:
48+
int numPoints
49+
double* x
50+
double* y
51+
int colorMask
9152

53+
cdef struct lefiGeomPathIter:
54+
int numPoints
55+
double* x
56+
double* y
57+
double xStart
58+
double yStart
59+
double xStep
60+
double yStep
61+
int colorMask
62+
63+
cdef struct lefiGeomPolygon:
64+
int numPoints
65+
double* x
66+
double* y
67+
int colorMask
68+
69+
cdef struct lefiGeomPolygonIter:
70+
int numPoints
71+
double* x
72+
double* y
73+
double xStart
74+
double yStart
75+
double xStep
76+
double yStep
77+
int colorMask
78+
79+
cdef struct lefiGeomVia:
80+
char* name
81+
double x
82+
double y
83+
int topMaskNum
84+
int cutMaskNum
85+
int bottomMaskNum
86+
87+
cdef struct lefiGeomViaIter:
88+
char* name
89+
double x
90+
double y
91+
double xStart
92+
double yStart
93+
double xStep
94+
double yStep
95+
int topMaskNum
96+
int cutMaskNum
97+
int bottomMaskNum
98+
99+
100+
# Must declare everything we reference from lefrReader.hpp here
101+
cdef extern from "lefrReader.hpp" namespace "LefParser":
92102
# Some enums we need to reference
93103
ctypedef enum lefrCallbackType_e:
94104
lefrUnspecifiedCbkType,
@@ -151,6 +161,71 @@ cdef extern from "lefrReader.hpp":
151161
lefrMacroForeignCbkType,
152162
lefrLibraryEndCbkType
153163

164+
ctypedef int (*lefrVoidCbkFnType) (lefrCallbackType_e,
165+
void* num,
166+
lefiUserData);
167+
ctypedef int (*lefrStringCbkFnType) (lefrCallbackType_e,
168+
const char *string,
169+
lefiUserData);
170+
ctypedef int (*lefrIntegerCbkFnType) (lefrCallbackType_e,
171+
int number,
172+
lefiUserData);
173+
ctypedef int (*lefrDoubleCbkFnType) (lefrCallbackType_e,
174+
double number,
175+
lefiUserData);
176+
ctypedef int (*lefrUnitsCbkFnType) (lefrCallbackType_e,
177+
lefiUnits* units,
178+
lefiUserData);
179+
ctypedef int (*lefrLayerCbkFnType) (lefrCallbackType_e,
180+
lefiLayer* l,
181+
lefiUserData);
182+
ctypedef int (*lefrViaRuleCbkFnType) (lefrCallbackType_e,
183+
lefiViaRule* l,
184+
lefiUserData);
185+
ctypedef int (*lefrSiteCbkFnType) (lefrCallbackType_e,
186+
lefiSite* l,
187+
lefiUserData);
188+
ctypedef int (*lefrMacroCbkFnType) (lefrCallbackType_e,
189+
lefiMacro* l,
190+
lefiUserData);
191+
ctypedef int (*lefrPinCbkFnType) (lefrCallbackType_e,
192+
lefiPin* l,
193+
lefiUserData);
194+
ctypedef int (*lefrObstructionCbkFnType) (lefrCallbackType_e,
195+
lefiObstruction* l,
196+
lefiUserData);
197+
ctypedef int (*lefrUseMinSpacingCbkFnType) (lefrCallbackType_e,
198+
lefiUseMinSpacing* l,
199+
lefiUserData);
200+
ctypedef int (*lefrMaxStackViaCbkFnType) (lefrCallbackType_e,
201+
lefiMaxStackVia* l,
202+
lefiUserData);
203+
204+
int lefrInit()
205+
int lefrRead (FILE *file, const char *fileName, void* userData)
206+
207+
# Callback setters
208+
void lefrSetVersionCbk(lefrDoubleCbkFnType)
209+
void lefrSetBusBitCharsCbk(lefrStringCbkFnType)
210+
void lefrSetDividerCharCbk(lefrStringCbkFnType)
211+
void lefrSetUnitsCbk(lefrUnitsCbkFnType)
212+
void lefrSetManufacturingCbk(lefrDoubleCbkFnType)
213+
void lefrSetUseMinSpacingCbk(lefrUseMinSpacingCbkFnType)
214+
void lefrSetClearanceMeasureCbk(lefrStringCbkFnType)
215+
void lefrSetFixedMaskCbk(lefrIntegerCbkFnType)
216+
void lefrSetLayerCbk(lefrLayerCbkFnType)
217+
void lefrSetMaxStackViaCbk(lefrMaxStackViaCbkFnType)
218+
void lefrSetViaRuleCbk(lefrViaRuleCbkFnType)
219+
void lefrSetSiteCbk(lefrSiteCbkFnType)
220+
void lefrSetMacroBeginCbk(lefrStringCbkFnType)
221+
void lefrSetPinCbk(lefrPinCbkFnType)
222+
void lefrSetObstructionCbk(lefrObstructionCbkFnType)
223+
void lefrSetMacroCbk(lefrMacroCbkFnType)
224+
225+
# Additional callbacks
226+
void lefrSetLogFunction(LEFI_LOG_FUNCTION)
227+
void lefrSetWarningLogFunction(LEFI_WARNING_LOG_FUNCTION)
228+
154229
cdef enum lefiGeomEnum:
155230
lefiGeomUnknown,
156231
lefiGeomLayerE,
@@ -316,74 +391,3 @@ cdef extern from "lefrReader.hpp":
316391
lefiGeomViaIter* getViaIter(int index)
317392

318393
const char* getClass(int index)
319-
320-
# Structs defining generic geometries
321-
cdef struct lefiGeomRect:
322-
double xl
323-
double yl
324-
double xh
325-
double yh
326-
int colorMask
327-
328-
cdef struct lefiGeomRectIter:
329-
double xl
330-
double yl
331-
double xh
332-
double yh
333-
double xStart
334-
double yStart
335-
double xStep
336-
double yStep
337-
int colorMask
338-
339-
cdef struct lefiGeomPath:
340-
int numPoints
341-
double* x
342-
double* y
343-
int colorMask
344-
345-
cdef struct lefiGeomPathIter:
346-
int numPoints
347-
double* x
348-
double* y
349-
double xStart
350-
double yStart
351-
double xStep
352-
double yStep
353-
int colorMask
354-
355-
cdef struct lefiGeomPolygon:
356-
int numPoints
357-
double* x
358-
double* y
359-
int colorMask
360-
361-
cdef struct lefiGeomPolygonIter:
362-
int numPoints
363-
double* x
364-
double* y
365-
double xStart
366-
double yStart
367-
double xStep
368-
double yStep
369-
int colorMask
370-
371-
cdef struct lefiGeomVia:
372-
char* name
373-
double x
374-
double y
375-
int topMaskNum
376-
int cutMaskNum
377-
int bottomMaskNum
378-
379-
cdef struct lefiGeomViaIter:
380-
char* name
381-
double x
382-
double y
383-
double xStart
384-
double yStart
385-
double xStep
386-
double yStep
387-
int topMaskNum
388-
int cutMaskNum
389-
int bottomMaskNum

0 commit comments

Comments
 (0)