44 fetchExternalTools('ARMV7HF',
45 ["${crossLibsPackage}.tgz"],
46 rootProject.CROSS_TOOLS_DIR, rootProject.IS_IMPORT_CROSS_TOOLS)
47
48 compilerHome=file("/usr/local/arm-linux")
49 compilerPrefix="arm-linux-"
50 jniPlatform="darwin"
51 } else {
52 fail("armv7hf Cannot build on this platform")
53 }
54
55 if (rootProject.hasProperty("ARMV7HF_COMPILER")) {
56 logger.quiet "Using alternate ARMV7HF_COMPILER $rootProject.ARMV7HF_COMPILER"
57 compilerHome=file(rootProject.ARMV7HF_COMPILER);
58 }
59 if (rootProject.hasProperty("ARMV7HF_COMPILER_PREFIX")) {
60 logger.quiet "Using alternate ARMV7HF_COMPILER_PREFIX $rootProject.ARMV7HF_COMPILER_PREFIX"
61 compilerPrefix="${rootProject.ARMV7HF_COMPILER_PREFIX}"
62 }
63
64 // Declare whether this particular target file applies to the current system
65 ARMV7HF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists()
66 if (!ARMV7HF.canBuild) {
67 if (!compilerHome.exists()) println "ERROR: Missing compiler $compilerHome"
68 if (!sdk.exists()) println "ERROR: Missing sdk $sdk"
69 fail("armv7hf missing required tools")
70 }
71
72 // Lambda for naming the generated libs
73 ARMV7HF.library = { name -> return "lib${name}.so" as String }
74
75 ARMV7HF.compileSwing = false;
76 ARMV7HF.compileSWT = false;
77 ARMV7HF.compileFXPackager = false;
78 ARMV7HF.compileDesignTime = false;
79 ARMV7HF.compileWebnodeNative = false;
80 ARMV7HF.compileMediaNative = false;
81
82 ARMV7HF.includeLens = true
83 ARMV7HF.includeNull3d = true
84 ARMV7HF.includeEGL = true
85 ARMV7HF.includeSwing = false
86 ARMV7HF.includeSWT = false
87
88 // Libraries end up in the sdk/rt/lib/arm directory for arm builds
89 ARMV7HF.arch = "arm"
90 ARMV7HF.libDest = "lib/arm"
91
92 def commonFlags = [
93 "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
94 "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
95 // Specify the compilation parameters and link parameters
96 def ccFlags = [
97 commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c",
98 IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
99 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
100 def linkFlags = ["-shared", commonFlags].flatten()
101
102 // Specify the compilation parameters and link parameters
103 def extraCFlags = [
104 "-I", "-L",
105 ccFlags,
106 "-mthumb", "-march=armv7-a", "-mfloat-abi=hard", "-mfpu=vfp",
107 "-I$sdk/usr/include",
139
140 def es2EglfbCFlags = [extraCFlags, "-DIS_EGLFB", "-DLINUX"].flatten()
141 def es2EglfbLFlags = [extraLFlags].flatten()
142
143 def es2X11CFlags = [extraCFlags, "-DUSE_XSHM", "-DDEBUG", "-DIS_EGLX11", "-DLINUX"].flatten()
144 def es2X11LFlags = [extraLFlags, "-lX11", "-lXext", "-lXdmcp", "-lXau"].flatten()
145
146 def mediaCFlags = [extraCFlags,
147 "-I$sdk/usr/include/gstreamer-0.10",
148 "-I$sdk/usr/include/glib-2.0",
149 "-I$sdk/usr/lib/arm-linux-gnueabihf/glib-2.0/include",
150 "-DENABLE_NATIVE_SOURCE=1", "-DENABLE_GST_FFMPEG=1"].flatten()
151 def mediaLFlags = [extraLFlags, "-lgstreamer-0.10", "-lgstapp-0.10",
152 "-lgstbase-0.10", "-lglib-2.0", "-lgobject-2.0", "-lgmodule-2.0", "-lgthread-2.0"].flatten()
153
154 def webCFlags = [extraCFlags].flatten()
155 def webLFlags = [extraLFlags].flatten()
156
157 def gtkCFlags = [extraCFlags].flatten()
158 def gtkLFlags = [extraLFlags].flatten()
159 setupTools("armv6hf_tools",
160 { propFile ->
161 ByteArrayOutputStream results = new ByteArrayOutputStream();
162 exec {
163 commandLine("$sdk/bin/pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst");
164 setStandardOutput(results);
165 }
166 propFile << "cflags=" << results.toString().trim() << "\n";
167
168 results = new ByteArrayOutputStream();
169 exec {
170 commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
171 standardOutput = results
172 }
173 propFile << "libs=" << results.toString().trim();
174 },
175 { properties ->
176 gtkCFlags.addAll(properties.getProperty("cflags").split(" "))
177 gtkLFlags.addAll(properties.getProperty("libs").split(" "))
178 }
179 )
180
181 ARMV7HF.javafxPlatformProperties ="""javafx.platform=monocle
182 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
183 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
184 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
185 directfb.glass.platform=Lens
186 directfb.glass.lens=dfb
187 directfb.prism.order=sw
188 directfb.com.sun.javafx.isEmbedded=true
189 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
190 directfb.com.sun.javafx.gestures.zoom=true
191 directfb.com.sun.javafx.gestures.rotate=true
192 directfb.com.sun.javafx.gestures.scroll=true
193 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
194 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
195 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
196 eglfb.glass.platform=Lens
197 eglfb.glass.lens=eglfb
198 eglfb.prism.order=es2
199 eglfb.prism.eglfb=true
200 eglfb.prism.lcdtext=false
201 eglfb.prism.maxvram=128m
202 eglfb.prism.targetvram=112m
203 eglfb.use.egl=true
204 eglfb.use.gles2=true
205 eglfb.embedded=eglfb
206 eglfb.com.sun.javafx.isEmbedded=true
207 eglfb.doNativeComposite=true
208 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
209 eglfb.com.sun.javafx.gestures.zoom=true
210 eglfb.com.sun.javafx.gestures.rotate=true
211 eglfb.com.sun.javafx.gestures.scroll=true
212 eglfb.prism.glDepthSize=0
213 fb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
214 fb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
215 fb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
216 fb.glass.platform=Lens
217 fb.glass.lens=fb
218 fb.prism.order=sw
219 fb.com.sun.javafx.isEmbedded=true
220 fb.glass.restrictWindowToScreen=true
221 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true
222 fb.com.sun.javafx.gestures.zoom=true
223 fb.com.sun.javafx.gestures.rotate=true
224 fb.com.sun.javafx.gestures.scroll=true
225 monocle.glass.platform=Monocle
226 monocle.prism.order=es2,sw
227 monocle.prism.eglfb=true
228 monocle.prism.lcdtext=false
229 monocle.prism.maxvram=128m
230 monocle.prism.targetvram=112m
231 monocle.use.egl=true
232 monocle.use.gles2=true
233 monocle.embedded=monocle
234 monocle.com.sun.javafx.isEmbedded=true
235 monocle.doNativeComposite=true
236 monocle.com.sun.javafx.scene.control.skin.FXVK.cache=true
237 monocle.com.sun.javafx.gestures.zoom=true
238 monocle.com.sun.javafx.gestures.rotate=true
239 monocle.com.sun.javafx.gestures.scroll=true
240 monocle.prism.glDepthSize=0
241 eglx11.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
242 eglx11.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
243 eglx11.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
244 eglx11.glass.platform=Lens
245 eglx11.glass.lens=eglx11
246 eglx11.prism.order=es2
247 eglx11.prism.eglx11=true
248 eglx11.prism.lcdtext=false
249 eglx11.prism.maxvram=128m
250 eglx11.prism.targetvram=112m
251 eglx11.use.egl=true
252 eglx11.use.gles2=true
253 eglx11.embedded=eglx11
254 eglx11.com.sun.javafx.isEmbedded=true
255 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true
256 eglx11.com.sun.javafx.gestures.zoom=true
257 eglx11.com.sun.javafx.gestures.rotate=true
258 eglx11.com.sun.javafx.gestures.scroll=true
259 eglx11.prism.glDepthSize=0
260 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
261 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
262 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
263 gtk.glass.platform=gtk
264 gtk.prism.order=sw
265 gtk.com.sun.javafx.isEmbedded=true
266 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true
267 gtk.com.sun.javafx.gestures.zoom=true
268 gtk.com.sun.javafx.gestures.rotate=true
269 gtk.com.sun.javafx.gestures.scroll=true"""
270
271 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"];
272 def pangoLinkFlags = [extraLFlags];
273 setupTools("armv6hf_pango_tools",
274 { propFile ->
275 ByteArrayOutputStream results = new ByteArrayOutputStream();
276 exec {
277 commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2"
278 standardOutput = results
279 }
280 propFile << "cflags=" << results.toString().trim() << "\n";
281
282 results = new ByteArrayOutputStream();
283 exec {
284 commandLine "$sdk/bin/pkg-config", "--libs", "pangoft2"
285 standardOutput = results
286 }
287 propFile << "libs=" << results.toString().trim();
288 },
289 { properties ->
290 pangoCCFlags.addAll(properties.getProperty("cflags").split(" "))
291 pangoLinkFlags.addAll(properties.getProperty("libs").split(" "))
292 }
293 )
294
295 def freetypeCCFlags = [ext.IS_COMPILE_PANGO ? "-D_ENABLE_PANGO" :
296 ext.IS_COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""]
297 def freetypeLinkFlags = []
298 setupTools("armv6hf_freetype_tools",
299 { propFile ->
300 ByteArrayOutputStream results = new ByteArrayOutputStream();
301 exec {
302 commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2"
303 standardOutput = results
304 }
305 propFile << "cflags=" << results.toString().trim() << "\n";
306
307 results = new ByteArrayOutputStream();
308 exec {
309 commandLine "$sdk/bin/pkg-config", "--libs", "freetype2"
310 standardOutput = results
311 }
312 propFile << "libs=" << results.toString().trim();
313 },
314 { properties ->
315 freetypeCCFlags.addAll(properties.getProperty("cflags").split(" "))
316 freetypeLinkFlags.addAll(properties.getProperty("libs").split(" "))
317 }
318 )
319
320 def compiler = file("$compilerHome/bin/${compilerPrefix}gcc").getAbsolutePath()
321 def linker = file("$compilerHome/bin/${compilerPrefix}g++").getAbsolutePath()
322
323 ARMV7HF.glass = [:]
324 ARMV7HF.glass.variants = ["eglfb", "directfb", "fb", "gtk", "lensport", "monocle", "monocle_x11" ]
325 ARMV7HF.glass.javahInclude = [
326 "com/sun/glass/events/**",
327 "com/sun/glass/ui/*",
328 "com/sun/glass/ui/lens/*",
329 "com/sun/glass/ui/monocle/linux/*",
330 "com/sun/glass/ui/monocle/util/*",
331 "com/sun/glass/ui/monocle/x11/*",
332 "com/sun/glass/ui/gtk/*"]
333 ARMV7HF.glass.lib = "glass"
334
335 ARMV7HF.glass.lensport = [:]
336 ARMV7HF.glass.lensport.nativeSource = [
337 file("modules/graphics/src/main/native-glass/lens/lensport") ]
338 ARMV7HF.glass.lensport.compiler = compiler
339 ARMV7HF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB",
340 "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/") ].flatten()
341 ARMV7HF.glass.lensport.linker = linker
342 ARMV7HF.glass.lensport.linkFlags = [lensLFlags].flatten()
343 ARMV7HF.glass.lensport.lib = "lens_porting"
344
345 ARMV7HF.glass.monocle = [:]
346 ARMV7HF.glass.monocle.nativeSource = [
347 file("modules/graphics/src/main/native-glass/monocle/linux"),
348 file("modules/graphics/src/main/native-glass/monocle/util") ]
349 ARMV7HF.glass.monocle.compiler = compiler
350 ARMV7HF.glass.monocle.ccFlags = monocleCFlags
351 ARMV7HF.glass.monocle.linker = linker
352 ARMV7HF.glass.monocle.linkFlags = monocleLFlags
|
44 fetchExternalTools('ARMV7HF',
45 ["${crossLibsPackage}.tgz"],
46 rootProject.CROSS_TOOLS_DIR, rootProject.IS_IMPORT_CROSS_TOOLS)
47
48 compilerHome=file("/usr/local/arm-linux")
49 compilerPrefix="arm-linux-"
50 jniPlatform="darwin"
51 } else {
52 fail("armv7hf Cannot build on this platform")
53 }
54
55 if (rootProject.hasProperty("ARMV7HF_COMPILER")) {
56 logger.quiet "Using alternate ARMV7HF_COMPILER $rootProject.ARMV7HF_COMPILER"
57 compilerHome=file(rootProject.ARMV7HF_COMPILER);
58 }
59 if (rootProject.hasProperty("ARMV7HF_COMPILER_PREFIX")) {
60 logger.quiet "Using alternate ARMV7HF_COMPILER_PREFIX $rootProject.ARMV7HF_COMPILER_PREFIX"
61 compilerPrefix="${rootProject.ARMV7HF_COMPILER_PREFIX}"
62 }
63
64 def compiler = file("$compilerHome/bin/${compilerPrefix}gcc").getAbsolutePath()
65 def linker = file("$compilerHome/bin/${compilerPrefix}g++").getAbsolutePath()
66
67 // Declare whether this particular target file applies to the current system
68 ARMV7HF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists()
69 if (!ARMV7HF.canBuild) {
70 if (!compilerHome.exists()) println "ERROR: Missing compiler $compilerHome"
71 if (!sdk.exists()) println "ERROR: Missing sdk $sdk"
72 fail("armv7hf missing required tools")
73 }
74
75 // Lambda for naming the generated libs
76 ARMV7HF.library = { name -> return "lib${name}.so" as String }
77
78 ARMV7HF.compileSwing = false;
79 ARMV7HF.compileSWT = false;
80 ARMV7HF.compileFXPackager = false;
81 ARMV7HF.compileDesignTime = false;
82 ARMV7HF.compileWebnodeNative = false;
83 ARMV7HF.compileMediaNative = false;
84
85 ARMV7HF.includeLens = true
86 ARMV7HF.includeMonocle = true
87 ARMV7HF.includeNull3d = true
88 ARMV7HF.includeEGL = true
89 ARMV7HF.includeSwing = false
90 ARMV7HF.includeSWT = false
91
92 ARMV7HF.javafxPlatformDefault="monocle"
93
94 // Libraries end up in the sdk/rt/lib/arm directory for arm builds
95 ARMV7HF.arch = "arm"
96 ARMV7HF.libDest = "lib/arm"
97
98 def commonFlags = [
99 "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
100 "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
101 // Specify the compilation parameters and link parameters
102 def ccFlags = [
103 commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c",
104 IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
105 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
106 def linkFlags = ["-shared", commonFlags].flatten()
107
108 // Specify the compilation parameters and link parameters
109 def extraCFlags = [
110 "-I", "-L",
111 ccFlags,
112 "-mthumb", "-march=armv7-a", "-mfloat-abi=hard", "-mfpu=vfp",
113 "-I$sdk/usr/include",
145
146 def es2EglfbCFlags = [extraCFlags, "-DIS_EGLFB", "-DLINUX"].flatten()
147 def es2EglfbLFlags = [extraLFlags].flatten()
148
149 def es2X11CFlags = [extraCFlags, "-DUSE_XSHM", "-DDEBUG", "-DIS_EGLX11", "-DLINUX"].flatten()
150 def es2X11LFlags = [extraLFlags, "-lX11", "-lXext", "-lXdmcp", "-lXau"].flatten()
151
152 def mediaCFlags = [extraCFlags,
153 "-I$sdk/usr/include/gstreamer-0.10",
154 "-I$sdk/usr/include/glib-2.0",
155 "-I$sdk/usr/lib/arm-linux-gnueabihf/glib-2.0/include",
156 "-DENABLE_NATIVE_SOURCE=1", "-DENABLE_GST_FFMPEG=1"].flatten()
157 def mediaLFlags = [extraLFlags, "-lgstreamer-0.10", "-lgstapp-0.10",
158 "-lgstbase-0.10", "-lglib-2.0", "-lgobject-2.0", "-lgmodule-2.0", "-lgthread-2.0"].flatten()
159
160 def webCFlags = [extraCFlags].flatten()
161 def webLFlags = [extraLFlags].flatten()
162
163 def gtkCFlags = [extraCFlags].flatten()
164 def gtkLFlags = [extraLFlags].flatten()
165 setupTools("armv7hf_tools",
166 { propFile ->
167 ByteArrayOutputStream results = new ByteArrayOutputStream();
168 exec {
169 commandLine("$sdk/bin/pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst");
170 setStandardOutput(results);
171 }
172 propFile << "cflags=" << results.toString().trim() << "\n";
173
174 results = new ByteArrayOutputStream();
175 exec {
176 commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
177 standardOutput = results
178 }
179 propFile << "libs=" << results.toString().trim();
180 },
181 { properties ->
182 gtkCFlags.addAll(properties.getProperty("cflags").split(" "))
183 gtkLFlags.addAll(properties.getProperty("libs").split(" "))
184 }
185 )
186
187 def monoclePlatformAdditions = """
188 monocle.glass.platform=Monocle
189 monocle.prism.order=es2,sw
190 monocle.prism.eglfb=true
191 monocle.prism.lcdtext=false
192 monocle.prism.maxvram=128m
193 monocle.prism.targetvram=112m
194 monocle.use.egl=true
195 monocle.use.gles2=true
196 monocle.embedded=monocle
197 monocle.com.sun.javafx.isEmbedded=true
198 monocle.doNativeComposite=true
199 monocle.com.sun.javafx.scene.control.skin.FXVK.cache=true
200 monocle.prism.glDepthSize=0
201 monocle.com.sun.javafx.gestures.zoom=true
202 monocle.com.sun.javafx.gestures.rotate=true
203 monocle.com.sun.javafx.gestures.scroll=true"""
204
205 def lensPlatformAdditions = """
206 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
207 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
208 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
209 directfb.glass.platform=Lens
210 directfb.glass.lens=dfb
211 directfb.prism.order=sw
212 directfb.com.sun.javafx.isEmbedded=true
213 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
214 directfb.com.sun.javafx.gestures.zoom=true
215 directfb.com.sun.javafx.gestures.rotate=true
216 directfb.com.sun.javafx.gestures.scroll=true
217 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
218 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
219 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
220 eglfb.glass.platform=Lens
221 eglfb.glass.lens=eglfb
222 eglfb.prism.order=es2
223 eglfb.prism.eglfb=true
224 eglfb.prism.lcdtext=false
225 eglfb.prism.maxvram=128m
226 eglfb.prism.targetvram=112m
227 eglfb.use.egl=true
228 eglfb.use.gles2=true
229 eglfb.embedded=eglfb
230 eglfb.com.sun.javafx.isEmbedded=true
231 eglfb.doNativeComposite=true
232 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
233 eglfb.prism.glDepthSize=0
234 eglfb.com.sun.javafx.gestures.zoom=true
235 eglfb.com.sun.javafx.gestures.rotate=true
236 eglfb.com.sun.javafx.gestures.scroll=true
237 fb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
238 fb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
239 fb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
240 fb.glass.platform=Lens
241 fb.glass.lens=fb
242 fb.prism.order=sw
243 fb.com.sun.javafx.isEmbedded=true
244 fb.glass.restrictWindowToScreen=true
245 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true
246 fb.com.sun.javafx.gestures.zoom=true
247 fb.com.sun.javafx.gestures.rotate=true
248 fb.com.sun.javafx.gestures.scroll=true
249 eglx11.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
250 eglx11.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
251 eglx11.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
252 eglx11.glass.platform=Lens
253 eglx11.glass.lens=eglx11
254 eglx11.prism.order=es2
255 eglx11.prism.eglx11=true
256 eglx11.prism.lcdtext=false
257 eglx11.prism.maxvram=128m
258 eglx11.prism.targetvram=112m
259 eglx11.use.egl=true
260 eglx11.use.gles2=true
261 eglx11.embedded=eglx11
262 eglx11.com.sun.javafx.isEmbedded=true
263 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true
264 eglx11.prism.glDepthSize=0
265 eglx11.com.sun.javafx.gestures.zoom=true
266 eglx11.com.sun.javafx.gestures.rotate=true
267 eglx11.com.sun.javafx.gestures.scroll=true"""
268
269 def gtkPlatformAdditions = """
270 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
271 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
272 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
273 gtk.glass.platform=gtk
274 gtk.prism.order=sw
275 gtk.com.sun.javafx.isEmbedded=true
276 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true
277 gtk.com.sun.javafx.gestures.zoom=true
278 gtk.com.sun.javafx.gestures.rotate=true
279 gtk.com.sun.javafx.gestures.scroll=true"""
280
281 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"];
282 def pangoLinkFlags = [extraLFlags];
283 setupTools("armv7hf_pango_tools",
284 { propFile ->
285 ByteArrayOutputStream results = new ByteArrayOutputStream();
286 exec {
287 commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2"
288 standardOutput = results
289 }
290 propFile << "cflags=" << results.toString().trim() << "\n";
291
292 results = new ByteArrayOutputStream();
293 exec {
294 commandLine "$sdk/bin/pkg-config", "--libs", "pangoft2"
295 standardOutput = results
296 }
297 propFile << "libs=" << results.toString().trim();
298 },
299 { properties ->
300 pangoCCFlags.addAll(properties.getProperty("cflags").split(" "))
301 pangoLinkFlags.addAll(properties.getProperty("libs").split(" "))
302 }
303 )
304
305 def freetypeCCFlags = [ext.IS_COMPILE_PANGO ? "-D_ENABLE_PANGO" :
306 ext.IS_COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""]
307 def freetypeLinkFlags = []
308 setupTools("armv7hf_freetype_tools",
309 { propFile ->
310 ByteArrayOutputStream results = new ByteArrayOutputStream();
311 exec {
312 commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2"
313 standardOutput = results
314 }
315 propFile << "cflags=" << results.toString().trim() << "\n";
316
317 results = new ByteArrayOutputStream();
318 exec {
319 commandLine "$sdk/bin/pkg-config", "--libs", "freetype2"
320 standardOutput = results
321 }
322 propFile << "libs=" << results.toString().trim();
323 },
324 { properties ->
325 freetypeCCFlags.addAll(properties.getProperty("cflags").split(" "))
326 freetypeLinkFlags.addAll(properties.getProperty("libs").split(" "))
327 }
328 )
329
330 ARMV7HF.javafxPlatformProperties = "javafx.platform=${ARMV7HF.javafxPlatformDefault}"
331
332 ARMV7HF.glass = [:]
333 ARMV7HF.glass.javahInclude = [
334 "com/sun/glass/events/**",
335 "com/sun/glass/ui/*"]
336 ARMV7HF.glass.variants = [ ]
337 if (ARMV7HF.includeLens) {
338 ARMV7HF.glass.variants.addAll("eglfb", "directfb", "fb", "lensport" );
339 ARMV7HF.glass.javahInclude.addAll("com/sun/glass/ui/lens/*");
340 ARMV7HF.javafxPlatformProperties = ARMV7HF.javafxPlatformProperties + lensPlatformAdditions
341 }
342 if (ARMV7HF.includeMonocle) {
343 ARMV7HF.glass.variants.addAll("monocle", "monocle_x11");
344 ARMV7HF.glass.javahInclude.addAll(
345 "com/sun/glass/ui/monocle/*",
346 "com/sun/glass/ui/monocle/dispman/*",
347 "com/sun/glass/ui/monocle/mx6/*",
348 "com/sun/glass/ui/monocle/linux/*",
349 "com/sun/glass/ui/monocle/util/*",
350 "com/sun/glass/ui/monocle/x11/*");
351 ARMV7HF.javafxPlatformProperties = ARMV7HF.javafxPlatformProperties + monoclePlatformAdditions
352 }
353 if (ARMV7HF.includeGTK) {
354 ARMV7HF.glass.variants.addAll("gtk");
355 ARMV7HF.glass.javahInclude.addAll("com/sun/glass/ui/gtk/*");
356 ARMV7HF.javafxPlatformProperties = ARMV7HF.javafxPlatformProperties + gtkPlatformAdditions
357 }
358
359 ARMV7HF.glass.lib = "glass"
360
361 ARMV7HF.glass.lensport = [:]
362 ARMV7HF.glass.lensport.nativeSource = [
363 file("modules/graphics/src/main/native-glass/lens/lensport") ]
364 ARMV7HF.glass.lensport.compiler = compiler
365 ARMV7HF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB",
366 "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/") ].flatten()
367 ARMV7HF.glass.lensport.linker = linker
368 ARMV7HF.glass.lensport.linkFlags = [lensLFlags].flatten()
369 ARMV7HF.glass.lensport.lib = "lens_porting"
370
371 ARMV7HF.glass.monocle = [:]
372 ARMV7HF.glass.monocle.nativeSource = [
373 file("modules/graphics/src/main/native-glass/monocle/linux"),
374 file("modules/graphics/src/main/native-glass/monocle/util") ]
375 ARMV7HF.glass.monocle.compiler = compiler
376 ARMV7HF.glass.monocle.ccFlags = monocleCFlags
377 ARMV7HF.glass.monocle.linker = linker
378 ARMV7HF.glass.monocle.linkFlags = monocleLFlags
|