summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent Torri <vincent.torri@gmail.com>2012-11-04 11:51:42 +0000
committerVincent Torri <vincent.torri@gmail.com>2012-11-04 11:51:42 +0000
commitc15e9c6575c3b5f39ded167dda5259de3de96151 (patch)
tree5115d7ae3620af24c2bc094cd062575af7adeda9 /src
parenta5ac6a987caec5a7f7596a25d0a065b9cc94c50c (diff)
merge: and now Evas
I've tested make -j 3 install and it works nicely I've tested expedite with software and opengl xlib, and it works. Not tested other engines, so please report any problems (engines or other) on the ML. TODO: examples and tests, I'll add them later ISSUE: Eina_Unicode size check. It indirectly depends on eina_config.h, which is created at the end of the configure script. So its size is always 0. I don't know how that size is used, so I can't do a lot, for now. SVN revision: 78895
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am3
-rw-r--r--src/Makefile_Eina.am4
-rw-r--r--src/Makefile_Evas.am1837
-rw-r--r--src/bin/evas/dummy_slave.c207
-rw-r--r--src/bin/evas/evas_cserve2.h311
-rw-r--r--src/bin/evas/evas_cserve2_cache.c2342
-rw-r--r--src/bin/evas/evas_cserve2_client.c434
-rw-r--r--src/bin/evas/evas_cserve2_debug.c451
-rw-r--r--src/bin/evas/evas_cserve2_fonts.c636
-rw-r--r--src/bin/evas/evas_cserve2_main.c367
-rw-r--r--src/bin/evas/evas_cserve2_main_loop_linux.c805
-rw-r--r--src/bin/evas/evas_cserve2_messages.c193
-rw-r--r--src/bin/evas/evas_cserve2_requests.c560
-rw-r--r--src/bin/evas/evas_cserve2_shm.c195
-rw-r--r--src/bin/evas/evas_cserve2_slave.c480
-rw-r--r--src/bin/evas/evas_cserve2_slave.h86
-rw-r--r--src/bin/evas/evas_cserve2_slaves.c642
-rw-r--r--src/bin/evas/evas_cserve2_usage.c247
-rw-r--r--src/bin/evas/evas_cserve2_utils.c58
-rw-r--r--src/bin/evas/loaders/bmp/evas_image_load_bmp.c1479
-rw-r--r--src/bin/evas/loaders/eet/evas_image_load_eet.c158
-rw-r--r--src/bin/evas/loaders/ico/evas_image_load_ico.c789
-rw-r--r--src/bin/evas/loaders/jpeg/evas_image_load_jpeg.c1118
-rw-r--r--src/bin/evas/loaders/pmaps/evas_image_load_pmaps.c573
-rw-r--r--src/bin/evas/loaders/png/evas_image_load_png.c310
-rw-r--r--src/bin/evas/loaders/psd/evas_image_load_psd.c981
-rw-r--r--src/bin/evas/loaders/tga/evas_image_load_tga.c574
-rw-r--r--src/bin/evas/loaders/tiff/evas_image_load_tiff.c282
-rw-r--r--src/bin/evas/loaders/wbmp/evas_image_load_wbmp.c189
-rw-r--r--src/bin/evas/loaders/webp/evas_image_load_webp.c141
-rw-r--r--src/bin/evas/loaders/xpm/evas_image_load_xpm.c688
-rw-r--r--src/lib/evas/Evas.h19001
-rw-r--r--src/lib/evas/Evas_GL.h1531
-rw-r--r--src/lib/evas/cache/evas_cache.h172
-rw-r--r--src/lib/evas/cache/evas_cache_engine_image.c703
-rw-r--r--src/lib/evas/cache/evas_cache_image.c1194
-rw-r--r--src/lib/evas/cache/evas_preload.c234
-rw-r--r--src/lib/evas/cache2/evas_cache2.c958
-rw-r--r--src/lib/evas/cache2/evas_cache2.h87
-rw-r--r--src/lib/evas/canvas/common_interfaces.c271
-rw-r--r--src/lib/evas/canvas/evas_async_events.c170
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c675
-rw-r--r--src/lib/evas/canvas/evas_clip.c421
-rw-r--r--src/lib/evas/canvas/evas_common_interface.c24
-rw-r--r--src/lib/evas/canvas/evas_data.c34
-rw-r--r--src/lib/evas/canvas/evas_device.c259
-rw-r--r--src/lib/evas/canvas/evas_events.c3220
-rw-r--r--src/lib/evas/canvas/evas_filter.c1428
-rw-r--r--src/lib/evas/canvas/evas_focus.c92
-rw-r--r--src/lib/evas/canvas/evas_font_dir.c1459
-rw-r--r--src/lib/evas/canvas/evas_gl.c289
-rw-r--r--src/lib/evas/canvas/evas_key.c354
-rw-r--r--src/lib/evas/canvas/evas_key_grab.c208
-rw-r--r--src/lib/evas/canvas/evas_layer.c252
-rw-r--r--src/lib/evas/canvas/evas_main.c1178
-rw-r--r--src/lib/evas/canvas/evas_map.c1220
-rw-r--r--src/lib/evas/canvas/evas_name.c112
-rw-r--r--src/lib/evas/canvas/evas_object_box.c2400
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c677
-rw-r--r--src/lib/evas/canvas/evas_object_image.c4631
-rw-r--r--src/lib/evas/canvas/evas_object_inform.c95
-rw-r--r--src/lib/evas/canvas/evas_object_intercept.c622
-rw-r--r--src/lib/evas/canvas/evas_object_line.c482
-rw-r--r--src/lib/evas/canvas/evas_object_main.c2486
-rw-r--r--src/lib/evas/canvas/evas_object_polygon.c579
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c392
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c1513
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c336
-rw-r--r--src/lib/evas/canvas/evas_object_table.c1624
-rw-r--r--src/lib/evas/canvas/evas_object_text.c2166
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c10379
-rw-r--r--src/lib/evas/canvas/evas_object_textgrid.c1597
-rw-r--r--src/lib/evas/canvas/evas_rectangle.c98
-rw-r--r--src/lib/evas/canvas/evas_render.c1970
-rw-r--r--src/lib/evas/canvas/evas_smart.c332
-rw-r--r--src/lib/evas/canvas/evas_stack.c495
-rw-r--r--src/lib/evas/canvas/evas_stats.c49
-rw-r--r--src/lib/evas/canvas/evas_touch_point.c155
-rw-r--r--src/lib/evas/common/evas_blend.h8
-rw-r--r--src/lib/evas/common/evas_blend_main.c325
-rw-r--r--src/lib/evas/common/evas_blend_private.h31
-rw-r--r--src/lib/evas/common/evas_blit_main.c614
-rw-r--r--src/lib/evas/common/evas_convert_color.c246
-rw-r--r--src/lib/evas/common/evas_convert_color.h16
-rw-r--r--src/lib/evas/common/evas_convert_colorspace.c186
-rw-r--r--src/lib/evas/common/evas_convert_colorspace.h12
-rw-r--r--src/lib/evas/common/evas_convert_gry_1.c6
-rw-r--r--src/lib/evas/common/evas_convert_gry_1.h9
-rw-r--r--src/lib/evas/common/evas_convert_gry_8.c68
-rw-r--r--src/lib/evas/common/evas_convert_gry_8.h12
-rw-r--r--src/lib/evas/common/evas_convert_grypal_6.c21
-rw-r--r--src/lib/evas/common/evas_convert_grypal_6.h6
-rw-r--r--src/lib/evas/common/evas_convert_main.c478
-rw-r--r--src/lib/evas/common/evas_convert_main.h9
-rw-r--r--src/lib/evas/common/evas_convert_rgb_16.c1927
-rw-r--r--src/lib/evas/common/evas_convert_rgb_16.h50
-rw-r--r--src/lib/evas/common/evas_convert_rgb_24.c85
-rw-r--r--src/lib/evas/common/evas_convert_rgb_24.h10
-rw-r--r--src/lib/evas/common/evas_convert_rgb_32.c555
-rw-r--r--src/lib/evas/common/evas_convert_rgb_32.h24
-rw-r--r--src/lib/evas/common/evas_convert_rgb_8.c240
-rw-r--r--src/lib/evas/common/evas_convert_rgb_8.h14
-rw-r--r--src/lib/evas/common/evas_convert_yuv.c1215
-rw-r--r--src/lib/evas/common/evas_convert_yuv.h9
-rw-r--r--src/lib/evas/common/evas_cpu.c273
-rw-r--r--src/lib/evas/common/evas_draw.h36
-rw-r--r--src/lib/evas/common/evas_draw_main.c703
-rw-r--r--src/lib/evas/common/evas_font.h78
-rw-r--r--src/lib/evas/common/evas_font_default_walk.x145
-rw-r--r--src/lib/evas/common/evas_font_draw.c430
-rw-r--r--src/lib/evas/common/evas_font_load.c913
-rw-r--r--src/lib/evas/common/evas_font_main.c726
-rw-r--r--src/lib/evas/common/evas_font_ot.c344
-rw-r--r--src/lib/evas/common/evas_font_ot.h45
-rw-r--r--src/lib/evas/common/evas_font_private.h53
-rw-r--r--src/lib/evas/common/evas_font_query.c802
-rw-r--r--src/lib/evas/common/evas_image.h68
-rw-r--r--src/lib/evas/common/evas_image_data.c149
-rw-r--r--src/lib/evas/common/evas_image_load.c391
-rw-r--r--src/lib/evas/common/evas_image_main.c929
-rw-r--r--src/lib/evas/common/evas_image_private.h15
-rw-r--r--src/lib/evas/common/evas_image_save.c49
-rw-r--r--src/lib/evas/common/evas_image_scalecache.c837
-rw-r--r--src/lib/evas/common/evas_line.h11
-rw-r--r--src/lib/evas/common/evas_line_main.c1003
-rw-r--r--src/lib/evas/common/evas_map_image.c764
-rw-r--r--src/lib/evas/common/evas_map_image.h23
-rw-r--r--src/lib/evas/common/evas_map_image_core.c226
-rw-r--r--src/lib/evas/common/evas_map_image_internal.c180
-rw-r--r--src/lib/evas/common/evas_map_image_loop.c116
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_color_.c25
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_color_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_mask_color_.c26
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_mask_color_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_pixel_.c25
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_pixel_color_.c25
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_pixel_color_i386.c29
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_pixel_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_pixel_mask_.c29
-rw-r--r--src/lib/evas/common/evas_op_add/op_add_pixel_mask_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_add_main_.c529
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_color_.c101
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_color_i386.c138
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_color_neon.c223
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_color_sse3.c167
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_mask_color_.c177
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_mask_color_i386.c251
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c562
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_mask_color_sse3.c321
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_master_sse3.c77
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_.c154
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_color_.c276
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_color_i386.c221
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c570
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_color_sse3.c543
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_i386.c217
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c181
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_i386.c157
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_neon.c129
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_sse3.c300
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c530
-rw-r--r--src/lib/evas/common/evas_op_blend/op_blend_pixel_sse3.c315
-rw-r--r--src/lib/evas/common/evas_op_blend_main_.c659
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_color_.c131
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_color_i386.c150
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_color_neon.c212
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_mask_color_.c162
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_mask_color_i386.c193
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_mask_color_neon.c170
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_.c109
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_color_.c228
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_color_i386.c255
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_color_neon.c238
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_i386.c131
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_mask_.c142
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_mask_i386.c176
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_mask_neon.c151
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_pixel_neon.c158
-rw-r--r--src/lib/evas/common/evas_op_copy_main_.c663
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_color_.c46
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_color_i386.c58
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_mask_color_.c59
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_mask_color_i386.c13
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_pixel_.c44
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_pixel_color_.c96
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_pixel_color_i386.c13
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_pixel_i386.c58
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_pixel_mask_.c58
-rw-r--r--src/lib/evas/common/evas_op_mask/op_mask_pixel_mask_i386.c13
-rw-r--r--src/lib/evas/common/evas_op_mask_main_.c303
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_color_.c60
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_color_i386.c66
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_mask_color_.c68
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_mask_color_i386.c92
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_pixel_.c52
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_pixel_color_.c118
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_pixel_color_i386.c120
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_pixel_i386.c66
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_pixel_mask_.c114
-rw-r--r--src/lib/evas/common/evas_op_mul/op_mul_pixel_mask_i386.c63
-rw-r--r--src/lib/evas/common/evas_op_mul_main_.c302
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_color_.c25
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_color_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_mask_color_.c25
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_mask_color_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_pixel_.c25
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_pixel_color_.c25
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_pixel_color_i386.c29
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_pixel_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_pixel_mask_.c29
-rw-r--r--src/lib/evas/common/evas_op_sub/op_sub_pixel_mask_i386.c33
-rw-r--r--src/lib/evas/common/evas_op_sub_main_.c530
-rw-r--r--src/lib/evas/common/evas_pipe.c895
-rw-r--r--src/lib/evas/common/evas_pipe.h27
-rw-r--r--src/lib/evas/common/evas_polygon.h13
-rw-r--r--src/lib/evas/common/evas_polygon_main.c320
-rw-r--r--src/lib/evas/common/evas_rectangle.h13
-rw-r--r--src/lib/evas/common/evas_rectangle_main.c137
-rw-r--r--src/lib/evas/common/evas_regionbuf.c357
-rw-r--r--src/lib/evas/common/evas_scale_main.c33
-rw-r--r--src/lib/evas/common/evas_scale_main.h18
-rw-r--r--src/lib/evas/common/evas_scale_sample.c408
-rw-r--r--src/lib/evas/common/evas_scale_smooth.c243
-rw-r--r--src/lib/evas/common/evas_scale_smooth.h7
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler.c211
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_down.c43
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_downx.c234
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_downx_downy.c363
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_downy.c236
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_noscale.c44
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_up.c235
-rw-r--r--src/lib/evas/common/evas_scale_span.c653
-rw-r--r--src/lib/evas/common/evas_scale_span.h14
-rw-r--r--src/lib/evas/common/evas_text_utils.c521
-rw-r--r--src/lib/evas/common/evas_text_utils.h101
-rw-r--r--src/lib/evas/common/evas_tiler.c1439
-rw-r--r--src/lib/evas/common/language/evas_bidi_utils.c645
-rw-r--r--src/lib/evas/common/language/evas_bidi_utils.h157
-rw-r--r--src/lib/evas/common/language/evas_language_utils.c152
-rw-r--r--src/lib/evas/common/language/evas_language_utils.h132
-rw-r--r--src/lib/evas/common/language/evas_script_table.h3087
-rw-r--r--src/lib/evas/cserve2/evas_cs2.h298
-rw-r--r--src/lib/evas/cserve2/evas_cs2_client.c1309
-rw-r--r--src/lib/evas/cserve2/evas_cs2_image_data.c23
-rw-r--r--src/lib/evas/cserve2/evas_cs2_private.h42
-rw-r--r--src/lib/evas/cserve2/evas_cs2_utils.c121
-rw-r--r--src/lib/evas/cserve2/evas_cs2_utils.h13
-rw-r--r--src/lib/evas/file/evas_module.c607
-rw-r--r--src/lib/evas/file/evas_module.h94
-rw-r--r--src/lib/evas/file/evas_path.c152
-rw-r--r--src/lib/evas/file/evas_path.h15
-rw-r--r--src/lib/evas/include/evas_blend_ops.h378
-rw-r--r--src/lib/evas/include/evas_common.h1276
-rw-r--r--src/lib/evas/include/evas_inline.x300
-rw-r--r--src/lib/evas/include/evas_macros.h217
-rw-r--r--src/lib/evas/include/evas_mmx.h735
-rw-r--r--src/lib/evas/include/evas_options.h6
-rw-r--r--src/lib/evas/include/evas_private.h1332
-rw-r--r--src/lib/evas/main.c160
-rw-r--r--src/modules/evas/engines/buffer/Evas_Engine_Buffer.h43
-rw-r--r--src/modules/evas/engines/buffer/evas_engine.c445
-rw-r--r--src/modules/evas/engines/buffer/evas_engine.h91
-rw-r--r--src/modules/evas/engines/buffer/evas_outbuf.c418
-rw-r--r--src/modules/evas/engines/direct3d/Evas_Engine_Direct3D.h36
-rw-r--r--src/modules/evas/engines/direct3d/array.h305
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_buffer.c0
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_context.cpp8
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_context.h22
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_device.cpp393
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_device.h87
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_image_cache.cpp436
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_image_cache.h108
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_main.cpp774
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object.cpp12
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object.h35
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_font.cpp231
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_font.h113
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_image.cpp320
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_image.h127
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_line.cpp60
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_line.h37
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_rect.cpp65
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_object_rect.h37
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_scene.cpp33
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_scene.h63
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_shader_pack.cpp344
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_shader_pack.h75
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_vertex_buffer_cache.cpp154
-rw-r--r--src/modules/evas/engines/direct3d/evas_direct3d_vertex_buffer_cache.h60
-rw-r--r--src/modules/evas/engines/direct3d/evas_engine.c505
-rw-r--r--src/modules/evas/engines/direct3d/evas_engine.h125
-rw-r--r--src/modules/evas/engines/direct3d/ref.h210
-rw-r--r--src/modules/evas/engines/directfb/Evas_Engine_DirectFB.h25
-rw-r--r--src/modules/evas/engines/directfb/evas_engine.c1755
-rw-r--r--src/modules/evas/engines/directfb/evas_engine.h71
-rw-r--r--src/modules/evas/engines/directfb/polygon.c269
-rw-r--r--src/modules/evas/engines/fb/Evas_Engine_FB.h25
-rw-r--r--src/modules/evas/engines/fb/evas_engine.c311
-rw-r--r--src/modules/evas/engines/fb/evas_engine.h85
-rw-r--r--src/modules/evas/engines/fb/evas_fb.h93
-rw-r--r--src/modules/evas/engines/fb/evas_fb_main.c600
-rw-r--r--src/modules/evas/engines/fb/evas_outbuf.c402
-rw-r--r--src/modules/evas/engines/gl_cocoa/Evas_Engine_GL_Cocoa.h20
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_engine.c1474
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_engine.h69
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m134
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api.c2925
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext.c286
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext.h70
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h632
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_common.h670
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_context.c2847
-rwxr-xr-xsrc/modules/evas/engines/gl_common/evas_gl_core.c1568
-rwxr-xr-xsrc/modules/evas/engines/gl_common/evas_gl_core.h39
-rwxr-xr-xsrc/modules/evas/engines/gl_common/evas_gl_core_private.h250
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_filter.c181
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_font.c205
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c974
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_line.c48
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_polygon.c306
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_private.h32
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_rectangle.c53
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_shader.c956
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_texture.c1680
-rw-r--r--src/modules/evas/engines/gl_common/shader/.gitignore1
-rwxr-xr-xsrc/modules/evas/engines/gl_common/shader/compile.sh48
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur.h24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur.shd24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_bgra.h24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_bgra.shd24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_bgra_nomul.h24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_bgra_nomul.shd24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_nomul.h24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_nomul.shd24
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_vert.h29
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_blur_vert.shd29
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale_bgra.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale_bgra.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale_bgra_nomul.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale_nomul.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_greyscale_nomul.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert_bgra.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert_bgra.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert_bgra_nomul.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert_bgra_nomul.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert_nomul.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_invert_nomul.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia.h20
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia.shd20
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia_bgra.h20
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia_bgra.shd20
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia_bgra_nomul.h18
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia_bgra_nomul.shd18
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia_nomul.h18
-rw-r--r--src/modules/evas/engines/gl_common/shader/filter_sepia_nomul.shd18
-rw-r--r--src/modules/evas/engines/gl_common/shader/font_frag.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/font_frag.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/font_vert.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/font_vert.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_frag.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_frag.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_nomul_frag.h13
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_nomul_frag.shd13
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_nomul_vert.h12
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_nomul_vert.shd12
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_vert.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_bgra_vert.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_frag.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_frag.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_mask_frag.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_mask_frag.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_mask_vert.h16
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_mask_vert.shd16
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_nomul_frag.h13
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_nomul_frag.shd13
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_nomul_vert.h12
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_nomul_vert.shd12
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_vert.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/img_vert.shd15
-rwxr-xr-xsrc/modules/evas/engines/gl_common/shader/make-c-str.sh3
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_frag.h31
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_frag.shd31
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_nomul_frag.h31
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_nomul_frag.shd31
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_nomul_vert.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_nomul_vert.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_vert.h16
-rw-r--r--src/modules/evas/engines/gl_common/shader/nv12_vert.shd16
-rw-r--r--src/modules/evas/engines/gl_common/shader/rect_frag.h13
-rw-r--r--src/modules/evas/engines/gl_common/shader/rect_frag.shd13
-rw-r--r--src/modules/evas/engines/gl_common/shader/rect_vert.h12
-rw-r--r--src/modules/evas/engines/gl_common/shader/rect_vert.shd12
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_frag.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_frag.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_nomul_frag.h13
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_nomul_frag.shd13
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_nomul_vert.h12
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_nomul_vert.shd12
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_vert.h15
-rw-r--r--src/modules/evas/engines/gl_common/shader/tex_vert.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_frag.h24
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_frag.shd24
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_nomul_frag.h23
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_nomul_frag.shd23
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_nomul_vert.h14
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_nomul_vert.shd14
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_vert.h17
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuv_vert.shd17
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_frag.h30
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_frag.shd30
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_nomul_frag.h30
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_nomul_frag.shd30
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_nomul_vert.h13
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_nomul_vert.shd13
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_vert.h16
-rw-r--r--src/modules/evas/engines/gl_common/shader/yuy2_vert.shd16
-rw-r--r--src/modules/evas/engines/gl_sdl/Evas_Engine_GL_SDL.h24
-rw-r--r--src/modules/evas/engines/gl_sdl/evas_engine.c1141
-rw-r--r--src/modules/evas/engines/gl_sdl/evas_engine.h73
-rw-r--r--src/modules/evas/engines/gl_x11/Evas_Engine_GL_X11.h59
-rw-r--r--src/modules/evas/engines/gl_x11/evas_engine.c2996
-rw-r--r--src/modules/evas/engines/gl_x11/evas_engine.h114
-rw-r--r--src/modules/evas/engines/gl_x11/evas_x_main.c886
-rw-r--r--src/modules/evas/engines/psl1ght/Evas_Engine_PSL1GHT.h16
-rw-r--r--src/modules/evas/engines/psl1ght/evas_engine.c512
-rw-r--r--src/modules/evas/engines/psl1ght/evas_engine.h30
-rw-r--r--src/modules/evas/engines/psl1ght/rsxutil.c275
-rw-r--r--src/modules/evas/engines/psl1ght/rsxutil.h43
-rw-r--r--src/modules/evas/engines/software_ddraw/Evas_Engine_Software_DDraw.h30
-rw-r--r--src/modules/evas/engines/software_ddraw/evas_ddraw_buffer.c92
-rw-r--r--src/modules/evas/engines/software_ddraw/evas_ddraw_main.cpp248
-rw-r--r--src/modules/evas/engines/software_ddraw/evas_engine.c380
-rw-r--r--src/modules/evas/engines/software_ddraw/evas_engine.h220
-rw-r--r--src/modules/evas/engines/software_ddraw/evas_outbuf.c460
-rw-r--r--src/modules/evas/engines/software_gdi/Evas_Engine_Software_Gdi.h32
-rw-r--r--src/modules/evas/engines/software_gdi/evas_engine.c388
-rw-r--r--src/modules/evas/engines/software_gdi/evas_engine.h209
-rw-r--r--src/modules/evas/engines/software_gdi/evas_gdi_buffer.c88
-rw-r--r--src/modules/evas/engines/software_gdi/evas_gdi_main.c100
-rw-r--r--src/modules/evas/engines/software_gdi/evas_outbuf.c656
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c2925
-rw-r--r--src/modules/evas/engines/software_x11/Evas_Engine_Software_X11.h52
-rw-r--r--src/modules/evas/engines/software_x11/evas_engine.c776
-rw-r--r--src/modules/evas/engines/software_x11/evas_engine.h132
-rw-r--r--src/modules/evas/engines/software_x11/evas_x_egl.c281
-rw-r--r--src/modules/evas/engines/software_x11/evas_x_egl.h23
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_buffer.c498
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_buffer.h30
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_color.c424
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_color.h10
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_main.c8
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_outbuf.c1170
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_outbuf.h26
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_xdefaults.c108
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_xdefaults.h11
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_buffer.c428
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_buffer.h45
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_color.c368
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_color.h16
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_main.c7
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_outbuf.c1209
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_outbuf.h87
-rw-r--r--src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h49
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_engine.c3828
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_engine.h87
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_wl_main.c287
-rw-r--r--src/modules/evas/engines/wayland_shm/Evas_Engine_Wayland_Shm.h27
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_engine.c372
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_engine.h63
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_outbuf.c162
-rw-r--r--src/modules/evas/loaders/bmp/evas_image_load_bmp.c1498
-rw-r--r--src/modules/evas/loaders/eet/evas_image_load_eet.c183
-rw-r--r--src/modules/evas/loaders/generic/evas_image_load_generic.c434
-rw-r--r--src/modules/evas/loaders/gif/evas_image_load_gif.c1099
-rw-r--r--src/modules/evas/loaders/ico/evas_image_load_ico.c808
-rw-r--r--src/modules/evas/loaders/jpeg/evas_image_load_jpeg.c1337
-rw-r--r--src/modules/evas/loaders/pmaps/evas_image_load_pmaps.c590
-rw-r--r--src/modules/evas/loaders/png/evas_image_load_png.c329
-rw-r--r--src/modules/evas/loaders/psd/evas_image_load_psd.c1002
-rw-r--r--src/modules/evas/loaders/svg/evas_image_load_esvg.c308
-rw-r--r--src/modules/evas/loaders/tga/evas_image_load_tga.c593
-rw-r--r--src/modules/evas/loaders/tiff/evas_image_load_tiff.c325
-rw-r--r--src/modules/evas/loaders/wbmp/evas_image_load_wbmp.c209
-rw-r--r--src/modules/evas/loaders/webp/evas_image_load_webp.c170
-rw-r--r--src/modules/evas/loaders/xpm/evas_image_load_xpm.c734
-rw-r--r--src/modules/evas/savers/eet/evas_image_save_eet.c83
-rw-r--r--src/modules/evas/savers/jpeg/evas_image_save_jpeg.c157
-rw-r--r--src/modules/evas/savers/png/evas_image_save_png.c193
-rw-r--r--src/modules/evas/savers/tiff/evas_image_save_tiff.c139
-rw-r--r--src/static_libs/liblinebreak/AUTHORS8
-rw-r--r--src/static_libs/liblinebreak/ChangeLog397
-rw-r--r--src/static_libs/liblinebreak/LICENCE18
-rw-r--r--src/static_libs/liblinebreak/LineBreak1.sed1
-rw-r--r--src/static_libs/liblinebreak/LineBreak2.sed2
-rw-r--r--src/static_libs/liblinebreak/NEWS37
-rw-r--r--src/static_libs/liblinebreak/README86
-rw-r--r--src/static_libs/liblinebreak/filter_dup.c48
-rwxr-xr-xsrc/static_libs/liblinebreak/gen_linebreak_data.sh11
-rwxr-xr-xsrc/static_libs/liblinebreak/gen_wordbreak_data.sh25
-rw-r--r--src/static_libs/liblinebreak/linebreak.c737
-rw-r--r--src/static_libs/liblinebreak/linebreak.h87
-rw-r--r--src/static_libs/liblinebreak/linebreakdata.c1868
-rw-r--r--src/static_libs/liblinebreak/linebreakdata1.tmpl1
-rw-r--r--src/static_libs/liblinebreak/linebreakdata2.tmpl7
-rw-r--r--src/static_libs/liblinebreak/linebreakdata3.tmpl2
-rw-r--r--src/static_libs/liblinebreak/linebreakdef.c139
-rw-r--r--src/static_libs/liblinebreak/linebreakdef.h149
-rwxr-xr-xsrc/static_libs/liblinebreak/sort_numeric_hex.py6
-rw-r--r--src/static_libs/liblinebreak/wordbreak.c435
-rw-r--r--src/static_libs/liblinebreak/wordbreak.h72
-rw-r--r--src/static_libs/liblinebreak/wordbreakdata.x858
-rw-r--r--src/static_libs/liblinebreak/wordbreakdef.h80
517 files changed, 196493 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index b0fc8b5da8..930d4aebed 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = subdir-objects
2 2
3MAINTAINERCLEANFILES = Makefile.in 3MAINTAINERCLEANFILES = Makefile.in
4 4
5SUBDIRS = . scripts benchmarks tests examples 5SUBDIRS = . benchmarks tests examples
6 6
7lib_LTLIBRARIES = 7lib_LTLIBRARIES =
8bin_PROGRAMS = 8bin_PROGRAMS =
@@ -15,6 +15,7 @@ endif
15include Makefile_Eina.am 15include Makefile_Eina.am
16include Makefile_Eo.am 16include Makefile_Eo.am
17include Makefile_Eet.am 17include Makefile_Eet.am
18include Makefile_Evas.am
18include Makefile_Embryo.am 19include Makefile_Embryo.am
19 20
20.PHONY: benchmark examples 21.PHONY: benchmark examples
diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am
index 930f62f973..4f5de8420f 100644
--- a/src/Makefile_Eina.am
+++ b/src/Makefile_Eina.am
@@ -239,3 +239,7 @@ EXTRA_DIST += \
239lib/eina/eina_config.h.in \ 239lib/eina/eina_config.h.in \
240lib/eina/eina_strbuf_template_c.x \ 240lib/eina/eina_strbuf_template_c.x \
241lib/eina/eina_binbuf_template_c.x 241lib/eina/eina_binbuf_template_c.x
242
243### Script
244
245bin_SCRIPTS = scripts/eina/eina-bench-cmp
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
new file mode 100644
index 0000000000..49b8cd7ca7
--- /dev/null
+++ b/src/Makefile_Evas.am
@@ -0,0 +1,1837 @@
1
2### Library
3
4lib_LTLIBRARIES += lib/evas/libevas.la
5
6installed_evasmainheadersdir = $(includedir)/evas-@VMAJ@
7dist_installed_evasmainheaders_DATA = lib/evas/Evas.h lib/evas/Evas_GL.h
8
9noinst_HEADERS = \
10lib/evas/include/evas_inline.x \
11lib/evas/include/evas_private.h \
12lib/evas/include/evas_options.h \
13lib/evas/include/evas_macros.h \
14lib/evas/include/evas_mmx.h \
15lib/evas/include/evas_common.h \
16lib/evas/include/evas_blend_ops.h
17
18# Linebreak
19
20noinst_HEADERS += \
21static_libs/liblinebreak/linebreak.h \
22static_libs/liblinebreak/linebreakdef.h \
23static_libs/liblinebreak/wordbreakdef.h \
24static_libs/liblinebreak/wordbreak.h
25
26# Linebreak
27lib_evas_libevas_la_SOURCES = \
28static_libs/liblinebreak/linebreak.c \
29static_libs/liblinebreak/linebreakdata.c \
30static_libs/liblinebreak/linebreakdef.c \
31static_libs/liblinebreak/wordbreak.c \
32static_libs/liblinebreak/wordbreakdata.x
33
34# Main
35lib_evas_libevas_la_SOURCES += \
36lib/evas/main.c
37
38# Canvas
39lib_evas_libevas_la_SOURCES += \
40lib/evas/canvas/common_interfaces.c \
41lib/evas/canvas/evas_callbacks.c \
42lib/evas/canvas/evas_clip.c \
43lib/evas/canvas/evas_common_interface.c \
44lib/evas/canvas/evas_data.c \
45lib/evas/canvas/evas_device.c \
46lib/evas/canvas/evas_events.c \
47lib/evas/canvas/evas_filter.c \
48lib/evas/canvas/evas_focus.c \
49lib/evas/canvas/evas_key.c \
50lib/evas/canvas/evas_key_grab.c \
51lib/evas/canvas/evas_layer.c \
52lib/evas/canvas/evas_main.c \
53lib/evas/canvas/evas_name.c \
54lib/evas/canvas/evas_object_image.c \
55lib/evas/canvas/evas_object_main.c \
56lib/evas/canvas/evas_object_inform.c \
57lib/evas/canvas/evas_object_intercept.c \
58lib/evas/canvas/evas_object_line.c \
59lib/evas/canvas/evas_object_polygon.c \
60lib/evas/canvas/evas_object_rectangle.c \
61lib/evas/canvas/evas_object_smart.c \
62lib/evas/canvas/evas_object_smart_clipped.c \
63lib/evas/canvas/evas_object_box.c \
64lib/evas/canvas/evas_object_table.c \
65lib/evas/canvas/evas_object_text.c \
66lib/evas/canvas/evas_object_textblock.c \
67lib/evas/canvas/evas_object_textgrid.c \
68lib/evas/canvas/evas_object_grid.c \
69lib/evas/canvas/evas_font_dir.c \
70lib/evas/canvas/evas_rectangle.c \
71lib/evas/canvas/evas_render.c \
72lib/evas/canvas/evas_smart.c \
73lib/evas/canvas/evas_stack.c \
74lib/evas/canvas/evas_async_events.c \
75lib/evas/canvas/evas_stats.c \
76lib/evas/canvas/evas_touch_point.c \
77lib/evas/canvas/evas_map.c \
78lib/evas/canvas/evas_gl.c
79
80# Cache
81lib_evas_libevas_la_SOURCES += \
82lib/evas/cache/evas_cache_image.c \
83lib/evas/cache/evas_cache_engine_image.c \
84lib/evas/cache/evas_preload.c \
85lib/evas/cache/evas_cache.h
86
87# Cache2 - Cserve2
88if EVAS_CSERVE2
89lib_evas_libevas_la_SOURCES += \
90lib/evas/cache2/evas_cache2.c \
91lib/evas/cache2/evas_cache2.h
92
93lib_evas_libevas_la_SOURCES += \
94lib/evas/cserve2/evas_cs2.h \
95lib/evas/cserve2/evas_cs2_private.h \
96lib/evas/cserve2/evas_cs2_image_data.c \
97lib/evas/cserve2/evas_cs2_client.c
98
99lib_evas_libevas_la_SOURCES += \
100lib/evas/cserve2/evas_cs2_utils.h \
101lib/evas/cserve2/evas_cs2_utils.c
102endif
103
104# File
105lib_evas_libevas_la_SOURCES += \
106lib/evas/file/evas_path.c \
107lib/evas/file/evas_module.c \
108lib/evas/file/evas_module.h \
109lib/evas/file/evas_path.h
110
111# Engine
112lib_evas_libevas_la_SOURCES += \
113lib/evas/common/evas_op_copy_main_.c \
114lib/evas/common/evas_op_blend_main_.c \
115lib/evas/common/evas_op_add_main_.c \
116lib/evas/common/evas_op_sub_main_.c \
117lib/evas/common/evas_op_mask_main_.c \
118lib/evas/common/evas_op_mul_main_.c \
119lib/evas/common/evas_blend_main.c \
120lib/evas/common/evas_blit_main.c \
121lib/evas/common/evas_convert_color.c \
122lib/evas/common/evas_convert_colorspace.c \
123lib/evas/common/evas_convert_gry_1.c \
124lib/evas/common/evas_convert_gry_8.c \
125lib/evas/common/evas_convert_main.c \
126lib/evas/common/evas_convert_rgb_16.c \
127lib/evas/common/evas_convert_rgb_24.c \
128lib/evas/common/evas_convert_rgb_32.c \
129lib/evas/common/evas_convert_rgb_8.c \
130lib/evas/common/evas_convert_grypal_6.c \
131lib/evas/common/evas_convert_yuv.c \
132lib/evas/common/evas_cpu.c \
133lib/evas/common/evas_draw_main.c \
134lib/evas/common/evas_font_draw.c \
135lib/evas/common/evas_font_load.c \
136lib/evas/common/evas_font_main.c \
137lib/evas/common/evas_font_query.c \
138lib/evas/common/evas_image_load.c \
139lib/evas/common/evas_image_save.c \
140lib/evas/common/evas_image_main.c \
141lib/evas/common/evas_image_data.c \
142lib/evas/common/evas_image_scalecache.c \
143lib/evas/common/evas_line_main.c \
144lib/evas/common/evas_polygon_main.c \
145lib/evas/common/evas_rectangle_main.c \
146lib/evas/common/evas_scale_main.c \
147lib/evas/common/evas_scale_sample.c \
148lib/evas/common/evas_scale_smooth.c \
149lib/evas/common/evas_scale_span.c \
150lib/evas/common/evas_tiler.c \
151lib/evas/common/evas_regionbuf.c \
152lib/evas/common/evas_pipe.c \
153lib/evas/common/language/evas_bidi_utils.c \
154lib/evas/common/language/evas_language_utils.c \
155lib/evas/common/evas_text_utils.c \
156lib/evas/common/evas_font_ot.c \
157lib/evas/common/evas_map_image.c \
158lib/evas/common/evas_map_image.h \
159lib/evas/common/evas_blend.h \
160lib/evas/common/evas_blend_private.h \
161lib/evas/common/evas_convert_color.h \
162lib/evas/common/evas_convert_colorspace.h \
163lib/evas/common/evas_convert_gry_1.h \
164lib/evas/common/evas_convert_gry_8.h \
165lib/evas/common/evas_convert_grypal_6.h \
166lib/evas/common/evas_convert_main.h \
167lib/evas/common/evas_convert_rgb_16.h \
168lib/evas/common/evas_convert_rgb_24.h \
169lib/evas/common/evas_convert_rgb_32.h \
170lib/evas/common/evas_convert_rgb_8.h \
171lib/evas/common/evas_convert_yuv.h \
172lib/evas/common/evas_draw.h \
173lib/evas/common/evas_font.h \
174lib/evas/common/evas_font_default_walk.x \
175lib/evas/common/evas_font_private.h \
176lib/evas/common/evas_image.h \
177lib/evas/common/evas_image_private.h \
178lib/evas/common/evas_line.h \
179lib/evas/common/evas_polygon.h \
180lib/evas/common/evas_rectangle.h \
181lib/evas/common/evas_scale_main.h \
182lib/evas/common/evas_scale_smooth.h \
183lib/evas/common/evas_scale_span.h \
184lib/evas/common/evas_pipe.h \
185lib/evas/common/language/evas_bidi_utils.h \
186lib/evas/common/language/evas_language_utils.h \
187lib/evas/common/language/evas_script_table.h \
188lib/evas/common/evas_text_utils.h \
189lib/evas/common/evas_font_ot.h
190
191# SSE3
192lib_evas_libevas_la_SOURCES += \
193lib/evas/common/evas_op_blend/op_blend_master_sse3.c
194
195lib_evas_libevas_la_CPPFLAGS = \
196-I$(top_srcdir)/src/lib/evas \
197-I$(top_builddir)/src/lib/evas \
198-I$(top_srcdir)/src/lib/evas/include \
199-I$(top_builddir)/src/lib/evas/include \
200-I$(top_srcdir)/src/lib/evas/cserve2 \
201-I$(top_builddir)/src/lib/evas/cserve2 \
202-I$(top_srcdir)/src/lib/evas/file \
203-I$(top_builddir)/src/lib/evas/file \
204-I$(top_srcdir)/src/static_libs/liblinebreak \
205-I$(top_builddir)/src/static_libs/liblinebreak \
206-I$(top_srcdir)/src/lib/evas/common \
207-I$(top_builddir)/src/lib/evas/common \
208-I$(top_srcdir)/src/lib/eina \
209-I$(top_srcdir)/src/lib/eo \
210-I$(top_srcdir)/src/lib/eet \
211-I$(top_builddir)/src/lib/eina \
212-I$(top_builddir)/src/lib/eo \
213-I$(top_builddir)/src/lib/eet \
214-DPACKAGE_BIN_DIR=\"$(bindir)\" \
215-DPACKAGE_LIB_DIR=\"$(libdir)\" \
216-DPACKAGE_DATA_DIR=\"$(datadir)/evas\" \
217@EFL_CFLAGS@ \
218@EVAS_CFLAGS@ \
219@VALGRIND_CFLAGS@ \
220@EVAS_ALTIVEC_CFLAGS@ \
221@EVAS_SSE3_CFLAGS@
222
223if HAVE_WINDOWS
224lib_evas_libevas_la_CPPFLAGS += \
225-I$(top_srcdir)/src/lib/evil \
226-I$(top_builddir)/src/lib/evil
227endif
228
229lib_evas_libevas_la_CXXFLAGS =
230
231lib_evas_libevas_la_LIBADD = \
232lib/eina/libeina.la \
233lib/eet/libeet.la \
234lib/eo/libeo.la \
235@EVAS_LIBS@ \
236-lm
237
238lib_evas_libevas_la_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@
239
240# Linebreak
241
242EXTRA_DIST += \
243static_libs/liblinebreak/LineBreak1.sed \
244static_libs/liblinebreak/LineBreak2.sed \
245static_libs/liblinebreak/linebreakdata1.tmpl \
246static_libs/liblinebreak/linebreakdata2.tmpl \
247static_libs/liblinebreak/linebreakdata3.tmpl \
248static_libs/liblinebreak/LICENCE
249
250# Engines
251
252EXTRA_DIST += \
253lib/evas/common/evas_map_image_internal.c \
254lib/evas/common/evas_map_image_core.c \
255lib/evas/common/evas_map_image_loop.c \
256lib/evas/common/evas_scale_smooth_scaler.c \
257lib/evas/common/evas_scale_smooth_scaler_down.c \
258lib/evas/common/evas_scale_smooth_scaler_downx.c \
259lib/evas/common/evas_scale_smooth_scaler_downx_downy.c \
260lib/evas/common/evas_scale_smooth_scaler_downy.c \
261lib/evas/common/evas_scale_smooth_scaler_noscale.c \
262lib/evas/common/evas_scale_smooth_scaler_up.c
263
264# evas_op_add
265
266EXTRA_DIST += \
267lib/evas/common/evas_op_add/op_add_color_.c \
268lib/evas/common/evas_op_add/op_add_color_i386.c \
269lib/evas/common/evas_op_add/op_add_mask_color_.c \
270lib/evas/common/evas_op_add/op_add_mask_color_i386.c \
271lib/evas/common/evas_op_add/op_add_pixel_.c \
272lib/evas/common/evas_op_add/op_add_pixel_color_.c \
273lib/evas/common/evas_op_add/op_add_pixel_color_i386.c \
274lib/evas/common/evas_op_add/op_add_pixel_i386.c \
275lib/evas/common/evas_op_add/op_add_pixel_mask_.c \
276lib/evas/common/evas_op_add/op_add_pixel_mask_i386.c
277
278# evas_op_blend
279
280EXTRA_DIST += \
281lib/evas/common/evas_op_blend/op_blend_color_.c \
282lib/evas/common/evas_op_blend/op_blend_color_i386.c \
283lib/evas/common/evas_op_blend/op_blend_color_neon.c \
284lib/evas/common/evas_op_blend/op_blend_color_sse3.c \
285lib/evas/common/evas_op_blend/op_blend_mask_color_.c \
286lib/evas/common/evas_op_blend/op_blend_mask_color_i386.c \
287lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c \
288lib/evas/common/evas_op_blend/op_blend_mask_color_sse3.c \
289lib/evas/common/evas_op_blend/op_blend_pixel_.c \
290lib/evas/common/evas_op_blend/op_blend_pixel_color_.c \
291lib/evas/common/evas_op_blend/op_blend_pixel_color_i386.c \
292lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c \
293lib/evas/common/evas_op_blend/op_blend_pixel_color_sse3.c \
294lib/evas/common/evas_op_blend/op_blend_pixel_i386.c \
295lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c \
296lib/evas/common/evas_op_blend/op_blend_pixel_mask_i386.c \
297lib/evas/common/evas_op_blend/op_blend_pixel_mask_neon.c \
298lib/evas/common/evas_op_blend/op_blend_pixel_mask_sse3.c \
299lib/evas/common/evas_op_blend/op_blend_pixel_neon.c \
300lib/evas/common/evas_op_blend/op_blend_pixel_sse3.c
301
302# evas_op_copy
303
304EXTRA_DIST += \
305lib/evas/common/evas_op_copy/op_copy_color_.c \
306lib/evas/common/evas_op_copy/op_copy_color_i386.c \
307lib/evas/common/evas_op_copy/op_copy_color_neon.c \
308lib/evas/common/evas_op_copy/op_copy_mask_color_.c \
309lib/evas/common/evas_op_copy/op_copy_mask_color_i386.c \
310lib/evas/common/evas_op_copy/op_copy_mask_color_neon.c \
311lib/evas/common/evas_op_copy/op_copy_pixel_.c \
312lib/evas/common/evas_op_copy/op_copy_pixel_neon.c \
313lib/evas/common/evas_op_copy/op_copy_pixel_color_.c \
314lib/evas/common/evas_op_copy/op_copy_pixel_color_i386.c \
315lib/evas/common/evas_op_copy/op_copy_pixel_color_neon.c \
316lib/evas/common/evas_op_copy/op_copy_pixel_i386.c \
317lib/evas/common/evas_op_copy/op_copy_pixel_mask_.c \
318lib/evas/common/evas_op_copy/op_copy_pixel_mask_i386.c \
319lib/evas/common/evas_op_copy/op_copy_pixel_mask_neon.c
320
321# evas_op_mask
322
323EXTRA_DIST += \
324lib/evas/common/evas_op_mask/op_mask_color_.c \
325lib/evas/common/evas_op_mask/op_mask_color_i386.c \
326lib/evas/common/evas_op_mask/op_mask_mask_color_.c \
327lib/evas/common/evas_op_mask/op_mask_mask_color_i386.c \
328lib/evas/common/evas_op_mask/op_mask_pixel_.c \
329lib/evas/common/evas_op_mask/op_mask_pixel_color_.c \
330lib/evas/common/evas_op_mask/op_mask_pixel_color_i386.c \
331lib/evas/common/evas_op_mask/op_mask_pixel_i386.c \
332lib/evas/common/evas_op_mask/op_mask_pixel_mask_.c \
333lib/evas/common/evas_op_mask/op_mask_pixel_mask_i386.c
334
335# evas_op_mul
336
337EXTRA_DIST += \
338lib/evas/common/evas_op_mul/op_mul_color_.c \
339lib/evas/common/evas_op_mul/op_mul_color_i386.c \
340lib/evas/common/evas_op_mul/op_mul_mask_color_.c \
341lib/evas/common/evas_op_mul/op_mul_mask_color_i386.c \
342lib/evas/common/evas_op_mul/op_mul_pixel_.c \
343lib/evas/common/evas_op_mul/op_mul_pixel_color_.c \
344lib/evas/common/evas_op_mul/op_mul_pixel_color_i386.c \
345lib/evas/common/evas_op_mul/op_mul_pixel_i386.c \
346lib/evas/common/evas_op_mul/op_mul_pixel_mask_.c \
347lib/evas/common/evas_op_mul/op_mul_pixel_mask_i386.c
348
349# evas_op_sub
350
351EXTRA_DIST += \
352lib/evas/common/evas_op_sub/op_sub_color_.c \
353lib/evas/common/evas_op_sub/op_sub_color_i386.c \
354lib/evas/common/evas_op_sub/op_sub_mask_color_.c \
355lib/evas/common/evas_op_sub/op_sub_mask_color_i386.c \
356lib/evas/common/evas_op_sub/op_sub_pixel_.c \
357lib/evas/common/evas_op_sub/op_sub_pixel_color_.c \
358lib/evas/common/evas_op_sub/op_sub_pixel_color_i386.c \
359lib/evas/common/evas_op_sub/op_sub_pixel_i386.c \
360lib/evas/common/evas_op_sub/op_sub_pixel_mask_.c \
361lib/evas/common/evas_op_sub/op_sub_pixel_mask_i386.c
362
363
364### Engines
365
366if EVAS_STATIC_BUILD_SOFTWARE_GENERIC
367lib_evas_libevas_la_SOURCES += modules/evas/engines/software_generic/evas_engine.c
368lib_evas_libevas_la_LIBADD +=
369else
370enginesoftwaregenericpkgdir = $(libdir)/evas/modules/engines/software_generic/$(MODULE_ARCH)
371enginesoftwaregenericpkg_LTLIBRARIES = modules/evas/engines/software_generic/module.la
372modules_evas_engines_software_generic_module_la_SOURCES = modules/evas/engines/software_generic/evas_engine.c
373modules_evas_engines_software_generic_module_la_CPPFLAGS = \
374-I$(top_srcdir)/src/lib/eina \
375-I$(top_srcdir)/src/lib/eo \
376-I$(top_srcdir)/src/lib/evas \
377-I$(top_srcdir)/src/lib/evas/include \
378-I$(top_srcdir)/src/lib/evas/cserve2 \
379@EFL_CFLAGS@ \
380@EVAS_CFLAGS@
381modules_evas_engines_software_generic_module_la_LIBADD = @EFL_LIBS@ lib/evas/libevas.la
382modules_evas_engines_software_generic_module_la_LDFLAGS = -no-undefined -module -avoid-version
383modules_evas_engines_software_generic_module_la_LIBTOOLFLAGS = --tag=disable-static
384endif
385
386if BUILD_ENGINE_BUFFER
387dist_installed_evasmainheaders_DATA += modules/evas/engines/buffer/Evas_Engine_Buffer.h
388BUFFER_SOURCES = \
389modules/evas/engines/buffer/evas_engine.c \
390modules/evas/engines/buffer/evas_outbuf.c \
391modules/evas/engines/buffer/evas_engine.h
392if EVAS_STATIC_BUILD_BUFFER
393lib_evas_libevas_la_SOURCES += $(BUFFER_SOURCES)
394else
395enginebufferpkgdir = $(libdir)/evas/modules/engines/buffer/$(MODULE_ARCH)
396enginebufferpkg_LTLIBRARIES = modules/evas/engines/buffer/module.la
397modules_evas_engines_buffer_module_la_SOURCES = $(BUFFER_SOURCES)
398modules_evas_engines_buffer_module_la_CPPFLAGS = \
399-I$(top_srcdir)/src/lib/eina \
400-I$(top_srcdir)/src/lib/eo \
401-I$(top_srcdir)/src/lib/evas \
402-I$(top_srcdir)/src/lib/evas/include \
403-I$(top_srcdir)/src/lib/evas/cserve2 \
404@EFL_CFLAGS@ \
405@EVAS_CFLAGS@
406modules_evas_engines_buffer_module_la_LIBADD = lib/evas/libevas.la @EFL_LIBS@
407modules_evas_engines_buffer_module_la_LDFLAGS = -no-undefined -module -avoid-version
408modules_evas_engines_buffer_module_la_LIBTOOLFLAGS = --tag=disable-static
409endif
410endif
411
412if BUILD_ENGINE_DIRECT3D
413dist_installed_evasmainheaders_DATA += modules/evas/engines/direct3d/Evas_Engine_Direct3D.h
414DIRECT3D_SOURCES = \
415modules/evas/engines/direct3d/evas_engine.c \
416modules/evas/engines/direct3d/evas_direct3d_context.cpp \
417modules/evas/engines/direct3d/evas_direct3d_device.cpp \
418modules/evas/engines/direct3d/evas_direct3d_image_cache.cpp \
419modules/evas/engines/direct3d/evas_direct3d_main.cpp \
420modules/evas/engines/direct3d/evas_direct3d_object.cpp \
421modules/evas/engines/direct3d/evas_direct3d_object_font.cpp \
422modules/evas/engines/direct3d/evas_direct3d_object_image.cpp \
423modules/evas/engines/direct3d/evas_direct3d_object_line.cpp \
424modules/evas/engines/direct3d/evas_direct3d_object_rect.cpp \
425modules/evas/engines/direct3d/evas_direct3d_scene.cpp \
426modules/evas/engines/direct3d/evas_direct3d_shader_pack.cpp \
427modules/evas/engines/direct3d/evas_direct3d_vertex_buffer_cache.cpp \
428modules/evas/engines/direct3d/array.h \
429modules/evas/engines/direct3d/evas_direct3d_context.h \
430modules/evas/engines/direct3d/evas_direct3d_device.h \
431modules/evas/engines/direct3d/evas_direct3d_image_cache.h \
432modules/evas/engines/direct3d/evas_direct3d_object.h \
433modules/evas/engines/direct3d/evas_direct3d_object_font.h \
434modules/evas/engines/direct3d/evas_direct3d_object_image.h \
435modules/evas/engines/direct3d/evas_direct3d_object_line.h \
436modules/evas/engines/direct3d/evas_direct3d_object_rect.h \
437modules/evas/engines/direct3d/evas_direct3d_scene.h \
438modules/evas/engines/direct3d/evas_direct3d_shader_pack.h \
439modules/evas/engines/direct3d/evas_direct3d_vertex_buffer_cache.h \
440modules/evas/engines/direct3d/evas_engine.h \
441modules/evas/engines/direct3d/ref.h
442if EVAS_STATIC_BUILD_DIRECT3D
443lib_evas_libevas_la_SOURCES += $(DIRECT3D_SOURCES)
444lib_evas_libevas_la_CPPFLAGS += @evas_engine_direct3d_cflags@
445lib_evas_libevas_la_CXXFLAGS += -fno-rtti -fno-exceptions
446lib_evas_libevas_la_LIBADD += @evas_engine_direct3d_libs@
447else
448enginedirect3dpkgdir = $(libdir)/evas/modules/engines/direct3d/$(MODULE_ARCH)
449enginedirect3dpkg_LTLIBRARIES = modules/evas/engines/direct3d/module.la
450modules_evas_engines_direct3d_module_la_SOURCES = $(DIRECT3D_SOURCES)
451modules_evas_engines_direct3d_module_la_CPPFLAGS = \
452-I$(top_srcdir)/src/lib/eina \
453-I$(top_srcdir)/src/lib/eo \
454-I$(top_srcdir)/src/lib/evas \
455-I$(top_srcdir)/src/lib/evas/include \
456-I$(top_srcdir)/src/lib/evas/cserve2 \
457@evas_engine_direct3d_cflags@ \
458@EFL_CFLAGS@ \
459@EVAS_CFLAGS@
460modules_evas_engines_direct3d_module_la_CXXFLAGS = -fno-rtti -fno-exceptions
461modules_evas_engines_direct3d_module_la_LIBADD = \
462lib/evas/libevas.la \
463@EFL_LIBS@ \
464@evas_engine_direct3d_libs@
465modules_evas_engines_direct3d_module_la_LDFLAGS = -no-undefined -module -avoid-version
466modules_evas_engines_direct3d_module_la_LIBTOOLFLAGS = --tag=disable-static
467endif
468endif
469
470if BUILD_ENGINE_DIRECTFB
471dist_installed_evasmainheaders_DATA += modules/evas/engines/directfb/Evas_Engine_DirectFB.h
472DIRECTFB_SOURCES = \
473modules/evas/engines/directfb/evas_engine.c \
474modules/evas/engines/directfb/polygon.c \
475modules/evas/engines/directfb/evas_engine.h
476if EVAS_STATIC_BUILD_DIRECTFB
477lib_evas_libevas_la_SOURCES += $(DIRECTFB_SOURCES)
478lib_evas_libevas_la_CPPFLAGS += @evas_engine_directfb_cflags@
479lib_evas_libevas_la_LIBADD += @evas_engine_directfb_libs@
480else
481enginedirectfbpkgdir = $(libdir)/evas/modules/engines/directfb/$(MODULE_ARCH)
482enginedirectfbpkg_LTLIBRARIES = modules/evas/engines/directfb/module.la
483modules_evas_engines_directfb_module_la_SOURCES = $(DIRECTFB_SOURCES)
484modules_evas_engines_directfb_module_la_CPPFLAGS = \
485-I$(top_srcdir)/src/lib/eina \
486-I$(top_srcdir)/src/lib/eo \
487-I$(top_srcdir)/src/lib/evas \
488-I$(top_srcdir)/src/lib/evas/include \
489-I$(top_srcdir)/src/lib/evas/cserve2 \
490@evas_engine_directfb_cflags@ \
491@EFL_CFLAGS@ \
492@EVAS_CFLAGS@
493modules_evas_engines_directfb_module_la_LIBADD = \
494lib/evas/libevas.la \
495@EFL_LIBS@ \
496@evas_engine_directfb_libs@
497modules_evas_engines_directfb_module_la_LDFLAGS = -no-undefined -module -avoid-version
498modules_evas_engines_directfb_module_la_LIBTOOLFLAGS = --tag=disable-static
499endif
500endif
501
502if BUILD_ENGINE_FB
503dist_installed_evasmainheaders_DATA += modules/evas/engines/fb/Evas_Engine_FB.h
504FB_SOURCES = \
505modules/evas/engines/fb/evas_engine.c \
506modules/evas/engines/fb/evas_fb_main.c \
507modules/evas/engines/fb/evas_outbuf.c \
508modules/evas/engines/fb/evas_engine.h \
509modules/evas/engines/fb/evas_fb.h
510if EVAS_STATIC_BUILD_FB
511lib_evas_libevas_la_SOURCES += $(FB_SOURCES)
512lib_evas_libevas_la_CPPFLAGS += @evas_engine_fb_cflags@
513lib_evas_libevas_la_LIBADD += @evas_engine_fb_libs@
514else
515enginefbpkgdir = $(libdir)/evas/modules/engines/fb/$(MODULE_ARCH)
516enginefbpkg_LTLIBRARIES = modules/evas/engines/fb/module.la
517modules_evas_engines_fb_module_la_SOURCES = $(FB_SOURCES)
518modules_evas_engines_fb_module_la_CPPFLAGS = \
519-I$(top_srcdir)/src/lib/eina \
520-I$(top_srcdir)/src/lib/eo \
521-I$(top_srcdir)/src/lib/evas \
522-I$(top_srcdir)/src/lib/evas/include \
523-I$(top_srcdir)/src/lib/evas/cserve2 \
524@evas_engine_fb_cflags@ \
525@EFL_CFLAGS@ \
526@EVAS_CFLAGS@
527modules_evas_engines_fb_module_la_LIBADD = \
528lib/evas/libevas.la \
529@EFL_LIBS@ \
530@evas_engine_fb_libs@
531modules_evas_engines_fb_module_la_LDFLAGS = -no-undefined -module -avoid-version
532modules_evas_engines_fb_module_la_LIBTOOLFLAGS = --tag=disable-static
533endif
534endif
535
536if BUILD_ENGINE_GL_COMMON
537GL_COMMON_SOURCES = \
538modules/evas/engines/gl_common/evas_gl_private.h \
539modules/evas/engines/gl_common/evas_gl_common.h \
540modules/evas/engines/gl_common/evas_gl_context.c \
541modules/evas/engines/gl_common/evas_gl_shader.c \
542modules/evas/engines/gl_common/evas_gl_rectangle.c \
543modules/evas/engines/gl_common/evas_gl_texture.c \
544modules/evas/engines/gl_common/evas_gl_image.c \
545modules/evas/engines/gl_common/evas_gl_font.c \
546modules/evas/engines/gl_common/evas_gl_polygon.c \
547modules/evas/engines/gl_common/evas_gl_line.c \
548modules/evas/engines/gl_common/evas_gl_filter.c \
549modules/evas/engines/gl_common/evas_gl_core.c \
550modules/evas/engines/gl_common/evas_gl_api_ext.h \
551modules/evas/engines/gl_common/evas_gl_api_ext_def.h \
552modules/evas/engines/gl_common/evas_gl_core.h \
553modules/evas/engines/gl_common/evas_gl_core_private.h \
554modules/evas/engines/gl_common/evas_gl_api.c \
555modules/evas/engines/gl_common/evas_gl_api_ext.c \
556modules/evas/engines/gl_common/shader/rect_frag.h \
557modules/evas/engines/gl_common/shader/rect_vert.h \
558modules/evas/engines/gl_common/shader/font_frag.h \
559modules/evas/engines/gl_common/shader/font_vert.h \
560modules/evas/engines/gl_common/shader/img_frag.h \
561modules/evas/engines/gl_common/shader/img_vert.h \
562modules/evas/engines/gl_common/shader/img_nomul_frag.h \
563modules/evas/engines/gl_common/shader/img_nomul_vert.h \
564modules/evas/engines/gl_common/shader/img_bgra_frag.h \
565modules/evas/engines/gl_common/shader/img_bgra_vert.h \
566modules/evas/engines/gl_common/shader/img_bgra_nomul_frag.h \
567modules/evas/engines/gl_common/shader/img_bgra_nomul_vert.h \
568modules/evas/engines/gl_common/shader/img_mask_frag.h \
569modules/evas/engines/gl_common/shader/img_mask_vert.h \
570modules/evas/engines/gl_common/shader/nv12_nomul_vert.h \
571modules/evas/engines/gl_common/shader/nv12_vert.h \
572modules/evas/engines/gl_common/shader/nv12_nomul_frag.h \
573modules/evas/engines/gl_common/shader/nv12_frag.h \
574modules/evas/engines/gl_common/shader/yuv_frag.h \
575modules/evas/engines/gl_common/shader/yuv_vert.h \
576modules/evas/engines/gl_common/shader/yuv_nomul_frag.h \
577modules/evas/engines/gl_common/shader/yuv_nomul_vert.h \
578modules/evas/engines/gl_common/shader/tex_frag.h \
579modules/evas/engines/gl_common/shader/tex_vert.h \
580modules/evas/engines/gl_common/shader/tex_nomul_frag.h \
581modules/evas/engines/gl_common/shader/tex_nomul_vert.h \
582modules/evas/engines/gl_common/shader/filter_invert.h \
583modules/evas/engines/gl_common/shader/filter_invert_nomul.h \
584modules/evas/engines/gl_common/shader/filter_invert_bgra.h \
585modules/evas/engines/gl_common/shader/filter_invert_bgra_nomul.h \
586modules/evas/engines/gl_common/shader/filter_sepia.h \
587modules/evas/engines/gl_common/shader/filter_sepia_nomul.h \
588modules/evas/engines/gl_common/shader/filter_sepia_bgra.h \
589modules/evas/engines/gl_common/shader/filter_sepia_bgra_nomul.h \
590modules/evas/engines/gl_common/shader/filter_greyscale.h \
591modules/evas/engines/gl_common/shader/filter_greyscale_nomul.h \
592modules/evas/engines/gl_common/shader/filter_greyscale_bgra.h \
593modules/evas/engines/gl_common/shader/filter_greyscale_bgra_nomul.h \
594modules/evas/engines/gl_common/shader/filter_blur.h \
595modules/evas/engines/gl_common/shader/filter_blur_nomul.h \
596modules/evas/engines/gl_common/shader/filter_blur_bgra.h \
597modules/evas/engines/gl_common/shader/filter_blur_bgra_nomul.h \
598modules/evas/engines/gl_common/shader/yuy2_frag.h \
599modules/evas/engines/gl_common/shader/yuy2_vert.h \
600modules/evas/engines/gl_common/shader/yuy2_nomul_frag.h \
601modules/evas/engines/gl_common/shader/yuy2_nomul_vert.h
602EXTRA_DIST += \
603modules/evas/engines/gl_common/shader/compile.sh \
604modules/evas/engines/gl_common/shader/make-c-str.sh \
605modules/evas/engines/gl_common/shader/rect_frag.shd \
606modules/evas/engines/gl_common/shader/rect_vert.shd \
607modules/evas/engines/gl_common/shader/font_frag.shd \
608modules/evas/engines/gl_common/shader/font_vert.shd \
609modules/evas/engines/gl_common/shader/img_frag.shd \
610modules/evas/engines/gl_common/shader/img_vert.shd \
611modules/evas/engines/gl_common/shader/img_nomul_frag.shd \
612modules/evas/engines/gl_common/shader/img_nomul_vert.shd \
613modules/evas/engines/gl_common/shader/img_bgra_vert.shd \
614modules/evas/engines/gl_common/shader/img_bgra_frag.shd \
615modules/evas/engines/gl_common/shader/img_bgra_vert.shd \
616modules/evas/engines/gl_common/shader/img_bgra_nomul_frag.shd \
617modules/evas/engines/gl_common/shader/img_bgra_nomul_vert.shd \
618modules/evas/engines/gl_common/shader/img_mask_frag.h \
619modules/evas/engines/gl_common/shader/img_mask_vert.h \
620modules/evas/engines/gl_common/shader/yuv_frag.shd \
621modules/evas/engines/gl_common/shader/yuv_vert.shd \
622modules/evas/engines/gl_common/shader/yuv_nomul_frag.shd \
623modules/evas/engines/gl_common/shader/yuv_nomul_vert.shd \
624modules/evas/engines/gl_common/shader/tex_frag.shd \
625modules/evas/engines/gl_common/shader/tex_vert.shd \
626modules/evas/engines/gl_common/shader/tex_nomul_frag.shd \
627modules/evas/engines/gl_common/shader/tex_nomul_vert.shd \
628modules/evas/engines/gl_common/shader/filter_invert.shd \
629modules/evas/engines/gl_common/shader/filter_invert_nomul.shd \
630modules/evas/engines/gl_common/shader/filter_invert_bgra.shd \
631modules/evas/engines/gl_common/shader/filter_invert_bgra_nomul.shd \
632modules/evas/engines/gl_common/shader/filter_greyscale.shd \
633modules/evas/engines/gl_common/shader/filter_greyscale_nomul.shd \
634modules/evas/engines/gl_common/shader/filter_greyscale_bgra.shd \
635modules/evas/engines/gl_common/shader/filter_greyscale_bgra_nomul.shd \
636modules/evas/engines/gl_common/shader/filter_sepia.shd \
637modules/evas/engines/gl_common/shader/filter_sepia_nomul.shd \
638modules/evas/engines/gl_common/shader/filter_sepia_bgra.shd \
639modules/evas/engines/gl_common/shader/filter_sepia_bgra_nomul.shd \
640modules/evas/engines/gl_common/shader/filter_blur.shd \
641modules/evas/engines/gl_common/shader/filter_blur_nomul.shd \
642modules/evas/engines/gl_common/shader/filter_blur_bgra.shd \
643modules/evas/engines/gl_common/shader/filter_blur_bgra_nomul.shd \
644modules/evas/engines/gl_common/shader/nv12_frag.h \
645modules/evas/engines/gl_common/shader/nv12_frag.shd \
646modules/evas/engines/gl_common/shader/nv12_nomul_frag.h \
647modules/evas/engines/gl_common/shader/nv12_nomul_frag.shd \
648modules/evas/engines/gl_common/shader/nv12_nomul_vert.h \
649modules/evas/engines/gl_common/shader/nv12_nomul_vert.shd \
650modules/evas/engines/gl_common/shader/nv12_vert.h \
651modules/evas/engines/gl_common/shader/nv12_vert.shd \
652modules/evas/engines/gl_common/shader/yuy2_frag.h \
653modules/evas/engines/gl_common/shader/yuy2_frag.shd \
654modules/evas/engines/gl_common/shader/yuy2_nomul_frag.h \
655modules/evas/engines/gl_common/shader/yuy2_nomul_frag.shd \
656modules/evas/engines/gl_common/shader/yuy2_nomul_vert.h \
657modules/evas/engines/gl_common/shader/yuy2_nomul_vert.shd \
658modules/evas/engines/gl_common/shader/yuy2_vert.h \
659modules/evas/engines/gl_common/shader/yuy2_vert.shd
660if EVAS_STATIC_BUILD_GL_COMMON
661lib_evas_libevas_la_SOURCES += $(GL_COMMON_SOURCES)
662lib_evas_libevas_la_LIBADD += @GL_EET_LIBS@ @evas_engine_gl_common_libs@
663else
664noinst_LTLIBRARIES = modules/evas/engines/gl_common/libevas_engine_gl_common.la
665modules_evas_engines_gl_common_libevas_engine_gl_common_la_SOURCES = $(GL_COMMON_SOURCES)
666modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS = \
667-I$(top_srcdir)/src/lib/eina \
668-I$(top_srcdir)/src/lib/eo \
669-I$(top_srcdir)/src/lib/evas \
670-I$(top_srcdir)/src/lib/evas/include \
671-I$(top_srcdir)/src/lib/evas/cserve2 \
672@GL_EET_CFLAGS@ \
673@EFL_CFLAGS@ \
674@EVAS_CFLAGS@
675modules_evas_engines_gl_common_libevas_engine_gl_common_la_LIBADD = \
676lib/evas/libevas.la \
677@EFL_LIBS@ \
678@GL_EET_LIBS@
679modules_evas_engines_gl_common_libevas_engine_gl_common_la_LDFLAGS = -no-undefined -module -avoid-version
680modules_evas_engines_gl_common_libevas_engine_gl_common_la_LIBTOOLFLAGS = --tag=disable-static
681endif
682endif
683
684if BUILD_ENGINE_GL_COCOA
685dist_installed_evasmainheaders_DATA += modules/evas/engines/gl_cocoa/Evas_Engine_GL_Cocoa.h
686GL_COCOA_SOURCES = \
687modules/evas/engines/gl_cocoa/evas_engine.c \
688modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m \
689modules/evas/engines/gl_cocoa/evas_engine.h
690if EVAS_STATIC_BUILD_GL_COCOA
691lib_evas_libevas_la_SOURCES += $(GL_COCOA_SOURCES)
692lib_evas_libevas_la_CPPFLAGS += \
693-I$(top_srcdir)/src/modules/evas/engines/gl_common \
694@GL_EET_CFLAGS@ \
695@evas_engine_gl_cocoa_cflags@
696lib_evas_libevas_la_LIBADD += \
697lib/evas/libevas.la \
698modules/evas/engines/gl_common/libevas_engine_gl_common.la \
699@GL_EET_LIBS@ \
700@evas_engine_gl_cocoa_libs@
701else
702engineglcocoapkgdir = $(libdir)/evas/modules/engines/gl_cocoa/$(MODULE_ARCH)
703engineglcocoapkg_LTLIBRARIES = modules/evas/engines/gl_cocoa/module.la
704modules_evas_engines_gl_cocoa_module_la_SOURCES = $(GL_COCOA_SOURCES)
705modules_evas_engines_gl_cocoa_module_la_CPPFLAGS = \
706-I$(top_srcdir)/src/lib/eina \
707-I$(top_srcdir)/src/lib/eo \
708-I$(top_srcdir)/src/lib/evas \
709-I$(top_srcdir)/src/lib/evas/include \
710-I$(top_srcdir)/src/lib/evas/cserve2 \
711-I$(top_srcdir)/src/modules/evas/engines/gl_common \
712@evas_engine_gl_cocoa_cflags@ \
713@GL_EET_CFLAGS@ \
714@EFL_CFLAGS@ \
715@EVAS_CFLAGS@
716modules_evas_engines_gl_cocoa_module_la_LIBADD = \
717modules/evas/engines/gl_common/libevas_engine_gl_common.la \
718lib/evas/libevas.la \
719@GL_EET_LIBS@ \
720@EFL_LIBS@ \
721@evas_engine_gl_cocoa_libs@
722modules_evas_engines_gl_cocoa_module_la_LDFLAGS = -no-undefined -module -avoid-version
723modules_evas_engines_gl_cocoa_module_la_LIBTOOLFLAGS = --tag=disable-static
724endif
725endif
726
727if BUILD_ENGINE_GL_SDL
728dist_installed_evasmainheaders_DATA += modules/evas/engines/gl_sdl/Evas_Engine_GL_SDL.h
729GL_SDL_SOURCES = \
730modules/evas/engines/gl_sdl/evas_engine.c \
731modules/evas/engines/gl_sdl/evas_engine.h
732if EVAS_STATIC_BUILD_GL_SDL
733lib_evas_libevas_la_SOURCES += $(GL_SDL_SOURCES)
734lib_evas_libevas_la_CPPFLAGS += \
735-I$(top_srcdir)/src/modules/evas/engines/gl_common \
736@evas_engine_gl_sdl_cflags@
737lib_evas_libevas_la_LIBADD += \
738modules/evas/engines/gl_common/libevas_engine_gl_common.la \
739@evas_engine_gl_sdl_libs@
740else
741engineglsdlpkgdir = $(libdir)/evas/modules/engines/gl_sdl/$(MODULE_ARCH)
742engineglsdlpkg_LTLIBRARIES = modules/evas/engines/gl_sdl/module.la
743modules_evas_engines_gl_sdl_module_la_SOURCES = $(GL_SDL_SOURCES)
744modules_evas_engines_gl_sdl_module_la_CPPFLAGS = \
745-I$(top_srcdir)/src/lib/eina \
746-I$(top_srcdir)/src/lib/eo \
747-I$(top_srcdir)/src/lib/evas \
748-I$(top_srcdir)/src/lib/evas/include \
749-I$(top_srcdir)/src/lib/evas/cserve2 \
750-I$(top_srcdir)/src/modules/evas/engines/gl_common \
751@evas_engine_gl_sdl_cflags@ \
752@EFL_CFLAGS@ \
753@EVAS_CFLAGS@
754modules_evas_engines_gl_sdl_module_la_LIBADD = \
755modules/evas/engines/gl_common/libevas_engine_gl_common.la \
756lib/evas/libevas.la \
757@EFL_LIBS@ \
758@evas_engine_gl_sdl_libs@
759modules_evas_engines_gl_sdl_module_la_LDFLAGS = -no-undefined -module -avoid-version
760modules_evas_engines_gl_sdl_module_la_LIBTOOLFLAGS = --tag=disable-static
761endif
762endif
763
764if BUILD_ENGINE_GL_X11
765dist_installed_evasmainheaders_DATA += modules/evas/engines/gl_x11/Evas_Engine_GL_X11.h
766GL_X11_SOURCES = \
767modules/evas/engines/gl_x11/evas_engine.c \
768modules/evas/engines/gl_x11/evas_x_main.c \
769modules/evas/engines/gl_x11/evas_engine.h
770if EVAS_STATIC_BUILD_GL_X11
771lib_evas_libevas_la_SOURCES += $(GL_X11_SOURCES)
772lib_evas_libevas_la_CPPFLAGS += \
773-I$(top_srcdir)/src/modules/evas/engines/gl_common \
774@GL_EET_CFLAGS@ \
775@evas_engine_gl_xlib_cflags@
776lib_evas_libevas_la_LIBADD += \
777modules/evas/engines/gl_common/libevas_engine_gl_common.la \
778@evas_engine_gl_xlib_libs@
779else
780engineglx11pkgdir = $(libdir)/evas/modules/engines/gl_x11/$(MODULE_ARCH)
781engineglx11pkg_LTLIBRARIES = modules/evas/engines/gl_x11/module.la
782modules_evas_engines_gl_x11_module_la_SOURCES = $(GL_X11_SOURCES)
783modules_evas_engines_gl_x11_module_la_CPPFLAGS = \
784-I$(top_srcdir)/src/lib/eina \
785-I$(top_srcdir)/src/lib/eo \
786-I$(top_srcdir)/src/lib/evas \
787-I$(top_srcdir)/src/lib/evas/include \
788-I$(top_srcdir)/src/lib/evas/cserve2 \
789-I$(top_srcdir)/src/modules/evas/engines/gl_common \
790@evas_engine_gl_xlib_cflags@ \
791@GL_EET_CFLAGS@ \
792@EFL_CFLAGS@ \
793@EVAS_CFLAGS@
794modules_evas_engines_gl_x11_module_la_LIBADD = \
795modules/evas/engines/gl_common/libevas_engine_gl_common.la \
796lib/evas/libevas.la \
797@GL_EET_LIBS@ \
798@EFL_LIBS@ \
799@evas_engine_gl_xlib_libs@
800modules_evas_engines_gl_x11_module_la_LDFLAGS = -no-undefined -module -avoid-version
801modules_evas_engines_gl_x11_module_la_LIBTOOLFLAGS = --tag=disable-static
802endif
803endif
804
805if BUILD_ENGINE_PSL1GHT
806dist_installed_evasmainheaders_DATA += modules/evas/engines/psl1ght/Evas_Engine_PSL1GHT.h
807PSL1GHT_SOURCES = \
808modules/evas/engines/psl1ght/evas_engine.c \
809modules/evas/engines/psl1ght/rsxutil.c \
810modules/evas/engines/psl1ght/evas_engine.h \
811modules/evas/engines/psl1ght/rsxutil.h
812if EVAS_STATIC_BUILD_PSL1GHT
813lib_evas_libevas_la_SOURCES += $(PSL1GHT_SOURCES)
814lib_evas_libevas_la_CPPFLAGS += @GL_EET_CFLAGS@ @evas_engine_psl1ght_cflags@
815lib_evas_libevas_la_LIBADD += @evas_engine_psl1ght_libs@
816else
817enginepsl1ghtpkgdir = $(libdir)/evas/modules/engines/psl1ght/$(MODULE_ARCH)
818enginepsl1ghtpkg_LTLIBRARIES = modules/evas/engines/psl1ght/module.la
819modules_evas_engines_psl1ght_module_la_SOURCES = $(PSL1GHT_SOURCES)
820modules_evas_engines_psl1ght_module_la_CPPFLAGS = \
821-I$(top_srcdir)/src/lib/eina \
822-I$(top_srcdir)/src/lib/eo \
823-I$(top_srcdir)/src/lib/evas \
824-I$(top_srcdir)/src/lib/evas/include \
825-I$(top_srcdir)/src/lib/evas/cserve2 \
826@evas_engine_psl1ght_cflags@ \
827@EFL_CFLAGS@ \
828@EVAS_CFLAGS@
829modules_evas_engines_psl1ght_module_la_LIBADD = \
830lib/evas/libevas.la \
831@evas_engine_psl1ght_libs@ \
832@EFL_LIBS@
833modules_evas_engines_psl1ght_module_la_LDFLAGS = -no-undefined -module -avoid-version
834modules_evas_engines_psl1ght_module_la_LIBTOOLFLAGS = --tag=disable-static
835endif
836endif
837
838if BUILD_ENGINE_SOFTWARE_DDRAW
839dist_installed_evasmainheaders_DATA += modules/evas/engines/software_ddraw/Evas_Engine_Software_DDraw.h
840SOFTWARE_DDRAW_SOURCES = \
841modules/evas/engines/software_ddraw/evas_engine.c \
842modules/evas/engines/software_ddraw/evas_outbuf.c \
843modules/evas/engines/software_ddraw/evas_ddraw_buffer.c \
844modules/evas/engines/software_ddraw/evas_ddraw_main.cpp \
845modules/evas/engines/software_ddraw/evas_engine.h
846if EVAS_STATIC_BUILD_SOFTWARE_DDRAW
847lib_evas_libevas_la_SOURCES += $(SOFTWARE_DDRAW_SOURCES)
848lib_evas_libevas_la_CPPFLAGS += @evas_engine_software_ddraw_cflags@
849lib_evas_libevas_la_CXXFLAGS += -fno-rtti -fno-exceptions
850lib_evas_libevas_la_LIBADD += @evas_engine_software_ddraw_libs@
851else
852enginesoftwareddrawpkgdir = $(libdir)/evas/modules/engines/software_ddraw/$(MODULE_ARCH)
853enginesoftwareddrawpkg_LTLIBRARIES = modules/evas/engines/software_ddraw/module.la
854modules_evas_engines_software_ddraw_module_la_SOURCES = $(SOFTWARE_DDRAW_SOURCES)
855modules_evas_engines_software_ddraw_module_la_CPPFLAGS = \
856-I$(top_srcdir)/src/lib/eina \
857-I$(top_srcdir)/src/lib/eo \
858-I$(top_srcdir)/src/lib/evas \
859-I$(top_srcdir)/src/lib/evas/include \
860-I$(top_srcdir)/src/lib/evas/cserve2 \
861@evas_engine_software_ddraw_cflags@ \
862@EFL_CFLAGS@ \
863@EVAS_CFLAGS@
864modules_evas_engines_software_ddraw_module_la_CXXFLAGS = -fno-rtti -fno-exceptions
865modules_evas_engines_software_ddraw_module_la_LIBADD = \
866lib/evas/libevas.la \
867@evas_engine_software_ddraw_libs@ \
868@EFL_LIBS@
869modules_evas_engines_software_ddraw_module_la_LDFLAGS = -no-undefined -module -avoid-version
870modules_evas_engines_software_ddraw_module_la_LIBTOOLFLAGS = --tag=disable-static
871endif
872endif
873
874if BUILD_ENGINE_SOFTWARE_GDI
875dist_installed_evasmainheaders_DATA += modules/evas/engines/software_gdi/Evas_Engine_Software_Gdi.h
876SOFTWARE_GDI_SOURCES = \
877modules/evas/engines/software_gdi/evas_engine.c \
878modules/evas/engines/software_gdi/evas_outbuf.c \
879modules/evas/engines/software_gdi/evas_gdi_buffer.c \
880modules/evas/engines/software_gdi/evas_gdi_main.c \
881modules/evas/engines/software_gdi/evas_engine.h
882if EVAS_STATIC_BUILD_SOFTWARE_GDI
883lib_evas_libevas_la_SOURCES += $(SOFTWARE_GDI_SOURCES)
884lib_evas_libevas_la_CPPFLAGS += @evas_engine_software_gdi_cflags@
885lib_evas_libevas_la_LIBADD += @evas_engine_software_gdi_libs@
886else
887enginesoftwaregdipkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
888enginesoftwaregdipkg_LTLIBRARIES = modules/evas/engines/software_gdi/module.la
889modules_evas_engines_software_gdi_module_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
890modules_evas_engines_software_gdi_module_la_CPPFLAGS = \
891-I$(top_srcdir)/src/lib/eina \
892-I$(top_srcdir)/src/lib/eo \
893-I$(top_srcdir)/src/lib/evas \
894-I$(top_srcdir)/src/lib/evas/include \
895-I$(top_srcdir)/src/lib/evas/cserve2 \
896@evas_engine_software_gdi_cflags@ \
897@EFL_CFLAGS@ \
898@EVAS_CFLAGS@
899modules_evas_engines_software_gdi_module_la_LIBADD = \
900lib/evas/libevas.la \
901@evas_engine_software_gdi_libs@ \
902@EFL_LIBS@
903modules_evas_engines_software_gdi_module_la_LDFLAGS = -no-undefined -module -avoid-version
904modules_evas_engines_software_gdi_module_la_LIBTOOLFLAGS = --tag=disable-static
905endif
906endif
907
908if BUILD_ENGINE_SOFTWARE_X11
909dist_installed_evasmainheaders_DATA += modules/evas/engines/software_x11/Evas_Engine_Software_X11.h
910SOFTWARE_X11_SOURCES = \
911modules/evas/engines/software_x11/evas_engine.c \
912modules/evas/engines/software_x11/evas_x_egl.c \
913modules/evas/engines/software_x11/evas_x_egl.h
914SOFTWARE_X11_CPPFLAGS = \
915-I$(top_srcdir)/src/lib/eina \
916-I$(top_srcdir)/src/lib/eo \
917-I$(top_srcdir)/src/lib/evas \
918-I$(top_srcdir)/src/lib/evas/include \
919-I$(top_srcdir)/src/lib/evas/cserve2 \
920@EFL_CFLAGS@ \
921@EVAS_CFLAGS@
922SOFTWARE_X11_LIBADD =
923if BUILD_ENGINE_SOFTWARE_XLIB
924SOFTWARE_X11_SOURCES += \
925modules/evas/engines/software_x11/evas_xlib_outbuf.c \
926modules/evas/engines/software_x11/evas_xlib_buffer.c \
927modules/evas/engines/software_x11/evas_xlib_color.c \
928modules/evas/engines/software_x11/evas_xlib_main.c
929SOFTWARE_X11_CPPFLAGS += @evas_engine_software_xlib_cflags@
930SOFTWARE_X11_LIBADD += @evas_engine_software_xlib_libs@
931endif
932if BUILD_ENGINE_SOFTWARE_XCB
933SOFTWARE_X11_SOURCES += \
934modules/evas/engines/software_x11/evas_xcb_xdefaults.c \
935modules/evas/engines/software_x11/evas_xcb_outbuf.c \
936modules/evas/engines/software_x11/evas_xcb_buffer.c \
937modules/evas/engines/software_x11/evas_xcb_color.c \
938modules/evas/engines/software_x11/evas_xcb_main.c \
939modules/evas/engines/software_x11/evas_engine.h \
940modules/evas/engines/software_x11/evas_xlib_outbuf.h \
941modules/evas/engines/software_x11/evas_xlib_buffer.h \
942modules/evas/engines/software_x11/evas_xlib_color.h \
943modules/evas/engines/software_x11/evas_xcb_outbuf.h \
944modules/evas/engines/software_x11/evas_xcb_buffer.h \
945modules/evas/engines/software_x11/evas_xcb_color.h \
946modules/evas/engines/software_x11/evas_xcb_xdefaults.h
947SOFTWARE_X11_CPPFLAGS += @evas_engine_software_xcb_cflags@
948SOFTWARE_X11_LIBADD += @evas_engine_software_xcb_libs@
949endif
950if EVAS_STATIC_BUILD_SOFTWARE_X11
951lib_evas_libevas_la_SOURCES += $(SOFTWARE_X11_SOURCES)
952lib_evas_libevas_la_CPPFLAGS += $(SOFTWARE_X11_CPPFLAGS)
953lib_evas_libevas_la_LIBADD += $(SOFTWARE_X11_LIBADD)
954else
955enginesoftwarex11pkgdir = $(libdir)/evas/modules/engines/software_x11/$(MODULE_ARCH)
956enginesoftwarex11pkg_LTLIBRARIES = modules/evas/engines/software_x11/module.la
957modules_evas_engines_software_x11_module_la_SOURCES = $(SOFTWARE_X11_SOURCES)
958modules_evas_engines_software_x11_module_la_CPPFLAGS = $(SOFTWARE_X11_CPPFLAGS)
959modules_evas_engines_software_x11_module_la_LIBADD = lib/evas/libevas.la @EFL_LIBS@ $(SOFTWARE_X11_LIBADD)
960modules_evas_engines_software_x11_module_la_LDFLAGS = -no-undefined -module -avoid-version
961modules_evas_engines_software_x11_module_la_LIBTOOLFLAGS = --tag=disable-static
962endif
963endif
964
965if BUILD_ENGINE_WAYLAND_EGL
966dist_installed_evasmainheaders_DATA += modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h
967WAYLAND_EGL_SOURCES = \
968modules/evas/engines/wayland_egl/evas_engine.c \
969modules/evas/engines/wayland_egl/evas_wl_main.c \
970modules/evas/engines/wayland_egl/evas_engine.h
971if EVAS_STATIC_BUILD_WAYLAND_EGL
972lib_evas_libevas_la_SOURCES += $(WAYLAND_EGL_SOURCES)
973lib_evas_libevas_la_CPPFLAGS += @evas_engine_wayland_egl_cflags@
974lib_evas_libevas_la_LIBADD += lib/evas/libevas.la @EFL_LIBS@ @evas_engine_wayland_egl_libs@
975else
976enginewaylandeglpkgdir = $(libdir)/evas/modules/engines/wayland_egl/$(MODULE_ARCH)
977enginewaylandeglpkg_LTLIBRARIES = modules/evas/engines/wayland_egl/module.la
978modules_evas_engines_wayland_egl_module_la_SOURCES = $(WAYLAND_EGL_SOURCES)
979modules_evas_engines_wayland_egl_module_la_CPPFLAGS = \
980-I$(top_srcdir)/src/lib/eina \
981-I$(top_srcdir)/src/lib/eo \
982-I$(top_srcdir)/src/lib/evas \
983-I$(top_srcdir)/src/lib/evas/include \
984-I$(top_srcdir)/src/lib/evas/cserve2 \
985@evas_engine_wayland_egl_cflags@ \
986@EFL_CFLAGS@ \
987@EVAS_CFLAGS@
988modules_evas_engines_wayland_egl_module_la_LIBADD = \
989lib/evas/libevas.la \
990@EFL_LIBS@ \
991@evas_engine_wayland_egl_libs@
992modules_evas_engines_wayland_egl_module_la_LDFLAGS = -no-undefined -module -avoid-version
993modules_evas_engines_wayland_egl_module_la_LIBTOOLFLAGS = --tag=disable-static
994endif
995endif
996
997if BUILD_ENGINE_WAYLAND_SHM
998dist_installed_evasmainheaders_DATA += modules/evas/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
999WAYLAND_SHM_SOURCES = \
1000modules/evas/engines/wayland_shm/evas_engine.c \
1001modules/evas/engines/wayland_shm/evas_outbuf.c \
1002modules/evas/engines/wayland_shm/evas_engine.h
1003if EVAS_STATIC_BUILD_WAYLAND_SHM
1004lib_evas_libevas_la_SOURCES += $(WAYLAND_SHM_SOURCES)
1005lib_evas_libevas_la_CPPFLAGS += @evas_engine_wayland_shm_cflags@
1006lib_evas_libevas_la_LIBADD += lib/evas/libevas.la @EFL_LIBS@ @evas_engine_wayland_shm_libs@
1007else
1008enginewaylandshmpkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH)
1009enginewaylandshmpkg_LTLIBRARIES = modules/evas/engines/wayland_shm/module.la
1010modules_evas_engines_wayland_shm_module_la_SOURCES = $(WAYLAND_SHM_SOURCES)
1011modules_evas_engines_wayland_shm_module_la_CPPFLAGS = \
1012-I$(top_srcdir)/src/lib/eina \
1013-I$(top_srcdir)/src/lib/eo \
1014-I$(top_srcdir)/src/lib/evas \
1015-I$(top_srcdir)/src/lib/evas/include \
1016-I$(top_srcdir)/src/lib/evas/cserve2 \
1017@evas_engine_wayland_shm_cflags@ \
1018@EFL_CFLAGS@ \
1019@EVAS_CFLAGS@
1020modules_evas_engines_wayland_shm_module_la_LIBADD = \
1021lib/evas/libevas.la \
1022@EFL_LIBS@ \
1023@evas_engine_wayland_shm_libs@
1024modules_evas_engines_wayland_shm_module_la_LDFLAGS = -no-undefined -module -avoid-version
1025modules_evas_engines_wayland_shm_module_la_LIBTOOLFLAGS = --tag=disable-static
1026endif
1027endif
1028
1029### Loaders and savers
1030
1031if BUILD_LOADER_BMP
1032if EVAS_STATIC_BUILD_BMP
1033lib_evas_libevas_la_SOURCES += modules/evas/loaders/bmp/evas_image_load_bmp.c
1034lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_bmp_cflags@
1035lib_evas_libevas_la_LIBADD += @evas_image_loader_bmp_libs@
1036else
1037loaderbmppkgdir = $(libdir)/evas/modules/loaders/bmp/$(MODULE_ARCH)
1038loaderbmppkg_LTLIBRARIES = modules/evas/loaders/bmp/module.la
1039modules_evas_loaders_bmp_module_la_SOURCES = modules/evas/loaders/bmp/evas_image_load_bmp.c
1040modules_evas_loaders_bmp_module_la_CPPFLAGS = \
1041-I$(top_srcdir)/src/lib/eina \
1042-I$(top_srcdir)/src/lib/eo \
1043-I$(top_srcdir)/src/lib/evas \
1044-I$(top_srcdir)/src/lib/evas/include \
1045@evas_image_loader_bmp_cflags@ \
1046@EFL_CFLAGS@ \
1047@EVAS_CFLAGS@
1048modules_evas_loaders_bmp_module_la_LIBADD = \
1049lib/evas/libevas.la \
1050@EFL_LIBS@ \
1051@evas_image_loader_bmp_libs@ \
1052-lm
1053modules_evas_loaders_bmp_module_la_LDFLAGS = -no-undefined -module -avoid-version
1054modules_evas_loaders_bmp_module_la_LIBTOOLFLAGS = --tag=disable-static
1055endif
1056endif
1057
1058if BUILD_LOADER_EET
1059if EVAS_STATIC_BUILD_EET
1060lib_evas_libevas_la_SOURCES += modules/evas/loaders/eet/evas_image_load_eet.c modules/evas/savers/eet/evas_image_save_eet.c
1061lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_eet_cflags@
1062lib_evas_libevas_la_LIBADD += @evas_image_loader_eet_libs@
1063else
1064loadereetpkgdir = $(libdir)/evas/modules/loaders/eet/$(MODULE_ARCH)
1065loadereetpkg_LTLIBRARIES = modules/evas/loaders/eet/module.la
1066modules_evas_loaders_eet_module_la_SOURCES = modules/evas/loaders/eet/evas_image_load_eet.c
1067modules_evas_loaders_eet_module_la_CPPFLAGS = \
1068-I$(top_srcdir)/src/lib/eet \
1069-I$(top_srcdir)/src/lib/eina \
1070-I$(top_srcdir)/src/lib/eo \
1071-I$(top_srcdir)/src/lib/evas \
1072-I$(top_srcdir)/src/lib/evas/include \
1073@evas_image_loader_eet_cflags@ \
1074@EFL_CFLAGS@ \
1075@EVAS_CFLAGS@
1076modules_evas_loaders_eet_module_la_LIBADD = \
1077lib/evas/libevas.la \
1078lib/evas/libeet.la \
1079@evas_image_loader_eet_libs@
1080modules_evas_loaders_eet_module_la_LDFLAGS = -no-undefined -module -avoid-version
1081modules_evas_loaders_eet_module_la_LIBTOOLFLAGS = --tag=disable-static
1082endif
1083endif
1084
1085if BUILD_LOADER_GENERIC
1086if EVAS_STATIC_BUILD_GENERIC
1087lib_evas_libevas_la_SOURCES += modules/evas/loaders/generic/evas_image_load_generic.c
1088lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_generic_cflags@
1089lib_evas_libevas_la_LIBADD += @evas_image_loader_generic_libs@
1090else
1091loadergenericpkgdir = $(libdir)/evas/modules/loaders/generic/$(MODULE_ARCH)
1092loadergenericpkg_LTLIBRARIES = modules/evas/loaders/generic/module.la
1093modules_evas_loaders_generic_module_la_SOURCES = modules/evas/loaders/generic/evas_image_load_generic.c
1094modules_evas_loaders_generic_module_la_CPPFLAGS = \
1095-I$(top_srcdir)/src/lib/eina \
1096-I$(top_srcdir)/src/lib/eo \
1097-I$(top_srcdir)/src/lib/evas \
1098-I$(top_srcdir)/src/lib/evas/include \
1099@evas_image_loader_generic_cflags@ \
1100@EFL_CFLAGS@ \
1101@EVAS_CFLAGS@
1102modules_evas_loaders_generic_module_la_LIBADD = \
1103lib/evas/libevas.la \
1104@EFL_LIBS@ \
1105@evas_image_loader_generic_libs@
1106modules_evas_loaders_generic_module_la_LDFLAGS = -no-undefined -module -avoid-version
1107modules_evas_loaders_generic_module_la_LIBTOOLFLAGS = --tag=disable-static
1108endif
1109endif
1110
1111if BUILD_LOADER_GIF
1112if EVAS_STATIC_BUILD_GIF
1113lib_evas_libevas_la_SOURCES += modules/evas/loaders/gif/evas_image_load_gif.c
1114lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_gif_cflags@
1115lib_evas_libevas_la_LIBADD += @evas_image_loader_gif_libs@
1116else
1117loadergifpkgdir = $(libdir)/evas/modules/loaders/gif/$(MODULE_ARCH)
1118loadergifpkg_LTLIBRARIES = modules/evas/loaders/gif/module.la
1119modules_evas_loaders_gif_module_la_SOURCES = modules/evas/loaders/gif/evas_image_load_gif.c
1120modules_evas_loaders_gif_module_la_CPPFLAGS = \
1121-I$(top_srcdir)/src/lib/eina \
1122-I$(top_srcdir)/src/lib/eo \
1123-I$(top_srcdir)/src/lib/evas \
1124-I$(top_srcdir)/src/lib/evas/include \
1125@evas_image_loader_gif_cflags@ \
1126@EFL_CFLAGS@ \
1127@EVAS_CFLAGS@
1128modules_evas_loaders_gif_module_la_LIBADD = \
1129lib/evas/libevas.la \
1130@EFL_LIBS@ \
1131@evas_image_loader_gif_libs@
1132modules_evas_loaders_gif_module_la_LDFLAGS = -no-undefined -module -avoid-version
1133modules_evas_loaders_gif_module_la_LIBTOOLFLAGS = --tag=disable-static
1134endif
1135endif
1136
1137if BUILD_LOADER_ICO
1138if EVAS_STATIC_BUILD_ICO
1139lib_evas_libevas_la_SOURCES += modules/evas/loaders/ico/evas_image_load_ico.c
1140lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_ico_cflags@
1141lib_evas_libevas_la_LIBADD += @evas_image_loader_ico_libs@
1142else
1143loadericopkgdir = $(libdir)/evas/modules/loaders/ico/$(MODULE_ARCH)
1144loadericopkg_LTLIBRARIES = modules/evas/loaders/ico/module.la
1145modules_evas_loaders_ico_module_la_SOURCES = modules/evas/loaders/ico/evas_image_load_ico.c
1146modules_evas_loaders_ico_module_la_CPPFLAGS = \
1147-I$(top_srcdir)/src/lib/eina \
1148-I$(top_srcdir)/src/lib/eo \
1149-I$(top_srcdir)/src/lib/evas \
1150-I$(top_srcdir)/src/lib/evas/include \
1151@evas_image_loader_ico_cflags@ \
1152@EFL_CFLAGS@ \
1153@EVAS_CFLAGS@
1154modules_evas_loaders_ico_module_la_LIBADD = \
1155lib/evas/libevas.la \
1156@EFL_LIBS@ \
1157@evas_image_loader_ico_libs@
1158modules_evas_loaders_ico_module_la_LDFLAGS = -no-undefined -module -avoid-version
1159modules_evas_loaders_ico_module_la_LIBTOOLFLAGS = --tag=disable-static
1160endif
1161endif
1162
1163if BUILD_LOADER_JPEG
1164if EVAS_STATIC_BUILD_JPEG
1165lib_evas_libevas_la_SOURCES += modules/evas/loaders/jpeg/evas_image_load_jpeg.c
1166if BUILD_SAVER_JPEG
1167lib_evas_libevas_la_SOURCES += modules/evas/savers/jpeg/evas_image_save_jpeg.c
1168endif
1169lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_jpeg_cflags@
1170lib_evas_libevas_la_LIBADD += @evas_image_loader_jpeg_libs@
1171else
1172loaderjpegpkgdir = $(libdir)/evas/modules/loaders/jpeg/$(MODULE_ARCH)
1173loaderjpegpkg_LTLIBRARIES = modules/evas/loaders/jpeg/module.la
1174modules_evas_loaders_jpeg_module_la_SOURCES = modules/evas/loaders/jpeg/evas_image_load_jpeg.c
1175modules_evas_loaders_jpeg_module_la_CPPFLAGS = \
1176-I$(top_srcdir)/src/lib/eina \
1177-I$(top_srcdir)/src/lib/eo \
1178-I$(top_srcdir)/src/lib/evas \
1179-I$(top_srcdir)/src/lib/evas/include \
1180@evas_image_loader_jpeg_cflags@ \
1181@EFL_CFLAGS@ \
1182@EVAS_CFLAGS@
1183modules_evas_loaders_jpeg_module_la_LIBADD = \
1184lib/evas/libevas.la \
1185@EFL_LIBS@ \
1186@evas_image_loader_jpeg_libs@
1187modules_evas_loaders_jpeg_module_la_LDFLAGS = -no-undefined -module -avoid-version
1188modules_evas_loaders_jpeg_module_la_LIBTOOLFLAGS = --tag=disable-static
1189if BUILD_SAVER_JPEG
1190saverjpegpkgdir = $(libdir)/evas/modules/savers/jpeg/$(MODULE_ARCH)
1191saverjpegpkg_LTLIBRARIES = modules/evas/savers/jpeg/module.la
1192modules_evas_savers_jpeg_module_la_SOURCES = modules/evas/savers/jpeg/evas_image_save_jpeg.c
1193modules_evas_savers_jpeg_module_la_CPPFLAGS = \
1194-I$(top_srcdir)/src/lib/eina \
1195-I$(top_srcdir)/src/lib/eo \
1196-I$(top_srcdir)/src/lib/evas \
1197-I$(top_srcdir)/src/lib/evas/include \
1198@evas_image_loader_jpeg_cflags@ \
1199@EFL_CFLAGS@ \
1200@EVAS_CFLAGS@
1201modules_evas_savers_jpeg_module_la_LIBADD = \
1202lib/evas/libevas.la \
1203@EFL_LIBS@ \
1204@evas_image_loader_jpeg_libs@
1205modules_evas_savers_jpeg_module_la_LDFLAGS = -no-undefined -module -avoid-version
1206modules_evas_savers_jpeg_module_la_LIBTOOLFLAGS = --tag=disable-static
1207endif
1208endif
1209endif
1210
1211if BUILD_LOADER_PMAPS
1212if EVAS_STATIC_BUILD_PMAPS
1213lib_evas_libevas_la_SOURCES += modules/evas/loaders/pmaps/evas_image_load_pmaps.c
1214lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_pmaps_cflags@
1215lib_evas_libevas_la_LIBADD += @evas_image_loader_pmaps_libs@
1216else
1217loaderpmapspkgdir = $(libdir)/evas/modules/loaders/pmaps/$(MODULE_ARCH)
1218loaderpmapspkg_LTLIBRARIES = modules/evas/loaders/pmaps/module.la
1219modules_evas_loaders_pmaps_module_la_SOURCES = modules/evas/loaders/pmaps/evas_image_load_pmaps.c
1220modules_evas_loaders_pmaps_module_la_CPPFLAGS = \
1221-I$(top_srcdir)/src/lib/eina \
1222-I$(top_srcdir)/src/lib/eo \
1223-I$(top_srcdir)/src/lib/evas \
1224-I$(top_srcdir)/src/lib/evas/include \
1225@evas_image_loader_pmaps_cflags@ \
1226@EFL_CFLAGS@ \
1227@EVAS_CFLAGS@
1228modules_evas_loaders_pmaps_module_la_LIBADD = \
1229lib/evas/libevas.la \
1230@EFL_LIBS@ \
1231@evas_image_loader_pmaps_libs@
1232modules_evas_loaders_pmaps_module_la_LDFLAGS = -no-undefined -module -avoid-version
1233modules_evas_loaders_pmaps_module_la_LIBTOOLFLAGS = --tag=disable-static
1234endif
1235endif
1236
1237if BUILD_LOADER_PNG
1238if EVAS_STATIC_BUILD_PNG
1239lib_evas_libevas_la_SOURCES += modules/evas/loaders/png/evas_image_load_png.c modules/evas/savers/png/evas_image_save_png.c
1240lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_png_cflags@
1241lib_evas_libevas_la_LIBADD += @evas_image_loader_png_libs@
1242else
1243loaderpngpkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
1244loaderpngpkg_LTLIBRARIES = modules/evas/loaders/png/module.la
1245modules_evas_loaders_png_module_la_SOURCES = modules/evas/loaders/png/evas_image_load_png.c
1246modules_evas_loaders_png_module_la_CPPFLAGS = \
1247-I$(top_srcdir)/src/lib/eina \
1248-I$(top_srcdir)/src/lib/eo \
1249-I$(top_srcdir)/src/lib/evas \
1250-I$(top_srcdir)/src/lib/evas/include \
1251@evas_image_loader_png_cflags@ \
1252@EFL_CFLAGS@ \
1253@EVAS_CFLAGS@
1254modules_evas_loaders_png_module_la_LIBADD = \
1255lib/evas/libevas.la \
1256@EFL_LIBS@ \
1257@evas_image_loader_png_libs@
1258modules_evas_loaders_png_module_la_LDFLAGS = -no-undefined -module -avoid-version
1259modules_evas_loaders_png_module_la_LIBTOOLFLAGS = --tag=disable-static
1260
1261saverpngpkgdir = $(libdir)/evas/modules/savers/png/$(MODULE_ARCH)
1262saverpngpkg_LTLIBRARIES = modules/evas/savers/png/module.la
1263modules_evas_savers_png_module_la_SOURCES = modules/evas/savers/png/evas_image_save_png.c
1264modules_evas_savers_png_module_la_CPPFLAGS = \
1265-I$(top_srcdir)/src/lib/eina \
1266-I$(top_srcdir)/src/lib/eo \
1267-I$(top_srcdir)/src/lib/evas \
1268-I$(top_srcdir)/src/lib/evas/include \
1269@evas_image_loader_png_cflags@ \
1270@EFL_CFLAGS@ \
1271@EVAS_CFLAGS@
1272modules_evas_savers_png_module_la_LIBADD = \
1273lib/evas/libevas.la \
1274@EFL_LIBS@ \
1275@evas_image_loader_png_libs@
1276modules_evas_savers_png_module_la_LDFLAGS = -no-undefined -module -avoid-version
1277modules_evas_savers_png_module_la_LIBTOOLFLAGS = --tag=disable-static
1278endif
1279endif
1280
1281if BUILD_LOADER_PSD
1282if EVAS_STATIC_BUILD_PSD
1283lib_evas_libevas_la_SOURCES += modules/evas/loaders/psd/evas_image_load_psd.c
1284lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_psd_cflags@
1285lib_evas_libevas_la_LIBADD += @evas_image_loader_psd_libs@
1286else
1287loaderpsdpkgdir = $(libdir)/evas/modules/loaders/psd/$(MODULE_ARCH)
1288loaderpsdpkg_LTLIBRARIES = modules/evas/loaders/psd/module.la
1289modules_evas_loaders_psd_module_la_SOURCES = modules/evas/loaders/psd/evas_image_load_psd.c
1290modules_evas_loaders_psd_module_la_CPPFLAGS = \
1291-I$(top_srcdir)/src/lib/eina \
1292-I$(top_srcdir)/src/lib/eo \
1293-I$(top_srcdir)/src/lib/evas \
1294-I$(top_srcdir)/src/lib/evas/include \
1295@evas_image_loader_psd_cflags@ \
1296@EFL_CFLAGS@ \
1297@EVAS_CFLAGS@
1298modules_evas_loaders_psd_module_la_LIBADD = \
1299lib/evas/libevas.la \
1300@EFL_LIBS@ \
1301@evas_image_loader_psd_libs@
1302modules_evas_loaders_psd_module_la_LDFLAGS = -no-undefined -module -avoid-version
1303modules_evas_loaders_psd_module_la_LIBTOOLFLAGS = --tag=disable-static
1304endif
1305endif
1306
1307if BUILD_LOADER_SVG
1308if EVAS_STATIC_BUILD_SVG
1309lib_evas_libevas_la_SOURCES += modules/evas/loaders/svg/evas_image_load_esvg.c
1310lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_svg_cflags@
1311lib_evas_libevas_la_LIBADD += @evas_image_loader_svg_libs@
1312else
1313loadersvgpkgdir = $(libdir)/evas/modules/loaders/svg/$(MODULE_ARCH)
1314loadersvgpkg_LTLIBRARIES = modules/evas/loaders/svg/module.la
1315modules_evas_loaders_svg_module_la_SOURCES = modules/evas/loaders/svg/evas_image_load_esvg.c
1316modules_evas_loaders_svg_module_la_CPPFLAGS = \
1317-I$(top_srcdir)/src/lib/eina \
1318-I$(top_srcdir)/src/lib/eo \
1319-I$(top_srcdir)/src/lib/evas \
1320-I$(top_srcdir)/src/lib/evas/include \
1321@evas_image_loader_svg_cflags@ \
1322@EFL_CFLAGS@ \
1323@EVAS_CFLAGS@
1324modules_evas_loaders_svg_module_la_LIBADD = \
1325lib/evas/libevas.la \
1326@EFL_LIBS@ \
1327@evas_image_loader_svg_libs@
1328modules_evas_loaders_svg_module_la_LDFLAGS = -no-undefined -module -avoid-version
1329modules_evas_loaders_svg_module_la_LIBTOOLFLAGS = --tag=disable-static
1330endif
1331endif
1332
1333if BUILD_LOADER_TGA
1334if EVAS_STATIC_BUILD_TGA
1335lib_evas_libevas_la_SOURCES += modules/evas/loaders/tga/evas_image_load_tga.c
1336lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_tga_cflags@
1337lib_evas_libevas_la_LIBADD += @evas_image_loader_tga_libs@
1338else
1339loadertgapkgdir = $(libdir)/evas/modules/loaders/tga/$(MODULE_ARCH)
1340loadertgapkg_LTLIBRARIES = modules/evas/loaders/tga/module.la
1341modules_evas_loaders_tga_module_la_SOURCES = modules/evas/loaders/tga/evas_image_load_tga.c
1342modules_evas_loaders_tga_module_la_CPPFLAGS = \
1343-I$(top_srcdir)/src/lib/eina \
1344-I$(top_srcdir)/src/lib/eo \
1345-I$(top_srcdir)/src/lib/evas \
1346-I$(top_srcdir)/src/lib/evas/include \
1347@evas_image_loader_tga_cflags@ \
1348@EFL_CFLAGS@ \
1349@EVAS_CFLAGS@
1350modules_evas_loaders_tga_module_la_LIBADD = \
1351lib/evas/libevas.la \
1352@EFL_LIBS@ \
1353@evas_image_loader_tga_libs@
1354modules_evas_loaders_tga_module_la_LDFLAGS = -no-undefined -module -avoid-version
1355modules_evas_loaders_tga_module_la_LIBTOOLFLAGS = --tag=disable-static
1356endif
1357endif
1358
1359if BUILD_LOADER_TIFF
1360if EVAS_STATIC_BUILD_TIFF
1361lib_evas_libevas_la_SOURCES += modules/evas/loaders/tiff/evas_image_load_tiff.c modules/evas/savers/tiff/evas_image_save_tiff.c
1362lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_tiff_cflags@
1363lib_evas_libevas_la_LIBADD += @evas_image_loader_tiff_libs@
1364else
1365loadertiffpkgdir = $(libdir)/evas/modules/loaders/tiff/$(MODULE_ARCH)
1366loadertiffpkg_LTLIBRARIES = modules/evas/loaders/tiff/module.la
1367modules_evas_loaders_tiff_module_la_SOURCES = modules/evas/loaders/tiff/evas_image_load_tiff.c
1368modules_evas_loaders_tiff_module_la_CPPFLAGS = \
1369-I$(top_srcdir)/src/lib/eina \
1370-I$(top_srcdir)/src/lib/eo \
1371-I$(top_srcdir)/src/lib/evas \
1372-I$(top_srcdir)/src/lib/evas/include \
1373@evas_image_loader_tiff_cflags@ \
1374@EFL_CFLAGS@ \
1375@EVAS_CFLAGS@
1376modules_evas_loaders_tiff_module_la_LIBADD = \
1377lib/evas/libevas.la \
1378@EFL_LIBS@ \
1379@evas_image_loader_tiff_libs@
1380modules_evas_loaders_tiff_module_la_LDFLAGS = -no-undefined -module -avoid-version
1381modules_evas_loaders_tiff_module_la_LIBTOOLFLAGS = --tag=disable-static
1382
1383savertiffpkgdir = $(libdir)/evas/modules/savers/tiff/$(MODULE_ARCH)
1384savertiffpkg_LTLIBRARIES = modules/evas/savers/tiff/module.la
1385modules_evas_savers_tiff_module_la_SOURCES = modules/evas/savers/tiff/evas_image_save_tiff.c
1386modules_evas_savers_tiff_module_la_CPPFLAGS = \
1387-I$(top_srcdir)/src/lib/eina \
1388-I$(top_srcdir)/src/lib/eo \
1389-I$(top_srcdir)/src/lib/evas \
1390-I$(top_srcdir)/src/lib/evas/include \
1391@evas_image_loader_tiff_cflags@ \
1392@EFL_CFLAGS@ \
1393@EVAS_CFLAGS@
1394modules_evas_savers_tiff_module_la_LIBADD = \
1395lib/evas/libevas.la \
1396@EFL_LIBS@ \
1397@evas_image_loader_tiff_libs@
1398modules_evas_savers_tiff_module_la_LDFLAGS = -no-undefined -module -avoid-version
1399modules_evas_savers_tiff_module_la_LIBTOOLFLAGS = --tag=disable-static
1400endif
1401endif
1402
1403if BUILD_LOADER_WBMP
1404if EVAS_STATIC_BUILD_WBMP
1405lib_evas_libevas_la_SOURCES += modules/evas/loaders/wbmp/evas_image_load_wbmp.c
1406lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_wbmp_cflags@
1407lib_evas_libevas_la_LIBADD += @evas_image_loader_wbmp_libs@
1408else
1409loaderwbmppkgdir = $(libdir)/evas/modules/loaders/wbmp/$(MODULE_ARCH)
1410loaderwbmppkg_LTLIBRARIES = modules/evas/loaders/wbmp/module.la
1411modules_evas_loaders_wbmp_module_la_SOURCES = modules/evas/loaders/wbmp/evas_image_load_wbmp.c
1412modules_evas_loaders_wbmp_module_la_CPPFLAGS = \
1413-I$(top_srcdir)/src/lib/eina \
1414-I$(top_srcdir)/src/lib/eo \
1415-I$(top_srcdir)/src/lib/evas \
1416-I$(top_srcdir)/src/lib/evas/include \
1417@evas_image_loader_wbmp_cflags@ \
1418@EFL_CFLAGS@ \
1419@EVAS_CFLAGS@
1420modules_evas_loaders_wbmp_module_la_LIBADD = \
1421lib/evas/libevas.la \
1422@EFL_LIBS@ \
1423@evas_image_loader_wbmp_libs@
1424modules_evas_loaders_wbmp_module_la_LDFLAGS = -no-undefined -module -avoid-version
1425modules_evas_loaders_wbmp_module_la_LIBTOOLFLAGS = --tag=disable-static
1426endif
1427endif
1428
1429if BUILD_LOADER_WEBP
1430if EVAS_STATIC_BUILD_WEBP
1431lib_evas_libevas_la_SOURCES += modules/evas/loaders/webp/evas_image_load_webp.c
1432lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_webp_cflags@
1433lib_evas_libevas_la_LIBADD += @evas_image_loader_webp_libs@
1434else
1435loaderwebppkgdir = $(libdir)/evas/modules/loaders/webp/$(MODULE_ARCH)
1436loaderwebppkg_LTLIBRARIES = modules/evas/loaders/webp/module.la
1437modules_evas_loaders_webp_module_la_SOURCES = modules/evas/loaders/webp/evas_image_load_webp.c
1438modules_evas_loaders_webp_module_la_CPPFLAGS = \
1439-I$(top_srcdir)/src/lib/eina \
1440-I$(top_srcdir)/src/lib/eo \
1441-I$(top_srcdir)/src/lib/evas \
1442-I$(top_srcdir)/src/lib/evas/include \
1443@evas_image_loader_webp_cflags@ \
1444@EFL_CFLAGS@ \
1445@EVAS_CFLAGS@
1446modules_evas_loaders_webp_module_la_LIBADD = \
1447lib/evas/libevas.la \
1448@EFL_LIBS@ \
1449@evas_image_loader_webp_libs@
1450modules_evas_loaders_webp_module_la_LDFLAGS = -no-undefined -module -avoid-version
1451modules_evas_loaders_webp_module_la_LIBTOOLFLAGS = --tag=disable-static
1452endif
1453endif
1454
1455if BUILD_LOADER_XPM
1456if EVAS_STATIC_BUILD_XPM
1457lib_evas_libevas_la_SOURCES += modules/evas/loaders/xpm/evas_image_load_xpm.c
1458lib_evas_libevas_la_CPPFLAGS += @evas_image_loader_xpm_cflags@
1459lib_evas_libevas_la_LIBADD += @evas_image_loader_xpm_libs@
1460else
1461loaderxpmpkgdir = $(libdir)/evas/modules/loaders/xpm/$(MODULE_ARCH)
1462loaderxpmpkg_LTLIBRARIES = modules/evas/loaders/xpm/module.la
1463modules_evas_loaders_xpm_module_la_SOURCES = modules/evas/loaders/xpm/evas_image_load_xpm.c
1464modules_evas_loaders_xpm_module_la_CPPFLAGS = \
1465-I$(top_srcdir)/src/lib/eina \
1466-I$(top_srcdir)/src/lib/eo \
1467-I$(top_srcdir)/src/lib/evas \
1468-I$(top_srcdir)/src/lib/evas/include \
1469@evas_image_loader_xpm_cflags@ \
1470@EFL_CFLAGS@ \
1471@EVAS_CFLAGS@
1472modules_evas_loaders_xpm_module_la_LIBADD = \
1473lib/evas/libevas.la \
1474@EFL_LIBS@ \
1475@evas_image_loader_xpm_libs@
1476modules_evas_loaders_xpm_module_la_LDFLAGS = -no-undefined -module -avoid-version
1477modules_evas_loaders_xpm_module_la_LIBTOOLFLAGS = --tag=disable-static
1478endif
1479endif
1480
1481### binary
1482
1483libexec_PROGRAMS = \
1484bin/evas/evas_cserve2 \
1485bin/evas/evas_cserve2_slave \
1486bin/evas/dummy_slave
1487
1488bin_PROGRAMS += \
1489bin/evas/evas_cserve2_client \
1490bin/evas/evas_cserve2_usage \
1491bin/evas/evas_cserve2_debug
1492
1493bin_evas_evas_cserve2_SOURCES = \
1494bin/evas/evas_cserve2.h \
1495bin/evas/evas_cserve2_slave.h \
1496bin/evas/evas_cserve2_main.c \
1497bin/evas/evas_cserve2_slaves.c \
1498bin/evas/evas_cserve2_messages.c \
1499bin/evas/evas_cserve2_shm.c \
1500bin/evas/evas_cserve2_cache.c \
1501bin/evas/evas_cserve2_requests.c \
1502bin/evas/evas_cserve2_fonts.c \
1503bin/evas/evas_cserve2_main_loop_linux.c \
1504lib/evas/cserve2/evas_cs2_utils.h \
1505lib/evas/cserve2/evas_cs2_utils.c
1506
1507bin_evas_evas_cserve2_CPPFLAGS = \
1508-I$(top_srcdir)/src/lib/eina \
1509-I$(top_srcdir)/src/lib/eo \
1510-I$(top_srcdir)/src/lib/evas \
1511-I$(top_srcdir)/src/lib/evas/include \
1512-I$(top_srcdir)/src/lib/evas/cserve2 \
1513-I$(top_srcdir)/src/lib/eet \
1514-I$(top_builddir)/src/lib/eet \
1515-DPACKAGE_LIBEXEC_DIR=\"$(libexecdir)\" \
1516@EVAS_CFLAGS@ \
1517@EFL_CFLAGS@
1518
1519bin_evas_evas_cserve2_LDADD = \
1520@EVAS_LIBS@ \
1521@EFL_LIBS@ \
1522lib/eet/libeet.la \
1523lib/evas/libevas.la
1524
1525bin_evas_evas_cserve2_client_SOURCES = \
1526bin/evas/evas_cserve2_client.c
1527
1528bin_evas_evas_cserve2_client_CPPFLAGS = \
1529-I$(top_srcdir)/src/lib/eina \
1530-I$(top_srcdir)/src/lib/eo \
1531-I$(top_srcdir)/src/lib/evas \
1532-I$(top_srcdir)/src/lib/evas/include \
1533-I$(top_srcdir)/src/lib/evas/cserve2 \
1534@EVAS_CFLAGS@ \
1535@EFL_CFLAGS@
1536
1537bin_evas_evas_cserve2_usage_SOURCES = \
1538bin/evas/evas_cserve2_usage.c
1539
1540bin_evas_evas_cserve2_usage_CPPFLAGS = \
1541-I$(top_srcdir)/src/lib/eina \
1542-I$(top_srcdir)/src/lib/eo \
1543-I$(top_srcdir)/src/lib/evas \
1544-I$(top_srcdir)/src/lib/evas/include \
1545-I$(top_srcdir)/src/lib/evas/cserve2 \
1546@EVAS_CFLAGS@ \
1547@EFL_CFLAGS@
1548
1549bin_evas_evas_cserve2_usage_LDADD = \
1550lib/eina/libeina.la \
1551@EFL_LIBS@ \
1552@EVAS_LIBS@
1553
1554bin_evas_evas_cserve2_debug_SOURCES = \
1555bin/evas/evas_cserve2_debug.c
1556
1557bin_evas_evas_cserve2_debug_CPPFLAGS = \
1558-I$(top_srcdir)/src/lib/eina \
1559-I$(top_srcdir)/src/lib/eo \
1560-I$(top_srcdir)/src/lib/evas \
1561-I$(top_srcdir)/src/lib/evas/include \
1562-I$(top_srcdir)/src/lib/evas/cserve2 \
1563@EVAS_CFLAGS@ \
1564@EFL_CFLAGS@
1565
1566bin_evas_evas_cserve2_debug_LDADD = \
1567lib/eina/libeina.la \
1568@EFL_LIBS@ \
1569@EVAS_LIBS@
1570
1571bin_evas_evas_cserve2_slave_SOURCES = \
1572bin/evas/evas_cserve2_slave.c \
1573bin/evas/evas_cserve2_utils.c
1574
1575bin_evas_evas_cserve2_slave_CPPFLAGS = \
1576-I$(top_srcdir)/src/lib/eina \
1577-I$(top_srcdir)/src/lib/eo \
1578-I$(top_srcdir)/src/lib/evas \
1579-I$(top_srcdir)/src/lib/evas/include \
1580-I$(top_srcdir)/src/lib/evas/cserve2 \
1581-DPACKAGE_LIB_DIR=\"$(libdir)\" \
1582@EVAS_CFLAGS@ \
1583@EFL_CFLAGS@
1584
1585bin_evas_evas_cserve2_slave_LDADD = \
1586lib/eina/libeina.la \
1587@EFL_LIBS@ \
1588@EVAS_LIBS@
1589
1590bin_evas_evas_cserve2_slave_LDFLAGS = -export-dynamic
1591
1592bin_evas_dummy_slave_SOURCES = \
1593bin/evas/dummy_slave.c
1594
1595bin_evas_dummy_slave_CPPFLAGS = \
1596-I$(top_srcdir)/src/lib/eina \
1597-I$(top_srcdir)/src/lib/eo \
1598-I$(top_srcdir)/src/lib/evas \
1599-I$(top_srcdir)/src/lib/evas/include \
1600-I$(top_srcdir)/src/lib/evas/cserve2 \
1601@EVAS_CFLAGS@ \
1602@EFL_CFLAGS@
1603
1604bin_evas_dummy_slave_LDADD = \
1605lib/eina/libeina.la \
1606@EFL_LIBS@ \
1607@EVAS_LIBS@
1608
1609### Cserve2 loaders
1610
1611if BUILD_LOADER_BMP
1612cserve2bmppkgdir = $(libdir)/evas/cserve2/loaders/bmp/$(MODULE_ARCH)
1613cserve2bmppkg_LTLIBRARIES = bin/evas/loaders/bmp/module.la
1614bin_evas_loaders_bmp_module_la_SOURCES = bin/evas/loaders/bmp/evas_image_load_bmp.c
1615bin_evas_loaders_bmp_module_la_CPPFLAGS = \
1616-I$(top_srcdir)/src/lib/eina \
1617-I$(top_srcdir)/src/lib/eo \
1618-I$(top_srcdir)/src/lib/evas \
1619-I$(top_srcdir)/src/lib/evas/include \
1620-I$(top_srcdir)/src/lib/evas/cserve2 \
1621-I$(top_srcdir)/src/bin/evas \
1622@EFL_CFLAGS@ \
1623@EVAS_CFLAGS@
1624bin_evas_loaders_bmp_module_la_LIBADD = @EFL_LIBS@ -lm
1625bin_evas_loaders_bmp_module_la_LDFLAGS = -no-undefined -module -avoid-version
1626bin_evas_loaders_bmp_module_la_LIBTOOLFLAGS = --tag=disable-static
1627endif
1628
1629if BUILD_LOADER_EET
1630cserve2eetpkgdir = $(libdir)/evas/cserve2/loaders/eet/$(MODULE_ARCH)
1631cserve2eetpkg_LTLIBRARIES = bin/evas/loaders/eet/module.la
1632bin_evas_loaders_eet_module_la_SOURCES = bin/evas/loaders/eet/evas_image_load_eet.c
1633bin_evas_loaders_eet_module_la_CPPFLAGS = \
1634-I$(top_srcdir)/src/lib/eina \
1635-I$(top_srcdir)/src/lib/eo \
1636-I$(top_srcdir)/src/lib/eet \
1637-I$(top_srcdir)/src/lib/evas \
1638-I$(top_srcdir)/src/lib/evas/include \
1639-I$(top_srcdir)/src/lib/evas/cserve2 \
1640-I$(top_srcdir)/src/bin/evas \
1641@evas_image_loader_eet_cflags@ \
1642@EFL_CFLAGS@ \
1643@EVAS_CFLAGS@
1644bin_evas_loaders_eet_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_eet_libs@
1645bin_evas_loaders_eet_module_la_LDFLAGS = -no-undefined -module -avoid-version
1646bin_evas_loaders_eet_module_la_LIBTOOLFLAGS = --tag=disable-static
1647endif
1648
1649if BUILD_LOADER_ICO
1650cserve2icopkgdir = $(libdir)/evas/cserve2/loaders/ico/$(MODULE_ARCH)
1651cserve2icopkg_LTLIBRARIES = bin/evas/loaders/ico/module.la
1652bin_evas_loaders_ico_module_la_SOURCES = bin/evas/loaders/ico/evas_image_load_ico.c
1653bin_evas_loaders_ico_module_la_CPPFLAGS = \
1654-I$(top_srcdir)/src/lib/eina \
1655-I$(top_srcdir)/src/lib/eo \
1656-I$(top_srcdir)/src/lib/evas \
1657-I$(top_srcdir)/src/lib/evas/include \
1658-I$(top_srcdir)/src/lib/evas/cserve2 \
1659-I$(top_srcdir)/src/bin/evas \
1660@evas_image_loader_ico_cflags@ \
1661@EFL_CFLAGS@ \
1662@EVAS_CFLAGS@
1663bin_evas_loaders_ico_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_ico_libs@
1664bin_evas_loaders_ico_module_la_LDFLAGS = -no-undefined -module -avoid-version
1665bin_evas_loaders_ico_module_la_LIBTOOLFLAGS = --tag=disable-static
1666endif
1667
1668if BUILD_LOADER_JPEG
1669cserve2jpegpkgdir = $(libdir)/evas/cserve2/loaders/jpeg/$(MODULE_ARCH)
1670cserve2jpegpkg_LTLIBRARIES = bin/evas/loaders/jpeg/module.la
1671bin_evas_loaders_jpeg_module_la_SOURCES = bin/evas/loaders/jpeg/evas_image_load_jpeg.c
1672bin_evas_loaders_jpeg_module_la_CPPFLAGS = \
1673-I$(top_srcdir)/src/lib/eina \
1674-I$(top_srcdir)/src/lib/eo \
1675-I$(top_srcdir)/src/lib/evas \
1676-I$(top_srcdir)/src/lib/evas/include \
1677-I$(top_srcdir)/src/lib/evas/cserve2 \
1678-I$(top_srcdir)/src/bin/evas \
1679@evas_image_loader_jpeg_cflags@ \
1680@EFL_CFLAGS@ \
1681@EVAS_CFLAGS@
1682bin_evas_loaders_jpeg_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_jpeg_libs@
1683bin_evas_loaders_jpeg_module_la_LDFLAGS = -no-undefined -module -avoid-version
1684bin_evas_loaders_jpeg_module_la_LIBTOOLFLAGS = --tag=disable-static
1685endif
1686
1687if BUILD_LOADER_PMAPS
1688cserve2pmapspkgdir = $(libdir)/evas/cserve2/loaders/pmaps/$(MODULE_ARCH)
1689cserve2pmapspkg_LTLIBRARIES = bin/evas/loaders/pmaps/module.la
1690bin_evas_loaders_pmaps_module_la_SOURCES = bin/evas/loaders/pmaps/evas_image_load_pmaps.c
1691bin_evas_loaders_pmaps_module_la_CPPFLAGS = \
1692-I$(top_srcdir)/src/lib/eina \
1693-I$(top_srcdir)/src/lib/eo \
1694-I$(top_srcdir)/src/lib/evas \
1695-I$(top_srcdir)/src/lib/evas/include \
1696-I$(top_srcdir)/src/lib/evas/cserve2 \
1697-I$(top_srcdir)/src/bin/evas \
1698@evas_image_loader_pmaps_cflags@ \
1699@EFL_CFLAGS@ \
1700@EVAS_CFLAGS@
1701bin_evas_loaders_pmaps_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_pmaps_libs@
1702bin_evas_loaders_pmaps_module_la_LDFLAGS = -no-undefined -module -avoid-version
1703bin_evas_loaders_pmaps_module_la_LIBTOOLFLAGS = --tag=disable-static
1704endif
1705
1706if BUILD_LOADER_PNG
1707cserve2pngpkgdir = $(libdir)/evas/cserve2/loaders/png/$(MODULE_ARCH)
1708cserve2pngpkg_LTLIBRARIES = bin/evas/loaders/png/module.la
1709bin_evas_loaders_png_module_la_SOURCES = bin/evas/loaders/png/evas_image_load_png.c
1710bin_evas_loaders_png_module_la_CPPFLAGS = \
1711-I$(top_srcdir)/src/lib/eina \
1712-I$(top_srcdir)/src/lib/eo \
1713-I$(top_srcdir)/src/lib/evas \
1714-I$(top_srcdir)/src/lib/evas/include \
1715-I$(top_srcdir)/src/lib/evas/cserve2 \
1716-I$(top_srcdir)/src/bin/evas \
1717@evas_image_loader_png_cflags@ \
1718@EFL_CFLAGS@ \
1719@EVAS_CFLAGS@
1720bin_evas_loaders_png_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_png_libs@
1721bin_evas_loaders_png_module_la_LDFLAGS = -no-undefined -module -avoid-version
1722bin_evas_loaders_png_module_la_LIBTOOLFLAGS = --tag=disable-static
1723endif
1724
1725if BUILD_LOADER_PSD
1726cserve2psdpkgdir = $(libdir)/evas/cserve2/loaders/psd/$(MODULE_ARCH)
1727cserve2psdpkg_LTLIBRARIES = bin/evas/loaders/psd/module.la
1728bin_evas_loaders_psd_module_la_SOURCES = bin/evas/loaders/psd/evas_image_load_psd.c
1729bin_evas_loaders_psd_module_la_CPPFLAGS = \
1730-I$(top_srcdir)/src/lib/eina \
1731-I$(top_srcdir)/src/lib/eo \
1732-I$(top_srcdir)/src/lib/evas \
1733-I$(top_srcdir)/src/lib/evas/include \
1734-I$(top_srcdir)/src/lib/evas/cserve2 \
1735-I$(top_srcdir)/src/bin/evas \
1736@evas_image_loader_psd_cflags@ \
1737@EFL_CFLAGS@ \
1738@EVAS_CFLAGS@
1739bin_evas_loaders_psd_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_psd_libs@
1740bin_evas_loaders_psd_module_la_LDFLAGS = -no-undefined -module -avoid-version
1741bin_evas_loaders_psd_module_la_LIBTOOLFLAGS = --tag=disable-static
1742endif
1743
1744if BUILD_LOADER_TGA
1745cserve2tgapkgdir = $(libdir)/evas/cserve2/loaders/tga/$(MODULE_ARCH)
1746cserve2tgapkg_LTLIBRARIES = bin/evas/loaders/tga/module.la
1747bin_evas_loaders_tga_module_la_SOURCES = bin/evas/loaders/tga/evas_image_load_tga.c
1748bin_evas_loaders_tga_module_la_CPPFLAGS = \
1749-I$(top_srcdir)/src/lib/eina \
1750-I$(top_srcdir)/src/lib/eo \
1751-I$(top_srcdir)/src/lib/evas \
1752-I$(top_srcdir)/src/lib/evas/include \
1753-I$(top_srcdir)/src/lib/evas/cserve2 \
1754-I$(top_srcdir)/src/bin/evas \
1755@evas_image_loader_tga_cflags@ \
1756@EFL_CFLAGS@ \
1757@EVAS_CFLAGS@
1758bin_evas_loaders_tga_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_tga_libs@
1759bin_evas_loaders_tga_module_la_LDFLAGS = -no-undefined -module -avoid-version
1760bin_evas_loaders_tga_module_la_LIBTOOLFLAGS = --tag=disable-static
1761endif
1762
1763if BUILD_LOADER_TIFF
1764cserve2tiffpkgdir = $(libdir)/evas/cserve2/loaders/tiff/$(MODULE_ARCH)
1765cserve2tiffpkg_LTLIBRARIES = bin/evas/loaders/tiff/module.la
1766bin_evas_loaders_tiff_module_la_SOURCES = bin/evas/loaders/tiff/evas_image_load_tiff.c
1767bin_evas_loaders_tiff_module_la_CPPFLAGS = \
1768-I$(top_srcdir)/src/lib/eina \
1769-I$(top_srcdir)/src/lib/eo \
1770-I$(top_srcdir)/src/lib/evas \
1771-I$(top_srcdir)/src/lib/evas/include \
1772-I$(top_srcdir)/src/lib/evas/cserve2 \
1773-I$(top_srcdir)/src/bin/evas \
1774@evas_image_loader_tiff_cflags@ \
1775@EFL_CFLAGS@ \
1776@EVAS_CFLAGS@
1777bin_evas_loaders_tiff_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_tiff_libs@
1778bin_evas_loaders_tiff_module_la_LDFLAGS = -no-undefined -module -avoid-version
1779bin_evas_loaders_tiff_module_la_LIBTOOLFLAGS = --tag=disable-static
1780endif
1781
1782if BUILD_LOADER_WBMP
1783cserve2wbmppkgdir = $(libdir)/evas/cserve2/loaders/wbmp/$(MODULE_ARCH)
1784cserve2wbmppkg_LTLIBRARIES = bin/evas/loaders/wbmp/module.la
1785bin_evas_loaders_wbmp_module_la_SOURCES = bin/evas/loaders/wbmp/evas_image_load_wbmp.c
1786bin_evas_loaders_wbmp_module_la_CPPFLAGS = \
1787-I$(top_srcdir)/src/lib/eina \
1788-I$(top_srcdir)/src/lib/eo \
1789-I$(top_srcdir)/src/lib/evas \
1790-I$(top_srcdir)/src/lib/evas/include \
1791-I$(top_srcdir)/src/lib/evas/cserve2 \
1792-I$(top_srcdir)/src/bin/evas \
1793@evas_image_loader_wbmp_cflags@ \
1794@EFL_CFLAGS@ \
1795@EVAS_CFLAGS@
1796bin_evas_loaders_wbmp_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_wbmp_libs@
1797bin_evas_loaders_wbmp_module_la_LDFLAGS = -no-undefined -module -avoid-version
1798bin_evas_loaders_wbmp_module_la_LIBTOOLFLAGS = --tag=disable-static
1799endif
1800
1801if BUILD_LOADER_WEBP
1802cserve2webppkgdir = $(libdir)/evas/cserve2/loaders/webp/$(MODULE_ARCH)
1803cserve2webppkg_LTLIBRARIES = bin/evas/loaders/webp/module.la
1804bin_evas_loaders_webp_module_la_SOURCES = bin/evas/loaders/webp/evas_image_load_webp.c
1805bin_evas_loaders_webp_module_la_CPPFLAGS = \
1806-I$(top_srcdir)/src/lib/eina \
1807-I$(top_srcdir)/src/lib/eo \
1808-I$(top_srcdir)/src/lib/evas \
1809-I$(top_srcdir)/src/lib/evas/include \
1810-I$(top_srcdir)/src/lib/evas/cserve2 \
1811-I$(top_srcdir)/src/bin/evas \
1812@evas_image_loader_webp_cflags@ \
1813@EFL_CFLAGS@ \
1814@EVAS_CFLAGS@
1815bin_evas_loaders_webp_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_webp_libs@
1816bin_evas_loaders_webp_module_la_LDFLAGS = -no-undefined -module -avoid-version
1817bin_evas_loaders_webp_module_la_LIBTOOLFLAGS = --tag=disable-static
1818endif
1819
1820if BUILD_LOADER_XPM
1821cserve2xpmpkgdir = $(libdir)/evas/cserve2/loaders/xpm/$(MODULE_ARCH)
1822cserve2xpmpkg_LTLIBRARIES = bin/evas/loaders/xpm/module.la
1823bin_evas_loaders_xpm_module_la_SOURCES = bin/evas/loaders/xpm/evas_image_load_xpm.c
1824bin_evas_loaders_xpm_module_la_CPPFLAGS = \
1825-I$(top_srcdir)/src/lib/eina \
1826-I$(top_srcdir)/src/lib/eo \
1827-I$(top_srcdir)/src/lib/evas \
1828-I$(top_srcdir)/src/lib/evas/include \
1829-I$(top_srcdir)/src/lib/evas/cserve2 \
1830-I$(top_srcdir)/src/bin/evas \
1831@evas_image_loader_xpm_cflags@ \
1832@EFL_CFLAGS@ \
1833@EVAS_CFLAGS@
1834bin_evas_loaders_xpm_module_la_LIBADD = @EFL_LIBS@ @evas_image_loader_xpm_libs@
1835bin_evas_loaders_xpm_module_la_LDFLAGS = -no-undefined -module -avoid-version
1836bin_evas_loaders_xpm_module_la_LIBTOOLFLAGS = --tag=disable-static
1837endif \ No newline at end of file
diff --git a/src/bin/evas/dummy_slave.c b/src/bin/evas/dummy_slave.c
new file mode 100644
index 0000000000..ba815dc661
--- /dev/null
+++ b/src/bin/evas/dummy_slave.c
@@ -0,0 +1,207 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif
4
5#include <errno.h>
6#include <stdio.h>
7#include <stdlib.h>
8#include <time.h>
9#include <sys/mman.h>
10#include <fcntl.h>
11#include <unistd.h>
12
13#include "evas_cserve2.h"
14
15static Eina_Bool
16command_read(int fd, Slave_Command *cmd, void **params)
17{
18 ssize_t ret;
19 int ints[2], size, got = 0;
20 char *buf;
21
22 ret = read(fd, ints, sizeof(int) * 2);
23 if (ret < (int)sizeof(int) * 2)
24 return EINA_FALSE;
25
26 size = ints[0];
27 buf = malloc(size);
28 if (!buf) return EINA_FALSE;
29
30 do {
31 ret = read(fd, buf + got, size - got);
32 if (ret < 0)
33 {
34 /* EINTR means we were interrupted by a signal before anything
35 * was sent, and if we are back here it means that signal was
36 * not meant for us to die. Any other error here is fatal and
37 * should result in the slave terminating.
38 */
39 if (errno == EINTR)
40 continue;
41 free(buf);
42 return EINA_FALSE;
43 }
44 got += ret;
45 } while (got < size);
46
47 *cmd = ints[1];
48 *params = buf;
49
50 return EINA_TRUE;
51}
52
53static Eina_Bool
54response_send(int fd, Slave_Command cmd, void *resp, int size)
55{
56 int sent = 0, ints[2];
57 const char *data = resp;
58 ssize_t ret;
59
60 ints[0] = size;
61 ints[1] = cmd;
62 ret = write(fd, ints, sizeof(int) * 2);
63 if (ret < 0)
64 return EINA_FALSE;
65 if (!size)
66 return EINA_TRUE;
67 do {
68 ret = write(fd, data + sent, size - sent);
69 if (ret < 0)
70 {
71 /* EINTR means we were interrupted by a signal before anything
72 * was sent, and if we are back here it means that signal was
73 * not meant for us to die. Any other error here is fatal and
74 * should result in the slave terminating.
75 */
76 if (errno == EINTR)
77 continue;
78 return EINA_FALSE;
79 }
80 sent += ret;
81 } while (sent < size);
82
83 return EINA_TRUE;
84}
85
86static Eina_Bool
87error_send(int fd, Error_Type err)
88{
89 return response_send(fd, ERROR, &err, sizeof(Error_Type));
90}
91
92static void *
93_cserve2_shm_map(const char *name, size_t length, off_t offset)
94{
95 void *map;
96 int fd;
97
98 fd = shm_open(name, O_RDWR, 0);
99 if (fd == -1)
100 return MAP_FAILED;
101
102 map = mmap(NULL, length, PROT_WRITE, MAP_SHARED, fd, offset);
103
104 close(fd);
105
106 return map;
107}
108
109/*
110static void
111_cserve2_shm_unmap(void *map, size_t length)
112{
113 munmap(map, length);
114}
115*/
116
117static Error_Type
118image_open(const char *file EINA_UNUSED, const char *key EINA_UNUSED, Slave_Msg_Image_Opened *result)
119{
120 memset(result, 0, sizeof(*result));
121 result->w = 32;
122 result->h = 32;
123 result->frame_count = 1;
124 result->loop_count = 0;
125 result->loop_hint = 0;
126 result->alpha = EINA_TRUE;
127 return CSERVE2_NONE;
128}
129
130static Error_Type
131image_load(const char *shmfile, Slave_Msg_Image_Load *params)
132{
133 char *map = _cserve2_shm_map(shmfile, params->shm.mmap_size,
134 params->shm.mmap_offset);
135 if (map == MAP_FAILED)
136 return CSERVE2_RESOURCE_ALLOCATION_FAILED;
137
138 memset(map + params->shm.image_offset, 'A', params->shm.image_size);
139
140 return CSERVE2_NONE;
141}
142
143int main(int c, char **v)
144{
145 int wfd, rfd;
146 Slave_Command cmd;
147 void *params = NULL;;
148 Eina_Bool quit = EINA_FALSE;
149
150 if (c < 3)
151 return 1;
152
153 wfd = atoi(v[1]);
154 rfd = atoi(v[2]);
155
156 while (!quit)
157 {
158 if (!command_read(rfd, &cmd, &params))
159 {
160 error_send(wfd, CSERVE2_INVALID_COMMAND);
161 continue;
162 }
163
164 switch (cmd)
165 {
166 case IMAGE_OPEN:
167 {
168 Slave_Msg_Image_Opened result;
169 Slave_Msg_Image_Open *p;
170 Error_Type err;
171 const char *file, *key;
172 p = params;
173 file = (const char *)(p + sizeof(*p));
174 key = file + strlen(file) + 1;
175 if ((err = image_open(file, key, &result)) != CSERVE2_NONE)
176 error_send(wfd, err);
177 else
178 response_send(wfd, IMAGE_OPEN, &result,
179 sizeof(Slave_Msg_Image_Opened));
180 break;
181 }
182 case IMAGE_LOAD:
183 {
184 Slave_Msg_Image_Load *load_args = params;
185 Error_Type err;
186 const char *shmfile = ((const char *)params) +
187 sizeof(Slave_Msg_Image_Load);
188 if ((err = image_load(shmfile, load_args)) != CSERVE2_NONE)
189 error_send(wfd, err);
190 else
191 response_send(wfd, IMAGE_LOAD, NULL, 0);
192 break;
193 }
194 case SLAVE_QUIT:
195 {
196 quit = EINA_TRUE;
197 break;
198 }
199
200 default:
201 error_send(wfd, CSERVE2_INVALID_COMMAND);
202 }
203 free(params);
204 }
205
206 return 0;
207}
diff --git a/src/bin/evas/evas_cserve2.h b/src/bin/evas/evas_cserve2.h
new file mode 100644
index 0000000000..35603873be
--- /dev/null
+++ b/src/bin/evas/evas_cserve2.h
@@ -0,0 +1,311 @@
1#ifndef _EVAS_CSERVE2_H
2#define _EVAS_CSERVE2_H
3
4#include <Eina.h>
5#include "evas_cs2.h"
6
7#ifdef ERR
8#undef ERR
9#endif
10#define ERR(...) EINA_LOG_DOM_ERR(_evas_cserve2_bin_log_dom, __VA_ARGS__)
11#ifdef DBG
12#undef DBG
13#endif
14#define DBG(...) EINA_LOG_DOM_DBG(_evas_cserve2_bin_log_dom, __VA_ARGS__)
15#ifdef WRN
16#undef WRN
17#endif
18#define WRN(...) EINA_LOG_DOM_WARN(_evas_cserve2_bin_log_dom, __VA_ARGS__)
19#ifdef INF
20#undef INF
21#endif
22#define INF(...) EINA_LOG_DOM_INFO(_evas_cserve2_bin_log_dom, __VA_ARGS__)
23
24#define DEBUG_LOAD_TIME 1
25
26extern int _evas_cserve2_bin_log_dom;
27
28typedef struct _Slave Slave;
29typedef struct _Slave_Thread_Data Slave_Thread_Data;
30typedef struct _Shm_Handle Shm_Handle;
31
32typedef enum {
33 FD_READ = 1,
34 FD_WRITE = 2,
35 FD_ERROR = 4
36} Fd_Flags;
37
38struct _Client {
39 unsigned int id;
40 int socket;
41 struct {
42 Eina_Bool reading;
43 char *buf; // buffer of data being read
44 int done, size;
45 Eina_Binbuf *pending; // pending data to send
46 } msg;
47 struct {
48 Eina_Hash *referencing; // indexed by client file id
49 } files;
50 struct {
51 Eina_Hash *referencing; // indexed by client image id
52 } images;
53 struct {
54 Eina_List *referencing;
55 } fonts;
56};
57
58typedef struct _Client Client;
59
60struct _Image_Load_Opts {
61 unsigned int w, h;
62 unsigned int rx, ry, rw, rh;
63 unsigned int scale_down_by;
64 double dpi;
65 Eina_Bool orientation;
66};
67
68typedef struct _Image_Load_Opts Image_Load_Opts;
69
70typedef enum {
71 IMAGE_OPEN,
72 IMAGE_LOAD,
73 FONT_LOAD,
74 FONT_GLYPHS_LOAD,
75 SLAVE_QUIT,
76 ERROR
77} Slave_Command;
78
79struct _Slave_Msg_Image_Open {
80 Eina_Bool has_opts : 1;
81 Eina_Bool has_loader_data : 1;
82};
83
84struct _Slave_Msg_Image_Opened {
85 int w, h;
86 int degree;
87 int scale; /* used by jpeg when loading in smaller sizes */
88 int frame_count;
89 int loop_count;
90 int loop_hint; /* include Evas.h? Copy the enum around? */
91 Eina_Bool alpha : 1;
92 Eina_Bool animated : 1;
93 Eina_Bool rotated : 1;
94
95 Eina_Bool has_loader_data : 1;
96};
97
98struct _Slave_Msg_Image_Load {
99 int w, h;
100 Image_Load_Opts opts;
101 struct {
102 int mmap_offset;
103 int image_offset;
104 int mmap_size;
105 int image_size;
106 } shm;
107 Eina_Bool alpha : 1;
108 Eina_Bool has_loader_data : 1;
109};
110
111struct _Slave_Msg_Image_Loaded {
112 Eina_Bool alpha_sparse : 1;
113};
114
115typedef struct _Slave_Msg_Image_Open Slave_Msg_Image_Open;
116typedef struct _Slave_Msg_Image_Opened Slave_Msg_Image_Opened;
117typedef struct _Slave_Msg_Image_Load Slave_Msg_Image_Load;
118typedef struct _Slave_Msg_Image_Loaded Slave_Msg_Image_Loaded;
119
120struct _Slave_Msg_Font_Load {
121 void *ftdata1; // Freetype file source info comes here
122 void *ftdata2; // Freetype font info comes here
123 unsigned int rend_flags;
124 unsigned int size;
125 unsigned int dpi;
126 const char *name;
127 const char *file;
128 void *data;
129 int datasize;
130};
131
132struct _Slave_Msg_Font_Loaded {
133 void *ftdata1;
134 void *ftdata2;
135};
136
137struct _Slave_Msg_Font_Glyphs_Load {
138 struct {
139 void *ftdata1;
140 void *ftdata2;
141 unsigned int rend_flags;
142 unsigned int hint;
143 } font;
144 struct {
145 unsigned int nglyphs;
146 unsigned int *glyphs;
147 } glyphs;
148 struct {
149 Shm_Handle *shm;
150 unsigned int usage;
151 unsigned int nglyphs;
152 } cache;
153};
154
155struct _Slave_Msg_Glyph {
156 unsigned int index;
157 unsigned int offset;
158 unsigned int size;
159 unsigned int rows;
160 unsigned int width;
161 unsigned int pitch;
162 unsigned int num_grays;
163 unsigned int pixel_mode;
164};
165
166typedef struct _Slave_Msg_Glyph Slave_Msg_Glyph;
167
168struct _Slave_Msg_Font_Cache {
169 unsigned int nglyphs;
170 Slave_Msg_Glyph *glyphs;
171 Shm_Handle *shm;
172 unsigned int usage;
173};
174
175typedef struct _Slave_Msg_Font_Cache Slave_Msg_Font_Cache;
176
177struct _Slave_Msg_Font_Glyphs_Loaded {
178 unsigned int ncaches;
179 unsigned int gl_load_time;
180 unsigned int gl_render_time;
181 unsigned int gl_slave_time;
182 Slave_Msg_Font_Cache **caches;
183};
184
185typedef struct _Slave_Msg_Font_Load Slave_Msg_Font_Load;
186typedef struct _Slave_Msg_Font_Loaded Slave_Msg_Font_Loaded;
187typedef struct _Slave_Msg_Font_Glyphs_Load Slave_Msg_Font_Glyphs_Load;
188typedef struct _Slave_Msg_Font_Glyphs_Loaded Slave_Msg_Font_Glyphs_Loaded;
189
190typedef void *(*Slave_Request_Msg_Create)(void *data, int *size);
191typedef void (*Slave_Request_Msg_Free)(void *msg, void *data);
192typedef Msg_Base *(*Slave_Request_Response)(void *data, void *resp, int *size);
193typedef void (*Slave_Request_Error)(void *data, Error_Type error);
194
195struct _Slave_Request_Funcs {
196 Slave_Request_Msg_Create msg_create;
197 Slave_Request_Msg_Free msg_free;
198 Slave_Request_Response response;
199 Slave_Request_Error error;
200};
201
202typedef struct _Slave_Request Slave_Request;
203typedef struct _Slave_Request_Funcs Slave_Request_Funcs;
204
205typedef enum {
206 FONT_REND_REGULAR = 1,
207 FONT_REND_SLANT = 1 << 1,
208 FONT_REND_WEIGHT = 1 << 2
209} Font_Rend_Flags;
210
211typedef enum {
212 CSERVE2_REQ_IMAGE_OPEN = 0,
213 CSERVE2_REQ_IMAGE_LOAD,
214 CSERVE2_REQ_IMAGE_SPEC_LOAD,
215 CSERVE2_REQ_FONT_LOAD,
216 CSERVE2_REQ_FONT_GLYPHS_LOAD,
217 CSERVE2_REQ_LAST
218} Slave_Request_Type;
219
220typedef struct _Glyph_Entry Glyph_Entry;
221
222typedef void (*Fd_Watch_Cb)(int fd, Fd_Flags flags, void *data);
223typedef void (*Timeout_Cb)(void); /* void* for compat? */
224typedef void (*Main_Loop_Child_Dead_Cb)(int pid, int status); /* void* for compat? */
225typedef void (*Slave_Dead_Cb)(Slave *slave, void *data);
226typedef void (*Slave_Read_Cb)(Slave *slave, Slave_Command cmd, void *msg, void *data);
227typedef void *(*Slave_Thread_Cb)(Slave_Thread_Data *sd, Slave_Command *cmd, const void *cmddata, void *userdata);
228typedef void (*File_Change_Cb)(const char *path, Eina_Bool deleted, void *data);
229
230void cserve2_client_accept(int fd);
231ssize_t cserve2_client_read(Client *client, void *buf, size_t len);
232ssize_t cserve2_client_write(Client *client, const void *buf, size_t len);
233void cserve2_client_del(Client *client);
234void cserve2_client_deliver(Client *client);
235void cserve2_client_error_send(Client *client, unsigned int rid, int error_code);
236ssize_t cserve2_client_send(Client *client, const void *data, size_t size);
237
238Eina_Bool cserve2_fd_watch_add(int fd, Fd_Flags flags, Fd_Watch_Cb cb, const void *data);
239Eina_Bool cserve2_fd_watch_del(int fd);
240Eina_Bool cserve2_fd_watch_flags_set(int fd, Fd_Flags flags);
241Eina_Bool cserve2_fd_watch_flags_get(int fd, Fd_Flags *flags);
242
243Eina_Bool cserve2_file_change_watch_add(const char *path, File_Change_Cb cb, const void *data);
244Eina_Bool cserve2_file_change_watch_del(const char *path);
245
246void cserve2_on_child_dead_set(Main_Loop_Child_Dead_Cb cb);
247
248void cserve2_timeout_cb_set(int t, Timeout_Cb cb);
249
250Eina_Bool cserve2_main_loop_setup(void);
251void cserve2_main_loop_run(void);
252void cserve2_main_loop_finish(void);
253
254Eina_Bool cserve2_slaves_init(void);
255void cserve2_slaves_shutdown(void);
256int cserve2_slave_available_get(void);
257Eina_Bool cserve2_slave_cmd_dispatch(void *data, Slave_Command cmd, const void *msg, int size);
258Slave *cserve2_slave_run(const char *exe, Slave_Read_Cb read_cb, Slave_Dead_Cb dead_cb, const void *data);
259Slave *cserve2_slave_thread_run(Slave_Thread_Cb thread_cb, void *thread_data, Slave_Read_Cb read_cb, Slave_Dead_Cb dead_cb, const void *data);
260void cserve2_slave_send(Slave *s, Slave_Command cmd, const char *data, size_t size);
261void cserve2_slave_kill(Slave *s);
262
263void cserve2_message_handler(int fd, Fd_Flags flags, void *data);
264
265Shm_Handle *cserve2_shm_request(size_t size);
266void cserve2_shm_unref(Shm_Handle *shm);
267const char *cserve2_shm_name_get(const Shm_Handle *shm);
268off_t cserve2_shm_map_offset_get(const Shm_Handle *shm);
269off_t cserve2_shm_offset_get(const Shm_Handle *shm);
270size_t cserve2_shm_map_size_get(const Shm_Handle *shm);
271size_t cserve2_shm_size_get(const Shm_Handle *shm);
272void *cserve2_shm_map(Shm_Handle *shm);
273void cserve2_shm_unmap(Shm_Handle *shm);
274size_t cserve2_shm_size_normalize(size_t size);
275
276void cserve2_command_run(Client *client, Message_Type type);
277
278void cserve2_cache_init(void);
279void cserve2_cache_shutdown(void);
280void cserve2_cache_client_new(Client *client);
281void cserve2_cache_client_del(Client *client);
282int cserve2_cache_file_open(Client *client, unsigned int client_file_id, const char *path, const char *key, unsigned int rid);
283void cserve2_cache_file_close(Client *client, unsigned int client_file_id);
284int cserve2_cache_image_opts_set(Client *client, Msg_Setopts *msg);
285void cserve2_cache_image_load(Client *client, unsigned int client_image_id, unsigned int rid);
286void cserve2_cache_image_preload(Client *client, unsigned int client_image_id, unsigned int rid);
287void cserve2_cache_image_unload(Client *client, unsigned int client_image_id);
288
289int cserve2_cache_font_load(Client *client, const char *source, unsigned int sourcelen, const char *name, unsigned int namelen, unsigned int rend_flags, unsigned int size, unsigned int dpi, unsigned int rid);
290int cserve2_cache_font_unload(Client *client, const char *source, unsigned int sourcelen, const char *name, unsigned int namelen, unsigned int rend_flags, unsigned int size, unsigned int dpi, unsigned int rid);
291int cserve2_cache_font_glyphs_load(Client *client, const char *source, unsigned int sourcelen, const char *name, unsigned int namelen, unsigned int rend_flags, unsigned int hint, unsigned int size, unsigned int dpi, unsigned int *glyphs, unsigned int nglyphs, unsigned int rid);
292int cserve2_cache_font_glyphs_used(Client *client, const char *source, unsigned int sourcelen, const char *name, unsigned int namelen, unsigned int hint, unsigned int rend_flags, unsigned int size, unsigned int dpi, unsigned int *glyphs, unsigned int nglyphs, unsigned int rid);
293void cserve2_cache_stats_get(Client *client, unsigned int rid);
294void cserve2_cache_font_debug(Client *client, unsigned int rid);
295
296
297Slave_Request *cserve2_request_add(Slave_Request_Type type, unsigned int rid, Client *client, Slave_Request *dep, Slave_Request_Funcs *funcs, void *data);
298void cserve2_request_waiter_add(Slave_Request *req, unsigned int rid, Client *client);
299void cserve2_request_type_set(Slave_Request *req, Slave_Request_Type type);
300void cserve2_request_cancel(Slave_Request *req, Client *client, Error_Type err);
301void cserve2_request_cancel_all(Slave_Request *req, Error_Type err);
302void cserve2_requests_init(void);
303void cserve2_requests_shutdown(void);
304
305void cserve2_font_init(void);
306void cserve2_font_shutdown(void);
307void *cserve2_font_slave_cb(Slave_Thread_Data *sd, Slave_Command *cmd, const void *cmddata, void *data);
308void cserve2_font_source_ft_free(void *fontsource);
309void cserve2_font_ft_free(void *fontinfo);
310
311#endif /* _EVAS_CSERVE2_H */
diff --git a/src/bin/evas/evas_cserve2_cache.c b/src/bin/evas/evas_cserve2_cache.c
new file mode 100644
index 0000000000..6ae8a42a6c
--- /dev/null
+++ b/src/bin/evas/evas_cserve2_cache.c
@@ -0,0 +1,2342 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif
4
5#include <string.h>
6
7#ifdef DEBUG_LOAD_TIME
8 #include <sys/time.h>
9#endif
10
11#include "evas_cserve2.h"
12#include "evas_cs2_utils.h"
13
14typedef struct _Entry Entry;
15typedef struct _Reference Reference;
16typedef struct _File_Data File_Data;
17typedef struct _Image_Data Image_Data;
18typedef struct _File_Watch File_Watch;
19
20typedef struct _Font_Source Font_Source;
21typedef struct _Font_Entry Font_Entry;
22typedef struct _Font_Cache Font_Cache;
23
24typedef enum {
25 CSERVE2_IMAGE_FILE,
26 CSERVE2_IMAGE_DATA,
27 CSERVE2_FONT_ENTRY
28} Entry_Type;
29
30struct _Entry {
31 unsigned int id;
32 Eina_List *references;
33 Slave_Request *request;
34 Entry_Type type;
35#ifdef DEBUG_LOAD_TIME
36 struct timeval load_start;
37 struct timeval load_finish;
38 int load_time;
39 int saved_time;
40#endif
41};
42
43struct _File_Data {
44 Entry base;
45 char *path;
46 char *key;
47 int w, h;
48 int frame_count;
49 int loop_count;
50 int loop_hint;
51 const char *loader_data;
52 File_Watch *watcher;
53 Eina_List *images;
54 Eina_Bool alpha : 1;
55 Eina_Bool invalid : 1;
56};
57
58// Default values for load options commented below
59struct _Image_Data {
60 Entry base;
61 unsigned int file_id;
62 File_Data *file;
63 struct {
64 double dpi; // dpi < -1
65 int w, h; // w and h < -1
66 int scale_down; // scale_down < -1
67 int rx, ry, rw, rh; // rx, ry, rw, rh < -1
68 Eina_Bool orientation; // orientation == 0
69 } opts;
70 Shm_Handle *shm;
71 Eina_Bool alpha_sparse : 1;
72 Eina_Bool unused : 1;
73 Eina_Bool doload : 1;
74};
75
76struct _Font_Source {
77 const char *key;
78 const char *name;
79 const char *file;
80 int references;
81 void *ft;
82};
83
84struct _Font_Entry {
85 Entry base;
86 unsigned int rend_flags;
87 unsigned int size;
88 unsigned int dpi;
89 Font_Source *src;
90 void *ft;
91 Fash_Glyph2 *glyphs;
92 unsigned int nglyphs;
93 Eina_Inlist *caches;
94 Font_Cache *last_cache;
95 Eina_Bool unused : 1;
96#ifdef DEBUG_LOAD_TIME
97 struct timeval rstart; // start of the glyphs load request
98 struct timeval rfinish; // finish of the glyphs load request
99 int gl_request_time; // time spent to process glyph requests
100 int gl_load_time;
101 int gl_render_time;
102 int gl_slave_time;
103 int gl_saved_time;
104#endif
105};
106
107struct _Font_Cache {
108 EINA_INLIST;
109 Font_Entry *fe;
110 Shm_Handle *shm;
111 unsigned int usage;
112 int inuse;
113 Eina_Inlist *glyphs;
114 unsigned int nglyphs;
115};
116
117struct _Glyph_Entry {
118 EINA_INLIST;
119 Font_Entry *fe;
120 Font_Cache *fc;
121 unsigned int index;
122 unsigned int offset;
123 unsigned int size;
124 unsigned int rows;
125 unsigned int width;
126 unsigned int pitch;
127 unsigned int num_grays;
128 unsigned int pixel_mode;
129};
130
131struct _Glyphs_Request {
132 Client *client;
133 Font_Entry *fe;
134 unsigned int current;
135 unsigned int nglyphs;
136 unsigned int *glyphs;
137 unsigned int nrender;
138 unsigned int *render;
139 unsigned int nanswer;
140 Glyph_Entry **answer;
141 unsigned int hint;
142};
143
144typedef struct _Glyphs_Request Glyphs_Request;
145
146struct _Glyphs_Group {
147 Font_Cache *fc;
148 Eina_List *glyphs;
149};
150
151typedef struct _Glyphs_Group Glyphs_Group;
152
153struct _Reference {
154 Client *client;
155 Entry *entry;
156 unsigned int client_entry_id; // for reverse lookup
157 int count;
158};
159
160struct _File_Watch {
161 const char *path;
162 Eina_List *entries;
163};
164
165static unsigned int _file_id = 0; // id unique number
166static unsigned int _image_id = 0; // id unique number
167static Eina_Hash *file_ids = NULL; // maps path + key --> file_id
168static Eina_Hash *file_entries = NULL; // maps file_id --> entry
169
170static Eina_Hash *image_ids = NULL; // maps file id + load opts --> image id
171static Eina_Hash *image_entries = NULL; // maps image_id --> entry
172
173static Eina_Hash *font_sources = NULL; // font path --> font source
174static Eina_Hash *font_entries = NULL; // maps font path + options --> entry
175
176static Eina_Hash *file_watch = NULL;
177
178static Eina_List *image_entries_lru = NULL;
179
180static Eina_List *font_shm_lru = NULL;
181
182static int max_unused_mem_usage = 5 * 1024; /* in kbytes */
183static int unused_mem_usage = 0;
184static int max_font_usage = 10 * 4 * 1024; /* in kbytes */
185static int font_mem_usage = 0;
186
187#ifdef DEBUG_LOAD_TIME
188static int
189_timeval_sub(const struct timeval *tv2, const struct timeval *tv1)
190{
191 int t1, t2;
192
193 t1 = tv1->tv_usec + tv1->tv_sec * 1000000;
194 t2 = tv2->tv_usec + tv2->tv_sec * 1000000;
195
196 // Make sure that we don't add negative values. Some images may have
197 // been not loaded yet, so it would mess with the stats.
198 if (t2 > t1)
199 return t2 - t1;
200
201 return 0;
202}
203#endif
204
205static inline void
206_entry_load_start(Entry *e)
207{
208#ifdef DEBUG_LOAD_TIME
209 gettimeofday(&e->load_start, NULL);
210#endif
211}
212
213static inline void
214_entry_load_finish(Entry *e)
215{
216#ifdef DEBUG_LOAD_TIME
217 gettimeofday(&e->load_finish, NULL);
218 e->load_time = _timeval_sub(&e->load_finish, &e->load_start);
219#endif
220}
221
222static inline void
223_entry_load_reused(Entry *e)
224{
225#ifdef DEBUG_LOAD_TIME
226 e->saved_time += e->load_time;
227#endif
228}
229
230static Msg_Opened *
231_image_opened_msg_create(File_Data *entry, int *size)
232{
233 Msg_Opened *msg;
234
235 msg = calloc(1, sizeof(*msg));
236 msg->base.type = CSERVE2_OPENED;
237 msg->image.w = entry->w;
238 msg->image.h = entry->h;
239 msg->image.frame_count = entry->frame_count;
240 msg->image.loop_count = entry->loop_count;
241 msg->image.loop_hint = entry->loop_hint;
242 msg->image.alpha = entry->alpha;
243
244 *size = sizeof(*msg);
245
246 return msg;
247}
248
249static void
250_image_opened_send(Client *client, File_Data *entry, unsigned int rid)
251{
252 int size;
253 Msg_Opened *msg;
254
255 DBG("Sending OPENED reply for entry: %d and RID: %d.", entry->base.id, rid);
256 // clear the struct with possible paddings, since it is not aligned.
257
258 msg = _image_opened_msg_create(entry, &size);
259 msg->base.rid = rid;
260
261 cserve2_client_send(client, &size, sizeof(size));
262 cserve2_client_send(client, msg, size);
263
264 free(msg);
265}
266
267static Msg_Loaded *
268_image_loaded_msg_create(Image_Data *entry, int *size)
269{
270 Msg_Loaded *msg;
271 const char *shmpath = cserve2_shm_name_get(entry->shm);
272 int path_len;
273 char *buf;
274
275 path_len = strlen(shmpath) + 1;
276
277 *size = sizeof(*msg) + path_len;
278 msg = calloc(1, *size);
279 msg->base.type = CSERVE2_LOADED;
280
281 msg->shm.mmap_offset = cserve2_shm_map_offset_get(entry->shm);
282 msg->shm.use_offset = cserve2_shm_offset_get(entry->shm);
283 msg->shm.mmap_size = cserve2_shm_map_size_get(entry->shm);
284 msg->shm.image_size = cserve2_shm_size_get(entry->shm);
285 msg->alpha_sparse = entry->alpha_sparse;
286
287 buf = (char *)msg + sizeof(*msg);
288 memcpy(buf, shmpath, path_len);
289
290 return msg;
291}
292
293static void
294_image_loaded_send(Client *client, Image_Data *entry, unsigned int rid)
295{
296 int size;
297 Msg_Loaded *msg;
298
299 DBG("Sending LOADED reply for entry %d and RID: %d.", entry->base.id, rid);
300
301 msg = _image_loaded_msg_create(entry, &size);
302 msg->base.rid = rid;
303
304 cserve2_client_send(client, &size, sizeof(size));
305 cserve2_client_send(client, msg, size);
306
307 free(msg);
308}
309
310static void
311_font_loaded_send(Client *client, unsigned int rid)
312{
313 int size;
314 Msg_Font_Loaded msg;
315
316 DBG("Sending FONT_LOADED reply for RID: %d.", rid);
317
318 size = sizeof(msg);
319 memset(&msg, 0, size);
320 msg.base.rid = rid;
321 msg.base.type = CSERVE2_FONT_LOADED;
322
323 size = sizeof(msg);
324 cserve2_client_send(client, &size, sizeof(size));
325 cserve2_client_send(client, &msg, size);
326}
327
328static void *
329_open_request_build(File_Data *f, int *bufsize)
330{
331 char *buf;
332 int size, pathlen, keylen;
333 Slave_Msg_Image_Open msg;
334
335 pathlen = strlen(f->path) + 1;
336 keylen = strlen(f->key) + 1;
337
338 size = sizeof(msg) + pathlen + keylen;
339 buf = malloc(size);
340 if (!buf) return NULL;
341
342 memset(&msg, 0, sizeof(msg));
343 memcpy(buf, &msg, sizeof(msg));
344 memcpy(buf + sizeof(msg), f->path, pathlen);
345 memcpy(buf + sizeof(msg) + pathlen, f->key, keylen);
346
347 *bufsize = size;
348
349 _entry_load_start(&f->base);
350
351 return buf;
352}
353
354static void
355_request_free(void *msg, void *data EINA_UNUSED)
356{
357 free(msg);
358}
359
360static Msg_Opened *
361_open_request_response(File_Data *e, Slave_Msg_Image_Opened *resp, int *size)
362{
363 _entry_load_finish(&e->base);
364
365 e->base.request = NULL;
366
367 e->w = resp->w;
368 e->h = resp->h;
369 e->frame_count = resp->frame_count;
370 e->loop_count = resp->loop_count;
371 e->loop_hint = resp->loop_hint;
372 e->alpha = resp->alpha;
373 if (resp->has_loader_data)
374 {
375 const char *ldata = (const char *)resp +
376 sizeof(Slave_Msg_Image_Opened);
377 e->loader_data = eina_stringshare_add(ldata);
378 }
379
380 return _image_opened_msg_create(e, size);
381}
382
383static void
384_request_failed(Entry *e, Error_Type type EINA_UNUSED)
385{
386 Eina_List *l;
387 Reference *ref;
388
389 e->request = NULL;
390
391 EINA_LIST_FOREACH(e->references, l, ref)
392 {
393 Eina_Hash *hash = NULL;
394 if (e->type == CSERVE2_IMAGE_FILE)
395 hash = ref->client->files.referencing;
396 else if (e->type == CSERVE2_IMAGE_DATA)
397 hash = ref->client->images.referencing;
398 else
399 continue;
400
401 eina_hash_del_by_key(hash, &(ref->client_entry_id));
402 }
403}
404
405static Slave_Request_Funcs _open_funcs = {
406 .msg_create = (Slave_Request_Msg_Create)_open_request_build,
407 .msg_free = _request_free,
408 .response = (Slave_Request_Response)_open_request_response,
409 .error = (Slave_Request_Error)_request_failed
410};
411
412static void *
413_load_request_build(Image_Data *i, int *bufsize)
414{
415 char *buf, *ptr;
416 const char *shmpath;
417 int size;
418 int shmlen, filelen, keylen, loaderlen;
419 Slave_Msg_Image_Load msg;
420
421 // opening shm for this file
422 i->shm = cserve2_shm_request(i->file->w * i->file->h * 4);
423
424 shmpath = cserve2_shm_name_get(i->shm);
425
426 shmlen = strlen(shmpath) + 1;
427 filelen = strlen(i->file->path) + 1;
428 keylen = strlen(i->file->key) + 1;
429 if (i->file->loader_data)
430 loaderlen = strlen(i->file->loader_data) + 1;
431 else
432 loaderlen = 0;
433
434 size = sizeof(msg) + shmlen + filelen + keylen + loaderlen;
435 buf = malloc(size);
436 if (!buf) return NULL;
437
438 memset(&msg, 0, sizeof(msg));
439 msg.w = i->file->w;
440 msg.h = i->file->h;
441 msg.alpha = i->file->alpha;
442 msg.opts.w = i->opts.w;
443 msg.opts.h = i->opts.h;
444 msg.opts.rx = i->opts.rx;
445 msg.opts.ry = i->opts.ry;
446 msg.opts.rw = i->opts.rw;
447 msg.opts.rh = i->opts.rh;
448 msg.opts.scale_down_by = i->opts.scale_down;
449 msg.opts.dpi = i->opts.dpi;
450 msg.opts.orientation = i->opts.orientation;
451
452 msg.shm.mmap_offset = cserve2_shm_map_offset_get(i->shm);
453 msg.shm.image_offset = cserve2_shm_offset_get(i->shm);
454 msg.shm.mmap_size = cserve2_shm_map_size_get(i->shm);
455 msg.shm.image_size = cserve2_shm_size_get(i->shm);
456
457 msg.has_loader_data = !!loaderlen;
458
459 memcpy(buf, &msg, sizeof(msg));
460 ptr = buf + sizeof(msg);
461
462 memcpy(ptr, shmpath, shmlen);
463 ptr += shmlen;
464 memcpy(ptr, i->file->path, filelen);
465 ptr += filelen;
466 memcpy(ptr, i->file->key, keylen);
467 ptr += keylen;
468 memcpy(ptr, i->file->loader_data, loaderlen);
469
470 *bufsize = size;
471
472 _entry_load_start(&i->base);
473
474 return buf;
475}
476
477static Msg_Loaded *
478_load_request_response(Image_Data *e, Slave_Msg_Image_Loaded *resp, int *size)
479{
480 _entry_load_finish(&e->base);
481
482 e->base.request = NULL;
483
484 e->alpha_sparse = resp->alpha_sparse;
485 if (!e->doload)
486 DBG("Entry %d loaded by speculative preload.", e->base.id);
487
488 return _image_loaded_msg_create(e, size);
489}
490
491static Slave_Request_Funcs _load_funcs = {
492 .msg_create = (Slave_Request_Msg_Create)_load_request_build,
493 .msg_free = _request_free,
494 .response = (Slave_Request_Response)_load_request_response,
495 .error = (Slave_Request_Error)_request_failed
496};
497
498static unsigned int
499_img_opts_id_get(Image_Data *im, char *buf, int size)
500{
501 uintptr_t image_id;
502
503 snprintf(buf, size, "%u:%0.3f:%dx%d:%d:%d,%d+%dx%d:%d",
504 im->file_id, im->opts.dpi, im->opts.w, im->opts.h,
505 im->opts.scale_down, im->opts.rx, im->opts.ry,
506 im->opts.rw, im->opts.rh, im->opts.orientation);
507
508 image_id = (uintptr_t)eina_hash_find(image_ids, buf);
509
510 return image_id;
511}
512
513static int
514_image_entry_size_get(Image_Data *e)
515{
516 int size = sizeof(Image_Data);
517 /* XXX: get the overhead of the shm handler too */
518 if (e->shm)
519 size += cserve2_shm_size_get(e->shm);
520 return size / 1024;
521}
522
523static void
524_file_id_free(File_Data *entry)
525{
526 char buf[4096];
527
528 DBG("Removing entry file id: %d, file: \"%s:%s\"",
529 entry->base.id, entry->path, entry->key);
530 snprintf(buf, sizeof(buf), "%s:%s", entry->path, entry->key);
531 eina_hash_del_by_key(file_ids, buf);
532}
533
534static void
535_image_id_free(Image_Data *entry)
536{
537 char buf[4096];
538
539 DBG("Removing entry image id: %d", entry->base.id);
540
541 _img_opts_id_get(entry, buf, sizeof(buf));
542 eina_hash_del_by_key(image_ids, buf);
543}
544
545static void
546_image_entry_free(Image_Data *entry)
547{
548 File_Data *fentry = entry->file;
549
550 if (entry->base.request)
551 cserve2_request_cancel_all(entry->base.request, CSERVE2_REQUEST_CANCEL);
552
553 if (entry->unused)
554 {
555 image_entries_lru = eina_list_remove(image_entries_lru, entry);