author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 06 Jul 2015 22:28:52 +0100 | |
changeset 40 | 7d1e77b6115e |
parent 32 | d7464405cbda |
child 43 | 9327987437ae |
permissions | -rw-r--r-- |
32
d7464405cbda
Package renamed from cvut:fel/cface to jv:cface
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
24
diff
changeset
|
1 |
"{ Package: 'jv:cface' }" |
1 | 2 |
|
3 |
"{ NameSpace: Cface }" |
|
4 |
||
5 |
Object subclass:#GeneratorCommand |
|
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
6 |
instanceVariableNames:'platform mappings definitions unixLibraryName win32LibraryName' |
1 | 7 |
classVariableNames:'' |
8 |
poolDictionaries:'' |
|
9 |
category:'Cface-Generators' |
|
10 |
! |
|
11 |
||
12 |
||
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
13 |
!GeneratorCommand class methodsFor:'projects'! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
14 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
15 |
generateCairo |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
16 |
|
15
e873065959dc
Fiew fixes, needs to be updated for newer GCC-XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
17 |
| cairoDefFile | |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
18 |
|
32
d7464405cbda
Package renamed from cvut:fel/cface to jv:cface
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
24
diff
changeset
|
19 |
cairoDefFile := (Smalltalk packageDirectoryForPackageId: 'jv:cface') |
15
e873065959dc
Fiew fixes, needs to be updated for newer GCC-XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
20 |
/ 'resources' / 'examples' / 'libcairo' / 'libcairo.def'. |
e873065959dc
Fiew fixes, needs to be updated for newer GCC-XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
21 |
cairoDefFile exists ifFalse:[ |
e873065959dc
Fiew fixes, needs to be updated for newer GCC-XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
22 |
self error:'Cannot find libcairo.def' |
e873065959dc
Fiew fixes, needs to be updated for newer GCC-XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
23 |
]. |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
24 |
|
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
25 |
^Cface::Platform theInstance generatorCommand |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
26 |
definitions: cairoDefFile asFilename; |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
27 |
mappings: Cface::CairoMapping new; |
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
28 |
unixLibraryName:'libcairo.so.2'; |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
29 |
win32LibraryName:'cairo.dll'; |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
30 |
process. |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
31 |
|
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
32 |
" |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
33 |
Cface::GeneratorCommand generateCairo |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
34 |
" |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
35 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
36 |
"Created: / 03-07-2008 / 23:55:14 / Jan Vrany <vranyj1@fel.cvut.cz>" |
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
37 |
"Modified: / 22-01-2009 / 19:10:08 / Jan Vrany <vranyj1@fel.cvut.cz>" |
15
e873065959dc
Fiew fixes, needs to be updated for newer GCC-XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
38 |
"Modified: / 12-07-2011 / 15:54:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
39 |
! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
40 |
|
11 | 41 |
generateGTK |
42 |
||
43 |
|gtkDir gtkDefFile| |
|
44 |
||
14 | 45 |
gtkDir := '/home/jv/Projects/Cface/cface/resources/examples/libgtk/'. |
11 | 46 |
gtkDefFile := gtkDir , 'libgtk.def'. |
47 |
||
48 |
^Cface::Platform theInstance generatorCommand |
|
49 |
definitions: gtkDefFile asFilename; |
|
50 |
mappings: Cface::GTKMapping new; |
|
51 |
unixLibraryName:'libgtk-x11-2.0.so'; |
|
52 |
process |
|
53 |
||
54 |
" |
|
55 |
Cface::GeneratorCommand generateSubversion |
|
56 |
" |
|
57 |
||
58 |
"Created: / 22-02-2009 / 14:44:00 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
59 |
! |
|
60 |
||
24 | 61 |
generateLibgit2 |
22 | 62 |
|
63 |
|svnDir libgit2DefFile| |
|
64 |
||
65 |
svnDir := '/home/jv/Projects/Cface/sources/cface/trunk/resources/examples/libgit2/'. |
|
66 |
libgit2DefFile := svnDir , 'libgit2.def'. |
|
67 |
||
68 |
^Cface::Platform theInstance generatorCommand |
|
69 |
definitions: libgit2DefFile asFilename; |
|
70 |
mappings: Cface::Libgit2Mapping new; |
|
71 |
unixLibraryName:'libgit2.so'; |
|
24 | 72 |
win32LibraryName:'git2.dll'; |
22 | 73 |
process |
74 |
||
75 |
" |
|
24 | 76 |
Cface::GeneratorCommand generateLibgit2 |
22 | 77 |
" |
78 |
||
24 | 79 |
"Created: / 05-09-2012 / 10:55:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
22 | 80 |
! |
81 |
||
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
82 |
generateSubversion |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
83 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
84 |
|svnDir svnDefFile| |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
85 |
|
14 | 86 |
svnDir := '/home/jv/Projects/Cface/cface/resources/examples/libsvn/'. |
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
87 |
svnDefFile := svnDir , 'libsvn.def'. |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
88 |
|
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
89 |
^Cface::Platform theInstance generatorCommand |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
90 |
definitions: svnDefFile asFilename; |
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
91 |
mappings: Cface::SVNMapping new; |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
92 |
unixLibraryName:'libsvn.so'; |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
93 |
process |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
94 |
|
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
95 |
" |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
96 |
Cface::GeneratorCommand generateSubversion |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
97 |
" |
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
98 |
|
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
99 |
"Created: / 03-07-2008 / 23:55:54 / Jan Vrany <vranyj1@fel.cvut.cz>" |
10
8087158409e4
Fixed namespace and class generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
100 |
"Modified: / 06-01-2009 / 12:16:47 / Jan Vrany <vranyj1@fel.cvut.cz>" |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
101 |
! ! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
102 |
|
1 | 103 |
!GeneratorCommand methodsFor:'accessing'! |
104 |
||
105 |
definitions |
|
106 |
^ definitions |
|
107 |
||
108 |
"Created: / 18-02-2008 / 15:36:22 / janfrog" |
|
109 |
! |
|
110 |
||
111 |
definitions:aFilename |
|
112 |
definitions := self platform parser parse: aFilename contents asString. |
|
113 |
||
114 |
"Created: / 18-02-2008 / 15:36:22 / janfrog" |
|
115 |
! |
|
116 |
||
117 |
mappings |
|
118 |
^ mappings ifNil:[platform mappings] |
|
119 |
||
120 |
"Created: / 18-02-2008 / 15:35:04 / janfrog" |
|
121 |
"Modified: / 27-05-2008 / 14:22:00 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
122 |
! |
|
123 |
||
124 |
mappings:something |
|
125 |
mappings := something. |
|
126 |
||
127 |
"Created: / 18-02-2008 / 15:35:04 / janfrog" |
|
128 |
! |
|
129 |
||
130 |
platform |
|
131 |
||
132 |
platform ifNil:[platform := Cface::Platform theInstance]. |
|
133 |
^platform |
|
134 |
||
135 |
"Created: / 18-02-2008 / 15:28:45 / janfrog" |
|
136 |
! |
|
137 |
||
138 |
platform:something |
|
139 |
platform := something. |
|
140 |
||
141 |
"Created: / 18-02-2008 / 15:30:12 / janfrog" |
|
142 |
! |
|
143 |
||
144 |
typeMapper |
|
145 |
||
146 |
^platform typeMapper |
|
147 |
||
148 |
"Created: / 18-02-2008 / 15:30:40 / janfrog" |
|
149 |
! |
|
150 |
||
151 |
typeResolver |
|
152 |
||
153 |
^platform typeResolver |
|
154 |
||
155 |
"Created: / 18-02-2008 / 15:30:32 / janfrog" |
|
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
156 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
157 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
158 |
unixLibraryName |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
159 |
^ unixLibraryName |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
160 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
161 |
"Created: / 10-07-2008 / 09:07:56 / Jan Vrany <vranyj1@fel.cvut.cz>" |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
162 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
163 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
164 |
unixLibraryName:something |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
165 |
unixLibraryName := something. |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
166 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
167 |
"Created: / 10-07-2008 / 09:07:56 / Jan Vrany <vranyj1@fel.cvut.cz>" |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
168 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
169 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
170 |
win32LibraryName |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
171 |
^ win32LibraryName |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
172 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
173 |
"Created: / 10-07-2008 / 09:07:56 / Jan Vrany <vranyj1@fel.cvut.cz>" |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
174 |
! |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
175 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
176 |
win32LibraryName:something |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
177 |
win32LibraryName := something. |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
178 |
|
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
179 |
"Created: / 10-07-2008 / 09:07:56 / Jan Vrany <vranyj1@fel.cvut.cz>" |
1 | 180 |
! ! |
181 |
||
182 |
!GeneratorCommand methodsFor:'processing'! |
|
183 |
||
184 |
process |
|
185 |
||
186 |
||
187 |
self platform typeResolver process: definitions. |
|
188 |
self platform typeMapper process: definitions using: self mappings. |
|
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
189 |
^self platform generator |
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
190 |
unixLibraryName: unixLibraryName; |
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
191 |
win32LibraryName: win32LibraryName; |
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
192 |
process: definitions. |
1 | 193 |
|
194 |
"Created: / 18-02-2008 / 15:25:54 / janfrog" |
|
5
c110eef5b9ef
- externalization of libraryName (now supports unix & win32 simultaneously)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
195 |
"Modified: / 10-07-2008 / 09:08:18 / Jan Vrany <vranyj1@fel.cvut.cz>" |
1 | 196 |
! ! |
197 |
||
198 |
!GeneratorCommand class methodsFor:'documentation'! |
|
199 |
||
200 |
version |
|
19
1297bf936bfb
Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
201 |
^ '$Id$' |
14 | 202 |
! |
203 |
||
204 |
version_SVN |
|
205 |
^ '$Id$' |
|
1 | 206 |
! ! |