From c963d75dfdeec11f82e79e727062fbf89afa2c04 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 22 Apr 2012 09:19:23 +1000 Subject: Update EFL to latest beta. --- libraries/ecore/AUTHORS | 3 + libraries/ecore/ChangeLog | 123 +- libraries/ecore/Makefile.in | 24 +- libraries/ecore/NEWS | 42 +- libraries/ecore/README | 3 +- libraries/ecore/aclocal.m4 | 63 +- libraries/ecore/config.guess | 149 +- libraries/ecore/config.h.in | 9 + libraries/ecore/config.sub | 47 +- libraries/ecore/configure | 3345 ++++++++++---------- libraries/ecore/configure.ac | 295 +- libraries/ecore/doc/Makefile.in | 20 +- libraries/ecore/ecore-win32.pc.in | 2 +- libraries/ecore/ecore.pc.in | 4 +- libraries/ecore/ecore.spec | 2 +- libraries/ecore/ecore.supp | 2 +- libraries/ecore/ltmain.sh | 4 +- libraries/ecore/m4/ecore_check_module.m4 | 6 +- libraries/ecore/m4/ecore_check_options.m4 | 2 +- libraries/ecore/po/cs.gmo | Bin 3004 -> 3004 bytes libraries/ecore/po/cs.po | 80 +- libraries/ecore/po/de.gmo | Bin 3001 -> 3001 bytes libraries/ecore/po/de.po | 80 +- libraries/ecore/po/ecore.pot | 81 +- libraries/ecore/po/el.gmo | Bin 3487 -> 3487 bytes libraries/ecore/po/el.po | 80 +- libraries/ecore/po/fr.gmo | Bin 3199 -> 3199 bytes libraries/ecore/po/fr.po | 80 +- libraries/ecore/po/it.gmo | Bin 2931 -> 2931 bytes libraries/ecore/po/it.po | 80 +- libraries/ecore/po/nl.gmo | Bin 2978 -> 2978 bytes libraries/ecore/po/nl.po | 80 +- libraries/ecore/po/pt.gmo | Bin 3020 -> 3020 bytes libraries/ecore/po/pt.po | 80 +- libraries/ecore/po/sl.gmo | Bin 3015 -> 3015 bytes libraries/ecore/po/sl.po | 80 +- libraries/ecore/src/Makefile.in | 20 +- libraries/ecore/src/bin/Makefile.in | 20 +- libraries/ecore/src/examples/Makefile.in | 20 +- .../ecore/src/examples/ecore_evas_basics_example.c | 5 +- libraries/ecore/src/lib/Makefile.in | 20 +- libraries/ecore/src/lib/ecore/Ecore.h | 896 ++++-- libraries/ecore/src/lib/ecore/Makefile.am | 8 + libraries/ecore/src/lib/ecore/Makefile.in | 33 +- libraries/ecore/src/lib/ecore/ecore.c | 6 +- libraries/ecore/src/lib/ecore/ecore_anim.c | 4 +- libraries/ecore/src/lib/ecore/ecore_events.c | 158 +- libraries/ecore/src/lib/ecore/ecore_exe.c | 10 +- libraries/ecore/src/lib/ecore/ecore_getopt.c | 4 + libraries/ecore/src/lib/ecore/ecore_main.c | 185 +- libraries/ecore/src/lib/ecore/ecore_pipe.c | 17 +- libraries/ecore/src/lib/ecore/ecore_poll.c | 94 - libraries/ecore/src/lib/ecore/ecore_private.h | 6 +- libraries/ecore/src/lib/ecore/ecore_thread.c | 756 +++-- libraries/ecore/src/lib/ecore/ecore_time.c | 6 +- libraries/ecore/src/lib/ecore/ecore_timer.c | 19 +- libraries/ecore/src/lib/ecore_cocoa/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_con/Ecore_Con.h | 81 +- libraries/ecore/src/lib/ecore_con/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_con/ecore_con.c | 23 +- .../ecore/src/lib/ecore_con/ecore_con_private.h | 47 +- .../ecore/src/lib/ecore_con/ecore_con_socks.c | 762 ++++- libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c | 3 + libraries/ecore/src/lib/ecore_con/ecore_con_url.c | 671 ++-- libraries/ecore/src/lib/ecore_config/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_directfb/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h | 256 +- libraries/ecore/src/lib/ecore_evas/Makefile.am | 1 + libraries/ecore/src/lib/ecore_evas/Makefile.in | 21 +- libraries/ecore/src/lib/ecore_evas/ecore_evas.c | 252 +- .../ecore/src/lib/ecore_evas/ecore_evas_buffer.c | 7 + .../ecore/src/lib/ecore_evas/ecore_evas_cocoa.c | 10 +- .../ecore/src/lib/ecore_evas/ecore_evas_directfb.c | 7 + .../ecore/src/lib/ecore_evas/ecore_evas_ews.c | 8 + .../ecore/src/lib/ecore_evas/ecore_evas_extn.c | 69 +- libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c | 7 + .../ecore/src/lib/ecore_evas/ecore_evas_private.h | 57 +- .../ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c | 9 +- .../ecore/src/lib/ecore_evas/ecore_evas_sdl.c | 189 +- .../src/lib/ecore_evas/ecore_evas_wayland_egl.c | 694 ++-- .../src/lib/ecore_evas/ecore_evas_wayland_shm.c | 769 ++--- .../ecore/src/lib/ecore_evas/ecore_evas_win32.c | 19 +- .../ecore/src/lib/ecore_evas/ecore_evas_wince.c | 21 +- libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c | 455 ++- libraries/ecore/src/lib/ecore_fb/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_fb/ecore_fb.c | 23 +- libraries/ecore/src/lib/ecore_file/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_file/ecore_file.c | 2 + .../ecore/src/lib/ecore_file/ecore_file_download.c | 40 +- libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h | 143 +- libraries/ecore/src/lib/ecore_imf/Makefile.in | 20 +- .../ecore/src/lib/ecore_imf/ecore_imf_context.c | 402 ++- .../ecore/src/lib/ecore_imf/ecore_imf_private.h | 3 + libraries/ecore/src/lib/ecore_imf_evas/Makefile.in | 20 +- .../ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c | 44 + libraries/ecore/src/lib/ecore_input/Makefile.in | 20 +- .../ecore/src/lib/ecore_input_evas/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_ipc/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c | 5 +- libraries/ecore/src/lib/ecore_psl1ght/Makefile.in | 20 +- libraries/ecore/src/lib/ecore_sdl/Makefile.in | 20 +- .../ecore/src/lib/ecore_wayland/Ecore_Wayland.h | 271 +- libraries/ecore/src/lib/ecore_wayland/Makefile.am | 8 +- libraries/ecore/src/lib/ecore_wayland/Makefile.in | 33 +- libraries/ecore/src/lib/ecore_wayland/ecore_wl.c | 1322 ++------ .../ecore/src/lib/ecore_wayland/ecore_wl_private.h | 56 +- libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h | 9 +- libraries/ecore/src/lib/ecore_win32/Makefile.in | 20 +- .../src/lib/ecore_win32/ecore_win32_private.h | 4 +- .../ecore/src/lib/ecore_win32/ecore_win32_window.c | 173 +- libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h | 4 + libraries/ecore/src/lib/ecore_wince/Makefile.in | 20 +- .../ecore/src/lib/ecore_wince/ecore_wince_window.c | 52 + libraries/ecore/src/lib/ecore_x/Ecore_X.h | 91 +- libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h | 14 + libraries/ecore/src/lib/ecore_x/Makefile.in | 20 +- .../ecore/src/lib/ecore_x/ecore_x_atoms_decl.h | 14 + libraries/ecore/src/lib/ecore_x/xcb/Makefile.in | 20 +- .../ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c | 15 +- libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c | 236 ++ .../ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c | 8 + .../ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c | 50 + .../ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c | 294 +- .../ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c | 4 +- libraries/ecore/src/lib/ecore_x/xlib/Makefile.in | 20 +- .../ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c | 15 +- libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c | 233 ++ .../ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c | 51 + .../ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c | 246 +- .../ecore/src/lib/ecore_x/xlib/ecore_x_test.c | 12 + .../ecore/src/lib/ecore_x/xlib/ecore_x_window.c | 4 +- libraries/ecore/src/modules/Makefile.in | 20 +- libraries/ecore/src/modules/immodules/Makefile.in | 20 +- .../ecore/src/modules/immodules/scim/Makefile.in | 20 +- .../src/modules/immodules/scim/scim_imcontext.cpp | 1348 ++++---- .../src/modules/immodules/scim/scim_imcontext.h | 2 + .../src/modules/immodules/scim/scim_module.cpp | 11 +- .../ecore/src/modules/immodules/xim/Makefile.in | 20 +- .../src/modules/immodules/xim/ecore_imf_xim.c | 48 +- libraries/ecore/src/tests/Makefile.in | 20 +- libraries/ecore/src/tests/ecore_test_ecore_x.c | 4 + libraries/ecore/src/util/Makefile.in | 20 +- libraries/edje/AUTHORS | 1 + libraries/edje/ChangeLog | 111 + libraries/edje/Makefile.in | 2 + libraries/edje/NEWS | 15 +- libraries/edje/README | 3 +- libraries/edje/aclocal.m4 | 64 +- libraries/edje/config.guess | 149 +- libraries/edje/config.sub | 47 +- libraries/edje/configure | 2028 ++++++------ libraries/edje/configure.ac | 51 +- libraries/edje/data/Makefile.in | 2 + libraries/edje/data/include/Makefile.in | 2 + libraries/edje/doc/Makefile.in | 2 + libraries/edje/edje.spec | 2 +- libraries/edje/ltmain.sh | 4 +- libraries/edje/m4/efl_binary.m4 | 27 + libraries/edje/src/Makefile.in | 2 + libraries/edje/src/bin/Makefile.in | 2 + libraries/edje/src/bin/edje_cc.h | 2 + libraries/edje/src/bin/edje_cc_handlers.c | 251 +- libraries/edje/src/bin/edje_cc_mem.c | 10 +- libraries/edje/src/bin/edje_cc_out.c | 168 +- libraries/edje/src/bin/edje_inspector.c | 10 +- libraries/edje/src/bin/edje_player.c | 8 +- libraries/edje/src/bin/epp/Makefile.in | 2 + libraries/edje/src/examples/Makefile.am | 38 +- libraries/edje/src/examples/Makefile.in | 45 +- libraries/edje/src/examples/edje-animations.c | 125 +- libraries/edje/src/examples/edje-basic.c | 107 +- libraries/edje/src/examples/edje-box.c | 185 +- libraries/edje/src/examples/edje-box2.c | 187 +- libraries/edje/src/examples/edje-color-class.c | 140 +- libraries/edje/src/examples/edje-drag.c | 175 +- libraries/edje/src/examples/edje-perspective.c | 132 +- .../edje/src/examples/edje-signals-messages.c | 112 +- libraries/edje/src/examples/edje-swallow.c | 73 +- libraries/edje/src/examples/edje-table.c | 101 +- libraries/edje/src/examples/edje-text.c | 65 +- libraries/edje/src/examples/sigtest.c | 110 +- libraries/edje/src/lib/Edje.h | 585 ++-- libraries/edje/src/lib/Makefile.in | 2 + libraries/edje/src/lib/edje_cache.c | 6 +- libraries/edje/src/lib/edje_calc.c | 74 +- libraries/edje/src/lib/edje_data.c | 3 + libraries/edje/src/lib/edje_entry.c | 462 ++- libraries/edje/src/lib/edje_load.c | 29 +- libraries/edje/src/lib/edje_lua2.c | 38 +- libraries/edje/src/lib/edje_main.c | 5 + libraries/edje/src/lib/edje_multisense.c | 5 - libraries/edje/src/lib/edje_private.h | 76 +- libraries/edje/src/lib/edje_program.c | 86 +- libraries/edje/src/lib/edje_util.c | 546 +++- libraries/edje/src/modules/Makefile.in | 2 + .../edje/src/modules/alsa_snd_player/Makefile.in | 2 + .../edje/src/modules/eet_snd_reader/Makefile.in | 2 + .../src/modules/multisense_factory/Makefile.in | 2 + libraries/edje/src/tests/Makefile.in | 2 + libraries/edje/utils/Makefile.in | 2 + libraries/eet/AUTHORS | 1 + libraries/eet/ChangeLog | 18 +- libraries/eet/Makefile.am | 18 +- libraries/eet/Makefile.in | 22 +- libraries/eet/NEWS | 2 + libraries/eet/README | 3 +- libraries/eet/aclocal.m4 | 62 +- libraries/eet/config.guess | 149 +- libraries/eet/config.h.in | 9 + libraries/eet/config.sub | 47 +- libraries/eet/configure | 1112 ++++--- libraries/eet/configure.ac | 139 +- libraries/eet/doc/Doxyfile | 4 +- libraries/eet/doc/Doxyfile.in | 2 +- libraries/eet/doc/Makefile.am | 7 +- libraries/eet/doc/Makefile.in | 11 +- libraries/eet/eet.spec | 2 +- libraries/eet/ltmain.sh | 4 +- libraries/eet/m4/efl_fnmatch.m4 | 12 + libraries/eet/src/Makefile.in | 4 + libraries/eet/src/bin/Makefile.am | 2 +- libraries/eet/src/bin/Makefile.in | 6 +- libraries/eet/src/bin/eet_main.c | 60 + libraries/eet/src/examples/Makefile.in | 4 + libraries/eet/src/lib/Eet.h | 17 +- libraries/eet/src/lib/Makefile.in | 4 + libraries/eet/src/lib/eet_alloc.c | 2 +- libraries/eet/src/lib/eet_cipher.c | 71 +- libraries/eet/src/lib/eet_data.c | 21 +- libraries/eet/src/lib/eet_dictionary.c | 6 + libraries/eet/src/lib/eet_image.c | 19 +- libraries/eet/src/tests/Makefile.in | 4 + libraries/eet/src/tests/eet_suite.c | 2 +- libraries/eina/AUTHORS | 2 + libraries/eina/ChangeLog | 43 + libraries/eina/Makefile.am | 44 +- libraries/eina/Makefile.in | 82 +- libraries/eina/NEWS | 14 +- libraries/eina/README | 3 +- libraries/eina/aclocal.m4 | 90 +- libraries/eina/autogen.sh | 2 +- libraries/eina/config.guess | 149 +- libraries/eina/config.h.in | 14 +- libraries/eina/config.sub | 47 +- libraries/eina/configure | 960 +++--- libraries/eina/configure.ac | 55 +- libraries/eina/doc/Makefile.am | 3 +- libraries/eina/doc/Makefile.in | 41 +- libraries/eina/eina.pc | 6 +- libraries/eina/eina.spec | 2 +- libraries/eina/ltmain.sh | 4 +- libraries/eina/src/Makefile.in | 38 +- libraries/eina/src/examples/Makefile.am | 28 +- libraries/eina/src/examples/Makefile.in | 180 +- libraries/eina/src/examples/eina_accessor_01.c | 2 +- libraries/eina/src/examples/eina_array_01.c | 2 +- libraries/eina/src/examples/eina_array_02.c | 2 +- libraries/eina/src/examples/eina_error_01.c | 4 +- libraries/eina/src/examples/eina_file_01.c | 2 +- libraries/eina/src/examples/eina_hash_01.c | 3 + libraries/eina/src/examples/eina_hash_02.c | 3 + libraries/eina/src/examples/eina_hash_03.c | 3 + libraries/eina/src/examples/eina_hash_04.c | 3 + libraries/eina/src/examples/eina_hash_05.c | 3 + libraries/eina/src/examples/eina_hash_06.c | 3 + libraries/eina/src/examples/eina_hash_07.c | 3 + libraries/eina/src/examples/eina_hash_08.c | 3 + libraries/eina/src/examples/eina_inlist_01.c | 3 +- libraries/eina/src/examples/eina_inlist_02.c | 3 +- libraries/eina/src/examples/eina_inlist_03.c | 3 +- libraries/eina/src/examples/eina_iterator_01.c | 2 +- libraries/eina/src/examples/eina_list_01.c | 2 +- libraries/eina/src/examples/eina_list_02.c | 2 +- libraries/eina/src/examples/eina_list_03.c | 2 +- libraries/eina/src/examples/eina_list_04.c | 2 +- libraries/eina/src/examples/eina_tiler_01.c | 2 +- libraries/eina/src/include/Eina.h | 44 +- libraries/eina/src/include/Makefile.am | 3 +- libraries/eina/src/include/Makefile.in | 48 +- libraries/eina/src/include/eina_array.h | 2 +- libraries/eina/src/include/eina_config.h | 9 + libraries/eina/src/include/eina_config.h.in | 9 + libraries/eina/src/include/eina_error.h | 2 +- libraries/eina/src/include/eina_file.h | 51 + libraries/eina/src/include/eina_inarray.h | 148 +- .../eina/src/include/eina_inline_lock_win32.x | 70 +- .../eina/src/include/eina_inline_stringshare.x | 4 +- libraries/eina/src/include/eina_inline_value.x | 281 +- libraries/eina/src/include/eina_list.h | 6 +- libraries/eina/src/include/eina_stringshare.h | 43 +- libraries/eina/src/include/eina_types.h | 32 +- libraries/eina/src/include/eina_value.h | 511 ++- libraries/eina/src/lib/Makefile.am | 5 +- libraries/eina/src/lib/Makefile.in | 94 +- libraries/eina/src/lib/eina_binshare.c | 69 +- libraries/eina/src/lib/eina_file.c | 232 +- libraries/eina/src/lib/eina_file_win32.c | 2235 +++++++------ libraries/eina/src/lib/eina_inlist.c | 5 + libraries/eina/src/lib/eina_list.c | 15 +- libraries/eina/src/lib/eina_magic.c | 5 - libraries/eina/src/lib/eina_main.c | 5 +- libraries/eina/src/lib/eina_matrixsparse.c | 2 + libraries/eina/src/lib/eina_module.c | 4 + libraries/eina/src/lib/eina_prefix.c | 22 +- libraries/eina/src/lib/eina_private.h | 2 + libraries/eina/src/lib/eina_rbtree.c | 365 +-- libraries/eina/src/lib/eina_sched.c | 19 +- libraries/eina/src/lib/eina_share_common.c | 42 +- libraries/eina/src/lib/eina_share_common.h | 21 +- libraries/eina/src/lib/eina_stringshare.c | 77 +- libraries/eina/src/lib/eina_unicode.c | 55 +- libraries/eina/src/lib/eina_ustringshare.c | 69 +- libraries/eina/src/lib/eina_value.c | 453 ++- libraries/eina/src/modules/Makefile.in | 38 +- libraries/eina/src/modules/mp/Makefile.in | 38 +- libraries/eina/src/modules/mp/buddy/Makefile.am | 1 - libraries/eina/src/modules/mp/buddy/Makefile.in | 39 +- .../eina/src/modules/mp/chained_pool/Makefile.am | 1 - .../eina/src/modules/mp/chained_pool/Makefile.in | 39 +- .../modules/mp/chained_pool/eina_chained_mempool.c | 2 +- .../eina/src/modules/mp/ememoa_fixed/Makefile.am | 1 - .../eina/src/modules/mp/ememoa_fixed/Makefile.in | 39 +- .../eina/src/modules/mp/ememoa_unknown/Makefile.am | 1 - .../eina/src/modules/mp/ememoa_unknown/Makefile.in | 39 +- .../eina/src/modules/mp/fixed_bitmap/Makefile.am | 1 - .../eina/src/modules/mp/fixed_bitmap/Makefile.in | 39 +- libraries/eina/src/modules/mp/one_big/Makefile.am | 1 - libraries/eina/src/modules/mp/one_big/Makefile.in | 39 +- .../eina/src/modules/mp/one_big/eina_one_big.c | 2 +- .../eina/src/modules/mp/pass_through/Makefile.am | 1 - .../eina/src/modules/mp/pass_through/Makefile.in | 39 +- libraries/eina/src/tests/Makefile.am | 3 +- libraries/eina/src/tests/Makefile.in | 48 +- libraries/eina/src/tests/eina_suite.c | 3 + libraries/eina/src/tests/eina_suite.h | 1 + libraries/eina/src/tests/eina_test_clist.c | 2 +- libraries/eina/src/tests/eina_test_counter.c | 92 +- libraries/eina/src/tests/eina_test_error.c | 184 ++ libraries/eina/src/tests/eina_test_file.c | 54 + libraries/eina/src/tests/eina_test_inlist.c | 171 +- libraries/eina/src/tests/eina_test_list.c | 40 + libraries/eina/src/tests/eina_test_log.c | 217 +- libraries/eina/src/tests/eina_test_magic.c | 110 + .../eina/src/tests/eina_test_simple_xml_parser.c | 6 +- libraries/eina/src/tests/eina_test_ustr.c | 130 +- libraries/eina/src/tests/eina_test_value.c | 109 +- libraries/embryo/ChangeLog | 9 + libraries/embryo/Makefile.in | 5 + libraries/embryo/README | 3 +- libraries/embryo/aclocal.m4 | 63 +- libraries/embryo/config.guess | 149 +- libraries/embryo/config.h.in | 7 +- libraries/embryo/config.sub | 47 +- libraries/embryo/configure | 700 ++-- libraries/embryo/configure.ac | 33 +- libraries/embryo/doc/Makefile.in | 5 + libraries/embryo/doc/img/e.png | Bin libraries/embryo/doc/img/e_big.png | Bin libraries/embryo/doc/img/edoxy.css | 0 libraries/embryo/doc/img/foot_bg.png | Bin libraries/embryo/doc/img/head_bg.png | Bin libraries/embryo/doc/img/menu_bg.png | Bin libraries/embryo/doc/img/menu_bg_current.png | Bin libraries/embryo/doc/img/menu_bg_hover.png | Bin libraries/embryo/doc/img/menu_bg_last.png | Bin libraries/embryo/doc/img/menu_bg_unsel.png | Bin libraries/embryo/embryo.spec | 2 +- libraries/embryo/include/Makefile.in | 5 + libraries/embryo/ltmain.sh | 4 +- libraries/embryo/m4/efl_fnmatch.m4 | 2 +- libraries/embryo/src/Makefile.in | 5 + libraries/embryo/src/bin/Makefile.in | 5 + libraries/embryo/src/bin/embryo_cc_sc5.scp | 2 +- libraries/embryo/src/bin/embryo_cc_sc7.scp | 2 +- libraries/embryo/src/lib/Embryo.h | 2 +- libraries/embryo/src/lib/Makefile.am | 3 +- libraries/embryo/src/lib/Makefile.in | 8 +- libraries/embryo/src/lib/embryo_amx.c | 4 + libraries/embryo/src/lib/embryo_str.c | 45 +- libraries/embryo/src/lib/embryo_time.c | 6 +- libraries/evas/AUTHORS | 1 + libraries/evas/ChangeLog | 41 +- libraries/evas/Makefile.am | 28 +- libraries/evas/Makefile.in | 39 +- libraries/evas/NEWS | 8 + libraries/evas/README | 5 +- libraries/evas/aclocal.m4 | 62 +- libraries/evas/config.guess | 149 +- libraries/evas/config.h.in | 9 +- libraries/evas/config.sub | 47 +- libraries/evas/configure | 2692 ++++++++-------- libraries/evas/configure.ac | 53 +- libraries/evas/doc/Makefile.am | 2 + libraries/evas/doc/Makefile.in | 10 +- libraries/evas/doc/img/e_big.png | Bin libraries/evas/doc/img/foot_bg.png | Bin libraries/evas/doc/img/head_bg.png | Bin libraries/evas/doc/img/menu_bg.png | Bin libraries/evas/doc/img/menu_bg_current.png | Bin libraries/evas/doc/img/menu_bg_hover.png | Bin libraries/evas/doc/img/menu_bg_last.png | Bin libraries/evas/doc/img/menu_bg_unsel.png | Bin libraries/evas/evas.pc.in | 4 +- libraries/evas/evas.spec | 2 +- libraries/evas/ltmain.sh | 4 +- libraries/evas/m4/efl_attribute.m4 | 4 +- libraries/evas/m4/efl_fnmatch.m4 | 2 +- libraries/evas/m4/evas_check_engine.m4 | 66 +- libraries/evas/m4/evas_check_loader.m4 | 6 +- libraries/evas/src/Makefile.in | 8 +- libraries/evas/src/bin/Makefile.am | 2 - libraries/evas/src/bin/Makefile.in | 9 +- libraries/evas/src/bin/evas_cserve_main.c | 3 +- libraries/evas/src/examples/Makefile.am | 2 - libraries/evas/src/examples/Makefile.in | 9 +- libraries/evas/src/examples/evas-box.c | 2 +- libraries/evas/src/examples/evas-hints.c | 3 + libraries/evas/src/lib/Evas.h | 310 +- libraries/evas/src/lib/Evas_GL.h | 2 +- libraries/evas/src/lib/Makefile.am | 10 +- libraries/evas/src/lib/Makefile.in | 21 +- libraries/evas/src/lib/cache/Makefile.am | 1 - libraries/evas/src/lib/cache/Makefile.in | 9 +- libraries/evas/src/lib/cache/evas_cache_image.c | 338 +- libraries/evas/src/lib/canvas/Makefile.am | 1 - libraries/evas/src/lib/canvas/Makefile.in | 15 +- libraries/evas/src/lib/canvas/evas_callbacks.c | 9 + libraries/evas/src/lib/canvas/evas_events.c | 17 +- libraries/evas/src/lib/canvas/evas_map.c | 34 +- libraries/evas/src/lib/canvas/evas_object_image.c | 40 +- libraries/evas/src/lib/canvas/evas_object_main.c | 19 +- .../evas/src/lib/canvas/evas_object_textblock.c | 180 +- libraries/evas/src/lib/canvas/evas_render.c | 63 +- libraries/evas/src/lib/cserve/Makefile.in | 8 +- libraries/evas/src/lib/engines/Makefile.in | 8 +- libraries/evas/src/lib/engines/common/Makefile.am | 2 +- libraries/evas/src/lib/engines/common/Makefile.in | 10 +- .../evas/src/lib/engines/common/evas_draw_main.c | 65 +- .../evas/src/lib/engines/common/evas_font_load.c | 8 +- .../evas/src/lib/engines/common/evas_image_main.c | 77 +- .../src/lib/engines/common/evas_op_add/Makefile.in | 8 +- .../lib/engines/common/evas_op_blend/Makefile.am | 6 +- .../lib/engines/common/evas_op_blend/Makefile.in | 13 +- .../lib/engines/common/evas_op_copy/Makefile.in | 8 +- .../lib/engines/common/evas_op_mask/Makefile.in | 8 +- .../src/lib/engines/common/evas_op_mul/Makefile.in | 8 +- .../src/lib/engines/common/evas_op_sub/Makefile.in | 8 +- .../src/lib/engines/common/evas_polygon_main.c | 8 +- .../src/lib/engines/common/evas_scale_sample.c | 3 +- .../common/evas_scale_smooth_scaler_downx.c | 6 +- .../common/evas_scale_smooth_scaler_downx_downy.c | 6 +- .../common/evas_scale_smooth_scaler_downy.c | 6 +- libraries/evas/src/lib/engines/common/evas_tiler.c | 96 +- .../evas/src/lib/engines/common_16/Makefile.in | 8 +- .../evas/src/lib/engines/common_8/Makefile.in | 8 +- libraries/evas/src/lib/file/Makefile.am | 3 - libraries/evas/src/lib/file/Makefile.in | 10 +- libraries/evas/src/lib/file/evas_module.c | 4 - libraries/evas/src/lib/file/evas_path.c | 4 +- libraries/evas/src/lib/include/Makefile.in | 8 +- libraries/evas/src/lib/include/evas_blend_ops.h | 12 +- libraries/evas/src/lib/include/evas_common.h | 92 +- libraries/evas/src/lib/include/evas_private.h | 3 + libraries/evas/src/modules/Makefile.in | 8 +- libraries/evas/src/modules/engines/Makefile.am | 3 - libraries/evas/src/modules/engines/Makefile.in | 27 +- .../modules/engines/buffer/Evas_Engine_Buffer.h | 3 + .../evas/src/modules/engines/buffer/Makefile.am | 2 - .../evas/src/modules/engines/buffer/Makefile.in | 9 +- .../evas/src/modules/engines/buffer/evas_engine.c | 69 +- .../evas/src/modules/engines/buffer/evas_engine.h | 8 +- .../evas/src/modules/engines/buffer/evas_outbuf.c | 31 +- .../evas/src/modules/engines/direct3d/Makefile.in | 8 +- .../evas/src/modules/engines/directfb/Makefile.am | 2 - .../evas/src/modules/engines/directfb/Makefile.in | 9 +- .../src/modules/engines/directfb/evas_engine.c | 3 +- libraries/evas/src/modules/engines/fb/Makefile.in | 8 +- .../evas/src/modules/engines/fb/evas_engine.c | 13 +- .../evas/src/modules/engines/fb/evas_outbuf.c | 7 +- .../evas/src/modules/engines/gl_cocoa/Makefile.in | 8 +- .../evas/src/modules/engines/gl_common/Makefile.in | 8 +- .../src/modules/engines/gl_common/evas_gl_line.c | 5 +- .../modules/engines/gl_common/shader/yuv_frag.h | 18 +- .../modules/engines/gl_common/shader/yuv_frag.shd | 18 +- .../engines/gl_common/shader/yuv_nomul_frag.h | 18 +- .../engines/gl_common/shader/yuv_nomul_frag.shd | 18 +- .../evas/src/modules/engines/gl_sdl/Makefile.in | 8 +- .../evas/src/modules/engines/gl_x11/Makefile.in | 8 +- .../evas/src/modules/engines/gl_x11/evas_engine.c | 565 +++- .../evas/src/modules/engines/psl1ght/Makefile.in | 8 +- .../src/modules/engines/software_16/Makefile.am | 2 - .../src/modules/engines/software_16/Makefile.in | 9 +- .../modules/engines/software_16_ddraw/Makefile.in | 8 +- .../modules/engines/software_16_sdl/Makefile.am | 4 +- .../modules/engines/software_16_sdl/Makefile.in | 50 +- .../modules/engines/software_16_wince/Makefile.am | 1 - .../modules/engines/software_16_wince/Makefile.in | 25 +- .../modules/engines/software_16_x11/Makefile.in | 8 +- .../src/modules/engines/software_8/Makefile.am | 2 - .../src/modules/engines/software_8/Makefile.in | 9 +- .../src/modules/engines/software_8_x11/Makefile.in | 8 +- .../src/modules/engines/software_ddraw/Makefile.in | 8 +- .../src/modules/engines/software_gdi/Makefile.in | 8 +- .../modules/engines/software_generic/Makefile.am | 4 +- .../modules/engines/software_generic/Makefile.in | 11 +- .../modules/engines/software_generic/evas_engine.c | 24 +- .../src/modules/engines/software_x11/Makefile.in | 8 +- .../src/modules/engines/wayland_egl/Makefile.am | 2 +- .../src/modules/engines/wayland_egl/Makefile.in | 10 +- .../src/modules/engines/wayland_egl/evas_engine.c | 184 +- .../src/modules/engines/wayland_egl/evas_wl_main.c | 4 +- .../engines/wayland_shm/Evas_Engine_Wayland_Shm.h | 3 +- .../src/modules/engines/wayland_shm/Makefile.am | 3 +- .../src/modules/engines/wayland_shm/Makefile.in | 11 +- .../src/modules/engines/wayland_shm/evas_engine.c | 12 +- .../src/modules/engines/wayland_shm/evas_engine.h | 3 +- .../src/modules/engines/wayland_shm/evas_outbuf.c | 5 +- libraries/evas/src/modules/loaders/Makefile.in | 10 +- libraries/evas/src/modules/loaders/bmp/Makefile.am | 7 +- libraries/evas/src/modules/loaders/bmp/Makefile.in | 13 +- .../src/modules/loaders/bmp/evas_image_load_bmp.c | 108 +- libraries/evas/src/modules/loaders/edb/Makefile.in | 8 +- libraries/evas/src/modules/loaders/eet/Makefile.am | 2 - libraries/evas/src/modules/loaders/eet/Makefile.in | 9 +- .../evas/src/modules/loaders/generic/Makefile.am | 5 +- .../evas/src/modules/loaders/generic/Makefile.in | 12 +- libraries/evas/src/modules/loaders/gif/Makefile.am | 2 - libraries/evas/src/modules/loaders/gif/Makefile.in | 9 +- .../src/modules/loaders/gif/evas_image_load_gif.c | 15 +- libraries/evas/src/modules/loaders/ico/Makefile.am | 5 +- libraries/evas/src/modules/loaders/ico/Makefile.in | 11 +- .../src/modules/loaders/ico/evas_image_load_ico.c | 28 +- .../evas/src/modules/loaders/jpeg/Makefile.am | 5 +- .../evas/src/modules/loaders/jpeg/Makefile.in | 12 +- .../modules/loaders/jpeg/evas_image_load_jpeg.c | 85 +- .../evas/src/modules/loaders/pmaps/Makefile.am | 5 +- .../evas/src/modules/loaders/pmaps/Makefile.in | 12 +- libraries/evas/src/modules/loaders/png/Makefile.am | 3 +- libraries/evas/src/modules/loaders/png/Makefile.in | 11 +- libraries/evas/src/modules/loaders/psd/Makefile.am | 5 +- libraries/evas/src/modules/loaders/psd/Makefile.in | 11 +- .../src/modules/loaders/psd/evas_image_load_psd.c | 16 +- libraries/evas/src/modules/loaders/svg/Makefile.am | 2 - libraries/evas/src/modules/loaders/svg/Makefile.in | 9 +- libraries/evas/src/modules/loaders/tga/Makefile.am | 5 +- libraries/evas/src/modules/loaders/tga/Makefile.in | 11 +- .../src/modules/loaders/tga/evas_image_load_tga.c | 10 +- .../evas/src/modules/loaders/tiff/Makefile.am | 5 +- .../evas/src/modules/loaders/tiff/Makefile.in | 12 +- .../evas/src/modules/loaders/wbmp/Makefile.am | 5 +- .../evas/src/modules/loaders/wbmp/Makefile.in | 11 +- libraries/evas/src/modules/loaders/xpm/Makefile.am | 5 +- libraries/evas/src/modules/loaders/xpm/Makefile.in | 12 +- .../src/modules/loaders/xpm/evas_image_load_xpm.c | 3 +- libraries/evas/src/modules/savers/Makefile.in | 8 +- libraries/evas/src/modules/savers/edb/Makefile.in | 8 +- libraries/evas/src/modules/savers/eet/Makefile.am | 2 - libraries/evas/src/modules/savers/eet/Makefile.in | 9 +- libraries/evas/src/modules/savers/jpeg/Makefile.am | 2 - libraries/evas/src/modules/savers/jpeg/Makefile.in | 9 +- libraries/evas/src/modules/savers/png/Makefile.am | 5 +- libraries/evas/src/modules/savers/png/Makefile.in | 12 +- libraries/evas/src/modules/savers/tiff/Makefile.am | 2 - libraries/evas/src/modules/savers/tiff/Makefile.in | 9 +- libraries/evas/src/static_deps/Makefile.in | 8 +- .../evas/src/static_deps/liblinebreak/Makefile.in | 8 +- libraries/evas/src/tests/Makefile.in | 8 +- libraries/evas/src/tests/evas_test_textblock.c | 32 + 568 files changed, 25478 insertions(+), 16585 deletions(-) mode change 100755 => 100644 libraries/embryo/doc/img/e.png mode change 100755 => 100644 libraries/embryo/doc/img/e_big.png mode change 100755 => 100644 libraries/embryo/doc/img/edoxy.css mode change 100755 => 100644 libraries/embryo/doc/img/foot_bg.png mode change 100755 => 100644 libraries/embryo/doc/img/head_bg.png mode change 100755 => 100644 libraries/embryo/doc/img/menu_bg.png mode change 100755 => 100644 libraries/embryo/doc/img/menu_bg_current.png mode change 100755 => 100644 libraries/embryo/doc/img/menu_bg_hover.png mode change 100755 => 100644 libraries/embryo/doc/img/menu_bg_last.png mode change 100755 => 100644 libraries/embryo/doc/img/menu_bg_unsel.png mode change 100755 => 100644 libraries/evas/doc/img/e_big.png mode change 100755 => 100644 libraries/evas/doc/img/foot_bg.png mode change 100755 => 100644 libraries/evas/doc/img/head_bg.png mode change 100755 => 100644 libraries/evas/doc/img/menu_bg.png mode change 100755 => 100644 libraries/evas/doc/img/menu_bg_current.png mode change 100755 => 100644 libraries/evas/doc/img/menu_bg_hover.png mode change 100755 => 100644 libraries/evas/doc/img/menu_bg_last.png mode change 100755 => 100644 libraries/evas/doc/img/menu_bg_unsel.png diff --git a/libraries/ecore/AUTHORS b/libraries/ecore/AUTHORS index 8fc1f10..3db7a4b 100644 --- a/libraries/ecore/AUTHORS +++ b/libraries/ecore/AUTHORS @@ -1,3 +1,4 @@ +Myoungwoon Roy Kim(roy_kim) The Rasterman Tom Gilbert Burra @@ -49,3 +50,5 @@ Youness Alaoui Bluezery Doyoun Kang Haifeng Deng +Jérémy Zurcher +Vikram Narayanan diff --git a/libraries/ecore/ChangeLog b/libraries/ecore/ChangeLog index 5c32d20..dc855e0 100644 --- a/libraries/ecore/ChangeLog +++ b/libraries/ecore/ChangeLog @@ -364,7 +364,7 @@ 2011-12-02 Carsten Haitzler (The Rasterman) 1.1.0 release - + 2011-12-02 Mike Blumenkrantz * Use mempools for allocations @@ -465,3 +465,124 @@ using "Plug" image object. Before only one to one communication is possible, but now many "plug"s can show socket's canvas. +2011-12-26 Christopher Michael (devilhorns) + + * Add Ecore_X function to return the keycode from a given keyname. + +2012-02-06 Jihoon Kim (jihoon) + + * Set ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL as default layout in ecore_imf_context_add. + * Add Ecore_IMF function to set or get the input panel-specific data. + +2012-02-07 Jihoon Kim (jihoon) + + * Support ecore_imf_context_input_panel_show/hide in XIM and SCIM module. + +2012-02-08 Carsten Haitzler (The Rasterman) + + * Add ecore_con_url_http_version_set() to set url request version + +2012-02-09 Jihoon Kim (jihoon) + + * Provide compose, string in key down/up event in case of scim-input-pad. + +2012-02-10 Christopher Michael (devilhorns) + + * Add Ecore_Evas function to allow setting a mouse pointer from efl/elm wayland clients. + +2012-02-15 Jihoon Kim (jihoon) + + * Add ecore_imf APIs to set return key type, disable return key. + +2012-02-16 Leif Middelschulte (T_UNIX) + + * Add ecore_x_randr_mode_add to add a mode to a display + * Add ecore_x_randr_mode_del to remove a mode from the display + * Add ecore_x_randr_output_mode_add to add a mode to an output + * Add ecore_x_randr_output_mode_del to remove a mode from an output + +2012-02-10 Jérémy Zurcher + + * Improve callbacks in ecore_evas to use typedefs for readability. + +2012-02-20 Cedric Bail + + * Rewrite internal of Ecore_Thread to use Eina_Lock and ecore_main_loop_thread_safe_call_async. + +2012-02-23 Cedric Bail + + * Move to Evas buffer engine for Ecore_Evas SDL software backend. + +2012-02-23 Leif Middelschulte (T_UNIX) + + * Add ecore_x_randr_window_crtcs_get to get the crtcs that display a + window. + * Deprecate ecore_x_randr_current_output_get. Use + ecore_x_randr_window_crtcs_get instead. + +2012-02-24 Doyun Kang + + * Add indicator controls to ecore_x + +2012-02-26 Carsten Haitzler (The Rasterman) + + * Fix ecore_file_download to not limit downloads to 30sec. + +2012-02-28 Carsten Haitzler (The Rasterman) + + * Add ecore_x_netwm_icons_set() + * Add ecore_evas_window_group_set() ecore_evas_window_group_get() + ecore_evas_aspect_set() ecore_evas_aspect_get() + ecore_evas_urgent_set() ecore_evas_urgent_get() + ecore_evas_modal_set() ecore_evas_modal_get() + ecore_evas_demand_attention_set() + ecore_evas_demand_attention_get() + ecore_evas_focus_skip_set() ecore_evas_focus_skip_get() + ecore_evas_callback_state_change_set() + +2012-02-28 Christopher Michael (devilhorns) + + * Refactor Ecore_Wayland code to improve running EFL + applications as Wayland Clients. + * Refactor Ecore_Evas Wayland code to match changes in + Ecore_Wayland + +2012-02-29 Jihoon Kim (jihoon) + + * Add ecore_imf_context_input_panel_caps_lock_mode_set/get to set the caps lock mode on the input panel + +2012-03-07 ChunEon Park (Hermet) + + * Add ecore_x_illume_clipboard_state_set() + ecore_x_illume_clipboard_state_get() + ecore_x_illume_clipboard_geometry_set() + ecore_x_illume_clipboard_geometry_get() + +2012-03-07 Carsten Haitzler (The Rasterman) + + * Add atoms and api for rotation and indicator transparency in + ecore_x/ecore_evas + +2012-03-07 Mike Blumenkrantz (discomfitor/zmike) + + * Add ecore_con_url_status_code_get() to check return code at any time + +2012-03-09 Carsten Haitzler (The Rasterman) + + * Fix ecore_thread_feedback_run to work as the documentation and logic tell us. + +2012-03-10 Cedric Bail + + * Fix double free at end of execution of Ecore_Thread with feedback. + +2012-03-13 Leif Middelschulte (T_UNIX) + + * Fix ecore_x_randr_modes_info_get to not cut off the trailing '\0' + anymore + +2012-03-20 Vincent Torri + + * Rename ecore_win32_window_focus_set() to ecore_win32_window_focus() + to match ecore_x API. + * Add ecore_wince_window_focus(), ecore_wince_window_focus_get() + and ecore_win32_window_focus_get(). diff --git a/libraries/ecore/Makefile.in b/libraries/ecore/Makefile.in index 7ae3118..39507a9 100644 --- a/libraries/ecore/Makefile.in +++ b/libraries/ecore/Makefile.in @@ -79,8 +79,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/ecore-wince.pc.in $(srcdir)/ecore-x.pc.in \ $(srcdir)/ecore.pc.in $(srcdir)/ecore.spec.in \ $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ - INSTALL NEWS config.guess config.rpath config.sub depcomp \ - install-sh ltmain.sh missing mkinstalldirs + INSTALL NEWS TODO config.guess config.rpath config.sub depcomp \ + install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/ac_path_generic.m4 \ @@ -93,18 +93,17 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = ecore-con.pc ecore-config.pc ecore-directfb.pc \ ecore-evas.pc ecore-fb.pc ecore-file.pc ecore-imf.pc \ @@ -259,6 +258,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -314,6 +315,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -324,6 +327,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/NEWS b/libraries/ecore/NEWS index f558bb4..22fd7a7 100644 --- a/libraries/ecore/NEWS +++ b/libraries/ecore/NEWS @@ -13,15 +13,43 @@ Additions: - ECORE_CON_REMOTE_CORK - ecore_con_url_proxy_set() - ecore_con_url_timeout_set() - - ecore_con_url_proxy_username_set + - ecore_con_url_proxy_username_set() - ecore_con_url_proxy_password_set() + - ecore_con_url_http_version_set() + - ecore_con_url_status_code_get() * ecore_x: - ecore_x_randr_output_backlight_available() + - ecore_x_randr_window_crtcs_get() * ecore_evas: - Add Shm and Egl engines for ecore_evas to draw in Wayland. - Add Socket and Plug to draw other process area. * ecore_wayland - Add Ecore_Wayland (backend to support Wayland). + * ecore_imf + - ecore_imf_context_event_callback_add() + - ecore_imf_context_event_callback_del() + - ecore_imf_context_event_callback_call() + - ecore_imf_context_input_panel_imdata_set() + - ecore_imf_context_input_panel_imdata_get() + - ecore_imf_context_input_panel_return_key_type_set() + - ecore_imf_context_input_panel_return_key_type_get() + - ecore_imf_context_input_panel_return_key_disabled_set() + - ecore_imf_context_input_panel_return_key_disabled_get() + - ecore_imf_context_input_panel_caps_lock_mode_set() + - ecore_imf_context_input_panel_caps_lock_mode_get() + * ecore_win32: + - ecore_win32_focus() + - ecore_win32_focus_get() + * ecore_wince: + - ecore_wince_focus() + - ecore_wince_focus_get() + +Fixes: + * ecore_thread: + - ecore_thread_feedback_run now handle try_no_queue the way it logically should. + - prevent double free that could cause crash when an Ecore_Thread stop. + * ecore_x: + - ecore_x_randr_modes_info_get does not cut off the trailing '\0' anymore. Improvements: * ecore: @@ -30,7 +58,19 @@ Improvements: - certificates can now be added for STARTTTLS * ecore_win32: - fix modifiers value on Windows XP + * ecore_thread: + - use eina_lock + - use Ecore thread safe async call + * ecore_evas: + - use Evas buffer backend for SDL software engine + +Deprecations: + * ecore_x: + - ecore_x_randr_crtc_current_get() +Removal: + * ecore_win32: + - ecore_win32_focus_set() Ecore 1.1.0 diff --git a/libraries/ecore/README b/libraries/ecore/README index 7b11f68..c902528 100644 --- a/libraries/ecore/README +++ b/libraries/ecore/README @@ -1,4 +1,4 @@ -Ecore 1.1.0 +Ecore 1.2.0 ****************************************************************************** @@ -12,7 +12,6 @@ Requirements: Must: libc - libm eina (1.1.0 or better) (For windows you also need: evil) diff --git a/libraries/ecore/aclocal.m4 b/libraries/ecore/aclocal.m4 index 859816b..8ae8efb 100644 --- a/libraries/ecore/aclocal.m4 +++ b/libraries/ecore/aclocal.m4 @@ -13,13 +13,14 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, +[m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # @@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi @@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then AC_MSG_RESULT([no]) PKG_CONFIG="" fi - fi[]dnl ])# PKG_PROG_PKG_CONFIG @@ -69,34 +72,31 @@ fi[]dnl # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) + m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried fi[]dnl ])# _PKG_CONFIG @@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - ifelse([$4], , [AC_MSG_ERROR(dnl + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -155,25 +156,24 @@ $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) +_PKG_TEXT])[]dnl + ]) elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT -To get pkg-config, see .])], - [$4]) +To get pkg-config, see .])[]dnl + ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) + $3 fi[]dnl ])# PKG_CHECK_MODULES @@ -1148,7 +1148,6 @@ m4_include([m4/efl_threads.m4]) m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intlmacosx.m4]) -m4_include([m4/isc-posix.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) diff --git a/libraries/ecore/config.guess b/libraries/ecore/config.guess index e3a2116..c2246a4 100755 --- a/libraries/ecore/config.guess +++ b/libraries/ecore/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-10' +timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ timestamp='2009-06-10' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -854,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -876,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -901,39 +930,18 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -942,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -966,58 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1247,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/libraries/ecore/config.h.in b/libraries/ecore/config.h.in index 06c1d8e..abc5822 100644 --- a/libraries/ecore/config.h.in +++ b/libraries/ecore/config.h.in @@ -30,6 +30,9 @@ */ #undef BUILD_ECORE_EVAS_EWS +/* Support for Extn Engine in Ecore_Evas */ +#undef BUILD_ECORE_EVAS_EXTN + /* Support for Linux Framebuffer Engine in Ecore_Evas */ #undef BUILD_ECORE_EVAS_FB @@ -331,6 +334,9 @@ /* Define to 1 if you have the `execvp' function. */ #undef HAVE_EXECVP +/* Define to 1 if you have Exotic. */ +#undef HAVE_EXOTIC + /* Define to 1 if you have the header file. */ #undef HAVE_FEATURES_H @@ -403,6 +409,9 @@ /* File monitoring with polling */ #undef HAVE_POLL +/* Have shm_open() call */ +#undef HAVE_SHM_OPEN + /* Define to 1 if you have the header file. */ #undef HAVE_SIGNAL_H diff --git a/libraries/ecore/config.sub b/libraries/ecore/config.sub index eb0389a..c2d1257 100755 --- a/libraries/ecore/config.sub +++ b/libraries/ecore/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-11' +timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-06-11' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +153,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; @@ -284,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -291,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -340,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -368,15 +374,17 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -726,6 +734,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1076,6 +1087,11 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1247,6 +1263,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1268,8 +1287,8 @@ case $os in # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1290,7 +1309,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1423,6 +1442,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) diff --git a/libraries/ecore/configure b/libraries/ecore/configure index 2ea7dd2..1b2ed41 100755 --- a/libraries/ecore/configure +++ b/libraries/ecore/configure @@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for ecore 1.1.99.67344. +# Generated by GNU Autoconf 2.67 for ecore 1.2.0-alpha. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -319,7 +319,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -359,19 +359,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -701,8 +701,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ecore' PACKAGE_TARNAME='ecore' -PACKAGE_VERSION='1.1.99.67344' -PACKAGE_STRING='ecore 1.1.99.67344' +PACKAGE_VERSION='1.2.0-alpha' +PACKAGE_STRING='ecore 1.2.0-alpha' PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -772,6 +772,10 @@ EFL_INSTALL_EXAMPLES_FALSE EFL_INSTALL_EXAMPLES_TRUE EFL_BUILD_EXAMPLES_FALSE EFL_BUILD_EXAMPLES_TRUE +EFL_ENABLE_TESTS_FALSE +EFL_ENABLE_TESTS_TRUE +CHECK_LIBS +CHECK_CFLAGS WAYLAND_EGL_LIBS WAYLAND_EGL_CFLAGS ecore_wayland_libs @@ -875,6 +879,7 @@ ecore_con_libs ecore_con_cflags BUILD_ECORE_CON_FALSE BUILD_ECORE_CON_TRUE +SHM_OPEN_LIBS ALLOCA lt_enable_auto_import WIN32_CFLAGS @@ -992,11 +997,18 @@ EFL_ECORE_FILE_BUILD EFL_ECORE_EVAS_BUILD EFL_ECORE_CON_BUILD EFL_ECORE_BUILD +ECORE_HAVE_EXOTIC_FALSE +ECORE_HAVE_EXOTIC_TRUE +EXOTIC_LIBS +EXOTIC_CFLAGS ESCAPE_LIBS ESCAPE_CFLAGS EVIL_LIBS EVIL_CFLAGS pkgconfig_requires_private +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG EFL_BUILD_DOC_FALSE EFL_BUILD_DOC_TRUE efl_doxygen @@ -1014,11 +1026,6 @@ OBJCDEPMODE ac_ct_OBJC OBJCFLAGS OBJC -EFL_ENABLE_TESTS_FALSE -EFL_ENABLE_TESTS_TRUE -CHECK_LIBS -CHECK_CFLAGS -PKG_CONFIG HAVE_PO_FALSE HAVE_PO_TRUE POSUB @@ -1172,7 +1179,6 @@ enable_local_sockets enable_abstract_sockets enable_simple_x11 enable_xim -enable_tests enable_doc with_doxygen enable_ecore_timer_dump @@ -1243,7 +1249,6 @@ enable_ecore_evas_software_ddraw enable_ecore_evas_direct3d enable_ecore_evas_opengl_glew enable_ecore_evas_software_16_ddraw -enable_ecore_evas_software_sdl enable_ecore_evas_opengl_sdl enable_ecore_evas_opengl_cocoa enable_ecore_evas_directfb @@ -1254,6 +1259,7 @@ enable_ecore_evas_psl1ght enable_ecore_wayland enable_ecore_evas_wayland_shm enable_ecore_evas_wayland_egl +enable_tests enable_build_examples enable_install_examples ' @@ -1266,19 +1272,21 @@ LDFLAGS LIBS CPPFLAGS CPP -PKG_CONFIG -CHECK_CFLAGS -CHECK_LIBS OBJC OBJCFLAGS CXX CXXFLAGS CCC CXXCPP +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR EVIL_CFLAGS EVIL_LIBS ESCAPE_CFLAGS ESCAPE_LIBS +EXOTIC_CFLAGS +EXOTIC_LIBS EINA_CFLAGS EINA_LIBS GLIB_CFLAGS @@ -1343,7 +1351,9 @@ XCB_X11_LIBS WAYLAND_CFLAGS WAYLAND_LIBS WAYLAND_EGL_CFLAGS -WAYLAND_EGL_LIBS' +WAYLAND_EGL_LIBS +CHECK_CFLAGS +CHECK_LIBS' # Initialize some variables set by options. @@ -1406,8 +1416,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1452,7 +1463,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1478,7 +1489,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1682,7 +1693,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1698,7 +1709,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1728,8 +1739,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1737,7 +1748,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1755,13 +1766,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1784,7 +1795,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1798,8 +1809,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1814,9 +1825,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1855,11 +1866,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1885,7 +1896,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ecore 1.1.99.67344 to adapt to many kinds of systems. +\`configure' configures ecore 1.2.0-alpha to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1899,7 +1910,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1959,7 +1970,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ecore 1.1.99.67344:";; + short | recursive ) echo "Configuration of ecore 1.2.0-alpha:";; esac cat <<\_ACEOF @@ -1987,7 +1998,6 @@ Optional Features: disable abstract sockets. --enable-simple-x11 enable simple x11 linking --disable-xim disable X Input Method. - --enable-tests enable tests [default=disabled] --disable-doc Disable documentation build [default=enabled] --disable-ecore-timer-dump disable tracking of timer allocation. @@ -2102,9 +2112,6 @@ Optional Features: --enable-ecore-evas-software-16-ddraw enable 16 bpp Software DirectDraw support in the ecore_evas module. - --enable-ecore-evas-software-sdl - enable Software SDL support in the ecore_evas - module. --enable-ecore-evas-opengl-sdl enable OpenGL SDL support in the ecore_evas module. --enable-ecore-evas-opengl-cocoa @@ -2126,6 +2133,7 @@ Optional Features: enable Wayland Shm support in the ecore_evas module. --enable-ecore-evas-wayland-egl enable Wayland Egl support in the ecore_evas module. + --enable-tests enable tests [default=disabled] --enable-build-examples enable building examples [default=disabled] --enable-install-examples enable installing example source files @@ -2164,20 +2172,24 @@ Some influential environment variables: CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor - PKG_CONFIG path to pkg-config utility - CHECK_CFLAGS - C compiler flags for CHECK, overriding pkg-config - CHECK_LIBS linker flags for CHECK, overriding pkg-config OBJC Objective C compiler command OBJCFLAGS Objective C compiler flags CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config EVIL_LIBS linker flags for EVIL, overriding pkg-config ESCAPE_CFLAGS C compiler flags for ESCAPE, overriding pkg-config ESCAPE_LIBS linker flags for ESCAPE, overriding pkg-config + EXOTIC_CFLAGS + C compiler flags for EXOTIC, overriding pkg-config + EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config EINA_CFLAGS C compiler flags for EINA, overriding pkg-config EINA_LIBS linker flags for EINA, overriding pkg-config GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config @@ -2286,6 +2298,9 @@ Some influential environment variables: C compiler flags for WAYLAND_EGL, overriding pkg-config WAYLAND_EGL_LIBS linker flags for WAYLAND_EGL, overriding pkg-config + CHECK_CFLAGS + C compiler flags for CHECK, overriding pkg-config + CHECK_LIBS linker flags for CHECK, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -2353,10 +2368,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ecore configure 1.1.99.67344 -generated by GNU Autoconf 2.65 +ecore configure 1.2.0-alpha +generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -2426,7 +2441,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -2450,10 +2465,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2489,7 +2504,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2512,17 +2527,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## -------------------------------------------------------- ## +( $as_echo "## -------------------------------------------------------- ## ## Report this to enlightenment-devel@lists.sourceforge.net ## -## -------------------------------------------------------- ## -_ASBOX +## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2586,7 +2599,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2662,7 +2675,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2721,45 +2734,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_func -# ac_fn_c_check_decl LINENO SYMBOL VAR -# ------------------------------------ -# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 -$as_echo_n "checking whether $2 is declared... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $2 - (void) $2; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_decl - # ac_fn_objc_try_compile LINENO # ----------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. @@ -2857,7 +2831,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : @@ -2919,6 +2893,52 @@ fi } # ac_fn_cxx_try_link +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_decl + # ac_fn_objc_try_link LINENO # -------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. @@ -3152,7 +3172,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -3200,8 +3220,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ecore $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by ecore $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -3311,11 +3331,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -3349,11 +3367,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -3366,11 +3382,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -3384,11 +3398,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -3443,7 +3455,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -3458,7 +3475,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -3535,7 +3556,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -3561,16 +3582,22 @@ am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -3686,11 +3713,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -3712,7 +3739,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi @@ -3722,7 +3749,7 @@ then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -3960,7 +3987,7 @@ done $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -3968,7 +3995,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -4002,7 +4029,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -4018,7 +4045,7 @@ fi # Define the identity of the package. PACKAGE='ecore' - VERSION='1.1.99.67344' + VERSION='1.2.0-alpha' cat >>confdefs.h <<_ACEOF @@ -4433,8 +4460,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -4548,9 +4575,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -4592,8 +4618,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4650,9 +4676,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -4703,8 +4729,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -5094,7 +5120,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5110,11 +5136,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -5153,7 +5179,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5169,18 +5195,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@ -5241,7 +5267,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -5307,7 +5333,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -5439,8 +5465,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -5515,7 +5540,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } @@ -5526,16 +5551,16 @@ else test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -5560,7 +5585,7 @@ else ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -5568,7 +5593,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -5969,7 +5994,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -6048,7 +6073,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -6164,7 +6189,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -6366,13 +6391,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6369: $ac_compile\"" >&5) + (eval echo "\"\$as_me:6394: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:6372: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:6397: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:6375: output\"" >&5) + (eval echo "\"\$as_me:6400: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -7574,7 +7599,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7577 "configure"' > conftest.$ac_ext + echo '#line 7602 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -8834,11 +8859,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8837: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8862: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8841: \$? = $ac_status" >&5 + echo "$as_me:8866: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9173,11 +9198,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9176: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9201: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9180: \$? = $ac_status" >&5 + echo "$as_me:9205: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9278,11 +9303,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9281: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9306: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9285: \$? = $ac_status" >&5 + echo "$as_me:9310: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9333,11 +9358,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9336: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9361: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9340: \$? = $ac_status" >&5 + echo "$as_me:9365: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11717,7 +11742,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11720 "configure" +#line 11745 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11813,7 +11838,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11816 "configure" +#line 11841 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12052,20 +12077,20 @@ _ACEOF cat >>confdefs.h <<_ACEOF -#define VERS_MIN 1 +#define VERS_MIN 2 _ACEOF cat >>confdefs.h <<_ACEOF -#define VERS_MIC 99 +#define VERS_MIC 0 _ACEOF cat >>confdefs.h <<_ACEOF -#define VERS_REV 67344 +#define VERS_REV 0 _ACEOF -version_info="2:99:1" +version_info="3:0:2" release_info="" @@ -12489,7 +12514,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then : @@ -13136,7 +13161,7 @@ typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } -if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13807,7 +13832,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } -if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" @@ -14016,7 +14041,7 @@ _ACEOF with_max_log_level="${withval}" else - as_fn_error "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 + as_fn_error $? "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 fi fi @@ -14106,6 +14131,7 @@ want_ecore_evas_directfb="no" want_ecore_evas_fb="no" want_ecore_evas_software_16_wince="no" want_ecore_evas_ews="yes" +want_ecore_evas_extn="yes" want_ecore_evas_wayland_shm="no" want_ecore_evas_wayland_egl="no" @@ -14114,11 +14140,12 @@ want_ecore_imf_xim="no" want_ecore_imf_scim="no" case "$host_os" in - mingw32ce* | cegcc*) + mingw32ce*) want_ecore_con="no" want_ecore_ipc="no" want_ecore_wince="yes" want_ecore_evas_software_16_wince="yes" + want_ecore_evas_extn="no" ;; mingw*) want_notify_win32="yes" @@ -14205,60 +14232,6 @@ requirements_ecore_imf_xim="" requirements_ecore_imf_scim="" requirements_ecore_wayland="" -ac_fn_c_check_decl "$LINENO" "MAXHOSTNAMELEN" "ac_cv_have_decl_MAXHOSTNAMELEN" "$ac_includes_default" -if test "x$ac_cv_have_decl_MAXHOSTNAMELEN" = x""yes; then : - FOUND_MAXHOSTNAMELEN=yes -fi - - -if test x$FOUND_MAXHOSTNAMELEN != xyes ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for header that defines MAXHOSTNAMELEN" >&5 -$as_echo_n "checking for header that defines MAXHOSTNAMELEN... " >&6; } - - FOUND_MAXHOSTNAMELEN='not found' - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int h = MAXHOSTNAMELEN; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - FOUND_MAXHOSTNAMELEN='sys/param.h' - -$as_echo "#define NEED_SYS_PARAM_H 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int h = MAXHOSTNAMELEN; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - FOUND_MAXHOSTNAMELEN='netdb.h' - -$as_echo "#define NEED_NETDB_H 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOUND_MAXHOSTNAMELEN" >&5 -$as_echo "$FOUND_MAXHOSTNAMELEN" >&6; } -fi - ### Additional options to configure want_glib_integration_always=no @@ -14290,7 +14263,7 @@ $as_echo "#define USE_G_MAIN_LOOP 1" >>confdefs.h fi if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" = "xyes"; then - as_fn_error "--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive" "$LINENO" 5 + as_fn_error $? "--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive" "$LINENO" 5 fi # local sockets (ecore_con.c) @@ -14364,238 +14337,6 @@ $as_echo "#define ENABLE_XIM 1" >>confdefs.h fi -# Unit tests - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi - -fi - - - -# Check whether --enable-tests was given. -if test "${enable_tests+set}" = set; then : - enableval=$enable_tests; - if test "x${enableval}" = "xyes" ; then - _efl_enable_tests="yes" - else - _efl_enable_tests="no" - fi - -else - _efl_enable_tests="no" -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests are built" >&5 -$as_echo_n "checking whether tests are built... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_tests}" >&5 -$as_echo "${_efl_enable_tests}" >&6; } - - - -if test "x${_efl_enable_tests}" = "xyes" ; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 -$as_echo_n "checking for CHECK... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_CFLAGS"; then - pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_LIBS"; then - pkg_cv_CHECK_LIBS="$CHECK_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` - else - CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` - fi - # Put the nasty error message in config.log where it belongs - echo "$CHECK_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _efl_enable_tests="no" -elif test $pkg_failed = untried; then - _efl_enable_tests="no" -else - CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS - CHECK_LIBS=$pkg_cv_CHECK_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy="yes" -fi -fi - - if test "x${_efl_enable_tests}" = "xyes"; then - EFL_ENABLE_TESTS_TRUE= - EFL_ENABLE_TESTS_FALSE='#' -else - EFL_ENABLE_TESTS_TRUE='#' - EFL_ENABLE_TESTS_FALSE= -fi - - -if test "x$_efl_enable_tests" = "xyes"; then : - enable_tests="yes" -else - enable_tests="no" -fi - - ### Checks for programs @@ -15923,7 +15664,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -15939,11 +15680,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -15982,7 +15723,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -15998,11 +15739,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else @@ -16231,7 +15972,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -17772,11 +17513,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17775: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17516: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17779: \$? = $ac_status" >&5 + echo "$as_me:17520: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17871,11 +17612,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17874: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17615: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17878: \$? = $ac_status" >&5 + echo "$as_me:17619: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17923,11 +17664,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17926: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17667: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17930: \$? = $ac_status" >&5 + echo "$as_me:17671: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -19171,8 +18912,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -19798,6 +19539,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # so we should include this here: + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -19910,7 +19655,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi # Check whether pkg-config supports Requires.private @@ -19960,11 +19704,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 $as_echo_n "checking for EVIL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_CFLAGS"; then - pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_CFLAGS"; then + pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -19974,15 +19717,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_LIBS"; then - pkg_cv_EVIL_LIBS="$EVIL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_LIBS"; then + pkg_cv_EVIL_LIBS="$EVIL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -19992,14 +19733,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20007,14 +19749,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` else - EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVIL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (evil >= 1.0.0) were not met: + as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: $EVIL_PKG_ERRORS @@ -20023,12 +19765,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EVIL_CFLAGS and EVIL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -20037,13 +19780,13 @@ and EVIL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS EVIL_LIBS=$pkg_cv_EVIL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_EVIL 1" >>confdefs.h @@ -20091,11 +19834,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESCAPE" >&5 $as_echo_n "checking for ESCAPE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ESCAPE_CFLAGS"; then - pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ESCAPE_CFLAGS"; then + pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 ($PKG_CONFIG --exists --print-errors "escape") 2>&5 ac_status=$? @@ -20105,15 +19847,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ESCAPE_LIBS"; then - pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ESCAPE_LIBS"; then + pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 ($PKG_CONFIG --exists --print-errors "escape") 2>&5 ac_status=$? @@ -20123,14 +19863,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20138,14 +19879,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "escape"` + ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "escape" 2>&1` else - ESCAPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "escape"` + ESCAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "escape" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ESCAPE_PKG_ERRORS" >&5 - as_fn_error "Package requirements (escape) were not met: + as_fn_error $? "Package requirements (escape) were not met: $ESCAPE_PKG_ERRORS @@ -20154,12 +19895,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables ESCAPE_CFLAGS and ESCAPE_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -20168,13 +19910,13 @@ and ESCAPE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi CFLAGS="$CFLAGS $ESCAPE_CFLAGS" @@ -20193,6 +19935,95 @@ $as_echo "#define HAVE_ESCAPE 1" >>confdefs.h esac +### Checks for portability layer + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 +$as_echo_n "checking for EXOTIC... " >&6; } + +if test -n "$EXOTIC_CFLAGS"; then + pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXOTIC_LIBS"; then + pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` + else + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$EXOTIC_PKG_ERRORS" >&5 + + enable_exotic="no" +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + enable_exotic="no" +else + EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS + EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + enable_exotic="yes" +fi + +if test "x${enable_exotic}" = "xyes"; then + requirements_ecore="exotic ${requirements_ecore}" + + +$as_echo "#define HAVE_EXOTIC 1" >>confdefs.h + +fi + if test "x${enable_exotic}" = "xyes"; then + ECORE_HAVE_EXOTIC_TRUE= + ECORE_HAVE_EXOTIC_FALSE='#' +else + ECORE_HAVE_EXOTIC_TRUE='#' + ECORE_HAVE_EXOTIC_FALSE= +fi + + + @@ -20431,46 +20262,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5 $as_echo_n "checking for EINA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_CFLAGS"; then - pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_CFLAGS"; then + pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_LIBS"; then - pkg_cv_EINA_LIBS="$EINA_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_LIBS"; then + pkg_cv_EINA_LIBS="$EINA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20478,14 +20307,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.2.0" 2>&1` else - EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EINA_PKG_ERRORS" >&5 - as_fn_error "Package requirements (eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (eina >= 1.2.0) were not met: $EINA_PKG_ERRORS @@ -20494,12 +20323,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EINA_CFLAGS and EINA_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -20508,33 +20338,33 @@ and EINA_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EINA_CFLAGS=$pkg_cv_EINA_CFLAGS EINA_LIBS=$pkg_cv_EINA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi #FIXME check all the requirements when the eina move will be finished -requirements_ecore="eina >= 1.1.0 ${requirements_ecore}" -requirements_ecore_con="ecore >= 1.1.0 eina >= 1.1.0 ${requirements_ecore_con}" -#requirements_ecore_config="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_config}" -requirements_ecore_directfb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_directfb}" -requirements_ecore_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_evas}" -requirements_ecore_fb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_fb}" -requirements_ecore_file="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_file}" -requirements_ecore_imf="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf}" -requirements_ecore_imf_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf_evas}" -requirements_ecore_input="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input}" -requirements_ecore_input_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input_evas}" -requirements_ecore_ipc="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_ipc}" -requirements_ecore_cocoa="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_cocoa}" -requirements_ecore_sdl="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" -requirements_ecore_psl1ght="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" -requirements_ecore_win32="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_win32}" -requirements_ecore_wince="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_wince}" -requirements_ecore_x="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_x}" +requirements_ecore="eina >= 1.2.0 ${requirements_ecore}" +requirements_ecore_con="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_con}" +#requirements_ecore_config="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_config}" +requirements_ecore_directfb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_directfb}" +requirements_ecore_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_evas}" +requirements_ecore_fb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_fb}" +requirements_ecore_file="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_file}" +requirements_ecore_imf="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf}" +requirements_ecore_imf_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf_evas}" +requirements_ecore_input="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input}" +requirements_ecore_input_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input_evas}" +requirements_ecore_ipc="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_ipc}" +requirements_ecore_cocoa="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_cocoa}" +requirements_ecore_sdl="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" +requirements_ecore_psl1ght="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" +requirements_ecore_win32="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_win32}" +requirements_ecore_wince="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_wince}" +requirements_ecore_x="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_x}" # glib support (main loop integration) @@ -20550,11 +20380,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 $as_echo_n "checking for GLIB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GLIB_CFLAGS"; then - pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GLIB_CFLAGS"; then + pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 ac_status=$? @@ -20564,15 +20393,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GLIB_LIBS"; then - pkg_cv_GLIB_LIBS="$GLIB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GLIB_LIBS"; then + pkg_cv_GLIB_LIBS="$GLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 ac_status=$? @@ -20582,14 +20409,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20597,17 +20425,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0"` + GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1` else - GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0"` + GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_glib="no" + have_glib="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_glib="no" else GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS @@ -20620,7 +20448,7 @@ else have_glib="no" fi if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then - as_fn_error "GLib support requested, but no GLib found by pkg-config." "$LINENO" 5 + as_fn_error $? "GLib support requested, but no GLib found by pkg-config." "$LINENO" 5 elif test "x$have_glib" = "xyes"; then $as_echo "#define HAVE_GLIB 1" >>confdefs.h @@ -20637,11 +20465,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 $as_echo_n "checking for SDL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_CFLAGS"; then - pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SDL_CFLAGS"; then + pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 ac_status=$? @@ -20651,15 +20478,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_LIBS"; then - pkg_cv_SDL_LIBS="$SDL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SDL_LIBS"; then + pkg_cv_SDL_LIBS="$SDL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 ac_status=$? @@ -20669,14 +20494,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20684,17 +20510,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"` + SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1` else - SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"` + SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SDL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_sdl="no" + have_sdl="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_sdl="no" else SDL_CFLAGS=$pkg_cv_SDL_CFLAGS @@ -20788,11 +20614,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DIRECTFB" >&5 $as_echo_n "checking for DIRECTFB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$DIRECTFB_CFLAGS"; then - pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$DIRECTFB_CFLAGS"; then + pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 ac_status=$? @@ -20802,15 +20627,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$DIRECTFB_LIBS"; then - pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$DIRECTFB_LIBS"; then + pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 ac_status=$? @@ -20820,14 +20643,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20835,17 +20659,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "directfb >= 0.9.16"` + DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "directfb >= 0.9.16" 2>&1` else - DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "directfb >= 0.9.16"` + DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --print-errors "directfb >= 0.9.16" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DIRECTFB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_directfb="no" + have_directfb="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_directfb="no" else DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS @@ -20866,6 +20690,75 @@ fi # Xlib and XCB (ecore_x) +ac_fn_c_check_decl "$LINENO" "MAXHOSTNAMELEN" "ac_cv_have_decl_MAXHOSTNAMELEN" "$ac_includes_default" +if test "x$ac_cv_have_decl_MAXHOSTNAMELEN" = x""yes; then : + FOUND_MAXHOSTNAMELEN=yes +fi + + +if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for header that defines MAXHOSTNAMELEN" >&5 +$as_echo_n "checking for header that defines MAXHOSTNAMELEN... " >&6; } + FOUND_MAXHOSTNAMELEN="not found" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#include + +int +main () +{ + +int h = MAXHOSTNAMELEN; + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + FOUND_MAXHOSTNAMELEN="sys/param.h" + +$as_echo "#define NEED_SYS_PARAM_H 1" >>confdefs.h + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#include + +int +main () +{ + +int h = MAXHOSTNAMELEN; + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + FOUND_MAXHOSTNAMELEN="netdb.h" + +$as_echo "#define NEED_NETDB_H 1" >>confdefs.h + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOUND_MAXHOSTNAMELEN" >&5 +$as_echo "$FOUND_MAXHOSTNAMELEN" >&6; } +fi + have_x="no" have_ecore_x="no" have_ecore_x_xlib="no" @@ -20995,7 +20888,7 @@ $as_echo_n "checking keysym definitions... " >&6; } if test -f "$KEYSYMDEFDIR/$i"; then KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i" elif test "x$i" = "xkeysymdef.h"; then - as_fn_error "Cannot find keysymdef.h" "$LINENO" 5 + as_fn_error $? "Cannot find keysymdef.h" "$LINENO" 5 fi done { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KEYSYMDEFS" >&5 @@ -21159,11 +21052,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 $as_echo_n "checking for ECORE_XCB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_XCB_CFLAGS"; then - pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_XCB_CFLAGS"; then + pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8") 2>&5 ac_status=$? @@ -21173,15 +21065,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_XCB_LIBS"; then - pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_XCB_LIBS"; then + pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8") 2>&5 ac_status=$? @@ -21191,14 +21081,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21206,26 +21097,23 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8"` + ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1` else - ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8"` + ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ECORE_XCB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 $as_echo_n "checking for ECORE_XCB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_XCB_CFLAGS"; then - pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_XCB_CFLAGS"; then + pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 ac_status=$? @@ -21235,15 +21123,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_XCB_LIBS"; then - pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_XCB_LIBS"; then + pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 ac_status=$? @@ -21253,14 +21139,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21268,17 +21155,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` + ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` else - ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` + ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ECORE_XCB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb="no" + have_ecore_x_xcb="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb="no" else ECORE_XCB_CFLAGS=$pkg_cv_ECORE_XCB_CFLAGS @@ -21293,17 +21180,18 @@ $as_echo "#define OLD_XCB_VERSION 1" >>confdefs.h fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 $as_echo_n "checking for ECORE_XCB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_XCB_CFLAGS"; then - pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_XCB_CFLAGS"; then + pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 ac_status=$? @@ -21313,15 +21201,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_XCB_LIBS"; then - pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_XCB_LIBS"; then + pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 ac_status=$? @@ -21331,14 +21217,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21346,17 +21233,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` + ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` else - ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` + ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ECORE_XCB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb="no" + have_ecore_x_xcb="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb="no" else ECORE_XCB_CFLAGS=$pkg_cv_ECORE_XCB_CFLAGS @@ -21387,11 +21274,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PIXMAN" >&5 $as_echo_n "checking for PIXMAN... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$PIXMAN_CFLAGS"; then - pkg_cv_PIXMAN_CFLAGS="$PIXMAN_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PIXMAN_CFLAGS"; then + pkg_cv_PIXMAN_CFLAGS="$PIXMAN_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 ac_status=$? @@ -21401,15 +21287,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$PIXMAN_LIBS"; then - pkg_cv_PIXMAN_LIBS="$PIXMAN_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PIXMAN_LIBS"; then + pkg_cv_PIXMAN_LIBS="$PIXMAN_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 ac_status=$? @@ -21419,14 +21303,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21434,24 +21319,24 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "pixman-1"` + PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "pixman-1" 2>&1` else - PIXMAN_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pixman-1"` + PIXMAN_PKG_ERRORS=`$PKG_CONFIG --print-errors "pixman-1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PIXMAN_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Pixman not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Pixman not found (strict dependencies checking)" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Pixman not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Pixman not found (strict dependencies checking)" "$LINENO" 5 fi else @@ -21474,11 +21359,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_COMPOSITE" >&5 $as_echo_n "checking for XCB_COMPOSITE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_COMPOSITE_CFLAGS"; then - pkg_cv_XCB_COMPOSITE_CFLAGS="$XCB_COMPOSITE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_COMPOSITE_CFLAGS"; then + pkg_cv_XCB_COMPOSITE_CFLAGS="$XCB_COMPOSITE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-composite\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-composite") 2>&5 ac_status=$? @@ -21488,15 +21372,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_COMPOSITE_LIBS"; then - pkg_cv_XCB_COMPOSITE_LIBS="$XCB_COMPOSITE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_COMPOSITE_LIBS"; then + pkg_cv_XCB_COMPOSITE_LIBS="$XCB_COMPOSITE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-composite\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-composite") 2>&5 ac_status=$? @@ -21506,14 +21388,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21521,17 +21404,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-composite"` + XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-composite" 2>&1` else - XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-composite"` + XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-composite" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_COMPOSITE_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_composite="no" + have_ecore_x_xcb_composite="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_composite="no" else XCB_COMPOSITE_CFLAGS=$pkg_cv_XCB_COMPOSITE_CFLAGS @@ -21556,11 +21439,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_DAMAGE" >&5 $as_echo_n "checking for XCB_DAMAGE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_DAMAGE_CFLAGS"; then - pkg_cv_XCB_DAMAGE_CFLAGS="$XCB_DAMAGE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_DAMAGE_CFLAGS"; then + pkg_cv_XCB_DAMAGE_CFLAGS="$XCB_DAMAGE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-damage\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-damage") 2>&5 ac_status=$? @@ -21570,15 +21452,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_DAMAGE_LIBS"; then - pkg_cv_XCB_DAMAGE_LIBS="$XCB_DAMAGE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_DAMAGE_LIBS"; then + pkg_cv_XCB_DAMAGE_LIBS="$XCB_DAMAGE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-damage\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-damage") 2>&5 ac_status=$? @@ -21588,14 +21468,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21603,17 +21484,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-damage"` + XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-damage" 2>&1` else - XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-damage"` + XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-damage" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_DAMAGE_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_damage="no" + have_ecore_x_xcb_damage="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_damage="no" else XCB_DAMAGE_CFLAGS=$pkg_cv_XCB_DAMAGE_CFLAGS @@ -21638,11 +21519,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_DPMS" >&5 $as_echo_n "checking for XCB_DPMS... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_DPMS_CFLAGS"; then - pkg_cv_XCB_DPMS_CFLAGS="$XCB_DPMS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_DPMS_CFLAGS"; then + pkg_cv_XCB_DPMS_CFLAGS="$XCB_DPMS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-dpms\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-dpms") 2>&5 ac_status=$? @@ -21652,15 +21532,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_DPMS_LIBS"; then - pkg_cv_XCB_DPMS_LIBS="$XCB_DPMS_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_DPMS_LIBS"; then + pkg_cv_XCB_DPMS_LIBS="$XCB_DPMS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-dpms\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-dpms") 2>&5 ac_status=$? @@ -21670,14 +21548,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21685,17 +21564,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-dpms"` + XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-dpms" 2>&1` else - XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-dpms"` + XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-dpms" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_DPMS_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_dpms="no" + have_ecore_x_xcb_dpms="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_dpms="no" else XCB_DPMS_CFLAGS=$pkg_cv_XCB_DPMS_CFLAGS @@ -21720,11 +21599,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_RANDR" >&5 $as_echo_n "checking for XCB_RANDR... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_RANDR_CFLAGS"; then - pkg_cv_XCB_RANDR_CFLAGS="$XCB_RANDR_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_RANDR_CFLAGS"; then + pkg_cv_XCB_RANDR_CFLAGS="$XCB_RANDR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-randr\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-randr") 2>&5 ac_status=$? @@ -21734,15 +21612,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_RANDR_LIBS"; then - pkg_cv_XCB_RANDR_LIBS="$XCB_RANDR_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_RANDR_LIBS"; then + pkg_cv_XCB_RANDR_LIBS="$XCB_RANDR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-randr\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-randr") 2>&5 ac_status=$? @@ -21752,14 +21628,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21767,17 +21644,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-randr"` + XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-randr" 2>&1` else - XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-randr"` + XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-randr" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_RANDR_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_randr="no" + have_ecore_x_xcb_randr="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_randr="no" else XCB_RANDR_CFLAGS=$pkg_cv_XCB_RANDR_CFLAGS @@ -21802,11 +21679,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_RENDER" >&5 $as_echo_n "checking for XCB_RENDER... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_RENDER_CFLAGS"; then - pkg_cv_XCB_RENDER_CFLAGS="$XCB_RENDER_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_RENDER_CFLAGS"; then + pkg_cv_XCB_RENDER_CFLAGS="$XCB_RENDER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 ac_status=$? @@ -21816,15 +21692,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_RENDER_LIBS"; then - pkg_cv_XCB_RENDER_LIBS="$XCB_RENDER_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_RENDER_LIBS"; then + pkg_cv_XCB_RENDER_LIBS="$XCB_RENDER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 ac_status=$? @@ -21834,14 +21708,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21849,17 +21724,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` + XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-render xcb-renderutil" 2>&1` else - XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` + XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-render xcb-renderutil" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_RENDER_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_render="no" + have_ecore_x_xcb_render="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_render="no" else XCB_RENDER_CFLAGS=$pkg_cv_XCB_RENDER_CFLAGS @@ -21884,11 +21759,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SCREENSAVER" >&5 $as_echo_n "checking for XCB_SCREENSAVER... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_SCREENSAVER_CFLAGS"; then - pkg_cv_XCB_SCREENSAVER_CFLAGS="$XCB_SCREENSAVER_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_SCREENSAVER_CFLAGS"; then + pkg_cv_XCB_SCREENSAVER_CFLAGS="$XCB_SCREENSAVER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-screensaver\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-screensaver") 2>&5 ac_status=$? @@ -21898,15 +21772,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_SCREENSAVER_LIBS"; then - pkg_cv_XCB_SCREENSAVER_LIBS="$XCB_SCREENSAVER_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_SCREENSAVER_LIBS"; then + pkg_cv_XCB_SCREENSAVER_LIBS="$XCB_SCREENSAVER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-screensaver\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-screensaver") 2>&5 ac_status=$? @@ -21916,14 +21788,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21931,17 +21804,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-screensaver"` + XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-screensaver" 2>&1` else - XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-screensaver"` + XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-screensaver" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_SCREENSAVER_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_screensaver="no" + have_ecore_x_xcb_screensaver="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_screensaver="no" else XCB_SCREENSAVER_CFLAGS=$pkg_cv_XCB_SCREENSAVER_CFLAGS @@ -21966,11 +21839,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SHAPE" >&5 $as_echo_n "checking for XCB_SHAPE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_SHAPE_CFLAGS"; then - pkg_cv_XCB_SHAPE_CFLAGS="$XCB_SHAPE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_SHAPE_CFLAGS"; then + pkg_cv_XCB_SHAPE_CFLAGS="$XCB_SHAPE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-shape\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-shape") 2>&5 ac_status=$? @@ -21980,15 +21852,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_SHAPE_LIBS"; then - pkg_cv_XCB_SHAPE_LIBS="$XCB_SHAPE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_SHAPE_LIBS"; then + pkg_cv_XCB_SHAPE_LIBS="$XCB_SHAPE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-shape\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-shape") 2>&5 ac_status=$? @@ -21998,14 +21868,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22013,17 +21884,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-shape"` + XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-shape" 2>&1` else - XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-shape"` + XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-shape" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_SHAPE_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_shape="no" + have_ecore_x_xcb_shape="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_shape="no" else XCB_SHAPE_CFLAGS=$pkg_cv_XCB_SHAPE_CFLAGS @@ -22048,11 +21919,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XGESTURE" >&5 $as_echo_n "checking for XCB_XGESTURE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XGESTURE_CFLAGS"; then - pkg_cv_XCB_XGESTURE_CFLAGS="$XCB_XGESTURE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XGESTURE_CFLAGS"; then + pkg_cv_XCB_XGESTURE_CFLAGS="$XCB_XGESTURE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-gesture\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-gesture") 2>&5 ac_status=$? @@ -22062,15 +21932,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XGESTURE_LIBS"; then - pkg_cv_XCB_XGESTURE_LIBS="$XCB_XGESTURE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XGESTURE_LIBS"; then + pkg_cv_XCB_XGESTURE_LIBS="$XCB_XGESTURE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-gesture\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-gesture") 2>&5 ac_status=$? @@ -22080,14 +21948,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22095,17 +21964,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-gesture"` + XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-gesture" 2>&1` else - XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-gesture"` + XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-gesture" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_XGESTURE_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_gesture="no" + have_ecore_x_xcb_gesture="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_gesture="no" else XCB_XGESTURE_CFLAGS=$pkg_cv_XCB_XGESTURE_CFLAGS @@ -22130,11 +21999,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SYNC" >&5 $as_echo_n "checking for XCB_SYNC... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_SYNC_CFLAGS"; then - pkg_cv_XCB_SYNC_CFLAGS="$XCB_SYNC_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_SYNC_CFLAGS"; then + pkg_cv_XCB_SYNC_CFLAGS="$XCB_SYNC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-sync\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-sync") 2>&5 ac_status=$? @@ -22144,15 +22012,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_SYNC_LIBS"; then - pkg_cv_XCB_SYNC_LIBS="$XCB_SYNC_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_SYNC_LIBS"; then + pkg_cv_XCB_SYNC_LIBS="$XCB_SYNC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-sync\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-sync") 2>&5 ac_status=$? @@ -22162,14 +22028,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22177,17 +22044,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-sync"` + XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-sync" 2>&1` else - XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-sync"` + XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-sync" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_SYNC_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_sync="no" + have_ecore_x_xcb_sync="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_sync="no" else XCB_SYNC_CFLAGS=$pkg_cv_XCB_SYNC_CFLAGS @@ -22212,11 +22079,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XFIXES" >&5 $as_echo_n "checking for XCB_XFIXES... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XFIXES_CFLAGS"; then - pkg_cv_XCB_XFIXES_CFLAGS="$XCB_XFIXES_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XFIXES_CFLAGS"; then + pkg_cv_XCB_XFIXES_CFLAGS="$XCB_XFIXES_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xfixes\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xfixes") 2>&5 ac_status=$? @@ -22226,15 +22092,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XFIXES_LIBS"; then - pkg_cv_XCB_XFIXES_LIBS="$XCB_XFIXES_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XFIXES_LIBS"; then + pkg_cv_XCB_XFIXES_LIBS="$XCB_XFIXES_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xfixes\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xfixes") 2>&5 ac_status=$? @@ -22244,14 +22108,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22259,17 +22124,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xfixes"` + XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xfixes" 2>&1` else - XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xfixes"` + XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xfixes" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_XFIXES_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_xfixes="no" + have_ecore_x_xcb_xfixes="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_xfixes="no" else XCB_XFIXES_CFLAGS=$pkg_cv_XCB_XFIXES_CFLAGS @@ -22294,11 +22159,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XINERAMA" >&5 $as_echo_n "checking for XCB_XINERAMA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XINERAMA_CFLAGS"; then - pkg_cv_XCB_XINERAMA_CFLAGS="$XCB_XINERAMA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XINERAMA_CFLAGS"; then + pkg_cv_XCB_XINERAMA_CFLAGS="$XCB_XINERAMA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinerama\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xinerama") 2>&5 ac_status=$? @@ -22308,15 +22172,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XINERAMA_LIBS"; then - pkg_cv_XCB_XINERAMA_LIBS="$XCB_XINERAMA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XINERAMA_LIBS"; then + pkg_cv_XCB_XINERAMA_LIBS="$XCB_XINERAMA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinerama\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xinerama") 2>&5 ac_status=$? @@ -22326,14 +22188,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22341,17 +22204,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xinerama"` + XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xinerama" 2>&1` else - XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xinerama"` + XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xinerama" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_XINERAMA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_xinerama="no" + have_ecore_x_xcb_xinerama="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_xinerama="no" else XCB_XINERAMA_CFLAGS=$pkg_cv_XCB_XINERAMA_CFLAGS @@ -22376,11 +22239,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XPRINT" >&5 $as_echo_n "checking for XCB_XPRINT... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XPRINT_CFLAGS"; then - pkg_cv_XCB_XPRINT_CFLAGS="$XCB_XPRINT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XPRINT_CFLAGS"; then + pkg_cv_XCB_XPRINT_CFLAGS="$XCB_XPRINT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xprint\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xprint") 2>&5 ac_status=$? @@ -22390,15 +22252,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XPRINT_LIBS"; then - pkg_cv_XCB_XPRINT_LIBS="$XCB_XPRINT_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XPRINT_LIBS"; then + pkg_cv_XCB_XPRINT_LIBS="$XCB_XPRINT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xprint\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xprint") 2>&5 ac_status=$? @@ -22408,14 +22268,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22423,17 +22284,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xprint"` + XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xprint" 2>&1` else - XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xprint"` + XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xprint" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_XPRINT_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_xprint="no" + have_ecore_x_xcb_xprint="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_xprint="no" else XCB_XPRINT_CFLAGS=$pkg_cv_XCB_XPRINT_CFLAGS @@ -22458,11 +22319,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XTEST" >&5 $as_echo_n "checking for XCB_XTEST... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XTEST_CFLAGS"; then - pkg_cv_XCB_XTEST_CFLAGS="$XCB_XTEST_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XTEST_CFLAGS"; then + pkg_cv_XCB_XTEST_CFLAGS="$XCB_XTEST_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5 ac_status=$? @@ -22472,15 +22332,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XTEST_LIBS"; then - pkg_cv_XCB_XTEST_LIBS="$XCB_XTEST_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XTEST_LIBS"; then + pkg_cv_XCB_XTEST_LIBS="$XCB_XTEST_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5 ac_status=$? @@ -22490,14 +22348,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22505,17 +22364,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xtest"` + XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xtest" 2>&1` else - XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xtest"` + XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xtest" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_XTEST_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_xtest="no" + have_ecore_x_xcb_xtest="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_xtest="no" else XCB_XTEST_CFLAGS=$pkg_cv_XCB_XTEST_CFLAGS @@ -22542,11 +22401,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XINPUT" >&5 $as_echo_n "checking for XCB_XINPUT... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XINPUT_CFLAGS"; then - pkg_cv_XCB_XINPUT_CFLAGS="$XCB_XINPUT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XINPUT_CFLAGS"; then + pkg_cv_XCB_XINPUT_CFLAGS="$XCB_XINPUT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinput\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xinput") 2>&5 ac_status=$? @@ -22556,15 +22414,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_XINPUT_LIBS"; then - pkg_cv_XCB_XINPUT_LIBS="$XCB_XINPUT_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_XINPUT_LIBS"; then + pkg_cv_XCB_XINPUT_LIBS="$XCB_XINPUT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinput\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-xinput") 2>&5 ac_status=$? @@ -22574,14 +22430,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22589,17 +22446,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xinput"` + XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xinput" 2>&1` else - XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xinput"` + XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xinput" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_XINPUT_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_xinput="no" + have_ecore_x_xcb_xinput="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_xinput="no" else XCB_XINPUT_CFLAGS=$pkg_cv_XCB_XINPUT_CFLAGS @@ -22624,11 +22481,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_CURSOR" >&5 $as_echo_n "checking for XCB_CURSOR... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_CURSOR_CFLAGS"; then - pkg_cv_XCB_CURSOR_CFLAGS="$XCB_CURSOR_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_CURSOR_CFLAGS"; then + pkg_cv_XCB_CURSOR_CFLAGS="$XCB_CURSOR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 ac_status=$? @@ -22638,15 +22494,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_CURSOR_LIBS"; then - pkg_cv_XCB_CURSOR_LIBS="$XCB_CURSOR_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_CURSOR_LIBS"; then + pkg_cv_XCB_CURSOR_LIBS="$XCB_CURSOR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 ac_status=$? @@ -22656,14 +22510,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -22671,17 +22526,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` + XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-render xcb-renderutil" 2>&1` else - XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` + XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-render xcb-renderutil" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_CURSOR_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_xcb_cursor="no" + have_ecore_x_xcb_cursor="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_xcb_cursor="no" else XCB_CURSOR_CFLAGS=$pkg_cv_XCB_CURSOR_CFLAGS @@ -22740,7 +22595,7 @@ if test "x$with_x" = xno; then have_x=disabled else case $x_includes,$x_libraries in #( - *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -22758,7 +22613,7 @@ libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done @@ -22844,7 +22699,7 @@ else fi done fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then @@ -24710,46 +24565,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVAS" >&5 $as_echo_n "checking for EVAS... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVAS_CFLAGS"; then - pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.1.99\""; } >&5 - ($PKG_CONFIG --exists --print-errors "evas >= 1.1.99") 2>&5 +if test -n "$EVAS_CFLAGS"; then + pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "evas >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 1.1.99" 2>/dev/null` + pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVAS_LIBS"; then - pkg_cv_EVAS_LIBS="$EVAS_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.1.99\""; } >&5 - ($PKG_CONFIG --exists --print-errors "evas >= 1.1.99") 2>&5 +if test -n "$EVAS_LIBS"; then + pkg_cv_EVAS_LIBS="$EVAS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "evas >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 1.1.99" 2>/dev/null` + pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -24757,17 +24610,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas >= 1.1.99"` + EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evas >= 1.2.0" 2>&1` else - EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas >= 1.1.99"` + EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors "evas >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVAS_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_evas="no" + have_evas="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_evas="no" else EVAS_CFLAGS=$pkg_cv_EVAS_CFLAGS @@ -24784,8 +24637,7 @@ for ac_header in sys/select.h sys/prctl.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -25106,8 +24958,7 @@ $as_echo "#define HAVE_SYS_TIME_H 1" >>confdefs.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -25121,12 +24972,49 @@ esac # ecore_con -for ac_header in arpa/inet.h arpa/nameser.h netinet/tcp.h net/if.h netinet/in.h sys/socket.h sys/un.h ws2tcpip.h netdb.h +for ac_header in sys/socket.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_SOCKET_H 1 +_ACEOF + +fi + +done + +for ac_header in net/if.h +do : + ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" " +#include +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_SYS_SOCKET_H +# include +#endif + +" +if test "x$ac_cv_header_net_if_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NET_IF_H 1 +_ACEOF + +fi + +done + +for ac_header in sys/un.h arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h ws2tcpip.h netdb.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -25326,7 +25214,7 @@ if test "x${_efl_enable_win32_threads}" = "xyes" ; then mingw*) ;; *) - as_fn_error "Win32 threads support requested but non Windows system found." "$LINENO" 5 + as_fn_error $? "Win32 threads support requested but non Windows system found." "$LINENO" 5 ;; esac fi @@ -25334,7 +25222,7 @@ fi if test "x${_efl_enable_posix_threads}" = "xyes" ; then case "$host_os" in mingw*) - as_fn_error "POSIX threads support requested but Windows system found." "$LINENO" 5 + as_fn_error $? "POSIX threads support requested but Windows system found." "$LINENO" 5 ;; *) ;; @@ -25397,7 +25285,7 @@ $as_echo_n "checking whether system support POSIX threads... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_have_posix_threads}" >&5 $as_echo "${_efl_have_posix_threads}" >&6; } if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then - as_fn_error "POSIX threads support requested but not found." "$LINENO" 5 + as_fn_error $? "POSIX threads support requested but not found." "$LINENO" 5 fi EFL_PTHREAD_CFLAGS="" @@ -25497,9 +25385,8 @@ else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (int) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_int=0 fi @@ -25531,9 +25418,8 @@ else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_long=0 fi @@ -26149,8 +26035,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 @@ -26351,14 +26237,12 @@ esac ### Checks for library functions - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5 -$as_echo_n "checking for strerror in -lcposix... " >&6; } -if test "${ac_cv_lib_cposix_strerror+set}" = set; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +$as_echo_n "checking for library containing strerror... " >&6; } +if test "${ac_cv_search_strerror+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -26377,22 +26261,37 @@ return strerror (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cposix_strerror=yes -else - ac_cv_lib_cposix_strerror=no +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5 -$as_echo "$ac_cv_lib_cposix_strerror" >&6; } -if test "x$ac_cv_lib_cposix_strerror" = x""yes; then : - LIBS="$LIBS -lcposix" + conftest$ac_exeext + if test "${ac_cv_search_strerror+set}" = set; then : + break fi +done +if test "${ac_cv_search_strerror+set}" = set; then : +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +$as_echo "$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! @@ -26521,8 +26420,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -26588,8 +26486,7 @@ for ac_func in gettimeofday strlcpy execvp do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -26661,7 +26558,7 @@ $as_echo "#define HAVE_ATFILE_SOURCE 1" >>confdefs.h else if test "x${have_atfile_source}" = "xyes" ; then - as_fn_error "required atfile-source but no mkdirat()" "$LINENO" 5 + as_fn_error $? "required atfile-source but no mkdirat()" "$LINENO" 5 fi have_atfile_source="no" @@ -26670,6 +26567,94 @@ done fi +SHM_OPEN_LIBS="" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open is in libc" >&5 +$as_echo_n "checking whether shm_open is in libc... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include + +int +main () +{ + +int fd; +fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); +shm_unlink("/"); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + have_shm_open="yes" + +$as_echo "#define HAVE_SHM_OPEN 1" >>confdefs.h + + +else + have_shm_open="no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS="${LIBS_save}" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_shm_open}" >&5 +$as_echo "${have_shm_open}" >&6; } + +if ! test "x${have_shm_open}" = "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open is in librt" >&5 +$as_echo_n "checking whether shm_open is in librt... " >&6; } + LIBS_save="${LIBS}" + LIBS="${LIBS} -lrt" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include + +int +main () +{ + +int fd; +fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); +shm_unlink("/"); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + have_shm_open="yes" + +$as_echo "#define HAVE_SHM_OPEN 1" >>confdefs.h + + SHM_OPEN_LIBS="-lrt" + +else + have_shm_open="no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="${LIBS_save}" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_shm_open}" >&5 +$as_echo "${have_shm_open}" >&6; } +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open is available" >&5 +$as_echo_n "checking whether shm_open is available... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_shm_open}" >&5 +$as_echo "${have_shm_open}" >&6; } + ### Checks for optionnal feature ac_fn_c_check_func "$LINENO" "mallinfo" "ac_cv_func_mallinfo" if test "x$ac_cv_func_mallinfo" = x""yes; then : @@ -26823,11 +26808,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 $as_echo_n "checking for CURL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CURL_CFLAGS"; then - pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CURL_CFLAGS"; then + pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 ac_status=$? @@ -26837,15 +26821,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CURL_LIBS"; then - pkg_cv_CURL_LIBS="$CURL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CURL_LIBS"; then + pkg_cv_CURL_LIBS="$CURL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 ac_status=$? @@ -26855,14 +26837,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -26870,17 +26853,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl"` + CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl" 2>&1` else - CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl"` + CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CURL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _ecore_have_curl="no" + _ecore_have_curl="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _ecore_have_curl="no" else CURL_CFLAGS=$pkg_cv_CURL_CFLAGS @@ -26928,11 +26911,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS" >&5 $as_echo_n "checking for TLS... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$TLS_CFLAGS"; then - pkg_cv_TLS_CFLAGS="$TLS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TLS_CFLAGS"; then + pkg_cv_TLS_CFLAGS="$TLS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 ac_status=$? @@ -26942,15 +26924,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$TLS_LIBS"; then - pkg_cv_TLS_LIBS="$TLS_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TLS_LIBS"; then + pkg_cv_TLS_LIBS="$TLS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 ac_status=$? @@ -26960,14 +26940,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -26975,17 +26956,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 2.10.2"` + TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 2.10.2" 2>&1` else - TLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.10.2"` + TLS_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 2.10.2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$TLS_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _ecore_have_gnutls="no" + _ecore_have_gnutls="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _ecore_have_gnutls="no" else TLS_CFLAGS=$pkg_cv_TLS_CFLAGS @@ -27005,11 +26986,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS2" >&5 $as_echo_n "checking for TLS2... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$TLS2_CFLAGS"; then - pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TLS2_CFLAGS"; then + pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 ac_status=$? @@ -27019,15 +26999,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$TLS2_LIBS"; then - pkg_cv_TLS2_LIBS="$TLS2_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TLS2_LIBS"; then + pkg_cv_TLS2_LIBS="$TLS2_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 ac_status=$? @@ -27037,14 +27015,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27052,17 +27031,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 2.10.2"` + TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 2.10.2" 2>&1` else - TLS2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.10.2"` + TLS2_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 2.10.2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$TLS2_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - dummy="no" + dummy="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } dummy="no" else TLS2_CFLAGS=$pkg_cv_TLS2_CFLAGS @@ -27220,11 +27199,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL" >&5 $as_echo_n "checking for SSL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SSL_CFLAGS"; then - pkg_cv_SSL_CFLAGS="$SSL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SSL_CFLAGS"; then + pkg_cv_SSL_CFLAGS="$SSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 ac_status=$? @@ -27234,15 +27212,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SSL_LIBS"; then - pkg_cv_SSL_LIBS="$SSL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SSL_LIBS"; then + pkg_cv_SSL_LIBS="$SSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 ac_status=$? @@ -27252,14 +27228,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27267,17 +27244,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "openssl"` + SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "openssl" 2>&1` else - SSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"` + SSL_PKG_ERRORS=`$PKG_CONFIG --print-errors "openssl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SSL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _ecore_have_openssl="no" + _ecore_have_openssl="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _ecore_have_openssl="no" else SSL_CFLAGS=$pkg_cv_SSL_CFLAGS @@ -27334,46 +27311,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CARES" >&5 $as_echo_n "checking for CARES... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CARES_CFLAGS"; then - pkg_cv_CARES_CFLAGS="$CARES_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1 libcares != 1.7.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1 libcares != 1.7.5") 2>&5 +if test -n "$CARES_CFLAGS"; then + pkg_cv_CARES_CFLAGS="$CARES_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_CARES_CFLAGS=`$PKG_CONFIG --cflags "libcares >= 1.6.1 libcares != 1.7.5" 2>/dev/null` + pkg_cv_CARES_CFLAGS=`$PKG_CONFIG --cflags "libcares >= 1.6.1" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CARES_LIBS"; then - pkg_cv_CARES_LIBS="$CARES_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1 libcares != 1.7.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1 libcares != 1.7.5") 2>&5 +if test -n "$CARES_LIBS"; then + pkg_cv_CARES_LIBS="$CARES_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_CARES_LIBS=`$PKG_CONFIG --libs "libcares >= 1.6.1 libcares != 1.7.5" 2>/dev/null` + pkg_cv_CARES_LIBS=`$PKG_CONFIG --libs "libcares >= 1.6.1" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27381,17 +27356,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CARES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcares >= 1.6.1 libcares != 1.7.5"` + CARES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcares >= 1.6.1" 2>&1` else - CARES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcares >= 1.6.1 libcares != 1.7.5"` + CARES_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcares >= 1.6.1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CARES_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _ecore_have_cares="no" + _ecore_have_cares="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _ecore_have_cares="no" else CARES_CFLAGS=$pkg_cv_CARES_CFLAGS @@ -27481,8 +27456,8 @@ fi if test "x$have_ecore_ipc" = "xyes"; then : - requirements_ecore_ipc="ecore-con >= 1.1.99 ${requirements_ecore_ipc}" - requirements_ecore_evas="ecore-ipc >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_ipc="ecore-con >= 1.2.0 ${requirements_ecore_ipc}" + requirements_ecore_evas="ecore-ipc >= 1.2.0 ${requirements_ecore_evas}" fi @@ -27736,7 +27711,7 @@ fi if test "x${have_ecore_con}" = "xyes" ; then - requirements_ecore_file="ecore-con >= 1.1.99 ${requirements_ecore_file}" + requirements_ecore_file="ecore-con >= 1.2.0 ${requirements_ecore_file}" else _ecore_want_curl=${want_curl} @@ -27760,11 +27735,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 $as_echo_n "checking for CURL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CURL_CFLAGS"; then - pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CURL_CFLAGS"; then + pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 ac_status=$? @@ -27774,15 +27748,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CURL_LIBS"; then - pkg_cv_CURL_LIBS="$CURL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CURL_LIBS"; then + pkg_cv_CURL_LIBS="$CURL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 ac_status=$? @@ -27792,14 +27764,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27807,17 +27780,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl"` + CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl" 2>&1` else - CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl"` + CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CURL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _ecore_have_curl="no" + _ecore_have_curl="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _ecore_have_curl="no" else CURL_CFLAGS=$pkg_cv_CURL_CFLAGS @@ -27853,7 +27826,7 @@ fi #fi #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}], -# [requirements_ecore_config="ecore-ipc >= 1.1.99 evas >= 1.1.99 eet >= 1.5.0 ${requirements_ecore_config}"]) +# [requirements_ecore_config="ecore-ipc >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 ${requirements_ecore_config}"]) if false; then BUILD_ECORE_CONFIG_TRUE= @@ -27983,7 +27956,7 @@ fi if test "x$have_ecore_imf_evas" = "xyes"; then : - requirements_ecore_imf_evas="ecore-imf >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_imf_evas}" + requirements_ecore_imf_evas="ecore-imf >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_imf_evas}" fi @@ -28103,7 +28076,7 @@ fi if test "x$have_ecore_input_evas" = "xyes"; then : - requirements_ecore_input_evas="ecore-input >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_input}" + requirements_ecore_input_evas="ecore-input >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_input}" fi @@ -28183,7 +28156,7 @@ fi if test "x$have_ecore_imf_xim" = "xyes"; then : - requirements_ecore_imf_xim="ecore-imf >= 1.1.99 ecore-x >= 1.1.99 ecore-input >= 1.1.99 ${requirements_ecore_imf_xim}" + requirements_ecore_imf_xim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_xim}" fi @@ -28199,11 +28172,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCIM" >&5 $as_echo_n "checking for SCIM... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SCIM_CFLAGS"; then - pkg_cv_SCIM_CFLAGS="$SCIM_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SCIM_CFLAGS"; then + pkg_cv_SCIM_CFLAGS="$SCIM_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"scim\""; } >&5 ($PKG_CONFIG --exists --print-errors "scim") 2>&5 ac_status=$? @@ -28213,15 +28185,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SCIM_LIBS"; then - pkg_cv_SCIM_LIBS="$SCIM_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SCIM_LIBS"; then + pkg_cv_SCIM_LIBS="$SCIM_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"scim\""; } >&5 ($PKG_CONFIG --exists --print-errors "scim") 2>&5 ac_status=$? @@ -28231,14 +28201,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28246,17 +28217,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SCIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "scim"` + SCIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "scim" 2>&1` else - SCIM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "scim"` + SCIM_PKG_ERRORS=`$PKG_CONFIG --print-errors "scim" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SCIM_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_scim="no" + have_scim="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_scim="no" else SCIM_CFLAGS=$pkg_cv_SCIM_CFLAGS @@ -28335,7 +28306,7 @@ fi if test "x$have_ecore_imf_scim" = "xyes"; then : - requirements_ecore_imf_scim="ecore-imf >= 1.1.0 ecore-x >= 1.1.0 ecore-input >= 1.1.0 ${requirements_ecore_imf_scim}" + requirements_ecore_imf_scim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_scim}" fi @@ -28407,7 +28378,7 @@ fi if test "x$have_ecore_x" = "xyes"; then : ecore_x_libs="$ecore_x_libs $x_libs" - requirements_ecore_x="ecore-input >= 1.1.99 ${requirements_ecore_x}" + requirements_ecore_x="ecore-input >= 1.2.0 ${requirements_ecore_x}" fi @@ -28472,7 +28443,7 @@ fi if test "x$have_ecore_win32" = "xyes"; then : ecore_win32_libs="-lole32 -lgdi32" - requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}" + requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}" fi @@ -28541,7 +28512,7 @@ fi if test "x$have_ecore_cocoa" = "xyes"; then : - requirements_ecore_cocoa="ecore-input >= 1.1.99 ${requirements_ecore_cocoa}" + requirements_ecore_cocoa="ecore-input >= 1.2.0 ${requirements_ecore_cocoa}" fi @@ -28608,7 +28579,7 @@ fi if test "x$have_ecore_sdl" = "xyes"; then : - requirements_ecore_sdl="ecore-input >= 1.1.99 ${requirements_ecore_sdl}" + requirements_ecore_sdl="ecore-input >= 1.2.0 ${requirements_ecore_sdl}" fi @@ -28668,7 +28639,7 @@ fi if test "x$have_ecore_psl1ght" = "xyes"; then : - requirements_ecore_psl1ght="ecore-input >= 1.1.99 ${requirements_ecore_psl1ght}" + requirements_ecore_psl1ght="ecore-input >= 1.2.0 ${requirements_ecore_psl1ght}" fi @@ -28765,11 +28736,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 $as_echo_n "checking for TSLIB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$TSLIB_CFLAGS"; then - pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TSLIB_CFLAGS"; then + pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5 ac_status=$? @@ -28779,15 +28749,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$TSLIB_LIBS"; then - pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TSLIB_LIBS"; then + pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5 ac_status=$? @@ -28797,14 +28765,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28812,26 +28781,23 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib-1.0"` + TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib-1.0" 2>&1` else - TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib-1.0"` + TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib-1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$TSLIB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 $as_echo_n "checking for TSLIB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$TSLIB_CFLAGS"; then - pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TSLIB_CFLAGS"; then + pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 ac_status=$? @@ -28841,15 +28807,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$TSLIB_LIBS"; then - pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TSLIB_LIBS"; then + pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 ac_status=$? @@ -28859,14 +28823,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28874,15 +28839,13 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib"` + TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib" 2>&1` else - TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib"` + TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$TSLIB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" if test "x$ac_cv_header_tslib_h" = x""yes; then : @@ -28994,6 +28957,8 @@ fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" if test "x$ac_cv_header_tslib_h" = x""yes; then : @@ -29119,17 +29084,18 @@ $as_echo "#define HAVE_TSLIB 1" >>confdefs.h fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 $as_echo_n "checking for TSLIB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$TSLIB_CFLAGS"; then - pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TSLIB_CFLAGS"; then + pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 ac_status=$? @@ -29139,15 +29105,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$TSLIB_LIBS"; then - pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$TSLIB_LIBS"; then + pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 ac_status=$? @@ -29157,14 +29121,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -29172,15 +29137,13 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib"` + TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib" 2>&1` else - TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib"` + TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$TSLIB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" if test "x$ac_cv_header_tslib_h" = x""yes; then : @@ -29292,6 +29255,8 @@ fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" if test "x$ac_cv_header_tslib_h" = x""yes; then : @@ -29559,7 +29524,7 @@ fi if test "x$have_ecore_wince" = "xyes"; then : - requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}" + requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}" fi @@ -29574,7 +29539,7 @@ fi # ecore_evas ecore_evas_deps="no" -if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then +if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then ecore_evas_deps="yes" fi @@ -29628,7 +29593,7 @@ fi if test "x$have_ecore_evas" = "xyes"; then : - requirements_ecore_evas="ecore-input >= 1.1.99 ecore-input-evas >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-input >= 1.2.0 ecore-input-evas >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_evas}" fi @@ -29662,9 +29627,9 @@ $as_echo_n "checking whether ecore_evas Software Buffer support is to be built.. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "xyes" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "xyes" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5 @@ -29719,9 +29684,9 @@ $as_echo_n "checking whether ecore_evas Software X11 support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_x}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_x}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5 @@ -29797,9 +29762,9 @@ $as_echo_n "checking whether ecore_evas OpenGL Xlib support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_x}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_x}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5 @@ -29849,11 +29814,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_X11" >&5 $as_echo_n "checking for XCB_X11... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_X11_CFLAGS"; then - pkg_cv_XCB_X11_CFLAGS="$XCB_X11_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_X11_CFLAGS"; then + pkg_cv_XCB_X11_CFLAGS="$XCB_X11_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 ac_status=$? @@ -29863,15 +29827,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_X11_LIBS"; then - pkg_cv_XCB_X11_LIBS="$XCB_X11_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_X11_LIBS"; then + pkg_cv_XCB_X11_LIBS="$XCB_X11_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 ac_status=$? @@ -29881,14 +29843,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -29896,17 +29859,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb"` + XCB_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb" 2>&1` else - XCB_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb"` + XCB_X11_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_X11_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_x_opengl_xcb="no" + have_ecore_x_opengl_xcb="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_x_opengl_xcb="no" else XCB_X11_CFLAGS=$pkg_cv_XCB_X11_CFLAGS @@ -29954,9 +29917,9 @@ $as_echo_n "checking whether ecore_evas Software Xlib 16 bits support is to be b { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_x_xlib}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_x_xlib}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5 @@ -30007,9 +29970,9 @@ $as_echo_n "checking whether ecore_evas Software 8bit X11 support is to be built { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x$have_ecore_x_xcb" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x$have_ecore_x_xcb" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-8-x11\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-8-x11") 2>&5 @@ -30047,7 +30010,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \ $as_echo "#define BUILD_ECORE_EVAS_X11 1" >>confdefs.h - requirements_ecore_evas="ecore-x >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-x >= 1.2.0 ${requirements_ecore_evas}" fi # ecore_evas_win32 @@ -30074,9 +30037,9 @@ $as_echo_n "checking whether ecore_evas Software GDI support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_win32}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_win32}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-gdi\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-gdi") 2>&5 @@ -30127,9 +30090,9 @@ $as_echo_n "checking whether ecore_evas Software DirectDraw support is to be bui { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_win32}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_win32}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-ddraw") 2>&5 @@ -30180,9 +30143,9 @@ $as_echo_n "checking whether ecore_evas Direct3d support is to be built... " >&6 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_win32}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_win32}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-direct3d\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-direct3d") 2>&5 @@ -30233,9 +30196,9 @@ $as_echo_n "checking whether ecore_evas Glew OpenGL support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_win32}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_win32}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-opengl-glew") 2>&5 @@ -30286,9 +30249,9 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software DirectDraw support is to { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_win32}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_win32}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw") 2>&5 @@ -30325,64 +30288,21 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \ $as_echo "#define BUILD_ECORE_EVAS_WIN32 1" >>confdefs.h - requirements_ecore_evas="ecore-win32 >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-win32 >= 1.2.0 ${requirements_ecore_evas}" fi # ecore_evas_software_sdl - - have_ecore_evas_software_sdl="no" -want_module="${want_ecore_evas_software_sdl}" - -# Check whether --enable-ecore-evas-software-sdl was given. -if test "${enable_ecore_evas_software_sdl+set}" = set; then : - enableval=$enable_ecore_evas_software_sdl; - if test "x${enableval}" = "xyes" ; then - want_module="yes" - else - want_module="no" - fi - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ecore_evas Software SDL support is to be built" >&5 -$as_echo_n "checking whether ecore_evas Software SDL support is to be built... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 -$as_echo "${want_module}" >&6; } - -if test "x${have_ecore_sdl}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\""; } >&5 - ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - +if test "x${have_ecore_sdl}" = "xyes"; then + requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" + have_ecore_evas_software_sdl="yes" $as_echo "#define BUILD_ECORE_EVAS_SOFTWARE_SDL 1" >>confdefs.h - have_ecore_evas_software_sdl="yes" - -fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ecore_evas Software SDL support is built" >&5 -$as_echo_n "checking whether ecore_evas Software SDL support is built... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ecore_evas_software_sdl" >&5 -$as_echo "$have_ecore_evas_software_sdl" >&6; } - -if test "x$have_ecore_evas_software_sdl" = "xyes"; then : - requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" fi - - - - # ecore_evas_gl_sdl @@ -30407,9 +30327,9 @@ $as_echo_n "checking whether ecore_evas OpenGL SDL support is to be built... " > { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_sdl}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_sdl}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-sdl\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-opengl-sdl") 2>&5 @@ -30431,7 +30351,7 @@ $as_echo_n "checking whether ecore_evas OpenGL SDL support is built... " >&6; } $as_echo "$have_ecore_evas_opengl_sdl" >&6; } if test "x$have_ecore_evas_opengl_sdl" = "xyes"; then : - requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" fi @@ -30462,9 +30382,9 @@ $as_echo_n "checking whether ecore_evas OpenGL Cocoa support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_cocoa}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_cocoa}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-cocoa\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-opengl-cocoa") 2>&5 @@ -30486,7 +30406,7 @@ $as_echo_n "checking whether ecore_evas OpenGL Cocoa support is built... " >&6; $as_echo "$have_ecore_evas_opengl_cocoa" >&6; } if test "x$have_ecore_evas_opengl_cocoa" = "xyes"; then : - requirements_ecore_evas="ecore-cocoa >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-cocoa >= 1.2.0 ${requirements_ecore_evas}" fi @@ -30517,9 +30437,9 @@ $as_echo_n "checking whether ecore_evas DirectFB support is to be built... " >&6 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_directfb}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_directfb}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-directfb\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5 @@ -30541,7 +30461,7 @@ $as_echo_n "checking whether ecore_evas DirectFB support is built... " >&6; } $as_echo "$have_ecore_evas_directfb" >&6; } if test "x$have_ecore_evas_directfb" = "xyes"; then : - requirements_ecore_evas="ecore-directfb >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-directfb >= 1.2.0 ${requirements_ecore_evas}" fi @@ -30572,9 +30492,9 @@ $as_echo_n "checking whether ecore_evas Linux Framebuffer support is to be built { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_fb}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_fb}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-fb\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5 @@ -30596,7 +30516,7 @@ $as_echo_n "checking whether ecore_evas Linux Framebuffer support is built... " $as_echo "$have_ecore_evas_fb" >&6; } if test "x$have_ecore_evas_fb" = "xyes"; then : - requirements_ecore_evas="ecore-fb >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-fb >= 1.2.0 ${requirements_ecore_evas}" fi @@ -30627,9 +30547,9 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software Windows CE support is to { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_wince}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_wince}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-wince\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-16-wince") 2>&5 @@ -30651,7 +30571,7 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software Windows CE support is bu $as_echo "$have_ecore_evas_software_16_wince" >&6; } if test "x$have_ecore_evas_software_16_wince" = "xyes"; then : - requirements_ecore_evas="ecore-wince >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-wince >= 1.2.0 ${requirements_ecore_evas}" fi @@ -30682,9 +30602,9 @@ $as_echo_n "checking whether ecore_evas Ecore Evas Single Process Windowing Syst { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "xyes" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "xyes" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5 @@ -30713,6 +30633,25 @@ fi +# ecore_evas_extn + +have_extn="yes" +if test "x${have_ecore_ipc}" = "xno" || \ + test "x${have_ecore_evas_software_buffer}" = "xno" || \ + test "x${have_shm_open}" = "xno" ; then + have_extn="no" +fi + +have_ecore_evas_extn="no" +if test "x${want_ecore_evas_extn}" = "xyes" && \ + test "x${have_extn}" = "xyes" && \ + test "x${have_ecore_evas}" = "xyes"; then + +$as_echo "#define BUILD_ECORE_EVAS_EXTN 1" >>confdefs.h + + have_ecore_evas_extn="yes" +fi + # ecore_evas_psl1ght @@ -30737,9 +30676,9 @@ $as_echo_n "checking whether ecore_evas PSL1GHT support is to be built... " >&6; { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_psl1ght}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_psl1ght}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-psl1ght\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-psl1ght") 2>&5 @@ -30761,7 +30700,7 @@ $as_echo_n "checking whether ecore_evas PSL1GHT support is built... " >&6; } $as_echo "$have_ecore_evas_psl1ght" >&6; } if test "x$have_ecore_evas_psl1ght" = "xyes"; then : - requirements_ecore_evas="ecore-psl1ght >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-psl1ght >= 1.2.0 ${requirements_ecore_evas}" fi @@ -30778,46 +30717,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND" >&5 $as_echo_n "checking for WAYLAND... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$WAYLAND_CFLAGS"; then - pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client xkbcommon\""; } >&5 - ($PKG_CONFIG --exists --print-errors "wayland-client xkbcommon") 2>&5 +if test -n "$WAYLAND_CFLAGS"; then + pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl wayland-egl wayland-client xkbcommon\""; } >&5 + ($PKG_CONFIG --exists --print-errors "egl wayland-egl wayland-client xkbcommon") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client xkbcommon" 2>/dev/null` + pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "egl wayland-egl wayland-client xkbcommon" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$WAYLAND_LIBS"; then - pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client xkbcommon\""; } >&5 - ($PKG_CONFIG --exists --print-errors "wayland-client xkbcommon") 2>&5 +if test -n "$WAYLAND_LIBS"; then + pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl wayland-egl wayland-client xkbcommon\""; } >&5 + ($PKG_CONFIG --exists --print-errors "egl wayland-egl wayland-client xkbcommon") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client xkbcommon" 2>/dev/null` + pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "egl wayland-egl wayland-client xkbcommon" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -30825,17 +30762,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-client xkbcommon"` + WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "egl wayland-egl wayland-client xkbcommon" 2>&1` else - WAYLAND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-client xkbcommon"` + WAYLAND_PKG_ERRORS=`$PKG_CONFIG --print-errors "egl wayland-egl wayland-client xkbcommon" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$WAYLAND_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_wayland="no" + have_wayland="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_wayland="no" else WAYLAND_CFLAGS=$pkg_cv_WAYLAND_CFLAGS @@ -30909,7 +30846,7 @@ fi if test "x${have_ecore_wayland}" = "xyes" ; then - requirements_ecore_wayland="ecore-input >= 1.1.0 wayland-client xkbcommon ${requirements_ecore_wayland}" + requirements_ecore_wayland="ecore-input >= 1.2.0 egl wayland-egl wayland-client xkbcommon ${requirements_ecore_wayland}" fi @@ -30934,9 +30871,9 @@ $as_echo_n "checking whether ecore_evas Wayland Shm support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_wayland}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_wayland}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-shm\""; } >&5 ($PKG_CONFIG --exists --print-errors "evas-wayland-shm") 2>&5 @@ -30987,12 +30924,12 @@ $as_echo_n "checking whether ecore_evas Wayland Egl support is to be built... " { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 $as_echo "${want_module}" >&6; } -if test "x${have_ecore_wayland}" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x${have_ecore_wayland}" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-egl\""; } >&5 - ($PKG_CONFIG --exists --print-errors "evas-wayland-egl") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-egl egl\""; } >&5 + ($PKG_CONFIG --exists --print-errors "evas-wayland-egl egl") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then @@ -31017,11 +30954,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_EGL" >&5 $as_echo_n "checking for WAYLAND_EGL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$WAYLAND_EGL_CFLAGS"; then - pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$WAYLAND_EGL_CFLAGS"; then + pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5 ($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5 ac_status=$? @@ -31031,15 +30967,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$WAYLAND_EGL_LIBS"; then - pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$WAYLAND_EGL_LIBS"; then + pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5 ($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5 ac_status=$? @@ -31049,14 +30983,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -31064,17 +30999,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-egl"` + WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "wayland-egl" 2>&1` else - WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-egl"` + WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --print-errors "wayland-egl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$WAYLAND_EGL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_wayland_egl="no" + have_wayland_egl="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_wayland_egl="no" else WAYLAND_EGL_CFLAGS=$pkg_cv_WAYLAND_EGL_CFLAGS @@ -31093,6 +31028,120 @@ fi +### Unit tests + + + + +# Check whether --enable-tests was given. +if test "${enable_tests+set}" = set; then : + enableval=$enable_tests; + if test "x${enableval}" = "xyes" ; then + _efl_enable_tests="yes" + else + _efl_enable_tests="no" + fi + +else + _efl_enable_tests="no" +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests are built" >&5 +$as_echo_n "checking whether tests are built... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_tests}" >&5 +$as_echo "${_efl_enable_tests}" >&6; } + + + +if test "x${_efl_enable_tests}" = "xyes" ; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 +$as_echo_n "checking for CHECK... " >&6; } + +if test -n "$CHECK_CFLAGS"; then + pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 + ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$CHECK_LIBS"; then + pkg_cv_CHECK_LIBS="$CHECK_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 + ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` + else + CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$CHECK_PKG_ERRORS" >&5 + + _efl_enable_tests="no" +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _efl_enable_tests="no" +else + CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS + CHECK_LIBS=$pkg_cv_CHECK_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + dummy="yes" +fi +fi + + if test "x${_efl_enable_tests}" = "xyes"; then + EFL_ENABLE_TESTS_TRUE= + EFL_ENABLE_TESTS_FALSE='#' +else + EFL_ENABLE_TESTS_TRUE='#' + EFL_ENABLE_TESTS_FALSE= +fi + + +if test "x$_efl_enable_tests" = "xyes"; then : + enable_tests="yes" +else + enable_tests="no" +fi + + ### install and build examples @@ -31280,6 +31329,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -31303,168 +31353,172 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_PO_TRUE}" && test -z "${HAVE_PO_FALSE}"; then - as_fn_error "conditional \"HAVE_PO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. + as_fn_error $? "conditional \"HAVE_PO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then - as_fn_error "conditional \"am__fastdepOBJC\" was never defined. + as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then - as_fn_error "conditional \"am__fastdepOBJC\" was never defined. + as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then - as_fn_error "conditional \"am__fastdepOBJC\" was never defined. + as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ECORE_HAVE_EXOTIC_TRUE}" && test -z "${ECORE_HAVE_EXOTIC_FALSE}"; then + as_fn_error $? "conditional \"ECORE_HAVE_EXOTIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ECORE_HAVE_WINCE_TRUE}" && test -z "${ECORE_HAVE_WINCE_FALSE}"; then - as_fn_error "conditional \"ECORE_HAVE_WINCE\" was never defined. + as_fn_error $? "conditional \"ECORE_HAVE_WINCE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ECORE_HAVE_WIN32_TRUE}" && test -z "${ECORE_HAVE_WIN32_FALSE}"; then - as_fn_error "conditional \"ECORE_HAVE_WIN32\" was never defined. + as_fn_error $? "conditional \"ECORE_HAVE_WIN32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ECORE_HAVE_PS3_TRUE}" && test -z "${ECORE_HAVE_PS3_FALSE}"; then - as_fn_error "conditional \"ECORE_HAVE_PS3\" was never defined. + as_fn_error $? "conditional \"ECORE_HAVE_PS3\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_X_XLIB_TRUE}" && test -z "${BUILD_ECORE_X_XLIB_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_X_XLIB\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_X_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_X_XCB_TRUE}" && test -z "${BUILD_ECORE_X_XCB_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_X_XCB\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_X_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_CON_TRUE}" && test -z "${BUILD_ECORE_CON_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_CON\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_CON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_CARES_TRUE}" && test -z "${HAVE_CARES_FALSE}"; then - as_fn_error "conditional \"HAVE_CARES\" was never defined. + as_fn_error $? "conditional \"HAVE_CARES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IPC_TRUE}" && test -z "${BUILD_ECORE_IPC_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IPC\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IPC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_FILE_TRUE}" && test -z "${BUILD_ECORE_FILE_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_FILE\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_FILE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_CONFIG_TRUE}" && test -z "${BUILD_ECORE_CONFIG_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_CONFIG\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_CONFIG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IMF_TRUE}" && test -z "${BUILD_ECORE_IMF_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IMF\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IMF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IMF_EVAS_TRUE}" && test -z "${BUILD_ECORE_IMF_EVAS_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IMF_EVAS\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IMF_EVAS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_INPUT_TRUE}" && test -z "${BUILD_ECORE_INPUT_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_INPUT\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_INPUT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_INPUT_EVAS_TRUE}" && test -z "${BUILD_ECORE_INPUT_EVAS_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_INPUT_EVAS\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_INPUT_EVAS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IMF_XIM_TRUE}" && test -z "${BUILD_ECORE_IMF_XIM_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IMF_XIM_TRUE}" && test -z "${BUILD_ECORE_IMF_XIM_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_X_TRUE}" && test -z "${BUILD_ECORE_X_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_X\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_X\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_WIN32_TRUE}" && test -z "${BUILD_ECORE_WIN32_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_WIN32\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_WIN32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_COCOA_TRUE}" && test -z "${BUILD_ECORE_COCOA_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_COCOA\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_COCOA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_SDL_TRUE}" && test -z "${BUILD_ECORE_SDL_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_SDL\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_SDL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_PSL1GHT_TRUE}" && test -z "${BUILD_ECORE_PSL1GHT_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_PSL1GHT\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_PSL1GHT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_FB_TRUE}" && test -z "${BUILD_ECORE_FB_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_FB\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_FB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_DIRECTFB_TRUE}" && test -z "${BUILD_ECORE_DIRECTFB_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_DIRECTFB\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_DIRECTFB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_WINCE_TRUE}" && test -z "${BUILD_ECORE_WINCE_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_WINCE\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_WINCE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_EVAS_TRUE}" && test -z "${BUILD_ECORE_EVAS_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_EVAS\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_EVAS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ECORE_WAYLAND_TRUE}" && test -z "${BUILD_ECORE_WAYLAND_FALSE}"; then - as_fn_error "conditional \"BUILD_ECORE_WAYLAND\" was never defined. + as_fn_error $? "conditional \"BUILD_ECORE_WAYLAND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_EXAMPLES_TRUE}" && test -z "${EFL_BUILD_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_INSTALL_EXAMPLES_TRUE}" && test -z "${EFL_INSTALL_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -31614,19 +31668,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -31822,7 +31876,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -31875,8 +31929,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ecore $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by ecore $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -31941,11 +31995,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ecore config.status 1.1.99.67344 -configured by $0, generated by GNU Autoconf 2.65, +ecore config.status 1.2.0-alpha +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -31963,11 +32017,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -31989,6 +32048,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -32001,7 +32061,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -32010,7 +32070,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -32484,7 +32544,7 @@ do "ecore.spec") CONFIG_FILES="$CONFIG_FILES ecore.spec" ;; "$po_makefile_in") CONFIG_FILES="$CONFIG_FILES $po_makefile_in" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -32522,7 +32582,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -32539,7 +32599,7 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi @@ -32553,18 +32613,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -32653,20 +32713,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -32694,7 +32762,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -32779,7 +32847,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -32792,7 +32860,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -32820,7 +32888,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -32847,7 +32915,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -32984,22 +33052,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -33010,19 +33078,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -34093,7 +34161,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -34114,7 +34182,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 @@ -34266,6 +34334,7 @@ if test "x${have_ecore_evas}" = "xyes" ; then echo " Sing.Proc. Windowing System: $have_ecore_evas_ews" echo " Wayland Shm................: $have_ecore_evas_wayland_shm" echo " Wayland Egl................: $have_ecore_evas_wayland_egl" + echo " Extn (Plug/socket Extn)....: $have_ecore_evas_extn" fi echo echo " Tests................: ${enable_tests}" diff --git a/libraries/ecore/configure.ac b/libraries/ecore/configure.ac index 21393dd..3d93c9b 100644 --- a/libraries/ecore/configure.ac +++ b/libraries/ecore/configure.ac @@ -1,12 +1,12 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) -m4_define([v_min], [1]) -m4_define([v_mic], [99]) +m4_define([v_min], [2]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n' | sed 's/Unversioneddirectory/0/' | tr -d '\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line dnl m4_define([relname], [ver-pre-svn-07]) dnl m4_define([v_rel], [-release relname]) @@ -18,7 +18,7 @@ m4_define([lt_age], v_min) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -AC_INIT([ecore], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([ecore], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -174,6 +174,7 @@ want_ecore_evas_directfb="no" want_ecore_evas_fb="no" want_ecore_evas_software_16_wince="no" want_ecore_evas_ews="yes" +want_ecore_evas_extn="yes" want_ecore_evas_wayland_shm="no" want_ecore_evas_wayland_egl="no" @@ -182,11 +183,12 @@ want_ecore_imf_xim="no" want_ecore_imf_scim="no" case "$host_os" in - mingw32ce* | cegcc*) + mingw32ce*) want_ecore_con="no" want_ecore_ipc="no" want_ecore_wince="yes" want_ecore_evas_software_16_wince="yes" + want_ecore_evas_extn="no" ;; mingw*) want_notify_win32="yes" @@ -273,30 +275,6 @@ requirements_ecore_imf_xim="" requirements_ecore_imf_scim="" requirements_ecore_wayland="" -AC_CHECK_DECL([MAXHOSTNAMELEN],[FOUND_MAXHOSTNAMELEN=yes]) - -if test x$FOUND_MAXHOSTNAMELEN != xyes ; then - AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN]) - - FOUND_MAXHOSTNAMELEN='not found' - - AC_COMPILE_IFELSE( - AC_LANG_PROGRAM([#include ], - [int h = MAXHOSTNAMELEN;]), - [FOUND_MAXHOSTNAMELEN='sys/param.h' - AC_DEFINE(NEED_SYS_PARAM_H,1, - [Define to 1 if you need to define MAXHOSTNAMELEN])]) - - AC_COMPILE_IFELSE( - AC_LANG_PROGRAM([#include ], - [int h = MAXHOSTNAMELEN;]), - [FOUND_MAXHOSTNAMELEN='netdb.h' - AC_DEFINE(NEED_NETDB_H,1, - [Define to 1 if you need to define MAXHOSTNAMELEN])]) - - AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN]) -fi - ### Additional options to configure want_glib_integration_always=no @@ -377,10 +355,6 @@ if test "x${want_xim}" = "xyes" ; then AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method]) fi -# Unit tests - -EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"]) - ### Checks for programs m4_ifdef([AC_PROG_OBJC], @@ -499,6 +473,21 @@ case "$host_vendor" in ;; esac + +### Checks for portability layer + +PKG_CHECK_MODULES([EXOTIC], + [exotic], + [enable_exotic="yes"], + [enable_exotic="no"]) + +if test "x${enable_exotic}" = "xyes"; then + requirements_ecore="exotic ${requirements_ecore}" + + AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.]) +fi +AM_CONDITIONAL([ECORE_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"]) + AC_SUBST(EFL_ECORE_BUILD) AC_SUBST(EFL_ECORE_CON_BUILD) AC_SUBST(EFL_ECORE_EVAS_BUILD) @@ -549,26 +538,26 @@ AC_SUBST(rt_libs) # Eina library -PKG_CHECK_MODULES(EINA, [eina >= 1.1.0]) +PKG_CHECK_MODULES(EINA, [eina >= 1.2.0]) #FIXME check all the requirements when the eina move will be finished -requirements_ecore="eina >= 1.1.0 ${requirements_ecore}" -requirements_ecore_con="ecore >= 1.1.0 eina >= 1.1.0 ${requirements_ecore_con}" -#requirements_ecore_config="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_config}" -requirements_ecore_directfb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_directfb}" -requirements_ecore_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_evas}" -requirements_ecore_fb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_fb}" -requirements_ecore_file="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_file}" -requirements_ecore_imf="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf}" -requirements_ecore_imf_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf_evas}" -requirements_ecore_input="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input}" -requirements_ecore_input_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input_evas}" -requirements_ecore_ipc="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_ipc}" -requirements_ecore_cocoa="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_cocoa}" -requirements_ecore_sdl="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" -requirements_ecore_psl1ght="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" -requirements_ecore_win32="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_win32}" -requirements_ecore_wince="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_wince}" -requirements_ecore_x="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_x}" +requirements_ecore="eina >= 1.2.0 ${requirements_ecore}" +requirements_ecore_con="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_con}" +#requirements_ecore_config="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_config}" +requirements_ecore_directfb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_directfb}" +requirements_ecore_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_evas}" +requirements_ecore_fb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_fb}" +requirements_ecore_file="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_file}" +requirements_ecore_imf="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf}" +requirements_ecore_imf_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf_evas}" +requirements_ecore_input="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input}" +requirements_ecore_input_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input_evas}" +requirements_ecore_ipc="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_ipc}" +requirements_ecore_cocoa="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_cocoa}" +requirements_ecore_sdl="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" +requirements_ecore_psl1ght="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" +requirements_ecore_win32="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_win32}" +requirements_ecore_wince="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_wince}" +requirements_ecore_x="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_x}" # glib support (main loop integration) @@ -637,6 +626,45 @@ PKG_CHECK_MODULES([DIRECTFB], # Xlib and XCB (ecore_x) +AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes]) + +if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then + AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN]) + FOUND_MAXHOSTNAMELEN="not found" + + AC_COMPILE_IFELSE( + [ + AC_LANG_PROGRAM( + [[ +#include + ]], + [[ +int h = MAXHOSTNAMELEN; + ]]) + ], + [ + FOUND_MAXHOSTNAMELEN="sys/param.h" + AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need to define MAXHOSTNAMELEN]) + ]) + + AC_COMPILE_IFELSE( + [ + AC_LANG_PROGRAM( + [[ +#include + ]], + [[ +int h = MAXHOSTNAMELEN; + ]]) + ], + [ + FOUND_MAXHOSTNAMELEN="netdb.h" + AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need to define MAXHOSTNAMELEN]) + ]) + + AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN]) +fi + have_x="no" have_ecore_x="no" have_ecore_x_xlib="no" @@ -1171,7 +1199,7 @@ AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes) # Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas) -PKG_CHECK_MODULES([EVAS], [evas >= 1.1.99], +PKG_CHECK_MODULES([EVAS], [evas >= 1.2.0], [have_evas="yes"], [have_evas="no"]) @@ -1200,7 +1228,23 @@ esac # ecore_con -AC_CHECK_HEADERS([arpa/inet.h arpa/nameser.h netinet/tcp.h net/if.h netinet/in.h sys/socket.h sys/un.h ws2tcpip.h netdb.h]) +AC_CHECK_HEADERS([sys/socket.h]) +AC_CHECK_HEADERS([net/if.h], [], [], +[ +#include +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_SYS_SOCKET_H +# include +#endif +]) +AC_CHECK_HEADERS([sys/un.h arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h ws2tcpip.h netdb.h]) if test "x${ac_cv_header_netdb_h}" = "xyes" ; then have_addrinfo="yes" @@ -1390,6 +1434,60 @@ if ! test "x${have_atfile_source}" = "xno" ; then ]) fi +SHM_OPEN_LIBS="" + +AC_MSG_CHECKING([whether shm_open is in libc]) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include +#include + ]], + [[ +int fd; +fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); +shm_unlink("/"); + ]])], + [ + have_shm_open="yes" + AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call]) + ], + [have_shm_open="no"]) +LIBS="${LIBS_save}" +AC_MSG_RESULT([${have_shm_open}]) + +if ! test "x${have_shm_open}" = "xyes" ; then + AC_MSG_CHECKING([whether shm_open is in librt]) + LIBS_save="${LIBS}" + LIBS="${LIBS} -lrt" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include +#include + ]], + [[ +int fd; +fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); +shm_unlink("/"); + ]])], + [ + have_shm_open="yes" + AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call]) + SHM_OPEN_LIBS="-lrt" + ], + [have_shm_open="no"]) + LIBS="${LIBS_save}" + AC_MSG_RESULT([${have_shm_open}]) +fi + +AC_SUBST([SHM_OPEN_LIBS]) + +AC_MSG_CHECKING([whether shm_open is available]) +AC_MSG_RESULT([${have_shm_open}]) + ### Checks for optionnal feature AC_CHECK_FUNC([mallinfo], [ @@ -1485,8 +1583,8 @@ AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"]) # ecore_ipc ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}], [ - requirements_ecore_ipc="ecore-con >= 1.1.99 ${requirements_ecore_ipc}" - requirements_ecore_evas="ecore-ipc >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_ipc="ecore-con >= 1.2.0 ${requirements_ecore_ipc}" + requirements_ecore_evas="ecore-ipc >= 1.2.0 ${requirements_ecore_evas}" ]) # ecore_file @@ -1501,7 +1599,7 @@ if test "x${have_ecore_file}" = "xyes" ; then ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"]) if test "x${have_ecore_con}" = "xyes" ; then - requirements_ecore_file="ecore-con >= 1.1.99 ${requirements_ecore_file}" + requirements_ecore_file="ecore-con >= 1.2.0 ${requirements_ecore_file}" else ECORE_CHECK_CURL([${want_curl}], [ @@ -1520,7 +1618,7 @@ fi #fi #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}], -# [requirements_ecore_config="ecore-ipc >= 1.1.99 evas >= 1.1.99 eet >= 1.5.0 ${requirements_ecore_config}"]) +# [requirements_ecore_config="ecore-ipc >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 ${requirements_ecore_config}"]) AM_CONDITIONAL(BUILD_ECORE_CONFIG, false) @@ -1536,12 +1634,12 @@ if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then fi ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}], - [requirements_ecore_imf_evas="ecore-imf >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_imf_evas}"]) + [requirements_ecore_imf_evas="ecore-imf >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_imf_evas}"]) # ecore_input{_evas} ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input]) ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}], - [requirements_ecore_input_evas="ecore-input >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_input}"]) + [requirements_ecore_input_evas="ecore-input >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_input}"]) # ecore_imf_xim AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false) @@ -1555,7 +1653,7 @@ if test "x${have_ecore_imf}" = "xyes" \ fi ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}], - [requirements_ecore_imf_xim="ecore-imf >= 1.1.99 ecore-x >= 1.1.99 ecore-input >= 1.1.99 ${requirements_ecore_imf_xim}"]) + [requirements_ecore_imf_xim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_xim}"]) # ecore_imf_scim PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"]) @@ -1571,7 +1669,7 @@ if test "x${have_ecore_imf}" = "xyes" \ fi ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}], - [requirements_ecore_imf_scim="ecore-imf >= 1.1.0 ecore-x >= 1.1.0 ecore-input >= 1.1.0 ${requirements_ecore_imf_scim}"]) + [requirements_ecore_imf_scim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_scim}"]) ## Graphic systems @@ -1586,7 +1684,7 @@ fi ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}], [ ecore_x_libs="$ecore_x_libs $x_libs" - requirements_ecore_x="ecore-input >= 1.1.99 ${requirements_ecore_x}" + requirements_ecore_x="ecore-input >= 1.2.0 ${requirements_ecore_x}" ]) # ecore_win32 @@ -1594,7 +1692,7 @@ ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}], ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}], [ ecore_win32_libs="-lole32 -lgdi32" - requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}" + requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}" ]) AC_SUBST(ecore_win32_libs) @@ -1606,7 +1704,7 @@ if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then fi ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}], - [requirements_ecore_cocoa="ecore-input >= 1.1.99 ${requirements_ecore_cocoa}"]) + [requirements_ecore_cocoa="ecore-input >= 1.2.0 ${requirements_ecore_cocoa}"]) # ecore_sdl @@ -1616,10 +1714,10 @@ if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then fi ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}], - [requirements_ecore_sdl="ecore-input >= 1.1.99 ${requirements_ecore_sdl}"]) + [requirements_ecore_sdl="ecore-input >= 1.2.0 ${requirements_ecore_sdl}"]) ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}], - [requirements_ecore_psl1ght="ecore-input >= 1.1.99 ${requirements_ecore_psl1ght}"]) + [requirements_ecore_psl1ght="ecore-input >= 1.2.0 ${requirements_ecore_psl1ght}"]) # ecore_fb ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb]) @@ -1641,19 +1739,19 @@ ECORE_CHECK_MODULE([directfb], [${want_ecore_directfb}], [DirectFB], [${have_dir # ecore_wince ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}], - [requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}"]) + [requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}"]) ## Ecore Evas # ecore_evas ecore_evas_deps="no" -if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then +if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then ecore_evas_deps="yes" fi ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}], - [requirements_ecore_evas="ecore-input >= 1.1.99 ecore-input-evas >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-input >= 1.2.0 ecore-input-evas >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_evas}"]) # ecore_evas_buffer @@ -1743,7 +1841,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \ "x$have_ecore_evas_software_16_x11" = "xyes" -o \ "x$have_ecore_evas_software_xcb" = "xyes"; then AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas]) - requirements_ecore_evas="ecore-x >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-x >= 1.2.0 ${requirements_ecore_evas}" fi # ecore_evas_win32 @@ -1779,16 +1877,18 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \ "x${have_ecore_evas_opengl_glew}" = "xyes" -o \ "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas]) - requirements_ecore_evas="ecore-win32 >= 1.1.99 ${requirements_ecore_evas}" + requirements_ecore_evas="ecore-win32 >= 1.2.0 ${requirements_ecore_evas}" fi # ecore_evas_software_sdl -ECORE_EVAS_CHECK_MODULE([software-sdl], - [${want_ecore_evas_software_sdl}], - [Software SDL], - [${have_ecore_sdl}], - [requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"]) +have_ecore_evas_software_sdl="no" +if test "x${have_ecore_sdl}" = "xyes"; then + requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" + have_ecore_evas_software_sdl="yes" + AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_SDL, 1, [Support for Software SDL Engine in Ecore_Evas]) + requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" +fi # ecore_evas_gl_sdl @@ -1796,7 +1896,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-sdl], [${want_ecore_evas_gl_sdl}], [OpenGL SDL], [${have_ecore_sdl}], - [requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}"]) # ecore_evas_cocoa @@ -1804,7 +1904,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}], [OpenGL Cocoa], [${have_ecore_cocoa}], - [requirements_ecore_evas="ecore-cocoa >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-cocoa >= 1.2.0 ${requirements_ecore_evas}"]) # ecore_evas_directfb @@ -1812,7 +1912,7 @@ ECORE_EVAS_CHECK_MODULE([directfb], [${want_ecore_evas_directfb}], [DirectFB], [${have_ecore_directfb}], - [requirements_ecore_evas="ecore-directfb >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-directfb >= 1.2.0 ${requirements_ecore_evas}"]) # ecore_evas_fb @@ -1820,7 +1920,7 @@ ECORE_EVAS_CHECK_MODULE([fb], [${want_ecore_evas_fb}], [Linux Framebuffer], [${have_ecore_fb}], - [requirements_ecore_evas="ecore-fb >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-fb >= 1.2.0 ${requirements_ecore_evas}"]) # ecore_evas_wince @@ -1828,7 +1928,7 @@ ECORE_EVAS_CHECK_MODULE([software-16-wince], [${want_ecore_evas_software_16_wince}], [16 bpp Software Windows CE], [${have_ecore_wince}], - [requirements_ecore_evas="ecore-wince >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-wince >= 1.2.0 ${requirements_ecore_evas}"]) # ecore_evas_ews @@ -1837,20 +1937,38 @@ ECORE_EVAS_CHECK_MODULE_FULL([ews], [software-buffer], [Ecore Evas Single Process Windowing System], [yes], []) +# ecore_evas_extn + +have_extn="yes" +if test "x${have_ecore_ipc}" = "xno" || \ + test "x${have_ecore_evas_software_buffer}" = "xno" || \ + test "x${have_shm_open}" = "xno" ; then + have_extn="no" +fi + +dnl THIS IS SPECIAL - dont use normal ECORE_EVAS_CHECK_MODULE +have_ecore_evas_extn="no" +if test "x${want_ecore_evas_extn}" = "xyes" && \ + test "x${have_extn}" = "xyes" && \ + test "x${have_ecore_evas}" = "xyes"; then + AC_DEFINE([BUILD_ECORE_EVAS_EXTN], [1], [Support for Extn Engine in Ecore_Evas]) + have_ecore_evas_extn="yes" +fi + # ecore_evas_psl1ght ECORE_EVAS_CHECK_MODULE([psl1ght], [${want_ecore_evas_psl1ght}], [PSL1GHT], [${have_ecore_psl1ght}], - [requirements_ecore_evas="ecore-psl1ght >= 1.1.99 ${requirements_ecore_evas}"]) + [requirements_ecore_evas="ecore-psl1ght >= 1.2.0 ${requirements_ecore_evas}"]) ### WAYLAND ecore_wayland_deps="no" have_wayland="no" if test "x${want_ecore_wayland}" = "xyes" ; then - PKG_CHECK_MODULES([WAYLAND], [wayland-client xkbcommon], [have_wayland="yes"], [have_wayland="no"]) + PKG_CHECK_MODULES([WAYLAND], [egl wayland-egl wayland-client xkbcommon], [have_wayland="yes"], [have_wayland="no"]) fi if test "x${have_ecore_input}" = "xyes" -a "x${have_wayland}" = "xyes" ; then ecore_wayland_deps="yes" @@ -1858,7 +1976,7 @@ fi ECORE_CHECK_MODULE([wayland], [${want_ecore_wayland}], [Wayland], [${ecore_wayland_deps}]) if test "x${have_ecore_wayland}" = "xyes" ; then - requirements_ecore_wayland="ecore-input >= 1.1.0 wayland-client xkbcommon ${requirements_ecore_wayland}" + requirements_ecore_wayland="ecore-input >= 1.2.0 egl wayland-egl wayland-client xkbcommon ${requirements_ecore_wayland}" fi ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], @@ -1867,7 +1985,7 @@ ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], [${have_ecore_wayland}], [requirements_ecore_evas="${requirements_ecore_wayland} ${requirements_ecore_evas}"]) -ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl], +ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl egl], [${want_ecore_evas_wayland_egl}], [Wayland Egl], [${have_ecore_wayland}], @@ -1878,6 +1996,10 @@ ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl], fi ]) +### Unit tests + +EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"]) + ### install and build examples EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) @@ -2112,6 +2234,7 @@ if test "x${have_ecore_evas}" = "xyes" ; then echo " Sing.Proc. Windowing System: $have_ecore_evas_ews" echo " Wayland Shm................: $have_ecore_evas_wayland_shm" echo " Wayland Egl................: $have_ecore_evas_wayland_egl" + echo " Extn (Plug/socket Extn)....: $have_ecore_evas_extn" fi echo echo " Tests................: ${enable_tests}" diff --git a/libraries/ecore/doc/Makefile.in b/libraries/ecore/doc/Makefile.in index e71c120..b7593f5 100644 --- a/libraries/ecore/doc/Makefile.in +++ b/libraries/ecore/doc/Makefile.in @@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = ecore.dox Doxyfile CONFIG_CLEAN_VPATH_FILES = @@ -133,6 +132,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -188,6 +189,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -198,6 +201,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/ecore-win32.pc.in b/libraries/ecore/ecore-win32.pc.in index 17dba6e..ac5ab32 100644 --- a/libraries/ecore/ecore-win32.pc.in +++ b/libraries/ecore/ecore-win32.pc.in @@ -8,5 +8,5 @@ Description: E core library, Win32 module @pkgconfig_requires_private@: @requirements_ecore_win32@ Version: @VERSION@ Libs: -L${libdir} -lecore_win32 -Libs.private: +Libs.private: @WIN32_LIBS@ Cflags: -I${includedir}/ecore-@VMAJ@ diff --git a/libraries/ecore/ecore.pc.in b/libraries/ecore/ecore.pc.in index 950a96b..65c5a11 100644 --- a/libraries/ecore/ecore.pc.in +++ b/libraries/ecore/ecore.pc.in @@ -7,6 +7,6 @@ Name: ecore Description: Ecore event abstraction library @pkgconfig_requires_private@: @requirements_ecore@ Version: @VERSION@ -Libs: -L${libdir} -lecore +Libs: -L${libdir} -lecore @EINA_LIBS@ Libs.private: -lm -Cflags: -I${includedir}/ecore-@VMAJ@ +Cflags: -I${includedir}/ecore-@VMAJ@ @EINA_CFLAGS@ diff --git a/libraries/ecore/ecore.spec b/libraries/ecore/ecore.spec index 475a2d7..c88bf35 100644 --- a/libraries/ecore/ecore.spec +++ b/libraries/ecore/ecore.spec @@ -39,7 +39,7 @@ Summary: Enlightened Core X interface library Name: ecore -Version: 1.1.99.67344 +Version: 1.2.0-alpha Release: %{_rel} License: BSD Group: User Interface/X diff --git a/libraries/ecore/ecore.supp b/libraries/ecore/ecore.supp index 0b10a6c..31dd0e0 100644 --- a/libraries/ecore/ecore.supp +++ b/libraries/ecore/ecore.supp @@ -1,4 +1,4 @@ -# $Id: ecore.supp 11909 2004-10-19 16:40:25Z tsauerbeck $ +# $Id: ecore.supp 35497 2008-08-17 07:44:18Z raster $ # valgrind suppression file for Ecore # { diff --git a/libraries/ecore/ltmain.sh b/libraries/ecore/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/ecore/ltmain.sh +++ b/libraries/ecore/ltmain.sh @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 diff --git a/libraries/ecore/m4/ecore_check_module.m4 b/libraries/ecore/m4/ecore_check_module.m4 index 658b42e..01c4e0e 100644 --- a/libraries/ecore/m4/ecore_check_module.m4 +++ b/libraries/ecore/m4/ecore_check_module.m4 @@ -73,9 +73,9 @@ AC_ARG_ENABLE(ecore-evas-$1, AC_MSG_CHECKING([whether ecore_evas $4 support is to be built]) AC_MSG_RESULT([${want_module}]) -if test "x$5" = "xyes" -a \ - "x$have_ecore_evas" = "xyes" -a \ - "x$want_module" = "xyes" ; then +if test "x$5" = "xyes" && \ + test "x$have_ecore_evas" = "xyes" && \ + test "x$want_module" = "xyes" ; then PKG_CHECK_EXISTS([evas-$2], [ AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $4 Engine in Ecore_Evas]) diff --git a/libraries/ecore/m4/ecore_check_options.m4 b/libraries/ecore/m4/ecore_check_options.m4 index 36792a1..fb7031a 100644 --- a/libraries/ecore/m4/ecore_check_options.m4 +++ b/libraries/ecore/m4/ecore_check_options.m4 @@ -314,7 +314,7 @@ AC_ARG_ENABLE(cares, ]) if test "x${_ecore_want_cares}" = "xyes" -o "x${_ecore_want_cares}" = "xauto" ; then - PKG_CHECK_MODULES([CARES], [libcares >= 1.6.1 libcares != 1.7.5], + PKG_CHECK_MODULES([CARES], [libcares >= 1.6.1], [_ecore_have_cares="yes"], [_ecore_have_cares="no"]) fi diff --git a/libraries/ecore/po/cs.gmo b/libraries/ecore/po/cs.gmo index 44b8f00..4ba668c 100644 Binary files a/libraries/ecore/po/cs.gmo and b/libraries/ecore/po/cs.gmo differ diff --git a/libraries/ecore/po/cs.po b/libraries/ecore/po/cs.po index 436b1a7..4492269 100644 --- a/libraries/ecore/po/cs.po +++ b/libraries/ecore/po/cs.po @@ -5,170 +5,170 @@ msgid "" msgstr "" "Project-Id-Version: ecore\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2011-10-23 01:28+0100\n" "Last-Translator: Daniel Kolesa \n" "Language-Team: Czech \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Verze:" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Použití:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [volby]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Copyright:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Licence:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Typ: " -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Výchozí: " -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Možnosti: " -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Volby:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "CHYBA: neznámá volba --%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "CHYBA: neznámá volba -%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "CHYBA: " -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "hodnota nemá nastaven pointer.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "neznámá boolean hodnota %s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "neznámý číselný formát %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "neznámá volba \"%s\". Možné hodnoty jsou: " -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "chybějící parametr k připojení.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "nemůžu parsovat hodnotu.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "chybějící parametr.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "chybějící callback funkce!\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "nebyla definována verze.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "nebyl definován copyright.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "nebyla definována licence.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "CHYBA: neznámá volba --%s, ignoruji.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "CHYBA: volba --%s vyžaduje argument!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "CHYBA: neznámá volba -%c, ignoruji.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "CHYBA: volba -%c vyžaduje argument!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "CHYBA: nebyl poskytnut parser.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "CHYBA: nebyly poskytnuty hodnoty.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "CHYBA: nebyly poskytnuty argumenty.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "CHYBA: nalezeny neplatné volby." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr " Viz --%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr " Viz -%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "CHYBA: neplatná hodnota geometrie '%s'\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "CHYBA: neplatná hodnota velikosti '%s'\n" diff --git a/libraries/ecore/po/de.gmo b/libraries/ecore/po/de.gmo index b26411f..0507965 100644 Binary files a/libraries/ecore/po/de.gmo and b/libraries/ecore/po/de.gmo differ diff --git a/libraries/ecore/po/de.po b/libraries/ecore/po/de.po index c6072bc..9dacdbf 100644 --- a/libraries/ecore/po/de.po +++ b/libraries/ecore/po/de.po @@ -8,168 +8,168 @@ msgid "" msgstr "" "Project-Id-Version: ecore 0.9.9.063-2\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2010-01-03 21:52+GMT\n" "Last-Translator: Fabian Nowak \n" "Language-Team: German \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Version:" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Aufruf:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [Optionen]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Copyright:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Lizenz:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Typ: " -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Standard: " -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Auswahlmöglichkeiten: " -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Optionen:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "FEHLER: Unbekannte Option --%s\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "FEHLER: Unbekannte Option -%c\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "FEHLER: " -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "kein Zeiger auf Wert gesetzt\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "unbekannter boolescher Wert %s\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "ungültiges Zahlenformat %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "ungültige Auswahl \"%s\". Gültige Werte sind: " -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "fehlender Parameter zum Anhängen.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "Wert kann nicht ausgewertet werden.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "fehlender Parameter.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "fehlende Rückruffunktion!\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "es wurde keine Version angegeben.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "es wurde kein Copyright angegeben.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "es wurde keine Lizenz angegeben.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "FEHLER: Unbekannte Option --%s, ignoriert\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "FEHLER: Option --%s benötigt ein Argument!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "FEHLER: Unbekannte Option -%c, ignoriert\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "FEHLER: Option -%c benötigt ein Argument!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "FEHLER: Kein Parser bereitgestellt.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "FEHLER: Keine Werte bereitgestellt.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "FEHLER: Keine Argumente bereitgestellt.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "FEHLER: Ungültige Optionen gefunden." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr " Siehe --%s\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr " Siehe -%c\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "FEHLER: Falscher Geometriewert \"%s\"\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "FEHLER: Falscher Größenwert \"%s\"\n" diff --git a/libraries/ecore/po/ecore.pot b/libraries/ecore/po/ecore.pot index 69cbec8..b7e3500 100644 --- a/libraries/ecore/po/ecore.pot +++ b/libraries/ecore/po/ecore.pot @@ -6,169 +6,170 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ecore 1.1.99.67344\n" +"Project-Id-Version: ecore 1.2.0-alpha\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "" -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "" -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "" -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "" -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "" diff --git a/libraries/ecore/po/el.gmo b/libraries/ecore/po/el.gmo index 0f2bac2..2c9ce48 100644 Binary files a/libraries/ecore/po/el.gmo and b/libraries/ecore/po/el.gmo differ diff --git a/libraries/ecore/po/el.po b/libraries/ecore/po/el.po index cdf9cf3..0dd56bd 100644 --- a/libraries/ecore/po/el.po +++ b/libraries/ecore/po/el.po @@ -6,169 +6,169 @@ msgid "" msgstr "" "Project-Id-Version: Ecore\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2011-11-20 22:42+0200\n" "Last-Translator: George Rizopoulos \n" "Language-Team: Greek\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Έκδοση:" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Χρήση:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [επιλογές]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Πνευματικά δικαιώματα:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Άδεια:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Τύπος:" -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Προκαθορισμένο:" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Επιλογές:" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Επιλογές:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή --%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή -%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "ΣΦΑΛΜΑ:" -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "η τιμή δεν έχει δείκτη ορισμένο.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "άγνωστη τιμή boolean %s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "άγνωστη μορφή αριθμού %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "μη έγκυρη επιλογή \"%s\". Οι έγκυρες τιμές είναι: " -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "ελλιπής παράμετρος προς επισύναψη.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "αδυναμία ανάλυσης τιμών.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "ελλιπής παράμετρος.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "λείπει η λειτουργία επανάκλησης!\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "δεν έχει οριστεί έκδοση.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "δεν έχουν οριστεί πνευματικά δικαιώματα.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "δεν έχει οριστεί άδεια.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "ΣΦΑΛΜΑ:άγνωστη επιλογή --%s, αγνοήθηκε.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "ΣΦΑΛΜΑ: η επιλογή --%s απαιτεί παραμέτρους!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή -%c, αγνοήθηκε.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "ΣΦAΛΜΑ: η επιλογή -%c απαιτεί μία παράμετρο!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 #, fuzzy msgid "ERROR: no parser provided.\n" msgstr "ΣΦΑΛΜΑ:δεν παρέχεται αναλυτής.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "ΣΦΑΛΜΑ:δεν έχουν δοθεί τιμές.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "ΣΦΑΛΜΑ:δεν έχουν δοθεί παράμετροι.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "ΣΦΑΛΜΑ: βρέθηκαν μη έγκυρες επιλογές." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr " Δείτε --%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr " Δείτε -%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "ΣΦΑΛΜΑ: μη έγκυρη γεωμετρική τιμή '%s'\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "ΣΦΑΛΜΑ: μη έγκυρη τιμή μεγέθους '%s'\n" diff --git a/libraries/ecore/po/fr.gmo b/libraries/ecore/po/fr.gmo index 2669256..766db87 100644 Binary files a/libraries/ecore/po/fr.gmo and b/libraries/ecore/po/fr.gmo differ diff --git a/libraries/ecore/po/fr.po b/libraries/ecore/po/fr.po index 6c752c1..3435366 100644 --- a/libraries/ecore/po/fr.po +++ b/libraries/ecore/po/fr.po @@ -6,172 +6,172 @@ msgid "" msgstr "" "Project-Id-Version: Ecore\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2010-07-11 11:01+0400\n" "Last-Translator: batden \n" "Language-Team: Enlightenment French Team \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Poedit-Language: French\n" "X-Poedit-Country: FRANCE\n" "X-Poedit-SourceCharset: utf-8\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Version :" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Usage :" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [options]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Copyright :" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Licence :" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Type : " -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Par défaut :" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Choix :" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Options :\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "ERREUR : option inconnue --%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "ERREUR : option inconnue -%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "ERREUR :" -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "la valeur n'a aucun pointeur défini.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "valeur booléenne inconnue %s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "format du nombre non valide %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "choix non valide « %s ». Les valeurs valides sont : " -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "paramètre manquant à ajouter.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "analyse de la valeur impossible.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "paramètre manquant.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "fonction de rappel manquante !\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "aucune version n'est définie.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "aucun copyright n'est défini.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "aucune licence n'est définie.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "ERREUR : option inconnue --%s, non prise en compte.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "ERREUR : l'option --%s requiert un argument !\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "ERREUR : option inconnue -%c, non prise en compte.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "ERREUR : l'option -%c requiert un argument !\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "ERREUR : aucun analyseur n'est fourni.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "ERREUR : aucune valeur n'est fournie.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "ERREUR : aucun argument n'est fourni.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "ERREUR : options non valides détectées." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr " Voir --%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr " Voir -%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "ERREUR : valeur géométrique incorrecte « %s »\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "ERREUR : valeur de taille incorrecte « %s »\n" diff --git a/libraries/ecore/po/it.gmo b/libraries/ecore/po/it.gmo index 3361b47..3a83e76 100644 Binary files a/libraries/ecore/po/it.gmo and b/libraries/ecore/po/it.gmo differ diff --git a/libraries/ecore/po/it.po b/libraries/ecore/po/it.po index b4ff61d..45ceb9f 100644 --- a/libraries/ecore/po/it.po +++ b/libraries/ecore/po/it.po @@ -6,168 +6,168 @@ msgid "" msgstr "" "Project-Id-Version: Ecore\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2009-10-27 19:36+0100\n" "Last-Translator: quaker66 \n" "Language-Team: none\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Versione:" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Uso:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [opzioni]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Copyright:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Licenza:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Tipo: " -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Predefinito:" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Scelte:" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Opzioni:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "ERRORE: opzione sconosciuta --%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "ERRORE: opzione sconosciuta -%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "ERRORE:" -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "il valore non ha puntatori impostati.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "valore booleano sconosciuto %s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "formato numero non valido %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "scelta non valida \"%s\". I valori ammessi sono: " -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "parametro da appendere mancante.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "impossibile il parsing del valore.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "parametro mancante.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "funzione callback mancante!\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "nessuna versione definita.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "nessun copyright definito.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "nessuna licenza definita.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "ERRORE: opzione sconosciuta --%s, ignorata.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "ERRORE: l'opzione --%s richiede un argomento!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "ERRORE: opzione sconosciuta -%c, ignorata.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "ERRORE: l'opzione -%c richiede un argomento!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "ERRORE: nessun parser fornito.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "ERRORE: nessun valore fornito.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "ERRORE: nessun argomento fornito.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "ERRORE: trovate opzioni non valide." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr " Vedere --%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr " Vedere -%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "ERRORE: valore geometrico non corretto '%s'\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "ERRORE: valore dimensione non corretto '%s'\n" diff --git a/libraries/ecore/po/nl.gmo b/libraries/ecore/po/nl.gmo index 746f7df..babde95 100644 Binary files a/libraries/ecore/po/nl.gmo and b/libraries/ecore/po/nl.gmo differ diff --git a/libraries/ecore/po/nl.po b/libraries/ecore/po/nl.po index 04e3256..54785e2 100644 --- a/libraries/ecore/po/nl.po +++ b/libraries/ecore/po/nl.po @@ -6,170 +6,170 @@ msgid "" msgstr "" "Project-Id-Version: Ecore\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2011-09-03 15:48+0100\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "X-Poedit-Language: NL\n" "X-Poedit-Country: Nederland\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Versie:" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Gebruik:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [opties]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Copyright:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Licentie:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Type:" -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Standaard:" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Keuzes:" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Opties:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "FOUT: onbekende optie --%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "FOUT: onbekende optie -%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "FOUT:" -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "waarde heeft geen pointer ingsteld.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "onbekende boolean-waarde %s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "ongeldig nummerformaat %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "ongeldige keuze \"%s\". Geldige waardes zijn:" -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "parameter om toe te wijzen ontbreekt.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "kon waarde niet doorvoeren.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "paramater ontbreekt.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "ontbrekende terugroep-functie!\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "geen versie was gedefinieerd.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "geen copyright was gedefinieerd.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "geen licentie was gedefinieerd.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "FOUT: onbekende optie --%s, genegeerd.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "FOUT: optie --%s vereist een argument!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "FOUT: onbekende opties -%c, genegeerd.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "FOUT: optie -%c vereist een argument!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "FOUT: geen doorvoerder beschikbaar gesteld.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "FOUT: geen waarden beschikbaar gesteld.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "FOUT: geen argumenten beschibaar gesteld.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "FOUT: ongeldige opties gevonden." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr "Zie --%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr "Zie -%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "Fout: foutieve wiskundige waarde '%s'\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "FOUT: foutieve grootte-waarden '%s'\n" diff --git a/libraries/ecore/po/pt.gmo b/libraries/ecore/po/pt.gmo index 617b5cb..ff7ef91 100644 Binary files a/libraries/ecore/po/pt.gmo and b/libraries/ecore/po/pt.gmo differ diff --git a/libraries/ecore/po/pt.po b/libraries/ecore/po/pt.po index b192be9..3892c6b 100644 --- a/libraries/ecore/po/pt.po +++ b/libraries/ecore/po/pt.po @@ -6,171 +6,171 @@ msgid "" msgstr "" "Project-Id-Version: ecore\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2010-10-06 12:37-0000\n" "Last-Translator: Sérgio Marques \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-Language: Portuguese\n" "X-Poedit-Country: Portugal\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Versão:" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Utilização:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s [opções]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Direitos de autor:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Licença:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Tipo:" -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Omissão:" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Escolhas:" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Opções:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "ERRO: opção desconhecida --%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "ERRO: opção desconhecida -%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "ERRO: " -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "o valor não está definido.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "valor booleano desconhecido %s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "formato do número inválido %s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "escolha inválida \"%s\". O valores possíveis são:" -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "faltam os parâmetros a anexar.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "incapaz de analisar o valor.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "parâmetro em falta.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "função de chamada em falta!\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "nenhuma versão definida.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "direitos de autor não definidos.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "licença não definida.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "ERRO: opção desconhecida --%s, ignorada.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "ERRO: a opção --%s requer um argumento!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "ERRO: opção desconhecida --%c, ignorada.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "ERRO: a opção --%c requer um argumento!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "ERRO: nenhum analisador fornecido.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "ERRO: nenhum valor fornecido.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "ERRO: nenhum argumento fornecido.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "ERRO: encontradas opções inválidas." -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr " Veja --%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr " Veja -%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "ERRO: valor geométrico incorreto \"%s\"\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "ERRO: tamanho incorreto \"%s\"\n" diff --git a/libraries/ecore/po/sl.gmo b/libraries/ecore/po/sl.gmo index b826ffc..4c4ca71 100644 Binary files a/libraries/ecore/po/sl.gmo and b/libraries/ecore/po/sl.gmo differ diff --git a/libraries/ecore/po/sl.po b/libraries/ecore/po/sl.po index fef52ac..f16b172 100644 --- a/libraries/ecore/po/sl.po +++ b/libraries/ecore/po/sl.po @@ -8,168 +8,168 @@ msgid "" msgstr "" "Project-Id-Version: ecore 1.0\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2012-01-23 23:19+1000\n" +"POT-Creation-Date: 2012-03-17 11:44+0900\n" "PO-Revision-Date: 2011-02-24 16:54+0100\n" "Last-Translator: r1to \n" "Language-Team: Slovenian \n" +"Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -#: src/lib/ecore/ecore_getopt.c:91 +#: src/lib/ecore/ecore_getopt.c:95 msgid "Version:" msgstr "Različica" -#: src/lib/ecore/ecore_getopt.c:100 +#: src/lib/ecore/ecore_getopt.c:104 msgid "Usage:" msgstr "Uporaba:" -#: src/lib/ecore/ecore_getopt.c:105 +#: src/lib/ecore/ecore_getopt.c:109 #, c-format msgid "%s [options]\n" msgstr "%s·[možnosti]\n" -#: src/lib/ecore/ecore_getopt.c:260 +#: src/lib/ecore/ecore_getopt.c:264 msgid "Copyright:" msgstr "Avtorstvo:" -#: src/lib/ecore/ecore_getopt.c:272 +#: src/lib/ecore/ecore_getopt.c:276 msgid "License:" msgstr "Licenca:" -#: src/lib/ecore/ecore_getopt.c:453 +#: src/lib/ecore/ecore_getopt.c:457 msgid "Type: " msgstr "Vrsta:·" -#: src/lib/ecore/ecore_getopt.c:529 +#: src/lib/ecore/ecore_getopt.c:533 msgid "Default: " msgstr "Privzeto:·" -#: src/lib/ecore/ecore_getopt.c:556 +#: src/lib/ecore/ecore_getopt.c:560 msgid "Choices: " msgstr "Izbire:·" -#: src/lib/ecore/ecore_getopt.c:657 +#: src/lib/ecore/ecore_getopt.c:661 msgid "Options:\n" msgstr "Možnosti:\n" -#: src/lib/ecore/ecore_getopt.c:782 +#: src/lib/ecore/ecore_getopt.c:786 #, c-format msgid "ERROR: unknown option --%s.\n" msgstr "NAPAKA:·Neznana možnost·--%s.\n" -#: src/lib/ecore/ecore_getopt.c:784 +#: src/lib/ecore/ecore_getopt.c:788 #, c-format msgid "ERROR: unknown option -%c.\n" msgstr "NAPAKA:·neznana možnost·-%c.\n" -#: src/lib/ecore/ecore_getopt.c:842 +#: src/lib/ecore/ecore_getopt.c:846 msgid "ERROR: " msgstr "NAPAKA:" -#: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 -#: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 -#: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 -#: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 +#: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 +#: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 +#: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 +#: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 msgid "value has no pointer set.\n" msgstr "vrednost nima nastavljenega kazalnika.\n" -#: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 +#: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 #, c-format msgid "unknown boolean value %s.\n" msgstr "neznana Boolova vrednost·%s.\n" -#: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 +#: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 #, c-format msgid "invalid number format %s\n" msgstr "napačen·format števila·%s\n" -#: src/lib/ecore/ecore_getopt.c:1123 +#: src/lib/ecore/ecore_getopt.c:1127 #, c-format msgid "invalid choice \"%s\". Valid values are: " msgstr "napačna izbira·\"%s\".·Pravilne izbire so:·" -#: src/lib/ecore/ecore_getopt.c:1151 +#: src/lib/ecore/ecore_getopt.c:1155 msgid "missing parameter to append.\n" msgstr "manjka·parameter·za dodajo.\n" -#: src/lib/ecore/ecore_getopt.c:1255 +#: src/lib/ecore/ecore_getopt.c:1259 msgid "could not parse value.\n" msgstr "vrednosti ni bilo možno razčleniti.\n" -#: src/lib/ecore/ecore_getopt.c:1312 +#: src/lib/ecore/ecore_getopt.c:1316 msgid "missing parameter.\n" msgstr "manjkajoči·parameter.\n" -#: src/lib/ecore/ecore_getopt.c:1325 +#: src/lib/ecore/ecore_getopt.c:1329 msgid "missing callback function!\n" msgstr "manjkajoča povratno-zasilna funkcija !\n" -#: src/lib/ecore/ecore_getopt.c:1354 +#: src/lib/ecore/ecore_getopt.c:1358 msgid "no version was defined.\n" msgstr "definirana ni bila nobena različica.\n" -#: src/lib/ecore/ecore_getopt.c:1371 +#: src/lib/ecore/ecore_getopt.c:1375 msgid "no copyright was defined.\n" msgstr "definirano ni bilo nobeno avtorstvo.\n" -#: src/lib/ecore/ecore_getopt.c:1388 +#: src/lib/ecore/ecore_getopt.c:1392 msgid "no license was defined.\n" msgstr "definirana ni bila nobena licenca.\n" -#: src/lib/ecore/ecore_getopt.c:1463 +#: src/lib/ecore/ecore_getopt.c:1467 #, c-format msgid "ERROR: unknown option --%s, ignored.\n" msgstr "NAPAKA:·neznana možnost·--%s,·prezrto.\n" -#: src/lib/ecore/ecore_getopt.c:1496 +#: src/lib/ecore/ecore_getopt.c:1500 #, c-format msgid "ERROR: option --%s requires an argument!\n" msgstr "NAPAKA:·možnost·--%s·zahteva argument!\n" -#: src/lib/ecore/ecore_getopt.c:1538 +#: src/lib/ecore/ecore_getopt.c:1542 #, c-format msgid "ERROR: unknown option -%c, ignored.\n" msgstr "NAPAKA:·neznana možnost·-%c,·prezrto.\n" -#: src/lib/ecore/ecore_getopt.c:1576 +#: src/lib/ecore/ecore_getopt.c:1580 #, c-format msgid "ERROR: option -%c requires an argument!\n" msgstr "NAPAKA:·možnost·-%c zahteva argument!\n" -#: src/lib/ecore/ecore_getopt.c:1785 +#: src/lib/ecore/ecore_getopt.c:1789 msgid "ERROR: no parser provided.\n" msgstr "NAPAKA:·ni podan razčlenjevalnik.\n" -#: src/lib/ecore/ecore_getopt.c:1790 +#: src/lib/ecore/ecore_getopt.c:1794 msgid "ERROR: no values provided.\n" msgstr "NAPAKA::·ni podanih vrednosti.\n" -#: src/lib/ecore/ecore_getopt.c:1799 +#: src/lib/ecore/ecore_getopt.c:1803 msgid "ERROR: no arguments provided.\n" msgstr "NAPAKA::·ni podanih argumentov.\n" -#: src/lib/ecore/ecore_getopt.c:1825 +#: src/lib/ecore/ecore_getopt.c:1829 msgid "ERROR: invalid options found." msgstr "NAPAKA::·najdene nepravilne možnosti" -#: src/lib/ecore/ecore_getopt.c:1831 +#: src/lib/ecore/ecore_getopt.c:1835 #, c-format msgid " See --%s.\n" msgstr "·Glej·--%s.\n" -#: src/lib/ecore/ecore_getopt.c:1833 +#: src/lib/ecore/ecore_getopt.c:1837 #, c-format msgid " See -%c.\n" msgstr "·Glej·-%c.\n" -#: src/lib/ecore/ecore_getopt.c:1875 +#: src/lib/ecore/ecore_getopt.c:1879 #, c-format msgid "ERROR: incorrect geometry value '%s'\n" msgstr "NAPAKA::·nepravilna geometrijska vrednost·'%s'\n" -#: src/lib/ecore/ecore_getopt.c:1903 +#: src/lib/ecore/ecore_getopt.c:1907 #, c-format msgid "ERROR: incorrect size value '%s'\n" msgstr "NAPAKA::·nepravilna vrednost velikosti·'%s'\n" diff --git a/libraries/ecore/src/Makefile.in b/libraries/ecore/src/Makefile.in index bf6f05c..51ad5e0 100644 --- a/libraries/ecore/src/Makefile.in +++ b/libraries/ecore/src/Makefile.in @@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,6 +173,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -229,6 +230,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -239,6 +242,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/bin/Makefile.in b/libraries/ecore/src/bin/Makefile.in index 72d2bfd..aabc6ab 100644 --- a/libraries/ecore/src/bin/Makefile.in +++ b/libraries/ecore/src/bin/Makefile.in @@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -168,6 +167,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -223,6 +224,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -233,6 +236,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/examples/Makefile.in b/libraries/ecore/src/examples/Makefile.in index 7fac88c..5b984ed 100644 --- a/libraries/ecore/src/examples/Makefile.in +++ b/libraries/ecore/src/examples/Makefile.in @@ -81,16 +81,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -408,6 +407,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -463,6 +464,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -473,6 +476,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/examples/ecore_evas_basics_example.c b/libraries/ecore/src/examples/ecore_evas_basics_example.c index 5f0231f..942f9c6 100644 --- a/libraries/ecore/src/examples/ecore_evas_basics_example.c +++ b/libraries/ecore/src/examples/ecore_evas_basics_example.c @@ -77,10 +77,7 @@ main(void) evas_object_show(bg); ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); - ecore_main_fd_handler_add(STDIN_FILENO, - ECORE_FD_READ | ECORE_FD_ERROR, - _stdin_cb, - NULL, NULL, NULL); + ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _stdin_cb, NULL, NULL, NULL); ecore_main_loop_begin(); diff --git a/libraries/ecore/src/lib/Makefile.in b/libraries/ecore/src/lib/Makefile.in index 09271c2..a5fd01f 100644 --- a/libraries/ecore/src/lib/Makefile.in +++ b/libraries/ecore/src/lib/Makefile.in @@ -65,16 +65,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore/Ecore.h b/libraries/ecore/src/lib/ecore/Ecore.h index fbe4dda..eace560 100644 --- a/libraries/ecore/src/lib/ecore/Ecore.h +++ b/libraries/ecore/src/lib/ecore/Ecore.h @@ -9,7 +9,7 @@ @mainpage Ecore @version 1.1 - @date 2000-2011 + @date 2000-2012 Please see the @ref authors page for contact details. @@ -22,7 +22,7 @@ @li @ref Ecore_Main_Loop_Group @li @ref Ecore_File_Group @li @ref Ecore_Con_Group - @li @link Ecore_Evas.h Ecore_Evas - Evas convenience functions. @endlink + @li @ref Ecore_Evas_Group @li @ref Ecore_FB_Group @li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink @li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink @@ -35,21 +35,31 @@ pkgconfig (.pc) files are installed for every ecore module. Thus, to compile using any of them, you can use something like the following: - @verbatim - gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs) - @endverbatim +@verbatim +gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs) +@endverbatim @section install How is it installed? - Suggested configure options for evas for a Linux desktop X display: + Suggested configure options for ecore for a Linux desktop X display + with OpenGL and Software support, communication (networking) and + IPC (inter process communication): - @verbatim - ./configure \ - make - su - - ... - make install - @endverbatim +@verbatim +./configure \ + --enable-ecore-con \ + --enable-ecore-ipc \ + --enable-ecore-file \ + --enable-ecore-input \ + --enable-ecore-input-evas \ + --enable-ecore-x \ + --enable-ecore-evas \ + --enable-ecore-evas-software-buffer \ + --enable-ecore-evas-software-x11 \ + --enable-ecore-evas-opengl-x11 +make +sudo make install +@endverbatim */ @@ -112,140 +122,175 @@ */ /** - @page Ecore_Main_Loop_Page The Ecore Main Loop - - @section intro What is Ecore? - - Ecore is a clean and tiny event loop library with many modules to do lots of - convenient things for a programmer, to save time and effort. - - It's small and lean, designed to work on embedded systems all the way to - large and powerful multi-cpu workstations. It serialises all system signals, - events etc. into a single event queue, that is easily processed without - needing to worry about concurrency. A properly written, event-driven program - using this kind of programming doesn't need threads, nor has to worry about - concurrency. It turns a program into a state machine, and makes it very - robust and easy to follow. - - Ecore gives you other handy primitives, such as timers to tick over for you - and call specified functions at particular times so the programmer can use - this to do things, like animate, or time out on connections or tasks that take - too long etc. - - Idle handlers are provided too, as well as calls on entering an idle state - (often a very good time to update the state of the program). All events that - enter the system are passed to specific callback functions that the program - sets up to handle those events. Handling them is simple and other Ecore - modules produce more events on the queue, coming from other sources such as - file descriptors etc. - - Ecore also lets you have functions called when file descriptors become active - for reading or writing, allowing for streamlined, non-blocking IO. - - Here is an example of a simple program and its basic event loop flow: - - @image html prog_flow.png - @image latex prog_flow.eps width=\textwidth - - - - @section work How does Ecore work? - - Ecore is very easy to learn and use. All the function calls are designed to - be easy to remember, explicit in describing what they do, and heavily - name-spaced. Ecore programs can start and be very simple. - - For example: - - @code - #include - - int - main(int argc, const char **argv) - { - ecore_init(); - ecore_app_args_set(argc, argv); - ecore_main_loop_begin(); - ecore_shutdown(); - return 0; - } - @endcode - - This program is very simple and doesn't check for errors, but it does start up - and begin a main loop waiting for events or timers to tick off. This program - doesn't set up any, but now we can expand on this simple program a little - more by adding some event handlers and timers. - - @code - #include - - Ecore_Timer *timer1 = NULL; - Ecore_Event_Handler *handler1 = NULL; - double start_time = 0.0; - - int - timer_func(void *data) - { - printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); - return 1; - } - - int - exit_func(void *data, int ev_type, void *ev) - { - Ecore_Event_Signal_Exit *e; - - e = (Ecore_Event_Signal_Exit *)ev; - if (e->interrupt) printf("Exit: interrupt\n"); - else if (e->quit) printf("Exit: quit\n"); - else if (e->terminate) printf("Exit: terminate\n"); - ecore_main_loop_quit(); - return 1; - } - - int - main(int argc, const char **argv) - { - ecore_init(); - ecore_app_args_set(argc, argv); - start_time = ecore_time_get(); - handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); - timer1 = ecore_timer_add(0.5, timer_func, NULL); - ecore_main_loop_begin(); - ecore_shutdown(); - return 0; - } - @endcode - - In the previous example, we initialize our application and get the time at - which our program has started so we can calculate an offset. We set - up a timer to tick off in 0.5 seconds, and since it returns 1, will - keep ticking off every 0.5 seconds until it returns 0, or is deleted - by hand. An event handler is set up to call a function - - exit_func(), - whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C - on the command line will cause such an event to happen). If this event - occurs it tells you what kind of exit signal was received, and asks - the main loop to quit when it is finished by calling - ecore_main_loop_quit(). - - The handles returned by ecore_timer_add() and - ecore_event_handler_add() are - only stored here as an example. If you don't need to address the timer or - event handler again you don't need to store the result, so just call the - function, and don't assign the result to any variable. - - This program looks slightly more complex than needed to do these simple - things, but in principle, programs don't get any more complex. You add more - event handlers, for more events, will have more timers and such, BUT it all - follows the same principles as shown in this example. - + * @page Ecore_Main_Loop_Page The Ecore Main Loop + * + * @section intro What is Ecore? + * + * Ecore is a clean and tiny event loop library with many modules to do lots of + * convenient things for a programmer, to save time and effort. It's small and + * lean, designed to work from embedded systems all the way up to large and + * powerful multi-cpu workstations. The main loop has a number of primitives to + * be used with its main loop. It serializes all the primitives and allows for + * great responsiveness without the need for threads(or any other concurrency). + * + * @subsection timers Timers + * + * Timers serve two main purposes: doing something at a specified time and + * repeatedly doing something with a set interval. + * @see Ecore_Timer_Group + * + * @subsection poolers Poolers + * + * Poolers allow for pooling to be centralized into a single place therefore + * alleviating the need for different parts of the program to wake up at + * different times to do pooling, thereby making the code simpler and more + * efficient. + * @see Ecore_Poller_Group + * + * @subsection idler Idlers + * + * There are three types of idlers, enterers, idlers(proper) and exiters, they + * are called, respectively, when the program is about to enter an idle state, + * when the program is idle and when the program is leaving an idle state. Idler + * enterers are usually a good place to update the program state. Proper idlers + * are the appropriate place to do heavy computational tasks thereby using what + * would otherwise be wasted CPU cycles. Exiters are the perfect place to do + * anything your program should do just before processing events(also timers, + * poolers, file descriptor handlers and animators) + * @see Ecore_Idle_Group + * + * @subsection fd_handler File descriptor handlers + * + * File descriptor handlers allow you to monitor when there is data available to + * read on file descriptors, when writing will not block or if there was an + * error. Any valid file descriptor can be used with this API, regardless of if + * was gotten with an OS specific API or from ecore. + * @see Ecore_FD_Handler_Group + * + * @subsection animators Animators + * + * Ecore provides a facility called animators, so named since the intended use + * was in animations, that facilitates knowing what percentage of a given + * interval has elapsed. This is perfect for performing animations, but is not + * limited to that use, it can, for example, also be used to create a progress + * bar. + * @see Ecore_Animator_Group + * + * @subsection ev_handlers Event handlers + * + * Event handlers are, arguably, the most important feature of the ecore main + * loop, they are what allows the programmer to easily handle user interaction. + * Events however are not only things the user does, events can represent + * anything for which a type is created. + * @see Ecore_Event_Group + * + * All of these primitives are discussed in more detail in their respective + * pages linked above. + * + * Here is a diagram of the main loop flow of a simple program: + * + * @image html prog_flow.png + * @image latex prog_flow.eps width=\textwidth + * + * + * + * @section work How does Ecore work? + * + * Ecore is very easy to learn and use. All the function calls are designed to + * be easy to remember, explicit in describing what they do, and heavily + * name-spaced. Ecore programs can start and be very simple. + * + * For example: + * + * @code + * #include + * + * int + * main(int argc, const char **argv) + * { + * ecore_init(); + * ecore_app_args_set(argc, argv); + * ecore_main_loop_begin(); + * ecore_shutdown(); + * return 0; + * } + * @endcode + * + * This program is very simple and doesn't check for errors, but it does start up + * and begin a main loop waiting for events or timers to tick off. This program + * doesn't set up any, but now we can expand on this simple program a little + * more by adding some event handlers and timers. + * + * @code + * #include + * + * Ecore_Timer *timer1 = NULL; + * Ecore_Event_Handler *handler1 = NULL; + * double start_time = 0.0; + * + * int + * timer_func(void *data) + * { + * printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); + * return 1; + * } + * + * int + * exit_func(void *data, int ev_type, void *ev) + * { + * Ecore_Event_Signal_Exit *e; + * + * e = (Ecore_Event_Signal_Exit *)ev; + * if (e->interrupt) printf("Exit: interrupt\n"); + * else if (e->quit) printf("Exit: quit\n"); + * else if (e->terminate) printf("Exit: terminate\n"); + * ecore_main_loop_quit(); + * return 1; + * } + * + * int + * main(int argc, const char **argv) + * { + * ecore_init(); + * ecore_app_args_set(argc, argv); + * start_time = ecore_time_get(); + * handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); + * timer1 = ecore_timer_add(0.5, timer_func, NULL); + * ecore_main_loop_begin(); + * ecore_shutdown(); + * return 0; + * } + * @endcode + * + * In the previous example, we initialize our application and get the time at + * which our program has started so we can calculate an offset. We set + * up a timer to tick off in 0.5 seconds, and since it returns 1, will + * keep ticking off every 0.5 seconds until it returns 0, or is deleted + * by hand. An event handler is set up to call a function - + * exit_func(), + * whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C + * on the command line will cause such an event to happen). If this event + * occurs it tells you what kind of exit signal was received, and asks + * the main loop to quit when it is finished by calling + * ecore_main_loop_quit(). + * + * The handles returned by ecore_timer_add() and + * ecore_event_handler_add() are + * only stored here as an example. If you don't need to address the timer or + * event handler again you don't need to store the result, so just call the + * function, and don't assign the result to any variable. + * + * This program looks slightly more complex than needed to do these simple + * things, but in principle, programs don't get any more complex. You add more + * event handlers, for more events, will have more timers and such, BUT it all + * follows the same principles as shown in this example. + * */ /* @page Ecore_Config_Page The Enlightened Property Library - The Enlightened Property Library (Ecore_Config) is an adbstraction + The Enlightened Property Library (Ecore_Config) is an abstraction from the complexities of writing your own configuration. It provides many features using the Enlightenment 17 development libraries. @@ -310,7 +355,9 @@ # include #else # include -# include +# if !defined (EXOTIC_NO_SIGNAL) +# include +# endif #endif #include @@ -333,47 +380,21 @@ EAPI int ecore_shutdown(void); */ /** + * @defgroup Ecore_Main_Loop_Group Ecore main loop * - * @defgroup Ecore_Main_Loop_Group Ecore main loop functions - * - * These are functions acting on Ecore's main loop itself or on - * events and infrastructure directly linked to it. This loop is - * designed to work on embedded systems all the way to large and - * powerful multi-cpu workstations. + * This group discusses functions that are acting on Ecore's main loop itself or + * on events and infrastructure directly linked to it. Most programs only need + * to start and end the main loop, the rest of the function discussed here are + * meant to be used in special situations, and with great care. * - * It serialises all system signals and events into a single event - * queue, that can be easily processed without needing to worry - * about concurrency. A properly written, event-driven program - * using this kind of programming does not need threads. It makes - * the program very robust and easy to follow. - * - * For example, for the main loop to be of any use, you need to be - * able to add @b events and event handlers on it. Events for file - * descriptor events are covered in @ref Ecore_FD_Handler_Group. - * - * Timer functions are covered in @ref Ecore_Time_Group. - * - * There is also provision for callbacks for when the loop enters or - * exits an @b idle state. See @ref Ecore_Idle_Group for more - * information on it. - * - * Functions are also provided for spawning child processes using - * @c fork(). See @ref Ecore_Exe_Group for more details on it. - * - * Here is an example of simple program and its basic event loop - * flow: - * - * @image html prog_flow.png - * @image latex prog_flow.eps width=\textwidth - * - * For examples of setting up and using a main loop, see - * @ref Ecore_Main_Loop_Page. + * For details on the usage of ecore's main loop and how it interacts with other + * ecore facilities see: @ref Ecore_Main_Loop_Page. * * @{ */ #define ECORE_VERSION_MAJOR 1 -#define ECORE_VERSION_MINOR 0 +#define ECORE_VERSION_MINOR 2 typedef struct _Ecore_Version { @@ -469,7 +490,7 @@ EAPI void *ecore_main_loop_thread_safe_call_sync(Ecore_Data_Cb callback, void *d * in this thread, if the main loop was suspended correctly. If not, it return @c -1. * * This function suspend the main loop in a know state, this let you - * use any EFL call you want after it return. Be carefull, the main loop + * use any EFL call you want after it return. Be carefully, the main loop * is blocked until you call ecore_thread_main_loop_end(). This is * the only sane way to achieve pseudo thread safety. * @@ -489,7 +510,7 @@ EAPI int ecore_thread_main_loop_begin(void); * the main loop is unlocked again. @c -1 will be returned if you are trying to unlock * when there wasn't enough call to ecore_thread_main_loop_begin(). * - * After a call to ecore_thread_main_loop_begin(), you need to absolutly + * After a call to ecore_thread_main_loop_begin(), you need to absolutely * call ecore_thread_main_loop_end(), or you application will stay frozen. */ EAPI int ecore_thread_main_loop_end(void); @@ -501,34 +522,51 @@ EAPI int ecore_thread_main_loop_end(void); /** * @defgroup Ecore_Event_Group Ecore Event functions * - * Ecore events are used to wake up the Ecore main loop to warn - * about state changes, tasks completed, data available for reading - * or writing, etc. They are the base of the event oriented - * programming. - * - * The idea is to write many functions (callbacks) that will be - * registered to specific events, and called when these events - * happen. This way, when the system state changes (a mouse click is - * detected, a key is pressed, or the content of a file changes, for - * example), the respective callbacks will be called with some - * information about that event. Usually the function/callback will - * have a data pointer to the event info (the position in the screen - * where the mouse was clicked, the name of the key that was - * pressed, or the name of the file that has changed). - * - * The basic usage, when one needs to watch for an existing event, - * is to register a callback to it using ecore_event_add(). Of - * course it's necessary to know beforehand what are the types of - * events that the system/library will emmit. This should be - * available with the documentation from that system/library. - * - * When writing a library or group of functions that need to inform - * about something, and you already are running on top of a main - * loop, it is usually a good approach to use events. This way you - * allow others to register as many callbacks as necessary to this - * event, and don't have to care about who is registering to it. The - * functions ecore_event_type_new() and ecore_event_add() are - * available for this purpose. + * Ecore events provide two main features that are of use to those using ecore: + * creating events and being notified of events. Those two will usually be used + * in different contexts, creating events is mainly done by libraries wrapping + * some system functionality while being notified of events is mainly a + * necessity of applications. + * + * For a program to be notified of events it's interested in it needs to have a + * function to process the event and to register that function as the callback + * to the event, that's all: + * @code + * ecore_event_handler_add(EVENT_TYPE, _my_event_handler, some_data); + * ... + * static Eina_Bool + * _my_event_handler(void *data, int type, void *event) + * { + * //data is some_data + * //event is provided by whoever created the event + * //Do really cool stuff with event + * } + * @endcode + * + * One very important thing to note here is the @c EVENT_TYPE, to register a + * handler for an event you must know it's type before hand. This information + * can be found on the documentation of the library emitting the signal, so, + * for example, for events related to windowing one would look in @ref + * Ecore_Evas_Group. + * + * Examples of libraries that integrate into ecore's main loop by providing + * events are @ref Ecore_Con_Group, @ref Ecore_Evas_Group and @ref + * Ecore_Exe_Group amongst others. This usage can be divided into two parts, + * setup and adding events. The setup is very simple, all that needs doing is + * getting a type id for the event: + * @code + * int MY_EV_TYPE = ecore_event_type_new(); + * @endcode + * @note This variable should be declared in the header since it'll be needed by + * anyone wishing to register a handler to your event. + * + * The complexity of adding of an event to the queue depends on whether that + * event sends uses @c event, if it doesn't it a one-liner: + * @code + * ecore_event_add(MY_EV_TYPE, NULL, NULL, NULL); + * @endcode + * The usage when an @c event is needed is not that much more complex and can be + * seen in @ref ecore_event_add. * * Example that deals with events: * @@ -582,7 +620,7 @@ struct _Ecore_Event_Signal_User /** User signal event */ int number; /**< The signal number. Either 1 or 2 */ void *ext_data; /**< Extension data - not used */ -#if !defined (_WIN32) && !defined (__lv2ppu__) +#if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) siginfo_t data; /**< Signal info */ #endif }; @@ -591,7 +629,7 @@ struct _Ecore_Event_Signal_Hup /** Hup signal event */ { void *ext_data; /**< Extension data - not used */ -#if !defined (_WIN32) && !defined (__lv2ppu__) +#if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) siginfo_t data; /**< Signal info */ #endif }; @@ -600,10 +638,10 @@ struct _Ecore_Event_Signal_Exit /** Exit request event */ { Eina_Bool interrupt : 1; /**< Set if the exit request was an interrupt signal*/ Eina_Bool quit : 1; /**< set if the exit request was a quit signal */ - Eina_Bool terminate : 1; /**< Set if the exit request was a terminate singal */ + Eina_Bool terminate : 1; /**< Set if the exit request was a terminate signal */ void *ext_data; /**< Extension data - not used */ -#if !defined (_WIN32) && !defined (__lv2ppu__) +#if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) siginfo_t data; /**< Signal info */ #endif }; @@ -612,7 +650,7 @@ struct _Ecore_Event_Signal_Power /** Power event */ { void *ext_data; /**< Extension data - not used */ -#if !defined (_WIN32) && !defined (__lv2ppu__) +#if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) siginfo_t data; /**< Signal info */ #endif }; @@ -621,21 +659,161 @@ struct _Ecore_Event_Signal_Realtime /** Realtime event */ { int num; /**< The realtime signal's number */ -#if !defined (_WIN32) && !defined (__lv2ppu__) +#if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) siginfo_t data; /**< Signal info */ #endif }; +/** + * @brief Add an event handler. + * @param type The type of the event this handler will get called for + * @param func The function to call when the event is found in the queue + * @param data A data pointer to pass to the called function @p func + * @return A new Event handler, or NULL on failure + * + * Add an event handler to the list of handlers. This will, on success, return + * a handle to the event handler object that was created, that can be used + * later to remove the handler using ecore_event_handler_del(). The @p type + * parameter is the integer of the event type that will trigger this callback + * to be called. The callback @p func is called when this event is processed + * and will be passed the event type, a pointer to the private event + * structure that is specific to that event type, and a data pointer that is + * provided in this call as the @p data parameter. + * + * When the callback @p func is called, it must return 1 or 0. If it returns + * 1 (or ECORE_CALLBACK_PASS_ON), It will keep being called as per normal, for + * each handler set up for that event type. If it returns 0 (or + * ECORE_CALLBACK_DONE), it will cease processing handlers for that particular + * event, so all handler set to handle that event type that have not already + * been called, will not be. + */ EAPI Ecore_Event_Handler *ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, const void *data); +/** + * @brief Delete an event handler. + * @param event_handler Event handler handle to delete + * @return Data passed to handler + * + * Delete a specified event handler from the handler list. On success this will + * delete the event handler and return the pointer passed as @p data when the + * handler was added by ecore_event_handler_add(). On failure NULL will be + * returned. Once a handler is deleted it will no longer be called. + */ EAPI void *ecore_event_handler_del(Ecore_Event_Handler *event_handler); +/** + * @brief Add an event to the event queue. + * @param type The event type to add to the end of the event queue + * @param ev The data structure passed as @c event to event handlers + * @param func_free The function to be called to free @a ev + * @param data The data pointer to be passed to the free function + * @return A Handle for that event on success, otherwise NULL + * + * If it succeeds, an event of type @a type will be added to the queue for + * processing by event handlers added by ecore_event_handler_add(). The @a ev + * parameter will be passed as the @c event parameter of the handler. When the + * event is no longer needed, @a func_free will be called and passed @a ev for + * cleaning up. If @p func_free is NULL, free() will be called with the private + * structure pointer. + */ EAPI Ecore_Event *ecore_event_add(int type, void *ev, Ecore_End_Cb func_free, void *data); +/** + * @brief Delete an event from the queue. + * @param event The event handle to delete + * @return The data pointer originally set for the event free function + * + * This deletes the event @p event from the event queue, and returns the + * @p data parameter originally set when adding it with ecore_event_add(). This + * does not immediately call the free function, and it may be called later on + * cleanup, and so if the free function depends on the data pointer to work, + * you should defer cleaning of this till the free function is called later. + */ EAPI void *ecore_event_del(Ecore_Event *event); +/** + * @brief Get the data associated with an #Ecore_Event_Handler + * @param eh The event handler + * @return The data + * + * This function returns the data previously associated with @p eh by + * ecore_event_handler_add(). + */ EAPI void *ecore_event_handler_data_get(Ecore_Event_Handler *eh); +/** + * @brief Set the data associated with an #Ecore_Event_Handler + * @param eh The event handler + * @param data The data to associate + * @return The previous data + * + * This function sets @p data to @p eh and returns the old data pointer + * which was previously associated with @p eh by ecore_event_handler_add(). + */ EAPI void *ecore_event_handler_data_set(Ecore_Event_Handler *eh, const void *data); +/** + * @brief Allocate a new event type id sensibly and return the new id. + * @return A new event type id. + * + * This function allocates a new event type id and returns it. Once an event + * type has been allocated it can never be de-allocated during the life of + * the program. There is no guarantee of the contents of this event ID, or how + * it is calculated, except that the ID will be unique to the current instance + * of the process. + */ EAPI int ecore_event_type_new(void); +/** + * @brief Add a filter the current event queue. + * + * @param func_start Function to call just before filtering and return data + * @param func_filter Function to call on each event + * @param func_end Function to call after the queue has been filtered + * @param data Data to pass to the filter functions + * @return A filter handle on success, NULL otherwise + * + * Adds a callback to filter events from the event queue. Filters are called on + * the queue just before Event handler processing to try and remove redundant + * events. Just as processing is about to start @a func_start is called and + * passed the @a data pointer, the return value of this functions is passed to + * @a func_filter as loop_data. @a func_filter is also passed @a data and the + * event type and event structure. If this @a func_filter returns #EINA_FALSE, + * the event is removed from the queue, if it returns #EINA_TRUE, the event is + * kept. When processing is finished @p func_end is called and is passed the + * loop_data(returned by @c func_start) and @p data pointer to clean up. + */ EAPI Ecore_Event_Filter *ecore_event_filter_add(Ecore_Data_Cb func_start, Ecore_Filter_Cb func_filter, Ecore_End_Cb func_end, const void *data); +/** + * @brief Delete an event filter. + * @param ef The event filter handle + * @return The data set for the filter on success, NULL otherwise + * + * Delete a filter that has been added by its @p ef handle. + */ EAPI void *ecore_event_filter_del(Ecore_Event_Filter *ef); +/** + * @brief Return the current event type being handled. + * @return The current event type being handled if inside a handler callback, + * ECORE_EVENT_NONE otherwise + * + * If the program is currently inside an Ecore event handler callback this + * will return the type of the current event being processed. + * + * This is useful when certain Ecore modules such as Ecore_Evas "swallow" + * events and not all the original information is passed on. In special cases + * this extra information may be useful or needed and using this call can let + * the program know if the event type being handled is one it wants to get more + * information about. + */ EAPI int ecore_event_current_type_get(void); +/** + * @brief Return the current event type pointer handled. + * @return The current event pointer being handled if inside a handler callback, + * NULL otherwise + * + * If the program is currently inside an Ecore event handler callback this + * will return the pointer of the current event being processed. + * + * This is useful when certain Ecore modules such as Ecore_Evas "swallow" + * events and not all the original information is passed on. In special cases + * this extra information may be useful or needed and using this call can let + * the program access the event data if the type of the event is handled by + * the program. + */ EAPI void *ecore_event_current_event_get(void); /** @@ -652,7 +830,8 @@ EAPI void *ecore_event_current_event_get(void); * @{ */ - #define ECORE_EXE_PRIORITY_INHERIT 9999 +/** Inherit priority from parent process */ +#define ECORE_EXE_PRIORITY_INHERIT 9999 EAPI extern int ECORE_EXE_EVENT_ADD; /**< A child process has been added */ EAPI extern int ECORE_EXE_EVENT_DEL; /**< A child process has been deleted (it exited, naming consistent with the rest of ecore). */ @@ -715,7 +894,7 @@ struct _Ecore_Exe_Event_Del /** Process exit event */ Eina_Bool exited : 1; /** < set to 1 if the process exited of its own accord */ Eina_Bool signalled : 1; /** < set to 1 id the process exited due to uncaught signal */ void *ext_data; /**< Extension data - not used */ -#if !defined (_WIN32) && !defined (__lv2ppu__) +#if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) siginfo_t data; /**< Signal info */ #endif }; @@ -768,24 +947,30 @@ EAPI void ecore_exe_hup(Ecore_Exe *exe); /** * @defgroup Ecore_FD_Handler_Group File Event Handling Functions * - * Functions that deal with file descriptor handlers. + * @brief Functions that deal with file descriptor handlers. + * + * File descriptor handlers facilitate reading, writing and checking for errors + * without blocking the program or doing expensive pooling. This can be used to + * monitor a socket, pipe, or other stream for which an FD can be had. * - * The @ref Ecore_Fd_Handler can be used to watch a file descriptor - * for data available for reading, for the availability to write - * without blocking, and for errors on the file descriptor. + * @warning This function @b can't be used for monitoring to regular files! * - *ecore_main_fd_handler_add() is used to setup a handler for a - * given file descriptor. This file descriptor can be the standard - * input, a network socket, a stream received through some driver - * of a hardware decoder, etc. Thus it can contain errors, like a - * disconnection, a broken pipe, and so, and that's why it's - * possible to check for these errors with the @ref ECORE_FD_ERROR - * flag. + * One common FD to be monitored is the standard input(stdin), monitoring it for + * reading requires a single call: + * @code + * static Eina_Bool + * _my_cb_func(void *data, Ecore_Fd_Handler *handler) + * { + * char c; + * scanf("%c", &c); //Guaranteed not to block + * ... do stuff with c ... + * } + * ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _my_cb_func, NULL, NULL, NULL); + * @endcode * - * An @ref Ecore_Fd_Handler can be used to watch on a file - * descriptor without blocking, still being able to receive events, - * expire timers, and other watch for other things that happen in - * the Ecore main loop. + * When using a socket, pipe or other stream it's important to remember that + * errors may occur and as such to monitor not only for reading/writing but also + * for errors using the @ref ECORE_FD_ERROR flag. * * Example of use of a file descriptor handler: * @li @ref ecore_fd_handler_example_c @@ -823,11 +1008,93 @@ typedef void (*Ecore_Fd_Prep_Cb)(void *data, Ecore_Fd_Handler *fd_handler); */ typedef Eina_Bool (*Ecore_Win32_Handle_Cb)(void *data, Ecore_Win32_Handler *wh); +/** + * @brief Adds a callback for activity on the given file descriptor. + * + * @param fd The file descriptor to watch. + * @param flags To monitor it for reading use @c ECORE_FD_READ, for writing @c + * ECORE_FD_WRITE, and for error @c ECORE_FD_ERROR. Values bay |(ored). + * @param func The callback function. + * @param data The data to pass to the callback. + * @param buf_func The function to call to check if any data has been buffered + * and already read from the fd. May be @c NULL. + * @param buf_data The data to pass to the @p buf_func function. + * @return A fd handler handle on success, @c NULL otherwise. + * + * @a func will be called during the execution of @ref Ecore_Main_Loop_Page + * when the file descriptor is available for reading, writing, or there has been + * an error(depending on the given @a flags). + * + * When @a func returns ECORE_CALLBACK_CANCEL, it indicates that the + * handler should be marked for deletion (identical to calling @ref + * ecore_main_fd_handler_del). + * + * @warning @a buf_func is meant for @b internal use only and should be @b + * avoided. + * + * The return value of @a buf_func has a different meaning, when it returns + * ECORE_CALLBACK_CANCEL, it indicates that @a func @b shouldn't be called, and + * when it returns ECORE_CALLBACK_RENEW it indicates @a func should be called. + * The return value of @a buf_func will not cause the FD handler to be deleted. + * + * @a buf_func is called during event loop handling to check if data that has + * been read from the file descriptor is in a buffer and is available to read. + * Some systems, notably xlib, handle their own buffering, and would otherwise + * not work with select(). These systems should use a @a buf_func. This is a + * most annoying hack, only ecore_x uses it, so refer to that for an example. + */ EAPI Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, Ecore_Fd_Cb func, const void *data, Ecore_Fd_Cb buf_func, const void *buf_data); +/** + * @brief Set the prepare callback with data for a given #Ecore_Fd_Handler + * + * @param fd_handler The fd handler + * @param func The prep function + * @param data The data to pass to the prep function + * + * This function will be called prior to any fd handler's callback function + * (even the other fd handlers), before entering the main loop select function. + * + * @note Once a prepare callback is set for a fd handler, it cannot be changed. + * You need to delete the fd handler and create a new one, to set another + * callback. + * @note You probably don't need this function. It is only necessary for very + * uncommon cases that need special behavior. + */ EAPI void ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Prep_Cb func, const void *data); +/** + * @brief Marks an FD handler for deletion. + * @param fd_handler The FD handler. + * @return The data pointer set using @ref ecore_main_fd_handler_add, for @a + * fd_handler on success, @c NULL otherwise. + * This function marks an fd handler to be deleted during an iteration of the + * main loop. It does NOT close the associated fd! + * + * @warning If the underlying fd is already closed ecore may complain if the + * main loop is using epoll internally, and also in some rare cases this may + * cause crashes and instability. Remember to delete your fd handlers before the + * fds they listen to are closed. + */ EAPI void *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler); +/** + * @brief Retrieves the file descriptor that the given handler is handling. + * @param fd_handler The given FD handler. + * @return The file descriptor the handler is watching. + */ EAPI int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler); +/** + * @brief Gets which flags are active on an FD handler. + * @param fd_handler The given FD handler. + * @param flags The flags, @c ECORE_FD_READ, @c ECORE_FD_WRITE or @c + * ECORE_FD_ERROR to query. + * @return #EINA_TRUE if any of the given flags are active, #EINA_FALSE + * otherwise. + */ EAPI Eina_Bool ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags); +/** + * @brief Set what active streams the given FD handler should be monitoring. + * @param fd_handler The given FD handler. + * @param flags The flags to be watching. + */ EAPI void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags); EAPI Ecore_Win32_Handler *ecore_main_win32_handler_add(void *h, Ecore_Win32_Handle_Cb func, const void *data); @@ -840,13 +1107,30 @@ EAPI void *ecore_main_win32_handler_del(Ecore_Win32_Handler *win32_handler); /** * @defgroup Ecore_Poller_Group Ecore Poll functions * - * These functions are for the need to poll information, but provide - * a shared abstracted API to pool such polling to minimise wakeup - * and ensure all the polling happens in as few spots as possible - * areound a core poll interval. For now only 1 core poller type is - * supprted: ECORE_POLLER_CORE + * Ecore poller provides infrastructure for the creation of pollers. Pollers + * are, in essence, callbacks that share a single timer per type. Because not + * all pollers need to be called at the same frequency the user may specify the + * frequency in ticks(each expiration of the shared timer is called a tick, in + * ecore poller parlance) for each added poller. Ecore pollers should only be + * used when the poller doesn't have specific requirements on the exact times + * to poll. * - * Example of @ref Ecore_Poller : + * This architecture means that the main loop is only woken up once to handle + * all pollers of that type, this will save power as the CPU has more of a + * chance to go into a low power state the longer it is asleep for, so this + * should be used in situations where power usage is a concern. + * + * For now only 1 core poller type is supported: ECORE_POLLER_CORE, the default + * interval for ECORE_POLLER_CORE is 0.125(or 1/8th) second. + * + * The creation of a poller is extremely simple and only required one line: + * @code + * ecore_poller_add(ECORE_POLLER_CORE, 1, my_poller_function, NULL); + * @endcode + * This sample creates a poller to call @c my_poller_function at every tick with + * @c NULL as data. + * + * Example: * @li @ref ecore_poller_example_c * * @ingroup Ecore_Main_Loop_Group @@ -862,11 +1146,76 @@ typedef enum _Ecore_Poller_Type Ecore_Poller_Type; typedef struct _Ecore_Poller Ecore_Poller; /**< A handle for pollers */ +/** + * @brief Sets the time(in seconds) between ticks for the given poller type. + * @param type The poller type to adjust. + * @param poll_time The time(in seconds) between ticks of the timer. + * + * This will adjust the time between ticks of the given timer type defined by + * @p type to the time period defined by @p poll_time. + */ EAPI void ecore_poller_poll_interval_set(Ecore_Poller_Type type, double poll_time); +/** + * @brief Gets the time(in seconds) between ticks for the given poller type. + * @param type The poller type to query. + * @return The time in seconds between ticks of the poller timer. + * + * This will get the time between ticks of the specified poller timer. + */ EAPI double ecore_poller_poll_interval_get(Ecore_Poller_Type type); +/** + * @brief Changes the polling interval rate of @p poller. + * @param poller The Ecore_Poller to change the interval of. + * @param interval The tick interval to set; must be a power of 2 and <= 32768. + * @return Returns true on success, false on failure. + * + * This allows the changing of a poller's polling interval. It is useful when + * you want to alter a poll rate without deleting and re-creating a poller. + */ EAPI Eina_Bool ecore_poller_poller_interval_set(Ecore_Poller *poller, int interval); +/** + * @brief Gets the polling interval rate of @p poller. + * @param poller The Ecore_Poller to change the interval of. + * @return Returns the interval, in ticks, that @p poller polls at. + * + * This returns a poller's polling interval, or 0 on error. + */ EAPI int ecore_poller_poller_interval_get(Ecore_Poller *poller); +/** + * @brief Creates a poller to call the given function at a particular tick interval. + * @param type The ticker type to attach the poller to. Must be ECORE_POLLER_CORE. + * @param interval The poll interval. + * @param func The poller function. + * @param data Data to pass to @a func when it is called. + * @return A poller object on success, @c NULL otherwise. + * + * This function adds @a func as a poller callback that will be called every @a + * interval ticks together with other pollers of type @a type. @a func will be + * passed the @p data pointer as a parameter. + * + * The @p interval must be between 1 and 32768 inclusive, and must be a power of + * 2 (i.e. 1, 2, 4, 8, 16, ... 16384, 32768). The exact tick in which @a func + * will be called is undefined, as only the interval between calls can be + * defined. Ecore will endeavor to keep pollers synchronized and to call as + * many in 1 wakeup event as possible. If @a interval is not a power of two, the + * closest power of 2 greater than @a interval will be used. + * + * When the poller @p func is called, it must return a value of either + * ECORE_CALLBACK_RENEW(or 1) or ECORE_CALLBACK_CANCEL(or 0). If it + * returns 1, it will be called again at the next tick, or if it returns + * 0 it will be deleted automatically making any references/handles for it + * invalid. + */ EAPI Ecore_Poller *ecore_poller_add(Ecore_Poller_Type type, int interval, Ecore_Task_Cb func, const void *data); +/** + * @brief Delete the specified poller from the timer list. + * @param poller The poller to delete. + * @return The data pointer set for the timer when @ref ecore_poller_add was + * called on success, @c NULL otherwise. + * + * @note @a poller must be a valid handle. If the poller function has already + * returned 0, the handle is no longer valid (and does not need to be deleted). + */ EAPI void *ecore_poller_del(Ecore_Poller *poller); /** @@ -941,7 +1290,7 @@ typedef enum _Ecore_Animator_Source Ecore_Animator_Source; typedef Eina_Bool (*Ecore_Timeline_Cb)(void *data, double pos); /** - * @brief Add an animator to call @p func at every animaton tick during main + * @brief Add an animator to call @p func at every animation tick during main * loop execution. * * @param func The function to call when it ticks off @@ -1011,7 +1360,7 @@ EAPI void *ecore_animator_del(Ecore_Animator *animator); * * @param animator The animator to delete * - * The specified @p animator will be temporarly removed from the set of + * The specified @p animator will be temporarily removed from the set of * animators that are executed during main loop. * * @warning Freezing an animator doesn't freeze accounting of how long that @@ -1069,7 +1418,7 @@ EAPI double ecore_animator_frametime_get(void); * has "overshot" the mark) using some interpolation (mapping) algorithm. * * This function useful to create non-linear animations. It offers a variety - * of possible animaton curves to be used: + * of possible animation curves to be used: * @li ECORE_POS_MAP_LINEAR - Linear, returns @p pos * @li ECORE_POS_MAP_ACCELERATE - Start slow then speed up * @li ECORE_POS_MAP_DECELERATE - Start fast then slow down @@ -1107,7 +1456,7 @@ EAPI double ecore_animator_frametime_get(void); * y = (y1 * out) + (y2 * (1.0 - out)); * move_my_object_to(myobject, x, y); * @endcode - * This will make an animaton that bounces 7 each times diminishing by a + * This will make an animation that bounces 7 each times diminishing by a * factor of 1.8. * * @see _Ecore_Pos_Map @@ -1205,16 +1554,39 @@ EAPI void ecore_animator_custom_tick(void); */ /** - * @defgroup Ecore_Time_Group Ecore Time functions - * - * Functions that deal with time. These functions include those - * that simply retrieve it in a given format, and those that create - * events based on it. + * @defgroup Ecore_Time_Group Ecore time functions * - * The timer allows callbacks to be called at specific intervals. + * These are function to retrieve time in a given format. * - * Examples with functions that deal with time: + * Examples: * @li @ref ecore_time_functions_example_c + * @{ + */ +EAPI double ecore_time_get(void); +EAPI double ecore_time_unix_get(void); +EAPI double ecore_loop_time_get(void); + +/** + * @} + */ + +/** + * @defgroup Ecore_Timer_Group Ecore Timer functions + * + * Ecore provides very flexible timer functionality. The basic usage of timers, + * to call a certain function at a certain interval can be achieved with a + * single line: + * @code + * Eina_Bool my_func(void *data) { + * do_funky_stuff_with_data(data); + * return EINA_TRUE; + * } + * ecore_timer_add(interval_in_seconds, my_func, data_given_to_function); + * @endcode + * @note If the function was to be executed only once simply return EINA_FALSE + * instead. + * + * An example that shows the usage of a lot of these: * @li @ref ecore_timer_example_c * * @ingroup Ecore_Main_Loop_Group @@ -1224,10 +1596,6 @@ EAPI void ecore_animator_custom_tick(void); typedef struct _Ecore_Timer Ecore_Timer; /**< A handle for timers */ -EAPI double ecore_time_get(void); -EAPI double ecore_time_unix_get(void); -EAPI double ecore_loop_time_get(void); - EAPI Ecore_Timer *ecore_timer_add(double in, Ecore_Task_Cb func, const void *data); EAPI Ecore_Timer *ecore_timer_loop_add(double in, Ecore_Task_Cb func, const void *data); EAPI void *ecore_timer_del(Ecore_Timer *timer); @@ -1249,14 +1617,15 @@ EAPI char *ecore_timer_dump(void); /** * @defgroup Ecore_Idle_Group Ecore Idle functions * - * Callbacks that are called when the program enters or exits an - * idle state. + * The idler functionality in Ecore allows for callbacks to be called when the + * program isn't handling @ref Ecore_Event_Group "events", @ref Ecore_Timer_Group + * "timers" or @ref Ecore_FD_Handler_Group "fd handlers". * - * The ecore main loop enters an idle state when it is waiting for - * timers to time out, data to come in on a file descriptor or any - * other event to occur. You can set callbacks to be called when - * the main loop enters an idle state, during an idle state or just - * after the program wakes up. + * There are three types of idlers: Enterers, Idlers(proper) and Exiters. They + * are called, respectively, when the program is about to enter an idle state, + * when the program is in an idle state and when the program has just left an + * idle state and will begin processing @ref Ecore_Event_Group "events", @ref + * Ecore_Timer_Group "timers" or @ref Ecore_FD_Handler_Group "fd handlers". * * Enterer callbacks are good for updating your program's state, if * it has a state engine. Once all of the enterer handlers are @@ -1266,14 +1635,13 @@ EAPI char *ecore_timer_dump(void); * enterer handlers. They are useful for interfaces that require * polling and timers would be too slow to use. * + * Exiter callbacks are called when the main loop wakes up from an idle state. + * * If no idler callbacks are specified, then the process literally * goes to sleep. Otherwise, the idler callbacks are called * continuously while the loop is "idle", using as much CPU as is * available to the process. * - * Exiter callbacks are called when the main loop wakes up from an - * idle state. - * * @note Idle state doesn't mean that the @b program is idle, but * that the main loop is idle. It doesn't have any timers, * events, fd handlers or anything else to process (which in most @@ -1343,7 +1711,7 @@ EAPI void *ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter); * thread, the one running the main loop. This problem can be solved * by running a thread that sends messages to the main one using an * @ref Ecore_Pipe_Group "Ecore_Pipe", but when you need to handle other - * things like cancelling the thread, your code grows in coplexity and gets + * things like cancelling the thread, your code grows in complexity and gets * much harder to maintain. * * Ecore Thread is here to solve that problem. It is @b not a simple wrapper @@ -1514,7 +1882,7 @@ EAPI Ecore_Thread *ecore_thread_run(Ecore_Thread_Cb func_blocking, Ecore_Thread_ * with ecore_thread_feedback(). * * Like with ecore_thread_run(), a new thread will be launched to run - * @p func_heavy unless the maximum number of simultaneous threadas has been + * @p func_heavy unless the maximum number of simultaneous threads has been * reached, in which case the function will be scheduled to run whenever a * running task ends and a thread becomes free. But if @p try_no_queue is * set, Ecore will first try to launch a thread outside of the pool to run @@ -2076,7 +2444,7 @@ EAPI int ecore_pipe_wait(Ecore_Pipe *p, int message_count, double wait); * also will be executed in the order in which they were added. * * A good use for them is when you don't want to execute an action - * immeditately, but want to give the control back to the main loop + * immediately, but want to give the control back to the main loop * so that it will call your job callback when jobs start being * processed (and if there are other jobs added before yours, they * will be processed first). This also gives the chance to other diff --git a/libraries/ecore/src/lib/ecore/Makefile.am b/libraries/ecore/src/lib/ecore/Makefile.am index ec3d99f..6f14387 100644 --- a/libraries/ecore/src/lib/ecore/Makefile.am +++ b/libraries/ecore/src/lib/ecore/Makefile.am @@ -47,6 +47,12 @@ libecore_la_SOURCES += ecore_exe_ps3.c else +if ECORE_HAVE_EXOTIC + +libecore_la_SOURCES += + +else + libecore_la_SOURCES += ecore_signal.c ecore_exe.c endif @@ -55,6 +61,8 @@ endif endif +endif + libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ @EFL_PTHREAD_LIBS@ @rt_libs@ -lm libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ diff --git a/libraries/ecore/src/lib/ecore/Makefile.in b/libraries/ecore/src/lib/ecore/Makefile.in index 66a25cd..71e2ac4 100644 --- a/libraries/ecore/src/lib/ecore/Makefile.in +++ b/libraries/ecore/src/lib/ecore/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ @ECORE_HAVE_WIN32_TRUE@am__append_1 = ecore_exe_win32.c @ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_TRUE@am__append_2 = ecore_exe_wince.c @ECORE_HAVE_PS3_TRUE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_3 = ecore_exe_ps3.c -@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_4 = ecore_signal.c ecore_exe.c +@ECORE_HAVE_EXOTIC_TRUE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_4 = +@ECORE_HAVE_EXOTIC_FALSE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_5 = ecore_signal.c ecore_exe.c subdir = src/lib/ecore DIST_COMMON = $(includes_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in @@ -54,16 +55,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -100,15 +100,16 @@ am__libecore_la_SOURCES_DIST = ecore.c ecore_alloc.c ecore_anim.c \ @ECORE_HAVE_WIN32_TRUE@am__objects_1 = ecore_exe_win32.lo @ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_TRUE@am__objects_2 = ecore_exe_wince.lo @ECORE_HAVE_PS3_TRUE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_3 = ecore_exe_ps3.lo -@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_4 = ecore_signal.lo \ -@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@ ecore_exe.lo +am__objects_4 = +@ECORE_HAVE_EXOTIC_FALSE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_5 = ecore_signal.lo \ +@ECORE_HAVE_EXOTIC_FALSE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@ ecore_exe.lo am_libecore_la_OBJECTS = ecore.lo ecore_alloc.lo ecore_anim.lo \ ecore_app.lo ecore_events.lo ecore_getopt.lo \ ecore_idle_enterer.lo ecore_idle_exiter.lo ecore_idler.lo \ ecore_job.lo ecore_main.lo ecore_pipe.lo ecore_poll.lo \ ecore_time.lo ecore_timer.lo ecore_thread.lo ecore_glib.lo \ ecore_throttle.lo $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) + $(am__objects_3) $(am__objects_4) $(am__objects_5) libecore_la_OBJECTS = $(am_libecore_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) @@ -211,6 +212,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -266,6 +269,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -276,6 +281,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ @@ -503,7 +509,8 @@ libecore_la_SOURCES = ecore.c ecore_alloc.c ecore_anim.c ecore_app.c \ ecore_idle_exiter.c ecore_idler.c ecore_job.c ecore_main.c \ ecore_pipe.c ecore_poll.c ecore_time.c ecore_timer.c \ ecore_thread.c ecore_glib.c ecore_throttle.c $(am__append_1) \ - $(am__append_2) $(am__append_3) $(am__append_4) + $(am__append_2) $(am__append_3) $(am__append_4) \ + $(am__append_5) libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ @EFL_PTHREAD_LIBS@ @rt_libs@ -lm libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ EXTRA_DIST = ecore_private.h diff --git a/libraries/ecore/src/lib/ecore/ecore.c b/libraries/ecore/src/lib/ecore/ecore.c index 7e0f973..d8b8723 100644 --- a/libraries/ecore/src/lib/ecore/ecore.c +++ b/libraries/ecore/src/lib/ecore/ecore.c @@ -163,8 +163,10 @@ ecore_init(void) if (!ecore_mempool_init()) goto shutdown_mempool; _ecore_main_loop_init(); _ecore_signal_init(); - _ecore_thread_init(); +#ifndef HAVE_EXOTIC _ecore_exe_init(); +#endif + _ecore_thread_init(); _ecore_glib_init(); _ecore_job_init(); _ecore_time_init(); @@ -252,7 +254,9 @@ ecore_shutdown(void) _ecore_glib_shutdown(); _ecore_job_shutdown(); _ecore_thread_shutdown(); +#ifndef HAVE_EXOTIC _ecore_exe_shutdown(); +#endif _ecore_idle_enterer_shutdown(); _ecore_idle_exiter_shutdown(); _ecore_idler_shutdown(); diff --git a/libraries/ecore/src/lib/ecore/ecore_anim.c b/libraries/ecore/src/lib/ecore/ecore_anim.c index 78abad7..22c1f8c 100644 --- a/libraries/ecore/src/lib/ecore/ecore_anim.c +++ b/libraries/ecore/src/lib/ecore/ecore_anim.c @@ -272,11 +272,11 @@ ecore_animator_pos_map(double pos, return pos; case ECORE_POS_MAP_ACCELERATE: - pos = 1.0 - _pos_map_sin((M_PI / 2.0) + ((pos * M_PI) / 2.0)); + pos = 1.0 - _pos_map_sin(M_PI_2 + pos * M_PI_2); return pos; case ECORE_POS_MAP_DECELERATE: - pos = _pos_map_sin((pos * M_PI) / 2.0); + pos = _pos_map_sin(pos * M_PI_2); return pos; case ECORE_POS_MAP_SINUSOIDAL: diff --git a/libraries/ecore/src/lib/ecore/ecore_events.c b/libraries/ecore/src/lib/ecore/ecore_events.c index 0550224..500cf74 100644 --- a/libraries/ecore/src/lib/ecore/ecore_events.c +++ b/libraries/ecore/src/lib/ecore/ecore_events.c @@ -72,35 +72,6 @@ static void *ecore_raw_event_event = NULL; static void _ecore_event_purge_deleted(void); static void *_ecore_event_del(Ecore_Event *event); -/** - * @addtogroup Ecore_Event_Group - * - * @{ - */ - -/** - * Add an event handler. - * @param type The type of the event this handler will get called for - * @param func The function to call when the event is found in the queue - * @param data A data pointer to pass to the called function @p func - * @return A new Event handler, or NULL on failure - * - * Add an event handler to the list of handlers. This will, on success, return - * a handle to the event handler object that was created, that can be used - * later to remove the handler using ecore_event_handler_del(). The @p type - * parameter is the integer of the event type that will trigger this callback - * to be called. The callback @p func is called when this event is processed - * and will be passed the event type, a pointer to the private event - * structure that is specific to that event type, and a data pointer that is - * provided in this call as the @p data parameter. - * - * When the callback @p func is called, it must return 1 or 0. If it returns - * 1 (or ECORE_CALLBACK_PASS_ON), It will keep being called as per normal, for - * each handler set up for that event type. If it returns 0 (or - * ECORE_CALLBACK_DONE), it will cease processing handlers for that particular - * event, so all handler set to handle that event type that have not already - * been called, will not be. - */ EAPI Ecore_Event_Handler * ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, @@ -151,16 +122,6 @@ unlock: return eh; } -/** - * Delete an event handler. - * @param event_handler Event handler handle to delete - * @return Data passed to handler - * - * Delete a specified event handler from the handler list. On success this will - * delete the event handler and return the pointer passed as @p data when the - * handler was added by ecore_event_handler_add(). On failure NULL will be - * returned. Once a handler is deleted it will no longer be called. - */ EAPI void * ecore_event_handler_del(Ecore_Event_Handler *event_handler) { @@ -180,14 +141,6 @@ unlock: return data; } -/** - * @brief Get the data associated with an #Ecore_Event_Handler - * @param eh The event handler - * @return The data - * - * This function returns the data previously associated with @p eh by - * ecore_event_handler_add(). - */ EAPI void * ecore_event_handler_data_get(Ecore_Event_Handler *eh) { @@ -205,15 +158,6 @@ unlock: return data; } -/** - * @brief Set the data associated with an #Ecore_Event_Handler - * @param eh The event handler - * @param data The data to associate - * @return The previous data - * - * This function sets @p data to @p eh and returns the old data pointer - * which was previously associated with @p eh by ecore_event_handler_add(). - */ EAPI void * ecore_event_handler_data_set(Ecore_Event_Handler *eh, const void *data) @@ -238,27 +182,9 @@ static void _ecore_event_generic_free(void *data __UNUSED__, void *event) { /* DO NOT MEMPOOL FREE THIS */ - free (event); + free(event); } -/** - * Add an event to the event queue. - * @param type The event type to add to the end of the event queue - * @param ev The private data structure for this event type - * @param func_free The function to be called to free this private structure - * @param data The data pointer to be passed to the free function - * @return A Handle for that event - * - * On success this function returns a handle to an event on the event queue, or - * NULL if it fails. If it succeeds, an event of type @p type will be added - * to the queue for processing by event handlers added by - * ecore_event_handler_add(). The @p ev parameter will be a pointer to the event - * private data that is specific to that event type. When the event is no - * longer needed, @p func_free will be called and passed the private structure - * pointer for cleaning up. If @p func_free is NULL, free() will be called - * with the private structure pointer. - * func_free is passed @p data as its data parameter. - */ EAPI Ecore_Event * ecore_event_add(int type, void *ev, @@ -279,17 +205,6 @@ unlock: return event; } -/** - * Delete an event from the queue. - * @param event The event handle to delete - * @return The data pointer originally set for the event free function - * - * This deletes the event @p event from the event queue, and returns the - * @p data parameer originally set when adding it with ecore_event_add(). This - * does not immediately call the free function, and it may be called later on - * cleanup, and so if the free function depends on the data pointer to work, - * you should defer cleaning of this till the free function is called later. - */ EAPI void * ecore_event_del(Ecore_Event *event) { @@ -309,16 +224,6 @@ unlock: return data; } -/** - * Allocate a new event type id sensibly and return the new id. - * @return A new event type id. - * - * This function allocates a new event type id and returns it. Once an event - * type has been allocated it can never be de-allocated during the life of - * the program. There is no guarantee of the contents of this event ID, or how - * it is calculated, except that the ID will be unique to the current instance - * of the process. - */ EAPI int ecore_event_type_new(void) { @@ -331,26 +236,6 @@ ecore_event_type_new(void) return id; } -/** - * Add a filter the current event queue. - * @param func_start Function to call just before filtering and return data - * @param func_filter Function to call on each event - * @param func_end Function to call after the queu has been filtered - * @param data Data to pass to the filter functions - * @return A filter handle - * - * This adds a filter to call callbacks to loop through the event queue and - * filter events out of the queue. On failure NULL is returned. On success a - * Filter handle is returned. Filters are called on the queue just before - * Event handler processing to try and remove redundant events. Just as - * processing starts @p func_start is called and passed the @p data pointer. - * This function returns a pointer that is used as loop_data that is now passed to - * @p func_filter as loop_data. @p func_filter is also passed @p data and the - * event type and private event structure. If this callback returns 0, the - * event is removed from the queue. If it returns 1, the event is kept. When - * processing is finished @p func_end is called and is passed the loop_data - * and @p data pointer to clean up. - */ EAPI Ecore_Event_Filter * ecore_event_filter_add(Ecore_Data_Cb func_start, Ecore_Filter_Cb func_filter, @@ -374,15 +259,6 @@ unlock: return ef; } -/** - * Delete an event filter. - * @param ef The event filter handle - * @return The data set for the filter - * - * Delete a filter that has been added by its @p ef handle. On success this - * will return the data pointer set when this filter was added. On failure - * NULL is returned. - */ EAPI void * ecore_event_filter_del(Ecore_Event_Filter *ef) { @@ -404,50 +280,18 @@ unlock: return data; } -/** - * Return the current event type being handled. - * @return The current event type being handled if inside a handler callback - * - * If the program is currently inside an Ecore event handler callback this - * will return the type of the current event being processed. If Ecore is - * not inside an event handler, ECORE_EVENT_NONE is returned. - * - * This is useful when certain Ecore modules such as Ecore_Evas "swallow" - * events and not all the original information is passed on. In special cases - * this extra information may be useful or needed and using this call can let - * the program know if the event type being handled is one it wants to get more - * information about. - */ EAPI int ecore_event_current_type_get(void) { return ecore_raw_event_type; } -/** - * Return the current event type pointer handled. - * @return The current event pointer being handled if inside a handler callback - * - * If the program is currently inside an Ecore event handler callback this - * will return the pointer of the current event being processed. If Ecore is - * not inside an event handler, NULL will be returned. - * - * This is useful when certain Ecore modules such as Ecore_Evas "swallow" - * events and not all the original information is passed on. In special cases - * this extra information may be useful or needed and using this call can let - * the program access the event data if the type of the event is handled by - * the program. - */ EAPI void * ecore_event_current_event_get(void) { return ecore_raw_event_event; } -/** - * @} - */ - EAPI void * _ecore_event_handler_del(Ecore_Event_Handler *event_handler) { diff --git a/libraries/ecore/src/lib/ecore/ecore_exe.c b/libraries/ecore/src/lib/ecore/ecore_exe.c index d5465fc..47f8dc9 100644 --- a/libraries/ecore/src/lib/ecore/ecore_exe.c +++ b/libraries/ecore/src/lib/ecore/ecore_exe.c @@ -331,15 +331,15 @@ static int run_pri = ECORE_EXE_PRIORITY_INHERIT; * This sets the priority of processes run by ecore_exe_run() and * ecore_exe_pipe_run(). * @li On Windows, the child process is created by default with the - * #ECORE_EXE_WIN32_PRIORITY_NORMAL priority, unless the calling - * process is in #ECORE_EXE_WIN32_PRIORITY_IDLE or - * #ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL priority. In that case, the + * @ref ECORE_EXE_WIN32_PRIORITY_NORMAL priority, unless the calling + * process is in @ref ECORE_EXE_WIN32_PRIORITY_IDLE or + * @ref ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL priority. In that case, the * child process inherits this priority. - * @li On other platforms, if set to #ECORE_EXE_PRIORITY_INHERIT child + * @li On other platforms, if set to @ref ECORE_EXE_PRIORITY_INHERIT child * processes inherits the priority of their parent. This is the default. * * @param pri value a Ecore_Exe_Win32_Priority value on Windows, -20 - * to 19 or ECORE_EXE_PRIORITY_INHERIT on other OS. + * to 19 or @ref ECORE_EXE_PRIORITY_INHERIT on other OS. */ EAPI void ecore_exe_run_priority_set(int pri) diff --git a/libraries/ecore/src/lib/ecore/ecore_getopt.c b/libraries/ecore/src/lib/ecore/ecore_getopt.c index 76272d3..cd68189 100644 --- a/libraries/ecore/src/lib/ecore/ecore_getopt.c +++ b/libraries/ecore/src/lib/ecore/ecore_getopt.c @@ -38,6 +38,10 @@ void *alloca(size_t); # include #endif +#ifdef HAVE_EXOTIC +# include +#endif + #include "Ecore.h" #include "Ecore_Getopt.h" diff --git a/libraries/ecore/src/lib/ecore/ecore_main.c b/libraries/ecore/src/lib/ecore/ecore_main.c index 76aced6..587c83b 100644 --- a/libraries/ecore/src/lib/ecore/ecore_main.c +++ b/libraries/ecore/src/lib/ecore/ecore_main.c @@ -229,10 +229,14 @@ static Eina_Bool win32_handlers_delete_me = EINA_FALSE; #ifdef _WIN32 Ecore_Select_Function main_loop_select = _ecore_main_win32_select; #else -# ifdef HAVE_SYS_SELECT_H -# include -# endif +# if !defined EXOTIC_NO_SELECT +# ifdef HAVE_SYS_SELECT_H +# include +# endif Ecore_Select_Function main_loop_select = select; +# else +Ecore_Select_Function main_loop_select = NULL; +# endif #endif #ifndef USE_G_MAIN_LOOP @@ -848,6 +852,21 @@ _ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler) * DO NOT use this function unless you are the person God comes to ask for * advice when He has trouble managing the Universe. */ + +EAPI int +ecore_main_loop_iterate_may_block(int may_block) +{ +#ifndef USE_G_MAIN_LOOP + _ecore_lock(); +in_main_loop++; + _ecore_main_loop_iterate_internal(!may_block); +in_main_loop--; + _ecore_unlock(); + return _ecore_event_exist(); +#else + return g_main_context_iteration(NULL, may_block); +#endif +} EAPI void ecore_main_loop_iterate(void) { @@ -945,39 +964,6 @@ ecore_main_loop_select_func_get(void) return main_loop_select; } -/** - * Adds a callback for activity on the given file descriptor. - * - * @p func will be called during the execution of @ref ecore_main_loop_begin - * when the file descriptor is available for reading, or writing, or both. - * - * Normally when @p func returns ECORE_CALLBACK_CANCEL, it indicates that the - * handler should be marked for deletion (identical to calling @ref ecore_main_fd_handler_del). - * However, if the @p buf_func is supplied, then the return value from the @p func indicates that - * @p func should be called repeatedly until it returns ECORE_CALLBACK_CANCEL. - * - * @p buf_func is called during event loop handling to check if data that has - * been read from the file descriptor is in a buffer and is available to - * read. Some systems (notably xlib) handle their own buffering, and would - * otherwise not work with select(). These systems should use a @p buf_func. - * This is a most annoying hack, only ecore_x uses it, so refer to that for - * an example. NOTE - @p func should probably return ECORE_CALLBACK_RENEW always if - * @p buf_func is used, to avoid confusion with the other return value - * semantics. - * - * @param fd The file descriptor to watch. - * @param flags To watch it for read (@c ECORE_FD_READ) and/or - * (@c ECORE_FD_WRITE) write ability. @c ECORE_FD_ERROR - * - * @param func The callback function. - * @param data The data to pass to the callback. - * @param buf_func The function to call to check if any data has been - * buffered and already read from the fd. Can be @c NULL. - * @param buf_data The data to pass to the @p buf_func function. - * @return A fd handler handle if successful. @c NULL otherwise. - * @note This function CANNOT be used for reading/writing to regular files! - * @ingroup Ecore_FD_Handler_Group - */ EAPI Ecore_Fd_Handler * ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, @@ -1059,20 +1045,6 @@ ecore_main_win32_handler_add(void *h __UNUSED__, #endif -/** - * Marks an FD handler for deletion. - * @param fd_handler The FD handler. - * @return The data pointer set using @ref ecore_main_fd_handler_add, - * for @p fd_handler on success. @c NULL otherwise. - * @ingroup Ecore_FD_Handler_Group - * This function marks an fd handler to be deleted during an iteration of the main loop. - * It does NOT close the associated fd! - * - * @note If the underlying fd is already closed ecore may complain if the main loop - * is using epoll internally, and also in some rare cases this may cause - * crashes and instability. Remember to delete your fd handlers before the - * fds they listen to are closed. - */ EAPI void * ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler) { @@ -1116,24 +1088,6 @@ ecore_main_win32_handler_del(Ecore_Win32_Handler *win32_handler __UNUSED__) #endif -/** - * @brief Set the prepare callback with data for a given #Ecore_Fd_Handler - * - * @param fd_handler The fd handler - * @param func The prep function - * @param data The data to pass to the prep function - * - * This function will be called prior to any fd handler's callback function - * (even the other fd handlers), before entering the main loop select function. - * - * @note Once a prepare callback is set for a fd handler, it cannot be changed. - * You need to delete the fd handler and create a new one, to set another - * callback. - * @note You probably don't need this function. It is only necessary for very - * uncommon cases that need special behavior. - * - * @ingroup Ecore_FD_Handler_Group - */ EAPI void ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Prep_Cb func, @@ -1157,12 +1111,6 @@ unlock: _ecore_unlock(); } -/** - * Retrieves the file descriptor that the given handler is handling. - * @param fd_handler The given FD handler. - * @return The file descriptor the handler is watching. - * @ingroup Ecore_FD_Handler_Group - */ EAPI int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler) { @@ -1182,15 +1130,6 @@ unlock: return fd; } -/** - * Return if read, write or error, or a combination thereof, is active on the - * file descriptor of the given FD handler. - * @param fd_handler The given FD handler. - * @param flags The flags, @c ECORE_FD_READ, @c ECORE_FD_WRITE or - * @c ECORE_FD_ERROR to query. - * @return #EINA_TRUE if any of the given flags are active. #EINA_FALSE otherwise. - * @ingroup Ecore_FD_Handler_Group - */ EAPI Eina_Bool ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags) @@ -1213,12 +1152,6 @@ unlock: return ret; } -/** - * Set what active streams the given FD handler should be monitoring. - * @param fd_handler The given FD handler. - * @param flags The flags to be watching. - * @ingroup Ecore_FD_Handler_Group - */ EAPI void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags) @@ -1742,14 +1675,14 @@ _ecore_main_loop_iterate_internal(int once_only) if (_ecore_event_exist()) { /* but first conceptually enter an idle state */ - _ecore_idle_enterer_call(); - _ecore_throttle(); - /* now quickly poll to see which input fd's are active */ - _ecore_main_select(0.0); - /* allow newly queued timers to expire from now on */ - _ecore_timer_enable_new(); - /* go straight to processing the events we had queued */ - goto process_all; + _ecore_idle_enterer_call(); + _ecore_throttle(); + /* now quickly poll to see which input fd's are active */ + _ecore_main_select(0.0); + /* allow newly queued timers to expire from now on */ + _ecore_timer_enable_new(); + /* go straight to processing the events we had queued */ + goto process_all; } if (once_only) @@ -1758,17 +1691,17 @@ _ecore_main_loop_iterate_internal(int once_only) * if we got any events or signals, allow new timers to process. * use bitwise or to force both conditions to be tested and * merged together */ - if (_ecore_main_select(0.0) | _ecore_signal_count_get()) - { - _ecore_timer_enable_new(); - goto process_all; - } + if (_ecore_main_select(0.0) | _ecore_signal_count_get()) + { + _ecore_timer_enable_new(); + goto process_all; + } } else { /* call idle enterers ... */ - _ecore_idle_enterer_call(); - _ecore_throttle(); + _ecore_idle_enterer_call(); + _ecore_throttle(); } /* if these calls caused any buffered events to appear - deal with them */ @@ -1787,10 +1720,10 @@ _ecore_main_loop_iterate_internal(int once_only) if (once_only) { /* in once_only mode enter idle here instead and then return */ - _ecore_idle_enterer_call(); - _ecore_throttle(); - _ecore_timer_enable_new(); - goto done; + _ecore_idle_enterer_call(); + _ecore_throttle(); + _ecore_timer_enable_new(); + goto done; } _ecore_fps_marker_1(); @@ -1808,23 +1741,23 @@ start_loop: /***************************************************************/ if (!_ecore_event_exist()) { /* init flags */ - next_time = _ecore_timer_next_get(); - /* no idlers */ - if (!_ecore_idler_exist()) - { - /* sleep until timeout or forever (-1.0) waiting for on fds */ - _ecore_main_select(next_time); - } - else - { - int action = LOOP_CONTINUE; + next_time = _ecore_timer_next_get(); + /* no idlers */ + if (!_ecore_idler_exist()) + { + /* sleep until timeout or forever (-1.0) waiting for on fds */ + _ecore_main_select(next_time); + } + else + { + int action = LOOP_CONTINUE; - /* no timers - spin */ - if (next_time < 0) action = _ecore_main_loop_spin_no_timers(); - /* timers - spin */ - else action = _ecore_main_loop_spin_timers(); - if (action == SPIN_RESTART) goto start_loop; - } + /* no timers - spin */ + if (next_time < 0) action = _ecore_main_loop_spin_no_timers(); + /* timers - spin */ + else action = _ecore_main_loop_spin_timers(); + if (action == SPIN_RESTART) goto start_loop; + } } _ecore_fps_marker_2(); @@ -1847,8 +1780,8 @@ process_all: /***********************************************************/ if (once_only) { /* if in once_only mode handle idle exiting */ - _ecore_idle_enterer_call(); - _ecore_throttle(); + _ecore_idle_enterer_call(); + _ecore_throttle(); } done: /*******************************************************************/ diff --git a/libraries/ecore/src/lib/ecore/ecore_pipe.c b/libraries/ecore/src/lib/ecore/ecore_pipe.c index aa640cd..ea7453e 100644 --- a/libraries/ecore/src/lib/ecore/ecore_pipe.c +++ b/libraries/ecore/src/lib/ecore/ecore_pipe.c @@ -36,15 +36,13 @@ # include #endif +#ifdef HAVE_EXOTIC +# include +#endif + #include "Ecore.h" #include "ecore_private.h" -#ifdef _WIN32 -# define FMT_SSIZE_T "%Id" -#else -# define FMT_SSIZE_T "%zd" -#endif - /* How of then we should retry to write to the pipe */ #define ECORE_PIPE_WRITE_RETRY 6 @@ -80,6 +78,9 @@ #endif /* ! _WIN32 */ +#include +#include "ecore_private.h" + struct _Ecore_Pipe { ECORE_MAGIC; @@ -414,7 +415,7 @@ ecore_pipe_write(Ecore_Pipe *p, ; else { - ERR("An unhandled error (ret: " FMT_SSIZE_T " errno: %d)" + ERR("An unhandled error (ret: %zd errno: %d)" "occurred while writing to the pipe the length", ret, errno); } @@ -448,7 +449,7 @@ ecore_pipe_write(Ecore_Pipe *p, ; else { - ERR("An unhandled error (ret: " FMT_SSIZE_T " errno: %d)" + ERR("An unhandled error (ret: %zd errno: %d)" "occurred while writing to the pipe the length", ret, errno); } diff --git a/libraries/ecore/src/lib/ecore/ecore_poll.c b/libraries/ecore/src/lib/ecore/ecore_poll.c index 732850b..bf4da6a 100644 --- a/libraries/ecore/src/lib/ecore/ecore_poll.c +++ b/libraries/ecore/src/lib/ecore/ecore_poll.c @@ -189,20 +189,6 @@ _ecore_poller_cb_timer(void *data __UNUSED__) return ECORE_CALLBACK_RENEW; } -/** - * @addtogroup Ecore_Poller_Group - * - * @{ - */ - -/** - * Sets the time between ticks (in seconds) for the given ticker clock. - * @param type The ticker type to adjust - * @param poll_time The time (in seconds) between ticks of the clock - * - * This will adjust the time between ticks of the given ticker type defined - * by @p type to the time period defined by @p poll_time. - */ EAPI void ecore_poller_poll_interval_set(Ecore_Poller_Type type __UNUSED__, double poll_time) @@ -211,65 +197,12 @@ ecore_poller_poll_interval_set(Ecore_Poller_Type type __UNUSED__, _ecore_poller_next_tick_eval(); } -/** - * Gets the time between ticks (in seconds) for the given ticker clock. - * @param type The ticker type to query - * @return The time in seconds between ticks of the ticker clock - * - * This will get the time between ticks of the specified ticker clock. - */ EAPI double ecore_poller_poll_interval_get(Ecore_Poller_Type type __UNUSED__) { return poll_interval; } -/** - * Creates a poller to call the given function at a particular tick interval. - * @param type The ticker type to attach the poller to - * @param interval The poll interval - * @param func The given function. If @p func returns 1, the poller is - * rescheduled for the next tick interval. - * @param data Data to pass to @p func when it is called. - * @return A poller object on success. @c NULL on failure. - * - * This function adds a poller callback that is to be called regularly - * along with all other poller callbacks so the pollers are synchronized with - * all other pollers running off the same poller type and at the same tick - * interval. This should be used for polling things when polling is desired - * or required, and you do not have specific requirements on the exact times - * to poll and want to avoid extra process wakeups for polling. This will - * save power as the CPU has more of a chance to go into a low power state - * the longer it is asleep for, so this should be used if you are at all - * power conscious. - * - * The @p type parameter defines the poller tick type (there is a virtual - * clock ticking all the time - though ecore avoids making it tick when - * there will not be any work to do at that tick point). There is only one - * ticker at the moment - that is ECORE_POLLER_CORE. This is here for future - * expansion if multiple clocks with different frequencies are really required. - * The default time between ticks for the ECORE_POLLER_CORE ticker is 0.125 - * seconds. - * - * The @p interval is the number of ticker ticks that will pass by in between - * invocations of the @p func callback. This must be between 1 and 32768 - * inclusive, and must be a power of 2 (i.e. 1, 2, 4, 8, 16, ... 16384, 32768). - * If it is 1, then the function will be called every tick. if it is 2, then it - * will be called every 2nd tick, if it is 8, then every 8th tick etc. Exactly - * which tick is undefined, as only the interval between calls can be defined. - * Ecore will endeavour to keep pollers synchronised and to call as many in - * 1 wakeup event as possible. - * - * This function adds a poller and returns its handle on success and NULL on - * failure. The function @p func will be called at tick intervals described - * above. The function will be passed the @p data pointer as its parameter. - * - * When the poller @p func is called, it must return a value of either - * 1 (or ECORE_CALLBACK_RENEW) or 0 (or ECORE_CALLBACK_CANCEL). If it - * returns 1, it will be called again at the next tick, or if it returns - * 0 it will be deleted automatically making any references/handles for it - * invalid. - */ EAPI Ecore_Poller * ecore_poller_add(Ecore_Poller_Type type __UNUSED__, int interval, @@ -307,16 +240,6 @@ ecore_poller_add(Ecore_Poller_Type type __UNUSED__, return poller; } -/** - * Changes the polling interval rate of @p poller. - * - * @param poller The Ecore_Poller to change the interval of - * @param interval The tick interval to set; must be a power of 2 but <= 32768 - * @return Returns true on success, false on failure - * - * This allows the changing of a poller's polling interval. It is useful when you want to alter - * a poll rate without deleting and re-creating a poller. - */ EAPI Eina_Bool ecore_poller_poller_interval_set(Ecore_Poller *poller, int interval) @@ -353,14 +276,6 @@ ecore_poller_poller_interval_set(Ecore_Poller *poller, return EINA_TRUE; } -/** - * Gets the polling interval rate of @p poller. - * - * @param poller The Ecore_Poller to change the interval of - * @return Returns the interval, in ticks, that @p poller polls at - * - * This returns a poller's polling interval, or 0 on error. - */ EAPI int ecore_poller_poller_interval_get(Ecore_Poller *poller) { @@ -382,15 +297,6 @@ ecore_poller_poller_interval_get(Ecore_Poller *poller) return interval; } -/** - * Delete the specified poller from the timer list. - * @param poller The poller to delete. - * @return The data pointer set for the timer when @ref ecore_poller_add was - * called. @c NULL is returned if the function is unsuccessful. - * - * Note: @p poller must be a valid handle. If the poller function has already - * returned 0, the handle is no longer valid (and does not need to be delete). - */ EAPI void * ecore_poller_del(Ecore_Poller *poller) { diff --git a/libraries/ecore/src/lib/ecore/ecore_private.h b/libraries/ecore/src/lib/ecore/ecore_private.h index 50d502c..f0c5d6b 100644 --- a/libraries/ecore/src/lib/ecore/ecore_private.h +++ b/libraries/ecore/src/lib/ecore/ecore_private.h @@ -174,7 +174,7 @@ void *_ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler); void _ecore_main_shutdown(void); -#if defined (_WIN32) || defined (__lv2ppu__) +#if defined (_WIN32) || defined (__lv2ppu__) || defined (HAVE_EXOTIC) static inline void _ecore_signal_shutdown(void) { } static inline void _ecore_signal_init(void) { } @@ -237,14 +237,14 @@ _ecore_lock(void) EINA_MAIN_LOOP_CHECK_RETURN; #endif _ecore_main_lock_count++; - assert(_ecore_main_lock_count == 1); + /* assert(_ecore_main_lock_count == 1); */ } static inline void _ecore_unlock(void) { _ecore_main_lock_count--; - assert(_ecore_main_lock_count == 0); + /* assert(_ecore_main_lock_count == 0); */ #ifdef HAVE_THREAD_SAFETY eina_lock_release(&_ecore_main_loop_lock); #endif diff --git a/libraries/ecore/src/lib/ecore/ecore_thread.c b/libraries/ecore/src/lib/ecore/ecore_thread.c index 4444ad4..85fbe64 100644 --- a/libraries/ecore/src/lib/ecore/ecore_thread.c +++ b/libraries/ecore/src/lib/ecore/ecore_thread.c @@ -17,6 +17,25 @@ #ifdef EFL_HAVE_THREADS +# define LK(x) Eina_Lock x +# define LKI(x) eina_lock_new(&(x)) +# define LKD(x) eina_lock_free(&(x)) +# define LKL(x) eina_lock_take(&(x)) +# define LKU(x) eina_lock_release(&(x)) + +# define CD(x) Eina_Condition x +# define CDI(x, m) eina_condition_new(&(x), &(m)) +# define CDD(x) eina_condition_free(&(x)) +# define CDB(x) eina_condition_broadcast(&(x)) +# define CDW(x, t) eina_condition_timedwait(&(x), t) + +# define LRWK(x) Eina_RWLock x +# define LRWKI(x) eina_rwlock_new(&(x)); +# define LRWKD(x) eina_rwlock_free(&(x)); +# define LRWKWL(x) eina_rwlock_take_write(&(x)); +# define LRWKRL(x) eina_rwlock_take_read(&(x)); +# define LRWKU(x) eina_rwlock_release(&(x)); + # ifdef EFL_HAVE_POSIX_THREADS # include # ifdef __linux__ @@ -31,28 +50,9 @@ # define PHE(x, y) pthread_equal(x, y) # define PHS() pthread_self() # define PHC(x, f, d) pthread_create(&(x), NULL, (void *)f, d) -# define PHJ(x, p) pthread_join(x, (void **)(&(p))) +# define PHJ(x) pthread_join(x, NULL) # define PHA(x) pthread_cancel(x) -# define CD(x) pthread_cond_t x -# define CDI(x) pthread_cond_init(&(x), NULL); -# define CDD(x) pthread_cond_destroy(&(x)); -# define CDB(x) pthread_cond_broadcast(&(x)); -# define CDW(x, y, t) pthread_cond_timedwait(&(x), &(y), t); - -# define LK(x) pthread_mutex_t x -# define LKI(x) pthread_mutex_init(&(x), NULL); -# define LKD(x) pthread_mutex_destroy(&(x)); -# define LKL(x) pthread_mutex_lock(&(x)); -# define LKU(x) pthread_mutex_unlock(&(x)); - -# define LRWK(x) pthread_rwlock_t x -# define LRWKI(x) pthread_rwlock_init(&(x), NULL); -# define LRWKD(x) pthread_rwlock_destroy(&(x)); -# define LRWKWL(x) pthread_rwlock_wrlock(&(x)); -# define LRWKRL(x) pthread_rwlock_rdlock(&(x)); -# define LRWKU(x) pthread_rwlock_unlock(&(x)); - # else /* EFL_HAVE_WIN32_THREADS */ # define WIN32_LEAN_AND_MEAN @@ -108,209 +108,9 @@ _ecore_thread_win32_join(win32_thread *x, return 0; } -# define PHJ(x, p) _ecore_thread_win32_join(x, (void **)(&(p))) +# define PHJ(x) _ecore_thread_win32_join(x, NULL) # define PHA(x) TerminateThread(x->thread, 0) -# define LK(x) HANDLE x -# define LKI(x) x = CreateMutex(NULL, FALSE, NULL) -# define LKD(x) CloseHandle(x) -# define LKL(x) WaitForSingleObject(x, INFINITE) -# define LKU(x) ReleaseMutex(x) - -typedef struct -{ - HANDLE semaphore; - LONG threads_count; - CRITICAL_SECTION threads_count_lock; -} win32_cond; - -# define CD(x) win32_cond * x - -# define CDI(x) \ - do { \ - x = (win32_cond *)calloc(1, sizeof(win32_cond)); \ - if (x) \ - { \ - x->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL); \ - if (x->semaphore) \ - InitializeCriticalSection(&x->threads_count_lock); \ - else \ - { \ - free(x); \ - x = NULL; \ - } \ - } \ - } while (0) - -# define CDD(x) \ - do { \ - CloseHandle(x->semaphore); \ - free(x); \ - x = NULL; \ - } while (0) - -# define CDB(x) \ - do { \ - EnterCriticalSection(&x->threads_count_lock); \ - if (x->threads_count > 0) \ - ReleaseSemaphore(x->semaphore, x->threads_count, NULL); \ - LeaveCriticalSection (&x->threads_count_lock); \ - } while (0) - -int -_ecore_thread_win32_cond_timedwait(win32_cond *c, - HANDLE *external_mutex, - struct timeval *t) -{ - DWORD res; - DWORD val = t->tv_sec * 1000 + (t->tv_usec / 1000); - LKL(external_mutex); - EnterCriticalSection (&c->threads_count_lock); - c->threads_count++; - LeaveCriticalSection (&c->threads_count_lock); - LKU(external_mutex); - res = WaitForSingleObject(c->semaphore, val); - if (res == WAIT_OBJECT_0) - return 0; - else - return -1; -} - -# define CDW(x, y, t) _ecore_thread_win32_cond_timedwait(x, y, t) - -typedef struct -{ - LONG readers_count; - LONG writers_count; - int readers; - int writers; - LK(mutex); - CD(cond_read); - CD(cond_write); -} win32_rwl; - -# define LRWK(x) win32_rwl * x -# define LRWKI(x) \ - do { \ - x = (win32_rwl *)calloc(1, sizeof(win32_rwl)); \ - if (x) \ - { \ - LKI(x->mutex); \ - if (x->mutex) \ - { \ - CDI(x->cond_read); \ - if (x->cond_read) \ - { \ - CDI(x->cond_write); \ - if (!x->cond_write) \ - { \ - CDD(x->cond_read); \ - LKD(x->mutex); \ - free(x); \ - x = NULL; \ - } \ - } \ - else \ - { \ - LKD(x->mutex); \ - free(x); \ - x = NULL; \ - } \ - } \ - else \ - { \ - free(x); \ - x = NULL; \ - } \ - } \ - } while (0) - -# define LRWKD(x) \ - do { \ - LKU(x->mutex); \ - LKD(x->mutex); \ - CDD(x->cond_write); \ - CDD(x->cond_read); \ - free(x); \ - } while (0) -# define LRWKWL(x) \ - do { \ - DWORD res; \ - LKU(x->mutex); \ - if (x->writers || x->readers > 0) \ - { \ - x->writers_count++; \ - while (x->writers || x->readers > 0) \ - { \ - EnterCriticalSection(&x->cond_write->threads_count_lock); \ - x->cond_read->threads_count++; \ - LeaveCriticalSection(&x->cond_write->threads_count_lock); \ - res = WaitForSingleObject(x->cond_write->semaphore, INFINITE); \ - if (res != WAIT_OBJECT_0) break; \ - } \ - x->writers_count--; \ - } \ - if (res == 0) x->writers_count = 1; \ - LKU(x->mutex); \ - } while (0) -# define LRWKRL(x) \ - do { \ - DWORD res; \ - LKL(x->mutex); \ - if (x->writers) \ - { \ - x->readers_count++; \ - while (x->writers) \ - { \ - EnterCriticalSection(&x->cond_write->threads_count_lock); \ - x->cond_read->threads_count++; \ - LeaveCriticalSection(&x->cond_write->threads_count_lock); \ - res = WaitForSingleObject(x->cond_write->semaphore, INFINITE); \ - if (res != WAIT_OBJECT_0) break; \ - } \ - x->readers_count--; \ - } \ - if (res == 0) \ - x->readers++; \ - LKU(x->mutex); \ - } while (0) -# define LRWKU(x) \ - do { \ - LKL(x->mutex); \ - if (x->writers) \ - { \ - x->writers = 0; \ - if (x->readers_count == 1) \ - { \ - EnterCriticalSection(&x->cond_read->threads_count_lock); \ - if (x->cond_read->threads_count > 0) \ - ReleaseSemaphore(x->cond_read->semaphore, 1, 0); \ - LeaveCriticalSection(&x->cond_read->threads_count_lock); \ - } \ - else if (x->readers_count > 0) \ - CDB(x->cond_read); \ - else if (x->writers_count > 0) \ - { \ - EnterCriticalSection (&x->cond_write->threads_count_lock); \ - if (x->cond_write->threads_count > 0) \ - ReleaseSemaphore(x->cond_write->semaphore, 1, 0); \ - LeaveCriticalSection (&x->cond_write->threads_count_lock); \ - } \ - } \ - else if (x->readers > 0) \ - { \ - x->readers--; \ - if (x->readers == 0 && x->writers_count > 0) \ - { \ - EnterCriticalSection (&x->cond_write->threads_count_lock); \ - if (x->cond_write->threads_count > 0) \ - ReleaseSemaphore(x->cond_write->semaphore, 1, 0); \ - LeaveCriticalSection (&x->cond_write->threads_count_lock); \ - } \ - } \ - LKU(x->mutex); \ - } while (0) - # endif #endif @@ -336,14 +136,24 @@ struct _Ecore_Pthread_Worker { Ecore_Thread_Cb func_heavy; Ecore_Thread_Notify_Cb func_notify; - Ecore_Pipe *notify; - Ecore_Pipe *direct_pipe; Ecore_Pthread_Worker *direct_worker; int send; int received; } feedback_run; + struct { + Ecore_Thread_Cb func_main; + Ecore_Thread_Notify_Cb func_notify; + + Ecore_Pipe *send; + Ecore_Pthread_Worker *direct_worker; + + struct { + int send; + int received; + } from, to; + } message_run; } u; Ecore_Thread_Cb func_cancel; @@ -357,47 +167,63 @@ struct _Ecore_Pthread_Worker const void *data; - Eina_Bool cancel : 1; - Eina_Bool feedback_run : 1; - Eina_Bool kill : 1; - Eina_Bool reschedule : 1; - Eina_Bool no_queue : 1; + volatile int cancel; + +#ifdef EFL_HAVE_THREADS + LK(cancel_mutex); +#endif + + Eina_Bool message_run : 1; + Eina_Bool feedback_run : 1; + Eina_Bool kill : 1; + Eina_Bool reschedule : 1; + Eina_Bool no_queue : 1; }; #ifdef EFL_HAVE_THREADS typedef struct _Ecore_Pthread_Data Ecore_Pthread_Data; - struct _Ecore_Pthread_Data { Ecore_Pthread_Worker *death_job; - Ecore_Pipe *p; void *data; PH(thread); }; + +typedef struct _Ecore_Pthread_Notify Ecore_Pthread_Notify; +struct _Ecore_Pthread_Notify +{ + Ecore_Pthread_Worker *work; + const void *user_data; +}; + +typedef void *(*Ecore_Thread_Sync_Cb)(void* data, Ecore_Thread *thread); + +typedef struct _Ecore_Pthread_Message Ecore_Pthread_Message; +struct _Ecore_Pthread_Message +{ + union { + Ecore_Thread_Cb async; + Ecore_Thread_Sync_Cb sync; + } u; + + const void *data; + + int code; + + Eina_Bool callback : 1; + Eina_Bool sync : 1; +}; + #endif static int _ecore_thread_count_max = 0; -static int ECORE_THREAD_PIPE_DEL = 0; -static Eina_Array *_ecore_thread_pipe = NULL; #ifdef EFL_HAVE_THREADS -static void _ecore_thread_handler(void *data __UNUSED__, - void *buffer, - unsigned int nbyte); - -static Ecore_Pipe * -_ecore_thread_pipe_get(void) -{ - if (eina_array_count(_ecore_thread_pipe) > 0) - return eina_array_pop(_ecore_thread_pipe); - - return ecore_pipe_add(_ecore_thread_handler, NULL); -} +static void _ecore_thread_handler(void *data); static int _ecore_thread_count = 0; -static Ecore_Event_Handler *del_handler = NULL; static Eina_List *_ecore_active_job_threads = NULL; static Eina_List *_ecore_pending_job_threads = NULL; static Eina_List *_ecore_pending_job_threads_feedback = NULL; @@ -435,6 +261,10 @@ static PH(get_main_loop_thread) (void) static void _ecore_thread_worker_free(Ecore_Pthread_Worker *worker) { + LKD(worker->cancel_mutex); + CDD(worker->cond); + LKD(worker->mutex); + if (_ecore_thread_worker_count > (_ecore_thread_count_max + 1) * 16) { free(worker); @@ -454,38 +284,15 @@ _ecore_thread_data_free(void *data) } static void -_ecore_thread_pipe_free(void *data __UNUSED__, - void *event) -{ - Ecore_Pipe *p = event; - - if (eina_array_count(_ecore_thread_pipe) < 50) - eina_array_push(_ecore_thread_pipe, p); - else - ecore_pipe_del(p); - eina_threads_shutdown(); -} - -static Eina_Bool -_ecore_thread_pipe_del(void *data __UNUSED__, - int type __UNUSED__, - void *event __UNUSED__) -{ - /* This is a hack to delay pipe destruction until we are out of its internal loop. */ - return ECORE_CALLBACK_CANCEL; -} - -static void _ecore_thread_end(Ecore_Pthread_Data *pth, Ecore_Thread *work) { Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)work; - Ecore_Pipe *p; - if (!worker->feedback_run || (worker->feedback_run && !worker->no_queue)) + if (!worker->message_run || !worker->feedback_run || (worker->feedback_run && !worker->no_queue)) _ecore_thread_count--; - if (PHJ(pth->thread, p) != 0) + if (PHJ(pth->thread) != 0) return; if (eina_list_count(_ecore_pending_job_threads) > 0 @@ -496,7 +303,7 @@ _ecore_thread_end(Ecore_Pthread_Data *pth, INF("spawning threads because of still pending jobs."); pth->death_job = _ecore_thread_worker_new(); - if (!pth->p || !pth->death_job) goto end; + if (!pth->death_job) goto end; eina_threads_init(); @@ -514,7 +321,6 @@ end: _ecore_active_job_threads = eina_list_remove(_ecore_active_job_threads, pth); - ecore_event_add(ECORE_THREAD_PIPE_DEL, pth->p, _ecore_thread_pipe_free, NULL); free(pth); } @@ -534,30 +340,18 @@ _ecore_thread_kill(Ecore_Pthread_Worker *work) if (work->feedback_run) { - ecore_pipe_del(work->u.feedback_run.notify); - - if (work->u.feedback_run.direct_pipe) - eina_array_push(_ecore_thread_pipe, work->u.feedback_run.direct_pipe); if (work->u.feedback_run.direct_worker) _ecore_thread_worker_free(work->u.feedback_run.direct_worker); } - CDD(work->cond); - LKD(work->mutex); if (work->hash) eina_hash_free(work->hash); _ecore_thread_worker_free(work); } static void -_ecore_thread_handler(void *data __UNUSED__, - void *buffer, - unsigned int nbyte) +_ecore_thread_handler(void *data) { - Ecore_Pthread_Worker *work; - - if (nbyte != sizeof (Ecore_Pthread_Worker *)) return; - - work = *(Ecore_Pthread_Worker **)buffer; + Ecore_Pthread_Worker *work = data; if (work->feedback_run) { @@ -571,17 +365,20 @@ _ecore_thread_handler(void *data __UNUSED__, _ecore_thread_kill(work); } +#if 0 static void -_ecore_notify_handler(void *data, - void *buffer, - unsigned int nbyte) +_ecore_nothing_handler(void *data __UNUSED__, void *buffer __UNUSED__, unsigned int nbyte __UNUSED__) { - Ecore_Pthread_Worker *work = data; - void *user_data; +} +#endif - if (nbyte != sizeof (Ecore_Pthread_Worker *)) return; +static void +_ecore_notify_handler(void *data) +{ + Ecore_Pthread_Notify *notify = data; + Ecore_Pthread_Worker *work = notify->work; + void *user_data = (void*) notify->user_data; - user_data = *(void **)buffer; work->u.feedback_run.received++; if (work->u.feedback_run.func_notify) @@ -592,16 +389,64 @@ _ecore_notify_handler(void *data, { _ecore_thread_kill(work); } + + free(notify); +} + +static void +_ecore_message_notify_handler(void *data) +{ + Ecore_Pthread_Notify *notify = data; + Ecore_Pthread_Worker *work = notify->work; + Ecore_Pthread_Message *user_data = (void *) notify->user_data; + Eina_Bool delete = EINA_TRUE; + + work->u.message_run.from.received++; + + if (!user_data->callback) + { + if (work->u.message_run.func_notify) + work->u.message_run.func_notify((void *) work->data, (Ecore_Thread *) work, (void *) user_data->data); + } + else + { + if (user_data->sync) + { + user_data->data = user_data->u.sync((void*) user_data->data, (Ecore_Thread *) work); + user_data->callback = EINA_FALSE; + user_data->code = INT_MAX; + ecore_pipe_write(work->u.message_run.send, &user_data, sizeof (Ecore_Pthread_Message *)); + + delete = EINA_FALSE; + } + else + { + user_data->u.async((void*) user_data->data, (Ecore_Thread *) work); + } + } + + if (delete) + { + free(user_data); + } + + /* Force reading all notify event before killing the thread */ + if (work->kill && work->u.message_run.from.send == work->u.message_run.from.received) + { + _ecore_thread_kill(work); + } + free(notify); } static void -_ecore_short_job(Ecore_Pipe *end_pipe, - PH(thread)) +_ecore_short_job(PH(thread)) { Ecore_Pthread_Worker *work; while (_ecore_pending_job_threads) { + int cancel; + LKL(_ecore_pending_job_threads_mutex); if (!_ecore_pending_job_threads) @@ -616,9 +461,12 @@ _ecore_short_job(Ecore_Pipe *end_pipe, LKU(_ecore_pending_job_threads_mutex); + LKL(work->cancel_mutex); + cancel = work->cancel; + LKU(work->cancel_mutex); work->self = thread; - if (!work->cancel) - work->u.short_run.func_blocking((void *)work->data, (Ecore_Thread *)work); + if (!cancel) + work->u.short_run.func_blocking((void *) work->data, (Ecore_Thread*) work); if (work->reschedule) { @@ -630,19 +478,20 @@ _ecore_short_job(Ecore_Pipe *end_pipe, } else { - ecore_pipe_write(end_pipe, &work, sizeof (Ecore_Pthread_Worker *)); + ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); } } } static void -_ecore_feedback_job(Ecore_Pipe *end_pipe, - PH(thread)) +_ecore_feedback_job(PH(thread)) { Ecore_Pthread_Worker *work; while (_ecore_pending_job_threads_feedback) { + int cancel; + LKL(_ecore_pending_job_threads_mutex); if (!_ecore_pending_job_threads_feedback) @@ -657,9 +506,12 @@ _ecore_feedback_job(Ecore_Pipe *end_pipe, LKU(_ecore_pending_job_threads_mutex); + LKL(work->cancel_mutex); + cancel = work->cancel; + LKU(work->cancel_mutex); work->self = thread; - if (!work->cancel) - work->u.feedback_run.func_heavy((void *)work->data, (Ecore_Thread *)work); + if (!cancel) + work->u.feedback_run.func_heavy((void *) work->data, (Ecore_Thread *) work); if (work->reschedule) { @@ -671,7 +523,7 @@ _ecore_feedback_job(Ecore_Pipe *end_pipe, } else { - ecore_pipe_write(end_pipe, &work, sizeof (Ecore_Pthread_Worker *)); + ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); } } } @@ -679,6 +531,7 @@ _ecore_feedback_job(Ecore_Pipe *end_pipe, static void * _ecore_direct_worker(Ecore_Pthread_Worker *work) { + Ecore_Pthread_Worker *end; Ecore_Pthread_Data *pth; #ifdef EFL_POSIX_THREADS @@ -691,40 +544,49 @@ _ecore_direct_worker(Ecore_Pthread_Worker *work) pth = malloc(sizeof (Ecore_Pthread_Data)); if (!pth) return NULL; - pth->p = work->u.feedback_run.direct_pipe; - if (!pth->p) - { - free(pth); - return NULL; - } pth->thread = PHS(); work->self = pth->thread; - work->u.feedback_run.func_heavy((void *)work->data, (Ecore_Thread *)work); + if (work->message_run) + work->u.message_run.func_main((void *) work->data, (Ecore_Thread *) work); + else + work->u.feedback_run.func_heavy((void *) work->data, (Ecore_Thread *) work); - ecore_pipe_write(pth->p, &work, sizeof (Ecore_Pthread_Worker *)); + if (work->message_run) + { + end = work->u.message_run.direct_worker; + work->u.message_run.direct_worker = NULL; + } + else + { + end = work->u.feedback_run.direct_worker; + work->u.feedback_run.direct_worker = NULL; + } - work = work->u.feedback_run.direct_worker; - if (!work) + ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); + + if (!end) { free(pth); return NULL; } - work->data = pth; - work->u.short_run.func_blocking = NULL; - work->func_end = (void *)_ecore_thread_end; - work->func_cancel = NULL; - work->cancel = EINA_FALSE; - work->feedback_run = EINA_FALSE; - work->kill = EINA_FALSE; - work->hash = NULL; - CDI(work->cond); - LKI(work->mutex); - - ecore_pipe_write(pth->p, &work, sizeof (Ecore_Pthread_Worker *)); + end->data = pth; + end->u.short_run.func_blocking = NULL; + end->func_end = (void *)_ecore_thread_end; + end->func_cancel = NULL; + end->cancel = EINA_FALSE; + end->feedback_run = EINA_FALSE; + end->message_run = EINA_FALSE; + end->no_queue = EINA_FALSE; + end->kill = EINA_FALSE; + end->hash = NULL; + LKI(end->mutex); + CDI(end->cond, end->mutex); + + ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, end); - return pth->p; + return NULL; } static void * @@ -740,8 +602,8 @@ _ecore_thread_worker(Ecore_Pthread_Data *pth) eina_sched_prio_drop(); restart: - if (_ecore_pending_job_threads) _ecore_short_job(pth->p, pth->thread); - if (_ecore_pending_job_threads_feedback) _ecore_feedback_job(pth->p, pth->thread); + if (_ecore_pending_job_threads) _ecore_short_job(pth->thread); + if (_ecore_pending_job_threads_feedback) _ecore_feedback_job(pth->thread); /* FIXME: Check if there is feedback running task todo, and switch to feedback run handler. */ @@ -777,14 +639,14 @@ restart: work->func_cancel = NULL; work->cancel = EINA_FALSE; work->feedback_run = EINA_FALSE; + work->message_run = EINA_FALSE; work->kill = EINA_FALSE; + work->no_queue = EINA_FALSE; work->hash = NULL; - CDI(work->cond); - LKI(work->mutex); - ecore_pipe_write(pth->p, &work, sizeof (Ecore_Pthread_Worker *)); + ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); - return pth->p; + return NULL; } #endif @@ -800,6 +662,10 @@ _ecore_thread_worker_new(void) if (!result) result = malloc(sizeof (Ecore_Pthread_Worker)); else _ecore_thread_worker_count--; + LKI(result->cancel_mutex); + LKI(result->mutex); + CDI(result->cond, result->mutex); + return result; #else return malloc(sizeof (Ecore_Pthread_Worker)); @@ -813,16 +679,11 @@ _ecore_thread_init(void) if (_ecore_thread_count_max <= 0) _ecore_thread_count_max = 1; - ECORE_THREAD_PIPE_DEL = ecore_event_type_new(); - _ecore_thread_pipe = eina_array_new(8); - #ifdef EFL_HAVE_THREADS - del_handler = ecore_event_handler_add(ECORE_THREAD_PIPE_DEL, _ecore_thread_pipe_del, NULL); - LKI(_ecore_pending_job_threads_mutex); LRWKI(_ecore_thread_global_hash_lock); LKI(_ecore_thread_global_hash_mutex); - CDI(_ecore_thread_global_hash_cond); + CDI(_ecore_thread_global_hash_cond, _ecore_thread_global_hash_mutex); #endif } @@ -830,10 +691,6 @@ void _ecore_thread_shutdown(void) { /* FIXME: If function are still running in the background, should we kill them ? */ - Ecore_Pipe *p; - Eina_Array_Iterator it; - unsigned int i; - #ifdef EFL_HAVE_THREADS Ecore_Pthread_Worker *work; Ecore_Pthread_Data *pth; @@ -843,46 +700,39 @@ _ecore_thread_shutdown(void) EINA_LIST_FREE(_ecore_pending_job_threads, work) { if (work->func_cancel) - work->func_cancel((void *)work->data, (Ecore_Thread *)work); + work->func_cancel((void *)work->data, (Ecore_Thread *) work); free(work); } EINA_LIST_FREE(_ecore_pending_job_threads_feedback, work) { if (work->func_cancel) - work->func_cancel((void *)work->data, (Ecore_Thread *)work); + work->func_cancel((void *)work->data, (Ecore_Thread *) work); free(work); } LKU(_ecore_pending_job_threads_mutex); - /* Improve emergency shutdown */ + /* FIXME: Improve emergency shutdown, now that we use async call, we can do something */ EINA_LIST_FREE(_ecore_active_job_threads, pth) { - Ecore_Pipe *ep; - PHA(pth->thread); - PHJ(pth->thread, ep); - - ecore_pipe_del(pth->p); + PHJ(pth->thread); } if (_ecore_thread_global_hash) eina_hash_free(_ecore_thread_global_hash); - _ecore_event_handler_del(del_handler); have_main_loop_thread = 0; - del_handler = NULL; + + while ((work = eina_trash_pop(&_ecore_thread_worker_trash))) + { + free(work); + } LKD(_ecore_pending_job_threads_mutex); LRWKD(_ecore_thread_global_hash_lock); LKD(_ecore_thread_global_hash_mutex); CDD(_ecore_thread_global_hash_cond); #endif - - EINA_ARRAY_ITER_NEXT(_ecore_thread_pipe, i, p, it) - ecore_pipe_del(p); - - eina_array_free(_ecore_thread_pipe); - _ecore_thread_pipe = NULL; } void @@ -927,15 +777,15 @@ ecore_thread_run(Ecore_Thread_Cb func_blocking, work->func_cancel = func_cancel; work->cancel = EINA_FALSE; work->feedback_run = EINA_FALSE; + work->message_run = EINA_FALSE; work->kill = EINA_FALSE; work->reschedule = EINA_FALSE; + work->no_queue = EINA_FALSE; work->data = data; #ifdef EFL_HAVE_THREADS work->self = 0; work->hash = NULL; - CDI(work->cond); - LKI(work->mutex); LKL(_ecore_pending_job_threads_mutex); _ecore_pending_job_threads = eina_list_append(_ecore_pending_job_threads, work); @@ -952,9 +802,8 @@ ecore_thread_run(Ecore_Thread_Cb func_blocking, pth = malloc(sizeof (Ecore_Pthread_Data)); if (!pth) goto on_error; - pth->p = _ecore_thread_pipe_get(); pth->death_job = _ecore_thread_worker_new(); - if (!pth->p || !pth->death_job) goto on_error; + if (!pth->death_job) goto on_error; eina_threads_init(); @@ -969,7 +818,6 @@ ecore_thread_run(Ecore_Thread_Cb func_blocking, on_error: if (pth) { - if (pth->p) eina_array_push(_ecore_thread_pipe, pth->p); if (pth->death_job) _ecore_thread_worker_free(pth->death_job); free(pth); } @@ -981,7 +829,11 @@ on_error: LKU(_ecore_pending_job_threads_mutex); if (work->func_cancel) - work->func_cancel((void *)work->data, (Ecore_Thread *)work); + work->func_cancel((void *) work->data, (Ecore_Thread *) work); + + CDD(work->cond); + LKD(work->mutex); + LKD(work->cancel_mutex); free(work); work = NULL; } @@ -1013,12 +865,16 @@ EAPI Eina_Bool ecore_thread_cancel(Ecore_Thread *thread) { #ifdef EFL_HAVE_THREADS - Ecore_Pthread_Worker *work = (Ecore_Pthread_Worker *)thread; + Ecore_Pthread_Worker *volatile work = (Ecore_Pthread_Worker *)thread; Eina_List *l; + int cancel; if (!work) return EINA_TRUE; - if (work->cancel) + LKL(work->cancel_mutex); + cancel = work->cancel; + LKU(work->cancel_mutex); + if (cancel) return EINA_FALSE; if (work->feedback_run) @@ -1070,9 +926,14 @@ ecore_thread_cancel(Ecore_Thread *thread) LKU(_ecore_pending_job_threads_mutex); + work = (Ecore_Pthread_Worker *)thread; + /* Delay the destruction */ -on_exit: - ((Ecore_Pthread_Worker *)thread)->cancel = EINA_TRUE; + on_exit: + LKL(work->cancel_mutex); + work->cancel = EINA_TRUE; + LKU(work->cancel_mutex); + return EINA_FALSE; #else (void) thread; @@ -1083,10 +944,23 @@ on_exit: EAPI Eina_Bool ecore_thread_check(Ecore_Thread *thread) { - Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)thread; + Ecore_Pthread_Worker *volatile worker = (Ecore_Pthread_Worker *) thread; + int cancel; if (!worker) return EINA_TRUE; - return worker->cancel; +#ifdef EFL_HAVE_THREADS + LKL(worker->cancel_mutex); +#endif + cancel = worker->cancel; + /* FIXME: there is an insane bug driving me nuts here. I don't know if + it's a race condition, some cache issue or some alien attack on our software. + But ecore_thread_check will only work correctly with a printf, all the volatile, + lock and even usleep don't help here... */ + /* fprintf(stderr, "wc: %i\n", cancel); */ +#ifdef EFL_HAVE_THREADS + LKU(worker->cancel_mutex); +#endif + return cancel; } EAPI Ecore_Thread * @@ -1109,12 +983,11 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, worker->u.feedback_run.func_heavy = func_heavy; worker->u.feedback_run.func_notify = func_notify; worker->hash = NULL; - CDI(worker->cond); - LKI(worker->mutex); worker->func_cancel = func_cancel; worker->func_end = func_end; worker->data = data; worker->cancel = EINA_FALSE; + worker->message_run = EINA_FALSE; worker->feedback_run = EINA_TRUE; worker->kill = EINA_FALSE; worker->reschedule = EINA_FALSE; @@ -1123,15 +996,12 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, worker->u.feedback_run.send = 0; worker->u.feedback_run.received = 0; - worker->u.feedback_run.notify = ecore_pipe_add(_ecore_notify_handler, worker); - worker->u.feedback_run.direct_pipe = NULL; worker->u.feedback_run.direct_worker = NULL; - if (!try_no_queue) + if (try_no_queue) { PH(t); - worker->u.feedback_run.direct_pipe = _ecore_thread_pipe_get(); worker->u.feedback_run.direct_worker = _ecore_thread_worker_new(); worker->no_queue = EINA_TRUE; @@ -1140,6 +1010,12 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, if (PHC(t, _ecore_direct_worker, worker) == 0) return (Ecore_Thread *)worker; + if (worker->u.feedback_run.direct_worker) + { + _ecore_thread_worker_free(worker->u.feedback_run.direct_worker); + worker->u.feedback_run.direct_worker = NULL; + } + eina_threads_shutdown(); } @@ -1160,9 +1036,8 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, pth = malloc(sizeof (Ecore_Pthread_Data)); if (!pth) goto on_error; - pth->p = _ecore_thread_pipe_get(); pth->death_job = _ecore_thread_worker_new(); - if (!pth->p || !pth->death_job) goto on_error; + if (!pth->death_job) goto on_error; eina_threads_init(); @@ -1177,7 +1052,6 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, on_error: if (pth) { - if (pth->p) eina_array_push(_ecore_thread_pipe, pth->p); if (pth->death_job) _ecore_thread_worker_free(pth->death_job); free(pth); } @@ -1193,7 +1067,8 @@ on_error: if (worker) { - ecore_pipe_del(worker->u.feedback_run.notify); + CDD(worker->cond); + LKD(worker->mutex); free(worker); worker = NULL; } @@ -1211,7 +1086,6 @@ on_error: */ worker.u.feedback_run.func_heavy = func_heavy; worker.u.feedback_run.func_notify = func_notify; - worker.u.feedback_run.notify = NULL; worker.u.feedback_run.send = 0; worker.u.feedback_run.received = 0; worker.func_cancel = func_cancel; @@ -1219,6 +1093,7 @@ on_error: worker.data = data; worker.cancel = EINA_FALSE; worker.feedback_run = EINA_TRUE; + worker.message_run = EINA_FALSE; worker.kill = EINA_FALSE; do { @@ -1241,13 +1116,48 @@ ecore_thread_feedback(Ecore_Thread *thread, Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)thread; if (!worker) return EINA_FALSE; - if (!worker->feedback_run) return EINA_FALSE; #ifdef EFL_HAVE_THREADS if (!PHE(worker->self, PHS())) return EINA_FALSE; - worker->u.feedback_run.send++; - ecore_pipe_write(worker->u.feedback_run.notify, &data, sizeof (void *)); + if (worker->feedback_run) + { + Ecore_Pthread_Notify *notify; + + notify = malloc(sizeof (Ecore_Pthread_Notify)); + if (!notify) return EINA_FALSE; + + notify->user_data = data; + notify->work = worker; + worker->u.feedback_run.send++; + + ecore_main_loop_thread_safe_call_async(_ecore_notify_handler, notify); + } + else if (worker->message_run) + { + Ecore_Pthread_Message *msg; + Ecore_Pthread_Notify *notify; + + msg = malloc(sizeof (Ecore_Pthread_Message*)); + if (!msg) return EINA_FALSE; + msg->data = data; + msg->callback = EINA_FALSE; + msg->sync = EINA_FALSE; + + notify = malloc(sizeof (Ecore_Pthread_Notify)); + if (!notify) + { + free(msg); + return EINA_FALSE; + } + notify->work = worker; + notify->user_data = msg; + + worker->u.message_run.from.send++; + ecore_main_loop_thread_safe_call_async(_ecore_message_notify_handler, notify); + } + else + return EINA_FALSE; return EINA_TRUE; #else @@ -1257,6 +1167,71 @@ ecore_thread_feedback(Ecore_Thread *thread, #endif } +#if 0 +EAPI Ecore_Thread * +ecore_thread_message_run(Ecore_Thread_Cb func_main, + Ecore_Thread_Notify_Cb func_notify, + Ecore_Thread_Cb func_end, + Ecore_Thread_Cb func_cancel, + const void *data) +{ +#ifdef EFL_HAVE_THREADS + Ecore_Pthread_Worker *worker; + PH(t); + + if (!func_main) return NULL; + + worker = _ecore_thread_worker_new(); + if (!worker) return NULL; + + worker->u.message_run.func_main = func_main; + worker->u.message_run.func_notify = func_notify; + worker->u.message_run.direct_worker = _ecore_thread_worker_new(); + worker->u.message_run.send = ecore_pipe_add(_ecore_nothing_handler, worker); + worker->u.message_run.from.send = 0; + worker->u.message_run.from.received = 0; + worker->u.message_run.to.send = 0; + worker->u.message_run.to.received = 0; + + ecore_pipe_freeze(worker->u.message_run.send); + + worker->func_cancel = func_cancel; + worker->func_end = func_end; + worker->hash = NULL; + worker->data = data; + + worker->cancel = EINA_FALSE; + worker->message_run = EINA_TRUE; + worker->feedback_run = EINA_FALSE; + worker->kill = EINA_FALSE; + worker->reschedule = EINA_FALSE; + worker->no_queue = EINA_FALSE; + worker->self = 0; + + eina_threads_init(); + + if (PHC(t, _ecore_direct_worker, worker) == 0) + return (Ecore_Thread*) worker; + + eina_threads_shutdown(); + + if (worker->u.message_run.direct_worker) _ecore_thread_worker_free(worker->u.message_run.direct_worker); + if (worker->u.message_run.send) ecore_pipe_del(worker->u.message_run.send); + + CDD(worker->cond); + LKD(worker->mutex); +#else + /* Note: This type of thread can't and never will work without thread support */ + WRN("ecore_thread_message_run called, but threads disable in Ecore, things will go wrong. Starting now !"); +# warning "You disabled threads support in ecore, I hope you know what you are doing !" +#endif + + func_cancel((void *) data, NULL); + + return NULL; +} +#endif + EAPI Eina_Bool ecore_thread_reschedule(Ecore_Thread *thread) { @@ -1641,24 +1616,13 @@ ecore_thread_global_data_wait(const char *key, while (1) { -#ifndef _WIN32 - struct timespec t = { 0, 0 }; - - t.tv_sec = (long int)tm; - t.tv_nsec = (long int)((tm - (double)t.tv_sec) * 1000000000); -#else - struct timeval t = { 0, 0 }; - - t.tv_sec = (long int)tm; - t.tv_usec = (long int)((tm - (double)t.tv_sec) * 1000000); -#endif LRWKRL(_ecore_thread_global_hash_lock); ret = eina_hash_find(_ecore_thread_global_hash, key); LRWKU(_ecore_thread_global_hash_lock); if ((ret) || (!seconds) || ((seconds > 0) && (tm <= ecore_time_get()))) break; LKL(_ecore_thread_global_hash_mutex); - CDW(_ecore_thread_global_hash_cond, _ecore_thread_global_hash_mutex, &t); + CDW(_ecore_thread_global_hash_cond, tm); LKU(_ecore_thread_global_hash_mutex); } if (ret) return ret->data; diff --git a/libraries/ecore/src/lib/ecore/ecore_time.c b/libraries/ecore/src/lib/ecore/ecore_time.c index 8e7611b..0eeb1d6 100644 --- a/libraries/ecore/src/lib/ecore/ecore_time.c +++ b/libraries/ecore/src/lib/ecore/ecore_time.c @@ -21,7 +21,7 @@ #include -#ifdef HAVE_CLOCK_GETTIME +#if defined (HAVE_CLOCK_GETTIME) || defined (EXOTIC_PROVIDE_CLOCK_GETTIME) static clockid_t _ecore_time_clock_id = -1; #elif defined(__APPLE__) && defined(__MACH__) static double _ecore_time_clock_conversion = 1e-9; @@ -52,7 +52,7 @@ double _ecore_time_loop_time = -1.0; EAPI double ecore_time_get(void) { -#ifdef HAVE_CLOCK_GETTIME +#if defined (HAVE_CLOCK_GETTIME) || defined (EXOTIC_PROVIDE_CLOCK_GETTIME) struct timespec t; if (EINA_UNLIKELY(_ecore_time_clock_id < 0)) @@ -136,7 +136,7 @@ ecore_loop_time_get(void) void _ecore_time_init(void) { -#ifdef HAVE_CLOCK_GETTIME +#if defined (HAVE_CLOCK_GETTIME) || defined (EXOTIC_PROVIDE_CLOCK_GETTIME) struct timespec t; if (_ecore_time_clock_id != -1) return; diff --git a/libraries/ecore/src/lib/ecore/ecore_timer.c b/libraries/ecore/src/lib/ecore/ecore_timer.c index cc19e3f..d76733b 100644 --- a/libraries/ecore/src/lib/ecore/ecore_timer.c +++ b/libraries/ecore/src/lib/ecore/ecore_timer.c @@ -56,7 +56,7 @@ static double last_check = 0.0; static double precision = 10.0 / 1000000.0; /** - * @addtogroup Ecore_Time_Group + * @addtogroup Ecore_Timer_Group * * @{ */ @@ -73,12 +73,15 @@ ecore_timer_precision_get(void) } /** - * Sets the precision to be used by timer infrastructure. + * @brief Sets the precision to be used by timer infrastructure. * - * When system calculates time to expire the next timer we'll be able - * to delay the timer by the given amount so more timers will fit in - * the same dispatch, waking up the system less often and thus being - * able to save power. + * @param value allowed introduced timeout delay, in seconds. + * + * This sets the precision for @b all timers. The precision determines how much + * of an difference from the requested interval is acceptable. One common reason + * to use this function is to @b increase the allowed timeout and thus @b + * decrease precision of the timers, this is because less precise the timers + * result in the system waking up less often and thus consuming less resources. * * Be aware that kernel may delay delivery even further, these delays * are always possible due other tasks having higher priorities or @@ -93,8 +96,6 @@ ecore_timer_precision_get(void) * @note Ecore is smart enough to see if there are timers in the * precision range, if it does not, in our example if no second timer * in (T + precision) existed, then it would use the minimum timeout. - * - * @param value allowed introduced timeout delay, in seconds. */ EAPI void ecore_timer_precision_set(double value) @@ -322,7 +323,7 @@ ecore_timer_reset(Ecore_Timer *timer) * Get the pending time regarding a timer. * * @param timer The timer to learn from. - * @ingroup Ecore_Time_Group + * @ingroup Ecore_Timer_Group */ EAPI double ecore_timer_pending_get(Ecore_Timer *timer) diff --git a/libraries/ecore/src/lib/ecore_cocoa/Makefile.in b/libraries/ecore/src/lib/ecore_cocoa/Makefile.in index 15ce879..447c3ef 100644 --- a/libraries/ecore/src/lib/ecore_cocoa/Makefile.in +++ b/libraries/ecore/src/lib/ecore_cocoa/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -192,6 +191,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -247,6 +248,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -257,6 +260,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_con/Ecore_Con.h b/libraries/ecore/src/lib/ecore_con/Ecore_Con.h index c3af46a..d0ca6f6 100644 --- a/libraries/ecore/src/lib/ecore_con/Ecore_Con.h +++ b/libraries/ecore/src/lib/ecore_con/Ecore_Con.h @@ -723,10 +723,13 @@ EAPI Eina_Bool ecore_con_ssl_client_upgrade(Ecore_Con_Client *cl, Ecore_ */ EAPI Ecore_Con_Socks *ecore_con_socks4_remote_add(const char *ip, int port, const char *username); -EAPI void ecore_con_socks4_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable); -EAPI Eina_Bool ecore_con_socks4_lookup_get(Ecore_Con_Socks *ecs); EAPI Eina_Bool ecore_con_socks4_remote_exists(const char *ip, int port, const char *username); EAPI void ecore_con_socks4_remote_del(const char *ip, int port, const char *username); +EAPI Ecore_Con_Socks *ecore_con_socks5_remote_add(const char *ip, int port, const char *username, const char *password); +EAPI Eina_Bool ecore_con_socks5_remote_exists(const char *ip, int port, const char *username, const char *password); +EAPI void ecore_con_socks5_remote_del(const char *ip, int port, const char *username, const char *password); +EAPI void ecore_con_socks_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable); +EAPI Eina_Bool ecore_con_socks_lookup_get(Ecore_Con_Socks *ecs); EAPI void ecore_con_socks_bind_set(Ecore_Con_Socks *ecs, Eina_Bool is_bind); EAPI Eina_Bool ecore_con_socks_bind_get(Ecore_Con_Socks *ecs); EAPI unsigned int ecore_con_socks_version_get(Ecore_Con_Socks *ecs); @@ -744,8 +747,8 @@ EAPI void ecore_con_socks_apply_always(Ecore_Con_Socks *ecs); * * Setting up a server is very simple: you just need to start it with * ecore_con_server_add() and setup some callbacks to the events - * #ECORE_CON_EVENT_CLIENT_ADD, #ECORE_CON_EVENT_CLIENT_DEL and - * #ECORE_CON_EVENT_CLIENT_DATA, that will be called when a client is + * @ref ECORE_CON_EVENT_CLIENT_ADD, @ref ECORE_CON_EVENT_CLIENT_DEL and + * @ref ECORE_CON_EVENT_CLIENT_DATA, that will be called when a client is * communicating with the server: * * @code @@ -867,8 +870,8 @@ EAPI Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, * * However, even if this call returns a valid @ref Ecore_Con_Server, the * connection will only be successfully completed if an event of type - * #ECORE_CON_EVENT_SERVER_ADD is received. If it fails to complete, an - * #ECORE_CON_EVENT_SERVER_DEL will be received. + * @ref ECORE_CON_EVENT_SERVER_ADD is received. If it fails to complete, an + * @ref ECORE_CON_EVENT_SERVER_DEL will be received. * * The @p data parameter can be fetched later using ecore_con_server_data_get() * or changed with ecore_con_server_data_set(). @@ -1335,6 +1338,35 @@ typedef enum _Ecore_Con_Url_Time } Ecore_Con_Url_Time; /** + * @typedef Ecore_Con_Url_Http_Version + * @enum _Ecore_Con_Url_Http_Version + * The http version to use + * @since 1.2 + */ +typedef enum _Ecore_Con_Url_Http_Version +{ + /** + * HTTP version 1.0 + * @since 1.2 + */ + ECORE_CON_URL_HTTP_VERSION_1_0, + /** + * HTTP version 1.1 (default) + * @since 1.2 + */ + ECORE_CON_URL_HTTP_VERSION_1_1 +} Ecore_Con_Url_Http_Version; + +/** + * Change the HTTP version used for the request + * @param version The version to be used + * @return EINA_TRUE on success, EINA_FALSE on failure to change version + * @since 1.2 + * @see ecore_con_url_pipeline_get() + */ +EAPI Eina_Bool ecore_con_url_http_version_set(Ecore_Con_Url *url_con, Ecore_Con_Url_Http_Version version); + +/** * Initialises the Ecore_Con_Url library. * @return Number of times the library has been initialised without being * shut down. @@ -1554,33 +1586,6 @@ EAPI Eina_Bool ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, const char *password, Eina_Bool safe); /** - * Sends a request. - * - * @param url_con Connection object to perform a request on, previously created - * with ecore_con_url_new() or ecore_con_url_custom_new(). - * @param data Payload (data sent on the request) - * @param length Payload length. If @c -1, rely on automatic length - * calculation via @c strlen() on @p data. - * @param content_type Content type of the payload (e.g. text/xml) - * - * @return #EINA_TRUE on success, #EINA_FALSE on error. - * - * @see ecore_con_url_custom_new() - * @see ecore_con_url_additional_headers_clear() - * @see ecore_con_url_additional_header_add() - * @see ecore_con_url_data_set() - * @see ecore_con_url_data_get() - * @see ecore_con_url_response_headers_get() - * @see ecore_con_url_time() - * @see ecore_con_url_get() - * @see ecore_con_url_post() - * - * @deprecated Use ecore_con_url_post() instead of this. - */ -EINA_DEPRECATED EAPI Eina_Bool ecore_con_url_send(Ecore_Con_Url *url_con, - const void *data, long length, - const char *content_type); -/** * Sends a get request. * * @param url_con Connection object to perform a request on, previously created @@ -1913,6 +1918,16 @@ EAPI Eina_Bool ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const ch EAPI void ecore_con_url_timeout_set(Ecore_Con_Url *url_con, double timeout); /** + * Get the returned HTTP STATUS code + * + * This is used to, at any time, try to return the status code for a transmission. + * @param url_con Connection object + * @return A valid HTTP STATUS code, or 0 on failure + * + * @since 1.2 + */ +EAPI int ecore_con_url_status_code_get(Ecore_Con_Url *url_con); +/** * @} */ diff --git a/libraries/ecore/src/lib/ecore_con/Makefile.in b/libraries/ecore/src/lib/ecore_con/Makefile.in index 58811da..c35b08e 100644 --- a/libraries/ecore/src/lib/ecore_con/Makefile.in +++ b/libraries/ecore/src/lib/ecore_con/Makefile.in @@ -54,16 +54,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -210,6 +209,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -265,6 +266,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -275,6 +278,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con.c b/libraries/ecore/src/lib/ecore_con/ecore_con.c index de291b3..fe83478 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con.c @@ -110,7 +110,10 @@ _ecore_con_client_kill(Ecore_Con_Client *cl) if (cl->delete_me) DBG("Multi kill request for client %p", cl); else - ecore_con_event_client_del(cl); + { + ecore_con_event_client_del(cl); + if (cl->buf) return; + } INF("Lost client %s", (cl->ip) ? cl->ip : ""); if (cl->fd_handler) ecore_main_fd_handler_del(cl->fd_handler); @@ -461,7 +464,7 @@ ecore_con_server_connect(Ecore_Con_Type compl_type, (!ecore_con_lookup(svr->name, (Ecore_Con_Dns_Cb)ecore_con_socks_dns_cb, svr))) goto error; if (svr->ecs->lookup) - svr->ecs_state = ECORE_CON_SOCKS_STATE_RESOLVED; + svr->ecs_state = ECORE_CON_PROXY_STATE_RESOLVED; } } if (ecore_con_ssl_server_prepare(svr, compl_type & ECORE_CON_SSL)) @@ -1031,7 +1034,7 @@ ecore_con_event_server_del(Ecore_Con_Server *svr) e->server = svr; if (svr->ecs) { - svr->ecs_state = svr->ecs->lookup ? ECORE_CON_SOCKS_STATE_RESOLVED : ECORE_CON_SOCKS_STATE_DONE; + svr->ecs_state = svr->ecs->lookup ? ECORE_CON_PROXY_STATE_RESOLVED : ECORE_CON_PROXY_STATE_DONE; eina_stringshare_replace(&svr->proxyip, NULL); svr->proxyport = 0; } @@ -1320,7 +1323,7 @@ _ecore_con_client_free(Ecore_Con_Client *cl) if (cl->event_count) return; ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE); - free(cl->buf); + if (cl->buf) eina_binbuf_free(cl->buf); if (cl->host_server->type & ECORE_CON_SSL) ecore_con_ssl_client_shutdown(cl); @@ -1736,7 +1739,7 @@ svr_try_connect_plain(Ecore_Con_Server *svr) if (so_err) { /* we lost our server! */ - ecore_con_event_server_error(svr, strerror(errno)); + ecore_con_event_server_error(svr, strerror(so_err)); ERR("Connection lost: %s", strerror(so_err)); _ecore_con_server_kill(svr); return ECORE_CON_DISCONNECTED; @@ -1971,9 +1974,9 @@ _ecore_con_cl_handler(void *data, ecore_con_event_server_add(svr); return ECORE_CALLBACK_RENEW; } - if (svr->ecs && svr->ecs_state && (svr->ecs_state < ECORE_CON_SOCKS_STATE_READ) && (!svr->ecs_buf)) + if (svr->ecs && svr->ecs_state && (svr->ecs_state < ECORE_CON_PROXY_STATE_READ) && (!svr->ecs_buf)) { - if (svr->ecs_state < ECORE_CON_SOCKS_STATE_INIT) + if (svr->ecs_state < ECORE_CON_PROXY_STATE_INIT) { INF("PROXY STATE++"); svr->ecs_state++; @@ -2271,7 +2274,7 @@ _ecore_con_server_flush(Ecore_Con_Server *svr) static void _ecore_con_client_flush(Ecore_Con_Client *cl) { - int num, count = 0; + int num = 0, count = 0; #ifdef _WIN32 if (ecore_con_local_win32_client_flush(cl)) @@ -2314,7 +2317,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl) } if (count) ecore_con_event_client_write(cl, count); - cl->buf_offset += count; + cl->buf_offset += count, num -= count; if (cl->buf_offset >= eina_binbuf_length_get(cl->buf)) { cl->buf_offset = 0; @@ -2332,7 +2335,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl) if (cl->fd_handler) ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ); } - else if ((count < num) && cl->fd_handler) + else if (cl->fd_handler && (num >= 0)) ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_WRITE); } diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_private.h b/libraries/ecore/src/lib/ecore_con/ecore_con_private.h index 35f2310..91f5d39 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_private.h +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_private.h @@ -56,7 +56,7 @@ extern int _ecore_con_log_dom; typedef struct _Ecore_Con_Lookup Ecore_Con_Lookup; typedef struct _Ecore_Con_Info Ecore_Con_Info; -typedef struct Ecore_Con_Socks_v4 Ecore_Con_Socks_v4; +typedef struct Ecore_Con_Socks Ecore_Con_Socks_v4; typedef struct Ecore_Con_Socks_v5 Ecore_Con_Socks_v5; typedef void (*Ecore_Con_Info_Cb)(void *data, Ecore_Con_Info *infos); @@ -83,13 +83,18 @@ typedef enum _Ecore_Con_Ssl_Handshake ECORE_CON_SSL_STATE_INIT } Ecore_Con_Ssl_State; -typedef enum Ecore_Con_Socks_State -{ - ECORE_CON_SOCKS_STATE_DONE = 0, - ECORE_CON_SOCKS_STATE_RESOLVED, - ECORE_CON_SOCKS_STATE_INIT, - ECORE_CON_SOCKS_STATE_READ -} Ecore_Con_Socks_State; +typedef enum Ecore_Con_Proxy_State +{ /* named PROXY instead of SOCKS in case some handsome and enterprising + * developer decides to add HTTP CONNECT support + */ + ECORE_CON_PROXY_STATE_DONE = 0, + ECORE_CON_PROXY_STATE_RESOLVED, + ECORE_CON_PROXY_STATE_INIT, + ECORE_CON_PROXY_STATE_READ, + ECORE_CON_PROXY_STATE_AUTH, + ECORE_CON_PROXY_STATE_REQUEST, + ECORE_CON_PROXY_STATE_CONFIRM, +} Ecore_Con_Proxy_State; struct _Ecore_Con_Client { @@ -140,7 +145,7 @@ struct _Ecore_Con_Server pid_t ppid; /* socks */ Ecore_Con_Socks *ecs; - Ecore_Con_Socks_State ecs_state; + Ecore_Con_Proxy_State ecs_state; int ecs_addrlen; unsigned char ecs_addr[16]; unsigned int ecs_buf_offset; @@ -202,6 +207,7 @@ struct _Ecore_Con_Url Eina_List *response_headers; const char *url; long proxy_type; + int status; Ecore_Timer *timer; @@ -213,6 +219,10 @@ struct _Ecore_Con_Url int received; int write_fd; + + unsigned int event_count; + Eina_Bool dead : 1; + Eina_Bool multi : 1; }; #endif @@ -239,24 +249,14 @@ struct _Ecore_Con_Lookup v5 = (Ecore_Con_Socks_v5*)(X); \ else -struct Ecore_Con_Socks -{ - unsigned char version; - - const char *ip; - int port; - const char *username; - Eina_Bool lookup : 1; - Eina_Bool bind : 1; -}; - -struct Ecore_Con_Socks_v4 +struct Ecore_Con_Socks /* v4 */ { unsigned char version; const char *ip; int port; const char *username; + unsigned int ulen; Eina_Bool lookup : 1; Eina_Bool bind : 1; }; @@ -268,8 +268,13 @@ struct Ecore_Con_Socks_v5 const char *ip; int port; const char *username; + unsigned int ulen; Eina_Bool lookup : 1; Eina_Bool bind : 1; + /* v5 only */ + unsigned char method; + const char *password; + unsigned int plen; }; extern Ecore_Con_Socks *_ecore_con_proxy_once; diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c b/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c index aecaff0..686f73b 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c @@ -10,6 +10,10 @@ #include #include +#ifdef HAVE_SYS_SOCKET_H +# include +#endif + #ifdef HAVE_NETINET_TCP_H # include #endif @@ -36,10 +40,6 @@ # include #endif -#ifdef HAVE_SYS_SOCKET_H -# include -#endif - #ifdef HAVE_SYS_UN_H # include #endif @@ -57,6 +57,27 @@ #include "Ecore_Con.h" #include "ecore_con_private.h" +/* http://tools.ietf.org/html/rfc1928 + o X'00' NO AUTHENTICATION REQUIRED + o X'01' GSSAPI + o X'02' USERNAME/PASSWORD + o X'03' to X'7F' IANA ASSIGNED + o X'80' to X'FE' RESERVED FOR PRIVATE METHODS + o X'FF' NO ACCEPTABLE METHODS +*/ +#define ECORE_CON_SOCKS_V5_METHOD_NONE 0 +#define ECORE_CON_SOCKS_V5_METHOD_GSSAPI 1 +#define ECORE_CON_SOCKS_V5_METHOD_USERPASS 2 + +static int ECORE_CON_SOCKS_V5_METHODS[] = +{ + ECORE_CON_SOCKS_V5_METHOD_NONE, +// ECORE_CON_SOCKS_V5_METHOD_GSSAPI, TODO + ECORE_CON_SOCKS_V5_METHOD_USERPASS +}; + +#define ECORE_CON_SOCKS_V5_TOTAL_METHODS sizeof(ECORE_CON_SOCKS_V5_METHODS) + #define _ecore_con_server_kill(svr) do { \ DBG("KILL %p", (svr)); \ _ecore_con_server_kill((svr)); \ @@ -65,10 +86,10 @@ Eina_List *ecore_con_socks_proxies = NULL; static Ecore_Con_Socks * -_ecore_con_socks_find(unsigned char version, const char *ip, int port, const char *username) +_ecore_con_socks_find(unsigned char version, const char *ip, int port, const char *username, size_t ulen, const char *password, size_t plen) { Eina_List *l; - Ecore_Con_Socks *ecs; + Ecore_Con_Socks_v5 *ecs; if (!ecore_con_socks_proxies) return NULL; @@ -77,8 +98,14 @@ _ecore_con_socks_find(unsigned char version, const char *ip, int port, const cha if (ecs->version != version) continue; if (strcmp(ecs->ip, ip)) continue; if ((port != -1) && (port != ecs->port)) continue; + if (ulen != ecs->ulen) continue; if (username && strcmp(ecs->username, username)) continue; - return ecs; + if (version == 5) + { + if (plen != ecs->plen) continue; + if (password && strcmp(ecs->password, password)) continue; + } + return (Ecore_Con_Socks*)ecs; } return NULL; } @@ -94,146 +121,424 @@ _ecore_con_socks_free(Ecore_Con_Socks *ecs) eina_stringshare_del(ecs->username); free(ecs); } -///////////////////////////////////////////////////////////////////////////////////// -void -ecore_con_socks_shutdown(void) + +static Eina_Bool +_ecore_con_socks_svr_init_v4(Ecore_Con_Server *svr, Ecore_Con_Socks_v4 *v4) { - Ecore_Con_Socks *ecs; - EINA_LIST_FREE(ecore_con_socks_proxies, ecs) - _ecore_con_socks_free(ecs); - _ecore_con_proxy_once = NULL; - _ecore_con_proxy_global = NULL; + size_t addrlen, buflen, ulen = 1; + unsigned char *sbuf; + + addrlen = v4->lookup ? strlen(svr->name) + 1 : 0; + if (v4->username) ulen += v4->ulen; + buflen = sizeof(char) * (8 + ulen + addrlen); + sbuf = malloc(buflen); + if (!sbuf) + { + ecore_con_event_server_error(svr, "Memory allocation failure!"); + _ecore_con_server_kill(svr); + return EINA_FALSE; + } + /* http://en.wikipedia.org/wiki/SOCKS */ + sbuf[0] = 4; + sbuf[1] = v4->bind ? 2 : 1; + sbuf[2] = svr->port >> 8; + sbuf[3] = svr->port & 0xff; + if (addrlen) + { + sbuf[4] = sbuf[5] = sbuf[6] = 0; + sbuf[7] = 1; + } + else + /* SOCKSv4 only handles IPV4, so addrlen is always 4 */ + memcpy(sbuf + 4, svr->ecs_addr, 4); + if (v4->username) + memcpy(sbuf + 8, v4->username, ulen); + else + sbuf[8] = 0; + if (addrlen) memcpy(sbuf + 8 + ulen, svr->name, addrlen); + + svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); + return EINA_TRUE; } -void -ecore_con_socks_read(Ecore_Con_Server *svr, unsigned char *buf, int num) +static Eina_Bool +_ecore_con_socks_svr_init_v5(Ecore_Con_Server *svr, Ecore_Con_Socks_v5 *v5) +{ + size_t buflen; + unsigned int x; + unsigned char *sbuf; + + if (v5->username) + buflen = sizeof(char) * (2 + ECORE_CON_SOCKS_V5_TOTAL_METHODS); + else + buflen = 3; + sbuf = malloc(buflen); + if (!sbuf) + { + ecore_con_event_server_error(svr, "Memory allocation failure!"); + _ecore_con_server_kill(svr); + return EINA_FALSE; + } + /* http://en.wikipedia.org/wiki/SOCKS + * http://tools.ietf.org/html/rfc1928 + */ + sbuf[0] = 5; + if (v5->username) + { + sbuf[1] = ECORE_CON_SOCKS_V5_TOTAL_METHODS; + for (x = 2; x < 2 + ECORE_CON_SOCKS_V5_TOTAL_METHODS; x++) + sbuf[x] = ECORE_CON_SOCKS_V5_METHODS[x - 2]; + } + else + { + sbuf[1] = 1; + sbuf[2] = ECORE_CON_SOCKS_V5_METHOD_NONE; + } + + svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); + return EINA_TRUE; +} + +#define ECORE_CON_SOCKS_READ(EXACT) \ + if (num < EXACT) \ + { \ + if (!svr->ecs_recvbuf) svr->ecs_recvbuf = eina_binbuf_new(); \ + if (!svr->ecs_recvbuf) goto error; \ + eina_binbuf_append_length(svr->ecs_recvbuf, buf, num); \ + /* the slowest connection on earth */ \ + if (eina_binbuf_length_get(svr->ecs_recvbuf) != EXACT) return; \ + data = eina_binbuf_string_get(svr->ecs_recvbuf); \ + } \ + else if (num > EXACT) goto error; \ + else \ + data = buf + +static void +_ecore_con_socks_read_v4(Ecore_Con_Server *svr, Ecore_Con_Socks_v4 *v4 __UNUSED__, const unsigned char *buf, unsigned int num) { const unsigned char *data; - ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return; + DBG("SOCKS: %d bytes", num); + ECORE_CON_SOCKS_READ(8); - if (svr->ecs_state != ECORE_CON_SOCKS_STATE_READ) return; +/* http://ufasoft.com/doc/socks4_protocol.htm */ + if (data[0]) goto error; + switch (data[1]) + { + case 90: + /* success! */ + break; + case 91: + ecore_con_event_server_error(svr, "proxy request rejected or failed"); + goto error; + case 92: + ecore_con_event_server_error(svr, "proxying SOCKS server could not perform authentication"); + goto error; + case 93: + ecore_con_event_server_error(svr, "proxy request authentication rejected"); + goto error; + default: + ecore_con_event_server_error(svr, "garbage data from proxy"); + goto error; + } + if (svr->ecs->bind) + { + unsigned int nport; + char naddr[IF_NAMESIZE]; - if (v4) + memcpy(&nport, &data[2], 2); + svr->proxyport = ntohl(nport); + + if (!inet_ntop(AF_INET, &data[4], naddr, sizeof(naddr))) goto error; + svr->proxyip = eina_stringshare_add(naddr); + ecore_con_event_proxy_bind(svr); + } + svr->ecs_state = ECORE_CON_PROXY_STATE_DONE; + INF("PROXY CONNECTED"); + if (svr->ecs_recvbuf) eina_binbuf_free(svr->ecs_recvbuf); + svr->ecs_recvbuf = NULL; + svr->ecs_buf_offset = svr->ecs_addrlen = 0; + memset(svr->ecs_addr, 0, sizeof(svr->ecs_addr)); + if (!svr->ssl_state) + ecore_con_event_server_add(svr); + if (svr->ssl_state || (svr->buf && eina_binbuf_length_get(svr->buf))) + ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); + return; +error: + _ecore_con_server_kill(svr); +} + +static Eina_Bool +_ecore_con_socks_auth_v5(Ecore_Con_Server *svr, Ecore_Con_Socks_v5 *v5) +{ + size_t size; + unsigned char *data; + switch (v5->method) + { + case ECORE_CON_SOCKS_V5_METHOD_NONE: + svr->ecs_state = ECORE_CON_PROXY_STATE_REQUEST; + return EINA_TRUE; + case ECORE_CON_SOCKS_V5_METHOD_GSSAPI: + return EINA_TRUE; + case ECORE_CON_SOCKS_V5_METHOD_USERPASS: + if (!v5->username) return EINA_FALSE; + if (!v5->password) v5->plen = 1; + /* http://tools.ietf.org/html/rfc1929 */ + size = sizeof(char) * (3 + v5->ulen + v5->plen); + data = malloc(size); + if (!data) break; + data[0] = 1; + data[1] = v5->ulen; + memcpy(&data[2], v5->username, v5->ulen); + data[1 + v5->ulen] = v5->plen; + if (v5->password) + memcpy(&data[2 + v5->ulen], v5->password, v5->plen); + else + data[2 + v5->ulen] = 0; + svr->ecs_buf = eina_binbuf_manage_new_length(data, size); + return EINA_TRUE; + default: + break; + } + return EINA_FALSE; +} + +static void +_ecore_con_socks_read_v5(Ecore_Con_Server *svr, Ecore_Con_Socks_v5 *v5, const unsigned char *buf, unsigned int num) +{ + const unsigned char *data; + + DBG("SOCKS: %d bytes", num); + switch (svr->ecs_state) { - DBG("SOCKS: %d bytes", num); - if (num < 8) - { - if (!svr->ecs_recvbuf) svr->ecs_recvbuf = eina_binbuf_new(); - if (!svr->ecs_recvbuf) goto error; - eina_binbuf_append_length(svr->ecs_recvbuf, buf, num); - /* the slowest connection on earth */ - if (eina_binbuf_length_get(svr->ecs_recvbuf) != 8) return; - data = eina_binbuf_string_get(svr->ecs_recvbuf); - } - else if (num > 8) goto error; - else - data = buf; - /* http://ufasoft.com/doc/socks4_protocol.htm */ - if (data[0]) goto error; - switch (data[1]) + case ECORE_CON_PROXY_STATE_READ: + ECORE_CON_SOCKS_READ(2); + /* http://en.wikipedia.org/wiki/SOCKS */ + if (data[0] != 5) goto error; + if (data[1] == 0xFF) + { + ecore_con_event_server_error(svr, "proxy authentication methods rejected"); + goto error; + } + v5->method = data[1]; + if (!_ecore_con_socks_auth_v5(svr, v5)) goto error; + if (svr->ecs_state == ECORE_CON_PROXY_STATE_REQUEST) + { + /* run again to skip auth reading */ + _ecore_con_socks_read_v5(svr, v5, NULL, 0); + return; + } + ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); + svr->ecs_state = ECORE_CON_PROXY_STATE_AUTH; + break; + case ECORE_CON_PROXY_STATE_AUTH: + ECORE_CON_SOCKS_READ(2); + switch (v5->method) + { + case ECORE_CON_SOCKS_V5_METHOD_NONE: + CRIT("HOW DID THIS HAPPEN?????????"); + goto error; + case ECORE_CON_SOCKS_V5_METHOD_GSSAPI: + /* TODO: this */ + break; + case ECORE_CON_SOCKS_V5_METHOD_USERPASS: + if (data[0] != 1) + { + ecore_con_event_server_error(svr, "protocol error"); + goto error; /* wrong version */ + } + if (data[1]) + { + ecore_con_event_server_error(svr, "proxy request authentication rejected"); + goto error; + } + default: + break; + } + case ECORE_CON_PROXY_STATE_REQUEST: { - case 90: - /* success! */ - break; - case 91: - ecore_con_event_server_error(svr, "proxy request rejected or failed"); - goto error; - case 92: - ecore_con_event_server_error(svr, "proxying SOCKS server could not perform authentication"); - goto error; - case 93: - ecore_con_event_server_error(svr, "proxy request authentication rejected"); - goto error; - default: - ecore_con_event_server_error(svr, "garbage data from proxy"); - goto error; + size_t addrlen, buflen; + unsigned char *sbuf; + addrlen = v5->lookup ? strlen(svr->name) + 1 : (unsigned int)svr->ecs_addrlen; + buflen = sizeof(char) * (6 + addrlen); + sbuf = malloc(buflen); + if (!sbuf) + { + ecore_con_event_server_error(svr, "Memory allocation failure!"); + goto error; + } + sbuf[0] = 5; + sbuf[1] = v5->bind ? 2 : 1; /* TODO: 0x03 for UDP port association */ + sbuf[2] = 0; + if (v5->lookup) /* domain name */ + { + sbuf[3] = 3; + sbuf[4] = addrlen - 1; + memcpy(sbuf + 5, svr->name, addrlen - 1); + } + else + { + sbuf[3] = (svr->ecs_addrlen == 4) ? 1 : 4; + memcpy(sbuf + 4, svr->ecs_addr, addrlen); + } + sbuf[addrlen + 4] = svr->port >> 8; + sbuf[addrlen + 5] = svr->port & 0xff; + + svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); + ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); + break; } - if (svr->ecs->bind) + case ECORE_CON_PROXY_STATE_CONFIRM: { - unsigned int nport; - char naddr[IF_NAMESIZE]; - - memcpy(&nport, &data[2], 2); - svr->proxyport = ntohl(nport); - - if (!inet_ntop(AF_INET, &data[4], naddr, sizeof(naddr))) goto error; - svr->proxyip = eina_stringshare_add(naddr); - ecore_con_event_proxy_bind(svr); + /* this is ugly because we have to read an exact number of bytes, + * but we don't know what that number is until we've already read + * at least 5 bytes to determine the length of the unknown stream. + * yep. + */ + size_t to_read, len = svr->ecs_recvbuf ? eina_binbuf_length_get(svr->ecs_recvbuf) : 0; + if (num + len < 5) + { + /* guarantees we get called again */ + ECORE_CON_SOCKS_READ(5); + } + if (len >= 5) + { + data = eina_binbuf_string_get(svr->ecs_recvbuf); + data += 3; + } + else + data = buf + 3 - len; + switch (data[0]) + { + case 1: + to_read = 4; + break; + case 3: + to_read = data[1] + 1; + break; + case 4: + to_read = 16; + /* lazy debugging stub comment */ + break; + default: + ecore_con_event_server_error(svr, "protocol error"); + goto error; + } + /* at this point, we finally know exactly how much we need to read */ + ECORE_CON_SOCKS_READ(6 + to_read); + + if (data[0] != 5) + { + ecore_con_event_server_error(svr, "protocol error"); + goto error; /* wrong version */ + } + switch (data[1]) + { + case 0: + break; + case 1: + ecore_con_event_server_error(svr, "general proxy failure"); + goto error; + case 2: + ecore_con_event_server_error(svr, "connection not allowed by ruleset"); + goto error; + case 3: + ecore_con_event_server_error(svr, "network unreachable"); + goto error; + case 4: + ecore_con_event_server_error(svr, "host unreachable"); + goto error; + case 5: + ecore_con_event_server_error(svr, "connection refused by destination host"); + goto error; + case 6: + ecore_con_event_server_error(svr, "TTL expired"); + goto error; + case 7: + ecore_con_event_server_error(svr, "command not supported / protocol error"); + goto error; + case 8: + ecore_con_event_server_error(svr, "address type not supported"); + default: + goto error; + } + if (data[2]) + { + ecore_con_event_server_error(svr, "protocol error"); + goto error; + } + memset(svr->ecs_addr, 0, sizeof(svr->ecs_addr)); + if (!svr->ssl_state) + ecore_con_event_server_add(svr); + if (svr->ssl_state || (svr->buf && eina_binbuf_length_get(svr->buf))) + ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); + svr->ecs_buf_offset = svr->ecs_addrlen = 0; + svr->ecs_state = ECORE_CON_PROXY_STATE_DONE; + INF("PROXY CONNECTED"); + break; } - svr->ecs_state = ECORE_CON_SOCKS_STATE_DONE; - INF("PROXY CONNECTED"); - if (svr->ecs_recvbuf) eina_binbuf_free(svr->ecs_recvbuf); - svr->ecs_recvbuf = NULL; - svr->ecs_buf_offset = svr->ecs_addrlen = 0; - memset(svr->ecs_addr, 0, sizeof(svr->ecs_addr)); - if (!svr->ssl_state) - ecore_con_event_server_add(svr); - if (svr->ssl_state || (svr->buf && eina_binbuf_length_get(svr->buf))) - ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); + default: + break; } + if (svr->ecs_recvbuf) eina_binbuf_free(svr->ecs_recvbuf); + svr->ecs_recvbuf = NULL; + return; error: _ecore_con_server_kill(svr); } +///////////////////////////////////////////////////////////////////////////////////// +void +ecore_con_socks_shutdown(void) +{ + Ecore_Con_Socks *ecs; + EINA_LIST_FREE(ecore_con_socks_proxies, ecs) + _ecore_con_socks_free(ecs); + _ecore_con_proxy_once = NULL; + _ecore_con_proxy_global = NULL; +} + +void +ecore_con_socks_read(Ecore_Con_Server *svr, unsigned char *buf, int num) +{ + ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return; + + if (svr->ecs_state < ECORE_CON_PROXY_STATE_READ) return; + + if (v4) _ecore_con_socks_read_v4(svr, v4, buf, (unsigned int)num); + else _ecore_con_socks_read_v5(svr, v5, buf, (unsigned int)num); +} + Eina_Bool ecore_con_socks_svr_init(Ecore_Con_Server *svr) { - unsigned char *sbuf; ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return EINA_FALSE; if (!svr->ip) return EINA_FALSE; if (svr->ecs_buf) return EINA_FALSE; - if (svr->ecs_state != ECORE_CON_SOCKS_STATE_INIT) return EINA_FALSE; + if (svr->ecs_state != ECORE_CON_PROXY_STATE_INIT) return EINA_FALSE; ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); - if (v4) - { - size_t addrlen, buflen, ulen = 1; - addrlen = svr->ecs->lookup ? strlen(svr->name) + 1: 0; - if (svr->ecs->username) ulen += strlen(svr->ecs->username); - buflen = sizeof(char) * (8 + ulen + addrlen); - sbuf = malloc(buflen); - if (!sbuf) - { - ecore_con_event_server_error(svr, "Memory allocation failure!"); - _ecore_con_server_kill(svr); - return EINA_FALSE; - } - /* http://en.wikipedia.org/wiki/SOCKS */ - sbuf[0] = 4; - sbuf[1] = v4->bind ? 2 : 1; - sbuf[2] = svr->port >> 8; - sbuf[3] = svr->port & 0xff; - if (addrlen) - { - sbuf[4] = sbuf[5] = sbuf[6] = 0; - sbuf[7] = 1; - } - else - memcpy(sbuf + 4, svr->ecs_addr, 4); - if (svr->ecs->username) - memcpy(sbuf + 8, svr->ecs->username, ulen); - else - sbuf[8] = 0; - if (addrlen) memcpy(sbuf + 8 + ulen, svr->name, addrlen); - - svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); - } - return EINA_TRUE; + if (v4) return _ecore_con_socks_svr_init_v4(svr, v4); + return _ecore_con_socks_svr_init_v5(svr, v5); } void -ecore_con_socks_dns_cb(const char *canonname __UNUSED__, const char *ip, struct sockaddr *addr, int addrlen, Ecore_Con_Server *svr) +ecore_con_socks_dns_cb(const char *canonname __UNUSED__, const char *ip, struct sockaddr *addr, int addrlen __UNUSED__, Ecore_Con_Server *svr) { svr->ip = eina_stringshare_add(ip); - svr->ecs_addrlen = addrlen; svr->ecs_state++; if (addr->sa_family == AF_INET) - memcpy(svr->ecs_addr, &((struct sockaddr_in *)addr)->sin_addr.s_addr, 4); + { + memcpy(svr->ecs_addr, &((struct sockaddr_in *)addr)->sin_addr.s_addr, 4); + svr->ecs_addrlen = 4; + } #ifdef HAVE_IPV6 else - memcpy(svr->ecs_addr, &((struct sockaddr_in6 *)addr)->sin6_addr.s6_addr, addrlen); + { + memcpy(svr->ecs_addr, &((struct sockaddr_in6 *)addr)->sin6_addr.s6_addr, 16); + svr->ecs_addrlen = 16; + } #endif ecore_con_socks_svr_init(svr); } @@ -242,36 +547,57 @@ void ecore_con_socks_init(void) { const char *socks; - char *u, *h, *p, *l; - char buf[64]; + char *h, *p, *l, *u = NULL; + char buf[512]; int port, lookup = 0; + Eina_Bool v5 = EINA_FALSE; Ecore_Con_Socks *ecs; unsigned char addr[sizeof(struct in_addr)]; +#ifdef HAVE_IPV6 + unsigned char addr6[sizeof(struct in6_addr)]; +#endif - /* ECORE_CON_SOCKS_V4=user@host:port:[1|0] */ + /* ECORE_CON_SOCKS_V4=[user@]host:port-[1|0] */ socks = getenv("ECORE_CON_SOCKS_V4"); - if ((!socks) || (!socks[0]) || (strlen(socks) > 64)) return; + if (!socks) + { + /* ECORE_CON_SOCKS_V5=[user@]host-port:[1|0] */ + socks = getenv("ECORE_CON_SOCKS_V5"); + v5 = EINA_TRUE; + } + if ((!socks) || (!socks[0]) || (strlen(socks) > 512)) return; strncpy(buf, socks, sizeof(buf)); h = strchr(buf, '@'); - u = NULL; /* username */ if (h && (h - buf > 0)) *h++ = 0, u = buf; else h = buf; /* host ip; I ain't resolvin shit here */ - p = strchr(h, ':'); + p = strchr(h, '-'); if (!p) return; *p++ = 0; - if (!inet_pton(AF_INET, h, addr)) return; + if (!inet_pton(AF_INET, h, addr)) +#ifdef HAVE_IPV6 + { + if (!v5) return; + if (!inet_pton(AF_INET6, h, addr6)) + return; + } +#else + return; +#endif errno = 0; port = strtol(p, &l, 10); if (errno || (port < 0) || (port > 65535)) return; if (l && (l[0] == ':')) lookup = (l[1] == '1'); - ecs = ecore_con_socks4_remote_add(h, port, u); + if (v5) + ecs = ecore_con_socks5_remote_add(h, port, u, NULL); + else + ecs = ecore_con_socks4_remote_add(h, port, u); if (!ecs) return; - ecore_con_socks4_lookup_set(ecs, lookup); + ecore_con_socks_lookup_set(ecs, lookup); ecore_con_socks_apply_always(ecs); INF("Added global proxy server %s%s%s:%d - DNS lookup %s", u ?: "", u ? "@" : "", h, port, lookup ? "ENABLED" : "DISABLED"); @@ -300,10 +626,17 @@ EAPI Ecore_Con_Socks * ecore_con_socks4_remote_add(const char *ip, int port, const char *username) { Ecore_Con_Socks *ecs; + size_t ulen = 0; if ((!ip) || (!ip[0]) || (port < 0) || (port > 65535)) return NULL; - ecs = _ecore_con_socks_find(4, ip, port, username); + if (username) + { + ulen = strlen(username); + /* max length for protocol */ + if ((!ulen) || (ulen > 255)) return NULL; + } + ecs = _ecore_con_socks_find(4, ip, port, username, ulen, NULL, 0); if (ecs) return ecs; ecs = calloc(1, sizeof(Ecore_Con_Socks_v4)); @@ -313,92 +646,194 @@ ecore_con_socks4_remote_add(const char *ip, int port, const char *username) ecs->ip = eina_stringshare_add(ip); ecs->port = port; ecs->username = eina_stringshare_add(username); + ecs->ulen = ulen; ecore_con_socks_proxies = eina_list_append(ecore_con_socks_proxies, ecs); return ecs; } /** - * Set DNS lookup mode on an existing SOCKS v4 proxy + * Find a SOCKS v4 proxy in the proxy list * - * According to RFC, SOCKS v4 does not require that a proxy perform - * its own DNS lookups for addresses. SOCKS v4a specifies the protocol - * for this. If you want to enable remote DNS lookup and are sure that your - * proxy supports it, use this function. - * @param ecs The proxy object - * @param enable If true, the proxy will perform the dns lookup - * @note By default, this setting is DISABLED. + * Use this to determine if a SOCKS proxy was previously added by checking + * the proxy list against the parameters given. + * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) + * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip + * @param username The username used for the proxy (OPTIONAL) + * @return true only if a proxy exists matching the given params + * @note This function matches slightly more loosely than ecore_con_socks4_remote_add(), and + * ecore_con_socks4_remote_add() should be used to return the actual object. * @since 1.2 */ -EAPI void -ecore_con_socks4_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable) +EAPI Eina_Bool +ecore_con_socks4_remote_exists(const char *ip, int port, const char *username) { - ECORE_CON_SOCKS_CAST_ELSE(ecs) return; - if (v4) v4->lookup = !!enable; + if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) + return EINA_FALSE; + return !!_ecore_con_socks_find(4, ip, port, username, username ? strlen(username) : 0, NULL, 0); } /** - * Get DNS lookup mode on an existing SOCKS v4 proxy + * Remove a SOCKS v4 proxy from the proxy list and delete it * - * According to RFC, SOCKS v4 does not require that a proxy perform - * its own DNS lookups for addresses. SOCKS v4a specifies the protocol - * for this. This function returns whether lookups are enabled on a proxy object. - * @param ecs The proxy object - * @return If true, the proxy will perform the dns lookup - * @note By default, this setting is DISABLED. + * Use this to remove a SOCKS proxy from the proxy list by checking + * the list against the parameters given. The proxy will then be deleted. + * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) + * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip + * @param username The username used for the proxy (OPTIONAL) + * @note This function matches in the same way as ecore_con_socks4_remote_exists(). + * @warning Be aware that deleting a proxy which is being used WILL ruin your life. * @since 1.2 */ -EAPI Eina_Bool -ecore_con_socks4_lookup_get(Ecore_Con_Socks *ecs) +EAPI void +ecore_con_socks4_remote_del(const char *ip, int port, const char *username) { - ECORE_CON_SOCKS_CAST_ELSE(ecs) return EINA_FALSE; - return v4 ? v4->lookup : EINA_FALSE; + Ecore_Con_Socks_v4 *v4; + + if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) return; + if (!ecore_con_socks_proxies) return; + + v4 = (Ecore_Con_Socks_v4*)_ecore_con_socks_find(4, ip, port, username, username ? strlen(username) : 0, NULL, 0); + if (!v4) return; + ecore_con_socks_proxies = eina_list_remove(ecore_con_socks_proxies, v4); + _ecore_con_socks_free((Ecore_Con_Socks*)v4); +} +/** + * Add a SOCKS v5 proxy to the proxy list + * + * Use this to create (or return, if previously added) a SOCKS proxy + * object which can be used by any ecore_con servers. + * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) + * @param port The port to connect to on the proxy + * @param username The username to use for the proxy (OPTIONAL) + * @param password The password to use for the proxy (OPTIONAL) + * @return An allocated proxy object, or NULL on failure + * @note This object NEVER needs to be explicitly freed. + * @since 1.2 + */ +EAPI Ecore_Con_Socks * +ecore_con_socks5_remote_add(const char *ip, int port, const char *username, const char *password) +{ + Ecore_Con_Socks_v5 *ecs5; + size_t ulen = 0, plen = 0; + + if ((!ip) || (!ip[0]) || (port < 0) || (port > 65535)) return NULL; + + if (username) + { + ulen = strlen(username); + /* max length for protocol */ + if ((!ulen) || (ulen > 255)) return NULL; + } + if (password) + { + plen = strlen(password); + /* max length for protocol */ + if ((!plen) || (plen > 255)) return NULL; + } + ecs5 = (Ecore_Con_Socks_v5*)_ecore_con_socks_find(5, ip, port, username, ulen, password, plen); + if (ecs5) return (Ecore_Con_Socks*)ecs5; + + ecs5 = calloc(1, sizeof(Ecore_Con_Socks_v5)); + if (!ecs5) return NULL; + + ecs5->version = 5; + ecs5->ip = eina_stringshare_add(ip); + ecs5->port = port; + ecs5->username = eina_stringshare_add(username); + ecs5->ulen = ulen; + ecs5->password = eina_stringshare_add(password); + ecs5->plen = plen; + ecore_con_socks_proxies = eina_list_append(ecore_con_socks_proxies, ecs5); + return (Ecore_Con_Socks*)ecs5; } /** - * Find a SOCKS v4 proxy in the proxy list + * Find a SOCKS v5 proxy in the proxy list * * Use this to determine if a SOCKS proxy was previously added by checking * the proxy list against the parameters given. * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip * @param username The username used for the proxy (OPTIONAL) + * @param password The password used for the proxy (OPTIONAL) * @return true only if a proxy exists matching the given params - * @note This function matches slightly more loosely than ecore_con_socks4_remote_add(), and - * ecore_con_socks4_remote_add() should be used to return the actual object. + * @note This function matches slightly more loosely than ecore_con_socks5_remote_add(), and + * ecore_con_socks5_remote_add() should be used to return the actual object. * @since 1.2 */ EAPI Eina_Bool -ecore_con_socks4_remote_exists(const char *ip, int port, const char *username) +ecore_con_socks5_remote_exists(const char *ip, int port, const char *username, const char *password) { - if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) + if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0])) || (password && (!password[0]))) return EINA_FALSE; - return !!_ecore_con_socks_find(4, ip, port, username); + return !!_ecore_con_socks_find(5, ip, port, username, username ? strlen(username) : 0, password, password ? strlen(password) : 0); } /** - * Remove a SOCKS v4 proxy from the proxy list and delete it + * Remove a SOCKS v5 proxy from the proxy list and delete it * * Use this to remove a SOCKS proxy from the proxy list by checking * the list against the parameters given. The proxy will then be deleted. * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip * @param username The username used for the proxy (OPTIONAL) + * @param password The password used for the proxy (OPTIONAL) * @note This function matches in the same way as ecore_con_socks4_remote_exists(). * @warning Be aware that deleting a proxy which is being used WILL ruin your life. * @since 1.2 */ EAPI void -ecore_con_socks4_remote_del(const char *ip, int port, const char *username) +ecore_con_socks5_remote_del(const char *ip, int port, const char *username, const char *password) { - Ecore_Con_Socks_v4 *v4; + Ecore_Con_Socks_v5 *v5; - if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) return; + if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0])) || (password && (!password[0]))) + return; if (!ecore_con_socks_proxies) return; - v4 = (Ecore_Con_Socks_v4*)_ecore_con_socks_find(4, ip, port, username); - if (!v4) return; - ecore_con_socks_proxies = eina_list_remove(ecore_con_socks_proxies, v4); - _ecore_con_socks_free((Ecore_Con_Socks*)v4); + v5 = (Ecore_Con_Socks_v5*)_ecore_con_socks_find(5, ip, port, username, username ? strlen(username) : 0, password, password ? strlen(password) : 0); + if (!v5) return; + ecore_con_socks_proxies = eina_list_remove(ecore_con_socks_proxies, v5); + _ecore_con_socks_free((Ecore_Con_Socks*)v5); +} + +/** + * Set DNS lookup mode on an existing SOCKS proxy + * + * According to RFC, SOCKS v4 does not require that a proxy perform + * its own DNS lookups for addresses. SOCKS v4a specifies the protocol + * for this. SOCKS v5 allows DNS lookups. + * If you want to enable remote DNS lookup and are sure that your + * proxy supports it, use this function. + * @param ecs The proxy object + * @param enable If true, the proxy will perform the dns lookup + * @note By default, this setting is DISABLED. + * @since 1.2 + */ +EAPI void +ecore_con_socks_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable) +{ + ECORE_CON_SOCKS_CAST_ELSE(ecs) return; + ecs->lookup = !!enable; +} + +/** + * Get DNS lookup mode on an existing SOCKS proxy + * + * According to RFC, SOCKS v4 does not require that a proxy perform + * its own DNS lookups for addresses. SOCKS v4a specifies the protocol + * for this. SOCKS v5 allows DNS lookups. + * This function returns whether lookups are enabled on a proxy object. + * @param ecs The proxy object + * @return If true, the proxy will perform the dns lookup + * @note By default, this setting is DISABLED. + * @since 1.2 + */ +EAPI Eina_Bool +ecore_con_socks_lookup_get(Ecore_Con_Socks *ecs) +{ + ECORE_CON_SOCKS_CAST_ELSE(ecs) return EINA_FALSE; + return ecs->lookup; } /** @@ -434,6 +869,14 @@ ecore_con_socks_bind_get(Ecore_Con_Socks *ecs) return ecs->bind; } +/** + * Return SOCKS version of a SOCKS proxy + * + * Use this function to return the SOCKS protocol version of a proxy + * @param ecs The proxy object + * @return 0 on error, else 4/5 + * @since 1.2 + */ EAPI unsigned int ecore_con_socks_version_get(Ecore_Con_Socks *ecs) { @@ -482,7 +925,8 @@ ecore_con_socks_apply_once(Ecore_Con_Socks *ecs) * @see ecore_con_socks_apply_once() * @since 1.2 * @note ecore-con supports setting this through environment variables like so: - * ECORE_CON_SOCKS_V4=[user@]server:port:lookup + * ECORE_CON_SOCKS_V4=[user@]server-port:lookup + * ECORE_CON_SOCKS_V5=[user@]server-port:lookup * user is the OPTIONAL string that would be passed to the proxy as the username * server is the IP_ADDRESS of the proxy server * port is the port to connect to on the proxy server diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c b/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c index 6104632..cd8b9c6 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c @@ -652,6 +652,7 @@ ecore_con_ssl_server_verify_name_get(Ecore_Con_Server *svr) * Use this function to add a SSL PEM certificate. * Simply specify the cert here to use it in the server object for connecting or listening. * If there is an error loading the certificate, an error will automatically be logged. + * @param svr The server object * @param cert The path to the certificate. * @return EINA_FALSE if the file cannot be loaded, otherwise EINA_TRUE. */ @@ -683,6 +684,7 @@ ecore_con_ssl_server_cert_add(Ecore_Con_Server *svr, * Use this function to add a SSL PEM CA file. * Simply specify the file here to use it in the server object for connecting or listening. * If there is an error loading the CAs, an error will automatically be logged. + * @param svr The server object * @param ca_file The path to the CA file. * @return EINA_FALSE if the file cannot be loaded, otherwise EINA_TRUE. * @note since 1.2, this function can load directores @@ -747,6 +749,7 @@ ecore_con_ssl_server_privkey_add(Ecore_Con_Server *svr, * Use this function to add a SSL PEM CRL file * Simply specify the CRL file here to use it in the server object for connecting or listening. * If there is an error loading the CRL, an error will automatically be logged. + * @param svr The server object * @param crl_file The path to the CRL file. * @return EINA_FALSE if the file cannot be loaded, * otherwise EINA_TRUE. diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_url.c b/libraries/ecore/src/lib/ecore_con/ecore_con_url.c index 709b554..05f0678 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_url.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_url.c @@ -30,41 +30,31 @@ #include "Ecore_Con.h" #include "ecore_con_private.h" +#define CURL_MIN_TIMEOUT 100 + int ECORE_CON_EVENT_URL_DATA = 0; int ECORE_CON_EVENT_URL_COMPLETE = 0; int ECORE_CON_EVENT_URL_PROGRESS = 0; #ifdef HAVE_CURL +static void _ecore_con_url_event_url_complete(Ecore_Con_Url *url_con, CURLMsg *curlmsg); +static void _ecore_con_url_multi_remove(Ecore_Con_Url *url_con); static Eina_Bool _ecore_con_url_perform(Ecore_Con_Url *url_con); -static size_t _ecore_con_url_header_cb(void *ptr, - size_t size, - size_t nitems, - void *stream); -static size_t _ecore_con_url_data_cb(void *buffer, - size_t size, - size_t nitems, - void *userp); -static int _ecore_con_url_progress_cb(void *clientp, - double dltotal, - double dlnow, - double ultotal, - double ulnow); -static size_t _ecore_con_url_read_cb(void *ptr, - size_t size, - size_t nitems, - void *stream); -static void _ecore_con_event_url_free(void *data __UNUSED__, - void *ev); -static Eina_Bool _ecore_con_url_idler_handler(void *data); -static Eina_Bool _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__); +static size_t _ecore_con_url_header_cb(void *ptr, size_t size, size_t nitems, void *stream); +static size_t _ecore_con_url_data_cb(void *buffer, size_t size, size_t nitems, void *userp); +static int _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); +static size_t _ecore_con_url_read_cb(void *ptr, size_t size, size_t nitems, void *stream); +static void _ecore_con_event_url_free(Ecore_Con_Url *url_con, void *ev); +static Eina_Bool _ecore_con_url_timer(void *data); +static Eina_Bool _ecore_con_url_fd_handler(void *data, Ecore_Fd_Handler *fd_handler); static Eina_Bool _ecore_con_url_timeout_cb(void *data); +static void _ecore_con_url_status_get(Ecore_Con_Url *url_con); static Eina_List *_url_con_list = NULL; static Eina_List *_fd_hd_list = NULL; static CURLM *_curlm = NULL; -static fd_set _current_fd_set; static int _init_count = 0; -static Ecore_Timer *_curl_timeout = NULL; +static Ecore_Timer *_curl_timer = NULL; static Eina_Bool pipelining = EINA_FALSE; #endif @@ -79,28 +69,28 @@ EAPI int ecore_con_url_init(void) { #ifdef HAVE_CURL + long ms; if (++_init_count > 1) return _init_count; - if (!ECORE_CON_EVENT_URL_DATA) ECORE_CON_EVENT_URL_DATA = ecore_event_type_new(); - if (!ECORE_CON_EVENT_URL_COMPLETE) ECORE_CON_EVENT_URL_COMPLETE = ecore_event_type_new(); - if (!ECORE_CON_EVENT_URL_PROGRESS) ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new(); + ECORE_CON_EVENT_URL_DATA = ecore_event_type_new(); + ECORE_CON_EVENT_URL_COMPLETE = ecore_event_type_new(); + ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new(); + + // curl_global_init() is not thread safe! + if (curl_global_init(CURL_GLOBAL_ALL)) return --_init_count; + _curlm = curl_multi_init(); if (!_curlm) { - long ms; - - // curl_global_init() is not thread safe! - if (curl_global_init(CURL_GLOBAL_ALL)) return --_init_count; - - _curlm = curl_multi_init(); - if (!_curlm) return --_init_count; + curl_global_cleanup(); + return --_init_count; + } - curl_multi_timeout(_curlm, &ms); - if (ms <= 0) ms = 100; + curl_multi_timeout(_curlm, &ms); + if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT; - _curl_timeout = ecore_timer_add((double)ms / 1000, _ecore_con_url_idler_handler, (void *)0xACE); - ecore_timer_freeze(_curl_timeout); - } + _curl_timer = ecore_timer_add((double)ms / 1000, _ecore_con_url_timer, NULL); + ecore_timer_freeze(_curl_timer); return _init_count; #else @@ -112,31 +102,30 @@ EAPI int ecore_con_url_shutdown(void) { #ifdef HAVE_CURL + Ecore_Con_Url *url_con; + Ecore_Fd_Handler *fd_handler; if (_init_count == 0) return 0; + --_init_count; + if (_init_count) return _init_count; - if (--_init_count == 0) + if (_curl_timer) { - Ecore_Con_Url *con_url; - Ecore_Fd_Handler *fd_handler; - - if (_curl_timeout) - { - ecore_timer_del(_curl_timeout); - _curl_timeout = NULL; - } + ecore_timer_del(_curl_timer); + _curl_timer = NULL; + } - FD_ZERO(&_current_fd_set); - EINA_LIST_FREE(_url_con_list, con_url) ecore_con_url_free(con_url); - EINA_LIST_FREE(_fd_hd_list, fd_handler) ecore_main_fd_handler_del(fd_handler); + EINA_LIST_FREE(_url_con_list, url_con) + ecore_con_url_free(url_con); + EINA_LIST_FREE(_fd_hd_list, fd_handler) + ecore_main_fd_handler_del(fd_handler); - if (_curlm) - { - curl_multi_cleanup(_curlm); - _curlm = NULL; - } - curl_global_cleanup(); - } - return _init_count; + if (_curlm) + { + curl_multi_cleanup(_curlm); + _curlm = NULL; + } + curl_global_cleanup(); + return 0; #endif return 1; } @@ -145,14 +134,12 @@ EAPI void ecore_con_url_pipeline_set(Eina_Bool enable) { #ifdef HAVE_CURL - if (enable) - curl_multi_setopt(_curlm, CURLMOPT_PIPELINING, 1); - else - curl_multi_setopt(_curlm, CURLMOPT_PIPELINING, 0); - pipelining = enable; + if (enable == pipelining) return; + curl_multi_setopt(_curlm, CURLMOPT_PIPELINING, !!enable); + pipelining = enable; #else - return; - (void)enable; + return; + (void)enable; #endif } @@ -160,11 +147,13 @@ EAPI Eina_Bool ecore_con_url_pipeline_get(void) { #ifdef HAVE_CURL - return pipelining; + return pipelining; #endif - return EINA_FALSE; + return EINA_FALSE; } +extern Ecore_Con_Socks *_ecore_con_proxy_global; + EAPI Ecore_Con_Url * ecore_con_url_new(const char *url) { @@ -196,22 +185,41 @@ ecore_con_url_new(const char *url) return NULL; } + // Read socks proxy url_con->proxy_type = -1; - if (_ecore_con_proxy_global) + if (_ecore_con_proxy_global && _ecore_con_proxy_global->ip && + (_ecore_con_proxy_global->version == 4 || + _ecore_con_proxy_global->version == 5)) { - if (_ecore_con_proxy_global->ip) + char proxy[256]; + char host[256]; + + if (_ecore_con_proxy_global->version == 5) { - char host[128]; - if (_ecore_con_proxy_global->port > 0 && - _ecore_con_proxy_global->port <= 65535) - snprintf(host, sizeof(host), "socks4://%s:%d", - _ecore_con_proxy_global->ip, - _ecore_con_proxy_global->port); - else - snprintf(host, sizeof(host), "socks4://%s", + if (_ecore_con_proxy_global->lookup) + snprintf(host, sizeof(host), "socks5h://%s", + _ecore_con_proxy_global->ip); + else snprintf(host, sizeof(host), "socks5://%s", + _ecore_con_proxy_global->ip); + } + else if (_ecore_con_proxy_global->version == 4) + { + if (_ecore_con_proxy_global->lookup) + snprintf(host, sizeof(host), "socks4a://%s", _ecore_con_proxy_global->ip); - ecore_con_url_proxy_set(url_con, host); + else snprintf(host, sizeof(host), "socks4://%s", + _ecore_con_proxy_global->ip); } + + if (_ecore_con_proxy_global->port > 0 && + _ecore_con_proxy_global->port <= 65535) + snprintf(proxy, sizeof(proxy), "%s:%d", host, + _ecore_con_proxy_global->port); + else snprintf(proxy, sizeof(proxy), "%s", host); + + ecore_con_url_proxy_set(url_con, proxy); + ecore_con_url_proxy_username_set(url_con, + _ecore_con_proxy_global->username); } ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_ENCODING, "gzip,deflate"); @@ -291,10 +299,8 @@ ecore_con_url_free(Ecore_Con_Url *url_con) { #ifdef HAVE_CURL char *s; - CURLMcode ret; - if (!url_con) - return; + if (!url_con) return; if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) { @@ -302,17 +308,16 @@ ecore_con_url_free(Ecore_Con_Url *url_con) return; } - ECORE_MAGIC_SET(url_con, ECORE_MAGIC_NONE); - if (url_con->curl_easy) { + // FIXME : How can we delete curl_easy's fds ?? (Curl do not give this info.) + // This cause "Failed to delete epoll fd xx!" error messages curl_easy_setopt(url_con->curl_easy, CURLOPT_PROGRESSFUNCTION, NULL); curl_easy_setopt(url_con->curl_easy, CURLOPT_NOPROGRESS, EINA_TRUE); - if (eina_list_data_find(_url_con_list, url_con)) + if (url_con->multi) { - ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); - if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); + _ecore_con_url_multi_remove(url_con); _url_con_list = eina_list_remove(_url_con_list, url_con); } @@ -320,6 +325,12 @@ ecore_con_url_free(Ecore_Con_Url *url_con) } if (url_con->timer) ecore_timer_del(url_con->timer); + url_con->curl_easy = NULL; + url_con->timer = NULL; + url_con->dead = EINA_TRUE; + if (url_con->event_count) return; + ECORE_MAGIC_SET(url_con, ECORE_MAGIC_NONE); + curl_slist_free_all(url_con->headers); EINA_LIST_FREE(url_con->additional_headers, s) free(s); @@ -350,9 +361,27 @@ ecore_con_url_url_get(Ecore_Con_Url *url_con) #endif } +EAPI int +ecore_con_url_status_code_get(Ecore_Con_Url *url_con) +{ +#ifdef HAVE_CURL + if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) + { + ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, __func__); + return 0; + } + + if (url_con->status) return url_con->status; + _ecore_con_url_status_get(url_con); + return url_con->status; +#else + return -1; + (void)url_con; +#endif +} + EAPI Eina_Bool -ecore_con_url_url_set(Ecore_Con_Url *url_con, - const char *url) +ecore_con_url_url_set(Ecore_Con_Url *url_con, const char *url) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -361,8 +390,7 @@ ecore_con_url_url_set(Ecore_Con_Url *url_con, return EINA_FALSE; } - if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; - + if (url_con->dead) return EINA_FALSE; eina_stringshare_replace(&url_con->url, url); if (url_con->url) @@ -380,8 +408,7 @@ ecore_con_url_url_set(Ecore_Con_Url *url_con, } EAPI void -ecore_con_url_data_set(Ecore_Con_Url *url_con, - void *data) +ecore_con_url_data_set(Ecore_Con_Url *url_con, void *data) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -399,13 +426,12 @@ ecore_con_url_data_set(Ecore_Con_Url *url_con, } EAPI void -ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, - const char *key, - const char *value) +ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, const char *key, const char *value) { #ifdef HAVE_CURL char *tmp; + if (url_con->dead) return; if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) { ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, @@ -413,6 +439,7 @@ ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, return; } + if (url_con->dead) return; tmp = malloc(strlen(key) + strlen(value) + 3); if (!tmp) return; @@ -467,9 +494,7 @@ ecore_con_url_data_get(Ecore_Con_Url *url_con) } EAPI void -ecore_con_url_time(Ecore_Con_Url *url_con, - Ecore_Con_Url_Time condition, - double timestamp) +ecore_con_url_time(Ecore_Con_Url *url_con, Ecore_Con_Url_Time condition, double timestamp) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -478,6 +503,7 @@ ecore_con_url_time(Ecore_Con_Url *url_con, return; } + if (url_con->dead) return; url_con->time_condition = condition; url_con->timestamp = timestamp; #else @@ -489,8 +515,7 @@ ecore_con_url_time(Ecore_Con_Url *url_con, } EAPI void -ecore_con_url_fd_set(Ecore_Con_Url *url_con, - int fd) +ecore_con_url_fd_set(Ecore_Con_Url *url_con, int fd) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -499,6 +524,7 @@ ecore_con_url_fd_set(Ecore_Con_Url *url_con, return; } + if (url_con->dead) return; url_con->write_fd = fd; #else return; @@ -537,10 +563,7 @@ ecore_con_url_response_headers_get(Ecore_Con_Url *url_con) } EAPI Eina_Bool -ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, - const char *username, - const char *password, - Eina_Bool safe) +ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, const char *username, const char *password, Eina_Bool safe) { #ifdef HAVE_CURL CURLcode ret; @@ -552,6 +575,7 @@ ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, return EINA_FALSE; } + if (url_con->dead) return EINA_FALSE; # if LIBCURL_VERSION_NUM >= 0x071301 if ((username) && (password)) { @@ -596,11 +620,7 @@ ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, #define MODE_POST 2 static Eina_Bool -_ecore_con_url_send(Ecore_Con_Url *url_con, - int mode, - const void *data, - long length, - const char *content_type) +_ecore_con_url_send(Ecore_Con_Url *url_con, int mode, const void *data, long length, const char *content_type) { #ifdef HAVE_CURL Eina_List *l; @@ -613,15 +633,14 @@ _ecore_con_url_send(Ecore_Con_Url *url_con, return EINA_FALSE; } - if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; - - if (!url_con->url) - return EINA_FALSE; + if (!url_con->url) return EINA_FALSE; + if (url_con->dead) return EINA_FALSE; /* Free response headers from previous send() calls */ EINA_LIST_FREE(url_con->response_headers, s) free((char *)s); url_con->response_headers = NULL; + url_con->status = 0; curl_slist_free_all(url_con->headers); url_con->headers = NULL; @@ -693,15 +712,6 @@ _ecore_con_url_send(Ecore_Con_Url *url_con, #endif } -EINA_DEPRECATED EAPI Eina_Bool -ecore_con_url_send(Ecore_Con_Url *url_con, - const void *data, - long length, - const char *content_type) -{ - return _ecore_con_url_send(url_con, MODE_AUTO, data, length, content_type); -} - EAPI Eina_Bool ecore_con_url_get(Ecore_Con_Url *url_con) { @@ -709,20 +719,13 @@ ecore_con_url_get(Ecore_Con_Url *url_con) } EAPI Eina_Bool -ecore_con_url_post(Ecore_Con_Url *url_con, - const void *data, - long length, - const char *content_type) +ecore_con_url_post(Ecore_Con_Url *url_con, const void *data, long length, const char *content_type) { return _ecore_con_url_send(url_con, MODE_POST, data, length, content_type); } EAPI Eina_Bool -ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, - const char *filename, - const char *user, - const char *pass, - const char *upload_dir) +ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, const char *filename, const char *user, const char *pass, const char *upload_dir) { #ifdef HAVE_CURL char url[4096]; @@ -739,54 +742,50 @@ ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, return EINA_FALSE; } - if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; + if (url_con->dead) return EINA_FALSE; + if (!url_con->url) return EINA_FALSE; + if ((!filename) || (!filename[0])) return EINA_FALSE; - if (!url_con->url) + if (stat(filename, &file_info)) return EINA_FALSE; - if (filename) + snprintf(userpwd, sizeof(userpwd), "%s:%s", user, pass); + ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_USERPWD, userpwd); + if (ret != CURLE_OK) { - if (stat(filename, &file_info)) - return EINA_FALSE; - - snprintf(userpwd, sizeof(userpwd), "%s:%s", user, pass); - ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_USERPWD, userpwd); - if (ret != CURLE_OK) - { - ERR("Could not set username and password for FTP upload: %s", - curl_easy_strerror(ret)); - return EINA_FALSE; - } + ERR("Could not set username and password for FTP upload: %s", + curl_easy_strerror(ret)); + return EINA_FALSE; + } - char tmp[PATH_MAX]; - snprintf(tmp, PATH_MAX, "%s", filename); + char tmp[PATH_MAX]; + snprintf(tmp, PATH_MAX, "%s", filename); - if (upload_dir) - snprintf(url, sizeof(url), "ftp://%s/%s/%s", url_con->url, - upload_dir, basename(tmp)); - else - snprintf(url, sizeof(url), "ftp://%s/%s", url_con->url, - basename(tmp)); + if (upload_dir) + snprintf(url, sizeof(url), "ftp://%s/%s/%s", url_con->url, + upload_dir, basename(tmp)); + else + snprintf(url, sizeof(url), "ftp://%s/%s", url_con->url, + basename(tmp)); - if (!ecore_con_url_url_set(url_con, url)) - return EINA_FALSE; + if (!ecore_con_url_url_set(url_con, url)) + return EINA_FALSE; - curl_easy_setopt(url_con->curl_easy, CURLOPT_INFILESIZE_LARGE, - (curl_off_t)file_info.st_size); - curl_easy_setopt(url_con->curl_easy, CURLOPT_UPLOAD, 1); - curl_easy_setopt(url_con->curl_easy, CURLOPT_READFUNCTION, - _ecore_con_url_read_cb); + curl_easy_setopt(url_con->curl_easy, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)file_info.st_size); + curl_easy_setopt(url_con->curl_easy, CURLOPT_UPLOAD, 1); + curl_easy_setopt(url_con->curl_easy, CURLOPT_READFUNCTION, + _ecore_con_url_read_cb); - fd = fopen(filename, "rb"); - if (!fd) - { - ERR("Could not open \"%s\" for FTP upload", filename); - return EINA_FALSE; - } - curl_easy_setopt(url_con->curl_easy, CURLOPT_READDATA, fd); - - return _ecore_con_url_perform(url_con); + fd = fopen(filename, "rb"); + if (!fd) + { + ERR("Could not open \"%s\" for FTP upload", filename); + return EINA_FALSE; } + curl_easy_setopt(url_con->curl_easy, CURLOPT_READDATA, fd); + + return _ecore_con_url_perform(url_con); #else return EINA_FALSE; (void)url_con; @@ -795,8 +794,6 @@ ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, (void)pass; (void)upload_dir; #endif - - return EINA_FALSE; } EAPI void @@ -813,6 +810,7 @@ ecore_con_url_cookies_init(Ecore_Con_Url *url_con) return; } + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEFILE, ""); #else return; @@ -834,6 +832,7 @@ ecore_con_url_cookies_ignore_old_session_set(Ecore_Con_Url *url_con, Eina_Bool i return; } + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIESESSION, ignore); #else return; @@ -856,6 +855,7 @@ ecore_con_url_cookies_clear(Ecore_Con_Url *url_con) return; } + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "ALL"); #else return; @@ -877,6 +877,7 @@ ecore_con_url_cookies_session_clear(Ecore_Con_Url *url_con) return; } + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "SESS"); #else return; @@ -885,7 +886,7 @@ ecore_con_url_cookies_session_clear(Ecore_Con_Url *url_con) } EAPI void -ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char * const file_name) +ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char *const file_name) { #ifdef HAVE_CURL if (!url_con) @@ -898,6 +899,7 @@ ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char * const file_n return; } + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEFILE, file_name); #else return; @@ -907,7 +909,7 @@ ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char * const file_n } EAPI Eina_Bool -ecore_con_url_cookies_jar_file_set(Ecore_Con_Url *url_con, const char * const cookiejar_file) +ecore_con_url_cookies_jar_file_set(Ecore_Con_Url *url_con, const char *const cookiejar_file) { #ifdef HAVE_CURL CURLcode ret; @@ -922,6 +924,7 @@ ecore_con_url_cookies_jar_file_set(Ecore_Con_Url *url_con, const char * const co return EINA_FALSE; } + if (url_con->dead) return EINA_FALSE; ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEJAR, cookiejar_file); if (ret != CURLE_OK) @@ -953,6 +956,7 @@ ecore_con_url_cookies_jar_write(Ecore_Con_Url *url_con) return; } + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "FLUSH"); #else return; @@ -961,8 +965,7 @@ ecore_con_url_cookies_jar_write(Ecore_Con_Url *url_con) } EAPI void -ecore_con_url_verbose_set(Ecore_Con_Url *url_con, - Eina_Bool verbose) +ecore_con_url_verbose_set(Ecore_Con_Url *url_con, Eina_Bool verbose) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -972,11 +975,10 @@ ecore_con_url_verbose_set(Ecore_Con_Url *url_con, return; } - if (eina_list_data_find(_url_con_list, url_con)) return; - if (!url_con->url) return; + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_VERBOSE, (int)verbose); #else return; @@ -986,8 +988,7 @@ ecore_con_url_verbose_set(Ecore_Con_Url *url_con, } EAPI void -ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, - Eina_Bool use_epsv) +ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, Eina_Bool use_epsv) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -997,11 +998,10 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, return; } - if (eina_list_data_find(_url_con_list, url_con)) return; - if (!url_con->url) return; + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_FTP_USE_EPSV, (int)use_epsv); #else return; @@ -1023,8 +1023,7 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, * @since 1.1.0 */ EAPI void -ecore_con_url_ssl_verify_peer_set(Ecore_Con_Url *url_con, - Eina_Bool verify) +ecore_con_url_ssl_verify_peer_set(Ecore_Con_Url *url_con, Eina_Bool verify) { #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) @@ -1034,11 +1033,10 @@ ecore_con_url_ssl_verify_peer_set(Ecore_Con_Url *url_con, return; } - if (eina_list_data_find(_url_con_list, url_con)) return; - if (!url_con->url) return; + if (url_con->dead) return; curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, (int)verify); #else return; @@ -1073,19 +1071,19 @@ ecore_con_url_ssl_ca_set(Ecore_Con_Url *url_con, const char *ca_path) #ifdef HAVE_CURL if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) { - ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_ssl_ca_set"); - return -1; + ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_ssl_ca_set"); + return -1; } - if (eina_list_data_find(_url_con_list, url_con)) return -1; if (!url_con->url) return -1; + if (url_con->dead) return -1; if (ca_path == NULL) res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 0); else { - res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 1); - if (!res) - res = curl_easy_setopt(url_con->curl_easy, CURLOPT_CAINFO, ca_path); + res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 1); + if (!res) + res = curl_easy_setopt(url_con->curl_easy, CURLOPT_CAINFO, ca_path); } #else return -1; @@ -1097,6 +1095,47 @@ ecore_con_url_ssl_ca_set(Ecore_Con_Url *url_con, const char *ca_path) } EAPI Eina_Bool +ecore_con_url_http_version_set(Ecore_Con_Url *url_con, Ecore_Con_Url_Http_Version version) +{ +#ifdef HAVE_CURL + int res = -1; + if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) + { + ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_http_version_set"); + return EINA_FALSE; + } + if (url_con->dead) return EINA_FALSE; + switch (version) + { + case ECORE_CON_URL_HTTP_VERSION_1_0: + res = curl_easy_setopt(url_con->curl_easy, + CURLOPT_HTTP_VERSION, + CURL_HTTP_VERSION_1_0); + break; + + case ECORE_CON_URL_HTTP_VERSION_1_1: + res = curl_easy_setopt(url_con->curl_easy, + CURLOPT_HTTP_VERSION, + CURL_HTTP_VERSION_1_1); + break; + + default: + break; + } + if (res != CURLE_OK) + { + ERR("curl http version setting failed: %s", curl_easy_strerror(res)); + return EINA_FALSE; + } + return EINA_TRUE; +#else + (void)url_con; + (void)version; + return EINA_FALSE; +#endif +} + +EAPI Eina_Bool ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) { #ifdef HAVE_CURL @@ -1109,8 +1148,8 @@ ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) return EINA_FALSE; } - if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; if (!url_con->url) return EINA_FALSE; + if (url_con->dead) return EINA_FALSE; if (!proxy) res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXY, ""); else @@ -1121,14 +1160,20 @@ ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) if (vers->version_num < 0x71507) { url_con->proxy_type = CURLPROXY_HTTP; - if (strstr(proxy, "socks4")) url_con->proxy_type = CURLPROXY_SOCKS4; - else if (strstr(proxy, "socks4a")) url_con->proxy_type = CURLPROXY_SOCKS4A; - else if (strstr(proxy, "socks5")) url_con->proxy_type = CURLPROXY_SOCKS5; - else if (strstr(proxy, "socks5h")) url_con->proxy_type = CURLPROXY_SOCKS5_HOSTNAME; - res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXYTYPE, url_con->proxy_type); + if (strstr(proxy, "socks4a")) + url_con->proxy_type = CURLPROXY_SOCKS4A; + else if (strstr(proxy, "socks4")) + url_con->proxy_type = CURLPROXY_SOCKS4; + else if (strstr(proxy, "socks5h")) + url_con->proxy_type = CURLPROXY_SOCKS5_HOSTNAME; + else if (strstr(proxy, "socks5")) + url_con->proxy_type = CURLPROXY_SOCKS5; + res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXYTYPE, + url_con->proxy_type); if (res != CURLE_OK) { - ERR("curl proxy type setting failed: %s", curl_easy_strerror(res)); + ERR("curl proxy type setting failed: %s", + curl_easy_strerror(res)); url_con->proxy_type = -1; return EINA_FALSE; } @@ -1159,7 +1204,7 @@ ecore_con_url_timeout_set(Ecore_Con_Url *url_con, double timeout) return; } - if (eina_list_data_find(_url_con_list, url_con)) return; + if (url_con->dead) return; if (!url_con->url || timeout < 0) return; if (url_con->timer) ecore_timer_del(url_con->timer); url_con->timer = ecore_timer_add(timeout, _ecore_con_url_timeout_cb, url_con); @@ -1181,9 +1226,9 @@ ecore_con_url_proxy_username_set(Ecore_Con_Url *url_con, const char *username) return EINA_FALSE; } - if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; + if (url_con->dead) return EINA_FALSE; if (!url_con->url) return EINA_FALSE; - if (!username) return EINA_FALSE; + if ((!username) || (!username[0])) return EINA_FALSE; if (url_con->proxy_type == CURLPROXY_SOCKS4 || url_con->proxy_type == CURLPROXY_SOCKS4A) { ERR("Proxy type should be socks5 and above"); @@ -1214,8 +1259,8 @@ ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const char *password) ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_proxy_password_set"); return EINA_FALSE; } - if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; if (!url_con->url) return EINA_FALSE; + if (url_con->dead) return EINA_FALSE; if (!password) return EINA_FALSE; if (url_con->proxy_type == CURLPROXY_SOCKS4 || url_con->proxy_type == CURLPROXY_SOCKS4A) { @@ -1242,19 +1287,61 @@ ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const char *password) */ #ifdef HAVE_CURL +static void +_ecore_con_url_status_get(Ecore_Con_Url *url_con) +{ + long status = 0; + + if (!url_con->curl_easy) return; + if (!curl_easy_getinfo(url_con->curl_easy, CURLINFO_RESPONSE_CODE, &status)) + url_con->status = status; + else + url_con->status = 0; +} + +static void +_ecore_con_url_event_url_complete(Ecore_Con_Url *url_con, CURLMsg *curlmsg) +{ + Ecore_Con_Event_Url_Complete *e; + + e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); + if (!e) return; + + if (curlmsg && (curlmsg->data.result == CURLE_OK)) + { + if (!url_con->status) + _ecore_con_url_status_get(url_con); + } + else if (curlmsg) + ERR("Curl message have errors: %d", curlmsg->data.result); + else + CRIT("THIS IS BAD."); + + e->status = url_con->status; + e->url_con = url_con; + url_con->event_count++; + ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con); +} + +static void +_ecore_con_url_multi_remove(Ecore_Con_Url *url_con) +{ + CURLMcode ret; + + ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); + url_con->multi = EINA_FALSE; + if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); +} + static Eina_Bool _ecore_con_url_timeout_cb(void *data) { Ecore_Con_Url *url_con = data; - CURLMcode ret; - Ecore_Con_Event_Url_Complete *e; if (!url_con) return ECORE_CALLBACK_CANCEL; if (!url_con->curl_easy) return ECORE_CALLBACK_CANCEL; - if (!eina_list_data_find(_url_con_list, url_con)) return ECORE_CALLBACK_CANCEL; - ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); - if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); + _ecore_con_url_multi_remove(url_con); _url_con_list = eina_list_remove(_url_con_list, url_con); curl_slist_free_all(url_con->headers); @@ -1262,21 +1349,12 @@ _ecore_con_url_timeout_cb(void *data) url_con->timer = NULL; - e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); - if (e) - { - e->url_con = url_con; - e->status = 0; - ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, _ecore_con_event_url_free, NULL); - } + _ecore_con_url_event_url_complete(url_con, NULL); return ECORE_CALLBACK_CANCEL; } static size_t -_ecore_con_url_data_cb(void *buffer, - size_t size, - size_t nitems, - void *userp) +_ecore_con_url_data_cb(void *buffer, size_t size, size_t nitems, void *userp) { Ecore_Con_Url *url_con; Ecore_Con_Event_Url_Data *e; @@ -1295,6 +1373,7 @@ _ecore_con_url_data_cb(void *buffer, url_con->received += real_size; + INF("reading from %s", url_con->url); if (url_con->write_fd < 0) { e = @@ -1305,7 +1384,8 @@ _ecore_con_url_data_cb(void *buffer, e->url_con = url_con; e->size = real_size; memcpy(e->data, buffer, real_size); - ecore_event_add(ECORE_CON_EVENT_URL_DATA, e, _ecore_con_event_url_free, NULL); + url_con->event_count++; + ecore_event_add(ECORE_CON_EVENT_URL_DATA, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con); } } else @@ -1336,10 +1416,7 @@ _ecore_con_url_data_cb(void *buffer, } static size_t -_ecore_con_url_header_cb(void *ptr, - size_t size, - size_t nitems, - void *stream) +_ecore_con_url_header_cb(void *ptr, size_t size, size_t nitems, void *stream) { size_t real_size = size * nitems; Ecore_Con_Url *url_con = stream; @@ -1358,11 +1435,7 @@ _ecore_con_url_header_cb(void *ptr, } static int -_ecore_con_url_progress_cb(void *clientp, - double dltotal, - double dlnow, - double ultotal, - double ulnow) +_ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow) { Ecore_Con_Event_Url_Progress *e; Ecore_Con_Url *url_con; @@ -1377,17 +1450,15 @@ _ecore_con_url_progress_cb(void *clientp, e->down.now = dlnow; e->up.total = ultotal; e->up.now = ulnow; - ecore_event_add(ECORE_CON_EVENT_URL_PROGRESS, e, _ecore_con_event_url_free, NULL); + url_con->event_count++; + ecore_event_add(ECORE_CON_EVENT_URL_PROGRESS, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con); } return 0; } static size_t -_ecore_con_url_read_cb(void *ptr, - size_t size, - size_t nitems, - void *stream) +_ecore_con_url_read_cb(void *ptr, size_t size, size_t nitems, void *stream) { size_t retcode = fread(ptr, size, nitems, stream); @@ -1418,96 +1489,38 @@ _ecore_con_url_info_read(void) while ((curlmsg = curl_multi_info_read(_curlm, &n_remaining))) { + Eina_List *l, *ll; + Ecore_Con_Url *url_con = NULL; + DBG("Curl message: %d", curlmsg->msg); + if (curlmsg->msg == CURLMSG_DONE) { - Eina_List *l, *ll; - Ecore_Con_Url *url_con; - EINA_LIST_FOREACH_SAFE(_url_con_list, l, ll, url_con) { if (curlmsg->easy_handle == url_con->curl_easy) - { - CURLMcode ret; - Ecore_Con_Event_Url_Complete *e; - - e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); - if (e) - { - e->url_con = url_con; - e->status = 0; - if (curlmsg->data.result == CURLE_OK) - { - long status; /* curl API uses long, not int */ - status = 0; - curl_easy_getinfo(curlmsg->easy_handle, CURLINFO_RESPONSE_CODE, &status); - e->status = status; - } - ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, _ecore_con_event_url_free, NULL); - } - - ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); - if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); - _url_con_list = eina_list_remove(_url_con_list, url_con); - break; - } + _ecore_con_url_event_url_complete(url_con, curlmsg); } - } + } } } static void _ecore_con_url_curl_clear(void) { + Ecore_Fd_Handler *fdh; Ecore_Con_Url *url_con; - FD_ZERO(&_current_fd_set); - if (_fd_hd_list) - { - Ecore_Fd_Handler *fd_handler; - EINA_LIST_FREE(_fd_hd_list, fd_handler) - { - int fd = ecore_main_fd_handler_fd_get(fd_handler); - FD_CLR(fd, &_current_fd_set); - // FIXME: ecore_main_fd_handler_del() sometimes give errors - // because curl do not make fd itself controlled by users, but it can be ignored. - ecore_main_fd_handler_del(fd_handler); - } - } - - EINA_LIST_FREE(_url_con_list, url_con) - { - CURLMcode ret; - Ecore_Con_Event_Url_Complete *e; - - e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); - if (e) - { - e->url_con = url_con; - e->status = 0; - ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, _ecore_con_event_url_free, NULL); - } - ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); - if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); - } + EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh); + EINA_LIST_FREE(_url_con_list, url_con) _ecore_con_url_multi_remove(url_con); } static Eina_Bool _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__) { - if (_fd_hd_list) - { - Ecore_Fd_Handler *fd_handler; - EINA_LIST_FREE(_fd_hd_list, fd_handler) - { - int fd = ecore_main_fd_handler_fd_get(fd_handler); - FD_CLR(fd, &_current_fd_set); - // FIXME: ecore_main_fd_handler_del() sometimes give errors - // because curl do not make fd itself controlled by users, but it can be ignored. - ecore_main_fd_handler_del(fd_handler); - } - } - ecore_timer_thaw(_curl_timeout); - return ECORE_CALLBACK_RENEW; + Ecore_Fd_Handler *fdh; + EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh); + ecore_timer_interval_set(_curl_timer, 0.1); + return ECORE_CALLBACK_CANCEL; } static void @@ -1516,7 +1529,6 @@ _ecore_con_url_fdset(void) CURLMcode ret; fd_set read_set, write_set, exc_set; int fd, fd_max; - Ecore_Fd_Handler *fd_handler; FD_ZERO(&read_set); FD_ZERO(&write_set); @@ -1532,53 +1544,61 @@ _ecore_con_url_fdset(void) for (fd = 0; fd <= fd_max; fd++) { int flags = 0; - if (FD_ISSET(fd, &read_set)) flags |= ECORE_FD_READ; + if (FD_ISSET(fd, &read_set)) flags |= ECORE_FD_READ; if (FD_ISSET(fd, &write_set)) flags |= ECORE_FD_WRITE; - if (FD_ISSET(fd, &exc_set)) flags |= ECORE_FD_ERROR; + if (FD_ISSET(fd, &exc_set)) flags |= ECORE_FD_ERROR; if (flags) { - if (!FD_ISSET(fd, &_current_fd_set)) - { - FD_SET(fd, &_current_fd_set); - fd_handler = ecore_main_fd_handler_add(fd, flags, _ecore_con_url_fd_handler, NULL, NULL, NULL); - if (fd_handler) _fd_hd_list = eina_list_append(_fd_hd_list, fd_handler); - ecore_timer_freeze(_curl_timeout); - } + // FIXME: Who is owner (easy_handle) of this fd?? (Curl do not give this info.) + // This cause "Failed to delete epoll fd xx!" error messages + Ecore_Fd_Handler *fd_handler; + fd_handler = ecore_main_fd_handler_add(fd, flags, + _ecore_con_url_fd_handler, + NULL, NULL, NULL); + if (fd_handler) + _fd_hd_list = eina_list_append(_fd_hd_list, fd_handler); } } } static Eina_Bool -_ecore_con_url_idler_handler(void *data __UNUSED__) +_ecore_con_url_timer(void *data __UNUSED__) { + Ecore_Fd_Handler *fdh; int still_running; CURLMcode ret; + EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh); + _ecore_con_url_info_read(); + ret = curl_multi_perform(_curlm, &still_running); if (ret == CURLM_CALL_MULTI_PERFORM) { - DBG("Call multiperform again"); + DBG("curl_multi_perform() again immediately"); return ECORE_CALLBACK_RENEW; } else if (ret != CURLM_OK) { ERR("curl_multi_perform() failed: %s", curl_multi_strerror(ret)); _ecore_con_url_curl_clear(); - ecore_timer_freeze(_curl_timeout); - return ECORE_CALLBACK_RENEW; + ecore_timer_freeze(_curl_timer); } - _ecore_con_url_info_read(); if (still_running) { - DBG("multiperform is still_running"); + long ms; _ecore_con_url_fdset(); + curl_multi_timeout(_curlm, &ms); + DBG("multiperform is still running: %d, timeout: %ld", still_running, ms); + if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT; + ecore_timer_interval_set(_curl_timer, (double)ms / 1000); } else { DBG("multiperform ended"); + _ecore_con_url_info_read(); _ecore_con_url_curl_clear(); - ecore_timer_freeze(_curl_timeout); + ecore_timer_freeze(_curl_timer); } return ECORE_CALLBACK_RENEW; @@ -1596,17 +1616,20 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con) return EINA_FALSE; } + url_con->multi = EINA_TRUE; _url_con_list = eina_list_append(_url_con_list, url_con); - ecore_timer_thaw(_curl_timeout); + ecore_timer_thaw(_curl_timer); return EINA_TRUE; } static void -_ecore_con_event_url_free(void *data __UNUSED__, - void *ev) +_ecore_con_event_url_free(Ecore_Con_Url *url_con, void *ev) { free(ev); + url_con->event_count--; + if (url_con->dead && (!url_con->event_count)) + ecore_con_url_free(url_con); } #endif diff --git a/libraries/ecore/src/lib/ecore_config/Makefile.in b/libraries/ecore/src/lib/ecore_config/Makefile.in index 6870d44..4b908cd 100644 --- a/libraries/ecore/src/lib/ecore_config/Makefile.in +++ b/libraries/ecore/src/lib/ecore_config/Makefile.in @@ -55,16 +55,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -205,6 +204,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -260,6 +261,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -270,6 +273,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_directfb/Makefile.in b/libraries/ecore/src/lib/ecore_directfb/Makefile.in index b7e1d29..f1b270a 100644 --- a/libraries/ecore/src/lib/ecore_directfb/Makefile.in +++ b/libraries/ecore/src/lib/ecore_directfb/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -190,6 +189,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -245,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -255,6 +258,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h b/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h index 8d9abc4..a78824e 100644 --- a/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h +++ b/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h @@ -39,6 +39,9 @@ * @li @ref ecore_evas_callbacks_example_c * @li @ref ecore_evas_object_example_c * @li @ref ecore_evas_basics_example_c + * @li @ref Ecore_Evas_Window_Sizes_Example_c + * @li @ref Ecore_Evas_Buffer_Example_01_c + * @li @ref Ecore_Evas_Buffer_Example_02_c */ /* FIXME: @@ -60,10 +63,26 @@ extern "C" { /** * @defgroup Ecore_Evas_Group Ecore_Evas wrapper/helper set of functions * + * Ecore evas is a set of functions that makes it easy to tie together ecore's + * main loop and input handling to evas. As such it's a natural base for EFL + * applications. While this combination makes it easy to create the basic + * aspects all applications need, for normal applications(ones with buttons, + * checkboxes and layouts) one should consider using Elementary. + * + * Ecore evas is extremely well suited for applications that are not based on + * widgets. It has a main loop that delivers events, does basic window handling + * and leaves all of the drawing up to the user. This works very well if used + * in conjunction with Edje or if doing custom drawing as, for example, is done + * in games. + * * This is a list of examples of these functions: - * - @ref Ecore_Evas_Window_Sizes_Example_c - * - @ref Ecore_Evas_Buffer_Example_01_c - * - @ref Ecore_Evas_Buffer_Example_02_c + * @li @ref ecore_evas_basics_example_c + * @li @ref ecore_evas_object_example_c + * @li @ref ecore_evas_callbacks_example_c + * @li @ref Ecore_Evas_Window_Sizes_Example_c + * @li @ref Ecore_Evas_Buffer_Example_01_c + * @li @ref Ecore_Evas_Buffer_Example_02_c + * * @{ */ @@ -151,6 +170,12 @@ typedef struct _Ecore_Cocoa_Window Ecore_Cocoa_Window; #ifndef _ECORE_EVAS_PRIVATE_H /* basic data types */ typedef struct _Ecore_Evas Ecore_Evas; +typedef void (*Ecore_Evas_Event_Cb) (Ecore_Evas *ee); /**< Callback used for several ecore evas events @since 1.2 */ +#endif + +#ifndef _ECORE_WAYLAND_H_ +#define _ECORE_WAYLAND_WINDOW_PREDEF +typedef struct _Ecore_Wl_Window Ecore_Wl_Window; #endif /* module setup/shutdown calls */ @@ -222,7 +247,7 @@ EAPI Ecore_Evas *ecore_evas_new(const char *engine_name, int x, int y, int w, in * This function allows you to make an Ecore_Evas translucent using an * alpha channel. See ecore_evas_shaped_set() for details. The difference * between a shaped window and a window with an alpha channel is that an - * alpha channel supports multiple levels of transpararency, as opposed to + * alpha channel supports multiple levels of transparency, as opposed to * the 1 bit transparency of a shaped window (a pixel is either opaque, or * it's transparent). * @@ -300,7 +325,7 @@ EAPI void ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, i * This function takes four pointers to (already allocated) ints, and places * the geometry which @p ee was latest recently requested . If any of the parameters is not desired you * may pass NULL on them. - * This function can represent recently requested geomety. + * This function can represent recently requested geometry. * ecore_evas_geometry_get function returns the value is updated after engine finished request. * By comparison, ecore_evas_request_geometry_get returns recently requested value. * @@ -342,7 +367,7 @@ EAPI Eina_Bool ecore_evas_focus_get(const Ecore_Evas *ee); * This function iconifies @p ee if @p on is EINA_TRUE, or uniconifies @p ee if * @p on is EINA_FALSE. * - * @note Iconify and minize are synonims. + * @note Iconify and minimize are synonyms. * * @warning Support for this depends on the underlying windowing system. */ @@ -353,7 +378,7 @@ EAPI void ecore_evas_iconified_set(Ecore_Evas *ee, Eina_Bool on); * @param ee The Ecore_Evas to set * @return EINA_TRUE if @p ee is iconified, EINA_FALSE if not. * - * @note Iconify and minize are synonims. + * @note Iconify and minimize are synonyms. * * @see ecore_evas_iconified_set() */ @@ -401,6 +426,161 @@ EAPI void ecore_evas_fullscreen_set(Ecore_Evas *ee, Eina_Bool on); */ EAPI Eina_Bool ecore_evas_fullscreen_get(const Ecore_Evas *ee); /** + * @brief Set another window that this window is a group member of + * + * @param ee The Ecore_Evas + * @param ee_group The other group member + * + * If @p ee_group is NULL, @p ee is removed from the group, otherwise it is + * added. Note that if you free the @p ee_group canvas before @p ee, then + * getting the group canvas with ecore_evas_window_group_get() will return + * an invalid handle. + * + * @warning Support for this depends on the underlying windowing system. + * @since 1.2 + */ +EAPI void ecore_evas_window_group_set(Ecore_Evas *ee, const Ecore_Evas *ee_group); +/** + * @brief Get the canvas group set. + * + * This returns the handle set by ecore_evas_window_group_set(). + * + * @param ee The Ecore_Evas to set + * @return The Canvas group handle + * + * @see ecore_evas_window_group_set() + * @since 1.2 + */ +EAPI const Ecore_Evas *ecore_evas_window_group_get(const Ecore_Evas *ee); +/** + * @brief Set the aspect ratio of a canvas window + * + * @param ee The Ecore_Evas + * @param aspect The aspect ratio (width divided by height), or 0 to disable + * + * This sets the desired aspect ratio of a canvas window + * + * @warning Support for this depends on the underlying windowing system. + * @since 1.2 + */ +EAPI void ecore_evas_aspect_set(Ecore_Evas *ee, double aspect); +/** + * @brief Get the aspect ratio of a canvas window + * + * This returns the value set by ecore_evas_aspect_set(). + * + * @param ee The Ecore_Evas to set + * @return The aspect ratio + * + * @see ecore_evas_aspect_set() + * @since 1.2 + */ +EAPI double ecore_evas_aspect_get(const Ecore_Evas *ee); +/** + * @brief Set The urgent hint flag + * + * @param ee The Ecore_Evas + * @param urgent The urgent state flag + * + * This sets the "urgent" state hint on a window so the desktop environment + * can highlight it somehow. + * + * @warning Support for this depends on the underlying windowing system. + * @since 1.2 + */ +EAPI void ecore_evas_urgent_set(Ecore_Evas *ee, Eina_Bool urgent); +/** + * @brief Get the urgent state on the cavas window + * + * This returns the value set by ecore_evas_urgent_set() + * + * @param ee The Ecore_Evas to set + * @return The urgent state set + * + * @see ecore_evas_urgent_set() + * @since 1.2 + */ +EAPI Eina_Bool ecore_evas_urgent_get(const Ecore_Evas *ee); +/** + * @brief Set the modal state flag on the canvas window + * + * @param ee The Ecore_Evas + * @param modal The modal hint flag + * + * This hints if the window should be modal (eg if it is also transient + * for another window, the other window will maybe be denied focus by + * the desktop window manager). + * + * @warning Support for this depends on the underlying windowing system. + * @since 1.2 + */ +EAPI void ecore_evas_modal_set(Ecore_Evas *ee, Eina_Bool modal); +/** + * @brief Get The modal flag + * + * This returns the value set by ecore_evas_modal_set(). + * + * @param ee The Ecore_Evas to set + * @return The modal flag + * + * @see ecore_evas_modal_set() + * @since 1.2 + */ +EAPI Eina_Bool ecore_evas_modal_get(const Ecore_Evas *ee); +/** + * @brief Set the "i demand attention" flag on a canvas window + * + * @param ee The Ecore_Evas + * @param demand_attention The flag state to set + * + * A window may demand attention now (eg you must enter a password before + * continuing), and so it may flag a window with this. + * + * @warning Support for this depends on the underlying windowing system. + * @since 1.2 + */ +EAPI void ecore_evas_demand_attention_set(Ecore_Evas *ee, Eina_Bool demand); +/** + * @brief Get the "i demand attention" flag + * + * This returns the value set by ecore_evas_demand_attention_set(). + * + * @param ee The Ecore_Evas to set + * @return The "i demand attention" flag. + * + * @see ecore_evas_demand_attention_set() + * @since 1.2 + */ +EAPI Eina_Bool ecore_evas_demand_attention_get(const Ecore_Evas *ee); +/** + * @brief Set the "focus skip" flag + * + * @param ee The Ecore_Evas + * @param skip The "focus skip" state to set. + * + * A window may not want to accept focus, be in the taskbar, pager etc. + * sometimes (example for a small notification window that hovers around + * a taskbar or panel, or hovers around a window until some activity + * dismisses it). + * + * @warning Support for this depends on the underlying windowing system. + * @since 1.2 + */ +EAPI void ecore_evas_focus_skip_set(Ecore_Evas *ee, Eina_Bool skip); +/** + * @brief Get the "focus skip" flag + * + * This returns the value set by ecore_evas_focus_skip_set(). + * + * @param ee The Ecore_Evas to set + * @return The "focus skip" flag. + * + * @see ecore_evas_focus_skip_set() + * @since 1.2 + */ +EAPI Eina_Bool ecore_evas_focus_skip_get(const Ecore_Evas *ee); + +/** * @brief Set if this evas should ignore @b all events. * * @param ee The Ecore_Evas whose window's to ignore events. @@ -693,10 +873,13 @@ EAPI Ecore_Evas *ecore_evas_fb_new(const char *disp_name, int rotation, int EAPI Ecore_Evas *ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h); EAPI Ecore_DirectFB_Window *ecore_evas_directfb_window_get(const Ecore_Evas *ee); -EAPI Ecore_Evas *ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, int frame); -EAPI Ecore_Evas *ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, int frame); + +EAPI Ecore_Evas *ecore_evas_wayland_shm_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame); +EAPI Ecore_Evas *ecore_evas_wayland_egl_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame); EAPI void ecore_evas_wayland_resize(Ecore_Evas *ee, int location); -EAPI void ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); +/* EAPI void ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); */ +/* EAPI void ecore_evas_wayland_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y); */ +/* EAPI void ecore_evas_wayland_type_set(Ecore_Evas *ee, int type); */ /** * @brief Create a new @c Ecore_Evas canvas bound to the Evas @@ -1038,7 +1221,7 @@ EAPI void ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas move events. * @param ee The Ecore_Evas to set callbacks on @@ -1050,7 +1233,7 @@ EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ec * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_move_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas show events. * @param ee The Ecore_Evas to set callbacks on @@ -1062,7 +1245,7 @@ EAPI void ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecor * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_show_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas hide events. * @param ee The Ecore_Evas to set callbacks on @@ -1074,7 +1257,7 @@ EAPI void ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecor * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_hide_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas delete request events. * @param ee The Ecore_Evas to set callbacks on @@ -1086,7 +1269,7 @@ EAPI void ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecor * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas destroy events. * @param ee The Ecore_Evas to set callbacks on @@ -1098,7 +1281,7 @@ EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*f * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_destroy_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas focus in events. * @param ee The Ecore_Evas to set callbacks on @@ -1110,7 +1293,7 @@ EAPI void ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (E * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_focus_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas focus out events. * @param ee The Ecore_Evas to set callbacks on @@ -1122,7 +1305,7 @@ EAPI void ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) ( * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas sticky events. * @param ee The Ecore_Evas to set callbacks on @@ -1134,7 +1317,7 @@ EAPI void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_sticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas un-sticky events. * @param ee The Ecore_Evas to set callbacks on @@ -1146,7 +1329,7 @@ EAPI void ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ec * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_unsticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas mouse in events. * @param ee The Ecore_Evas to set callbacks on @@ -1158,7 +1341,7 @@ EAPI void ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) ( * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas mouse out events. * @param ee The Ecore_Evas to set callbacks on @@ -1170,7 +1353,7 @@ EAPI void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) ( * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas pre render events. * @param ee The Ecore_Evas to set callbacks on @@ -1182,7 +1365,7 @@ EAPI void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas mouse post render events. * @param ee The Ecore_Evas to set callbacks on @@ -1194,7 +1377,7 @@ EAPI void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_post_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); /** * Set a callback for Ecore_Evas pre-free event. * @param ee The Ecore_Evas to set callbacks on @@ -1206,7 +1389,21 @@ EAPI void ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func * @warning If and when this function is called depends on the underlying * windowing system. */ -EAPI void ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); +EAPI void ecore_evas_callback_pre_free_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); +/** + * Set a callback for Ecore_Evas state changes. + * @param ee The Ecore_Evas to set callbacks on + * @param func The function to call + + * A call to this function will set a callback on an Ecore_Evas, causing + * @p func to be called whenever @p ee changes state. + * + * @since 1.2 + * @warning If and when this function is called depends on the underlying + * windowing system. + */ +EAPI void ecore_evas_callback_state_change_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + EAPI Evas *ecore_evas_get(const Ecore_Evas *ee); EAPI void ecore_evas_managed_move(Ecore_Evas *ee, int x, int y); EAPI void ecore_evas_shaped_set(Ecore_Evas *ee, Eina_Bool shaped); @@ -1572,7 +1769,7 @@ EAPI Eina_Bool ecore_evas_ews_setup(int x, int y, int w, int h); /** * Return the internal backing store in use. * - * @note this will foced it to be created, making future calls to + * @note this will forced it to be created, making future calls to * ecore_evas_ews_engine_set() void. * * @see ecore_evas_ews_evas_get() @@ -1583,7 +1780,7 @@ EAPI Ecore_Evas *ecore_evas_ews_ecore_evas_get(void); /** * Return the internal backing store in use. * - * @note this will foced it to be created, making future calls to + * @note this will forced it to be created, making future calls to * ecore_evas_ews_engine_set() void. * * @see ecore_evas_ews_ecore_evas_get() @@ -1762,6 +1959,7 @@ EAPI Ecore_Evas *ecore_evas_extn_socket_new(int w, int h); /** * @brief Create a socket to provide the service for external ecore evas socket. * + * @param ee The Ecore_Evas * @param svcname The name of the service to be advertised. ensure that it is unique (when combined with @p svcnum) otherwise creation may fail. * @param svcnum A number (any value, 0 beig the common default) to differentiate multiple instances of services with the same name. * @param svcsys A boolean that if true, specifies to create a system-wide service all users can connect to, otherwise the service is private to the user ide that created the service. @@ -1791,7 +1989,7 @@ EAPI Eina_Bool ecore_evas_extn_socket_listen(Ecore_Evas *ee, const char *svcname * image data so the external plug process will not render to it or alter it. * * You should only hold the lock for just as long as you need to read out the - * image data or otherwise deal with it, and then unlokc it with + * image data or otherwise deal with it, and then unlock it with * ecore_evas_extn_plug_object_data_unlock(). Keeping a lock over more than * 1 iteration of the main ecore loop will be problematic, so avoid it. Also * forgetting to unlock may cause the socket process to freeze and thus create @@ -1831,7 +2029,7 @@ EAPI void ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj); * in the canvas of the plug process in place of the image object. The image * object by default is created to be filled (equivalent of * evas_object_image_filled_add() on creation) so image content will scale - * toi fill the image unless otherwise reconfigured. The Ecore_Evas size + * to fill the image unless otherwise reconfigured. The Ecore_Evas size * of the plug is the master size and determines size in pixels of the * plug canvas. You can change the size with something like: * diff --git a/libraries/ecore/src/lib/ecore_evas/Makefile.am b/libraries/ecore/src/lib/ecore_evas/Makefile.am index a1d9215..c85af09 100644 --- a/libraries/ecore/src/lib/ecore_evas/Makefile.am +++ b/libraries/ecore/src/lib/ecore_evas/Makefile.am @@ -151,6 +151,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \ @EVAS_LIBS@ \ @EINA_LIBS@ \ @EVIL_LIBS@ \ +@SHM_OPEN_LIBS@ \ @WAYLAND_EGL_LIBS@ libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ diff --git a/libraries/ecore/src/lib/ecore_evas/Makefile.in b/libraries/ecore/src/lib/ecore_evas/Makefile.in index a269b75..b48f26f 100644 --- a/libraries/ecore/src/lib/ecore_evas/Makefile.in +++ b/libraries/ecore/src/lib/ecore_evas/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -216,6 +215,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -271,6 +272,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -281,6 +284,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ @@ -605,6 +609,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \ @EVAS_LIBS@ \ @EINA_LIBS@ \ @EVIL_LIBS@ \ +@SHM_OPEN_LIBS@ \ @WAYLAND_EGL_LIBS@ libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas.c index 2b04488..6ecd609 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas.c @@ -509,24 +509,6 @@ _ecore_evas_constructor_sdl(int x __UNUSED__, int y __UNUSED__, int w, int h, co return ee; } - -static Ecore_Evas * -_ecore_evas_constructor_sdl16(int x __UNUSED__, int y __UNUSED__, int w, int h, const char *extra_options) -{ - Ecore_Evas *ee; - unsigned int fullscreen = 0, hwsurface = 0, noframe = 0, alpha = 0; - char *name = NULL; - - _ecore_evas_parse_extra_options_str(extra_options, "name=", &name); - _ecore_evas_parse_extra_options_uint(extra_options, "fullscreen=", &fullscreen); - _ecore_evas_parse_extra_options_uint(extra_options, "hwsurface=", &hwsurface); - _ecore_evas_parse_extra_options_uint(extra_options, "alpha=", &alpha); - - ee = ecore_evas_sdl16_new(name, w, h, fullscreen, hwsurface, noframe, alpha); - free(name); - - return ee; -} #endif #ifdef BUILD_ECORE_EVAS_OPENGL_SDL @@ -606,12 +588,13 @@ static Ecore_Evas * _ecore_evas_constructor_wayland_shm(int x, int y, int w, int h, const char *extra_options) { char *disp_name = NULL; - unsigned int frame = 0; + unsigned int frame = 0, parent = 0; Ecore_Evas *ee; _ecore_evas_parse_extra_options_str(extra_options, "display=", &disp_name); _ecore_evas_parse_extra_options_uint(extra_options, "frame=", &frame); - ee = ecore_evas_wayland_shm_new(disp_name, x, y, w, h, frame); + _ecore_evas_parse_extra_options_uint(extra_options, "parent=", &parent); + ee = ecore_evas_wayland_shm_new(disp_name, parent, x, y, w, h, frame); free(disp_name); return ee; @@ -623,12 +606,13 @@ static Ecore_Evas * _ecore_evas_constructor_wayland_egl(int x, int y, int w, int h, const char *extra_options) { char *disp_name = NULL; - unsigned int frame = 0; + unsigned int frame = 0, parent = 0; Ecore_Evas *ee; _ecore_evas_parse_extra_options_str(extra_options, "display=", &disp_name); _ecore_evas_parse_extra_options_uint(extra_options, "frame=", &frame); - ee = ecore_evas_wayland_egl_new(disp_name, x, y, w, h, frame); + _ecore_evas_parse_extra_options_uint(extra_options, "parent=", &parent); + ee = ecore_evas_wayland_egl_new(disp_name, parent, x, y, w, h, frame); free(disp_name); return ee; @@ -788,7 +772,6 @@ static const struct ecore_evas_engine _engines[] = { #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL {"sdl", _ecore_evas_constructor_sdl}, - {"software_16_sdl", _ecore_evas_constructor_sdl16}, #endif /* independent */ @@ -944,7 +927,7 @@ ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data) #define IFE return;} EAPI void -ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_resize_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -958,7 +941,7 @@ ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_move_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -972,7 +955,7 @@ ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_show_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -986,7 +969,7 @@ ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_hide_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1000,7 +983,7 @@ ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1014,7 +997,7 @@ ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas } EAPI void -ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_destroy_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1028,7 +1011,7 @@ ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_focus_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1042,7 +1025,7 @@ ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_focus_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1056,7 +1039,7 @@ ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_sticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1070,7 +1053,7 @@ ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_unsticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1084,7 +1067,7 @@ ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1098,7 +1081,7 @@ ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1112,7 +1095,7 @@ ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) } EAPI void -ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_pre_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1126,7 +1109,7 @@ ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee) } EAPI void -ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_post_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1140,7 +1123,7 @@ ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee } EAPI void -ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +ecore_evas_callback_pre_free_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) { @@ -1151,6 +1134,18 @@ ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) ee->func.fn_pre_free = func; } +EAPI void +ecore_evas_callback_state_change_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "ecore_evas_callback_state_change_set"); + return; + } + ee->func.fn_state_change = func; +} + /** * Get an Ecore_Evas's Evas * @param ee The Ecore_Evas whose Evas you wish to get @@ -2120,6 +2115,162 @@ ecore_evas_sticky_get(const Ecore_Evas *ee) } EAPI void +ecore_evas_window_group_set(Ecore_Evas *ee, const Ecore_Evas *ee_group) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return; + } + + IFC(ee, fn_window_group_set) (ee, ee_group); + IFE; +} + +EAPI const Ecore_Evas * +ecore_evas_window_group_get(const Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return EINA_FALSE; + } + return ee->prop.group_ee; +} + +EAPI void +ecore_evas_aspect_set(Ecore_Evas *ee, double aspect) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return; + } + + IFC(ee, fn_aspect_set) (ee, aspect); + IFE; +} + +EAPI double +ecore_evas_aspect_get(const Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return EINA_FALSE; + } + return ee->prop.aspect; +} + +EAPI void +ecore_evas_urgent_set(Ecore_Evas *ee, Eina_Bool urgent) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return; + } + + IFC(ee, fn_urgent_set) (ee, urgent); + IFE; +} + +EAPI Eina_Bool +ecore_evas_urgent_get(const Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return EINA_FALSE; + } + return ee->prop.urgent ? EINA_TRUE : EINA_FALSE; +} + +EAPI void +ecore_evas_modal_set(Ecore_Evas *ee, Eina_Bool modal) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return; + } + + IFC(ee, fn_modal_set) (ee, modal); + IFE; +} + +EAPI Eina_Bool +ecore_evas_modal_get(const Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return EINA_FALSE; + } + return ee->prop.modal ? EINA_TRUE : EINA_FALSE; +} + +EAPI void +ecore_evas_demand_attention_set(Ecore_Evas *ee, Eina_Bool demand) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return; + } + + IFC(ee, fn_demands_attention_set) (ee, demand); + IFE; +} + +EAPI Eina_Bool +ecore_evas_demand_attention_get(const Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return EINA_FALSE; + } + return ee->prop.demand_attention ? EINA_TRUE : EINA_FALSE; +} + +EAPI void +ecore_evas_focus_skip_set(Ecore_Evas *ee, Eina_Bool skip) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return; + } + + IFC(ee, fn_focus_skip_set) (ee, skip); + IFE; +} + +EAPI Eina_Bool +ecore_evas_focus_skip_get(const Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "XXX"); + return EINA_FALSE; + } + return ee->prop.focus_skip ? EINA_TRUE : EINA_FALSE; +} + +EAPI void ecore_evas_ignore_events_set(Ecore_Evas *ee, Eina_Bool ignore) { if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) @@ -2695,35 +2846,10 @@ ecore_evas_wayland_resize(Ecore_Evas *ee, int location) } } -EAPI void -ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source) -{ - if ((!ee) || (!source)) return; - if (!ee->engine.wl.surface) return; - - if (!strcmp(ee->driver, "wayland_shm")) - { -#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM - _ecore_evas_wayland_shm_drag_start(ee, drag_ee, source); -#endif - } - else if (!strcmp(ee->driver, "wayland_egl")) - { -#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL - _ecore_evas_wayland_egl_drag_start(ee, drag_ee, source); -#endif - } -} #else EAPI void ecore_evas_wayland_resize(Ecore_Evas *ee __UNUSED__, int location __UNUSED__) { } - -EAPI void -ecore_evas_wayland_drag_start(Ecore_Evas *ee __UNUSED__, Ecore_Evas *drag_ee __UNUSED__, void *source __UNUSED__) -{ - -} #endif diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c index 3f82efb..4c81db7 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c @@ -513,6 +513,13 @@ static Ecore_Evas_Engine_Func _ecore_buffer_engine_func = _ecore_evas_buffer_alpha_set, NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + _ecore_evas_buffer_render, NULL // screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c index 36d41f8..0947b11 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c @@ -9,7 +9,7 @@ #ifdef BUILD_ECORE_EVAS_OPENGL_COCOA #include -#include +#include #endif #include "ecore_evas_private.h" @@ -463,6 +463,14 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func = NULL, NULL, NULL, //transparent + + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c index 457f9e9..ed24355 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c @@ -490,6 +490,13 @@ static Ecore_Evas_Engine_Func _ecore_directfb_engine_func = NULL, /* alpha */ NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL // screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c index eccf98b..ec02472 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c @@ -683,6 +683,14 @@ static const Ecore_Evas_Engine_Func _ecore_ews_engine_func = _ecore_evas_ews_ignore_events_set, _ecore_evas_ews_alpha_set, _ecore_evas_ews_transparent_set, + + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + _ecore_evas_ews_render, _ecore_evas_ews_screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c index e46ab4a..a7ea4c3 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c @@ -2,35 +2,37 @@ # include #endif +#include #include +#include +#include +#include +#include +#ifdef HAVE_SYS_MMAN_H +# include +#endif +#include +#include +#include +#include #include #include #include "ecore_private.h" #include -#ifdef BUILD_ECORE_IPC -# ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER -# define EXTN_ENABLED 1 -# endif +#ifdef BUILD_ECORE_EVAS_EXTN + +#include + #endif #include "ecore_evas_private.h" #include "Ecore_Evas.h" -#ifdef EXTN_ENABLED -#include "Ecore_Ipc.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include + +#ifdef BUILD_ECORE_EVAS_EXTN + typedef struct _Shmfile Shmfile; @@ -1102,6 +1104,13 @@ static const Ecore_Evas_Engine_Func _ecore_extn_plug_engine_func = NULL, NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL // screen_geometry_get }; @@ -1286,12 +1295,13 @@ void _ecore_evas_extn_shutdown(void) { } -#endif + +#endif /* BUILD_ECORE_EVAS_EXTN */ EAPI Evas_Object * ecore_evas_extn_plug_new(Ecore_Evas *ee_target) { -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN Evas_Object *o; Ecore_Evas *ee; int w = 1, h = 1; @@ -1408,7 +1418,7 @@ ecore_evas_extn_plug_new(Ecore_Evas *ee_target) EAPI Eina_Bool ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, Eina_Bool svcsys) { -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN Extn *extn; Ecore_Evas *ee = NULL; @@ -1459,7 +1469,7 @@ ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, EAPI void ecore_evas_extn_plug_object_data_lock(Evas_Object *obj) { -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN Ecore_Evas *ee; ee = ecore_evas_object_ecore_evas_get(obj); @@ -1471,7 +1481,7 @@ ecore_evas_extn_plug_object_data_lock(Evas_Object *obj) EAPI void ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj) { -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN Ecore_Evas *ee; ee = ecore_evas_object_ecore_evas_get(obj); @@ -1480,7 +1490,7 @@ ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj) #endif } -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN static void _ecore_evas_socket_resize(Ecore_Evas *ee, int w, int h) { @@ -1830,7 +1840,7 @@ _ipc_client_data(void *data, int type __UNUSED__, void *event) #define STRGET(val) \ do { \ - if ((ipc->val) && (ipc->val < (char *)(e->size - 1))) \ + if ((ipc->val) && (ipc->val < (char *)(long)(e->size - 1))) \ ipc->val = ((char *)ipc) + (long)ipc->val; \ else \ ipc->val = NULL; \ @@ -1978,6 +1988,13 @@ static const Ecore_Evas_Engine_Func _ecore_extn_socket_engine_func = _ecore_evas_extn_socket_alpha_set, NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + _ecore_evas_extn_socket_render, // render NULL // screen_geometry_get }; @@ -1987,7 +2004,7 @@ static const Ecore_Evas_Engine_Func _ecore_extn_socket_engine_func = EAPI Ecore_Evas * ecore_evas_extn_socket_new(int w, int h) { -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN Evas_Engine_Info_Buffer *einfo; Ecore_Evas *ee; int rmethod; @@ -2077,7 +2094,7 @@ ecore_evas_extn_socket_new(int w, int h) EAPI Eina_Bool ecore_evas_extn_socket_listen(Ecore_Evas *ee, const char *svcname, int svcnum, Eina_Bool svcsys) { -#ifdef EXTN_ENABLED +#ifdef BUILD_ECORE_EVAS_EXTN Extn *extn; extn = calloc(1, sizeof(Extn)); diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c index 74caada..11e2ffd 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c @@ -541,6 +541,13 @@ static Ecore_Evas_Engine_Func _ecore_fb_engine_func = NULL, NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL // screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h b/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h index 9a88a7a..e31653a 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h @@ -123,6 +123,7 @@ extern int _ecore_evas_log_dom; #define IDLE_FLUSH_TIME 0.5 #ifndef _ECORE_EVAS_H typedef struct _Ecore_Evas Ecore_Evas; +typedef void (*Ecore_Evas_Event_Cb) (Ecore_Evas *ee); #endif typedef struct _Ecore_Evas_Engine Ecore_Evas_Engine; @@ -131,20 +132,20 @@ typedef struct _Ecore_Evas_Engine_Func Ecore_Evas_Engine_Func; struct _Ecore_Evas_Engine_Func { void (*fn_free) (Ecore_Evas *ee); - void (*fn_callback_resize_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_move_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_show_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_hide_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_delete_request_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_destroy_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_focus_in_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_focus_out_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_mouse_in_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_mouse_out_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_sticky_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_unsticky_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_pre_render_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); - void (*fn_callback_post_render_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); + void (*fn_callback_resize_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_move_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_show_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_hide_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_delete_request_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_destroy_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_focus_in_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_focus_out_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_mouse_in_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_mouse_out_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_sticky_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_unsticky_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_pre_render_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); + void (*fn_callback_post_render_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); void (*fn_move) (Ecore_Evas *ee, int x, int y); void (*fn_managed_move) (Ecore_Evas *ee, int x, int y); void (*fn_resize) (Ecore_Evas *ee, int w, int h); @@ -177,6 +178,13 @@ struct _Ecore_Evas_Engine_Func void (*fn_alpha_set) (Ecore_Evas *ee, int alpha); void (*fn_transparent_set) (Ecore_Evas *ee, int transparent); + void (*fn_window_group_set) (Ecore_Evas *ee, const Ecore_Evas *ee_group); + void (*fn_aspect_set) (Ecore_Evas *ee, double aspect); + void (*fn_urgent_set) (Ecore_Evas *ee, int urgent); + void (*fn_modal_set) (Ecore_Evas *ee, int modal); + void (*fn_demands_attention_set) (Ecore_Evas *ee, int demand); + void (*fn_focus_skip_set) (Ecore_Evas *ee, int skip); + int (*fn_render) (Ecore_Evas *ee); void (*fn_screen_geometry_get) (const Ecore_Evas *ee, int *x, int *y, int *w, int *h); }; @@ -271,11 +279,13 @@ struct _Ecore_Evas_Engine #if defined(BUILD_ECORE_EVAS_WAYLAND_SHM) || defined(BUILD_ECORE_EVAS_WAYLAND_EGL) struct { + Ecore_Wl_Window *parent, *win; Evas_Object *frame; - struct wl_shell_surface *shell_surface; - struct wl_surface *surface; +# if defined(BUILD_ECORE_EVAS_WAYLAND_SHM) struct wl_buffer *buffer; +# endif + } wl; #endif @@ -333,6 +343,9 @@ struct _Ecore_Evas int layer; Ecore_Window window; unsigned char avoid_damage; + Ecore_Evas *group_ee; + Ecore_Window group_ee_win; + double aspect; char focused : 1; char iconified : 1; char borderless : 1; @@ -343,7 +356,12 @@ struct _Ecore_Evas char sticky : 1; char request_pos : 1; char draw_frame : 1; - } prop; + char hwsurface : 1; + char urgent : 1; + char modal : 1; + char demand_attention : 1; + char focus_skip : 1; + } prop; struct { void (*fn_resize) (Ecore_Evas *ee); @@ -361,6 +379,7 @@ struct _Ecore_Evas void (*fn_pre_render) (Ecore_Evas *ee); void (*fn_post_render) (Ecore_Evas *ee); void (*fn_pre_free) (Ecore_Evas *ee); + void (*fn_state_change) (Ecore_Evas *ee); } func; Ecore_Evas_Engine engine; @@ -406,11 +425,15 @@ int _ecore_evas_ews_shutdown(void); #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM void _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location); void _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); +void _ecore_evas_wayland_shm_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y); +void _ecore_evas_wayland_shm_type_set(Ecore_Evas *ee, int type); #endif #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL void _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location); void _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); +void _ecore_evas_wayland_egl_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y); +void _ecore_evas_wayland_egl_type_set(Ecore_Evas *ee, int type); #endif void _ecore_evas_fps_debug_init(void); diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c index be130ad..038654a 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c @@ -233,7 +233,7 @@ _ecore_evas_psl1ght_free(Ecore_Evas *ee) } static void -_ecore_evas_psl1ght_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +_ecore_evas_psl1ght_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { ee->func.fn_delete_request = func; } @@ -396,6 +396,13 @@ static Ecore_Evas_Engine_Func _ecore_psl1ght_engine_func = NULL, NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render _ecore_evas_screen_geometry_get // screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c index a3be2c7..b246a26 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c @@ -7,9 +7,6 @@ #include #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) # include -# ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL -# include -# endif # ifdef BUILD_ECORE_EVAS_OPENGL_SDL # include # endif @@ -18,10 +15,17 @@ #include #include +#if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) +#include +#endif + #include "ecore_evas_private.h" #include "Ecore_Evas.h" -// fixme: 1 sdl window only at a time? seems wrong +/** + ** SDL only handle one window at a time. That's by definition, there is nothing wrong here. + ** + **/ #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) @@ -45,6 +49,13 @@ _ecore_evas_sdl_match(void) return sdl_ee; } +static void * +_ecore_evas_sdl_switch_buffer(void *data, void *dest __UNUSED__) +{ + SDL_Flip(data); + return ((SDL_Surface*)data)->pixels; +} + static Eina_Bool _ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) { @@ -80,12 +91,54 @@ _ecore_evas_sdl_event_video_resize(void *data __UNUSED__, int type __UNUSED__, v { Ecore_Sdl_Event_Video_Resize *e; Ecore_Evas *ee; + int rmethod; e = event; ee = _ecore_evas_sdl_match(); if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */ + + rmethod = evas_output_method_get(ee->evas); + if (rmethod == evas_render_method_lookup("buffer")) + { + Evas_Engine_Info_Buffer *einfo; + + einfo = (Evas_Engine_Info_Buffer *) evas_engine_info_get(ee->evas); + if (einfo) + { + einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; + einfo->info.switch_data = SDL_SetVideoMode(e->w, e->h, 32, + (ee->prop.hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE) + | (ee->prop.fullscreen ? SDL_FULLSCREEN : 0) + | (ee->alpha ? SDL_SRCALPHA : 0) + | SDL_DOUBLEBUF); + if (!einfo->info.switch_data) + { + return EINA_FALSE; + } + + SDL_SetAlpha(einfo->info.switch_data, SDL_SRCALPHA, 0); + SDL_FillRect(einfo->info.switch_data, NULL, 0); + + einfo->info.dest_buffer = ((SDL_Surface*)einfo->info.switch_data)->pixels; + einfo->info.dest_buffer_row_bytes = e->w * sizeof (int); + einfo->info.use_color_key = 0; + einfo->info.alpha_threshold = 0; + einfo->info.func.new_update_region = NULL; + einfo->info.func.free_update_region = NULL; + einfo->info.func.switch_buffer = _ecore_evas_sdl_switch_buffer; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *) einfo)) + { + return EINA_FALSE; + } + } + } + + ee->w = e->w; + ee->h = e->h; + evas_output_size_set(ee->evas, e->w, e->h); + evas_output_viewport_set(ee->evas, 0, 0, e->w, e->h); return ECORE_CALLBACK_PASS_ON; } @@ -191,7 +244,7 @@ _ecore_evas_sdl_shutdown(void) _ecore_evas_init_count--; if (_ecore_evas_init_count == 0) { - int i; + unsigned int i; for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++) ecore_event_handler_del(ecore_evas_event_handlers[i]); @@ -219,10 +272,48 @@ _ecore_evas_sdl_free(Ecore_Evas *ee) static void _ecore_evas_resize(Ecore_Evas *ee, int w, int h) { + int rmethod; + if ((w == ee->w) && (h == ee->h)) return; ee->w = w; ee->h = h; + rmethod = evas_output_method_get(ee->evas); + if (rmethod == evas_render_method_lookup("buffer")) + { + Evas_Engine_Info_Buffer *einfo; + + einfo = (Evas_Engine_Info_Buffer *) evas_engine_info_get(ee->evas); + if (einfo) + { + einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; + einfo->info.switch_data = SDL_SetVideoMode(w, h, 32, + (ee->prop.hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE) + | (ee->prop.fullscreen ? SDL_FULLSCREEN : 0) + | (ee->alpha ? SDL_SRCALPHA : 0) + | SDL_DOUBLEBUF); + if (!einfo->info.switch_data) + { + return ; + } + + SDL_SetAlpha(einfo->info.switch_data, SDL_SRCALPHA, 0); + SDL_FillRect(einfo->info.switch_data, NULL, 0); + + einfo->info.dest_buffer = ((SDL_Surface*)einfo->info.switch_data)->pixels; + einfo->info.dest_buffer_row_bytes = w * sizeof (int); + einfo->info.use_color_key = 0; + einfo->info.alpha_threshold = 0; + einfo->info.func.new_update_region = NULL; + einfo->info.func.free_update_region = NULL; + einfo->info.func.switch_buffer = _ecore_evas_sdl_switch_buffer; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *) einfo)) + { + return ; + } + } + } + evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); @@ -342,6 +433,13 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func = NULL, NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL // screen_geometry_get }; @@ -349,7 +447,6 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func = static Ecore_Evas* _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha) { - void *einfo; Ecore_Evas *ee; if (!name) @@ -382,6 +479,8 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu ee->prop.withdrawn = 0; ee->prop.sticky = 0; ee->prop.window = 0; + ee->alpha = alpha; + ee->prop.hwsurface = hwsurface; /* init evas here */ ee->evas = evas_new(); @@ -391,19 +490,47 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu evas_output_size_set(ee->evas, w, h); evas_output_viewport_set(ee->evas, 0, 0, w, h); - if (rmethod == evas_render_method_lookup("software_sdl") || - rmethod == evas_render_method_lookup("software_16_sdl") ) + if (rmethod == evas_render_method_lookup("buffer")) { -#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL - einfo = evas_engine_info_get(ee->evas); + Evas_Engine_Info_Buffer *einfo; + + einfo = (Evas_Engine_Info_Buffer *) evas_engine_info_get(ee->evas); if (einfo) { - ((Evas_Engine_Info_SDL *)einfo)->info.rotation = 0; - ((Evas_Engine_Info_SDL *)einfo)->info.fullscreen = fullscreen; - ((Evas_Engine_Info_SDL *)einfo)->info.hwsurface = hwsurface; - ((Evas_Engine_Info_SDL *)einfo)->info.noframe = noframe; - ((Evas_Engine_Info_SDL *)einfo)->info.alpha = alpha; - if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + SDL_Init(SDL_INIT_NOPARACHUTE); + + if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) + { + ERR("SDL_Init failed with %s", SDL_GetError()); + SDL_Quit(); + return NULL; + } + + einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; + einfo->info.switch_data = SDL_SetVideoMode(w, h, 32, + (hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE) + | (fullscreen ? SDL_FULLSCREEN : 0) + | (noframe ? SDL_NOFRAME : 0) + | (alpha ? SDL_SRCALPHA : 0) + | SDL_DOUBLEBUF); + if (!einfo->info.switch_data) + { + ERR("SDL_SetVideoMode failed !"); + ecore_evas_free(ee); + return NULL; + } + + SDL_SetAlpha(einfo->info.switch_data, SDL_SRCALPHA, 0); + SDL_FillRect(einfo->info.switch_data, NULL, 0); + + einfo->info.dest_buffer = ((SDL_Surface*)einfo->info.switch_data)->pixels; + einfo->info.dest_buffer_row_bytes = w * sizeof (int); + einfo->info.use_color_key = 0; + einfo->info.alpha_threshold = 0; + einfo->info.func.new_update_region = NULL; + einfo->info.func.free_update_region = NULL; + einfo->info.func.switch_buffer = _ecore_evas_sdl_switch_buffer; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *) einfo)) { ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ecore_evas_free(ee); @@ -416,16 +543,17 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu ecore_evas_free(ee); return NULL; } -#endif } else if (rmethod == evas_render_method_lookup("gl_sdl")) { #ifdef BUILD_ECORE_EVAS_OPENGL_SDL - einfo = evas_engine_info_get(ee->evas); + Evas_Engine_Info_GL_SDL *einfo; + + einfo = (Evas_Engine_Info_GL_SDL *) evas_engine_info_get(ee->evas); if (einfo) { - ((Evas_Engine_Info_GL_SDL *)einfo)->flags.fullscreen = fullscreen; - ((Evas_Engine_Info_GL_SDL *)einfo)->flags.noframe = noframe; + einfo->flags.fullscreen = fullscreen; + einfo->flags.noframe = noframe; if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) { ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); @@ -464,7 +592,7 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - SDL_ShowCursor(SDL_DISABLE); + SDL_ShowCursor(SDL_ENABLE); ee->engine.func->fn_render = _ecore_evas_sdl_render; _ecore_evas_register(ee); @@ -481,11 +609,10 @@ ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface Ecore_Evas *ee; int rmethod; - rmethod = evas_render_method_lookup("software_sdl"); + rmethod = evas_render_method_lookup("buffer"); if (!rmethod) return NULL; ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha); - ee->driver = "sdl"; return ee; } #else @@ -497,28 +624,12 @@ ecore_evas_sdl_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED } #endif -#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL -EAPI Ecore_Evas* -ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha) -{ - Ecore_Evas *ee; - int rmethod; - - rmethod = evas_render_method_lookup("software_16_sdl"); - if (!rmethod) return NULL; - - ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha); - ee->driver = "software_16_sdl"; - return ee; -} -#else EAPI Ecore_Evas* ecore_evas_sdl16_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED__, int fullscreen __UNUSED__, int hwsurface __UNUSED__, int noframe __UNUSED__, int alpha __UNUSED__) { ERR("OUTCH !"); return NULL; } -#endif #ifdef BUILD_ECORE_EVAS_OPENGL_SDL EAPI Ecore_Evas* diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c index 72e8555..e88fc35 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c @@ -1,8 +1,8 @@ #ifdef HAVE_CONFIG_H -# include +# include "config.h" #endif -#define LOGFNS 1 +//#define LOGFNS 1 #ifdef LOGFNS # include @@ -28,15 +28,15 @@ #include "Ecore_Evas.h" #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL -# include # include # include /* local structures */ typedef struct _EE_Wl_Smart_Data EE_Wl_Smart_Data; -struct _EE_Wl_Smart_Data +struct _EE_Wl_Smart_Data { - Evas_Object *frame, *text; + Evas_Object *frame; + Evas_Object *text; Evas_Coord x, y, w, h; }; @@ -51,40 +51,33 @@ static void _ecore_evas_wl_callback_delete_request_set(Ecore_Evas *ee, void (*fu static void _ecore_evas_wl_callback_focus_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_callback_focus_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); +static void _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_show(Ecore_Evas *ee); static void _ecore_evas_wl_hide(Ecore_Evas *ee); static void _ecore_evas_wl_raise(Ecore_Evas *ee); -static void _ecore_evas_wl_lower(Ecore_Evas *ee); -static void _ecore_evas_wl_activate(Ecore_Evas *ee); -static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t); +static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title); static void _ecore_evas_wl_name_class_set(Ecore_Evas *ee, const char *n, const char *c); static void _ecore_evas_wl_size_min_set(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_size_max_set(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_size_base_set(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h); -static void _ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); -static void _ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__); static void _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer); -static void _ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__); static void _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify); static void _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max); -static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__); +static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full); +static void _ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore); +static void _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha); +static void _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent); static int _ecore_evas_wl_render(Ecore_Evas *ee); static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h); -static Eina_Bool _ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); - -static void _ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface __UNUSED__, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height); -static void _ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__); +static Eina_Bool _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event); /* SMART stuff for frame */ static Evas_Smart *_ecore_evas_wl_smart = NULL; @@ -100,94 +93,94 @@ static Evas_Object *_ecore_evas_wl_frame_add(Evas *evas); /* local variables */ static int _ecore_evas_wl_init_count = 0; -static Ecore_Event_Handler *_ecore_evas_wl_event_handlers[8]; -static uint32_t _ecore_evas_wl_btn_timestamp; -static const struct wl_shell_surface_listener _ecore_evas_wl_shell_surface_listener = -{ - _ecore_evas_wl_handle_configure, - _ecore_evas_wl_handle_popup_done -}; +static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[5]; static Ecore_Evas_Engine_Func _ecore_wl_engine_func = { - _ecore_evas_wl_free, - _ecore_evas_wl_callback_resize_set, - _ecore_evas_wl_callback_move_set, - NULL, // callback show set - NULL, // callback hide set - _ecore_evas_wl_callback_delete_request_set, - NULL, // callback destroy set - _ecore_evas_wl_callback_focus_in_set, - _ecore_evas_wl_callback_focus_out_set, - _ecore_evas_wl_callback_mouse_in_set, - NULL, // callback mouse out set - NULL, // callback sticky set - NULL, // callback unsticky set - NULL, // callback pre render set - NULL, // callback post render set - _ecore_evas_wl_move, - NULL, // func managed move - _ecore_evas_wl_resize, - NULL, // _ecore_evas_wl_move_resize, - NULL, // func rotation set - NULL, // func shaped set - _ecore_evas_wl_show, - _ecore_evas_wl_hide, - _ecore_evas_wl_raise, - _ecore_evas_wl_lower, - _ecore_evas_wl_activate, - _ecore_evas_wl_title_set, - _ecore_evas_wl_name_class_set, - _ecore_evas_wl_size_min_set, - _ecore_evas_wl_size_max_set, - _ecore_evas_wl_size_base_set, - _ecore_evas_wl_size_step_set, - _ecore_evas_wl_object_cursor_set, - _ecore_evas_wl_layer_set, - _ecore_evas_wl_focus_set, - _ecore_evas_wl_iconified_set, - NULL, // func borderless set - NULL, // func override set - _ecore_evas_wl_maximized_set, + _ecore_evas_wl_free, + _ecore_evas_wl_callback_resize_set, + _ecore_evas_wl_callback_move_set, + NULL, + NULL, + _ecore_evas_wl_callback_delete_request_set, + NULL, + _ecore_evas_wl_callback_focus_in_set, + _ecore_evas_wl_callback_focus_out_set, + _ecore_evas_wl_callback_mouse_in_set, + _ecore_evas_wl_callback_mouse_out_set, + NULL, // sticky_set + NULL, // unsticky_set + NULL, // pre_render_set + NULL, // post_render_set + _ecore_evas_wl_move, + NULL, // managed_move + _ecore_evas_wl_resize, + NULL, // move_resize + NULL, // rotation_set + NULL, // shaped_set + _ecore_evas_wl_show, + _ecore_evas_wl_hide, + _ecore_evas_wl_raise, + NULL, // lower + NULL, // activate + _ecore_evas_wl_title_set, + _ecore_evas_wl_name_class_set, + _ecore_evas_wl_size_min_set, + _ecore_evas_wl_size_max_set, + _ecore_evas_wl_size_base_set, + _ecore_evas_wl_size_step_set, + NULL, // object_cursor_set + _ecore_evas_wl_layer_set, + NULL, // focus set + _ecore_evas_wl_iconified_set, + NULL, // borderless set + NULL, // override set + _ecore_evas_wl_maximized_set, _ecore_evas_wl_fullscreen_set, - NULL, // _ecore_evas_wl_avoid_damage_set, + NULL, // func avoid_damage set NULL, // func withdrawn set NULL, // func sticky set - NULL, // func ignore events set - NULL, // func alpha set - NULL, // func transparent set + _ecore_evas_wl_ignore_events_set, + _ecore_evas_wl_alpha_set, + _ecore_evas_wl_transparent_set, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, _ecore_evas_wl_render, _ecore_evas_wl_screen_geometry_get }; -#endif +/* external variables */ -#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL +/* external functions */ EAPI Ecore_Evas * -ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, int frame) +ecore_evas_wayland_egl_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame) { + Ecore_Wl_Window *p = NULL; Evas_Engine_Info_Wayland_Egl *einfo; Ecore_Evas *ee; int method = 0; - static int _win_id = 1; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!(method = evas_render_method_lookup("wayland_egl"))) + if (!(method = evas_render_method_lookup("wayland_egl"))) { - printf("Render method lookup failed for Wayland Egl"); + ERR("Render method lookup failed for Wayland_Egl"); return NULL; } - if (!ecore_wl_init(disp_name)) + if (!ecore_wl_init(disp_name)) { - printf("Failed to initialize Ecore Wayland"); + ERR("Failed to initialize Ecore_Wayland"); return NULL; } - if (!(ee = calloc(1, sizeof(Ecore_Evas)))) + if (!(ee = calloc(1, sizeof(Ecore_Evas)))) { - printf("Failed to allocate Ecore_Evas."); + ERR("Failed to allocate Ecore_Evas"); ecore_wl_shutdown(); return NULL; } @@ -204,17 +197,22 @@ ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, in if (w < 1) w = 1; if (h < 1) h = 1; - ee->req.x = ee->x = x; - ee->req.y = ee->y = y; - ee->req.w = ee->w = w; - ee->req.h = ee->h = h; + ee->x = x; + ee->y = y; + ee->w = w; + ee->h = h; + ee->req.x = ee->x; + ee->req.y = ee->y; + ee->req.w = ee->w; + ee->req.h = ee->h; ee->rotation = 0; - ee->prop.max.w = ee->prop.max.h = 32767; + ee->prop.max.w = 32767; + ee->prop.max.h = 32767; ee->prop.layer = 4; ee->prop.request_pos = 0; ee->prop.sticky = 0; ee->prop.draw_frame = frame; - ee->prop.window = _win_id++; + ee->alpha = EINA_FALSE; ee->evas = evas_new(); evas_data_attach_set(ee->evas, ee); @@ -222,29 +220,43 @@ ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, in evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); - if (ee->prop.draw_frame) + /* FIXME: This needs to be set based on theme & scale */ + if (ee->prop.draw_frame) evas_output_framespace_set(ee->evas, 4, 18, 8, 22); - if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) + if (parent) + p = ecore_wl_window_find(parent); + + /* FIXME: Get if parent is alpha, and set */ + + ee->engine.wl.parent = p; + ee->engine.wl.win = + ecore_wl_window_new(p, x, y, w, h, ECORE_WL_WINDOW_BUFFER_TYPE_EGL_WINDOW); + ee->prop.window = ee->engine.wl.win->id; + + if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) { einfo->info.display = ecore_wl_display_get(); + einfo->info.destination_alpha = EINA_FALSE; einfo->info.rotation = ee->rotation; - if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) { - printf("Failed to set Evas Engine Info for '%s'.", ee->driver); + ERR("Failed to set Evas Engine Info for '%s'", ee->driver); ecore_evas_free(ee); + _ecore_evas_wl_shutdown(); + ecore_wl_shutdown(); return NULL; } } else { - printf("Failed to get Evas Engine Info for '%s'.", ee->driver); + ERR("Failed to get Evas Engine Info for '%s'", ee->driver); ecore_evas_free(ee); + _ecore_evas_wl_shutdown(); + ecore_wl_shutdown(); return NULL; } - /* NB: we need to be notified before 'free' so we can munmap the evas - * engine destination */ ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_pre_free); if (ee->prop.draw_frame) @@ -270,37 +282,28 @@ ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, in /* local functions */ static int -_ecore_evas_wl_init(void) +_ecore_evas_wl_init(void) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (++_ecore_evas_wl_init_count != 1) return _ecore_evas_wl_init_count; - _ecore_evas_wl_event_handlers[0] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, - _ecore_evas_wl_event_mouse_down, NULL); - _ecore_evas_wl_event_handlers[1] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, - _ecore_evas_wl_event_mouse_up, NULL); - _ecore_evas_wl_event_handlers[2] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, - _ecore_evas_wl_event_mouse_move, NULL); - _ecore_evas_wl_event_handlers[3] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, - _ecore_evas_wl_event_mouse_wheel, NULL); - _ecore_evas_wl_event_handlers[4] = + _ecore_evas_wl_event_hdls[0] = ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_IN, - _ecore_evas_wl_event_mouse_in, NULL); - _ecore_evas_wl_event_handlers[5] = + _ecore_evas_wl_cb_mouse_in, NULL); + _ecore_evas_wl_event_hdls[1] = ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_OUT, - _ecore_evas_wl_event_mouse_out, NULL); - _ecore_evas_wl_event_handlers[6] = + _ecore_evas_wl_cb_mouse_out, NULL); + _ecore_evas_wl_event_hdls[2] = ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_IN, - _ecore_evas_wl_event_focus_in, NULL); - _ecore_evas_wl_event_handlers[7] = + _ecore_evas_wl_cb_focus_in, NULL); + _ecore_evas_wl_event_hdls[3] = ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_OUT, - _ecore_evas_wl_event_focus_out, NULL); + _ecore_evas_wl_cb_focus_out, NULL); + _ecore_evas_wl_event_hdls[4] = + ecore_event_handler_add(ECORE_WL_EVENT_WINDOW_CONFIGURE, + _ecore_evas_wl_cb_window_configure, NULL); ecore_event_evas_init(); @@ -308,7 +311,7 @@ _ecore_evas_wl_init(void) } static int -_ecore_evas_wl_shutdown(void) +_ecore_evas_wl_shutdown(void) { unsigned int i = 0; @@ -317,10 +320,10 @@ _ecore_evas_wl_shutdown(void) if (--_ecore_evas_wl_init_count != 0) return _ecore_evas_wl_init_count; - for (i = 0; i < sizeof(_ecore_evas_wl_event_handlers) / sizeof(Ecore_Event_Handler *); i++) + for (i = 0; i < sizeof(_ecore_evas_wl_event_hdls) / sizeof(Ecore_Event_Handler *); i++) { - if (_ecore_evas_wl_event_handlers[i]) - ecore_event_handler_del(_ecore_evas_wl_event_handlers[i]); + if (_ecore_evas_wl_event_hdls[i]) + ecore_event_handler_del(_ecore_evas_wl_event_hdls[i]); } ecore_event_evas_shutdown(); @@ -338,24 +341,16 @@ _ecore_evas_wl_pre_free(Ecore_Evas *ee) } static void -_ecore_evas_wl_free(Ecore_Evas *ee) +_ecore_evas_wl_free(Ecore_Evas *ee) { LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (ee) - { - /* destroy shell surface */ - if (ee->engine.wl.shell_surface) - wl_shell_surface_destroy(ee->engine.wl.shell_surface); - ee->engine.wl.shell_surface = NULL; + if (ee->engine.wl.win) ecore_wl_window_free(ee->engine.wl.win); + ee->engine.wl.win = NULL; - /* destroy surface */ - if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); - ee->engine.wl.surface = NULL; + ecore_event_window_unregister(ee->prop.window); + ecore_evas_input_event_unregister(ee); - ecore_event_window_unregister(ee->prop.window); - ecore_evas_input_event_unregister(ee); - } _ecore_evas_wl_shutdown(); ecore_wl_shutdown(); } @@ -415,138 +410,131 @@ _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee } static void -_ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) +_ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (!ee) return; + ee->func.fn_mouse_out = func; +} + +static void +_ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; -// if ((ee->x == x) && (ee->y == y)) return; ee->req.x = x; ee->req.y = y; - ee->x = x; ee->y = y; - if (ee->engine.wl.shell_surface) - { - wl_shell_surface_move(ee->engine.wl.shell_surface, - ecore_wl_input_device_get(), - _ecore_evas_wl_btn_timestamp); - } + if (ee->engine.wl.win) ecore_wl_window_move(ee->engine.wl.win, x, y); if (ee->func.fn_move) ee->func.fn_move(ee); } static void -_ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) +_ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; if (w < 1) w = 1; if (h < 1) h = 1; - if ((ee->w == w) && (ee->h == h)) return; +// if ((ee->w == w) && (ee->h == h)) return; + + if (ee->prop.min.w > w) w = ee->prop.min.w; + else if (w > ee->prop.max.w) w = ee->prop.max.w; + if (ee->prop.min.h > h) h = ee->prop.min.h; + else if (h > ee->prop.max.h) h = ee->prop.max.h; ee->req.w = w; ee->req.h = h; - /* if (ee->visible) */ - /* { */ - /* damage old surface, if it exists */ - - /* NB: This removes any lingering screen artifacts in the compositor. - * This may be a 'HACK' if the issue is actually in the wayland - * compositor, but for now lets implement this so we don't have screen - * artifacts laying around during a resize */ - /* if (ee->engine.wl.surface) */ - /* wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); */ - /* } */ +// ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); ee->w = w; ee->h = h; -// ecore_wl_flush(); - + /* change evas output & viewport sizes */ evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); if (ee->engine.wl.frame) evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); - /* if ((ee->visible) && (ee->engine.wl.surface)) */ - /* wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); */ + /* set new engine destination */ + /* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */ + + /* ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); */ + ecore_wl_flush(); + + ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h); if (ee->func.fn_resize) ee->func.fn_resize(ee); } static void -_ecore_evas_wl_show(Ecore_Evas *ee) +_ecore_evas_wl_show(Ecore_Evas *ee) { Evas_Engine_Info_Wayland_Egl *einfo; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ee) return; - if (ee->visible) return; - - einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); + if ((!ee) || (ee->visible)) return; - /* create new surface */ - ee->engine.wl.surface = - wl_compositor_create_surface(ecore_wl_compositor_get()); - wl_surface_set_user_data(ee->engine.wl.surface, (void *)ee->prop.window); + if (ee->engine.wl.win) + { + ecore_wl_window_show(ee->engine.wl.win); + ecore_wl_flush(); + } - /* create new shell surface */ - ee->engine.wl.shell_surface = - wl_shell_get_shell_surface(ecore_wl_shell_get(), ee->engine.wl.surface); + einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); + if (!einfo) + { + ERR("Failed to get Evas Engine Info for '%s'", ee->driver); + return; + } - /* set the engine surface here. This should trigger an egl window create */ - einfo->info.surface = ee->engine.wl.surface; + einfo->info.surface = ecore_wl_window_surface_get(ee->engine.wl.win); evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); - /* add listener for configure events (happen on shell surface resize) */ - wl_shell_surface_add_listener(ee->engine.wl.shell_surface, - &_ecore_evas_wl_shell_surface_listener, ee); - - /* Raise this surface to the top */ - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); - if (ee->engine.wl.frame) { evas_object_show(ee->engine.wl.frame); evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); } - ecore_wl_flush(); + /* ecore_wl_window_buffer_attach(ee->engine.wl.win, ee->engine.wl.buffer, 0, 0); */ ee->visible = 1; if (ee->func.fn_show) ee->func.fn_show(ee); } static void -_ecore_evas_wl_hide(Ecore_Evas *ee) +_ecore_evas_wl_hide(Ecore_Evas *ee) { Evas_Engine_Info_Wayland_Egl *einfo; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ee) return; - if (!ee->visible) return; - - /* get engine info */ - einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); - einfo->info.surface = NULL; - evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); + if ((!ee) || (!ee->visible)) return; - /* destroy shell surface */ - if (ee->engine.wl.shell_surface) - wl_shell_surface_destroy(ee->engine.wl.shell_surface); - ee->engine.wl.shell_surface = NULL; + if (ee->engine.wl.win) + { + ecore_wl_window_hide(ee->engine.wl.win); + ecore_wl_flush(); + } - /* destroy surface */ - if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); - ee->engine.wl.surface = NULL; + einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); + if (einfo) + { + einfo->info.surface = NULL; + evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); + } ee->visible = 0; ee->should_be_visible = 0; + if (ee->func.fn_hide) ee->func.fn_hide(ee); } @@ -556,39 +544,18 @@ _ecore_evas_wl_raise(Ecore_Evas *ee) LOGFN(__FILE__, __LINE__, __FUNCTION__); if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); -} - -static void -_ecore_evas_wl_lower(Ecore_Evas *ee) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->visible)) return; - /* FIXME: Need a way to tell Wayland to lower */ -} - -static void -_ecore_evas_wl_activate(Ecore_Evas *ee) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); + ecore_wl_window_raise(ee->engine.wl.win); } static void -_ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t) +_ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; if (ee->prop.title) free(ee->prop.title); ee->prop.title = NULL; - if (t) ee->prop.title = strdup(t); - + if (title) ee->prop.title = strdup(title); if ((ee->prop.draw_frame) && (ee->engine.wl.frame)) { EE_Wl_Smart_Data *sd; @@ -666,106 +633,101 @@ _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h) } static void -_ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y) +_ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) { - int x = 0, y = 0; - LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object); - ee->prop.cursor.object = NULL; - - if (!obj) - { - ee->prop.cursor.layer = 0; - ee->prop.cursor.hot.x = 0; - ee->prop.cursor.hot.y = 0; - return; - } - - ee->prop.cursor.object = obj; - ee->prop.cursor.layer = layer; - ee->prop.cursor.hot.x = hot_x; - ee->prop.cursor.hot.y = hot_y; - - evas_pointer_output_xy_get(ee->evas, &x, &y); - evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); - evas_object_move(ee->prop.cursor.object, - x - ee->prop.cursor.hot.x, y - ee->prop.cursor.hot.y); - evas_object_pass_events_set(ee->prop.cursor.object, 1); - if (evas_pointer_inside_get(ee->evas)) - evas_object_show(ee->prop.cursor.object); - - evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, - _ecore_evas_wl_object_cursor_del, ee); + if (ee->prop.layer == layer) return; + if (layer < 1) layer = 1; + else if (layer > 255) layer = 255; + ee->prop.layer = layer; } static void -_ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__) +_ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) { - Ecore_Evas *ee; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!(ee = data)) return; - ee->prop.cursor.object = NULL; + if (!ee) return; + if (ee->prop.iconified == iconify) return; + ee->prop.iconified = iconify; + /* FIXME: Implement this in Wayland someshow */ } static void -_ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) +_ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.layer == layer) return; - if (layer < 1) layer = 1; - else if (layer > 255) layer = 255; - ee->prop.layer = layer; + if (ee->prop.maximized == max) return; + ee->prop.maximized = max; + ecore_wl_window_maximized_set(ee->engine.wl.win, max); } static void -_ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__) +_ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); + if (ee->prop.fullscreen == full) return; + ee->prop.fullscreen = full; + ecore_wl_window_fullscreen_set(ee->engine.wl.win, full); } static void -_ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) +_ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.iconified == iconify) return; - ee->prop.iconified = iconify; - /* FIXME: Implement this in Wayland someshow */ + ee->ignore_events = ignore; + /* NB: Hmmm, may need to pass this to ecore_wl_window in the future */ } static void -_ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) +_ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha) { + Evas_Engine_Info_Wayland_Egl *einfo; + LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.maximized == max) return; - ee->prop.maximized = max; - /* FIXME: Implement this in Wayland someshow */ + if ((ee->alpha == alpha)) return; + ee->alpha = alpha; + if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) + { + einfo->info.destination_alpha = alpha; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); + evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); + } } static void -_ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__) +_ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent) { + Evas_Engine_Info_Wayland_Egl *einfo; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_fullscreen(ee->engine.wl.shell_surface); + if (!ee) return; + if ((ee->transparent == transparent)) return; + ee->transparent = transparent; + if (!ee->visible) return; + if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) + { + einfo->info.destination_alpha = transparent; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); + evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); + } } static int -_ecore_evas_wl_render(Ecore_Evas *ee) +_ecore_evas_wl_render(Ecore_Evas *ee) { int rend = 0; @@ -789,26 +751,24 @@ _ecore_evas_wl_render(Ecore_Evas *ee) if ((updates = evas_render_updates(ee->evas))) { - /* if (ee->engine.wl.surface) */ - /* { */ - /* Eina_List *l = NULL; */ - /* Eina_Rectangle *r; */ + Eina_List *l = NULL; + Eina_Rectangle *r; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); - /* EINA_LIST_FOREACH(updates, l, r) */ - /* wl_surface_damage(ee->engine.wl.surface, */ - /* r->x, r->y, r->w, r->h); */ - /* } */ + EINA_LIST_FOREACH(updates, l, r) + ecore_wl_window_damage(ee->engine.wl.win, + r->x, r->y, r->w, r->h); + + ecore_wl_flush(); evas_render_updates_free(updates); _ecore_evas_idle_timeout_update(ee); rend = 1; - - ecore_wl_flush(); } if (ee->func.fn_post_render) ee->func.fn_post_render(ee); } - return rend; } @@ -822,77 +782,18 @@ _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int ecore_wl_screen_size_get(w, h); } -static Eina_Bool -_ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Evas *ee; - Ecore_Event_Mouse_Button *ev; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - ev = event; - _ecore_evas_wl_btn_timestamp = ev->timestamp; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - evas_event_feed_mouse_down(ee->evas, ev->buttons, ev->modifiers, - ev->timestamp, NULL); - return ECORE_CALLBACK_PASS_ON; -} - -static Eina_Bool -_ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Evas *ee; - Ecore_Event_Mouse_Button *ev; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - ev = event; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - evas_event_feed_mouse_up(ee->evas, ev->buttons, ev->modifiers, - ev->timestamp, NULL); - return ECORE_CALLBACK_PASS_ON; -} - -static Eina_Bool -_ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Evas *ee; - Ecore_Event_Mouse_Move *ev; - - ev = event; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - ee->mouse.x = ev->x; - ee->mouse.y = ev->y; - evas_event_feed_mouse_move(ee->evas, ev->x, ev->y, ev->timestamp, NULL); - _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); - return ECORE_CALLBACK_PASS_ON; -} - -static Eina_Bool -_ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event) +void +_ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location) { - Ecore_Evas *ee; - Ecore_Event_Mouse_Wheel *ev; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - ev = event; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, - ev->timestamp, NULL); - return ECORE_CALLBACK_PASS_ON; + if (!ee) return; + if (ee->engine.wl.win) + ecore_wl_window_resize(ee->engine.wl.win, ee->w, ee->h, location); } static Eina_Bool -_ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; Ecore_Wl_Event_Mouse_In *ev; @@ -900,18 +801,18 @@ _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void * LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee); ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); - evas_event_feed_mouse_in(ee->evas, ev->time, NULL); - _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); + evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL); + _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); return ECORE_CALLBACK_PASS_ON; } static Eina_Bool -_ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; Ecore_Wl_Event_Mouse_Out *ev; @@ -919,19 +820,19 @@ _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); - _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); - evas_event_feed_mouse_out(ee->evas, ev->time, NULL); + _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); + evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL); if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); return ECORE_CALLBACK_PASS_ON; } static Eina_Bool -_ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; Ecore_Wl_Event_Focus_In *ev; @@ -939,9 +840,9 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; ee->prop.focused = 1; evas_focus_in(ee->evas); if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); @@ -949,45 +850,51 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * } static Eina_Bool -_ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; - Ecore_Wl_Event_Focus_Out *ev; + Ecore_Wl_Event_Focus_In *ev; LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; evas_focus_out(ee->evas); ee->prop.focused = 0; if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee); return ECORE_CALLBACK_PASS_ON; } -static void -_ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height) +static Eina_Bool +_ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; + Ecore_Wl_Event_Window_Configure *ev; - /* NB: Trap to prevent compositor from crashing */ - if ((width <= 0) || (height <= 0)) return; - - if (!(ee = data)) return; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - printf("EGL Handle Configure Message\n"); - if ((shell_surface) && (ee->engine.wl.shell_surface)) + ev = event; + ee = ecore_event_window_match(ev->win); + if (!ee) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if ((ee->x != ev->x) || (ee->y != ev->y)) { - if (ee->engine.wl.shell_surface != shell_surface) return; - ecore_evas_resize(ee, width, height); + ee->x = ev->x; + ee->y = ev->y; + ee->req.x = ee->x; + ee->req.y = ee->y; + if (ee->func.fn_move) ee->func.fn_move(ee); + } + if ((ee->req.w != ev->w) || (ee->req.h != ev->h)) + { + ee->req.w = ev->w; + ee->req.h = ev->h; + if (ee->func.fn_resize) ee->func.fn_resize(ee); } -} - -static void -_ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__) -{ + return ECORE_CALLBACK_PASS_ON; } static void @@ -1101,30 +1008,9 @@ _ecore_evas_wl_frame_add(Evas *evas) return evas_object_smart_add(evas, _ecore_evas_wl_smart); } -void -_ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->engine.wl.shell_surface)) return; - wl_shell_surface_resize(ee->engine.wl.shell_surface, - ecore_wl_input_device_get(), - _ecore_evas_wl_btn_timestamp, location); -} - -void -_ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->engine.wl.surface)) return; - if ((!source) || (!drag_ee)) return; - ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer); -} - #else EAPI Ecore_Evas * -ecore_evas_wayland_egl_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__) +ecore_evas_wayland_egl_new(const char *disp_name __UNUSED__, unsigned int parent __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, Eina_Bool frame __UNUSED__) { return NULL; } diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c index e3b15c8..4c7ee2d 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c @@ -2,7 +2,7 @@ # include "config.h" #endif -//#define LOGFNS 1 +#define LOGFNS 1 #ifdef LOGFNS # include @@ -20,12 +20,12 @@ # include #endif -# include -# include -# include +#include +#include +#include -# include "ecore_evas_private.h" -# include "Ecore_Evas.h" +#include "ecore_evas_private.h" +#include "Ecore_Evas.h" #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM # include @@ -51,41 +51,34 @@ static void _ecore_evas_wl_callback_delete_request_set(Ecore_Evas *ee, void (*fu static void _ecore_evas_wl_callback_focus_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_callback_focus_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); +static void _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_show(Ecore_Evas *ee); static void _ecore_evas_wl_hide(Ecore_Evas *ee); static void _ecore_evas_wl_raise(Ecore_Evas *ee); -static void _ecore_evas_wl_lower(Ecore_Evas *ee); -static void _ecore_evas_wl_activate(Ecore_Evas *ee); -static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t); +static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title); static void _ecore_evas_wl_name_class_set(Ecore_Evas *ee, const char *n, const char *c); static void _ecore_evas_wl_size_min_set(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_size_max_set(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_size_base_set(Ecore_Evas *ee, int w, int h); static void _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h); -static void _ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); -static void _ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__); static void _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer); -static void _ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__); static void _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify); static void _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max); -static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__); +static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full); +static void _ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore); +static void _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha); +static void _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent); static int _ecore_evas_wl_render(Ecore_Evas *ee); static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h); static void _ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest); -static Eina_Bool _ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); -static Eina_Bool _ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); - -static void _ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface __UNUSED__, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height); -static void _ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__); +static Eina_Bool _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event); /* SMART stuff for frame */ static Evas_Smart *_ecore_evas_wl_smart = NULL; @@ -101,95 +94,94 @@ static Evas_Object *_ecore_evas_wl_frame_add(Evas *evas); /* local variables */ static int _ecore_evas_wl_init_count = 0; -static Ecore_Event_Handler *_ecore_evas_wl_event_handlers[8]; -static uint32_t _ecore_evas_wl_btn_timestamp; -static const struct wl_shell_surface_listener _ecore_evas_wl_shell_surface_listener = -{ - _ecore_evas_wl_handle_configure, - _ecore_evas_wl_handle_popup_done -}; +static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[5]; static Ecore_Evas_Engine_Func _ecore_wl_engine_func = { - _ecore_evas_wl_free, - _ecore_evas_wl_callback_resize_set, - _ecore_evas_wl_callback_move_set, - NULL, // callback show set - NULL, // callback hide set - _ecore_evas_wl_callback_delete_request_set, - NULL, // callback destroy set - _ecore_evas_wl_callback_focus_in_set, - _ecore_evas_wl_callback_focus_out_set, - _ecore_evas_wl_callback_mouse_in_set, - NULL, // callback mouse out set - NULL, // callback sticky set - NULL, // callback unsticky set - NULL, // callback pre render set - NULL, // callback post render set - _ecore_evas_wl_move, - NULL, // func managed move - _ecore_evas_wl_resize, - NULL, // func move_resize - NULL, // func rotation set - NULL, // func shaped set - _ecore_evas_wl_show, - _ecore_evas_wl_hide, - _ecore_evas_wl_raise, - _ecore_evas_wl_lower, - _ecore_evas_wl_activate, - _ecore_evas_wl_title_set, - _ecore_evas_wl_name_class_set, - _ecore_evas_wl_size_min_set, - _ecore_evas_wl_size_max_set, - _ecore_evas_wl_size_base_set, - _ecore_evas_wl_size_step_set, - _ecore_evas_wl_object_cursor_set, - _ecore_evas_wl_layer_set, - _ecore_evas_wl_focus_set, - _ecore_evas_wl_iconified_set, - NULL, // func borderless set - NULL, // func override set - _ecore_evas_wl_maximized_set, - _ecore_evas_wl_fullscreen_set, + _ecore_evas_wl_free, + _ecore_evas_wl_callback_resize_set, + _ecore_evas_wl_callback_move_set, + NULL, + NULL, + _ecore_evas_wl_callback_delete_request_set, + NULL, + _ecore_evas_wl_callback_focus_in_set, + _ecore_evas_wl_callback_focus_out_set, + _ecore_evas_wl_callback_mouse_in_set, + _ecore_evas_wl_callback_mouse_out_set, + NULL, // sticky_set + NULL, // unsticky_set + NULL, // pre_render_set + NULL, // post_render_set + _ecore_evas_wl_move, + NULL, // managed_move + _ecore_evas_wl_resize, + NULL, // move_resize + NULL, // rotation_set + NULL, // shaped_set + _ecore_evas_wl_show, + _ecore_evas_wl_hide, + _ecore_evas_wl_raise, + NULL, // lower + NULL, // activate + _ecore_evas_wl_title_set, + _ecore_evas_wl_name_class_set, + _ecore_evas_wl_size_min_set, + _ecore_evas_wl_size_max_set, + _ecore_evas_wl_size_base_set, + _ecore_evas_wl_size_step_set, + NULL, // object_cursor_set + _ecore_evas_wl_layer_set, + NULL, // focus set + _ecore_evas_wl_iconified_set, + NULL, // borderless set + NULL, // override set + _ecore_evas_wl_maximized_set, + _ecore_evas_wl_fullscreen_set, NULL, // func avoid_damage set NULL, // func withdrawn set NULL, // func sticky set - NULL, // func ignore_events set - NULL, // func alpha set - NULL, // func transparent set + _ecore_evas_wl_ignore_events_set, + _ecore_evas_wl_alpha_set, + _ecore_evas_wl_transparent_set, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, _ecore_evas_wl_render, _ecore_evas_wl_screen_geometry_get }; /* external variables */ -#endif -#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM +/* external functions */ EAPI Ecore_Evas * -ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, int frame) +ecore_evas_wayland_shm_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame) { + Ecore_Wl_Window *p = NULL; Evas_Engine_Info_Wayland_Shm *einfo; Ecore_Evas *ee; int method = 0; - static int _win_id = 1; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!(method = evas_render_method_lookup("wayland_shm"))) + if (!(method = evas_render_method_lookup("wayland_shm"))) { - ERR("Render method lookup failed."); + ERR("Render method lookup failed for Wayland_Shm"); return NULL; } - if (!(ecore_wl_init(disp_name))) + if (!ecore_wl_init(disp_name)) { - ERR("Failed to initialize Ecore Wayland."); + ERR("Failed to initialize Ecore_Wayland"); return NULL; } - if (!(ee = calloc(1, sizeof(Ecore_Evas)))) + if (!(ee = calloc(1, sizeof(Ecore_Evas)))) { - ERR("Failed to allocate Ecore_Evas."); + ERR("Failed to allocate Ecore_Evas"); ecore_wl_shutdown(); return NULL; } @@ -206,17 +198,21 @@ ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, in if (w < 1) w = 1; if (h < 1) h = 1; - ee->req.x = ee->x = x; - ee->req.y = ee->y = y; - ee->req.w = ee->w = w; - ee->req.h = ee->h = h; + ee->x = x; + ee->y = y; + ee->w = w; + ee->h = h; + ee->req.x = ee->x; + ee->req.y = ee->y; + ee->req.w = ee->w; + ee->req.h = ee->h; ee->rotation = 0; - ee->prop.max.w = ee->prop.max.h = 32767; + ee->prop.max.w = 32767; + ee->prop.max.h = 32767; ee->prop.layer = 4; ee->prop.request_pos = 0; ee->prop.sticky = 0; ee->prop.draw_frame = frame; - ee->prop.window = _win_id++; ee->evas = evas_new(); evas_data_attach_set(ee->evas, ee); @@ -224,29 +220,42 @@ ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, in evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); - if (ee->prop.draw_frame) + /* FIXME: This needs to be set based on theme & scale */ + if (ee->prop.draw_frame) evas_output_framespace_set(ee->evas, 4, 18, 8, 22); - if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) + if (parent) + p = ecore_wl_window_find(parent); + + /* FIXME: Get if parent is alpha, and set */ + + ee->engine.wl.parent = p; + ee->engine.wl.win = + ecore_wl_window_new(p, x, y, w, h, ECORE_WL_WINDOW_BUFFER_TYPE_SHM); + ee->prop.window = ee->engine.wl.win->id; + + if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) { einfo->info.rotation = ee->rotation; einfo->info.debug = EINA_FALSE; - if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) { - ERR("Failed to set Evas Engine Info for '%s'.", ee->driver); + ERR("Failed to set Evas Engine Info for '%s'", ee->driver); ecore_evas_free(ee); + _ecore_evas_wl_shutdown(); + ecore_wl_shutdown(); return NULL; } } else { - ERR("Failed to get Evas Engine Info for '%s'.", ee->driver); + ERR("Failed to get Evas Engine Info for '%s'", ee->driver); ecore_evas_free(ee); + _ecore_evas_wl_shutdown(); + ecore_wl_shutdown(); return NULL; } - /* NB: we need to be notified before 'free' so we can munmap the evas - * engine destination */ ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_pre_free); if (ee->prop.draw_frame) @@ -279,30 +288,21 @@ _ecore_evas_wl_init(void) if (++_ecore_evas_wl_init_count != 1) return _ecore_evas_wl_init_count; - _ecore_evas_wl_event_handlers[0] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, - _ecore_evas_wl_event_mouse_down, NULL); - _ecore_evas_wl_event_handlers[1] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, - _ecore_evas_wl_event_mouse_up, NULL); - _ecore_evas_wl_event_handlers[2] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, - _ecore_evas_wl_event_mouse_move, NULL); - _ecore_evas_wl_event_handlers[3] = - ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, - _ecore_evas_wl_event_mouse_wheel, NULL); - _ecore_evas_wl_event_handlers[4] = + _ecore_evas_wl_event_hdls[0] = ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_IN, - _ecore_evas_wl_event_mouse_in, NULL); - _ecore_evas_wl_event_handlers[5] = + _ecore_evas_wl_cb_mouse_in, NULL); + _ecore_evas_wl_event_hdls[1] = ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_OUT, - _ecore_evas_wl_event_mouse_out, NULL); - _ecore_evas_wl_event_handlers[6] = + _ecore_evas_wl_cb_mouse_out, NULL); + _ecore_evas_wl_event_hdls[2] = ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_IN, - _ecore_evas_wl_event_focus_in, NULL); - _ecore_evas_wl_event_handlers[7] = + _ecore_evas_wl_cb_focus_in, NULL); + _ecore_evas_wl_event_hdls[3] = ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_OUT, - _ecore_evas_wl_event_focus_out, NULL); + _ecore_evas_wl_cb_focus_out, NULL); + _ecore_evas_wl_event_hdls[4] = + ecore_event_handler_add(ECORE_WL_EVENT_WINDOW_CONFIGURE, + _ecore_evas_wl_cb_window_configure, NULL); ecore_event_evas_init(); @@ -319,10 +319,10 @@ _ecore_evas_wl_shutdown(void) if (--_ecore_evas_wl_init_count != 0) return _ecore_evas_wl_init_count; - for (i = 0; i < sizeof(_ecore_evas_wl_event_handlers) / sizeof(Ecore_Event_Handler *); i++) + for (i = 0; i < sizeof(_ecore_evas_wl_event_hdls) / sizeof(Ecore_Event_Handler *); i++) { - if (_ecore_evas_wl_event_handlers[i]) - ecore_event_handler_del(_ecore_evas_wl_event_handlers[i]); + if (_ecore_evas_wl_event_hdls[i]) + ecore_event_handler_del(_ecore_evas_wl_event_hdls[i]); } ecore_event_evas_shutdown(); @@ -337,17 +337,15 @@ _ecore_evas_wl_pre_free(Ecore_Evas *ee) LOGFN(__FILE__, __LINE__, __FUNCTION__); - /* destroy frame */ if (ee->engine.wl.frame) evas_object_del(ee->engine.wl.frame); - /* get engine info */ einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); if ((einfo) && (einfo->info.dest)) { int ret = 0; - /* munmap previous engine destination */ ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); + if (!ret) ERR("Failed to unmap engine destination: %m"); } } @@ -356,18 +354,11 @@ _ecore_evas_wl_free(Ecore_Evas *ee) { LOGFN(__FILE__, __LINE__, __FUNCTION__); - /* destroy buffer */ if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); ee->engine.wl.buffer = NULL; - /* destroy shell surface */ - if (ee->engine.wl.shell_surface) - wl_shell_surface_destroy(ee->engine.wl.shell_surface); - ee->engine.wl.shell_surface = NULL; - - /* destroy surface */ - if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); - ee->engine.wl.surface = NULL; + if (ee->engine.wl.win) ecore_wl_window_free(ee->engine.wl.win); + ee->engine.wl.win = NULL; ecore_event_window_unregister(ee->prop.window); ecore_evas_input_event_unregister(ee); @@ -431,25 +422,25 @@ _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee } static void -_ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) +_ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (!ee) return; + ee->func.fn_mouse_out = func; +} + +static void +_ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; -// if ((ee->x == x) && (ee->y == y)) return; ee->req.x = x; ee->req.y = y; - ee->x = x; ee->y = y; - - if (ee->engine.wl.shell_surface) - { - wl_shell_surface_move(ee->engine.wl.shell_surface, - ecore_wl_input_device_get(), - _ecore_evas_wl_btn_timestamp); - } - + if (ee->engine.wl.win) ecore_wl_window_move(ee->engine.wl.win, x, y); if (ee->func.fn_move) ee->func.fn_move(ee); } @@ -458,49 +449,44 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) { Evas_Engine_Info_Wayland_Shm *einfo; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ee) return; if (w < 1) w = 1; if (h < 1) h = 1; - if ((ee->w == w) && (ee->h == h)) return; +// if ((ee->w == w) && (ee->h == h)) return; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (ee->prop.min.w > w) w = ee->prop.min.w; + else if (w > ee->prop.max.w) w = ee->prop.max.w; + if (ee->prop.min.h > h) h = ee->prop.min.h; + else if (h > ee->prop.max.h) h = ee->prop.max.h; ee->req.w = w; ee->req.h = h; - if (ee->visible) - { - /* damage old surface, if it exists */ - - /* NB: This removes any lingering screen artifacts in the compositor. - * This may be a 'HACK' if the issue is actually in the wayland - * compositor, but for now lets implement this so we don't have screen - * artifacts laying around during a resize */ - if (ee->engine.wl.surface) - wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); - } +// ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); - /* get engine info */ einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); - if (einfo->info.dest) + if ((einfo) && (einfo->info.dest)) { int ret = 0; - /* munmap previous engine destination */ ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); + if (!ret) ERR("Failed to unmap engine destination: %m"); + } + else if (!einfo) + { + ERR("Failed to get Evas Engine Info for '%s'", ee->driver); + return; } - /* free old buffer */ if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); ee->engine.wl.buffer = NULL; ee->w = w; ee->h = h; - /* create buffer @ new size (also mmaps the new destination) */ _ecore_evas_wl_buffer_new(ee, &einfo->info.dest); - - /* flush new buffer fd */ ecore_wl_flush(); /* change evas output & viewport sizes */ @@ -514,16 +500,13 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); /* damage buffer */ - wl_buffer_damage(ee->engine.wl.buffer, 0, 0, ee->w, ee->h); +// wl_buffer_damage(ee->engine.wl.buffer, 0, 0, ee->w, ee->h); - if (ee->visible) - { - /* damage surface */ - wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); + ecore_wl_window_buffer_attach(ee->engine.wl.win, ee->engine.wl.buffer, 0, 0); + /* ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); */ + /* ecore_wl_flush(); */ - /* if visible, attach to surface */ - wl_surface_attach(ee->engine.wl.surface, ee->engine.wl.buffer, 0, 0); - } + ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h); if (ee->func.fn_resize) ee->func.fn_resize(ee); } @@ -535,93 +518,64 @@ _ecore_evas_wl_show(Ecore_Evas *ee) LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ee) return; - if (ee->visible) return; + if ((!ee) || (ee->visible)) return; - /* get engine info */ - einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); - - /* create new surface */ - ee->engine.wl.surface = - wl_compositor_create_surface(ecore_wl_compositor_get()); - wl_surface_set_user_data(ee->engine.wl.surface, (void *)ee->prop.window); + if (ee->engine.wl.win) + ecore_wl_window_show(ee->engine.wl.win); - /* get new shell surface */ - ee->engine.wl.shell_surface = - wl_shell_get_shell_surface(ecore_wl_shell_get(), ee->engine.wl.surface); - - /* set toplevel */ - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); + einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); + if (!einfo) + { + ERR("Failed to get Evas Engine Info for '%s'", ee->driver); + return; + } - /* create buffer @ new size (also mmaps the new destination) */ _ecore_evas_wl_buffer_new(ee, &einfo->info.dest); + evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); - if (ee->engine.wl.frame) + if (ee->engine.wl.frame) { evas_object_show(ee->engine.wl.frame); evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); } - /* set new engine destination */ - evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); - - /* add configure listener for wayland resize events */ - wl_shell_surface_add_listener(ee->engine.wl.shell_surface, - &_ecore_evas_wl_shell_surface_listener, ee); - - /* flush new buffer fd */ ecore_wl_flush(); - /* attach buffer to surface */ - wl_surface_attach(ee->engine.wl.surface, ee->engine.wl.buffer, 0, 0); - - /* NB: No need to do a damage here. If we do, we end up w/ screen - * artifacts in the compositor */ - /* wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); */ + if (ee->engine.wl.win) + ecore_wl_window_buffer_attach(ee->engine.wl.win, ee->engine.wl.buffer, 0, 0); ee->visible = 1; if (ee->func.fn_show) ee->func.fn_show(ee); } static void -_ecore_evas_wl_hide(Ecore_Evas *ee) +_ecore_evas_wl_hide(Ecore_Evas *ee) { Evas_Engine_Info_Wayland_Shm *einfo; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!ee) return; - if (!ee->visible) return; + if ((!ee) || (!ee->visible)) return; - /* get engine info */ einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); - if (einfo->info.dest) + if ((einfo) && (einfo->info.dest)) { int ret = 0; - /* munmap previous engine destination */ ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); - einfo->info.dest = NULL; + if (!ret) ERR("Failed to unmap engine destination: %m"); } - /* free old buffer */ if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); ee->engine.wl.buffer = NULL; - /* set new engine destination */ evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); - /* destroy shell surface */ - if (ee->engine.wl.shell_surface) - wl_shell_surface_destroy(ee->engine.wl.shell_surface); - ee->engine.wl.shell_surface = NULL; - - /* destroy surface */ - if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); - ee->engine.wl.surface = NULL; + ecore_wl_window_hide(ee->engine.wl.win); ee->visible = 0; ee->should_be_visible = 0; + if (ee->func.fn_hide) ee->func.fn_hide(ee); } @@ -631,39 +585,18 @@ _ecore_evas_wl_raise(Ecore_Evas *ee) LOGFN(__FILE__, __LINE__, __FUNCTION__); if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); + ecore_wl_window_raise(ee->engine.wl.win); } static void -_ecore_evas_wl_lower(Ecore_Evas *ee) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->visible)) return; - /* FIXME: Need a way to tell Wayland to lower */ -} - -static void -_ecore_evas_wl_activate(Ecore_Evas *ee) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); -} - -static void -_ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t) +_ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; if (ee->prop.title) free(ee->prop.title); ee->prop.title = NULL; - if (t) ee->prop.title = strdup(t); - + if (title) ee->prop.title = strdup(title); if ((ee->prop.draw_frame) && (ee->engine.wl.frame)) { EE_Wl_Smart_Data *sd; @@ -741,102 +674,96 @@ _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h) } static void -_ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y) +_ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) { - int x = 0, y = 0; - LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object); - ee->prop.cursor.object = NULL; - - if (!obj) - { - ee->prop.cursor.layer = 0; - ee->prop.cursor.hot.x = 0; - ee->prop.cursor.hot.y = 0; - return; - } - - ee->prop.cursor.object = obj; - ee->prop.cursor.layer = layer; - ee->prop.cursor.hot.x = hot_x; - ee->prop.cursor.hot.y = hot_y; - - evas_pointer_output_xy_get(ee->evas, &x, &y); - evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); - evas_object_move(ee->prop.cursor.object, - x - ee->prop.cursor.hot.x, y - ee->prop.cursor.hot.y); - evas_object_pass_events_set(ee->prop.cursor.object, 1); - if (evas_pointer_inside_get(ee->evas)) - evas_object_show(ee->prop.cursor.object); - - evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, - _ecore_evas_wl_object_cursor_del, ee); + if (ee->prop.layer == layer) return; + if (layer < 1) layer = 1; + else if (layer > 255) layer = 255; + ee->prop.layer = layer; } static void -_ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__) +_ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) { - Ecore_Evas *ee; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!(ee = data)) return; - ee->prop.cursor.object = NULL; + if (!ee) return; + if (ee->prop.iconified == iconify) return; + ee->prop.iconified = iconify; + /* FIXME: Implement this in Wayland someshow */ } static void -_ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) +_ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.layer == layer) return; - if (layer < 1) layer = 1; - else if (layer > 255) layer = 255; - ee->prop.layer = layer; + if (ee->prop.maximized == max) return; + ee->prop.maximized = max; + ecore_wl_window_maximized_set(ee->engine.wl.win, max); } static void -_ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__) +_ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); + if (ee->prop.fullscreen == full) return; + ee->prop.fullscreen = full; + ecore_wl_window_fullscreen_set(ee->engine.wl.win, full); } static void -_ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) +_ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore) { LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.iconified == iconify) return; - ee->prop.iconified = iconify; - /* FIXME: Implement this in Wayland someshow */ + ee->ignore_events = ignore; + /* NB: Hmmm, may need to pass this to ecore_wl_window in the future */ } static void -_ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) +_ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha) { + Evas_Engine_Info_Wayland_Shm *einfo; + LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ee) return; - if (ee->prop.maximized == max) return; - ee->prop.maximized = max; - /* FIXME: Implement this in Wayland someshow */ + if ((ee->alpha == alpha)) return; + ee->alpha = alpha; + if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) + { + einfo->info.destination_alpha = alpha; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); + evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); + } } static void -_ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__) +_ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent) { + Evas_Engine_Info_Wayland_Shm *einfo; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if ((!ee) || (!ee->visible)) return; - if (!ee->engine.wl.shell_surface) return; - wl_shell_surface_set_fullscreen(ee->engine.wl.shell_surface); + if (!ee) return; + if ((ee->transparent == transparent)) return; + ee->transparent = transparent; + if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) + { + einfo->info.destination_alpha = transparent; + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); + evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); + } } static int @@ -845,9 +772,9 @@ _ecore_evas_wl_render(Ecore_Evas *ee) int rend = 0; if (!ee) return 0; - if (!ee->visible) + if (!ee->visible) evas_norender(ee->evas); - else + else { Eina_List *ll = NULL, *updates = NULL; Ecore_Evas *ee2 = NULL; @@ -867,27 +794,27 @@ _ecore_evas_wl_render(Ecore_Evas *ee) Eina_List *l = NULL; Eina_Rectangle *r; + LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_LIST_FOREACH(updates, l, r) { if (ee->engine.wl.buffer) wl_buffer_damage(ee->engine.wl.buffer, r->x, r->y, r->w, r->h); - if (ee->engine.wl.surface) - wl_surface_damage(ee->engine.wl.surface, - r->x, r->y, r->w, r->h); + ecore_wl_window_damage(ee->engine.wl.win, + r->x, r->y, r->w, r->h); } + ecore_wl_flush(); + evas_render_updates_free(updates); _ecore_evas_idle_timeout_update(ee); rend = 1; - - ecore_wl_flush(); } if (ee->func.fn_post_render) ee->func.fn_post_render(ee); } - return rend; } @@ -901,77 +828,67 @@ _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int ecore_wl_screen_size_get(w, h); } -static Eina_Bool -_ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event) +static void +_ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest) { - Ecore_Evas *ee; - Ecore_Event_Mouse_Button *ev; + struct wl_shm *shm; + static unsigned int format; + char tmp[PATH_MAX]; + int fd = -1, stride = 0, size = 0; + void *ret; LOGFN(__FILE__, __LINE__, __FUNCTION__); - ev = event; - _ecore_evas_wl_btn_timestamp = ev->timestamp; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - evas_event_feed_mouse_down(ee->evas, ev->buttons, ev->modifiers, - ev->timestamp, NULL); - return ECORE_CALLBACK_PASS_ON; -} + if (dest) *dest = NULL; + if (!(shm = ecore_wl_shm_get())) return; + if (!format) format = WL_SHM_FORMAT_ARGB8888; //ecore_wl_format_get(); -static Eina_Bool -_ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Evas *ee; - Ecore_Event_Mouse_Button *ev; + strcpy(tmp, "/tmp/ecore-wayland_shm-XXXXXX"); + if ((fd = mkstemp(tmp)) < 0) + { + ERR("Could not create temporary file."); + return; + } - LOGFN(__FILE__, __LINE__, __FUNCTION__); + stride = (ee->w * sizeof(int)); + size = (stride * ee->h); + if (ftruncate(fd, size) < 0) + { + ERR("Could not truncate temporary file."); + close(fd); + return; + } - ev = event; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - evas_event_feed_mouse_up(ee->evas, ev->buttons, ev->modifiers, - ev->timestamp, NULL); - return ECORE_CALLBACK_PASS_ON; -} + ret = mmap(NULL, size, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0); + unlink(tmp); -static Eina_Bool -_ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event) -{ - Ecore_Evas *ee; - Ecore_Event_Mouse_Move *ev; + if (ret == MAP_FAILED) + { + ERR("mmap of temporary file failed."); + close(fd); + return; + } - ev = event; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - ee->mouse.x = ev->x; - ee->mouse.y = ev->y; - evas_event_feed_mouse_move(ee->evas, ev->x, ev->y, ev->timestamp, NULL); - _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); - return ECORE_CALLBACK_PASS_ON; + if (dest) *dest = ret; + + ee->engine.wl.buffer = + wl_shm_create_buffer(ecore_wl_shm_get(), fd, ee->w, ee->h, stride, format); + + close(fd); } -static Eina_Bool -_ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event) +void +_ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location) { - Ecore_Evas *ee; - Ecore_Event_Mouse_Wheel *ev; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - ev = event; - ee = ecore_event_window_match(ev->window); - if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, - ev->timestamp, NULL); - return ECORE_CALLBACK_PASS_ON; + if (!ee) return; + if (ee->engine.wl.win) + ecore_wl_window_resize(ee->engine.wl.win, ee->w, ee->h, location); } static Eina_Bool -_ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; Ecore_Wl_Event_Mouse_In *ev; @@ -979,18 +896,18 @@ _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void * LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee); ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); - evas_event_feed_mouse_in(ee->evas, ev->time, NULL); - _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); + evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL); + _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); return ECORE_CALLBACK_PASS_ON; } static Eina_Bool -_ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; Ecore_Wl_Event_Mouse_Out *ev; @@ -998,19 +915,19 @@ _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); - _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); - evas_event_feed_mouse_out(ee->evas, ev->time, NULL); + _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); + evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL); if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); return ECORE_CALLBACK_PASS_ON; } static Eina_Bool -_ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; Ecore_Wl_Event_Focus_In *ev; @@ -1018,9 +935,9 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; ee->prop.focused = 1; evas_focus_in(ee->evas); if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); @@ -1028,92 +945,53 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * } static Eina_Bool -_ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) +_ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; - Ecore_Wl_Event_Focus_Out *ev; + Ecore_Wl_Event_Focus_In *ev; LOGFN(__FILE__, __LINE__, __FUNCTION__); ev = event; - ee = ecore_event_window_match(ev->window); + ee = ecore_event_window_match(ev->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; - if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; evas_focus_out(ee->evas); ee->prop.focused = 0; if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee); return ECORE_CALLBACK_PASS_ON; } -static void -_ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height) +static Eina_Bool +_ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; - - /* NB: Trap to prevent compositor from crashing */ - if ((width <= 0) || (height <= 0)) return; - - if (!(ee = data)) return; - - if ((shell_surface) && (ee->engine.wl.shell_surface)) - { - if (ee->engine.wl.shell_surface != shell_surface) return; - ecore_evas_resize(ee, width, height); - } -} - -static void -_ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__) -{ - -} - -static void -_ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest) -{ - static unsigned int format; - char tmp[PATH_MAX]; - int fd = -1, stride = 0, size = 0; - void *ret; + Ecore_Wl_Event_Window_Configure *ev; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (dest) *dest = NULL; - - if (!format) format = ecore_wl_format_get(); - - strcpy(tmp, "/tmp/ecore-wayland_shm-XXXXXX"); - if ((fd = mkstemp(tmp)) < 0) - { - ERR("Could not create temporary file."); - return; - } - - stride = (ee->w * sizeof(int)); - size = (stride * ee->h); - if (ftruncate(fd, size) < 0) + ev = event; + ee = ecore_event_window_match(ev->win); + if (!ee) return ECORE_CALLBACK_PASS_ON; + if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; + if ((ee->x != ev->x) || (ee->y != ev->y)) { - ERR("Could not truncate temporary file."); - close(fd); - return; + ee->x = ev->x; + ee->y = ev->y; + ee->req.x = ee->x; + ee->req.y = ee->y; + if (ee->func.fn_move) ee->func.fn_move(ee); } - - ret = mmap(NULL, size, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0); - unlink(tmp); - - if (ret == MAP_FAILED) + if ((ee->req.w != ev->w) || (ee->req.h != ev->h)) { - ERR("mmap of temporary file failed."); - close(fd); - return; + /* ee->w = ev->w; */ + /* ee->h = ev->h; */ + ee->req.w = ev->w; + ee->req.h = ev->h; + if (ee->func.fn_resize) ee->func.fn_resize(ee); } - if (dest) *dest = ret; - - ee->engine.wl.buffer = - wl_shm_create_buffer(ecore_wl_shm_get(), fd, ee->w, ee->h, stride, format); - - close(fd); + return ECORE_CALLBACK_PASS_ON; } static void @@ -1227,30 +1105,9 @@ _ecore_evas_wl_frame_add(Evas *evas) return evas_object_smart_add(evas, _ecore_evas_wl_smart); } -void -_ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->engine.wl.shell_surface)) return; - wl_shell_surface_resize(ee->engine.wl.shell_surface, - ecore_wl_input_device_get(), - _ecore_evas_wl_btn_timestamp, location); -} - -void -_ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if ((!ee) || (!ee->engine.wl.surface)) return; - if ((!source) || (!drag_ee)) return; - ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer); -} - #else EAPI Ecore_Evas * -ecore_evas_wayland_shm_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__) +ecore_evas_wayland_shm_new(const char *disp_name __UNUSED__, unsigned int parent __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, Eina_Bool frame __UNUSED__) { return NULL; } diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c index cfec528..32132b3 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c @@ -420,7 +420,7 @@ _ecore_evas_win32_free(Ecore_Evas *ee) static void _ecore_evas_win32_callback_delete_request_set(Ecore_Evas *ee, - void (*func) (Ecore_Evas *ee)) + Ecore_Evas_Event_Cb func) { ee->func.fn_delete_request = func; } @@ -717,7 +717,7 @@ _ecore_evas_win32_activate(Ecore_Evas *ee) { INF("ecore evas activate"); - ecore_win32_window_focus_set((struct _Ecore_Win32_Window *)ee->prop.window); + ecore_win32_window_focus((struct _Ecore_Win32_Window *)ee->prop.window); } static void @@ -819,7 +819,7 @@ _ecore_evas_win32_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho static void _ecore_evas_win32_focus_set(Ecore_Evas *ee, int on __UNUSED__) { - ecore_win32_window_focus_set((struct _Ecore_Win32_Window *)ee->prop.window); + ecore_win32_window_focus((struct _Ecore_Win32_Window *)ee->prop.window); } static void @@ -879,18 +879,12 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on) if (on != 0) { - ecore_win32_window_shape_set((struct _Ecore_Win32_Window *)ee->prop.window, - 0, 0, NULL); ecore_win32_window_fullscreen_set((struct _Ecore_Win32_Window *)ee->prop.window, on); } else { ecore_win32_window_fullscreen_set(window, on); - ecore_win32_window_shape_set(window, - window->shape.width, - window->shape.height, - window->shape.mask); } /* Nothing to be done for the GDI backend at the evas level */ @@ -982,6 +976,13 @@ static Ecore_Evas_Engine_Func _ecore_win32_engine_func = NULL, /* _ecore_evas_x_alpha_set */ NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL //screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c index e102cb7..fecf26b 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c @@ -345,7 +345,7 @@ _ecore_evas_wince_free(Ecore_Evas *ee) static void _ecore_evas_wince_callback_delete_request_set(Ecore_Evas *ee, - void (*func) (Ecore_Evas *ee)) + Ecore_Evas_Event_Cb func) { ee->func.fn_delete_request = func; } @@ -641,11 +641,11 @@ _ecore_evas_wince_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho #endif } -/* static void */ -/* _ecore_evas_wince_focus_set(Ecore_Evas *ee, int on __UNUSED__) */ -/* { */ -/* ecore_wince_window_focus_set(ee->prop.window); */ -/* } */ +static void +_ecore_evas_wince_focus_set(Ecore_Evas *ee, int on __UNUSED__) +{ + ecore_wince_window_focus(ee->prop.window); +} /* static void */ /* _ecore_evas_wince_iconified_set(Ecore_Evas *ee, int on) */ @@ -760,7 +760,7 @@ static Ecore_Evas_Engine_Func _ecore_wince_engine_func = NULL, //_ecore_evas_wince_size_step_set, _ecore_evas_wince_cursor_set, NULL, /* _ecore_evas_x_layer_set */ - NULL, //_ecore_evas_wince_focus_set, + _ecore_evas_wince_focus_set, NULL, //_ecore_evas_wince_iconified_set, NULL, //_ecore_evas_wince_borderless_set, NULL, /* _ecore_evas_x_override_set */ @@ -773,6 +773,13 @@ static Ecore_Evas_Engine_Func _ecore_wince_engine_func = NULL, /* _ecore_evas_x_alpha_set */ NULL, //transparent + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, // render NULL // screen_geometry_get }; diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c index 7d3af12..6dd13de 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c @@ -20,6 +20,22 @@ static int leader_ref = 0; static Ecore_X_Window leader_win = 0; static void +_ecore_evas_x_hints_update(Ecore_Evas *ee) +{ + ecore_x_icccm_hints_set + (ee->prop.window, + !ee->prop.focus_skip /* accepts_focus */, + ee->prop.iconified ? ECORE_X_WINDOW_STATE_HINT_ICONIC : + ee->prop.withdrawn ? ECORE_X_WINDOW_STATE_HINT_WITHDRAWN : + ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, + 0 /* icon_pixmap */, + 0 /* icon_mask */, + 0 /* icon_window */, + ee->prop.group_ee_win /* window_group */, + ee->prop.urgent /* is_urgent */); +} + +static void _ecore_evas_x_group_leader_set(Ecore_Evas *ee) { leader_ref++; @@ -537,6 +553,7 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, { Ecore_Evas *ee; Ecore_X_Event_Window_Property *e; + int state_change = 0; e = event; ee = ecore_event_window_match(e->win); @@ -546,20 +563,62 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, { unsigned int i, num; Ecore_X_Window_State *state; - int sticky = 0; - - /* TODO: we need to move those to the end, with if statements */ - ee->engine.x.state.modal = 0; - ee->engine.x.state.maximized_v = 0; - ee->engine.x.state.maximized_h = 0; - ee->engine.x.state.shaded = 0; + struct { + struct { + unsigned char modal : 1; + unsigned char sticky : 1; + unsigned char maximized_v : 1; + unsigned char maximized_h : 1; + unsigned char shaded : 1; + unsigned char skip_taskbar : 1; + unsigned char skip_pager : 1; + unsigned char fullscreen : 1; + unsigned char above : 1; + unsigned char below : 1; + } x; + struct { + char modal : 1; + char maximized : 1; + char sticky : 1; + char fullscreen : 1; + char focus_skip : 1; + } prop; + } prev; + + prev.x.modal = ee->engine.x.state.modal; + prev.x.sticky = ee->engine.x.state.sticky; + prev.x.maximized_v = ee->engine.x.state.maximized_v; + prev.x.maximized_h = ee->engine.x.state.maximized_h; + prev.x.shaded = ee->engine.x.state.shaded; + prev.x.skip_taskbar = ee->engine.x.state.skip_taskbar; + prev.x.skip_pager = ee->engine.x.state.skip_pager; + prev.x.fullscreen = ee->engine.x.state.fullscreen; + prev.x.above = ee->engine.x.state.above; + prev.x.below = ee->engine.x.state.below; + + prev.prop.modal = ee->prop.modal; + prev.prop.maximized = ee->prop.maximized; + prev.prop.sticky = ee->prop.sticky; + prev.prop.fullscreen = ee->prop.fullscreen; + prev.prop.focus_skip = ee->prop.focus_skip; + + ee->engine.x.state.modal = 0; + ee->engine.x.state.sticky = 0; + ee->engine.x.state.maximized_v = 0; + ee->engine.x.state.maximized_h = 0; + ee->engine.x.state.shaded = 0; ee->engine.x.state.skip_taskbar = 0; - ee->engine.x.state.skip_pager = 0; + ee->engine.x.state.skip_pager = 0; + ee->engine.x.state.fullscreen = 0; + ee->engine.x.state.above = 0; + ee->engine.x.state.below = 0; + + ee->prop.modal = 0; + ee->prop.maximized = 0; + ee->prop.sticky = 0; ee->prop.fullscreen = 0; - ee->engine.x.state.fullscreen = 0; - ee->engine.x.state.above = 0; - ee->engine.x.state.below = 0; - + ee->prop.focus_skip = 0; + ecore_x_netwm_window_state_get(e->win, &state, &num); if (state) { @@ -568,56 +627,106 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, switch (state[i]) { case ECORE_X_WINDOW_STATE_MODAL: - ee->engine.x.state.modal = 1; - break; + ee->engine.x.state.modal = 1; + ee->prop.modal = 1; + break; case ECORE_X_WINDOW_STATE_STICKY: - if (ee->prop.sticky && ee->engine.x.state.sticky) - break; - - sticky = 1; - ee->prop.sticky = 1; - ee->engine.x.state.sticky = 1; - if (ee->func.fn_sticky) ee->func.fn_sticky(ee); - break; + ee->prop.sticky = 1; + ee->engine.x.state.sticky = 1; + break; case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT: - ee->engine.x.state.maximized_v = 1; - break; + ee->engine.x.state.maximized_v = 1; + ee->prop.maximized = 1; + break; case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ: - ee->engine.x.state.maximized_h = 1; - break; + ee->engine.x.state.maximized_h = 1; + ee->prop.maximized = 1; + break; case ECORE_X_WINDOW_STATE_SHADED: - ee->engine.x.state.shaded = 1; - break; + ee->engine.x.state.shaded = 1; + break; case ECORE_X_WINDOW_STATE_SKIP_TASKBAR: - ee->engine.x.state.skip_taskbar = 1; - break; + ee->engine.x.state.skip_taskbar = 1; + ee->prop.focus_skip = 1; + break; case ECORE_X_WINDOW_STATE_SKIP_PAGER: - ee->engine.x.state.skip_pager = 1; - break; + ee->engine.x.state.skip_pager = 1; + ee->prop.focus_skip = 1; + break; case ECORE_X_WINDOW_STATE_FULLSCREEN: - ee->prop.fullscreen = 1; - ee->engine.x.state.fullscreen = 1; - break; + ee->prop.fullscreen = 1; + ee->engine.x.state.fullscreen = 1; + break; case ECORE_X_WINDOW_STATE_ABOVE: - ee->engine.x.state.above = 1; - break; + ee->engine.x.state.above = 1; + break; case ECORE_X_WINDOW_STATE_BELOW: - ee->engine.x.state.below = 1; - break; + ee->engine.x.state.below = 1; + break; default: break; } } free(state); } - - if ((ee->prop.sticky) && (!sticky)) + if ( +// (prev.x.modal != ee->engine.x.state.modal) || + (prev.x.sticky != ee->engine.x.state.sticky) || + (prev.x.maximized_v != ee->engine.x.state.maximized_v) || + (prev.x.maximized_h != ee->engine.x.state.maximized_h) || +// (prev.x.shaded != ee->engine.x.state.shaded) || +// (prev.x.skip_taskbar != ee->engine.x.state.skip_taskbar) || +// (prev.x.skip_pager != ee->engine.x.state.skip_pager) || + (prev.x.fullscreen != ee->engine.x.state.fullscreen) || +// (prev.x.above != ee->engine.x.state.above) || +// (prev.x.below != ee->engine.x.state.below) || +// (prev.prop.modal != ee->prop.modal) || + (prev.prop.maximized != ee->prop.maximized) || + (prev.prop.sticky != ee->prop.sticky) || + (prev.prop.fullscreen != ee->prop.fullscreen) || + (prev.prop.focus_skip != ee->prop.focus_skip)) + state_change = 1; + } + else if (e->atom == ECORE_X_ATOM_WM_STATE) + { + Ecore_X_Window_State_Hint state; + + // handle WM_STATE changes + state = ecore_x_icccm_state_get(e->win); + switch (state) { - ee->prop.sticky = 0; - ee->engine.x.state.sticky = 0; - if (ee->func.fn_unsticky) ee->func.fn_unsticky(ee); + case ECORE_X_WINDOW_STATE_HINT_WITHDRAWN: + if ((!ee->prop.withdrawn) || (ee->prop.iconified)) + { + state_change = 1; + ee->prop.withdrawn = 1; + ee->prop.iconified = 0; + } + break; + case ECORE_X_WINDOW_STATE_HINT_ICONIC: + if ((!ee->prop.iconified) || (ee->prop.withdrawn)) + { + state_change = 1; + ee->prop.iconified = 1; + ee->prop.withdrawn = 0; + } + break; + case ECORE_X_WINDOW_STATE_HINT_NORMAL: + if ((ee->prop.iconified) || (ee->prop.withdrawn)) + { + state_change = 1; + ee->prop.iconified = 0; + ee->prop.withdrawn = 0; + } + break; + default: + break; } } + if (state_change) + { + if (ee->func.fn_state_change) ee->func.fn_state_change(ee); + } return ECORE_CALLBACK_PASS_ON; } @@ -826,7 +935,8 @@ _ecore_evas_x_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__, ee = ecore_event_window_match(e->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */ if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - if (e->mode == ECORE_X_EVENT_MODE_UNGRAB) return ECORE_CALLBACK_PASS_ON; +//xx// filtering with these doesnt help +//xx// if (e->mode == ECORE_X_EVENT_MODE_UNGRAB) return ECORE_CALLBACK_PASS_ON; ee->prop.focused = 1; evas_focus_in(ee->evas); if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); @@ -843,7 +953,9 @@ _ecore_evas_x_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__, ee = ecore_event_window_match(e->win); if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */ if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; - if (e->mode == ECORE_X_EVENT_MODE_GRAB) return ECORE_CALLBACK_PASS_ON; +//xx// filtering with these doesnt help +//xx// if (e->mode == ECORE_X_EVENT_MODE_GRAB) return ECORE_CALLBACK_PASS_ON; + // if (ee->prop.fullscreen) // ecore_x_window_focus(ee->prop.window); evas_focus_out(ee->evas); @@ -1078,8 +1190,8 @@ _ecore_evas_x_size_pos_hints_update(Ecore_Evas *ee) ee->prop.base.h /* base_h */, ee->prop.step.w /* step_x */, ee->prop.step.h /* step_y */, - 0 /* min_aspect */, - 0 /* max_aspect */); + ee->prop.aspect /* min_aspect */, + ee->prop.aspect /* max_aspect */); } /* FIXME, should be in idler */ @@ -1089,32 +1201,30 @@ _ecore_evas_x_state_update(Ecore_Evas *ee) Ecore_X_Window_State state[10]; int num = 0; - /* - if (bd->client.netwm.state.modal) + if (ee->prop.modal) state[num++] = ECORE_X_WINDOW_STATE_MODAL; - */ - if (ee->engine.x.state.sticky) + if (ee->prop.sticky) state[num++] = ECORE_X_WINDOW_STATE_STICKY; - /* - if (bd->client.netwm.state.maximized_v) + if (ee->prop.maximized) state[num++] = ECORE_X_WINDOW_STATE_MAXIMIZED_VERT; - if (bd->client.netwm.state.maximized_h) + if (ee->prop.maximized) state[num++] = ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ; - if (bd->client.netwm.state.shaded) - state[num++] = ECORE_X_WINDOW_STATE_SHADED; - if (bd->client.netwm.state.skip_taskbar) +// if (bd->client.netwm.state.shaded) +// state[num++] = ECORE_X_WINDOW_STATE_SHADED; + if (ee->prop.focus_skip) state[num++] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; - if (bd->client.netwm.state.skip_pager) + if (ee->prop.focus_skip) state[num++] = ECORE_X_WINDOW_STATE_SKIP_PAGER; - if (bd->client.netwm.state.hidden) - state[num++] = ECORE_X_WINDOW_STATE_HIDDEN; - */ +// if (bd->client.netwm.state.hidden) +// state[num++] = ECORE_X_WINDOW_STATE_HIDDEN; if (ee->engine.x.state.fullscreen) state[num++] = ECORE_X_WINDOW_STATE_FULLSCREEN; if (ee->engine.x.state.above) state[num++] = ECORE_X_WINDOW_STATE_ABOVE; if (ee->engine.x.state.below) state[num++] = ECORE_X_WINDOW_STATE_BELOW; + if (ee->prop.demand_attention) + state[num++] = ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION; ecore_x_netwm_window_state_set(ee->prop.window, state, num); } @@ -1292,7 +1402,7 @@ _ecore_evas_x_free(Ecore_Evas *ee) } static void -_ecore_evas_x_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) +_ecore_evas_x_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) { ee->func.fn_delete_request = func; _ecore_evas_x_protocols_set(ee); @@ -1578,6 +1688,10 @@ _ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation, int resize, static void _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) { + int angles[2]; + angles[0] = rotation; + angles[1] = ee->rotation; + if (ee->rotation == rotation) return; if (!strcmp(ee->driver, "opengl_x11")) { @@ -1589,6 +1703,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) einfo->info.rotation = rotation; _ecore_evas_x_rotation_set_internal(ee, rotation, resize, (Evas_Engine_Info *)einfo); + ecore_x_window_prop_property_set(ee->prop.window, + ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, + ECORE_X_ATOM_CARDINAL, 32, &angles, 2); #endif /* BUILD_ECORE_EVAS_OPENGL_X11 */ } else if (!strcmp(ee->driver, "software_x11")) @@ -1601,6 +1718,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) einfo->info.rotation = rotation; _ecore_evas_x_rotation_set_internal(ee, rotation, resize, (Evas_Engine_Info *)einfo); + ecore_x_window_prop_property_set(ee->prop.window, + ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, + ECORE_X_ATOM_CARDINAL, 32, &angles, 2); #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */ } else if (!strcmp(ee->driver, "software_16_x11")) @@ -1613,6 +1733,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) einfo->info.rotation = rotation; _ecore_evas_x_rotation_set_internal(ee, rotation, resize, (Evas_Engine_Info *)einfo); + ecore_x_window_prop_property_set(ee->prop.window, + ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, + ECORE_X_ATOM_CARDINAL, 32, &angles, 2); #endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */ } else if (!strcmp(ee->driver, "software_8_x11")) @@ -1625,6 +1748,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) einfo->info.rotation = rotation; _ecore_evas_x_rotation_set_internal(ee, rotation, resize, (Evas_Engine_Info *)einfo); + ecore_x_window_prop_property_set(ee->prop.window, + ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, + ECORE_X_ATOM_CARDINAL, 32, &angles, 2); #endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */ } } @@ -1839,14 +1965,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_update(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -1962,14 +2081,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_update(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -2048,14 +2160,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_update(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -2134,14 +2239,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_update(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -2182,6 +2280,88 @@ _ecore_evas_x_transparent_set(Ecore_Evas *ee, int transparent) #endif } } + +static void +_ecore_evas_x_window_group_set(Ecore_Evas *ee, const Ecore_Evas *group_ee) +{ + if (ee->prop.group_ee == group_ee) return; + + ee->prop.group_ee = (Ecore_Evas *)group_ee; + if (ee->prop.group_ee) + ee->prop.group_ee_win = group_ee->prop.window; + else + ee->prop.group_ee_win = 0; + _ecore_evas_x_hints_update(ee); +} + +static void +_ecore_evas_x_aspect_set(Ecore_Evas *ee, double aspect) +{ + if (ee->prop.aspect == aspect) return; + + ee->prop.aspect = aspect; + _ecore_evas_x_size_pos_hints_update(ee); +// netwm state +// if (ee->should_be_visible) +// ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, +// ECORE_X_WINDOW_STATE_STICKY, -1, sticky); +// else +// _ecore_evas_x_state_update(ee); +} + +static void +_ecore_evas_x_urgent_set(Ecore_Evas *ee, int urgent) +{ + if (ee->prop.urgent == urgent) return; + + ee->prop.urgent = urgent; + _ecore_evas_x_hints_update(ee); +} + +static void +_ecore_evas_x_modal_set(Ecore_Evas *ee, int modal) +{ + if (ee->prop.modal == modal) return; + + ee->prop.modal = modal; + if (ee->should_be_visible) + ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, + ECORE_X_WINDOW_STATE_MODAL, -1, modal); + else + _ecore_evas_x_state_update(ee); +} + +static void +_ecore_evas_x_demand_attention_set(Ecore_Evas *ee, int demand) +{ + if (ee->prop.demand_attention == demand) return; + + ee->prop.demand_attention = demand; + if (ee->should_be_visible) + ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, + ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION, -1, demand); + else + _ecore_evas_x_state_update(ee); +} + +static void +_ecore_evas_x_focus_skip_set(Ecore_Evas *ee, int skip) +{ + if (ee->prop.focus_skip == skip) return; + + ee->prop.focus_skip = skip; + if (ee->should_be_visible) + { + ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, + ECORE_X_WINDOW_STATE_SKIP_TASKBAR, -1, skip); + ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, + ECORE_X_WINDOW_STATE_SKIP_PAGER, -1, skip); + } + else + _ecore_evas_x_state_update(ee); + _ecore_evas_x_hints_update(ee); +} + #endif /* BUILD_ECORE_EVAS_X11 */ #ifdef BUILD_ECORE_EVAS_X11 @@ -2369,30 +2549,11 @@ _ecore_evas_x_iconified_set(Ecore_Evas *ee, int on) { if (ee->prop.iconified == on) return; ee->prop.iconified = on; + _ecore_evas_x_hints_update(ee); if (on) - { - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_ICONIC /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); - ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root); - } + ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root); else - { - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); - ecore_evas_show(ee); - } + ecore_evas_show(ee); } static void @@ -2408,24 +2569,9 @@ _ecore_evas_x_borderless_set(Ecore_Evas *ee, int on) static void _ecore_evas_x_withdrawn_set(Ecore_Evas *ee, int withdrawn) { - Ecore_X_Window_State_Hint hint; - if (ee->prop.withdrawn == withdrawn) return; - ee->prop.withdrawn = withdrawn; - if (withdrawn) - hint = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN; - else - hint = ECORE_X_WINDOW_STATE_HINT_NORMAL; - - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - hint /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); } static void @@ -2762,6 +2908,13 @@ static Ecore_Evas_Engine_Func _ecore_x_engine_func = _ecore_evas_x_ignore_events_set, _ecore_evas_x_alpha_set, _ecore_evas_x_transparent_set, + + _ecore_evas_x_window_group_set, + _ecore_evas_x_aspect_set, + _ecore_evas_x_urgent_set, + _ecore_evas_x_modal_set, + _ecore_evas_x_demand_attention_set, + _ecore_evas_x_focus_skip_set, NULL, // render _ecore_evas_x_screen_geometry_get @@ -3003,14 +3156,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, } } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_set(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -3240,14 +3386,7 @@ ecore_evas_gl_x11_options_new(const char *disp_name, Ecore_X_Window parent, // putenv((char*)"DESKTOP_STARTUP_ID="); } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_set(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -3571,14 +3710,7 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent, return NULL; } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_set(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); @@ -3895,14 +4027,7 @@ ecore_evas_software_x11_8_new(const char *disp_name, Ecore_X_Window parent, return NULL; } - ecore_x_icccm_hints_set(ee->prop.window, - 1 /* accepts_focus */, - ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, - 0 /* icon_pixmap */, - 0 /* icon_mask */, - 0 /* icon_window */, - 0 /* window_group */, - 0 /* is_urgent */); + _ecore_evas_x_hints_update(ee); _ecore_evas_x_group_leader_set(ee); ecore_x_window_defaults_set(ee->prop.window); _ecore_evas_x_protocols_set(ee); diff --git a/libraries/ecore/src/lib/ecore_fb/Makefile.in b/libraries/ecore/src/lib/ecore_fb/Makefile.in index c0c30a5..e8030b1 100644 --- a/libraries/ecore/src/lib/ecore_fb/Makefile.in +++ b/libraries/ecore/src/lib/ecore_fb/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -194,6 +193,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -249,6 +250,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -259,6 +262,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_fb/ecore_fb.c b/libraries/ecore/src/lib/ecore_fb/ecore_fb.c index ca7d73d..daeea0f 100644 --- a/libraries/ecore/src/lib/ecore_fb/ecore_fb.c +++ b/libraries/ecore/src/lib/ecore_fb/ecore_fb.c @@ -92,21 +92,18 @@ _ecore_fb_size_get(int *w, int *h) fb = open("/dev/fb0", O_RDWR); if (fb < 0) - { - if (w) *w = 0; - if (h) *h = 0; - return; - } + goto exit; + if (ioctl(fb, FBIOGET_VSCREENINFO, &fb_var) == -1) - { - if (w) *w = 0; - if (h) *h = 0; - close(fb); - return; - } + goto err_ioctl; + + *w = fb_var.xres; + *h = fb_var.yres; + +err_ioctl: close(fb); - if (w) *w = fb_var.xres; - if (h) *h = fb_var.yres; +exit: + return; } /** diff --git a/libraries/ecore/src/lib/ecore_file/Makefile.in b/libraries/ecore/src/lib/ecore_file/Makefile.in index 04e0bf1..a80ece3 100644 --- a/libraries/ecore/src/lib/ecore_file/Makefile.in +++ b/libraries/ecore/src/lib/ecore_file/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -195,6 +194,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -250,6 +251,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -260,6 +263,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_file/ecore_file.c b/libraries/ecore/src/lib/ecore_file/ecore_file.c index cfbf2b5..cb03717 100644 --- a/libraries/ecore/src/lib/ecore_file/ecore_file.c +++ b/libraries/ecore/src/lib/ecore_file/ecore_file.c @@ -821,6 +821,8 @@ ecore_file_ls(const char *dir) Eina_List *list = NULL; ls = eina_file_direct_ls(dir); + if (!ls) return NULL; + EINA_ITERATOR_FOREACH(ls, info) { char *f; diff --git a/libraries/ecore/src/lib/ecore_file/ecore_file_download.c b/libraries/ecore/src/lib/ecore_file/ecore_file_download.c index c5e56bd..971493e 100644 --- a/libraries/ecore/src/lib/ecore_file/ecore_file_download.c +++ b/libraries/ecore/src/lib/ecore_file/ecore_file_download.c @@ -45,22 +45,27 @@ static Ecore_Event_Handler *_url_complete_handler = NULL; static Ecore_Event_Handler *_url_progress_download = NULL; static Eina_List *_job_list; +static int download_init = 0; + #endif /* BUILD_ECORE_CON */ int ecore_file_download_init(void) { #ifdef BUILD_ECORE_CON - if (!ecore_con_url_init()) - return 0; - + download_init++; + if (download_init > 1) return 1; + if (!ecore_con_init()) return 0; + if (!ecore_con_url_init()) + { + ecore_con_shutdown(); + return 0; + } # ifdef HAVE_CURL - _url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL); - _url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL); + _url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL); + _url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL); # endif - #endif /* BUILD_ECORE_CON */ - return 1; } @@ -68,15 +73,17 @@ void ecore_file_download_shutdown(void) { #ifdef BUILD_ECORE_CON - if (_url_complete_handler) - ecore_event_handler_del(_url_complete_handler); - if (_url_progress_download) - ecore_event_handler_del(_url_progress_download); - _url_complete_handler = NULL; - _url_progress_download = NULL; - ecore_file_download_abort_all(); - - ecore_con_url_shutdown(); + download_init--; + if (download_init > 0) return; + if (_url_complete_handler) + ecore_event_handler_del(_url_complete_handler); + if (_url_progress_download) + ecore_event_handler_del(_url_progress_download); + _url_complete_handler = NULL; + _url_progress_download = NULL; + ecore_file_download_abort_all(); + ecore_con_url_shutdown(); + ecore_con_shutdown(); #endif /* BUILD_ECORE_CON */ } @@ -362,7 +369,6 @@ _ecore_file_download_curl(const char *url, const char *dst, } if (headers) eina_hash_foreach(headers, _ecore_file_download_headers_foreach_cb, job); - ecore_con_url_timeout_set(job->url_con, ECORE_FILE_DOWNLOAD_TIMEOUT); ecore_con_url_fd_set(job->url_con, fileno(job->file)); ecore_con_url_data_set(job->url_con, data); diff --git a/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h b/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h index adea35d..1757d79 100644 --- a/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h +++ b/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h @@ -33,6 +33,12 @@ extern "C" { #endif +/** + * @addtogroup Ecore_IMF_Context_Group + * + * @{ + */ + /* Events sent by the Input Method */ typedef struct _Ecore_IMF_Event_Preedit_Start Ecore_IMF_Event_Preedit_Start; typedef struct _Ecore_IMF_Event_Preedit_End Ecore_IMF_Event_Preedit_End; @@ -66,25 +72,41 @@ EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING; typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info); +/** + * @enum _Ecore_IMF_Callback_Type + * @typedef Ecore_IMF_Callback_Type + * + * Ecore IMF Event callback types. + * + * @see ecore_imf_context_event_callback_add() + */ typedef enum { - ECORE_IMF_CALLBACK_PREEDIT_START, - ECORE_IMF_CALLBACK_PREEDIT_END, - ECORE_IMF_CALLBACK_PREEDIT_CHANGED, - ECORE_IMF_CALLBACK_COMMIT, - ECORE_IMF_CALLBACK_DELETE_SURROUNDING + ECORE_IMF_CALLBACK_PREEDIT_START, /**< "PREEDIT_START" is called when a new preediting sequence starts. */ + ECORE_IMF_CALLBACK_PREEDIT_END, /**< "PREEDIT_END" is called when a preediting sequence has been completed or canceled. */ + ECORE_IMF_CALLBACK_PREEDIT_CHANGED, /**< "PREEDIT_CHANGED" is called whenever the preedit sequence currently being entered has changed. */ + ECORE_IMF_CALLBACK_COMMIT, /**< "COMMIT" is called when a complete input sequence has been entered by the user */ + ECORE_IMF_CALLBACK_DELETE_SURROUNDING /**< "DELETE_SURROUNDING" is called when the input method needs to delete all or part of the context surrounding the cursor */ } Ecore_IMF_Callback_Type; +/** + * @enum _Ecore_IMF_Event_Type + * @typedef Ecore_IMF_Event_Type + * + * Ecore IMF event types. + * + * @see ecore_imf_context_filter_event() + */ typedef enum { - ECORE_IMF_EVENT_MOUSE_DOWN, - ECORE_IMF_EVENT_MOUSE_UP, - ECORE_IMF_EVENT_MOUSE_IN, - ECORE_IMF_EVENT_MOUSE_OUT, - ECORE_IMF_EVENT_MOUSE_MOVE, - ECORE_IMF_EVENT_MOUSE_WHEEL, - ECORE_IMF_EVENT_KEY_DOWN, - ECORE_IMF_EVENT_KEY_UP + ECORE_IMF_EVENT_MOUSE_DOWN, /**< Mouse Down event */ + ECORE_IMF_EVENT_MOUSE_UP, /**< Mouse Up event */ + ECORE_IMF_EVENT_MOUSE_IN, /**< Mouse In event */ + ECORE_IMF_EVENT_MOUSE_OUT, /**< Mouse Out event */ + ECORE_IMF_EVENT_MOUSE_MOVE, /**< Mouse Move event */ + ECORE_IMF_EVENT_MOUSE_WHEEL, /**< Mouse Wheel event */ + ECORE_IMF_EVENT_KEY_DOWN, /**< Key Down event */ + ECORE_IMF_EVENT_KEY_UP /**< Key Up event */ } Ecore_IMF_Event_Type; typedef enum @@ -123,22 +145,46 @@ typedef enum ECORE_IMF_INPUT_MODE_AUTOCAP = 1 << 30 } Ecore_IMF_Input_Mode; +/** + * @enum _Ecore_IMF_Preedit_Type + * @typedef Ecore_IMF_Preedit_Type + * + * Ecore IMF Preedit style types + * + * @see ecore_imf_context_preedit_string_with_attributes_get() + */ typedef enum { - ECORE_IMF_PREEDIT_TYPE_NONE, - ECORE_IMF_PREEDIT_TYPE_SUB1, - ECORE_IMF_PREEDIT_TYPE_SUB2, - ECORE_IMF_PREEDIT_TYPE_SUB3 + ECORE_IMF_PREEDIT_TYPE_NONE, /**< None style */ + ECORE_IMF_PREEDIT_TYPE_SUB1, /**< Substring style 1 */ + ECORE_IMF_PREEDIT_TYPE_SUB2, /**< Substring style 2 */ + ECORE_IMF_PREEDIT_TYPE_SUB3 /**< Substring style 3 */ } Ecore_IMF_Preedit_Type; +/** + * @enum _Ecore_IMF_Autocapital_Type + * @typedef Ecore_IMF_Autocapital_Type + * + * Autocapitalization Types. + * + * @see ecore_imf_context_autocapital_type_set() + */ typedef enum { - ECORE_IMF_AUTOCAPITAL_TYPE_NONE, - ECORE_IMF_AUTOCAPITAL_TYPE_WORD, - ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, - ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER + ECORE_IMF_AUTOCAPITAL_TYPE_NONE, /**< No auto-capitalization when typing */ + ECORE_IMF_AUTOCAPITAL_TYPE_WORD, /**< Autocapitalize each word typed */ + ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, /**< Autocapitalize the start of each sentence */ + ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER, /**< Autocapitalize all letters */ } Ecore_IMF_Autocapital_Type; +/** + * @enum _Ecore_IMF_Input_Panel_Layout + * @typedef Ecore_IMF_Input_Panel_Layout + * + * Input panel (virtual keyboard) layout types. + * + * @see ecore_imf_context_input_panel_layout_set() + */ typedef enum { ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, /**< Default layout */ @@ -155,12 +201,40 @@ typedef enum ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */ } Ecore_IMF_Input_Panel_Layout; +/** + * @enum _Ecore_IMF_Input_Panel_Lang + * @typedef Ecore_IMF_Input_Panel_Lang + * + * Input panel (virtual keyboard) language modes. + * + * @see ecore_imf_context_input_panel_language_set() + */ typedef enum { - ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic */ - ECORE_IMF_INPUT_PANEL_LANG_ALPHABET /**< Alphabet */ + ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic @since 1.2 */ + ECORE_IMF_INPUT_PANEL_LANG_ALPHABET /**< Alphabet @since 1.2 */ } Ecore_IMF_Input_Panel_Lang; +/** + * @enum _Ecore_IMF_Input_Panel_Return_Key_Type + * @typedef Ecore_IMF_Input_Panel_Return_Key_Type + * + * "Return" Key types on the input panel (virtual keyboard). + * + * @see ecore_imf_context_input_panel_return_key_type_set() + */ +typedef enum +{ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, /**< Default @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE, /**< Done @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO, /**< Go @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, /**< Join @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, /**< Login @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, /**< Next @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, /**< Search or magnifier icon @since 1.2 */ + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND /**< Send @since 1.2 */ +} Ecore_IMF_Input_Panel_Return_Key_Type; + struct _Ecore_IMF_Event_Preedit_Start { Ecore_IMF_Context *ctx; @@ -314,9 +388,9 @@ union _Ecore_IMF_Event struct _Ecore_IMF_Preedit_Attr { - Ecore_IMF_Preedit_Type preedit_type; - unsigned int start_index; - unsigned int end_index; + Ecore_IMF_Preedit_Type preedit_type; /**< preedit style type */ + unsigned int start_index; /**< start index of the range (in bytes) */ + unsigned int end_index; /**< end index of the range (in bytes) */ }; struct _Ecore_IMF_Context_Class @@ -345,6 +419,11 @@ struct _Ecore_IMF_Context_Class void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); + void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len); + void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); + void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); + void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); + void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); }; struct _Ecore_IMF_Context_Info @@ -418,6 +497,14 @@ EAPI void ecore_imf_context_input_panel_language_set(Ec EAPI Ecore_IMF_Input_Panel_Lang ecore_imf_context_input_panel_language_get(Ecore_IMF_Context *ctx); EAPI void ecore_imf_context_input_panel_enabled_set(Ecore_IMF_Context *ctx, Eina_Bool enable); EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx); +EAPI void ecore_imf_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void *data, int len); +EAPI void ecore_imf_context_input_panel_imdata_get(Ecore_IMF_Context *ctx, void *data, int *len); +EAPI void ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); +EAPI Ecore_IMF_Input_Panel_Return_Key_Type ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx); +EAPI void ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, Eina_Bool disabled); +EAPI Eina_Bool ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx); +EAPI void ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bool mode); +EAPI Eina_Bool ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx); /* The following entry points must be exported by each input method module */ @@ -433,3 +520,7 @@ EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get(Eco #endif #endif + +/** + * @} + */ diff --git a/libraries/ecore/src/lib/ecore_imf/Makefile.in b/libraries/ecore/src/lib/ecore_imf/Makefile.in index 9f91360..4d71b5d 100644 --- a/libraries/ecore/src/lib/ecore_imf/Makefile.in +++ b/libraries/ecore/src/lib/ecore_imf/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c b/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c index b65ee26..423c461 100644 --- a/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c +++ b/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c @@ -143,6 +143,32 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type) * @return Return a #Ecore_IMF_Context_Info for the Input Method Context with @p id; * on failure it returns NULL. * @ingroup Ecore_IMF_Context_Group + * + * Example + * @code + * + * const char *ctx_id; + * const Ecore_IMF_Context_Info *ctx_info; + * Ecore_IMF_Context *imf_context; + * ctx_id = ecore_imf_context_default_id_get(); + * if (ctx_id) + * { + * ctx_info = ecore_imf_context_info_by_id_get(ctx_id); + * if (!ctx_info->canvas_type || + * strcmp(ctx_info->canvas_type, "evas") == 0) + * { + * imf_context = ecore_imf_context_add(ctx_id); + * } + * else + * { + * ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas"); + * if (ctx_id) + * { + * imf_context = ecore_imf_context_add(ctx_id); + * } + * } + * } + * @endcode */ EAPI const Ecore_IMF_Context_Info * ecore_imf_context_info_by_id_get(const char *id) @@ -188,6 +214,10 @@ ecore_imf_context_add(const char *id) * set on the immodule */ ecore_imf_context_input_panel_enabled_set(ctx, EINA_TRUE); + /* default input panel layout type is NORMAL type, so let's make sure it's + * set on the immodule */ + ecore_imf_context_input_panel_layout_set(ctx, ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL); + /* default input_mode is ECORE_IMF_INPUT_MODE_FULL, so let's make sure it's * set on the immodule */ ecore_imf_context_input_mode_set(ctx, ECORE_IMF_INPUT_MODE_FULL); @@ -403,7 +433,7 @@ ecore_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char **str, int *cu } /** - * Retrieve the current preedit string, atrributes and + * Retrieve the current preedit string, attributes and * cursor position for the Input Method Context. * * @param ctx An #Ecore_IMF_Context. @@ -413,6 +443,49 @@ ecore_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char **str, int *cu * @param cursor_pos Location to store position of cursor (in characters) * within the preedit string. * @ingroup Ecore_IMF_Context_Group + * + * Example + * @code + * char *preedit_string; + * int cursor_pos; + * Eina_List *attrs = NULL, *l = NULL; + * Ecore_IMF_Preedit_Attr *attr; + * + * ecore_imf_context_preedit_string_with_attributes_get(imf_context, + * &preedit_string, + * &attrs, &cursor_pos); + * if (!preedit_string) return; + * + * if (strlen(preedit_string) > 0) + * { + * if (attrs) + * { + * EINA_LIST_FOREACH(attrs, l, attr) + * { + * if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1) + * { + * // Something to do + * } + * else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2) + * { + * // Something to do + * } + * else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3) + * { + * // Something to do + * } + * } + * } + * } + * + * // delete attribute list + * if (attrs) + * { + * EINA_LIST_FREE(attrs, attr) free(attr); + * } + * + * free(preedit_string); + * @endcode * @since 1.1.0 */ EAPI void @@ -440,6 +513,18 @@ ecore_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, cha * * @param ctx An #Ecore_IMF_Context. * @ingroup Ecore_IMF_Context_Group + * + * Example + * @code + * static void + * _focus_in_cb(void *data, Evas_Object *o, const char *emission, const char *source) + * { + * ecore_imf_context_reset(imf_context); + * ecore_imf_context_focus_in(imf_context); + * } + * + * evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_IN, _focus_in_cb, ed); + * @endcode */ EAPI void ecore_imf_context_focus_in(Ecore_IMF_Context *ctx) @@ -459,6 +544,18 @@ ecore_imf_context_focus_in(Ecore_IMF_Context *ctx) * * @param ctx An #Ecore_IMF_Context. * @ingroup Ecore_IMF_Context_Group + * + * Example + * @code + * static void + * _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source) + * { + * ecore_imf_context_reset(imf_context); + * ecore_imf_context_focus_out(imf_context); + * } + * + * evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed); + * @endcode */ EAPI void ecore_imf_context_focus_out(Ecore_IMF_Context *ctx) @@ -479,6 +576,18 @@ ecore_imf_context_focus_out(Ecore_IMF_Context *ctx) * * @param ctx An #Ecore_IMF_Context. * @ingroup Ecore_IMF_Context_Group + * + * Example + * @code + * static void + * _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source) + * { + * ecore_imf_context_reset(imf_context); + * ecore_imf_context_focus_out(imf_context); + * } + * + * evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed); + * @endcode */ EAPI void ecore_imf_context_reset(Ecore_IMF_Context *ctx) @@ -515,10 +624,12 @@ ecore_imf_context_cursor_position_set(Ecore_IMF_Context *ctx, int cursor_pos) /** * Notify the Input Method Context that a change in the cursor * location has been made. The location is relative to the canvas. + * The cursor location can be used to determine the position of + * candidate word window in the immodule. * * @param ctx An #Ecore_IMF_Context. * @param x cursor x position. - * @param x cursor y position. + * @param y cursor y position. * @param w cursor width. * @param h cursor height. * @ingroup Ecore_IMF_Context_Group @@ -605,7 +716,7 @@ ecore_imf_context_prediction_allow_get(Ecore_IMF_Context *ctx) } /** - * Set the autocapitalization type on the immodule. + * Set the autocapitalization type on the immodule. * * @param ctx An #Ecore_IMF_Context. * @param autocapital_type the autocapitalization type. @@ -732,6 +843,28 @@ ecore_imf_context_input_mode_get(Ecore_IMF_Context *ctx) * @param event The event itself. * @return EINA_TRUE if the event was handled; otherwise EINA_FALSE. * @ingroup Ecore_IMF_Context_Group + * + * Example + * @code + * static void + * _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) + * { + * Evas_Event_Key_Down *ev = event_info; + * if (!ev->keyname) return; + * + * if (imf_context) + * { + * Ecore_IMF_Event_Key_Down ecore_ev; + * ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev); + * if (ecore_imf_context_filter_event(imf_context, + * ECORE_IMF_EVENT_KEY_DOWN, + * (Ecore_IMF_Event *)&ecore_ev)) + * return; + * } + * } + * + * evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data); + * @endcode */ EAPI Eina_Bool ecore_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) @@ -839,7 +972,7 @@ EAPI void *ecore_imf_context_data_get(Ecore_IMF_Context *ctx) * If the function returns EINA_TRUE, then you must free * the result stored in this location with free(). * @param cursor_pos Location to store the position in characters of - * the insertion cursor within @text. + * the insertion cursor within @p text. * @return EINA_TRUE if surrounding text was provided; otherwise EINA_FALSE. * @ingroup Ecore_IMF_Context_Module_Group */ @@ -877,6 +1010,8 @@ _ecore_imf_event_free_preedit(void *data __UNUSED__, void *event) * Adds ECORE_IMF_EVENT_PREEDIT_START to the event queue. * * ECORE_IMF_EVENT_PREEDIT_START should be added when a new preedit sequence starts. + * It's asynchronous method to put event to the event queue. + * ecore_imf_context_event_callback_call() can be used as synchronous method. * * @param ctx An #Ecore_IMF_Context. * @ingroup Ecore_IMF_Context_Module_Group @@ -903,6 +1038,8 @@ ecore_imf_context_preedit_start_event_add(Ecore_IMF_Context *ctx) * Adds ECORE_IMF_EVENT_PREEDIT_END to the event queue. * * ECORE_IMF_EVENT_PREEDIT_END should be added when a new preedit sequence has been completed or canceled. + * It's asynchronous method to put event to the event queue. + * ecore_imf_context_event_callback_call() can be used as synchronous method. * * @param ctx An #Ecore_IMF_Context. * @ingroup Ecore_IMF_Context_Module_Group @@ -928,6 +1065,9 @@ ecore_imf_context_preedit_end_event_add(Ecore_IMF_Context *ctx) /** * Adds ECORE_IMF_EVENT_PREEDIT_CHANGED to the event queue. * + * It's asynchronous method to put event to the event queue. + * ecore_imf_context_event_callback_call() can be used as synchronous method. + * * @param ctx An #Ecore_IMF_Context. * @ingroup Ecore_IMF_Context_Module_Group */ @@ -962,6 +1102,9 @@ _ecore_imf_event_free_commit(void *data __UNUSED__, void *event) /** * Adds ECORE_IMF_EVENT_COMMIT to the event queue. * + * It's asynchronous method to put event to the event queue. + * ecore_imf_context_event_callback_call() can be used as synchronous method. + * * @param ctx An #Ecore_IMF_Context. * @param str The committed string. * @ingroup Ecore_IMF_Context_Module_Group @@ -999,6 +1142,9 @@ _ecore_imf_event_free_delete_surrounding(void *data __UNUSED__, void *event) * by adding the ECORE_IMF_EVENT_DELETE_SURROUNDING to the event queue. * Note that offset and n_chars are in characters not in bytes. * + * It's asynchronous method to put ECORE_IMF_EVENT_DELETE_SURROUNDING event to the event queue. + * ecore_imf_context_event_callback_call() can be used as synchronous method. + * * @param ctx An #Ecore_IMF_Context. * @param offset The start offset of surrounding to be deleted. * @param n_chars The number of characters to be deleted. @@ -1041,8 +1187,20 @@ ecore_imf_context_delete_surrounding_event_add(Ecore_IMF_Context *ctx, int offse * @param func The (callback) function to be called when the event is * triggered * @param data The data pointer to be passed to @p func - * @ingroup Ecore_IMF_Context_Module_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.2.0 + * + * Example + * @code + * static void + * _imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info) + * { + * char *commit_str = event_info; + * // something to do + * } + * + * ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, data); + * @endcode */ EAPI void ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func, const void *data) @@ -1079,10 +1237,10 @@ ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_ * @see ecore_imf_context_event_callback_add() for more details * * @param ctx Ecore_IMF_Context to remove a callback from. - * @param type The type of event that was trigerring the callback + * @param type The type of event that was triggering the callback * @param func The (callback) function that was to be called when the event was triggered * @return the data pointer - * @ingroup Ecore_IMF_Context_Module_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.2.0 */ EAPI void * @@ -1096,7 +1254,7 @@ ecore_imf_context_event_callback_del(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_ { ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, "ecore_imf_context_event_callback_del"); - return; + return NULL; } if (!func) return NULL; @@ -1106,7 +1264,7 @@ ecore_imf_context_event_callback_del(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_ { if ((fn) && (fn->func == func) && (fn->type == type)) { - void *tmp = fn->data; + void *tmp = (void *)fn->data; free(fn); ctx->callbacks = eina_list_remove_list(ctx->callbacks, l); return tmp; @@ -1156,11 +1314,11 @@ ecore_imf_context_event_callback_call(Ecore_IMF_Context *ctx, Ecore_IMF_Callback * Ask the Input Method Context to show the control panel of using Input Method. * * @param ctx An #Ecore_IMF_Context. - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI void -ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx) +ecore_imf_context_control_panel_show(Ecore_IMF_Context *ctx) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1176,11 +1334,11 @@ ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx) * Ask the Input Method Context to hide the control panel of using Input Method. * * @param ctx An #Ecore_IMF_Context. - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI void -ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) +ecore_imf_context_control_panel_hide(Ecore_IMF_Context *ctx) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1196,7 +1354,7 @@ ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) * Ask the Input Method Context to show the input panel (virtual keyboard). * * @param ctx An #Ecore_IMF_Context. - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI void @@ -1216,7 +1374,7 @@ ecore_imf_context_input_panel_show(Ecore_IMF_Context *ctx) * Ask the Input Method Context to hide the input panel. * * @param ctx An #Ecore_IMF_Context. - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI void @@ -1236,12 +1394,12 @@ ecore_imf_context_input_panel_hide(Ecore_IMF_Context *ctx) * Set the layout of the input panel. * * @param ctx An #Ecore_IMF_Context. - * @param layout see #ECORE_IMF_INPUT_PANEL_LAYOUT - * @ingroup Ecore_IMF_Context_IMControl_Group + * @param layout see #Ecore_IMF_Input_Panel_Layout + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI void -ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout) +ecore_imf_context_input_panel_layout_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1261,11 +1419,11 @@ ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Inpu * * @param ctx An #Ecore_IMF_Context. * @return layout see #Ecore_IMF_Input_Panel_Layout - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI Ecore_IMF_Input_Panel_Layout -ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) +ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1275,9 +1433,7 @@ ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) } if (ctx->klass->input_panel_layout_get) - { - return ctx->input_panel_layout; - } + return ctx->input_panel_layout; else return ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID; } @@ -1288,11 +1444,11 @@ ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) * * @param ctx An #Ecore_IMF_Context. * @param lang the language to be set to the input panel. - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI void -ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang) +ecore_imf_context_input_panel_language_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1312,11 +1468,11 @@ ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_In * * @param ctx An #Ecore_IMF_Context. * @return Ecore_IMF_Input_Panel_Lang - * @ingroup Ecore_IMF_Context_IMControl_Group + * @ingroup Ecore_IMF_Context_Group * @since 1.1.0 */ EAPI Ecore_IMF_Input_Panel_Lang -ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) +ecore_imf_context_input_panel_language_get(Ecore_IMF_Context *ctx) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1338,7 +1494,7 @@ ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) * @since 1.1.0 */ EAPI void -ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, +ecore_imf_context_input_panel_enabled_set(Ecore_IMF_Context *ctx, Eina_Bool enabled) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) @@ -1360,7 +1516,7 @@ ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, * @since 1.1.0 */ EAPI Eina_Bool -ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx) +ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx) { if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) { @@ -1372,3 +1528,191 @@ ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx) return ctx->input_panel_enabled; } +/** + * Set the input panel-specific data to deliver to the input panel. + * This API is used by applications to deliver specific data to the input panel. + * The data format MUST be negotiated by both application and the input panel. + * The size and format of data are defined by the input panel. + * + * @param ctx An #Ecore_IMF_Context. + * @param data The specific data to be set to the input panel. + * @param len the length of data, in bytes, to send to the input panel + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI void +ecore_imf_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void *data, int len) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_imdata_set"); + return; + } + + if (!data) return; + + if (ctx->klass->input_panel_imdata_set) + ctx->klass->input_panel_imdata_set(ctx, data, len); +} + +/** + * Get the specific data of the current active input panel. + * + * @param ctx An #Ecore_IMF_Context. + * @param data The specific data to be got from the input panel + * @param len The length of data + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI void +ecore_imf_context_input_panel_imdata_get(Ecore_IMF_Context *ctx, void *data, int *len) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_imdata_get"); + return; + } + + if (!data) return; + + if (ctx->klass->input_panel_imdata_get) + ctx->klass->input_panel_imdata_get(ctx, data, len); +} + +/** + * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel. + * + * An input panel displays the string or icon associated with this type + * + * @param ctx An #Ecore_IMF_Context. + * @param return_key_type The type of "return" key on the input panel + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI void +ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_return_key_type_set"); + return; + } + + ctx->input_panel_return_key_type = return_key_type; + if (ctx->klass->input_panel_return_key_type_set) ctx->klass->input_panel_return_key_type_set(ctx, return_key_type); +} + +/** + * Get the "return" key type. + * + * @see ecore_imf_context_input_panel_return_key_type_set() for more details + * + * @param ctx An #Ecore_IMF_Context. + * @return The type of "return" key on the input panel + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI Ecore_IMF_Input_Panel_Return_Key_Type +ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_return_key_type_get"); + return EINA_FALSE; + } + + return ctx->input_panel_return_key_type; +} + +/** + * Set the return key on the input panel to be disabled. + * + * @param ctx An #Ecore_IMF_Context. + * @param disabled The state + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI void +ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, Eina_Bool disabled) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_return_key_disabled_set"); + return; + } + + ctx->input_panel_return_key_disabled = disabled; + if (ctx->klass->input_panel_return_key_disabled_set) ctx->klass->input_panel_return_key_disabled_set(ctx, disabled); +} + +/** + * Get whether the return key on the input panel should be disabled or not. + * + * @param ctx An #Ecore_IMF_Context. + * @return EINA_TRUE if it should be disabled + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI Eina_Bool +ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_return_key_disabled_get"); + return EINA_FALSE; + } + + return ctx->input_panel_return_key_disabled; +} + +/** + * Set the caps lock mode on the input panel. + * + * @param ctx An #Ecore_IMF_Context. + * @param mode Turn on caps lock on the input panel if EINA_TRUE + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI void +ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bool mode) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_caps_lock_mode_set"); + return; + } + + if (ctx->klass->input_panel_caps_lock_mode_set) + ctx->klass->input_panel_caps_lock_mode_set(ctx, mode); + + ctx->input_panel_caps_lock_mode = mode; +} + +/** + * Get the caps lock mode on the input panel. + * + * @param ctx An #Ecore_IMF_Context. + * @return EINA_TRUE if the caps lock is turned on. + * @ingroup Ecore_IMF_Context_Group + * @since 1.2.0 + */ +EAPI Eina_Bool +ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx) +{ + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) + { + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, + "ecore_imf_context_input_panel_caps_lock_mode_get"); + return EINA_FALSE; + } + + return ctx->input_panel_caps_lock_mode; +} + diff --git a/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h b/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h index d9dae80..b4ff0f2 100644 --- a/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h +++ b/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h @@ -52,8 +52,11 @@ struct _Ecore_IMF_Context Ecore_IMF_Autocapital_Type autocapital_type; Ecore_IMF_Input_Panel_Layout input_panel_layout; Ecore_IMF_Input_Panel_Lang input_panel_lang; + Ecore_IMF_Input_Panel_Return_Key_Type input_panel_return_key_type; Eina_Bool allow_prediction : 1; Eina_Bool input_panel_enabled : 1; + Eina_Bool input_panel_return_key_disabled : 1; + Eina_Bool input_panel_caps_lock_mode : 1; }; struct _Ecore_IMF_Module diff --git a/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in b/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in index ab6503b..1542919 100644 --- a/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in +++ b/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -192,6 +191,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -247,6 +248,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -257,6 +260,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c b/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c index 86badf5..62ba4c8 100644 --- a/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c +++ b/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c @@ -221,6 +221,28 @@ ecore_imf_evas_event_mouse_wheel_wrap(Evas_Event_Mouse_Wheel *evas_event, * @param evas_event The received Evas event. * @param imf_event The location to store the converted Ecore_IMF event. * @ingroup Ecore_IMF_Evas_Group + * + * Example + * @code + * static void + * _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) + * { + * Evas_Event_Key_Down *ev = event_info; + * if (!ev->keyname) return; + * + * if (imf_context) + * { + * Ecore_IMF_Event_Key_Down ecore_ev; + * ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev); + * if (ecore_imf_context_filter_event(imf_context, + * ECORE_IMF_EVENT_KEY_DOWN, + * (Ecore_IMF_Event *)&ecore_ev)) + * return; + * } + * } + * + * evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data); + * @endcode */ EAPI void ecore_imf_evas_event_key_down_wrap(Evas_Event_Key_Down *evas_event, @@ -244,6 +266,28 @@ ecore_imf_evas_event_key_down_wrap(Evas_Event_Key_Down *evas_event, * @param evas_event The received Evas event. * @param imf_event The location to store the converted Ecore_IMF event. * @ingroup Ecore_IMF_Evas_Group + * + * Example + * @code + * static void + * _key_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) + * { + * Evas_Event_Key_Up *ev = event_info; + * if (!ev->keyname) return; + * + * if (imf_context) + * { + * Ecore_IMF_Event_Key_Up ecore_ev; + * ecore_imf_evas_event_key_up_wrap(ev, &ecore_ev); + * if (ecore_imf_context_filter_event(imf_context, + * ECORE_IMF_EVENT_KEY_UP, + * (Ecore_IMF_Event *)&ecore_ev)) + * return; + * } + * } + * + * evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_UP, _key_up_cb, data); + * @endcode */ EAPI void ecore_imf_evas_event_key_up_wrap(Evas_Event_Key_Up *evas_event, diff --git a/libraries/ecore/src/lib/ecore_input/Makefile.in b/libraries/ecore/src/lib/ecore_input/Makefile.in index f9fc99a..a3eeb2e 100644 --- a/libraries/ecore/src/lib/ecore_input/Makefile.in +++ b/libraries/ecore/src/lib/ecore_input/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -192,6 +191,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -247,6 +248,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -257,6 +260,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_input_evas/Makefile.in b/libraries/ecore/src/lib/ecore_input_evas/Makefile.in index d0ac95e..d3937d9 100644 --- a/libraries/ecore/src/lib/ecore_input_evas/Makefile.in +++ b/libraries/ecore/src/lib/ecore_input_evas/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_ipc/Makefile.in b/libraries/ecore/src/lib/ecore_ipc/Makefile.in index ac2cf6f..e339ffc 100644 --- a/libraries/ecore/src/lib/ecore_ipc/Makefile.in +++ b/libraries/ecore/src/lib/ecore_ipc/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c b/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c index e27134d..0210f1d 100644 --- a/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c +++ b/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c @@ -316,7 +316,10 @@ ecore_ipc_shutdown(void) if (--_ecore_ipc_init_count != 0) return _ecore_ipc_init_count; - while (servers) ecore_ipc_server_del(eina_list_data_get(servers)); + Eina_List *l, *l2; + Ecore_Ipc_Server *svr; + EINA_LIST_FOREACH_SAFE(servers, l, l2, svr) + ecore_ipc_server_del(svr); for (i = 0; i < 6; i++) ecore_event_handler_del(handler[i]); diff --git a/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in b/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in index 487231b..54a0435 100644 --- a/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in +++ b/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -194,6 +193,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -249,6 +250,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -259,6 +262,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_sdl/Makefile.in b/libraries/ecore/src/lib/ecore_sdl/Makefile.in index c0312b0..50003ab 100644 --- a/libraries/ecore/src/lib/ecore_sdl/Makefile.in +++ b/libraries/ecore/src/lib/ecore_sdl/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h b/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h index fdf6314..7dab37c 100644 --- a/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h @@ -1,8 +1,13 @@ #ifndef _ECORE_WAYLAND_H_ # define _ECORE_WAYLAND_H_ +# define GL_GLEXT_PROTOTYPES + # include # include +# include // NB: already includes wayland-client.h +# include +# include # ifdef EAPI # undef EAPI @@ -18,71 +23,233 @@ # define EAPI # endif +typedef enum _Ecore_Wl_Window_Type Ecore_Wl_Window_Type; +typedef enum _Ecore_Wl_Window_Buffer_Type Ecore_Wl_Window_Buffer_Type; + +typedef struct _Ecore_Wl_Display Ecore_Wl_Display; +typedef struct _Ecore_Wl_Output Ecore_Wl_Output; +typedef struct _Ecore_Wl_Input Ecore_Wl_Input; +# ifndef _ECORE_WAYLAND_WINDOW_PREDEF +typedef struct _Ecore_Wl_Window Ecore_Wl_Window; +# endif +typedef struct _Ecore_Wl_Dnd_Source Ecore_Wl_Dnd_Source; +typedef struct _Ecore_Wl_Dnd_Target Ecore_Wl_Dnd_Target; + typedef struct _Ecore_Wl_Event_Mouse_In Ecore_Wl_Event_Mouse_In; typedef struct _Ecore_Wl_Event_Mouse_Out Ecore_Wl_Event_Mouse_Out; typedef struct _Ecore_Wl_Event_Focus_In Ecore_Wl_Event_Focus_In; typedef struct _Ecore_Wl_Event_Focus_Out Ecore_Wl_Event_Focus_Out; +typedef struct _Ecore_Wl_Event_Window_Configure Ecore_Wl_Event_Window_Configure; +typedef struct _Ecore_Wl_Event_Dnd_Enter Ecore_Wl_Event_Dnd_Enter; +typedef struct _Ecore_Wl_Event_Dnd_Position Ecore_Wl_Event_Dnd_Position; +typedef struct _Ecore_Wl_Event_Dnd_Leave Ecore_Wl_Event_Dnd_Leave; +typedef struct _Ecore_Wl_Event_Dnd_Drop Ecore_Wl_Event_Dnd_Drop; +typedef struct _Ecore_Wl_Event_Interfaces_Bound Ecore_Wl_Event_Interfaces_Bound; -typedef struct _Ecore_Wl_Drag_Source Ecore_Wl_Drag_Source; +enum _Ecore_Wl_Window_Type +{ + ECORE_WL_WINDOW_TYPE_TOPLEVEL, + ECORE_WL_WINDOW_TYPE_FULLSCREEN, + ECORE_WL_WINDOW_TYPE_MAXIMIZED, + ECORE_WL_WINDOW_TYPE_TRANSIENT, + ECORE_WL_WINDOW_TYPE_MENU, + ECORE_WL_WINDOW_TYPE_CUSTOM +}; -typedef struct _Ecore_Wl_Event_Drag_Start Ecore_Wl_Event_Drag_Start; -typedef struct _Ecore_Wl_Event_Drag_Stop Ecore_Wl_Event_Drag_Stop; +enum _Ecore_Wl_Window_Buffer_Type +{ + ECORE_WL_WINDOW_BUFFER_TYPE_EGL_WINDOW, + ECORE_WL_WINDOW_BUFFER_TYPE_EGL_IMAGE, + ECORE_WL_WINDOW_BUFFER_TYPE_SHM +}; -struct _Ecore_Wl_Event_Mouse_In +struct _Ecore_Wl_Display { - int modifiers; - int x, y; + struct + { + struct wl_display *display; + struct wl_compositor *compositor; + struct wl_shell *shell; + struct wl_shm *shm; + struct wl_data_device_manager *data_device_manager; + } wl; struct { - int x, y; - } root; + EGLDisplay display; + EGLConfig rgb_config; + EGLConfig argb_config; + EGLContext rgb_context; + EGLContext argb_context; + } egl; + + int fd; + unsigned int mask; + Ecore_Fd_Handler *fd_hdl; + + struct wl_list inputs; + struct wl_list outputs; + + struct xkb_desc *xkb; + + Ecore_Wl_Output *output; + + PFNEGLCREATEIMAGEKHRPROC create_image; + PFNEGLDESTROYIMAGEKHRPROC destroy_image; + + void (*output_configure)(Ecore_Wl_Output *output, void *data); + void *data; +}; + +struct _Ecore_Wl_Output +{ + Ecore_Wl_Display *display; + struct wl_output *output; + Eina_Rectangle allocation; + struct wl_list link; + + void (*destroy) (Ecore_Wl_Output *output, void *data); + void *data; +}; + +struct _Ecore_Wl_Input +{ + Ecore_Wl_Display *display; + struct wl_input_device *input_device; + struct wl_data_device *data_device; + + Ecore_Wl_Window *pointer_focus; + Ecore_Wl_Window *keyboard_focus; + + unsigned int button; + unsigned int timestamp; + unsigned int modifiers; + int sx, sy; + + struct wl_list link; + + /* TODO: grab */ + unsigned int grab_button; + + Ecore_Wl_Dnd_Source *drag_source; + Ecore_Wl_Dnd_Source *selection_source; +}; - unsigned int window; +struct _Ecore_Wl_Window +{ + Ecore_Wl_Display *display; + Ecore_Wl_Window *parent; + + struct wl_surface *surface; + struct wl_shell_surface *shell_surface; + + int id; + int x, y; + int edges; + + Eina_Rectangle allocation, pending_allocation; + Eina_Rectangle saved_allocation, server_allocation; - unsigned int time; + /* Eina_Bool redraw_scheduled : 1; */ + /* Eina_Bool resize_scheduled : 1; */ + Eina_Bool transparent : 1; + + Ecore_Wl_Window_Type type; + Ecore_Wl_Window_Buffer_Type buffer_type; + + Ecore_Wl_Input *pointer_device; + Ecore_Wl_Input *keyboard_device; + + void *data; }; -struct _Ecore_Wl_Event_Mouse_Out +struct _Ecore_Wl_Event_Mouse_In { int modifiers; int x, y; + struct + { + int x, y; + } root; + unsigned int win; + unsigned int event_win; + unsigned int root_win; + unsigned int timestamp; +}; +struct _Ecore_Wl_Event_Mouse_Out +{ + int modifiers; + int x, y; struct { int x, y; } root; + unsigned int win; + unsigned int event_win; + unsigned int root_win; + unsigned int timestamp; +}; - unsigned int window; +struct _Ecore_Wl_Event_Focus_In +{ + unsigned int win; + unsigned int timestamp; +}; - unsigned int time; +struct _Ecore_Wl_Event_Focus_Out +{ + unsigned int win; + unsigned int timestamp; }; -struct _Ecore_Wl_Event_Focus_In +struct _Ecore_Wl_Event_Window_Configure { - unsigned int window; - /* TODO: mode & detail */ - unsigned int time; + unsigned int win; + unsigned int event_win; + int x, y, w, h; + unsigned int timestamp; }; -struct _Ecore_Wl_Event_Focus_Out +struct _Ecore_Wl_Event_Dnd_Enter { - unsigned int window; - /* TODO: mode & detail */ - unsigned int time; + unsigned int win, source; + char **types; + int num_types; + struct + { + int x, y; + } position; }; -struct _Ecore_Wl_Event_Drag_Start +struct _Ecore_Wl_Event_Dnd_Position { - struct wl_data_device *device; - struct wl_surface *surface; - const char *mime_type; - uint32_t timestamp; + unsigned int win, source; + struct + { + int x, y; + } position; }; -struct _Ecore_Wl_Event_Drag_Stop +struct _Ecore_Wl_Event_Dnd_Leave { + unsigned int win, source; +}; +struct _Ecore_Wl_Event_Dnd_Drop +{ + unsigned int win, source; + struct + { + int x, y; + } position; +}; + +struct _Ecore_Wl_Event_Interfaces_Bound +{ + Eina_Bool compositor : 1; + Eina_Bool shm : 1; + Eina_Bool shell : 1; }; /** @@ -92,32 +259,46 @@ struct _Ecore_Wl_Event_Drag_Stop * Ecore_Wl provides a wrapper and convenience functions for using the * Wayland window system. Function groups for this part of the library * include the following: + * * @li @ref Ecore_Wl_Init_Group + * @li @ref Ecore_Wl_Display_Group + * @li @ref Ecore_Wl_Flush_Group + * @li @ref Ecore_Wl_Window_Group */ +EAPI extern int ECORE_WL_EVENT_MOUSE_IN; +EAPI extern int ECORE_WL_EVENT_MOUSE_OUT; +EAPI extern int ECORE_WL_EVENT_FOCUS_IN; +EAPI extern int ECORE_WL_EVENT_FOCUS_OUT; +EAPI extern int ECORE_WL_EVENT_WINDOW_CONFIGURE; +EAPI extern int ECORE_WL_EVENT_DND_ENTER; +EAPI extern int ECORE_WL_EVENT_DND_POSITION; +EAPI extern int ECORE_WL_EVENT_DND_LEAVE; +EAPI extern int ECORE_WL_EVENT_DND_DROP; +EAPI extern int ECORE_WL_EVENT_INTERFACES_BOUND; + EAPI int ecore_wl_init(const char *name); EAPI int ecore_wl_shutdown(void); - -EAPI struct wl_display *ecore_wl_display_get(void); -EAPI struct wl_shm *ecore_wl_shm_get(void); -EAPI struct wl_compositor *ecore_wl_compositor_get(void); -EAPI struct wl_shell *ecore_wl_shell_get(void); -EAPI struct wl_input_device *ecore_wl_input_device_get(void); -EAPI void ecore_wl_screen_size_get(int *w, int *h); -EAPI unsigned int ecore_wl_format_get(void); EAPI void ecore_wl_flush(void); EAPI void ecore_wl_sync(void); +EAPI struct wl_shm *ecore_wl_shm_get(void); +EAPI struct wl_display *ecore_wl_display_get(void); +EAPI void ecore_wl_screen_size_get(int *w, int *h); EAPI void ecore_wl_pointer_xy_get(int *x, int *y); -EAPI Ecore_Wl_Drag_Source *ecore_wl_drag_source_create(int hotspot_x, int hotspot_y, int offset_x, int offset_y, const char *mimetype, unsigned int timestamp, void *data); -EAPI void ecore_wl_drag_start(Ecore_Wl_Drag_Source *source, struct wl_surface *surface, struct wl_buffer *buffer); -EAPI void ecore_wl_drag_stop(void); - -EAPI extern int ECORE_WL_EVENT_MOUSE_IN; -EAPI extern int ECORE_WL_EVENT_MOUSE_OUT; -EAPI extern int ECORE_WL_EVENT_FOCUS_IN; -EAPI extern int ECORE_WL_EVENT_FOCUS_OUT; -EAPI extern int ECORE_WL_EVENT_DRAG_START; -EAPI extern int ECORE_WL_EVENT_DRAG_STOP; +EAPI Ecore_Wl_Window *ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, int w, int h, int buffer_type); +EAPI void ecore_wl_window_free(Ecore_Wl_Window *win); +EAPI void ecore_wl_window_move(Ecore_Wl_Window *win, int x, int y); +EAPI void ecore_wl_window_resize(Ecore_Wl_Window *win, int w, int h, int location); +EAPI void ecore_wl_window_damage(Ecore_Wl_Window *win, int x, int y, int w, int h); +EAPI void ecore_wl_window_buffer_attach(Ecore_Wl_Window *win, struct wl_buffer *buffer, int x, int y); +EAPI void ecore_wl_window_show(Ecore_Wl_Window *win); +EAPI void ecore_wl_window_hide(Ecore_Wl_Window *win); +EAPI void ecore_wl_window_raise(Ecore_Wl_Window *win); +EAPI void ecore_wl_window_maximized_set(Ecore_Wl_Window *win, Eina_Bool maximized); +EAPI void ecore_wl_window_fullscreen_set(Ecore_Wl_Window *win, Eina_Bool fullscreen); +EAPI void ecore_wl_window_update_size(Ecore_Wl_Window *win, int w, int h); +EAPI struct wl_surface *ecore_wl_window_surface_get(Ecore_Wl_Window *win); +EAPI Ecore_Wl_Window *ecore_wl_window_find(unsigned int id); #endif diff --git a/libraries/ecore/src/lib/ecore_wayland/Makefile.am b/libraries/ecore/src/lib/ecore_wayland/Makefile.am index ea005b2..f6b801d 100644 --- a/libraries/ecore/src/lib/ecore_wayland/Makefile.am +++ b/libraries/ecore/src/lib/ecore_wayland/Makefile.am @@ -14,9 +14,11 @@ includes_HEADERS = Ecore_Wayland.h includesdir = $(includedir)/ecore-@VMAJ@ libecore_wayland_la_SOURCES = \ -ecore_wl.c - -## ecore_wl_window.c +ecore_wl.c \ +ecore_wl_output.c \ +ecore_wl_input.c \ +ecore_wl_window.c \ +ecore_wl_dnd.c libecore_wayland_la_LIBADD = \ $(top_builddir)/src/lib/ecore/libecore.la \ diff --git a/libraries/ecore/src/lib/ecore_wayland/Makefile.in b/libraries/ecore/src/lib/ecore_wayland/Makefile.in index 411da19..39c633d 100644 --- a/libraries/ecore/src/lib/ecore_wayland/Makefile.in +++ b/libraries/ecore/src/lib/ecore_wayland/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -86,7 +85,8 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)" LTLIBRARIES = $(lib_LTLIBRARIES) -am_libecore_wayland_la_OBJECTS = ecore_wl.lo +am_libecore_wayland_la_OBJECTS = ecore_wl.lo ecore_wl_output.lo \ + ecore_wl_input.lo ecore_wl_window.lo ecore_wl_dnd.lo libecore_wayland_la_OBJECTS = $(am_libecore_wayland_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) @@ -190,6 +190,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -245,6 +247,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -255,6 +259,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ @@ -482,7 +487,11 @@ lib_LTLIBRARIES = libecore_wayland.la includes_HEADERS = Ecore_Wayland.h includesdir = $(includedir)/ecore-@VMAJ@ libecore_wayland_la_SOURCES = \ -ecore_wl.c +ecore_wl.c \ +ecore_wl_output.c \ +ecore_wl_input.c \ +ecore_wl_window.c \ +ecore_wl_dnd.c libecore_wayland_la_LIBADD = \ $(top_builddir)/src/lib/ecore/libecore.la \ @@ -569,6 +578,10 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_dnd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_input.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_output.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_window.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c b/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c index f62503b..5f1b20d 100644 --- a/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c +++ b/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c @@ -1,16 +1,11 @@ #ifdef HAVE_CONFIG_H -# include "config.h" +# include #endif -#include "Ecore.h" -#include "ecore_private.h" -#include "Ecore_Input.h" -#include "ecore_wl_private.h" -#include "Ecore_Wayland.h" +#include /* FIXME: This gives BTN_LEFT/RIGHT/MIDDLE for linux systems ... * What about other OSs ?? */ -#include #ifdef __linux__ # include #else @@ -23,150 +18,86 @@ # define BTN_BACK 0x116 #endif -#include +#include "Ecore.h" +#include "ecore_private.h" +#include "Ecore_Input.h" +#include "ecore_wl_private.h" +#include "Ecore_Wayland.h" /* local function prototypes */ -static Eina_Bool _ecore_wl_shutdown(Eina_Bool close_display); -static void _ecore_wl_cb_disp_handle_global(struct wl_display *disp, uint32_t id, const char *interface, uint32_t version __UNUSED__, void *data __UNUSED__); -static int _ecore_wl_cb_disp_event_mask_update(uint32_t mask, void *data __UNUSED__); -static void _ecore_wl_cb_disp_handle_geometry(void *data __UNUSED__, struct wl_output *output __UNUSED__, int x, int y, int pw __UNUSED__, int ph __UNUSED__, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__); -static void _ecore_wl_cb_disp_handle_mode(void *data __UNUSED__, struct wl_output *output __UNUSED__, uint32_t flags, int w, int h, int refresh __UNUSED__); -static Eina_Bool _ecore_wl_cb_fd_handle(void *data, Ecore_Fd_Handler *hdl __UNUSED__); -static void _ecore_wl_cb_handle_motion(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, int32_t x, int32_t y, int32_t sx, int32_t sy); -static void _ecore_wl_cb_handle_button(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, uint32_t btn, uint32_t state); -static void _ecore_wl_cb_handle_key(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t __UNUSED__, uint32_t key, uint32_t state); -static void _ecore_wl_cb_handle_pointer_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, struct wl_surface *surface, int32_t x, int32_t y, int32_t sx, int32_t sy); -static void _ecore_wl_cb_handle_keyboard_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t __UNUSED__, struct wl_surface *surface, struct wl_array *keys); -static void _ecore_wl_cb_handle_touch_down(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, struct wl_surface *surface, int32_t id, int32_t x, int32_t y); -static void _ecore_wl_cb_handle_touch_up(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id); -static void _ecore_wl_cb_handle_touch_motion(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id, int32_t x, int32_t y); -static void _ecore_wl_cb_handle_touch_frame(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__); -static void _ecore_wl_cb_handle_touch_cancel(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__); -static void _ecore_wl_cb_source_target(void *data, struct wl_data_source *source __UNUSED__, const char *mime_type __UNUSED__); -static void _ecore_wl_cb_source_send(void *data, struct wl_data_source *source, const char *mime_type, int32_t fd); -static void _ecore_wl_cb_source_cancelled(void *data, struct wl_data_source *source __UNUSED__); -static void _ecore_wl_cb_source_offer(void *data, struct wl_data_offer *offer __UNUSED__, const char *type); -static void _ecore_wl_cb_data_offer(void *data, struct wl_data_device *data_dev, uint32_t id); -static void _ecore_wl_cb_data_enter(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, struct wl_surface *surface, int32_t x, int32_t y, struct wl_data_offer *offer); -static void _ecore_wl_cb_data_leave(void *data __UNUSED__, struct wl_data_device *data_dev); -static void _ecore_wl_cb_data_motion(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, int32_t x, int32_t y); -static void _ecore_wl_cb_data_drop(void *data __UNUSED__, struct wl_data_device *data_dev); -static void _ecore_wl_cb_data_selection(void *data, struct wl_data_device *data_dev, struct wl_data_offer *offer); - -static void _ecore_wl_mouse_move_send(uint32_t timestamp); -static void _ecore_wl_mouse_out_send(struct wl_surface *surface, uint32_t timestamp); -static void _ecore_wl_mouse_in_send(struct wl_surface *surface, uint32_t timestamp); -static void _ecore_wl_mouse_up_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp); -static void _ecore_wl_mouse_down_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp); -static void _ecore_wl_focus_out_send(struct wl_surface *surface, uint32_t timestamp); -static void _ecore_wl_focus_in_send(struct wl_surface *surface, uint32_t timestamp); +static Eina_Bool _ecore_wl_shutdown(Eina_Bool close); +static int _ecore_wl_cb_event_mask_update(unsigned int mask, void *data); +static Eina_Bool _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl __UNUSED__); +static void _ecore_wl_cb_handle_global(struct wl_display *disp, unsigned int id, const char *interface, unsigned int version __UNUSED__, void *data); +static Eina_Bool _ecore_wl_egl_init(Ecore_Wl_Display *ewd); +static Eina_Bool _ecore_wl_egl_shutdown(Ecore_Wl_Display *ewd); +static Eina_Bool _ecore_wl_xkb_init(Ecore_Wl_Display *ewd); +static Eina_Bool _ecore_wl_xkb_shutdown(Ecore_Wl_Display *ewd); /* local variables */ static int _ecore_wl_init_count = 0; -static struct wl_display *_ecore_wl_disp = NULL; -static uint32_t _ecore_wl_disp_mask = 0; -static uint32_t _ecore_wl_disp_format = WL_SHM_FORMAT_ARGB8888; -static Eina_Rectangle _ecore_wl_screen; -static Ecore_Fd_Handler *_ecore_wl_fd_hdl = NULL; -static int _ecore_wl_screen_x = 0; -static int _ecore_wl_screen_y = 0; -static int _ecore_wl_surface_x = 0; -static int _ecore_wl_surface_y = 0; -static int _ecore_wl_touch_x = 0; -static int _ecore_wl_touch_y = 0; -static int _ecore_wl_input_modifiers = 0; -static struct xkb_desc *_ecore_wl_xkb; -static uint32_t _ecore_wl_input_button = 0; - -static struct wl_compositor *_ecore_wl_comp; -static struct wl_shm *_ecore_wl_shm; -static struct wl_shell *_ecore_wl_shell; -static struct wl_output *_ecore_wl_output; -static struct wl_input_device *_ecore_wl_input_dev; -static struct wl_surface *_ecore_wl_input_surface; -static struct wl_surface *_ecore_wl_touch_surface; -static struct wl_data_device_manager *_ecore_wl_data_manager; -static struct wl_data_device *_ecore_wl_data_dev; - -static const struct wl_output_listener _ecore_wl_output_listener = -{ - _ecore_wl_cb_disp_handle_geometry, - _ecore_wl_cb_disp_handle_mode -}; -static const struct wl_input_device_listener _ecore_wl_input_listener = -{ - _ecore_wl_cb_handle_motion, - _ecore_wl_cb_handle_button, - _ecore_wl_cb_handle_key, - _ecore_wl_cb_handle_pointer_focus, - _ecore_wl_cb_handle_keyboard_focus, - _ecore_wl_cb_handle_touch_down, - _ecore_wl_cb_handle_touch_up, - _ecore_wl_cb_handle_touch_motion, - _ecore_wl_cb_handle_touch_frame, - _ecore_wl_cb_handle_touch_cancel, -}; -static const struct wl_data_source_listener _ecore_wl_source_listener = -{ - _ecore_wl_cb_source_target, - _ecore_wl_cb_source_send, - _ecore_wl_cb_source_cancelled -}; -static const struct wl_data_device_listener _ecore_wl_data_listener = -{ - _ecore_wl_cb_data_offer, - _ecore_wl_cb_data_enter, - _ecore_wl_cb_data_leave, - _ecore_wl_cb_data_motion, - _ecore_wl_cb_data_drop, - _ecore_wl_cb_data_selection -}; -static const struct wl_data_offer_listener _ecore_wl_offer_listener = -{ - _ecore_wl_cb_source_offer, -}; /* external variables */ int _ecore_wl_log_dom = -1; +Ecore_Wl_Display *_ecore_wl_disp = NULL; + EAPI int ECORE_WL_EVENT_MOUSE_IN = 0; EAPI int ECORE_WL_EVENT_MOUSE_OUT = 0; EAPI int ECORE_WL_EVENT_FOCUS_IN = 0; EAPI int ECORE_WL_EVENT_FOCUS_OUT = 0; -EAPI int ECORE_WL_EVENT_DRAG_START = 0; -EAPI int ECORE_WL_EVENT_DRAG_STOP = 0; - +EAPI int ECORE_WL_EVENT_WINDOW_CONFIGURE = 0; +EAPI int ECORE_WL_EVENT_DND_ENTER = 0; +EAPI int ECORE_WL_EVENT_DND_POSITION = 0; +EAPI int ECORE_WL_EVENT_DND_LEAVE = 0; +EAPI int ECORE_WL_EVENT_DND_DROP = 0; +EAPI int ECORE_WL_EVENT_INTERFACES_BOUND = 0; + +/** + * @defgroup Ecore_Wl_Init_Group Wayland Library Init and Shutdown Functions + * + * Functions that start and shutdown the Ecore Wayland Library. + */ + +/** + * Initialize the Wayland display connection to the given display. + * + * @param name Display target name. if @c NULL, the default display is + * assumed. + * @return The number of times the library has been initialized without being + * shut down. 0 is returned if an error occurs. + * + * @ingroup Ecore_Wl_Init_Group + */ EAPI int -ecore_wl_init(const char *name) +ecore_wl_init(const char *name) { - struct xkb_rule_names xkb_names; - int fd = 0; - - if (++_ecore_wl_init_count != 1) - return _ecore_wl_init_count; - LOGFN(__FILE__, __LINE__, __FUNCTION__); + if (++_ecore_wl_init_count != 1) return _ecore_wl_init_count; + if (!eina_init()) return --_ecore_wl_init_count; _ecore_wl_log_dom = eina_log_domain_register("ecore_wl", ECORE_WL_DEFAULT_LOG_COLOR); - if (_ecore_wl_log_dom < 0) + if (_ecore_wl_log_dom < 0) { - EINA_LOG_ERR("Cannot create a log domain for Ecore Wayland."); + EINA_LOG_ERR("Cannot create a log domain for Ecore Wayland"); eina_shutdown(); return --_ecore_wl_init_count; } - if (!ecore_init()) + if (!ecore_init()) { + ERR("Could not initialize ecore"); eina_log_domain_unregister(_ecore_wl_log_dom); _ecore_wl_log_dom = -1; eina_shutdown(); return --_ecore_wl_init_count; } - if (!ecore_event_init()) + if (!ecore_event_init()) { + ERR("Could not initialize ecore_event"); eina_log_domain_unregister(_ecore_wl_log_dom); _ecore_wl_log_dom = -1; ecore_shutdown(); @@ -174,26 +105,23 @@ ecore_wl_init(const char *name) return --_ecore_wl_init_count; } - if (!ECORE_WL_EVENT_MOUSE_IN) + if (!ECORE_WL_EVENT_MOUSE_IN) { ECORE_WL_EVENT_MOUSE_IN = ecore_event_type_new(); ECORE_WL_EVENT_MOUSE_OUT = ecore_event_type_new(); ECORE_WL_EVENT_FOCUS_IN = ecore_event_type_new(); ECORE_WL_EVENT_FOCUS_OUT = ecore_event_type_new(); - ECORE_WL_EVENT_DRAG_START = ecore_event_type_new(); - ECORE_WL_EVENT_DRAG_STOP = ecore_event_type_new(); + ECORE_WL_EVENT_WINDOW_CONFIGURE = ecore_event_type_new(); + ECORE_WL_EVENT_DND_ENTER = ecore_event_type_new(); + ECORE_WL_EVENT_DND_POSITION = ecore_event_type_new(); + ECORE_WL_EVENT_DND_LEAVE = ecore_event_type_new(); + ECORE_WL_EVENT_DND_DROP = ecore_event_type_new(); + ECORE_WL_EVENT_INTERFACES_BOUND = ecore_event_type_new(); } - /* init xkb */ - /* FIXME: Somehow make this portable to other languages/countries */ - xkb_names.rules = "evdev"; - xkb_names.model = "evdev"; - xkb_names.layout = "us"; - xkb_names.variant = ""; - xkb_names.options = ""; - if (!(_ecore_wl_xkb = xkb_compile_keymap_from_rules(&xkb_names))) + if (!(_ecore_wl_disp = malloc(sizeof(Ecore_Wl_Display)))) { - ERR("Could not compile keymap"); + ERR("Could not allocate memory for Ecore_Wl_Display structure"); eina_log_domain_unregister(_ecore_wl_log_dom); _ecore_wl_log_dom = -1; ecore_event_shutdown(); @@ -202,9 +130,11 @@ ecore_wl_init(const char *name) return --_ecore_wl_init_count; } - /* connect to the wayland display */ - if (!(_ecore_wl_disp = wl_display_connect(name))) + memset(_ecore_wl_disp, 0, sizeof(Ecore_Wl_Display)); + + if (!(_ecore_wl_disp->wl.display = wl_display_connect(name))) { + ERR("Could not connect to Wayland display"); eina_log_domain_unregister(_ecore_wl_log_dom); _ecore_wl_log_dom = -1; ecore_event_shutdown(); @@ -213,23 +143,48 @@ ecore_wl_init(const char *name) return --_ecore_wl_init_count; } - /* setup handler for wayland interfaces */ - wl_display_add_global_listener(_ecore_wl_disp, - _ecore_wl_cb_disp_handle_global, NULL); + _ecore_wl_disp->fd = + wl_display_get_fd(_ecore_wl_disp->wl.display, + _ecore_wl_cb_event_mask_update, _ecore_wl_disp); + + _ecore_wl_disp->fd_hdl = + ecore_main_fd_handler_add(_ecore_wl_disp->fd, ECORE_FD_READ, + _ecore_wl_cb_handle_data, _ecore_wl_disp, + NULL, NULL); + + wl_list_init(&_ecore_wl_disp->inputs); + wl_list_init(&_ecore_wl_disp->outputs); + + wl_display_add_global_listener(_ecore_wl_disp->wl.display, + _ecore_wl_cb_handle_global, _ecore_wl_disp); + + /* FIXME: Process connection events ?? */ + wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_READABLE); + + /* if (!_ecore_wl_egl_init(_ecore_wl_disp)) */ + /* { */ + /* ERR("Could not initialize EGL"); */ + /* free(_ecore_wl_disp); */ + /* eina_log_domain_unregister(_ecore_wl_log_dom); */ + /* _ecore_wl_log_dom = -1; */ + /* ecore_event_shutdown(); */ + /* ecore_shutdown(); */ + /* eina_shutdown(); */ + /* return --_ecore_wl_init_count; */ + /* } */ - /* process connection events */ - wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_READABLE); + /* _ecore_wl_disp->create_image = */ + /* (void *)eglGetProcAddress("eglCreateImageKHR"); */ + /* _ecore_wl_disp->destroy_image = */ + /* (void *)eglGetProcAddress("eglDestroyImageKHR"); */ - fd = wl_display_get_fd(_ecore_wl_disp, - _ecore_wl_cb_disp_event_mask_update, NULL); + /* TODO: create pointer surfaces */ - _ecore_wl_fd_hdl = - ecore_main_fd_handler_add(fd, ECORE_FD_READ, _ecore_wl_cb_fd_handle, - _ecore_wl_disp, NULL, NULL); - if (!_ecore_wl_fd_hdl) + if (!_ecore_wl_xkb_init(_ecore_wl_disp)) { - wl_display_destroy(_ecore_wl_disp); - _ecore_wl_disp = NULL; + ERR("Could not initialize XKB"); + _ecore_wl_egl_shutdown(_ecore_wl_disp); + free(_ecore_wl_disp); eina_log_domain_unregister(_ecore_wl_log_dom); _ecore_wl_log_dom = -1; ecore_event_shutdown(); @@ -238,976 +193,359 @@ ecore_wl_init(const char *name) return --_ecore_wl_init_count; } + _ecore_wl_window_init(); + return _ecore_wl_init_count; } +/** + * Shuts down the Ecore Wayland Library + * + * In shutting down the library, the Wayland display connection is terminated + * and any event handlers for it are removed. + * + * @return The number of times the library has been initialized without + * being shut down. + * + * @ingroup Ecore_Wl_Init_Group + */ EAPI int -ecore_wl_shutdown(void) +ecore_wl_shutdown(void) { - return _ecore_wl_shutdown(EINA_TRUE); -} - -EAPI struct wl_display * -ecore_wl_display_get(void) -{ - return _ecore_wl_disp; -} - -EAPI struct wl_shm * -ecore_wl_shm_get(void) -{ - return _ecore_wl_shm; -} - -EAPI struct wl_compositor * -ecore_wl_compositor_get(void) -{ - return _ecore_wl_comp; -} + LOGFN(__FILE__, __LINE__, __FUNCTION__); -EAPI struct wl_shell * -ecore_wl_shell_get(void) -{ - return _ecore_wl_shell; + return _ecore_wl_shutdown(EINA_TRUE); } -EAPI struct wl_input_device * -ecore_wl_input_device_get(void) -{ - return _ecore_wl_input_dev; -} +/** + * @defgroup Ecore_Wl_Flush_Group Wayland Synchronization Functions + * + * Functions that ensure that all commands which have been issued by the + * Ecore Wayland library have been sent to the server. + */ +/** + * Sends all Wayland commands to the Wayland Display. + * + * @ingroup Ecore_Wl_Flush_Group + * @since 1.2 + */ EAPI void -ecore_wl_screen_size_get(int *w, int *h) +ecore_wl_flush(void) { - if (w) *w = _ecore_wl_screen.w; - if (h) *h = _ecore_wl_screen.h; -} - -EAPI unsigned int -ecore_wl_format_get(void) -{ - return _ecore_wl_disp_format; -} + LOGFN(__FILE__, __LINE__, __FUNCTION__); -EAPI void -ecore_wl_flush(void) -{ - wl_display_flush(_ecore_wl_disp); + while (_ecore_wl_disp->mask & WL_DISPLAY_WRITABLE) + wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_WRITABLE); +// wl_display_flush(_ecore_wl_disp->wl.display); // old flush code } +/** + * Flushes the command buffer and waits until all requests have been + * processed by the server. + * + * @ingroup Ecore_Wl_Flush_Group + * @since 1.2 + */ EAPI void -ecore_wl_sync(void) +ecore_wl_sync(void) { - wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_READABLE); -} + LOGFN(__FILE__, __LINE__, __FUNCTION__); -EAPI void -ecore_wl_pointer_xy_get(int *x, int *y) + wl_display_roundtrip(_ecore_wl_disp->wl.display); + // old sync code +// wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_READABLE); +} + +/** + * @defgroup Ecore_Wl_Display_Group Wayland Display Functions + * + * Functions that set and retrieve various information about the Wayland Display. + */ + +/** + * Retrieves the Wayland Shm Interface used for the current Wayland connection. + * + * @return The current wayland shm interface + * + * @ingroup Ecore_Wl_Display_Group + * @since 1.2 + */ +EAPI struct wl_shm * +ecore_wl_shm_get(void) { - if (x) *x = _ecore_wl_screen_x; - if (y) *y = _ecore_wl_screen_y; + return _ecore_wl_disp->wl.shm; } -EAPI Ecore_Wl_Drag_Source * -ecore_wl_drag_source_create(int hotspot_x, int hotspot_y, int offset_x, int offset_y, const char *mimetype, unsigned int timestamp, void *data) +/** + * Retrieves the Wayland Display Interface used for the current Wayland connection. + * + * @return The current wayland display interface + * + * @ingroup Ecore_Wl_Display_Group + * @since 1.2 + */ +EAPI struct wl_display * +ecore_wl_display_get(void) { - Ecore_Wl_Drag_Source *source; - - if (!(source = calloc(1, sizeof(Ecore_Wl_Drag_Source)))) return NULL; - - source->data_dev = _ecore_wl_data_dev; - source->hotspot_x = hotspot_x; - source->hotspot_y = hotspot_y; - source->offset_x = offset_x; - source->offset_y = offset_y; - source->mimetype = mimetype; - source->timestamp = timestamp; - source->data = data; - - source->data_source = - wl_data_device_manager_create_data_source(_ecore_wl_data_manager); - - wl_data_source_add_listener(source->data_source, - &_ecore_wl_source_listener, source); - - wl_data_source_offer(source->data_source, source->mimetype); - - /* NB: Do we add some default mimetypes here ?? */ - /* text/plain, etc */ - - return source; + return _ecore_wl_disp->wl.display; } +/** + * Retrieves the size of the current screen. + * + * @param w where to return the width. May be NULL. Returns 0 on error. + * @param h where to return the height. May be NULL. Returns 0 on error. + * + * @ingroup Ecore_Wl_Display_Group + * @since 1.2 + */ EAPI void -ecore_wl_drag_start(Ecore_Wl_Drag_Source *source, struct wl_surface *surface, struct wl_buffer *buffer) +ecore_wl_screen_size_get(int *w, int *h) { - source->buffer = buffer; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - wl_data_device_start_drag(source->data_dev, source->data_source, - surface, source->timestamp); + if (w) *w = _ecore_wl_disp->output->allocation.w; + if (h) *h = _ecore_wl_disp->output->allocation.h; } +/* @since 1.2 */ EAPI void -ecore_wl_drag_stop(void) +ecore_wl_pointer_xy_get(int *x, int *y) { + LOGFN(__FILE__, __LINE__, __FUNCTION__); + _ecore_wl_input_pointer_xy_get(x, y); } /* local functions */ static Eina_Bool -_ecore_wl_shutdown(Eina_Bool close_display) +_ecore_wl_shutdown(Eina_Bool close) { LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (--_ecore_wl_init_count != 0) - return _ecore_wl_init_count; - + if (--_ecore_wl_init_count != 0) return _ecore_wl_init_count; if (!_ecore_wl_disp) return _ecore_wl_init_count; - if (_ecore_wl_xkb) free(_ecore_wl_xkb); + _ecore_wl_window_shutdown(); - if (_ecore_wl_fd_hdl) ecore_main_fd_handler_del(_ecore_wl_fd_hdl); - _ecore_wl_fd_hdl = NULL; + if (_ecore_wl_disp->fd_hdl) + ecore_main_fd_handler_del(_ecore_wl_disp->fd_hdl); - if (close_display) + if (close) { - if (_ecore_wl_data_dev) wl_data_device_destroy(_ecore_wl_data_dev); - if (_ecore_wl_input_dev) wl_input_device_destroy(_ecore_wl_input_dev); - if (_ecore_wl_data_manager) - wl_data_device_manager_destroy(_ecore_wl_data_manager); - if (_ecore_wl_shell) wl_shell_destroy(_ecore_wl_shell); - if (_ecore_wl_shm) wl_shm_destroy(_ecore_wl_shm); - if (_ecore_wl_comp) wl_compositor_destroy(_ecore_wl_comp); - if (_ecore_wl_disp) + Ecore_Wl_Output *out, *tout; + Ecore_Wl_Input *in, *tin; + + wl_list_for_each_safe(out, tout, &_ecore_wl_disp->outputs, link) + _ecore_wl_output_del(out); + + wl_list_for_each_safe(in, tin, &_ecore_wl_disp->inputs, link) + _ecore_wl_input_del(in); + + _ecore_wl_xkb_shutdown(_ecore_wl_disp); + /* _ecore_wl_egl_shutdown(_ecore_wl_disp); */ + + if (_ecore_wl_disp->wl.shell) + wl_shell_destroy(_ecore_wl_disp->wl.shell); + if (_ecore_wl_disp->wl.shm) wl_shm_destroy(_ecore_wl_disp->wl.shm); + if (_ecore_wl_disp->wl.data_device_manager) + wl_data_device_manager_destroy(_ecore_wl_disp->wl.data_device_manager); + if (_ecore_wl_disp->wl.compositor) + wl_compositor_destroy(_ecore_wl_disp->wl.compositor); + if (_ecore_wl_disp->wl.display) { - wl_display_flush(_ecore_wl_disp); - wl_display_destroy(_ecore_wl_disp); + wl_display_flush(_ecore_wl_disp->wl.display); + wl_display_disconnect(_ecore_wl_disp->wl.display); } - _ecore_wl_disp = NULL; + free(_ecore_wl_disp); } - eina_log_domain_unregister(_ecore_wl_log_dom); - _ecore_wl_log_dom = -1; - ecore_event_shutdown(); ecore_shutdown(); + + eina_log_domain_unregister(_ecore_wl_log_dom); + _ecore_wl_log_dom = -1; eina_shutdown(); return _ecore_wl_init_count; } -static void -_ecore_wl_cb_disp_handle_global(struct wl_display *disp, uint32_t id, const char *interface, uint32_t version __UNUSED__, void *data __UNUSED__) -{ -// LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if (disp != _ecore_wl_disp) return; - if (!strcmp(interface, "wl_compositor")) - { - _ecore_wl_comp = - wl_display_bind(_ecore_wl_disp, id, &wl_compositor_interface); - } - else if (!strcmp(interface, "wl_shm")) - { - _ecore_wl_shm = - wl_display_bind(_ecore_wl_disp, id, &wl_shm_interface); - } - else if (!strcmp(interface, "wl_output")) - { - _ecore_wl_output = - wl_display_bind(_ecore_wl_disp, id, &wl_output_interface); - wl_output_add_listener(_ecore_wl_output, - &_ecore_wl_output_listener, NULL); - } - else if (!strcmp(interface, "wl_shell")) - { - _ecore_wl_shell = - wl_display_bind(_ecore_wl_disp, id, &wl_shell_interface); - } - else if (!strcmp(interface, "wl_input_device")) - { - _ecore_wl_input_dev = - wl_display_bind(_ecore_wl_disp, id, &wl_input_device_interface); - wl_input_device_add_listener(_ecore_wl_input_dev, - &_ecore_wl_input_listener, NULL); - } - else if (!strcmp(interface, "wl_data_device_manager")) - { - _ecore_wl_data_manager = - wl_display_bind(_ecore_wl_disp, id, - &wl_data_device_manager_interface); - } - - if ((_ecore_wl_input_dev) && (_ecore_wl_data_manager) && (!_ecore_wl_data_dev)) - { - _ecore_wl_data_dev = - wl_data_device_manager_get_data_device(_ecore_wl_data_manager, - _ecore_wl_input_dev); - wl_data_device_add_listener(_ecore_wl_data_dev, - &_ecore_wl_data_listener, NULL); - } -} - static int -_ecore_wl_cb_disp_event_mask_update(uint32_t mask, void *data __UNUSED__) +_ecore_wl_cb_event_mask_update(unsigned int mask, void *data) { -// LOGFN(__FILE__, __LINE__, __FUNCTION__); + Ecore_Wl_Display *ewd; - _ecore_wl_disp_mask = mask; + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ewd = data; + ewd->mask = mask; return 0; } -static void -_ecore_wl_cb_disp_handle_geometry(void *data __UNUSED__, struct wl_output *output __UNUSED__, int x, int y, int pw __UNUSED__, int ph __UNUSED__, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__) -{ - _ecore_wl_screen.x = x; - _ecore_wl_screen.y = y; -} - -static void -_ecore_wl_cb_disp_handle_mode(void *data __UNUSED__, struct wl_output *output __UNUSED__, uint32_t flags, int w, int h, int refresh __UNUSED__) -{ - if (flags & WL_OUTPUT_MODE_CURRENT) - { - _ecore_wl_screen.w = w; - _ecore_wl_screen.h = h; - } -} - static Eina_Bool -_ecore_wl_cb_fd_handle(void *data, Ecore_Fd_Handler *hdl __UNUSED__) +_ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl __UNUSED__) { - struct wl_display *disp; - -// LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if (!(disp = data)) return ECORE_CALLBACK_RENEW; - if (disp != _ecore_wl_disp) return ECORE_CALLBACK_RENEW; + Ecore_Wl_Display *ewd; - if (_ecore_wl_disp_mask & WL_DISPLAY_WRITABLE) - wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_WRITABLE); - - if (_ecore_wl_disp_mask & WL_DISPLAY_READABLE) - wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_READABLE); + LOGFN(__FILE__, __LINE__, __FUNCTION__); + if (!(ewd = data)) return ECORE_CALLBACK_RENEW; + wl_display_iterate(ewd->wl.display, ewd->mask); return ECORE_CALLBACK_RENEW; } static void -_ecore_wl_cb_handle_motion(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, int32_t x, int32_t y, int32_t sx, int32_t sy) -{ - if (dev != _ecore_wl_input_dev) return; - - _ecore_wl_screen_x = x; - _ecore_wl_screen_y = y; - _ecore_wl_surface_x = sx; - _ecore_wl_surface_y = sy; - - _ecore_wl_mouse_move_send(t); -} - -static void -_ecore_wl_cb_handle_button(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, uint32_t btn, uint32_t state) -{ - if (dev != _ecore_wl_input_dev) return; - - if ((btn >= BTN_SIDE) && (btn <= BTN_BACK)) - { - Ecore_Event_Mouse_Wheel *ev; - - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Wheel)))) return; - - ev->timestamp = t; - ev->x = _ecore_wl_surface_x; - ev->y = _ecore_wl_surface_y; - ev->root.x = _ecore_wl_screen_x; - ev->root.y = _ecore_wl_screen_y; - ev->modifiers = _ecore_wl_input_modifiers; - ev->direction = 0; - - if (_ecore_wl_input_surface) - { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_input_surface))) - { - ev->window = id; - ev->event_window = id; - } - } - - /* NB: (FIXME) Currently Wayland provides no measure of how much the - * wheel has scrolled (read: delta of movement). So for now, we will - * just assume that the amount scrolled is 1 */ - if ((btn == BTN_EXTRA) || (btn == BTN_FORWARD)) // down - ev->z = 1; - else if ((btn == BTN_SIDE) || (btn == BTN_BACK)) // up - ev->z = -1; - - ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, ev, NULL, NULL); - } - else - { - if (state) - { - _ecore_wl_input_button = btn; - _ecore_wl_mouse_down_send(_ecore_wl_input_surface, btn, t); - /* NB: Ideally, this is not the place to check for drags. - * IMO, drags should be handled by the client. EG: we raise the - * mouse_down to the client, and the client can 'request' a - * drag_start from ecore_wl */ - if ((_ecore_wl_input_surface) || (_ecore_wl_touch_surface)) - { - /* record item which was grabbed. - * create drag source. start drag */ - } - } - else - { - if ((_ecore_wl_input_surface) || (_ecore_wl_touch_surface)) - { - /* release grabbed button and finish drag */ - if ((_ecore_wl_input_button) && - (_ecore_wl_input_button == btn)) - { - - } - } - _ecore_wl_input_button = 0; - _ecore_wl_mouse_up_send(_ecore_wl_input_surface, btn, t); - } - } -} - -static void -_ecore_wl_cb_handle_key(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t __UNUSED__, uint32_t key, uint32_t state) +_ecore_wl_cb_handle_global(struct wl_display *disp, unsigned int id, const char *interface, unsigned int version __UNUSED__, void *data) { - unsigned int keycode = 0; + Ecore_Wl_Display *ewd; - if (dev != _ecore_wl_input_dev) return; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - keycode = key + _ecore_wl_xkb->min_key_code; + if ((!strcmp(interface, "wl_display")) || + (!strcmp(interface, "wl_drm")) || + (!strcmp(interface, "desktop_shell"))) + return; - if (state) - _ecore_wl_input_modifiers |= _ecore_wl_xkb->map->modmap[keycode]; - else - _ecore_wl_input_modifiers &= ~_ecore_wl_xkb->map->modmap[keycode]; -} + ewd = data; -static void -_ecore_wl_cb_handle_pointer_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, struct wl_surface *surface, int32_t x, int32_t y, int32_t sx, int32_t sy) -{ - if (dev != _ecore_wl_input_dev) return; - - /* NB: Wayland pointer focus is weird. It's not pointer focus in the normal - * sense...Wayland 'moving/resizing' (and maybe other stuff) has a habit - * of stealing the pointer focus and thus this cannot be used to control - * normal pointer focus. On mouse down, the 'active' surface is stolen - * by Wayland for the grab, so 'surface' here ends up being NULL. When a - * move or resize is finished, we get this event again, but this time - * with an active surface */ - _ecore_wl_screen_x = x; - _ecore_wl_screen_y = y; - _ecore_wl_surface_x = sx; - _ecore_wl_surface_y = sy; - - if ((_ecore_wl_input_surface) && (_ecore_wl_input_surface != surface)) + if (!strcmp(interface, "wl_compositor")) + ewd->wl.compositor = wl_display_bind(disp, id, &wl_compositor_interface); + else if (!strcmp(interface, "wl_output")) + _ecore_wl_output_add(ewd, id); + else if (!strcmp(interface, "wl_input_device")) + _ecore_wl_input_add(ewd, id); + else if (!strcmp(interface, "wl_shell")) + ewd->wl.shell = wl_display_bind(disp, id, &wl_shell_interface); + else if (!strcmp(interface, "wl_shm")) + ewd->wl.shm = wl_display_bind(disp, id, &wl_shm_interface); + else if (!strcmp(interface, "wl_data_device_manager")) { - if (!_ecore_wl_input_button) - _ecore_wl_mouse_out_send(_ecore_wl_input_surface, t); + ewd->wl.data_device_manager = + wl_display_bind(disp, id, &wl_data_device_manager_interface); } - if (surface) + if ((ewd->wl.compositor) && (ewd->wl.shm) && (ewd->wl.shell)) { - if (_ecore_wl_input_button) - { - _ecore_wl_mouse_up_send(surface, _ecore_wl_input_button, t); - _ecore_wl_input_button = 0; - } - else - _ecore_wl_mouse_in_send(surface, t); - } -} - -static void -_ecore_wl_cb_handle_keyboard_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, struct wl_surface *surface, struct wl_array *keys) -{ - unsigned int *keyend = 0, *i = 0; - - if (dev != _ecore_wl_input_dev) return; - - /* NB: Remove old keyboard focus */ - if ((_ecore_wl_input_surface) && (_ecore_wl_input_surface != surface)) - _ecore_wl_focus_out_send(_ecore_wl_input_surface, t); + Ecore_Wl_Event_Interfaces_Bound *ev; - _ecore_wl_input_surface = NULL; + if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Interfaces_Bound)))) + return; - keyend = keys->data + keys->size; - _ecore_wl_input_modifiers = 0; - for (i = keys->data; i < keyend; i++) - _ecore_wl_input_modifiers |= _ecore_wl_xkb->map->modmap[*i]; + ev->compositor = (ewd->wl.compositor != NULL); + ev->shm = (ewd->wl.shm != NULL); + ev->shell = (ewd->wl.shell != NULL); - if (surface) - { - /* set new input surface */ - _ecore_wl_input_surface = surface; - - /* send mouse in to new surface */ - /* _ecore_wl_mouse_in_send(surface, t); */ - - /* send focus to new surface */ - _ecore_wl_focus_in_send(surface, t); + ecore_event_add(ECORE_WL_EVENT_INTERFACES_BOUND, ev, NULL, NULL); } } -static void -_ecore_wl_cb_handle_touch_down(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, struct wl_surface *surface, int32_t id, int32_t x, int32_t y) +static Eina_Bool +_ecore_wl_egl_init(Ecore_Wl_Display *ewd) { - Ecore_Event_Mouse_Button *ev; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - _ecore_wl_touch_surface = surface; - _ecore_wl_touch_x = x; - _ecore_wl_touch_y = y; - - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; - - ev->timestamp = timestamp; - - /* NB: Need to verify using x,y for these */ - ev->x = x; - ev->y = y; - ev->root.x = x; - ev->root.y = y; - ev->modifiers = 0; - ev->buttons = 0; - ev->same_screen = 1; - - /* FIXME: Need to get these from Wayland somehow */ - ev->double_click = 0; - ev->triple_click = 0; - - ev->multi.device = id; - ev->multi.radius = 1; - ev->multi.radius_x = 1; - ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; - ev->multi.angle = 0.0; - /* NB: Need to verify using x,y for these */ - ev->multi.x = x; - ev->multi.y = y; - ev->multi.root.x = x; - ev->multi.root.y = y; - + EGLint major, minor, n; + static const EGLint context_attribs[] = { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - { - ev->window = id; - ev->event_window = id; - } - } - - ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL); -} - -static void -_ecore_wl_cb_handle_touch_up(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id) -{ - Ecore_Event_Mouse_Button *ev; + EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE + }; + static const EGLint argb_attribs[] = + { + EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, 1, EGL_DEPTH_SIZE, 0, EGL_STENCIL_SIZE, 0, + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_SURFACE_TYPE, + EGL_WINDOW_BIT, EGL_NONE + }; LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; - - ev->timestamp = timestamp; - - /* TODO: Need to verify using x,y for these */ - ev->x = _ecore_wl_touch_x; - ev->y = _ecore_wl_touch_y; - ev->root.x = _ecore_wl_touch_x; - ev->root.y = _ecore_wl_touch_y; - ev->modifiers = 0; - ev->buttons = 0; - ev->same_screen = 1; - - /* FIXME: Need to get these from Wayland somehow */ - ev->double_click = 0; - ev->triple_click = 0; - - ev->multi.device = id; - ev->multi.radius = 1; - ev->multi.radius_x = 1; - ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; - ev->multi.angle = 0.0; - - /* TODO: Need to verify using x,y for these */ - ev->multi.x = _ecore_wl_touch_x; - ev->multi.y = _ecore_wl_touch_y; - ev->multi.root.x = _ecore_wl_touch_x; - ev->multi.root.y = _ecore_wl_touch_y; - + ewd->egl.display = eglGetDisplay(ewd->wl.display); + if (!eglInitialize(ewd->egl.display, &major, &minor)) { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_touch_surface))) - { - ev->window = id; - ev->event_window = id; - } + ERR("Failed to initialize EGL display"); + return EINA_FALSE; } - _ecore_wl_touch_surface = NULL; - - ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL); -} - -static void -_ecore_wl_cb_handle_touch_motion(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id, int32_t x, int32_t y) -{ - Ecore_Event_Mouse_Move *ev; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - if (!_ecore_wl_touch_surface) return; - - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Move)))) return; - - ev->timestamp = timestamp; - /* TODO: Need to verify using x,y for these */ - ev->x = x; - ev->y = y; - ev->root.x = x; - ev->root.y = y; - ev->modifiers = 0; //_ecore_wl_input_modifiers; - ev->same_screen = 1; - - ev->multi.device = id; - ev->multi.radius = 1; - ev->multi.radius_x = 1; - ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; - ev->multi.angle = 0.0; - - /* TODO: Need to verify using x,y for these */ - ev->multi.x = x; - ev->multi.y = y; - ev->multi.root.x = x; - ev->multi.root.y = y; - + if (!eglBindAPI(EGL_OPENGL_ES_API)) { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_touch_surface))) - { - ev->window = id; - ev->event_window = id; - } + ERR("Failed to bind EGL Api"); + return EINA_FALSE; } - ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL); -} - -static void -_ecore_wl_cb_handle_touch_frame(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - /* FIXME: Need to get a device and actually test what happens here */ -} - -static void -_ecore_wl_cb_handle_touch_cancel(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__) -{ - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - /* FIXME: Need to get a device and actually test what happens here */ - _ecore_wl_touch_surface = NULL; -} - -static void -_ecore_wl_cb_source_target(void *data, struct wl_data_source *source __UNUSED__, const char *mime_type __UNUSED__) -{ - Ecore_Wl_Drag_Source *s; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - printf("Ecore_Wl Source Target\n"); - if (!(s = data)) return; - printf("\tHave Drag Source\n"); - - /* FIXME: buffer here should really be the mouse cursor buffer */ - wl_data_device_attach(s->data_dev, s->timestamp, s->buffer, - s->hotspot_x, s->hotspot_y); -} - -static void -_ecore_wl_cb_source_send(void *data, struct wl_data_source *source, const char *mime_type, int32_t fd) -{ - Ecore_Wl_Drag_Source *s; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - printf("Ecore_Wl Source Send\n"); - if (!(s = data)) return; - printf("\tHave Drag Source\n"); - - /* FIXME: write message to fd */ - - /* NB: Wayland really sucks in this regard. Why should selection stuff - * require an 'fd' ?? */ -} - -static void -_ecore_wl_cb_source_cancelled(void *data, struct wl_data_source *source __UNUSED__) -{ - Ecore_Wl_Drag_Source *s; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - /* The cancelled event usually means source is no longer in use by - * the drag (or selection). */ - - printf("Ecore_Wl Source Cancel\n"); - if (!(s = data)) return; - printf("\tHave Drag Source\n"); - - /* FIXME: raise this to ecore_evas so the surface/buffer - * of the drag can be destroyed */ - - if (s->data_source) wl_data_source_destroy(s->data_source); - s->data_source = NULL; - - free(s); -} - -static void -_ecore_wl_cb_source_offer(void *data, struct wl_data_offer *offer __UNUSED__, const char *type) -{ - Ecore_Wl_Dnd_Source *s; - - if (!(s = data)) return; - eina_array_push(s->types, strdup(type)); -} - -static void -_ecore_wl_cb_data_offer(void *data, struct wl_data_device *data_dev, uint32_t id) -{ - Ecore_Wl_Dnd_Source *source; - - /* create a new 'data offer' structure and setup a listener for it */ - if (!(source = calloc(1, sizeof(Ecore_Wl_Dnd_Source)))) return; - - source->types = eina_array_new(1); - source->data = data; - source->refs = 1; - - /* FIXME: This will need to change when Wayland has typesafe wrappers for this */ - source->offer = (struct wl_data_offer *) - wl_proxy_create_for_id((struct wl_proxy *)data_dev, - id, &wl_data_offer_interface); - - wl_data_device_set_user_data(data_dev, source); - wl_data_offer_add_listener(source->offer, &_ecore_wl_offer_listener, source); -} - -static void -_ecore_wl_cb_data_enter(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, struct wl_surface *surface, int32_t x, int32_t y, struct wl_data_offer *offer) -{ - Ecore_Wl_Dnd_Source *source; - - if (!(source = wl_data_device_get_user_data(data_dev))) return; - - /* TODO: maybe set pointer focus here ?? */ - - source->timestamp = timestamp; -} - -static void -_ecore_wl_cb_data_leave(void *data __UNUSED__, struct wl_data_device *data_dev) -{ - Ecore_Wl_Dnd_Source *source; - - if (!(source = wl_data_device_get_user_data(data_dev))) return; - - /* destroy drag offer */ - wl_data_offer_destroy(source->offer); - - while (eina_array_count(source->types)) - free(eina_array_pop(source->types)); - - eina_array_free(source->types); - free(source); - - wl_data_device_set_user_data(data_dev, NULL); -} - -static void -_ecore_wl_cb_data_motion(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, int32_t x, int32_t y) -{ - Ecore_Wl_Dnd_Source *source; - - if (!(source = wl_data_device_get_user_data(data_dev))) return; - /* TODO: Here we should raise motion events for dragging */ -} - -static void -_ecore_wl_cb_data_drop(void *data __UNUSED__, struct wl_data_device *data_dev) -{ - Ecore_Wl_Dnd_Source *source; - - if (!(source = wl_data_device_get_user_data(data_dev))) return; - - /* TODO: Raise event for drop */ - - wl_data_offer_accept(source->offer, source->timestamp, NULL); -// eina_array_data_get(source->types, 0)); -} - -static void -_ecore_wl_cb_data_selection(void *data, struct wl_data_device *data_dev, struct wl_data_offer *offer) -{ - Ecore_Wl_Dnd_Source *source; - - printf("Ecore_Wl Data Selection\n"); - if ((source = wl_data_device_get_user_data(data_dev))) + if ((!eglChooseConfig(ewd->egl.display, argb_attribs, &ewd->egl.argb_config, + 1, &n)) || (n == 0)) { - /* destroy old source */ - wl_data_offer_destroy(source->offer); - - while (eina_array_count(source->types)) - free(eina_array_pop(source->types)); - - eina_array_free(source->types); - free(source); - - wl_data_device_set_user_data(data_dev, NULL); + ERR("Failed to choose ARGB config"); + return EINA_FALSE; } -} - -static void -_ecore_wl_mouse_move_send(uint32_t timestamp) -{ - Ecore_Event_Mouse_Move *ev; - -// if (!_ecore_wl_input_surface) return; - - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Move)))) return; - - ev->timestamp = timestamp; - ev->x = _ecore_wl_surface_x; - ev->y = _ecore_wl_surface_y; - ev->root.x = _ecore_wl_screen_x; - ev->root.y = _ecore_wl_screen_y; - ev->modifiers = _ecore_wl_input_modifiers; - - ev->multi.device = 0; - ev->multi.radius = 1; - ev->multi.radius_x = 1; - ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; - ev->multi.angle = 0.0; - ev->multi.x = _ecore_wl_surface_x; - ev->multi.y = _ecore_wl_surface_y; - ev->multi.root.x = _ecore_wl_screen_x; - ev->multi.root.y = _ecore_wl_screen_y; + ewd->egl.argb_context = + eglCreateContext(ewd->egl.display, ewd->egl.argb_config, + EGL_NO_CONTEXT, context_attribs); + if (!ewd->egl.argb_context) { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_input_surface))) - { - ev->window = id; - ev->event_window = id; - } + ERR("Failed to create ARGB context"); + return EINA_FALSE; } - ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL); -} - -static void -_ecore_wl_mouse_out_send(struct wl_surface *surface, uint32_t timestamp) -{ - Ecore_Wl_Event_Mouse_Out *ev; - - if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Mouse_Out)))) return; - - ev->x = _ecore_wl_surface_x; - ev->y = _ecore_wl_surface_y; - ev->root.x = _ecore_wl_screen_x; - ev->root.y = _ecore_wl_screen_y; - ev->modifiers = _ecore_wl_input_modifiers; - ev->time = timestamp; - - if (surface) + if (!eglMakeCurrent(ewd->egl.display, EGL_NO_SURFACE, + EGL_NO_SURFACE, ewd->egl.argb_context)) { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - ev->window = id; + ERR("Failed to make ARGB context current"); + return EINA_FALSE; } - ecore_event_add(ECORE_WL_EVENT_MOUSE_OUT, ev, NULL, NULL); + return EINA_TRUE; } -static void -_ecore_wl_mouse_in_send(struct wl_surface *surface, uint32_t timestamp) +static Eina_Bool +_ecore_wl_egl_shutdown(Ecore_Wl_Display *ewd) { - Ecore_Wl_Event_Mouse_In *ev; - - if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Mouse_In)))) return; - - ev->x = _ecore_wl_surface_x; - ev->y = _ecore_wl_surface_y; - ev->root.x = _ecore_wl_screen_x; - ev->root.y = _ecore_wl_screen_y; - ev->modifiers = _ecore_wl_input_modifiers; - ev->time = timestamp; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (surface) - { - unsigned int id = 0; + eglMakeCurrent(ewd->egl.display, + EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - ev->window = id; - } - - ecore_event_add(ECORE_WL_EVENT_MOUSE_IN, ev, NULL, NULL); -} + eglDestroyContext(ewd->egl.display, ewd->egl.argb_context); -static void -_ecore_wl_mouse_up_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp) -{ - Ecore_Event_Mouse_Button *ev; - - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; - - if (button == BTN_LEFT) - ev->buttons = 1; - else if (button == BTN_MIDDLE) - ev->buttons = 2; - else if (button == BTN_RIGHT) - ev->buttons = 3; - - ev->timestamp = timestamp; - ev->x = _ecore_wl_surface_x; - ev->y = _ecore_wl_surface_y; - ev->root.x = _ecore_wl_screen_x; - ev->root.y = _ecore_wl_screen_y; - ev->modifiers = _ecore_wl_input_modifiers; - - /* FIXME: Need to get these from Wayland somehow */ - ev->double_click = 0; - ev->triple_click = 0; - - ev->multi.device = 0; - ev->multi.radius = 1; - ev->multi.radius_x = 1; - ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; - ev->multi.angle = 0.0; - ev->multi.x = _ecore_wl_surface_x; - ev->multi.y = _ecore_wl_surface_y; - ev->multi.root.x = _ecore_wl_screen_x; - ev->multi.root.y = _ecore_wl_screen_y; + /* NB: This is hanging when we run elm apps as wayland clients + * inside the weston compositor */ - { - unsigned int id = 0; + /* printf("Egl Terminate\n"); */ + /* eglTerminate(ewd->egl.display); */ + /* printf("Egl Terminate Done\n"); */ - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - { - ev->window = id; - ev->event_window = id; - } - } + eglReleaseThread(); - ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL); + return EINA_TRUE; } -static void -_ecore_wl_mouse_down_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp) +static Eina_Bool +_ecore_wl_xkb_init(Ecore_Wl_Display *ewd) { - Ecore_Event_Mouse_Button *ev; - - if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; - - if (button == BTN_LEFT) - ev->buttons = 1; - else if (button == BTN_MIDDLE) - ev->buttons = 2; - else if (button == BTN_RIGHT) - ev->buttons = 3; - - ev->timestamp = timestamp; - ev->x = _ecore_wl_surface_x; - ev->y = _ecore_wl_surface_y; - ev->root.x = _ecore_wl_screen_x; - ev->root.y = _ecore_wl_screen_y; - ev->modifiers = _ecore_wl_input_modifiers; - - /* FIXME: Need to get these from Wayland somehow */ - ev->double_click = 0; - ev->triple_click = 0; - - ev->multi.device = 0; - ev->multi.radius = 1; - ev->multi.radius_x = 1; - ev->multi.radius_y = 1; - ev->multi.pressure = 1.0; - ev->multi.angle = 0.0; - ev->multi.x = _ecore_wl_surface_x; - ev->multi.y = _ecore_wl_surface_y; - ev->multi.root.x = _ecore_wl_screen_x; - ev->multi.root.y = _ecore_wl_screen_y; + struct xkb_rule_names names; - { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - { - ev->window = id; - ev->event_window = id; - } - } + LOGFN(__FILE__, __LINE__, __FUNCTION__); - ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL); -} + names.rules = "evdev"; + names.model = "evdev"; + names.layout = "us"; + names.variant = ""; + names.options = ""; -static void -_ecore_wl_focus_out_send(struct wl_surface *surface, uint32_t timestamp) -{ - Ecore_Wl_Event_Focus_Out *ev; - - if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Focus_Out)))) return; - ev->time = timestamp; - if (surface) + if (!(ewd->xkb = xkb_compile_keymap_from_rules(&names))) { - unsigned int id = 0; - - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - ev->window = id; + ERR("Failed to compile keymap"); + return EINA_FALSE; } - ecore_event_add(ECORE_WL_EVENT_FOCUS_OUT, ev, NULL, NULL); + + return EINA_TRUE; } -static void -_ecore_wl_focus_in_send(struct wl_surface *surface, uint32_t timestamp) +static Eina_Bool +_ecore_wl_xkb_shutdown(Ecore_Wl_Display *ewd) { - Ecore_Wl_Event_Focus_In *ev; - - if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Focus_In)))) return; - ev->time = timestamp; - if (surface) - { - unsigned int id = 0; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - if ((id = (unsigned int)wl_surface_get_user_data(surface))) - ev->window = id; - } - ecore_event_add(ECORE_WL_EVENT_FOCUS_IN, ev, NULL, NULL); + if (ewd->xkb) xkb_free_keymap(ewd->xkb); + return EINA_TRUE; } diff --git a/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h b/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h index eec5ffe..31956a1 100644 --- a/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h +++ b/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h @@ -2,6 +2,9 @@ # define _ECORE_WAYLAND_PRIVATE_H # include +# include + +# include "Ecore_Wayland.h" //# define LOGFNS 1 @@ -13,6 +16,7 @@ # endif extern int _ecore_wl_log_dom; +extern Ecore_Wl_Display *_ecore_wl_disp; # ifdef ECORE_WL_DEFAULT_LOG_COLOR # undef ECORE_WL_DEFAULT_LOG_COLOR @@ -44,42 +48,40 @@ extern int _ecore_wl_log_dom; # endif # define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_wl_log_dom, __VA_ARGS__) -typedef struct _Ecore_Wl_Dnd_Source +struct _Ecore_Wl_Dnd_Source { struct wl_data_offer *offer; - int refs; - - Eina_Array *types; + Ecore_Wl_Input *input; + struct wl_array types; + int refcount; + int fd; + int x, y; - uint32_t timestamp; + /* TODO: task & data_func */ void *data; -} Ecore_Wl_Dnd_Source; +}; -typedef struct _Ecore_Wl_Dnd_Target +struct _Ecore_Wl_Dnd_Target { - /* NB: These are not the real fields for this structure, - * and it is Bound to change....soon */ - struct wl_data_offer *offer; - int refs; - - Eina_Array *types; + Ecore_Wl_Dnd_Source *source; +}; - uint32_t timestamp; - void *data; -} Ecore_Wl_Dnd_Target; +void _ecore_wl_window_init(void); +void _ecore_wl_window_shutdown(void); -struct _Ecore_Wl_Drag_Source -{ - struct wl_data_device *data_dev; - struct wl_buffer *buffer; +void _ecore_wl_output_add(Ecore_Wl_Display *ewd, unsigned int id); +void _ecore_wl_output_del(Ecore_Wl_Output *output); - int32_t hotspot_x, hotspot_y; - int32_t offset_x, offset_y; - const char *mimetype; - uint32_t timestamp; - void *data; +void _ecore_wl_input_add(Ecore_Wl_Display *ewd, unsigned int id); +void _ecore_wl_input_del(Ecore_Wl_Input *input); +void _ecore_wl_input_pointer_xy_get(int *x, int *y); - struct wl_data_source *data_source; -}; +void _ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device, unsigned int id); +void _ecore_wl_dnd_enter(void *data, struct wl_data_device *data_device __UNUSED__, unsigned int timestamp __UNUSED__, struct wl_surface *surface, int x, int y, struct wl_data_offer *offer); +void _ecore_wl_dnd_leave(void *data, struct wl_data_device *data_device __UNUSED__); +void _ecore_wl_dnd_motion(void *data, struct wl_data_device *data_device __UNUSED__, unsigned int timestamp __UNUSED__, int x, int y); +void _ecore_wl_dnd_drop(void *data, struct wl_data_device *data_device __UNUSED__); +void _ecore_wl_dnd_selection(void *data, struct wl_data_device *data_device __UNUSED__, struct wl_data_offer *offer); +void _ecore_wl_dnd_del(Ecore_Wl_Dnd_Source *source); #endif diff --git a/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h b/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h index 95e3749..5df3346 100644 --- a/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h +++ b/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h @@ -460,7 +460,9 @@ EAPI void ecore_win32_window_lower(Ecore_Win32_Window *window); EAPI void ecore_win32_window_title_set(Ecore_Win32_Window *window, const char *title); -EAPI void ecore_win32_window_focus_set(Ecore_Win32_Window *window); +EAPI void ecore_win32_window_focus(Ecore_Win32_Window *window); + +EAPI void *ecore_win32_window_focus_get(void); EAPI void ecore_win32_window_iconified_set(Ecore_Win32_Window *window, Eina_Bool on); @@ -471,11 +473,6 @@ EAPI void ecore_win32_window_borderless_set(Ecore_Win32_Window *window, EAPI void ecore_win32_window_fullscreen_set(Ecore_Win32_Window *window, Eina_Bool on); -EINA_DEPRECATED EAPI void ecore_win32_window_shape_set(Ecore_Win32_Window *window, - unsigned short width, - unsigned short height, - unsigned char *mask); - EAPI void ecore_win32_window_cursor_set(Ecore_Win32_Window *window, Ecore_Win32_Cursor *cursor); diff --git a/libraries/ecore/src/lib/ecore_win32/Makefile.in b/libraries/ecore/src/lib/ecore_win32/Makefile.in index 9994ee7..b512021 100644 --- a/libraries/ecore/src/lib/ecore_win32/Makefile.in +++ b/libraries/ecore/src/lib/ecore_win32/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -213,6 +212,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -268,6 +269,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -278,6 +281,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h b/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h index ab54763..e3e4426 100644 --- a/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h +++ b/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h @@ -71,8 +71,8 @@ struct _Ecore_Win32_Window unsigned int min_height; unsigned int max_width; unsigned int max_height; - unsigned int base_width; - unsigned int base_height; + int base_width; + int base_height; unsigned int step_width; unsigned int step_height; diff --git a/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c b/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c index 459f051..058aef0 100644 --- a/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c +++ b/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c @@ -107,8 +107,8 @@ ecore_win32_window_internal_new(Ecore_Win32_Window *parent, w->min_height = 0; w->max_width = 32767; w->max_height = 32767; - w->base_width = 0; - w->base_height = 0; + w->base_width = -1; + w->base_height = -1; w->step_width = 1; w->step_height = 1; @@ -249,6 +249,8 @@ ecore_win32_window_free(Ecore_Win32_Window *window) * * This function returns the window HANDLE associated to @p window. If * @p window is @c NULL, this function returns @c NULL. + * + * @note The returned value is of type HWND. */ EAPI void * ecore_win32_window_hwnd_get(Ecore_Win32_Window *window) @@ -755,140 +757,6 @@ ecore_win32_window_size_step_get(Ecore_Win32_Window *window, if (step_height) *step_height = window->step_height; } -EAPI void -ecore_win32_window_shape_set(Ecore_Win32_Window *window, - unsigned short width, - unsigned short height, - unsigned char *mask) -{ - HRGN rgn; - int x; - int y; - OSVERSIONINFO version_info; - - if (!window) - return; - - if (!mask) - { - window->shape.enabled = 0; - if (window->shape.layered != 0) - { - window->shape.layered = 0; -#if defined(WS_EX_LAYERED) - SetLastError(0); - if (!SetWindowLongPtr(window->window, GWL_EXSTYLE, - GetWindowLong(window->window, GWL_EXSTYLE) & (~WS_EX_LAYERED)) && - (GetLastError() != 0)) - { - ERR("SetWindowLongPtr() failed"); - return; - } - if (!RedrawWindow(window->window, NULL, NULL, - RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN)) - { - ERR("RedrawWindow() failed"); - return; - } -#endif - } - else - if (!SetWindowRgn(window->window, NULL, TRUE)) - { - ERR("SetWindowRgn() failed"); - } - return; - } - - if (width == 0 || height == 0) - return; - - window->shape.enabled = 1; - - if (width != window->shape.width || height != window->shape.height) - { - window->shape.width = width; - window->shape.height = height; - if (window->shape.mask) - { - free(window->shape.mask); - window->shape.mask = NULL; - } - window->shape.mask = malloc(width * height); - } - memcpy(window->shape.mask, mask, width * height); - - window->shape.layered = 0; - -#if defined(WS_EX_LAYERED) - version_info.dwOSVersionInfoSize = sizeof(version_info); - if (GetVersionEx(&version_info) == TRUE && version_info.dwMajorVersion == 5) - { - SetLastError(0); - if (!SetWindowLongPtr(window->window, GWL_EXSTYLE, - GetWindowLong(window->window, GWL_EXSTYLE) | WS_EX_LAYERED) && - (GetLastError() != 0)) - { - ERR("SetWindowLongPtr() failed"); - return; - } - window->shape.layered = 1; - return; - } -#endif - - if (!(rgn = CreateRectRgn(0, 0, 0, 0))) - { - ERR("CreateRectRgn() failed"); - return; - } - for (y = 0; y < height; y++) - { - HRGN rgnLine; - - if (!(rgnLine = CreateRectRgn(0, 0, 0, 0))) - { - ERR("CreateRectRgn() failed"); - return; - } - for (x = 0; x < width; x++) - { - if (mask[y * width + x] > 0) - { - HRGN rgnDot; - - if (!(rgnDot = CreateRectRgn(x, y, x + 1, y + 1))) - { - ERR("CreateRectRgn() failed"); - return; - } - if (CombineRgn(rgnLine, rgnLine, rgnDot, RGN_OR) == ERROR) - { - ERR("CombineRgn() has not created a new region"); - } - if (!DeleteObject(rgnDot)) - { - ERR("DeleteObject() failed"); - return; - } - } - } - if (CombineRgn(rgn, rgn, rgnLine, RGN_OR) == ERROR) - { - ERR("CombineRgn() has not created a new region"); - } - if (!DeleteObject(rgnLine)) - { - ERR("DeleteObject() failed"); - return; - } - } - if (!SetWindowRgn(window->window, rgn, TRUE)) - { - ERR("SetWindowRgn() failed"); - } -} - /** * @brief Show the given window. * @@ -1011,7 +879,7 @@ ecore_win32_window_title_set(Ecore_Win32_Window *window, * @c NULL, this function does nothing. */ EAPI void -ecore_win32_window_focus_set(Ecore_Win32_Window *window) +ecore_win32_window_focus(Ecore_Win32_Window *window) { if (!window) return; @@ -1024,6 +892,37 @@ ecore_win32_window_focus_set(Ecore_Win32_Window *window) } /** + * @brief Get the current focused window. + * + * @return The window that has focus. + * + * This function returns the window that has focus. If the calling + * thread's message queue does not have an associated window with the + * keyboard focus, the return value is @c NULL. + * + * @note Even if the returned value is @c NULL, another thread's queue + * may be associated with a window that has the keyboard focus. + * + * @note The returned value is of type HWND. + */ +EAPI void * +ecore_win32_window_focus_get(void) +{ + HWND focused; + + INF("getting focused window"); + + focused = GetFocus(); + if (!focused) + { + ERR("GetFocus() failed"); + return NULL; + } + + return focused; +} + +/** * @brief Iconify or restore the given window. * * @param window The window. diff --git a/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h b/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h index 681b334..63e20d5 100644 --- a/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h +++ b/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h @@ -280,6 +280,10 @@ EAPI void ecore_wince_window_hide(Ecore_WinCE_Window *window); EAPI void ecore_wince_window_title_set(Ecore_WinCE_Window *window, const char *title); +EAPI void ecore_wince_window_focus(Ecore_WinCE_Window *window); + +EAPI void *ecore_wince_window_focus_get(void); + EAPI void ecore_wince_window_backend_set(Ecore_WinCE_Window *window, int backend); EAPI void ecore_wince_window_suspend_cb_set(Ecore_WinCE_Window *window, int (*suspend_cb)(int)); diff --git a/libraries/ecore/src/lib/ecore_wince/Makefile.in b/libraries/ecore/src/lib/ecore_wince/Makefile.in index d23bf51..340416b 100644 --- a/libraries/ecore/src/lib/ecore_wince/Makefile.in +++ b/libraries/ecore/src/lib/ecore_wince/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -194,6 +193,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -249,6 +250,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -259,6 +262,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c b/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c index 4e8b7b1..72353ce 100644 --- a/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c +++ b/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c @@ -447,6 +447,58 @@ ecore_wince_window_title_set(Ecore_WinCE_Window *window, } /** + * @brief Set the focus to the given window. + * + * @param window The window to give focus to. + * + * This function gives the focus to @p window. If @p window is + * @c NULL, this function does nothing. + */ +EAPI void +ecore_wince_window_focus(Ecore_WinCE_Window *window) +{ + if (!window) return; + + INF("focusing window"); + + if (!SetFocus(window->window)) + { + ERR("SetFocus() failed"); + } +} + +/** + * @brief Get the current focused window. + * + * @return The window that has focus. + * + * This function returns the window that has focus. If the calling + * thread's message queue does not have an associated window with the + * keyboard focus, the return value is @c NULL. + * + * @note Even if the returned value is @c NULL, another thread's queue + * may be associated with a window that has the keyboard focus. + * + * @note The returned value is of type HWND. + */ +EAPI void * +ecore_wince_window_focus_get(void) +{ + HWND focused; + + INF("getting focused window"); + + focused = GetFocus(); + if (!focused) + { + ERR("GetFocus() failed"); + return NULL; + } + + return focused; +} + +/** * @brief Set the graphic backend used for the given window. * * @param window The window. diff --git a/libraries/ecore/src/lib/ecore_x/Ecore_X.h b/libraries/ecore/src/lib/ecore_x/Ecore_X.h index b5d2c3f..336b656 100644 --- a/libraries/ecore/src/lib/ecore_x/Ecore_X.h +++ b/libraries/ecore/src/lib/ecore_x/Ecore_X.h @@ -1104,6 +1104,28 @@ typedef enum _Ecore_X_Illume_Quickpanel_State ECORE_X_ILLUME_QUICKPANEL_STATE_ON } Ecore_X_Illume_Quickpanel_State; +typedef enum _Ecore_X_Illume_Indicator_State +{ + ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN = 0, + ECORE_X_ILLUME_INDICATOR_STATE_OFF, + ECORE_X_ILLUME_INDICATOR_STATE_ON +} Ecore_X_Illume_Indicator_State; + +typedef enum _Ecore_X_Illume_Clipboard_State +{ + ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN = 0, + ECORE_X_ILLUME_CLIPBOARD_STATE_OFF, + ECORE_X_ILLUME_CLIPBOARD_STATE_ON +} Ecore_X_Illume_Clipboard_State; + +typedef enum _Ecore_X_Illume_Indicator_Opacity_Mode +{ + ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN = 0, + ECORE_X_ILLUME_INDICATOR_OPAQUE, + ECORE_X_ILLUME_INDICATOR_TRANSLUCENT, + ECORE_X_ILLUME_INDICATOR_TRANSPARENT +} Ecore_X_Illume_Indicator_Opacity_Mode; + /* Window layer constants */ #define ECORE_X_WINDOW_LAYER_BELOW 2 #define ECORE_X_WINDOW_LAYER_NORMAL 4 @@ -2159,6 +2181,11 @@ ecore_x_netwm_strut_partial_get(Ecore_X_Window win, int *bottom_start_x, int *bottom_end_x); +EAPI void +ecore_x_netwm_icons_set(Ecore_X_Window win, + Ecore_X_Icon *icon, + int num); + EAPI Eina_Bool ecore_x_netwm_icons_get(Ecore_X_Window win, Ecore_X_Icon **icon, @@ -2399,6 +2426,25 @@ EAPI void ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win); EAPI void +ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, + Ecore_X_Illume_Clipboard_State state); + +EAPI Ecore_X_Illume_Clipboard_State +ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win); + +EAPI void +ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, + int x, + int y, + int w, + int h); +EAPI Eina_Bool +ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, + int *x, + int *y, + int *w, + int *h); +EAPI void ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, Ecore_X_Sync_Counter counter); EAPI Ecore_X_Sync_Counter @@ -2657,7 +2703,7 @@ ecore_x_xregion_rect_contain(Ecore_X_XRegion *region, /* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset' * depends on the context. In most cases 'Ecore_X_Randr_Unset' * can be used, but in some cases -1 is a special value to - * functions, thus 'Ecore_X_Randr_None' (=0) musst be used. + * functions, thus 'Ecore_X_Randr_None' (=0) must be used. */ typedef short Ecore_X_Randr_Refresh_Rate; @@ -2749,6 +2795,11 @@ EAPI Eina_Bool EAPI Ecore_X_Randr_Mode_Info ** ecore_x_randr_modes_info_get(Ecore_X_Window root, int *num); +EAPI Ecore_X_Randr_Mode +ecore_x_randr_mode_info_add(Ecore_X_Window root, + Ecore_X_Randr_Mode_Info *mode_info); +EAPI void +ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode); EAPI Ecore_X_Randr_Mode_Info * ecore_x_randr_mode_info_get(Ecore_X_Window root, Ecore_X_Randr_Mode mode); @@ -2762,10 +2813,13 @@ EAPI Ecore_X_Randr_Output *ecore_x_randr_outputs_get(Ecore_X_Window root, EAPI Ecore_X_Randr_Output * ecore_x_randr_window_outputs_get(Ecore_X_Window window, int *num); -EINA_DEPRECATED EAPI Ecore_X_Randr_Output * +EAPI Ecore_X_Randr_Output * ecore_x_randr_current_output_get(Ecore_X_Window window, int *num); EAPI Ecore_X_Randr_Crtc * +ecore_x_randr_window_crtcs_get(Ecore_X_Window window, + int *num); +EAPI Ecore_X_Randr_Crtc * ecore_x_randr_current_crtc_get(Ecore_X_Window window, int *num); EAPI Ecore_X_Randr_Output * @@ -2840,6 +2894,12 @@ ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc_r2, Ecore_X_Randr_Output_Policy policy, Ecore_X_Randr_Relative_Alignment alignment); +EAPI Eina_Bool +ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, + Ecore_X_Randr_Mode mode); +EAPI void +ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output, + Ecore_X_Randr_Mode mode); EAPI Ecore_X_Randr_Mode * ecore_x_randr_output_modes_get(Ecore_X_Window root, Ecore_X_Randr_Output output, @@ -3408,6 +3468,13 @@ EAPI Eina_Bool EAPI const char * ecore_x_keysym_string_get(int keysym); +/** + * Given a keyname, return the keycode representing that key + * + * @since 1.2.0 + */ +EAPI int ecore_x_keysym_keycode_get(const char *keyname); + typedef struct _Ecore_X_Image Ecore_X_Image; EAPI Ecore_X_Image * @@ -3617,6 +3684,26 @@ ecore_x_gesture_event_ungrab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers); +EAPI void +ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, + Ecore_X_Illume_Indicator_State state); +EAPI Ecore_X_Illume_Indicator_State +ecore_x_e_illume_indicator_state_get(Ecore_X_Window win); +EAPI void +ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, + Ecore_X_Illume_Indicator_State state); + +EAPI void +ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, + Ecore_X_Illume_Indicator_Opacity_Mode mode); + +EAPI Ecore_X_Illume_Indicator_Opacity_Mode +ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win); + +EAPI void +ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, + Ecore_X_Illume_Indicator_Opacity_Mode mode); + #ifdef __cplusplus } #endif // ifdef __cplusplus diff --git a/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h b/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h index 6788a5e..1341716 100644 --- a/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h +++ b/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h @@ -238,6 +238,20 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE; diff --git a/libraries/ecore/src/lib/ecore_x/Makefile.in b/libraries/ecore/src/lib/ecore_x/Makefile.in index 3b53cfe..fb446ef 100644 --- a/libraries/ecore/src/lib/ecore_x/Makefile.in +++ b/libraries/ecore/src/lib/ecore_x/Makefile.in @@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -224,6 +223,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -279,6 +280,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -289,6 +292,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h b/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h index 3f22356..8952df3 100644 --- a/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h +++ b/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h @@ -264,6 +264,20 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_ON = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE= 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE = 0; diff --git a/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in b/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in index 9108f23..ff2227c 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in +++ b/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in @@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -206,6 +205,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -261,6 +262,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -271,6 +274,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c index 769ffac..ec2daaf 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c @@ -249,7 +249,20 @@ static Xcb_Atom atoms[] = { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE }, { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE }, - + { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE }, + { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON }, + { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF }, + { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE }, + { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE }, + { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT }, + { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT }, + { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE }, + { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE }, + { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE }, + { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE }, + { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON }, + { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF }, + { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY }, { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c index c868f5e..60bfc9c 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c @@ -7,6 +7,8 @@ static Ecore_X_Atom _ecore_xcb_e_quickpanel_atom_get(Ecore_X_ static Ecore_X_Illume_Quickpanel_State _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom); static Ecore_X_Atom _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode); static Ecore_X_Illume_Mode _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom); +static Ecore_X_Atom _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state); +static Ecore_X_Illume_Indicator_State _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom); EAPI void ecore_x_e_init(void) @@ -719,6 +721,99 @@ ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win) 0, 0, 0, 0, 0); } +static Ecore_X_Atom +_ecore_xcb_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) +{ + switch (state) + { + case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; + case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; + default: + break; + } + return 0; +} + +static Ecore_X_Illume_Clipboard_State +_ecore_xcb_e_clipboard_state_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) + return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; + + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) + return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; + + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; +} + +EAPI void +ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, + Ecore_X_Illume_Clipboard_State state) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + atom = _ecore_xcb_e_clipboard_atom_get(state); + + ecore_x_window_prop_atom_set(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Clipboard_State +ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (!ecore_x_window_prop_atom_get(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, + &atom, 1)) + return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; + return _ecore_xcb_e_clipboard_state_get(atom); +} + +EAPI void +ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, + int x, int y, int w, int h) +{ + unsigned int geom[4]; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + geom[0] = x; + geom[1] = y; + geom[2] = w; + geom[3] = h; + ecore_x_window_prop_card32_set(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, + geom, 4); +} + +EAPI Eina_Bool +ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, + int *x, int *y, int *w, int *h) +{ + int ret = 0; + unsigned int geom[4]; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ret = + ecore_x_window_prop_card32_get(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, + geom, 4); + if (ret != 4) return EINA_FALSE; + + if (x) *x = geom[0]; + if (y) *y = geom[1]; + if (w) *w = geom[2]; + if (h) *h = geom[3]; + + return EINA_TRUE; +} + EAPI void ecore_x_e_illume_mode_set(Ecore_X_Window win, Ecore_X_Illume_Mode mode) @@ -1069,3 +1164,144 @@ _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom) return ECORE_X_ILLUME_MODE_UNKNOWN; } +static Ecore_X_Atom +_ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state) +{ + switch (state) + { + case ECORE_X_ILLUME_INDICATOR_STATE_ON: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; + + case ECORE_X_ILLUME_INDICATOR_STATE_OFF: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; + + default: + break; + } + return 0; +} + +static Ecore_X_Illume_Indicator_State +_ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON) + return ECORE_X_ILLUME_INDICATOR_STATE_ON; + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF) + return ECORE_X_ILLUME_INDICATOR_STATE_OFF; + + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; +} + +EAPI void +ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, + Ecore_X_Illume_Indicator_State state) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + atom = _ecore_xcb_e_indicator_atom_get(state); + ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Indicator_State +ecore_x_e_illume_indicator_state_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (!ecore_x_window_prop_atom_get(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, + &atom, 1)) + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; + + return _ecore_xcb_e_indicator_state_get(atom); +} + +EAPI void +ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, + Ecore_X_Illume_Indicator_State state) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, + ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, + _ecore_xcb_e_indicator_atom_get(state), + 0, 0, 0, 0); +} + +static Ecore_X_Atom +_ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode) +{ + switch (mode) + { + case ECORE_X_ILLUME_INDICATOR_OPAQUE: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; + + case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; + + case ECORE_X_ILLUME_INDICATOR_TRANSPARENT: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; + + default: + break; + } + return 0; +} + +static Ecore_X_Illume_Indicator_Opacity_Mode +_ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE) + return ECORE_X_ILLUME_INDICATOR_OPAQUE; + + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT) + return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT; + + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT) + return ECORE_X_ILLUME_INDICATOR_TRANSPARENT; + + return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; +} + +EAPI void +ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, + Ecore_X_Illume_Indicator_Opacity_Mode mode) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + atom = _ecore_x_e_indicator_opacity_atom_get(mode); + ecore_x_window_prop_atom_set(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Indicator_Opacity_Mode +ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + if (!ecore_x_window_prop_atom_get(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, + &atom, 1)) + return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; + + return _ecore_x_e_indicator_opacity_get(atom); +} + +EAPI void +ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, + Ecore_X_Illume_Indicator_Opacity_Mode mode) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ecore_x_client_message32_send(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, + ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, + _ecore_x_e_indicator_opacity_atom_get(mode), + 0, 0, 0, 0); +} + diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c index 40304df..b1c7528 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c @@ -279,6 +279,14 @@ ecore_x_keysym_string_get(int keysym) return _ecore_xcb_keymap_keysym_to_string(keysym); } +EAPI int +ecore_x_keysym_keycode_get(const char *keyname) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + return _ecore_xcb_keymap_string_to_keycode(keyname); +} + /* local functions */ static int _ecore_xcb_keymap_mask_get(void *reply, diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c index 0a523b9..b1e0622 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c @@ -838,6 +838,56 @@ ecore_x_netwm_icon_name_set(Ecore_X_Window win, ecore_x_window_prop_string_set(win, ECORE_X_ATOM_NET_WM_ICON_NAME, name); } +EAPI void +ecore_x_netwm_icons_set(Ecore_X_Window win, + Ecore_X_Icon *icon, + int num) +{ + unsigned int *data, *p, *p2; + unsigned int i, size, x, y; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + size = 0; + for (i = 0; i < (unsigned int)num; i++) + { + size += 2 + (icon[i].width * icon[i].height); + } + data = malloc(size * sizeof(unsigned int)); + if (!data) return; + p = data; + for (i = 0; i < (unsigned int)num; i++) + { + p[0] = icon[i].width; + p[1] = icon[i].height; + p += 2; + p2 = icon[i].data; + for (y = 0; y < icon[i].height; y++) + { + for (x = 0; x < icon[i].width; x++) + { + unsigned int r, g, b, a; + + a = (*p2 >> 24) & 0xff; + r = (*p2 >> 16) & 0xff; + g = (*p2 >> 8 ) & 0xff; + b = (*p2 ) & 0xff; + if ((a > 0) && (a < 255)) + { + r = (r * 255) / a; + g = (g * 255) / a; + b = (b * 255) / a; + } + *p = (a << 24) | (r << 16) | (g << 8) | b; + p++; + p2++; + } + } + } + ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_NET_WM_ICON, + data, size); + free(data); +} + EAPI Eina_Bool ecore_x_netwm_icons_get(Ecore_X_Window win, Ecore_X_Icon **icon, diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c index 62f7618..81a7c3f 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c @@ -1,7 +1,6 @@ /* TODO: List of missing functions * * ecore_x_randr_crtc_clone_set - * ecore_x_randr_output_size_mm_get * ecore_x_randr_output_crtc_set * ecore_x_randr_edid_version_get * ecore_x_randr_edid_info_has_valid_checksum @@ -776,6 +775,24 @@ ecore_x_randr_output_modes_get(Ecore_X_Window root, return modes; } +EAPI Eina_Bool +ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, Ecore_X_Randr_Mode mode) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + CHECK_XCB_CONN; + +#ifdef ECORE_XCB_RANDR + RANDR_CHECK_1_2_RET(EINA_FALSE); + + if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) + return EINA_FALSE; + + xcb_randr_add_output_mode(_ecore_xcb_conn, output, mode); + return EINA_TRUE; +#endif + return EINA_FALSE; +} + /* * @brief get detailed information for a given mode id * @param root window which's screen's ressources are queried @@ -805,6 +822,63 @@ ecore_x_randr_mode_info_get(Ecore_X_Window root, } /* + * @brief add a mode to a display + * @param root window to which's screen's ressources are added + * @param mode_info + * @return Ecore_X_Randr_Mode of the added mode. Ecore_X_Randr_None if mode + * adding failed. + * @since 1.2.0 + */ +EAPI Ecore_X_Randr_Mode +ecore_x_randr_mode_info_add(Ecore_X_Window root, Ecore_X_Randr_Mode_Info *mode_info) +{ +#ifdef ECORE_XCB_RANDR + Ecore_X_Randr_Mode mode = Ecore_X_Randr_None; + xcb_randr_create_mode_cookie_t cookie; + xcb_randr_create_mode_reply_t *reply; + xcb_randr_mode_info_t info; + int namelen = 0; +#endif + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + CHECK_XCB_CONN; + +#ifdef ECORE_XCB_RANDR + RANDR_CHECK_1_2_RET(EINA_FALSE); + + if (!mode_info) return Ecore_X_Randr_None; + if (!_ecore_xcb_randr_root_validate(root)) return Ecore_X_Randr_None; + + namelen = strlen(mode_info->name); + + memset(&info, 0, sizeof(info)); + info.width = mode_info->width; + info.height = mode_info->height; + info.dot_clock = mode_info->dotClock; + info.hsync_start = mode_info->hSyncStart; + info.hsync_end = mode_info->hSyncEnd; + info.htotal = mode_info->hTotal; + info.hskew = mode_info->hSkew; + info.vsync_start = mode_info->vSyncStart; + info.vsync_end = mode_info->vSyncEnd; + info.vtotal = mode_info->vTotal; + info.mode_flags = mode_info->modeFlags; + info.name_len = namelen; + + cookie = + xcb_randr_create_mode_unchecked(_ecore_xcb_conn, root, info, + namelen, mode_info->name); + reply = xcb_randr_create_mode_reply(_ecore_xcb_conn, cookie, NULL); + if (reply) + { + mode = mode_info->xid; + free(reply); + } +#endif + return mode; +} + +/* * @brief get detailed information for all modes related to a root window's screen * @param root window which's screen's ressources are queried * @param num number of modes returned @@ -1057,6 +1131,53 @@ ecore_x_randr_output_crtc_get(Ecore_X_Window root, return Ecore_X_Randr_None; } +EAPI void +ecore_x_randr_output_size_mm_get(Ecore_X_Window root, Ecore_X_Randr_Output output, int *w_mm, int *h_mm) +{ +#ifdef ECORE_XCB_RANDR + xcb_randr_get_output_info_cookie_t ocookie; + xcb_randr_get_output_info_reply_t *oreply; + xcb_timestamp_t timestamp = 0; +#endif + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + CHECK_XCB_CONN; + + if (w_mm) *w_mm = 0; + if (h_mm) *h_mm = 0; + +#ifdef ECORE_XCB_RANDR + RANDR_CHECK_1_2_RET(); + + if ((output != Ecore_X_Randr_None) && (_randr_version >= RANDR_1_3)) + { + xcb_randr_get_screen_resources_current_reply_t *reply; + + reply = _ecore_xcb_randr_13_get_resources(root); + timestamp = reply->config_timestamp; + free(reply); + } + else if ((output != Ecore_X_Randr_None) && (_randr_version == RANDR_1_2)) + { + xcb_randr_get_screen_resources_reply_t *reply; + + reply = _ecore_xcb_randr_12_get_resources(root); + timestamp = reply->config_timestamp; + free(reply); + } + + ocookie = + xcb_randr_get_output_info_unchecked(_ecore_xcb_conn, output, timestamp); + oreply = xcb_randr_get_output_info_reply(_ecore_xcb_conn, ocookie, NULL); + if (oreply) + { + if (w_mm) *w_mm = oreply->mm_width; + if (h_mm) *h_mm = oreply->mm_height; + free(oreply); + } +#endif +} + /** * @brief sets the demanded parameters for a given CRTC. Note that the CRTC is * auto enabled in it's preferred mode, when it was disabled before. @@ -1439,6 +1560,87 @@ ecore_x_randr_crtcs_get(Ecore_X_Window root, } /* + * @deprecated bad naming. Use ecore_x_randr_window_crtcs_get instead. + * @brief get the CRTCs, which display a certain window + * @param window window the displaying CRTCs shall be found for + * @param num the number of CRTCs displaying the window + * @return array of CRTCs that display a certain window. NULL if no CRTCs + * was found that displays the specified window. + */ +EAPI Ecore_X_Randr_Crtc * +ecore_x_randr_current_crtc_get(Ecore_X_Window window, + int *num) +{ + return ecore_x_randr_window_crtcs_get(window, num); +} + +/* + * @brief get the CRTCs, which display a certain window + * @param window window the displaying crtcs shall be found for + * @param num the number of crtcs displaying the window + * @return array of crtcs that display a certain window. NULL if no crtcs + * was found that displays the specified window. + * @since 1.2.0 + */ +EAPI Ecore_X_Randr_Crtc * +ecore_x_randr_window_crtcs_get(Ecore_X_Window window, + int *num) +{ +#ifdef ECORE_XCB_RANDR + Ecore_X_Window root; + Eina_Rectangle w_geo, c_geo; + Ecore_X_Randr_Crtc *crtcs, *ret = NULL; + Ecore_X_Randr_Mode mode; + int ncrtcs, i, nret = 0; + xcb_translate_coordinates_cookie_t cookie; + xcb_translate_coordinates_reply_t *trans; +#endif + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + CHECK_XCB_CONN; + +#ifdef ECORE_XCB_RANDR + RANDR_CHECK_1_2_RET(NULL); + + ecore_x_window_geometry_get(window, &w_geo.x, &w_geo.y, &w_geo.w, &w_geo.h); + + root = ecore_x_window_root_get(window); + crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); + if (!crtcs) return NULL; + + /* now get window RELATIVE to root window - thats what matters. */ + cookie = xcb_translate_coordinates(_ecore_xcb_conn, window, root, 0, 0); + trans = xcb_translate_coordinates_reply(_ecore_xcb_conn, cookie, NULL); + w_geo.x = trans->dst_x; + w_geo.y = trans->dst_y; + free(trans); + + for (i = 0, nret = 0; i < ncrtcs; i++) + { + /* if crtc is not enabled, don't bother about it any further */ + mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); + if (mode == Ecore_X_Randr_None) continue; + + ecore_x_randr_crtc_geometry_get(root, crtcs[i], &c_geo.x, &c_geo.y, + &c_geo.w, &c_geo.h); + if (eina_rectangles_intersect(&w_geo, &c_geo)) + { + ret = realloc(ret, (++nret * + sizeof(Ecore_X_Randr_Output))); + ret[nret] = crtcs[i]; + } + } + free(crtcs); + + if (num) *num = nret; + return ret; + +#endif + if (num) *num = 0; + return NULL; +} + +/* * @brief get a CRTC's outputs. * @param root the root window which's screen will be queried * @param num number of outputs referenced by given CRTC @@ -2172,6 +2374,22 @@ ecore_x_randr_screen_current_size_set(Ecore_X_Window root, } /* + * @deprecated bad naming. Use ecore_x_randr_window_outputs_get instead. + * @brief get the outputs, which display a certain window + * @param window window the displaying outputs shall be found for + * @param num the number of outputs displaying the window + * @return array of outputs that display a certain window. NULL if no outputs + * was found that displays the specified window. + */ + +Ecore_X_Randr_Output * +ecore_x_randr_current_output_get(Ecore_X_Window window, + int *num) +{ + return ecore_x_randr_window_outputs_get(window, num); +} + +/* * @brief get the outputs, which display a certain window * @param window window the displaying outputs shall be found for * @param num the number of outputs displaying the window @@ -2184,13 +2402,9 @@ ecore_x_randr_window_outputs_get(Ecore_X_Window window, { #ifdef ECORE_XCB_RANDR Ecore_X_Window root; - Eina_Rectangle w_geo, c_geo; Ecore_X_Randr_Crtc *crtcs; - Ecore_X_Randr_Mode mode; - Ecore_X_Randr_Output *outputs, *ret = NULL, *tret; + Ecore_X_Randr_Output *outputs, *ret = NULL; int ncrtcs, noutputs, i, nret = 0; - xcb_translate_coordinates_cookie_t cookie; - xcb_translate_coordinates_reply_t *trans; #endif LOGFN(__FILE__, __LINE__, __FUNCTION__); @@ -2199,64 +2413,36 @@ ecore_x_randr_window_outputs_get(Ecore_X_Window window, if (num) *num = 0; #ifdef ECORE_XCB_RANDR - RANDR_CHECK_1_2_RET(NULL); - - ecore_x_window_geometry_get(window, &w_geo.x, &w_geo.y, &w_geo.w, &w_geo.h); + if (_randr_version < RANDR_1_2) goto _ecore_x_randr_current_output_get_fail; root = ecore_x_window_root_get(window); - crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); - if (!crtcs) return NULL; + if (!(crtcs = ecore_x_randr_window_crtcs_get(window, &ncrtcs))) + goto _ecore_x_randr_current_output_get_fail; - /* now get window RELATIVE to root window - thats what matters. */ - cookie = xcb_translate_coordinates(_ecore_xcb_conn, window, root, 0, 0); - trans = xcb_translate_coordinates_reply(_ecore_xcb_conn, cookie, NULL); - w_geo.x = trans->dst_x; - w_geo.y = trans->dst_y; - free(trans); - - for (i = 0; i < ncrtcs; i++) + for (i = 0, nret = 0; i < ncrtcs; i++) { - /* if crtc is not enabled, don't bother about it any further */ - mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); - if (mode == Ecore_X_Randr_None) continue; - ecore_x_randr_crtc_geometry_get(root, crtcs[i], &c_geo.x, &c_geo.y, - &c_geo.w, &c_geo.h); - if (eina_rectangles_intersect(&w_geo, &c_geo)) - { - outputs = - ecore_x_randr_crtc_outputs_get(root, crtcs[i], &noutputs); - /* The case below should be impossible, but for safety reasons - * remains */ - if (!outputs) - { - if (num) *num = 0; - free(ret); - free(crtcs); - return NULL; - } - tret = realloc(ret, ((nret + noutputs) * - sizeof(Ecore_X_Randr_Output))); - if (!tret) - { - if (num) *num = 0; - free(outputs); - free(ret); - free(crtcs); - return NULL; - } - ret = tret; - memcpy(&ret[nret], outputs, - (noutputs * sizeof(Ecore_X_Randr_Output))); - nret += noutputs; - free(outputs); - } + outputs = ecore_x_randr_crtc_outputs_get(root, crtcs[i], + &noutputs); + if (!outputs) + goto _ecore_x_randr_current_output_get_fail_free; + nret += noutputs; + ret = realloc(ret, (nret * sizeof(Ecore_X_Randr_Output))); + memcpy(&ret[nret], outputs, (noutputs * sizeof(Ecore_X_Randr_Output))); + free(outputs); } free(crtcs); - if (num) *num = nret; + if (num) + *num = nret; + return ret; +_ecore_x_randr_current_output_get_fail_free: + free(outputs); + free(crtcs); + free(ret); +_ecore_x_randr_current_output_get_fail: #endif if (num) *num = 0; return NULL; diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c index 27bceaf..3458729 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c @@ -651,7 +651,7 @@ ecore_x_window_depth_get(Ecore_X_Window win) * @c _NET_WM_PID. * * @param win The given window. - * @ingroup Ecore_X_Window_Properties_Groups + * @ingroup Ecore_X_Window_Properties_Group */ EAPI void ecore_x_window_defaults_set(Ecore_X_Window win) @@ -1119,7 +1119,7 @@ ecore_x_window_save_set_del(Ecore_X_Window win) } /** - * gets the focus to the window @p win. + * gets the window that has focus. * @return The window that has focus. * @ingroup Ecore_X_Window_Focus_Functions */ diff --git a/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in b/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in index 27a2841..cada69a 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in +++ b/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in @@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -197,6 +196,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -252,6 +253,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -262,6 +265,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c index ee981fe..7a8bffa 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c @@ -270,7 +270,20 @@ _ecore_x_atoms_init(void) { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE }, { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE }, - + { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE }, + { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON }, + { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF }, + { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE }, + { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE }, + { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT }, + { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT }, + { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE }, + { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE }, + { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE }, + { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE }, + { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON }, + { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF }, + { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY }, { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c index 5966bbd..4bd5218 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c @@ -768,6 +768,99 @@ ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win) 1, 0, 0, 0, 0); } +static Ecore_X_Atom +_ecore_x_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) +{ + switch (state) + { + case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; + case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; + default: + break; + } + return 0; +} + +static Ecore_X_Illume_Clipboard_State +_ecore_x_e_clipboard_state_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) + return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; + + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) + return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; + + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; +} + +EAPI void +ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, + Ecore_X_Illume_Clipboard_State state) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + atom = _ecore_x_e_clipboard_atom_get(state); + + ecore_x_window_prop_atom_set(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Clipboard_State +ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (!ecore_x_window_prop_atom_get(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, + &atom, 1)) + return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; + return _ecore_x_e_clipboard_state_get(atom); +} + +EAPI void +ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, + int x, int y, int w, int h) +{ + unsigned int geom[4]; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + geom[0] = x; + geom[1] = y; + geom[2] = w; + geom[3] = h; + ecore_x_window_prop_card32_set(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, + geom, 4); +} + +EAPI Eina_Bool +ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, + int *x, int *y, int *w, int *h) +{ + int ret = 0; + unsigned int geom[4]; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ret = + ecore_x_window_prop_card32_get(win, + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, + geom, 4); + if (ret != 4) return EINA_FALSE; + + if (x) *x = geom[0]; + if (y) *y = geom[1]; + if (w) *w = geom[2]; + if (h) *h = geom[3]; + + return EINA_TRUE; +} + EAPI void ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, Ecore_X_Sync_Counter counter) @@ -1058,3 +1151,143 @@ ecore_x_e_comp_pixmap_get(Ecore_X_Window win) return pixmap; } +static Ecore_X_Atom +_ecore_x_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state) +{ + switch (state) + { + case ECORE_X_ILLUME_INDICATOR_STATE_ON: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; + + case ECORE_X_ILLUME_INDICATOR_STATE_OFF: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; + + default: + break; + } + return 0; +} + +static Ecore_X_Illume_Indicator_State +_ecore_x_e_indicator_state_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON) + return ECORE_X_ILLUME_INDICATOR_STATE_ON; + + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF) + return ECORE_X_ILLUME_INDICATOR_STATE_OFF; + + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; +} + +EAPI void +ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, + Ecore_X_Illume_Indicator_State state) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + atom = _ecore_x_e_indicator_atom_get(state); + ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Indicator_State +ecore_x_e_illume_indicator_state_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + if (!ecore_x_window_prop_atom_get(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, + &atom, 1)) + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; + + return _ecore_x_e_indicator_state_get(atom); +} + +EAPI void +ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, + Ecore_X_Illume_Indicator_State state) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, + ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, + _ecore_x_e_indicator_atom_get(state), + 0, 0, 0, 0); +} + +static Ecore_X_Atom +_ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode) +{ + switch (mode) + { + case ECORE_X_ILLUME_INDICATOR_OPAQUE: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; + + case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; + + case ECORE_X_ILLUME_INDICATOR_TRANSPARENT: + return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; + + default: + break; + } + return 0; +} + +static Ecore_X_Illume_Indicator_Opacity_Mode +_ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE) + return ECORE_X_ILLUME_INDICATOR_OPAQUE; + + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT) + return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT; + + if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT) + return ECORE_X_ILLUME_INDICATOR_TRANSPARENT; + + return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; +} + +EAPI void +ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, + Ecore_X_Illume_Indicator_Opacity_Mode mode) +{ + Ecore_X_Atom atom = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + atom = _ecore_x_e_indicator_opacity_atom_get(mode); + ecore_x_window_prop_atom_set(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Indicator_Opacity_Mode +ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + if (!ecore_x_window_prop_atom_get(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, + &atom, 1)) + return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; + + return _ecore_x_e_indicator_opacity_get(atom); +} + +EAPI void +ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, + Ecore_X_Illume_Indicator_Opacity_Mode mode) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ecore_x_client_message32_send(win, + ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, + ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, + _ecore_x_e_indicator_opacity_atom_get(mode), + 0, 0, 0, 0); +} + diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c index 9fc428a..3076c3c 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c @@ -661,6 +661,57 @@ ecore_x_netwm_strut_partial_get(Ecore_X_Window win, return EINA_TRUE; } +EAPI void +ecore_x_netwm_icons_set(Ecore_X_Window win, + Ecore_X_Icon *icon, + int num) +{ + unsigned int *data, *p, *p2; + unsigned int i, size, x, y; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + size = 0; + for (i = 0; i < (unsigned int)num; i++) + { + size += 2 + (icon[i].width * icon[i].height); + } + data = malloc(size * sizeof(unsigned int)); + if (!data) return; + p = data; + for (i = 0; i < (unsigned int)num; i++) + { + p[0] = icon[i].width; + p[1] = icon[i].height; + p += 2; + p2 = icon[i].data; + for (y = 0; y < icon[i].height; y++) + { + for (x = 0; x < icon[i].width; x++) + { + unsigned int r, g, b, a; + + a = (*p2 >> 24) & 0xff; + r = (*p2 >> 16) & 0xff; + g = (*p2 >> 8 ) & 0xff; + b = (*p2 ) & 0xff; + if ((a > 0) && (a < 255)) + { + // unpremul + r = (r * 255) / a; + g = (g * 255) / a; + b = (b * 255) / a; + } + *p = (a << 24) | (r << 16) | (g << 8) | b; + p++; + p2++; + } + } + } + ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_NET_WM_ICON, + data, size); + free(data); +} + EAPI Eina_Bool ecore_x_netwm_icons_get(Ecore_X_Window win, Ecore_X_Icon **icon, diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c index 38218a5..ec23b3c 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c @@ -347,9 +347,9 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, ret[i]->vSyncStart = res->modes[i].vSyncStart; ret[i]->vSyncEnd = res->modes[i].vSyncEnd; ret[i]->vTotal = res->modes[i].vTotal; - if ((ret[i]->name = (malloc(res->modes[i].nameLength)))) + if ((ret[i]->name = (malloc(res->modes[i].nameLength + 1)))) strncpy(ret[i]->name, res->modes[i].name, - res->modes[i].nameLength); + (res->modes[i].nameLength + 1)); else ret[i]->name = NULL; @@ -380,6 +380,48 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, } /* + * @brief add a mode to a display + * @param root window to which's screen's ressources are added + * @param mode_info + * @return Ecore_X_Randr_Mode of the added mode. Ecore_X_Randr_None if mode + * adding failed. + * @since 1.2.0 + */ +EAPI Ecore_X_Randr_Mode +ecore_x_randr_mode_info_add(Ecore_X_Window root, + Ecore_X_Randr_Mode_Info *mode_info) +{ +#ifdef ECORE_XRANDR + RANDR_CHECK_1_2_RET(EINA_FALSE); + Ecore_X_Randr_Mode mode = Ecore_X_Randr_None; + + if (_ecore_x_randr_root_validate(root) && mode_info) + mode = XRRCreateMode(_ecore_x_disp, root, (XRRModeInfo*)mode_info); + + return mode; +#else + return Ecore_X_Randr_None; +#endif +} + +/* + * @brief delete a mode from the display + * @param mode_info + * @since 1.2.0 + */ +EAPI void +ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode) +{ +#ifdef ECORE_XRANDR + RANDR_CHECK_1_2_RET(); + + XRRDestroyMode(_ecore_x_disp, mode); +#else + return; +#endif +} + +/* * @brief get detailed information for a given mode id * @param root window which's screen's ressources are queried * @param mode the XID which identifies the mode of interest @@ -491,6 +533,83 @@ ecore_x_randr_crtcs_get(Ecore_X_Window root, #endif } +/* + * @deprecated bad naming. Use ecore_x_randr_window_crtcs_get instead. + * @brief get the CRTCs, which display a certain window + * @param window window the displaying crtcs shall be found for + * @param num the number of crtcs displaying the window + * @return array of crtcs that display a certain window. NULL if no crtcs + * was found that displays the specified window. + */ +EAPI Ecore_X_Randr_Crtc * +ecore_x_randr_current_crtc_get(Ecore_X_Window window, + int *num) +{ + return ecore_x_randr_window_crtcs_get(window, num); +} + +/* + * @brief get the CRTCs, which display a certain window + * @param window window the displaying crtcs shall be found for + * @param num the number of crtcs displaying the window + * @return array of crtcs that display a certain window. NULL if no crtcs + * was found that displays the specified window. + * @since 1.2.0 + */ +EAPI Ecore_X_Randr_Crtc * +ecore_x_randr_window_crtcs_get(Ecore_X_Window window, + int *num) +{ +#ifdef ECORE_XRANDR + Ecore_X_Window root; + Eina_Rectangle w_geo, c_geo; + Ecore_X_Randr_Crtc *crtcs; + Ecore_X_Randr_Mode mode; + Ecore_X_Randr_Output *ret = NULL; + Window tw; + int ncrtcs, i, nret = 0, rx = 0, ry = 0; + + if (_randr_version < RANDR_1_2) goto _ecore_x_randr_window_crtcs_get_fail; + + ecore_x_window_geometry_get(window, + &w_geo.x, &w_geo.y, + &w_geo.w, &w_geo.h); + + root = ecore_x_window_root_get(window); + crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); + if (!crtcs) goto _ecore_x_randr_window_crtcs_get_fail; + + /* now get window RELATIVE to root window - thats what matters. */ + XTranslateCoordinates(_ecore_x_disp, window, root, 0, 0, &rx, &ry, &tw); + w_geo.x = rx; + w_geo.y = ry; + + for (i = 0, nret = 0; i < ncrtcs; i++) + { + /* if crtc is not enabled, don't bother about it any further */ + mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); + if (mode == Ecore_X_Randr_None) continue; + + ecore_x_randr_crtc_geometry_get(root, crtcs[i], + &c_geo.x, &c_geo.y, + &c_geo.w, &c_geo.h); + if (eina_rectangles_intersect(&w_geo, &c_geo)) + { + ret = realloc(ret, (sizeof(Ecore_X_Randr_Crtc) * ++nret)); + ret[nret] = crtcs[i]; + } + } + free(crtcs); + + if (num) *num = nret; + return ret; + +_ecore_x_randr_window_crtcs_get_fail: +#endif + if (num) *num = 0; + return NULL; +} + EAPI Ecore_X_Randr_Output * ecore_x_randr_outputs_get(Ecore_X_Window root, int *num) @@ -1364,6 +1483,54 @@ ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root, #endif } +/* + * @brief add given mode to given output + * @param output the output the mode is added to + * @param mode the mode added to the output + * @return EINA_FALSE if output or mode equal Ecore_X_Randr_None, else EINA_TRUE + * Additionally, if xcb backend is used, the success of the addition is reported + * back directly. + * @since 1.2.0 + */ +EAPI Eina_Bool +ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, + Ecore_X_Randr_Mode mode) +{ +#ifdef ECORE_XRANDR + RANDR_CHECK_1_2_RET(EINA_FALSE); + + if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) + return EINA_FALSE; + + XRRAddOutputMode(_ecore_x_disp, output, mode); + return EINA_TRUE; +#else + return EINA_FALSE; +#endif +} + +/* + * @brief delete given mode from given output + * @param output the output the mode is removed from + * @param mode the mode removed from the output + * @since 1.2.0 + */ +EAPI void +ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output, + Ecore_X_Randr_Mode mode) +{ +#ifdef ECORE_XRANDR + RANDR_CHECK_1_2_RET(); + + if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) + return; + + XRRDeleteOutputMode(_ecore_x_disp, output, mode); +#else + return; +#endif +} + EAPI Ecore_X_Randr_Mode * ecore_x_randr_output_modes_get(Ecore_X_Window root, Ecore_X_Randr_Output output, @@ -2136,70 +2303,39 @@ ecore_x_randr_window_outputs_get(Ecore_X_Window window, { #ifdef ECORE_XRANDR Ecore_X_Window root; - Eina_Rectangle w_geo, c_geo; Ecore_X_Randr_Crtc *crtcs; - Ecore_X_Randr_Mode mode; - Ecore_X_Randr_Output *outputs, *ret = NULL, *tret; - Window tw; - int ncrtcs, noutputs, i, nret = 0, rx = 0, ry = 0; + Ecore_X_Randr_Output *outputs, *ret = NULL; + int ncrtcs, noutputs, i, nret = 0; if (_randr_version < RANDR_1_2) goto _ecore_x_randr_current_output_get_fail; - ecore_x_window_geometry_get(window, - &w_geo.x, &w_geo.y, - &w_geo.w, &w_geo.h); - root = ecore_x_window_root_get(window); - crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); - if (!crtcs) goto _ecore_x_randr_current_output_get_fail; - - /* now get window RELATIVE to root window - thats what matters. */ - XTranslateCoordinates(_ecore_x_disp, window, root, 0, 0, &rx, &ry, &tw); - w_geo.x = rx; - w_geo.y = ry; + if (!(crtcs = ecore_x_randr_window_crtcs_get(window, &ncrtcs))) + goto _ecore_x_randr_current_output_get_fail; - for (i = 0; i < ncrtcs; i++) + for (i = 0, nret = 0; i < ncrtcs; i++) { - /* if crtc is not enabled, don't bother about it any further */ - mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); - if (mode == Ecore_X_Randr_None) continue; - ecore_x_randr_crtc_geometry_get(root, crtcs[i], - &c_geo.x, &c_geo.y, - &c_geo.w, &c_geo.h); - if (eina_rectangles_intersect(&w_geo, &c_geo)) - { - outputs = ecore_x_randr_crtc_outputs_get(root, crtcs[i], - &noutputs); - /* The case below should be impossible, but for safety reasons - * remains */ - if (!outputs) - { - if (num) *num = 0; - free(ret); - free(crtcs); - return NULL; - } - tret = realloc(ret, ((nret + noutputs) * sizeof(Ecore_X_Randr_Output))); - if (!tret) - { - if (num) *num = 0; - free(outputs); - free(ret); - free(crtcs); - return NULL; - } - ret = tret; - memcpy(&ret[nret], outputs, (noutputs * sizeof(Ecore_X_Randr_Output))); - nret += noutputs; - free(outputs); - } + outputs = ecore_x_randr_crtc_outputs_get(root, crtcs[i], + &noutputs); + if (!outputs) + goto _ecore_x_randr_current_output_get_fail_free; + nret += noutputs; + ret = realloc(ret, (nret * sizeof(Ecore_X_Randr_Output))); + memcpy(&ret[nret], outputs, (noutputs * sizeof(Ecore_X_Randr_Output))); + free(outputs); } free(crtcs); - if (num) *num = nret; + if (num) + *num = nret; + return ret; +_ecore_x_randr_current_output_get_fail_free: + free(outputs); + free(crtcs); + free(ret); _ecore_x_randr_current_output_get_fail: #endif if (num) *num = 0; @@ -2207,7 +2343,7 @@ _ecore_x_randr_current_output_get_fail: } /* - * @depricated bad naming. Use ecore_x_randr_window_outputs_get instead. + * @deprecated bad naming. Use ecore_x_randr_window_outputs_get instead. * @brief get the outputs, which display a certain window * @param window window the displaying outputs shall be found for * @param num the number of outputs displaying the window @@ -2215,7 +2351,7 @@ _ecore_x_randr_current_output_get_fail: * was found that displays the specified window. */ -EINA_DEPRECATED EAPI Ecore_X_Randr_Output * +EAPI Ecore_X_Randr_Output * ecore_x_randr_current_output_get(Ecore_X_Window window, int *num) { diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c index c8c04e4..23eea10 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c @@ -153,3 +153,15 @@ ecore_x_keysym_string_get(int keysym) return XKeysymToString(keysym); } +EAPI int +ecore_x_keysym_keycode_get(const char *keyname) +{ + int keycode = 0; + + if (!strncmp(keyname, "Keycode-", 8)) + keycode = atoi(keyname + 8); + else + keycode = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(keyname)); + + return keycode; +} diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c index 1adb36b..90392bf 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c @@ -224,7 +224,7 @@ ecore_x_window_input_new(Ecore_X_Window parent, * @c _NET_WM_PID. * * @param win The given window. - * @ingroup Ecore_X_Window_Properties_Groups + * @ingroup Ecore_X_Window_Properties_Group */ EAPI void ecore_x_window_defaults_set(Ecore_X_Window win) @@ -597,7 +597,7 @@ ecore_x_window_focus_at_time(Ecore_X_Window win, } /** - * gets the focus to the window @p win. + * gets the window that has focus. * @return The window that has focus. * @ingroup Ecore_X_Window_Focus_Functions */ diff --git a/libraries/ecore/src/modules/Makefile.in b/libraries/ecore/src/modules/Makefile.in index 4bb9420..e2cf44a 100644 --- a/libraries/ecore/src/modules/Makefile.in +++ b/libraries/ecore/src/modules/Makefile.in @@ -47,16 +47,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -172,6 +171,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -227,6 +228,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -237,6 +240,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/modules/immodules/Makefile.in b/libraries/ecore/src/modules/immodules/Makefile.in index e65881c..5dacbed 100644 --- a/libraries/ecore/src/modules/immodules/Makefile.in +++ b/libraries/ecore/src/modules/immodules/Makefile.in @@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,6 +173,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -229,6 +230,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -239,6 +242,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/modules/immodules/scim/Makefile.in b/libraries/ecore/src/modules/immodules/scim/Makefile.in index 9fc3283..ae6fc7d 100644 --- a/libraries/ecore/src/modules/immodules/scim/Makefile.in +++ b/libraries/ecore/src/modules/immodules/scim/Makefile.in @@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -205,6 +204,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -260,6 +261,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -270,6 +273,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp index 6cb72c2..eb9b5c9 100644 --- a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp +++ b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp @@ -223,18 +223,18 @@ static int __current_super_mask = 0; static int __current_hyper_mask = 0; static int __current_numlock_mask = Mod2Mask; -// A hack to shutdown the immodule cleanly even if im_module_exit () is not called when exiting. +// A hack to shutdown the immodule cleanly even if im_module_exit() is not called when exiting. class FinalizeHandler { public: - FinalizeHandler () + FinalizeHandler() { - SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::FinalizeHandler ()\n"; + SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::FinalizeHandler()\n"; } - ~FinalizeHandler () + ~FinalizeHandler() { - SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::~FinalizeHandler ()\n"; - isf_imf_context_shutdown (); + SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::~FinalizeHandler()\n"; + isf_imf_context_shutdown(); } }; @@ -254,12 +254,12 @@ utf8_offset_to_index(const char *str, int offset) } static unsigned int -get_time (void) +get_time(void) { unsigned int tint; struct timeval tv; struct timezone tz; /* is not used since ages */ - gettimeofday (&tv, &tz); + gettimeofday(&tv, &tz); tint = tv.tv_sec * 1000; tint = tint / 1000 * 1000; tint = tint + tv.tv_usec / 1000; @@ -268,7 +268,7 @@ get_time (void) /* Function Implementations */ static EcoreIMFContextISFImpl * -new_ic_impl (EcoreIMFContextISF *parent) +new_ic_impl(EcoreIMFContextISF *parent) { EcoreIMFContextISFImpl *impl = NULL; @@ -295,7 +295,7 @@ new_ic_impl (EcoreIMFContextISF *parent) } static void -delete_ic_impl (EcoreIMFContextISFImpl *impl) +delete_ic_impl(EcoreIMFContextISFImpl *impl) { EcoreIMFContextISFImpl *rec = _used_ic_impl_list, *last = 0; @@ -312,10 +312,10 @@ delete_ic_impl (EcoreIMFContextISFImpl *impl) _free_ic_impl_list = rec; rec->parent = 0; - rec->si.reset (); + rec->si.reset(); rec->client_window = 0; - rec->preedit_string = WideString (); - rec->preedit_attrlist.clear (); + rec->preedit_string = WideString(); + rec->preedit_attrlist.clear(); return; } @@ -323,7 +323,7 @@ delete_ic_impl (EcoreIMFContextISFImpl *impl) } static void -delete_all_ic_impl (void) +delete_all_ic_impl(void) { EcoreIMFContextISFImpl *it = _used_ic_impl_list; @@ -344,7 +344,7 @@ delete_all_ic_impl (void) } static EcoreIMFContextISF * -find_ic (int id) +find_ic(int id) { EcoreIMFContextISFImpl *rec = _used_ic_impl_list; @@ -363,17 +363,18 @@ analyze_surrounding_text(Ecore_IMF_Context *ctx) { char *plain_str = NULL; char *markup_str = NULL; - const char *puncs[3] = {". ", "! ", "? "}; + const char *puncs[] = {". ", "! ", "? "}; Eina_Bool ret = EINA_FALSE; int cursor_pos = 0; int i = 0; Eina_Unicode *tail = NULL; Eina_Unicode *ustr = NULL; - Eina_Unicode *uni_puncs[3]; + const int punc_num = sizeof(puncs) / sizeof(puncs[0]); + Eina_Unicode *uni_puncs[punc_num]; EcoreIMFContextISF *context_scim; if (!ctx) return EINA_FALSE; - context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (!context_scim || !context_scim->impl) return EINA_FALSE; switch (context_scim->impl->autocapital_type) @@ -386,7 +387,7 @@ analyze_surrounding_text(Ecore_IMF_Context *ctx) break; } - for (i=0; i<3; i++) + for (i = 0; i < punc_num; i++) uni_puncs[i] = eina_unicode_utf8_to_unicode(puncs[i], NULL); ecore_imf_context_surrounding_get(ctx, &markup_str, &cursor_pos); @@ -432,7 +433,7 @@ analyze_surrounding_text(Ecore_IMF_Context *ctx) if (tail) { - for (i=0; i<3; i++) + for (i = 0; i < punc_num; i++) { if (!eina_unicode_strcmp(tail, uni_puncs[i])) { @@ -450,7 +451,7 @@ done: if (markup_str) free(markup_str); if (plain_str) free(plain_str); - for (i=0; i<3; i++) + for (i = 0; i < punc_num; i++) if (uni_puncs[i]) free(uni_puncs[i]); return ret; @@ -463,7 +464,7 @@ caps_mode_check(Ecore_IMF_Context *ctx, Eina_Bool force) EcoreIMFContextISF *context_scim; if (!ctx) return; - context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (autocap_allow == EINA_FALSE) return; @@ -485,28 +486,52 @@ caps_mode_check(Ecore_IMF_Context *ctx, Eina_Bool force) } static void -feed_key_event (Evas *evas, const char *str, Eina_Bool fake) +feed_key_event(Evas *evas, const char *str, Eina_Bool fake) { char key_string[128] = {0}; unsigned int timestamp = 0; if (!fake) - timestamp = get_time (); + timestamp = get_time(); - if (strncmp (str, "KeyRelease+", 11) == 0) + if (strncmp(str, "KeyRelease+", 11) == 0) { strncpy(key_string, str + 11, strlen(str)-11); - evas_event_feed_key_up (evas, key_string, key_string, NULL, NULL, timestamp, NULL); - SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_up ()...\n"; + evas_event_feed_key_up(evas, key_string, key_string, NULL, NULL, timestamp, NULL); + SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_up()...\n"; } else { strncpy(key_string, str, strlen(str)); - evas_event_feed_key_down (evas, key_string, key_string, NULL, NULL, timestamp, NULL); - SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_down ()...\n"; + evas_event_feed_key_down(evas, key_string, key_string, NULL, NULL, timestamp, NULL); + SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_down()...\n"; } } +static void +window_to_screen_geometry_get(Ecore_X_Window client_win, int *x, int *y) +{ + Ecore_X_Window root_window, win; + int win_x, win_y; + int sum_x = 0, sum_y = 0; + + root_window = ecore_x_window_root_get(client_win); + win = client_win; + + while (root_window != win) + { + ecore_x_window_geometry_get(win, &win_x, &win_y, NULL, NULL); + sum_x += win_x; + sum_y += win_y; + win = ecore_x_window_parent_get(win); + } + + if (x) + *x = sum_x; + if (y) + *y = sum_y; +} + /* Public functions */ /** * isf_imf_context_new @@ -517,18 +542,11 @@ feed_key_event (Evas *evas, const char *str, Eina_Bool fake) * Return value: A pointer to the newly created EcoreIMFContextISF instance */ EAPI EcoreIMFContextISF * -isf_imf_context_new (void) +isf_imf_context_new(void) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; char *env; - Ecore_X_Display *display = ecore_x_display_get (); - if (!display) - { - std::cerr << "ecore_x_display_get () failed !!!"; - return NULL; - } - EcoreIMFContextISF *context_scim = new EcoreIMFContextISF; if (context_scim == NULL) { @@ -540,7 +558,7 @@ isf_imf_context_new (void) if (!_scim_initialized) { - initialize (); + initialize(); _scim_initialized = true; } @@ -558,61 +576,61 @@ isf_imf_context_new (void) * cleanup job. */ EAPI void -isf_imf_context_shutdown (void) +isf_imf_context_shutdown(void) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; if (_scim_initialized) { _scim_initialized = false; - finalize (); + finalize(); } } EAPI void -isf_imf_context_add (Ecore_IMF_Context *ctx) +isf_imf_context_add(Ecore_IMF_Context *ctx) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); if (!context_scim) return; context_scim->impl = NULL; - if (_backend.null ()) + if (_backend.null()) return; IMEngineInstancePointer si; // Use the default instance if "shared input method" mode is enabled. - if (_shared_input_method && !_default_instance.null ()) + if (_shared_input_method && !_default_instance.null()) { si = _default_instance; - SCIM_DEBUG_FRONTEND(2) << "use default instance: " << si->get_id () << " " << si->get_factory_uuid () << "\n"; + SCIM_DEBUG_FRONTEND(2) << "use default instance: " << si->get_id() << " " << si->get_factory_uuid() << "\n"; } // Not in "shared input method" mode, or no default instance, create an instance. - if (si.null ()) + if (si.null()) { - IMEngineFactoryPointer factory = _backend->get_default_factory (_language, "UTF-8"); - if (factory.null ()) return; - si = factory->create_instance ("UTF-8", _instance_count++); - if (si.null ()) return; - attach_instance (si); - SCIM_DEBUG_FRONTEND(2) << "create new instance: " << si->get_id () << " " << si->get_factory_uuid () << "\n"; + IMEngineFactoryPointer factory = _backend->get_default_factory(_language, "UTF-8"); + if (factory.null()) return; + si = factory->create_instance("UTF-8", _instance_count++); + if (si.null()) return; + attach_instance(si); + SCIM_DEBUG_FRONTEND(2) << "create new instance: " << si->get_id() << " " << si->get_factory_uuid() << "\n"; } // If "shared input method" mode is enabled, and there is no default instance, // then store this instance as default one. - if (_shared_input_method && _default_instance.null ()) + if (_shared_input_method && _default_instance.null()) { SCIM_DEBUG_FRONTEND(2) << "update default instance.\n"; _default_instance = si; } context_scim->ctx = ctx; - context_scim->impl = new_ic_impl (context_scim); + context_scim->impl = new_ic_impl(context_scim); if (context_scim->impl == NULL) { std::cerr << "memory allocation failed in " << __FUNCTION__ << "\n"; @@ -640,24 +658,24 @@ isf_imf_context_add (Ecore_IMF_Context *ctx) _ic_list = context_scim; if (_shared_input_method) - context_scim->impl->is_on = _config->read (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); + context_scim->impl->is_on = _config->read(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); - _panel_client.prepare (context_scim->id); - _panel_client.register_input_context (context_scim->id, si->get_factory_uuid ()); - set_ic_capabilities (context_scim); - _panel_client.send (); + _panel_client.prepare(context_scim->id); + _panel_client.register_input_context(context_scim->id, si->get_factory_uuid()); + set_ic_capabilities(context_scim); + _panel_client.send(); SCIM_DEBUG_FRONTEND(2) << "input context created: id = " << context_scim->id << "\n"; } EAPI void -isf_imf_context_del (Ecore_IMF_Context *ctx) +isf_imf_context_del(Ecore_IMF_Context *ctx) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; if (!_ic_list) return; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); if (context_scim) { @@ -682,32 +700,32 @@ isf_imf_context_del (Ecore_IMF_Context *ctx) if (context_scim && context_scim->impl) { - _panel_client.prepare (context_scim->id); + _panel_client.prepare(context_scim->id); if (context_scim == _focused_ic) - context_scim->impl->si->focus_out (); + context_scim->impl->si->focus_out(); // Delete the instance. EcoreIMFContextISF *old_focused = _focused_ic; _focused_ic = context_scim; - context_scim->impl->si.reset (); + context_scim->impl->si.reset(); _focused_ic = old_focused; if (context_scim == _focused_ic) { - _panel_client.turn_off (context_scim->id); - _panel_client.focus_out (context_scim->id); + _panel_client.turn_off(context_scim->id); + _panel_client.focus_out(context_scim->id); } - _panel_client.remove_input_context (context_scim->id); - _panel_client.send (); + _panel_client.remove_input_context(context_scim->id); + _panel_client.send(); if (context_scim->impl->client_window) - isf_imf_context_client_window_set (ctx, NULL); + isf_imf_context_client_window_set(ctx, NULL); if (context_scim->impl) { - delete_ic_impl (context_scim->impl); + delete_ic_impl(context_scim->impl); context_scim->impl = 0; } } @@ -738,11 +756,11 @@ isf_imf_context_del (Ecore_IMF_Context *ctx) * be used for purposes internal to the Input Method Context. */ EAPI void -isf_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas) +isf_imf_context_client_canvas_set(Ecore_IMF_Context *ctx, void *canvas) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim->impl->client_canvas != (Evas*) canvas) context_scim->impl->client_canvas = (Evas*)canvas; @@ -762,11 +780,11 @@ isf_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas) * and may also be used for purposes internal to the Input Method Context. */ EAPI void -isf_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window) +isf_imf_context_client_window_set(Ecore_IMF_Context *ctx, void *window) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim->impl->client_window != (Ecore_X_Window)((Ecore_Window)window)) { @@ -789,29 +807,29 @@ isf_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window) * to clear the preedit state. */ EAPI void -isf_imf_context_reset (Ecore_IMF_Context *ctx) +isf_imf_context_reset(Ecore_IMF_Context *ctx) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim == _focused_ic) { WideString wstr = context_scim->impl->preedit_string; - _panel_client.prepare (context_scim->id); - context_scim->impl->si->reset (); - _panel_client.send (); + _panel_client.prepare(context_scim->id); + context_scim->impl->si->reset(); + _panel_client.send(); if (context_scim->impl->need_commit_preedit) { - if (wstr.length ()) + if (wstr.length()) { - ecore_imf_context_commit_event_add (context_scim->ctx, utf8_wcstombs (wstr).c_str ()); + ecore_imf_context_commit_event_add(context_scim->ctx, utf8_wcstombs(wstr).c_str()); ecore_imf_context_event_callback_call(context_scim->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); } - _panel_client.prepare (context_scim->id); - _panel_client.send (); + _panel_client.prepare(context_scim->id); + _panel_client.send(); } } } @@ -825,9 +843,9 @@ isf_imf_context_reset (Ecore_IMF_Context *ctx) * Notify the Input Method Context that the widget to which its correspond has gained focus. */ EAPI void -isf_imf_context_focus_in (Ecore_IMF_Context *ctx) +isf_imf_context_focus_in(Ecore_IMF_Context *ctx) { - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (!context_scim) return; @@ -839,12 +857,11 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) if (_focused_ic == context_scim) { SCIM_DEBUG_FRONTEND(1) << "It's already focused.\n"; - //isf_imf_context_cursor_position_set (ctx, 0); return; } SCIM_DEBUG_FRONTEND(1) << "Focus out previous IC first: " << _focused_ic->id << "\n"; if (_focused_ic->ctx) - isf_imf_context_focus_out (_focused_ic->ctx); + isf_imf_context_focus_out(_focused_ic->ctx); } bool need_cap = false; @@ -854,28 +871,28 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) if (context_scim && context_scim->impl) { _focused_ic = context_scim; - _panel_client.prepare (context_scim->id); + _panel_client.prepare(context_scim->id); // Handle the "Shared Input Method" mode. if (_shared_input_method) { SCIM_DEBUG_FRONTEND(2) << "shared input method.\n"; - IMEngineFactoryPointer factory = _backend->get_default_factory (_language, "UTF-8"); - if (!factory.null ()) + IMEngineFactoryPointer factory = _backend->get_default_factory(_language, "UTF-8"); + if (!factory.null()) { - if (_default_instance.null () || _default_instance->get_factory_uuid () != factory->get_uuid ()) + if (_default_instance.null() || _default_instance->get_factory_uuid() != factory->get_uuid()) { - _default_instance = factory->create_instance ("UTF-8", _default_instance.null () ? _instance_count++ : _default_instance->get_id ()); - attach_instance (_default_instance); - SCIM_DEBUG_FRONTEND(2) << "create new default instance: " << _default_instance->get_id () << " " << _default_instance->get_factory_uuid () << "\n"; + _default_instance = factory->create_instance("UTF-8", _default_instance.null() ? _instance_count++ : _default_instance->get_id()); + attach_instance(_default_instance); + SCIM_DEBUG_FRONTEND(2) << "create new default instance: " << _default_instance->get_id() << " " << _default_instance->get_factory_uuid() << "\n"; } context_scim->impl->shared_si = true; context_scim->impl->si = _default_instance; - context_scim->impl->is_on = _config->read (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); - context_scim->impl->preedit_string.clear (); - context_scim->impl->preedit_attrlist.clear (); + context_scim->impl->is_on = _config->read(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); + context_scim->impl->preedit_string.clear(); + context_scim->impl->preedit_attrlist.clear(); context_scim->impl->preedit_caret = 0; context_scim->impl->preedit_started = false; need_cap = true; @@ -886,47 +903,50 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) else if (context_scim->impl->shared_si) { SCIM_DEBUG_FRONTEND(2) << "exit shared input method.\n"; - IMEngineFactoryPointer factory = _backend->get_default_factory (_language, "UTF-8"); - if (!factory.null ()) + IMEngineFactoryPointer factory = _backend->get_default_factory(_language, "UTF-8"); + if (!factory.null()) { - context_scim->impl->si = factory->create_instance ("UTF-8", _instance_count++); - context_scim->impl->preedit_string.clear (); - context_scim->impl->preedit_attrlist.clear (); + context_scim->impl->si = factory->create_instance("UTF-8", _instance_count++); + context_scim->impl->preedit_string.clear(); + context_scim->impl->preedit_attrlist.clear(); context_scim->impl->preedit_caret = 0; context_scim->impl->preedit_started = false; - attach_instance (context_scim->impl->si); + attach_instance(context_scim->impl->si); need_cap = true; need_reg = true; context_scim->impl->shared_si = false; - SCIM_DEBUG_FRONTEND(2) << "create new instance: " << context_scim->impl->si->get_id () << " " << context_scim->impl->si->get_factory_uuid () << "\n"; + SCIM_DEBUG_FRONTEND(2) << "create new instance: " << context_scim->impl->si->get_id() << " " << context_scim->impl->si->get_factory_uuid() << "\n"; } } - context_scim->impl->si->set_frontend_data (static_cast (context_scim)); + context_scim->impl->si->set_frontend_data(static_cast (context_scim)); - if (need_reg) _panel_client.register_input_context (context_scim->id, context_scim->impl->si->get_factory_uuid ()); - if (need_cap) set_ic_capabilities (context_scim); - if (need_reset) context_scim->impl->si->reset (); + if (need_reg) _panel_client.register_input_context(context_scim->id, context_scim->impl->si->get_factory_uuid()); + if (need_cap) set_ic_capabilities(context_scim); + if (need_reset) context_scim->impl->si->reset(); - panel_req_focus_in (context_scim); - panel_req_update_spot_location (context_scim); - panel_req_update_factory_info (context_scim); + panel_req_focus_in(context_scim); + panel_req_update_spot_location(context_scim); + panel_req_update_factory_info(context_scim); if (context_scim->impl->is_on) { - _panel_client.turn_on (context_scim->id); - _panel_client.hide_preedit_string (context_scim->id); - _panel_client.hide_aux_string (context_scim->id); - _panel_client.hide_lookup_table (context_scim->id); - context_scim->impl->si->focus_in (); + _panel_client.turn_on(context_scim->id); + _panel_client.hide_preedit_string(context_scim->id); + _panel_client.hide_aux_string(context_scim->id); + _panel_client.hide_lookup_table(context_scim->id); + context_scim->impl->si->focus_in(); } else { - _panel_client.turn_off (context_scim->id); + _panel_client.turn_off(context_scim->id); } - _panel_client.send (); + _panel_client.send(); } + + if (ecore_imf_context_input_panel_enabled_get(ctx)) + ecore_imf_context_input_panel_show(ctx); } /** @@ -938,9 +958,9 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) * Notify the Input Method Context that the widget to which its correspond has lost focus. */ EAPI void -isf_imf_context_focus_out (Ecore_IMF_Context *ctx) +isf_imf_context_focus_out(Ecore_IMF_Context *ctx) { - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (!context_scim) return; @@ -952,23 +972,26 @@ isf_imf_context_focus_out (Ecore_IMF_Context *ctx) if (context_scim->impl->need_commit_preedit) { - if (wstr.length ()) + if (wstr.length()) { - ecore_imf_context_commit_event_add (context_scim->ctx, utf8_wcstombs (wstr).c_str ()); + ecore_imf_context_commit_event_add(context_scim->ctx, utf8_wcstombs(wstr).c_str()); ecore_imf_context_event_callback_call(context_scim->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); } - _panel_client.prepare (context_scim->id); - _panel_client.send (); + _panel_client.prepare(context_scim->id); + _panel_client.send(); } - _panel_client.prepare (context_scim->id); - context_scim->impl->si->focus_out (); - context_scim->impl->si->reset (); - _panel_client.turn_off (context_scim->id); - _panel_client.focus_out (context_scim->id); - _panel_client.send (); + _panel_client.prepare(context_scim->id); + context_scim->impl->si->focus_out(); + context_scim->impl->si->reset(); + _panel_client.turn_off(context_scim->id); + _panel_client.focus_out(context_scim->id); + _panel_client.send(); _focused_ic = 0; } + + if (ecore_imf_context_input_panel_enabled_get(ctx)) + ecore_imf_context_input_panel_hide(ctx); } /** @@ -984,11 +1007,11 @@ isf_imf_context_focus_out (Ecore_IMF_Context *ctx) * Notify the Input Method Context that a change in the cursor location has been made. */ EAPI void -isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int cx, int cy, int cw, int ch) +isf_imf_context_cursor_location_set(Ecore_IMF_Context *ctx, int cx, int cy, int cw, int ch) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); Ecore_Evas *ee; int canvas_x, canvas_y; @@ -1001,21 +1024,28 @@ isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int cx, int cy, int if (context_scim->impl->preedit_updating) return; - if (!context_scim->impl->client_canvas) - return; - - ee = ecore_evas_ecore_evas_get(context_scim->impl->client_canvas); - if (!ee) return; + if (context_scim->impl->client_canvas) + { + ee = ecore_evas_ecore_evas_get(context_scim->impl->client_canvas); + if (!ee) return; - ecore_evas_geometry_get (ee, &canvas_x, &canvas_y, NULL, NULL); + ecore_evas_geometry_get(ee, &canvas_x, &canvas_y, NULL, NULL); + } + else + { + if (context_scim->impl->client_window) + window_to_screen_geometry_get(context_scim->impl->client_window, &canvas_x, &canvas_y); + else + return; + } if (context_scim->impl->cursor_x != canvas_x + cx || context_scim->impl->cursor_y != canvas_y + cy + ch) { context_scim->impl->cursor_x = canvas_x + cx; context_scim->impl->cursor_y = canvas_y + cy + ch; - _panel_client.prepare (context_scim->id); - panel_req_update_spot_location (context_scim); - _panel_client.send (); + _panel_client.prepare(context_scim->id); + panel_req_update_spot_location(context_scim); + _panel_client.send(); SCIM_DEBUG_FRONTEND(2) << "new cursor location = " << context_scim->impl->cursor_x << "," << context_scim->impl->cursor_y << "\n"; } } @@ -1033,11 +1063,11 @@ isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int cx, int cy, int * display feedback, such as displaying it in a child of the root window. */ EAPI void -isf_imf_context_use_preedit_set (Ecore_IMF_Context* ctx, Eina_Bool use_preedit) +isf_imf_context_use_preedit_set(Ecore_IMF_Context* ctx, Eina_Bool use_preedit) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << (use_preedit ? "true" : "false") << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); if (!_on_the_spot) return; @@ -1047,36 +1077,36 @@ isf_imf_context_use_preedit_set (Ecore_IMF_Context* ctx, Eina_Bool use_preedit) context_scim->impl->use_preedit = use_preedit; if (context_scim == _focused_ic) { - _panel_client.prepare (context_scim->id); + _panel_client.prepare(context_scim->id); if (old != use_preedit) - set_ic_capabilities (context_scim); + set_ic_capabilities(context_scim); - if (context_scim->impl->preedit_string.length ()) - slot_show_preedit_string (context_scim->impl->si); + if (context_scim->impl->preedit_string.length()) + slot_show_preedit_string(context_scim->impl->si); - _panel_client.send (); + _panel_client.send(); } } } EAPI void -isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char** str, Eina_List **attrs, int *cursor_pos) +isf_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, char** str, Eina_List **attrs, int *cursor_pos) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim->impl->is_on) { - String mbs = utf8_wcstombs (context_scim->impl->preedit_string); + String mbs = utf8_wcstombs(context_scim->impl->preedit_string); if (str) { - if (mbs.length ()) - *str = strdup (mbs.c_str ()); + if (mbs.length()) + *str = strdup(mbs.c_str()); else - *str = strdup (""); + *str = strdup(""); } if (cursor_pos) @@ -1086,28 +1116,28 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char if (attrs) { - if (mbs.length ()) + if (mbs.length()) { int start_index, end_index; - int wlen = context_scim->impl->preedit_string.length (); + int wlen = context_scim->impl->preedit_string.length(); Ecore_IMF_Preedit_Attr *attr = NULL; AttributeList::const_iterator i; - bool *attrs_flag = new bool [mbs.length ()]; - memset (attrs_flag, 0, mbs.length () *sizeof (bool)); + bool *attrs_flag = new bool [mbs.length()]; + memset(attrs_flag, 0, mbs.length() *sizeof(bool)); - for (i = context_scim->impl->preedit_attrlist.begin (); - i != context_scim->impl->preedit_attrlist.end (); ++i) + for (i = context_scim->impl->preedit_attrlist.begin(); + i != context_scim->impl->preedit_attrlist.end(); ++i) { - start_index = i->get_start (); - end_index = i->get_end (); + start_index = i->get_start(); + end_index = i->get_end(); - if (end_index <= wlen && start_index < end_index && i->get_type () != SCIM_ATTR_DECORATE_NONE) + if (end_index <= wlen && start_index < end_index && i->get_type() != SCIM_ATTR_DECORATE_NONE) { - start_index = utf8_offset_to_index (mbs.c_str (), i->get_start ()); - end_index = utf8_offset_to_index (mbs.c_str (), i->get_end ()); + start_index = utf8_offset_to_index(mbs.c_str(), i->get_start()); + end_index = utf8_offset_to_index(mbs.c_str(), i->get_end()); - if (i->get_type () == SCIM_ATTR_DECORATE) + if (i->get_type() == SCIM_ATTR_DECORATE) { attr = (Ecore_IMF_Preedit_Attr *)calloc(1, sizeof(Ecore_IMF_Preedit_Attr)); if (attr == NULL) @@ -1115,24 +1145,24 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char attr->start_index = start_index; attr->end_index = end_index; - if (i->get_value () == SCIM_ATTR_DECORATE_UNDERLINE) + if (i->get_value() == SCIM_ATTR_DECORATE_UNDERLINE) { attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB1; *attrs = eina_list_append(*attrs, (void *)attr); } - else if (i->get_value () == SCIM_ATTR_DECORATE_REVERSE) + else if (i->get_value() == SCIM_ATTR_DECORATE_REVERSE) { attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB2; *attrs = eina_list_append(*attrs, (void *)attr); } - else if (i->get_value () == SCIM_ATTR_DECORATE_HIGHLIGHT) + else if (i->get_value() == SCIM_ATTR_DECORATE_HIGHLIGHT) { attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB3; *attrs = eina_list_append(*attrs, (void *)attr); } else { - free (attr); + free(attr); } switch(i->get_value()) @@ -1148,11 +1178,11 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char break; } } - else if (i->get_type () == SCIM_ATTR_FOREGROUND) + else if (i->get_type() == SCIM_ATTR_FOREGROUND) { SCIM_DEBUG_FRONTEND(4) << "SCIM_ATTR_FOREGROUND\n"; } - else if (i->get_type () == SCIM_ATTR_BACKGROUND) + else if (i->get_type() == SCIM_ATTR_BACKGROUND) { SCIM_DEBUG_FRONTEND(4) << "SCIM_ATTR_BACKGROUND\n"; } @@ -1160,13 +1190,13 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char } // Add underline for all characters which don't have attribute. - for (unsigned int pos = 0; pos < mbs.length (); ++pos) + for (unsigned int pos = 0; pos < mbs.length(); ++pos) { if (!attrs_flag [pos]) { int begin_pos = pos; - while (pos < mbs.length () && !attrs_flag [pos]) + while (pos < mbs.length() && !attrs_flag[pos]) ++pos; // use REVERSE style as default @@ -1187,7 +1217,7 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char else { if (str) - *str = strdup (""); + *str = strdup(""); if (cursor_pos) *cursor_pos = 0; @@ -1208,22 +1238,22 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char * To get the preedit string of the input method. */ EAPI void -isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cursor_pos) +isf_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char** str, int *cursor_pos) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim->impl->is_on) { - String mbs = utf8_wcstombs (context_scim->impl->preedit_string); + String mbs = utf8_wcstombs(context_scim->impl->preedit_string); if (str) { - if (mbs.length ()) - *str = strdup (mbs.c_str ()); + if (mbs.length()) + *str = strdup(mbs.c_str()); else - *str = strdup (""); + *str = strdup(""); } if (cursor_pos) @@ -1232,7 +1262,7 @@ isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cur else { if (str) - *str = strdup (""); + *str = strdup(""); if (cursor_pos) *cursor_pos = 0; @@ -1249,11 +1279,11 @@ isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cur * Notify the Input Method Context that a change in the cursor position has been made. */ EAPI void -isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos) +isf_imf_context_cursor_position_set(Ecore_IMF_Context *ctx, int cursor_pos) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim == _focused_ic) { @@ -1280,11 +1310,11 @@ isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos) * is in Ecore_IMF.h. */ EAPI void -isf_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode) +isf_imf_context_input_mode_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl) context_scim->impl->input_mode = input_mode; } @@ -1299,22 +1329,22 @@ isf_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode inp * Set whether the IM context should use the prediction. */ EAPI void -isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction) +isf_imf_context_prediction_allow_set(Ecore_IMF_Context* ctx, Eina_Bool prediction) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << (prediction ? "true" : "false") << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim->impl->prediction_allow != prediction) context_scim->impl->prediction_allow = prediction; } EAPI void -isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type) +isf_imf_context_autocapital_type_set(Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << autocapital_type << "...\n"; - EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); if (context_scim && context_scim->impl && context_scim->impl->autocapital_type != autocapital_type) context_scim->impl->autocapital_type = autocapital_type; @@ -1337,11 +1367,11 @@ isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapi */ EAPI Eina_Bool -isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) +isf_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); + EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); Eina_Bool ret = EINA_FALSE; if (ic == NULL || ic->impl == NULL) @@ -1352,7 +1382,7 @@ isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, if (type == ECORE_IMF_EVENT_KEY_DOWN) { Ecore_IMF_Event_Key_Down *ev = (Ecore_IMF_Event_Key_Down *)event; - scim_string_to_key (key, ev->key); + scim_string_to_key(key, ev->key); if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask; if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask; if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALT) key.mask |=SCIM_KEY_AltMask; @@ -1362,7 +1392,7 @@ isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, else if (type == ECORE_IMF_EVENT_KEY_UP) { Ecore_IMF_Event_Key_Up *ev = (Ecore_IMF_Event_Key_Up *)event; - scim_string_to_key (key, ev->key); + scim_string_to_key(key, ev->key); key.mask = SCIM_KEY_ReleaseMask; if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask; if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask; @@ -1377,264 +1407,290 @@ isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, key.mask &= _valid_key_mask; - _panel_client.prepare (ic->id); + _panel_client.prepare(ic->id); ret = EINA_TRUE; - if (!filter_hotkeys (ic, key)) + if (!filter_hotkeys(ic, key)) { if (!_focused_ic || !_focused_ic->impl->is_on || - !_focused_ic->impl->si->process_key_event (key)) + !_focused_ic->impl->si->process_key_event(key)) ret = EINA_FALSE; } - _panel_client.send (); + _panel_client.send(); return ret; } +EAPI void +isf_imf_context_input_panel_show(Ecore_IMF_Context *ctx) +{ + SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; + + EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); + if (ic == NULL || ic->impl == NULL) + return; + + ecore_x_e_virtual_keyboard_state_set + (ic->impl->client_window, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON); +} + +EAPI void +isf_imf_context_input_panel_hide(Ecore_IMF_Context *ctx) +{ + SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; + + EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); + if (ic == NULL || ic->impl == NULL) + return; + + ecore_x_e_virtual_keyboard_state_set + (ic->impl->client_window, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF); +} + /* Panel Slot functions */ static void -panel_slot_reload_config (int context __UNUSED__) +panel_slot_reload_config(int context __UNUSED__) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - _config->reload (); + _config->reload(); } static void -panel_slot_exit (int /* context */) +panel_slot_exit(int /* context */) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - finalize (); + finalize(); } static void -panel_slot_update_lookup_table_page_size (int context, int page_size) +panel_slot_update_lookup_table_page_size(int context, int page_size) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " page_size=" << page_size << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - ic->impl->si->update_lookup_table_page_size (page_size); - _panel_client.send (); + _panel_client.prepare(ic->id); + ic->impl->si->update_lookup_table_page_size(page_size); + _panel_client.send(); } } static void -panel_slot_lookup_table_page_up (int context) +panel_slot_lookup_table_page_up(int context) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - ic->impl->si->lookup_table_page_up (); - _panel_client.send (); + _panel_client.prepare(ic->id); + ic->impl->si->lookup_table_page_up(); + _panel_client.send(); } } static void -panel_slot_lookup_table_page_down (int context) +panel_slot_lookup_table_page_down(int context) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - ic->impl->si->lookup_table_page_down (); - _panel_client.send (); + _panel_client.prepare(ic->id); + ic->impl->si->lookup_table_page_down(); + _panel_client.send(); } } static void -panel_slot_trigger_property (int context, const String &property) +panel_slot_trigger_property(int context, const String &property) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " property=" << property << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - ic->impl->si->trigger_property (property); - _panel_client.send (); + _panel_client.prepare(ic->id); + ic->impl->si->trigger_property(property); + _panel_client.send(); } } static void -panel_slot_process_helper_event (int context, const String &target_uuid, const String &helper_uuid, const Transaction &trans) +panel_slot_process_helper_event(int context, const String &target_uuid, const String &helper_uuid, const Transaction &trans) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " target=" << target_uuid << " helper=" << helper_uuid << " ic=" << ic << " ic->impl=" << (ic ? ic->impl : 0) << " ic-uuid=" - << ((ic && ic->impl) ? ic->impl->si->get_factory_uuid () : "" ) << "\n"; - if (ic && ic->impl && ic->impl->si->get_factory_uuid () == target_uuid) + << ((ic && ic->impl) ? ic->impl->si->get_factory_uuid() : "" ) << "\n"; + if (ic && ic->impl && ic->impl->si->get_factory_uuid() == target_uuid) { - _panel_client.prepare (ic->id); + _panel_client.prepare(ic->id); SCIM_DEBUG_FRONTEND(2) << "call process_helper_event\n"; - ic->impl->si->process_helper_event (helper_uuid, trans); - _panel_client.send (); + ic->impl->si->process_helper_event(helper_uuid, trans); + _panel_client.send(); } } static void -panel_slot_move_preedit_caret (int context, int caret_pos) +panel_slot_move_preedit_caret(int context, int caret_pos) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " caret=" << caret_pos << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - ic->impl->si->move_preedit_caret (caret_pos); - _panel_client.send (); + _panel_client.prepare(ic->id); + ic->impl->si->move_preedit_caret(caret_pos); + _panel_client.send(); } } static void -panel_slot_select_candidate (int context, int cand_index) +panel_slot_select_candidate(int context, int cand_index) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " candidate=" << cand_index << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - ic->impl->si->select_candidate (cand_index); - _panel_client.send (); + _panel_client.prepare(ic->id); + ic->impl->si->select_candidate(cand_index); + _panel_client.send(); } } static void -panel_slot_process_key_event (int context, const KeyEvent &key) +panel_slot_process_key_event(int context, const KeyEvent &key) { - EcoreIMFContextISF *ic = find_ic (context); - SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string () << " ic=" << ic << "\n"; + EcoreIMFContextISF *ic = find_ic(context); + SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string() << " ic=" << ic << "\n"; - if (ic && ic->impl && ic->impl->client_canvas) - feed_key_event(ic->impl->client_canvas, key.get_key_string().c_str(), EINA_FALSE); + if (key.is_key_press()) + ecore_x_test_fake_key_press(key.get_key_string().c_str()); } static void -panel_slot_commit_string (int context, const WideString &wstr) +panel_slot_commit_string(int context, const WideString &wstr) { - EcoreIMFContextISF *ic = find_ic (context); - SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " str=" << utf8_wcstombs (wstr) << " ic=" << ic << "\n"; + EcoreIMFContextISF *ic = find_ic(context); + SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " str=" << utf8_wcstombs(wstr) << " ic=" << ic << "\n"; if (ic && ic->impl) { if (_focused_ic != ic) return; - ecore_imf_context_commit_event_add (ic->ctx, utf8_wcstombs (wstr).c_str ()); + ecore_imf_context_commit_event_add(ic->ctx, utf8_wcstombs(wstr).c_str()); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); } } static void -panel_slot_forward_key_event (int context, const KeyEvent &key) +panel_slot_forward_key_event(int context, const KeyEvent &key) { - EcoreIMFContextISF *ic = find_ic (context); - SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string () << " ic=" << ic << "\n"; + EcoreIMFContextISF *ic = find_ic(context); + SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string() << " ic=" << ic << "\n"; if (ic && ic->impl && ic->impl->client_canvas) - feed_key_event (ic->impl->client_canvas, key.get_key_string ().c_str (), EINA_TRUE); + feed_key_event(ic->impl->client_canvas, key.get_key_string().c_str(), EINA_TRUE); } static void -panel_slot_request_help (int context) +panel_slot_request_help(int context) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - panel_req_show_help (ic); - _panel_client.send (); + _panel_client.prepare(ic->id); + panel_req_show_help(ic); + _panel_client.send(); } } static void -panel_slot_request_factory_menu (int context) +panel_slot_request_factory_menu(int context) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; if (ic && ic->impl) { - _panel_client.prepare (ic->id); - panel_req_show_factory_menu (ic); - _panel_client.send (); + _panel_client.prepare(ic->id); + panel_req_show_factory_menu(ic); + _panel_client.send(); } } static void -panel_slot_change_factory (int context, const String &uuid) +panel_slot_change_factory(int context, const String &uuid) { - EcoreIMFContextISF *ic = find_ic (context); + EcoreIMFContextISF *ic = find_ic(context); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " factory=" << uuid << " ic=" << ic << "\n"; if (ic && ic->impl) { - ic->impl->si->reset (); - _panel_client.prepare (ic->id); - open_specific_factory (ic, uuid); - _panel_client.send (); + ic->impl->si->reset(); + _panel_client.prepare(ic->id); + open_specific_factory(ic, uuid); + _panel_client.send(); } } /* Panel Requestion functions. */ static void -panel_req_show_help (EcoreIMFContextISF *ic) +panel_req_show_help(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; String help; - help = String ("Smart Common Input Method platform ") + - //String (SCIM_VERSION) + - String ("\n(C) 2002-2005 James Su \n\n"); + help = String("Smart Common Input Method platform ") + + //String(SCIM_VERSION) + + String("\n(C) 2002-2005 James Su \n\n"); if (ic && ic->impl) { - IMEngineFactoryPointer sf = _backend->get_factory (ic->impl->si->get_factory_uuid ()); + IMEngineFactoryPointer sf = _backend->get_factory(ic->impl->si->get_factory_uuid()); if (sf) { - help += utf8_wcstombs (sf->get_name ()); - help += String (":\n\n"); + help += utf8_wcstombs(sf->get_name()); + help += String(":\n\n"); - help += utf8_wcstombs (sf->get_help ()); - help += String ("\n\n"); + help += utf8_wcstombs(sf->get_help()); + help += String("\n\n"); - help += utf8_wcstombs (sf->get_credits ()); + help += utf8_wcstombs(sf->get_credits()); } - _panel_client.show_help (ic->id, help); + _panel_client.show_help(ic->id, help); } } static void -panel_req_show_factory_menu (EcoreIMFContextISF *ic) +panel_req_show_factory_menu(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; std::vector factories; std::vector menu; - _backend->get_factories_for_encoding (factories, "UTF-8"); + _backend->get_factories_for_encoding(factories, "UTF-8"); - for (size_t i = 0; i < factories.size (); ++ i) + for (size_t i = 0; i < factories.size(); ++ i) { - menu.push_back (PanelFactoryInfo ( - factories [i]->get_uuid (), - utf8_wcstombs (factories [i]->get_name ()), - factories [i]->get_language (), - factories [i]->get_icon_file ())); + menu.push_back(PanelFactoryInfo( + factories [i]->get_uuid(), + utf8_wcstombs(factories [i]->get_name()), + factories [i]->get_language(), + factories [i]->get_icon_file())); } - if (menu.size ()) - _panel_client.show_factory_menu (ic->id, menu); + if (menu.size()) + _panel_client.show_factory_menu(ic->id, menu); } static void -panel_req_update_factory_info (EcoreIMFContextISF *ic) +panel_req_update_factory_info(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -1643,160 +1699,160 @@ panel_req_update_factory_info (EcoreIMFContextISF *ic) PanelFactoryInfo info; if (ic->impl->is_on) { - IMEngineFactoryPointer sf = _backend->get_factory (ic->impl->si->get_factory_uuid ()); + IMEngineFactoryPointer sf = _backend->get_factory(ic->impl->si->get_factory_uuid()); if (sf) - info = PanelFactoryInfo (sf->get_uuid (), utf8_wcstombs (sf->get_name ()), sf->get_language (), sf->get_icon_file ()); + info = PanelFactoryInfo(sf->get_uuid(), utf8_wcstombs(sf->get_name()), sf->get_language(), sf->get_icon_file()); } else { - info = PanelFactoryInfo (String (""), String ("English/Keyboard"), String ("C"), ""); + info = PanelFactoryInfo(String(""), String("English/Keyboard"), String("C"), ""); } - _panel_client.update_factory_info (ic->id, info); + _panel_client.update_factory_info(ic->id, info); } } static void -panel_req_focus_in (EcoreIMFContextISF *ic) +panel_req_focus_in(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - _panel_client.focus_in (ic->id, ic->impl->si->get_factory_uuid ()); + _panel_client.focus_in(ic->id, ic->impl->si->get_factory_uuid()); } static void -panel_req_update_spot_location (EcoreIMFContextISF *ic) +panel_req_update_spot_location(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - _panel_client.update_spot_location (ic->id, ic->impl->cursor_x, ic->impl->cursor_y); + _panel_client.update_spot_location(ic->id, ic->impl->cursor_x, ic->impl->cursor_y); } static bool -filter_hotkeys (EcoreIMFContextISF *ic, const KeyEvent &key) +filter_hotkeys(EcoreIMFContextISF *ic, const KeyEvent &key) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; bool ret = false; - _frontend_hotkey_matcher.push_key_event (key); - _imengine_hotkey_matcher.push_key_event (key); + _frontend_hotkey_matcher.push_key_event(key); + _imengine_hotkey_matcher.push_key_event(key); - FrontEndHotkeyAction hotkey_action = _frontend_hotkey_matcher.get_match_result (); + FrontEndHotkeyAction hotkey_action = _frontend_hotkey_matcher.get_match_result(); if (hotkey_action == SCIM_FRONTEND_HOTKEY_TRIGGER) { if (!ic->impl->is_on) - turn_on_ic (ic); + turn_on_ic(ic); else - turn_off_ic (ic); + turn_off_ic(ic); ret = true; } else if (hotkey_action == SCIM_FRONTEND_HOTKEY_ON) { if (!ic->impl->is_on) - turn_on_ic (ic); + turn_on_ic(ic); ret = true; } else if (hotkey_action == SCIM_FRONTEND_HOTKEY_OFF) { if (ic->impl->is_on) - turn_off_ic (ic); + turn_off_ic(ic); ret = true; } else if (hotkey_action == SCIM_FRONTEND_HOTKEY_NEXT_FACTORY) { - open_next_factory (ic); + open_next_factory(ic); ret = true; } else if (hotkey_action == SCIM_FRONTEND_HOTKEY_PREVIOUS_FACTORY) { - open_previous_factory (ic); + open_previous_factory(ic); ret = true; } else if (hotkey_action == SCIM_FRONTEND_HOTKEY_SHOW_FACTORY_MENU) { - panel_req_show_factory_menu (ic); + panel_req_show_factory_menu(ic); ret = true; } - else if (_imengine_hotkey_matcher.is_matched ()) + else if (_imengine_hotkey_matcher.is_matched()) { - String sfid = _imengine_hotkey_matcher.get_match_result (); - open_specific_factory (ic, sfid); + String sfid = _imengine_hotkey_matcher.get_match_result(); + open_specific_factory(ic, sfid); ret = true; } return ret; } static bool -panel_initialize (void) +panel_initialize(void) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; String display_name; { - const char *p = getenv ("DISPLAY"); - if (p) display_name = String (p); + const char *p = getenv("DISPLAY"); + if (p) display_name = String(p); } - if (_panel_client.open_connection (_config->get_name (), display_name) >= 0) + if (_panel_client.open_connection(_config->get_name(), display_name) >= 0) { - int fd = _panel_client.get_connection_number (); + int fd = _panel_client.get_connection_number(); - _panel_iochannel_read_handler = ecore_main_fd_handler_add (fd, ECORE_FD_READ, panel_iochannel_handler, NULL, NULL, NULL); + _panel_iochannel_read_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, panel_iochannel_handler, NULL, NULL, NULL); SCIM_DEBUG_FRONTEND(2) << " Panel FD= " << fd << "\n"; return true; } - std::cerr << "panel_initialize () failed!!!\n"; + std::cerr << "panel_initialize() failed!!!\n"; return false; } static void -panel_finalize (void) +panel_finalize(void) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - _panel_client.close_connection (); + _panel_client.close_connection(); if (_panel_iochannel_read_handler) { - ecore_main_fd_handler_del (_panel_iochannel_read_handler); + ecore_main_fd_handler_del(_panel_iochannel_read_handler); _panel_iochannel_read_handler = 0; } if (_panel_iochannel_err_handler) { - ecore_main_fd_handler_del (_panel_iochannel_err_handler); + ecore_main_fd_handler_del(_panel_iochannel_err_handler); _panel_iochannel_err_handler = 0; } } static Eina_Bool -panel_iochannel_handler (void *data __UNUSED__, Ecore_Fd_Handler *fd_handler) +panel_iochannel_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; if (fd_handler == _panel_iochannel_read_handler) { - if (!_panel_client.filter_event ()) + if (!_panel_client.filter_event()) { - panel_finalize (); - panel_initialize (); + panel_finalize(); + panel_initialize(); return ECORE_CALLBACK_CANCEL; } } else if (fd_handler == _panel_iochannel_err_handler) { - panel_finalize (); - panel_initialize (); + panel_finalize(); + panel_initialize(); return ECORE_CALLBACK_CANCEL; } return ECORE_CALLBACK_RENEW; } static void -turn_on_ic (EcoreIMFContextISF *ic) +turn_on_ic(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -1806,25 +1862,25 @@ turn_on_ic (EcoreIMFContextISF *ic) if (ic == _focused_ic) { - panel_req_focus_in (ic); - panel_req_update_spot_location (ic); - panel_req_update_factory_info (ic); - _panel_client.turn_on (ic->id); - _panel_client.hide_preedit_string (ic->id); - _panel_client.hide_aux_string (ic->id); - _panel_client.hide_lookup_table (ic->id); - ic->impl->si->focus_in (); + panel_req_focus_in(ic); + panel_req_update_spot_location(ic); + panel_req_update_factory_info(ic); + _panel_client.turn_on(ic->id); + _panel_client.hide_preedit_string(ic->id); + _panel_client.hide_aux_string(ic->id); + _panel_client.hide_lookup_table(ic->id); + ic->impl->si->focus_in(); } //Record the IC on/off status if (_shared_input_method) - _config->write (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), true); + _config->write(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), true); - if (ic->impl->use_preedit && ic->impl->preedit_string.length ()) + if (ic->impl->use_preedit && ic->impl->preedit_string.length()) { - ecore_imf_context_preedit_start_event_add (ic->ctx); + ecore_imf_context_preedit_start_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); - ecore_imf_context_preedit_changed_event_add (ic->ctx); + ecore_imf_context_preedit_changed_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); ic->impl->preedit_started = true; } @@ -1832,7 +1888,7 @@ turn_on_ic (EcoreIMFContextISF *ic) } static void -turn_off_ic (EcoreIMFContextISF *ic) +turn_off_ic(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -1842,21 +1898,21 @@ turn_off_ic (EcoreIMFContextISF *ic) if (ic == _focused_ic) { - ic->impl->si->focus_out (); + ic->impl->si->focus_out(); - panel_req_update_factory_info (ic); - _panel_client.turn_off (ic->id); + panel_req_update_factory_info(ic); + _panel_client.turn_off(ic->id); } //Record the IC on/off status if (_shared_input_method) - _config->write (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); + _config->write(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); - if (ic->impl->use_preedit && ic->impl->preedit_string.length ()) + if (ic->impl->use_preedit && ic->impl->preedit_string.length()) { - ecore_imf_context_preedit_changed_event_add (ic->ctx); + ecore_imf_context_preedit_changed_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); - ecore_imf_context_preedit_end_event_add (ic->ctx); + ecore_imf_context_preedit_end_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); ic->impl->preedit_started = false; } @@ -1864,7 +1920,7 @@ turn_off_ic (EcoreIMFContextISF *ic) } static void -set_ic_capabilities (EcoreIMFContextISF *ic) +set_ic_capabilities(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -1875,12 +1931,12 @@ set_ic_capabilities (EcoreIMFContextISF *ic) if (!_on_the_spot || !ic->impl->use_preedit) cap -= SCIM_CLIENT_CAP_ONTHESPOT_PREEDIT; - ic->impl->si->update_client_capabilities (cap); + ic->impl->si->update_client_capabilities(cap); } } static bool -check_socket_frontend (void) +check_socket_frontend(void) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -1889,23 +1945,23 @@ check_socket_frontend (void) uint32 magic; - address.set_address (scim_get_default_socket_frontend_address ()); + address.set_address(scim_get_default_socket_frontend_address()); - if (!client.connect (address)) + if (!client.connect(address)) return false; - if (!scim_socket_open_connection (magic, - String ("ConnectionTester"), - String ("SocketFrontEnd"), - client, - 1000)) + if (!scim_socket_open_connection(magic, + String("ConnectionTester"), + String("SocketFrontEnd"), + client, + 1000)) return false; return true; } void -initialize (void) +initialize(void) { std::vector config_list; std::vector engine_list; @@ -1924,31 +1980,31 @@ initialize (void) SCIM_DEBUG_FRONTEND(1) << "Initializing Ecore SCIM IMModule...\n"; // Get system language. - _language = scim_get_locale_language (scim_get_current_locale ()); + _language = scim_get_locale_language(scim_get_current_locale()); if (socket) { // If no Socket FrontEnd is running, then launch one. // And set manual to false. - bool check_result = check_socket_frontend (); + bool check_result = check_socket_frontend(); if (!check_result) { std::cerr << "Launching a SCIM daemon with Socket FrontEnd...\n"; //get modules list - scim_get_imengine_module_list (engine_list); + scim_get_imengine_module_list(engine_list); - for (it = engine_list.begin (); it != engine_list.end (); it++) + for (it = engine_list.begin(); it != engine_list.end(); it++) { if (*it != "socket") - load_engine_list.push_back (*it); + load_engine_list.push_back(*it); } const char *new_argv [] = { "--no-stay", 0 }; - scim_launch (true, - config_module_name, - (load_engine_list.size () ? scim_combine_string_list (load_engine_list, ',') : "none"), - "socket", - (char **)new_argv); + scim_launch(true, + config_module_name, + (load_engine_list.size() ? scim_combine_string_list(load_engine_list, ',') : "none"), + "socket", + (char **)new_argv); manual = false; } @@ -1961,12 +2017,12 @@ initialize (void) if (check_result) { config_module_name = "socket"; - load_engine_list.clear (); - load_engine_list.push_back ("socket"); + load_engine_list.clear(); + load_engine_list.push_back("socket"); break; } - scim_usleep (50000); - check_result = check_socket_frontend (); + scim_usleep(50000); + check_result = check_socket_frontend(); } } } @@ -1975,69 +2031,69 @@ initialize (void) { //load config module SCIM_DEBUG_FRONTEND(1) << "Loading Config module: " << config_module_name << "...\n"; - _config_module = new ConfigModule (config_module_name); + _config_module = new ConfigModule(config_module_name); //create config instance - if (_config_module != NULL && _config_module->valid ()) - _config = _config_module->create_config (); + if (_config_module != NULL && _config_module->valid()) + _config = _config_module->create_config(); } - if (_config.null ()) + if (_config.null()) { SCIM_DEBUG_FRONTEND(1) << "Config module cannot be loaded, using dummy Config.\n"; if (_config_module) delete _config_module; _config_module = NULL; - _config = new DummyConfig (); + _config = new DummyConfig(); config_module_name = "dummy"; } - reload_config_callback (_config); - _config->signal_connect_reload (slot (reload_config_callback)); + reload_config_callback(_config); + _config->signal_connect_reload(slot(reload_config_callback)); // create backend - _backend = new CommonBackEnd (_config, load_engine_list.size () ? load_engine_list : engine_list); + _backend = new CommonBackEnd(_config, load_engine_list.size() ? load_engine_list : engine_list); - if (_backend.null ()) + if (_backend.null()) std::cerr << "Cannot create BackEnd Object!\n"; else - _fallback_factory = _backend->get_factory (SCIM_COMPOSE_KEY_FACTORY_UUID); + _fallback_factory = _backend->get_factory(SCIM_COMPOSE_KEY_FACTORY_UUID); - if (_fallback_factory.null ()) - _fallback_factory = new DummyIMEngineFactory (); + if (_fallback_factory.null()) + _fallback_factory = new DummyIMEngineFactory(); - _fallback_instance = _fallback_factory->create_instance (String ("UTF-8"), 0); - _fallback_instance->signal_connect_commit_string (slot (fallback_commit_string_cb)); + _fallback_instance = _fallback_factory->create_instance(String("UTF-8"), 0); + _fallback_instance->signal_connect_commit_string(slot(fallback_commit_string_cb)); // Attach Panel Client signal. - _panel_client.signal_connect_reload_config (slot (panel_slot_reload_config)); - _panel_client.signal_connect_exit (slot (panel_slot_exit)); - _panel_client.signal_connect_update_lookup_table_page_size (slot (panel_slot_update_lookup_table_page_size)); - _panel_client.signal_connect_lookup_table_page_up (slot (panel_slot_lookup_table_page_up)); - _panel_client.signal_connect_lookup_table_page_down (slot (panel_slot_lookup_table_page_down)); - _panel_client.signal_connect_trigger_property (slot (panel_slot_trigger_property)); - _panel_client.signal_connect_process_helper_event (slot (panel_slot_process_helper_event)); - _panel_client.signal_connect_move_preedit_caret (slot (panel_slot_move_preedit_caret)); - _panel_client.signal_connect_select_candidate (slot (panel_slot_select_candidate)); - _panel_client.signal_connect_process_key_event (slot (panel_slot_process_key_event)); - _panel_client.signal_connect_commit_string (slot (panel_slot_commit_string)); - _panel_client.signal_connect_forward_key_event (slot (panel_slot_forward_key_event)); - _panel_client.signal_connect_request_help (slot (panel_slot_request_help)); - _panel_client.signal_connect_request_factory_menu (slot (panel_slot_request_factory_menu)); - _panel_client.signal_connect_change_factory (slot (panel_slot_change_factory)); - - if (!panel_initialize ()) + _panel_client.signal_connect_reload_config (slot(panel_slot_reload_config)); + _panel_client.signal_connect_exit (slot(panel_slot_exit)); + _panel_client.signal_connect_update_lookup_table_page_size(slot(panel_slot_update_lookup_table_page_size)); + _panel_client.signal_connect_lookup_table_page_up (slot(panel_slot_lookup_table_page_up)); + _panel_client.signal_connect_lookup_table_page_down (slot(panel_slot_lookup_table_page_down)); + _panel_client.signal_connect_trigger_property (slot(panel_slot_trigger_property)); + _panel_client.signal_connect_process_helper_event (slot(panel_slot_process_helper_event)); + _panel_client.signal_connect_move_preedit_caret (slot(panel_slot_move_preedit_caret)); + _panel_client.signal_connect_select_candidate (slot(panel_slot_select_candidate)); + _panel_client.signal_connect_process_key_event (slot(panel_slot_process_key_event)); + _panel_client.signal_connect_commit_string (slot(panel_slot_commit_string)); + _panel_client.signal_connect_forward_key_event (slot(panel_slot_forward_key_event)); + _panel_client.signal_connect_request_help (slot(panel_slot_request_help)); + _panel_client.signal_connect_request_factory_menu (slot(panel_slot_request_factory_menu)); + _panel_client.signal_connect_change_factory (slot(panel_slot_change_factory)); + + if (!panel_initialize()) std::cerr << "Ecore IM Module: Cannot connect to Panel!\n"; } static void -finalize (void) +finalize(void) { SCIM_DEBUG_FRONTEND(1) << "Finalizing Ecore ISF IMModule...\n"; // Reset this first so that the shared instance could be released correctly afterwards. - _default_instance.reset (); + _default_instance.reset(); SCIM_DEBUG_FRONTEND(2) << "Finalize all IC partially.\n"; while (_used_ic_impl_list) @@ -2045,20 +2101,20 @@ finalize (void) // In case in "shared input method" mode, // all contexts share only one instance, // so we need point the reference pointer correctly before finalizing. - _used_ic_impl_list->si->set_frontend_data (static_cast (_used_ic_impl_list->parent)); - isf_imf_context_del (_used_ic_impl_list->parent->ctx); + _used_ic_impl_list->si->set_frontend_data(static_cast (_used_ic_impl_list->parent)); + isf_imf_context_del(_used_ic_impl_list->parent->ctx); } - delete_all_ic_impl (); + delete_all_ic_impl(); - _fallback_instance.reset (); - _fallback_factory.reset (); + _fallback_instance.reset(); + _fallback_factory.reset(); SCIM_DEBUG_FRONTEND(2) << " Releasing BackEnd...\n"; - _backend.reset (); + _backend.reset(); SCIM_DEBUG_FRONTEND(2) << " Releasing Config...\n"; - _config.reset (); + _config.reset(); if (_config_module) { @@ -2072,27 +2128,27 @@ finalize (void) _scim_initialized = false; - panel_finalize (); + panel_finalize(); } static void -open_next_factory (EcoreIMFContextISF *ic) +open_next_factory(EcoreIMFContextISF *ic) { SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; - IMEngineFactoryPointer sf = _backend->get_next_factory ("", "UTF-8", ic->impl->si->get_factory_uuid ()); + IMEngineFactoryPointer sf = _backend->get_next_factory("", "UTF-8", ic->impl->si->get_factory_uuid()); - if (!sf.null ()) + if (!sf.null()) { - turn_off_ic (ic); - ic->impl->si = sf->create_instance ("UTF-8", ic->impl->si->get_id ()); - ic->impl->si->set_frontend_data (static_cast (ic)); - ic->impl->preedit_string = WideString (); + turn_off_ic(ic); + ic->impl->si = sf->create_instance("UTF-8", ic->impl->si->get_id()); + ic->impl->si->set_frontend_data(static_cast (ic)); + ic->impl->preedit_string = WideString(); ic->impl->preedit_caret = 0; - attach_instance (ic->impl->si); - _backend->set_default_factory (_language, sf->get_uuid ()); - _panel_client.register_input_context (ic->id, sf->get_uuid ()); - set_ic_capabilities (ic); - turn_on_ic (ic); + attach_instance(ic->impl->si); + _backend->set_default_factory(_language, sf->get_uuid()); + _panel_client.register_input_context(ic->id, sf->get_uuid()); + set_ic_capabilities(ic); + turn_on_ic(ic); if (_shared_input_method) { @@ -2103,26 +2159,26 @@ open_next_factory (EcoreIMFContextISF *ic) } static void -open_previous_factory (EcoreIMFContextISF *ic) +open_previous_factory(EcoreIMFContextISF *ic) { if (ic == NULL) return; SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; - IMEngineFactoryPointer sf = _backend->get_previous_factory ("", "UTF-8", ic->impl->si->get_factory_uuid ()); + IMEngineFactoryPointer sf = _backend->get_previous_factory("", "UTF-8", ic->impl->si->get_factory_uuid()); - if (!sf.null ()) + if (!sf.null()) { - turn_off_ic (ic); - ic->impl->si = sf->create_instance ("UTF-8", ic->impl->si->get_id ()); - ic->impl->si->set_frontend_data (static_cast (ic)); - ic->impl->preedit_string = WideString (); + turn_off_ic(ic); + ic->impl->si = sf->create_instance("UTF-8", ic->impl->si->get_id()); + ic->impl->si->set_frontend_data(static_cast (ic)); + ic->impl->preedit_string = WideString(); ic->impl->preedit_caret = 0; - attach_instance (ic->impl->si); - _backend->set_default_factory (_language, sf->get_uuid ()); - _panel_client.register_input_context (ic->id, sf->get_uuid ()); - set_ic_capabilities (ic); - turn_on_ic (ic); + attach_instance(ic->impl->si); + _backend->set_default_factory(_language, sf->get_uuid()); + _panel_client.register_input_context(ic->id, sf->get_uuid()); + set_ic_capabilities(ic); + turn_on_ic(ic); if (_shared_input_method) { @@ -2133,7 +2189,7 @@ open_previous_factory (EcoreIMFContextISF *ic) } static void -open_specific_factory (EcoreIMFContextISF *ic, +open_specific_factory(EcoreIMFContextISF *ic, const String &uuid) { if (ic == NULL) @@ -2142,26 +2198,26 @@ open_specific_factory (EcoreIMFContextISF *ic, SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; // The same input method is selected, just turn on the IC. - if (ic->impl->si->get_factory_uuid () == uuid) + if (ic->impl->si->get_factory_uuid() == uuid) { - turn_on_ic (ic); + turn_on_ic(ic); return; } - IMEngineFactoryPointer sf = _backend->get_factory (uuid); + IMEngineFactoryPointer sf = _backend->get_factory(uuid); - if (uuid.length () && !sf.null ()) + if (uuid.length() && !sf.null()) { - turn_off_ic (ic); - ic->impl->si = sf->create_instance ("UTF-8", ic->impl->si->get_id ()); - ic->impl->si->set_frontend_data (static_cast (ic)); - ic->impl->preedit_string = WideString (); + turn_off_ic(ic); + ic->impl->si = sf->create_instance("UTF-8", ic->impl->si->get_id()); + ic->impl->si->set_frontend_data(static_cast (ic)); + ic->impl->preedit_string = WideString(); ic->impl->preedit_caret = 0; - attach_instance (ic->impl->si); - _backend->set_default_factory (_language, sf->get_uuid ()); - _panel_client.register_input_context (ic->id, sf->get_uuid ()); - set_ic_capabilities (ic); - turn_on_ic (ic); + attach_instance(ic->impl->si); + _backend->set_default_factory(_language, sf->get_uuid()); + _panel_client.register_input_context(ic->id, sf->get_uuid()); + set_ic_capabilities(ic); + turn_on_ic(ic); if (_shared_input_method) { @@ -2171,29 +2227,29 @@ open_specific_factory (EcoreIMFContextISF *ic, } else { - // turn_off_ic comment out panel_req_update_factory_info () - turn_off_ic (ic); + // turn_off_ic comment out panel_req_update_factory_info() + turn_off_ic(ic); if (ic && ic->impl->is_on) { ic->impl->is_on = false; if (ic == _focused_ic) { - ic->impl->si->focus_out (); + ic->impl->si->focus_out(); - panel_req_update_factory_info (ic); - _panel_client.turn_off (ic->id); + panel_req_update_factory_info(ic); + _panel_client.turn_off(ic->id); } //Record the IC on/off status if (_shared_input_method) - _config->write (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); + _config->write(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); - if (ic->impl->use_preedit && ic->impl->preedit_string.length ()) + if (ic->impl->use_preedit && ic->impl->preedit_string.length()) { - ecore_imf_context_preedit_changed_event_add (ic->ctx); + ecore_imf_context_preedit_changed_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); - ecore_imf_context_preedit_end_event_add (ic->ctx); + ecore_imf_context_preedit_end_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); ic->impl->preedit_started = false; } @@ -2201,7 +2257,7 @@ open_specific_factory (EcoreIMFContextISF *ic, } } -static void initialize_modifier_bits (Display *display) +static void initialize_modifier_bits(Display *display) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -2222,21 +2278,21 @@ static void initialize_modifier_bits (Display *display) XModifierKeymap *mods = NULL; - ::KeyCode ctrl_l = XKeysymToKeycode (display, XK_Control_L); - ::KeyCode ctrl_r = XKeysymToKeycode (display, XK_Control_R); - ::KeyCode meta_l = XKeysymToKeycode (display, XK_Meta_L); - ::KeyCode meta_r = XKeysymToKeycode (display, XK_Meta_R); - ::KeyCode alt_l = XKeysymToKeycode (display, XK_Alt_L); - ::KeyCode alt_r = XKeysymToKeycode (display, XK_Alt_R); - ::KeyCode super_l = XKeysymToKeycode (display, XK_Super_L); - ::KeyCode super_r = XKeysymToKeycode (display, XK_Super_R); - ::KeyCode hyper_l = XKeysymToKeycode (display, XK_Hyper_L); - ::KeyCode hyper_r = XKeysymToKeycode (display, XK_Hyper_R); - ::KeyCode numlock = XKeysymToKeycode (display, XK_Num_Lock); + ::KeyCode ctrl_l = XKeysymToKeycode(display, XK_Control_L); + ::KeyCode ctrl_r = XKeysymToKeycode(display, XK_Control_R); + ::KeyCode meta_l = XKeysymToKeycode(display, XK_Meta_L); + ::KeyCode meta_r = XKeysymToKeycode(display, XK_Meta_R); + ::KeyCode alt_l = XKeysymToKeycode(display, XK_Alt_L); + ::KeyCode alt_r = XKeysymToKeycode(display, XK_Alt_R); + ::KeyCode super_l = XKeysymToKeycode(display, XK_Super_L); + ::KeyCode super_r = XKeysymToKeycode(display, XK_Super_R); + ::KeyCode hyper_l = XKeysymToKeycode(display, XK_Hyper_L); + ::KeyCode hyper_r = XKeysymToKeycode(display, XK_Hyper_R); + ::KeyCode numlock = XKeysymToKeycode(display, XK_Num_Lock); int i, j; - mods = XGetModifierMapping (display); + mods = XGetModifierMapping(display); if (mods == NULL) return; @@ -2283,13 +2339,13 @@ static void initialize_modifier_bits (Display *display) xkey.same_screen = False; xkey.subwindow = None; xkey.window = None; - xkey.root = DefaultRootWindow (display); + xkey.root = DefaultRootWindow(display); xkey.state = ShiftMask; xkey.keycode = meta_l; - XLookupString (&xkey, buf, 32, &keysym_l, 0); + XLookupString(&xkey, buf, 32, &keysym_l, 0); xkey.keycode = meta_r; - XLookupString (&xkey, buf, 32, &keysym_r, 0); + XLookupString(&xkey, buf, 32, &keysym_r, 0); if ((meta_l == alt_l && keysym_l == XK_Meta_L) || (meta_r == alt_r && keysym_r == XK_Meta_R)) __current_meta_mask = ShiftMask + __current_alt_mask; @@ -2297,16 +2353,16 @@ static void initialize_modifier_bits (Display *display) __current_meta_mask = ShiftMask + ControlMask; } - XFreeModifiermap (mods); + XFreeModifiermap(mods); } -static unsigned int scim_x11_keymask_scim_to_x11 (Display *display, uint16 scimkeymask) +static unsigned int scim_x11_keymask_scim_to_x11(Display *display, uint16 scimkeymask) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; unsigned int state = 0; - initialize_modifier_bits (display); + initialize_modifier_bits(display); if (scimkeymask & SCIM_KEY_ShiftMask) state |= ShiftMask; if (scimkeymask & SCIM_KEY_CapsLockMask) state |= LockMask; @@ -2320,9 +2376,9 @@ static unsigned int scim_x11_keymask_scim_to_x11 (Display *display, uint16 scimk return state; } -static XKeyEvent createKeyEvent (Display *display, Window &win, - Window &winRoot, bool press, - int keycode, int modifiers) +static XKeyEvent createKeyEvent(Display *display, Window &win, + Window &winRoot, bool press, + int keycode, int modifiers) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -2339,7 +2395,7 @@ static XKeyEvent createKeyEvent (Display *display, Window &win, event.y_root = 1; event.same_screen = EINA_TRUE; event.state = modifiers; - event.keycode = XKeysymToKeycode (display, keycode); + event.keycode = XKeysymToKeycode(display, keycode); if (press) event.type = KeyPress; else @@ -2350,12 +2406,12 @@ static XKeyEvent createKeyEvent (Display *display, Window &win, return event; } -static void _x_send_key_event (const KeyEvent &key) +static void _x_send_key_event(const KeyEvent &key) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; // Obtain the X11 display. - Display *display = XOpenDisplay (NULL); + Display *display = XOpenDisplay(NULL); if (display == NULL) { std::cerr << "XOpenDisplay failed\n"; @@ -2363,98 +2419,98 @@ static void _x_send_key_event (const KeyEvent &key) } // Get the root window for the current display. - Window winRoot = 0;// = XRootWindow (display, 1); + Window winRoot = 0; // Find the window which has the current keyboard focus. Window winFocus = 0; int revert = RevertToParent; - XGetInputFocus (display, &winFocus, &revert); + XGetInputFocus(display, &winFocus, &revert); // Send a fake key press event to the window. - XSelectInput (display, winFocus, FocusChangeMask|KeyPressMask|KeyReleaseMask); - XMapWindow (display, winFocus); + XSelectInput(display, winFocus, FocusChangeMask|KeyPressMask|KeyReleaseMask); + XMapWindow(display, winFocus); - unsigned int modifier = scim_x11_keymask_scim_to_x11 (display, key.mask); + unsigned int modifier = scim_x11_keymask_scim_to_x11(display, key.mask); XKeyEvent event; - if (key.is_key_press ()) + if (key.is_key_press()) { - event = createKeyEvent (display, winFocus, winRoot, true, key.code, modifier); - XSendEvent (event.display, event.window, True, KeyPressMask, (XEvent *)&event); + event = createKeyEvent(display, winFocus, winRoot, true, key.code, modifier); + XSendEvent(event.display, event.window, True, KeyPressMask, (XEvent *)&event); } else { - event = createKeyEvent (display, winFocus, winRoot, false, key.code, modifier); - XSendEvent (event.display, event.window, True, KeyReleaseMask, (XEvent *)&event); + event = createKeyEvent(display, winFocus, winRoot, false, key.code, modifier); + XSendEvent(event.display, event.window, True, KeyReleaseMask, (XEvent *)&event); } - XCloseDisplay (display); + XCloseDisplay(display); } static void -attach_instance (const IMEngineInstancePointer &si) +attach_instance(const IMEngineInstancePointer &si) { - si->signal_connect_show_preedit_string ( - slot (slot_show_preedit_string)); - si->signal_connect_show_aux_string ( - slot (slot_show_aux_string)); - si->signal_connect_show_lookup_table ( - slot (slot_show_lookup_table)); + si->signal_connect_show_preedit_string( + slot(slot_show_preedit_string)); + si->signal_connect_show_aux_string( + slot(slot_show_aux_string)); + si->signal_connect_show_lookup_table( + slot(slot_show_lookup_table)); - si->signal_connect_hide_preedit_string ( - slot (slot_hide_preedit_string)); - si->signal_connect_hide_aux_string ( - slot (slot_hide_aux_string)); - si->signal_connect_hide_lookup_table ( - slot (slot_hide_lookup_table)); + si->signal_connect_hide_preedit_string( + slot(slot_hide_preedit_string)); + si->signal_connect_hide_aux_string( + slot(slot_hide_aux_string)); + si->signal_connect_hide_lookup_table( + slot(slot_hide_lookup_table)); - si->signal_connect_update_preedit_caret ( - slot (slot_update_preedit_caret)); - si->signal_connect_update_preedit_string ( - slot (slot_update_preedit_string)); - si->signal_connect_update_aux_string ( - slot (slot_update_aux_string)); - si->signal_connect_update_lookup_table ( - slot (slot_update_lookup_table)); + si->signal_connect_update_preedit_caret( + slot(slot_update_preedit_caret)); + si->signal_connect_update_preedit_string( + slot(slot_update_preedit_string)); + si->signal_connect_update_aux_string( + slot(slot_update_aux_string)); + si->signal_connect_update_lookup_table( + slot(slot_update_lookup_table)); - si->signal_connect_commit_string ( - slot (slot_commit_string)); + si->signal_connect_commit_string( + slot(slot_commit_string)); - si->signal_connect_forward_key_event ( - slot (slot_forward_key_event)); + si->signal_connect_forward_key_event( + slot(slot_forward_key_event)); - si->signal_connect_register_properties ( - slot (slot_register_properties)); + si->signal_connect_register_properties( + slot(slot_register_properties)); - si->signal_connect_update_property ( - slot (slot_update_property)); + si->signal_connect_update_property( + slot(slot_update_property)); - si->signal_connect_beep ( - slot (slot_beep)); + si->signal_connect_beep( + slot(slot_beep)); - si->signal_connect_start_helper ( - slot (slot_start_helper)); + si->signal_connect_start_helper( + slot(slot_start_helper)); - si->signal_connect_stop_helper ( - slot (slot_stop_helper)); + si->signal_connect_stop_helper( + slot(slot_stop_helper)); - si->signal_connect_send_helper_event ( - slot (slot_send_helper_event)); + si->signal_connect_send_helper_event( + slot(slot_send_helper_event)); - si->signal_connect_get_surrounding_text ( - slot (slot_get_surrounding_text)); + si->signal_connect_get_surrounding_text( + slot(slot_get_surrounding_text)); - si->signal_connect_delete_surrounding_text ( - slot (slot_delete_surrounding_text)); + si->signal_connect_delete_surrounding_text( + slot(slot_delete_surrounding_text)); } // Implementation of slot functions static void -slot_show_preedit_string (IMEngineInstanceBase *si) +slot_show_preedit_string(IMEngineInstanceBase *si) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) { @@ -2462,102 +2518,102 @@ slot_show_preedit_string (IMEngineInstanceBase *si) { if (!ic->impl->preedit_started) { - ecore_imf_context_preedit_start_event_add (_focused_ic->ctx); + ecore_imf_context_preedit_start_event_add(_focused_ic->ctx); ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); ic->impl->preedit_started = true; } } else - _panel_client.show_preedit_string (ic->id); + _panel_client.show_preedit_string(ic->id); } } static void -slot_show_aux_string (IMEngineInstanceBase *si) +slot_show_aux_string(IMEngineInstanceBase *si) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.show_aux_string (ic->id); + _panel_client.show_aux_string(ic->id); } static void -slot_show_lookup_table (IMEngineInstanceBase *si) +slot_show_lookup_table(IMEngineInstanceBase *si) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.show_lookup_table (ic->id); + _panel_client.show_lookup_table(ic->id); } static void -slot_hide_preedit_string (IMEngineInstanceBase *si) +slot_hide_preedit_string(IMEngineInstanceBase *si) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) { bool emit = false; - if (ic->impl->preedit_string.length ()) + if (ic->impl->preedit_string.length()) { - ic->impl->preedit_string = WideString (); + ic->impl->preedit_string = WideString(); ic->impl->preedit_caret = 0; - ic->impl->preedit_attrlist.clear (); + ic->impl->preedit_attrlist.clear(); emit = true; } if (ic->impl->use_preedit) { if (emit) { - ecore_imf_context_preedit_changed_event_add (ic->ctx); + ecore_imf_context_preedit_changed_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); } if (ic->impl->preedit_started) { - ecore_imf_context_preedit_end_event_add (ic->ctx); + ecore_imf_context_preedit_end_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); ic->impl->preedit_started = false; } } else - _panel_client.hide_preedit_string (ic->id); + _panel_client.hide_preedit_string(ic->id); } } static void -slot_hide_aux_string (IMEngineInstanceBase *si) +slot_hide_aux_string(IMEngineInstanceBase *si) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.hide_aux_string (ic->id); + _panel_client.hide_aux_string(ic->id); } static void -slot_hide_lookup_table (IMEngineInstanceBase *si) +slot_hide_lookup_table(IMEngineInstanceBase *si) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.hide_lookup_table (ic->id); + _panel_client.hide_lookup_table(ic->id); } static void -slot_update_preedit_caret (IMEngineInstanceBase *si, int caret) +slot_update_preedit_caret(IMEngineInstanceBase *si, int caret) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic && ic->impl->preedit_caret != caret) { @@ -2566,28 +2622,28 @@ slot_update_preedit_caret (IMEngineInstanceBase *si, int caret) { if (!ic->impl->preedit_started) { - ecore_imf_context_preedit_start_event_add (ic->ctx); + ecore_imf_context_preedit_start_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); ic->impl->preedit_started = true; } - ecore_imf_context_preedit_changed_event_add (ic->ctx); + ecore_imf_context_preedit_changed_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); } else - _panel_client.update_preedit_caret (ic->id, caret); + _panel_client.update_preedit_caret(ic->id, caret); } } static void -slot_update_preedit_string (IMEngineInstanceBase *si, +slot_update_preedit_string(IMEngineInstanceBase *si, const WideString & str, const AttributeList & attrs) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); - if (ic && ic->impl && _focused_ic == ic && (ic->impl->preedit_string != str || str.length ())) + if (ic && ic->impl && _focused_ic == ic && (ic->impl->preedit_string != str || str.length())) { ic->impl->preedit_string = str; ic->impl->preedit_attrlist = attrs; @@ -2595,178 +2651,178 @@ slot_update_preedit_string (IMEngineInstanceBase *si, { if (!ic->impl->preedit_started) { - ecore_imf_context_preedit_start_event_add (_focused_ic->ctx); + ecore_imf_context_preedit_start_event_add(_focused_ic->ctx); ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); ic->impl->preedit_started = true; } - ic->impl->preedit_caret = str.length (); + ic->impl->preedit_caret = str.length(); ic->impl->preedit_updating = true; - ecore_imf_context_preedit_changed_event_add (ic->ctx); + ecore_imf_context_preedit_changed_event_add(ic->ctx); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); ic->impl->preedit_updating = false; } else { - _panel_client.update_preedit_string (ic->id, str, attrs); + _panel_client.update_preedit_string(ic->id, str, attrs); } } } static void -slot_update_aux_string (IMEngineInstanceBase *si, +slot_update_aux_string(IMEngineInstanceBase *si, const WideString & str, const AttributeList & attrs) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.update_aux_string (ic->id, str, attrs); + _panel_client.update_aux_string(ic->id, str, attrs); } static void -slot_commit_string (IMEngineInstanceBase *si, +slot_commit_string(IMEngineInstanceBase *si, const WideString & str) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->ctx) { - ecore_imf_context_commit_event_add (ic->ctx, utf8_wcstombs (str).c_str ()); + ecore_imf_context_commit_event_add(ic->ctx, utf8_wcstombs(str).c_str()); ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(str).c_str()); } } static void -slot_forward_key_event (IMEngineInstanceBase *si, +slot_forward_key_event(IMEngineInstanceBase *si, const KeyEvent & key) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && _focused_ic == ic) { - if (!_fallback_instance->process_key_event (key)) + if (!_fallback_instance->process_key_event(key)) _x_send_key_event(key); } } static void -slot_update_lookup_table (IMEngineInstanceBase *si, +slot_update_lookup_table(IMEngineInstanceBase *si, const LookupTable & table) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.update_lookup_table (ic->id, table); + _panel_client.update_lookup_table(ic->id, table); } static void -slot_register_properties (IMEngineInstanceBase *si, - const PropertyList & properties) +slot_register_properties(IMEngineInstanceBase *si, + const PropertyList & properties) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.register_properties (ic->id, properties); + _panel_client.register_properties(ic->id, properties); } static void -slot_update_property (IMEngineInstanceBase *si, - const Property & property) +slot_update_property(IMEngineInstanceBase *si, + const Property & property) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) - _panel_client.update_property (ic->id, property); + _panel_client.update_property(ic->id, property); } static void -slot_beep (IMEngineInstanceBase *si __UNUSED__) +slot_beep(IMEngineInstanceBase *si __UNUSED__) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; } static void -slot_start_helper (IMEngineInstanceBase *si, - const String &helper_uuid) +slot_start_helper(IMEngineInstanceBase *si, + const String &helper_uuid) { - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" << (ic ? ic->id : -1) << " ic=" << ic - << " ic-uuid=" << ((ic ) ? ic->impl->si->get_factory_uuid () : "") << "...\n"; + << " ic-uuid=" << ((ic ) ? ic->impl->si->get_factory_uuid() : "") << "...\n"; if (ic && ic->impl) - _panel_client.start_helper (ic->id, helper_uuid); + _panel_client.start_helper(ic->id, helper_uuid); } static void -slot_stop_helper (IMEngineInstanceBase *si, - const String &helper_uuid) +slot_stop_helper(IMEngineInstanceBase *si, + const String &helper_uuid) { - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" << (ic ? ic->id : -1) << " ic=" << ic << "...\n"; if (ic && ic->impl) - _panel_client.stop_helper (ic->id, helper_uuid); + _panel_client.stop_helper(ic->id, helper_uuid); } static void -slot_send_helper_event (IMEngineInstanceBase *si, - const String &helper_uuid, - const Transaction &trans) +slot_send_helper_event(IMEngineInstanceBase *si, + const String &helper_uuid, + const Transaction &trans) { - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" << (ic ? ic->id : -1) << " ic=" << ic - << " ic-uuid=" << ((ic) ? ic->impl->si->get_factory_uuid () : "") << "...\n"; + << " ic-uuid=" << ((ic) ? ic->impl->si->get_factory_uuid() : "") << "...\n"; if (ic && ic->impl) - _panel_client.send_helper_event (ic->id, helper_uuid, trans); + _panel_client.send_helper_event(ic->id, helper_uuid, trans); } static bool -slot_get_surrounding_text (IMEngineInstanceBase *si, - WideString &text, - int &cursor, - int maxlen_before, - int maxlen_after) +slot_get_surrounding_text(IMEngineInstanceBase *si, + WideString &text, + int &cursor, + int maxlen_before, + int maxlen_after) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) { char *surrounding = NULL; int cursor_index; - if (ecore_imf_context_surrounding_get (_focused_ic->ctx, &surrounding, &cursor_index)) + if (ecore_imf_context_surrounding_get(_focused_ic->ctx, &surrounding, &cursor_index)) { SCIM_DEBUG_FRONTEND(2) << "Surrounding text: " << surrounding <<"\n"; SCIM_DEBUG_FRONTEND(2) << "Cursor Index : " << cursor_index <<"\n"; - WideString before (utf8_mbstowcs (String (surrounding, surrounding + cursor_index))); - WideString after (utf8_mbstowcs (String (surrounding + cursor_index))); - if (maxlen_before > 0 && ((unsigned int)maxlen_before) < before.length ()) - before = WideString (before.begin () + (before.length () - maxlen_before), before.end ()); - else if (maxlen_before == 0) before = WideString (); - if (maxlen_after > 0 && ((unsigned int)maxlen_after) < after.length ()) - after = WideString (after.begin (), after.begin () + maxlen_after); - else if (maxlen_after == 0) after = WideString (); + WideString before(utf8_mbstowcs(String(surrounding, surrounding + cursor_index))); + WideString after(utf8_mbstowcs(String(surrounding + cursor_index))); + if (maxlen_before > 0 && ((unsigned int)maxlen_before) < before.length()) + before = WideString(before.begin() + (before.length() - maxlen_before), before.end()); + else if (maxlen_before == 0) before = WideString(); + if (maxlen_after > 0 && ((unsigned int)maxlen_after) < after.length()) + after = WideString(after.begin(), after.begin() + maxlen_after); + else if (maxlen_after == 0) after = WideString(); text = before + after; - cursor = before.length (); + cursor = before.length(); return true; } } @@ -2774,13 +2830,13 @@ slot_get_surrounding_text (IMEngineInstanceBase *si, } static bool -slot_delete_surrounding_text (IMEngineInstanceBase *si, - int offset, - int len) +slot_delete_surrounding_text(IMEngineInstanceBase *si, + int offset, + int len) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - EcoreIMFContextISF *ic = static_cast (si->get_frontend_data ()); + EcoreIMFContextISF *ic = static_cast(si->get_frontend_data()); if (ic && ic->impl && _focused_ic == ic) { @@ -2788,7 +2844,7 @@ slot_delete_surrounding_text (IMEngineInstanceBase *si, ev.ctx = _focused_ic->ctx; ev.n_chars = len; ev.offset = offset; - ecore_imf_context_delete_surrounding_event_add (_focused_ic->ctx, offset, len); + ecore_imf_context_delete_surrounding_event_add(_focused_ic->ctx, offset, len); ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, &ev); return true; } @@ -2796,43 +2852,43 @@ slot_delete_surrounding_text (IMEngineInstanceBase *si, } static void -reload_config_callback (const ConfigPointer &config) +reload_config_callback(const ConfigPointer &config) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; - _frontend_hotkey_matcher.load_hotkeys (config); - _imengine_hotkey_matcher.load_hotkeys (config); + _frontend_hotkey_matcher.load_hotkeys(config); + _imengine_hotkey_matcher.load_hotkeys(config); KeyEvent key; - scim_string_to_key (key, - config->read (String (SCIM_CONFIG_HOTKEYS_FRONTEND_VALID_KEY_MASK), - String ("Shift+Control+Alt+Lock"))); + scim_string_to_key(key, + config->read(String(SCIM_CONFIG_HOTKEYS_FRONTEND_VALID_KEY_MASK), + String("Shift+Control+Alt+Lock"))); _valid_key_mask = (key.mask > 0)?(key.mask):0xFFFF; _valid_key_mask |= SCIM_KEY_ReleaseMask; // Special treatment for two backslash keys on jp106 keyboard. _valid_key_mask |= SCIM_KEY_QuirkKanaRoMask; - _on_the_spot = config->read (String (SCIM_CONFIG_FRONTEND_ON_THE_SPOT), _on_the_spot); - _shared_input_method = config->read (String (SCIM_CONFIG_FRONTEND_SHARED_INPUT_METHOD), _shared_input_method); + _on_the_spot = config->read(String(SCIM_CONFIG_FRONTEND_ON_THE_SPOT), _on_the_spot); + _shared_input_method = config->read(String(SCIM_CONFIG_FRONTEND_SHARED_INPUT_METHOD), _shared_input_method); // Get keyboard layout setting // Flush the global config first, in order to load the new configs from disk. - scim_global_config_flush (); + scim_global_config_flush(); - _keyboard_layout = scim_get_default_keyboard_layout (); + _keyboard_layout = scim_get_default_keyboard_layout(); } static void -fallback_commit_string_cb (IMEngineInstanceBase *si __UNUSED__, - const WideString &str) +fallback_commit_string_cb(IMEngineInstanceBase *si __UNUSED__, + const WideString &str) { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; if (_focused_ic && _focused_ic->impl) { - ecore_imf_context_commit_event_add (_focused_ic->ctx, utf8_wcstombs (str).c_str ()); + ecore_imf_context_commit_event_add(_focused_ic->ctx, utf8_wcstombs(str).c_str()); ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(str).c_str()); } } diff --git a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h index 84f1a2f..72533e2 100644 --- a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h +++ b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h @@ -32,6 +32,8 @@ Eina_Bool isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event void isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction); void isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type); void isf_imf_context_input_panel_layout_set (Ecore_IMF_Context* ctx, Ecore_IMF_Input_Panel_Layout layout); +void isf_imf_context_input_panel_show(Ecore_IMF_Context *ctx); +void isf_imf_context_input_panel_hide(Ecore_IMF_Context *ctx); EcoreIMFContextISF* isf_imf_context_new (void); void isf_imf_context_shutdown (void); diff --git a/libraries/ecore/src/modules/immodules/scim/scim_module.cpp b/libraries/ecore/src/modules/immodules/scim/scim_module.cpp index eff6381..d17e37a 100644 --- a/libraries/ecore/src/modules/immodules/scim/scim_module.cpp +++ b/libraries/ecore/src/modules/immodules/scim/scim_module.cpp @@ -19,8 +19,8 @@ extern "C" isf_imf_context_del, /* del */ isf_imf_context_client_window_set, /* client_window_set */ isf_imf_context_client_canvas_set, /* client_canvas_set */ - NULL, /* isf_imf_context_input_panel_show, - show */ - NULL, /* isf_imf_context_input_panel_hide, - hide */ + isf_imf_context_input_panel_show, /* input_panel_show, - show */ + isf_imf_context_input_panel_hide, /* input_panel_hide, - hide */ isf_imf_context_preedit_string_get, /* get_preedit_string */ isf_imf_context_focus_in, /* focus_in */ isf_imf_context_focus_out, /* focus_out */ @@ -38,7 +38,12 @@ extern "C" NULL, /* isf_imf_context_input_panel_layout_get, */ NULL, /* isf_imf_context_input_panel_language_set, */ NULL, /* isf_imf_context_input_panel_language_get, */ - isf_imf_context_cursor_location_set /* cursor_location_set */ + isf_imf_context_cursor_location_set, /* cursor_location_set */ + NULL, /* input_panel_imdata_set */ + NULL, /* input_panel_imdata_get */ + NULL, /* input_panel_return_key_type_set */ + NULL, /* input_panel_return_key_disabled_set */ + NULL /* input_panel_caps_lock_mode_set */ }; static Ecore_IMF_Context *imf_module_create (void); diff --git a/libraries/ecore/src/modules/immodules/xim/Makefile.in b/libraries/ecore/src/modules/immodules/xim/Makefile.in index 5b78946..775b574 100644 --- a/libraries/ecore/src/modules/immodules/xim/Makefile.in +++ b/libraries/ecore/src/modules/immodules/xim/Makefile.in @@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -189,6 +188,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -244,6 +245,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -254,6 +257,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c index ea7ee7f..01a3576 100644 --- a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c +++ b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c @@ -294,6 +294,10 @@ _ecore_imf_context_xim_focus_in(Ecore_IMF_Context *ctx) imf_context_data = ecore_imf_context_data_get(ctx); ic = imf_context_data->ic; imf_context_data->has_focus = EINA_TRUE; + + if (ecore_imf_context_input_panel_enabled_get(ctx)) + ecore_imf_context_input_panel_show(ctx); + if (ic) { char *str; @@ -326,6 +330,9 @@ _ecore_imf_context_xim_focus_out(Ecore_IMF_Context *ctx) ic = imf_context_data->ic; if (ic) XUnsetICFocus(ic); + + if (ecore_imf_context_input_panel_enabled_get(ctx)) + ecore_imf_context_input_panel_hide(ctx); } #else (void)ctx; @@ -501,6 +508,38 @@ _ecore_imf_context_xim_cursor_location_set(Ecore_IMF_Context *ctx, (void)(w); // yes w is unused, but only a bi-product of the algorithm } +static void +_ecore_imf_context_xim_input_panel_show(Ecore_IMF_Context *ctx) +{ + EINA_LOG_DBG("%s in", __FUNCTION__); + +#ifdef ENABLE_XIM + Ecore_IMF_Context_Data *imf_context_data; + imf_context_data = ecore_imf_context_data_get(ctx); + + ecore_x_e_virtual_keyboard_state_set + (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON); +#else + (void)ctx; +#endif +} + +static void +_ecore_imf_context_xim_input_panel_hide(Ecore_IMF_Context *ctx) +{ + EINA_LOG_DBG("%s in", __FUNCTION__); + +#ifdef ENABLE_XIM + Ecore_IMF_Context_Data *imf_context_data; + imf_context_data = ecore_imf_context_data_get(ctx); + + ecore_x_e_virtual_keyboard_state_set + (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF); +#else + (void)ctx; +#endif +} + #ifdef ENABLE_XIM static unsigned int _ecore_x_event_reverse_modifiers(unsigned int state) @@ -739,8 +778,8 @@ static Ecore_IMF_Context_Class xim_class = { .del = _ecore_imf_context_xim_del, .client_window_set = _ecore_imf_context_xim_client_window_set, .client_canvas_set = NULL, - .show = NULL, - .hide = NULL, + .show = _ecore_imf_context_xim_input_panel_show, + .hide = _ecore_imf_context_xim_input_panel_hide, .preedit_string_get = _ecore_imf_context_xim_preedit_string_get, .focus_in = _ecore_imf_context_xim_focus_in, .focus_out = _ecore_imf_context_xim_focus_out, @@ -759,6 +798,11 @@ static Ecore_IMF_Context_Class xim_class = { .input_panel_language_set = NULL, .input_panel_language_get = NULL, .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, + .input_panel_imdata_set = NULL, + .input_panel_imdata_get = NULL, + .input_panel_return_key_type_set = NULL, + .input_panel_return_key_disabled_set = NULL, + .input_panel_caps_lock_mode_set = NULL }; static Ecore_IMF_Context * diff --git a/libraries/ecore/src/tests/Makefile.in b/libraries/ecore/src/tests/Makefile.in index bd7726a..aa799d9 100644 --- a/libraries/ecore/src/tests/Makefile.in +++ b/libraries/ecore/src/tests/Makefile.in @@ -53,16 +53,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,6 +173,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -229,6 +230,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -239,6 +242,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/ecore/src/tests/ecore_test_ecore_x.c b/libraries/ecore/src/tests/ecore_test_ecore_x.c index 4b9e126..2d14ff1 100644 --- a/libraries/ecore/src/tests/ecore_test_ecore_x.c +++ b/libraries/ecore/src/tests/ecore_test_ecore_x.c @@ -6,6 +6,10 @@ #include "ecore_suite.h" +/* FIXME: Currently disable these tests. They are useless ATM and they just + * make buildbot complain. Once we add useful tests here we'll also bother + * with getting X on the server. */ +#undef HAVE_ECORE_X_XLIB /* TODO: change to HAVE_ECORE_X when xcb implementation is done */ #ifdef HAVE_ECORE_X_XLIB diff --git a/libraries/ecore/src/util/Makefile.in b/libraries/ecore/src/util/Makefile.in index 96cb48a..423c6e0 100644 --- a/libraries/ecore/src/util/Makefile.in +++ b/libraries/ecore/src/util/Makefile.in @@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -163,6 +162,8 @@ EVAS_LIBS = @EVAS_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -218,6 +219,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SCIM_CFLAGS = @SCIM_CFLAGS@ @@ -228,6 +231,7 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ SSL_CFLAGS = @SSL_CFLAGS@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ diff --git a/libraries/edje/AUTHORS b/libraries/edje/AUTHORS index e60e979..893fb07 100644 --- a/libraries/edje/AUTHORS +++ b/libraries/edje/AUTHORS @@ -21,3 +21,4 @@ billiob (Boris Faure) Govindaraju SM Prince Kumar Dubey David Seikel +Mikael Sans \ No newline at end of file diff --git a/libraries/edje/ChangeLog b/libraries/edje/ChangeLog index ae65d85..87de11e 100644 --- a/libraries/edje/ChangeLog +++ b/libraries/edje/ChangeLog @@ -285,3 +285,114 @@ 2012-01-14 Carsten Haitzler (The Rasterman) * Added minmul propery for edje to multiply minimum size during min size calc + +2012-01-20 Carsten Haitzler (The Rasterman) + + * Fix the ability to change the edje file source of an edje object + inside a callback - it worked but you couldn't swallow/set text etc. + +2012-01-03 Tom Hacohen (TAsn) + + * Entry: Added edje_object_part_text_style_user_set/get that'll use + the new corresponding textblock functions. + +2012-01-23 Cedric Bail + + * Fix overridding group in edje_cc by fixing with the right index. + +2012-01-24 Cedric Bail + + * Filter should only be valid once all program affecting there part are done. + +2012-01-25 Cedric Bail + + * Only store the image used by active group. + +2012-01-26 Cedric Bail + + * Add min: SOURCE, max: SOURCE. + +2012-02-03 Jihoon Kim + + * Entry: Fix to work edje_object_part_text_input_panel_enabled_set/get well + even though ecore_imf doesn't exist or immodule isn't used. + +2012-02-07 WooHyun Jung + + * Added edje_object_markup_filter_callback_{add,del,del_full}. + These let you append(delete) markup filter functions for filtering + inserted text. + +2012-02-08 Cedric Bail + + * Fix bug when using EDJE_CALC_CACHE and using relative to x and y + on separate part. + * Fix bug with filter preventing any action to be triggered. + +2012-02-10 Cedric Bail + + * Prevent propagation of signal, when there is a matching target with edje GROUP. + +2012-02-13 Jihoon Kim + + * add edje_object_part_text_input_panel_show/hide. + These APIs can be used in input panel manual control mode. + * add edje_object_part_text_imf_context_reset that will use + for reseting the input method context. + +2012-02-14 Jihoon Kim + + * add edje_object_part_text_prediction_allow_set/get. + These APIs can be used to set whether prediction feature is allowed or not. + +2012-02-14 Cedric Bail + + * add a way to disable signal broadcasting introduced in edje 1.1. + +2012-02-15 Jihoon Kim + + * add edje_object_part_text_input_panel_language_set/get + edje_object_part_text_input_panel_imdata_set/get + edje_object_part_text_input_panel_return_key_type_set/get + edje_object_part_text_input_panel_return_key_disabled_set/get + +2012-02-20 WooHyun Jung + + * Change API names from edje_object_markup_filter_callback_{add,del,del_full}. + to edje_object_text_markup_filter_callback_{add,del,del_full}. + +2012-02-24 Jihoon Kim + + * add edje_object_part_text_imf_context_get for getting Ecore_IMF_Context handle in edje text object + +2012-02-29 Tom Hacohen (TAsn) + + * Entry: Added edje_object_part_text_user_insert. + This function inserts text as if the user has inserted it. + This means it actually registers as a change and etc. + +2012-03-06 Mikael Sans (XHeLL) + + * Entry: Added double click and triple click. + Double click selects a word. + Triple click selects a line. + +2012-03-07 Tom Hacohen (TAsn) + + * Entry: Replaced edje_object_part_text_style_user_set/get + with edje_object_part_text_style_user_set/get to correspond to + textblock's recent changes. + +2012-03-07 Cedric Bail + + * Correctly count and propagate preload signal with GROUP. + * Fix rotation with fixed point. + +2012-03-11 Cedric Bail + + * Propagate scale factor to GROUP's part. + +2012-03-12 Cedric Bail + + * Make it possible for edje to update size hint automatically. + * Add min: SOURCE to GROUP's part. diff --git a/libraries/edje/Makefile.in b/libraries/edje/Makefile.in index b63286c..2666156 100644 --- a/libraries/edje/Makefile.in +++ b/libraries/edje/Makefile.in @@ -236,6 +236,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/NEWS b/libraries/edje/NEWS index bf529dc..3f6dbe9 100644 --- a/libraries/edje/NEWS +++ b/libraries/edje/NEWS @@ -5,10 +5,15 @@ Changes since Edje 1.1.0: Additions: - * "recalc" smart callback for object size changes + * "recalc" smart callback for object size changes. * EDJE_ASPECT_PREFER_SOURCE. * edje.version() Lua function. - * minmul edc property + * minmul edc property. + * add min: SOURCE and max: SOURCE to IMAGE and GROUP parts. + * add edje_object_markup_filter_callback_add/del/delfull(). + * add broadcast_signal: bool. + * add edje_object_part_text_imf_context_get() + * add edje_object_update_hints_set() and edje_object_update_hints_get() Improvements: * speedup load time of Edje file. @@ -16,6 +21,12 @@ Improvements: * reduce number of call to stat during edje_object_file_set. * unswallow object about to be swallowed if necessary. * Lua scripts now more resilient against API changes. + * edje_cc only store the image activelly used in an edje file. + +Fixes: + * Correctly count and propagate preload signal with GROUP. + * Fix rotation with fixed point. + * Correctly propagate scale factor to GROUP. Changes since Edje 1.0.0: ------------------------- diff --git a/libraries/edje/README b/libraries/edje/README index 3cf9a65..9af4e36 100644 --- a/libraries/edje/README +++ b/libraries/edje/README @@ -1,4 +1,4 @@ -Edje 1.1.0 +Edje 1.2.0 ****************************************************************************** @@ -12,7 +12,6 @@ Requirements: Must: libc - libm eet (at least 1.5.0) ecore (at least 1.1.0) ecore-evas (at least 1.1.0) diff --git a/libraries/edje/aclocal.m4 b/libraries/edje/aclocal.m4 index a809f4b..23ca0ef 100644 --- a/libraries/edje/aclocal.m4 +++ b/libraries/edje/aclocal.m4 @@ -13,13 +13,14 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, +[m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # @@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi @@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then AC_MSG_RESULT([no]) PKG_CONFIG="" fi - fi[]dnl ])# PKG_PROG_PKG_CONFIG @@ -69,34 +72,31 @@ fi[]dnl # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) + m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried fi[]dnl ])# _PKG_CONFIG @@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - ifelse([$4], , [AC_MSG_ERROR(dnl + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -155,25 +156,24 @@ $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) +_PKG_TEXT])[]dnl + ]) elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT -To get pkg-config, see .])], - [$4]) +To get pkg-config, see .])[]dnl + ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) + $3 fi[]dnl ])# PKG_CHECK_MODULES @@ -968,7 +968,7 @@ AC_DEFUN([AM_PATH_PYTHON], dnl Find a Python interpreter. Python versions prior to 2.0 are not dnl supported. (2.0 was released on October 16, 2000). m4_define_default([_AM_PYTHON_INTERPRETER_LIST], - [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl + [python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 dnl python2.1 python2.0]) m4_if([$1],[],[ diff --git a/libraries/edje/config.guess b/libraries/edje/config.guess index e3a2116..c2246a4 100755 --- a/libraries/edje/config.guess +++ b/libraries/edje/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-10' +timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ timestamp='2009-06-10' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -854,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -876,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -901,39 +930,18 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -942,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -966,58 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1247,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/libraries/edje/config.sub b/libraries/edje/config.sub index eb0389a..c2d1257 100755 --- a/libraries/edje/config.sub +++ b/libraries/edje/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-11' +timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-06-11' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +153,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; @@ -284,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -291,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -340,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -368,15 +374,17 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -726,6 +734,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1076,6 +1087,11 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1247,6 +1263,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1268,8 +1287,8 @@ case $os in # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1290,7 +1309,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1423,6 +1442,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) diff --git a/libraries/edje/configure b/libraries/edje/configure index c763308..aafa1b0 100755 --- a/libraries/edje/configure +++ b/libraries/edje/configure @@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for edje 1.1.99.67344. +# Generated by GNU Autoconf 2.67 for edje 1.2.0-alpha. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -319,7 +319,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -359,19 +359,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -701,8 +701,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='edje' PACKAGE_TARNAME='edje' -PACKAGE_VERSION='1.1.99.67344' -PACKAGE_STRING='edje 1.1.99.67344' +PACKAGE_VERSION='1.2.0-alpha' +PACKAGE_STRING='edje 1.2.0-alpha' PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -750,7 +750,6 @@ LIBOBJS requirement_edje BUILD_EXAMPLES_FALSE BUILD_EXAMPLES_TRUE -edje_cc EFL_ENABLE_COVERAGE_FALSE EFL_ENABLE_COVERAGE_TRUE EFL_COVERAGE_LIBS @@ -806,6 +805,8 @@ EFL_EDJE_BUILD EVIL_LIBS EVIL_CFLAGS pkgconfig_requires_private +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH PKG_CONFIG HAVE_PYTHON_FALSE HAVE_PYTHON_TRUE @@ -847,6 +848,7 @@ EDJE_DECC_PRG BUILD_EDJE_CC_FALSE BUILD_EDJE_CC_TRUE EDJE_CC_PRG +edje_cc EDJE_AMALGAMATION_FALSE EDJE_AMALGAMATION_TRUE MODULE_ARCH @@ -974,6 +976,7 @@ enable_dependency_tracking with_gnu_ld enable_libtool_lock enable_amalgamation +with_edje_cc enable_edje_cc enable_edje_decc enable_edje_recc @@ -1005,6 +1008,8 @@ LIBS CPPFLAGS CPP PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR EVIL_CFLAGS EVIL_LIBS LUA_CFLAGS @@ -1099,8 +1104,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1145,7 +1151,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1171,7 +1177,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1375,7 +1381,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1391,7 +1397,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1421,8 +1427,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1430,7 +1436,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1448,13 +1454,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1477,7 +1483,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1491,8 +1497,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1507,9 +1513,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1548,11 +1554,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1578,7 +1584,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures edje 1.1.99.67344 to adapt to many kinds of systems. +\`configure' configures edje 1.2.0-alpha to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1592,7 +1598,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1648,7 +1654,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of edje 1.1.99.67344:";; + short | recursive ) echo "Configuration of edje 1.2.0-alpha:";; esac cat <<\_ACEOF @@ -1705,6 +1711,7 @@ Optional Packages: --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-edje-cc=PATH specify a specific path to edje_cc [default=edje_cc] --with-vim=DIR Location of Vim data files [[autodetect]] --with-doxygen=FILE doxygen program to use [default=doxygen] @@ -1718,6 +1725,10 @@ Some influential environment variables: you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config EVIL_LIBS linker flags for EVIL, overriding pkg-config LUA_CFLAGS C compiler flags for LUA, overriding pkg-config @@ -1838,10 +1849,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -edje configure 1.1.99.67344 -generated by GNU Autoconf 2.65 +edje configure 1.2.0-alpha +generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1945,7 +1956,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1988,7 +1999,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -2054,7 +2065,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2121,10 +2132,10 @@ $as_echo "$ac_res" >&6; } ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2160,7 +2171,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2183,17 +2194,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## -------------------------------------------------------- ## +( $as_echo "## -------------------------------------------------------- ## ## Report this to enlightenment-devel@lists.sourceforge.net ## -## -------------------------------------------------------- ## -_ASBOX +## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2209,8 +2218,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by edje $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by edje $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -2320,11 +2329,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2358,11 +2365,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2375,11 +2380,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2393,11 +2396,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2452,7 +2453,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2467,7 +2473,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -2543,7 +2553,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2569,16 +2579,22 @@ am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2694,11 +2710,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -2720,7 +2736,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi @@ -2730,7 +2746,7 @@ then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -2968,7 +2984,7 @@ done $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2976,7 +2992,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -3010,7 +3026,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -3026,7 +3042,7 @@ fi # Define the identity of the package. PACKAGE='edje' - VERSION='1.1.99.67344' + VERSION='1.2.0-alpha' cat >>confdefs.h <<_ACEOF @@ -3081,7 +3097,7 @@ AM_BACKSLASH='\' # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } @@ -3092,16 +3108,16 @@ else test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -3126,7 +3142,7 @@ else ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -3134,7 +3150,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -3840,8 +3856,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3955,9 +3971,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3999,8 +4014,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4057,9 +4072,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -4110,8 +4125,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -4515,7 +4530,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -4591,7 +4606,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4657,7 +4672,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4724,7 +4739,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -4840,7 +4855,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -5042,13 +5057,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:5045: $ac_compile\"" >&5) + (eval echo "\"\$as_me:5060: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:5048: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:5063: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:5051: output\"" >&5) + (eval echo "\"\$as_me:5066: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6251,7 +6266,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6254 "configure"' > conftest.$ac_ext + echo '#line 6269 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7040,7 +7055,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -7056,11 +7071,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -7099,7 +7114,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -7115,18 +7130,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@ -7255,8 +7270,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7779,11 +7793,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7782: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7796: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7786: \$? = $ac_status" >&5 + echo "$as_me:7800: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8118,11 +8132,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8121: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8135: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8125: \$? = $ac_status" >&5 + echo "$as_me:8139: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8223,11 +8237,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8226: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8240: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8230: \$? = $ac_status" >&5 + echo "$as_me:8244: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8278,11 +8292,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8281: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8295: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8285: \$? = $ac_status" >&5 + echo "$as_me:8299: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10662,7 +10676,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10665 "configure" +#line 10679 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10758,7 +10772,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10761 "configure" +#line 10775 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10997,20 +11011,20 @@ _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIN 1 +#define VMIN 2 _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIC 99 +#define VMIC 0 _ACEOF cat >>confdefs.h <<_ACEOF -#define VREV 67344 +#define VREV 0 _ACEOF -version_info="2:99:1" +version_info="3:0:2" release_info="" @@ -11079,6 +11093,29 @@ fi + + +# Check whether --with-edje-cc was given. +if test "${with_edje_cc+set}" = set; then : + withval=$with_edje_cc; _efl_with_binary=${withval} +else + _efl_with_binary=$(pkg-config --variable=prefix edje)/bin/edje_cc +fi + + +edje_cc=${_efl_with_binary} +{ $as_echo "$as_me:${as_lineno-$LINENO}: edje_cc set to ${_efl_with_binary}" >&5 +$as_echo "$as_me: edje_cc set to ${_efl_with_binary}" >&6;} + +with_binary_edje_cc=${_efl_with_binary} + + + + + + + + have_edje_cc="yes" @@ -11748,8 +11785,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -12303,7 +12340,7 @@ sys.exit(sys.hexversion < minverhex)" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - as_fn_error "too old" "$LINENO" 5 + as_fn_error $? "too old" "$LINENO" 5 fi am_display_PYTHON=$PYTHON else @@ -12315,7 +12352,7 @@ if test "${am_cv_pathless_PYTHON+set}" = set; then : $as_echo_n "(cached) " >&6 else - for am_cv_pathless_PYTHON in python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do + for am_cv_pathless_PYTHON in python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys # split strings by '.' and convert to numeric. Append some zeros @@ -12517,6 +12554,10 @@ fi + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -12629,7 +12670,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi # Check whether pkg-config supports Requires.private @@ -12654,11 +12694,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 $as_echo_n "checking for EVIL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_CFLAGS"; then - pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_CFLAGS"; then + pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -12668,15 +12707,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_LIBS"; then - pkg_cv_EVIL_LIBS="$EVIL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_LIBS"; then + pkg_cv_EVIL_LIBS="$EVIL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -12686,14 +12723,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12701,14 +12739,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` else - EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVIL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (evil >= 1.0.0) were not met: + as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: $EVIL_PKG_ERRORS @@ -12717,12 +12755,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EVIL_CFLAGS and EVIL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -12731,13 +12770,13 @@ and EVIL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS EVIL_LIBS=$pkg_cv_EVIL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_EVIL 1" >>confdefs.h @@ -12759,11 +12798,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua >= 5.1.0") 2>&5 ac_status=$? @@ -12773,15 +12811,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua >= 5.1.0") 2>&5 ac_status=$? @@ -12791,14 +12827,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12806,25 +12843,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -12834,15 +12868,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -12852,14 +12884,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12867,25 +12900,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua5.1 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua5.1 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -12895,15 +12925,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -12913,14 +12941,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12928,25 +12957,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua-5.1 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua-5.1 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -12956,15 +12982,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -12974,14 +12998,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12989,17 +13014,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13009,16 +13034,17 @@ $as_echo "yes" >&6; } requirement_lua="lua51" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13028,15 +13054,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13046,14 +13070,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13061,17 +13086,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13088,16 +13113,17 @@ $as_echo "yes" >&6; } requirement_lua="lua-5.1" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13107,15 +13133,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13125,14 +13149,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13140,25 +13165,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua-5.1 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua-5.1 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13168,15 +13190,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13186,14 +13206,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13201,17 +13222,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13221,16 +13242,17 @@ $as_echo "yes" >&6; } requirement_lua="lua51" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13240,15 +13262,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13258,14 +13278,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13273,17 +13294,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13307,16 +13328,17 @@ $as_echo "yes" >&6; } requirement_lua="lua5.1" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13326,15 +13348,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13344,14 +13364,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13359,25 +13380,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua5.1 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua5.1 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13387,15 +13405,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13405,14 +13421,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13420,25 +13437,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua-5.1 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua-5.1 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13448,15 +13462,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13466,14 +13478,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13481,17 +13494,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13501,16 +13514,17 @@ $as_echo "yes" >&6; } requirement_lua="lua51" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13520,15 +13534,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13538,14 +13550,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13553,17 +13566,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13580,16 +13593,17 @@ $as_echo "yes" >&6; } requirement_lua="lua-5.1" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13599,15 +13613,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua-5.1 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua-5.1 >= 5.1.0") 2>&5 ac_status=$? @@ -13617,14 +13629,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13632,25 +13645,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua-5.1 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua-5.1 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua-5.1 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13660,15 +13670,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13678,14 +13686,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13693,17 +13702,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13713,16 +13722,17 @@ $as_echo "yes" >&6; } requirement_lua="lua51" fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LUA" >&5 $as_echo_n "checking for LUA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_CFLAGS"; then - pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_CFLAGS"; then + pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13732,15 +13742,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LUA_LIBS"; then - pkg_cv_LUA_LIBS="$LUA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LUA_LIBS"; then + pkg_cv_LUA_LIBS="$LUA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lua51 >= 5.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "lua51 >= 5.1.0") 2>&5 ac_status=$? @@ -13750,14 +13758,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13765,17 +13774,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lua51 >= 5.1.0" 2>&1` else - LUA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lua51 >= 5.1.0"` + LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors "lua51 >= 5.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_lua="no" + have_lua="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_lua="no" else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS @@ -13860,7 +13869,7 @@ fi if test "x${have_lua}" = "xno" ; then - as_fn_error "Cannot find lua library. Be sure that you have installed it and set CFLAGS and LDFLAGS correctly" "$LINENO" 5 + as_fn_error $? "Cannot find lua library. Be sure that you have installed it and set CFLAGS and LDFLAGS correctly" "$LINENO" 5 fi @@ -13868,64 +13877,62 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MINIMAL" >&5 $as_echo_n "checking for MINIMAL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$MINIMAL_CFLAGS"; then - pkg_cv_MINIMAL_CFLAGS="$MINIMAL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$MINIMAL_CFLAGS"; then + pkg_cv_MINIMAL_CFLAGS="$MINIMAL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_MINIMAL_CFLAGS=`$PKG_CONFIG --cflags " - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 " 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$MINIMAL_LIBS"; then - pkg_cv_MINIMAL_LIBS="$MINIMAL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$MINIMAL_LIBS"; then + pkg_cv_MINIMAL_LIBS="$MINIMAL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_MINIMAL_LIBS=`$PKG_CONFIG --libs " - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 " 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13933,22 +13940,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - MINIMAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 - "` + MINIMAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors " + eina >= 1.2.0 + eet >= 1.6.0 + " 2>&1` else - MINIMAL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 - "` + MINIMAL_PKG_ERRORS=`$PKG_CONFIG --print-errors " + eina >= 1.2.0 + eet >= 1.6.0 + " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$MINIMAL_PKG_ERRORS" >&5 - as_fn_error "Package requirements ( - eina >= 1.1.0 - eet >= 1.5.0 + as_fn_error $? "Package requirements ( + eina >= 1.2.0 + eet >= 1.6.0 ) were not met: $MINIMAL_PKG_ERRORS @@ -13958,12 +13965,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables MINIMAL_CFLAGS and MINIMAL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -13972,13 +13980,13 @@ and MINIMAL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else MINIMAL_CFLAGS=$pkg_cv_MINIMAL_CFLAGS MINIMAL_LIBS=$pkg_cv_MINIMAL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi @@ -13986,94 +13994,92 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE" >&5 $as_echo_n "checking for EDJE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_CFLAGS"; then - pkg_cv_EDJE_CFLAGS="$EDJE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EDJE_CFLAGS"; then + pkg_cv_EDJE_CFLAGS="$EDJE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EDJE_CFLAGS=`$PKG_CONFIG --cflags " - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 " 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_LIBS"; then - pkg_cv_EDJE_LIBS="$EDJE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EDJE_LIBS"; then + pkg_cv_EDJE_LIBS="$EDJE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EDJE_LIBS=`$PKG_CONFIG --libs " - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 " 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14081,37 +14087,37 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 - "` + EDJE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors " + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 + " 2>&1` else - EDJE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 - "` + EDJE_PKG_ERRORS=`$PKG_CONFIG --print-errors " + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 + " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_PKG_ERRORS" >&5 - as_fn_error "Package requirements ( - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + as_fn_error $? "Package requirements ( + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 ) were not met: $EDJE_PKG_ERRORS @@ -14121,12 +14127,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EDJE_CFLAGS and EDJE_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -14135,19 +14142,19 @@ and EDJE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EDJE_CFLAGS=$pkg_cv_EDJE_CFLAGS EDJE_LIBS=$pkg_cv_EDJE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi EDJE_LIBS="${EDJE_LIBS} ${LUA_LIBS} ${lua_libs}" EDJE_CFLAGS="${EDJE_CFLAGS} ${LUA_CFLAGS}" -requirement_edje="embryo >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0 ${requirement_edje}" +requirement_edje="embryo >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0 ${requirement_edje}" requirement_edje="${requirement_lua} ${requirement_edje}" have_ecore_imf="no" @@ -14156,64 +14163,62 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_IMF" >&5 $as_echo_n "checking for ECORE_IMF... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_IMF_CFLAGS"; then - pkg_cv_ECORE_IMF_CFLAGS="$ECORE_IMF_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_IMF_CFLAGS"; then + pkg_cv_ECORE_IMF_CFLAGS="$ECORE_IMF_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ECORE_IMF_CFLAGS=`$PKG_CONFIG --cflags " - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 " 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_IMF_LIBS"; then - pkg_cv_ECORE_IMF_LIBS="$ECORE_IMF_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_IMF_LIBS"; then + pkg_cv_ECORE_IMF_LIBS="$ECORE_IMF_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ECORE_IMF_LIBS=`$PKG_CONFIG --libs " - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 " 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14221,23 +14226,23 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ECORE_IMF_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 - "` + ECORE_IMF_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors " + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 + " 2>&1` else - ECORE_IMF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 - "` + ECORE_IMF_PKG_ERRORS=`$PKG_CONFIG --print-errors " + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 + " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ECORE_IMF_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_ecore_imf="no" + have_ecore_imf="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_ecore_imf="no" else ECORE_IMF_CFLAGS=$pkg_cv_ECORE_IMF_CFLAGS @@ -14249,7 +14254,7 @@ $as_echo "yes" >&6; } $as_echo "#define HAVE_ECORE_IMF 1" >>confdefs.h have_ecore_imf="yes" - requirement_edje="ecore-imf-evas >= 1.1.0 ecore-imf >= 1.1.0 ${requirement_edje}" + requirement_edje="ecore-imf-evas >= 1.2.0 ecore-imf >= 1.2.0 ${requirement_edje}" fi @@ -14286,11 +14291,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SNDFILE" >&5 $as_echo_n "checking for SNDFILE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SNDFILE_CFLAGS"; then - pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SNDFILE_CFLAGS"; then + pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.21\""; } >&5 ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.21") 2>&5 ac_status=$? @@ -14300,15 +14304,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SNDFILE_LIBS"; then - pkg_cv_SNDFILE_LIBS="$SNDFILE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SNDFILE_LIBS"; then + pkg_cv_SNDFILE_LIBS="$SNDFILE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.21\""; } >&5 ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.21") 2>&5 ac_status=$? @@ -14318,14 +14320,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14333,18 +14336,18 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SNDFILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sndfile >= 1.0.21"` + SNDFILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sndfile >= 1.0.21" 2>&1` else - SNDFILE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sndfile >= 1.0.21"` + SNDFILE_PKG_ERRORS=`$PKG_CONFIG --print-errors "sndfile >= 1.0.21" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SNDFILE_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_sndfile="no"; want_multisense="no" + have_sndfile="no"; want_multisense="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_sndfile="no"; want_multisense="no" else @@ -14362,7 +14365,7 @@ $as_echo "#define HAVE_LIBSNDFILE 1" >>confdefs.h fi if test "x$want_sndfile" = "xyes" -a "x$have_sndfile" = "xno"; then - as_fn_error "sndfile support requested, but not found by pkg-config." "$LINENO" 5 + as_fn_error $? "sndfile support requested, but not found by pkg-config." "$LINENO" 5 fi fi if test "x${have_sndfile}" = "xyes"; then @@ -14389,11 +14392,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for REMIX" >&5 $as_echo_n "checking for REMIX... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$REMIX_CFLAGS"; then - pkg_cv_REMIX_CFLAGS="$REMIX_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$REMIX_CFLAGS"; then + pkg_cv_REMIX_CFLAGS="$REMIX_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"remix >= 0.2.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "remix >= 0.2.4") 2>&5 ac_status=$? @@ -14403,15 +14405,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$REMIX_LIBS"; then - pkg_cv_REMIX_LIBS="$REMIX_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$REMIX_LIBS"; then + pkg_cv_REMIX_LIBS="$REMIX_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"remix >= 0.2.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "remix >= 0.2.4") 2>&5 ac_status=$? @@ -14421,14 +14421,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14436,18 +14437,18 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - REMIX_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "remix >= 0.2.4"` + REMIX_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "remix >= 0.2.4" 2>&1` else - REMIX_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "remix >= 0.2.4"` + REMIX_PKG_ERRORS=`$PKG_CONFIG --print-errors "remix >= 0.2.4" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$REMIX_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_libremix="no"; want_multisense="no" + have_libremix="no"; want_multisense="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_libremix="no"; want_multisense="no" else @@ -14475,7 +14476,7 @@ _ACEOF fi if test "x$want_libremix" = "xyes" -a "x$have_libremix" = "xno"; then - as_fn_error "remix support requested, but not found by pkg-config." "$LINENO" 5 + as_fn_error $? "remix support requested, but not found by pkg-config." "$LINENO" 5 fi fi if test "x${have_libremix}" = "xyes"; then @@ -14502,11 +14503,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for VORBISENC" >&5 $as_echo_n "checking for VORBISENC... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$VORBISENC_CFLAGS"; then - pkg_cv_VORBISENC_CFLAGS="$VORBISENC_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$VORBISENC_CFLAGS"; then + pkg_cv_VORBISENC_CFLAGS="$VORBISENC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" ogg >= 1.1.4 vorbis >= 1.2.3 @@ -14528,15 +14528,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$VORBISENC_LIBS"; then - pkg_cv_VORBISENC_LIBS="$VORBISENC_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$VORBISENC_LIBS"; then + pkg_cv_VORBISENC_LIBS="$VORBISENC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" ogg >= 1.1.4 vorbis >= 1.2.3 @@ -14558,14 +14556,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14573,26 +14572,26 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - VORBISENC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " + VORBISENC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors " ogg >= 1.1.4 vorbis >= 1.2.3 vorbisenc >= 1.2.3 - "` + " 2>&1` else - VORBISENC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " + VORBISENC_PKG_ERRORS=`$PKG_CONFIG --print-errors " ogg >= 1.1.4 vorbis >= 1.2.3 vorbisenc >= 1.2.3 - "` + " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$VORBISENC_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_vorbis="no"; want_multisense="no" + have_vorbis="no"; want_multisense="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_vorbis="no"; want_multisense="no" else @@ -14610,7 +14609,7 @@ $as_echo "#define HAVE_VORBIS 1" >>confdefs.h fi if test "x$want_vorbis" = "xyes" -a "x$have_vorbis" = "xno"; then - as_fn_error "vorbisenc support requested, but not found by pkg-config." "$LINENO" 5 + as_fn_error $? "vorbisenc support requested, but not found by pkg-config." "$LINENO" 5 fi fi @@ -14629,11 +14628,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA" >&5 $as_echo_n "checking for ALSA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ALSA_CFLAGS"; then - pkg_cv_ALSA_CFLAGS="$ALSA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ALSA_CFLAGS"; then + pkg_cv_ALSA_CFLAGS="$ALSA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" alsa >= 1.0.21 \""; } >&5 @@ -14649,15 +14647,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ALSA_LIBS"; then - pkg_cv_ALSA_LIBS="$ALSA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ALSA_LIBS"; then + pkg_cv_ALSA_LIBS="$ALSA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" alsa >= 1.0.21 \""; } >&5 @@ -14673,14 +14669,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14688,22 +14685,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ALSA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " + ALSA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors " alsa >= 1.0.21 - "` + " 2>&1` else - ALSA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " + ALSA_PKG_ERRORS=`$PKG_CONFIG --print-errors " alsa >= 1.0.21 - "` + " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ALSA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_alsa_lib="no"; want_multisense="no" + have_alsa_lib="no"; want_multisense="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_alsa_lib="no"; want_multisense="no" else @@ -14721,7 +14718,7 @@ $as_echo "#define HAVE_LIBALSA 1" >>confdefs.h fi if test "x$want_alsa_lib" = "xyes" -a "x$have_alsa_lib" = "xno"; then - as_fn_error "alsa support requested, but not found by pkg-config." "$LINENO" 5 + as_fn_error $? "alsa support requested, but not found by pkg-config." "$LINENO" 5 fi fi if test "x${have_alsa_lib}" = "xyes"; then @@ -14749,11 +14746,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FLAC" >&5 $as_echo_n "checking for FLAC... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$FLAC_CFLAGS"; then - pkg_cv_FLAC_CFLAGS="$FLAC_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FLAC_CFLAGS"; then + pkg_cv_FLAC_CFLAGS="$FLAC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" flac >= 1.2.1 \""; } >&5 @@ -14769,15 +14765,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$FLAC_LIBS"; then - pkg_cv_FLAC_LIBS="$FLAC_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FLAC_LIBS"; then + pkg_cv_FLAC_LIBS="$FLAC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" flac >= 1.2.1 \""; } >&5 @@ -14793,14 +14787,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14808,22 +14803,22 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - FLAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " + FLAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors " flac >= 1.2.1 - "` + " 2>&1` else - FLAC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " + FLAC_PKG_ERRORS=`$PKG_CONFIG --print-errors " flac >= 1.2.1 - "` + " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FLAC_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_flac_lib="no"; want_multisense="no" + have_flac_lib="no"; want_multisense="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_flac_lib="no"; want_multisense="no" else @@ -14844,7 +14839,7 @@ $as_echo "#define HAVE_LIBFLAC 1" >>confdefs.h fi if test "x$want_flac_lib" = "xyes" -a "x$have_flac_lib" = "xno"; then - as_fn_error "flac support requested, but not found by pkg-config." "$LINENO" 5 + as_fn_error $? "flac support requested, but not found by pkg-config." "$LINENO" 5 fi fi @@ -14862,46 +14857,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE_CC" >&5 $as_echo_n "checking for EDJE_CC... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_CC_CFLAGS"; then - pkg_cv_EDJE_CC_CFLAGS="$EDJE_CC_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_CC_CFLAGS"; then + pkg_cv_EDJE_CC_CFLAGS="$EDJE_CC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_CC_CFLAGS=`$PKG_CONFIG --cflags "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_CC_CFLAGS=`$PKG_CONFIG --cflags "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_CC_LIBS"; then - pkg_cv_EDJE_CC_LIBS="$EDJE_CC_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_CC_LIBS"; then + pkg_cv_EDJE_CC_LIBS="$EDJE_CC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_CC_LIBS=`$PKG_CONFIG --libs "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_CC_LIBS=`$PKG_CONFIG --libs "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14909,14 +14902,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_CC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0"` + EDJE_CC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>&1` else - EDJE_CC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0"` + EDJE_CC_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_CC_PKG_ERRORS" >&5 - as_fn_error "Package requirements (ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0) were not met: $EDJE_CC_PKG_ERRORS @@ -14925,12 +14918,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EDJE_CC_CFLAGS and EDJE_CC_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -14939,13 +14933,13 @@ and EDJE_CC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EDJE_CC_CFLAGS=$pkg_cv_EDJE_CC_CFLAGS EDJE_CC_LIBS=$pkg_cv_EDJE_CC_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi EDJE_CC_LIBS="${EDJE_CC_LIBS} ${LUA_LIBS} ${lua_libs}" fi @@ -14965,46 +14959,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE_DECC" >&5 $as_echo_n "checking for EDJE_DECC... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_DECC_CFLAGS"; then - pkg_cv_EDJE_DECC_CFLAGS="$EDJE_DECC_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_DECC_CFLAGS"; then + pkg_cv_EDJE_DECC_CFLAGS="$EDJE_DECC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_DECC_CFLAGS=`$PKG_CONFIG --cflags "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_DECC_CFLAGS=`$PKG_CONFIG --cflags "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_DECC_LIBS"; then - pkg_cv_EDJE_DECC_LIBS="$EDJE_DECC_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_DECC_LIBS"; then + pkg_cv_EDJE_DECC_LIBS="$EDJE_DECC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_DECC_LIBS=`$PKG_CONFIG --libs "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_DECC_LIBS=`$PKG_CONFIG --libs "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -15012,14 +15004,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_DECC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0"` + EDJE_DECC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>&1` else - EDJE_DECC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0"` + EDJE_DECC_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_DECC_PKG_ERRORS" >&5 - as_fn_error "Package requirements (ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0) were not met: $EDJE_DECC_PKG_ERRORS @@ -15028,12 +15020,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EDJE_DECC_CFLAGS and EDJE_DECC_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -15042,13 +15035,13 @@ and EDJE_DECC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EDJE_DECC_CFLAGS=$pkg_cv_EDJE_DECC_CFLAGS EDJE_DECC_LIBS=$pkg_cv_EDJE_DECC_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi fi @@ -15058,46 +15051,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE_PLAYER" >&5 $as_echo_n "checking for EDJE_PLAYER... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_PLAYER_CFLAGS"; then - pkg_cv_EDJE_PLAYER_CFLAGS="$EDJE_PLAYER_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_PLAYER_CFLAGS"; then + pkg_cv_EDJE_PLAYER_CFLAGS="$EDJE_PLAYER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_PLAYER_CFLAGS=`$PKG_CONFIG --cflags "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_PLAYER_CFLAGS=`$PKG_CONFIG --cflags "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_PLAYER_LIBS"; then - pkg_cv_EDJE_PLAYER_LIBS="$EDJE_PLAYER_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_PLAYER_LIBS"; then + pkg_cv_EDJE_PLAYER_LIBS="$EDJE_PLAYER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_PLAYER_LIBS=`$PKG_CONFIG --libs "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_PLAYER_LIBS=`$PKG_CONFIG --libs "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -15105,14 +15096,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_PLAYER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0"` + EDJE_PLAYER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>&1` else - EDJE_PLAYER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0"` + EDJE_PLAYER_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_PLAYER_PKG_ERRORS" >&5 - as_fn_error "Package requirements (ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0) were not met: $EDJE_PLAYER_PKG_ERRORS @@ -15121,12 +15112,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EDJE_PLAYER_CFLAGS and EDJE_PLAYER_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -15135,13 +15127,13 @@ and EDJE_PLAYER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EDJE_PLAYER_CFLAGS=$pkg_cv_EDJE_PLAYER_CFLAGS EDJE_PLAYER_LIBS=$pkg_cv_EDJE_PLAYER_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi fi @@ -15151,46 +15143,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE_INSPECTOR" >&5 $as_echo_n "checking for EDJE_INSPECTOR... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_INSPECTOR_CFLAGS"; then - pkg_cv_EDJE_INSPECTOR_CFLAGS="$EDJE_INSPECTOR_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_INSPECTOR_CFLAGS"; then + pkg_cv_EDJE_INSPECTOR_CFLAGS="$EDJE_INSPECTOR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_INSPECTOR_CFLAGS=`$PKG_CONFIG --cflags "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_INSPECTOR_CFLAGS=`$PKG_CONFIG --cflags "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_INSPECTOR_LIBS"; then - pkg_cv_EDJE_INSPECTOR_LIBS="$EDJE_INSPECTOR_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_INSPECTOR_LIBS"; then + pkg_cv_EDJE_INSPECTOR_LIBS="$EDJE_INSPECTOR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_INSPECTOR_LIBS=`$PKG_CONFIG --libs "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_INSPECTOR_LIBS=`$PKG_CONFIG --libs "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -15198,14 +15188,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0"` + EDJE_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>&1` else - EDJE_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0"` + EDJE_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_INSPECTOR_PKG_ERRORS" >&5 - as_fn_error "Package requirements (ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0) were not met: $EDJE_INSPECTOR_PKG_ERRORS @@ -15214,12 +15204,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EDJE_INSPECTOR_CFLAGS and EDJE_INSPECTOR_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -15228,13 +15219,13 @@ and EDJE_INSPECTOR_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EDJE_INSPECTOR_CFLAGS=$pkg_cv_EDJE_INSPECTOR_CFLAGS EDJE_INSPECTOR_LIBS=$pkg_cv_EDJE_INSPECTOR_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi fi @@ -15244,46 +15235,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE_EXTERNAL_INSPECTOR" >&5 $as_echo_n "checking for EDJE_EXTERNAL_INSPECTOR... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_EXTERNAL_INSPECTOR_CFLAGS"; then - pkg_cv_EDJE_EXTERNAL_INSPECTOR_CFLAGS="$EDJE_EXTERNAL_INSPECTOR_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_EXTERNAL_INSPECTOR_CFLAGS"; then + pkg_cv_EDJE_EXTERNAL_INSPECTOR_CFLAGS="$EDJE_EXTERNAL_INSPECTOR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_EXTERNAL_INSPECTOR_CFLAGS=`$PKG_CONFIG --cflags "ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_EXTERNAL_INSPECTOR_CFLAGS=`$PKG_CONFIG --cflags "ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_EXTERNAL_INSPECTOR_LIBS"; then - pkg_cv_EDJE_EXTERNAL_INSPECTOR_LIBS="$EDJE_EXTERNAL_INSPECTOR_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0") 2>&5 +if test -n "$EDJE_EXTERNAL_INSPECTOR_LIBS"; then + pkg_cv_EDJE_EXTERNAL_INSPECTOR_LIBS="$EDJE_EXTERNAL_INSPECTOR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EDJE_EXTERNAL_INSPECTOR_LIBS=`$PKG_CONFIG --libs "ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0" 2>/dev/null` + pkg_cv_EDJE_EXTERNAL_INSPECTOR_LIBS=`$PKG_CONFIG --libs "ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -15291,14 +15280,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_EXTERNAL_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0"` + EDJE_EXTERNAL_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>&1` else - EDJE_EXTERNAL_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0"` + EDJE_EXTERNAL_INSPECTOR_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_EXTERNAL_INSPECTOR_PKG_ERRORS" >&5 - as_fn_error "Package requirements (ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0) were not met: $EDJE_EXTERNAL_INSPECTOR_PKG_ERRORS @@ -15307,12 +15296,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EDJE_EXTERNAL_INSPECTOR_CFLAGS and EDJE_EXTERNAL_INSPECTOR_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -15321,13 +15311,13 @@ and EDJE_EXTERNAL_INSPECTOR_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EDJE_EXTERNAL_INSPECTOR_CFLAGS=$pkg_cv_EDJE_EXTERNAL_INSPECTOR_CFLAGS EDJE_EXTERNAL_INSPECTOR_LIBS=$pkg_cv_EDJE_EXTERNAL_INSPECTOR_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi fi @@ -15337,8 +15327,7 @@ for ac_header in locale.h sys/resource.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -15417,7 +15406,7 @@ $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16281,8 +16270,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -16398,11 +16386,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 $as_echo_n "checking for CHECK... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_CFLAGS"; then - pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_CFLAGS"; then + pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -16412,15 +16399,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_LIBS"; then - pkg_cv_CHECK_LIBS="$CHECK_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_LIBS"; then + pkg_cv_CHECK_LIBS="$CHECK_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -16430,14 +16415,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -16445,17 +16431,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` else - CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CHECK_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _efl_enable_tests="no" + _efl_enable_tests="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _efl_enable_tests="no" else CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS @@ -16596,11 +16582,6 @@ if test "${enable_build_examples+set}" = set; then : enableval=$enable_build_examples; if test "x${enableval}" = "xyes" ; then build_examples="yes" - edje_cc=$($PKG_CONFIG --variable=prefix edje)/bin/edje_cc - # put in here the dependencies for Edje' examples. They are - # meant to be 'real world' usage examples, thus one will be - # using higher level libraries on these programs - else build_examples="no" fi @@ -16705,6 +16686,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -16728,95 +16710,95 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EDJE_AMALGAMATION_TRUE}" && test -z "${EDJE_AMALGAMATION_FALSE}"; then - as_fn_error "conditional \"EDJE_AMALGAMATION\" was never defined. + as_fn_error $? "conditional \"EDJE_AMALGAMATION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_CC_TRUE}" && test -z "${BUILD_EDJE_CC_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_CC\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_CC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_DECC_TRUE}" && test -z "${BUILD_EDJE_DECC_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_DECC\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_DECC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_RECC_TRUE}" && test -z "${BUILD_EDJE_RECC_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_RECC\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_RECC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_PLAYER_TRUE}" && test -z "${BUILD_EDJE_PLAYER_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_PLAYER\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_PLAYER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_INSPECTOR_TRUE}" && test -z "${BUILD_EDJE_INSPECTOR_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_INSPECTOR\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_INSPECTOR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_EXTERNAL_INSPECTOR_TRUE}" && test -z "${BUILD_EDJE_EXTERNAL_INSPECTOR_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_EXTERNAL_INSPECTOR\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_EXTERNAL_INSPECTOR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EDJE_PROGRAM_CACHE_TRUE}" && test -z "${EDJE_PROGRAM_CACHE_FALSE}"; then - as_fn_error "conditional \"EDJE_PROGRAM_CACHE\" was never defined. + as_fn_error $? "conditional \"EDJE_PROGRAM_CACHE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EDJE_CALC_CACHE_TRUE}" && test -z "${EDJE_CALC_CACHE_FALSE}"; then - as_fn_error "conditional \"EDJE_CALC_CACHE\" was never defined. + as_fn_error $? "conditional \"EDJE_CALC_CACHE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDJE_FP_TRUE}" && test -z "${BUILD_EDJE_FP_FALSE}"; then - as_fn_error "conditional \"BUILD_EDJE_FP\" was never defined. + as_fn_error $? "conditional \"BUILD_EDJE_FP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then - as_fn_error "conditional \"HAVE_PYTHON\" was never defined. + as_fn_error $? "conditional \"HAVE_PYTHON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_MULTISENSE_TRUE}" && test -z "${ENABLE_MULTISENSE_FALSE}"; then - as_fn_error "conditional \"ENABLE_MULTISENSE\" was never defined. + as_fn_error $? "conditional \"ENABLE_MULTISENSE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_LIBSNDFILE_TRUE}" && test -z "${HAVE_LIBSNDFILE_FALSE}"; then - as_fn_error "conditional \"HAVE_LIBSNDFILE\" was never defined. + as_fn_error $? "conditional \"HAVE_LIBSNDFILE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_LIBREMIX_TRUE}" && test -z "${HAVE_LIBREMIX_FALSE}"; then - as_fn_error "conditional \"HAVE_LIBREMIX\" was never defined. + as_fn_error $? "conditional \"HAVE_LIBREMIX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_LIBALSA_TRUE}" && test -z "${HAVE_LIBALSA_FALSE}"; then - as_fn_error "conditional \"HAVE_LIBALSA\" was never defined. + as_fn_error $? "conditional \"HAVE_LIBALSA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EPP_TRUE}" && test -z "${BUILD_EPP_FALSE}"; then - as_fn_error "conditional \"BUILD_EPP\" was never defined. + as_fn_error $? "conditional \"BUILD_EPP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_COVERAGE\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_COVERAGE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EXAMPLES_TRUE}" && test -z "${BUILD_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"BUILD_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"BUILD_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -16966,19 +16948,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -17174,7 +17156,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -17227,8 +17209,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by edje $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by edje $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -17293,11 +17275,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -edje config.status 1.1.99.67344 -configured by $0, generated by GNU Autoconf 2.65, +edje config.status 1.2.0-alpha +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -17315,11 +17297,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -17341,6 +17328,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -17353,7 +17341,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -17362,7 +17350,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -17694,7 +17682,7 @@ do "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;; "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -17732,7 +17720,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -17749,7 +17737,7 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi @@ -17763,18 +17751,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -17863,20 +17851,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -17904,7 +17900,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -17989,7 +17985,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -18002,7 +17998,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -18030,7 +18026,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -18057,7 +18053,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -18194,22 +18190,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -18220,19 +18216,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -19023,7 +19019,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -19044,7 +19040,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/libraries/edje/configure.ac b/libraries/edje/configure.ac index eceed6c..8ac6b7c 100644 --- a/libraries/edje/configure.ac +++ b/libraries/edje/configure.ac @@ -1,12 +1,12 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) -m4_define([v_min], [1]) -m4_define([v_mic], [99]) +m4_define([v_min], [2]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line dnl m4_define([relname], [ver-pre-svn-07]) dnl m4_define([v_rel], [-release relname]) @@ -18,7 +18,7 @@ m4_define([lt_age], v_min) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -AC_INIT([edje], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([edje], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -96,6 +96,8 @@ AC_ARG_ENABLE([amalgamation], ) AM_CONDITIONAL([EDJE_AMALGAMATION], [test "x${do_amalgamation}" = "xyes"]) +EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) + EFL_ENABLE_BIN([edje-cc]) EFL_ENABLE_BIN([edje-decc]) EFL_ENABLE_BIN([edje-recc]) @@ -256,37 +258,37 @@ fi PKG_CHECK_MODULES([MINIMAL], [ - eina >= 1.1.0 - eet >= 1.5.0 + eina >= 1.2.0 + eet >= 1.6.0 ]) PKG_CHECK_MODULES([EDJE], [ - eina >= 1.1.0 - eet >= 1.5.0 - evas >= 1.1.0 - ecore >= 1.1.0 - ecore-evas >= 1.1.0 - ecore-file >= 1.1.0 - embryo >= 1.1.0 + eina >= 1.2.0 + eet >= 1.6.0 + evas >= 1.2.0 + ecore >= 1.2.0 + ecore-evas >= 1.2.0 + ecore-file >= 1.2.0 + embryo >= 1.2.0 ]) EDJE_LIBS="${EDJE_LIBS} ${LUA_LIBS} ${lua_libs}" EDJE_CFLAGS="${EDJE_CFLAGS} ${LUA_CFLAGS}" -requirement_edje="embryo >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0 ${requirement_edje}" +requirement_edje="embryo >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0 ${requirement_edje}" requirement_edje="${requirement_lua} ${requirement_edje}" have_ecore_imf="no" PKG_CHECK_MODULES([ECORE_IMF], [ - ecore-imf >= 1.1.0 - ecore-imf-evas >= 1.1.0 + ecore-imf >= 1.2.0 + ecore-imf-evas >= 1.2.0 ], [ AC_DEFINE([HAVE_ECORE_IMF], [1], [Input Method Support for Edje Entry]) have_ecore_imf="yes" - requirement_edje="ecore-imf-evas >= 1.1.0 ecore-imf >= 1.1.0 ${requirement_edje}" + requirement_edje="ecore-imf-evas >= 1.2.0 ecore-imf >= 1.2.0 ${requirement_edje}" ], [have_ecore_imf="no"]) @@ -443,26 +445,26 @@ fi # Dependencies for the binaries if test "x$have_edje_cc" = "xyes"; then - PKG_CHECK_MODULES([EDJE_CC], [ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0]) + PKG_CHECK_MODULES([EDJE_CC], [ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0]) EDJE_CC_LIBS="${EDJE_CC_LIBS} ${LUA_LIBS} ${lua_libs}" fi AM_CONDITIONAL([BUILD_EPP], [test "x$have_edje_cc" = "xyes"]) if test "x$have_edje_decc" = "xyes"; then - PKG_CHECK_MODULES([EDJE_DECC], [ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0]) + PKG_CHECK_MODULES([EDJE_DECC], [ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0]) fi if test "x$have_edje_player" = "xyes"; then - PKG_CHECK_MODULES([EDJE_PLAYER], [ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0]) + PKG_CHECK_MODULES([EDJE_PLAYER], [ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0]) fi if test "x$have_edje_inspector" = "xyes"; then - PKG_CHECK_MODULES([EDJE_INSPECTOR], [ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0]) + PKG_CHECK_MODULES([EDJE_INSPECTOR], [ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0]) fi if test "x$have_edje_external_inspector" = "xyes"; then - PKG_CHECK_MODULES([EDJE_EXTERNAL_INSPECTOR], [ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0]) + PKG_CHECK_MODULES([EDJE_EXTERNAL_INSPECTOR], [ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0]) fi @@ -541,11 +543,6 @@ AC_ARG_ENABLE([build-examples], [ if test "x${enableval}" = "xyes" ; then build_examples="yes" - edje_cc=$($PKG_CONFIG --variable=prefix edje)/bin/edje_cc - # put in here the dependencies for Edje' examples. They are - # meant to be 'real world' usage examples, thus one will be - # using higher level libraries on these programs - AC_SUBST(edje_cc) else build_examples="no" fi diff --git a/libraries/edje/data/Makefile.in b/libraries/edje/data/Makefile.in index 83c9e7c..8555a6e 100644 --- a/libraries/edje/data/Makefile.in +++ b/libraries/edje/data/Makefile.in @@ -217,6 +217,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/data/include/Makefile.in b/libraries/edje/data/include/Makefile.in index b639450..ce14f03 100644 --- a/libraries/edje/data/include/Makefile.in +++ b/libraries/edje/data/include/Makefile.in @@ -177,6 +177,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/doc/Makefile.in b/libraries/edje/doc/Makefile.in index d88c39e..b821675 100644 --- a/libraries/edje/doc/Makefile.in +++ b/libraries/edje/doc/Makefile.in @@ -154,6 +154,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/edje.spec b/libraries/edje/edje.spec index cede72d..edc3837 100644 --- a/libraries/edje/edje.spec +++ b/libraries/edje/edje.spec @@ -4,7 +4,7 @@ Summary: Complex Graphical Design/Layout Engine Name: edje -Version: 1.1.99.67344 +Version: 1.2.0-alpha Release: %{_rel} License: BSD Group: System Environment/Libraries diff --git a/libraries/edje/ltmain.sh b/libraries/edje/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/edje/ltmain.sh +++ b/libraries/edje/ltmain.sh @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 diff --git a/libraries/edje/m4/efl_binary.m4 b/libraries/edje/m4/efl_binary.m4 index 93d6934..c774688 100644 --- a/libraries/edje/m4/efl_binary.m4 +++ b/libraries/edje/m4/efl_binary.m4 @@ -42,3 +42,30 @@ AM_CONDITIONAL(BUILD_[]UP, test "x$have_[]m4_defn([DOWN])" = "xyes") AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$2], [$3]) ]) + + +dnl Macro that check if a binary is built or not + +dnl Usage: EFL_WITH_BIN(package, binary, default_value) +dnl Call AC_SUBST(_binary) (_binary is the lowercase of binary, - being transformed into _ by default, or the value set by the user) + +AC_DEFUN([EFL_WITH_BIN], +[ + +m4_pushdef([DOWN], m4_translit([[$2]], [-A-Z], [_a-z]))dnl + +dnl configure option + +AC_ARG_WITH([$2], + [AC_HELP_STRING([--with-$2=PATH], [specify a specific path to ]DOWN[ @<:@default=$3@:>@])], + [_efl_with_binary=${withval}], + [_efl_with_binary=$(pkg-config --variable=prefix $1)/bin/$3]) + +DOWN=${_efl_with_binary} +AC_MSG_NOTICE(DOWN[ set to ${_efl_with_binary}]) + +with_binary_[]m4_defn([DOWN])=${_efl_with_binary} + +AC_SUBST(DOWN) + +]) diff --git a/libraries/edje/src/Makefile.in b/libraries/edje/src/Makefile.in index fc05386..532d75b 100644 --- a/libraries/edje/src/Makefile.in +++ b/libraries/edje/src/Makefile.in @@ -193,6 +193,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/bin/Makefile.in b/libraries/edje/src/bin/Makefile.in index 07bf025..877bcb2 100644 --- a/libraries/edje/src/bin/Makefile.in +++ b/libraries/edje/src/bin/Makefile.in @@ -291,6 +291,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/bin/edje_cc.h b/libraries/edje/src/bin/edje_cc.h index d0c6d22..0291f29 100644 --- a/libraries/edje/src/bin/edje_cc.h +++ b/libraries/edje/src/bin/edje_cc.h @@ -147,6 +147,7 @@ void data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, void data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest); void data_queue_image_lookup(char *name, int *dest, Eina_Bool *set); void data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set); +void data_queue_image_remove(int *dest, Eina_Bool *set); void data_queue_part_slave_lookup(int *master, int *slave); void data_queue_image_slave_lookup(int *master, int *slave); void data_queue_spectrum_lookup(char *name, int *dest); @@ -155,6 +156,7 @@ void data_process_lookups(void); void data_process_scripts(void); void data_process_script_lookups(void); +void part_description_image_cleanup(Edje_Part *ep); int is_verbatim(void); void track_verbatim(int on); diff --git a/libraries/edje/src/bin/edje_cc_handlers.c b/libraries/edje/src/bin/edje_cc_handlers.c index f74fa12..14ac0b7 100644 --- a/libraries/edje/src/bin/edje_cc_handlers.c +++ b/libraries/edje/src/bin/edje_cc_handlers.c @@ -106,6 +106,7 @@ static void st_collections_group_script_only(void); static void st_collections_group_alias(void); static void st_collections_group_min(void); static void st_collections_group_max(void); +static void st_collections_group_broadcast_signal(void); static void st_collections_group_data_item(void); static void st_collections_group_orientation(void); @@ -317,6 +318,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.alias", st_collections_group_alias}, {"collections.group.min", st_collections_group_min}, {"collections.group.max", st_collections_group_max}, + {"collections.group.broadcast_signal", st_collections_group_broadcast_signal}, {"collections.group.orientation", st_collections_group_orientation}, {"collections.group.data.item", st_collections_group_data_item}, {"collections.group.limits.horizontal", st_collections_group_limits_horizontal}, @@ -833,6 +835,39 @@ _edje_part_description_fill(Edje_Part_Description_Spec_Fill *fill) fill->type = EDJE_FILL_TYPE_SCALE; } +static void +_edje_part_description_image_remove(Edje_Part_Description_Image *ed) +{ + unsigned int j; + + if (!ed) return; + + data_queue_image_remove(&(ed->image.id), &(ed->image.set)); + + for (j = 0; j < ed->image.tweens_count; ++j) + data_queue_image_remove(&(ed->image.tweens[j]->id), + &(ed->image.tweens[j]->set)); +} + +void +part_description_image_cleanup(Edje_Part *ep) +{ + Edje_Part_Description_Image *ed; + unsigned int j; + + if (ep->type != EDJE_PART_TYPE_IMAGE) + return ; + + ed = (Edje_Part_Description_Image*) ep->default_desc; + _edje_part_description_image_remove(ed); + + for (j = 0; j < ep->other.desc_count; j++) + { + ed = (Edje_Part_Description_Image*) ep->other.desc[j]; + _edje_part_description_image_remove(ed); + } +} + static Edje_Part_Description_Common * _edje_part_description_alloc(unsigned char type, const char *collection, const char *part) { @@ -2118,6 +2153,7 @@ ob_collections_group(void) pc = mem_alloc(SZ(Edje_Part_Collection)); edje_collections = eina_list_append(edje_collections, pc); pc->id = current_de->id; + pc->broadcast_signal = EINA_TRUE; /* This was the behaviour by default in Edje 1.1 */ cd = mem_alloc(SZ(Code)); codes = eina_list_append(codes, cd); @@ -2139,8 +2175,10 @@ ob_collections_group(void) static void st_collections_group_name(void) { + Edje_Part_Collection_Directory_Entry *alias; Edje_Part_Collection_Directory_Entry *older; Edje_Part_Collection *current_pc; + Eina_List *l = NULL; check_arg_count(1); @@ -2150,31 +2188,24 @@ st_collections_group_name(void) current_pc->part = current_de->entry; older = eina_hash_find(edje_file->collection, current_de->entry); + if (older) eina_hash_del(edje_file->collection, current_de->entry, older); + eina_hash_direct_add(edje_file->collection, current_de->entry, current_de); + if (!older) return; - if (older) - { - Edje_Part_Collection *pc; - Eina_List *l; - Code *cd; - int i = 0; - - pc = eina_list_nth(edje_collections, older->id); - cd = eina_list_nth(codes, older->id); - - eina_hash_del(edje_file->collection, current_de->entry, older); - edje_collections = eina_list_remove(edje_collections, pc); - codes = eina_list_remove(codes, cd); - - EINA_LIST_FOREACH(edje_collections, l, pc) - { - older = eina_hash_find(edje_file->collection, pc->part); - - pc->id = i++; - if (older) older->id = pc->id; - } - } + EINA_LIST_FOREACH(aliases, l, alias) + if (strcmp(alias->entry, current_de->entry) == 0) + { + Edje_Part_Collection *pc; + + pc = eina_list_nth(edje_collections, older->id); + INF("overriding alias ('%s' => '%s') by group '%s'", + alias->entry, pc->part, + current_de->entry); + aliases = eina_list_remove_list(aliases, l); + free(alias); + break; + } - eina_hash_direct_add(edje_file->collection, current_de->entry, current_de); } typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data; @@ -2242,6 +2273,14 @@ st_collections_group_inherit(void) progname, file_in, line - 1, parent_name); exit(-1); } + if (pc2 == pc) + { + ERR("%s: Error. parse error %s:%i. You are trying to inherit '%s' from itself. That's not possible." + "If there is another group of the same name, you want to inherit from that group and have the" + "same name as that group, there is a trick ! Just put the inherit before the directive that set" + "the name !", progname, file_in, line - 1, parent_name); + exit(-1); + } if (pc2->data) { @@ -2463,6 +2502,8 @@ static void st_collections_group_alias(void) { Edje_Part_Collection_Directory_Entry *alias; + Edje_Part_Collection_Directory_Entry *tmp; + Eina_List *l; check_arg_count(1); @@ -2470,6 +2511,20 @@ st_collections_group_alias(void) alias->id = current_de->id; alias->entry = parse_str(0); + EINA_LIST_FOREACH(aliases, l, tmp) + if (strcmp(alias->entry, tmp->entry) == 0) + { + Edje_Part_Collection *pc; + + pc = eina_list_nth(edje_collections, tmp->id); + INF("overriding alias ('%s' => '%s') to ('%s' => '%s')", + tmp->entry, pc->part, + alias->entry, current_de->entry); + aliases = eina_list_remove_list(aliases, l); + free(tmp); + break; + } + aliases = eina_list_append(aliases, alias); } @@ -2520,6 +2575,28 @@ st_collections_group_max(void) } /** + @page edcref + @property + broadcast_signal + @parameters + [broadcast] + @effect + Signal got automatically broadcasted to all sub group part. Default to + true since 1.1. + @endproperty +*/ +static void +st_collections_group_broadcast_signal(void) +{ + Edje_Part_Collection *pc; + + check_arg_count(1); + + pc = eina_list_data_get(eina_list_last(edje_collections)); + pc->broadcast_signal = parse_bool(0); +} + +/** @page edcref @block script @@ -2947,21 +3024,57 @@ st_collections_group_parts_part_name(void) static void st_collections_group_parts_part_type(void) { + unsigned int type; + check_arg_count(1); - current_part->type = parse_enum(0, - "NONE", EDJE_PART_TYPE_NONE, - "RECT", EDJE_PART_TYPE_RECTANGLE, - "TEXT", EDJE_PART_TYPE_TEXT, - "IMAGE", EDJE_PART_TYPE_IMAGE, - "SWALLOW", EDJE_PART_TYPE_SWALLOW, - "TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK, - "GROUP", EDJE_PART_TYPE_GROUP, - "BOX", EDJE_PART_TYPE_BOX, - "TABLE", EDJE_PART_TYPE_TABLE, - "EXTERNAL", EDJE_PART_TYPE_EXTERNAL, - "PROXY", EDJE_PART_TYPE_PROXY, - NULL); + type = parse_enum(0, + "NONE", EDJE_PART_TYPE_NONE, + "RECT", EDJE_PART_TYPE_RECTANGLE, + "TEXT", EDJE_PART_TYPE_TEXT, + "IMAGE", EDJE_PART_TYPE_IMAGE, + "SWALLOW", EDJE_PART_TYPE_SWALLOW, + "TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK, + "GROUP", EDJE_PART_TYPE_GROUP, + "BOX", EDJE_PART_TYPE_BOX, + "TABLE", EDJE_PART_TYPE_TABLE, + "EXTERNAL", EDJE_PART_TYPE_EXTERNAL, + "PROXY", EDJE_PART_TYPE_PROXY, + NULL); + + /* handle type change of inherited part */ + if (type != current_part->type) + { + Edje_Part_Description_Common *new, *previous; + Edje_Part_Collection *pc; + Edje_Part *ep; + unsigned int i; + + /* we don't free old part as we don't remove all reference to them */ + part_description_image_cleanup(current_part); + + pc = eina_list_data_get(eina_list_last(edje_collections)); + ep = current_part; + + previous = ep->default_desc; + if (previous) + { + new = _edje_part_description_alloc(type, pc->part, ep->name); + memcpy(new, previous, sizeof (Edje_Part_Description_Common)); + + ep->default_desc = new; + } + + for (i = 0; i < ep->other.desc_count; i++) + { + previous = ep->other.desc[i]; + new = _edje_part_description_alloc(type, pc->part, ep->name); + memcpy(new, previous, sizeof (Edje_Part_Description_Common)); + ep->other.desc[i] = new; + } + } + + current_part->type = type; } /** @@ -4292,6 +4405,7 @@ st_collections_group_parts_part_description_inherit(void) ied->image = iparent->image; + data_queue_image_remove(&ied->image.id, &ied->image.set); data_queue_copied_image_lookup(&iparent->image.id, &ied->image.id, &ied->image.set); ied->image.tweens = calloc(iparent->image.tweens_count, @@ -4303,6 +4417,7 @@ st_collections_group_parts_part_description_inherit(void) iid = iparent->image.tweens[i]; iid_new = mem_alloc(SZ(Edje_Part_Image_Id)); + data_queue_image_remove(&ied->image.id, &ied->image.set); data_queue_copied_image_lookup(&(iid->id), &(iid_new->id), &(iid_new->set)); ied->image.tweens[i] = iid_new; } @@ -4445,6 +4560,9 @@ st_collections_group_parts_part_description_state(void) if ((ep->default_desc->state.name && !strcmp(s, ep->default_desc->state.name) && ed->state.value == ep->default_desc->state.value) || (!ep->default_desc->state.name && !strcmp(s, "default") && ed->state.value == ep->default_desc->state.value)) { + if (ep->type == EDJE_PART_TYPE_IMAGE) + _edje_part_description_image_remove((Edje_Part_Description_Image*) ed); + free(ed); ep->other.desc_count--; ep->other.desc = realloc(ep->other.desc, @@ -4458,6 +4576,9 @@ st_collections_group_parts_part_description_state(void) { if (!strcmp(s, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value) { + if (ep->type == EDJE_PART_TYPE_IMAGE) + _edje_part_description_image_remove((Edje_Part_Description_Image*) ed); + free(ed); ep->other.desc_count--; ep->other.desc = realloc(ep->other.desc, @@ -4538,18 +4659,38 @@ st_collections_group_parts_part_description_fixed(void) @property min @parameters - [width] [height] + [width] [height] or SOURCE @effect The minimum size of the state. + + When min is defined to SOURCE, it will look at the original + image size and enforce it minimal size to match at least the + original one. The part must be an IMAGE or a GROUP part. @endproperty */ static void st_collections_group_parts_part_description_min(void) { - check_arg_count(2); + check_min_arg_count(1); + + if (is_param(1)) { + current_desc->min.w = parse_float_range(0, 0, 0x7fffffff); + current_desc->min.h = parse_float_range(1, 0, 0x7fffffff); + } else { + char *tmp; + + tmp = parse_str(0); + if ((current_part->type != EDJE_PART_TYPE_IMAGE && current_part->type != EDJE_PART_TYPE_GROUP) || + !tmp || strcmp(tmp, "SOURCE") != 0) + { + ERR("%s: Error. parse error %s:%i. " + "Only IMAGE and GROUP part can have a min: SOURCE; defined", + progname, file_in, line - 1); + exit(-1); + } - current_desc->min.w = parse_float_range(0, 0, 0x7fffffff); - current_desc->min.h = parse_float_range(1, 0, 0x7fffffff); + current_desc->min.limit = EINA_TRUE; + } } /** @@ -4578,18 +4719,38 @@ st_collections_group_parts_part_description_minmul(void) @property max @parameters - [width] [height] + [width] [height] or SOURCE @effect The maximum size of the state. A size of -1.0 means that it will be ignored in one direction. + + When max is set to SOURCE, edje will enforce the part to be + not more than the original image size. The part must be an + IMAGE part. @endproperty */ static void st_collections_group_parts_part_description_max(void) { - check_arg_count(2); + check_min_arg_count(1); + + if (is_param(1)) { + current_desc->max.w = parse_float_range(0, -1.0, 0x7fffffff); + current_desc->max.h = parse_float_range(1, -1.0, 0x7fffffff); + } else { + char *tmp; - current_desc->max.w = parse_float_range(0, -1.0, 0x7fffffff); - current_desc->max.h = parse_float_range(1, -1.0, 0x7fffffff); + tmp = parse_str(0); + if (current_part->type != EDJE_PART_TYPE_IMAGE || + !tmp || strcmp(tmp, "SOURCE") != 0) + { + ERR("%s: Error. parse error %s:%i. " + "Only IMAGE part can have a max: SOURCE; defined", + progname, file_in, line - 1); + exit(-1); + } + + current_desc->max.limit = EINA_TRUE; + } } /** @@ -5039,6 +5200,7 @@ st_collections_group_parts_part_description_image_normal(void) char *name; name = parse_str(0); + data_queue_image_remove(&(ed->image.id), &(ed->image.set)); data_queue_image_lookup(name, &(ed->image.id), &(ed->image.set)); free(name); } @@ -5083,6 +5245,7 @@ st_collections_group_parts_part_description_image_tween(void) sizeof (Edje_Part_Image_Id*) * ed->image.tweens_count); ed->image.tweens[ed->image.tweens_count - 1] = iid; name = parse_str(0); + data_queue_image_remove(&(iid->id), &(iid->set)); data_queue_image_lookup(name, &(iid->id), &(iid->set)); free(name); } diff --git a/libraries/edje/src/bin/edje_cc_mem.c b/libraries/edje/src/bin/edje_cc_mem.c index 7c1a5c9..d2d4ae0 100644 --- a/libraries/edje/src/bin/edje_cc_mem.c +++ b/libraries/edje/src/bin/edje_cc_mem.c @@ -7,12 +7,6 @@ #include "edje_cc.h" -#ifdef _WIN32 -# define FMT_SIZE_T "%Iu" -#else -# define FMT_SIZE_T "%zu" -#endif - void * mem_alloc(size_t size) { @@ -20,7 +14,7 @@ mem_alloc(size_t size) mem = calloc(1, size); if (mem) return mem; - ERR("%s: Error. %s:%i memory allocation of " FMT_SIZE_T " bytes failed. %s", + ERR("%s: Error. %s:%i memory allocation of %zu bytes failed. %s", progname, file_in, line, size, strerror(errno)); exit(-1); return NULL; @@ -33,7 +27,7 @@ mem_strdup(const char *s) str = strdup(s); if (str) return str; - ERR("%s: Error. %s:%i memory allocation of " FMT_SIZE_T " bytes failed. %s. string being duplicated: \"%s\"", + ERR("%s: Error. %s:%i memory allocation of %zu bytes failed. %s. string being duplicated: \"%s\"", progname, file_in, line, strlen(s) + 1, strerror(errno), s); exit(-1); return NULL; diff --git a/libraries/edje/src/bin/edje_cc_out.c b/libraries/edje/src/bin/edje_cc_out.c index 5050ad4..b4c541c 100644 --- a/libraries/edje/src/bin/edje_cc_out.c +++ b/libraries/edje/src/bin/edje_cc_out.c @@ -2,21 +2,30 @@ # include "config.h" #endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif #ifdef HAVE_ALLOCA_H # include -#elif defined __GNUC__ -# define alloca __builtin_alloca -#elif defined _AIX -# define alloca __alloca -#elif defined _MSC_VER -# include -# define alloca _alloca -#else -# include -# ifdef __cplusplus +#elif !defined alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _AIX +# define alloca __alloca +# elif defined _MSC_VER +# include +# define alloca _alloca +# elif !defined HAVE_ALLOCA +# ifdef __cplusplus extern "C" -# endif +# endif void *alloca (size_t); +# endif #endif #include @@ -102,7 +111,7 @@ struct _Code_Lookup Eina_Bool set; }; -static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char *ptr, int len)); +static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len)); Edje_File *edje_file = NULL; Eina_List *edje_collections = NULL; @@ -500,7 +509,8 @@ data_write_images(Eet_File *ef, int *image_num, int *input_bytes, int *input_raw { img = &edje_file->image_dir->entries[i]; - if (img->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) + if (img->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL + || img->entry == NULL) { } else @@ -1550,6 +1560,23 @@ data_queue_image_lookup(char *name, int *dest, Eina_Bool *set) } void +data_queue_image_remove(int *dest, Eina_Bool *set) +{ + Eina_List *l; + Image_Lookup *il; + + EINA_LIST_FOREACH(image_lookups, l, il) + { + if (il->dest == dest && il->set == set) + { + image_lookups = eina_list_remove_list(image_lookups, l); + free(il); + return ; + } + } + } + +void data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set) { Eina_List *l; @@ -1602,14 +1629,64 @@ data_process_lookups(void) Program_Lookup *program; Group_Lookup *group; Image_Lookup *image; + Eina_List *l2; Eina_List *l; + Eina_Hash *images_in_use; void *data; + Eina_Bool is_lua = EINA_FALSE; + + /* remove all unreferenced Edje_Part_Collection */ + EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc) + { + Edje_Part_Collection_Directory_Entry *alias; + Edje_Part_Collection_Directory_Entry *find; + Eina_List *l3; + unsigned int id = 0; + unsigned int i; + + find = eina_hash_find(edje_file->collection, pc->part); + if (find && find->id == pc->id) + continue ; + + EINA_LIST_FOREACH(aliases, l3, alias) + if (alias->id == pc->id) + continue ; + + /* This Edje_Part_Collection is not used at all */ + edje_collections = eina_list_remove_list(edje_collections, l); + l3 = eina_list_nth_list(codes, pc->id); + codes = eina_list_remove_list(codes, l3); + + /* Unref all image used by that group */ + for (i = 0; i < pc->parts_count; ++i) + part_description_image_cleanup(pc->parts[i]); + + /* Correct all id */ + EINA_LIST_FOREACH(edje_collections, l3, pc) + { + Eina_List *l4; + + /* Some group could be removed from the collection, but still be referenced by alias */ + find = eina_hash_find(edje_file->collection, pc->part); + if (pc->id != find->id) find = NULL; + + /* Update all matching alias */ + EINA_LIST_FOREACH(aliases, l4, alias) + if (pc->id == alias->id) + alias->id = id; + + pc->id = id++; + if (find) find->id = pc->id; + } + } EINA_LIST_FOREACH(edje_collections, l, pc) { unsigned int count = 0; unsigned int i; + if (pc->lua_script_only) + is_lua = EINA_TRUE; #define PROGRAM_ID_SET(Type, Pc, It, Count) \ for (It = 0; It < Pc->programs.Type ## _count; ++It) \ { \ @@ -1738,13 +1815,15 @@ data_process_lookups(void) free(group); } + images_in_use = eina_hash_string_superfast_new(NULL); + EINA_LIST_FREE(image_lookups, image) { - Edje_Image_Directory_Entry *de; Eina_Bool find = EINA_FALSE; if (edje_file->image_dir) { + Edje_Image_Directory_Entry *de; unsigned int i; for (i = 0; i < edje_file->image_dir->entries_count; ++i) @@ -1760,6 +1839,9 @@ data_process_lookups(void) *(image->dest) = de->id; *(image->set) = EINA_FALSE; find = EINA_TRUE; + + if (!eina_hash_find(images_in_use, image->name)) + eina_hash_direct_add(images_in_use, de->entry, de); break; } } @@ -1774,10 +1856,20 @@ data_process_lookups(void) if ((set->name) && (!strcmp(set->name, image->name))) { + Edje_Image_Directory_Set_Entry *child; + Eina_List *lc; + handle_slave_lookup(image_slave_lookups, image->dest, set->id); *(image->dest) = set->id; *(image->set) = EINA_TRUE; find = EINA_TRUE; + + EINA_LIST_FOREACH(set->entries, lc, child) + if (!eina_hash_find(images_in_use, child->name)) + eina_hash_direct_add(images_in_use, child->name, child); + + if (!eina_hash_find(images_in_use, image->name)) + eina_hash_direct_add(images_in_use, set->name, set); break; } } @@ -1795,6 +1887,54 @@ data_process_lookups(void) free(image); } + if (edje_file->image_dir && !is_lua) + { + Edje_Image_Directory_Entry *de; + Edje_Image_Directory_Set *set; + unsigned int i; + + for (i = 0; i < edje_file->image_dir->entries_count; ++i) + { + de = edje_file->image_dir->entries + i; + + if (de->entry && eina_hash_find(images_in_use, de->entry)) + continue ; + + if (verbose) + { + printf("%s: Image '%s' in ressource 'edje/image/%i' will not be included as it is unused.\n", progname, de->entry, de->id); + } + else + { + INF("Image '%s' in ressource 'edje/image/%i' will not be included as it is unused.", de->entry, de->id); + } + + de->entry = NULL; + } + + for (i = 0; i < edje_file->image_dir->sets_count; ++i) + { + set = edje_file->image_dir->sets + i; + + if (set->name && eina_hash_find(images_in_use, set->name)) + continue ; + + if (verbose) + { + printf("%s: Set '%s' will not be included as it is unused.\n", progname, set->name); + } + else + { + INF("Set '%s' will not be included as it is unused.", set->name); + } + + set->name = NULL; + set->entries = NULL; + } + } + + eina_hash_free(images_in_use); + EINA_LIST_FREE(part_slave_lookups, data) free(data); diff --git a/libraries/edje/src/bin/edje_inspector.c b/libraries/edje/src/bin/edje_inspector.c index 093de86..676c829 100644 --- a/libraries/edje/src/bin/edje_inspector.c +++ b/libraries/edje/src/bin/edje_inspector.c @@ -31,12 +31,6 @@ static int _log_dom; #define FLOAT_PRECISION 0.0001 #define FDIFF(a, b) (fabs((a) - (b)) > FLOAT_PRECISION) -#ifdef _WIN32 -# define FMT_UCHAR "%c" -#else -# define FMT_UCHAR "%hhu" -#endif - /* context */ static Eina_List *groups; static Ecore_Evas *ee; @@ -1588,8 +1582,8 @@ main(int argc, char **argv) goto error_getopt; } - DBG("mode=%s, detail=%d(%s), group=%s, part=%s, program=%s, api-only=" FMT_UCHAR - ", api-fix=" FMT_UCHAR ", machine=" FMT_UCHAR ", file=%s", + DBG("mode=%s, detail=%d(%s), group=%s, part=%s, program=%s, api-only=%hhu" + ", api-fix=%hhu, machine=%hhu, file=%s", mode, detail, detail_name, group ? group : "", part ? part : "", diff --git a/libraries/edje/src/bin/edje_player.c b/libraries/edje/src/bin/edje_player.c index 4d0c0a3..208fbb4 100644 --- a/libraries/edje/src/bin/edje_player.c +++ b/libraries/edje/src/bin/edje_player.c @@ -20,12 +20,6 @@ #include #include -#ifdef _WIN32 -# define FMT_UCHAR "%c" -#else -# define FMT_UCHAR "%hhu" -#endif - struct opts { char *file; char *group; @@ -554,7 +548,7 @@ static unsigned char _parse_color(__UNUSED__ const Ecore_Getopt *parser, __UNUSE { unsigned char *color = (unsigned char *)storage->ptrp; - if (sscanf(str, FMT_UCHAR "," FMT_UCHAR "," FMT_UCHAR, color, color + 1, color + 2) != 3) + if (sscanf(str, "%hhu,%hhu,%hhu", color, color + 1, color + 2) != 3) { fprintf(stderr, "ERROR: incorrect color value '%s'\n", str); return 0; diff --git a/libraries/edje/src/bin/epp/Makefile.in b/libraries/edje/src/bin/epp/Makefile.in index c1a8ee5..2ef2e56 100644 --- a/libraries/edje/src/bin/epp/Makefile.in +++ b/libraries/edje/src/bin/epp/Makefile.in @@ -225,6 +225,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/examples/Makefile.am b/libraries/edje/src/examples/Makefile.am index 579f148..e3893cd 100644 --- a/libraries/edje/src/examples/Makefile.am +++ b/libraries/edje/src/examples/Makefile.am @@ -1,5 +1,10 @@ MAINTAINERCLEANFILES = Makefile.in +EDJE_CC = @edje_cc@ +EDJE_CC_FLAGS_VERBOSE_0 = +EDJE_CC_FLAGS_VERBOSE_1 = -v +EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_$(V)) -id $(srcdir) -fd $(srcdir) + examplesdir = $(datadir)/$(PACKAGE)/examples if ENABLE_MULTISENSE @@ -24,7 +29,8 @@ EDCS = \ $(MULTISENSE_EDC_FILE) .edc.edj: - $(edje_cc) -v -fd $(srcdir) -id $(srcdir) $(SND_DIR) $< $(builddir)/$(@F) + $(EDJE_CC) $(EDJE_CC_FLAGS) $(SND_DIR) $< $(builddir)/$(@F) + EDJS = $(EDCS:%.edc=%.edj) @@ -53,31 +59,33 @@ EXTRA_DIST = $(files_DATA) if BUILD_EXAMPLES AM_CPPFLAGS = \ - -I. \ - -I$(top_srcdir)/src/lib \ - -I$(top_srcdir)/src/lib/include \ - -DPACKAGE_BIN_DIR=\"$(bindir)\" \ - -DPACKAGE_LIB_DIR=\"$(libdir)\" \ - -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ - -DPACKAGE_EXAMPLES_DIR=\"$(datadir)/$(PACKAGE)/examples\" \ - @EDJE_CFLAGS@ +-I. \ +-I$(top_srcdir)/src/lib \ +-I$(top_srcdir)/src/lib/include \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \ +@EDJE_CFLAGS@ files_DATA += $(EDJS) examples_PROGRAMS = \ + edje-animations \ edje-basic \ - edje-swallow \ - edje-text \ - edje-table \ edje-box \ edje-box2 \ - edje-drag\ - edje-signals-messages \ edje-color-class \ + edje-drag\ edje-perspective \ - edje-animations \ + edje-signals-messages \ + edje-swallow \ + edje-table \ + edje-text \ sigtest LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_LIBS@ endif + +clean-local: + rm -f *.edj diff --git a/libraries/edje/src/examples/Makefile.in b/libraries/edje/src/examples/Makefile.in index 7f867e0..de47940 100644 --- a/libraries/edje/src/examples/Makefile.in +++ b/libraries/edje/src/examples/Makefile.in @@ -36,14 +36,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @BUILD_EXAMPLES_TRUE@am__append_1 = $(EDJS) -@BUILD_EXAMPLES_TRUE@examples_PROGRAMS = edje-basic$(EXEEXT) \ -@BUILD_EXAMPLES_TRUE@ edje-swallow$(EXEEXT) edje-text$(EXEEXT) \ -@BUILD_EXAMPLES_TRUE@ edje-table$(EXEEXT) edje-box$(EXEEXT) \ -@BUILD_EXAMPLES_TRUE@ edje-box2$(EXEEXT) edje-drag$(EXEEXT) \ -@BUILD_EXAMPLES_TRUE@ edje-signals-messages$(EXEEXT) \ +@BUILD_EXAMPLES_TRUE@examples_PROGRAMS = edje-animations$(EXEEXT) \ +@BUILD_EXAMPLES_TRUE@ edje-basic$(EXEEXT) edje-box$(EXEEXT) \ +@BUILD_EXAMPLES_TRUE@ edje-box2$(EXEEXT) \ @BUILD_EXAMPLES_TRUE@ edje-color-class$(EXEEXT) \ +@BUILD_EXAMPLES_TRUE@ edje-drag$(EXEEXT) \ @BUILD_EXAMPLES_TRUE@ edje-perspective$(EXEEXT) \ -@BUILD_EXAMPLES_TRUE@ edje-animations$(EXEEXT) sigtest$(EXEEXT) +@BUILD_EXAMPLES_TRUE@ edje-signals-messages$(EXEEXT) \ +@BUILD_EXAMPLES_TRUE@ edje-swallow$(EXEEXT) edje-table$(EXEEXT) \ +@BUILD_EXAMPLES_TRUE@ edje-text$(EXEEXT) sigtest$(EXEEXT) subdir = src/examples DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -279,6 +280,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ @@ -366,6 +369,10 @@ top_srcdir = @top_srcdir@ version_info = @version_info@ vimdir = @vimdir@ MAINTAINERCLEANFILES = Makefile.in +EDJE_CC = @edje_cc@ +EDJE_CC_FLAGS_VERBOSE_0 = +EDJE_CC_FLAGS_VERBOSE_1 = -v +EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_$(V)) -id $(srcdir) -fd $(srcdir) examplesdir = $(datadir)/$(PACKAGE)/examples @ENABLE_MULTISENSE_TRUE@MULTISENSE_EDC_FILE = multisense.edc @ENABLE_MULTISENSE_TRUE@SND_DIR = -sd $(srcdir) @@ -394,14 +401,13 @@ files_DATA = $(EDCS) bubble.png red.png test.png Vera.ttf edje-basic.c \ edje-perspective.c edje-animations.c sigtest.c $(am__append_1) EXTRA_DIST = $(files_DATA) @BUILD_EXAMPLES_TRUE@AM_CPPFLAGS = \ -@BUILD_EXAMPLES_TRUE@ -I. \ -@BUILD_EXAMPLES_TRUE@ -I$(top_srcdir)/src/lib \ -@BUILD_EXAMPLES_TRUE@ -I$(top_srcdir)/src/lib/include \ -@BUILD_EXAMPLES_TRUE@ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -@BUILD_EXAMPLES_TRUE@ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -@BUILD_EXAMPLES_TRUE@ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@BUILD_EXAMPLES_TRUE@ -DPACKAGE_EXAMPLES_DIR=\"$(datadir)/$(PACKAGE)/examples\" \ -@BUILD_EXAMPLES_TRUE@ @EDJE_CFLAGS@ +@BUILD_EXAMPLES_TRUE@-I. \ +@BUILD_EXAMPLES_TRUE@-I$(top_srcdir)/src/lib \ +@BUILD_EXAMPLES_TRUE@-I$(top_srcdir)/src/lib/include \ +@BUILD_EXAMPLES_TRUE@-DPACKAGE_BIN_DIR=\"$(bindir)\" \ +@BUILD_EXAMPLES_TRUE@-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +@BUILD_EXAMPLES_TRUE@-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \ +@BUILD_EXAMPLES_TRUE@@EDJE_CFLAGS@ @BUILD_EXAMPLES_TRUE@LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_LIBS@ all: all-am @@ -705,7 +711,7 @@ maintainer-clean-generic: clean: clean-am clean-am: clean-examplesPROGRAMS clean-generic clean-libtool \ - mostlyclean-am + clean-local mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -776,8 +782,8 @@ uninstall-am: uninstall-examplesPROGRAMS uninstall-filesDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ - clean-examplesPROGRAMS clean-generic clean-libtool ctags \ - distclean distclean-compile distclean-generic \ + clean-examplesPROGRAMS clean-generic clean-libtool clean-local \ + ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ @@ -793,7 +799,10 @@ uninstall-am: uninstall-examplesPROGRAMS uninstall-filesDATA .edc.edj: - $(edje_cc) -v -fd $(srcdir) -id $(srcdir) $(SND_DIR) $< $(builddir)/$(@F) + $(EDJE_CC) $(EDJE_CC_FLAGS) $(SND_DIR) $< $(builddir)/$(@F) + +clean-local: + rm -f *.edj # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/libraries/edje/src/examples/edje-animations.c b/libraries/edje/src/examples/edje-animations.c index 9363471..15f2ee0 100644 --- a/libraries/edje/src/examples/edje-animations.c +++ b/libraries/edje/src/examples/edje-animations.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -23,34 +22,59 @@ #define WIDTH (400) #define HEIGHT (300) -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/animations.edj"; -static Ecore_Evas *ee; -static Evas_Object *bg, *edje_obj; -static double frametime = 1.0/30.0; /* default value */ +static const char commands[] = \ + "commands are:\n" + "\t+ - increase frametime\n" + "\t- - decrease frametime\n" + "\t= - status of the animation\n" + "\ts - pause\n" + "\tp - play\n" + "\tf - freeze one object\n" + "\tF - freeze all objects\n" + "\tt - thaw one object\n" + "\tT - thaw all objects\n" + "\ta - start animation of one object\n" + "\tA - stop animation of one object\n" + "\tEsc - exit\n" + "\th - print help\n"; + +static double frametime = 1.0 / 30.0; /* default value */ static void -_on_delete_cb(Ecore_Evas *ee) +_on_delete_cb(Ecore_Evas *ee __UNUSED__) { ecore_main_loop_quit(); } static void -_canvas_resize_cb(Ecore_Evas *ee) +_on_canvas_resize(Ecore_Evas *ee) { - int w, h; - - ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - evas_object_resize(bg, w, h); - evas_object_resize(edje_obj, w, h); + Evas_Object *bg; + Evas_Object *edje_obj; + int w; + int h; + + bg = ecore_evas_data_get(ee, "background"); + edje_obj = ecore_evas_data_get(ee, "edje_obj"); + ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); + evas_object_resize(bg, w, h); + evas_object_resize(edje_obj, w, h); } static void -_on_key_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info) +_on_key_down(void *data __UNUSED__, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info) { - Evas_Event_Key_Down *ev = event_info; - double ft; + Evas_Event_Key_Down *ev; + double ft; + + ev = (Evas_Event_Key_Down *)event_info; - if (!strcmp(ev->key, "plus")) + if (!strcmp(ev->keyname, "h")) + { + fprintf(stdout, commands); + return; + } + else if (!strcmp(ev->key, "plus")) { frametime *= 2.0; fprintf(stdout, "Increasing frametime to: %f\n", frametime); @@ -109,24 +133,52 @@ _on_key_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info) edje_object_animation_set(obj, EINA_FALSE); fprintf(stdout, "Stopping the animation in the Edje object\n"); } + else if (!strcmp(ev->keyname, "Escape")) + ecore_main_loop_quit(); + else + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } int -main(int argc, char *argv[]) +main(int argc __UNUSED__, char *argv[]) { - Evas *evas; - - ecore_evas_init(); - edje_init(); + char edje_file_path[PATH_MAX]; + const char *edje_file = "animations.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; + Eina_Prefix *pfx; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete_cb); - ecore_evas_callback_resize_set(ee, _canvas_resize_cb); + ecore_evas_callback_resize_set(ee, _on_canvas_resize); ecore_evas_title_set(ee, "Edje Animations Example"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -135,22 +187,41 @@ main(int argc, char *argv[]) evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg); + ecore_evas_data_set(ee, "background", bg); edje_obj = edje_object_add(evas); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); edje_object_file_set(edje_obj, edje_file_path, "animations_group"); evas_object_move(edje_obj, 0, 0); evas_object_resize(edje_obj, WIDTH, HEIGHT); evas_object_show(edje_obj); + ecore_evas_data_set(ee, "edje_obj", edje_obj); evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_KEY_DOWN, - _on_key_down_cb, NULL); + _on_key_down, NULL); evas_object_focus_set(edje_obj, EINA_TRUE); + fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-basic.c b/libraries/edje/src/examples/edje-basic.c index 2a7a862..8a85312 100644 --- a/libraries/edje/src/examples/edje-basic.c +++ b/libraries/edje/src/examples/edje-basic.c @@ -11,47 +11,46 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif +#include + +#include #include #include #include -#include #define WIDTH (300) #define HEIGHT (300) -static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png"; -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/basic.edj"; - -static Ecore_Evas *ee; -static Evas_Object *edje_obj; - static const char commands[] = \ "commands are:\n" "\ts - change Edje's global scaling factor\n" "\tr - change center rectangle's scaling factor\n" + "\tEsc - exit\n" "\th - print help\n"; static void -_on_keydown(void *data __UNUSED__, +_on_keydown(void *data, Evas *evas __UNUSED__, Evas_Object *o __UNUSED__, void *einfo) { - Evas_Event_Key_Down *ev = einfo; + Evas_Event_Key_Down *ev; + Evas_Object *edje_obj; + + ev = (Evas_Event_Key_Down *)einfo; + edje_obj = (Evas_Object *)data; if (strcmp(ev->keyname, "h") == 0) /* print help */ { fprintf(stdout, commands); return; } - - if (strcmp(ev->keyname, "s") == 0) /* global scaling factor */ + else if (strcmp(ev->keyname, "s") == 0) /* global scaling factor */ { double scale = edje_scale_get(); @@ -66,8 +65,7 @@ _on_keydown(void *data __UNUSED__, return; } - - if (strcmp(ev->keyname, "r") == 0) /* individual scaling factor */ + else if (strcmp(ev->keyname, "r") == 0) /* individual scaling factor */ { double scale = edje_object_scale_get(edje_obj); @@ -84,6 +82,13 @@ _on_keydown(void *data __UNUSED__, return; } + else if (!strcmp(ev->keyname, "Escape")) + ecore_main_loop_quit(); + else + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } static void @@ -93,27 +98,47 @@ _on_delete(Ecore_Evas *ee __UNUSED__) } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas_Object *border, *bg; - int x, y, w, h; - Evas *evas; + char border_img_path[PATH_MAX]; + char edje_file_path[PATH_MAX]; + const char *edje_file = "basic.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *border; + Evas_Object *edje_obj; + Eina_Prefix *pfx; + int x; + int y; + int w; + int h; if (!ecore_evas_init()) return EXIT_FAILURE; if (!edje_init()) - return EXIT_FAILURE; + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); if (!ee) - goto error; + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete); ecore_evas_title_set(ee, "Edje Basics Example"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -125,11 +150,12 @@ main(void) ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); evas_object_focus_set(bg, EINA_TRUE); - evas_object_event_callback_add( - bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); edje_obj = edje_object_add(evas); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); + printf("%s\n", edje_file_path); /* exercising Edje loading error, on purpose */ if (!edje_object_file_set(edje_obj, edje_file_path, "unexistant_group")) { @@ -147,7 +173,7 @@ main(void) errmsg); evas_object_del(edje_obj); - goto error_edj; + goto free_prefix; } fprintf(stdout, "Loaded Edje object bound to group 'example_group' from" @@ -157,6 +183,11 @@ main(void) evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); evas_object_show(edje_obj); + evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, edje_obj); + + snprintf(border_img_path, sizeof(border_img_path), + "%s/edje/examples/red.png", eina_prefix_data_get(pfx)); + /* this is a border around the Edje object above, here just to * emphasize its geometry */ border = evas_object_image_filled_add(evas); @@ -203,24 +234,24 @@ main(void) "y = %d, w = %d, h = %d\n", x, y, w, h); fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; -error: - fprintf(stderr, "You got to have at least one evas engine built" - " and linked up to ecore-evas for this example to run" - " properly.\n"); - ecore_evas_shutdown(); - return -1; - -error_edj: - fprintf(stderr, "Failed to load basic.edj!\n"); + return EXIT_SUCCESS; + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: ecore_evas_shutdown(); - return -2; -} + return EXIT_FAILURE; +} diff --git a/libraries/edje/src/examples/edje-box.c b/libraries/edje/src/examples/edje-box.c index 7fffba3..2b0cbda 100644 --- a/libraries/edje/src/examples/edje-box.c +++ b/libraries/edje/src/examples/edje-box.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -28,13 +27,13 @@ #define NRECTS 20 -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/box.edj"; - -struct _App { - Ecore_Evas *ee; - Evas_Object *edje; - Evas_Object *bg; -}; +static const char commands[] = \ + "commands are:\n" + "\ti - prepend rectangle\n" + "\ta - append rectangle\n" + "\tc - remove\n" + "\tEsc - exit\n" + "\th - print help\n"; static void _on_destroy(Ecore_Evas *ee __UNUSED__) @@ -45,32 +44,41 @@ _on_destroy(Ecore_Evas *ee __UNUSED__) /* here just to keep our example's window size and background image's * size in synchrony */ static void -_canvas_resize_cb(Ecore_Evas *ee) +_on_canvas_resize(Ecore_Evas *ee) { - int w, h; - struct _App *app = ecore_evas_data_get(ee, "app"); + Evas_Object *bg; + Evas_Object *edje_obj; + int w; + int h; + bg = ecore_evas_data_get(ee, "background"); + edje_obj = ecore_evas_data_get(ee, "edje_obj"); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - evas_object_resize(app->bg, w, h); - evas_object_resize(app->edje, w, h); + evas_object_resize(bg, w, h); + evas_object_resize(edje_obj, w, h); } static void -_rect_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info) +_on_rect_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info) { - struct _App *app = data; - Evas_Event_Mouse_Down *ev = event_info; + Ecore_Evas *ee; + Evas_Event_Mouse_Down *ev; + Evas_Object *edje_obj; + + ee = (Ecore_Evas *)data; + ev = (Evas_Event_Mouse_Down *)event_info; + edje_obj = ecore_evas_data_get(ee, "edje_obj"); if (ev->button == 1) { printf("Removing rect %p under the mouse pointer.\n", o); - edje_object_part_box_remove(app->edje, "example/box", o); + edje_object_part_box_remove(edje_obj, "example/box", o); evas_object_del(o); } else if (ev->button == 3) { Evas_Object *rect; - Eina_Bool r; + Eina_Bool r; rect = evas_object_rectangle_add(e); evas_object_color_set(rect, 0, 0, 255, 255); @@ -78,23 +86,32 @@ _rect_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info) evas_object_show(rect); printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect); - r = edje_object_part_box_insert_before(app->edje, "example/box", rect, o); + r = edje_object_part_box_insert_before(edje_obj, "example/box", rect, o); if (!r) printf("An error ocurred when appending rect %p to the box.\n", rect); - evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, app); + evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL); } } static void -_bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) +_on_bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) { - struct _App *app = data; - Evas_Event_Key_Down *ev = event_info; - Evas_Object *rect; - Eina_Bool r; + Ecore_Evas *ee; + Evas_Event_Key_Down *ev; + Evas_Object *edje_obj; + Evas_Object *rect; + Eina_Bool r; + ee = (Ecore_Evas *)data; + ev = (Evas_Event_Key_Down *)event_info; + edje_obj = ecore_evas_data_get(ee, "edje_obj"); + if (!strcmp(ev->keyname, "h")) + { + fprintf(stdout, commands); + return; + } if (!strcmp(ev->keyname, "i")) { rect = evas_object_rectangle_add(e); @@ -103,11 +120,11 @@ _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) evas_object_show(rect); printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect); - r = edje_object_part_box_insert_at(app->edje, "example/box", rect, 0); + r = edje_object_part_box_insert_at(edje_obj, "example/box", rect, 0); if (!r) printf("An error ocurred when appending rect %p to the box.\n", rect); - evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, app); + evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL); } else if (!strcmp(ev->keyname, "a")) { @@ -117,53 +134,82 @@ _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) evas_object_show(rect); printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect); - r = edje_object_part_box_append(app->edje, "example/box", rect); + r = edje_object_part_box_append(edje_obj, "example/box", rect); if (!r) printf("An error ocurred when appending rect %p to the box.\n", rect); - evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, app); + evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, NULL); } else if (!strcmp(ev->keyname, "c")) - edje_object_part_box_remove_all(app->edje, "example/box", EINA_TRUE); + edje_object_part_box_remove_all(edje_obj, "example/box", EINA_TRUE); + else if (!strcmp(ev->keyname, "Escape")) + ecore_main_loop_quit(); + else + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas *evas; - struct _App app; - int i; - - ecore_evas_init(); - edje_init(); + char edje_file_path[PATH_MAX]; + const char *edje_file = "box.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; + Eina_Prefix *pfx; + int i; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ - app.ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); - - ecore_evas_callback_destroy_set(app.ee, _on_destroy); - ecore_evas_callback_resize_set(app.ee, _canvas_resize_cb); - ecore_evas_title_set(app.ee, "Edje Box Example"); - ecore_evas_show(app.ee); + ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; - ecore_evas_data_set(app.ee, "app", &app); + ecore_evas_callback_destroy_set(ee, _on_destroy); + ecore_evas_callback_resize_set(ee, _on_canvas_resize); + ecore_evas_title_set(ee, "Edje Box Example"); - evas = ecore_evas_get(app.ee); + evas = ecore_evas_get(ee); - app.bg = evas_object_rectangle_add(evas); - evas_object_color_set(app.bg, 255, 255, 255, 255); - evas_object_resize(app.bg, WIDTH, HEIGHT); - evas_object_focus_set(app.bg, EINA_TRUE); - evas_object_show(app.bg); + bg = evas_object_rectangle_add(evas); + evas_object_color_set(bg, 255, 255, 255, 255); + evas_object_resize(bg, WIDTH, HEIGHT); + evas_object_focus_set(bg, EINA_TRUE); + evas_object_show(bg); + ecore_evas_data_set(ee, "background", bg); - evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _bg_key_down, &app); + evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, ee); - app.edje = edje_object_add(evas); + edje_obj = edje_object_add(evas); - edje_object_file_set(app.edje, edje_file_path, "example/group"); - evas_object_move(app.edje, 0, 0); - evas_object_resize(app.edje, WIDTH, HEIGHT); - evas_object_show(app.edje); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); + edje_object_file_set(edje_obj, edje_file_path, "example/group"); + evas_object_move(edje_obj, 0, 0); + evas_object_resize(edje_obj, WIDTH, HEIGHT); + evas_object_show(edje_obj); + ecore_evas_data_set(ee, "edje_obj", edje_obj); for (i = 0; i < NRECTS; i++) { @@ -173,19 +219,34 @@ main(void) rect = evas_object_rectangle_add(evas); evas_object_color_set(rect, red, 0, 0, 255); evas_object_resize(rect, RECTW, RECTH); - r = edje_object_part_box_append(app.edje, "example/box", rect); + r = edje_object_part_box_append(edje_obj, "example/box", rect); if (!r) printf("An error ocurred when appending rect #%d to the box.\n", i); evas_object_show(rect); evas_object_event_callback_add( - rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, &app); + rect, EVAS_CALLBACK_MOUSE_DOWN, _on_rect_mouse_down, ee); } + fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); - ecore_evas_free(app.ee); + eina_prefix_free(pfx); + ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-box2.c b/libraries/edje/src/examples/edje-box2.c index b3f4e40..81f1a90 100644 --- a/libraries/edje/src/examples/edje-box2.c +++ b/libraries/edje/src/examples/edje-box2.c @@ -10,40 +10,35 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif -#include -#include -#include -#include - #include #include #include -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/box.edj"; - -struct _App { - Ecore_Evas *ee; - Evas *evas; - Evas_Object *bg; - Evas_Object *box; -}; +#include +#include +#include +#include -static struct _App app; +static const char commands[] = \ + "commands are:\n" + "\tShift - remove box\n" + "\tCtrl - insert box\n" + "\tEsc - exit\n" + "\th - print help\n"; static void -custom_layout(Evas_Object *o, Evas_Object_Box_Data *p, void *data) +custom_layout(Evas_Object *o, Evas_Object_Box_Data *p, void *data __UNUSED__) { + Evas_Object_Box_Option *opt; + Eina_List *l; int x, y, w, h; int xx, yy, ww, hh; int count; - Eina_List *l; - Evas_Object_Box_Option *opt; evas_object_geometry_get(o, &x, &y, &w, &h); count = eina_list_count(p->children); @@ -76,129 +71,177 @@ new_greenie_block(Evas *e) } static void -on_keydown(void *data, Evas *evas, Evas_Object *o, void *einfo) +on_keydown(void *data, Evas *evas, Evas_Object *o __UNUSED__, void *einfo) { - struct _App *app = data; - Evas_Event_Key_Down *ev = einfo; + Evas_Event_Key_Down *ev; + Evas_Object *edje_obj; const Evas_Modifier *mods; + ev = (Evas_Event_Key_Down *)einfo; + edje_obj = (Evas_Object *)data; + mods = evas_key_modifier_get(evas); + if (!strcmp(ev->keyname, "h")) + { + fprintf(stdout, commands); + return; + } if (evas_key_modifier_is_set(mods, "Shift")) { int pos; Evas_Object *obj = NULL; pos = atoi(ev->keyname); - obj = edje_object_part_box_remove_at(app->box, "example/box", pos); + obj = edje_object_part_box_remove_at(edje_obj, "example/box", pos); if (obj) evas_object_del(obj); return; } if (evas_key_modifier_is_set(mods, "Control")) { - Evas_Object *o; + Evas_Object *obj; int pos; pos = atoi(ev->keyname); - o = new_greenie_block(app->evas); - if (!edje_object_part_box_insert_at(app->box, "example/box", o, pos)) - edje_object_part_box_append(app->box, "example/box", o); + obj = new_greenie_block(evas); + if (!edje_object_part_box_insert_at(edje_obj, "example/box", obj, pos)) + edje_object_part_box_append(edje_obj, "example/box", obj); return; } - if (strcmp(ev->keyname, "Escape") == 0) + if (!strcmp(ev->keyname, "Escape")) ecore_main_loop_quit(); } static Evas_Object * -box_new(Evas *evas, const char *name, int x, int y, int w, int h) +box_new(Ecore_Evas *ee, const char *edje_file_path, const char *name, int x, int y, int w, int h) { - Evas_Object *o; + Evas_Object *edje_obj; - o = edje_object_add(evas); - evas_object_move(o, x, y); - evas_object_resize(o, w, h); - if (!edje_object_file_set(o, edje_file_path, "example/group2")) + edje_obj = edje_object_add(ecore_evas_get(ee)); + evas_object_move(edje_obj, x, y); + evas_object_resize(edje_obj, w, h); + if (!edje_object_file_set(edje_obj, edje_file_path, "example/group2")) { printf("error: could not load file object.\n"); } - evas_object_show(o); - - evas_object_name_set(o, name); + evas_object_show(edje_obj); + evas_object_name_set(edje_obj, name); + ecore_evas_data_set(ee, "edje_obj", edje_obj); - return o; + return edje_obj; } static void on_resize(Ecore_Evas *ee) { - int w, h; - - evas_output_viewport_get(app.evas, NULL, NULL, &w, &h); - evas_object_resize(app.bg, w, h); - evas_object_resize(app.box, w, h); + Evas_Object *bg; + Evas_Object *edje_obj; + int w; + int h; + + bg = ecore_evas_data_get(ee, "background"); + edje_obj = ecore_evas_data_get(ee, "edje_obj"); + ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); + evas_object_resize(bg, w, h); + evas_object_resize(edje_obj, w, h); } static void -on_destroy(Ecore_Evas *ee) +on_destroy(Ecore_Evas *ee __UNUSED__) { ecore_main_loop_quit(); } int -main(int argc, char *argv[]) +main(int argc __UNUSED__, char *argv[]) { - Ecore_Evas *ee; - int w, h, i; + char edje_file_path[PATH_MAX]; + const char *edje_file = "box.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; Evas_Object *last; Evas_Object *o; - - evas_init(); - ecore_init(); - ecore_evas_init(); - edje_init(); - + Eina_Prefix *pfx; + int w; + int h; + int i; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; + + /* this will give you a window with an Evas canvas under the first + * engine available */ ee = ecore_evas_new(NULL, 0, 0, 640, 480, NULL); - ecore_evas_show(ee); - - app.ee = ee; - app.evas = ecore_evas_get(ee); + if (!ee) + goto free_prefix; ecore_evas_callback_resize_set(ee, on_resize); ecore_evas_callback_destroy_set(ee, on_destroy); + ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - evas_output_viewport_get(app.evas, NULL, NULL, &w, &h); + evas = ecore_evas_get(ee); - app.bg = evas_object_rectangle_add(app.evas); - evas_object_resize(app.bg, w, h); - evas_object_show(app.bg); - evas_object_focus_set(app.bg, 1); - evas_object_event_callback_add( - app.bg, EVAS_CALLBACK_KEY_DOWN, on_keydown, &app); + bg = evas_object_rectangle_add(evas); + evas_object_resize(bg, w, h); + evas_object_show(bg); + evas_object_focus_set(bg, 1); + ecore_evas_data_set(ee, "background", bg); edje_box_layout_register("custom_layout", custom_layout, NULL, NULL, NULL, NULL); - app.box = box_new(app.evas, "box", 0, 0, w, h); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); + edje_obj = box_new(ee, edje_file_path, "box", 0, 0, w, h); + evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, on_keydown, edje_obj); for (i = 1; i <= 5; i++) { - o = last = evas_object_rectangle_add(app.evas); + o = last = evas_object_rectangle_add(evas); evas_object_size_hint_min_set(o, 50, 50); evas_object_resize(o, 50, 50); evas_object_color_set(o, 255, 0, 0, 128); evas_object_show(o); - if (!edje_object_part_box_append(app.box, "example/box", o)) + if (!edje_object_part_box_append(edje_obj, "example/box", o)) { fprintf(stderr, "error appending child object!\n"); return 1; } } + fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); - edje_shutdown(); + eina_prefix_free(pfx); + ecore_evas_free(ee); ecore_evas_shutdown(); - ecore_shutdown(); - evas_shutdown(); + edje_shutdown(); + + return EXIT_SUCCESS; + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); - return 0; + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-color-class.c b/libraries/edje/src/examples/edje-color-class.c index 9ac8653..8d073d0 100644 --- a/libraries/edje/src/examples/edje-color-class.c +++ b/libraries/edje/src/examples/edje-color-class.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -23,13 +22,11 @@ #define WIDTH (400) #define HEIGHT (400) -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/color-class.edj"; - typedef int color[4]; /* rgba */ -static Ecore_Evas *ee, *ee2; -static Evas *evas, *evas2; -static Evas_Object *bg, *edje_obj, *bg2, *edje_obj2; +static Ecore_Evas *ee1, *ee2; +static Evas *evas1, *evas2; +static Evas_Object *bg1, *edje_obj1, *bg2, *edje_obj2; static const char *selected_class; static color colors_init_data[] = @@ -96,21 +93,23 @@ _color_classes_print(void) } static void -_on_destroy(Ecore_Evas *ee) +_on_destroy(Ecore_Evas *ee __UNUSED__) { ecore_main_loop_quit(); } static void -_on_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) +_on_mouse_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) { Evas_Event_Mouse_Down *ev = event_info; if (ev->button == 1) - if (obj == edje_obj) - edje_color_class_del(selected_class); - else - edje_object_color_class_del(edje_obj2, selected_class); + { + if (obj == edje_obj1) + edje_color_class_del(selected_class); + else + edje_object_color_class_del(edje_obj2, selected_class); + } } /* here just to keep our example's window size @@ -122,10 +121,10 @@ _canvas_resize_cb(Ecore_Evas *_ee) ecore_evas_geometry_get(_ee, NULL, NULL, &w, &h); - if (_ee == ee) + if (_ee == ee1) { - evas_object_resize(bg, w, h); - evas_object_resize(edje_obj, w, h); + evas_object_resize(bg1, w, h); + evas_object_resize(edje_obj1, w, h); } else { @@ -135,8 +134,8 @@ _canvas_resize_cb(Ecore_Evas *_ee) } static void -_color_class_callback_delete(void *data, Evas *evas, Evas_Object *obj, - const char *emission, void *source) +_color_class_callback_delete(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, + const char *emission, void *source __UNUSED__) { if (!strcmp(data, "process")) fprintf(stdout, "Color class: %s deleted on process level\n", emission); @@ -144,32 +143,34 @@ _color_class_callback_delete(void *data, Evas *evas, Evas_Object *obj, fprintf(stdout, "Color class: %s deleted on object level\n", emission); } -static void -_create_windows(void) +static int +_create_windows(const char *edje_file_path) { /* this will give you a window with an Evas canvas under the first * engine available */ - ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + ee1 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee1) + return 0; ee2 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee2) + return 0; - ecore_evas_callback_destroy_set(ee, _on_destroy); - ecore_evas_callback_resize_set(ee, _canvas_resize_cb); - ecore_evas_title_set(ee, "Edje Color Class Example"); - ecore_evas_show(ee); + ecore_evas_callback_destroy_set(ee1, _on_destroy); + ecore_evas_callback_resize_set(ee1, _canvas_resize_cb); + ecore_evas_title_set(ee1, "Edje Color Class Example"); ecore_evas_callback_destroy_set(ee2, _on_destroy); ecore_evas_callback_resize_set(ee2, _canvas_resize_cb); ecore_evas_title_set(ee2, "Edje Object Color Class Example"); - ecore_evas_show(ee2); - evas = ecore_evas_get(ee); + evas1 = ecore_evas_get(ee1); evas2 = ecore_evas_get(ee2); - bg = evas_object_rectangle_add(evas); - evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ - evas_object_move(bg, 0, 0); /* at canvas' origin */ - evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ - evas_object_show(bg); + bg1 = evas_object_rectangle_add(evas1); + evas_object_color_set(bg1, 255, 255, 255, 255); /* white bg */ + evas_object_move(bg1, 0, 0); /* at canvas' origin */ + evas_object_resize(bg1, WIDTH, HEIGHT); /* covers full canvas */ + evas_object_show(bg1); bg2 = evas_object_rectangle_add(evas2); evas_object_color_set(bg2, 255, 255, 255, 255); /* white bg */ @@ -177,18 +178,18 @@ _create_windows(void) evas_object_resize(bg2, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg2); - edje_obj = edje_object_add(evas); - evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_MOUSE_DOWN, + edje_obj1 = edje_object_add(evas1); + evas_object_event_callback_add(edje_obj1, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, NULL); - edje_object_file_set(edje_obj, edje_file_path, "example_color_class"); - evas_object_move(edje_obj, 0, 0); /* at canvas' origin */ - evas_object_resize(edje_obj, WIDTH, HEIGHT); - edje_object_part_text_set(edje_obj, "part_four", "EDJE EXAMPLE"); - edje_object_signal_callback_add(edje_obj, "color_class,del", "*", + edje_object_file_set(edje_obj1, edje_file_path, "example_color_class"); + evas_object_move(edje_obj1, 0, 0); /* at canvas' origin */ + evas_object_resize(edje_obj1, WIDTH, HEIGHT); + edje_object_part_text_set(edje_obj1, "part_four", "EDJE EXAMPLE"); + edje_object_signal_callback_add(edje_obj1, "color_class,del", "*", (Edje_Signal_Cb) _color_class_callback_delete, "process"); - evas_object_show(edje_obj); + evas_object_show(edje_obj1); edje_obj2 = edje_object_add(evas2); evas_object_event_callback_add(edje_obj2, EVAS_CALLBACK_MOUSE_DOWN, @@ -202,13 +203,18 @@ _create_windows(void) (Edje_Signal_Cb) _color_class_callback_delete, "object"); evas_object_show(edje_obj2); + + return 1; } int main(int argc, char *argv[]) { - color c1, c2, c3; - int i; + char edje_file_path[PATH_MAX]; + const char *edje_file = "color-class.edj"; + Eina_Prefix *pfx; + color c1, c2, c3; + int i; if (argc != 5) { @@ -218,7 +224,7 @@ main(int argc, char *argv[]) for (i = 0; i < 8; i++) fprintf(stderr, "%s\n", color_names[i]); - return 1; + return EXIT_FAILURE; } selected_class = argv[1]; @@ -227,13 +233,30 @@ main(int argc, char *argv[]) _get_color_from_name(argv[4], &c3))) { fprintf(stderr, "Color not available!\n"); - return 2; + return EXIT_FAILURE; } - ecore_evas_init(); - edje_init(); + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; - _create_windows(); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); + if (!_create_windows(edje_file_path)) + goto free_prefix; edje_color_class_set(argv[1], /* class name */ c1[0], c1[1], c1[2], c1[3], /* Object color */ @@ -248,10 +271,25 @@ main(int argc, char *argv[]) 39, 90, 187, 255); /* Text shadow */ _color_classes_print(); + + ecore_evas_show(ee1); + ecore_evas_show(ee2); + ecore_main_loop_begin(); - ecore_evas_free(ee); - ecore_evas_free(ee2); + + eina_prefix_free(pfx); + ecore_evas_free(ee1); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-drag.c b/libraries/edje/src/examples/edje-drag.c index 78e2e72..bb61b68 100644 --- a/libraries/edje/src/examples/edje-drag.c +++ b/libraries/edje/src/examples/edje-drag.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -28,15 +27,17 @@ #define NRECTS 20 -static const char *PARTNAME = "example/knob"; - -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/drag.edj"; +static const char commands[] = \ + "commands are:\n" + "\tDdown - set drag step to 1\n" + "\tUp - set drag step to -1\n" + "\tm - set drag value to 0.5\n" + "\tPrior - set drag page to -1\n" + "\tNext - set drag page to -1\n" + "\tEsc - exit\n" + "\th - print help\n"; -struct _App { - Ecore_Evas *ee; - Evas_Object *edje; - Evas_Object *bg; -}; +static const char *PARTNAME = "example/knob"; static void _on_destroy(Ecore_Evas *ee __UNUSED__) @@ -47,111 +48,163 @@ _on_destroy(Ecore_Evas *ee __UNUSED__) /* here just to keep our example's window size and background image's * size in synchrony */ static void -_canvas_resize_cb(Ecore_Evas *ee) +_on_canvas_resize(Ecore_Evas *ee) { - int w, h; - struct _App *app = ecore_evas_data_get(ee, "app"); + Evas_Object *bg; + Evas_Object *edje_obj; + int w; + int h; + + bg = ecore_evas_data_get(ee, "background"); + edje_obj = ecore_evas_data_get(ee, "edje_obj"); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - evas_object_resize(app->bg, w, h); - evas_object_resize(app->edje, w, h); + evas_object_resize(bg, w, h); + evas_object_resize(edje_obj, w, h); } static void -_bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) +_on_bg_key_down(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info) { - struct _App *app = data; - Evas_Event_Key_Down *ev = event_info; - Evas_Object *rect; - Eina_Bool r; + Ecore_Evas *ee; + Evas_Event_Key_Down *ev; + Evas_Object *edje_obj; + ee = (Ecore_Evas *)data; + ev = (Evas_Event_Key_Down *)event_info; + edje_obj = ecore_evas_data_get(ee, "edje_obj"); - if (!strcmp(ev->keyname, "Down")) + if (!strcmp(ev->keyname, "h")) { - edje_object_part_drag_step(app->edje, PARTNAME, 0, 1.0); + fprintf(stdout, commands); + return; + } + else if (!strcmp(ev->keyname, "Down")) + { + edje_object_part_drag_step(edje_obj, PARTNAME, 0, 1.0); } else if (!strcmp(ev->keyname, "Up")) { - edje_object_part_drag_step(app->edje, PARTNAME, 0, -1.0); + edje_object_part_drag_step(edje_obj, PARTNAME, 0, -1.0); } else if (!strcmp(ev->keyname, "m")) { - edje_object_part_drag_value_set(app->edje, PARTNAME, 0.0, 0.5); + edje_object_part_drag_value_set(edje_obj, PARTNAME, 0.0, 0.5); } else if (!strcmp(ev->keyname, "Prior")) { - edje_object_part_drag_page(app->edje, PARTNAME, 0.0, -1.0); + edje_object_part_drag_page(edje_obj, PARTNAME, 0.0, -1.0); } else if (!strcmp(ev->keyname, "Next")) { - edje_object_part_drag_page(app->edje, PARTNAME, 0.0, 1.0); + edje_object_part_drag_page(edje_obj, PARTNAME, 0.0, 1.0); } else if (!strcmp(ev->keyname, "Escape")) ecore_main_loop_quit(); else - printf("unhandled key: %s\n", ev->keyname); + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } static void -_knob_moved_cb(void *data, Evas_Object *o, const char *emission, const char *source) +_on_knob_moved(void *data __UNUSED__, Evas_Object *o, const char *emission __UNUSED__, const char *source __UNUSED__) { double val; + edje_object_part_drag_value_get(o, PARTNAME, NULL, &val); printf("value changed to: %0.3f\n", val); } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas *evas; - struct _App app; - int i; - - ecore_evas_init(); - edje_init(); + char edje_file_path[PATH_MAX]; + const char *edje_file = "drag.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; + Eina_Prefix *pfx; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ - app.ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); - - ecore_evas_callback_destroy_set(app.ee, _on_destroy); - ecore_evas_callback_resize_set(app.ee, _canvas_resize_cb); - ecore_evas_title_set(app.ee, "Edje Box Example"); - ecore_evas_show(app.ee); + ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; - ecore_evas_data_set(app.ee, "app", &app); + ecore_evas_callback_destroy_set(ee, _on_destroy); + ecore_evas_callback_resize_set(ee, _on_canvas_resize); + ecore_evas_title_set(ee, "Edje Box Example"); - evas = ecore_evas_get(app.ee); + evas = ecore_evas_get(ee); - app.bg = evas_object_rectangle_add(evas); - evas_object_color_set(app.bg, 255, 255, 255, 255); - evas_object_resize(app.bg, WIDTH, HEIGHT); - evas_object_focus_set(app.bg, EINA_TRUE); - evas_object_show(app.bg); + bg = evas_object_rectangle_add(evas); + evas_object_color_set(bg, 255, 255, 255, 255); + evas_object_resize(bg, WIDTH, HEIGHT); + evas_object_focus_set(bg, EINA_TRUE); + evas_object_show(bg); + ecore_evas_data_set(ee, "background", bg); - evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _bg_key_down, &app); + evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, ee); - app.edje = edje_object_add(evas); + edje_obj = edje_object_add(evas); - edje_object_file_set(app.edje, edje_file_path, "example/group"); - evas_object_move(app.edje, 0, 0); - evas_object_resize(app.edje, WIDTH, HEIGHT); - evas_object_show(app.edje); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); + edje_object_file_set(edje_obj, edje_file_path, "example/group"); + evas_object_move(edje_obj, 0, 0); + evas_object_resize(edje_obj, WIDTH, HEIGHT); + evas_object_show(edje_obj); + ecore_evas_data_set(ee, "edje_obj", edje_obj); - edje_object_part_drag_size_set(app.edje, PARTNAME, 1.0, 0.4); + edje_object_part_drag_size_set(edje_obj, PARTNAME, 1.0, 0.4); - if (!edje_object_part_drag_step_set(app.edje, PARTNAME, 0.0, 0.1)) + if (!edje_object_part_drag_step_set(edje_obj, PARTNAME, 0.0, 0.1)) printf("error when setting drag step size.\n"); - if (!edje_object_part_drag_page_set(app.edje, PARTNAME, 0.0, 0.3)) + if (!edje_object_part_drag_page_set(edje_obj, PARTNAME, 0.0, 0.3)) printf("error when setting drag page step size.\n"); - edje_object_signal_callback_add(app.edje, "drag", PARTNAME, _knob_moved_cb, &app); + edje_object_signal_callback_add(edje_obj, "drag", PARTNAME, _on_knob_moved, NULL); + + fprintf(stdout, commands); + + ecore_evas_show(ee); ecore_main_loop_begin(); - ecore_evas_free(app.ee); + eina_prefix_free(pfx); + ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-perspective.c b/libraries/edje/src/examples/edje-perspective.c index 5220b74..1037043 100644 --- a/libraries/edje/src/examples/edje-perspective.c +++ b/libraries/edje/src/examples/edje-perspective.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -23,11 +22,21 @@ #define WIDTH 480 #define HEIGHT 320 -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/perspective.edj"; +static const char commands[] = \ + "commands are:\n" + "\tDown - move part down\n" + "\tUp - move part up\n" + "\tLeft - move part left\n" + "\tRight - move part right\n" + "\tPrior - move part up-left\n" + "\tNext - move part down-right\n" + "\tInsert - increase focal\n" + "\tSuppr - decrease focal\n" + "\tEsc - exit\n" + "\th - print help\n"; struct _App { - Ecore_Evas *ee; - Evas_Object *edje; + Evas_Object *edje_obj; Evas_Object *bg; Edje_Perspective *ps; Eina_Bool animating; @@ -44,14 +53,14 @@ _on_destroy(Ecore_Evas *ee __UNUSED__) /* here just to keep our example's window size and background image's * size in synchrony */ static void -_canvas_resize_cb(Ecore_Evas *ee) +_on_canvas_resize(Ecore_Evas *ee) { int w, h; struct _App *app = ecore_evas_data_get(ee, "app"); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); evas_object_resize(app->bg, w, h); - evas_object_resize(app->edje, w, h); + evas_object_resize(app->edje_obj, w, h); } static void @@ -74,20 +83,24 @@ _part_move(struct _App *app, int dx, int dy) app->y = 0; snprintf(emission, sizeof(emission), "move,%d,%d", app->x, app->y); - edje_object_signal_emit(app->edje, emission, ""); + edje_object_signal_emit(app->edje_obj, emission, ""); app->animating = EINA_TRUE; } static void -_bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) +_on_bg_key_down(void *data, Evas *e __UNUSED__, Evas_Object *o __UNUSED__, void *event_info) { struct _App *app = data; Evas_Event_Key_Down *ev = event_info; - + if (!strcmp(ev->keyname, "h")) + { + fprintf(stdout, commands); + return; + } // just moving the part and text - if (!strcmp(ev->keyname, "Down")) + else if (!strcmp(ev->keyname, "Down")) { _part_move(app, 0, 1); } @@ -116,7 +129,7 @@ _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) { app->focal += 5; edje_perspective_set(app->ps, 240, 160, 0, app->focal); - edje_object_calc_force(app->edje); + edje_object_calc_force(app->edje_obj); } else if (!strcmp(ev->keyname, "KP_Subtract")) { @@ -125,13 +138,16 @@ _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) app->focal = 5; edje_perspective_set(app->ps, 240, 160, 0, app->focal); - edje_object_calc_force(app->edje); + edje_object_calc_force(app->edje_obj); } // exiting else if (!strcmp(ev->keyname, "Escape")) ecore_main_loop_quit(); else - printf("unhandled key: %s\n", ev->keyname); + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } static void @@ -143,16 +159,33 @@ _animation_end_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __ } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas *evas; - struct _App app; - int i; - - ecore_evas_init(); - edje_init(); - - edje_frametime_set(((double)1) / 60); + char edje_file_path[PATH_MAX]; + const char *edje_file = "perspective.edj"; + struct _App app; + Ecore_Evas *ee; + Evas *evas; + Eina_Prefix *pfx; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; + + edje_frametime_set(1.0 / 60.0); /* this will give you a window with an Evas canvas under the first * engine available */ @@ -160,16 +193,18 @@ main(void) app.x = 0; app.y = 0; app.focal = 50; - app.ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); - ecore_evas_callback_destroy_set(app.ee, _on_destroy); - ecore_evas_callback_resize_set(app.ee, _canvas_resize_cb); - ecore_evas_title_set(app.ee, "Edje Box Example"); - ecore_evas_show(app.ee); + ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; + + ecore_evas_callback_destroy_set(ee, _on_destroy); + ecore_evas_callback_resize_set(ee, _on_canvas_resize); + ecore_evas_title_set(ee, "Edje Box Example"); - ecore_evas_data_set(app.ee, "app", &app); + ecore_evas_data_set(ee, "app", &app); - evas = ecore_evas_get(app.ee); + evas = ecore_evas_get(ee); app.bg = evas_object_rectangle_add(evas); evas_object_color_set(app.bg, 255, 255, 255, 255); @@ -177,25 +212,42 @@ main(void) evas_object_focus_set(app.bg, EINA_TRUE); evas_object_show(app.bg); - evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _bg_key_down, &app); + evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _on_bg_key_down, &app); - app.edje = edje_object_add(evas); + app.edje_obj = edje_object_add(evas); - edje_object_file_set(app.edje, edje_file_path, "example/group"); - evas_object_move(app.edje, 0, 0); - evas_object_resize(app.edje, WIDTH, HEIGHT); - evas_object_show(app.edje); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); + edje_object_file_set(app.edje_obj, edje_file_path, "example/group"); + evas_object_move(app.edje_obj, 0, 0); + evas_object_resize(app.edje_obj, WIDTH, HEIGHT); + evas_object_show(app.edje_obj); - edje_object_signal_callback_add(app.edje, "animation,end", "", _animation_end_cb, &app); + edje_object_signal_callback_add(app.edje_obj, "animation,end", "", _animation_end_cb, &app); app.ps = edje_perspective_new(evas); edje_perspective_set(app.ps, 240, 160, 0, app.focal); edje_perspective_global_set(app.ps, EINA_TRUE); + fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); - ecore_evas_free(app.ee); + eina_prefix_free(pfx); + ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-signals-messages.c b/libraries/edje/src/examples/edje-signals-messages.c index 2345738..4949415 100644 --- a/libraries/edje/src/examples/edje-signals-messages.c +++ b/libraries/edje/src/examples/edje-signals-messages.c @@ -27,34 +27,32 @@ #define MSG_COLOR 1 #define MSG_TEXT 2 -static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png"; -static const char *edje_file_path = \ - PACKAGE_EXAMPLES_DIR "/signals-messages.edj"; - -static Ecore_Evas *ee; -static Evas_Object *edje_obj; -static Eina_Bool right_rect_show = EINA_TRUE; - -static const char *commands = \ +static const char commands[] = \ "commands are:\n" "\tt - toggle right rectangle's visibility\n" + "\tEsc - exit\n" "\th - print help\n"; +static Eina_Bool right_rect_show = EINA_TRUE; + static void -_on_keydown(void *data __UNUSED__, +_on_keydown(void *data, Evas *evas __UNUSED__, Evas_Object *o __UNUSED__, void *einfo) { - Evas_Event_Key_Down *ev = einfo; + Evas_Event_Key_Down *ev; + Evas_Object *edje_obj; + + ev = (Evas_Event_Key_Down *)einfo; + edje_obj = (Evas_Object *)data; - if (strcmp(ev->keyname, "h") == 0) /* print help */ + if (!strcmp(ev->keyname, "h")) /* print help */ { fprintf(stdout, commands); return; } - - if (strcmp(ev->keyname, "t") == 0) /* toggle right rectangle's visibility */ + else if (!strcmp(ev->keyname, "t")) /* toggle right rectangle's visibility */ { char buf[1024]; @@ -68,6 +66,13 @@ _on_keydown(void *data __UNUSED__, return; } + else if (!strcmp(ev->keyname, "Escape")) + ecore_main_loop_quit(); + else + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } static void @@ -85,7 +90,7 @@ _sig_print(const char *emission, } static void -_mouse_wheel_cb(void *data __UNUSED__, +_on_mouse_wheel(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *emission, const char *source) @@ -95,8 +100,8 @@ _mouse_wheel_cb(void *data __UNUSED__, /* mouse over signals */ static void -_mouse_over_cb(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, +_on_mouse_over(void *data __UNUSED__, + Evas_Object *edje_obj, const char *emission, const char *source) { @@ -133,28 +138,43 @@ _message_handle(void *data __UNUSED__, } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas_Object *border, *bg; - Evas *evas; - - srand(time(NULL)); + char border_img_path[PATH_MAX]; + char edje_file_path[PATH_MAX]; + const char *edje_file = "signals-messages.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; + Evas_Object *border; + Eina_Prefix *pfx; if (!ecore_evas_init()) return EXIT_FAILURE; if (!edje_init()) - return EXIT_FAILURE; + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); if (!ee) - goto error; + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete); ecore_evas_title_set(ee, "Edje Basics Example"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -163,14 +183,13 @@ main(void) evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg); - ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); - evas_object_focus_set(bg, EINA_TRUE); - evas_object_event_callback_add( - bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); + ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); edje_obj = edje_object_add(evas); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); if (!edje_object_file_set(edje_obj, edje_file_path, "example_group")) { int err = edje_object_load_error_get(edje_obj); @@ -179,14 +198,14 @@ main(void) "signals-messages.edj: %s\n", errmsg); evas_object_del(edje_obj); - goto error_edj; + goto free_prefix; } edje_object_signal_callback_add(edje_obj, "mouse,wheel,*", "part_left", - _mouse_wheel_cb, NULL); + _on_mouse_wheel, NULL); edje_object_signal_callback_add(edje_obj, "mouse,over", "part_right", - _mouse_over_cb, NULL); + _on_mouse_over, NULL); edje_object_message_handler_set(edje_obj, _message_handle, NULL); @@ -194,6 +213,11 @@ main(void) evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); evas_object_show(edje_obj); + evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, edje_obj); + + snprintf(border_img_path, sizeof(border_img_path), + "%s/edje/examples/red.png", eina_prefix_data_get(pfx)); + /* this is a border around the Edje object above, here just to * emphasize its geometry */ border = evas_object_image_filled_add(evas); @@ -207,24 +231,24 @@ main(void) evas_object_show(border); fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; - -error: - fprintf(stderr, "You got to have at least one Evas engine built" - " and linked up to ecore-evas for this example to run" - " properly.\n"); - ecore_evas_shutdown(); - return -1; -error_edj: - fprintf(stderr, "Failed to load signals-messages.edj!\n"); + return EXIT_SUCCESS; + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: ecore_evas_shutdown(); - return -2; -} + return EXIT_FAILURE; +} diff --git a/libraries/edje/src/examples/edje-swallow.c b/libraries/edje/src/examples/edje-swallow.c index a1d30e2..ad79ca2 100644 --- a/libraries/edje/src/examples/edje-swallow.c +++ b/libraries/edje/src/examples/edje-swallow.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -23,11 +22,6 @@ #define WIDTH (300) #define HEIGHT (300) -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/swallow.edj"; - -static Ecore_Evas *ee; -static Evas_Object *bg; - static void _on_delete(Ecore_Evas *ee __UNUSED__) { @@ -37,31 +31,56 @@ _on_delete(Ecore_Evas *ee __UNUSED__) /* here just to keep our example's window size and background image's * size in synchrony */ static void -_canvas_resize_cb(Ecore_Evas *ee) +_on_canvas_resize(Ecore_Evas *ee) { - int w, h; + Evas_Object *bg; + int w; + int h; + bg = ecore_evas_data_get(ee, "background"); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); evas_object_resize(bg, w, h); } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas_Object *edje_obj, *rect, *obj; - Evas *evas; - - ecore_evas_init(); - edje_init(); + char edje_file_path[PATH_MAX]; + const char *edje_file = "swallow.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *rect; + Evas_Object *obj; + Evas_Object *edje_obj; + Eina_Prefix *pfx; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete); - ecore_evas_callback_resize_set(ee, _canvas_resize_cb); + ecore_evas_callback_resize_set(ee, _on_canvas_resize); ecore_evas_title_set(ee, "Edje Swallow Example"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -70,9 +89,12 @@ main(void) evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg); + ecore_evas_data_set(ee, "background", bg); edje_obj = edje_object_add(evas); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); edje_object_file_set(edje_obj, edje_file_path, "example_group"); evas_object_move(edje_obj, 20, 20); evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); @@ -86,10 +108,23 @@ main(void) if(obj == rect) printf("Swallowing worked!\n"); + ecore_evas_show(ee); + ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-table.c b/libraries/edje/src/examples/edje-table.c index 3866d22..7780221 100644 --- a/libraries/edje/src/examples/edje-table.c +++ b/libraries/edje/src/examples/edje-table.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -23,12 +22,6 @@ #define WIDTH (400) #define HEIGHT (400) -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/table.edj"; - -static Ecore_Evas *ee; -static Evas *evas; -static Evas_Object *bg, *edje_obj, *rects[4]; - static void _on_delete(Ecore_Evas *ee __UNUSED__) { @@ -38,7 +31,7 @@ _on_delete(Ecore_Evas *ee __UNUSED__) /* Try to get the number of columns and rows of the table * and print them. */ static void -_columns_rows_print(void) +_columns_rows_print(Evas_Object *edje_obj) { int cols, rows; @@ -52,10 +45,18 @@ _columns_rows_print(void) /* here just to keep our example's window size and table items * size in synchrony. */ static void -_canvas_resize_cb(Ecore_Evas *ee) +_on_canvas_resize(Ecore_Evas *ee) { - int i, w, h; - + Evas_Object *bg; + Evas_Object *edje_obj; + Evas_Object **rects; + int i; + int w; + int h; + + bg = ecore_evas_data_get(ee, "background"); + edje_obj = ecore_evas_data_get(ee, "edje_obj"); + rects = ecore_evas_data_get(ee, "rects"); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); evas_object_resize(bg, w, h); @@ -68,9 +69,13 @@ _canvas_resize_cb(Ecore_Evas *ee) /* Mouse button 1 = remove the clicked item * any other button = remove all items. */ static void -_on_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) +_on_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down *ev = event_info; + Evas_Event_Mouse_Down *ev; + Evas_Object *edje_obj; + + ev = (Evas_Event_Mouse_Down *)event_info; + edje_obj = (Evas_Object *)data; if (ev->button != 1) edje_object_part_table_clear(edje_obj, "table_part", EINA_TRUE); @@ -78,11 +83,11 @@ _on_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) fprintf(stderr, "Cannot remove the selected rectangle\n"); evas_object_del(obj); - _columns_rows_print(); + _columns_rows_print(edje_obj); } static void -_rects_create(void) +_rects_create(Evas *evas, Evas_Object **rects, Evas_Object *edje_obj) { int i; @@ -93,26 +98,48 @@ _rects_create(void) evas_object_size_hint_weight_set(rects[i], 1.0, 1.0); evas_object_show(rects[i]); evas_object_event_callback_add(rects[i], EVAS_CALLBACK_MOUSE_DOWN, - _on_mouse_down, NULL); + _on_mouse_down, edje_obj); } } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - int i; - - ecore_evas_init(); - edje_init(); + char edje_file_path[PATH_MAX]; + const char *edje_file = "table.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; + Evas_Object *rects[4]; + Eina_Prefix *pfx; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete); - ecore_evas_callback_resize_set(ee, _canvas_resize_cb); + ecore_evas_callback_resize_set(ee, _on_canvas_resize); ecore_evas_title_set(ee, "Edje Table Example"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -121,15 +148,20 @@ main(void) evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg); + ecore_evas_data_set(ee, "background", bg); edje_obj = edje_object_add(evas); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); edje_object_file_set(edje_obj, edje_file_path, "example_table"); evas_object_move(edje_obj, 0, 0); /* at canvas' origin */ evas_object_resize(edje_obj, WIDTH, HEIGHT); evas_object_show(edje_obj); + ecore_evas_data_set(ee, "edje_obj", edje_obj); - _rects_create(); + _rects_create(evas, rects, edje_obj); + ecore_evas_data_set(ee, "rects", rects); /* Colouring the rectangles */ evas_object_color_set(rects[0], 255, 0, 0, 255); @@ -154,12 +186,25 @@ main(void) 1, 1, 1, 1)) fprintf(stderr, "Cannot add the rectangle 4 to table\n"); - _columns_rows_print(); + _columns_rows_print(edje_obj); + + ecore_evas_show(ee); ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/edje-text.c b/libraries/edje/src/examples/edje-text.c index 0916509..5f801a2 100644 --- a/libraries/edje/src/examples/edje-text.c +++ b/libraries/edje/src/examples/edje-text.c @@ -10,10 +10,9 @@ */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #else -#define PACKAGE_EXAMPLES_DIR "." -#define __UNUSED__ +# define __UNUSED__ #endif #include @@ -23,11 +22,6 @@ #define WIDTH (300) #define HEIGHT (300) -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/text.edj"; - -static Ecore_Evas *ee; -static Evas_Object *bg; - static void _on_delete(Ecore_Evas *ee __UNUSED__) { @@ -35,27 +29,47 @@ _on_delete(Ecore_Evas *ee __UNUSED__) } static void -_cb(void *data, Evas_Object *obj, const char *part) +_on_text_change(void *data __UNUSED__, Evas_Object *obj, const char *part) { printf("text: %s\n", edje_object_part_text_unescaped_get(obj, part)); } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas_Object *edje_obj, *rect, *obj; - Evas *evas; - - ecore_evas_init(); - edje_init(); + char edje_file_path[PATH_MAX]; + const char *edje_file = "text.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *edje_obj; + Eina_Prefix *pfx; + + if (!ecore_evas_init()) + return EXIT_FAILURE; + + if (!edje_init()) + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); + if (!ee) + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete); ecore_evas_title_set(ee, "Edje text Example"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -68,12 +82,14 @@ main(void) edje_obj = edje_object_add(evas); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); edje_object_file_set(edje_obj, edje_file_path, "example_group"); evas_object_move(edje_obj, 20, 20); evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); evas_object_show(edje_obj); - edje_object_text_change_cb_set(edje_obj, _cb, NULL); + edje_object_text_change_cb_set(edje_obj, _on_text_change, NULL); edje_object_part_text_set(edje_obj, "part_one", "one"); edje_object_part_text_set(edje_obj, "part_two", "two"); @@ -83,10 +99,23 @@ main(void) edje_object_part_text_select_none(edje_obj, "part_two"); printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two")); + ecore_evas_show(ee); + ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; + + return EXIT_SUCCESS; + + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: + ecore_evas_shutdown(); + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/examples/sigtest.c b/libraries/edje/src/examples/sigtest.c index 6e4d85f..9538e13 100644 --- a/libraries/edje/src/examples/sigtest.c +++ b/libraries/edje/src/examples/sigtest.c @@ -13,35 +13,37 @@ #define WIDTH (300) #define HEIGHT (300) -static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png"; -static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/sigtest.edj"; - -static Ecore_Evas *ee; -static Evas_Object *edje_obj; - static const char commands[] = \ "commands are:\n" "\te - change te edje base\n" "\tl - change to lua base\n" "\tm - send message\n" "\ts - send signal\n" + "\tEsc - exit\n" "\th - print help\n"; static void -_on_keydown(void *data __UNUSED__, +_on_keydown(void *data, Evas *evas __UNUSED__, Evas_Object *o __UNUSED__, void *einfo) { - Evas_Event_Key_Down *ev = einfo; + Ecore_Evas *ee; + Evas_Event_Key_Down *ev; + Evas_Object *edje_obj; + char *edje_file_path; + + ee = (Ecore_Evas *)data; + ev = (Evas_Event_Key_Down *)einfo; + edje_obj = ecore_evas_data_get(ee, "edje_obj"); + edje_file_path = ecore_evas_data_get(ee, "file_path"); - if (strcmp(ev->keyname, "h") == 0) + if (!strcmp(ev->keyname, "h")) { fprintf(stdout, commands); return; } - - if (strcmp(ev->keyname, "e") == 0) + else if (!strcmp(ev->keyname, "e")) { if (!edje_object_file_set(edje_obj, edje_file_path, "plain/edje/group")) { @@ -55,8 +57,7 @@ _on_keydown(void *data __UNUSED__, " file sigtest.edj with success!\n"); return; } - - if (strcmp(ev->keyname, "l") == 0) + else if (!strcmp(ev->keyname, "l")) { if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base")) { @@ -70,8 +71,7 @@ _on_keydown(void *data __UNUSED__, " file sigtest.edj with success!\n"); return; } - - if (strcmp(ev->keyname, "m") == 0) + else if (!strcmp(ev->keyname, "m")) { Edje_Message_String *msg = malloc(sizeof(*msg)); @@ -82,8 +82,7 @@ _on_keydown(void *data __UNUSED__, fprintf(stdout, "C message sent\n"); return; } - - if (strcmp(ev->keyname, "s") == 0) + else if (!strcmp(ev->keyname, "s")) { fprintf(stdout, "\n"); edje_object_signal_emit(edje_obj, "C signal 1", "Csource"); @@ -91,10 +90,17 @@ _on_keydown(void *data __UNUSED__, fprintf(stdout, "C signal sent\n"); return; } + else if (!strcmp(ev->keyname, "Escape")) + ecore_main_loop_quit(); + else + { + printf("unhandled key: %s\n", ev->keyname); + fprintf(stdout, commands); + } } static void -_on_message(void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg) +_on_message(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Edje_Message_Type type, int id, void *msg) { int i; @@ -207,7 +213,7 @@ _on_message(void *data, Evas_Object *obj, Edje_Message_Type type, int id, void * } static void -_on_signal(void *data, Evas_Object *obj __UNUSED__, const char *emission, const char *source) +_on_signal(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *emission, const char *source) { fprintf(stdout, "C::signal sig=|%s| src=|%s|\n", emission, source); } @@ -219,26 +225,43 @@ _on_delete(Ecore_Evas *ee __UNUSED__) } int -main(void) +main(int argc __UNUSED__, char *argv[]) { - Evas_Object *border, *bg; - Evas *evas; + char border_img_path[PATH_MAX]; + char edje_file_path[PATH_MAX]; + const char *edje_file = "sigtest.edj"; + Ecore_Evas *ee; + Evas *evas; + Evas_Object *bg; + Evas_Object *border; + Evas_Object *edje_obj; + Eina_Prefix *pfx; if (!ecore_evas_init()) return EXIT_FAILURE; if (!edje_init()) - return EXIT_FAILURE; + goto shutdown_ecore_evas; + + pfx = eina_prefix_new(argv[0], main, + "EDJE_EXAMPLES", + "edje/examples", + edje_file, + PACKAGE_BIN_DIR, + PACKAGE_LIB_DIR, + PACKAGE_DATA_DIR, + PACKAGE_DATA_DIR); + if (!pfx) + goto shutdown_edje; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); if (!ee) - goto error; + goto free_prefix; ecore_evas_callback_delete_request_set(ee, _on_delete); ecore_evas_title_set(ee, "Signals and wessages tester"); - ecore_evas_show(ee); evas = ecore_evas_get(ee); @@ -250,14 +273,14 @@ main(void) ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); evas_object_focus_set(bg, EINA_TRUE); - evas_object_event_callback_add( - bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); edje_obj = edje_object_add(evas); edje_object_message_handler_set(edje_obj, _on_message, NULL); edje_object_signal_callback_add(edje_obj, "*", "*", _on_signal, NULL); + snprintf(edje_file_path, sizeof(edje_file_path), + "%s/examples/%s", eina_prefix_data_get(pfx), edje_file); if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base")) { int err = edje_object_load_error_get(edje_obj); @@ -266,7 +289,7 @@ main(void) errmsg); evas_object_del(edje_obj); - goto error_edj; + goto free_prefix; } fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from" @@ -275,6 +298,13 @@ main(void) evas_object_move(edje_obj, 20, 20); evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); evas_object_show(edje_obj); + ecore_evas_data_set(ee, "edje_obj", edje_obj); + ecore_evas_data_set(ee, "file_path", edje_file_path); + + evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, ee); + + snprintf(border_img_path, sizeof(border_img_path), + "%s/edje/examples/red.png", eina_prefix_data_get(pfx)); /* this is a border around the Edje object above, here just to * emphasize its geometry */ @@ -287,23 +317,25 @@ main(void) evas_object_move(border, 20 - 2, 20 - 2); evas_object_show(border); + fprintf(stdout, commands); + + ecore_evas_show(ee); + ecore_main_loop_begin(); + eina_prefix_free(pfx); ecore_evas_free(ee); ecore_evas_shutdown(); edje_shutdown(); - return 0; - -error: - fprintf(stderr, "You got to have at least one evas engine built" - " and linked up to ecore-evas for this example to run" - " properly.\n"); - ecore_evas_shutdown(); - return -1; -error_edj: - fprintf(stderr, "Failed to load sigtest.edj!\n"); + return EXIT_SUCCESS; + free_prefix: + eina_prefix_free(pfx); + shutdown_edje: + edje_shutdown(); + shutdown_ecore_evas: ecore_evas_shutdown(); - return -2; + + return EXIT_FAILURE; } diff --git a/libraries/edje/src/lib/Edje.h b/libraries/edje/src/lib/Edje.h index 6413014..1449d70 100644 --- a/libraries/edje/src/lib/Edje.h +++ b/libraries/edje/src/lib/Edje.h @@ -5,7 +5,7 @@ These routines are used for Edje. @mainpage Edje Library Documentation @version 1.1 -@date 2003-2011 +@date 2003-2012 Please see the @ref authors page for contact details. @@ -19,7 +19,7 @@ Please see the @ref authors page for contact details. Edje is a complex graphical design & layout library. -It doesn't pretend to do containing and regular layout like a widget +It doesn't intend to do containing and regular layout like a widget set, but it is the base for such components. Based on the requirements of Enlightenment 0.17, Edje should serve all the purposes of creating visual elements (borders of windows, buttons, scrollbars, etc.) and @@ -110,197 +110,11 @@ The application using Edje will then create an object in its Evas canvas and set the bundle file to use, specifying the @b group name to use. Edje will load such information and create all the required children objects with the specified properties as defined in each @b -part of the given group. See the following annotated example: +part of the given group. See the following example: +@include edje_example.c -@code - -#include -#include -#include -#include -#include - -#define WIDTH 320 -#define HEIGHT 240 - -static Evas_Object *create_my_group(Evas *canvas, const char *text) -{ - Evas_Object *edje; - - edje = edje_object_add(canvas); - if (!edje) - { - EINA_LOG_CRIT("could not create edje object!"); - return NULL; - } - - if (!edje_object_file_set(edje, "edje_example.edj", "my_group")) - { - int err = edje_object_load_error_get(edje); - const char *errmsg = edje_load_error_str(err); - EINA_LOG_ERR("could not load 'my_group' from edje_example.edj: %s", - errmsg); - - evas_object_del(edje); - return NULL; - } - - if (text) - { - if (!edje_object_part_text_set(edje, "text", text)) - { - EINA_LOG_WARN("could not set the text. " - "Maybe part 'text' does not exist?"); - } - } - - evas_object_move(edje, 0, 0); - evas_object_resize(edje, WIDTH, HEIGHT); - evas_object_show(edje); - return edje; -} - -int main(int argc, char *argv[]) -{ - Ecore_Evas *window; - Evas *canvas; - Evas_Object *edje; - const char *text; - - eina_init(); - evas_init(); - ecore_init(); - ecore_evas_init(); - edje_init(); - - window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); - if (!window) - { - EINA_LOG_CRIT("could not create window."); - return -1; - } - canvas = ecore_evas_get(window); - - text = (argc > 1) ? argv[1] : NULL; - - edje = create_my_group(canvas, text); - if (!edje) - return -2; - - ecore_evas_show(window); - ecore_main_loop_begin(); - - evas_object_del(edje); - ecore_evas_free(window); - - return 0; -} -@endcode - -It requires the following source Edje file: -@code -// compile: edje_cc edje_example.edc -collections { - group { - name: "my_group"; // must be the same as in edje_example.c - - parts { - part { - name: "background"; - type: RECT; // plain boring rectangle - mouse_events: 0; // we don't need any mouse event on the background - - // just one state "default" - description { - state: "default" 0.0; // must always exist - color: 255 255 255 255; // white - - // define part coordinates: - - rel1 { // top-left point at (0, 0) [WIDTH * 0 + 0, HEIGHT * 0 + 0] - relative: 0.0 0.0; - offset: 0 0; - } - rel2 { // bottom-right point at (WIDTH * 1.0 - 1, HEIGHT * 1.0 - 1) - relative: 1.0 1.0; - offset: -1 -1; - } - } - } - - part { - name: "text"; - type: TEXT; - mouse_events: 1; // we want to change the color on mouse-over - - // 2 states, one "default" and another "over" to be used - // on mouse over effect - - description { - state: "default" 0.0; - color: 255 0 0 255; // red - - // define part coordinates: - - rel1 { // top-left at (WIDTH * 0.1 + 5, HEIGHT * 0.2 + 10) - relative: 0.1 0.2; - offset: 5 10; - } - rel2 { // bottom-right at (WIDTH * 0.9 - 6, HEIGHT * 0.8 - 11) - relative: 0.9 0.8; - offset: -6 -11; - } - - // define text specific state details - text { - font: "Sans"; // using fontconfig name! - size: 10; - text: "hello world"; - } - } - - description { - state: "over" 0.0; - inherit: "default" 0.0; // copy everything from "default" at this point - - color: 0 255 0 255; // override color, now it is green - } - } - - // do programs to change color on text mouse in/out (over) - programs { - program { - // what triggers this program: - signal: "mouse,in"; - source: "text"; - - // what this program does: - action: STATE_SET "over" 0.0; - target: "text"; - - // do the state-set in a nice interpolation animation - // using linear time in 0.1 second - transition: LINEAR 0.1; - } - - program { - // what triggers this program: - signal: "mouse,out"; - source: "text"; - - // what this program does: - action: STATE_SET "default" 0.0; - target: "text"; - - // do the state-set in a nice interpolation animation - // using linear time in 0.1 second - transition: LINEAR 0.1; - } - } - } - } -} -@endcode +The above example requires the following annotated source Edje file: +@include edje_example.edc One should save these files as edje_example.c and edje_example.edc then: @@ -452,6 +266,10 @@ param in edje programs # undef EAPI #endif +#ifdef HAVE_ECORE_IMF +#include +#endif + #ifdef _WIN32 # ifdef EFL_EDJE_BUILD # ifdef DLL_EXPORT @@ -778,7 +596,7 @@ typedef enum _Edje_External_Param_Type { EDJE_EXTERNAL_PARAM_TYPE_INT, /**< Parameter value is an integer. */ EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, /**< Parameter value is a double. */ - EDJE_EXTERNAL_PARAM_TYPE_STRING, /**< Paramater value is a string. */ + EDJE_EXTERNAL_PARAM_TYPE_STRING, /**< Parameter value is a string. */ EDJE_EXTERNAL_PARAM_TYPE_BOOL, /**< Parameter value is boolean. */ EDJE_EXTERNAL_PARAM_TYPE_CHOICE, /**< Parameter value is one of a set of predefined string choices. */ @@ -791,10 +609,10 @@ typedef enum _Edje_External_Param_Type */ typedef enum _Edje_External_Param_Flags { - EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, /**< Propery is incapable of operations, this is used to catch bogus flags. */ + EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, /**< Property is incapable of operations, this is used to catch bogus flags. */ EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0), /**< Property can be read/get. */ EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1), /**< Property can be written/set. This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */ - EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), /**< Property can be set from state dsecription. */ + EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), /**< Property can be set from state description. */ EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), /**< This property is only set once when the object is constructed using its value from "default" 0.0 state description. Setting this overrides #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */ EDJE_EXTERNAL_PARAM_FLAGS_REGULAR = (EDJE_EXTERNAL_PARAM_FLAGS_GET | EDJE_EXTERNAL_PARAM_FLAGS_SET | @@ -817,6 +635,24 @@ typedef enum _Edje_Input_Panel_Layout EDJE_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */ } Edje_Input_Panel_Layout; +typedef enum _Edje_Input_Panel_Lang +{ + EDJE_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic @since 1.2 */ + EDJE_INPUT_PANEL_LANG_ALPHABET /**< Alphabet @since 1.2 */ +} Edje_Input_Panel_Lang; + +typedef enum _Edje_Input_Panel_Return_Key_Type +{ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, /**< Default @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE, /**< Done @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO, /**< Go @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, /**< Join @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, /**< Login @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, /**< Next @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, /**< Search or magnifier icon @since 1.2 */ + EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND /**< Send @since 1.2 */ +} Edje_Input_Panel_Return_Key_Type; + /** * @brief Converts type identifier to string nicer representation. * @@ -886,18 +722,18 @@ struct _Edje_External_Param_Info used. */ union { struct { - int def, /**< Default value for the paramter. */ + int def, /**< Default value for the parameter. */ min, /**< Minimum value it can have. */ max, /**< Maximum value it can have. */ step; /**< Values will be a multiple of this. */ - } i; /**< Info about integer type parametrs. Use #EDJE_EXTERNAL_INT_UNSET + } i; /**< Info about integer type parameters. Use #EDJE_EXTERNAL_INT_UNSET on any of them to indicate they are not defined.*/ struct { - double def, /**< Default value for the paramter. */ + double def, /**< Default value for the parameter. */ min, /**< Minimum value it can have. */ max, /**< Maximum value it can have. */ step; /**< Values will be a multiple of this. */ - } d; /**< Info about double type parametrs. Use + } d; /**< Info about double type parameters. Use #EDJE_EXTERNAL_DOUBLE_UNSET on any of them to indicate they are not defined.*/ struct { const char *def; /**< Default value. */ @@ -1054,6 +890,7 @@ typedef void (*Edje_Signal_Cb) (void *data, Evas_Object *obj, c typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part); typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); /**< Edje message handler callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the message comes from. @c type will identify the type of the given message and @c msg will be a pointer the message's contents, de facto, which depend on @c type. */ typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text); +typedef void (*Edje_Markup_Filter_Cb) (void *data, Evas_Object *obj, const char *part, char **text); typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item); /** @@ -1187,7 +1024,7 @@ EAPI const char *edje_fontset_append_get (void); * edje_object_scale_set(), that factor will @b override the global * one. * - * Scaling affects the values of mininum/maximum @b part sizes, which + * Scaling affects the values of minimum/maximum @b part sizes, which * are @b multiplied by it. Font sizes are scaled, too. * * @warning Only parts which, at EDC level, had the @c "scale" @@ -1244,7 +1081,7 @@ EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout) * * @param obj A handle to an Edje object * @param scale The scaling factor (the default value is @c 0.0, - * meaning indivinual scaling @b not set) + * meaning individual scaling @b not set) * * This function sets an @b individual scaling factor on the @a obj * Edje object. This property (or Edje's global scaling factor, when @@ -1663,9 +1500,9 @@ EAPI void edje_box_layout_register (const char *name, Evas_Object * * @note You can get a callback every time edje re-calculates the object * (either due to animation or some kind of signal or input). This is called - * in-line just after the recalculation has occured. It is a good idea not + * in-line just after the recalculation has occurred. It is a good idea not * to go and delete or alter the object inside this callbacks, simply make - * a note that the recalculation has taken place and then do somethnig about + * a note that the recalculation has taken place and then do something about * it outside the callback. to register a callback use code like: * * @code @@ -1883,7 +1720,7 @@ EAPI Eina_Bool edje_object_preload (Evas_Object *obj, Eina_Bool c * buttons on an interface, you'd be registering for notifications on * events of mouse buttons being pressed down on either of those parts * (those events all have the @c "mouse,down," common prefix on their - * names, with a suffix giving the button number). The actual emisson + * names, with a suffix giving the button number). The actual emission * and source strings of an event will be passed in as the @a emission * and @a source parameters of the callback function (e.g. @c * "mouse,down,2" and @c "button.close"), for each of those events. @@ -2214,6 +2051,27 @@ EAPI Eina_Bool edje_object_text_class_set (Evas_Object *obj, const c EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); /** + * @brief Edje will automatically update the size hints on itself. + * + * @param obj A handle to an Edje object. + * @param update Wether or not update the size hints. + * + * By default edje doesn't set size hints on itself. With this function + * call, it will do so if update is true. Be carefully, it cost a lot to + * trigger this feature as it will recalc the object every time it make + * sense to be sure that's its minimal size hint is always accurate. + */ +EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update); + +/** + * @brief Wether or not Edje will update size hints on itself. + * + * @param obj A handle to an Edje object. + * @return @c true if does, @c false if it doesn't. + */ +EAPI Eina_Bool edje_object_update_hints_get(Evas_Object *obj); + +/** * @brief Get the maximum size specified -- as an EDC property -- for a * given Edje object * @@ -2362,12 +2220,12 @@ EAPI Eina_Bool edje_object_part_exists (const Evas_Object *obj, c * @return A pointer to the Evas object implementing the given part, * or @c NULL on failure (e.g. the given part doesn't exist) * - * This function gets a pointer the Evas object corresponding to a + * This function gets a pointer of the Evas object corresponding to a * given part in the @p obj object's group. * * You should @b never modify the state of the returned object (with * @c evas_object_move() or @c evas_object_hide() for example), - * because it's meant to be managed be Edje, solely. You are safe to + * because it's meant to be managed by Edje, solely. You are safe to * query information about its current state (with @c * evas_object_visible_get() or @c evas_object_color_get() for * example), though. @@ -2448,6 +2306,43 @@ EAPI Eina_Bool edje_object_part_text_set (Evas_Object *obj, const c EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part); /** + * @brief Set the style of the + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param style The style to set (textblock conventions). + * + * This function sets the style associated with the textblock part. + * + * @since 1.2.0 + */ +EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style); + +/** + * @brief Return the text of the object part. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * + * @return The text string + * + * This function returns the style associated with the textblock part. + * + * @since 1.2.0 + */ +EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part); + +/** + * @brief Delete the top style form the user style stack. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * + * @since 1.2.0 + */ +EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part); + +/** * @brief Sets the raw (non escaped) text for an object part. * * @param obj A valid Evas Object handle @@ -2615,6 +2510,15 @@ EAPI Eina_Bool edje_object_part_text_item_geometry_get (const Evas_ EAPI void edje_object_part_text_cursor_geometry_get (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); /** + * @brief Deletes the selection and emits a change event. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @since 1.2.0 + */ +EAPI void edje_object_part_text_user_insert (const Evas_Object *obj, const char *part, const char *text); + +/** * @brief Enables selection if the entry is an EXPLICIT selection mode * type. * @@ -2813,8 +2717,33 @@ EAPI void edje_object_part_text_cursor_pos_set (Evas_Ob EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); /** + * @brief Reset the input method context if needed. + * + * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @since 1.2.0 + */ +EAPI void edje_object_part_text_imf_context_reset (const Evas_Object *obj, const char *part); + +/** + * @brief Get the input method context in entry. + * + * If ecore_imf was not available when edje was compiled, this function returns NULL + * otherwise, the returned pointer is an Ecore_IMF * + * + * @param obj A valid Evas_Object handle + * @param part The part name + * + * @return The input method context (Ecore_IMF_Context *) in entry + * @since 1.2.0 + */ +EAPI void *edje_object_part_text_imf_context_get (const Evas_Object *obj, const char *part); + +/** * @brief Set the layout of the input panel. - * + * * The layout of the input panel or virtual keyboard can make it easier or * harder to enter content. This allows you to hint what kind of input you * are expecting to enter and thus have the input panel automatically @@ -2825,7 +2754,7 @@ EAPI int edje_object_part_text_cursor_pos_get (const E * @param layout layout type * @since 1.1 */ -EAPI void edje_object_part_text_input_panel_layout_set (const Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout); +EAPI void edje_object_part_text_input_panel_layout_set (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout); /** * @brief Get the layout of the input panel. @@ -2848,7 +2777,7 @@ EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const * @param autocapital_type The type of autocapitalization * @since 1.1.0 */ -EAPI void edje_object_part_text_autocapital_type_set (const Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type); +EAPI void edje_object_part_text_autocapital_type_set (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type); /** * @brief Retrieves the autocapitalization type @@ -2861,6 +2790,26 @@ EAPI void edje_object_part_text_autocapital_type_set (const Evas_ EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part); /** + * @brief Set whether the prediction is allowed or not. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param prediction If true, the prediction feature is allowed. + * @since 1.2.0 + */ +EAPI void edje_object_part_text_prediction_allow_set (Evas_Object *obj, const char *part, Eina_Bool prediction); + +/** + * @brief Get whether the prediction is allowed or not. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @return EINA_TRUE if prediction feature is allowed. + * @since 1.2.0 + */ +EAPI Eina_Bool edje_object_part_text_prediction_allow_get (const Evas_Object *obj, const char *part); + +/** * @brief Sets the attribute to show the input panel automatically. * * @param obj A valid Evas_Object handle @@ -2868,7 +2817,7 @@ EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (cons * @param enabled If true, the input panel is appeared when entry is clicked or has a focus * @since 1.1.0 */ -EAPI void edje_object_part_text_input_panel_enabled_set (const Evas_Object *obj, const char *part, Eina_Bool enabled); +EAPI void edje_object_part_text_input_panel_enabled_set (Evas_Object *obj, const char *part, Eina_Bool enabled); /** * @brief Retrieve the attribute to show the input panel automatically. @@ -2882,6 +2831,125 @@ EAPI void edje_object_part_text_input_panel_enabled_set (const Evas_ EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part); /** + * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on. + * + * Note that input panel is shown or hidden automatically according to the focus state. + * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part); + +/** + * @brief Hide the input panel (virtual keyboard). + * @see edje_object_part_text_input_panel_show + * + * Note that input panel is shown or hidden automatically according to the focus state. + * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part); + +/** + * Set the language mode of the input panel. + * + * This API can be used if you want to show the Alphabet keyboard. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param lang the language to be set to the input panel. + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang); + +/** + * Get the language mode of the input panel. + * + * See @ref edje_object_part_text_input_panel_language_set for more details. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @return input panel language type + * @since 1.2.0 + */ +EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part); + +/** + * Set the input panel-specific data to deliver to the input panel. + * + * This API is used by applications to deliver specific data to the input panel. + * The data format MUST be negotiated by both application and the input panel. + * The size and format of data are defined by the input panel. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param data The specific data to be set to the input panel. + * @param len the length of data, in bytes, to send to the input panel + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len); + +/** + * Get the specific data of the current active input panel. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param data The specific data to be got from the input panel + * @param len The length of data + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len); + +/** + * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel. + * + * An input panel displays the string or icon associated with this type + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param return_key_type The type of "return" key on the input panel + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type); + +/** + * Get the "return" key type. + * + * @see edje_object_part_text_input_panel_return_key_type_set() for more details + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @return The type of "return" key on the input panel + * @since 1.2.0 + */ +EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part); + +/** + * Set the return key on the input panel to be disabled. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param disabled The state + * @since 1.2.0 + */ +EAPI void edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled); + +/** + * Get whether the return key on the input panel should be disabled or not. + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @return EINA_TRUE if it should be disabled + * @since 1.2.0 + */ +EAPI Eina_Bool edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part); + +/** * Add a filter function for newly inserted text. * * Whenever text is inserted (not the same as set) into the given @p part, @@ -2897,8 +2965,20 @@ EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_ * will make Edje break out of the filter cycle and reject the inserted * text. * + * @warning This function will be deprecated because of difficulty in use. + * The type(format, text, or markup) of text should be always + * checked in the filter function for correct filtering. + * Please use edje_object_text_markup_filter_callback_add() instead. There + * is no need to check the type of text in the filter function + * because the text is always markup. + * @warning If you use this function with + * edje_object_text_markup_filter_callback_add() together, all + * Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions + * will be executed, and then filtered text will be inserted. + * * @see edje_object_text_insert_filter_callback_del * @see edje_object_text_insert_filter_callback_del_full + * @see edje_object_text_markup_filter_callback_add * * @param obj A valid Evas_Object handle * @param part The part name @@ -2920,7 +3000,7 @@ EAPI void edje_object_text_insert_filter_callback_add (Evas_Ob * @param part The part name * @param func The function callback to remove * - * @return The user data pointer if succesful, or NULL otherwise + * @return The user data pointer if successful, or NULL otherwise */ EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func); @@ -2939,11 +3019,82 @@ EAPI void *edje_object_text_insert_filter_callback_del (Evas_Ob * @param func The function callback to remove * @param data The data passed to the callback function * - * @return The same data pointer if succesful, or NULL otherwise + * @return The same data pointer if successful, or NULL otherwise */ EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); /** + * Add a markup filter function for newly inserted text. + * + * Whenever text is inserted (not the same as set) into the given @p part, + * the list of markup filter functions will be called to decide if and how + * the new text will be accepted. + * The text parameter in the @p func filter is always markup. It can be + * modified by the user and it's up to him to free the one passed if he's to + * change the pointer. If doing so, the newly set text should be malloc'ed, + * as once all the filters are called Edje will free it. + * If the text is to be rejected, freeing it and setting the pointer to NULL + * will make Edje break out of the filter cycle and reject the inserted + * text. + * This function is different from edje_object_text_insert_filter_callback_add() + * in that the text parameter in the @p fucn filter is always markup. + * + * @warning If you use this function with + * edje_object_text_insert_filter_callback_add() togehter, all + * Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions + * will be executed, and then filtered text will be inserted. + * + * @see edje_object_text_markup_filter_callback_del + * @see edje_object_text_markup_filter_callback_del_full + * @see edje_object_text_insert_filter_callback_add + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param func The callback function that will act as markup filter + * @param data User provided data to pass to the filter function + * @since 1.2.0 + */ +EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); + +/** + * Delete a function from the markup filter list. + * + * Delete the given @p func filter from the list in @p part. Returns + * the user data pointer given when added. + * + * @see edje_object_text_markup_filter_callback_add + * @see edje_object_text_markup_filter_callback_del_full + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param func The function callback to remove + * + * @return The user data pointer if successful, or NULL otherwise + * @since 1.2.0 + */ +EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func); + +/** + * Delete a function and matching user data from the markup filter list. + * + * Delete the given @p func filter and @p data user data from the list + * in @p part. + * Returns the user data pointer given when added. + * + * @see edje_object_text_markup_filter_callback_add + * @see edje_object_text_markup_filter_callback_del + * + * @param obj A valid Evas_Object handle + * @param part The part name + * @param func The function callback to remove + * @param data The data passed to the callback function + * + * @return The same data pointer if successful, or NULL otherwise + * @since 1.2.0 + */ +EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); + +/** * @brief Swallows an object into the edje. * * @param obj A valid Evas_Object handle @@ -3244,7 +3395,7 @@ EAPI Eina_Bool edje_object_part_external_param_set (Evas_Ob * * Parts of type external may carry extra properties that have * meanings defined by the external plugin. For instance, it may be a - * string that defines a button label. This property can be modifed by + * string that defines a button label. This property can be modified by * state parameters, by explicit calls to * edje_object_part_external_param_set() or getting the actual object * with edje_object_part_external_object_get() and calling native @@ -3850,8 +4001,8 @@ EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char * This sets the parameters of the perspective transformation. X, Y and Z * values are used. The px and py points specify the "infinite distance" point * in the 3D conversion (where all lines converge to like when artists draw - * 3D by hand). The @p z0 value specifis the z value at which there is a 1:1 - * mapping between spatial coorinates and screen coordinates. Any points + * 3D by hand). The @p z0 value specifies the z value at which there is a 1:1 + * mapping between spatial coordinates and screen coordinates. Any points * on this z value will not have their X and Y values modified in the transform. * Those further away (Z value higher) will shrink into the distance, and * those less than this value will expand and become bigger. The @p foc value @@ -3861,8 +4012,8 @@ EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char * control and @p foc must be greater than 0. * * @param m map to change. - * @param px The pespective distance X coordinate - * @param py The pespective distance Y coordinate + * @param px The perspective distance X coordinate + * @param py The perspective distance Y coordinate * @param z0 The "0" z plane value * @param foc The focal distance */ diff --git a/libraries/edje/src/lib/Makefile.in b/libraries/edje/src/lib/Makefile.in index e67d90c..cf73390 100644 --- a/libraries/edje/src/lib/Makefile.in +++ b/libraries/edje/src/lib/Makefile.in @@ -230,6 +230,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/lib/edje_cache.c b/libraries/edje/src/lib/edje_cache.c index 0ce6b30..02d16b5 100644 --- a/libraries/edje/src/lib/edje_cache.c +++ b/libraries/edje/src/lib/edje_cache.c @@ -76,12 +76,16 @@ _edje_file_coll_open(Edje_File *edf, const char *coll) edc->references = 1; edc->part = ce->entry; - /* For Edje file build with Edje 1.0, people expect text.align to be 0.0 0.0 */ + /* For Edje file build with Edje 1.0 */ if (edf->version <= 3 && edf->minor <= 1) { /* This will preserve previous rendering */ unsigned int i; + /* people expect signal to not be broadcasted */ + edc->broadcast_signal = EINA_FALSE; + + /* people expect text.align to be 0.0 0.0 */ for (i = 0; i < edc->parts_count; ++i) { if (edc->parts[i]->type == EDJE_PART_TYPE_TEXTBLOCK) diff --git a/libraries/edje/src/lib/edje_calc.c b/libraries/edje/src/lib/edje_calc.c index 213e266..6aa6336 100644 --- a/libraries/edje/src/lib/edje_calc.c +++ b/libraries/edje/src/lib/edje_calc.c @@ -66,7 +66,7 @@ _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T break; case EDJE_TWEEN_MODE_DECELERATE: npos = FROM_DOUBLE(ecore_animator_pos_map(TO_DOUBLE(pos), - ECORE_POS_MAP_DECELERATE, + ECORE_POS_MAP_DECELERATE, 0.0, 0.0)); break; case EDJE_TWEEN_MODE_LINEAR: @@ -110,7 +110,7 @@ _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, FLOAT_T pos, FLOAT_T npos = fp_pos; break; } -#endif +#endif if (npos == ep->description_pos) return; ep->description_pos = npos; @@ -564,7 +564,7 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl _edje_real_part_rel_to_apply(ed, ep, ep->param2); - if (ep->description_pos != 0.0) + if (ep->description_pos > FROM_DOUBLE(0.0)) ep->chosen_description = epd2; } @@ -572,6 +572,7 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl ep->part->type == EDJE_PART_TYPE_EXTERNAL) _edje_external_recalc_apply(ed, ep, NULL, chosen_desc); + ed->recalc_hints = 1; ed->dirty = 1; ed->recalc_call = 1; #ifdef EDJE_CALC_CACHE @@ -650,6 +651,16 @@ _edje_recalc_do(Edje *ed) else evas_object_smart_need_recalculate_set(ed->obj, need_calc); ed->recalc_call = 0; + + if (ed->update_hints && ed->recalc_hints && !ed->calc_only) + { + Evas_Coord w, h; + + ed->recalc_hints = 0; + + edje_object_size_min_calc(ed->obj, &w, &h); + evas_object_size_hint_min_set(ed->obj, w, h); + } } void @@ -1746,7 +1757,6 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, } } - /* XXX TODO: remove need of EDJE_INF_MAX_H, see edje_util.c */ if ((ep->swallow_params.max.h <= 0) || (ep->swallow_params.max.h == EDJE_INF_MAX_H)) @@ -1810,9 +1820,9 @@ _edje_part_recalc_single_map(Edje *ed, } params->map.center.z = 0; - params->map.rotation.x = TO_DOUBLE(desc->map.rot.x); - params->map.rotation.y = TO_DOUBLE(desc->map.rot.y); - params->map.rotation.z = TO_DOUBLE(desc->map.rot.z); + params->map.rotation.x = desc->map.rot.x; + params->map.rotation.y = desc->map.rot.y; + params->map.rotation.z = desc->map.rot.z; if (light) { @@ -1907,7 +1917,7 @@ _edje_part_recalc_single(Edje *ed, sc = ed->scale; if (sc == ZERO) sc = _edje_scale; _edje_part_recalc_single_min_max(sc, ep, desc, &minw, &minh, &maxw, &maxh); - + /* relative coords of top left & bottom right */ _edje_part_recalc_single_rel(ed, ep, desc, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params); @@ -1959,6 +1969,29 @@ _edje_part_recalc_single(Edje *ed, if (lminh > minh) minh = lminh; } } + else if ((ep->part->type == EDJE_PART_TYPE_IMAGE) && + (chosen_desc->min.limit || chosen_desc->max.limit)) + { + Evas_Coord w, h; + + /* We only need pos to find the right image that would be displayed */ + /* Yes, if someone set aspect preference to SOURCE and also max,min + to SOURCE, it will be under efficient, but who cares at the + moment. */ + _edje_real_part_image_set(ed, ep, pos); + evas_object_image_size_get(ep->object, &w, &h); + + if (chosen_desc->min.limit) + { + if (w > minw) minw = w; + if (h > minh) minh = h; + } + if (chosen_desc->max.limit) + { + if ((maxw <= 0) || (w < maxw)) maxw = w; + if ((maxh <= 0) || (h < maxh)) maxh = h; + } + } /* remember what our size is BEFORE we go limit it */ params->req.x = params->x; @@ -2259,6 +2292,23 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta #endif return; } + + if (ep->part->scale && + ep->part->type == EDJE_PART_TYPE_GROUP && + ep->swallowed_object) + { + edje_object_scale_set(ep->swallowed_object, TO_DOUBLE(ed->scale)); + + if (ep->description_pos > FROM_DOUBLE(0.5) && ep->param2) + { + edje_object_update_hints_set(ep->swallowed_object, ep->param2->description->min.limit); + } + else + { + edje_object_update_hints_set(ep->swallowed_object, ep->param1.description->min.limit); + } + } + #ifdef EDJE_CALC_CACHE if (ep->state == ed->state && !state) return ; @@ -2426,7 +2476,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta p1, pos); #ifdef EDJE_CALC_CACHE - ep->param1.state = ed->state; + if (flags == FLAG_XY) + ep->param1.state = ed->state; #endif } } @@ -2478,7 +2529,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta confine_to, p2, pos); #ifdef EDJE_CALC_CACHE - ep->param2->state = ed->state; + if (flags == FLAG_XY) + ep->param2->state = ed->state; #endif } @@ -2806,7 +2858,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta } evas_map_util_3d_rotate(map, - pf->map.rotation.x, pf->map.rotation.y, pf->map.rotation.z, + TO_DOUBLE(pf->map.rotation.x), TO_DOUBLE(pf->map.rotation.y), TO_DOUBLE(pf->map.rotation.z), pf->map.center.x, pf->map.center.y, pf->map.center.z); // calculate light color & position etc. if there is one diff --git a/libraries/edje/src/lib/edje_data.c b/libraries/edje/src/lib/edje_data.c index 32b17b6..46fd521 100644 --- a/libraries/edje/src/lib/edje_data.c +++ b/libraries/edje/src/lib/edje_data.c @@ -456,8 +456,10 @@ _edje_edd_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.h", minmul.h, EDJE_T_FLOAT); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", min.w, EET_T_INT); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.h", min.h, EET_T_INT); \ + EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.limit", min.limit, EET_T_UCHAR); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.w", max.w, EET_T_INT); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.h", max.h, EET_T_INT); \ + EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "max.limit", max.limit, EET_T_UCHAR); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.x", step.x, EET_T_INT); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "step.y", step.y, EET_T_INT); \ EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "aspect.min", aspect.min, EDJE_T_FLOAT); \ @@ -877,4 +879,5 @@ _edje_edd_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "script_only", script_only, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "lua_script_only", lua_script_only, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "prop.orientation", prop.orientation, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "broadcast_signal", broadcast_signal, EET_T_UCHAR); } diff --git a/libraries/edje/src/lib/edje_entry.c b/libraries/edje/src/lib/edje_entry.c index 563497d..f94883f 100644 --- a/libraries/edje/src/lib/edje_entry.c +++ b/libraries/edje/src/lib/edje_entry.c @@ -12,7 +12,6 @@ typedef struct _Sel Sel; typedef struct _Anchor Anchor; static void _edje_entry_imf_cursor_info_set(Entry *en); -static void _edje_entry_imf_context_reset(Entry *en); struct _Entry { @@ -29,12 +28,15 @@ struct _Entry Eina_List *anchorlist; Eina_List *itemlist; char *selection; + Edje_Input_Panel_Lang input_panel_lang; Eina_Bool selecting : 1; Eina_Bool have_selection : 1; Eina_Bool select_allow : 1; Eina_Bool select_mod_start : 1; Eina_Bool select_mod_end : 1; Eina_Bool had_sel : 1; + Eina_Bool input_panel_enable : 1; + Eina_Bool prediction_allow : 1; #ifdef HAVE_ECORE_IMF Eina_Bool have_preedit : 1; @@ -179,6 +181,27 @@ _edje_focus_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, } static void +_text_filter_markup_prepend_internal(Entry *en, Evas_Textblock_Cursor *c, char *text) +{ + Edje_Markup_Filter_Callback *cb; + Eina_List *l; + + EINA_LIST_FOREACH(en->rp->edje->markup_filter_callbacks, l, cb) + { + if (!strcmp(cb->part, en->rp->part->name)) + { + cb->func(cb->data, en->rp->edje->obj, cb->part, &text); + if (!text) break; + } + } + if (text) + { + evas_object_textblock_text_markup_prepend(c, text); + free(text); + } +} + +static void _text_filter_text_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text) { char *text2; @@ -196,8 +219,11 @@ _text_filter_text_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *text) } if (text2) { - evas_textblock_cursor_text_prepend(c, text2); + char *markup_text; + markup_text = evas_textblock_text_utf8_to_markup(NULL, text2); free(text2); + if (markup_text) + _text_filter_markup_prepend_internal(en, c, markup_text); } } @@ -219,8 +245,61 @@ _text_filter_format_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *tex } if (text2) { - evas_textblock_cursor_format_prepend(c, text2); + char *s, *markup_text; + + s = text2; + if (*s == '+') + { + s++; + while (*s == ' ') s++; + if (!s) + { + free(text2); + return; + } + markup_text = (char*) malloc(strlen(s) + 3); + if (markup_text) + { + *(markup_text) = '<'; + strncpy((markup_text + 1), s, strlen(s)); + *(markup_text + strlen(s) + 1) = '>'; + *(markup_text + strlen(s) + 2) = '\0'; + } + } + else if (s[0] == '-') + { + s++; + while (*s == ' ') s++; + if (!s) + { + free(text2); + return; + } + markup_text = (char*) malloc(strlen(s) + 4); + if (markup_text) + { + *(markup_text) = '<'; + *(markup_text + 1) = '/'; + strncpy((markup_text + 2), s, strlen(s)); + *(markup_text + strlen(s) + 2) = '>'; + *(markup_text + strlen(s) + 3) = '\0'; + } + } + else + { + markup_text = (char*) malloc(strlen(s) + 4); + if (markup_text) + { + *(markup_text) = '<'; + strncpy((markup_text + 1), s, strlen(s)); + *(markup_text + strlen(s) + 1) = '/'; + *(markup_text + strlen(s) + 2) = '>'; + *(markup_text + strlen(s) + 3) = '\0'; + } + } free(text2); + if (markup_text) + _text_filter_markup_prepend_internal(en, c, markup_text); } } @@ -241,10 +320,7 @@ _text_filter_markup_prepend(Entry *en, Evas_Textblock_Cursor *c, const char *tex } } if (text2) - { - evas_object_textblock_text_markup_prepend(c, text2); - free(text2); - } + _text_filter_markup_prepend_internal(en, c, text2); } static void @@ -397,7 +473,7 @@ static void _sel_extend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) { if (!en->sel_end) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(en->rp); _sel_enable(c, o, en); if (!evas_textblock_cursor_compare(c, en->sel_end)) return; evas_textblock_cursor_copy(c, en->sel_end); @@ -413,7 +489,7 @@ static void _sel_preextend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) { if (!en->sel_end) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(en->rp); _sel_enable(c, o, en); if (!evas_textblock_cursor_compare(c, en->sel_start)) return; evas_textblock_cursor_copy(c, en->sel_start); @@ -882,7 +958,7 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) char *p; an = calloc(1, sizeof(Anchor)); if (!an) - break; + break; an->en = en; p = strstr(s, "href="); @@ -903,7 +979,7 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) { s = evas_textblock_node_format_text_get(node); if ((!strcmp(s, "- a")) || (!strcmp(s, "-a"))) - break; + break; } if (node) @@ -932,7 +1008,7 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) char *p; an = calloc(1, sizeof(Anchor)); if (!an) - break; + break; an->en = en; an->item = 1; @@ -986,12 +1062,14 @@ _range_del_emit(Edje *ed, Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __ _edje_emit(ed, "entry,changed", en->rp->part->name); _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info, _free_entry_change_info); + _sel_clear(en->cursor, en->rp->object, en); } static void _range_del(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __UNUSED__, Entry *en) { evas_textblock_cursor_range_delete(en->sel_start, en->sel_end); + _sel_clear(en->cursor, en->rp->object, en); } static void @@ -1041,7 +1119,7 @@ _edje_entry_hide_visible_password(Edje_Real_Part *rp) if (!strcmp(text, "+ password=off")) { evas_textblock_node_format_remove_pair(rp->object, - (Evas_Object_Textblock_Node_Format *) node); + (Evas_Object_Textblock_Node_Format *) node); break; } } @@ -1075,7 +1153,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) || (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE)) return; - if (!ev->key) return; + if (!ev->keyname) return; #ifdef HAVE_ECORE_IMF if (en->imf_context) @@ -1089,9 +1167,9 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } #endif - if ((!strcmp(ev->key, "Escape")) || - (!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter"))) - _edje_entry_imf_context_reset(en); + if ((!strcmp(ev->keyname, "Escape")) || + (!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter"))) + _edje_entry_imf_context_reset(rp); old_cur_pos = evas_textblock_cursor_pos_get(en->cursor); @@ -1100,13 +1178,13 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v shift = evas_key_modifier_is_set(ev->modifiers, "Shift"); multiline = rp->part->multiline; cursor_changed = EINA_FALSE; - if (!strcmp(ev->key, "Escape")) + if (!strcmp(ev->keyname, "Escape")) { // dead keys here. Escape for now (should emit these) _edje_emit(ed, "entry,key,escape", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Up") || !strcmp(ev->key, "KP_Up")) + else if (!strcmp(ev->keyname, "Up") || !strcmp(ev->keyname, "KP_Up")) { if (multiline) { @@ -1119,14 +1197,14 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if (en->select_allow) { if (shift) _sel_extend(en->cursor, rp->object, en); + else _sel_clear(en->cursor, rp->object, en); } ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,up", rp->part->name); _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); } - else if (!strcmp(ev->key, "Down") || !strcmp(ev->key, "KP_Down")) + else if (!strcmp(ev->keyname, "Down") || !strcmp(ev->keyname, "KP_Down")) { if (multiline) { @@ -1139,14 +1217,14 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if (en->select_allow) { if (shift) _sel_extend(en->cursor, rp->object, en); + else _sel_clear(en->cursor, rp->object, en); } ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,down", rp->part->name); _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); } - else if (!strcmp(ev->key, "Left") || !strcmp(ev->key, "KP_Left")) + else if (!strcmp(ev->keyname, "Left") || !strcmp(ev->keyname, "KP_Left")) { if (en->select_allow) { @@ -1159,13 +1237,13 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if (en->select_allow) { if (shift) _sel_extend(en->cursor, rp->object, en); + else _sel_clear(en->cursor, rp->object, en); } - _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,left", rp->part->name); _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Right") || !strcmp(ev->key, "KP_Right")) + else if (!strcmp(ev->keyname, "Right") || !strcmp(ev->keyname, "KP_Right")) { if (en->select_allow) { @@ -1178,13 +1256,13 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if (en->select_allow) { if (shift) _sel_extend(en->cursor, rp->object, en); + else _sel_clear(en->cursor, rp->object, en); } - _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,right", rp->part->name); _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "BackSpace")) + else if (!strcmp(ev->keyname, "BackSpace")) { if (control && !en->have_selection) { @@ -1221,7 +1299,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _edje_emit(ed, "entry,key,backspace", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Delete") || !strcmp(ev->key, "KP_Delete")) + else if (!strcmp(ev->keyname, "Delete") || !strcmp(ev->keyname, "KP_Delete")) { if (control) { @@ -1255,7 +1333,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _edje_emit(ed, "entry,key,delete", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Home") || !strcmp(ev->key, "KP_Home")) + else if (!strcmp(ev->keyname, "Home") || !strcmp(ev->keyname, "KP_Home")) { if (en->select_allow) { @@ -1273,7 +1351,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _edje_emit(ed, "entry,key,home", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "End") || !strcmp(ev->key, "KP_End")) + else if (!strcmp(ev->keyname, "End") || !strcmp(ev->keyname, "KP_End")) { if (en->select_allow) { @@ -1291,33 +1369,36 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _edje_emit(ed, "entry,key,end", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((control) && (!strcmp(ev->key, "v"))) + else if ((control) && (!shift) && (!strcmp(ev->keyname, "v"))) { _edje_emit(ed, "entry,paste,request", rp->part->name); _edje_emit(ed, "entry,paste,request,3", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((control) && (!strcmp(ev->key, "a"))) + else if ((control) && (!strcmp(ev->keyname, "a"))) { - _edje_emit(ed, "entry,selection,all,request", rp->part->name); - ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; - } - else if ((control) && (!strcmp(ev->key, "A"))) - { - _edje_emit(ed, "entry,selection,none,request", rp->part->name); - ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + if (shift) + { + _edje_emit(ed, "entry,selection,none,request", rp->part->name); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + } + else + { + _edje_emit(ed, "entry,selection,all,request", rp->part->name); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + } } - else if ((control) && ((!strcmp(ev->key, "c") || (!strcmp(ev->key, "Insert"))))) + else if ((control) && (((!shift) && !strcmp(ev->keyname, "c")) || !strcmp(ev->keyname, "Insert"))) { _edje_emit(ed, "entry,copy,notify", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((control) && ((!strcmp(ev->key, "x") || (!strcmp(ev->key, "m"))))) + else if ((control) && (!shift) && ((!strcmp(ev->keyname, "x") || (!strcmp(ev->keyname, "m"))))) { _edje_emit(ed, "entry,cut,notify", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((control) && (!strcmp(ev->key, "z"))) + else if ((control) && (!strcmp(ev->keyname, "z"))) { if (shift) { @@ -1331,19 +1412,19 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((control) && (!strcmp(ev->key, "y"))) + else if ((control) && (!shift) && (!strcmp(ev->keyname, "y"))) { // redo _edje_emit(ed, "entry,redo,request", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((control) && (!strcmp(ev->key, "w"))) + else if ((control) && (!shift) && (!strcmp(ev->keyname, "w"))) { _sel_clear(en->cursor, rp->object, en); // select current word? ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Tab")) + else if (!strcmp(ev->keyname, "Tab")) { if (multiline) { @@ -1362,7 +1443,6 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _range_del_emit(ed, en->cursor, rp->object, en); info->merge = EINA_TRUE; } - _sel_clear(en->cursor, rp->object, en); info->change.insert.pos = evas_textblock_cursor_pos_get(en->cursor); info->change.insert.content = eina_stringshare_add(""); @@ -1378,12 +1458,12 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v } _edje_emit(ed, "entry,key,tab", rp->part->name); } - else if ((!strcmp(ev->key, "ISO_Left_Tab")) && (multiline)) + else if ((!strcmp(ev->keyname, "ISO_Left_Tab")) && (multiline)) { // remove a tab ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Prior") || !strcmp(ev->key, "KP_Prior")) + else if (!strcmp(ev->keyname, "Prior") || !strcmp(ev->keyname, "KP_Prior")) { if (en->select_allow) { @@ -1394,12 +1474,12 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if (en->select_allow) { if (shift) _sel_extend(en->cursor, rp->object, en); + else _sel_clear(en->cursor, rp->object, en); } - _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,pgup", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if (!strcmp(ev->key, "Next") || !strcmp(ev->key, "KP_Next")) + else if (!strcmp(ev->keyname, "Next") || !strcmp(ev->keyname, "KP_Next")) { if (en->select_allow) { @@ -1410,12 +1490,12 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v if (en->select_allow) { if (shift) _sel_extend(en->cursor, rp->object, en); + else _sel_clear(en->cursor, rp->object, en); } - _sel_clear(en->cursor, rp->object, en); _edje_emit(ed, "entry,key,pgdn", rp->part->name); ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } - else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter"))) + else if ((!strcmp(ev->keyname, "Return")) || (!strcmp(ev->keyname, "KP_Enter"))) { if (multiline) { @@ -1427,7 +1507,6 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _range_del_emit(ed, en->cursor, rp->object, en); info->merge = EINA_TRUE; } - _sel_clear(en->cursor, rp->object, en); info->change.insert.pos = evas_textblock_cursor_pos_get(en->cursor); @@ -1470,7 +1549,6 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v _range_del_emit(ed, en->cursor, rp->object, en); info->merge = EINA_TRUE; } - _sel_clear(en->cursor, rp->object, en); info->change.insert.pos = evas_textblock_cursor_pos_get(en->cursor); @@ -1580,7 +1658,7 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS } #endif - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); en->select_mod_start = EINA_FALSE; en->select_mod_end = EINA_FALSE; @@ -1593,8 +1671,35 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS if (ev->button == 2) dosel = EINA_FALSE; if (dosel) { - // double click -> select word - // triple click -> select line + if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK) + { + en->have_selection = EINA_FALSE; + en->selecting = EINA_FALSE; + _sel_clear(en->cursor, rp->object, en); + tc = evas_object_textblock_cursor_new(rp->object); + evas_textblock_cursor_copy(en->cursor, tc); + evas_textblock_cursor_line_char_first(en->cursor); + _sel_start(en->cursor, rp->object, en); + evas_textblock_cursor_line_char_last(en->cursor); + _sel_extend(en->cursor, rp->object, en); + + goto end; + } + else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) + { + en->have_selection = EINA_FALSE; + en->selecting = EINA_FALSE; + _sel_clear(en->cursor, rp->object, en); + tc = evas_object_textblock_cursor_new(rp->object); + evas_textblock_cursor_copy(en->cursor, tc); + evas_textblock_cursor_word_start(en->cursor); + _sel_start(en->cursor, rp->object, en); + evas_textblock_cursor_word_end(en->cursor); + evas_textblock_cursor_char_next(en->cursor); + _sel_extend(en->cursor, rp->object, en); + + goto end; + } } tc = evas_object_textblock_cursor_new(rp->object); evas_textblock_cursor_copy(en->cursor, tc); @@ -1695,13 +1800,14 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS } } } + end: if (evas_textblock_cursor_compare(tc, en->cursor)) { _edje_emit(rp->edje, "cursor,changed", rp->part->name); _edje_emit(rp->edje, "cursor,changed,manual", rp->part->name); } evas_textblock_cursor_free(tc); - + _edje_entry_imf_cursor_info_set(en); _edje_entry_real_part_configure(rp); @@ -1724,6 +1830,8 @@ _edje_part_mouse_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED if (ev->button != 1) return; if (!rp) return; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; + if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK) return; + if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) return; en = rp->entry_data; if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) || (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE)) @@ -1741,7 +1849,7 @@ _edje_part_mouse_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED } #endif - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); tc = evas_object_textblock_cursor_new(rp->object); evas_textblock_cursor_copy(en->cursor, tc); @@ -1911,7 +2019,7 @@ _edje_part_mouse_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS } evas_textblock_cursor_free(tc); - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _edje_entry_imf_cursor_info_set(en); _edje_entry_real_part_configure(rp); @@ -2035,6 +2143,8 @@ _edje_entry_real_part_init(Edje_Real_Part *rp) { evas_object_show(en->cursor_bg); evas_object_show(en->cursor_fg); + en->input_panel_enable = EINA_TRUE; + #ifdef HAVE_ECORE_IMF ecore_imf_init(); @@ -2078,6 +2188,9 @@ _edje_entry_real_part_init(Edje_Real_Part *rp) ecore_imf_context_input_mode_set(en->imf_context, rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD ? ECORE_IMF_INPUT_MODE_INVISIBLE : ECORE_IMF_INPUT_MODE_FULL); + + if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) + ecore_imf_context_input_panel_language_set(en->imf_context, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET); #endif } #ifdef HAVE_ECORE_IMF @@ -2111,9 +2224,9 @@ _edje_entry_real_part_shutdown(Edje_Real_Part *rp) { if (en->imf_context) { - ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _edje_entry_imf_event_commit_cb); - ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb); - ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, _edje_entry_imf_event_preedit_changed_cb); + ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _edje_entry_imf_event_commit_cb); + ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb); + ecore_imf_context_event_callback_del(en->imf_context, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, _edje_entry_imf_event_preedit_changed_cb); ecore_imf_context_del(en->imf_context); en->imf_context = NULL; @@ -2192,7 +2305,7 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text) { Entry *en = rp->entry_data; if (!en) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); // set text as markup _sel_clear(en->cursor, rp->object, en); evas_object_textblock_text_markup_set(rp->object, text); @@ -2231,12 +2344,11 @@ _edje_entry_text_markup_insert(Edje_Real_Part *rp, const char *text) { Entry *en = rp->entry_data; if (!en) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); // prepend markup @ cursor pos if (en->have_selection) _range_del(en->cursor, rp->object, en); - _sel_clear(en->cursor, rp->object, en); //xx // evas_object_textblock_text_markup_prepend(en->cursor, text); _text_filter_markup_prepend(en, en->cursor, text); @@ -2282,7 +2394,7 @@ _edje_entry_select_all(Edje_Real_Part *rp) Entry *en = rp->entry_data; if (!en) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _sel_clear(en->cursor, rp->object, en); _curs_start(en->cursor, rp->object, en); @@ -2301,7 +2413,7 @@ _edje_entry_select_begin(Edje_Real_Part *rp) Entry *en = rp->entry_data; if (!en) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _sel_clear(en->cursor, rp->object, en); _sel_enable(en->cursor, rp->object, en); @@ -2318,7 +2430,7 @@ _edje_entry_select_extend(Edje_Real_Part *rp) { Entry *en = rp->entry_data; if (!en) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _sel_extend(en->cursor, rp->object, en); _edje_entry_imf_cursor_info_set(en); @@ -2440,6 +2552,35 @@ _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord * } void +_edje_entry_user_insert(Edje_Real_Part *rp, const char *text) +{ + Entry *en = rp->entry_data; + Edje_Entry_Change_Info *info = calloc(1, sizeof(*info)); + info->insert = EINA_TRUE; + info->change.insert.plain_length = 1; + info->change.insert.content = eina_stringshare_add(text); + { + char *tmp; + tmp = evas_textblock_text_markup_to_utf8(rp->object, + info->change.insert.content); + info->change.insert.plain_length = eina_unicode_utf8_get_len(tmp); + free(tmp); + } + + if (en->have_selection) + { + _range_del_emit(rp->edje, en->cursor, rp->object, en); + info->merge = EINA_TRUE; + } + info->change.insert.pos = evas_textblock_cursor_pos_get(en->cursor); + _text_filter_text_prepend(en, en->cursor, text); + _edje_emit(rp->edje, "entry,changed", rp->part->name); + _edje_emit_full(rp->edje, "entry,changed,user", rp->part->name, + info, _free_entry_change_info); + _edje_emit(rp->edje, "cursor,changed", rp->part->name); +} + +void _edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow) { Entry *en = rp->entry_data; @@ -2463,12 +2604,25 @@ _edje_entry_select_abort(Edje_Real_Part *rp) { en->selecting = EINA_FALSE; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _edje_entry_imf_cursor_info_set(en); _edje_entry_real_part_configure(rp); } } +void * +_edje_entry_imf_context_get(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + if (!en) return NULL; + +#ifdef HAVE_ECORE_IMF + return en->imf_context; +#else + return NULL; +#endif +} + void _edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type) { @@ -2499,16 +2653,37 @@ _edje_entry_autocapital_type_get(Edje_Real_Part *rp) } void +_edje_entry_prediction_allow_set(Edje_Real_Part *rp, Eina_Bool prediction) +{ + Entry *en = rp->entry_data; + + if (!en) return; + en->prediction_allow = prediction; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_prediction_allow_set(en->imf_context, prediction); +#endif +} + +Eina_Bool +_edje_entry_prediction_allow_get(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + if (!en) return EINA_FALSE; + + return en->prediction_allow; +} + +void _edje_entry_input_panel_enabled_set(Edje_Real_Part *rp, Eina_Bool enabled) { Entry *en = rp->entry_data; if (!en) return; + en->input_panel_enable = enabled; #ifdef HAVE_ECORE_IMF if (en->imf_context) ecore_imf_context_input_panel_enabled_set(en->imf_context, enabled); -#else - (void) enabled; #endif } @@ -2517,11 +2692,121 @@ _edje_entry_input_panel_enabled_get(Edje_Real_Part *rp) { Entry *en = rp->entry_data; if (!en) return EINA_FALSE; + + return en->input_panel_enable; +} + +void +_edje_entry_input_panel_show(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + + if (!en) return; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_input_panel_show(en->imf_context); +#endif +} + +void +_edje_entry_input_panel_hide(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + + if (!en) return; #ifdef HAVE_ECORE_IMF if (en->imf_context) - return ecore_imf_context_input_panel_enabled_get(en->imf_context); + ecore_imf_context_input_panel_hide(en->imf_context); #endif +} + +void +_edje_entry_input_panel_language_set(Edje_Real_Part *rp, Edje_Input_Panel_Lang lang) +{ + Entry *en = rp->entry_data; + if (!en) return; + en->input_panel_lang = lang; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_input_panel_language_set(en->imf_context, lang); +#endif +} + +Edje_Input_Panel_Lang +_edje_entry_input_panel_language_get(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + if (!en) return EDJE_INPUT_PANEL_LANG_AUTOMATIC; + + return en->input_panel_lang; +} + +void +_edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data, int len) +{ + Entry *en = rp->entry_data; + if (!en) return; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_input_panel_imdata_set(en->imf_context, data, len); +#endif +} + +void +_edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data, int *len) +{ + Entry *en = rp->entry_data; + if (!en) return; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_input_panel_imdata_get(en->imf_context, data, len); +#endif +} + +void +_edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type) +{ + Entry *en = rp->entry_data; + if (!en) return; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_input_panel_return_key_type_set(en->imf_context, return_key_type); +#endif +} + +Edje_Input_Panel_Return_Key_Type +_edje_entry_input_panel_return_key_type_get(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + if (!en) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + return ecore_imf_context_input_panel_return_key_type_get(en->imf_context); +#endif + return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; +} + +void +_edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled) +{ + Entry *en = rp->entry_data; + if (!en) return; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + ecore_imf_context_input_panel_return_key_disabled_set(en->imf_context, disabled); +#endif +} + +Eina_Bool +_edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + if (!en) return EINA_FALSE; +#ifdef HAVE_ECORE_IMF + if (en->imf_context) + return ecore_imf_context_input_panel_return_key_disabled_get(en->imf_context); +#endif return EINA_FALSE; } @@ -2568,7 +2853,7 @@ _edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur) Evas_Textblock_Cursor *c = _cursor_get(rp, cur); if (!c) return EINA_FALSE; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); if (!evas_textblock_cursor_char_next(c)) { @@ -2589,7 +2874,7 @@ _edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur) Evas_Textblock_Cursor *c = _cursor_get(rp, cur); if (!c) return EINA_FALSE; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); if (!evas_textblock_cursor_char_prev(c)) { @@ -2615,7 +2900,7 @@ _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur) int ln; if (!c) return EINA_FALSE; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL); ln--; @@ -2649,7 +2934,7 @@ _edje_entry_cursor_down(Edje_Real_Part *rp, Edje_Cursor cur) int ln; if (!c) return EINA_FALSE; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL); ln++; @@ -2679,7 +2964,7 @@ _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur) Evas_Textblock_Cursor *c = _cursor_get(rp, cur); if (!c) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); evas_textblock_cursor_paragraph_first(c); _sel_update(c, rp->object, rp->entry_data); @@ -2696,7 +2981,7 @@ _edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor cur) Evas_Textblock_Cursor *c = _cursor_get(rp, cur); if (!c) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _curs_end(c, rp->object, rp->entry_data); _sel_update(c, rp->object, rp->entry_data); @@ -2721,7 +3006,7 @@ _edje_entry_cursor_copy(Edje_Real_Part *rp, Edje_Cursor cur, Edje_Cursor dst) evas_textblock_cursor_copy(c, d); _sel_update(c, rp->object, rp->entry_data); - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); _edje_entry_imf_cursor_info_set(en); _edje_emit(rp->edje, "cursor,changed", rp->part->name); _edje_entry_real_part_configure(rp); @@ -2733,7 +3018,7 @@ _edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur) Entry *en = rp->entry_data; Evas_Textblock_Cursor *c = _cursor_get(rp, cur); if (!c) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); evas_textblock_cursor_line_char_first(c); _sel_update(c, rp->object, rp->entry_data); @@ -2750,7 +3035,7 @@ _edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur) Entry *en = rp->entry_data; Evas_Textblock_Cursor *c = _cursor_get(rp, cur); if (!c) return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); evas_textblock_cursor_line_char_last(c); _sel_update(c, rp->object, rp->entry_data); @@ -2810,9 +3095,9 @@ _edje_entry_cursor_pos_set(Edje_Real_Part *rp, Edje_Cursor cur, int pos) if (!c) return; /* Abort if cursor position didn't really change */ if (evas_textblock_cursor_pos_get(c) == pos) - return; + return; - _edje_entry_imf_context_reset(en); + _edje_entry_imf_context_reset(rp); evas_textblock_cursor_pos_set(c, pos); _sel_update(c, rp->object, rp->entry_data); @@ -2855,14 +3140,14 @@ _edje_entry_input_panel_layout_get(Edje_Real_Part *rp) return EDJE_INPUT_PANEL_LAYOUT_INVALID; } -static void -_edje_entry_imf_context_reset(Entry *en) +void +_edje_entry_imf_context_reset(Edje_Real_Part *rp) { + Entry *en = rp->entry_data; + if (!en) return; #ifdef HAVE_ECORE_IMF if (en->imf_context) ecore_imf_context_reset(en->imf_context); -#else - (void) en; #endif } @@ -3019,7 +3304,6 @@ _edje_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx __UN { /* delete selected characters */ _range_del_emit(ed, en->cursor, rp->object, en); - _sel_clear(en->cursor, rp->object, en); } /* delete preedit characters */ diff --git a/libraries/edje/src/lib/edje_load.c b/libraries/edje/src/lib/edje_load.c index 8fe5842..b63cd88 100644 --- a/libraries/edje/src/lib/edje_load.c +++ b/libraries/edje/src/lib/edje_load.c @@ -132,7 +132,7 @@ edje_file_group_exists(const char *file, const char *glob) edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL); if (!edf) return EINA_FALSE; - + for (p = glob; *p; p++) { if ((*p == '*') || (*p == '?') || (*p == '[')) @@ -141,7 +141,7 @@ edje_file_group_exists(const char *file, const char *glob) break; } } - + if (is_glob) { if (!edf->collection_patterns) @@ -149,18 +149,18 @@ edje_file_group_exists(const char *file, const char *glob) Edje_Part_Collection_Directory_Entry *ce; Eina_Iterator *i; Eina_List *l = NULL; - + i = eina_hash_iterator_data_new(edf->collection); - + EINA_ITERATOR_FOREACH(i, ce) l = eina_list_append(l, ce); - + eina_iterator_free(i); - + edf->collection_patterns = edje_match_collection_dir_init(l); eina_list_free(l); } - + succeed = edje_match_collection_dir_exec(edf->collection_patterns, glob); if (edf->collection_patterns) { @@ -226,6 +226,20 @@ _edje_programs_patterns_init(Edje *ed) if (ssp->signals_patterns) return; + if (getenv("EDJE_DUMP_PROGRAMS")) + { + INF("Group '%s' programs:", ed->group); +#define EDJE_DUMP_PROGRAM(Section) \ + for (i = 0; i < ed->collection->programs.Section##_count; i++) \ + INF(#Section" for ('%s', '%s')", ed->collection->programs.Section[i]->signal, ed->collection->programs.Section[i]->source); + + EDJE_DUMP_PROGRAM(strcmp); + EDJE_DUMP_PROGRAM(strncmp); + EDJE_DUMP_PROGRAM(strrncmp); + EDJE_DUMP_PROGRAM(fnmatch); + EDJE_DUMP_PROGRAM(nocmp); + } + edje_match_program_hash_build(ed->collection->programs.strcmp, ed->collection->programs.strcmp_count, &ssp->exact_match); @@ -294,6 +308,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g ed->load_error = EDJE_LOAD_ERROR_NONE; _edje_file_add(ed); + ed->block_break = 0; if (ed->file && ed->file->external_dir) { diff --git a/libraries/edje/src/lib/edje_lua2.c b/libraries/edje/src/lib/edje_lua2.c index 1d167e9..fd88f31 100644 --- a/libraries/edje/src/lib/edje_lua2.c +++ b/libraries/edje/src/lib/edje_lua2.c @@ -6,11 +6,6 @@ #define RASTER_FORGOT_WHY "this is here." -#ifdef _WIN32 -# define FMT_SIZE_T "%Iu" -#else -# define FMT_SIZE_T "%zu" -#endif //--------------------------------------------------------------------------// #define MAX_LUA_MEM (4 * (1024 * 1024)) @@ -216,7 +211,7 @@ _elua_alloc(void *ud, void *ptr, size_t osize, size_t nsize) ela->cur += nsize - osize; if (ela->cur > ela->max) { - ERR("Lua memory limit of " FMT_SIZE_T " bytes reached (" FMT_SIZE_T " allocated)", + ERR("Lua memory limit of %zu bytes reached (%zu allocated)", ela->max, ela->cur); return NULL; } @@ -228,7 +223,7 @@ _elua_alloc(void *ud, void *ptr, size_t osize, size_t nsize) ptr2 = realloc(ptr, nsize); if (ptr2) return ptr2; - ERR("Lua cannot re-allocate " FMT_SIZE_T " bytes", nsize); + ERR("Lua cannot re-allocate %zu bytes", nsize); return ptr2; } @@ -698,7 +693,7 @@ static int _elua_echo(lua_State *L) // Stack usage [-0, +0, v] { const char *string = luaL_checkstring(L, 1); // Stack usage [-0, +0, v] - LD("%s\n", string); + LD("%s", string); return 0; } @@ -2657,16 +2652,16 @@ _elua_edje_file(lua_State *L) // Stack usage [ switch (err) { - case EDJE_LOAD_ERROR_NONE : LE("Edje file loading errer %s %s - no error happened, but you should not see this.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_GENERIC : LE("Edje file loading errer %s %s - generic error.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_DOES_NOT_EXIST : LE("Edje file loading errer %s %s - file does not exist.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_PERMISSION_DENIED : LE("Edje file loading errer %s %s - permission denied reading the file.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED : LE("Edje file loading errer %s %s - resource allocation failed.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_CORRUPT_FILE : LE("Edje file loading errer %s %s - corrupt file.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_UNKNOWN_FORMAT : LE("Edje file loading errer %s %s - unknown file format.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_INCOMPATIBLE_FILE : LE("Edje file loading errer %s %s - incompatible file.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_UNKNOWN_COLLECTION : LE("Edje file loading errer %s %s - unknown group.\n", obj->ed->file->path, group); break; - case EDJE_LOAD_ERROR_RECURSIVE_REFERENCE : LE("Edje file loading errer %s %s - recursive reference in group.\n", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_NONE : LE("Edje file loading errer %s %s - no error happened, but you should not see this.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_GENERIC : LE("Edje file loading errer %s %s - generic error.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_DOES_NOT_EXIST : LE("Edje file loading errer %s %s - file does not exist.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_PERMISSION_DENIED : LE("Edje file loading errer %s %s - permission denied reading the file.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED : LE("Edje file loading errer %s %s - resource allocation failed.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_CORRUPT_FILE : LE("Edje file loading errer %s %s - corrupt file.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_UNKNOWN_FORMAT : LE("Edje file loading errer %s %s - unknown file format.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_INCOMPATIBLE_FILE : LE("Edje file loading errer %s %s - incompatible file.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_UNKNOWN_COLLECTION : LE("Edje file loading errer %s %s - unknown group.", obj->ed->file->path, group); break; + case EDJE_LOAD_ERROR_RECURSIVE_REFERENCE : LE("Edje file loading errer %s %s - recursive reference in group.", obj->ed->file->path, group); break; } } } @@ -2865,13 +2860,14 @@ _elua_image_image(lua_State *L) // Stack usage [ } } - /* Sandbox lua - Only allow access to images within the same edje file. I'm not so sure we need this level of sandboxing though. So leaving it here, just in case. if (-1 == id) { - LI("Image %s not found in our edje file, trying external image file %s.\n", key, file); + LE("Image %s not found in our edje file.", key); + /* Sandbox lua - Only allow access to images within the same edje file. I'm not so sure we need this level of sandboxing though. So leaving it here, just in case. + LI("Image %s not found in our edje file, trying external image file %s.", key, file); evas_object_image_file_set(elo->evas_obj, file, key); + */ } - */ } evas_object_image_file_get(elo->evas_obj, &file, &key); _elua_ret(L, "$file $key", file, key); diff --git a/libraries/edje/src/lib/edje_main.c b/libraries/edje/src/lib/edje_main.c index 5d011ad..f70efb9 100644 --- a/libraries/edje/src/lib/edje_main.c +++ b/libraries/edje/src/lib/edje_main.c @@ -233,6 +233,11 @@ _edje_del(Edje *ed) eina_stringshare_del(cb->part); free(cb); } + EINA_LIST_FREE(ed->markup_filter_callbacks, cb) + { + eina_stringshare_del(cb->part); + free(cb); + } if (ed->members.text_class) { diff --git a/libraries/edje/src/lib/edje_multisense.c b/libraries/edje/src/lib/edje_multisense.c index f3324e7..a35b223 100644 --- a/libraries/edje/src/lib/edje_multisense.c +++ b/libraries/edje/src/lib/edje_multisense.c @@ -1,8 +1,3 @@ -#include "config.h" -#include -#include -#include -#include #include "edje_private.h" typedef struct _Multisense_Data diff --git a/libraries/edje/src/lib/edje_private.h b/libraries/edje/src/lib/edje_private.h index 8bf18eb..1d5aee9 100644 --- a/libraries/edje/src/lib/edje_private.h +++ b/libraries/edje/src/lib/edje_private.h @@ -9,18 +9,30 @@ # define _GNU_SOURCE #endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif #ifdef HAVE_ALLOCA_H # include -#elif defined __GNUC__ -# define alloca __builtin_alloca -#elif defined _AIX -# define alloca __alloca -#elif defined _MSC_VER -# include -# define alloca _alloca -#else -# include +#elif !defined alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _AIX +# define alloca __alloca +# elif defined _MSC_VER +# include +# define alloca _alloca +# elif !defined HAVE_ALLOCA +# ifdef __cplusplus +extern "C" +# endif void *alloca (size_t); +# endif #endif #include @@ -35,6 +47,8 @@ void *alloca (size_t); # include #endif +#include + #include #include #include @@ -62,7 +76,7 @@ void *alloca (size_t); #include "Edje.h" -EAPI extern int _edje_default_log_dom ; +EAPI extern int _edje_default_log_dom ; #ifdef EDJE_DEFAULT_LOG_COLOR # undef EDJE_DEFAULT_LOG_COLOR @@ -84,6 +98,10 @@ EAPI extern int _edje_default_log_dom ; # undef CRIT #endif #define CRIT(...) EINA_LOG_DOM_CRIT(_edje_default_log_dom, __VA_ARGS__) +#ifdef DBG +# undef DBG +#endif +#define DBG(...) EINA_LOG_DOM_DBG(_edje_default_log_dom, __VA_ARGS__) #ifdef __GNUC__ # if __GNUC__ >= 4 // BROKEN in gcc 4 on amd64 @@ -173,7 +191,7 @@ struct _Edje_Smart_Api /* increment this when you add new feature to edje file format without * breaking backward compatibility. */ -#define EDJE_FILE_MINOR 2 +#define EDJE_FILE_MINOR 3 /* FIXME: * @@ -218,6 +236,7 @@ struct _Edje_Position struct _Edje_Size { int w, h; + Eina_Bool limit; /* should we limit ourself to the size of the source */ }; struct _Edje_Rectangle @@ -322,6 +341,7 @@ typedef struct _Edje_Var_Timer Edje_Var_Timer; typedef struct _Edje_Var_Pool Edje_Var_Pool; typedef struct _Edje_Signal_Source_Char Edje_Signal_Source_Char; typedef struct _Edje_Text_Insert_Filter_Callback Edje_Text_Insert_Filter_Callback; +typedef struct _Edje_Markup_Filter_Callback Edje_Markup_Filter_Callback; #define EDJE_INF_MAX_W 100000 #define EDJE_INF_MAX_H 100000 @@ -612,6 +632,8 @@ struct _Edje_Program /* a conditional program to be run */ int src; /* part where parameter is being retrieved */ int dst; /* part where parameter is being stored */ } param; + + Eina_Bool exec : 1; }; struct _Edje_Program_Target /* the target of an action */ @@ -752,6 +774,8 @@ struct _Edje_Part_Collection unsigned char lua_script_only; + unsigned char broadcast_signal; + unsigned char checked : 1; }; @@ -839,7 +863,7 @@ struct _Edje_Part_Description_Common unsigned char have; FLOAT_T w, h; } minmul; - + Edje_Size min, max; Edje_Position step; /* size stepping by n pixels, 0 = none */ Edje_Aspect_Prefer aspect; @@ -1074,6 +1098,7 @@ struct _Edje Edje_Real_Part *focused_part; Eina_List *subobjs; Eina_List *text_insert_filter_callbacks; + Eina_List *markup_filter_callbacks; void *script_only_data; int table_programs_size; @@ -1145,6 +1170,8 @@ struct _Edje #endif unsigned int have_mapped_part : 1; unsigned int recalc_call : 1; + unsigned int update_hints : 1; + unsigned int recalc_hints : 1; }; struct _Edje_Calc_Params @@ -1179,7 +1206,7 @@ struct _Edje_Calc_Params int x, y, z; } center; // 12 struct { - double x, y, z; + FLOAT_T x, y, z; } rotation; // 24 struct { int x, y, z; @@ -1334,6 +1361,13 @@ struct _Edje_Text_Insert_Filter_Callback void *data; }; +struct _Edje_Markup_Filter_Callback +{ + const char *part; + Edje_Markup_Filter_Cb func; + void *data; +}; + struct _Edje_Pending_Program { Edje *edje; @@ -1907,10 +1941,11 @@ const Eina_List *_edje_entry_anchors_list(Edje_Real_Part *rp); Eina_Bool _edje_entry_item_geometry_get(Edje_Real_Part *rp, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch); const Eina_List *_edje_entry_items_list(Edje_Real_Part *rp); void _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch); +void _edje_entry_user_insert(Edje_Real_Part *rp, const char *text); void _edje_entry_select_allow_set(Edje_Real_Part *rp, Eina_Bool allow); Eina_Bool _edje_entry_select_allow_get(const Edje_Real_Part *rp); void _edje_entry_select_abort(Edje_Real_Part *rp); - +void *_edje_entry_imf_context_get(Edje_Real_Part *rp); Eina_Bool _edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur); Eina_Bool _edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur); Eina_Bool _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur); @@ -1925,12 +1960,25 @@ Eina_Bool _edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Curs char *_edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur); void _edje_entry_cursor_pos_set(Edje_Real_Part *rp, Edje_Cursor cur, int pos); int _edje_entry_cursor_pos_get(Edje_Real_Part *rp, Edje_Cursor cur); +void _edje_entry_imf_context_reset(Edje_Real_Part *rp); void _edje_entry_input_panel_layout_set(Edje_Real_Part *rp, Edje_Input_Panel_Layout layout); Edje_Input_Panel_Layout _edje_entry_input_panel_layout_get(Edje_Real_Part *rp); void _edje_entry_autocapital_type_set(Edje_Real_Part *rp, Edje_Text_Autocapital_Type autocapital_type); Edje_Text_Autocapital_Type _edje_entry_autocapital_type_get(Edje_Real_Part *rp); +void _edje_entry_prediction_allow_set(Edje_Real_Part *rp, Eina_Bool prediction); +Eina_Bool _edje_entry_prediction_allow_get(Edje_Real_Part *rp); void _edje_entry_input_panel_enabled_set(Edje_Real_Part *rp, Eina_Bool enabled); Eina_Bool _edje_entry_input_panel_enabled_get(Edje_Real_Part *rp); +void _edje_entry_input_panel_show(Edje_Real_Part *rp); +void _edje_entry_input_panel_hide(Edje_Real_Part *rp); +void _edje_entry_input_panel_language_set(Edje_Real_Part *rp, Edje_Input_Panel_Lang lang); +Edje_Input_Panel_Lang _edje_entry_input_panel_language_get(Edje_Real_Part *rp); +void _edje_entry_input_panel_imdata_set(Edje_Real_Part *rp, const void *data, int len); +void _edje_entry_input_panel_imdata_get(Edje_Real_Part *rp, void *data, int *len); +void _edje_entry_input_panel_return_key_type_set(Edje_Real_Part *rp, Edje_Input_Panel_Return_Key_Type return_key_type); +Edje_Input_Panel_Return_Key_Type _edje_entry_input_panel_return_key_type_get(Edje_Real_Part *rp); +void _edje_entry_input_panel_return_key_disabled_set(Edje_Real_Part *rp, Eina_Bool disabled); +Eina_Bool _edje_entry_input_panel_return_key_disabled_get(Edje_Real_Part *rp); void _edje_external_init(); void _edje_external_shutdown(); diff --git a/libraries/edje/src/lib/edje_program.c b/libraries/edje/src/lib/edje_program.c index d80c7c9..d631364 100644 --- a/libraries/edje/src/lib/edje_program.c +++ b/libraries/edje/src/lib/edje_program.c @@ -531,7 +531,7 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, } if (rp->program) - _edje_program_end(ed, rp->program); + _edje_program_end(ed, rp->program); _edje_part_description_apply(ed, rp, rp->param1.description->state.name, rp->param1.description->state.value, @@ -570,7 +570,7 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, if (rp) { if (rp->program) - _edje_program_end(ed, rp->program); + _edje_program_end(ed, rp->program); _edje_part_description_apply(ed, rp, pr->state, pr->value, @@ -873,8 +873,11 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f { Edje_Message_Signal emsg; const char *sep; + Eina_Bool broadcast; + if (!ed->collection) return; if (ed->delete_me) return; + broadcast = ed->collection->broadcast_signal; sep = strchr(sig, EDJE_PART_PATH_SEPARATOR); @@ -958,6 +961,7 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f if (!ed2) goto end; _edje_emit(ed2, newsig, src); + broadcast = EINA_FALSE; break; case EDJE_PART_TYPE_EXTERNAL: @@ -976,6 +980,7 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f if (!ed2) goto end; _edje_emit(ed2, newsig, src); } + broadcast = EINA_FALSE; break ; case EDJE_PART_TYPE_BOX: @@ -988,6 +993,7 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f ed2 = _edje_fetch(child); if (!ed2) goto end; _edje_emit(ed2, newsig, src); + broadcast = EINA_FALSE; } break ; @@ -1012,7 +1018,10 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f emsg.data = NULL; } /* new sends code */ - edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg); + if (broadcast) + edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg); + else + _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg); /* old send code - use api now _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg); EINA_LIST_FOREACH(ed->subobjs, l, obj) @@ -1037,12 +1046,8 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f struct _Edje_Program_Data { -#ifdef EDJE_PROGRAM_CACHE Eina_List *matches; - int matched; -#endif Edje *ed; - const char *signal; const char *source; }; @@ -1056,33 +1061,16 @@ static Eina_Bool _edje_glob_callback(Edje_Program *pr, void *dt) { rp = _edje_real_part_get(data->ed, pr->filter.part ? pr->filter.part : data->source); if (rp) - exec = (rp->chosen_description->state.name == pr->filter.state); + exec = (rp->chosen_description->state.name == pr->filter.state); } -#ifdef EDJE_PROGRAM_CACHE - data->matched++; -#endif - - if (exec) - _edje_program_run(data->ed, pr, 0, data->signal, data->source); + pr->exec = exec; - if (_edje_block_break(data->ed)) - { -#ifdef EDJE_PROGRAM_CACHE - eina_list_free(data->matches); - data->matches = NULL; -#endif - return EINA_TRUE; - } - -#ifdef EDJE_PROGRAM_CACHE data->matches = eina_list_append(data->matches, pr); -#endif return EINA_FALSE; } - void _edje_callbacks_patterns_clean(Edje *ed) { @@ -1127,7 +1115,7 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, if (ed->collection && ed->L) _edje_lua2_script_func_signal(ed, sig, src); - + if (ed->collection) { #ifdef EDJE_PROGRAM_CACHE @@ -1156,11 +1144,11 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, if (eina_hash_find(ec->prog_cache.no_matches, tmps)) { - done = 1; + done = 1; } else if ((matches = eina_hash_find(ec->prog_cache.matches, tmps))) { - EINA_LIST_FOREACH(matches, l, pr) + EINA_LIST_FOREACH(matches, l, pr) { Eina_Bool exec = EINA_TRUE; @@ -1169,10 +1157,12 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, Edje_Real_Part *rp; rp = _edje_real_part_get(ed, pr->filter.part ? pr->filter.part : src); - if (rp) + if (rp && !rp->program) exec = (rp->chosen_description->state.name == pr->filter.state); } + pr->exec = exec; +#if 0 if (exec) { _edje_program_run(ed, pr, 0, sig, src); @@ -1181,7 +1171,19 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, goto break_prog; } } +#endif } + + EINA_LIST_FOREACH(matches, l, pr) + if (pr->exec) + { + _edje_program_run(ed, pr, 0, sig, src); + if (_edje_block_break(ed)) + { + goto break_prog; + } + } + done = 1; } } @@ -1192,11 +1194,8 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, data.ed = ed; data.source = src; - data.signal = sig; -#ifdef EDJE_PROGRAM_CACHE - data.matched = 0; data.matches = NULL; -#endif + if (ed->table_programs_size > 0) { const Eina_List *match; @@ -1218,12 +1217,29 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src, ed->patterns.programs.exact_match); EINA_LIST_FOREACH(match, l, pr) _edje_glob_callback(pr, &data); + +#ifdef EDJE_PROGRAM_CACHE + EINA_LIST_FOREACH(data.matches, l, pr) +#else + EINA_LIST_FREE(data.matches, pr) +#endif + { + if (pr->exec) + _edje_program_run(ed, pr, 0, sig, src); + + if (_edje_block_break(ed)) + { + eina_list_free(data.matches); + data.matches = NULL; + goto break_prog; + } + } } #ifdef EDJE_PROGRAM_CACHE if (tmps) { - if (data.matched == 0) + if (data.matches == NULL) { if (!ec->prog_cache.no_matches) ec->prog_cache.no_matches = eina_hash_string_superfast_new(NULL); diff --git a/libraries/edje/src/lib/edje_util.c b/libraries/edje/src/lib/edje_util.c index 2205ba3..4ce22b5 100644 --- a/libraries/edje/src/lib/edje_util.c +++ b/libraries/edje/src/lib/edje_util.c @@ -905,7 +905,7 @@ edje_object_part_exists(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; return EINA_TRUE; } @@ -922,7 +922,7 @@ edje_object_part_object_get(const Evas_Object *obj, const char *part) /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; return rp->object; } @@ -946,7 +946,7 @@ edje_object_part_geometry_get(const Evas_Object *obj, const char *part, Evas_Coo /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) { if (x) *x = 0; @@ -1014,6 +1014,7 @@ _edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char if (text) rp->text.text = eina_stringshare_add(text); rp->edje->dirty = 1; rp->edje->recalc_call = 1; + rp->edje->recalc_hints = 1; #ifdef EDJE_CALC_CACHE rp->invalidate = 1; #endif @@ -1058,6 +1059,63 @@ _edje_object_part_text_raw_append(Evas_Object *obj, Edje_Real_Part *rp, const ch return EINA_TRUE; } +EAPI void +edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, + const char *style) +{ + Edje *ed; + Edje_Real_Part *rp; + Evas_Textblock_Style *ts; + + ed = _edje_fetch(obj); + if ((!ed) || (!part) || (!style)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return; + + ts = evas_textblock_style_new(); + evas_textblock_style_set(ts, style); + evas_object_textblock_style_user_push(rp->object, ts); + evas_textblock_style_free(ts); + ed->recalc_hints = 1; +} + +EAPI void +edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return; + + evas_object_textblock_style_user_pop(rp->object); + ed->recalc_hints = 1; +} + +EAPI const char * +edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + const Evas_Textblock_Style *ts; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return NULL; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return NULL; + if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return NULL; + + ts = evas_object_textblock_style_user_peek(rp->object); + if (ts) + return evas_textblock_style_get(ts); + else + return NULL; +} + EAPI Eina_Bool edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text) { @@ -1066,7 +1124,7 @@ edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text) ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if ((rp->part->type != EDJE_PART_TYPE_TEXT) && (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return EINA_FALSE; @@ -1085,7 +1143,7 @@ edje_object_part_text_get(const Evas_Object *obj, const char *part) /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) return _edje_entry_text_get(rp); @@ -1241,7 +1299,7 @@ edje_object_part_text_unescaped_get(const Evas_Object *obj, const char *part) /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1268,7 +1326,7 @@ edje_object_part_text_selection_get(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return NULL; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) return _edje_entry_selection_get(rp); @@ -1283,7 +1341,7 @@ edje_object_part_text_select_none(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) _edje_entry_select_none(rp); @@ -1297,7 +1355,7 @@ edje_object_part_text_select_all(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) _edje_entry_select_all(rp); @@ -1311,13 +1369,14 @@ edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *tex ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return; if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return; _edje_entry_text_markup_insert(rp, text); rp->edje->dirty = 1; rp->edje->recalc_call = 1; + rp->edje->recalc_hints = 1; #ifdef EDJE_CALC_CACHE rp->invalidate = 1; #endif @@ -1334,12 +1393,13 @@ edje_object_part_text_append(Evas_Object *obj, const char *part, const char *tex ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return; _edje_object_part_text_raw_append(obj, rp, part, text); rp->edje->dirty = 1; rp->edje->recalc_call = 1; + rp->edje->recalc_hints = 1; #ifdef EDJE_CALC_CACHE rp->invalidate = 1; #endif @@ -1356,7 +1416,7 @@ edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return NULL; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) return _edje_entry_anchors_list(rp); @@ -1371,7 +1431,7 @@ edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *pa ed = _edje_fetch(obj); if ((!ed) || (!part)) return NULL; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) return _edje_entry_anchor_geometry_get(rp, anchor); @@ -1386,7 +1446,7 @@ edje_object_part_text_item_list_get(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return NULL; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) return _edje_entry_items_list(rp); @@ -1401,7 +1461,7 @@ edje_object_part_text_item_geometry_get(const Evas_Object *obj, const char *part ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) return _edje_entry_item_geometry_get(rp, item, cx, cy, cw, ch); @@ -1420,7 +1480,7 @@ edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *pa if (w) *w = 0; if (h) *h = 0; if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1432,6 +1492,20 @@ edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *pa } EAPI void +edje_object_part_text_user_insert(const Evas_Object *obj, const char *part, const char *text) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + _edje_entry_user_insert(rp, text); +} + +EAPI void edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, Eina_Bool allow) { Edje *ed; @@ -1439,7 +1513,7 @@ edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) _edje_entry_select_allow_set(rp, allow); @@ -1453,7 +1527,7 @@ edje_object_part_text_select_abort(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) _edje_entry_select_abort(rp); @@ -1467,7 +1541,7 @@ edje_object_part_text_select_begin(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) _edje_entry_select_begin(rp); @@ -1481,12 +1555,30 @@ edje_object_part_text_select_extend(const Evas_Object *obj, const char *part) ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) _edje_entry_select_extend(rp); } +EAPI void * +edje_object_part_text_imf_context_get(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return NULL; + + rp = _edje_real_part_recursive_get(ed, (char *)part); + if (!rp) return NULL; + + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + return _edje_entry_imf_context_get(rp); + else + return NULL; +} + EAPI Eina_Bool edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur) { @@ -1495,7 +1587,7 @@ edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Curso ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1512,7 +1604,7 @@ edje_object_part_text_cursor_prev(Evas_Object *obj, const char *part, Edje_Curso ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1529,7 +1621,7 @@ edje_object_part_text_cursor_up(Evas_Object *obj, const char *part, Edje_Cursor ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1546,7 +1638,7 @@ edje_object_part_text_cursor_down(Evas_Object *obj, const char *part, Edje_Curso ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1563,7 +1655,7 @@ edje_object_part_text_cursor_begin_set(Evas_Object *obj, const char *part, Edje_ ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1579,7 +1671,7 @@ edje_object_part_text_cursor_end_set(Evas_Object *obj, const char *part, Edje_Cu ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1595,7 +1687,7 @@ edje_object_part_text_cursor_copy(Evas_Object *obj, const char *part, Edje_Curso ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1611,7 +1703,7 @@ edje_object_part_text_cursor_line_begin_set(Evas_Object *obj, const char *part, ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1627,7 +1719,7 @@ edje_object_part_text_cursor_line_end_set(Evas_Object *obj, const char *part, Ed ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1644,7 +1736,7 @@ edje_object_part_text_cursor_coord_set(Evas_Object *obj, const char *part, ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1661,7 +1753,7 @@ edje_object_part_text_cursor_is_format_get(const Evas_Object *obj, const char *p ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1678,7 +1770,7 @@ edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const ed = _edje_fetch(obj); if ((!ed) || (!part)) return 0; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return 0; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1738,7 +1830,7 @@ edje_object_part_text_cursor_pos_get(const Evas_Object *obj, const char *part, E } EAPI void -edje_object_part_text_input_panel_layout_set(const Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout) +edje_object_part_text_imf_context_reset(const Evas_Object *obj, const char *part) { Edje *ed; Edje_Real_Part *rp; @@ -1749,7 +1841,23 @@ edje_object_part_text_input_panel_layout_set(const Evas_Object *obj, const char if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { - return _edje_entry_input_panel_layout_set(rp, layout); + _edje_entry_imf_context_reset(rp); + } +} + +EAPI void +edje_object_part_text_input_panel_layout_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_input_panel_layout_set(rp, layout); } } @@ -1771,14 +1879,14 @@ edje_object_part_text_input_panel_layout_get(const Evas_Object *obj, const char } EAPI void -edje_object_part_text_autocapital_type_set(const Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type) +edje_object_part_text_autocapital_type_set(Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type) { Edje *ed; Edje_Real_Part *rp; ed = _edje_fetch(obj); if ((!ed) || (!part)) return; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1794,7 +1902,7 @@ edje_object_part_text_autocapital_type_get(const Evas_Object *obj, const char *p ed = _edje_fetch(obj); if ((!ed) || (!part)) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { @@ -1804,7 +1912,40 @@ edje_object_part_text_autocapital_type_get(const Evas_Object *obj, const char *p } EAPI void -edje_object_part_text_input_panel_enabled_set(const Evas_Object *obj, const char *part, Eina_Bool enabled) +edje_object_part_text_prediction_allow_set(Evas_Object *obj, const char *part, Eina_Bool prediction) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_prediction_allow_set(rp, prediction); + } +} + +EAPI Eina_Bool +edje_object_part_text_prediction_allow_get(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return EINA_FALSE; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return EINA_FALSE; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + return _edje_entry_prediction_allow_get(rp); + } + return EINA_FALSE; +} + +EAPI void +edje_object_part_text_input_panel_enabled_set(Evas_Object *obj, const char *part, Eina_Bool enabled) { Edje *ed; Edje_Real_Part *rp; @@ -1815,7 +1956,7 @@ edje_object_part_text_input_panel_enabled_set(const Evas_Object *obj, const char if (!rp) return; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { - return _edje_entry_input_panel_enabled_set(rp, enabled); + _edje_entry_input_panel_enabled_set(rp, enabled); } } @@ -1837,6 +1978,165 @@ edje_object_part_text_input_panel_enabled_get(const Evas_Object *obj, const char } EAPI void +edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + _edje_entry_input_panel_show(rp); +} + +EAPI void +edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + _edje_entry_input_panel_hide(rp); +} + +EAPI void +edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_input_panel_language_set(rp, lang); + } +} + +EAPI Edje_Input_Panel_Lang +edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return EDJE_INPUT_PANEL_LANG_AUTOMATIC; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return EDJE_INPUT_PANEL_LANG_AUTOMATIC; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + return _edje_entry_input_panel_language_get(rp); + } + return EDJE_INPUT_PANEL_LANG_AUTOMATIC; +} + +EAPI void +edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_input_panel_imdata_set(rp, data, len); + } +} + +EAPI void +edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_input_panel_imdata_get(rp, data, len); + } +} + +EAPI void +edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_input_panel_return_key_type_set(rp, return_key_type); + } +} + +EAPI Edje_Input_Panel_Return_Key_Type +edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + return _edje_entry_input_panel_return_key_type_get(rp); + } + return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; +} + +EAPI void +edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + _edje_entry_input_panel_return_key_disabled_set(rp, disabled); + } +} + +EAPI Eina_Bool +edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return EINA_FALSE; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) return EINA_FALSE; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + { + return _edje_entry_input_panel_return_key_disabled_get(rp); + } + return EINA_FALSE; +} + +EAPI void edje_object_text_insert_filter_callback_add(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data) { Edje *ed; @@ -1901,6 +2201,71 @@ edje_object_text_insert_filter_callback_del_full(Evas_Object *obj, const char *p return NULL; } +EAPI void +edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data) +{ + Edje *ed; + Edje_Markup_Filter_Callback *cb; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + cb = calloc(1, sizeof(Edje_Markup_Filter_Callback)); + cb->part = eina_stringshare_add(part); + cb->func = func; + cb->data = (void *)data; + ed->markup_filter_callbacks = + eina_list_append(ed->markup_filter_callbacks, cb); +} + +EAPI void * +edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func) +{ + Edje *ed; + Edje_Markup_Filter_Callback *cb; + Eina_List *l; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return NULL; + EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb) + { + if ((!strcmp(cb->part, part)) && (cb->func == func)) + { + void *data = cb->data; + ed->markup_filter_callbacks = + eina_list_remove_list(ed->markup_filter_callbacks, l); + eina_stringshare_del(cb->part); + free(cb); + return data; + } + } + return NULL; +} + +EAPI void * +edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data) +{ + Edje *ed; + Edje_Markup_Filter_Callback *cb; + Eina_List *l; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return NULL; + EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb) + { + if ((!strcmp(cb->part, part)) && (cb->func == func) && + (cb->data == data)) + { + void *tmp = cb->data; + ed->markup_filter_callbacks = + eina_list_remove_list(ed->markup_filter_callbacks, l); + eina_stringshare_del(cb->part); + free(cb); + return tmp; + } + } + return NULL; +} + EAPI Eina_Bool edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_swallow) { @@ -1927,8 +2292,12 @@ edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_sw edje_object_part_unswallow(rp->edje->obj, obj_swallow); } - rp = _edje_real_part_recursive_get(ed, (char *)part); - if (!rp) return EINA_FALSE; + rp = _edje_real_part_recursive_get(ed, part); + if (!rp) + { + DBG("cannot swallow part %s: part not exist!", part); + return EINA_FALSE; + } if (rp->part->type != EDJE_PART_TYPE_SWALLOW) { ERR("cannot swallow part %s: not swallow type!", rp->part->name); @@ -2261,7 +2630,7 @@ edje_object_part_swallow_get(const Evas_Object *obj, const char *part) /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return NULL; return rp->swallowed_object; } @@ -2353,8 +2722,8 @@ EAPI Eina_Bool edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) { Edje *ed; - Evas_Coord x1 = INT_MAX, y1 = INT_MAX; - Evas_Coord x2 = 0, y2 = 0; + Evas_Coord xx1 = INT_MAX, yy1 = INT_MAX; + Evas_Coord xx2 = 0, yy2 = 0; unsigned int i; ed = _edje_fetch(obj); @@ -2386,18 +2755,18 @@ edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, E rpx2 = rpx1 + rp->w; rpy2 = rpy1 + rp->h; - if (x1 > rpx1) x1 = rpx1; - if (y1 > rpy1) y1 = rpy1; - if (x2 < rpx2) x2 = rpx2; - if (y2 < rpy2) y2 = rpy2; + if (xx1 > rpx1) xx1 = rpx1; + if (yy1 > rpy1) yy1 = rpy1; + if (xx2 < rpx2) xx2 = rpx2; + if (yy2 < rpy2) yy2 = rpy2; } ed->calc_only = 0; - if (x) *x = x1; - if (y) *y = y1; - if (w) *w = x2 - x1; - if (h) *h = y2 - y1; + if (x) *x = xx1; + if (y) *y = yy1; + if (w) *w = xx2 - xx1; + if (h) *h = yy2 - yy1; return EINA_TRUE; } @@ -2448,6 +2817,7 @@ edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Co maxh = 0; } pep = NULL; + has_non_fixed_tb = EINA_FALSE; for (i = 0; i < ed->table_parts_size; i++) { Edje_Real_Part *ep; @@ -2569,7 +2939,7 @@ edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) { if (val_ret) *val_ret = 0; @@ -2609,7 +2979,7 @@ edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part) /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EDJE_DRAG_DIR_NONE; if ((rp->part->dragable.x) && (rp->part->dragable.y)) return EDJE_DRAG_DIR_XY; else if (rp->part->dragable.x) return EDJE_DRAG_DIR_X; @@ -2625,7 +2995,7 @@ edje_object_part_drag_value_set(Evas_Object *obj, const char *part, double dx, d ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (!rp->drag) return EINA_FALSE; if (rp->drag->down.count > 0) return EINA_FALSE; @@ -2666,7 +3036,7 @@ edje_object_part_drag_value_get(const Evas_Object *obj, const char *part, double /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp || !rp->drag) { if (dx) *dx = 0; @@ -2690,7 +3060,7 @@ edje_object_part_drag_size_set(Evas_Object *obj, const char *part, double dw, do ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (!rp->drag) return EINA_FALSE; if (dw < 0.0) dw = 0.0; @@ -2726,7 +3096,7 @@ edje_object_part_drag_size_get(const Evas_Object *obj, const char *part, double /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp || !rp->drag) { if (dw) *dw = 0; @@ -2746,7 +3116,7 @@ edje_object_part_drag_step_set(Evas_Object *obj, const char *part, double dx, do ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (!rp->drag) return EINA_FALSE; if (dx < 0.0) dx = 0.0; @@ -2778,7 +3148,7 @@ edje_object_part_drag_step_get(const Evas_Object *obj, const char *part, double /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp || !rp->drag) { if (dx) *dx = 0; @@ -2798,7 +3168,7 @@ edje_object_part_drag_page_set(Evas_Object *obj, const char *part, double dx, do ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (!rp->drag) return EINA_FALSE; if (dx < 0.0) dx = 0.0; @@ -2830,7 +3200,7 @@ edje_object_part_drag_page_get(const Evas_Object *obj, const char *part, double /* Need to recalc before providing the object. */ _edje_recalc_do(ed); - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp || !rp->drag) { if (dx) *dx = 0; @@ -2851,7 +3221,7 @@ edje_object_part_drag_step(Evas_Object *obj, const char *part, double dx, double ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (!rp->drag) return EINA_FALSE; if (rp->drag->down.count > 0) return EINA_FALSE; @@ -2881,7 +3251,7 @@ edje_object_part_drag_page(Evas_Object *obj, const char *part, double dx, double ed = _edje_fetch(obj); if ((!ed) || (!part)) return EINA_FALSE; - rp = _edje_real_part_recursive_get(ed, (char *)part); + rp = _edje_real_part_recursive_get(ed, part); if (!rp) return EINA_FALSE; if (!rp->drag) return EINA_FALSE; if (rp->drag->down.count > 0) return EINA_FALSE; @@ -3557,9 +3927,21 @@ edje_object_preload(Evas_Object *obj, Eina_Bool cancel) else if (ep->type == EDJE_PART_TYPE_GROUP) { if (rp->swallowed_object) { - edje_object_signal_callback_del(rp->swallowed_object, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE, _edje_object_signal_preload_cb); - edje_object_signal_callback_add(rp->swallowed_object, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE, _edje_object_signal_preload_cb, ed); - edje_object_preload(rp->swallowed_object, cancel); + char *tmp; + + if (rp->part->name) + { + tmp = alloca(strlen(rp->part->name) + 2); + sprintf(tmp, "%s:", rp->part->name); + + edje_object_signal_callback_del(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb); + edje_object_signal_callback_add(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb, ed); + edje_object_preload(rp->swallowed_object, cancel); + } + else + { + ed->preload_count--; + } count--; } @@ -3574,6 +3956,30 @@ edje_object_preload(Evas_Object *obj, Eina_Bool cancel) return EINA_TRUE; } +EAPI void +edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update) +{ + Edje *ed; + + ed = _edje_fetch(obj); + if (!ed) return ; + if (ed->update_hints == !!update) return ; + + ed->update_hints = !!update; + if (update) ed->recalc_hints = 1; +} + +EAPI Eina_Bool +edje_object_update_hints_get(Evas_Object *obj) +{ + Edje *ed; + + ed = _edje_fetch(obj); + if (!ed) return EINA_FALSE; + + return ed->update_hints; +} + Eina_Bool _edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) { @@ -4037,9 +4443,11 @@ _edje_real_part_swallow_hints_update(Edje_Real_Part *rp) { Evas_Coord w, h; +#if 0 edje_object_size_min_get(rp->swallowed_object, &w, &h); rp->swallow_params.min.w = w; rp->swallow_params.min.h = h; +#endif edje_object_size_max_get(rp->swallowed_object, &w, &h); rp->swallow_params.max.w = w; rp->swallow_params.max.h = h; @@ -4050,8 +4458,10 @@ _edje_real_part_swallow_hints_update(Edje_Real_Part *rp) Evas_Coord w, h; evas_object_geometry_get(rp->swallowed_object, NULL, NULL, &w, &h); +#if 0 rp->swallow_params.min.w = w; rp->swallow_params.min.h = h; +#endif rp->swallow_params.max.w = w; rp->swallow_params.max.h = h; } @@ -4127,6 +4537,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp, _edje_real_part_swallow_hints_update(rp); rp->edje->dirty = 1; rp->edje->recalc_call = 1; + rp->edje->recalc_hints = 1; _edje_recalc(rp->edje); return; } @@ -4171,6 +4582,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp, rp->edje->dirty = 1; rp->edje->recalc_call = 1; + rp->edje->recalc_hints = 1; _edje_recalc(rp->edje); } diff --git a/libraries/edje/src/modules/Makefile.in b/libraries/edje/src/modules/Makefile.in index 5e81050..55c47d6 100644 --- a/libraries/edje/src/modules/Makefile.in +++ b/libraries/edje/src/modules/Makefile.in @@ -193,6 +193,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/modules/alsa_snd_player/Makefile.in b/libraries/edje/src/modules/alsa_snd_player/Makefile.in index 1fe2fb1..ce68f41 100644 --- a/libraries/edje/src/modules/alsa_snd_player/Makefile.in +++ b/libraries/edje/src/modules/alsa_snd_player/Makefile.in @@ -210,6 +210,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/modules/eet_snd_reader/Makefile.in b/libraries/edje/src/modules/eet_snd_reader/Makefile.in index 12d0487..f4d99bb 100644 --- a/libraries/edje/src/modules/eet_snd_reader/Makefile.in +++ b/libraries/edje/src/modules/eet_snd_reader/Makefile.in @@ -211,6 +211,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/modules/multisense_factory/Makefile.in b/libraries/edje/src/modules/multisense_factory/Makefile.in index 8fbc0aa..ed0c3e4 100644 --- a/libraries/edje/src/modules/multisense_factory/Makefile.in +++ b/libraries/edje/src/modules/multisense_factory/Makefile.in @@ -208,6 +208,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/src/tests/Makefile.in b/libraries/edje/src/tests/Makefile.in index ff5193e..f610548 100644 --- a/libraries/edje/src/tests/Makefile.in +++ b/libraries/edje/src/tests/Makefile.in @@ -189,6 +189,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/edje/utils/Makefile.in b/libraries/edje/utils/Makefile.in index 4df8fbd..4c05fe5 100644 --- a/libraries/edje/utils/Makefile.in +++ b/libraries/edje/utils/Makefile.in @@ -177,6 +177,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ diff --git a/libraries/eet/AUTHORS b/libraries/eet/AUTHORS index ebdd15f..260b216 100644 --- a/libraries/eet/AUTHORS +++ b/libraries/eet/AUTHORS @@ -11,3 +11,4 @@ Mathieu Taillefumier Albin "Lutin" Tonnerre Adam Simpkins Mike Blumenkrantz +Lionel Orry diff --git a/libraries/eet/ChangeLog b/libraries/eet/ChangeLog index 795d102..4de0f82 100644 --- a/libraries/eet/ChangeLog +++ b/libraries/eet/ChangeLog @@ -547,21 +547,29 @@ noticable quality losses in the chase for speed. It will use IFAST for quality less than 60 when encoding -2011-12-02 Carsten Haitzler (The Rasterman) +2011-12-02 Carsten Haitzler (The Rasterman) 1.1.0 release - + 2011-12-02 Mike Blumenkrantz * added eet_file_get to return the filename of an Eet_File * Eet_File filenames are now stringshared * added mempool allocators -2011-12-29 Carsten Haitzler (The Rasterman) +2011-12-29 Carsten Haitzler (The Rasterman) * increase eet_connection packet size to 1Mb - more reasonable. -2012-01-07 Boris Faure (billiob) +2012-01-07 Boris Faure (billiob) * make eet tool write to standard output if no output file given. - + +2012-02-09 Cedric Bail + + * add support for GNUTLS 3.x. + +2012-02-10 Cedric Bail + + * add eet_dictionary_count. + * add "eet -t FILE.EET". diff --git a/libraries/eet/Makefile.am b/libraries/eet/Makefile.am index 34a5762..d3622dc 100644 --- a/libraries/eet/Makefile.am +++ b/libraries/eet/Makefile.am @@ -69,18 +69,16 @@ endif if EFL_ENABLE_COVERAGE lcov-reset: - @rm -rf coverage - @find . -name "*.gcda" -exec rm {} \; - @lcov --directory . --zerocounters + @rm -rf $(top_builddir)/coverage + @find $(top_builddir) -name "*.gcda" -delete + @lcov --zerocounters --directory $(top_builddir) lcov-report: - @mkdir coverage - @lcov --compat-libtool --directory . --capture --output-file coverage/coverage.info - @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove - @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info - @rm coverage/remove - @mv coverage/coverage.cleaned.info coverage/coverage.info - @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info + @mkdir $(top_builddir)/coverage + lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) + lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info + genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info + @echo "Coverage Report at $(top_builddir)/coverage/html" coverage: @$(MAKE) lcov-reset diff --git a/libraries/eet/Makefile.in b/libraries/eet/Makefile.in index b865027..fb2955c 100644 --- a/libraries/eet/Makefile.in +++ b/libraries/eet/Makefile.in @@ -184,6 +184,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -223,6 +225,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -878,18 +882,16 @@ doc: # Coverage report @EFL_ENABLE_COVERAGE_TRUE@lcov-reset: -@EFL_ENABLE_COVERAGE_TRUE@ @rm -rf coverage -@EFL_ENABLE_COVERAGE_TRUE@ @find . -name "*.gcda" -exec rm {} \; -@EFL_ENABLE_COVERAGE_TRUE@ @lcov --directory . --zerocounters +@EFL_ENABLE_COVERAGE_TRUE@ @rm -rf $(top_builddir)/coverage +@EFL_ENABLE_COVERAGE_TRUE@ @find $(top_builddir) -name "*.gcda" -delete +@EFL_ENABLE_COVERAGE_TRUE@ @lcov --zerocounters --directory $(top_builddir) @EFL_ENABLE_COVERAGE_TRUE@lcov-report: -@EFL_ENABLE_COVERAGE_TRUE@ @mkdir coverage -@EFL_ENABLE_COVERAGE_TRUE@ @lcov --compat-libtool --directory . --capture --output-file coverage/coverage.info -@EFL_ENABLE_COVERAGE_TRUE@ @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove -@EFL_ENABLE_COVERAGE_TRUE@ @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info -@EFL_ENABLE_COVERAGE_TRUE@ @rm coverage/remove -@EFL_ENABLE_COVERAGE_TRUE@ @mv coverage/coverage.cleaned.info coverage/coverage.info -@EFL_ENABLE_COVERAGE_TRUE@ @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info +@EFL_ENABLE_COVERAGE_TRUE@ @mkdir $(top_builddir)/coverage +@EFL_ENABLE_COVERAGE_TRUE@ lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) +@EFL_ENABLE_COVERAGE_TRUE@ lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info +@EFL_ENABLE_COVERAGE_TRUE@ genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info +@EFL_ENABLE_COVERAGE_TRUE@ @echo "Coverage Report at $(top_builddir)/coverage/html" @EFL_ENABLE_COVERAGE_TRUE@coverage: @EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) lcov-reset diff --git a/libraries/eet/NEWS b/libraries/eet/NEWS index cccda15..1abe36e 100644 --- a/libraries/eet/NEWS +++ b/libraries/eet/NEWS @@ -9,6 +9,8 @@ Additions: Improvements: * most allocations moved to mempools + * support GNUTLS 3.x + * add "eet -t FILE.EET" to get some stat out of an eet file Eet 1.5.0 diff --git a/libraries/eet/README b/libraries/eet/README index 48be3e5..416214b 100644 --- a/libraries/eet/README +++ b/libraries/eet/README @@ -1,4 +1,4 @@ -Eet 1.1.0 +Eet 1.6.0 ****************************************************************************** @@ -11,7 +11,6 @@ Requirements: ------------- Must have: libc - libm zlib libjpeg eina (1.1.0 or better) diff --git a/libraries/eet/aclocal.m4 b/libraries/eet/aclocal.m4 index 6d7b012..1d329e5 100644 --- a/libraries/eet/aclocal.m4 +++ b/libraries/eet/aclocal.m4 @@ -13,13 +13,14 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, +[m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # @@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi @@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then AC_MSG_RESULT([no]) PKG_CONFIG="" fi - fi[]dnl ])# PKG_PROG_PKG_CONFIG @@ -69,34 +72,31 @@ fi[]dnl # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) + m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried fi[]dnl ])# _PKG_CONFIG @@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - ifelse([$4], , [AC_MSG_ERROR(dnl + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -155,25 +156,24 @@ $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) +_PKG_TEXT])[]dnl + ]) elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT -To get pkg-config, see .])], - [$4]) +To get pkg-config, see .])[]dnl + ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) + $3 fi[]dnl ])# PKG_CHECK_MODULES diff --git a/libraries/eet/config.guess b/libraries/eet/config.guess index e3a2116..c2246a4 100755 --- a/libraries/eet/config.guess +++ b/libraries/eet/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-10' +timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ timestamp='2009-06-10' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -854,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -876,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -901,39 +930,18 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -942,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -966,58 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1247,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/libraries/eet/config.h.in b/libraries/eet/config.h.in index 02ec411..76da120 100644 --- a/libraries/eet/config.h.in +++ b/libraries/eet/config.h.in @@ -19,6 +19,12 @@ /* use gnutls_x509_crt_verify_hash */ #undef EET_USE_NEW_GNUTLS_API +/* use gnutls_privkey_sign_data */ +#undef EET_USE_NEW_PRIVKEY_SIGN_DATA + +/* use gnutls_pubkey_verify_hash */ +#undef EET_USE_NEW_PUBKEY_VERIFY_HASH + /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA @@ -35,6 +41,9 @@ /* Set to 1 if Evil library is installed */ #undef HAVE_EVIL +/* Define to 1 if you have Exotic. */ +#undef HAVE_EXOTIC_H + /* Define to 1 if you have the `fmemopen' function. */ #undef HAVE_FMEMOPEN diff --git a/libraries/eet/config.sub b/libraries/eet/config.sub index eb0389a..c2d1257 100755 --- a/libraries/eet/config.sub +++ b/libraries/eet/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-11' +timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-06-11' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +153,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; @@ -284,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -291,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -340,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -368,15 +374,17 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -726,6 +734,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1076,6 +1087,11 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1247,6 +1263,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1268,8 +1287,8 @@ case $os in # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1290,7 +1309,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1423,6 +1442,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) diff --git a/libraries/eet/configure b/libraries/eet/configure index b02c1c4..0687ffe 100755 --- a/libraries/eet/configure +++ b/libraries/eet/configure @@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for eet 1.5.99.67344. +# Generated by GNU Autoconf 2.67 for eet 1.6.0-alpha. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -319,7 +319,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -359,19 +359,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -701,8 +701,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='eet' PACKAGE_TARNAME='eet' -PACKAGE_VERSION='1.5.99.67344' -PACKAGE_STRING='eet 1.5.99.67344' +PACKAGE_VERSION='1.6.0-alpha' +PACKAGE_STRING='eet 1.6.0-alpha' PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -760,6 +760,8 @@ LIBGCRYPT_CFLAGS LIBGCRYPT_CONFIG GNUTLS_LIBS GNUTLS_CFLAGS +EXOTIC_LIBS +EXOTIC_CFLAGS EINA_LIBS EINA_CFLAGS EET_LIBS @@ -781,6 +783,8 @@ EFL_ENABLE_TESTS_FALSE EFL_ENABLE_TESTS_TRUE CHECK_LIBS CHECK_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH PKG_CONFIG BUILD_EXAMPLES_FALSE BUILD_EXAMPLES_TRUE @@ -917,8 +921,6 @@ enable_libtool_lock enable_amalgamation enable_eet enable_old_eet_file_format -enable_gnutls -enable_new_gnutls_api enable_openssl enable_cipher enable_signature @@ -929,8 +931,10 @@ enable_tests enable_coverage enable_doc with_doxygen +enable_gnutls with_libgcrypt_prefix with_libgcrypt_exec_prefix +enable_new_gnutls_api ' ac_precious_vars='build_alias host_alias @@ -942,12 +946,16 @@ LIBS CPPFLAGS CPP PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR CHECK_CFLAGS CHECK_LIBS EVIL_CFLAGS EVIL_LIBS EINA_CFLAGS EINA_LIBS +EXOTIC_CFLAGS +EXOTIC_LIBS GNUTLS_CFLAGS GNUTLS_LIBS OPENSSL_CFLAGS @@ -1014,8 +1022,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1060,7 +1069,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1086,7 +1095,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1290,7 +1299,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1306,7 +1315,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1336,8 +1345,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1345,7 +1354,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1363,13 +1372,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1392,7 +1401,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1406,8 +1415,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1422,9 +1431,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1463,11 +1472,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1493,7 +1502,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures eet 1.5.99.67344 to adapt to many kinds of systems. +\`configure' configures eet 1.6.0-alpha to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1507,7 +1516,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1563,7 +1572,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of eet 1.5.99.67344:";; + short | recursive ) echo "Configuration of eet 1.6.0-alpha:";; esac cat <<\_ACEOF @@ -1586,10 +1595,6 @@ Optional Features: --disable-old-eet-file-format disable old eet file format support. [[default=enabled]] - --disable-gnutls disable gnutls eet support - --disable-new-gnutls-api - enable use of gnutls_x509_crt_verify_hash. - [[default=enable]] --disable-openssl disable openssl eet support --disable-cipher disable cipher support for eet API --disable-signature disable signature file support for eet @@ -1602,6 +1607,10 @@ Optional Features: --enable-coverage enable coverage profiling instrumentation [default=disabled] --disable-doc Disable documentation build [default=enabled] + --disable-gnutls disable gnutls eet support + --disable-new-gnutls-api + enable use of gnutls_x509_crt_verify_hash. + [[default=enable]] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1623,6 +1632,10 @@ Some influential environment variables: you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path CHECK_CFLAGS C compiler flags for CHECK, overriding pkg-config CHECK_LIBS linker flags for CHECK, overriding pkg-config @@ -1630,6 +1643,9 @@ Some influential environment variables: EVIL_LIBS linker flags for EVIL, overriding pkg-config EINA_CFLAGS C compiler flags for EINA, overriding pkg-config EINA_LIBS linker flags for EINA, overriding pkg-config + EXOTIC_CFLAGS + C compiler flags for EXOTIC, overriding pkg-config + EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config GNUTLS_CFLAGS C compiler flags for GNUTLS, overriding pkg-config GNUTLS_LIBS linker flags for GNUTLS, overriding pkg-config @@ -1704,10 +1720,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -eet configure 1.5.99.67344 -generated by GNU Autoconf 2.65 +eet configure 1.6.0-alpha +generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1811,7 +1827,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1854,7 +1870,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1920,7 +1936,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1987,10 +2003,10 @@ $as_echo "$ac_res" >&6; } ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2026,7 +2042,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2049,17 +2065,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## -------------------------------------------------------- ## +( $as_echo "## -------------------------------------------------------- ## ## Report this to enlightenment-devel@lists.sourceforge.net ## -## -------------------------------------------------------- ## -_ASBOX +## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2075,8 +2089,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by eet $as_me 1.5.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by eet $as_me 1.6.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -2186,11 +2200,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2224,11 +2236,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2241,11 +2251,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2259,11 +2267,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2318,7 +2324,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2333,7 +2344,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -2409,7 +2424,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2435,16 +2450,22 @@ am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2560,11 +2581,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -2586,7 +2607,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi @@ -2596,7 +2617,7 @@ then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -2834,7 +2855,7 @@ done $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2842,7 +2863,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -2876,7 +2897,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -2892,7 +2913,7 @@ fi # Define the identity of the package. PACKAGE='eet' - VERSION='1.5.99.67344' + VERSION='1.6.0-alpha' cat >>confdefs.h <<_ACEOF @@ -2947,7 +2968,7 @@ AM_BACKSLASH='\' # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } @@ -2958,16 +2979,16 @@ else test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -2992,7 +3013,7 @@ else ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -3000,7 +3021,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -3706,8 +3727,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3821,9 +3842,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3865,8 +3885,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3923,9 +3943,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -3976,8 +3996,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -4381,7 +4401,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -4457,7 +4477,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4523,7 +4543,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4590,7 +4610,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -4706,7 +4726,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -4908,13 +4928,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:4911: $ac_compile\"" >&5) + (eval echo "\"\$as_me:4931: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:4914: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:4934: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:4917: output\"" >&5) + (eval echo "\"\$as_me:4937: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6117,7 +6137,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6120 "configure"' > conftest.$ac_ext + echo '#line 6140 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6906,7 +6926,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -6922,11 +6942,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -6965,7 +6985,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -6981,18 +7001,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@ -7121,8 +7141,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7645,11 +7664,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7648: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7667: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7652: \$? = $ac_status" >&5 + echo "$as_me:7671: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7984,11 +8003,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7987: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8006: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7991: \$? = $ac_status" >&5 + echo "$as_me:8010: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8089,11 +8108,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8092: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8111: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8096: \$? = $ac_status" >&5 + echo "$as_me:8115: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8144,11 +8163,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8147: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8166: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8151: \$? = $ac_status" >&5 + echo "$as_me:8170: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10528,7 +10547,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10531 "configure" +#line 10550 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10624,7 +10643,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10627 "configure" +#line 10646 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10863,20 +10882,20 @@ _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIN 5 +#define VMIN 6 _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIC 99 +#define VMIC 0 _ACEOF cat >>confdefs.h <<_ACEOF -#define VREV 67344 +#define VREV 0 _ACEOF -version_info="6:99:5" +version_info="7:0:6" release_info="" @@ -10995,85 +11014,6 @@ $as_echo "#define EET_OLD_EET_FILE_FORMAT 0" >>confdefs.h fi -# Gnutls support - -# Check whether --enable-gnutls was given. -if test "${enable_gnutls+set}" = set; then : - enableval=$enable_gnutls; want_gnutls=$enableval - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use Gnutls" >&5 -$as_echo_n "checking whether to use Gnutls... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_gnutls}" >&5 -$as_echo "${want_gnutls}" >&6; } - -# Specific GNUTLS improvement - -new_gnutls_api="yes" -# Check whether --enable-new-gnutls-api was given. -if test "${enable_new_gnutls_api+set}" = set; then : - enableval=$enable_new_gnutls_api; new_gnutls_api=$enableval - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use gnutls_x509_crt_verify_hash" >&5 -$as_echo_n "checking whether to use gnutls_x509_crt_verify_hash... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${new_gnutls_api}" >&5 -$as_echo "${new_gnutls_api}" >&6; } - -if test "x${new_gnutls_api}" = "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_x509_crt_verify_hash in -lgnutls" >&5 -$as_echo_n "checking for gnutls_x509_crt_verify_hash in -lgnutls... " >&6; } -if test "${ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgnutls $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gnutls_x509_crt_verify_hash (); -int -main () -{ -return gnutls_x509_crt_verify_hash (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash=yes -else - ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash" >&5 -$as_echo "$ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash" >&6; } -if test "x$ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash" = x""yes; then : - new_gnutls_api="yes" -else - new_gnutls_api="no" - -fi - - - if test "x${new_gnutls_api}" = "xyes"; then - -$as_echo "#define EET_USE_NEW_GNUTLS_API 1" >>confdefs.h - - fi -fi - # Openssl support # Check whether --enable-openssl was given. @@ -11170,6 +11110,10 @@ fi + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -11282,7 +11226,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi @@ -11314,11 +11257,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 $as_echo_n "checking for CHECK... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_CFLAGS"; then - pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_CFLAGS"; then + pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -11328,15 +11270,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_LIBS"; then - pkg_cv_CHECK_LIBS="$CHECK_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_LIBS"; then + pkg_cv_CHECK_LIBS="$CHECK_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -11346,14 +11286,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -11361,17 +11302,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` else - CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CHECK_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _efl_enable_tests="no" + _efl_enable_tests="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _efl_enable_tests="no" else CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS @@ -11808,8 +11749,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -12179,6 +12120,10 @@ fi # pkg-config + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -12291,7 +12236,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi # Check whether pkg-config supports Requires.private @@ -12476,11 +12420,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 $as_echo_n "checking for EVIL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_CFLAGS"; then - pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_CFLAGS"; then + pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -12490,15 +12433,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_LIBS"; then - pkg_cv_EVIL_LIBS="$EVIL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_LIBS"; then + pkg_cv_EVIL_LIBS="$EVIL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -12508,14 +12449,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12523,14 +12465,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` else - EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVIL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (evil >= 1.0.0) were not met: + as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: $EVIL_PKG_ERRORS @@ -12539,12 +12481,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EVIL_CFLAGS and EVIL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -12553,13 +12496,13 @@ and EVIL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS EVIL_LIBS=$pkg_cv_EVIL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_EVIL 1" >>confdefs.h @@ -12588,46 +12531,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5 $as_echo_n "checking for EINA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_CFLAGS"; then - pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_CFLAGS"; then + pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_LIBS"; then - pkg_cv_EINA_LIBS="$EINA_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_LIBS"; then + pkg_cv_EINA_LIBS="$EINA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12635,14 +12576,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.2.0" 2>&1` else - EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EINA_PKG_ERRORS" >&5 - as_fn_error "Package requirements (eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (eina >= 1.2.0) were not met: $EINA_PKG_ERRORS @@ -12651,12 +12592,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EINA_CFLAGS and EINA_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -12665,15 +12607,108 @@ and EINA_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EINA_CFLAGS=$pkg_cv_EINA_CFLAGS EINA_LIBS=$pkg_cv_EINA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + +fi +requirement_eet="eina >= 1.2.0 ${requirement_eet}" + +### Checks for portability layer + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 +$as_echo_n "checking for EXOTIC... " >&6; } + +if test -n "$EXOTIC_CFLAGS"; then + pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXOTIC_LIBS"; then + pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` + else + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$EXOTIC_PKG_ERRORS" >&5 + + enable_exotic="no" +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + enable_exotic="no" +else + EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS + EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + enable_exotic="yes" +fi + +if test "x${enable_exotic}" = "xyes"; then + requirement_eet="exotic ${requirement_eet}" + + +$as_echo "#define HAVE_EXOTIC_H 1" >>confdefs.h + fi -requirement_eet="eina >= 1.1.0 ${requirement_eet}" + +# Gnutls support + +# Check whether --enable-gnutls was given. +if test "${enable_gnutls+set}" = set; then : + enableval=$enable_gnutls; want_gnutls=$enableval + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use Gnutls" >&5 +$as_echo_n "checking whether to use Gnutls... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_gnutls}" >&5 +$as_echo "${want_gnutls}" >&6; } # Gnutls library have_gnutls="no" @@ -12683,11 +12718,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNUTLS" >&5 $as_echo_n "checking for GNUTLS... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GNUTLS_CFLAGS"; then - pkg_cv_GNUTLS_CFLAGS="$GNUTLS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GNUTLS_CFLAGS"; then + pkg_cv_GNUTLS_CFLAGS="$GNUTLS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 1.7.6\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnutls >= 1.7.6") 2>&5 ac_status=$? @@ -12697,15 +12731,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GNUTLS_LIBS"; then - pkg_cv_GNUTLS_LIBS="$GNUTLS_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GNUTLS_LIBS"; then + pkg_cv_GNUTLS_LIBS="$GNUTLS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 1.7.6\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnutls >= 1.7.6") 2>&5 ac_status=$? @@ -12715,14 +12747,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12730,17 +12763,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GNUTLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 1.7.6"` + GNUTLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 1.7.6" 2>&1` else - GNUTLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 1.7.6"` + GNUTLS_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 1.7.6" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GNUTLS_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_gnutls="no" + have_gnutls="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_gnutls="no" else GNUTLS_CFLAGS=$pkg_cv_GNUTLS_CFLAGS @@ -12869,6 +12902,204 @@ $as_echo "no" >&6; } fi fi +# Specific GNUTLS improvement + +new_gnutls_api="yes" +# Check whether --enable-new-gnutls-api was given. +if test "${enable_new_gnutls_api+set}" = set; then : + enableval=$enable_new_gnutls_api; new_gnutls_api=$enableval + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use gnutls_x509_crt_verify_hash" >&5 +$as_echo_n "checking whether to use gnutls_x509_crt_verify_hash... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${new_gnutls_api}" >&5 +$as_echo "${new_gnutls_api}" >&6; } + +if test "x${new_gnutls_api}" = "xyes" ; then + tmp_CFLAGS="${CFLAGS}" + tmp_LIBS="${LIBS}" + CFLAGS="${GNUTLS_CFLAGS}" + LIBS="${GNUTLS_LIBS}" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_x509_crt_verify_hash in -lgnutls" >&5 +$as_echo_n "checking for gnutls_x509_crt_verify_hash in -lgnutls... " >&6; } +if test "${ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgnutls $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gnutls_x509_crt_verify_hash (); +int +main () +{ +return gnutls_x509_crt_verify_hash (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash=yes +else + ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash" >&5 +$as_echo "$ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash" >&6; } +if test "x$ac_cv_lib_gnutls_gnutls_x509_crt_verify_hash" = x""yes; then : + new_gnutls_api="yes" +else + new_gnutls_api="no" + +fi + + CFLAGS="${tmp_CFLAGS}" + LIBS="${tmp_LIBS}" + + if test "x${new_gnutls_api}" = "xyes"; then + +$as_echo "#define EET_USE_NEW_GNUTLS_API 1" >>confdefs.h + + fi +fi + +use_gnutls_privkey_sign_data="no" +if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto"; then + tmp_CFLAGS="${CFLAGS}" + tmp_LIBS="${LIBS}" + CFLAGS="${GNUTLS_CFLAGS}" + LIBS="${GNUTLS_LIBS}" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_privkey_sign_data in -lgnutls" >&5 +$as_echo_n "checking for gnutls_privkey_sign_data in -lgnutls... " >&6; } +if test "${ac_cv_lib_gnutls_gnutls_privkey_sign_data+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgnutls $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gnutls_privkey_sign_data (); +int +main () +{ +return gnutls_privkey_sign_data (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_gnutls_gnutls_privkey_sign_data=yes +else + ac_cv_lib_gnutls_gnutls_privkey_sign_data=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_privkey_sign_data" >&5 +$as_echo "$ac_cv_lib_gnutls_gnutls_privkey_sign_data" >&6; } +if test "x$ac_cv_lib_gnutls_gnutls_privkey_sign_data" = x""yes; then : + use_gnutls_privkey_sign_data="yes" +else + use_gnutls_privkey_sign_data="no" + +fi + + CFLAGS="${tmp_CFLAGS}" + LIBS="${tmp_LIBS}" + + if test "x${use_gnutls_privkey_sign_data}" = "xyes"; then + +$as_echo "#define EET_USE_NEW_PRIVKEY_SIGN_DATA 1" >>confdefs.h + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use gnutls_privkey_sign_data" >&5 +$as_echo_n "checking whether to use gnutls_privkey_sign_data... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${use_gnutls_privkey_sign_data}" >&5 +$as_echo "${use_gnutls_privkey_sign_data}" >&6; } + +use_gnutls_pubkey_verify_hash="no" +if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto"; then + tmp_CFLAGS="${CFLAGS}" + tmp_LIBS="${LIBS}" + CFLAGS="${GNUTLS_CFLAGS}" + LIBS="${GNUTLS_LIBS}" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_pubkey_verify_hash in -lgnutls" >&5 +$as_echo_n "checking for gnutls_pubkey_verify_hash in -lgnutls... " >&6; } +if test "${ac_cv_lib_gnutls_gnutls_pubkey_verify_hash+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgnutls $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gnutls_pubkey_verify_hash (); +int +main () +{ +return gnutls_pubkey_verify_hash (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_gnutls_gnutls_pubkey_verify_hash=yes +else + ac_cv_lib_gnutls_gnutls_pubkey_verify_hash=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_pubkey_verify_hash" >&5 +$as_echo "$ac_cv_lib_gnutls_gnutls_pubkey_verify_hash" >&6; } +if test "x$ac_cv_lib_gnutls_gnutls_pubkey_verify_hash" = x""yes; then : + use_gnutls_pubkey_verify_hash="yes" +else + use_gnutls_pubkey_verify_hash="no" + +fi + + CFLAGS="${tmp_CFLAGS}" + LIBS="${tmp_LIBS}" + + if test "x${use_gnutls_pubkey_verify_hash}" = "xyes"; then + +$as_echo "#define EET_USE_NEW_PUBKEY_VERIFY_HASH 1" >>confdefs.h + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use gnutls_pubkey_verify_hash" >&5 +$as_echo_n "checking whether to use gnutls_pubkey_verify_hash... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${use_gnutls_pubkey_verify_hash}" >&5 +$as_echo "${use_gnutls_pubkey_verify_hash}" >&6; } + # Openssl library have_openssl="no" if test "x${want_openssl}" = "xyes" || test "x${want_openssl}" = "xauto" ; then @@ -12877,11 +13108,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OPENSSL" >&5 $as_echo_n "checking for OPENSSL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$OPENSSL_CFLAGS"; then - pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$OPENSSL_CFLAGS"; then + pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 ac_status=$? @@ -12891,15 +13121,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$OPENSSL_LIBS"; then - pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$OPENSSL_LIBS"; then + pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 ac_status=$? @@ -12909,14 +13137,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -12924,17 +13153,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - OPENSSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "openssl"` + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "openssl" 2>&1` else - OPENSSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"` + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --print-errors "openssl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$OPENSSL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_openssl="no" + have_openssl="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_openssl="no" else OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS @@ -13001,7 +13230,7 @@ ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_inclu if test "x$ac_cv_header_zlib_h" = x""yes; then : dummy="yes" else - as_fn_error "\"Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file\"" "$LINENO" 5 + as_fn_error $? "\"Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file\"" "$LINENO" 5 fi @@ -13010,7 +13239,7 @@ ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac if test "x$ac_cv_header_jpeglib_h" = x""yes; then : dummy="yes" else - as_fn_error "\"Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file\"" "$LINENO" 5 + as_fn_error $? "\"Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file\"" "$LINENO" 5 fi @@ -13019,8 +13248,7 @@ for ac_header in netinet/in.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -13097,7 +13325,7 @@ $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13992,8 +14220,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -14060,8 +14287,7 @@ for ac_func in fmemopen open_memstream realpath do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -14148,12 +14374,63 @@ if (! test "x${ac_cv_search_fnmatch}" = "xnone required") && (! test "x${ac_cv_s EFL_FNMATCH_LIBS=${ac_cv_search_fnmatch} fi +if test "x${_efl_have_fnmatch}" != "xyes" -a "x${enable_exotic}" = "xyes"; then + LDFLAGS_SAVE="$LDFLAGS" + LDFLAGS="$LDFLAGS $EXOTIC_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fnmatch in -lexotic" >&5 +$as_echo_n "checking for fnmatch in -lexotic... " >&6; } +if test "${ac_cv_lib_exotic_fnmatch+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lexotic $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char fnmatch (); +int +main () +{ +return fnmatch (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_exotic_fnmatch=yes +else + ac_cv_lib_exotic_fnmatch=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_exotic_fnmatch" >&5 +$as_echo "$ac_cv_lib_exotic_fnmatch" >&6; } +if test "x$ac_cv_lib_exotic_fnmatch" = x""yes; then : + _efl_have_fnmatch="yes" +else + _efl_have_fnmatch="no" +fi + + + if test "x${_efl_have_fnmatch}" = "xyes"; then + EFL_FNMATCH_LIBS="exotic" + fi +fi + if test "x$_efl_have_fnmatch" = "xyes"; then : else - as_fn_error "Cannot find fnmatch()" "$LINENO" 5 + as_fn_error $? "Cannot find fnmatch()" "$LINENO" 5 fi @@ -14246,6 +14523,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -14269,43 +14547,43 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EET_AMALGAMATION_TRUE}" && test -z "${EET_AMALGAMATION_FALSE}"; then - as_fn_error "conditional \"EET_AMALGAMATION\" was never defined. + as_fn_error $? "conditional \"EET_AMALGAMATION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EET_TRUE}" && test -z "${BUILD_EET_FALSE}"; then - as_fn_error "conditional \"BUILD_EET\" was never defined. + as_fn_error $? "conditional \"BUILD_EET\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${INSTALL_EXAMPLES_TRUE}" && test -z "${INSTALL_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"INSTALL_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"INSTALL_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EXAMPLES_TRUE}" && test -z "${BUILD_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"BUILD_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"BUILD_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_COVERAGE\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_COVERAGE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -14455,19 +14733,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -14663,7 +14941,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -14716,8 +14994,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by eet $as_me 1.5.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by eet $as_me 1.6.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -14782,11 +15060,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -eet config.status 1.5.99.67344 -configured by $0, generated by GNU Autoconf 2.65, +eet config.status 1.6.0-alpha +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -14804,11 +15082,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -14830,6 +15113,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -14842,7 +15126,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -14851,7 +15135,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -15176,7 +15460,7 @@ do "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;; "eet.spec") CONFIG_FILES="$CONFIG_FILES eet.spec" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -15214,7 +15498,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -15231,7 +15515,7 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi @@ -15245,18 +15529,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -15345,20 +15629,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -15386,7 +15678,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -15471,7 +15763,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -15484,7 +15776,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -15512,7 +15804,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -15539,7 +15831,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -15676,22 +15968,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -15702,19 +15994,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -16505,7 +16797,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -16526,7 +16818,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/libraries/eet/configure.ac b/libraries/eet/configure.ac index 220e2a1..eb3c7e5 100644 --- a/libraries/eet/configure.ac +++ b/libraries/eet/configure.ac @@ -1,12 +1,12 @@ -y##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## +##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) -m4_define([v_min], [5]) -m4_define([v_mic], [99]) +m4_define([v_min], [6]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line dnl m4_define([relname], [ver-pre-svn-05]) dnl m4_define([v_rel], [-release relname]) @@ -18,7 +18,7 @@ m4_define([lt_age], v_min) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -AC_INIT([eet], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([eet], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -110,39 +110,6 @@ else AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 0, [support old eet file format]) fi -# Gnutls support - -AC_ARG_ENABLE([gnutls], - [AC_HELP_STRING([--disable-gnutls], [disable gnutls eet support])], - [want_gnutls=$enableval] -) -AC_MSG_CHECKING([whether to use Gnutls]) -AC_MSG_RESULT([${want_gnutls}]) - -# Specific GNUTLS improvement - -new_gnutls_api="yes" -AC_ARG_ENABLE(new-gnutls-api, - [AC_HELP_STRING( - [--disable-new-gnutls-api], - [enable use of gnutls_x509_crt_verify_hash. [[default=enable]]] - )], - [new_gnutls_api=$enableval] -) -AC_MSG_CHECKING([whether to use gnutls_x509_crt_verify_hash]) -AC_MSG_RESULT([${new_gnutls_api}]) - -if test "x${new_gnutls_api}" = "xyes" ; then - AC_CHECK_LIB(gnutls, gnutls_x509_crt_verify_hash, - [ new_gnutls_api="yes" ], - [ new_gnutls_api="no" ] - ) - - if test "x${new_gnutls_api}" = "xyes"; then - AC_DEFINE(EET_USE_NEW_GNUTLS_API, 1, [use gnutls_x509_crt_verify_hash]) - fi -fi - # Openssl support AC_ARG_ENABLE([openssl], @@ -264,8 +231,30 @@ AC_SUBST(EET_LIBS) # Eina library -PKG_CHECK_MODULES(EINA, [eina >= 1.1.0]) -requirement_eet="eina >= 1.1.0 ${requirement_eet}" +PKG_CHECK_MODULES(EINA, [eina >= 1.2.0]) +requirement_eet="eina >= 1.2.0 ${requirement_eet}" + +### Checks for portability layer + +PKG_CHECK_MODULES([EXOTIC], + [exotic], + [enable_exotic="yes"], + [enable_exotic="no"]) + +if test "x${enable_exotic}" = "xyes"; then + requirement_eet="exotic ${requirement_eet}" + + AC_DEFINE([HAVE_EXOTIC_H], [1], [Define to 1 if you have Exotic.]) +fi + +# Gnutls support + +AC_ARG_ENABLE([gnutls], + [AC_HELP_STRING([--disable-gnutls], [disable gnutls eet support])], + [want_gnutls=$enableval] +) +AC_MSG_CHECKING([whether to use Gnutls]) +AC_MSG_RESULT([${want_gnutls}]) # Gnutls library have_gnutls="no" @@ -287,6 +276,76 @@ if test "x${want_gnutls}" = "xyes" || test "x${want_gnutls}" = "xauto" ; then fi fi +# Specific GNUTLS improvement + +new_gnutls_api="yes" +AC_ARG_ENABLE(new-gnutls-api, + [AC_HELP_STRING( + [--disable-new-gnutls-api], + [enable use of gnutls_x509_crt_verify_hash. [[default=enable]]] + )], + [new_gnutls_api=$enableval] +) +AC_MSG_CHECKING([whether to use gnutls_x509_crt_verify_hash]) +AC_MSG_RESULT([${new_gnutls_api}]) + +if test "x${new_gnutls_api}" = "xyes" ; then + tmp_CFLAGS="${CFLAGS}" + tmp_LIBS="${LIBS}" + CFLAGS="${GNUTLS_CFLAGS}" + LIBS="${GNUTLS_LIBS}" + AC_CHECK_LIB(gnutls, gnutls_x509_crt_verify_hash, + [ new_gnutls_api="yes" ], + [ new_gnutls_api="no" ] + ) + CFLAGS="${tmp_CFLAGS}" + LIBS="${tmp_LIBS}" + + if test "x${new_gnutls_api}" = "xyes"; then + AC_DEFINE(EET_USE_NEW_GNUTLS_API, 1, [use gnutls_x509_crt_verify_hash]) + fi +fi + +use_gnutls_privkey_sign_data="no" +if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto"; then + tmp_CFLAGS="${CFLAGS}" + tmp_LIBS="${LIBS}" + CFLAGS="${GNUTLS_CFLAGS}" + LIBS="${GNUTLS_LIBS}" + AC_CHECK_LIB(gnutls, gnutls_privkey_sign_data, + [ use_gnutls_privkey_sign_data="yes" ], + [ use_gnutls_privkey_sign_data="no" ] + ) + CFLAGS="${tmp_CFLAGS}" + LIBS="${tmp_LIBS}" + + if test "x${use_gnutls_privkey_sign_data}" = "xyes"; then + AC_DEFINE(EET_USE_NEW_PRIVKEY_SIGN_DATA, 1, [use gnutls_privkey_sign_data]) + fi +fi +AC_MSG_CHECKING([whether to use gnutls_privkey_sign_data]) +AC_MSG_RESULT([${use_gnutls_privkey_sign_data}]) + +use_gnutls_pubkey_verify_hash="no" +if test "x${want_gnutls}" = "xyes" -o "x${want_gnutls}" = "xauto"; then + tmp_CFLAGS="${CFLAGS}" + tmp_LIBS="${LIBS}" + CFLAGS="${GNUTLS_CFLAGS}" + LIBS="${GNUTLS_LIBS}" + AC_CHECK_LIB(gnutls, gnutls_pubkey_verify_hash, + [ use_gnutls_pubkey_verify_hash="yes" ], + [ use_gnutls_pubkey_verify_hash="no" ] + ) + CFLAGS="${tmp_CFLAGS}" + LIBS="${tmp_LIBS}" + + if test "x${use_gnutls_pubkey_verify_hash}" = "xyes"; then + AC_DEFINE(EET_USE_NEW_PUBKEY_VERIFY_HASH, 1, [use gnutls_pubkey_verify_hash]) + fi +fi +AC_MSG_CHECKING([whether to use gnutls_pubkey_verify_hash]) +AC_MSG_RESULT([${use_gnutls_pubkey_verify_hash}]) + # Openssl library have_openssl="no" if test "x${want_openssl}" = "xyes" || test "x${want_openssl}" = "xauto" ; then diff --git a/libraries/eet/doc/Doxyfile b/libraries/eet/doc/Doxyfile index f6e3026..26a32a7 100644 --- a/libraries/eet/doc/Doxyfile +++ b/libraries/eet/doc/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = Eet # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.99.67344 +PROJECT_NUMBER = 1.6.0-alpha # Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. @@ -1267,7 +1267,7 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages -GENERATE_MAN = YES +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/libraries/eet/doc/Doxyfile.in b/libraries/eet/doc/Doxyfile.in index eadf82a..8c427f8 100644 --- a/libraries/eet/doc/Doxyfile.in +++ b/libraries/eet/doc/Doxyfile.in @@ -1267,7 +1267,7 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages -GENERATE_MAN = YES +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/libraries/eet/doc/Makefile.am b/libraries/eet/doc/Makefile.am index 145376f..4eeb438 100644 --- a/libraries/eet/doc/Makefile.am +++ b/libraries/eet/doc/Makefile.am @@ -8,19 +8,20 @@ PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc if EFL_BUILD_DOC doc-clean: - rm -rf html/ latex/ man/ xml/ $(PACKAGE_DOCNAME).tar* + rm -rf html/ latex/ xml/ $(PACKAGE_DOCNAME).tar* doc: doc-clean $(efl_doxygen) cp $(srcdir)/img/* html/ rm -rf $(PACKAGE_DOCNAME).tar* mkdir -p $(PACKAGE_DOCNAME)/doc - cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc + cp -R html/ latex/ $(PACKAGE_DOCNAME)/doc tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/ bzip2 -9 $(PACKAGE_DOCNAME).tar rm -rf $(PACKAGE_DOCNAME)/ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) - @echo "Documentation Package: $(top_builddir)/$(PACKAGE_DOCNAME).tar.bz2" + @echo "Documentation Package: $(PACKAGE_DOCNAME).tar.bz2" + @echo "Documentation HTML: doc/html" clean-local: doc-clean diff --git a/libraries/eet/doc/Makefile.in b/libraries/eet/doc/Makefile.in index e285740..25de7ec 100644 --- a/libraries/eet/doc/Makefile.in +++ b/libraries/eet/doc/Makefile.in @@ -104,6 +104,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -143,6 +145,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -414,19 +418,20 @@ uninstall-am: .PHONY: doc @EFL_BUILD_DOC_TRUE@doc-clean: -@EFL_BUILD_DOC_TRUE@ rm -rf html/ latex/ man/ xml/ $(PACKAGE_DOCNAME).tar* +@EFL_BUILD_DOC_TRUE@ rm -rf html/ latex/ xml/ $(PACKAGE_DOCNAME).tar* @EFL_BUILD_DOC_TRUE@doc: doc-clean @EFL_BUILD_DOC_TRUE@ $(efl_doxygen) @EFL_BUILD_DOC_TRUE@ cp $(srcdir)/img/* html/ @EFL_BUILD_DOC_TRUE@ rm -rf $(PACKAGE_DOCNAME).tar* @EFL_BUILD_DOC_TRUE@ mkdir -p $(PACKAGE_DOCNAME)/doc -@EFL_BUILD_DOC_TRUE@ cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc +@EFL_BUILD_DOC_TRUE@ cp -R html/ latex/ $(PACKAGE_DOCNAME)/doc @EFL_BUILD_DOC_TRUE@ tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/ @EFL_BUILD_DOC_TRUE@ bzip2 -9 $(PACKAGE_DOCNAME).tar @EFL_BUILD_DOC_TRUE@ rm -rf $(PACKAGE_DOCNAME)/ @EFL_BUILD_DOC_TRUE@ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) -@EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: $(top_builddir)/$(PACKAGE_DOCNAME).tar.bz2" +@EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: $(PACKAGE_DOCNAME).tar.bz2" +@EFL_BUILD_DOC_TRUE@ @echo "Documentation HTML: doc/html" @EFL_BUILD_DOC_TRUE@clean-local: doc-clean diff --git a/libraries/eet/eet.spec b/libraries/eet/eet.spec index 4b7994b..a357773 100644 --- a/libraries/eet/eet.spec +++ b/libraries/eet/eet.spec @@ -3,7 +3,7 @@ Summary: Library for speedy data storage, retrieval, and compression. Name: eet -Version: 1.5.99.67344 +Version: 1.6.0-alpha Release: %{_rel} License: BSD Group: System Environment/Libraries diff --git a/libraries/eet/ltmain.sh b/libraries/eet/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/eet/ltmain.sh +++ b/libraries/eet/ltmain.sh @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 diff --git a/libraries/eet/m4/efl_fnmatch.m4 b/libraries/eet/m4/efl_fnmatch.m4 index a92ac6b..b5555ee 100644 --- a/libraries/eet/m4/efl_fnmatch.m4 +++ b/libraries/eet/m4/efl_fnmatch.m4 @@ -24,6 +24,18 @@ if (! test "x${ac_cv_search_fnmatch}" = "xnone required") && (! test "x${ac_cv_s EFL_FNMATCH_LIBS=${ac_cv_search_fnmatch} fi +if test "x${_efl_have_fnmatch}" != "xyes" -a "x${enable_exotic}" = "xyes"; then + LDFLAGS_SAVE="$LDFLAGS" + LDFLAGS="$LDFLAGS $EXOTIC_LIBS" + AC_CHECK_LIB([exotic], [fnmatch], + [_efl_have_fnmatch="yes"], + [_efl_have_fnmatch="no"]) + + if test "x${_efl_have_fnmatch}" = "xyes"; then + EFL_FNMATCH_LIBS="exotic" + fi +fi + AC_SUBST(EFL_FNMATCH_LIBS) AS_IF([test "x$_efl_have_fnmatch" = "xyes"], [$1], [$2]) diff --git a/libraries/eet/src/Makefile.in b/libraries/eet/src/Makefile.in index 8b2aa37..bfdc4f6 100644 --- a/libraries/eet/src/Makefile.in +++ b/libraries/eet/src/Makefile.in @@ -143,6 +143,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -182,6 +184,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eet/src/bin/Makefile.am b/libraries/eet/src/bin/Makefile.am index ba7d67e..89c68f1 100644 --- a/libraries/eet/src/bin/Makefile.am +++ b/libraries/eet/src/bin/Makefile.am @@ -17,5 +17,5 @@ EXTRA_PROGRAMS = eet eet_SOURCES = eet_main.c eet_CFLAGS = @EET_CFLAGS@ -eet_LDADD = $(top_builddir)/src/lib/libeet.la @EINA_LIBS@ @EVIL_LIBS@ +eet_LDADD = $(top_builddir)/src/lib/libeet.la @EINA_LIBS@ @EVIL_LIBS@ @EXOTIC_LIBS@ eet_LDFLAGS = @lt_enable_auto_import@ diff --git a/libraries/eet/src/bin/Makefile.in b/libraries/eet/src/bin/Makefile.in index 4a899f5..a7e94cb 100644 --- a/libraries/eet/src/bin/Makefile.in +++ b/libraries/eet/src/bin/Makefile.in @@ -138,6 +138,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -177,6 +179,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -259,7 +263,7 @@ AM_CPPFLAGS = \ bin_PROGRAMS = @EET_PRG@ eet_SOURCES = eet_main.c eet_CFLAGS = @EET_CFLAGS@ -eet_LDADD = $(top_builddir)/src/lib/libeet.la @EINA_LIBS@ @EVIL_LIBS@ +eet_LDADD = $(top_builddir)/src/lib/libeet.la @EINA_LIBS@ @EVIL_LIBS@ @EXOTIC_LIBS@ eet_LDFLAGS = @lt_enable_auto_import@ all: all-am diff --git a/libraries/eet/src/bin/eet_main.c b/libraries/eet/src/bin/eet_main.c index 0d577ad..8a93d11 100644 --- a/libraries/eet/src/bin/eet_main.c +++ b/libraries/eet/src/bin/eet_main.c @@ -69,6 +69,63 @@ do_eet_list(const char *file) } /* do_eet_list */ static void +do_eet_stats(const char *file) +{ + int i, num; + int count[2] = { 0, 0 }; + int size[2] = { 0, 0 }; + char **list; + Eet_File *ef; + Eet_Dictionary *ed; + + ef = eet_open(file, EET_FILE_MODE_READ); + if (!ef) + { + ERR("cannot open for reading: %s", file); + exit(-1); + } + + printf("*** sections stats ***\n"); + list = eet_list(ef, "*", &num); + if (list) + { + for (i = 0; i < num; i++) + { + const void *ro = NULL; + void *rw = NULL; + int tsize; + + ro = eet_read_direct(ef, list[i], &tsize); + if (!ro) rw = eet_read(ef, list[i], &tsize); + printf(rw ? "%s of size %i is compressed.\n" : "%s of size %i is not compressed.\n", list[i], tsize); + count[rw ? 0 : 1]++; + size[rw ? 0 : 1] += tsize; + free(rw); + } + free(list); + } + + printf("*** dictionary ***\n"); + ed = eet_dictionary_get(ef); + if (ed) + { + printf("%i strings inside the dictionary.\n", eet_dictionary_count(ed)); + } + else + { + printf("no dictionary in this file.\n"); + } + printf("*** global ***\n"); + printf("%i sections\n", num); + printf("- %i of them are compressed (%02.2f%%) expanding in %i bytes.\n", + count[0], (float) count[0] * 100 / (float) num, size[0]); + printf("- %i of them are directly mappable in memory (%02.2f%%) representing %i bytes.\n", + count[1], (float) count[1] * 100 / (float) num, size[1]); + + eet_close(ef); +} + +static void do_eet_extract(const char *file, const char *key, const char *out, @@ -366,6 +423,7 @@ help: " eet -r FILE.EET KEY remove KEY in FILE.EET\n" " eet -c FILE.EET report and check the signature information of an eet file\n" " eet -s FILE.EET PRIVATE_KEY PUBLIC_KEY sign FILE.EET with PRIVATE_KEY and attach PUBLIC_KEY as it's certificate\n" + " eet -t FILE.EET give some statistic about a file\n" ); eet_shutdown(); return -1; @@ -437,6 +495,8 @@ help: do_eet_check(argv[2]); else if ((!strcmp(argv[1], "-s")) && (argc > 4)) do_eet_sign(argv[2], argv[3], argv[4]); + else if ((!strcmp(argv[1], "-t")) && (argc > 2)) + do_eet_stats(argv[2]); else goto help; diff --git a/libraries/eet/src/examples/Makefile.in b/libraries/eet/src/examples/Makefile.in index 5830132..1e979ab 100644 --- a/libraries/eet/src/examples/Makefile.in +++ b/libraries/eet/src/examples/Makefile.in @@ -226,6 +226,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -265,6 +267,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eet/src/lib/Eet.h b/libraries/eet/src/lib/Eet.h index 2df7fbf..7495090 100644 --- a/libraries/eet/src/lib/Eet.h +++ b/libraries/eet/src/lib/Eet.h @@ -6,7 +6,7 @@ @mainpage Eet Library Documentation @version 1.5.0 - @date 2000-2011 + @date 2000-2012 Please see the @ref authors page for contact details. @@ -30,7 +30,7 @@ Eet is extremely fast, small and simple. Eet files can be very small and highly compressed, making them very optimal for just sending across the internet without having to archive, compress or decompress and install them. - They allow for lightning-fast random-acess reads once created, making them + They allow for lightning-fast random-access reads once created, making them perfect for storing data that is written once (or rarely) and read many times, but the program does not want to have to read it all in at once. @@ -577,7 +577,7 @@ EAPI Eet_File_Mode eet_mode_get(Eet_File *ef); /** - * Close an eet file handle and flush and writes pending. + * Close an eet file handle and flush pending writes. * @param ef A valid eet file handle. * * This function will flush any pending writes to disk if the eet file @@ -645,6 +645,17 @@ eet_dictionary_string_check(Eet_Dictionary *ed, const char *string); /** + * Return the number of strings inside a dictionary + * @param ed A valid dictionary handle + * @return the number of strings inside a dictionary + * + * @since 1.6.0 + * @ingroup Eet_File_Group + */ +EAPI int +eet_dictionary_count(const Eet_Dictionary *ed); + +/** * Read a specified entry from an eet file and return data * @param ef A valid eet file handle opened for reading. * @param name Name of the entry. eg: "/base/file_i_want". diff --git a/libraries/eet/src/lib/Makefile.in b/libraries/eet/src/lib/Makefile.in index 2a3fec0..c0367b3 100644 --- a/libraries/eet/src/lib/Makefile.in +++ b/libraries/eet/src/lib/Makefile.in @@ -172,6 +172,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -211,6 +213,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eet/src/lib/eet_alloc.c b/libraries/eet/src/lib/eet_alloc.c index 85351ad..29e276c 100644 --- a/libraries/eet/src/lib/eet_alloc.c +++ b/libraries/eet/src/lib/eet_alloc.c @@ -3,6 +3,7 @@ #endif #include + #include "Eet.h" #include "Eet_private.h" @@ -90,4 +91,3 @@ eet_mempool_shutdown(void) mempool_array[i]->mp = NULL; } } - diff --git a/libraries/eet/src/lib/eet_cipher.c b/libraries/eet/src/lib/eet_cipher.c index 37a0899..2425e22 100644 --- a/libraries/eet/src/lib/eet_cipher.c +++ b/libraries/eet/src/lib/eet_cipher.c @@ -56,6 +56,9 @@ void *alloca(size_t); #ifdef HAVE_CIPHER # ifdef HAVE_GNUTLS +# if defined EET_USE_NEW_PUBKEY_VERIFY_HASH || defined EET_USE_NEW_PRIVKEY_SIGN_DATA +# include +# endif # include # include # else /* ifdef HAVE_GNUTLS */ @@ -497,6 +500,10 @@ eet_identity_sign(FILE *fp, gnutls_datum_t datum = { NULL, 0 }; size_t sign_len = 0; size_t cert_len = 0; +#ifdef EET_USE_NEW_PRIVKEY_SIGN_DATA + gnutls_datum_t signum = { NULL, 0 }; + gnutls_privkey_t privkey; +#endif # else /* ifdef HAVE_GNUTLS */ EVP_MD_CTX md_ctx; unsigned int sign_len = 0; @@ -528,6 +535,28 @@ eet_identity_sign(FILE *fp, datum.size = st_buf.st_size; /* Get the signature length */ +#ifdef EET_USE_NEW_PRIVKEY_SIGN_DATA + if (gnutls_privkey_init(&privkey) < 0) + { + err = EET_ERROR_SIGNATURE_FAILED; + goto on_error; + } + + if (gnutls_privkey_import_x509(privkey, key->private_key, 0) < 0) + { + err = EET_ERROR_SIGNATURE_FAILED; + goto on_error; + } + + if (gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0, &datum, &signum) < 0) + { + err = EET_ERROR_SIGNATURE_FAILED; + goto on_error; + } + + sign = signum.data; + sign_len = signum.size; +#else if (gnutls_x509_privkey_sign_data(key->private_key, GNUTLS_DIG_SHA1, 0, &datum, sign, &sign_len) && !sign_len) @@ -550,6 +579,7 @@ eet_identity_sign(FILE *fp, goto on_error; } +#endif /* Get the certificate length */ if (gnutls_x509_crt_export(key->certificate, GNUTLS_X509_FMT_DER, cert, @@ -696,6 +726,10 @@ eet_identity_check(const void *data_base, gnutls_datum_t datum; gnutls_datum_t signature; # if EET_USE_NEW_GNUTLS_API +# if EET_USE_NEW_PUBKEY_VERIFY_HASH + gnutls_pubkey_t pubkey; + gnutls_digest_algorithm_t hash_algo; +# endif unsigned char *hash; gcry_md_hd_t md; int err; @@ -724,28 +758,32 @@ eet_identity_check(const void *data_base, hash = gcry_md_read(md, GCRY_MD_SHA1); if (!hash) - { - gcry_md_close(md); - return NULL; - } + goto on_error; datum.size = gcry_md_get_algo_dlen(GCRY_MD_SHA1); datum.data = hash; +# ifdef EET_USE_NEW_PUBKEY_VERIFY_HASH + if (gnutls_pubkey_init(&pubkey) < 0) + goto on_error; + + if (gnutls_pubkey_import_x509(pubkey, cert, 0) < 0) + goto on_error; + + if (gnutls_pubkey_get_verify_algorithm(pubkey, &signature, &hash_algo) < 0) + goto on_error; + + if (gnutls_pubkey_verify_hash(pubkey, 0, &datum, &signature) < 0) + goto on_error; +# else if (!gnutls_x509_crt_verify_hash(cert, 0, &datum, &signature)) - { - gcry_md_close(md); - return NULL; - } + goto on_error; +# endif if (sha1) { *sha1 = malloc(datum.size); - if (!*sha1) - { - gcry_md_close(md); - return NULL; - } + if (!*sha1) goto on_error; memcpy(*sha1, hash, datum.size); *sha1_length = datum.size; @@ -818,6 +856,13 @@ eet_identity_check(const void *data_base, *raw_signature_length = sign_len; return cert_der; +# ifdef HAVE_GNUTLS +# if EET_USE_NEW_GNUTLS_API + on_error: + gcry_md_close(md); + return NULL; +# endif +# endif #else /* ifdef HAVE_SIGNATURE */ data_base = NULL; data_length = 0; diff --git a/libraries/eet/src/lib/eet_data.c b/libraries/eet/src/lib/eet_data.c index 56b9ee0..d502f44 100644 --- a/libraries/eet/src/lib/eet_data.c +++ b/libraries/eet/src/lib/eet_data.c @@ -21,18 +21,6 @@ #include "Eet.h" #include "Eet_private.h" -#ifdef _WIN32 -# define FMT_CHAR "%c" -# define FMT_UCHAR "%c" -# define FMT_LONG_LONG "%I64i" -# define FMT_ULONG_LONG "%I64u" -#else -# define FMT_CHAR "%hhi" -# define FMT_UCHAR "%hhu" -# define FMT_LONG_LONG "%lli" -# define FMT_ULONG_LONG "%llu" -#endif - /* * routines for doing data -> struct and struct -> data conversion * @@ -3108,7 +3096,7 @@ _eet_data_dump_parse(Eet_Dictionary *ed, if (!strcmp(tok3, "char:")) { n->type = EET_T_CHAR; - sscanf(tok4, FMT_CHAR, + sscanf(tok4, "%hhi", &(n->data.value.c)); } else if (!strcmp(tok3, "short:")) @@ -3126,7 +3114,7 @@ _eet_data_dump_parse(Eet_Dictionary *ed, else if (!strcmp(tok3, "long_long:")) { n->type = EET_T_LONG_LONG; - sscanf(tok4, FMT_LONG_LONG, + sscanf(tok4, "%lli", &(n->data.value.l)); } else if (!strcmp(tok3, "float:")) @@ -3144,7 +3132,7 @@ _eet_data_dump_parse(Eet_Dictionary *ed, else if (!strcmp(tok3, "uchar:")) { n->type = EET_T_UCHAR; - sscanf(tok4, FMT_UCHAR, + sscanf(tok4, "%hhu", &(n->data.value.uc)); } else if (!strcmp(tok3, "ushort:")) @@ -3162,7 +3150,7 @@ _eet_data_dump_parse(Eet_Dictionary *ed, else if (!strcmp(tok3, "ulong_long:")) { n->type = EET_T_ULONG_LONG; - sscanf(tok4, FMT_ULONG_LONG, + sscanf(tok4, "%llu", &(n->data.value.ul)); } else if (!strcmp(tok3, "string:")) @@ -4996,4 +4984,3 @@ eet_data_xattr_cipher_set(const char *filename, return ret; } - diff --git a/libraries/eet/src/lib/eet_dictionary.c b/libraries/eet/src/lib/eet_dictionary.c index 287860d..c79239b 100644 --- a/libraries/eet/src/lib/eet_dictionary.c +++ b/libraries/eet/src/lib/eet_dictionary.c @@ -169,6 +169,12 @@ eet_dictionary_string_get_size(const Eet_Dictionary *ed, return 0; } +EAPI int +eet_dictionary_count(const Eet_Dictionary *ed) +{ + return ed->count; +} + int eet_dictionary_string_get_hash(const Eet_Dictionary *ed, int idx) diff --git a/libraries/eet/src/lib/eet_image.c b/libraries/eet/src/lib/eet_image.c index 8c6c03c..b622236 100644 --- a/libraries/eet/src/lib/eet_image.c +++ b/libraries/eet/src/lib/eet_image.c @@ -246,7 +246,7 @@ eet_data_image_jpeg_rgb_decode(const void *data, unsigned int w, unsigned int h, unsigned int row_stride); -static void * +static int eet_data_image_jpeg_alpha_decode(const void *data, int size, unsigned int src_x, @@ -560,7 +560,7 @@ eet_data_image_jpeg_rgb_decode(const void *data, return 1; } -static void * +static int eet_data_image_jpeg_alpha_decode(const void *data, int size, unsigned int src_x, @@ -577,6 +577,10 @@ eet_data_image_jpeg_alpha_decode(const void *data, unsigned int x, y, l, scans; unsigned int i, iw; + /* FIXME: handle src_x, src_y and row_stride correctly */ + if (!d) + return 0; + memset(&cinfo, 0, sizeof (struct jpeg_decompress_struct)); cinfo.err = jpeg_std_error(&(jerr.pub)); @@ -584,14 +588,14 @@ eet_data_image_jpeg_alpha_decode(const void *data, jerr.pub.emit_message = _JPEGErrorHandler2; jerr.pub.output_message = _JPEGErrorHandler; if (setjmp(jerr.setjmp_buffer)) - return NULL; + return 0; jpeg_create_decompress(&cinfo); if (eet_jpeg_membuf_src(&cinfo, data, (size_t)size)) { jpeg_destroy_decompress(&cinfo); - return NULL; + return 0; } jpeg_read_header(&cinfo, TRUE); @@ -609,7 +613,7 @@ eet_data_image_jpeg_alpha_decode(const void *data, cinfo.src = NULL; jpeg_destroy_decompress(&cinfo); - return NULL; + return 0; } /* end head decoding */ @@ -620,11 +624,12 @@ eet_data_image_jpeg_alpha_decode(const void *data, cinfo.src = NULL; jpeg_destroy_decompress(&cinfo); - return NULL; + return 0; } tdata = alloca(w * 16 * 3); ptr2 = d; + if (cinfo.output_components == 1) { for (i = 0; i < (unsigned int)cinfo.rec_outbuf_height; i++) @@ -666,7 +671,7 @@ eet_data_image_jpeg_alpha_decode(const void *data, /* end data decoding */ jpeg_finish_decompress(&cinfo); jpeg_destroy_decompress(&cinfo); - return d; + return 1; } static void * diff --git a/libraries/eet/src/tests/Makefile.in b/libraries/eet/src/tests/Makefile.in index 791f9fd..e17a54e 100644 --- a/libraries/eet/src/tests/Makefile.in +++ b/libraries/eet/src/tests/Makefile.in @@ -135,6 +135,8 @@ EINA_LIBS = @EINA_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ @@ -174,6 +176,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eet/src/tests/eet_suite.c b/libraries/eet/src/tests/eet_suite.c index 3bbc912..91ef2a7 100644 --- a/libraries/eet/src/tests/eet_suite.c +++ b/libraries/eet/src/tests/eet_suite.c @@ -1933,7 +1933,7 @@ START_TEST(eet_cache_concurrency) thread = _beginthreadex(NULL, 0, open_close_worker, file, 0, &thread_id); # endif /* ifdef _EET_INCLUDED_PTHREAD */ /* clear the cache repeatedly in this thread */ - for (n = 0; n < 50000; ++n) + for (n = 0; n < 20000; ++n) { eet_clearcache(); } diff --git a/libraries/eina/AUTHORS b/libraries/eina/AUTHORS index c146e20..6091910 100644 --- a/libraries/eina/AUTHORS +++ b/libraries/eina/AUTHORS @@ -21,3 +21,5 @@ Youness Alaoui billiob (Boris Faure) Sung W. Park Guillaume Friloux +Jonas M. Gastal +Raphael Kubo da Costa diff --git a/libraries/eina/ChangeLog b/libraries/eina/ChangeLog index dfecb61..1237697 100644 --- a/libraries/eina/ChangeLog +++ b/libraries/eina/ChangeLog @@ -198,3 +198,46 @@ 2012-01-19 Shinwoo Kim * Fix compilation of eina_semaphore_lock() (Windows port) + +2012-01-20 Gustavo Barbieri + + * Add eina_model data type (generic hierarchy data access). + +2011-12-30 Vincent Torri + + * Fix Eina_RWLock code on Windows > XP. + +2012-01-29 Tom Hacohen + + * Added EINA_C_ARRAY_LENGTH, a macro that returns the length of a + standard C array. + +2012-01-31 Tom Hacohen + + * Added an Eina_Stringshare type. It's just a typedef of "const char" + this is a same kind of visual hint for the purpose of the pointer, + but again, the two types are interchangeable. + +2012-02-17 Cedric Bail + + * Fix forgotten initialization of eina list count during eina_list_split_list. + +2012-02-22 Cedric Bail + + * Add eina_file_stat. + +2012-02-27 Alexandre Becoulet + + * Add faster implementation of Eina_Rbtree. + +2012-03-07 Cedric Bail + + * Fix leak of Eina_File. + +2012-03-14 Cedric Bail + + * Fix a dead lock in Eina_File. + +2012-03-16 Raphael Kubo da Costa + + * Adjust Valgrind's CFLAGS to fix the build when it is in a non-default location. diff --git a/libraries/eina/Makefile.am b/libraries/eina/Makefile.am index 7778fd8..501653c 100644 --- a/libraries/eina/Makefile.am +++ b/libraries/eina/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -ACLOCAL_AMFLAGS = -I m4 +ACLOCAL_AMFLAGS = -I m4 -I m4/common -I m4/eina SUBDIRS = src doc @@ -38,18 +38,18 @@ autogen.sh \ eina.pc.in \ eina.spec \ eina.spec.in \ -m4/efl_attribute.m4 \ -m4/efl_benchmark.m4 \ -m4/efl_compiler_flag.m4 \ -m4/efl_coverage.m4 \ -m4/efl_cpu.m4 \ -m4/efl_doxygen.m4 \ -m4/efl_fnmatch.m4 \ -m4/efl_tests.m4 \ -m4/efl_threads.m4 \ -m4/eina_bench.m4 \ -m4/eina_check.m4 \ -m4/efl_path_max.m4 +m4/common/efl_attribute.m4 \ +m4/common/efl_benchmark.m4 \ +m4/common/efl_compiler_flag.m4 \ +m4/common/efl_coverage.m4 \ +m4/common/efl_cpu.m4 \ +m4/common/efl_doxygen.m4 \ +m4/common/efl_fnmatch.m4 \ +m4/common/efl_tests.m4 \ +m4/common/efl_threads.m4 \ +m4/common/efl_path_max.m4 \ +m4/eina/eina_bench.m4 \ +m4/eina/eina_check.m4 .PHONY: doc coverage benchmark @@ -77,18 +77,16 @@ endif if EFL_ENABLE_COVERAGE lcov-reset: - @rm -rf coverage - @find . -name "*.gcda" -exec rm {} \; - @lcov --directory . --zerocounters + @rm -rf $(top_builddir)/coverage + @find $(top_builddir) -name "*.gcda" -delete + @lcov --zerocounters --directory $(top_builddir) lcov-report: - @mkdir coverage - @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info - @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove - @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info - @rm coverage/remove - @mv coverage/coverage.cleaned.info coverage/coverage.info - @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info + @mkdir $(top_builddir)/coverage + lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) + lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info + genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info + @echo "Coverage Report at $(top_builddir)/coverage/html" coverage: @$(MAKE) lcov-reset diff --git a/libraries/eina/Makefile.in b/libraries/eina/Makefile.in index 423f4da..f72c62f 100644 --- a/libraries/eina/Makefile.in +++ b/libraries/eina/Makefile.in @@ -42,20 +42,24 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ INSTALL NEWS config.guess config.sub depcomp install-sh \ ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -191,13 +195,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -207,6 +211,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -242,6 +248,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -315,7 +323,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ version_info = @version_info@ -ACLOCAL_AMFLAGS = -I m4 +ACLOCAL_AMFLAGS = -I m4 -I m4/common -I m4/eina SUBDIRS = src doc MAINTAINERCLEANFILES = \ Makefile.in \ @@ -350,18 +358,18 @@ autogen.sh \ eina.pc.in \ eina.spec \ eina.spec.in \ -m4/efl_attribute.m4 \ -m4/efl_benchmark.m4 \ -m4/efl_compiler_flag.m4 \ -m4/efl_coverage.m4 \ -m4/efl_cpu.m4 \ -m4/efl_doxygen.m4 \ -m4/efl_fnmatch.m4 \ -m4/efl_tests.m4 \ -m4/efl_threads.m4 \ -m4/eina_bench.m4 \ -m4/eina_check.m4 \ -m4/efl_path_max.m4 +m4/common/efl_attribute.m4 \ +m4/common/efl_benchmark.m4 \ +m4/common/efl_compiler_flag.m4 \ +m4/common/efl_coverage.m4 \ +m4/common/efl_cpu.m4 \ +m4/common/efl_doxygen.m4 \ +m4/common/efl_fnmatch.m4 \ +m4/common/efl_tests.m4 \ +m4/common/efl_threads.m4 \ +m4/common/efl_path_max.m4 \ +m4/eina/eina_bench.m4 \ +m4/eina/eina_check.m4 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -908,18 +916,16 @@ doc: # Coverage report @EFL_ENABLE_COVERAGE_TRUE@lcov-reset: -@EFL_ENABLE_COVERAGE_TRUE@ @rm -rf coverage -@EFL_ENABLE_COVERAGE_TRUE@ @find . -name "*.gcda" -exec rm {} \; -@EFL_ENABLE_COVERAGE_TRUE@ @lcov --directory . --zerocounters +@EFL_ENABLE_COVERAGE_TRUE@ @rm -rf $(top_builddir)/coverage +@EFL_ENABLE_COVERAGE_TRUE@ @find $(top_builddir) -name "*.gcda" -delete +@EFL_ENABLE_COVERAGE_TRUE@ @lcov --zerocounters --directory $(top_builddir) @EFL_ENABLE_COVERAGE_TRUE@lcov-report: -@EFL_ENABLE_COVERAGE_TRUE@ @mkdir coverage -@EFL_ENABLE_COVERAGE_TRUE@ @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info -@EFL_ENABLE_COVERAGE_TRUE@ @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove -@EFL_ENABLE_COVERAGE_TRUE@ @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info -@EFL_ENABLE_COVERAGE_TRUE@ @rm coverage/remove -@EFL_ENABLE_COVERAGE_TRUE@ @mv coverage/coverage.cleaned.info coverage/coverage.info -@EFL_ENABLE_COVERAGE_TRUE@ @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info +@EFL_ENABLE_COVERAGE_TRUE@ @mkdir $(top_builddir)/coverage +@EFL_ENABLE_COVERAGE_TRUE@ lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) +@EFL_ENABLE_COVERAGE_TRUE@ lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info +@EFL_ENABLE_COVERAGE_TRUE@ genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info +@EFL_ENABLE_COVERAGE_TRUE@ @echo "Coverage Report at $(top_builddir)/coverage/html" @EFL_ENABLE_COVERAGE_TRUE@coverage: @EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) lcov-reset diff --git a/libraries/eina/NEWS b/libraries/eina/NEWS index 8669aa7..b118535 100644 --- a/libraries/eina/NEWS +++ b/libraries/eina/NEWS @@ -14,8 +14,20 @@ Additions: * Deprecated eina_array_count_get(), use eina_array_count() instead. * Added eina_inarray data type * Added eina_value data type (generic value storage) + * Added eina_model data type (generic hierarchy data access) + * Add eina_file_stat. -Eina 1.1.0 +Fixes: + + * compilation errors in Eina_RWLock code when building code on Windows > XP + * stop leaking Eina_File. + * remove dead lock in Eina_File. + +Improvements: + + * faster implementation of Eina_Rbtree. + +Eina 1.1.0 (2011-12-02) Changes since Eina 1.0.0: ------------------------- diff --git a/libraries/eina/README b/libraries/eina/README index 6ff84c8..cb8b0c6 100644 --- a/libraries/eina/README +++ b/libraries/eina/README @@ -1,4 +1,4 @@ -Eina 1.1.0 +Eina 1.2.0 ****************************************************************************** @@ -11,7 +11,6 @@ Requirements: ------------- Must have: libc (pthread or windows threading support, iconv support) - libm Eina is a library providing data structure utilities for EFL that are meant to be lean, efficient and tailored to EFL's needs. This saves each diff --git a/libraries/eina/aclocal.m4 b/libraries/eina/aclocal.m4 index f26e3d1..d87f7d0 100644 --- a/libraries/eina/aclocal.m4 +++ b/libraries/eina/aclocal.m4 @@ -13,13 +13,14 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, +[m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # @@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi @@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then AC_MSG_RESULT([no]) PKG_CONFIG="" fi - fi[]dnl ])# PKG_PROG_PKG_CONFIG @@ -69,34 +72,31 @@ fi[]dnl # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) + m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried fi[]dnl ])# _PKG_CONFIG @@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - ifelse([$4], , [AC_MSG_ERROR(dnl + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -155,25 +156,24 @@ $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) +_PKG_TEXT])[]dnl + ]) elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT -To get pkg-config, see .])], - [$4]) +To get pkg-config, see .])[]dnl + ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) + $3 fi[]dnl ])# PKG_CHECK_MODULES @@ -1134,20 +1134,20 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR -m4_include([m4/efl_attribute.m4]) -m4_include([m4/efl_benchmark.m4]) -m4_include([m4/efl_compiler_flag.m4]) -m4_include([m4/efl_coverage.m4]) -m4_include([m4/efl_cpu.m4]) -m4_include([m4/efl_doxygen.m4]) -m4_include([m4/efl_examples.m4]) -m4_include([m4/efl_fnmatch.m4]) -m4_include([m4/efl_path_max.m4]) -m4_include([m4/efl_tests.m4]) -m4_include([m4/efl_threads.m4]) -m4_include([m4/efl_voltron.m4]) -m4_include([m4/eina_bench.m4]) -m4_include([m4/eina_check.m4]) +m4_include([m4/eina/eina_bench.m4]) +m4_include([m4/eina/eina_check.m4]) +m4_include([m4/common/efl_attribute.m4]) +m4_include([m4/common/efl_benchmark.m4]) +m4_include([m4/common/efl_compiler_flag.m4]) +m4_include([m4/common/efl_coverage.m4]) +m4_include([m4/common/efl_cpu.m4]) +m4_include([m4/common/efl_doxygen.m4]) +m4_include([m4/common/efl_examples.m4]) +m4_include([m4/common/efl_fnmatch.m4]) +m4_include([m4/common/efl_path_max.m4]) +m4_include([m4/common/efl_tests.m4]) +m4_include([m4/common/efl_threads.m4]) +m4_include([m4/common/efl_voltron.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) diff --git a/libraries/eina/autogen.sh b/libraries/eina/autogen.sh index 00116ea..25b7c2f 100755 --- a/libraries/eina/autogen.sh +++ b/libraries/eina/autogen.sh @@ -6,7 +6,7 @@ rm -f aclocal.m4 ltmain.sh touch README touch ABOUT-NLS -echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1 +echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 -I m4/common -I m4/eina || exit 1 echo "Running autoheader..." ; autoheader || exit 1 echo "Running autoconf..." ; autoconf || exit 1 echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1 diff --git a/libraries/eina/config.guess b/libraries/eina/config.guess index e3a2116..c2246a4 100755 --- a/libraries/eina/config.guess +++ b/libraries/eina/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-10' +timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ timestamp='2009-06-10' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -854,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -876,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -901,39 +930,18 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -942,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -966,58 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1247,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/libraries/eina/config.h.in b/libraries/eina/config.h.in index 9bd97a1..09db082 100644 --- a/libraries/eina/config.h.in +++ b/libraries/eina/config.h.in @@ -110,6 +110,12 @@ */ #undef HAVE_ALLOCA_H +/* Define to 1 if you have the `backtrace' function. */ +#undef HAVE_BACKTRACE + +/* Define to 1 if you have the `backtrace_symbols' function. */ +#undef HAVE_BACKTRACE_SYMBOLS + /* Define to 1 if you have a valid header file. */ #undef HAVE_DIRENT_H @@ -125,15 +131,21 @@ /* Define to 1 if you have the `dlopen' function. */ #undef HAVE_DLOPEN -/* Set to 1 if evil package is installed */ +/* Set to 1 if Escape package is installed */ #undef HAVE_ESCAPE /* Set to 1 if evil package is installed */ #undef HAVE_EVIL +/* Define to 1 if you have the header file. */ +#undef HAVE_EXECINFO_H + /* Define to 1 if you have the `execvp' function. */ #undef HAVE_EXECVP +/* Define to 1 if you have Exotic. */ +#undef HAVE_EXOTIC_H + /* Define to 1 if you have the `fpathconf' function. */ #undef HAVE_FPATHCONF diff --git a/libraries/eina/config.sub b/libraries/eina/config.sub index eb0389a..c2d1257 100755 --- a/libraries/eina/config.sub +++ b/libraries/eina/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-11' +timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-06-11' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +153,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; @@ -284,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -291,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -340,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -368,15 +374,17 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -726,6 +734,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1076,6 +1087,11 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1247,6 +1263,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1268,8 +1287,8 @@ case $os in # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1290,7 +1309,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1423,6 +1442,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) diff --git a/libraries/eina/configure b/libraries/eina/configure index d3c2f30..ef62c1d 100755 --- a/libraries/eina/configure +++ b/libraries/eina/configure @@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for eina 1.1.99.67344. +# Generated by GNU Autoconf 2.67 for eina 1.2.0-alpha. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -319,7 +319,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -359,19 +359,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -701,8 +701,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='eina' PACKAGE_TARNAME='eina' -PACKAGE_VERSION='1.1.99.67344' -PACKAGE_STRING='eina 1.1.99.67344' +PACKAGE_VERSION='1.2.0-alpha' +PACKAGE_STRING='eina 1.2.0-alpha' PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -810,9 +810,13 @@ EINA_CONFIGURE_HAVE_INTTYPES_H lt_enable_auto_import EINA_LIBS EINA_CFLAGS -EINA_CPPFLAGS ESCAPE_LIBS ESCAPE_CFLAGS +EINA_CONFIGURE_HAVE_EXOTIC +EINA_HAVE_EXOTIC_FALSE +EINA_HAVE_EXOTIC_TRUE +EXOTIC_LIBS +EXOTIC_CFLAGS EINA_HAVE_WIN32_FALSE EINA_HAVE_WIN32_TRUE EINA_HAVE_WINCE_FALSE @@ -833,6 +837,8 @@ EFL_BUILD_DOC_TRUE efl_doxygen efl_have_doxygen pkgconfig_requires_private +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH PKG_CONFIG CXXCPP am__fastdepCXX_FALSE @@ -1039,6 +1045,8 @@ CXXFLAGS CCC CXXCPP PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR VALGRIND_CFLAGS VALGRIND_LIBS EVIL_CFLAGS @@ -1047,6 +1055,8 @@ EMEMOA_CFLAGS EMEMOA_LIBS ECORE_EVAS_CFLAGS ECORE_EVAS_LIBS +EXOTIC_CFLAGS +EXOTIC_LIBS ESCAPE_CFLAGS ESCAPE_LIBS CHECK_CFLAGS @@ -1115,8 +1125,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1161,7 +1172,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1187,7 +1198,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1391,7 +1402,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1407,7 +1418,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1437,8 +1448,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1446,7 +1457,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1464,13 +1475,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1493,7 +1504,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1507,8 +1518,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1523,9 +1534,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1564,11 +1575,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1594,7 +1605,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures eina 1.1.99.67344 to adapt to many kinds of systems. +\`configure' configures eina 1.2.0-alpha to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1608,7 +1619,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1664,7 +1675,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of eina 1.1.99.67344:";; + short | recursive ) echo "Configuration of eina 1.2.0-alpha:";; esac cat <<\_ACEOF @@ -1772,6 +1783,10 @@ Some influential environment variables: CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path VALGRIND_CFLAGS C compiler flags for VALGRIND, overriding pkg-config VALGRIND_LIBS @@ -1785,6 +1800,9 @@ Some influential environment variables: C compiler flags for ECORE_EVAS, overriding pkg-config ECORE_EVAS_LIBS linker flags for ECORE_EVAS, overriding pkg-config + EXOTIC_CFLAGS + C compiler flags for EXOTIC, overriding pkg-config + EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config ESCAPE_CFLAGS C compiler flags for ESCAPE, overriding pkg-config ESCAPE_LIBS linker flags for ESCAPE, overriding pkg-config @@ -1860,10 +1878,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -eina configure 1.1.99.67344 -generated by GNU Autoconf 2.65 +eina configure 1.2.0-alpha +generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1933,7 +1951,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1957,10 +1975,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -1996,7 +2014,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2019,17 +2037,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## -------------------------------------------------------- ## +( $as_echo "## -------------------------------------------------------- ## ## Report this to enlightenment-devel@lists.sourceforge.net ## -## -------------------------------------------------------- ## -_ASBOX +## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2093,7 +2109,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2169,7 +2185,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2287,7 +2303,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : @@ -2536,7 +2552,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2584,8 +2600,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by eina $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by eina $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -2695,11 +2711,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2733,11 +2747,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2750,11 +2762,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2768,11 +2778,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2827,7 +2835,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2842,7 +2855,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -2918,7 +2935,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2944,16 +2961,22 @@ am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -3069,11 +3092,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -3095,7 +3118,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi @@ -3105,7 +3128,7 @@ then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -3343,7 +3366,7 @@ done $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -3351,7 +3374,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -3385,7 +3408,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -3401,7 +3424,7 @@ fi # Define the identity of the package. PACKAGE='eina' - VERSION='1.1.99.67344' + VERSION='1.2.0-alpha' cat >>confdefs.h <<_ACEOF @@ -3816,8 +3839,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3931,9 +3954,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3975,8 +3997,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4033,9 +4055,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -4086,8 +4108,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -4477,7 +4499,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4493,11 +4515,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -4536,7 +4558,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4552,18 +4574,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@ -4624,7 +4646,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4690,7 +4712,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4822,8 +4844,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -5096,7 +5117,7 @@ fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } @@ -5107,16 +5128,16 @@ else test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -5141,7 +5162,7 @@ else ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -5149,7 +5170,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -5550,7 +5571,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -5629,7 +5650,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -5745,7 +5766,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -5947,13 +5968,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:5950: $ac_compile\"" >&5) + (eval echo "\"\$as_me:5971: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:5953: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:5974: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:5956: output\"" >&5) + (eval echo "\"\$as_me:5977: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -7155,7 +7176,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7158 "configure"' > conftest.$ac_ext + echo '#line 7179 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -8415,11 +8436,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8418: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8439: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8422: \$? = $ac_status" >&5 + echo "$as_me:8443: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8754,11 +8775,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8757: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8778: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8761: \$? = $ac_status" >&5 + echo "$as_me:8782: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8859,11 +8880,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8862: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8883: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8866: \$? = $ac_status" >&5 + echo "$as_me:8887: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8914,11 +8935,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8917: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8938: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8921: \$? = $ac_status" >&5 + echo "$as_me:8942: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11298,7 +11319,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11301 "configure" +#line 11322 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11394,7 +11415,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11397 "configure" +#line 11418 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11633,20 +11654,20 @@ _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIN 1 +#define VMIN 2 _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIC 99 +#define VMIC 0 _ACEOF cat >>confdefs.h <<_ACEOF -#define VREV 67344 +#define VREV 0 _ACEOF -version_info="2:99:1" +version_info="3:0:2" release_info="" @@ -11668,7 +11689,7 @@ case "$host_os" in MODULE_ARCH="$host_os-$host_cpu" ;; *) - MODULE_ARCH="$host_os-$host_cpu-1.1.99" + MODULE_ARCH="$host_os-$host_cpu-1.2.0" ;; esac @@ -12166,7 +12187,7 @@ if test "x${_efl_enable_win32_threads}" = "xyes" ; then mingw*) ;; *) - as_fn_error "Win32 threads support requested but non Windows system found." "$LINENO" 5 + as_fn_error $? "Win32 threads support requested but non Windows system found." "$LINENO" 5 ;; esac fi @@ -12174,7 +12195,7 @@ fi if test "x${_efl_enable_posix_threads}" = "xyes" ; then case "$host_os" in mingw*) - as_fn_error "POSIX threads support requested but Windows system found." "$LINENO" 5 + as_fn_error $? "POSIX threads support requested but Windows system found." "$LINENO" 5 ;; *) ;; @@ -12237,7 +12258,7 @@ $as_echo_n "checking whether system support POSIX threads... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_have_posix_threads}" >&5 $as_echo "${_efl_have_posix_threads}" >&6; } if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then - as_fn_error "POSIX threads support requested but not found." "$LINENO" 5 + as_fn_error $? "POSIX threads support requested but not found." "$LINENO" 5 fi EFL_PTHREAD_CFLAGS="" @@ -12498,7 +12519,7 @@ _ACEOF with_max_log_level="${withval}" else - as_fn_error "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 + as_fn_error $? "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 fi fi @@ -12912,8 +12933,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -14089,7 +14110,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -14105,11 +14126,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -14148,7 +14169,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -14164,11 +14185,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else @@ -14397,7 +14418,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -15938,11 +15959,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15941: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15962: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15945: \$? = $ac_status" >&5 + echo "$as_me:15966: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16037,11 +16058,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16040: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16061: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16044: \$? = $ac_status" >&5 + echo "$as_me:16065: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16089,11 +16110,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16092: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16113: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16096: \$? = $ac_status" >&5 + echo "$as_me:16117: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17041,6 +17062,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # pkg-config + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -17153,7 +17178,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi # Check whether pkg-config supports Requires.private @@ -17349,11 +17373,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND" >&5 $as_echo_n "checking for VALGRIND... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$VALGRIND_CFLAGS"; then - pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$VALGRIND_CFLAGS"; then + pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 ac_status=$? @@ -17363,15 +17386,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$VALGRIND_LIBS"; then - pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$VALGRIND_LIBS"; then + pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 ac_status=$? @@ -17381,14 +17402,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17396,30 +17418,30 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "valgrind >= 2.4.0"` + VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "valgrind >= 2.4.0" 2>&1` else - VALGRIND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "valgrind >= 2.4.0"` + VALGRIND_PKG_ERRORS=`$PKG_CONFIG --print-errors "valgrind >= 2.4.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$VALGRIND_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } $as_echo "#define NVALGRIND 1" >>confdefs.h if test "x${want_valgrind}" = "xyes"; then - as_fn_error "Valgrind >= 2.4.0 is required" "$LINENO" 5 + as_fn_error $? "Valgrind >= 2.4.0 is required" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } $as_echo "#define NVALGRIND 1" >>confdefs.h if test "x${want_valgrind}" = "xyes"; then - as_fn_error "Valgrind >= 2.4.0 is required" "$LINENO" 5 + as_fn_error $? "Valgrind >= 2.4.0 is required" "$LINENO" 5 fi else @@ -17449,11 +17471,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 $as_echo_n "checking for EVIL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_CFLAGS"; then - pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_CFLAGS"; then + pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -17463,15 +17484,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_LIBS"; then - pkg_cv_EVIL_LIBS="$EVIL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_LIBS"; then + pkg_cv_EVIL_LIBS="$EVIL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -17481,14 +17500,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17496,14 +17516,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` else - EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVIL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (evil >= 1.0.0) were not met: + as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: $EVIL_PKG_ERRORS @@ -17512,12 +17532,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EVIL_CFLAGS and EVIL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -17526,18 +17547,18 @@ and EVIL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS EVIL_LIBS=$pkg_cv_EVIL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_EVIL 1" >>confdefs.h - requirement_eina="evil" + requirement_eina="${requirement_eina} evil" EFL_EINA_BUILD="-DEFL_EINA_BUILD" ;; esac @@ -17570,11 +17591,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMEMOA" >&5 $as_echo_n "checking for EMEMOA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EMEMOA_CFLAGS"; then - pkg_cv_EMEMOA_CFLAGS="$EMEMOA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EMEMOA_CFLAGS"; then + pkg_cv_EMEMOA_CFLAGS="$EMEMOA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ememoa >= 0.0.26 \""; } >&5 ($PKG_CONFIG --exists --print-errors "ememoa >= 0.0.26 ") 2>&5 ac_status=$? @@ -17584,15 +17604,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EMEMOA_LIBS"; then - pkg_cv_EMEMOA_LIBS="$EMEMOA_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EMEMOA_LIBS"; then + pkg_cv_EMEMOA_LIBS="$EMEMOA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ememoa >= 0.0.26 \""; } >&5 ($PKG_CONFIG --exists --print-errors "ememoa >= 0.0.26 ") 2>&5 ac_status=$? @@ -17602,14 +17620,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17617,17 +17636,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EMEMOA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ememoa >= 0.0.26 "` + EMEMOA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ememoa >= 0.0.26 " 2>&1` else - EMEMOA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ememoa >= 0.0.26 "` + EMEMOA_PKG_ERRORS=`$PKG_CONFIG --print-errors "ememoa >= 0.0.26 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EMEMOA_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - enable_ememoa="no" + enable_ememoa="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } enable_ememoa="no" else EMEMOA_CFLAGS=$pkg_cv_EMEMOA_CFLAGS @@ -17643,11 +17662,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_EVAS" >&5 $as_echo_n "checking for ECORE_EVAS... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_EVAS_CFLAGS"; then - pkg_cv_ECORE_EVAS_CFLAGS="$ECORE_EVAS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_EVAS_CFLAGS"; then + pkg_cv_ECORE_EVAS_CFLAGS="$ECORE_EVAS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore evas\""; } >&5 ($PKG_CONFIG --exists --print-errors "ecore-evas ecore evas") 2>&5 ac_status=$? @@ -17657,15 +17675,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_EVAS_LIBS"; then - pkg_cv_ECORE_EVAS_LIBS="$ECORE_EVAS_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_EVAS_LIBS"; then + pkg_cv_ECORE_EVAS_LIBS="$ECORE_EVAS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore evas\""; } >&5 ($PKG_CONFIG --exists --print-errors "ecore-evas ecore evas") 2>&5 ac_status=$? @@ -17675,14 +17691,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17690,17 +17707,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-evas ecore evas"` + ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-evas ecore evas" 2>&1` else - ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-evas ecore evas"` + ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-evas ecore evas" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ECORE_EVAS_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - build_tiler_example="no" + build_tiler_example="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } build_tiler_example="no" else ECORE_EVAS_CFLAGS=$pkg_cv_ECORE_EVAS_CFLAGS @@ -18020,8 +18037,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 @@ -18398,17 +18415,14 @@ fi have_wince="no" have_win32="no" -EINA_CPPFLAGS="" EINA_CFLAGS="" case "$host_os" in mingw32ce*) - EINA_CPPFLAGS="-D_WIN32_WCE=0x0420" EINA_CFLAGS="${EVIL_CFLAGS}" have_win32="yes" have_wince="yes" ;; mingw*) - EINA_CPPFLAGS="-D_WIN32_WINNT=0x0501" EINA_CFLAGS="${EVIL_CFLAGS}" have_win32="yes" ;; @@ -18569,6 +18583,98 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +### Checks for portability layer + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 +$as_echo_n "checking for EXOTIC... " >&6; } + +if test -n "$EXOTIC_CFLAGS"; then + pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXOTIC_LIBS"; then + pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` + else + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$EXOTIC_PKG_ERRORS" >&5 + + enable_exotic="no" +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + enable_exotic="no" +else + EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS + EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + enable_exotic="yes" +fi + +if test "x${enable_exotic}" = "xyes"; then + requirement_eina="exotic ${requirement_eina}" + EINA_CFLAGS="${EINA_CFLAGS} ${EXOTIC_CFLAGS}" + EINA_LIBS="${EXOTIC_LIBS}" + + EINA_CONFIGURE_HAVE_EXOTIC="#define EINA_HAVE_EXOTIC" + +$as_echo "#define HAVE_EXOTIC_H 1" >>confdefs.h + +fi + if test "x${enable_exotic}" = "xyes"; then + EINA_HAVE_EXOTIC_TRUE= + EINA_HAVE_EXOTIC_FALSE='#' +else + EINA_HAVE_EXOTIC_TRUE='#' + EINA_HAVE_EXOTIC_FALSE= +fi + + + case "$host_vendor" in ps3*) @@ -18576,11 +18682,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESCAPE" >&5 $as_echo_n "checking for ESCAPE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ESCAPE_CFLAGS"; then - pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ESCAPE_CFLAGS"; then + pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 ($PKG_CONFIG --exists --print-errors "escape") 2>&5 ac_status=$? @@ -18590,15 +18695,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ESCAPE_LIBS"; then - pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ESCAPE_LIBS"; then + pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 ($PKG_CONFIG --exists --print-errors "escape") 2>&5 ac_status=$? @@ -18608,14 +18711,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -18623,14 +18727,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "escape"` + ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "escape" 2>&1` else - ESCAPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "escape"` + ESCAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "escape" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ESCAPE_PKG_ERRORS" >&5 - as_fn_error "Package requirements (escape) were not met: + as_fn_error $? "Package requirements (escape) were not met: $ESCAPE_PKG_ERRORS @@ -18639,12 +18743,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables ESCAPE_CFLAGS and ESCAPE_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -18653,48 +18758,46 @@ and ESCAPE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_ESCAPE 1" >>confdefs.h - requirement_eina="escape" + requirement_eina="${requirement_eina} escape" EINA_CFLAGS="${ESCAPE_CFLAGS} ${EINA_CFLAGS}" ;; esac - - ### Checks for linker characteristics EINA_LIBS= lt_enable_auto_import="" case "${host_os}" in mingw*) - EINA_LIBS="-ldl ${EVIL_LIBS} -lm" + EINA_LIBS="${EINA_LIBS} -ldl ${EVIL_LIBS} -lm" lt_enable_auto_import="-Wl,--enable-auto-import" ;; dragonfly*|openbsd*) - EINA_LIBS="-lm" + EINA_LIBS="${EINA_LIBS} -lm" ;; freebsd*|netbsd*) - EINA_LIBS="-lrt -lm" + EINA_LIBS="${EINA_LIBS} -lrt -lm" ;; darwin*) - EINA_LIBS="-lm" + EINA_LIBS="${EINA_LIBS} -lm" ;; cygwin*) - EINA_LIBS="-ldl -lm" + EINA_LIBS="${EINA_LIBS} -ldl -lm" ;; *) - EINA_LIBS="-ldl -lrt -lm" + EINA_LIBS="${EINA_LIBS} -lrt -ldl -lm" ;; esac case "$host_vendor" in @@ -18866,12 +18969,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -for ac_header in unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h +for ac_header in unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h execinfo.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -18914,9 +19016,8 @@ else if test "$ac_cv_type_wchar_t" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (wchar_t) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (wchar_t) +See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_wchar_t=0 fi @@ -19160,8 +19261,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -19223,12 +19323,11 @@ _ACEOF fi -for ac_func in strlcpy openat fstatat fpathconf execvp +for ac_func in strlcpy openat fstatat fpathconf execvp backtrace backtrace_symbols do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -20366,11 +20465,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 $as_echo_n "checking for CHECK... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_CFLAGS"; then - pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_CFLAGS"; then + pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -20380,15 +20478,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_LIBS"; then - pkg_cv_CHECK_LIBS="$CHECK_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_LIBS"; then + pkg_cv_CHECK_LIBS="$CHECK_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -20398,14 +20494,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20413,17 +20510,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` else - CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CHECK_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _efl_enable_tests="no" + _efl_enable_tests="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _efl_enable_tests="no" else CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS @@ -20618,11 +20715,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 $as_echo_n "checking for GLIB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GLIB_CFLAGS"; then - pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GLIB_CFLAGS"; then + pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 ac_status=$? @@ -20632,15 +20728,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GLIB_LIBS"; then - pkg_cv_GLIB_LIBS="$GLIB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GLIB_LIBS"; then + pkg_cv_GLIB_LIBS="$GLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 ac_status=$? @@ -20650,14 +20744,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20665,17 +20760,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0"` + GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1` else - GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0"` + GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_module="no" + have_module="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_module="no" else GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS @@ -20884,6 +20979,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -20907,148 +21003,152 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_HAVE_THREADS_TRUE}" && test -z "${EINA_HAVE_THREADS_FALSE}"; then - as_fn_error "conditional \"EINA_HAVE_THREADS\" was never defined. + as_fn_error $? "conditional \"EINA_HAVE_THREADS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_DEBUG_THREADS_TRUE}" && test -z "${EINA_DEBUG_THREADS_FALSE}"; then - as_fn_error "conditional \"EINA_DEBUG_THREADS\" was never defined. + as_fn_error $? "conditional \"EINA_DEBUG_THREADS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_ON_OFF_THREADS_TRUE}" && test -z "${EINA_ON_OFF_THREADS_FALSE}"; then - as_fn_error "conditional \"EINA_ON_OFF_THREADS\" was never defined. + as_fn_error $? "conditional \"EINA_ON_OFF_THREADS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${SAFETY_CHECKS_TRUE}" && test -z "${SAFETY_CHECKS_FALSE}"; then - as_fn_error "conditional \"SAFETY_CHECKS\" was never defined. + as_fn_error $? "conditional \"SAFETY_CHECKS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_AMALGAMATION_TRUE}" && test -z "${EINA_AMALGAMATION_FALSE}"; then - as_fn_error "conditional \"EINA_AMALGAMATION\" was never defined. + as_fn_error $? "conditional \"EINA_AMALGAMATION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_ENABLE_BENCHMARK_E17_TRUE}" && test -z "${EINA_ENABLE_BENCHMARK_E17_FALSE}"; then - as_fn_error "conditional \"EINA_ENABLE_BENCHMARK_E17\" was never defined. + as_fn_error $? "conditional \"EINA_ENABLE_BENCHMARK_E17\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_TILER_EXAMPLE_TRUE}" && test -z "${BUILD_TILER_EXAMPLE_FALSE}"; then - as_fn_error "conditional \"BUILD_TILER_EXAMPLE\" was never defined. + as_fn_error $? "conditional \"BUILD_TILER_EXAMPLE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_HAVE_WINCE_TRUE}" && test -z "${EINA_HAVE_WINCE_FALSE}"; then - as_fn_error "conditional \"EINA_HAVE_WINCE\" was never defined. + as_fn_error $? "conditional \"EINA_HAVE_WINCE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_HAVE_WIN32_TRUE}" && test -z "${EINA_HAVE_WIN32_FALSE}"; then - as_fn_error "conditional \"EINA_HAVE_WIN32\" was never defined. + as_fn_error $? "conditional \"EINA_HAVE_WIN32\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${EINA_HAVE_EXOTIC_TRUE}" && test -z "${EINA_HAVE_EXOTIC_FALSE}"; then + as_fn_error $? "conditional \"EINA_HAVE_EXOTIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_CHAINED_POOL_TRUE}" && test -z "${EINA_BUILD_CHAINED_POOL_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_CHAINED_POOL\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_CHAINED_POOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_CHAINED_POOL_TRUE}" && test -z "${EINA_STATIC_BUILD_CHAINED_POOL_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_CHAINED_POOL\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_CHAINED_POOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_EMEMOA_FIXED_TRUE}" && test -z "${EINA_BUILD_EMEMOA_FIXED_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_EMEMOA_FIXED\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_EMEMOA_FIXED\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_EMEMOA_FIXED_TRUE}" && test -z "${EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_EMEMOA_FIXED\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_EMEMOA_FIXED\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_EMEMOA_UNKNOWN_TRUE}" && test -z "${EINA_BUILD_EMEMOA_UNKNOWN_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_EMEMOA_UNKNOWN\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_EMEMOA_UNKNOWN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_EMEMOA_UNKNOWN_TRUE}" && test -z "${EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_EMEMOA_UNKNOWN\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_EMEMOA_UNKNOWN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_FIXED_BITMAP_TRUE}" && test -z "${EINA_BUILD_FIXED_BITMAP_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_FIXED_BITMAP\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_FIXED_BITMAP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_FIXED_BITMAP_TRUE}" && test -z "${EINA_STATIC_BUILD_FIXED_BITMAP_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_FIXED_BITMAP\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_FIXED_BITMAP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_PASS_THROUGH_TRUE}" && test -z "${EINA_BUILD_PASS_THROUGH_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_PASS_THROUGH\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_PASS_THROUGH\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_PASS_THROUGH_TRUE}" && test -z "${EINA_STATIC_BUILD_PASS_THROUGH_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_PASS_THROUGH\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_PASS_THROUGH\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_BUDDY_TRUE}" && test -z "${EINA_BUILD_BUDDY_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_BUDDY\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_BUDDY\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_BUDDY_TRUE}" && test -z "${EINA_STATIC_BUILD_BUDDY_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_BUDDY\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_BUDDY\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_BUILD_ONE_BIG_TRUE}" && test -z "${EINA_BUILD_ONE_BIG_FALSE}"; then - as_fn_error "conditional \"EINA_BUILD_ONE_BIG\" was never defined. + as_fn_error $? "conditional \"EINA_BUILD_ONE_BIG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_STATIC_BUILD_ONE_BIG_TRUE}" && test -z "${EINA_STATIC_BUILD_ONE_BIG_FALSE}"; then - as_fn_error "conditional \"EINA_STATIC_BUILD_ONE_BIG\" was never defined. + as_fn_error $? "conditional \"EINA_STATIC_BUILD_ONE_BIG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_COVERAGE\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_COVERAGE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_BENCHMARK_TRUE}" && test -z "${EFL_ENABLE_BENCHMARK_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_BENCHMARK\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_BENCHMARK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EINA_HAVE_GLIB_TRUE}" && test -z "${EINA_HAVE_GLIB_FALSE}"; then - as_fn_error "conditional \"EINA_HAVE_GLIB\" was never defined. + as_fn_error $? "conditional \"EINA_HAVE_GLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${CITYHASH_BENCH_TRUE}" && test -z "${CITYHASH_BENCH_FALSE}"; then - as_fn_error "conditional \"CITYHASH_BENCH\" was never defined. + as_fn_error $? "conditional \"CITYHASH_BENCH\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_EXAMPLES_TRUE}" && test -z "${EFL_BUILD_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_INSTALL_EXAMPLES_TRUE}" && test -z "${EFL_INSTALL_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -21198,19 +21298,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -21406,7 +21506,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -21459,8 +21559,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by eina $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by eina $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -21525,11 +21625,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -eina config.status 1.1.99.67344 -configured by $0, generated by GNU Autoconf 2.65, +eina config.status 1.2.0-alpha +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -21547,11 +21647,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -21573,6 +21678,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -21585,7 +21691,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -21594,7 +21700,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -22024,7 +22130,7 @@ do "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -22062,7 +22168,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -22079,7 +22185,7 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi @@ -22093,18 +22199,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -22193,20 +22299,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -22234,7 +22348,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -22319,7 +22433,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -22332,7 +22446,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -22360,7 +22474,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -22387,7 +22501,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -22524,22 +22638,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -22550,19 +22664,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -23520,7 +23634,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -23541,7 +23655,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/libraries/eina/configure.ac b/libraries/eina/configure.ac index 367ffe1..38fb13d 100644 --- a/libraries/eina/configure.ac +++ b/libraries/eina/configure.ac @@ -1,12 +1,12 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) -m4_define([v_min], [1]) -m4_define([v_mic], [99]) +m4_define([v_min], [2]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line dnl m4_define([relname], [ver-pre-svn-07]) dnl m4_define([v_rel], [-release relname]) @@ -18,7 +18,7 @@ m4_define([lt_age], v_min) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -AC_INIT([eina], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([eina], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.59]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -316,7 +316,7 @@ case "$host_os" in mingw*) PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0]) AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if evil package is installed]) - requirement_eina="evil" + requirement_eina="${requirement_eina} evil" EFL_EINA_BUILD="-DEFL_EINA_BUILD" ;; esac @@ -361,17 +361,14 @@ EFL_ATTRIBUTE_UNUSED have_wince="no" have_win32="no" -EINA_CPPFLAGS="" EINA_CFLAGS="" case "$host_os" in mingw32ce*) - EINA_CPPFLAGS="-D_WIN32_WCE=0x0420" EINA_CFLAGS="${EVIL_CFLAGS}" have_win32="yes" have_wince="yes" ;; mingw*) - EINA_CPPFLAGS="-D_WIN32_WINNT=0x0501" EINA_CFLAGS="${EVIL_CFLAGS}" have_win32="yes" ;; @@ -387,41 +384,57 @@ m4_ifdef([v_mic], EFL_COMPILER_FLAG([-Wshadow]) +### Checks for portability layer + +PKG_CHECK_MODULES([EXOTIC], + [exotic], + [enable_exotic="yes"], + [enable_exotic="no"]) + +if test "x${enable_exotic}" = "xyes"; then + requirement_eina="exotic ${requirement_eina}" + EINA_CFLAGS="${EINA_CFLAGS} ${EXOTIC_CFLAGS}" + EINA_LIBS="${EXOTIC_LIBS}" + + EINA_CONFIGURE_HAVE_EXOTIC="#define EINA_HAVE_EXOTIC" + AC_DEFINE([HAVE_EXOTIC_H], [1], [Define to 1 if you have Exotic.]) +fi +AM_CONDITIONAL([EINA_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"]) +AC_SUBST([EINA_CONFIGURE_HAVE_EXOTIC]) + case "$host_vendor" in ps3*) PKG_CHECK_MODULES([ESCAPE], [escape]) - AC_DEFINE(HAVE_ESCAPE, 1, [Set to 1 if evil package is installed]) - requirement_eina="escape" + AC_DEFINE(HAVE_ESCAPE, 1, [Set to 1 if Escape package is installed]) + requirement_eina="${requirement_eina} escape" EINA_CFLAGS="${ESCAPE_CFLAGS} ${EINA_CFLAGS}" ;; esac -AC_SUBST([EINA_CPPFLAGS]) AC_SUBST([EINA_CFLAGS]) - ### Checks for linker characteristics EINA_LIBS= lt_enable_auto_import="" case "${host_os}" in mingw*) - EINA_LIBS="-ldl ${EVIL_LIBS} -lm" + EINA_LIBS="${EINA_LIBS} -ldl ${EVIL_LIBS} -lm" lt_enable_auto_import="-Wl,--enable-auto-import" ;; dragonfly*|openbsd*) - EINA_LIBS="-lm" + EINA_LIBS="${EINA_LIBS} -lm" ;; freebsd*|netbsd*) - EINA_LIBS="-lrt -lm" + EINA_LIBS="${EINA_LIBS} -lrt -lm" ;; darwin*) - EINA_LIBS="-lm" + EINA_LIBS="${EINA_LIBS} -lm" ;; cygwin*) - EINA_LIBS="-ldl -lm" + EINA_LIBS="${EINA_LIBS} -ldl -lm" ;; *) - EINA_LIBS="-ldl -lrt -lm" + EINA_LIBS="${EINA_LIBS} -lrt -ldl -lm" ;; esac case "$host_vendor" in @@ -443,7 +456,7 @@ LIBS="${LIBS} ${EINA_LIBS}" AC_HEADER_ASSERT AC_HEADER_TIME EFL_CHECK_PATH_MAX -AC_CHECK_HEADERS([unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h]) +AC_CHECK_HEADERS([unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h execinfo.h]) if test "x${ac_cv_header_inttypes_h}" = "xyes" ; then EINA_CONFIGURE_HAVE_INTTYPES_H="#define EINA_HAVE_INTTYPES_H" @@ -484,7 +497,7 @@ AC_SUBST([EINA_CONFIGURE_HAVE_DIRENT_H]) ### Checks for library functions AC_ISC_POSIX AC_FUNC_ALLOCA -AC_CHECK_FUNCS([strlcpy openat fstatat fpathconf execvp]) +AC_CHECK_FUNCS([strlcpy openat fstatat fpathconf execvp backtrace backtrace_symbols]) AC_MSG_CHECKING([for dirfd]) AC_LINK_IFELSE( @@ -785,7 +798,7 @@ if test -n "$CXX" && test "x$enable_benchmark" = "xyes" ; then fi AM_CONDITIONAL([CITYHASH_BENCH], [test -n "$CXX" && test "x$enable_benchmark" = "xyes"]) -AC_SUBST(requirement_eina) +AC_SUBST([requirement_eina]) ### Build and install examples EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) diff --git a/libraries/eina/doc/Makefile.am b/libraries/eina/doc/Makefile.am index 7856c13..33a2c9b 100644 --- a/libraries/eina/doc/Makefile.am +++ b/libraries/eina/doc/Makefile.am @@ -20,7 +20,8 @@ doc: all bzip2 -9 $(PACKAGE_DOCNAME).tar rm -rf $(PACKAGE_DOCNAME)/ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) - @echo "Documentation Package: $(top_builddir)/$(PACKAGE_DOCNAME).tar.bz2" + @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" + @echo "Documentation HTML: doc/html" clean-local: doc-clean diff --git a/libraries/eina/doc/Makefile.in b/libraries/eina/doc/Makefile.in index 7331cf1..d2de754 100644 --- a/libraries/eina/doc/Makefile.in +++ b/libraries/eina/doc/Makefile.in @@ -37,20 +37,24 @@ subdir = doc DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -111,13 +115,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -127,6 +131,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -162,6 +168,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -449,7 +457,8 @@ uninstall-am: @EFL_BUILD_DOC_TRUE@ bzip2 -9 $(PACKAGE_DOCNAME).tar @EFL_BUILD_DOC_TRUE@ rm -rf $(PACKAGE_DOCNAME)/ @EFL_BUILD_DOC_TRUE@ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) -@EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: $(top_builddir)/$(PACKAGE_DOCNAME).tar.bz2" +@EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" +@EFL_BUILD_DOC_TRUE@ @echo "Documentation HTML: doc/html" @EFL_BUILD_DOC_TRUE@clean-local: doc-clean diff --git a/libraries/eina/eina.pc b/libraries/eina/eina.pc index 0ca596f..68f77e4 100644 --- a/libraries/eina/eina.pc +++ b/libraries/eina/eina.pc @@ -1,4 +1,4 @@ -prefix=/opt/e17 +prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include @@ -6,7 +6,7 @@ includedir=${prefix}/include Name: Eina Description: A Library that implements fast data types and miscellaneous tools Requires.private: valgrind -Version: 1.1.99.67344 +Version: 1.2.0-alpha Libs: -L${libdir} -leina -pthread -Libs.private: -pthread -lrt -ldl -lrt -lm +Libs.private: -pthread -lrt -lrt -ldl -lm Cflags: -I${includedir}/eina-1 -I${includedir}/eina-1/eina diff --git a/libraries/eina/eina.spec b/libraries/eina/eina.spec index 0ad6732..fc564c6 100644 --- a/libraries/eina/eina.spec +++ b/libraries/eina/eina.spec @@ -3,7 +3,7 @@ Summary: Data Type Library Name: eina -Version: 1.1.99.67344 +Version: 1.2.0-alpha Release: %{_rel} License: LGPLv2.1 Group: System Environment/Libraries diff --git a/libraries/eina/ltmain.sh b/libraries/eina/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/eina/ltmain.sh +++ b/libraries/eina/ltmain.sh @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 diff --git a/libraries/eina/src/Makefile.in b/libraries/eina/src/Makefile.in index eb3a2c0..9076215 100644 --- a/libraries/eina/src/Makefile.in +++ b/libraries/eina/src/Makefile.in @@ -36,20 +36,24 @@ host_triplet = @host@ subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -150,13 +154,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -166,6 +170,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -201,6 +207,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eina/src/examples/Makefile.am b/libraries/eina/src/examples/Makefile.am index 45b72f0..c8d80f9 100644 --- a/libraries/eina/src/examples/Makefile.am +++ b/libraries/eina/src/examples/Makefile.am @@ -37,7 +37,14 @@ SRCS = \ eina_inlist_03.c \ eina_str_01.c \ eina_strbuf_01.c \ - eina_tiler_01.c + eina_tiler_01.c \ + eina_model_01.c \ + eina_model_02.c \ + eina_model_03.c \ + eina_value_01.c \ + eina_value_02.c \ + eina_value_03.c \ + eina_inarray_01.c examples_PROGRAMS = @@ -73,7 +80,24 @@ examples_PROGRAMS += \ eina_inlist_02 \ eina_inlist_03 \ eina_str_01 \ - eina_strbuf_01 + eina_strbuf_01 \ + eina_model_01 \ + eina_model_02 \ + eina_model_03 \ + eina_model_04 \ + eina_value_01 \ + eina_value_02 \ + eina_value_03 \ + eina_inarray_01 + +eina_model_04_SOURCES = \ + eina_model_04_animal.c \ + eina_model_04_child.c \ + eina_model_04_human.c \ + eina_model_04_main.c \ + eina_model_04_parrot.c \ + eina_model_04_whistler.c + if BUILD_TILER_EXAMPLE AM_CPPFLAGS += @ECORE_EVAS_CFLAGS@ diff --git a/libraries/eina/src/examples/Makefile.in b/libraries/eina/src/examples/Makefile.in index 6e432bb..fba8439 100644 --- a/libraries/eina/src/examples/Makefile.in +++ b/libraries/eina/src/examples/Makefile.in @@ -62,27 +62,39 @@ examples_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_02 \ @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_03 \ @EFL_BUILD_EXAMPLES_TRUE@ eina_str_01 \ -@EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01 +@EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_01 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_02 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_03 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_value_01 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_value_02 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_value_03 \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_inarray_01 @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__append_2 = @ECORE_EVAS_CFLAGS@ @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__append_3 = eina_tiler_01 subdir = src/examples DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -114,7 +126,15 @@ CONFIG_CLEAN_VPATH_FILES = @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_02$(EXEEXT) \ @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_03$(EXEEXT) \ @EFL_BUILD_EXAMPLES_TRUE@ eina_str_01$(EXEEXT) \ -@EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01$(EXEEXT) +@EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_01$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_02$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_03$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_value_01$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_value_02$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_value_03$(EXEEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_inarray_01$(EXEEXT) @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__EXEEXT_2 = eina_tiler_01$(EXEEXT) am__installdirs = "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(filesdir)" PROGRAMS = $(examples_PROGRAMS) @@ -173,6 +193,10 @@ eina_hash_08_SOURCES = eina_hash_08.c eina_hash_08_OBJECTS = eina_hash_08.$(OBJEXT) eina_hash_08_LDADD = $(LDADD) eina_hash_08_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_inarray_01_SOURCES = eina_inarray_01.c +eina_inarray_01_OBJECTS = eina_inarray_01.$(OBJEXT) +eina_inarray_01_LDADD = $(LDADD) +eina_inarray_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la eina_inlist_01_SOURCES = eina_inlist_01.c eina_inlist_01_OBJECTS = eina_inlist_01.$(OBJEXT) eina_inlist_01_LDADD = $(LDADD) @@ -217,6 +241,32 @@ eina_log_03_SOURCES = eina_log_03.c eina_log_03_OBJECTS = eina_log_03.$(OBJEXT) eina_log_03_LDADD = $(LDADD) eina_log_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_model_01_SOURCES = eina_model_01.c +eina_model_01_OBJECTS = eina_model_01.$(OBJEXT) +eina_model_01_LDADD = $(LDADD) +eina_model_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_model_02_SOURCES = eina_model_02.c +eina_model_02_OBJECTS = eina_model_02.$(OBJEXT) +eina_model_02_LDADD = $(LDADD) +eina_model_02_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_model_03_SOURCES = eina_model_03.c +eina_model_03_OBJECTS = eina_model_03.$(OBJEXT) +eina_model_03_LDADD = $(LDADD) +eina_model_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +am__eina_model_04_SOURCES_DIST = eina_model_04_animal.c \ + eina_model_04_child.c eina_model_04_human.c \ + eina_model_04_main.c eina_model_04_parrot.c \ + eina_model_04_whistler.c +@EFL_BUILD_EXAMPLES_TRUE@am_eina_model_04_OBJECTS = \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_animal.$(OBJEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_child.$(OBJEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_human.$(OBJEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_main.$(OBJEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_parrot.$(OBJEXT) \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_whistler.$(OBJEXT) +eina_model_04_OBJECTS = $(am_eina_model_04_OBJECTS) +eina_model_04_LDADD = $(LDADD) +eina_model_04_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la eina_str_01_SOURCES = eina_str_01.c eina_str_01_OBJECTS = eina_str_01.$(OBJEXT) eina_str_01_LDADD = $(LDADD) @@ -228,6 +278,18 @@ eina_strbuf_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la eina_tiler_01_SOURCES = eina_tiler_01.c eina_tiler_01_OBJECTS = eina_tiler_01.$(OBJEXT) @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@eina_tiler_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_value_01_SOURCES = eina_value_01.c +eina_value_01_OBJECTS = eina_value_01.$(OBJEXT) +eina_value_01_LDADD = $(LDADD) +eina_value_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_value_02_SOURCES = eina_value_02.c +eina_value_02_OBJECTS = eina_value_02.$(OBJEXT) +eina_value_02_LDADD = $(LDADD) +eina_value_02_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la +eina_value_03_SOURCES = eina_value_03.c +eina_value_03_OBJECTS = eina_value_03.$(OBJEXT) +eina_value_03_LDADD = $(LDADD) +eina_value_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -257,19 +319,25 @@ am__v_GEN_0 = @echo " GEN " $@; SOURCES = eina_accessor_01.c eina_array_01.c eina_array_02.c \ eina_error_01.c eina_file_01.c eina_hash_01.c eina_hash_02.c \ eina_hash_03.c eina_hash_04.c eina_hash_05.c eina_hash_06.c \ - eina_hash_07.c eina_hash_08.c eina_inlist_01.c \ - eina_inlist_02.c eina_inlist_03.c eina_iterator_01.c \ - eina_list_01.c eina_list_02.c eina_list_03.c eina_list_04.c \ - eina_log_01.c eina_log_02.c eina_log_03.c eina_str_01.c \ - eina_strbuf_01.c eina_tiler_01.c + eina_hash_07.c eina_hash_08.c eina_inarray_01.c \ + eina_inlist_01.c eina_inlist_02.c eina_inlist_03.c \ + eina_iterator_01.c eina_list_01.c eina_list_02.c \ + eina_list_03.c eina_list_04.c eina_log_01.c eina_log_02.c \ + eina_log_03.c eina_model_01.c eina_model_02.c eina_model_03.c \ + $(eina_model_04_SOURCES) eina_str_01.c eina_strbuf_01.c \ + eina_tiler_01.c eina_value_01.c eina_value_02.c \ + eina_value_03.c DIST_SOURCES = eina_accessor_01.c eina_array_01.c eina_array_02.c \ eina_error_01.c eina_file_01.c eina_hash_01.c eina_hash_02.c \ eina_hash_03.c eina_hash_04.c eina_hash_05.c eina_hash_06.c \ - eina_hash_07.c eina_hash_08.c eina_inlist_01.c \ - eina_inlist_02.c eina_inlist_03.c eina_iterator_01.c \ - eina_list_01.c eina_list_02.c eina_list_03.c eina_list_04.c \ - eina_log_01.c eina_log_02.c eina_log_03.c eina_str_01.c \ - eina_strbuf_01.c eina_tiler_01.c + eina_hash_07.c eina_hash_08.c eina_inarray_01.c \ + eina_inlist_01.c eina_inlist_02.c eina_inlist_03.c \ + eina_iterator_01.c eina_list_01.c eina_list_02.c \ + eina_list_03.c eina_list_04.c eina_log_01.c eina_log_02.c \ + eina_log_03.c eina_model_01.c eina_model_02.c eina_model_03.c \ + $(am__eina_model_04_SOURCES_DIST) eina_str_01.c \ + eina_strbuf_01.c eina_tiler_01.c eina_value_01.c \ + eina_value_02.c eina_value_03.c am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -340,13 +408,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -356,6 +424,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -391,6 +461,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -498,10 +570,25 @@ SRCS = \ eina_inlist_03.c \ eina_str_01.c \ eina_strbuf_01.c \ - eina_tiler_01.c + eina_tiler_01.c \ + eina_model_01.c \ + eina_model_02.c \ + eina_model_03.c \ + eina_value_01.c \ + eina_value_02.c \ + eina_value_03.c \ + eina_inarray_01.c @EFL_INSTALL_EXAMPLES_TRUE@filesdir = $(datadir)/$(PACKAGE)/examples @EFL_INSTALL_EXAMPLES_TRUE@files_DATA = $(SRCS) +@EFL_BUILD_EXAMPLES_TRUE@eina_model_04_SOURCES = \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_animal.c \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_child.c \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_human.c \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_main.c \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_parrot.c \ +@EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_whistler.c + @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@eina_tiler_01_LDADD = $(top_builddir)/src/lib/libeina.la @ECORE_EVAS_LIBS@ all: all-am @@ -619,6 +706,9 @@ eina_hash_07$(EXEEXT): $(eina_hash_07_OBJECTS) $(eina_hash_07_DEPENDENCIES) eina_hash_08$(EXEEXT): $(eina_hash_08_OBJECTS) $(eina_hash_08_DEPENDENCIES) @rm -f eina_hash_08$(EXEEXT) $(AM_V_CCLD)$(LINK) $(eina_hash_08_OBJECTS) $(eina_hash_08_LDADD) $(LIBS) +eina_inarray_01$(EXEEXT): $(eina_inarray_01_OBJECTS) $(eina_inarray_01_DEPENDENCIES) + @rm -f eina_inarray_01$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_inarray_01_OBJECTS) $(eina_inarray_01_LDADD) $(LIBS) eina_inlist_01$(EXEEXT): $(eina_inlist_01_OBJECTS) $(eina_inlist_01_DEPENDENCIES) @rm -f eina_inlist_01$(EXEEXT) $(AM_V_CCLD)$(LINK) $(eina_inlist_01_OBJECTS) $(eina_inlist_01_LDADD) $(LIBS) @@ -652,6 +742,18 @@ eina_log_02$(EXEEXT): $(eina_log_02_OBJECTS) $(eina_log_02_DEPENDENCIES) eina_log_03$(EXEEXT): $(eina_log_03_OBJECTS) $(eina_log_03_DEPENDENCIES) @rm -f eina_log_03$(EXEEXT) $(AM_V_CCLD)$(LINK) $(eina_log_03_OBJECTS) $(eina_log_03_LDADD) $(LIBS) +eina_model_01$(EXEEXT): $(eina_model_01_OBJECTS) $(eina_model_01_DEPENDENCIES) + @rm -f eina_model_01$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_model_01_OBJECTS) $(eina_model_01_LDADD) $(LIBS) +eina_model_02$(EXEEXT): $(eina_model_02_OBJECTS) $(eina_model_02_DEPENDENCIES) + @rm -f eina_model_02$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_model_02_OBJECTS) $(eina_model_02_LDADD) $(LIBS) +eina_model_03$(EXEEXT): $(eina_model_03_OBJECTS) $(eina_model_03_DEPENDENCIES) + @rm -f eina_model_03$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_model_03_OBJECTS) $(eina_model_03_LDADD) $(LIBS) +eina_model_04$(EXEEXT): $(eina_model_04_OBJECTS) $(eina_model_04_DEPENDENCIES) + @rm -f eina_model_04$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_model_04_OBJECTS) $(eina_model_04_LDADD) $(LIBS) eina_str_01$(EXEEXT): $(eina_str_01_OBJECTS) $(eina_str_01_DEPENDENCIES) @rm -f eina_str_01$(EXEEXT) $(AM_V_CCLD)$(LINK) $(eina_str_01_OBJECTS) $(eina_str_01_LDADD) $(LIBS) @@ -661,6 +763,15 @@ eina_strbuf_01$(EXEEXT): $(eina_strbuf_01_OBJECTS) $(eina_strbuf_01_DEPENDENCIES eina_tiler_01$(EXEEXT): $(eina_tiler_01_OBJECTS) $(eina_tiler_01_DEPENDENCIES) @rm -f eina_tiler_01$(EXEEXT) $(AM_V_CCLD)$(LINK) $(eina_tiler_01_OBJECTS) $(eina_tiler_01_LDADD) $(LIBS) +eina_value_01$(EXEEXT): $(eina_value_01_OBJECTS) $(eina_value_01_DEPENDENCIES) + @rm -f eina_value_01$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_value_01_OBJECTS) $(eina_value_01_LDADD) $(LIBS) +eina_value_02$(EXEEXT): $(eina_value_02_OBJECTS) $(eina_value_02_DEPENDENCIES) + @rm -f eina_value_02$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_value_02_OBJECTS) $(eina_value_02_LDADD) $(LIBS) +eina_value_03$(EXEEXT): $(eina_value_03_OBJECTS) $(eina_value_03_DEPENDENCIES) + @rm -f eina_value_03$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(eina_value_03_OBJECTS) $(eina_value_03_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -681,6 +792,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_06.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_07.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_08.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inarray_01.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_01.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_02.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_03.Po@am__quote@ @@ -692,9 +804,21 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_01.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_02.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_03.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_01.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_02.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_03.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_animal.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_child.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_human.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_parrot.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_whistler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_str_01.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_strbuf_01.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_tiler_01.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_value_01.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_value_02.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_value_03.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/libraries/eina/src/examples/eina_accessor_01.c b/libraries/eina/src/examples/eina_accessor_01.c index c48fdc6..da413c6 100644 --- a/libraries/eina/src/examples/eina_accessor_01.c +++ b/libraries/eina/src/examples/eina_accessor_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_accessor_01.c -o eina_accessor_01 +//gcc -g eina_accessor_01.c -o eina_accessor_01 `pkg-config --cflags --libs eina` #include diff --git a/libraries/eina/src/examples/eina_array_01.c b/libraries/eina/src/examples/eina_array_01.c index d93eb35..1bae809 100644 --- a/libraries/eina/src/examples/eina_array_01.c +++ b/libraries/eina/src/examples/eina_array_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_array_01.c -o eina_array_01 +//gcc -g eina_array_01.c -o eina_array_01 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_array_02.c b/libraries/eina/src/examples/eina_array_02.c index e897321..6b2903b 100644 --- a/libraries/eina/src/examples/eina_array_02.c +++ b/libraries/eina/src/examples/eina_array_02.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_array_02.c -o eina_array_02 +//gcc -g eina_array_02.c -o eina_array_02 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_error_01.c b/libraries/eina/src/examples/eina_error_01.c index 90e845d..e264aee 100644 --- a/libraries/eina/src/examples/eina_error_01.c +++ b/libraries/eina/src/examples/eina_error_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_error_01.c -o eina_error_01 +//gcc -g eina_error_01.c -o eina_error_01 `pkg-config --cflags --libs eina` #include #include @@ -77,4 +77,4 @@ int main(void) eina_shutdown(); return EXIT_SUCCESS; -} \ No newline at end of file +} diff --git a/libraries/eina/src/examples/eina_file_01.c b/libraries/eina/src/examples/eina_file_01.c index 6490b62..2c945b3 100644 --- a/libraries/eina/src/examples/eina_file_01.c +++ b/libraries/eina/src/examples/eina_file_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_file_01.c -o eina_file_01 +//gcc -g eina_file_01.c -o eina_file_01 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_hash_01.c b/libraries/eina/src/examples/eina_hash_01.c index 549ca80..16418fe 100644 --- a/libraries/eina/src/examples/eina_hash_01.c +++ b/libraries/eina/src/examples/eina_hash_01.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_01.c -o eina_hash_01 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_02.c b/libraries/eina/src/examples/eina_hash_02.c index d43d7a3..7baec93 100644 --- a/libraries/eina/src/examples/eina_hash_02.c +++ b/libraries/eina/src/examples/eina_hash_02.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_02.c -o eina_hash_02 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_03.c b/libraries/eina/src/examples/eina_hash_03.c index 719d0d7..ba543d4 100644 --- a/libraries/eina/src/examples/eina_hash_03.c +++ b/libraries/eina/src/examples/eina_hash_03.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_03.c -o eina_hash_03 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_04.c b/libraries/eina/src/examples/eina_hash_04.c index e900475..da73e04 100644 --- a/libraries/eina/src/examples/eina_hash_04.c +++ b/libraries/eina/src/examples/eina_hash_04.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_04.c -o eina_hash_04 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_05.c b/libraries/eina/src/examples/eina_hash_05.c index f8dbf78..6666ce2 100644 --- a/libraries/eina/src/examples/eina_hash_05.c +++ b/libraries/eina/src/examples/eina_hash_05.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_05.c -o eina_hash_05 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_06.c b/libraries/eina/src/examples/eina_hash_06.c index 99a2bd7..6e3c451 100644 --- a/libraries/eina/src/examples/eina_hash_06.c +++ b/libraries/eina/src/examples/eina_hash_06.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_06.c -o eina_hash_06 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_07.c b/libraries/eina/src/examples/eina_hash_07.c index b3e486a..1464e6b 100644 --- a/libraries/eina/src/examples/eina_hash_07.c +++ b/libraries/eina/src/examples/eina_hash_07.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_07.c -o eina_hash_07 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_hash_08.c b/libraries/eina/src/examples/eina_hash_08.c index 368a2fb..ed45f7f 100644 --- a/libraries/eina/src/examples/eina_hash_08.c +++ b/libraries/eina/src/examples/eina_hash_08.c @@ -1,3 +1,6 @@ +//Compile with: +//gcc -g eina_hash_08.c -o eina_hash_08 `pkg-config --cflags --libs eina` + #include #include #include diff --git a/libraries/eina/src/examples/eina_inlist_01.c b/libraries/eina/src/examples/eina_inlist_01.c index fa51553..6c6c794 100644 --- a/libraries/eina/src/examples/eina_inlist_01.c +++ b/libraries/eina/src/examples/eina_inlist_01.c @@ -1,5 +1,6 @@ // Compile with: -// gcc -g `pkg-config --cflags --libs eina` eina_inlist_01.c -o eina_inlist_01 +// gcc -g eina_inlist_01.c -o eina_inlist_01 `pkg-config --cflags --libs eina` + #include #include diff --git a/libraries/eina/src/examples/eina_inlist_02.c b/libraries/eina/src/examples/eina_inlist_02.c index 7d23f13..4c16ec6 100644 --- a/libraries/eina/src/examples/eina_inlist_02.c +++ b/libraries/eina/src/examples/eina_inlist_02.c @@ -1,5 +1,6 @@ // Compile with: -// gcc -g `pkg-config --cflags --libs eina` eina_inlist_01.c -o eina_inlist_01 +// gcc -g eina_inlist_02.c -o eina_inlist_02 `pkg-config --cflags --libs eina` + #include #include diff --git a/libraries/eina/src/examples/eina_inlist_03.c b/libraries/eina/src/examples/eina_inlist_03.c index a39a784..28706d5 100644 --- a/libraries/eina/src/examples/eina_inlist_03.c +++ b/libraries/eina/src/examples/eina_inlist_03.c @@ -1,5 +1,6 @@ // Compile with: -// gcc -g `pkg-config --cflags --libs eina` eina_inlist_01.c -o eina_inlist_01 +// gcc -g eina_inlist_03.c -o eina_inlist_03 `pkg-config --cflags --libs eina` + #include #include diff --git a/libraries/eina/src/examples/eina_iterator_01.c b/libraries/eina/src/examples/eina_iterator_01.c index f467f90..88c40cc 100644 --- a/libraries/eina/src/examples/eina_iterator_01.c +++ b/libraries/eina/src/examples/eina_iterator_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_iterator_01.c -o eina_iterator_01 +//gcc -g eina_iterator_01.c -o eina_iterator_01 `pkg-config --cflags --libs eina` #include diff --git a/libraries/eina/src/examples/eina_list_01.c b/libraries/eina/src/examples/eina_list_01.c index 7807791..4fcb020 100644 --- a/libraries/eina/src/examples/eina_list_01.c +++ b/libraries/eina/src/examples/eina_list_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_list_01.c -o eina_list_01 +//gcc -g eina_list_01.c -o eina_list_01 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_list_02.c b/libraries/eina/src/examples/eina_list_02.c index 7def475..5fe31e8 100644 --- a/libraries/eina/src/examples/eina_list_02.c +++ b/libraries/eina/src/examples/eina_list_02.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_list_02.c -o eina_list_02 +//gcc -g eina_list_02.c -o eina_list_02 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_list_03.c b/libraries/eina/src/examples/eina_list_03.c index 8e15b91..db53148 100644 --- a/libraries/eina/src/examples/eina_list_03.c +++ b/libraries/eina/src/examples/eina_list_03.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_list_03.c -o eina_list_03 +//gcc -g eina_list_03.c -o eina_list_03 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_list_04.c b/libraries/eina/src/examples/eina_list_04.c index c153c06..d92a607 100644 --- a/libraries/eina/src/examples/eina_list_04.c +++ b/libraries/eina/src/examples/eina_list_04.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g `pkg-config --cflags --libs eina` eina_list_04.c -o eina_list_04 +//gcc -g eina_list_04.c -o eina_list_04 `pkg-config --cflags --libs eina` #include #include diff --git a/libraries/eina/src/examples/eina_tiler_01.c b/libraries/eina/src/examples/eina_tiler_01.c index b2ff8be..6202a88 100644 --- a/libraries/eina/src/examples/eina_tiler_01.c +++ b/libraries/eina/src/examples/eina_tiler_01.c @@ -1,5 +1,5 @@ //Compile with: -//gcc `pkg-config --cflags --libs ecore-evas ecore evas` eina_tiler_01.c -o eina_tiler_01 +//gcc eina_tiler_01.c -o eina_tiler_01 `pkg-config --cflags --libs ecore-evas ecore evas eina` #include #include diff --git a/libraries/eina/src/include/Eina.h b/libraries/eina/src/include/Eina.h index 721a991..d99b129 100644 --- a/libraries/eina/src/include/Eina.h +++ b/libraries/eina/src/include/Eina.h @@ -1,5 +1,5 @@ /* EINA - EFL data type library - * Copyright (C) 2008-2011 Enlightenment Developers: + * Copyright (C) 2008-2012 Enlightenment Developers: * Albin "Lutin" Tonnerre * Alexandre "diaxen" Becoulet * Andre Dieb @@ -16,6 +16,7 @@ * Tilman Sauerbeck * Vincent "caro" Torri * Tom Hacohen + * Jonas M. Gastal * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -46,7 +47,7 @@ * @mainpage Eina * * @version 1.1 - * @date 2008-2011 + * @date 2008-2012 * * @section eina_intro_sec Introduction * @@ -72,6 +73,8 @@ * @li @ref Eina_Stringshare_Group saves memory by sharing read-only string references. * @li @ref Eina_Tiler_Group split, merge and navigates into 2D tiled regions. * @li @ref Eina_Trash_Group container of unused but allocated data. + * @li @ref Eina_Value_Group container for generic value storage and access. + * @li @ref Eina_Model_Group container for data with user defined hierarchy/structure. * * The tools that are available are (see @ref Eina_Tools_Group): * @li @ref Eina_Benchmark_Group helper to write benchmarks. @@ -101,6 +104,31 @@ * their elements with an @ref Eina_Iterator_Group, or eventually an * @ref Eina_Accessor_Group. * + * The containers in eina are designed with performance in mind, one consequence + * of this is that they @b don't check the validity of data structures given to + * them(@ref Eina_Magic_Group). + * + * The choice of which container to use in each situation is very important in + * achieving good performance and readable code. The most common container types + * to be used are: + * @li List + * @li Inline list + * @li Array + * @li Inline array + * @li Hash + * + * All types have virtues and vices. The following considerations are good + * starting point in deciding which container to use: + * @li Hashes are appropriate for datasets which will be searched often; + * @li arrays are good when accessing members by position; + * @li lists provide good versatility for adding elements in any position with + * minimal overhead; + * @li inline arrays use very little memory and don't cause fragmentation and + * therefore are a good option in memory constrained systems; + * @li inline lists are the appropriate type to use when the flexibility of a + * list is required but the overhead of pointer indirection is not acceptable. + * @warning These are general considerations, every situation is different, + * don't follow these recommendations blindly. * * @defgroup Eina_Tools_Group Tools * @@ -120,15 +148,22 @@ * @author Carsten Haitzler * @author Cedric Bail * @author Corey "atmos" Donohoe + * @author Vincent "caro" Torri * @author Fabiano Fidêncio * @author Gustavo Chaves * @author Gustavo Sverzut Barbieri * @author Jorge Luis "turran" Zapata + * @author Tilman Sauerbeck * @author Peter "pfritz" Wehrfritz * @author Raphael Kubo da Costa - * @author Tilman Sauerbeck - * @author Vincent "caro" Torri * @author Tom Hacohen + * @author Brett Nash + * @author Sebastian Dransfeld + * @author Myungjae Lee + * @author Youness Alaoui + * @author Boris "billiob" Faure + * @author Sung W. Park + * @author Guillaume Friloux * * Please contact to get in * contact with the developers and maintainers. @@ -189,6 +224,7 @@ extern "C" { #include "eina_mmap.h" #include "eina_xattr.h" #include "eina_value.h" +#include "eina_model.h" #ifdef __cplusplus } diff --git a/libraries/eina/src/include/Makefile.am b/libraries/eina/src/include/Makefile.am index a818d5f..31ef71e 100644 --- a/libraries/eina/src/include/Makefile.am +++ b/libraries/eina/src/include/Makefile.am @@ -64,7 +64,8 @@ eina_refcount.h \ eina_mmap.h \ eina_xattr.h \ eina_value.h \ -eina_inline_value.x +eina_inline_value.x \ +eina_model.h # Will be back for developper after 1.1. # eina_object.h diff --git a/libraries/eina/src/include/Makefile.in b/libraries/eina/src/include/Makefile.in index ea922e5..7e819b8 100644 --- a/libraries/eina/src/include/Makefile.in +++ b/libraries/eina/src/include/Makefile.in @@ -46,20 +46,24 @@ DIST_COMMON = $(am__dist_installed_headers_DATA_DIST) \ $(dist_installed_mainheader_DATA) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/eina_config.h.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -93,9 +97,9 @@ am__dist_installed_headers_DATA_DIST = eina_safety_checks.h \ eina_inline_str.x eina_strbuf.h eina_ustrbuf.h eina_unicode.h \ eina_quadtree.h eina_simple_xml_parser.h eina_lock.h \ eina_prefix.h eina_refcount.h eina_mmap.h eina_xattr.h \ - eina_value.h eina_inline_value.x eina_inline_lock_wince.x \ - eina_inline_lock_win32.x eina_inline_lock_posix.x \ - eina_inline_lock_void.x + eina_value.h eina_inline_value.x eina_model.h \ + eina_inline_lock_wince.x eina_inline_lock_win32.x \ + eina_inline_lock_posix.x eina_inline_lock_void.x am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -167,13 +171,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -183,6 +187,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -218,6 +224,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -311,8 +319,8 @@ EINAHEADERS = eina_safety_checks.h eina_error.h eina_log.h \ eina_ustrbuf.h eina_unicode.h eina_quadtree.h \ eina_simple_xml_parser.h eina_lock.h eina_prefix.h \ eina_refcount.h eina_mmap.h eina_xattr.h eina_value.h \ - eina_inline_value.x $(am__append_1) $(am__append_2) \ - $(am__append_3) $(am__append_4) + eina_inline_value.x eina_model.h $(am__append_1) \ + $(am__append_2) $(am__append_3) $(am__append_4) installed_mainheaderdir = $(includedir)/eina-@VMAJ@ dist_installed_mainheader_DATA = Eina.h eina_config.h installed_headersdir = $(includedir)/eina-@VMAJ@/eina diff --git a/libraries/eina/src/include/eina_array.h b/libraries/eina/src/include/eina_array.h index 53183b4..4ab3b50 100644 --- a/libraries/eina/src/include/eina_array.h +++ b/libraries/eina/src/include/eina_array.h @@ -351,7 +351,7 @@ static inline void *eina_array_data_get(const Eina_Array *array, static inline void eina_array_data_set(const Eina_Array *array, unsigned int idx, const void *data) EINA_ARG_NONNULL(1); -static inline unsigned int eina_array_count_get(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_DEPRECATED; +static inline unsigned int eina_array_count_get(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; static inline unsigned int eina_array_count(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; /** diff --git a/libraries/eina/src/include/eina_config.h b/libraries/eina/src/include/eina_config.h index 474edaa..b1108b6 100644 --- a/libraries/eina/src/include/eina_config.h +++ b/libraries/eina/src/include/eina_config.h @@ -19,6 +19,15 @@ #ifndef EINA_CONFIG_H_ #define EINA_CONFIG_H_ +#ifdef EINA_HAVE_EXOTIC_H +# undef EINA_HAVE_EXOTIC_H +#endif + + +#ifdef EINA_HAVE_EXOTIC +# include +#endif + #ifdef EINA_MAGIC_DEBUG # undef EINA_MAGIC_DEBUG #endif diff --git a/libraries/eina/src/include/eina_config.h.in b/libraries/eina/src/include/eina_config.h.in index 2459ace..937d208 100644 --- a/libraries/eina/src/include/eina_config.h.in +++ b/libraries/eina/src/include/eina_config.h.in @@ -19,6 +19,15 @@ #ifndef EINA_CONFIG_H_ #define EINA_CONFIG_H_ +#ifdef EINA_HAVE_EXOTIC_H +# undef EINA_HAVE_EXOTIC_H +#endif +@EINA_CONFIGURE_HAVE_EXOTIC@ + +#ifdef EINA_HAVE_EXOTIC +# include +#endif + #ifdef EINA_MAGIC_DEBUG # undef EINA_MAGIC_DEBUG #endif diff --git a/libraries/eina/src/include/eina_error.h b/libraries/eina/src/include/eina_error.h index 2b0ae77..dd87edf 100644 --- a/libraries/eina/src/include/eina_error.h +++ b/libraries/eina/src/include/eina_error.h @@ -180,7 +180,7 @@ EAPI const char *eina_error_msg_get(Eina_Error error) EINA_PURE; /** * @brief Find the #Eina_Error corresponding to a message string - * @param msg The error message string to match (NOT #NULL) + * @param msg The error message string to match (NOT @c NULL) * @return The #Eina_Error matching @p msg, or 0 on failure * This function attempts to match @p msg with its corresponding #Eina_Error value. * If no such value is found, 0 is returned. diff --git a/libraries/eina/src/include/eina_file.h b/libraries/eina/src/include/eina_file.h index 422fb65..1af22af 100644 --- a/libraries/eina/src/include/eina_file.h +++ b/libraries/eina/src/include/eina_file.h @@ -22,6 +22,7 @@ #include #include +#include #include "eina_types.h" #include "eina_array.h" @@ -91,6 +92,13 @@ typedef struct _Eina_File_Direct_Info Eina_File_Direct_Info; /** + * @typedef Eina_Stat + * A typedef to #_Eina_Stat. + * @since 1.2 + */ +typedef struct _Eina_Stat Eina_Stat; + +/** * @typedef Eina_File_Dir_List_Cb * Type for a callback to be called when iterating over the files of a * directory. @@ -149,6 +157,31 @@ struct _Eina_File_Direct_Info }; /** + * @struct _Eina_Stat + * A structure to store informations of a path. + * @since 1.2 + */ +struct _Eina_Stat +{ + unsigned long int dev; + unsigned long int ino; + unsigned int mode; + unsigned int nlink; + unsigned int uid; + unsigned int gid; + unsigned long int rdev; + unsigned long int size; + unsigned long int blksize; + unsigned long int blocks; + unsigned long int atime; + unsigned long int atimensec; + unsigned long int mtime; + unsigned long int mtimensec; + unsigned long int ctime; + unsigned long int ctimensec; +}; + +/** * @def EINA_FILE_DIR_LIST_CB * @brief cast to an #Eina_File_Dir_List_Cb. * @@ -247,6 +280,24 @@ EAPI Eina_Iterator *eina_file_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_A EAPI Eina_Iterator *eina_file_stat_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; /** + * @brief Use information provided by Eina_Iterator of eina_file_stat_ls or eina_file_direct_ls + * to call stat in the most efficient way on your system. + * + * @param container The container returned by the Eina_Iterator using eina_iterator_container_get(). + * @param info The content of the current Eina_File_Direct_Info provided by the Eina_Iterator + * @param buf Where to put the result of the stat + * @return On success 0 is returned, On error -1 is returned and errno is set appropriately. + * + * This function calls fstatat or stat depending on what your system supports. This makes it efficient and simple + * to use on your side without complex detection already done inside Eina on what the system can do. + * + * @see eina_file_direct_ls() + * @see eina_file_stat_ls() + * @since 1.2 + */ +EAPI int eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *buf) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2, 3); + +/** * @brief Get an iterator to list the content of a directory, with direct * information. * diff --git a/libraries/eina/src/include/eina_inarray.h b/libraries/eina/src/include/eina_inarray.h index d37c76b..079f1e3 100644 --- a/libraries/eina/src/include/eina_inarray.h +++ b/libraries/eina/src/include/eina_inarray.h @@ -24,6 +24,131 @@ #include "eina_accessor.h" /** + * @page eina_inarray_example_01 Eina inline array usage + * @dontinclude eina_inarray_01.c + * + * This example will create an inline array of chars, add some elements, print + * it, re-purpose the array to store ints, add some elements and print that. + * + * We'll start with a function to compare ints we need this because the '>' + * operator is not a function and can't be used where Eina_Compare_Cb is needed. + * @skip int + * @until } + * + * And then move on to the code we actually care about, starting with variable + * declarations and eina initialization: + * @until eina_init + * + * Creating an inline array is very simple, we just need to know what type we + * want to store: + * @until inarray_new + * @note The second parameter(the step) is left at zero which means that eina + * will choose an appropriate value, this should @b only be changed if it's + * known, beforehand, how many elements the array will have. + * + * Once we have an array we can start adding elements to it. Because the + * insertion function expect a memory address we have to put the value we want + * to store in a variable(this should be no problem since in real world usage + * that's usually where the value will be anyways): + * @until append + * @note Because the inline array copies the value given to it we can later + * change @c ch, which we do, without affecting the contents of the array. + * + * So let's add some more elements: + * @until append + * @until append + * @until append + * + * We will then iterate over our array and print every position of it. The thing + * to note here is not so much the values which will be the expected 'a', 'b', + * 'c' and 'd', but rather the memory address of these values, they are + * sequential: + * @until printf + * @until printf + * + * We'll now use our array to store ints, so we need to first erase every member + * currently on the array: + * @until _flush + * + * And then to be able to store a different type on the same array we use the + * eina_array_setup() function, which is just like the eina_inarray_new() + * function except it receives already allocated memory. This time we're going + * to ask eina to use a step of size 4 because that's how many elements we'll be + * putting on the array: + * @until _setup + * @note Strictly speaking the reason to call eina_inarray_setup() is not + * because we're storing different type, but rather because our types have + * different sizes. Eina inline arrays don't actually know anything about types, + * they only deal in blocks of memory of a given size. + * @note Since eina_array_setup() receives already allocated memory you can(and + * it is in fact good practice) use inline arrays not declared as pointers: + * @code + * Eina_Inarray arr; + * eina_inarray_setup(&arr, sizeof(int), 4); + * @endcode + * + * And now to add our integer values to the array: + * @until append + * @until append + * @until append + * + * Just to change things up a bit we've left out the 99 value, but will still + * add it in such a way to keep the array ordered. There are many ways to do + * this, we could use eina_inarray_insert_at(), or we could change the value + * of the last member using eina_inarray_replace_at() and then append the values + * in the right order, but for no particular reason we're going to use + * eina_inarray_insert_sorted() instead: + * @until insert_sorted + * + * We then print the size of our array, and the array itself, much like last + * time the values are not surprising, and neither should it be that the memory + * addresses are contiguous: + * @until printf + * @until printf + * + * Once done we free our array and shutdown eina: + * @until } + * + * The source for this example: @ref eina_inarray_01_c + */ + +/** + * @page eina_inarray_01_c eina_inarray_01.c + * @include eina_inarray_01.c + * @example eina_inarray_01.c + */ + +/** + * @page eina_inarray_example_02 Eina inline array of strings + * @dontinclude eina_inarray_02.c + * + * This example will create an inline array of strings, add some elements and + * then print them. This example is based on @ref eina_array_01_example_page and + * @ref eina_inarray_example_01. + * + * We start with some variable declarations and eina initialization: + * @skip int + * @until eina_init + * + * We then create the array much like we did on @ref eina_inarray_example_01: + * @until inarray_new + * + * The point were this example significantly differs from the first eina inline + * array example. We'll not be adding the strings themselves to the array since + * their size varies, we'll store pointer to the strings instead. We therefore + * use @c char** to populate our inline array: + * @until } + * + * The source for this example: @ref eina_inarray_02_c + */ + +/** + * @page eina_inarray_02_c eina_inarray_02.c + * @include eina_inarray_02.c + * @example eina_inarray_02.c + */ + +/** * @addtogroup Eina_Data_Types_Group Data Types * * @since 1.2 @@ -40,6 +165,19 @@ /** * @defgroup Eina_Inline_Array_Group Inline Array * + * Inline array is a container that stores the data itself not pointers to data, + * this means there is no memory fragmentation, also for small data types(such + * as char, short, int, etc.) it's more memory efficient. + * + * Usage of the inline array is very similar to that of other + * @ref Eina_Containers_Group, like all arrays adding elements to the beginning + * of the array is a lot more costly than appending, so those operations should + * be minimized. + * + * Examples: + * @li @ref eina_inarray_example_01 + * @li @ref eina_inarray_example_02 + * * @{ */ @@ -531,8 +669,8 @@ EAPI Eina_Accessor *eina_inarray_accessor_new(const Eina_Inarray *array) EINA_MA * @since 1.2 */ #define EINA_INARRAY_FOREACH(array, itr) \ - for ((itr) = array->members; \ - (itr) < (((typeof(*itr)*)array->members) + array->len); \ + for ((itr) = (array)->members; \ + (itr) < (((typeof(*itr)*)(array)->members) + (array)->len); \ (itr)++) /** @@ -552,9 +690,9 @@ EAPI Eina_Accessor *eina_inarray_accessor_new(const Eina_Inarray *array) EINA_MA * @since 1.2 */ #define EINA_INARRAY_REVERSE_FOREACH(array, itr) \ - for ((itr) = ((((typeof(*(itr))*)array->members) + array->len) - 1); \ - (((itr) >= (typeof(*(itr))*)array->members) \ - && (array->members != NULL)); \ + for ((itr) = ((((typeof(*(itr))*)(array)->members) + (array)->len) - 1); \ + (((itr) >= (typeof(*(itr))*)(array)->members) \ + && ((array)->members != NULL)); \ (itr)--) /** diff --git a/libraries/eina/src/include/eina_inline_lock_win32.x b/libraries/eina/src/include/eina_inline_lock_win32.x index e8363d5..1988724 100644 --- a/libraries/eina/src/include/eina_inline_lock_win32.x +++ b/libraries/eina/src/include/eina_inline_lock_win32.x @@ -23,6 +23,9 @@ typedef CRITICAL_SECTION Eina_Lock; typedef struct _Eina_Condition Eina_Condition; +typedef struct _Eina_RWLock Eina_RWLock; +typedef DWORD Eina_TLS; +typedef HANDLE Eina_Semaphore; #if _WIN32_WINNT >= 0x0600 struct _Eina_Condition @@ -30,6 +33,13 @@ struct _Eina_Condition CRITICAL_SECTION *mutex; CONDITION_VARIABLE condition; }; + +struct _Eina_RWLock +{ + SRWLOCK mutex; + + Eina_Bool is_read_mode : 1; +}; #else struct _Eina_Condition { @@ -40,28 +50,24 @@ struct _Eina_Condition HANDLE waiters_done; Eina_Bool was_broadcast; }; -#endif -typedef struct _Eina_Win32_RWLock Eina_RWLock; - -struct _Eina_Win32_RWLock +struct _Eina_RWLock { - LONG readers_count; - LONG writers_count; - int readers; - int writers; + LONG readers_count; + LONG writers_count; + int readers; + int writers; Eina_Lock mutex; Eina_Condition cond_read; Eina_Condition cond_write; }; +#endif -typedef DWORD Eina_TLS; - -typedef HANDLE Eina_Semaphore; EAPI extern Eina_Bool _eina_threads_activated; + static inline Eina_Bool eina_lock_new(Eina_Lock *mutex) { @@ -143,9 +149,9 @@ eina_condition_new(Eina_Condition *cond, Eina_Lock *mutex) CloseHandle(cond->semaphore); return EINA_FALSE; } +#endif return EINA_TRUE; -#endif } static inline void @@ -153,6 +159,7 @@ eina_condition_free(Eina_Condition *cond) { #if _WIN32_WINNT >= 0x0600 /* Nothing to do */ + (void)cond; #else CloseHandle(cond->waiters_done); DeleteCriticalSection(&cond->waiters_count_lock); @@ -309,20 +316,29 @@ eina_condition_signal(Eina_Condition *cond) if (!ReleaseSemaphore(cond->semaphore, 1, 0)) return EINA_FALSE; } +#endif return EINA_TRUE; -#endif } static inline Eina_Bool eina_rwlock_new(Eina_RWLock *mutex) { +#if _WIN32_WINNT >= 0x0600 + InitializeSRWLock(&mutex->mutex); + return EINA_TRUE; +#else if (!eina_lock_new(&(mutex->mutex))) return EINA_FALSE; if (!eina_condition_new(&(mutex->cond_read), &(mutex->mutex))) goto on_error1; if (!eina_condition_new(&(mutex->cond_write), &(mutex->mutex))) goto on_error2; + mutex->readers_count = 0; + mutex->writers_count = 0; + mutex->readers = 0; + mutex->writers = 0; + return EINA_TRUE; on_error2: @@ -330,20 +346,29 @@ eina_rwlock_new(Eina_RWLock *mutex) on_error1: eina_lock_free(&(mutex->mutex)); return EINA_FALSE; +#endif } static inline void eina_rwlock_free(Eina_RWLock *mutex) { +#if _WIN32_WINNT >= 0x0600 + (void)mutex; +#else eina_condition_free(&(mutex->cond_read)); eina_condition_free(&(mutex->cond_write)); eina_lock_free(&(mutex->mutex)); +#endif } static inline Eina_Lock_Result eina_rwlock_take_read(Eina_RWLock *mutex) { - DWORD res; +#if _WIN32_WINNT >= 0x0600 + AcquireSRWLockShared(&mutex->mutex); + mutex->is_read_mode = EINA_TRUE; +#else + DWORD res = 0; if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) return EINA_LOCK_FAIL; @@ -364,6 +389,7 @@ eina_rwlock_take_read(Eina_RWLock *mutex) if (res == 0) mutex->readers++; eina_lock_release(&(mutex->mutex)); +#endif return EINA_LOCK_SUCCEED; } @@ -371,7 +397,11 @@ eina_rwlock_take_read(Eina_RWLock *mutex) static inline Eina_Lock_Result eina_rwlock_take_write(Eina_RWLock *mutex) { - DWORD res; +#if _WIN32_WINNT >= 0x0600 + AcquireSRWLockExclusive(&mutex->mutex); + mutex->is_read_mode = EINA_FALSE; +#else + DWORD res = 0; if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) return EINA_LOCK_FAIL; @@ -389,8 +419,9 @@ eina_rwlock_take_write(Eina_RWLock *mutex) } mutex->writers_count--; } - if (res == 0) mutex->writers_count = 1; + if (res == 0) mutex->writers = 1; eina_lock_release(&(mutex->mutex)); +#endif return EINA_LOCK_SUCCEED; } @@ -398,6 +429,12 @@ eina_rwlock_take_write(Eina_RWLock *mutex) static inline Eina_Lock_Result eina_rwlock_release(Eina_RWLock *mutex) { +#if _WIN32_WINNT >= 0x0600 + if (mutex->is_read_mode) + ReleaseSRWLockShared(&mutex->mutex); + else + ReleaseSRWLockExclusive(&mutex->mutex); +#else if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) return EINA_LOCK_FAIL; @@ -433,6 +470,7 @@ eina_rwlock_release(Eina_RWLock *mutex) } } eina_lock_release(&(mutex->mutex)); +#endif return EINA_LOCK_SUCCEED; } diff --git a/libraries/eina/src/include/eina_inline_stringshare.x b/libraries/eina/src/include/eina_inline_stringshare.x index bfd7677..19827c5 100644 --- a/libraries/eina/src/include/eina_inline_stringshare.x +++ b/libraries/eina/src/include/eina_inline_stringshare.x @@ -43,7 +43,7 @@ * #EINA_FALSE if the strings were the same after shared. */ static inline Eina_Bool -eina_stringshare_replace(const char **p_str, const char *news) +eina_stringshare_replace(Eina_Stringshare **p_str, const char *news) { if (*p_str == news) return EINA_FALSE; @@ -72,7 +72,7 @@ eina_stringshare_replace(const char **p_str, const char *news) * #EINA_FALSE if the strings were the same after shared. */ static inline Eina_Bool -eina_stringshare_replace_length(const char **p_str, const char *news, unsigned int slen) +eina_stringshare_replace_length(Eina_Stringshare **p_str, const char *news, unsigned int slen) { if (*p_str == news) return EINA_FALSE; diff --git a/libraries/eina/src/include/eina_inline_value.x b/libraries/eina/src/include/eina_inline_value.x index 59ec315..33c83f5 100644 --- a/libraries/eina/src/include/eina_inline_value.x +++ b/libraries/eina/src/include/eina_inline_value.x @@ -19,8 +19,8 @@ #ifndef EINA_INLINE_VALUE_X_ #define EINA_INLINE_VALUE_X_ +#include #include -#include #include "eina_stringshare.h" @@ -210,7 +210,7 @@ eina_value_compare(const Eina_Value *a, const Eina_Value *b) return 1; return 0; } - else if (type == EINA_VALUE_TYPE_ULONG) + else if ((type == EINA_VALUE_TYPE_ULONG) || (type == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long *ta = (unsigned long *) pa, *tb = (unsigned long *) pb; if (*ta < *tb) @@ -362,7 +362,7 @@ eina_value_vset(Eina_Value *value, va_list args) *tmem = va_arg(args, unsigned int); return EINA_TRUE; } - else if (type == EINA_VALUE_TYPE_ULONG) + else if ((type == EINA_VALUE_TYPE_ULONG) || (type == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long *tmem = (unsigned long *) mem; *tmem = va_arg(args, unsigned long); @@ -424,17 +424,22 @@ eina_value_vset(Eina_Value *value, va_list args) else if (type == EINA_VALUE_TYPE_STRING) { const char *str = (const char *) va_arg(args, const char *); - free(value->value.ptr); + if (value->value.ptr == str) return EINA_TRUE; if (!str) - value->value.ptr = NULL; + { + free(value->value.ptr); + value->value.ptr = NULL; + } else { - value->value.ptr = strdup(str); - if (!value->value.ptr) + char *tmp = strdup(str); + if (!tmp) { eina_error_set(EINA_ERROR_OUT_OF_MEMORY); return EINA_FALSE; } + free(value->value.ptr); + value->value.ptr = tmp; } return EINA_TRUE; } @@ -494,18 +499,22 @@ eina_value_pset(Eina_Value *value, const void *ptr) { const char * const * pstr = (const char * const *) ptr; const char *str = *pstr; - - free(value->value.ptr); + if (value->value.ptr == str) return EINA_TRUE; if (!str) - value->value.ptr = NULL; + { + free(value->value.ptr); + value->value.ptr = NULL; + } else { - value->value.ptr = strdup(str); - if (!value->value.ptr) + char *tmp = strdup(str); + if (!tmp) { eina_error_set(EINA_ERROR_OUT_OF_MEMORY); return EINA_FALSE; } + free(value->value.ptr); + value->value.ptr = tmp; } return EINA_TRUE; } @@ -607,16 +616,7 @@ eina_value_array_vset(Eina_Value *value, unsigned int position, va_list args) if (!mem) return EINA_FALSE; - eina_value_type_flush(desc.subtype, mem); - - if (!eina_value_type_setup(desc.subtype, mem)) goto error_setup; - if (!eina_value_type_vset(desc.subtype, mem, args)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(desc.subtype, mem); - error_setup: - return EINA_FALSE; + return eina_value_type_vset(desc.subtype, mem, args); } static inline Eina_Bool @@ -749,16 +749,7 @@ eina_value_array_pset(Eina_Value *value, unsigned int position, const void *ptr) if (!mem) return EINA_FALSE; - eina_value_type_flush(desc.subtype, mem); - - if (!eina_value_type_setup(desc.subtype, mem)) goto error_setup; - if (!eina_value_type_pset(desc.subtype, mem, ptr)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(desc.subtype, mem); - error_setup: - return EINA_FALSE; + return eina_value_type_pset(desc.subtype, mem, ptr); } static inline Eina_Bool @@ -832,6 +823,29 @@ eina_value_array_pappend(Eina_Value *value, const void *ptr) return EINA_FALSE; } +static inline Eina_Bool +eina_value_array_value_get(const Eina_Value *src, unsigned int position, Eina_Value *dst) +{ + Eina_Value_Array desc; + + EINA_VALUE_TYPE_ARRAY_CHECK_RETURN_VAL(src, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(dst, EINA_FALSE); + + if (!eina_value_pget(src, &desc)) + return EINA_FALSE; + if (position >= eina_inarray_count(desc.array)) + return EINA_FALSE; + if (!eina_value_setup(dst, desc.subtype)) + return EINA_FALSE; + if (!eina_value_pset(dst, eina_inarray_nth(desc.array, position))) + { + eina_value_flush(dst); + return EINA_FALSE; + } + + return EINA_TRUE; +} + #undef EINA_VALUE_TYPE_ARRAY_CHECK_RETURN_VAL #define EINA_VALUE_TYPE_LIST_CHECK_RETURN_VAL(value, retval) \ @@ -929,16 +943,7 @@ eina_value_list_vset(Eina_Value *value, unsigned int position, va_list args) if (!mem) return EINA_FALSE; - eina_value_type_flush(desc->subtype, mem); - - if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; - if (!eina_value_type_vset(desc->subtype, mem, args)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(desc->subtype, mem); - error_setup: - return EINA_FALSE; + return eina_value_type_vset(desc->subtype, mem, args); } static inline Eina_Bool @@ -1105,16 +1110,7 @@ eina_value_list_pset(Eina_Value *value, unsigned int position, const void *ptr) if (!mem) return EINA_FALSE; - eina_value_type_flush(desc->subtype, mem); - - if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; - if (!eina_value_type_pset(desc->subtype, mem, ptr)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(desc->subtype, mem); - error_setup: - return EINA_FALSE; + return eina_value_type_pset(desc->subtype, mem, ptr); } static inline Eina_Bool @@ -1284,9 +1280,7 @@ eina_value_hash_vset(Eina_Value *value, const char *key, va_list args) return EINA_FALSE; mem = eina_hash_find(desc->hash, key); - if (mem) - eina_value_type_flush(desc->subtype, mem); - else + if (!mem) { mem = malloc(desc->subtype->value_size); if (!mem) @@ -1299,18 +1293,15 @@ eina_value_hash_vset(Eina_Value *value, const char *key, va_list args) free(mem); return EINA_FALSE; } + if (!eina_value_type_setup(desc->subtype, mem)) + { + eina_value_type_flush(desc->subtype, mem); + eina_hash_del_by_key(desc->hash, key); + free(mem); + } } - if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; - if (!eina_value_type_vset(desc->subtype, mem, args)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(desc->subtype, mem); - error_setup: - eina_hash_del_by_key(desc->hash, key); - free(mem); - return EINA_FALSE; + return eina_value_type_vset(desc->subtype, mem, args); } static inline Eina_Bool @@ -1371,9 +1362,7 @@ eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr) return EINA_FALSE; mem = eina_hash_find(desc->hash, key); - if (mem) - eina_value_type_flush(desc->subtype, mem); - else + if (!mem) { mem = malloc(desc->subtype->value_size); if (!mem) @@ -1386,18 +1375,15 @@ eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr) free(mem); return EINA_FALSE; } + if (!eina_value_type_setup(desc->subtype, mem)) + { + eina_value_type_flush(desc->subtype, mem); + eina_hash_del_by_key(desc->hash, key); + free(mem); + } } - if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; - if (!eina_value_type_pset(desc->subtype, mem, ptr)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(desc->subtype, mem); - error_setup: - eina_hash_del_by_key(desc->hash, key); - free(mem); - return EINA_FALSE; + return eina_value_type_pset(desc->subtype, mem, ptr); } static inline Eina_Bool @@ -1474,15 +1460,7 @@ eina_value_struct_vset(Eina_Value *value, const char *name, va_list args) if (!mem) return EINA_FALSE; - eina_value_type_flush(member->type, mem); - if (!eina_value_type_setup(member->type, mem)) goto error_setup; - if (!eina_value_type_vset(member->type, mem, args)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(member->type, mem); - error_setup: - return EINA_FALSE; + return eina_value_type_vset(member->type, mem, args); } static inline Eina_Bool @@ -1540,8 +1518,9 @@ eina_value_struct_pset(Eina_Value *value, const char *name, const void *ptr) Eina_Value_Struct *st; void *mem; - EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, 0); + EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(ptr, EINA_FALSE); st = (Eina_Value_Struct *)eina_value_memory_get(value); if (!st) return EINA_FALSE; @@ -1552,15 +1531,7 @@ eina_value_struct_pset(Eina_Value *value, const char *name, const void *ptr) if (!mem) return EINA_FALSE; - eina_value_type_flush(member->type, mem); - if (!eina_value_type_setup(member->type, mem)) goto error_setup; - if (!eina_value_type_pset(member->type, mem, ptr)) goto error_set; - return EINA_TRUE; - - error_set: - eina_value_type_flush(member->type, mem); - error_setup: - return EINA_FALSE; + return eina_value_type_pset(member->type, mem, ptr); } static inline Eina_Bool @@ -1571,8 +1542,9 @@ eina_value_struct_pget(const Eina_Value *value, const char *name, void *ptr) const void *mem; Eina_Bool ret; - EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, 0); + EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(ptr, EINA_FALSE); st = (const Eina_Value_Struct *)eina_value_memory_get(value); if (!st) return EINA_FALSE; @@ -1586,6 +1558,119 @@ eina_value_struct_pget(const Eina_Value *value, const char *name, void *ptr) ret = eina_value_type_pget(member->type, mem, ptr); return ret; } + +static inline Eina_Bool +eina_value_struct_value_get(const Eina_Value *src, const char *name, Eina_Value *dst) +{ + const Eina_Value_Struct_Member *member; + const Eina_Value_Struct *st; + const void *mem; + + EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(src, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(dst, EINA_FALSE); + st = (const Eina_Value_Struct *)eina_value_memory_get(src); + if (!st) + return EINA_FALSE; + member = eina_value_struct_member_find(st, name); + if (!member) + return EINA_FALSE; + mem = eina_value_struct_member_memory_get(st, member); + if (!mem) + return EINA_FALSE; + if (!eina_value_setup(dst, member->type)) + return EINA_FALSE; + if (!eina_value_pset(dst, mem)) + { + eina_value_flush(dst); + return EINA_FALSE; + } + return EINA_TRUE; +} + +static inline Eina_Bool +eina_value_struct_value_set(Eina_Value *dst, const char *name, const Eina_Value *src) +{ + const Eina_Value_Struct_Member *member; + Eina_Value_Struct *st; + void *mem; + const void *ptr; + + EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(dst, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(src, EINA_FALSE); + + st = (Eina_Value_Struct *)eina_value_memory_get(dst); + if (!st) + return EINA_FALSE; + member = eina_value_struct_member_find(st, name); + if (!member) + return EINA_FALSE; + EINA_SAFETY_ON_FALSE_RETURN_VAL(src->type == member->type, EINA_FALSE); + + mem = eina_value_struct_member_memory_get(st, member); + if (!mem) + return EINA_FALSE; + + ptr = eina_value_memory_get(src); + if (!ptr) + return EINA_FALSE; + + return eina_value_type_pset(member->type, mem, ptr); +} + +static inline Eina_Bool +eina_value_struct_member_value_get(const Eina_Value *src, const Eina_Value_Struct_Member *member, Eina_Value *dst) +{ + const Eina_Value_Struct *st; + const void *mem; + + EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(src, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(member, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(dst, EINA_FALSE); + st = (const Eina_Value_Struct *)eina_value_memory_get(src); + if (!st) + return EINA_FALSE; + mem = eina_value_struct_member_memory_get(st, member); + if (!mem) + return EINA_FALSE; + if (!eina_value_setup(dst, member->type)) + return EINA_FALSE; + if (!eina_value_pset(dst, mem)) + { + eina_value_flush(dst); + return EINA_FALSE; + } + return EINA_TRUE; +} + +static inline Eina_Bool +eina_value_struct_member_value_set(Eina_Value *dst, const Eina_Value_Struct_Member *member, const Eina_Value *src) +{ + Eina_Value_Struct *st; + void *mem; + const void *ptr; + + EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(dst, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(member, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(src, EINA_FALSE); + + st = (Eina_Value_Struct *)eina_value_memory_get(dst); + if (!st) + return EINA_FALSE; + EINA_SAFETY_ON_FALSE_RETURN_VAL(src->type == member->type, EINA_FALSE); + + mem = eina_value_struct_member_memory_get(st, member); + if (!mem) + return EINA_FALSE; + + ptr = eina_value_memory_get(src); + if (!ptr) + return EINA_FALSE; + + return eina_value_type_pset(member->type, mem, ptr); +} + #undef EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL diff --git a/libraries/eina/src/include/eina_list.h b/libraries/eina/src/include/eina_list.h index db65e17..c8ef06d 100644 --- a/libraries/eina/src/include/eina_list.h +++ b/libraries/eina/src/include/eina_list.h @@ -881,13 +881,13 @@ EAPI Eina_List *eina_list_clone(const Eina_List *list) EINA_WARN_UNUS * @brief Sort a list according to the ordering func will return. * * @param list The list handle to sort. - * @param size The length of the list to sort. + * @param limit The maximum number of list elements to sort. * @param func A function pointer that can handle comparing the list data * nodes. * @return the new head of list. * * This function sorts @p list. @p size if the number of the first - * element to sort. If @p size is 0 or greater than the number of + * element to sort. If @p limit is 0 or greater than the number of * elements in @p list, all the elements are sorted. @p func is used to * compare two elements of @p list. If @p list or @p func are @c NULL, * this function returns @c NULL. @@ -920,7 +920,7 @@ EAPI Eina_List *eina_list_clone(const Eina_List *list) EINA_WARN_UNUS * * @warning @p list must be a pointer to the first element of the list. */ -EAPI Eina_List *eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func) EINA_ARG_NONNULL(3) EINA_WARN_UNUSED_RESULT; +EAPI Eina_List *eina_list_sort(Eina_List *list, unsigned int limit, Eina_Compare_Cb func) EINA_ARG_NONNULL(3) EINA_WARN_UNUSED_RESULT; /** diff --git a/libraries/eina/src/include/eina_stringshare.h b/libraries/eina/src/include/eina_stringshare.h index 862b2b2..8edadd2 100644 --- a/libraries/eina/src/include/eina_stringshare.h +++ b/libraries/eina/src/include/eina_stringshare.h @@ -126,6 +126,20 @@ * string creation/destruction speed, reduces memory use and decreases * memory fragmentation, so a win all-around. * + * Using eina stringshares usually boils down to: + * @code + * const char *str = eina_stringshare_add("My string"); + * ... + * //Use str + * ... + * eina_stringshare_del(str); + * @endcode + * @note It's very important to note that string shares are @b @c const, + * changing them will result in undefined behavior. + * @note eina_stringshare_del() @b doesn't guarantee the string share will be + * freed, it releases a reference to it, but if other references to it still + * exist the string share will live until those are released. + * * The following diagram gives an idea of what happens as you create strings * with eina_stringshare_add(): * @@ -148,6 +162,15 @@ * @{ */ +/** + * @typedef Eina_Stringshare + * + * Interchangeable with "const char *" but still a good visual hint for the + * purpose. Maybe in the far far future we'll even add strict type checking. + * + * @since 1.2.0 + */ +typedef const char Eina_Stringshare; /** * @brief Retrieve an instance of a string for use in a program. @@ -168,7 +191,7 @@ * * @see eina_share_common_add() */ -EAPI const char *eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Stringshare *eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT; /** * @brief Retrieve an instance of a string for use in a program. @@ -188,7 +211,7 @@ EAPI const char *eina_stringshare_add_length(const char *str, unsigned in * * @see eina_stringshare_add_length() */ -EAPI const char *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Stringshare *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT; /** * @brief Retrieve an instance of a string for use in a program @@ -209,7 +232,7 @@ EAPI const char *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_R * * @see eina_stringshare_nprintf() */ -EAPI const char *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(1, 2); +EAPI Eina_Stringshare *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(1, 2); /** * @brief Retrieve an instance of a string for use in a program @@ -231,7 +254,7 @@ EAPI const char *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_ * * @see eina_stringshare_nprintf() */ -EAPI const char *eina_stringshare_vprintf(const char *fmt, va_list args) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Stringshare *eina_stringshare_vprintf(const char *fmt, va_list args) EINA_WARN_UNUSED_RESULT; /** * @brief Retrieve an instance of a string for use in a program @@ -251,7 +274,7 @@ EAPI const char *eina_stringshare_vprintf(const char *fmt, va_list args) * * @see eina_stringshare_printf() */ -EAPI const char *eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(2, 3); +EAPI Eina_Stringshare *eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(2, 3); /** * Increment references of the given shared string. @@ -267,7 +290,7 @@ EAPI const char *eina_stringshare_nprintf(unsigned int len, const char *f * * There is no unref since this is the work of eina_share_common_del(). */ -EAPI const char *eina_stringshare_ref(const char *str); +EAPI Eina_Stringshare *eina_stringshare_ref(Eina_Stringshare *str); /** * @brief Note that the given string has lost an instance. @@ -282,7 +305,7 @@ EAPI const char *eina_stringshare_ref(const char *str); * Note that if the given pointer is not shared or NULL, bad things * will happen, likely a segmentation fault. */ -EAPI void eina_stringshare_del(const char *str); +EAPI void eina_stringshare_del(Eina_Stringshare *str); /** * @brief Note that the given string @b must be shared. @@ -296,7 +319,7 @@ EAPI void eina_stringshare_del(const char *str); * things will happen, likely a segmentation fault. If in doubt, try * strlen(). */ -EAPI int eina_stringshare_strlen(const char *str) EINA_PURE EINA_WARN_UNUSED_RESULT; +EAPI int eina_stringshare_strlen(Eina_Stringshare *str) EINA_PURE EINA_WARN_UNUSED_RESULT; /** * @brief Dump the contents of the share_common. @@ -306,8 +329,8 @@ EAPI int eina_stringshare_strlen(const char *str) EINA_PURE EINA_ */ EAPI void eina_stringshare_dump(void); -static inline Eina_Bool eina_stringshare_replace(const char **p_str, const char *news) EINA_ARG_NONNULL(1); -static inline Eina_Bool eina_stringshare_replace_length(const char **p_str, const char *news, unsigned int slen) EINA_ARG_NONNULL(1); +static inline Eina_Bool eina_stringshare_replace(Eina_Stringshare **p_str, const char *news) EINA_ARG_NONNULL(1); +static inline Eina_Bool eina_stringshare_replace_length(Eina_Stringshare **p_str, const char *news, unsigned int slen) EINA_ARG_NONNULL(1); #include "eina_inline_stringshare.x" diff --git a/libraries/eina/src/include/eina_types.h b/libraries/eina/src/include/eina_types.h index 1653949..b0a7cf8 100644 --- a/libraries/eina/src/include/eina_types.h +++ b/libraries/eina/src/include/eina_types.h @@ -98,13 +98,13 @@ #ifdef __GNUC__ # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# define EINA_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) +# define EINA_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) # else # define EINA_WARN_UNUSED_RESULT # endif # if (!defined(EINA_SAFETY_CHECKS)) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) -# define EINA_ARG_NONNULL(idx, ...) __attribute__ ((nonnull(idx, ## __VA_ARGS__))) +# define EINA_ARG_NONNULL(idx, ...) __attribute__ ((__nonnull__(idx, ## __VA_ARGS__))) # else # define EINA_ARG_NONNULL(idx, ...) # endif @@ -116,19 +116,23 @@ # endif # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define EINA_MALLOC __attribute__ ((malloc)) -# define EINA_PURE __attribute__ ((pure)) +# define EINA_MALLOC __attribute__ ((__malloc__)) +# define EINA_PURE __attribute__ ((__pure__)) # else # define EINA_MALLOC # define EINA_PURE # endif # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) -# define EINA_PRINTF(fmt, arg) __attribute__((format (printf, fmt, arg))) -# define EINA_SCANF(fmt, arg) __attribute__((format (scanf, fmt, arg))) -# define EINA_FORMAT(fmt) __attribute__((format_arg(fmt))) -# define EINA_CONST __attribute__((const)) -# define EINA_NOINSTRUMENT __attribute__((no_instrument_function)) +# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 3) +# define EINA_PRINTF(fmt, arg) __attribute__((__format__ (__gnu_printf__, fmt, arg))) +# else +# define EINA_PRINTF(fmt, arg) __attribute__((__format__ (__printf__, fmt, arg))) +# endif +# define EINA_SCANF(fmt, arg) __attribute__((__format__ (__scanf__, fmt, arg))) +# define EINA_FORMAT(fmt) __attribute__((__format_arg__(fmt))) +# define EINA_CONST __attribute__((__const__)) +# define EINA_NOINSTRUMENT __attribute__((__no_instrument_function__)) # define EINA_UNLIKELY(exp) __builtin_expect((exp), 0) # define EINA_LIKELY(exp) __builtin_expect((exp), 1) # else @@ -276,6 +280,16 @@ typedef void (*Eina_Free_Cb)(void *data); #define EINA_FREE_CB(Function) ((Eina_Free_Cb)Function) /** + * @def EINA_C_ARRAY_LENGTH + * Macro to return the array length of a standard c array. + * For example: + * int foo[] = { 0, 1, 2, 3 }; + * would return 4 and not 4 * sizeof(int). + * @since 1.2.0 + */ +#define EINA_C_ARRAY_LENGTH(arr) (sizeof(arr) / sizeof((arr)[0])) + +/** * @} */ diff --git a/libraries/eina/src/include/eina_value.h b/libraries/eina/src/include/eina_value.h index 846c4ef..341781f 100644 --- a/libraries/eina/src/include/eina_value.h +++ b/libraries/eina/src/include/eina_value.h @@ -19,12 +19,244 @@ #ifndef EINA_VALUE_H_ #define EINA_VALUE_H_ +#include + #include "eina_types.h" #include "eina_fp.h" /* defines int64_t and uint64_t */ #include "eina_inarray.h" #include "eina_list.h" #include "eina_hash.h" -#include + +/** + * @page eina_value_example_01_page Eina_Value usage + * @dontinclude eina_value_01.c + * + * This very simple example shows how to use some of the basic features of eina + * value: setting and getting values, converting between types and printing a + * value as a string. + * + * Our main function starts out with the basic, declaring some variables and + * initializing eina: + * @until eina_init + * + * Now we can jump into using eina value. We set a value, get this value and + * then print it: + * @until printf + * + * In the above snippet of code we printed an @c int value, we can however print + * the value as a string: + * @until free + * + * And once done with a value it's good practice to destroy it: + * @until eina_value_flush + * + * We now reuse @c v to store a string, get its value and print it: + * @until printf + * @note Since @c s is the value and not returned by @c eina_value_to_string() + * we don't need to free it. + * + * Just because we stored a string doesn't mean we can't use the @c + * eina_value_to_string() function, we can and it's important to note that it + * will return not the stored string but rather a copy of it(one we have to + * free): + * @until eina_value_flush + * + * And now to explore conversions between two type we'll create another value: + * @until eina_value_setup + * + * And make sure @c v and @c otherv have different types: + * @until eina_value_setup + * + * We then set a value to @c v and have it converted, to do this we don't need + * to tell to which type we want to convert, we just say were we want to store + * the converted value and eina value will figure out what to convert to, and + * how: + * @until eina_value_convert + * + * And now let's check the conversion worked: + * @until printf + * + * But converting to strings is not particularly exciting, @c + * eina_value_to_string() already did that, so now let's make the conversion the + * other way around, from string to @c int: + * @until printf + * + * And once done, destroy the values: + * @until } + * + * Full source code: @ref eina_value_01_c + */ + +/** + * @page eina_value_01_c eina_value_01.c + * @include eina_value_01.c + * @example eina_value_01.c + */ + +/** + * @page eina_value_example_02_page Eina_Value struct usage + * @dontinclude eina_value_02.c + * + * This example will examine a hypothetical situation in which we had a + * structure(which represented parameters) with two fields, and then need to add + * a third field to our structure. If using structs directly we'd need to + * rewrite every piece of code that touches the struct, by using eina value, and + * thus having the compiler not even know the struct, we can reduce the amount + * of changes needed and retain interoperability between the old and new format. + * + * Our example will start with a function that creates descriptions of both of + * our structs for eina value usage. The first step is to create a struct and + * describe its members: + * @until v1_members[1] + * @note We can't pass the types of the members to EINA_VALUE_STRUCT_MEMBER + * macro because they are not constant initializers. + * + * So far it should be pretty easy to understand, we said @c My_Struct_V1 has + * two members, one of type @c int and another of type @c char. We now create + * the description of the actual struct, again nothing overly complex, we signal + * which version of EINA_VALUE_STRUCT we're using, we declare no special + * operations, our members and our size: + * @until V1_DESC + * + * We now repeat the process for the second version of our struct, the only + * difference is the addition of a third parameter of type @c int : + * @until V2_DESC + * @until } + * + * We'll now look at a function that sets the values of our structs. For + * simplicity's sake we initialize it we random values, a real world case would + * read these values from a file, a database or even from the network. The + * fundamental detail here is that this function works for both V1 and V2 + * structs, this is because setting a parameter that a struct that doesn't have + * does nothing without throwing any errors: + * @until } + * @note While using eina_value_struct_set() with an in-existing parameter + * causes no error, it does return #EINA_FALSE, to notify it was not possible + * to set the value. This could be used to determine that we're handling a V1 + * struct and take some action based on that. + * + * The next thing is to do is see what a function that uses the values of the + * struct looks like. We'll again be very simplistic in our usage, we'll just + * print the values, but a real world case, might send these values to another + * process use them to open a network/database connection or anything else. + * Since all versions of the struct have @c param1 and @c param2 we'll + * unconditionally use them: + * @until printf + * + * The next step is to conditionally use @c param3, which can fortunately be + * done in the same step in which we get it's value: + * @until } + * + * There we've now got functions that can both populate and use values from both + * our structs, so now let's actually use them in our main function by creating + * a struct of each type, initializing them and them using them: + * @until } + * + * This concludes our example. For the full source code see @ref + * eina_value_02_c. + */ + +/** + * @page eina_value_02_c eina_value_02.c + * @include eina_value_02.c + * @example eina_value_02.c + */ + +/** + * @page eina_value_example_03_page Eina value custom type example + * @dontinclude eina_value_03.c + * + * For this example we'll be creating our own custom type of eina value. Eina + * value can already store struct timeval(man gettimeofday for more information) + * but it has no type to store struct timezone, so that's what this example will + * do. + * @note struct timezone is actually obsolete, so using it in real world + * programs is probably not a good idea, but this is an example so, bear with + * us. + * + * To create our own custom eina value type we need to define functions to + * do the following operations on it: + * @li Setup + * @li Flush + * @li Copy + * @li Compare + * @li Set + * @li Get + * @li Conversion + * + * Most of this functions are very simple, so let's look at them, starting with + * setup which only clear the memory so that we can be certain we won't be using + * stale data: + * @until } + * + * Now the flush function, which is even simpler, it does nothing, that's + * because there is nothing we need to do, all the necessary steps are taken by + * eina value itself: + * @until } + * + * Our next function, copy, is a bit more interesting, but not much, it just + * casts our void pointers to struct timezone pointers and does the copy: + * @until } + * @note By now you might be wondering why our functions receive void pointers + * instead of pointers to struct timezone, and this is a good point. The reason + * for this is that eina value doesn't know anything about our type so it must + * use a generic void pointer, casting that pointer into a proper value is the + * job of the implementor of the new type. + * + * Next we have the comparison function, which compares the @c tz_minuteswest + * field of struct timezone, we don't compare @c tz_dsttime because that field + * is not used in linux: + * @until } + * + * Next we have setting, this however requires not one but rather two functions, + * the reason for this is because to be able to receive arguments of any type + * eina value uses @ref https://wikipedia.org/wiki/Variadic_functions "variadic + * functions", so we need a function to get the argument from a va_list and + * another to actually to the setting. + * + * Lets first look at the pset function which sets the received value to a + * pointer: + * @until } + * + * Next we have the vset function which get the argument from the va_list and + * passes it to the pset function: + * @until } + * + * And now the function to get the value, a very simple copying of the value to + * the given pointer: + * @until } + * + * And finally our conversion function, this is our longest and most interesting + * one. For numeric type we simply assign the value of @c tz_minuteswest to the + * new type and call a set function using it: + * @until EINA_VALUE_TYPE_DOUBLE + * @until return + * @note It would be a good idea to add checks for over and underflow for these + * types and return #EINA_FALSE in thoses cases, we omit this here for brevity. + * + * For string types we use @c snprintf() to format our @c tz_minuteswest field + * and put it in a string(again @c tz_dsttime is ignored because it's not used): + * @until } + * + * Finally we handle any other types by returning an error in that case: + * @until } + * + * Now that we have all the functions, we can populate an @c Eina_Value_Type to + * later use it with @c eina_value_setup(): + * @until } + * + * We can now finally use our new TZ_TYPE with eina value, so lets conclude our + * example by practicing that by setting its value and printing it: + * @until } + * + * For the full source code see @ref eina_value_03_c. + */ + +/** + * @page eina_value_03_c eina_value_03.c + * @include eina_value_03.c + * @example eina_value_03.c + */ /** * @addtogroup Eina_Data_Types_Group Data Types @@ -43,6 +275,24 @@ /** * @defgroup Eina_Value_Group Generic Value Storage * + * Abstracts generic data storage and access to it in an extensible + * and efficient way. + * + * It comes with pre-defined types for numbers, array, list, hash, + * blob and structs. It is able to convert between data types, + * including to string. + * + * It is meant for simple data types, providing uniform access and + * release functions, useful to exchange data preserving their + * types. For more complex hierarchical data, with properties and + * children, reference counting, inheritance and interfaces, see @ref + * Eina_Model_Group. + * + * Examples of usage of the Eina_Value API: + * @li @ref eina_value_example_01_page + * @li @ref eina_value_example_02_page + * @li @ref eina_value_example_03_page + * * @{ */ @@ -67,6 +317,9 @@ typedef struct _Eina_Value_Type Eina_Value_Type; * @typedef Eina_Value_Union * Union of all known value types. * + * This is only used to specify the minimum payload memory for #Eina_Value. + * + * @internal * @since 1.2 */ typedef union _Eina_Value_Union Eina_Value_Union; @@ -75,6 +328,9 @@ typedef union _Eina_Value_Union Eina_Value_Union; * @union _Eina_Value_Union * All possible value types. * + * This is only used to specify the minimum payload memory for #Eina_Value. + * + * @internal * @since 1.2 */ union _Eina_Value_Union @@ -117,6 +373,15 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_UINT; EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_ULONG; /** + * @var EINA_VALUE_TYPE_TIMESTAMP + * manages unsigned long type used for timestamps. + * @note this is identical in function to EINA_VALUE_TYPE_ULONG + * + * @since 1.2 + */ +EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_TIMESTAMP; + +/** * @var EINA_VALUE_TYPE_UINT64 * manages unsigned integer of 64 bits type. * @@ -206,10 +471,11 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_STRING; * @li eina_value_array_pget() and eina_value_array_pset() * * eina_value_set() takes an #Eina_Value_Array where just @c subtype - * and @c step are used. If there is an @c array, it will be adopted - * and its contents must be properly configurable as @c subtype - * expects. eina_value_pset() takes a pointer to an #Eina_Value_Array. - * For your convenience, use eina_value_array_setup(). + * and @c step are used. If there is an @c array, it will be copied + * (including each item) and its contents must be properly + * configurable as @c subtype expects. eina_value_pset() takes a + * pointer to an #Eina_Value_Array. For your convenience, use + * eina_value_array_setup(). * * eina_value_get() and eina_value_pget() takes a pointer to * #Eina_Value_Array, it's an exact copy of the current structure in @@ -228,10 +494,11 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_ARRAY; * @li eina_value_list_pget() and eina_value_list_pset() * * eina_value_set() takes an #Eina_Value_List where just @c subtype is - * used. If there is an @c list, it will be adopted and its contents - * must be properly configurable as @c subtype - * expects. eina_value_pset() takes a pointer to an #Eina_Value_List. - * For your convenience, use eina_value_list_setup(). + * used. If there is an @c list, it will be copied (including each + * item) and its contents must be properly configurable as @c + * subtype expects. eina_value_pset() takes a pointer to an + * #Eina_Value_List. For your convenience, use + * eina_value_list_setup(). * * eina_value_get() and eina_value_pget() takes a pointer to * #Eina_Value_List, it's an exact copy of the current structure in @@ -251,9 +518,9 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_LIST; * * eina_value_set() takes an #Eina_Value_Hash where just @c subtype * and @c buckets_power_size are used. If there is an @c hash, it will - * be adopted and its contents must be properly configurable as @c - * subtype expects. eina_value_pset() takes a pointer to an - * #Eina_Value_Hash. For your convenience, use + * be copied (including each item) and its contents must be + * properly configurable as @c subtype expects. eina_value_pset() + * takes a pointer to an #Eina_Value_Hash. For your convenience, use * eina_value_hash_setup(). * * eina_value_get() and eina_value_pget() takes a pointer to @@ -310,9 +577,10 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_BLOB; * @li eina_value_struct_pget() and eina_value_struct_pset() * * eina_value_set() takes an #Eina_Value_Struct where just @c desc is - * used. If there is an @c memory, it will be adopted and its contents - * must be properly configurable as @c desc expects. eina_value_pset() - * takes a pointer to an #Eina_Value_Struct. For your convenience, use + * used. If there is an @c memory, it will be copied (including each + * member) and its contents must be properly configurable as @c desc + * expects. eina_value_pset() takes a pointer to an + * #Eina_Value_Struct. For your convenience, use * eina_value_struct_setup(). * * eina_value_get() and eina_value_pget() takes a pointer to @@ -324,6 +592,23 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_BLOB; EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_STRUCT; /** + * @var EINA_VALUE_TYPE_MODEL + * + * manages Eina_Model type. Use the value get/set to change the model + * in use, it will increase the reference while in use by the value. + * + * eina_value_set() takes a pointer to #Eina_Model, increasing the + * reference. + * + * eina_value_get() takes a pointer to pointer to #Eina_Model, it's an + * exact copy of the current model, no copies are done, no references + * are increased. + * + * @since 1.2 + */ +EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_MODEL; + +/** * @var EINA_ERROR_VALUE_FAILED * Error identifier corresponding to value check failure. * @@ -435,7 +720,7 @@ static inline void eina_value_flush(Eina_Value *value) EINA_ARG_NONNULL(1); * @param copy destination value object * @return #EINA_TRUE on success, #EINA_FALSE otherwise. * - * The @a copy object is considered internalized and its existing + * The @a copy object is considered uninitialized and its existing * contents are overwritten (just as if eina_value_flush() was called on * it). * @@ -812,8 +1097,9 @@ static inline const Eina_Value_Type *eina_value_type_get(const Eina_Value *value /** * @typedef Eina_Value_Array - * Value type for #EINA_VALUE_TYPE_ARRAY + * Value type for #EINA_VALUE_TYPE_ARRAY. * + * @see #_Eina_Value_Array explains fields. * @since 1.2 */ typedef struct _Eina_Value_Array Eina_Value_Array; @@ -821,6 +1107,7 @@ typedef struct _Eina_Value_Array Eina_Value_Array; /** * @struct _Eina_Value_Array * Used to store the array and its subtype. + * @since 1.2 */ struct _Eina_Value_Array { @@ -1433,6 +1720,22 @@ static inline Eina_Bool eina_value_array_pappend(Eina_Value *value, const void *ptr) EINA_ARG_NONNULL(1); /** + * @brief Retrieves a value from the array as an Eina_Value copy. + * @param value source value object + * @param position index of the member + * @param dst where to return the array member + * @return #EINA_TRUE on success, #EINA_FALSE otherwise. + * + * The argument @a dst is considered uninitialized and it's setup to + * the type of the member. + * + * @since 1.2 + */ +static inline Eina_Bool eina_value_array_value_get(const Eina_Value *src, + unsigned int position, + Eina_Value *dst) EINA_ARG_NONNULL(1, 3); + +/** * @} */ @@ -1446,8 +1749,9 @@ static inline Eina_Bool eina_value_array_pappend(Eina_Value *value, /** * @typedef Eina_Value_List - * Value type for #EINA_VALUE_TYPE_LIST + * Value type for #EINA_VALUE_TYPE_LIST. * + * @see #_Eina_Value_List explains fields. * @since 1.2 */ typedef struct _Eina_Value_List Eina_Value_List; @@ -1455,6 +1759,7 @@ typedef struct _Eina_Value_List Eina_Value_List; /** * @struct _Eina_Value_List * Used to store the list and its subtype. + * @since 1.2 */ struct _Eina_Value_List { @@ -2067,8 +2372,9 @@ static inline Eina_Bool eina_value_list_pappend(Eina_Value *value, /** * @typedef Eina_Value_Hash - * Value type for #EINA_VALUE_TYPE_HASH + * Value type for #EINA_VALUE_TYPE_HASH. * + * @see #_Eina_Value_Hash explains fields. * @since 1.2 */ typedef struct _Eina_Value_Hash Eina_Value_Hash; @@ -2076,6 +2382,7 @@ typedef struct _Eina_Value_Hash Eina_Value_Hash; /** * @struct _Eina_Value_Hash * Used to store the hash and its subtype. + * @since 1.2 */ struct _Eina_Value_Hash { @@ -2409,19 +2716,25 @@ static inline Eina_Bool eina_value_hash_pget(const Eina_Value *value, /** * @typedef Eina_Value_Blob_Operations * How to manage blob. Any @c NULL callback is ignored. + * @see #_Eina_Value_Blob_Operations explains fields. * @since 1.2 */ typedef struct _Eina_Value_Blob_Operations Eina_Value_Blob_Operations; /** + * @def EINA_VALUE_BLOB_OPERATIONS_VERSION + * Current API version, used to validate #_Eina_Value_Blob_Operations. + */ +#define EINA_VALUE_BLOB_OPERATIONS_VERSION (1) + +/** * @struct _Eina_Value_Blob_Operations * How to manage blob. Any @c NULL callback is ignored. * @since 1.2 */ struct _Eina_Value_Blob_Operations { -#define EINA_VALUE_BLOB_OPERATIONS_VERSION (1) - unsigned int version; /**< must be EINA_VALUE_BLOB_OPERATIONS_VERSION */ + unsigned int version; /**< must be #EINA_VALUE_BLOB_OPERATIONS_VERSION */ void (*free)(const Eina_Value_Blob_Operations *ops, void *memory, size_t size); void *(*copy)(const Eina_Value_Blob_Operations *ops, const void *memory, size_t size); int (*compare)(const Eina_Value_Blob_Operations *ops, const void *data1, size_t size_data1, const void *data2, size_t size_data2); @@ -2441,12 +2754,16 @@ EAPI extern const Eina_Value_Blob_Operations *EINA_VALUE_BLOB_OPERATIONS_MALLOC; /** * @typedef Eina_Value_Blob + * Value type for #EINA_VALUE_TYPE_BLOB. + * + * @see #_Eina_Value_Blob explains fields. * @since 1.2 */ typedef struct _Eina_Value_Blob Eina_Value_Blob; /** * @struct _Eina_Value_Blob + * Used to store the blob information and management operations. * @since 1.2 */ struct _Eina_Value_Blob @@ -2469,6 +2786,11 @@ struct _Eina_Value_Blob /** * @typedef Eina_Value_Struct_Operations * How to manage struct. Any @c NULL callback is ignored. + * + * A structure can specify alternative methods to allocate, free and + * copy itself. See structure definition for all methods. + * + * @see #_Eina_Value_Struct_Operations explains fields. * @since 1.2 */ typedef struct _Eina_Value_Struct_Operations Eina_Value_Struct_Operations; @@ -2476,6 +2798,12 @@ typedef struct _Eina_Value_Struct_Operations Eina_Value_Struct_Operations; /** * @typedef Eina_Value_Struct_Member * Describes a single member of struct. + * + * The member holds a name, type and its byte offset within the struct + * memory. Most Eina_Value_Struct functions takes the member name as + * parameter, as in eina_value_struct_set(). + * + * @see #_Eina_Value_Struct_Member explains fields. * @since 1.2 */ typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member; @@ -2483,30 +2811,39 @@ typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member; /** * @typedef Eina_Value_Struct_Desc * Describes the struct by listing its size, members and operations. + * @see #_Eina_Value_Struct_Desc explains fields. * @since 1.2 */ typedef struct _Eina_Value_Struct_Desc Eina_Value_Struct_Desc; /** * @typedef Eina_Value_Struct + * Value type for #EINA_VALUE_TYPE_STRUCT. + * + * @see #_Eina_Value_Struct explains fields. * @since 1.2 */ typedef struct _Eina_Value_Struct Eina_Value_Struct; /** + * @def EINA_VALUE_STRUCT_OPERATIONS_VERSION + * Current API version, used to validate #_Eina_Value_Struct_Operations. + */ +#define EINA_VALUE_STRUCT_OPERATIONS_VERSION (1) + +/** * @struct _Eina_Value_Struct_Operations * How to manage struct. Any @c NULL callback is ignored. * @since 1.2 */ struct _Eina_Value_Struct_Operations { -#define EINA_VALUE_STRUCT_OPERATIONS_VERSION (1) - unsigned int version; /**< must be EINA_VALUE_STRUCT_OPERATIONS_VERSION */ - void *(*alloc)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc); - void (*free)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, void *memory); - void *(*copy)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *memory); - int (*compare)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *data1, const void *data2); - const Eina_Value_Struct_Member *(*find_member)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const char *name); /**< replace the function to find description for member. For huge structures consider using binary search, stringshared, hash or gperf. The default function does linear search using strcmp(). */ + unsigned int version; /**< must be #EINA_VALUE_STRUCT_OPERATIONS_VERSION */ + void *(*alloc)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc); /**< How to allocate struct memory to be managed by the Eina_Value */ + void (*free)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, void *memory); /**< How to release memory managed by the Eina_Value */ + void *(*copy)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *memory); /**< How to copy struct memory from an existing Eina_Value, if not provided alloc() will be used, then every member is copied using eina_value_type_copy() with member's type. */ + int (*compare)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *data1, const void *data2); /**< How to compare two struct memories */ + const Eina_Value_Struct_Member *(*find_member)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const char *name); /**< How to find description for member. For huge structures consider using binary search, stringshared, hash or gperf. The default function does linear search using strcmp(). */ }; /** @@ -2539,23 +2876,48 @@ EAPI extern const Eina_Value_Struct_Operations *EINA_VALUE_STRUCT_OPERATIONS_STR /** * @struct _Eina_Value_Struct_Member + * Describes a single member of struct. + * + * The name is used to lookup the member description. This is done as + * specified as _Eina_Value_Struct_Operations::find_member(). For + * structures with huge number of members, consider using a better + * find_member function to quickly finding it! There are two helper + * operations provided to help this: + * #EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH and + * #EINA_VALUE_STRUCT_OPERATIONS_STRINGSHARE, both depend on properly + * set #_Eina_Value_Struct_Desc and #_Eina_Value_Struct_Member. + * + * @see #EINA_VALUE_STRUCT_MEMBER + * @see #EINA_VALUE_STRUCT_MEMBER_SENTINEL + * * @since 1.2 */ struct _Eina_Value_Struct_Member { - const char *name; - const Eina_Value_Type *type; - unsigned int offset; + const char *name; /**< member name, used in lookups such as eina_value_struct_get() */ + const Eina_Value_Type *type; /**< how to use this member */ + unsigned int offset; /**< where this member is located within the structure memory */ }; /** + * @def EINA_VALUE_STRUCT_DESC_VERSION + * Current API version, used to validate #_Eina_Value_Struct_Desc. + */ +#define EINA_VALUE_STRUCT_DESC_VERSION (1) + +/** * @struct _Eina_Value_Struct_Desc + * Describes the struct by listing its size, members and operations. + * + * This is the root of Eina_Value knowledge about the memory it's + * handling as a structure. It adds introspection, saying the byte + * size of the structure, its members and how to manage such members. + * * @since 1.2 */ struct _Eina_Value_Struct_Desc { -#define EINA_VALUE_STRUCT_DESC_VERSION (1) - unsigned int version; /**< must be EINA_VALUE_STRUCT_DESC_VERSION */ + unsigned int version; /**< must be #EINA_VALUE_STRUCT_DESC_VERSION */ const Eina_Value_Struct_Operations *ops; /**< operations, if @c NULL defaults will be used. You may use operations to optimize member lookup using binary search or gperf hash. */ const Eina_Value_Struct_Member *members; /**< array of member descriptions, if @c member_count is zero, then it must be @c NULL terminated. */ unsigned int member_count; /**< if > 0, specifies number of members. If zero then @c members must be NULL terminated. */ @@ -2586,12 +2948,13 @@ struct _Eina_Value_Struct_Desc /** * @struct _Eina_Value_Struct + * Used to store the memory and its description. * @since 1.2 */ struct _Eina_Value_Struct { - const Eina_Value_Struct_Desc *desc; - void *memory; + const Eina_Value_Struct_Desc *desc; /**< How to manage the structure */ + void *memory; /**< The managed structure memory */ }; /** @@ -2702,7 +3065,7 @@ static inline Eina_Bool eina_value_struct_setup(Eina_Value *value, */ static inline Eina_Bool eina_value_struct_set(Eina_Value *value, const char *name, - ...) EINA_ARG_NONNULL(1); + ...) EINA_ARG_NONNULL(1, 2); /** * @brief Get the generic value from an struct member. @@ -2770,7 +3133,7 @@ static inline Eina_Bool eina_value_struct_set(Eina_Value *value, */ static inline Eina_Bool eina_value_struct_get(const Eina_Value *value, const char *name, - ...) EINA_ARG_NONNULL(1); + ...) EINA_ARG_NONNULL(1, 2); /** * @brief Set the generic value in an struct member. @@ -2786,7 +3149,7 @@ static inline Eina_Bool eina_value_struct_get(const Eina_Value *value, */ static inline Eina_Bool eina_value_struct_vset(Eina_Value *value, const char *name, - va_list args) EINA_ARG_NONNULL(1); + va_list args) EINA_ARG_NONNULL(1, 2); /** * @brief Get the generic value from an struct member. @@ -2808,7 +3171,7 @@ static inline Eina_Bool eina_value_struct_vset(Eina_Value *value, */ static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value, const char *name, - va_list args) EINA_ARG_NONNULL(1); + va_list args) EINA_ARG_NONNULL(1, 2); /** * @brief Set the generic value in an struct member from pointer. @@ -2875,7 +3238,7 @@ static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value, */ static inline Eina_Bool eina_value_struct_pset(Eina_Value *value, const char *name, - const void *ptr) EINA_ARG_NONNULL(1, 3); + const void *ptr) EINA_ARG_NONNULL(1, 2, 3); /** * @brief Get the generic value to pointer from an struct member. @@ -2944,7 +3307,62 @@ static inline Eina_Bool eina_value_struct_pset(Eina_Value *value, */ static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, const char *name, - void *ptr) EINA_ARG_NONNULL(1, 3); + void *ptr) EINA_ARG_NONNULL(1, 2, 3); + +/** + * @brief Get the member as Eina_Value copy + * @param src source value object + * @param name name to find the member + * @param dst where to return the member value. + * + * The argument @a dst is considered uninitialized and it's setup to + * the type of the member. + * + * @since 1.2 + */ +static inline Eina_Bool eina_value_struct_value_get(const Eina_Value *src, + const char *name, + Eina_Value *dst) EINA_ARG_NONNULL(1, 2, 3); + +/** + * @brief Set the member from Eina_Value source + * @param dst destination value object + * @param name name to find the member + * @param src source value + * + * @since 1.2 + */ +static inline Eina_Bool eina_value_struct_value_set(Eina_Value *dst, + const char *name, + const Eina_Value *src) EINA_ARG_NONNULL(1, 2, 3); + +/** + * @brief Get the member as Eina_Value copy given its member description. + * @param src source value object + * @param member the member description to use + * @param dst where to return the member value. + * + * The argument @a dst is considered uninitialized and it's setup to + * the type of the member. + * + * @since 1.2 + */ +static inline Eina_Bool eina_value_struct_member_value_get(const Eina_Value *src, + const Eina_Value_Struct_Member *member, + Eina_Value *dst) EINA_ARG_NONNULL(1, 2, 3); + +/** + * @brief Set the member from Eina_Value source + * @param dst destination value object + * @param member the member description to use + * @param src source value + * + * @since 1.2 + */ +static inline Eina_Bool eina_value_struct_member_value_set(Eina_Value *dst, + const Eina_Value_Struct_Member *member, + const Eina_Value *src) EINA_ARG_NONNULL(1, 2, 3); + /** * @} @@ -2958,6 +3376,12 @@ static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, */ /** + * @def EINA_VALUE_TYPE_VERSION + * Current API version, used to validate type. + */ +#define EINA_VALUE_TYPE_VERSION (1) + +/** * @struct _Eina_Value_Type * API to access values. * @@ -2965,11 +3389,6 @@ static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, */ struct _Eina_Value_Type { - /** - * @def EINA_VALUE_TYPE_VERSION - * Current API version, used to validate type. - */ -#define EINA_VALUE_TYPE_VERSION (1) unsigned int version; /**< must be #EINA_VALUE_TYPE_VERSION */ unsigned int value_size; /**< byte size of value */ const char *name; /**< name for debug and introspection */ diff --git a/libraries/eina/src/lib/Makefile.am b/libraries/eina/src/lib/Makefile.am index d8c9d20..5de2848 100644 --- a/libraries/eina/src/lib/Makefile.am +++ b/libraries/eina/src/lib/Makefile.am @@ -6,8 +6,8 @@ AM_CPPFLAGS = \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EINA_CPPFLAGS@ \ -@EFL_EINA_BUILD@ +@EFL_EINA_BUILD@ \ +@VALGRIND_CFLAGS@ base_sources = \ eina_accessor.c \ @@ -33,6 +33,7 @@ eina_main.c \ eina_matrixsparse.c \ eina_mempool.c \ eina_mmap.c \ +eina_model.c \ eina_module.c \ eina_prefix.c \ eina_quadtree.c \ diff --git a/libraries/eina/src/lib/Makefile.in b/libraries/eina/src/lib/Makefile.in index 878bcbe..f15bb00 100644 --- a/libraries/eina/src/lib/Makefile.in +++ b/libraries/eina/src/lib/Makefile.in @@ -49,20 +49,24 @@ host_triplet = @host@ subdir = src/lib DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -99,13 +103,13 @@ am__libeina_la_SOURCES_DIST = eina_accessor.c eina_array.c \ eina_hamster.c eina_hash.c eina_inarray.c eina_inlist.c \ eina_iterator.c eina_lalloc.c eina_list.c eina_log.c \ eina_magic.c eina_main.c eina_matrixsparse.c eina_mempool.c \ - eina_mmap.c eina_module.c eina_prefix.c eina_quadtree.c \ - eina_rbtree.c eina_rectangle.c eina_safety_checks.c \ - eina_sched.c eina_share_common.c eina_simple_xml_parser.c \ - eina_str.c eina_strbuf.c eina_strbuf_common.c \ - eina_stringshare.c eina_tiler.c eina_unicode.c eina_ustrbuf.c \ - eina_ustringshare.c eina_value.c eina_xattr.c \ - eina_file_win32.c eina_file.c \ + eina_mmap.c eina_model.c eina_module.c eina_prefix.c \ + eina_quadtree.c eina_rbtree.c eina_rectangle.c \ + eina_safety_checks.c eina_sched.c eina_share_common.c \ + eina_simple_xml_parser.c eina_str.c eina_strbuf.c \ + eina_strbuf_common.c eina_stringshare.c eina_tiler.c \ + eina_unicode.c eina_ustrbuf.c eina_ustringshare.c eina_value.c \ + eina_xattr.c eina_file_win32.c eina_file.c \ $(top_srcdir)/src/modules/mp/buddy/eina_buddy.c \ $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c \ $(top_srcdir)/src/modules/mp/ememoa_fixed/eina_ememoa_fixed.c \ @@ -135,11 +139,11 @@ am__objects_10 = libeina_la-eina_accessor.lo libeina_la-eina_array.lo \ libeina_la-eina_list.lo libeina_la-eina_log.lo \ libeina_la-eina_magic.lo libeina_la-eina_main.lo \ libeina_la-eina_matrixsparse.lo libeina_la-eina_mempool.lo \ - libeina_la-eina_mmap.lo libeina_la-eina_module.lo \ - libeina_la-eina_prefix.lo libeina_la-eina_quadtree.lo \ - libeina_la-eina_rbtree.lo libeina_la-eina_rectangle.lo \ - libeina_la-eina_safety_checks.lo libeina_la-eina_sched.lo \ - libeina_la-eina_share_common.lo \ + libeina_la-eina_mmap.lo libeina_la-eina_model.lo \ + libeina_la-eina_module.lo libeina_la-eina_prefix.lo \ + libeina_la-eina_quadtree.lo libeina_la-eina_rbtree.lo \ + libeina_la-eina_rectangle.lo libeina_la-eina_safety_checks.lo \ + libeina_la-eina_sched.lo libeina_la-eina_share_common.lo \ libeina_la-eina_simple_xml_parser.lo libeina_la-eina_str.lo \ libeina_la-eina_strbuf.lo libeina_la-eina_strbuf_common.lo \ libeina_la-eina_stringshare.lo libeina_la-eina_tiler.lo \ @@ -236,13 +240,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -252,6 +256,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -287,6 +293,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -367,23 +375,24 @@ AM_CPPFLAGS = \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EINA_CPPFLAGS@ \ -@EFL_EINA_BUILD@ +@EFL_EINA_BUILD@ \ +@VALGRIND_CFLAGS@ base_sources = eina_accessor.c eina_array.c eina_benchmark.c \ eina_binbuf.c eina_binshare.c eina_convert.c eina_counter.c \ eina_cpu.c eina_error.c eina_fp.c eina_hamster.c eina_hash.c \ eina_inarray.c eina_inlist.c eina_iterator.c eina_lalloc.c \ eina_list.c eina_log.c eina_magic.c eina_main.c \ - eina_matrixsparse.c eina_mempool.c eina_mmap.c eina_module.c \ - eina_prefix.c eina_quadtree.c eina_rbtree.c eina_rectangle.c \ - eina_safety_checks.c eina_sched.c eina_share_common.c \ - eina_simple_xml_parser.c eina_str.c eina_strbuf.c \ - eina_strbuf_common.c eina_stringshare.c eina_tiler.c \ - eina_unicode.c eina_ustrbuf.c eina_ustringshare.c eina_value.c \ - eina_xattr.c $(am__append_1) $(am__append_2) $(am__append_3) \ - $(am__append_4) $(am__append_5) $(am__append_6) \ - $(am__append_7) $(am__append_8) $(am__append_9) + eina_matrixsparse.c eina_mempool.c eina_mmap.c eina_model.c \ + eina_module.c eina_prefix.c eina_quadtree.c eina_rbtree.c \ + eina_rectangle.c eina_safety_checks.c eina_sched.c \ + eina_share_common.c eina_simple_xml_parser.c eina_str.c \ + eina_strbuf.c eina_strbuf_common.c eina_stringshare.c \ + eina_tiler.c eina_unicode.c eina_ustrbuf.c eina_ustringshare.c \ + eina_value.c eina_xattr.c $(am__append_1) $(am__append_2) \ + $(am__append_3) $(am__append_4) $(am__append_5) \ + $(am__append_6) $(am__append_7) $(am__append_8) \ + $(am__append_9) EXTRA_DIST = \ eina_share_common.h \ eina_private.h \ @@ -502,6 +511,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_matrixsparse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_mempool.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_mmap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_model.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_module.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_one_big.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_pass_through.Plo@am__quote@ @@ -732,6 +742,14 @@ libeina_la-eina_mmap.lo: eina_mmap.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -c -o libeina_la-eina_mmap.lo `test -f 'eina_mmap.c' || echo '$(srcdir)/'`eina_mmap.c +libeina_la-eina_model.lo: eina_model.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -MT libeina_la-eina_model.lo -MD -MP -MF $(DEPDIR)/libeina_la-eina_model.Tpo -c -o libeina_la-eina_model.lo `test -f 'eina_model.c' || echo '$(srcdir)/'`eina_model.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libeina_la-eina_model.Tpo $(DEPDIR)/libeina_la-eina_model.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eina_model.c' object='libeina_la-eina_model.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -c -o libeina_la-eina_model.lo `test -f 'eina_model.c' || echo '$(srcdir)/'`eina_model.c + libeina_la-eina_module.lo: eina_module.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -MT libeina_la-eina_module.lo -MD -MP -MF $(DEPDIR)/libeina_la-eina_module.Tpo -c -o libeina_la-eina_module.lo `test -f 'eina_module.c' || echo '$(srcdir)/'`eina_module.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libeina_la-eina_module.Tpo $(DEPDIR)/libeina_la-eina_module.Plo diff --git a/libraries/eina/src/lib/eina_binshare.c b/libraries/eina/src/lib/eina_binshare.c index 68a82fc..01e8046 100644 --- a/libraries/eina/src/lib/eina_binshare.c +++ b/libraries/eina/src/lib/eina_binshare.c @@ -21,9 +21,18 @@ */ -#include "eina_share_common.h" -#include "eina_unicode.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "eina_config.h" #include "eina_private.h" +#include "eina_unicode.h" +#include "eina_log.h" +#include "eina_share_common.h" + +/* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ +#include "eina_safety_checks.h" #include "eina_binshare.h" /*============================================================================* @@ -34,6 +43,23 @@ * @cond LOCAL */ +#ifdef CRITICAL +#undef CRITICAL +#endif +#define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_binshare_log_dom, __VA_ARGS__) + +#ifdef ERR +#undef ERR +#endif +#define ERR(...) EINA_LOG_DOM_ERR(_eina_share_binshare_log_dom, __VA_ARGS__) + +#ifdef DBG +#undef DBG +#endif +#define DBG(...) EINA_LOG_DOM_DBG(_eina_share_binshare_log_dom, __VA_ARGS__) + +static int _eina_share_binshare_log_dom = -1; + /* The actual share */ static Eina_Share *binshare_share; static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; @@ -42,7 +68,6 @@ static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; * @endcond */ - /*============================================================================* * Global * *============================================================================*/ @@ -61,9 +86,31 @@ static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; EAPI Eina_Bool eina_binshare_init(void) { - return eina_share_common_init(&binshare_share, - EINA_MAGIC_BINSHARE_NODE, - EINA_MAGIC_BINSHARE_NODE_STR); + Eina_Bool ret; + + if (_eina_share_binshare_log_dom < 0) + { + _eina_share_binshare_log_dom = eina_log_domain_register + ("eina_binshare", EINA_LOG_COLOR_DEFAULT); + + if (_eina_share_binshare_log_dom < 0) + { + EINA_LOG_ERR("Could not register log domain: eina_binshare"); + return EINA_FALSE; + } + } + + ret = eina_share_common_init(&binshare_share, + EINA_MAGIC_BINSHARE_NODE, + EINA_MAGIC_BINSHARE_NODE_STR); + + if (!ret) + { + eina_log_domain_unregister(_eina_share_binshare_log_dom); + _eina_share_binshare_log_dom = -1; + } + + return ret; } /** @@ -82,6 +129,13 @@ eina_binshare_shutdown(void) { Eina_Bool ret; ret = eina_share_common_shutdown(&binshare_share); + + if (_eina_share_binshare_log_dom > 0) + { + eina_log_domain_unregister(_eina_share_binshare_log_dom); + _eina_share_binshare_log_dom = -1; + } + return ret; } @@ -96,7 +150,8 @@ eina_binshare_del(const void *obj) if (!obj) return; - eina_share_common_del(binshare_share, obj); + if (!eina_share_common_del(binshare_share, obj)) + CRITICAL("EEEK trying to del non-shared binshare %p", obj); } EAPI const void * diff --git a/libraries/eina/src/lib/eina_file.c b/libraries/eina/src/lib/eina_file.c index 0b836b3..c465301 100644 --- a/libraries/eina/src/lib/eina_file.c +++ b/libraries/eina/src/lib/eina_file.c @@ -362,41 +362,15 @@ _eina_file_direct_ls_iterator_free(Eina_File_Direct_Iterator *it) static Eina_Bool _eina_file_stat_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) { - struct stat st; + Eina_Stat st; if (!_eina_file_direct_ls_iterator_next(it, data)) return EINA_FALSE; if (it->info.type == EINA_FILE_UNKNOWN) { -#ifdef HAVE_FSTATAT - int fd; - - fd = dirfd(it->dirp); - if (fstatat(fd, it->info.path + it->info.name_start, &st, 0)) -#else - if (stat(it->info.path, &st)) -#endif + if (eina_file_statat(it->dirp, &it->info, &st) != 0) it->info.type = EINA_FILE_UNKNOWN; - else - { - if (S_ISREG(st.st_mode)) - it->info.type = EINA_FILE_REG; - else if (S_ISDIR(st.st_mode)) - it->info.type = EINA_FILE_DIR; - else if (S_ISCHR(st.st_mode)) - it->info.type = EINA_FILE_CHR; - else if (S_ISBLK(st.st_mode)) - it->info.type = EINA_FILE_BLK; - else if (S_ISFIFO(st.st_mode)) - it->info.type = EINA_FILE_FIFO; - else if (S_ISLNK(st.st_mode)) - it->info.type = EINA_FILE_LNK; - else if (S_ISSOCK(st.st_mode)) - it->info.type = EINA_FILE_SOCK; - else - it->info.type = EINA_FILE_UNKNOWN; - } } return EINA_TRUE; @@ -593,6 +567,14 @@ _eina_file_escape(const char *path, int *length) return result; } +/** + * @endcond + */ + +/*============================================================================* + * Global * + *============================================================================*/ + Eina_Bool eina_file_init(void) { @@ -641,13 +623,60 @@ eina_file_shutdown(void) return EINA_TRUE; } -/** - * @endcond - */ +void +eina_file_mmap_faulty(void *addr, long page_size) +{ + Eina_File_Map *m; + Eina_File *f; + Eina_Iterator *itf; + Eina_Iterator *itm; -/*============================================================================* - * Global * - *============================================================================*/ + /* NOTE: I actually don't know if other thread are running, I will try to take the lock. + It may be possible that if other thread are not running and they were in the middle of + accessing an Eina_File this lock are still taken and we will result as a deadlock. */ + eina_lock_take(&_eina_file_lock_cache); + + itf = eina_hash_iterator_data_new(_eina_file_cache); + EINA_ITERATOR_FOREACH(itf, f) + { + Eina_Bool faulty = EINA_FALSE; + + eina_lock_take(&f->lock); + + if (f->global_map) + { + if ((unsigned char *) addr < (((unsigned char *)f->global_map) + f->length) && + (((unsigned char *) addr) + page_size) >= (unsigned char *) f->global_map) + { + f->global_faulty = EINA_TRUE; + faulty = EINA_TRUE; + } + } + + if (!faulty) + { + itm = eina_hash_iterator_data_new(f->map); + EINA_ITERATOR_FOREACH(itm, m) + { + if ((unsigned char *) addr < (((unsigned char *)m->map) + m->length) && + (((unsigned char *) addr) + page_size) >= (unsigned char *) m->map) + { + m->faulty = EINA_TRUE; + faulty = EINA_TRUE; + break; + } + } + eina_iterator_free(itm); + } + + eina_lock_release(&f->lock); + + if (faulty) break; + } + eina_iterator_free(itf); + + eina_lock_release(&_eina_file_lock_cache); +} /*============================================================================* * API * @@ -950,7 +979,7 @@ eina_file_open(const char *path, Eina_Bool shared) eina_lock_take(&_eina_file_lock_cache); file = eina_hash_find(_eina_file_cache, filename); - if ((file) && _eina_file_timestamp_compare(file, &file_stat)) + if ((file) && !_eina_file_timestamp_compare(file, &file_stat)) { file->delete_me = EINA_TRUE; eina_hash_del(_eina_file_cache, file->filename, file); @@ -1029,7 +1058,7 @@ eina_file_close(Eina_File *file) eina_hash_del(_eina_file_cache, file->filename, file); _eina_file_real_close(file); - + eina_lock_release(&_eina_file_lock_cache); } @@ -1196,7 +1225,7 @@ eina_file_map_free(Eina_File *file, void *map) unsigned long int key[2]; em = eina_hash_find(file->rmap, &map); - if (!em) return ; + if (!em) goto on_exit; em->refcount--; @@ -1217,17 +1246,25 @@ EAPI Eina_Bool eina_file_map_faulted(Eina_File *file, void *map) { Eina_File_Map *em; + Eina_Bool r = EINA_FALSE; EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE); eina_lock_take(&file->lock); - if (file->global_map == map) return file->global_faulty; + if (file->global_map == map) + { + r = file->global_faulty; + } + else + { + em = eina_hash_find(file->rmap, &map); + if (em) r = em->faulty; + } - em = eina_hash_find(file->rmap, &map); - if (!em) return EINA_FALSE; + eina_lock_release(&file->lock); - return em->faulty; + return r; } EAPI Eina_Iterator * @@ -1246,58 +1283,77 @@ eina_file_xattr_value_get(Eina_File *file) return eina_xattr_value_fd_ls(file->fd); } -void -eina_file_mmap_faulty(void *addr, long page_size) +EAPI int +eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *st) { - Eina_File_Map *m; - Eina_File *f; - Eina_Iterator *itf; - Eina_Iterator *itm; + struct stat buf; +#ifdef HAVE_FSTATAT + int fd; +#endif - /* NOTE: I actually don't know if other thread are running, I will try to take the lock. - It may be possible that if other thread are not running and they were in the middle of - accessing an Eina_File this lock are still taken and we will result as a deadlock. */ - eina_lock_take(&_eina_file_lock_cache); + EINA_SAFETY_ON_NULL_RETURN_VAL(info, -1); + EINA_SAFETY_ON_NULL_RETURN_VAL(st, -1); - itf = eina_hash_iterator_data_new(_eina_file_cache); - EINA_ITERATOR_FOREACH(itf, f) +#ifdef HAVE_FSTATAT + fd = dirfd((DIR*) container); + if (fstatat(fd, info->path + info->name_start, &buf, 0)) +#else + (void)container; + if (stat(info->path, &buf)) +#endif { - Eina_Bool faulty = EINA_FALSE; - - eina_lock_take(&f->lock); - - if (f->global_map) - { - if ((unsigned char *) addr < (((unsigned char *)f->global_map) + f->length) && - (((unsigned char *) addr) + page_size) >= (unsigned char *) f->global_map) - { - f->global_faulty = EINA_TRUE; - faulty = EINA_TRUE; - } - } - - if (!faulty) - { - itm = eina_hash_iterator_data_new(f->map); - EINA_ITERATOR_FOREACH(itm, m) - { - if ((unsigned char *) addr < (((unsigned char *)m->map) + m->length) && - (((unsigned char *) addr) + page_size) >= (unsigned char *) m->map) - { - m->faulty = EINA_TRUE; - faulty = EINA_TRUE; - break; - } - } - eina_iterator_free(itm); - } - - eina_lock_release(&f->lock); + if (info->type != EINA_FILE_LNK) + info->type = EINA_FILE_UNKNOWN; + return -1; + } - if (faulty) break; + if (info->type == EINA_FILE_UNKNOWN) + { + if (S_ISREG(buf.st_mode)) + info->type = EINA_FILE_REG; + else if (S_ISDIR(buf.st_mode)) + info->type = EINA_FILE_DIR; + else if (S_ISCHR(buf.st_mode)) + info->type = EINA_FILE_CHR; + else if (S_ISBLK(buf.st_mode)) + info->type = EINA_FILE_BLK; + else if (S_ISFIFO(buf.st_mode)) + info->type = EINA_FILE_FIFO; + else if (S_ISLNK(buf.st_mode)) + info->type = EINA_FILE_LNK; + else if (S_ISSOCK(buf.st_mode)) + info->type = EINA_FILE_SOCK; + else + info->type = EINA_FILE_UNKNOWN; } - eina_iterator_free(itf); - eina_lock_release(&_eina_file_lock_cache); + st->dev = buf.st_dev; + st->ino = buf.st_ino; + st->mode = buf.st_mode; + st->nlink = buf.st_nlink; + st->uid = buf.st_uid; + st->gid = buf.st_gid; + st->rdev = buf.st_rdev; + st->size = buf.st_size; + st->blksize = buf.st_blksize; + st->blocks = buf.st_blocks; + st->atime = buf.st_atime; + st->mtime = buf.st_mtime; + st->ctime = buf.st_ctime; +#ifdef _STAT_VER_LINUX +# if (defined __USE_MISC && defined st_mtime) + st->atimensec = buf.st_atim.tv_nsec; + st->mtimensec = buf.st_mtim.tv_nsec; + st->ctimensec = buf.st_ctim.tv_nsec; +# else + st->atimensec = buf.st_atimensec; + st->mtimensec = buf.st_mtimensec; + st->ctimensec = buf.st_ctimensec; +# endif +#else + st->atimensec = 0; + st->mtimensec = 0; + st->ctimensec = 0; +#endif + return 0; } - diff --git a/libraries/eina/src/lib/eina_file_win32.c b/libraries/eina/src/lib/eina_file_win32.c index 1cd8665..5c20fdd 100644 --- a/libraries/eina/src/lib/eina_file_win32.c +++ b/libraries/eina/src/lib/eina_file_win32.c @@ -1,1021 +1,1214 @@ -/* EINA - EFL data type library - * Copyright (C) 2010 Vincent Torri - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; - * if not, see . - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#ifdef HAVE_ALLOCA_H -# include -#elif defined __GNUC__ -# define alloca __builtin_alloca -#elif defined _AIX -# define alloca __alloca -#elif defined _MSC_VER -# include -# define alloca _alloca -#else -# include -# ifdef __cplusplus -extern "C" -# endif -void *alloca (size_t); -#endif - -#define WIN32_LEAN_AND_MEAN -#include -#undef WIN32_LEAN_AND_MEAN - -//#include - -#include "eina_config.h" -#include "eina_private.h" - -/* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ -#include "eina_safety_checks.h" -#include "eina_file.h" -#include "eina_stringshare.h" -#include "eina_hash.h" -#include "eina_list.h" - -/*============================================================================* - * Local * - *============================================================================*/ - -/** - * @cond LOCAL - */ - -#ifndef EINA_LOG_COLOR_DEFAULT -#define EINA_LOG_COLOR_DEFAULT EINA_COLOR_CYAN -#endif - -#ifdef ERR -#undef ERR -#endif -#define ERR(...) EINA_LOG_DOM_ERR(_eina_file_log_dom, __VA_ARGS__) - -#ifdef WRN -#undef WRN -#endif -#define WRN(...) EINA_LOG_DOM_WARN(_eina_file_log_dom, __VA_ARGS__) - -#ifdef DBG -#undef DBG -#endif -#define DBG(...) EINA_LOG_DOM_DBG(_eina_file_log_dom, __VA_ARGS__) - -#ifdef MAP_FAILED -# undef MAP_FAILED -#endif -#define MAP_FAILED ((void *)-1) - -typedef struct _Eina_File_Iterator Eina_File_Iterator; -typedef struct _Eina_File_Direct_Iterator Eina_File_Direct_Iterator; -typedef struct _Eina_File_Map Eina_File_Map; - -struct _Eina_File_Iterator -{ - Eina_Iterator iterator; - - WIN32_FIND_DATA data; - HANDLE handle; - size_t length; - Eina_Bool is_last : 1; - - char dir[1]; -}; - -struct _Eina_File_Direct_Iterator -{ - Eina_Iterator iterator; - - WIN32_FIND_DATA data; - HANDLE handle; - size_t length; - Eina_Bool is_last : 1; - - Eina_File_Direct_Info info; - - char dir[1]; -}; - -struct _Eina_File -{ - const char *filename; - - Eina_Hash *map; - Eina_Hash *rmap; - void *global_map; - - ULONGLONG length; - ULONGLONG mtime; - - int refcount; - int global_refcount; - - HANDLE handle; - HANDLE fm; - - Eina_Bool shared : 1; - Eina_Bool delete_me : 1; -}; - -struct _Eina_File_Map -{ - void *map; - - unsigned long int offset; - unsigned long int length; - - int refcount; -}; - -static Eina_Hash *_eina_file_cache = NULL; -static Eina_List *_eina_file_cache_lru = NULL; -static Eina_List *_eina_file_cache_delete = NULL; - -static int _eina_file_log_dom = -1; - -static void -_eina_file_win32_backslash_change(char *dir) -{ - char *tmp; - - tmp = dir; - while (*tmp) - { - if (*tmp == '/') *tmp = '\\'; - tmp++; - } -} - -static Eina_Bool -_eina_file_win32_is_dir(const char *dir) -{ -#ifdef UNICODE - wchar_t *wdir = NULL; -#endif - DWORD attr; - - /* check if it's a directory */ -#ifdef UNICODE - wdir = evil_char_to_wchar(dir); - if (!wdir) - return EINA_FALSE; - - attr = GetFileAttributes(wdir); - free(wdir); -#else - attr = GetFileAttributes(dir); -#endif - - if (attr == 0xFFFFFFFF) - return EINA_FALSE; - - if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) - return EINA_FALSE; - - return EINA_TRUE; -} - -static char * -_eina_file_win32_dir_new(const char *dir) -{ - char *new_dir; - size_t length; - - length = strlen(dir); - - new_dir = (char *)malloc(sizeof(char) * length + 5); - if (!new_dir) - return NULL; - - memcpy(new_dir, dir, length); - memcpy(new_dir + length, "\\*.*", 5); - _eina_file_win32_backslash_change(new_dir); - - return new_dir; -} - -static HANDLE -_eina_file_win32_first_file(const char *dir, WIN32_FIND_DATA *fd) -{ - HANDLE h; -#ifdef UNICODE - wchar_t *wdir = NULL; - - wdir = evil_char_to_wchar(dir); - if (!wdir) - return NULL; - - h = FindFirstFile(wdir, fd); - free(wdir); -#else - h = FindFirstFile(dir, fd); -#endif - - if (!h) - return NULL; - - while ((fd->cFileName[0] == '.') && - ((fd->cFileName[1] == '\0') || - ((fd->cFileName[1] == '.') && (fd->cFileName[2] == '\0')))) - { - if (!FindNextFile(h, fd)) - return NULL; - } - - return h; -} - -static Eina_Bool -_eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) -{ -#ifdef UNICODE - wchar_t *old_name; -#else - char *old_name; -#endif - char *name; - char *cname; - size_t length; - Eina_Bool is_last; - Eina_Bool res = EINA_TRUE; - - if (it->handle == INVALID_HANDLE_VALUE) - return EINA_FALSE; - - is_last = it->is_last; -#ifdef UNICODE - old_name = _wcsdup(it->data.cFileName); -#else - old_name = _strdup(it->data.cFileName); -#endif - if (!old_name) - return EINA_FALSE; - - do { - if (!FindNextFile(it->handle, &it->data)) - { - if (GetLastError() == ERROR_NO_MORE_FILES) - it->is_last = EINA_TRUE; - else - res = EINA_FALSE; - } - } while ((it->data.cFileName[0] == '.') && - ((it->data.cFileName[1] == '\0') || - ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ - -#ifdef UNICODE - cname = evil_wchar_to_char(old_name); - if (!cname) - return EINA_FALSE; -#else - cname = old_name; -#endif - - length = strlen(cname); - name = alloca(length + 2 + it->length); - - memcpy(name, it->dir, it->length); - memcpy(name + it->length, "\\", 1); - memcpy(name + it->length + 1, cname, length + 1); - - *data = (char *)eina_stringshare_add(name); - -#ifdef UNICODE - free(cname); -#endif - free(old_name); - - if (is_last) - res = EINA_FALSE; - - return res; -} - -static HANDLE -_eina_file_win32_ls_iterator_container(Eina_File_Iterator *it) -{ - return it->handle; -} - -static void -_eina_file_win32_ls_iterator_free(Eina_File_Iterator *it) -{ - if (it->handle != INVALID_HANDLE_VALUE) - FindClose(it->handle); - - EINA_MAGIC_SET(&it->iterator, 0); - free(it); -} - -static Eina_Bool -_eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) -{ -#ifdef UNICODE - wchar_t *old_name; -#else - char *old_name; -#endif - char *cname; - size_t length; - DWORD attr; - Eina_Bool is_last; - Eina_Bool res = EINA_TRUE; - - if (it->handle == INVALID_HANDLE_VALUE) - return EINA_FALSE; - - attr = it->data.dwFileAttributes; - is_last = it->is_last; -#ifdef UNICODE - old_name = _wcsdup(it->data.cFileName); -#else - old_name = _strdup(it->data.cFileName); -#endif - if (!old_name) - return EINA_FALSE; - - do { - if (!FindNextFile(it->handle, &it->data)) - { - if (GetLastError() == ERROR_NO_MORE_FILES) - it->is_last = EINA_TRUE; - else - res = EINA_FALSE; - } - -#ifdef UNICODE - length = wcslen(old_name); -#else - length = strlen(old_name); -#endif - if (it->info.name_start + length + 1 >= PATH_MAX) - { - free(old_name); -#ifdef UNICODE - old_name = _wcsdup(it->data.cFileName); -#else - old_name = _strdup(it->data.cFileName); -#endif - continue; - } - - } while ((it->data.cFileName[0] == '.') && - ((it->data.cFileName[1] == '\0') || - ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ - -#ifdef UNICODE - cname = evil_wchar_to_char(old_name); - if (!cname) - return EINA_FALSE; -#else - cname = old_name; -#endif - - memcpy(it->info.path + it->info.name_start, cname, length); - it->info.name_length = length; - it->info.path_length = it->info.name_start + length; - it->info.path[it->info.path_length] = '\0'; - - if (attr & FILE_ATTRIBUTE_DIRECTORY) - it->info.type = EINA_FILE_DIR; - else if (attr & FILE_ATTRIBUTE_REPARSE_POINT) - it->info.type = EINA_FILE_LNK; - else if (attr & (FILE_ATTRIBUTE_ARCHIVE | - FILE_ATTRIBUTE_COMPRESSED | - FILE_ATTRIBUTE_COMPRESSED | - FILE_ATTRIBUTE_HIDDEN | - FILE_ATTRIBUTE_NORMAL | - FILE_ATTRIBUTE_SPARSE_FILE | - FILE_ATTRIBUTE_TEMPORARY)) - it->info.type = EINA_FILE_REG; - else - it->info.type = EINA_FILE_UNKNOWN; - - *data = &it->info; - -#ifdef UNICODE - free(cname); -#endif - - free(old_name); - - if (is_last) - res = EINA_FALSE; - - return res; -} - -static HANDLE -_eina_file_win32_direct_ls_iterator_container(Eina_File_Direct_Iterator *it) -{ - return it->handle; -} - -static void -_eina_file_win32_direct_ls_iterator_free(Eina_File_Direct_Iterator *it) -{ - if (it->handle != INVALID_HANDLE_VALUE) - FindClose(it->handle); - - EINA_MAGIC_SET(&it->iterator, 0); - free(it); -} - -static void -_eina_file_real_close(Eina_File *file) -{ - eina_hash_free(file->rmap); - eina_hash_free(file->map); - - if (file->global_map != MAP_FAILED) - UnmapViewOfFile(file->global_map); - - CloseHandle(file->fm); - CloseHandle(file->handle); - - eina_stringshare_del(file->filename); - - free(file); -} - -static void -_eina_file_map_close(Eina_File_Map *map) -{ - if (map->map != MAP_FAILED) - UnmapViewOfFile(map->map); - free(map); -} - -static unsigned int -_eina_file_map_key_length(const void *key __UNUSED__) -{ - return sizeof (unsigned long int) * 2; -} - -static int -_eina_file_map_key_cmp(const unsigned long int *key1, int key1_length __UNUSED__, - const unsigned long int *key2, int key2_length __UNUSED__) -{ - if (key1[0] - key2[0] == 0) return key1[1] - key2[1]; - return key1[0] - key2[0]; -} - -static int -_eina_file_map_key_hash(const unsigned long int *key, int key_length __UNUSED__) -{ - return eina_hash_int64(&key[0], sizeof (unsigned long int)) - ^ eina_hash_int64(&key[1], sizeof (unsigned long int)); -} - -Eina_Bool -eina_file_init(void) -{ - _eina_file_log_dom = eina_log_domain_register("eina_file", - EINA_LOG_COLOR_DEFAULT); - if (_eina_file_log_dom < 0) - { - EINA_LOG_ERR("Could not register log domain: eina_file"); - return EINA_FALSE; - } - - _eina_file_cache = eina_hash_string_djb2_new(EINA_FREE_CB(_eina_file_real_close)); - if (!_eina_file_cache) - { - ERR("Could not create cache."); - eina_log_domain_unregister(_eina_file_log_dom); - _eina_file_log_dom = -1; - return EINA_FALSE; - } - - return EINA_TRUE; -} - -Eina_Bool -eina_file_shutdown(void) -{ - Eina_File *f; - Eina_List *l; - - EINA_LIST_FREE(_eina_file_cache_delete, f) - _eina_file_real_close(f); - - EINA_LIST_FOREACH(_eina_file_cache_lru, l, f) - eina_hash_del(_eina_file_cache, f->filename, f); - - if (eina_hash_population(_eina_file_cache) > 0) - { - Eina_Iterator *it; - const char *key; - - it = eina_hash_iterator_key_new(_eina_file_cache); - EINA_ITERATOR_FOREACH(it, key) - ERR("File [%s] still open !", key); - eina_iterator_free(it); - } - - eina_hash_free(_eina_file_cache); - - eina_log_domain_unregister(_eina_file_log_dom); - _eina_file_log_dom = -1; - return EINA_TRUE; -} - - -/** - * @endcond - */ - -/*============================================================================* - * Global * - *============================================================================*/ - -/*============================================================================* - * API * - *============================================================================*/ - -EAPI Eina_Bool -eina_file_dir_list(const char *dir, - Eina_Bool recursive, - Eina_File_Dir_List_Cb cb, - void *data) -{ - WIN32_FIND_DATA file; - HANDLE h; - char *new_dir; - - EINA_SAFETY_ON_NULL_RETURN_VAL(cb, EINA_FALSE); - EINA_SAFETY_ON_NULL_RETURN_VAL(dir, EINA_FALSE); - EINA_SAFETY_ON_TRUE_RETURN_VAL(dir[0] == '\0', EINA_FALSE); - - if (!_eina_file_win32_is_dir(dir)) - return EINA_FALSE; - - new_dir = _eina_file_win32_dir_new(dir); - if (!new_dir) - return EINA_FALSE; - - h = _eina_file_win32_first_file(new_dir, &file); - - if (h == INVALID_HANDLE_VALUE) - return EINA_FALSE; - - do - { - char *filename; - -# ifdef UNICODE - filename = evil_wchar_to_char(file.cFileName); -# else - filename = file.cFileName; -# endif /* ! UNICODE */ - if (!strcmp(filename, ".") || !strcmp(filename, "..")) - continue; - - cb(filename, dir, data); - - if (recursive == EINA_TRUE) - { - char *path; - - path = alloca(strlen(dir) + strlen(filename) + 2); - strcpy(path, dir); - strcat(path, "/"); - strcat(path, filename); - - if (!(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) - continue; - - eina_file_dir_list(path, recursive, cb, data); - } - -# ifdef UNICODE - free(filename); -# endif /* UNICODE */ - - } while (FindNextFile(h, &file)); - FindClose(h); - - return EINA_TRUE; -} - -EAPI Eina_Array * -eina_file_split(char *path) -{ - Eina_Array *ea; - char *current; - size_t length; - - EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL); - - ea = eina_array_new(16); - - if (!ea) - return NULL; - - for (current = strchr(path, '\\'); - current; - path = current + 1, current = strchr(path, '\\')) - { - length = current - path; - - if (length <= 0) - continue; - - eina_array_push(ea, path); - *current = '\0'; - } - - if (*path != '\0') - eina_array_push(ea, path); - - return ea; -} - -EAPI Eina_Iterator * -eina_file_ls(const char *dir) -{ - Eina_File_Iterator *it; - char *new_dir; - size_t length; - - if (!dir || !*dir) - return NULL; - - if (!_eina_file_win32_is_dir(dir)) - return NULL; - - length = strlen(dir); - - it = calloc(1, sizeof (Eina_File_Iterator) + length); - if (!it) - return NULL; - - EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); - - new_dir = _eina_file_win32_dir_new(dir); - if (!new_dir) - goto free_it; - - it->handle = _eina_file_win32_first_file(new_dir, &it->data); - free(new_dir); - if (it->handle == INVALID_HANDLE_VALUE) - goto free_it; - - memcpy(it->dir, dir, length + 1); - if (dir[length - 1] != '\\') - it->length = length; - else - it->length = length - 1; - _eina_file_win32_backslash_change(it->dir); - - it->iterator.version = EINA_ITERATOR_VERSION; - it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_ls_iterator_next); - it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_ls_iterator_container); - it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_ls_iterator_free); - - return &it->iterator; - - free_it: - free(it); - - return NULL; -} - -EAPI Eina_Iterator * -eina_file_direct_ls(const char *dir) -{ - Eina_File_Direct_Iterator *it; - char *new_dir; - size_t length; - - if (!dir || !*dir) - return NULL; - - length = strlen(dir); - - if (length + 12 + 2 >= MAX_PATH) - return NULL; - - it = calloc(1, sizeof(Eina_File_Direct_Iterator) + length); - if (!it) - return NULL; - - EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); - - new_dir = _eina_file_win32_dir_new(dir); - if (!new_dir) - goto free_it; - - it->handle = _eina_file_win32_first_file(new_dir, &it->data); - free(new_dir); - if (it->handle == INVALID_HANDLE_VALUE) - goto free_it; - - memcpy(it->dir, dir, length + 1); - it->length = length; - _eina_file_win32_backslash_change(it->dir); - - memcpy(it->info.path, dir, length); - if (dir[length - 1] == '\\') - it->info.name_start = length; - else - { - it->info.path[length] = '\\'; - it->info.name_start = length + 1; - } - _eina_file_win32_backslash_change(it->info.path); - - it->iterator.version = EINA_ITERATOR_VERSION; - it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_direct_ls_iterator_next); - it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_direct_ls_iterator_container); - it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_direct_ls_iterator_free); - - return &it->iterator; - - free_it: - free(it); - - return NULL; -} - -EAPI Eina_Iterator * -eina_file_stat_ls(const char *dir) -{ - return eina_file_direct_ls(dir); -} - -EAPI Eina_File * -eina_file_open(const char *filename, Eina_Bool shared) -{ - Eina_File *file; - Eina_File *n; - HANDLE handle; - HANDLE fm; - WIN32_FILE_ATTRIBUTE_DATA fad; - ULARGE_INTEGER length; - ULARGE_INTEGER mtime; - Eina_Bool create = EINA_FALSE; - - /* FIXME: always open absolute path (need to fix filename according to current - directory) */ - - /* FIXME: how to emulate shm_open ? Just OpenFileMapping ? */ -#if 0 - if (shared) - handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, - NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, - NULL); - else -#endif - handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, - NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, - NULL); - - if (handle == INVALID_HANDLE_VALUE) - return NULL; - - fm = CreateFileMapping(handle, NULL, PAGE_READONLY, 0, 0, NULL); - if (!fm) - goto close_handle; - - if (!GetFileAttributesEx(filename, GetFileExInfoStandard, &fad)) - goto close_fm; - - length.u.LowPart = fad.nFileSizeLow; - length.u.HighPart = fad.nFileSizeHigh; - mtime.u.LowPart = fad.ftLastWriteTime.dwLowDateTime; - mtime.u.HighPart = fad.ftLastWriteTime.dwHighDateTime; - - file = eina_hash_find(_eina_file_cache, filename); - if (file && - (file->mtime != mtime.QuadPart || file->length != length.QuadPart)) - { - create = EINA_TRUE; - - if (file->refcount == 0) - { - _eina_file_cache_lru = eina_list_prepend(_eina_file_cache_lru, file); - eina_hash_del(_eina_file_cache, file->filename, file); - - file = NULL; - } - else if (!file->delete_me) - { - file->delete_me = EINA_TRUE; - _eina_file_cache_delete = eina_list_prepend(_eina_file_cache_delete, file); - } - } - - if (!file || create) - { - n = calloc(1, sizeof (Eina_File)); - if (!n) - goto close_fm; - - n->filename = eina_stringshare_add(filename); - n->map = eina_hash_new(EINA_KEY_LENGTH(_eina_file_map_key_length), - EINA_KEY_CMP(_eina_file_map_key_cmp), - EINA_KEY_HASH(_eina_file_map_key_hash), - EINA_FREE_CB(_eina_file_map_close), - 3); - n->rmap = eina_hash_pointer_new(NULL); - n->global_map = MAP_FAILED; - n->length = length.QuadPart; - n->mtime = mtime.QuadPart; - n->refcount = 0; - n->handle = handle; - n->fm = fm; - n->shared = shared; - n->delete_me = EINA_FALSE; - - eina_hash_set(_eina_file_cache, filename, n); - } - else - { - CloseHandle(fm); - CloseHandle(handle); - - n = file; - - if (n->refcount == 0) - _eina_file_cache_lru = eina_list_remove(_eina_file_cache_lru, n); - } - - n->refcount++; - - return n; - - close_fm: - CloseHandle(fm); - close_handle: - CloseHandle(handle); - - return NULL; -} - -EAPI void -eina_file_close(Eina_File *file) -{ - file->refcount--; - - if (file->refcount != 0) return ; - - if (file->delete_me) - { - _eina_file_cache_delete = eina_list_remove(_eina_file_cache_delete, file); - _eina_file_real_close(file); - } - else - { - _eina_file_cache_lru = eina_list_prepend(_eina_file_cache_lru, file); - } -} - -EAPI size_t -eina_file_size_get(Eina_File *file) -{ - return file->length; -} - -EAPI time_t -eina_file_mtime_get(Eina_File *file) -{ - return file->mtime; -} - -EAPI const char * -eina_file_filename_get(Eina_File *file) -{ - return file->filename; -} - -EAPI void * -eina_file_map_all(Eina_File *file, Eina_File_Populate rule __UNUSED__) -{ - if (file->global_map == MAP_FAILED) - { - void *data; - - data = MapViewOfFile(file->fm, FILE_MAP_READ, - 0, 0, file->length); - if (!data) - file->global_map = MAP_FAILED; - else - file->global_map = data; - } - - if (file->global_map != MAP_FAILED) - { - file->global_refcount++; - return file->global_map; - } - - return NULL; -} - -EAPI void * -eina_file_map_new(Eina_File *file, Eina_File_Populate rule, - unsigned long int offset, unsigned long int length) -{ - Eina_File_Map *map; - unsigned long int key[2]; - - if (offset > file->length) - return NULL; - if (offset + length > file->length) - return NULL; - - if (offset == 0 && length == file->length) - return eina_file_map_all(file, rule); - - key[0] = offset; - key[1] = length; - - map = eina_hash_find(file->map, &key); - if (!map) - { - void *data; - - map = malloc(sizeof (Eina_File_Map)); - if (!map) return NULL; - - data = MapViewOfFile(file->fm, FILE_MAP_READ, - offset & 0xffff0000, - offset & 0x0000ffff, - length); - if (!data) - map->map = MAP_FAILED; - else - map->map = data; - - map->offset = offset; - map->length = length; - map->refcount = 0; - - if (map->map == MAP_FAILED) - { - free(map); - return NULL; - } - - eina_hash_add(file->map, &key, map); - eina_hash_direct_add(file->rmap, map->map, map); - } - - map->refcount++; - - return map->map; -} - -EAPI void -eina_file_map_free(Eina_File *file, void *map) -{ - if (file->global_map == map) - { - file->global_refcount--; - - if (file->global_refcount > 0) return ; - - /* FIXME: are we sure that file->global_map != MAP_FAILED ? */ - if (file->global_map != MAP_FAILED) - UnmapViewOfFile(file->global_map); - file->global_map = MAP_FAILED; - } - else - { - Eina_File_Map *em; - unsigned long int key[2]; - - em = eina_hash_find(file->rmap, &map); - if (!em) return ; - - em->refcount--; - - if (em->refcount > 0) return ; - - key[0] = em->offset; - key[1] = em->length; - - eina_hash_del(file->rmap, &map, em); - eina_hash_del(file->map, &key, em); - } -} +/* EINA - EFL data type library + * Copyright (C) 2010 Vincent Torri + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; + * if not, see . + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#ifdef HAVE_ALLOCA_H +# include +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#elif defined _MSC_VER +# include +# define alloca _alloca +#else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +#endif + +#include +#include + +#define WIN32_LEAN_AND_MEAN +#include +#undef WIN32_LEAN_AND_MEAN + +#include + +#include "eina_config.h" +#include "eina_private.h" + +/* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ +#include "eina_safety_checks.h" +#include "eina_file.h" +#include "eina_stringshare.h" +#include "eina_hash.h" +#include "eina_list.h" +#include "eina_lock.h" +#include "eina_log.h" + +/*============================================================================* + * Local * + *============================================================================*/ + +/** + * @cond LOCAL + */ + +#ifndef EINA_LOG_COLOR_DEFAULT +#define EINA_LOG_COLOR_DEFAULT EINA_COLOR_CYAN +#endif + +#ifdef ERR +#undef ERR +#endif +#define ERR(...) EINA_LOG_DOM_ERR(_eina_file_log_dom, __VA_ARGS__) + +#ifdef WRN +#undef WRN +#endif +#define WRN(...) EINA_LOG_DOM_WARN(_eina_file_log_dom, __VA_ARGS__) + +#ifdef DBG +#undef DBG +#endif +#define DBG(...) EINA_LOG_DOM_DBG(_eina_file_log_dom, __VA_ARGS__) + +#ifdef MAP_FAILED +# undef MAP_FAILED +#endif +#define MAP_FAILED ((void *)-1) + +typedef struct _Eina_File_Iterator Eina_File_Iterator; +typedef struct _Eina_File_Direct_Iterator Eina_File_Direct_Iterator; +typedef struct _Eina_File_Map Eina_File_Map; + +struct _Eina_File_Iterator +{ + Eina_Iterator iterator; + + WIN32_FIND_DATA data; + HANDLE handle; + size_t length; + Eina_Bool is_last : 1; + + char dir[1]; +}; + +struct _Eina_File_Direct_Iterator +{ + Eina_Iterator iterator; + + WIN32_FIND_DATA data; + HANDLE handle; + size_t length; + Eina_Bool is_last : 1; + + Eina_File_Direct_Info info; + + char dir[1]; +}; + +struct _Eina_File +{ + const char *filename; + + Eina_Hash *map; + Eina_Hash *rmap; + void *global_map; + + Eina_Lock lock; + + ULONGLONG length; + ULONGLONG mtime; + + int refcount; + int global_refcount; + + HANDLE handle; + HANDLE fm; + + Eina_Bool shared : 1; + Eina_Bool delete_me : 1; +}; + +struct _Eina_File_Map +{ + void *map; + + unsigned long int offset; + unsigned long int length; + + int refcount; +}; + +static Eina_Hash *_eina_file_cache = NULL; +static Eina_Lock _eina_file_lock_cache; + +static int _eina_file_log_dom = -1; + +static void +_eina_file_win32_backslash_change(char *dir) +{ + char *tmp; + + tmp = dir; + while (*tmp) + { + if (*tmp == '/') *tmp = '\\'; + tmp++; + } +} + +static Eina_Bool +_eina_file_win32_is_dir(const char *dir) +{ +#ifdef UNICODE + wchar_t *wdir = NULL; +#endif + DWORD attr; + + /* check if it's a directory */ +#ifdef UNICODE + wdir = evil_char_to_wchar(dir); + if (!wdir) + return EINA_FALSE; + + attr = GetFileAttributes(wdir); + free(wdir); +#else + attr = GetFileAttributes(dir); +#endif + + if (attr == 0xFFFFFFFF) + return EINA_FALSE; + + if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) + return EINA_FALSE; + + return EINA_TRUE; +} + +static char * +_eina_file_win32_dir_new(const char *dir) +{ + char *new_dir; + size_t length; + + length = strlen(dir); + + new_dir = (char *)malloc(sizeof(char) * length + 5); + if (!new_dir) + return NULL; + + memcpy(new_dir, dir, length); + memcpy(new_dir + length, "\\*.*", 5); + _eina_file_win32_backslash_change(new_dir); + + return new_dir; +} + +static HANDLE +_eina_file_win32_first_file(const char *dir, WIN32_FIND_DATA *fd) +{ + HANDLE h; +#ifdef UNICODE + wchar_t *wdir = NULL; + + wdir = evil_char_to_wchar(dir); + if (!wdir) + return NULL; + + h = FindFirstFile(wdir, fd); + free(wdir); +#else + h = FindFirstFile(dir, fd); +#endif + + if (!h) + return NULL; + + while ((fd->cFileName[0] == '.') && + ((fd->cFileName[1] == '\0') || + ((fd->cFileName[1] == '.') && (fd->cFileName[2] == '\0')))) + { + if (!FindNextFile(h, fd)) + return NULL; + } + + return h; +} + +static Eina_Bool +_eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) +{ +#ifdef UNICODE + wchar_t *old_name; +#else + char *old_name; +#endif + char *name; + char *cname; + size_t length; + Eina_Bool is_last; + Eina_Bool res = EINA_TRUE; + + if (it->handle == INVALID_HANDLE_VALUE) + return EINA_FALSE; + + is_last = it->is_last; +#ifdef UNICODE + old_name = _wcsdup(it->data.cFileName); +#else + old_name = _strdup(it->data.cFileName); +#endif + if (!old_name) + return EINA_FALSE; + + do { + if (!FindNextFile(it->handle, &it->data)) + { + if (GetLastError() == ERROR_NO_MORE_FILES) + it->is_last = EINA_TRUE; + else + res = EINA_FALSE; + } + } while ((it->data.cFileName[0] == '.') && + ((it->data.cFileName[1] == '\0') || + ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ + +#ifdef UNICODE + cname = evil_wchar_to_char(old_name); + if (!cname) + return EINA_FALSE; +#else + cname = old_name; +#endif + + length = strlen(cname); + name = alloca(length + 2 + it->length); + + memcpy(name, it->dir, it->length); + memcpy(name + it->length, "\\", 1); + memcpy(name + it->length + 1, cname, length + 1); + + *data = (char *)eina_stringshare_add(name); + +#ifdef UNICODE + free(cname); +#endif + free(old_name); + + if (is_last) + res = EINA_FALSE; + + return res; +} + +static HANDLE +_eina_file_win32_ls_iterator_container(Eina_File_Iterator *it) +{ + return it->handle; +} + +static void +_eina_file_win32_ls_iterator_free(Eina_File_Iterator *it) +{ + if (it->handle != INVALID_HANDLE_VALUE) + FindClose(it->handle); + + EINA_MAGIC_SET(&it->iterator, 0); + free(it); +} + +static Eina_Bool +_eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) +{ +#ifdef UNICODE + wchar_t *old_name; +#else + char *old_name; +#endif + char *cname; + size_t length; + DWORD attr; + Eina_Bool is_last; + Eina_Bool res = EINA_TRUE; + + if (it->handle == INVALID_HANDLE_VALUE) + return EINA_FALSE; + + attr = it->data.dwFileAttributes; + is_last = it->is_last; +#ifdef UNICODE + old_name = _wcsdup(it->data.cFileName); +#else + old_name = _strdup(it->data.cFileName); +#endif + if (!old_name) + return EINA_FALSE; + + do { + if (!FindNextFile(it->handle, &it->data)) + { + if (GetLastError() == ERROR_NO_MORE_FILES) + it->is_last = EINA_TRUE; + else + res = EINA_FALSE; + } + +#ifdef UNICODE + length = wcslen(old_name); +#else + length = strlen(old_name); +#endif + if (it->info.name_start + length + 1 >= PATH_MAX) + { + free(old_name); +#ifdef UNICODE + old_name = _wcsdup(it->data.cFileName); +#else + old_name = _strdup(it->data.cFileName); +#endif + continue; + } + + } while ((it->data.cFileName[0] == '.') && + ((it->data.cFileName[1] == '\0') || + ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ + +#ifdef UNICODE + cname = evil_wchar_to_char(old_name); + if (!cname) + return EINA_FALSE; +#else + cname = old_name; +#endif + + memcpy(it->info.path + it->info.name_start, cname, length); + it->info.name_length = length; + it->info.path_length = it->info.name_start + length; + it->info.path[it->info.path_length] = '\0'; + + if (attr & FILE_ATTRIBUTE_DIRECTORY) + it->info.type = EINA_FILE_DIR; + else if (attr & FILE_ATTRIBUTE_REPARSE_POINT) + it->info.type = EINA_FILE_LNK; + else if (attr & (FILE_ATTRIBUTE_ARCHIVE | + FILE_ATTRIBUTE_COMPRESSED | + FILE_ATTRIBUTE_COMPRESSED | + FILE_ATTRIBUTE_HIDDEN | + FILE_ATTRIBUTE_NORMAL | + FILE_ATTRIBUTE_SPARSE_FILE | + FILE_ATTRIBUTE_TEMPORARY)) + it->info.type = EINA_FILE_REG; + else + it->info.type = EINA_FILE_UNKNOWN; + + *data = &it->info; + +#ifdef UNICODE + free(cname); +#endif + + free(old_name); + + if (is_last) + res = EINA_FALSE; + + return res; +} + +static HANDLE +_eina_file_win32_direct_ls_iterator_container(Eina_File_Direct_Iterator *it) +{ + return it->handle; +} + +static void +_eina_file_win32_direct_ls_iterator_free(Eina_File_Direct_Iterator *it) +{ + if (it->handle != INVALID_HANDLE_VALUE) + FindClose(it->handle); + + EINA_MAGIC_SET(&it->iterator, 0); + free(it); +} + +static void +_eina_file_real_close(Eina_File *file) +{ + eina_hash_free(file->rmap); + eina_hash_free(file->map); + + if (file->global_map != MAP_FAILED) + UnmapViewOfFile(file->global_map); + + CloseHandle(file->fm); + CloseHandle(file->handle); + + free(file); +} + +static void +_eina_file_map_close(Eina_File_Map *map) +{ + if (map->map != MAP_FAILED) + UnmapViewOfFile(map->map); + free(map); +} + +static unsigned int +_eina_file_map_key_length(const void *key __UNUSED__) +{ + return sizeof (unsigned long int) * 2; +} + +static int +_eina_file_map_key_cmp(const unsigned long int *key1, int key1_length __UNUSED__, + const unsigned long int *key2, int key2_length __UNUSED__) +{ + if (key1[0] - key2[0] == 0) return key1[1] - key2[1]; + return key1[0] - key2[0]; +} + +static int +_eina_file_map_key_hash(const unsigned long int *key, int key_length __UNUSED__) +{ + return eina_hash_int64(&key[0], sizeof (unsigned long int)) + ^ eina_hash_int64(&key[1], sizeof (unsigned long int)); +} + +static char * +_eina_file_win32_escape(const char *path, size_t *length) +{ + char *result = strdup(path ? path : ""); + char *p = result; + char *q = result; + size_t len; + + if (!result) + return NULL; + + if (length) len = *length; + else len = strlen(result); + + while ((p = strchr(p, '/'))) + { + // remove double `/' + if (p[1] == '/') + { + memmove(p, p + 1, --len - (p - result)); + result[len] = '\0'; + } + else + if (p[1] == '.' + && p[2] == '.') + { + // remove `/../' + if (p[3] == '/') + { + char tmp; + + len -= p + 3 - q; + memmove(q, p + 3, len - (q - result)); + result[len] = '\0'; + p = q; + + /* Update q correctly. */ + tmp = *p; + *p = '\0'; + q = strrchr(result, '/'); + if (!q) q = result; + *p = tmp; + } + else + // remove '/..$' + if (p[3] == '\0') + { + len -= p + 2 - q; + result[len] = '\0'; + q = p; + ++p; + } + else + { + q = p; + ++p; + } + } + else + { + q = p; + ++p; + } + } + + if (length) + *length = len; + + return result; +} + + +/** + * @endcond + */ + +/*============================================================================* + * Global * + *============================================================================*/ + +Eina_Bool +eina_file_init(void) +{ + _eina_file_log_dom = eina_log_domain_register("eina_file", + EINA_LOG_COLOR_DEFAULT); + if (_eina_file_log_dom < 0) + { + EINA_LOG_ERR("Could not register log domain: eina_file"); + return EINA_FALSE; + } + + _eina_file_cache = eina_hash_string_djb2_new(NULL); + if (!_eina_file_cache) + { + ERR("Could not create cache."); + eina_log_domain_unregister(_eina_file_log_dom); + _eina_file_log_dom = -1; + return EINA_FALSE; + } + + eina_lock_new(&_eina_file_lock_cache); + + return EINA_TRUE; +} + +Eina_Bool +eina_file_shutdown(void) +{ + if (eina_hash_population(_eina_file_cache) > 0) + { + Eina_Iterator *it; + const char *key; + + it = eina_hash_iterator_key_new(_eina_file_cache); + EINA_ITERATOR_FOREACH(it, key) + ERR("File [%s] still open !", key); + eina_iterator_free(it); + } + + eina_hash_free(_eina_file_cache); + + eina_lock_free(&_eina_file_lock_cache); + + eina_log_domain_unregister(_eina_file_log_dom); + _eina_file_log_dom = -1; + return EINA_TRUE; +} + +/*============================================================================* + * API * + *============================================================================*/ + + +EAPI char * +eina_file_path_sanitize(const char *path) +{ + char *result = NULL; + size_t len; + + if (!path) return NULL; + + len = strlen(path); + if (len < 3) return NULL; + + if (!evil_path_is_absolute(path)) + { + DWORD l; + + l = GetCurrentDirectory(0, NULL); + if (l > 0) + { + char *cwd; + DWORD l2; + + cwd = alloca(sizeof(char) * (l + 1)); + l2 = GetCurrentDirectory(l + 1, cwd); + if (l2 == l) + { + char *tmp; + + len += l + 2; + tmp = alloca(sizeof (char) * len); + snprintf(tmp, len, "%s/%s", cwd, path); + tmp[len - 1] = '\0'; + result = tmp; + } + } + } + + return _eina_file_win32_escape(result ? result : path, &len); +} + +EAPI Eina_Bool +eina_file_dir_list(const char *dir, + Eina_Bool recursive, + Eina_File_Dir_List_Cb cb, + void *data) +{ + WIN32_FIND_DATA file; + HANDLE h; + char *new_dir; + + EINA_SAFETY_ON_NULL_RETURN_VAL(cb, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(dir, EINA_FALSE); + EINA_SAFETY_ON_TRUE_RETURN_VAL(dir[0] == '\0', EINA_FALSE); + + if (!_eina_file_win32_is_dir(dir)) + return EINA_FALSE; + + new_dir = _eina_file_win32_dir_new(dir); + if (!new_dir) + return EINA_FALSE; + + h = _eina_file_win32_first_file(new_dir, &file); + + if (h == INVALID_HANDLE_VALUE) + return EINA_FALSE; + + do + { + char *filename; + +# ifdef UNICODE + filename = evil_wchar_to_char(file.cFileName); +# else + filename = file.cFileName; +# endif /* ! UNICODE */ + if (!strcmp(filename, ".") || !strcmp(filename, "..")) + continue; + + cb(filename, dir, data); + + if (recursive == EINA_TRUE) + { + char *path; + + path = alloca(strlen(dir) + strlen(filename) + 2); + strcpy(path, dir); + strcat(path, "/"); + strcat(path, filename); + + if (!(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) + continue; + + eina_file_dir_list(path, recursive, cb, data); + } + +# ifdef UNICODE + free(filename); +# endif /* UNICODE */ + + } while (FindNextFile(h, &file)); + FindClose(h); + + return EINA_TRUE; +} + +EAPI Eina_Array * +eina_file_split(char *path) +{ + Eina_Array *ea; + char *current; + size_t length; + + EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL); + + ea = eina_array_new(16); + + if (!ea) + return NULL; + + for (current = strchr(path, '\\'); + current; + path = current + 1, current = strchr(path, '\\')) + { + length = current - path; + + if (length <= 0) + continue; + + eina_array_push(ea, path); + *current = '\0'; + } + + if (*path != '\0') + eina_array_push(ea, path); + + return ea; +} + +EAPI Eina_Iterator * +eina_file_ls(const char *dir) +{ + Eina_File_Iterator *it; + char *new_dir; + size_t length; + + EINA_SAFETY_ON_NULL_RETURN_VAL(dir, NULL); + + if (!dir || !*dir) + return NULL; + + if (!_eina_file_win32_is_dir(dir)) + return NULL; + + length = strlen(dir); + + it = calloc(1, sizeof (Eina_File_Iterator) + length); + if (!it) + return NULL; + + EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); + + new_dir = _eina_file_win32_dir_new(dir); + if (!new_dir) + goto free_it; + + it->handle = _eina_file_win32_first_file(new_dir, &it->data); + free(new_dir); + if (it->handle == INVALID_HANDLE_VALUE) + goto free_it; + + memcpy(it->dir, dir, length + 1); + if (dir[length - 1] != '\\') + it->length = length; + else + it->length = length - 1; + _eina_file_win32_backslash_change(it->dir); + + it->iterator.version = EINA_ITERATOR_VERSION; + it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_ls_iterator_next); + it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_ls_iterator_container); + it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_ls_iterator_free); + + return &it->iterator; + + free_it: + free(it); + + return NULL; +} + +EAPI Eina_Iterator * +eina_file_direct_ls(const char *dir) +{ + Eina_File_Direct_Iterator *it; + char *new_dir; + size_t length; + + EINA_SAFETY_ON_NULL_RETURN_VAL(dir, NULL); + + if (!dir || !*dir) + return NULL; + + length = strlen(dir); + + if (length + 12 + 2 >= MAX_PATH) + return NULL; + + it = calloc(1, sizeof(Eina_File_Direct_Iterator) + length); + if (!it) + return NULL; + + EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); + + new_dir = _eina_file_win32_dir_new(dir); + if (!new_dir) + goto free_it; + + it->handle = _eina_file_win32_first_file(new_dir, &it->data); + free(new_dir); + if (it->handle == INVALID_HANDLE_VALUE) + goto free_it; + + memcpy(it->dir, dir, length + 1); + it->length = length; + _eina_file_win32_backslash_change(it->dir); + + memcpy(it->info.path, dir, length); + if (dir[length - 1] == '\\') + it->info.name_start = length; + else + { + it->info.path[length] = '\\'; + it->info.name_start = length + 1; + } + _eina_file_win32_backslash_change(it->info.path); + + it->iterator.version = EINA_ITERATOR_VERSION; + it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_direct_ls_iterator_next); + it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_direct_ls_iterator_container); + it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_direct_ls_iterator_free); + + return &it->iterator; + + free_it: + free(it); + + return NULL; +} + +EAPI Eina_Iterator * +eina_file_stat_ls(const char *dir) +{ + return eina_file_direct_ls(dir); +} + +EAPI Eina_File * +eina_file_open(const char *path, Eina_Bool shared) +{ + Eina_File *file; + Eina_File *n; + char *filename; + HANDLE handle; + HANDLE fm; + WIN32_FILE_ATTRIBUTE_DATA fad; + ULARGE_INTEGER length; + ULARGE_INTEGER mtime; + + EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL); + + filename = eina_file_path_sanitize(path); + if (!filename) return NULL; + + /* FIXME: how to emulate shm_open ? Just OpenFileMapping ? */ +#if 0 + if (shared) + handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, + NULL); + else +#endif + handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, + NULL); + + if (handle == INVALID_HANDLE_VALUE) + return NULL; + + fm = CreateFileMapping(handle, NULL, PAGE_READONLY, 0, 0, NULL); + if (!fm) + goto close_handle; + + if (!GetFileAttributesEx(filename, GetFileExInfoStandard, &fad)) + goto close_fm; + + length.u.LowPart = fad.nFileSizeLow; + length.u.HighPart = fad.nFileSizeHigh; + mtime.u.LowPart = fad.ftLastWriteTime.dwLowDateTime; + mtime.u.HighPart = fad.ftLastWriteTime.dwHighDateTime; + + eina_lock_take(&_eina_file_lock_cache); + + file = eina_hash_find(_eina_file_cache, filename); + if (file && + (file->mtime != mtime.QuadPart || file->length != length.QuadPart)) + { + file->delete_me = EINA_TRUE; + eina_hash_del(_eina_file_cache, file->filename, file); + _eina_file_real_close(file); + file = NULL; + } + + if (!file) + { + n = malloc(sizeof (Eina_File) + strlen(filename) + 1); + if (!n) + { + eina_lock_release(&_eina_file_lock_cache); + goto close_fm; + } + + n->filename = (char*) (n + 1); + strcpy((char*) n->filename, filename); + n->map = eina_hash_new(EINA_KEY_LENGTH(_eina_file_map_key_length), + EINA_KEY_CMP(_eina_file_map_key_cmp), + EINA_KEY_HASH(_eina_file_map_key_hash), + EINA_FREE_CB(_eina_file_map_close), + 3); + n->rmap = eina_hash_pointer_new(NULL); + n->global_map = MAP_FAILED; + n->global_refcount = 0; + n->length = length.QuadPart; + n->mtime = mtime.QuadPart; + n->refcount = 0; + n->handle = handle; + n->fm = fm; + n->shared = shared; + n->delete_me = EINA_FALSE; + eina_lock_new(&n->lock); + eina_hash_direct_add(_eina_file_cache, n->filename, n); + } + else + { + CloseHandle(fm); + CloseHandle(handle); + + n = file; + } + eina_lock_take(&n->lock); + n->refcount++; + eina_lock_release(&n->lock); + + eina_lock_release(&_eina_file_lock_cache); + + free(filename); + + return n; + + close_fm: + CloseHandle(fm); + close_handle: + CloseHandle(handle); + + return NULL; +} + +EAPI void +eina_file_close(Eina_File *file) +{ + EINA_SAFETY_ON_NULL_RETURN(file); + + eina_lock_take(&file->lock); + file->refcount--; + eina_lock_release(&file->lock); + + if (file->refcount != 0) return ; + eina_lock_take(&_eina_file_lock_cache); + + eina_hash_del(_eina_file_cache, file->filename, file); + _eina_file_real_close(file); + + eina_lock_release(&_eina_file_lock_cache); +} + +EAPI size_t +eina_file_size_get(Eina_File *file) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0); + return file->length; +} + +EAPI time_t +eina_file_mtime_get(Eina_File *file) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0); + return file->mtime; +} + +EAPI const char * +eina_file_filename_get(Eina_File *file) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); + return file->filename; +} + +EAPI Eina_Iterator *eina_file_xattr_get(Eina_File *file __UNUSED__) +{ + return NULL; +} + +EAPI Eina_Iterator *eina_file_xattr_value_get(Eina_File *file __UNUSED__) +{ + return NULL; +} + +EAPI void * +eina_file_map_all(Eina_File *file, Eina_File_Populate rule __UNUSED__) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); + + eina_lock_take(&file->lock); + if (file->global_map == MAP_FAILED) + { + void *data; + + data = MapViewOfFile(file->fm, FILE_MAP_READ, + 0, 0, file->length); + if (!data) + file->global_map = MAP_FAILED; + else + file->global_map = data; + } + + if (file->global_map != MAP_FAILED) + { + file->global_refcount++; + return file->global_map; + } + + eina_lock_release(&file->lock); + return NULL; +} + +EAPI void * +eina_file_map_new(Eina_File *file, Eina_File_Populate rule, + unsigned long int offset, unsigned long int length) +{ + Eina_File_Map *map; + unsigned long int key[2]; + + EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); + + if (offset > file->length) + return NULL; + if (offset + length > file->length) + return NULL; + + if (offset == 0 && length == file->length) + return eina_file_map_all(file, rule); + + key[0] = offset; + key[1] = length; + + eina_lock_take(&file->lock); + + map = eina_hash_find(file->map, &key); + if (!map) + { + void *data; + + map = malloc(sizeof (Eina_File_Map)); + if (!map) + { + eina_lock_release(&file->lock); + return NULL; + } + + data = MapViewOfFile(file->fm, FILE_MAP_READ, + offset & 0xffff0000, + offset & 0x0000ffff, + length); + if (!data) + map->map = MAP_FAILED; + else + map->map = data; + + map->offset = offset; + map->length = length; + map->refcount = 0; + + if (map->map == MAP_FAILED) + { + free(map); + eina_lock_release(&file->lock); + return NULL; + } + + eina_hash_add(file->map, &key, map); + eina_hash_direct_add(file->rmap, map->map, map); + } + + map->refcount++; + + eina_lock_release(&file->lock); + + return map->map; +} + +EAPI void +eina_file_map_free(Eina_File *file, void *map) +{ + EINA_SAFETY_ON_NULL_RETURN(file); + + eina_lock_take(&file->lock); + + if (file->global_map == map) + { + file->global_refcount--; + + if (file->global_refcount > 0) goto on_exit; + + UnmapViewOfFile(file->global_map); + file->global_map = MAP_FAILED; + } + else + { + Eina_File_Map *em; + unsigned long int key[2]; + + em = eina_hash_find(file->rmap, &map); + if (!em) goto on_exit; + + em->refcount--; + + if (em->refcount > 0) goto on_exit; + + key[0] = em->offset; + key[1] = em->length; + + eina_hash_del(file->rmap, &map, em); + eina_hash_del(file->map, &key, em); + } + + on_exit: + eina_lock_release(&file->lock); +} + +EAPI int +eina_file_statat(void *container __UNUSED__, Eina_File_Direct_Info *info, Eina_Stat *st) +{ + struct __stat64 buf; + + EINA_SAFETY_ON_NULL_RETURN_VAL(info, -1); + EINA_SAFETY_ON_NULL_RETURN_VAL(st, -1); + + if (stat64(info->path, &buf)) + { + if (info->type != EINA_FILE_LNK) + info->type = EINA_FILE_UNKNOWN; + return -1; + } + + if (info->type == EINA_FILE_UNKNOWN) + { + if (S_ISREG(buf.st_mode)) + info->type = EINA_FILE_REG; + else if (S_ISDIR(buf.st_mode)) + info->type = EINA_FILE_DIR; + else + info->type = EINA_FILE_UNKNOWN; + } + + st->dev = buf.st_dev; + st->ino = buf.st_ino; + st->mode = buf.st_mode; + st->nlink = buf.st_nlink; + st->uid = buf.st_uid; + st->gid = buf.st_gid; + st->rdev = buf.st_rdev; + st->size = buf.st_size; + st->blksize = 0; + st->blocks = 0; + st->atime = buf.st_atime; + st->mtime = buf.st_mtime; + st->ctime = buf.st_ctime; + st->atimensec = 0; + st->mtimensec = 0; + st->ctimensec = 0; + + return 0; +} diff --git a/libraries/eina/src/lib/eina_inlist.c b/libraries/eina/src/lib/eina_inlist.c index 75a2cc1..c80f87b 100644 --- a/libraries/eina/src/lib/eina_inlist.c +++ b/libraries/eina/src/lib/eina_inlist.c @@ -430,6 +430,8 @@ eina_inlist_find(Eina_Inlist *list, Eina_Inlist *item) { Eina_Inlist *l; + EINA_SAFETY_ON_NULL_RETURN_VAL(item, NULL); + for (l = list; l; l = l->next) { if (l == item) return item; @@ -559,6 +561,9 @@ eina_inlist_sorted_insert(Eina_Inlist *list, int cur = 0; int count; + EINA_SAFETY_ON_NULL_RETURN_VAL(item, list); + EINA_SAFETY_ON_NULL_RETURN_VAL(func, list); + if (!list) return eina_inlist_append(NULL, item); if (!list->next) diff --git a/libraries/eina/src/lib/eina_list.c b/libraries/eina/src/lib/eina_list.c index d45cffd..c85855f 100644 --- a/libraries/eina/src/lib/eina_list.c +++ b/libraries/eina/src/lib/eina_list.c @@ -1026,7 +1026,7 @@ eina_list_clone(const Eina_List *list) } EAPI Eina_List * -eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func) +eina_list_sort(Eina_List *list, unsigned int limit, Eina_Compare_Cb func) { unsigned int i = 0; unsigned int n = 0; @@ -1040,14 +1040,14 @@ eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func) EINA_MAGIC_CHECK_LIST(list, NULL); - /* if the caller specified an invalid size, sort the whole list */ - if ((size == 0) || - (size > list->accounting->count)) - size = list->accounting->count; + /* if the caller specified an invalid limit, sort the whole list */ + if ((limit == 0) || + (limit > list->accounting->count)) + limit = list->accounting->count; - if (size != list->accounting->count) + if (limit != list->accounting->count) { - unsort = eina_list_nth_list(list, size); + unsort = eina_list_nth_list(list, limit); if (unsort) unsort->prev->next = NULL; } @@ -1172,6 +1172,7 @@ eina_list_split_list(Eina_List *list, Eina_List *relative, Eina_List **right) next->prev = NULL; next->accounting = _eina_list_mempool_accounting_new(next); next->accounting->last = list->accounting->last; + next->accounting->count = 0; *right = next; itr = next; diff --git a/libraries/eina/src/lib/eina_magic.c b/libraries/eina/src/lib/eina_magic.c index d1f71cc..a42db2d 100644 --- a/libraries/eina/src/lib/eina_magic.c +++ b/libraries/eina/src/lib/eina_magic.c @@ -102,13 +102,8 @@ _eina_magic_strings_alloc(void) tmp = realloc(_eina_magic_strings, sizeof(Eina_Magic_String) * size); if (!tmp) { -#ifdef _WIN32 - ERR("could not realloc magic_strings from %Iu to %Iu buckets.", - _eina_magic_strings_allocated, size); -#else ERR("could not realloc magic_strings from %zu to %zu buckets.", _eina_magic_strings_allocated, size); -#endif return NULL; } diff --git a/libraries/eina/src/lib/eina_main.c b/libraries/eina/src/lib/eina_main.c index 79f8a36..f233929 100644 --- a/libraries/eina/src/lib/eina_main.c +++ b/libraries/eina/src/lib/eina_main.c @@ -69,6 +69,7 @@ #include "eina_inlist.h" #include "eina_inarray.h" #include "eina_value.h" +#include "eina_model.h" /*============================================================================* * Local * @@ -153,6 +154,7 @@ EAPI Eina_Inlist *_eina_tracking = NULL; S(file); S(prefix); S(value); + S(model); #undef S struct eina_desc_setup @@ -189,7 +191,8 @@ static const struct eina_desc_setup _eina_desc_setup[] = { S(simple_xml), S(file), S(prefix), - S(value) + S(value), + S(model) #undef S }; static const size_t _eina_desc_setup_len = sizeof(_eina_desc_setup) / diff --git a/libraries/eina/src/lib/eina_matrixsparse.c b/libraries/eina/src/lib/eina_matrixsparse.c index 3ac0439..59cd66b 100644 --- a/libraries/eina/src/lib/eina_matrixsparse.c +++ b/libraries/eina/src/lib/eina_matrixsparse.c @@ -1078,6 +1078,8 @@ eina_matrixsparse_size_set(Eina_Matrixsparse *m, r = r->next; _eina_matrixsparse_row_free(r_aux, free_func, user_data); + if ((update_last_used_row) && (m->last_used == r_aux)) + m->last_used = r; } else { diff --git a/libraries/eina/src/lib/eina_module.c b/libraries/eina/src/lib/eina_module.c index 26df980..f4f3242 100644 --- a/libraries/eina/src/lib/eina_module.c +++ b/libraries/eina/src/lib/eina_module.c @@ -58,6 +58,10 @@ void *alloca (size_t); # include #endif +#ifdef HAVE_EXOTIC_H +# include +#endif + #include "eina_config.h" #include "eina_private.h" #include "eina_error.h" diff --git a/libraries/eina/src/lib/eina_prefix.c b/libraries/eina/src/lib/eina_prefix.c index 5b4b0c0..2322311 100644 --- a/libraries/eina/src/lib/eina_prefix.c +++ b/libraries/eina/src/lib/eina_prefix.c @@ -30,15 +30,15 @@ #endif #ifdef HAVE_ALLOCA_H # include -#elif defined __GNUC__ -# define alloca __builtin_alloca -#elif defined _AIX -# define alloca __alloca -#elif defined _MSC_VER -# include -# define alloca _alloca -#else -# ifndef HAVE_ALLOCA +#elif !defined alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _AIX +# define alloca __alloca +# elif defined _MSC_VER +# include +# define alloca _alloca +# elif !defined HAVE_ALLOCA # ifdef __cplusplus extern "C" # endif @@ -237,7 +237,7 @@ _try_argv(Eina_Prefix *pfx, const char *argv0) DBG("Try argv0 = %s", argv0); /* 1. is argv0 abs path? */ #ifdef _WIN32 - if (argv0[0] && (argv0[1] == ':')) + if (evil_path_is_absolute(argv0)) #else if (argv0[0] == DSEP_C) #endif @@ -533,7 +533,7 @@ eina_prefix_new(const char *argv0, void *symbol, const char *envprefix, { DBG("Dlinfo dli_fname = %s", info_dl.dli_fname); # ifdef _WIN32 - if (info_dl.dli_fname[0] && (info_dl.dli_fname[1] == ':')) + if (evil_path_is_absolute(info_dl.dli_fname)) # else if (info_dl.dli_fname[0] == DSEP_C) # endif diff --git a/libraries/eina/src/lib/eina_private.h b/libraries/eina/src/lib/eina_private.h index e31ab47..49df565 100644 --- a/libraries/eina/src/lib/eina_private.h +++ b/libraries/eina/src/lib/eina_private.h @@ -95,6 +95,8 @@ #define EINA_MAGIC_INARRAY_ITERATOR 0x98761271 #define EINA_MAGIC_INARRAY_ACCESSOR 0x98761272 +#define EINA_MAGIC_MODEL 0x98761280 + #define EINA_MAGIC_CLASS 0x9877CB30 /* undef the following, we want out version */ diff --git a/libraries/eina/src/lib/eina_rbtree.c b/libraries/eina/src/lib/eina_rbtree.c index 5f1232c..a9d777a 100644 --- a/libraries/eina/src/lib/eina_rbtree.c +++ b/libraries/eina/src/lib/eina_rbtree.c @@ -1,5 +1,6 @@ /* EINA - EFL data type library * Copyright (C) 2008 Cedric Bail + * Copyright (C) 2011 Alexandre Becoulet * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -23,6 +24,7 @@ #include #include #include +#include #include "eina_config.h" #include "eina_private.h" @@ -244,9 +246,9 @@ static inline Eina_Rbtree * _eina_rbtree_inline_single_rotation(Eina_Rbtree *node, Eina_Rbtree_Direction dir) { - Eina_Rbtree *save = node->son[!dir]; + Eina_Rbtree *save = node->son[dir ^ 1]; - node->son[!dir] = save->son[dir]; + node->son[dir ^ 1] = save->son[dir]; save->son[dir] = node; node->color = EINA_RBTREE_RED; @@ -259,7 +261,7 @@ static inline Eina_Rbtree * _eina_rbtree_inline_double_rotation(Eina_Rbtree *node, Eina_Rbtree_Direction dir) { - node->son[!dir] = _eina_rbtree_inline_single_rotation(node->son[!dir], !dir); + node->son[dir ^ 1] = _eina_rbtree_inline_single_rotation(node->son[dir ^ 1], dir ^ 1); return _eina_rbtree_inline_single_rotation(node, dir); } @@ -277,87 +279,64 @@ eina_rbtree_inline_insert(Eina_Rbtree *root, Eina_Rbtree_Cmp_Node_Cb cmp, const void *data) { - Eina_Rbtree head; - Eina_Rbtree *g, *t; /* Grandparent & parent */ - Eina_Rbtree *p, *q; /* Iterator & parent */ - /* WARNING: - Compiler is not able to understand the underlying algorithm and don't know that - first top node is always black, so it will never use last before running the loop - one time. - */ - Eina_Rbtree_Direction dir, last; + Eina_Rbtree **r = &root; + Eina_Rbtree *q = root; + uintptr_t stack[48]; + unsigned int s = 0; EINA_SAFETY_ON_NULL_RETURN_VAL(node, root); EINA_SAFETY_ON_NULL_RETURN_VAL( cmp, root); - if (!node) - return root; - - _eina_rbtree_node_init(node); - - if (!root) - { - root = node; - goto end_add; - } - - memset(&head, 0, sizeof (Eina_Rbtree)); - last = dir = EINA_RBTREE_LEFT; - - /* Set up helpers */ - t = &head; - g = p = NULL; - q = t->son[1] = root; - - /* Search down the tree */ - for (;; ) - { - if (!q) - /* Insert new node at the bottom */ - p->son[dir] = q = node; - else if (_eina_rbtree_is_red(q->son[0]) - && _eina_rbtree_is_red(q->son[1])) - { - /* Color flip */ - q->color = EINA_RBTREE_RED; - q->son[0]->color = EINA_RBTREE_BLACK; - q->son[1]->color = EINA_RBTREE_BLACK; - } - - /* Fix red violation */ - if (_eina_rbtree_is_red(q) && _eina_rbtree_is_red(p)) - { - Eina_Rbtree_Direction dir2; + /* Find insertion leaf */ + while (q != NULL) + { + Eina_Rbtree_Direction dir = cmp(q, node, (void *)data); - dir2 = (t->son[1] == g) ? EINA_RBTREE_RIGHT : EINA_RBTREE_LEFT; + /* Keep path in stack */ + stack[s++] = (uintptr_t)r | dir; - if (q == p->son[last]) - t->son[dir2] = _eina_rbtree_inline_single_rotation(g, !last); - else - t->son[dir2] = _eina_rbtree_inline_double_rotation(g, !last); - } - - /* Stop if found */ - if (q == node) - break; - - last = dir; - dir = cmp(q, node, (void *)data); + r = q->son + dir; + q = *r; + } - /* Update helpers */ - if ( g ) - t = g; - - g = p, p = q; - q = q->son[dir]; - } + /* Insert */ + *r = node; + _eina_rbtree_node_init(node); - root = head.son[1]; + /* Rebalance */ + while (s > 0) + { + Eina_Rbtree *a, *b; + uintptr_t top = stack[--s]; /* Pop link pointer and direction */ + Eina_Rbtree_Direction dir = top & 1; + + r = (Eina_Rbtree **)(top & ~(uintptr_t)1); + q = *r; + + a = q->son[dir]; + /* Rebalance done ? */ + if (a == NULL || a->color == EINA_RBTREE_BLACK) + break; + + b = q->son[dir ^ 1]; + if (b != NULL && b->color == EINA_RBTREE_RED) + { + q->color = EINA_RBTREE_RED; + b->color = a->color = EINA_RBTREE_BLACK; + } + else + { + Eina_Rbtree *c = a->son[dir]; + Eina_Rbtree *d = a->son[dir ^ 1]; + + if (c != NULL && c->color == EINA_RBTREE_RED) + *r = _eina_rbtree_inline_single_rotation(*r, dir ^ 1); + else if (d != NULL && d->color == EINA_RBTREE_RED) + *r = _eina_rbtree_inline_double_rotation(*r, dir ^ 1); + } + } -end_add: - /* Make root black */ root->color = EINA_RBTREE_BLACK; - return root; } @@ -367,122 +346,144 @@ eina_rbtree_inline_remove(Eina_Rbtree *root, Eina_Rbtree_Cmp_Node_Cb cmp, const void *data) { - Eina_Rbtree head; - Eina_Rbtree *q, *p; - Eina_Rbtree *f = NULL; + Eina_Rbtree *l0, *l1, *r, **rt = &root; Eina_Rbtree_Direction dir; + uintptr_t stack[48]; + unsigned int s = 0; EINA_SAFETY_ON_NULL_RETURN_VAL(node, root); EINA_SAFETY_ON_NULL_RETURN_VAL( cmp, root); - if (!root || !node) - return root; - - memset(&head, 0, sizeof(Eina_Rbtree)); - - dir = EINA_RBTREE_RIGHT; - q = &head; - p = NULL; - q->son[EINA_RBTREE_RIGHT] = root; - - /* Search and push a red down */ - while (q->son[dir]) - { - Eina_Rbtree_Direction last = dir; - Eina_Rbtree *g; - - /* Update helpers */ - g = p; p = q; - q = q->son[dir]; - dir = cmp(q, node, (void *)data); - - /* Save parent node found */ - if (q == node) - f = p; + /* Item search loop */ + for (r = *rt; r != NULL; r = *rt) + { + if (r == node) + goto found; - /* Push the red node down */ - if (!_eina_rbtree_is_red(q) - && !_eina_rbtree_is_red(q->son[dir])) - { - if (_eina_rbtree_is_red(q->son[!dir])) - q = p->son[last] = _eina_rbtree_inline_single_rotation(q, dir); - else if (!_eina_rbtree_is_red(q->son[!dir])) - { - Eina_Rbtree *s = p->son[!last]; - - if (s) - { - if (!_eina_rbtree_is_red(s->son[EINA_RBTREE_LEFT]) - && !_eina_rbtree_is_red(s->son[EINA_RBTREE_RIGHT])) - { -/* Color flip */ - p->color = EINA_RBTREE_BLACK; - p->son[EINA_RBTREE_LEFT]->color = EINA_RBTREE_RED; - p->son[EINA_RBTREE_RIGHT]->color = EINA_RBTREE_RED; - } - else - { - Eina_Rbtree_Direction dir2; - - dir2 = g->son[1] == - p ? EINA_RBTREE_RIGHT : EINA_RBTREE_LEFT; - - if (_eina_rbtree_is_red(s->son[last])) - { - g->son[dir2] = - _eina_rbtree_inline_double_rotation(p, last); - if (f == g) - { - p = g->son[dir2]->son[last]; - f = g->son[dir2]; - } - } - else if (_eina_rbtree_is_red(s->son[!last])) - { - g->son[dir2] = - _eina_rbtree_inline_single_rotation(p, last); - if (f == g) - { - p = g->son[dir2]->son[last]; - f = g->son[dir2]; - } - } - -/* Ensure correct coloring */ - q->color = g->son[dir2]->color = EINA_RBTREE_RED; - g->son[dir2]->son[EINA_RBTREE_LEFT]->color = - EINA_RBTREE_BLACK; - g->son[dir2]->son[EINA_RBTREE_RIGHT]->color = - EINA_RBTREE_BLACK; - } - } - } - } - } - - /* Replace and remove if found */ - if (f) - { - /* 'q' should take the place of 'node' parent */ - f->son[f->son[1] == node] = q; - - /* Switch the link from the parent to q's son */ - p->son[p->son[1] == q] = q->son[!q->son[0]]; - - /* Put q at the place of node */ - q->son[0] = node->son[0]; - q->son[1] = node->son[1]; - q->color = node->color; - - /* Reset node link */ - node->son[0] = NULL; - node->son[1] = NULL; - } + dir = cmp(r, node, (void*)data); + stack[s++] = (uintptr_t)rt | dir; + rt = r->son + dir; + } + return root; - root = head.son[1]; - if (root) + found: + /* remove entry */ + l0 = node->son[0]; + l1 = node->son[1]; + + if (l0 != NULL && l1 != NULL) /* two links case */ + { + Eina_Rbtree *q, **t, **p; + uintptr_t ss; + + stack[s++] = (uintptr_t)rt | 1; + ss = s; /* keep predecessor right link stack index */ + + /* find predecessor */ + p = node->son + 1; + q = *p; + + while (1) + { + t = q->son; + q = *t; + if (q == NULL) + break; + stack[s++] = (uintptr_t)p | 0; + p = t; + } + + /* detach predecessor */ + q = *p; + *p = q->son[1]; + + int c = q->color; + + /* replace entry by predecessor */ + memcpy(q, node, sizeof(Eina_Rbtree)); + *rt = q; + + if (c == EINA_RBTREE_RED) + goto end; + + /* fix stack for replaced entry */ + if (s > ss) + stack[ss] = (uintptr_t)(q->son + 1) | 0; + } + else /* single link case */ + { + if (l0 == NULL) + l0 = l1; + + *rt = l0; + + if (node->color == EINA_RBTREE_RED) + goto end; /* removed red */ + + if (l0 != NULL && l0->color == EINA_RBTREE_RED) + { + /* red child replace removed black */ + l0->color = EINA_RBTREE_BLACK; + goto end; + } + } + + /* rebalance */ + while (s > 0) + { + Eina_Rbtree *q; + uintptr_t st = stack[--s]; + + rt = (Eina_Rbtree**)(st & ~(uintptr_t)1); + dir = st & 1; + r = *rt; + q = r->son[dir ^ 1]; + + if (q != NULL && q->color == EINA_RBTREE_RED) + { + *rt = _eina_rbtree_inline_single_rotation(*rt, dir); + q = r->son[dir ^ 1]; + rt = (*rt)->son + dir; + } + + if (q != NULL) + { + int r_color = r->color; + Eina_Rbtree *nd = q->son[dir ^ 1]; + + if (nd != NULL && nd->color == EINA_RBTREE_RED) + { + *rt = _eina_rbtree_inline_single_rotation(*rt, dir); + } + else + { + Eina_Rbtree *d = q->son[dir]; + + if (d != NULL && d->color == EINA_RBTREE_RED) + { + *rt = _eina_rbtree_inline_double_rotation(*rt, dir); + } + else + { + r->color = EINA_RBTREE_BLACK; + q->color = EINA_RBTREE_RED; + if (r_color == EINA_RBTREE_RED) + break; + continue; + } + } + + r = *rt; + r->color = r_color; + r->son[1]->color = r->son[0]->color = EINA_RBTREE_BLACK; + + break; + } + } + + end: + if (root != NULL) root->color = EINA_RBTREE_BLACK; - return root; } diff --git a/libraries/eina/src/lib/eina_sched.c b/libraries/eina/src/lib/eina_sched.c index 8c7f7fe..b8e7000 100644 --- a/libraries/eina/src/lib/eina_sched.c +++ b/libraries/eina/src/lib/eina_sched.c @@ -41,7 +41,7 @@ #include "eina_sched.h" #include "eina_log.h" -#define RTNICENESS 5 +#define RTNICENESS 1 #define NICENESS 5 EAPI void @@ -62,10 +62,14 @@ eina_sched_prio_drop(void) if (EINA_UNLIKELY(pol == SCHED_RR || pol == SCHED_FIFO)) { - prio = sched_get_priority_max(pol); - param.sched_priority += RTNICENESS; - if (prio > 0 && param.sched_priority > prio) - param.sched_priority = prio; + param.sched_priority -= RTNICENESS; + + /* We don't change the policy */ + if (param.sched_priority < 1) + { + EINA_LOG_INFO("RT prio < 1, setting to 1 instead"); + param.sched_priority = 1; + } pthread_setschedparam(pthread_id, pol, ¶m); } @@ -78,7 +82,10 @@ eina_sched_prio_drop(void) { prio += NICENESS; if (prio > 19) - prio = 19; + { + EINA_LOG_INFO("Max niceness reached; keeping max (19)"); + prio = 19; + } setpriority(PRIO_PROCESS, 0, prio); } diff --git a/libraries/eina/src/lib/eina_share_common.c b/libraries/eina/src/lib/eina_share_common.c index 90e1868..776e429 100644 --- a/libraries/eina/src/lib/eina_share_common.c +++ b/libraries/eina/src/lib/eina_share_common.c @@ -76,7 +76,6 @@ #include "eina_hash.h" #include "eina_rbtree.h" #include "eina_error.h" -#include "eina_log.h" #include "eina_lock.h" /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ @@ -126,8 +125,6 @@ typedef struct _Eina_Share_Common Eina_Share_Common; typedef struct _Eina_Share_Common_Node Eina_Share_Common_Node; typedef struct _Eina_Share_Common_Head Eina_Share_Common_Head; -int _eina_share_common_log_dom = -1; - struct _Eina_Share { Eina_Share_Common *share; @@ -600,28 +597,8 @@ eina_share_common_init(Eina_Share **_share, share = *_share = calloc(sizeof(Eina_Share), 1); if (!share) goto on_error; - if (_eina_share_common_log_dom < 0) /*Only register if not already */ - _eina_share_common_log_dom = eina_log_domain_register( - "eina_share", - EINA_LOG_COLOR_DEFAULT); - - if (_eina_share_common_log_dom < 0) - { - EINA_LOG_ERR("Could not register log domain: eina_share_common"); - goto on_error; - } - share->share = calloc(1, sizeof(Eina_Share_Common)); - if (!share->share) - { - if (_eina_share_common_log_dom > 0) - { - eina_log_domain_unregister(_eina_share_common_log_dom); - _eina_share_common_log_dom = -1; - } - - goto on_error; - } + if (!share->share) goto on_error; share->node_magic = node_magic; #define EMS(n) eina_magic_string_static_set(n, n ## _STR) @@ -678,11 +655,6 @@ eina_share_common_shutdown(Eina_Share **_share) MAGIC_FREE(share->share); _eina_share_common_population_shutdown(share); - if (_eina_share_common_log_dom > 0) /* Only free if necessary */ - { - eina_log_domain_unregister(_eina_share_common_log_dom); - _eina_share_common_log_dom = -1; - } eina_lock_release(&_mutex_big); @@ -833,7 +805,7 @@ eina_share_common_ref(Eina_Share *share, const char *str) } -void +Eina_Bool eina_share_common_del(Eina_Share *share, const char *str) { unsigned int slen; @@ -843,7 +815,7 @@ eina_share_common_del(Eina_Share *share, const char *str) int hash_num, hash; if (!str) - return; + return EINA_TRUE; eina_lock_take(&_mutex_big); @@ -857,7 +829,7 @@ eina_share_common_del(Eina_Share *share, const char *str) { node->references--; eina_lock_release(&_mutex_big); - return; + return EINA_TRUE; } node->references = 0; @@ -871,7 +843,7 @@ eina_share_common_del(Eina_Share *share, const char *str) if (!ed) goto on_error; - EINA_MAGIC_CHECK_SHARE_COMMON_HEAD(ed, eina_lock_release(&_mutex_big)); + EINA_MAGIC_CHECK_SHARE_COMMON_HEAD(ed, eina_lock_release(&_mutex_big), EINA_FALSE); if (!_eina_share_common_head_remove_node(ed, node)) goto on_error; @@ -886,12 +858,12 @@ eina_share_common_del(Eina_Share *share, const char *str) eina_lock_release(&_mutex_big); - return; + return EINA_TRUE; on_error: eina_lock_release(&_mutex_big); /* possible segfault happened before here, but... */ - CRITICAL("EEEK trying to del non-shared share_common \"%s\"", str); + return EINA_FALSE; } int diff --git a/libraries/eina/src/lib/eina_share_common.h b/libraries/eina/src/lib/eina_share_common.h index 002c652..6bc11ef 100644 --- a/libraries/eina/src/lib/eina_share_common.h +++ b/libraries/eina/src/lib/eina_share_common.h @@ -71,7 +71,7 @@ const char *eina_share_common_add_length(Eina_Share *share, unsigned int null_size) EINA_WARN_UNUSED_RESULT; const char *eina_share_common_ref(Eina_Share *share, const char *str); -void eina_share_common_del(Eina_Share *share, const char *str); +Eina_Bool eina_share_common_del(Eina_Share *share, const char *str) EINA_WARN_UNUSED_RESULT; int eina_share_common_length(Eina_Share *share, const char *str) EINA_CONST EINA_WARN_UNUSED_RESULT; @@ -83,21 +83,4 @@ void eina_share_common_dump(Eina_Share *share, void (*additional_dump)( void eina_share_common_population_add(Eina_Share *share, int slen); void eina_share_common_population_del(Eina_Share *share, int slen); -/* Share logging */ -#ifdef CRITICAL -#undef CRITICAL -#endif -#define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_common_log_dom, __VA_ARGS__) - -#ifdef ERR -#undef ERR -#endif -#define ERR(...) EINA_LOG_DOM_ERR(_eina_share_common_log_dom, __VA_ARGS__) - -#ifdef DBG -#undef DBG -#endif -#define DBG(...) EINA_LOG_DOM_DBG(_eina_share_common_log_dom, __VA_ARGS__) -extern int _eina_share_common_log_dom; - -#endif /* EINA_STRINGSHARE_H_ */ +#endif /* EINA_SHARE_COMMON_H_ */ diff --git a/libraries/eina/src/lib/eina_stringshare.c b/libraries/eina/src/lib/eina_stringshare.c index 478b300..f371fcd 100644 --- a/libraries/eina/src/lib/eina_stringshare.c +++ b/libraries/eina/src/lib/eina_stringshare.c @@ -55,12 +55,30 @@ void *alloca (size_t); #include "eina_private.h" #include "eina_error.h" #include "eina_log.h" -#include "eina_stringshare.h" #include "eina_lock.h" +#include "eina_share_common.h" /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ #include "eina_safety_checks.h" -#include "eina_share_common.h" +#include "eina_stringshare.h" + + +#ifdef CRITICAL +#undef CRITICAL +#endif +#define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_stringshare_log_dom, __VA_ARGS__) + +#ifdef ERR +#undef ERR +#endif +#define ERR(...) EINA_LOG_DOM_ERR(_eina_share_stringshare_log_dom, __VA_ARGS__) + +#ifdef DBG +#undef DBG +#endif +#define DBG(...) EINA_LOG_DOM_DBG(_eina_share_stringshare_log_dom, __VA_ARGS__) + +static int _eina_share_stringshare_log_dom = -1; /* The actual share */ static Eina_Share *stringshare_share; @@ -447,11 +465,8 @@ _eina_stringshare_small_bucket_dump(Eina_Stringshare_Small_Bucket *bucket, for (i = 0; i < bucket->count; i++, s++, l++, r++) { int dups; -#ifdef _WIN32 - printf("DDD: %5hu %5hu '%s'\n", *l, *r, *s); -#else + printf("DDD: %5hhu %5hu '%s'\n", *l, *r, *s); -#endif dups = (*r - 1); @@ -500,11 +515,29 @@ Eina_Bool eina_stringshare_init(void) { Eina_Bool ret; + + if (_eina_share_stringshare_log_dom < 0) + { + _eina_share_stringshare_log_dom = eina_log_domain_register + ("eina_stringshare", EINA_LOG_COLOR_DEFAULT); + + if (_eina_share_stringshare_log_dom < 0) + { + EINA_LOG_ERR("Could not register log domain: eina_stringshare"); + return EINA_FALSE; + } + } + ret = eina_share_common_init(&stringshare_share, EINA_MAGIC_STRINGSHARE_NODE, EINA_MAGIC_STRINGSHARE_NODE_STR); if (ret) _eina_stringshare_small_init(); + else + { + eina_log_domain_unregister(_eina_share_stringshare_log_dom); + _eina_share_stringshare_log_dom = -1; + } return ret; } @@ -526,6 +559,13 @@ eina_stringshare_shutdown(void) Eina_Bool ret; _eina_stringshare_small_shutdown(); ret = eina_share_common_shutdown(&stringshare_share); + + if (_eina_share_stringshare_log_dom >= 0) + { + eina_log_domain_unregister(_eina_share_stringshare_log_dom); + _eina_share_stringshare_log_dom = -1; + } + return ret; } @@ -534,7 +574,7 @@ eina_stringshare_shutdown(void) *============================================================================*/ EAPI void -eina_stringshare_del(const char *str) +eina_stringshare_del(Eina_Stringshare *str) { int slen; @@ -564,16 +604,17 @@ eina_stringshare_del(const char *str) return; } - eina_share_common_del(stringshare_share, str); + if (!eina_share_common_del(stringshare_share, str)) + CRITICAL("EEEK trying to del non-shared stringshare \"%s\"", str); } -EAPI const char * +EAPI Eina_Stringshare * eina_stringshare_add_length(const char *str, unsigned int slen) { if ((!str) || (slen <= 0)) return ""; else if (slen == 1) - return (const char *)_eina_stringshare_single + ((*str) << 1); + return (Eina_Stringshare *) _eina_stringshare_single + ((*str) << 1); else if (slen < 4) { const char *s; @@ -588,7 +629,7 @@ eina_stringshare_add_length(const char *str, unsigned int slen) sizeof(char), sizeof(char)); } -EAPI const char * +EAPI Eina_Stringshare * eina_stringshare_add(const char *str) { int slen; @@ -609,7 +650,7 @@ eina_stringshare_add(const char *str) return eina_stringshare_add_length(str, slen); } -EAPI const char * +EAPI Eina_Stringshare * eina_stringshare_printf(const char *fmt, ...) { va_list args; @@ -633,7 +674,7 @@ eina_stringshare_printf(const char *fmt, ...) return ret; } -EAPI const char * +EAPI Eina_Stringshare * eina_stringshare_vprintf(const char *fmt, va_list args) { char *tmp; @@ -654,7 +695,7 @@ eina_stringshare_vprintf(const char *fmt, va_list args) return ret; } -EAPI const char * +EAPI Eina_Stringshare * eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) { va_list args; @@ -679,8 +720,8 @@ eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) return eina_stringshare_add_length(tmp, len); } -EAPI const char * -eina_stringshare_ref(const char *str) +EAPI Eina_Stringshare * +eina_stringshare_ref(Eina_Stringshare *str) { int slen; @@ -721,7 +762,7 @@ eina_stringshare_ref(const char *str) } EAPI int -eina_stringshare_strlen(const char *str) +eina_stringshare_strlen(Eina_Stringshare *str) { int len; /* special cases */ @@ -737,7 +778,7 @@ eina_stringshare_strlen(const char *str) if (str[3] == '\0') return 3; - len = eina_share_common_length(stringshare_share, (const char *)str); + len = eina_share_common_length(stringshare_share, (Eina_Stringshare *) str); len = (len > 0) ? len / (int)sizeof(char) : -1; return len; } diff --git a/libraries/eina/src/lib/eina_unicode.c b/libraries/eina/src/lib/eina_unicode.c index 342e3cb..7505906 100644 --- a/libraries/eina/src/lib/eina_unicode.c +++ b/libraries/eina/src/lib/eina_unicode.c @@ -15,10 +15,18 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; * if not, see . - */ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "eina_config.h" +#include "eina_private.h" +#include + +/* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ +#include "eina_safety_checks.h" #include "eina_unicode.h" /* FIXME: check if sizeof(wchar_t) == sizeof(Eina_Unicode) if so, @@ -30,6 +38,9 @@ EAPI const Eina_Unicode *EINA_UNICODE_EMPTY_STRING = _EINA_UNICODE_EMPTY_STRING; EAPI int eina_unicode_strcmp(const Eina_Unicode *a, const Eina_Unicode *b) { + EINA_SAFETY_ON_NULL_RETURN_VAL(a, -1); + EINA_SAFETY_ON_NULL_RETURN_VAL(b, -1); + for (; *a && *a == *b; a++, b++) ; if (*a == *b) @@ -45,6 +56,9 @@ eina_unicode_strcpy(Eina_Unicode *dest, const Eina_Unicode *source) { Eina_Unicode *ret = dest; + EINA_SAFETY_ON_NULL_RETURN_VAL(dest, NULL); + EINA_SAFETY_ON_NULL_RETURN_VAL(source, NULL); + while (*source) *dest++ = *source++; *dest = 0; @@ -56,6 +70,9 @@ eina_unicode_strncpy(Eina_Unicode *dest, const Eina_Unicode *source, size_t n) { Eina_Unicode *ret = dest; + EINA_SAFETY_ON_NULL_RETURN_VAL(dest, NULL); + EINA_SAFETY_ON_NULL_RETURN_VAL(source, NULL); + for ( ; n && *source ; n--) *dest++ = *source++; for (; n; n--) @@ -67,6 +84,9 @@ EAPI size_t eina_unicode_strlen(const Eina_Unicode *ustr) { const Eina_Unicode *end; + + EINA_SAFETY_ON_NULL_RETURN_VAL(ustr, 0); + for (end = ustr; *end; end++) ; return end - ustr; @@ -77,6 +97,9 @@ eina_unicode_strnlen(const Eina_Unicode *ustr, int n) { const Eina_Unicode *end; const Eina_Unicode *last = ustr + n; /* technically not portable ;-) */ + + EINA_SAFETY_ON_NULL_RETURN_VAL(ustr, 0); + for (end = ustr; end < last && *end; end++) ; return end - ustr; @@ -90,7 +113,9 @@ eina_unicode_strndup(const Eina_Unicode *text, size_t n) { Eina_Unicode *ustr; - ustr = (Eina_Unicode *) malloc((n + 1) * sizeof(Eina_Unicode)); + EINA_SAFETY_ON_NULL_RETURN_VAL(text, NULL); + + ustr = malloc((n + 1) * sizeof(Eina_Unicode)); memcpy(ustr, text, n * sizeof(Eina_Unicode)); ustr[n] = 0; return ustr; @@ -101,6 +126,8 @@ eina_unicode_strdup(const Eina_Unicode *text) { size_t len; + EINA_SAFETY_ON_NULL_RETURN_VAL(text, NULL); + len = eina_unicode_strlen(text); return eina_unicode_strndup(text, len); } @@ -110,6 +137,9 @@ eina_unicode_strstr(const Eina_Unicode *haystack, const Eina_Unicode *needle) { const Eina_Unicode *i, *j; + EINA_SAFETY_ON_NULL_RETURN_VAL(haystack, NULL); + EINA_SAFETY_ON_NULL_RETURN_VAL(needle, NULL); + for (i = haystack; *i; i++) { haystack = i; /* set this location as the base position */ @@ -131,6 +161,8 @@ eina_unicode_escape(const Eina_Unicode *str) Eina_Unicode *s2, *d; const Eina_Unicode *s; + EINA_SAFETY_ON_NULL_RETURN_VAL(str, NULL); + s2 = malloc((eina_unicode_strlen(str) * 2) + 1); if (!s2) return NULL; @@ -165,6 +197,9 @@ eina_unicode_utf8_get_next(const char *buf, int *iindex) Eina_Unicode r; unsigned char d; + EINA_SAFETY_ON_NULL_RETURN_VAL(buf, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(iindex, 0); + /* if this char is the null terminator, exit */ if ((d = buf[ind++]) == 0) return 0; @@ -266,8 +301,12 @@ error: EAPI Eina_Unicode eina_unicode_utf8_get_prev(const char *buf, int *iindex) { - int r; - int ind = *iindex; + int r, ind; + + EINA_SAFETY_ON_NULL_RETURN_VAL(buf, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(iindex, 0); + + ind = *iindex; /* First obtain the codepoint at iindex */ r = eina_unicode_utf8_get_next(buf, &ind); @@ -292,6 +331,8 @@ eina_unicode_utf8_get_len(const char *buf) /* returns the number of utf8 characters (not bytes) in the string */ int i = 0, len = 0; + EINA_SAFETY_ON_NULL_RETURN_VAL(buf, 0); + while (eina_unicode_utf8_get_next(buf, &i)) len++; @@ -306,6 +347,8 @@ eina_unicode_utf8_to_unicode(const char *utf, int *_len) int ind; Eina_Unicode *buf, *uind; + EINA_SAFETY_ON_NULL_RETURN_VAL(utf, NULL); + len = eina_unicode_utf8_get_len(utf); if (_len) *_len = len; @@ -328,6 +371,8 @@ eina_unicode_unicode_to_utf8(const Eina_Unicode *uni, int *_len) char *ind; int ulen, len; + EINA_SAFETY_ON_NULL_RETURN_VAL(uni, NULL); + ulen = eina_unicode_strlen(uni); buf = (char *) calloc(ulen + 1, EINA_UNICODE_UTF8_BYTES_PER_CHAR); diff --git a/libraries/eina/src/lib/eina_ustringshare.c b/libraries/eina/src/lib/eina_ustringshare.c index 3992dc6..33be242 100644 --- a/libraries/eina/src/lib/eina_ustringshare.c +++ b/libraries/eina/src/lib/eina_ustringshare.c @@ -27,11 +27,38 @@ * */ -#include "eina_share_common.h" -#include "eina_unicode.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "eina_config.h" #include "eina_private.h" +#include "eina_unicode.h" +#include "eina_log.h" +#include "eina_share_common.h" + +/* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ +#include "eina_safety_checks.h" #include "eina_ustringshare.h" + +#ifdef CRITICAL +#undef CRITICAL +#endif +#define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_ustringshare_log_dom, __VA_ARGS__) + +#ifdef ERR +#undef ERR +#endif +#define ERR(...) EINA_LOG_DOM_ERR(_eina_share_ustringshare_log_dom, __VA_ARGS__) + +#ifdef DBG +#undef DBG +#endif +#define DBG(...) EINA_LOG_DOM_DBG(_eina_share_ustringshare_log_dom, __VA_ARGS__) + +static int _eina_share_ustringshare_log_dom = -1; + /* The actual share */ static Eina_Share *ustringshare_share; static const char EINA_MAGIC_USTRINGSHARE_NODE_STR[] = "Eina UStringshare Node"; @@ -54,9 +81,31 @@ static const char EINA_MAGIC_USTRINGSHARE_NODE_STR[] = "Eina UStringshare Node"; Eina_Bool eina_ustringshare_init(void) { - return eina_share_common_init(&ustringshare_share, - EINA_MAGIC_USTRINGSHARE_NODE, - EINA_MAGIC_USTRINGSHARE_NODE_STR); + Eina_Bool ret; + + if (_eina_share_ustringshare_log_dom < 0) + { + _eina_share_ustringshare_log_dom = eina_log_domain_register + ("eina_ustringshare", EINA_LOG_COLOR_DEFAULT); + + if (_eina_share_ustringshare_log_dom < 0) + { + EINA_LOG_ERR("Could not register log domain: eina_ustringshare"); + return EINA_FALSE; + } + } + + ret = eina_share_common_init(&ustringshare_share, + EINA_MAGIC_USTRINGSHARE_NODE, + EINA_MAGIC_USTRINGSHARE_NODE_STR); + + if (!ret) + { + eina_log_domain_unregister(_eina_share_ustringshare_log_dom); + _eina_share_ustringshare_log_dom = -1; + } + + return ret; } /** @@ -75,6 +124,13 @@ eina_ustringshare_shutdown(void) { Eina_Bool ret; ret = eina_share_common_shutdown(&ustringshare_share); + + if (_eina_share_ustringshare_log_dom >= 0) + { + eina_log_domain_unregister(_eina_share_ustringshare_log_dom); + _eina_share_ustringshare_log_dom = -1; + } + return ret; } @@ -88,7 +144,8 @@ eina_ustringshare_del(const Eina_Unicode *str) if (!str) return; - eina_share_common_del(ustringshare_share,(const char *)str); + if (!eina_share_common_del(ustringshare_share, (const char *)str)) + CRITICAL("EEEK trying to del non-shared ustringshare \"%s\"", (const char *)str); } EAPI const Eina_Unicode * diff --git a/libraries/eina/src/lib/eina_value.c b/libraries/eina/src/lib/eina_value.c index ba8af52..b8df693 100644 --- a/libraries/eina/src/lib/eina_value.c +++ b/libraries/eina/src/lib/eina_value.c @@ -49,6 +49,10 @@ void *alloca (size_t); #include /* PRId64 and PRIu64 */ #include /* struct timeval */ +#ifdef HAVE_EVIL +# include +#endif + #include "eina_config.h" #include "eina_private.h" #include "eina_error.h" @@ -60,6 +64,7 @@ void *alloca (size_t); /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ #include "eina_safety_checks.h" #include "eina_value.h" +#include "eina_model.h" /* uses eina_value.h */ /*============================================================================* * Local * @@ -168,7 +173,7 @@ _eina_value_type_uchar_convert_to(const Eina_Value_Type *type __UNUSED__, const unsigned int other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); @@ -317,7 +322,7 @@ _eina_value_type_ushort_convert_to(const Eina_Value_Type *type __UNUSED__, const unsigned int other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); @@ -470,7 +475,7 @@ _eina_value_type_uint_convert_to(const Eina_Value_Type *type __UNUSED__, const E unsigned int other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); @@ -627,7 +632,7 @@ _eina_value_type_ulong_convert_to(const Eina_Value_Type *type __UNUSED__, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; return eina_value_type_pset(convert, convert_mem, &other_mem); @@ -786,7 +791,7 @@ _eina_value_type_uint64_convert_to(const Eina_Value_Type *type __UNUSED__, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY((sizeof(other_mem) != sizeof(v)) && @@ -950,7 +955,7 @@ _eina_value_type_char_convert_to(const Eina_Value_Type *type __UNUSED__, const E return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -1107,7 +1112,7 @@ _eina_value_type_short_convert_to(const Eina_Value_Type *type __UNUSED__, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -1270,7 +1275,7 @@ _eina_value_type_int_convert_to(const Eina_Value_Type *type __UNUSED__, const Ei return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -1439,7 +1444,7 @@ _eina_value_type_long_convert_to(const Eina_Value_Type *type __UNUSED__, const E return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -1612,7 +1617,7 @@ _eina_value_type_int64_convert_to(const Eina_Value_Type *type __UNUSED__, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -1792,7 +1797,7 @@ _eina_value_type_float_convert_to(const Eina_Value_Type *type __UNUSED__, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -1978,7 +1983,7 @@ _eina_value_type_double_convert_to(const Eina_Value_Type *type __UNUSED__, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v; if (EINA_UNLIKELY(v < 0)) @@ -2146,7 +2151,7 @@ _eina_value_type_string_common_convert_to(const Eina_Value_Type *type __UNUSED__ return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem; if ((sscanf(v, "%lu", &other_mem) != 1) && @@ -2248,7 +2253,11 @@ static Eina_Bool _eina_value_type_stringshare_flush(const Eina_Value_Type *type __UNUSED__, void *mem) { const char **tmem = mem; - if (*tmem) eina_stringshare_del(*tmem); + if (*tmem) + { + eina_stringshare_del(*tmem); + *tmem = NULL; + } return EINA_TRUE; } @@ -2257,8 +2266,7 @@ _eina_value_type_stringshare_copy(const Eina_Value_Type *type __UNUSED__, const { const char * const*s = src; const char **d = dst; - *d = *s; - eina_stringshare_ref(*d); + *d = eina_stringshare_add(*s); return EINA_TRUE; } @@ -2280,7 +2288,11 @@ static Eina_Bool _eina_value_type_string_flush(const Eina_Value_Type *type __UNUSED__, void *mem) { char **tmem = mem; - if (*tmem) free(*tmem); + if (*tmem) + { + free(*tmem); + *tmem = NULL; + } return EINA_TRUE; } @@ -2308,19 +2320,24 @@ _eina_value_type_string_vset(const Eina_Value_Type *type __UNUSED__, void *mem, { char **tmem = mem; const char *str = va_arg(args, const char *); - free(*tmem); - if (str == NULL) - *tmem = NULL; + eina_error_set(0); + if (str == *tmem) return EINA_TRUE; + if (!str) + { + free(*tmem); + *tmem = NULL; + } else { - *tmem = strdup(str); - if (*tmem == NULL) + char *tmp = strdup(str); + if (!tmp) { eina_error_set(EINA_ERROR_OUT_OF_MEMORY); return EINA_FALSE; } + free(*tmem); + *tmem = tmp; } - eina_error_set(0); return EINA_TRUE; } @@ -2329,19 +2346,24 @@ _eina_value_type_string_pset(const Eina_Value_Type *type __UNUSED__, void *mem, { char **tmem = mem; const char * const *str = ptr; - free(*tmem); - if (*str == NULL) - *tmem = NULL; + eina_error_set(0); + if (*str == *tmem) return EINA_TRUE; + if (!*str) + { + free(*tmem); + *tmem = NULL; + } else { - *tmem = strdup(*str); - if (*tmem == NULL) + char *tmp = strdup(*str); + if (!tmp) { eina_error_set(EINA_ERROR_OUT_OF_MEMORY); return EINA_FALSE; } + free(*tmem); + *tmem = tmp; } - eina_error_set(0); return EINA_TRUE; } @@ -2505,12 +2527,13 @@ _eina_value_type_array_convert_to(const Eina_Value_Type *type __UNUSED__, const (convert == EINA_VALUE_TYPE_STRINGSHARE)) { Eina_Strbuf *str = eina_strbuf_new(); + const char *ptr; if (!tmem->array) eina_strbuf_append(str, "[]"); else { const Eina_Value_Type *subtype = tmem->subtype; unsigned char sz; - const char *ptr, *ptr_end; + const char *ptr_end; Eina_Value tmp; Eina_Bool first = EINA_TRUE; @@ -2551,10 +2574,10 @@ _eina_value_type_array_convert_to(const Eina_Value_Type *type __UNUSED__, const } eina_strbuf_append_char(str, ']'); - ptr = eina_strbuf_string_get(str); - ret = eina_value_type_pset(convert, convert_mem, &ptr); - eina_strbuf_free(str); } + ptr = eina_strbuf_string_get(str); + ret = eina_value_type_pset(convert, convert_mem, &ptr); + eina_strbuf_free(str); } else if ((tmem->array) && (tmem->array->len == 1)) { @@ -2606,43 +2629,51 @@ _eina_value_type_array_convert_from(const Eina_Value_Type *type, const Eina_Valu } static Eina_Bool -_eina_value_type_array_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) +_eina_value_type_array_pset(const Eina_Value_Type *type, void *mem, const void *ptr) { Eina_Value_Array *tmem = mem; const Eina_Value_Array *desc = ptr; Eina_Inarray *desc_array; + eina_error_set(0); if ((!tmem->subtype) && (!desc->subtype)) return EINA_TRUE; desc_array = desc->array; if (desc_array) { + Eina_Value_Array tmp; + EINA_SAFETY_ON_FALSE_RETURN_VAL (desc_array->member_size == desc->subtype->value_size, EINA_FALSE); + + if (desc_array == tmem->array) + { + tmem->subtype = desc->subtype; + return EINA_TRUE; + } + + if (!_eina_value_type_array_copy(type, desc, &tmp)) + return EINA_FALSE; + + _eina_value_type_array_flush(type, tmem); + memcpy(tmem, &tmp, sizeof(tmp)); + return EINA_TRUE; } if (tmem->array) { _eina_value_type_array_flush_elements(tmem); - if (desc_array) - eina_inarray_free(tmem->array); - else - eina_inarray_setup(tmem->array, desc->subtype->value_size, - desc->step); + eina_inarray_setup(tmem->array, desc->subtype->value_size, desc->step); } - else if (!desc_array) + else { tmem->array = eina_inarray_new(desc->subtype->value_size, desc->step); if (!tmem->array) return EINA_FALSE; } - if (desc_array) - tmem->array = desc_array; - tmem->subtype = desc->subtype; - return EINA_TRUE; } @@ -2821,13 +2852,13 @@ _eina_value_type_list_convert_to(const Eina_Value_Type *type __UNUSED__, const E (convert == EINA_VALUE_TYPE_STRINGSHARE)) { Eina_Strbuf *str = eina_strbuf_new(); + const char *s; if (!tmem->list) eina_strbuf_append(str, "[]"); else { const Eina_Value_Type *subtype = tmem->subtype; const Eina_List *node; Eina_Value tmp; - const char *s; Eina_Bool first = EINA_TRUE; eina_value_setup(&tmp, EINA_VALUE_TYPE_STRING); @@ -2867,10 +2898,10 @@ _eina_value_type_list_convert_to(const Eina_Value_Type *type __UNUSED__, const E } eina_strbuf_append_char(str, ']'); - s = eina_strbuf_string_get(str); - ret = eina_value_type_pset(convert, convert_mem, &s); - eina_strbuf_free(str); } + s = eina_strbuf_string_get(str); + ret = eina_value_type_pset(convert, convert_mem, &s); + eina_strbuf_free(str); } else if ((tmem->list) && (tmem->list->next == NULL)) { @@ -2932,18 +2963,36 @@ _eina_value_type_list_convert_from(const Eina_Value_Type *type, const Eina_Value } static Eina_Bool -_eina_value_type_list_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) +_eina_value_type_list_pset(const Eina_Value_Type *type, void *mem, const void *ptr) { Eina_Value_List *tmem = mem; const Eina_Value_List *desc = ptr; + eina_error_set(0); if ((!tmem->subtype) && (!desc->subtype)) return EINA_TRUE; + if ((tmem->list) && (tmem->list == desc->list)) + { + tmem->subtype = desc->subtype; + return EINA_TRUE; + } + + if (desc->list) + { + Eina_Value_List tmp; + + if (!_eina_value_type_list_copy(type, desc, &tmp)) + return EINA_FALSE; + + _eina_value_type_list_flush(type, tmem); + memcpy(tmem, &tmp, sizeof(tmp)); + return EINA_TRUE; + } + _eina_value_type_list_flush_elements(tmem); - tmem->subtype = desc->subtype; - tmem->list = desc->list; + tmem->subtype = desc->subtype; return EINA_TRUE; } @@ -2995,6 +3044,7 @@ _eina_value_type_hash_flush_each(const Eina_Hash *hash __UNUSED__, const void *k { struct _eina_value_type_hash_flush_each_ctx *ctx = user_data; ctx->ret &= eina_value_type_flush(ctx->subtype, mem); + free(mem); return EINA_TRUE; } @@ -3239,11 +3289,11 @@ _eina_value_type_hash_convert_to(const Eina_Value_Type *type __UNUSED__, const E (convert == EINA_VALUE_TYPE_STRINGSHARE)) { Eina_Strbuf *str = eina_strbuf_new(); + const char *s; if (!tmem->hash) eina_strbuf_append(str, "{}"); else { struct _eina_value_type_hash_convert_to_string_each_ctx ctx; - const char *s; ctx.subtype = tmem->subtype; ctx.str = str; @@ -3257,10 +3307,10 @@ _eina_value_type_hash_convert_to(const Eina_Value_Type *type __UNUSED__, const E &ctx); eina_strbuf_append_char(str, '}'); - s = eina_strbuf_string_get(str); - ret = eina_value_type_pset(convert, convert_mem, &s); - eina_strbuf_free(str); } + s = eina_strbuf_string_get(str); + ret = eina_value_type_pset(convert, convert_mem, &s); + eina_strbuf_free(str); } else if ((tmem->hash) && (eina_hash_population(tmem->hash) == 1)) { @@ -3288,22 +3338,38 @@ _eina_value_type_hash_convert_to(const Eina_Value_Type *type __UNUSED__, const E } static Eina_Bool -_eina_value_type_hash_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) +_eina_value_type_hash_pset(const Eina_Value_Type *type, void *mem, const void *ptr) { Eina_Value_Hash *tmem = mem; const Eina_Value_Hash *desc = ptr; + eina_error_set(0); if ((!tmem->subtype) && (!desc->subtype)) return EINA_TRUE; - if (tmem->hash) _eina_value_type_hash_flush_elements(tmem); + if ((tmem->hash) && (tmem->hash == desc->hash)) + { + tmem->subtype = desc->subtype; + return EINA_TRUE; + } if (desc->hash) - tmem->hash = desc->hash; - else if (!_eina_value_type_hash_create(tmem)) - return EINA_FALSE; + { + Eina_Value_Hash tmp; + + if (!_eina_value_type_hash_copy(type, desc, &tmp)) + return EINA_FALSE; + + _eina_value_type_hash_flush(type, tmem); + memcpy(tmem, &tmp, sizeof(tmp)); + return EINA_TRUE; + } + + if (tmem->hash) _eina_value_type_hash_flush_elements(tmem); tmem->subtype = desc->subtype; + if (!_eina_value_type_hash_create(tmem)) + return EINA_FALSE; return EINA_TRUE; } @@ -3424,7 +3490,7 @@ _eina_value_type_timeval_convert_to(const Eina_Value_Type *type __UNUSED__, cons return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, &other_mem); } - else if (convert == EINA_VALUE_TYPE_ULONG) + else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) { unsigned long other_mem = v.tv_sec; if (EINA_UNLIKELY(v.tv_sec < 0)) @@ -3570,6 +3636,8 @@ _eina_value_type_blob_flush(const Eina_Value_Type *type __UNUSED__, void *mem) Eina_Value_Blob *tmem = mem; if ((ops) && (ops->free)) ops->free(ops, (void *)tmem->memory, tmem->size); + tmem->memory = NULL; + tmem->size = 0; return EINA_TRUE; } @@ -3776,6 +3844,14 @@ _eina_value_type_blob_pset(const Eina_Value_Type *type __UNUSED__, void *mem, co Eina_Value_Blob *tmem = mem; const Eina_Value_Blob *desc = ptr; + eina_error_set(0); + if ((tmem->memory) && (tmem->memory == desc->memory)) + { + tmem->ops = desc->ops; + tmem->size = desc->size; + return EINA_TRUE; + } + if ((ops) && (ops->free)) ops->free(ops, (void *)tmem->memory, tmem->size); @@ -3872,6 +3948,7 @@ _eina_value_struct_operations_stringshare_find_member(const Eina_Value_Struct_Op return itr; } + itr = desc->members; name = eina_stringshare_add(name); eina_stringshare_del(name); /* we'll not use the contents, this is fine */ /* stringshare and look again */ @@ -3955,6 +4032,13 @@ _eina_value_type_struct_setup(const Eina_Value_Type *type __UNUSED__, void *mem) } static Eina_Bool +_eina_value_type_struct_setup_member(const Eina_Value_Struct_Member *member, Eina_Value_Struct *st) +{ + unsigned char *base = st->memory; + return eina_value_type_setup(member->type, base + member->offset); +} + +static Eina_Bool _eina_value_type_struct_flush_member(const Eina_Value_Struct_Member *member, Eina_Value_Struct *st) { unsigned char *base = st->memory; @@ -3969,6 +4053,9 @@ _eina_value_type_struct_flush(const Eina_Value_Type *type __UNUSED__, void *mem) Eina_Value_Struct *tmem = mem; Eina_Bool ret = EINA_TRUE; + if ((!tmem->desc) || (!tmem->memory)) + return EINA_TRUE; + itr = tmem->desc->members; if (tmem->desc->member_count > 0) { @@ -3989,6 +4076,9 @@ _eina_value_type_struct_flush(const Eina_Value_Type *type __UNUSED__, void *mem) else free(tmem->memory); + tmem->memory = NULL; + tmem->desc = NULL; + return ret; } @@ -4012,6 +4102,9 @@ _eina_value_type_struct_copy(const Eina_Value_Type *type __UNUSED__, const void *d = *s; + if ((!s->desc) || (!s->memory)) + return EINA_TRUE; + ops = _eina_value_type_struct_ops_get(src); if ((ops) && (ops->copy)) { @@ -4021,7 +4114,10 @@ _eina_value_type_struct_copy(const Eina_Value_Type *type __UNUSED__, const void return EINA_TRUE; } - d->memory = malloc(s->desc->size); + if ((ops) && (ops->alloc)) + d->memory = ops->alloc(ops, s->desc); + else + d->memory = malloc(s->desc->size); if (!d->memory) { eina_error_set(EINA_ERROR_OUT_OF_MEMORY); @@ -4043,14 +4139,17 @@ _eina_value_type_struct_copy(const Eina_Value_Type *type __UNUSED__, const void goto error; } - return EINA_TRUE; error: itr--; for (; itr >= s->desc->members; itr--) _eina_value_type_struct_flush_member(itr, d); - free(d->memory); + + if ((ops) && (ops->free)) + ops->free(ops, s->desc, d->memory); + else + free(d->memory); return EINA_FALSE; } @@ -4072,7 +4171,9 @@ _eina_value_type_struct_compare(const Eina_Value_Type *type __UNUSED__, const vo const Eina_Value_Struct_Member *itr; int cmp = 0; - if (ta->desc != tb->desc) + if ((!ta->desc) && (!tb->desc)) + return 0; + else if (ta->desc != tb->desc) { eina_error_set(EINA_ERROR_VALUE_FAILED); return -1; @@ -4236,11 +4337,12 @@ _eina_value_type_struct_desc_check(const Eina_Value_Struct_Desc *desc) } static Eina_Bool -_eina_value_type_struct_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) +_eina_value_type_struct_pset(const Eina_Value_Type *type, void *mem, const void *ptr) { - const Eina_Value_Struct_Operations *ops = _eina_value_type_struct_ops_get(mem); + const Eina_Value_Struct_Operations *ops; Eina_Value_Struct *tmem = mem; const Eina_Value_Struct *desc = ptr; + const Eina_Value_Struct_Member *itr; if (!_eina_value_type_struct_desc_check(desc->desc)) { @@ -4248,30 +4350,71 @@ _eina_value_type_struct_pset(const Eina_Value_Type *type __UNUSED__, void *mem, return EINA_FALSE; } - if ((ops) && (ops->free)) - ops->free(ops, tmem->desc, tmem->memory); - else - free(tmem->memory); + eina_error_set(0); + if ((tmem->memory) && (tmem->memory == desc->memory)) + { + tmem->desc = desc->desc; + return EINA_TRUE; + } - *tmem = *desc; + if (desc->memory) + { + Eina_Value_Struct tmp; + + if (!_eina_value_type_struct_copy(type, desc, &tmp)) + return EINA_FALSE; + + _eina_value_type_struct_flush(type, tmem); + memcpy(tmem, &tmp, sizeof(tmp)); + return EINA_TRUE; + } + + if (tmem->memory) _eina_value_type_struct_flush(type, mem); + + tmem->desc = desc->desc; ops = _eina_value_type_struct_ops_get(desc); + if ((ops) && (ops->alloc)) + tmem->memory = ops->alloc(ops, tmem->desc); + else + tmem->memory = malloc(tmem->desc->size); + if (!tmem->memory) { - if ((ops) && (ops->alloc)) - tmem->memory = ops->alloc(ops, tmem->desc); - else - tmem->memory = malloc(tmem->desc->size); + eina_error_set(EINA_ERROR_OUT_OF_MEMORY); + return EINA_FALSE; + } - if (!tmem->memory) - { - eina_error_set(EINA_ERROR_OUT_OF_MEMORY); - return EINA_FALSE; - } + itr = tmem->desc->members; + if (tmem->desc->member_count > 0) + { + const Eina_Value_Struct_Member *itr_end; + itr_end = itr + tmem->desc->member_count; + for (; itr < itr_end; itr++) + if (!_eina_value_type_struct_setup_member(itr, tmem)) + goto error; + } + else + { + for (; itr->name != NULL; itr++) + if (!_eina_value_type_struct_setup_member(itr, tmem)) + goto error; } - eina_error_set(0); return EINA_TRUE; + + error: + itr--; + for (; itr >= tmem->desc->members; itr--) + _eina_value_type_struct_flush_member(itr, tmem); + + if ((ops) && (ops->free)) + ops->free(ops, tmem->desc, tmem->memory); + else + free(tmem->memory); + tmem->memory = NULL; + tmem->desc = NULL; + return EINA_FALSE; } static Eina_Bool @@ -4304,6 +4447,130 @@ static const Eina_Value_Type _EINA_VALUE_TYPE_STRUCT = { _eina_value_type_struct_pget }; +static Eina_Bool +_eina_value_type_model_setup(const Eina_Value_Type *type __UNUSED__, void *mem) +{ + Eina_Model **tmem = mem; + *tmem = NULL; + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_model_flush(const Eina_Value_Type *type __UNUSED__, void *mem) +{ + Eina_Model **tmem = mem; + if (*tmem) + { + eina_model_unref(*tmem); + *tmem = NULL; + } + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_model_copy(const Eina_Value_Type *type __UNUSED__, const void *src, void *dst) +{ + const Eina_Model * const *s = src; + Eina_Model **d = dst; + if (*s) + *d = eina_model_copy(*s); /* is it better to deep-copy? */ + else + *d = NULL; + return EINA_TRUE; +} + +static int +_eina_value_type_model_compare(const Eina_Value_Type *type __UNUSED__, const void *a, const void *b) +{ + const Eina_Model * const *ta = a; + const Eina_Model * const *tb = b; + + if ((!*ta) && (!*tb)) return 0; + else if (!*ta) return 1; + else if (!*tb) return -1; + else return eina_model_compare(*ta, *tb); +} + +static Eina_Bool +_eina_value_type_model_convert_to(const Eina_Value_Type *type __UNUSED__, const Eina_Value_Type *convert, const void *type_mem, void *convert_mem) +{ + const Eina_Model *v = *(const Eina_Model **)type_mem; + + eina_error_set(0); + + if (convert == EINA_VALUE_TYPE_STRINGSHARE || + convert == EINA_VALUE_TYPE_STRING) + { + char *other_mem = v ? eina_model_to_string(v) : NULL; + Eina_Bool ret = eina_value_type_pset(convert, convert_mem, &other_mem); + free(other_mem); + return ret; + } + else + { + eina_error_set(EINA_ERROR_VALUE_FAILED); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_model_vset(const Eina_Value_Type *type __UNUSED__, void *mem, va_list args) +{ + Eina_Model **tmem = mem, *tmp; + + tmp = va_arg(args, Eina_Model *); + + if (tmp) eina_model_ref(tmp); + if (*tmem) eina_model_unref(*tmem); + + *tmem = tmp; + + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_model_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) +{ + Eina_Model **tmem = mem; + Eina_Model **p = (Eina_Model **)ptr; + + eina_error_set(0); + if (*tmem == *p) return EINA_TRUE; + + if (*p) eina_model_ref(*p); + if (*tmem) eina_model_unref(*tmem); + + *tmem = *p; + + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_model_pget(const Eina_Value_Type *type __UNUSED__, const void *mem, void *ptr) +{ + Eina_Model **tmem = (Eina_Model **)mem; + Eina_Model **p = ptr; + *p = *tmem; + return EINA_TRUE; +} + +static const Eina_Value_Type _EINA_VALUE_TYPE_MODEL = { + EINA_VALUE_TYPE_VERSION, + sizeof(Eina_Model *), + "Eina_Model", + _eina_value_type_model_setup, + _eina_value_type_model_flush, + _eina_value_type_model_copy, + _eina_value_type_model_compare, + _eina_value_type_model_convert_to, + NULL, /* no convert from */ + _eina_value_type_model_vset, + _eina_value_type_model_pset, + _eina_value_type_model_pget +}; + /* keep all basic types inlined in an array so we can compare if it's * a basic type using pointer arithmetic. * @@ -4506,6 +4773,20 @@ static const Eina_Value_Type _EINA_VALUE_TYPE_BASICS[] = { _eina_value_type_string_vset, _eina_value_type_string_pset, _eina_value_type_string_common_pget + }, + { + EINA_VALUE_TYPE_VERSION, + sizeof(unsigned long), + "timestamp", + _eina_value_type_ulong_setup, + _eina_value_type_ulong_flush, + _eina_value_type_ulong_copy, + _eina_value_type_ulong_compare, + _eina_value_type_ulong_convert_to, + NULL, /* no convert from */ + _eina_value_type_ulong_vset, + _eina_value_type_ulong_pset, + _eina_value_type_ulong_pget } }; @@ -4722,11 +5003,12 @@ eina_value_init(void) EINA_VALUE_TYPE_DOUBLE = _EINA_VALUE_TYPE_BASICS + 11; EINA_VALUE_TYPE_STRINGSHARE = _EINA_VALUE_TYPE_BASICS + 12; EINA_VALUE_TYPE_STRING = _EINA_VALUE_TYPE_BASICS + 13; + EINA_VALUE_TYPE_TIMESTAMP = _EINA_VALUE_TYPE_BASICS + 14; _EINA_VALUE_TYPE_BASICS_START = _EINA_VALUE_TYPE_BASICS + 0; - _EINA_VALUE_TYPE_BASICS_END = _EINA_VALUE_TYPE_BASICS + 13; + _EINA_VALUE_TYPE_BASICS_END = _EINA_VALUE_TYPE_BASICS + 14; - EINA_SAFETY_ON_FALSE_RETURN_VAL((sizeof(_EINA_VALUE_TYPE_BASICS)/sizeof(_EINA_VALUE_TYPE_BASICS[0])) == 14, EINA_FALSE); + EINA_SAFETY_ON_FALSE_RETURN_VAL((sizeof(_EINA_VALUE_TYPE_BASICS)/sizeof(_EINA_VALUE_TYPE_BASICS[0])) == 15, EINA_FALSE); EINA_VALUE_TYPE_ARRAY = &_EINA_VALUE_TYPE_ARRAY; @@ -4735,6 +5017,7 @@ eina_value_init(void) EINA_VALUE_TYPE_TIMEVAL = &_EINA_VALUE_TYPE_TIMEVAL; EINA_VALUE_TYPE_BLOB = &_EINA_VALUE_TYPE_BLOB; EINA_VALUE_TYPE_STRUCT = &_EINA_VALUE_TYPE_STRUCT; + EINA_VALUE_TYPE_MODEL = &_EINA_VALUE_TYPE_MODEL; EINA_VALUE_BLOB_OPERATIONS_MALLOC = &_EINA_VALUE_BLOB_OPERATIONS_MALLOC; @@ -4800,6 +5083,7 @@ EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UCHAR = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_USHORT = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UINT = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_ULONG = NULL; +EAPI const Eina_Value_Type *EINA_VALUE_TYPE_TIMESTAMP = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UINT64 = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_CHAR = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_SHORT = NULL; @@ -4816,6 +5100,7 @@ EAPI const Eina_Value_Type *EINA_VALUE_TYPE_HASH = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_TIMEVAL = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_BLOB = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_STRUCT = NULL; +EAPI const Eina_Value_Type *EINA_VALUE_TYPE_MODEL = NULL; EAPI const Eina_Value_Blob_Operations *EINA_VALUE_BLOB_OPERATIONS_MALLOC = NULL; diff --git a/libraries/eina/src/modules/Makefile.in b/libraries/eina/src/modules/Makefile.in index 1ee8386..62d4a09 100644 --- a/libraries/eina/src/modules/Makefile.in +++ b/libraries/eina/src/modules/Makefile.in @@ -36,20 +36,24 @@ host_triplet = @host@ subdir = src/modules DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -150,13 +154,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -166,6 +170,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -201,6 +207,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eina/src/modules/mp/Makefile.in b/libraries/eina/src/modules/mp/Makefile.in index d3a6dd9..7283b72 100644 --- a/libraries/eina/src/modules/mp/Makefile.in +++ b/libraries/eina/src/modules/mp/Makefile.in @@ -43,20 +43,24 @@ host_triplet = @host@ subdir = src/modules/mp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -158,13 +162,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -174,6 +178,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -209,6 +215,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/eina/src/modules/mp/buddy/Makefile.am b/libraries/eina/src/modules/mp/buddy/Makefile.am index c699c9d..c0a6cd7 100644 --- a/libraries/eina/src/modules/mp/buddy/Makefile.am +++ b/libraries/eina/src/modules/mp/buddy/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ controllerdir = $(libdir)/eina/modules/mp/buddy/$(MODULE_ARCH) diff --git a/libraries/eina/src/modules/mp/buddy/Makefile.in b/libraries/eina/src/modules/mp/buddy/Makefile.in index 5619b2c..449c511 100644 --- a/libraries/eina/src/modules/mp/buddy/Makefile.in +++ b/libraries/eina/src/modules/mp/buddy/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/buddy DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ controllerdir = $(libdir)/eina/modules/mp/buddy/$(MODULE_ARCH) diff --git a/libraries/eina/src/modules/mp/chained_pool/Makefile.am b/libraries/eina/src/modules/mp/chained_pool/Makefile.am index 815bab7..42d0d7e 100644 --- a/libraries/eina/src/modules/mp/chained_pool/Makefile.am +++ b/libraries/eina/src/modules/mp/chained_pool/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ \ @VALGRIND_CFLAGS@ diff --git a/libraries/eina/src/modules/mp/chained_pool/Makefile.in b/libraries/eina/src/modules/mp/chained_pool/Makefile.in index 03b639f..78299a4 100644 --- a/libraries/eina/src/modules/mp/chained_pool/Makefile.in +++ b/libraries/eina/src/modules/mp/chained_pool/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/chained_pool DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ \ @VALGRIND_CFLAGS@ diff --git a/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c b/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c index 020d0ad..e56df4c 100644 --- a/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c +++ b/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c @@ -52,7 +52,7 @@ #include "eina_private.h" #ifndef NVALGRIND -# include +# include #endif #if defined DEBUG || defined EINA_DEBUG_MALLOC diff --git a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am index 4a27b3e..242b446 100644 --- a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am +++ b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EMEMOA_CFLAGS@ \ @EFL_EINA_BUILD@ diff --git a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in index ccc4f1a..d16d123 100644 --- a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in +++ b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/ememoa_fixed DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EMEMOA_CFLAGS@ \ @EFL_EINA_BUILD@ diff --git a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am index 2814e31..249541a 100644 --- a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am +++ b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EMEMOA_CFLAGS@ \ @EFL_EINA_BUILD@ diff --git a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in index 8b0ec6e..18a43a5 100644 --- a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in +++ b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/ememoa_unknown DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EMEMOA_CFLAGS@ \ @EFL_EINA_BUILD@ diff --git a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am index caf239e..1f2527b 100644 --- a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am +++ b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ controllerdir = $(libdir)/eina/modules/mp/fixed_bitmap/$(MODULE_ARCH) diff --git a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in index 337f820..2a6b782 100644 --- a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in +++ b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/fixed_bitmap DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ controllerdir = $(libdir)/eina/modules/mp/fixed_bitmap/$(MODULE_ARCH) diff --git a/libraries/eina/src/modules/mp/one_big/Makefile.am b/libraries/eina/src/modules/mp/one_big/Makefile.am index 8ca1a62..35069a2 100644 --- a/libraries/eina/src/modules/mp/one_big/Makefile.am +++ b/libraries/eina/src/modules/mp/one_big/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ \ @VALGRIND_CFLAGS@ diff --git a/libraries/eina/src/modules/mp/one_big/Makefile.in b/libraries/eina/src/modules/mp/one_big/Makefile.in index c8560c9..4a2c229 100644 --- a/libraries/eina/src/modules/mp/one_big/Makefile.in +++ b/libraries/eina/src/modules/mp/one_big/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/one_big DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ \ @VALGRIND_CFLAGS@ diff --git a/libraries/eina/src/modules/mp/one_big/eina_one_big.c b/libraries/eina/src/modules/mp/one_big/eina_one_big.c index dadec65..1159378 100644 --- a/libraries/eina/src/modules/mp/one_big/eina_one_big.c +++ b/libraries/eina/src/modules/mp/one_big/eina_one_big.c @@ -42,7 +42,7 @@ #include "eina_lock.h" #ifndef NVALGRIND -# include +# include #endif #include "eina_private.h" diff --git a/libraries/eina/src/modules/mp/pass_through/Makefile.am b/libraries/eina/src/modules/mp/pass_through/Makefile.am index 8f48974..33bd58c 100644 --- a/libraries/eina/src/modules/mp/pass_through/Makefile.am +++ b/libraries/eina/src/modules/mp/pass_through/Makefile.am @@ -6,7 +6,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ controllerdir = $(libdir)//eina/modules/mp/pass_through/$(MODULE_ARCH) diff --git a/libraries/eina/src/modules/mp/pass_through/Makefile.in b/libraries/eina/src/modules/mp/pass_through/Makefile.in index f5664be..5c84e6b 100644 --- a/libraries/eina/src/modules/mp/pass_through/Makefile.in +++ b/libraries/eina/src/modules/mp/pass_through/Makefile.in @@ -37,20 +37,24 @@ host_triplet = @host@ subdir = src/modules/mp/pass_through DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -297,7 +305,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/include \ -I$(top_srcdir)/src/lib \ -I$(top_builddir)/src/lib \ -@EINA_CPPFLAGS@ \ @EFL_EINA_BUILD@ controllerdir = $(libdir)//eina/modules/mp/pass_through/$(MODULE_ARCH) diff --git a/libraries/eina/src/tests/Makefile.am b/libraries/eina/src/tests/Makefile.am index 7e05ba9..cf500f5 100644 --- a/libraries/eina/src/tests/Makefile.am +++ b/libraries/eina/src/tests/Makefile.am @@ -66,7 +66,8 @@ eina_test_strbuf.c \ eina_test_str.c \ eina_test_quadtree.c \ eina_test_simple_xml_parser.c \ -eina_test_value.c +eina_test_value.c \ +eina_test_model.c eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm diff --git a/libraries/eina/src/tests/Makefile.in b/libraries/eina/src/tests/Makefile.in index c56211a..81e58ba 100644 --- a/libraries/eina/src/tests/Makefile.in +++ b/libraries/eina/src/tests/Makefile.in @@ -43,20 +43,24 @@ host_triplet = @host@ subdir = src/tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_benchmark.m4 \ - $(top_srcdir)/m4/efl_compiler_flag.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_examples.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/efl_threads.m4 \ - $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ - $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ + $(top_srcdir)/m4/eina/eina_check.m4 \ + $(top_srcdir)/m4/common/efl_attribute.m4 \ + $(top_srcdir)/m4/common/efl_benchmark.m4 \ + $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ + $(top_srcdir)/m4/common/efl_coverage.m4 \ + $(top_srcdir)/m4/common/efl_cpu.m4 \ + $(top_srcdir)/m4/common/efl_doxygen.m4 \ + $(top_srcdir)/m4/common/efl_examples.m4 \ + $(top_srcdir)/m4/common/efl_fnmatch.m4 \ + $(top_srcdir)/m4/common/efl_path_max.m4 \ + $(top_srcdir)/m4/common/efl_tests.m4 \ + $(top_srcdir)/m4/common/efl_threads.m4 \ + $(top_srcdir)/m4/common/efl_voltron.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -159,7 +163,8 @@ am__eina_suite_SOURCES_DIST = eina_suite.c eina_test_fp.c \ eina_test_rectangle.c eina_test_list.c \ eina_test_matrixsparse.c eina_test_tiler.c eina_test_strbuf.c \ eina_test_str.c eina_test_quadtree.c \ - eina_test_simple_xml_parser.c eina_test_value.c + eina_test_simple_xml_parser.c eina_test_value.c \ + eina_test_model.c @EFL_ENABLE_TESTS_TRUE@am_eina_suite_OBJECTS = eina_suite.$(OBJEXT) \ @EFL_ENABLE_TESTS_TRUE@ eina_test_fp.$(OBJEXT) \ @EFL_ENABLE_TESTS_TRUE@ eina_test_stringshare.$(OBJEXT) \ @@ -195,7 +200,8 @@ am__eina_suite_SOURCES_DIST = eina_suite.c eina_test_fp.c \ @EFL_ENABLE_TESTS_TRUE@ eina_test_str.$(OBJEXT) \ @EFL_ENABLE_TESTS_TRUE@ eina_test_quadtree.$(OBJEXT) \ @EFL_ENABLE_TESTS_TRUE@ eina_test_simple_xml_parser.$(OBJEXT) \ -@EFL_ENABLE_TESTS_TRUE@ eina_test_value.$(OBJEXT) +@EFL_ENABLE_TESTS_TRUE@ eina_test_value.$(OBJEXT) \ +@EFL_ENABLE_TESTS_TRUE@ eina_test_model.$(OBJEXT) eina_suite_OBJECTS = $(am_eina_suite_OBJECTS) @EFL_ENABLE_TESTS_TRUE@eina_suite_DEPENDENCIES = \ @EFL_ENABLE_TESTS_TRUE@ $(top_builddir)/src/lib/libeina.la @@ -296,13 +302,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ +EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ -EINA_CPPFLAGS = @EINA_CPPFLAGS@ EINA_LIBS = @EINA_LIBS@ EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ @@ -312,6 +318,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -347,6 +355,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -465,7 +475,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/include \ @EFL_ENABLE_TESTS_TRUE@eina_test_str.c \ @EFL_ENABLE_TESTS_TRUE@eina_test_quadtree.c \ @EFL_ENABLE_TESTS_TRUE@eina_test_simple_xml_parser.c \ -@EFL_ENABLE_TESTS_TRUE@eina_test_value.c +@EFL_ENABLE_TESTS_TRUE@eina_test_value.c \ +@EFL_ENABLE_TESTS_TRUE@eina_test_model.c @EFL_ENABLE_TESTS_TRUE@eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm @EFL_ENABLE_TESTS_TRUE@cxx_compile_test_SOURCES = cxx_compile_test.cxx @@ -704,6 +715,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_matrixsparse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_mempool.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_model.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_module.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_quadtree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_rbtree.Po@am__quote@ diff --git a/libraries/eina/src/tests/eina_suite.c b/libraries/eina/src/tests/eina_suite.c index 648a717..b34d016 100644 --- a/libraries/eina/src/tests/eina_suite.c +++ b/libraries/eina/src/tests/eina_suite.c @@ -68,6 +68,7 @@ static const Eina_Test_Case etc[] = { { "Sched", eina_test_sched }, { "Simple Xml Parser", eina_test_simple_xml_parser}, { "Value", eina_test_value }, + { "Model", eina_test_model }, { NULL, NULL } }; @@ -137,6 +138,8 @@ static void _mempool_init(void) static void _mempool_shutdown(void) { eina_module_list_free(_modules); + if (_modules) + eina_array_free(_modules); /* TODO delete the list */ eina_shutdown(); } diff --git a/libraries/eina/src/tests/eina_suite.h b/libraries/eina/src/tests/eina_suite.h index 6eaaec7..d399298 100644 --- a/libraries/eina/src/tests/eina_suite.h +++ b/libraries/eina/src/tests/eina_suite.h @@ -56,5 +56,6 @@ void eina_test_fp(TCase *tc); void eina_test_sched(TCase *tc); void eina_test_simple_xml_parser(TCase *tc); void eina_test_value(TCase *tc); +void eina_test_model(TCase *tc); #endif /* EINA_SUITE_H_ */ diff --git a/libraries/eina/src/tests/eina_test_clist.c b/libraries/eina/src/tests/eina_test_clist.c index 901c0e8..115afc2 100644 --- a/libraries/eina/src/tests/eina_test_clist.c +++ b/libraries/eina/src/tests/eina_test_clist.c @@ -6,7 +6,7 @@ #include #include -#include +#include "Eina.h" #include "eina_suite.h" Eina_Clist string_list = EINA_CLIST_INIT(string_list); diff --git a/libraries/eina/src/tests/eina_test_counter.c b/libraries/eina/src/tests/eina_test_counter.c index 2a3f30d..4d956fd 100644 --- a/libraries/eina/src/tests/eina_test_counter.c +++ b/libraries/eina/src/tests/eina_test_counter.c @@ -27,6 +27,43 @@ #include "Eina.h" #include "eina_safety_checks.h" +#ifdef EINA_SAFETY_CHECKS +struct log_ctx { + const char *msg; + const char *fnc; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} +#endif + START_TEST(eina_counter_simple) { Eina_Counter *cnt; @@ -61,6 +98,7 @@ START_TEST(eina_counter_simple) dump = eina_counter_dump(cnt); fail_if(!dump); + /* TODO: parse dump and check if it's right */ fprintf(stderr, "%s", dump); free(dump); @@ -86,13 +124,65 @@ START_TEST(eina_counter_break) #ifdef EINA_SAFETY_CHECKS { + struct log_ctx ctx; char *dump; +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + +#ifdef SHOW_LOG fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_counter_new", + "safety check failed: name == NULL"); + cnt = eina_counter_new(NULL); + fail_if(cnt); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_counter_free", + "safety check failed: counter == NULL"); + eina_counter_free(NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_counter_start", + "safety check failed: counter == NULL"); + eina_counter_start(NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_counter_stop", + "safety check failed: counter == NULL"); + eina_counter_stop(NULL, 0); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_counter_dump", + "safety check failed: counter == NULL"); dump = eina_counter_dump(NULL); fail_if(dump); fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); - free(dump); + fail_unless(ctx.did); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); } #endif diff --git a/libraries/eina/src/tests/eina_test_error.c b/libraries/eina/src/tests/eina_test_error.c index 506f406..57f6950 100644 --- a/libraries/eina/src/tests/eina_test_error.c +++ b/libraries/eina/src/tests/eina_test_error.c @@ -33,6 +33,41 @@ #define TEST_TEXT "The big test\n" +struct log_ctx { + const char *msg; + const char *fnc; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} + START_TEST(eina_error_errno) { int test; @@ -52,8 +87,157 @@ START_TEST(eina_error_errno) } END_TEST +START_TEST(eina_error_test_find) +{ + int test, r; + const char *str; + + eina_init(); + + test = eina_error_msg_register(TEST_TEXT); + ck_assert_int_ne(test, 0); + + str = eina_error_msg_get(test); + fail_unless(str != NULL); + ck_assert_str_eq(str, TEST_TEXT); + + eina_error_set(test); + fail_if(eina_error_get() != test); + + r = eina_error_find(TEST_TEXT); + ck_assert_int_eq(r, test); + + eina_shutdown(); +} +END_TEST + +START_TEST(eina_error_test_modify) +{ + int test, r; + const char *str, smsg[] = "Do not copy this string"; + + eina_init(); + + test = eina_error_msg_register("Some Test Error"); + ck_assert_int_ne(test, 0); + + str = eina_error_msg_get(test); + fail_unless(str != NULL); + ck_assert_str_eq(str, "Some Test Error"); + + eina_error_set(test); + fail_if(eina_error_get() != test); + + fail_unless(eina_error_msg_modify(test, "ABCDE")); + + r = eina_error_find("ABCDE"); + ck_assert_int_eq(r, test); + + test = eina_error_msg_static_register(smsg); + ck_assert_int_ne(test, 0); + + str = eina_error_msg_get(test); + fail_unless(str != NULL); + fail_unless(str == smsg); + + fail_unless(eina_error_msg_modify(test, "Change that!")); + r = eina_error_find("Change that!"); + ck_assert_int_eq(r, test); + + eina_shutdown(); +} +END_TEST + +START_TEST(eina_error_test_lots) +{ + char buf[64]; + int codes[512]; + unsigned int i; + + eina_init(); + + for (i = 0; i < sizeof(codes)/sizeof(codes[0]); i++) + { + snprintf(buf, sizeof(buf), "myerr-%d", i); + codes[i] = eina_error_msg_register(buf); + ck_assert_int_ne(codes[i], 0); + } + + for (i = 0; i < sizeof(codes)/sizeof(codes[0]); i++) + { + int found; + + snprintf(buf, sizeof(buf), "myerr-%d", i); + + found = eina_error_find(buf); + ck_assert_int_eq(codes[i], found); + } + + eina_shutdown(); +} +END_TEST + +#ifdef EINA_SAFETY_CHECKS +START_TEST(eina_error_test_failures) +{ + struct log_ctx ctx; + + eina_init(); + + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + + TEST_MAGIC_SAFETY("eina_error_msg_register", + "safety check failed: msg == NULL"); + ck_assert_int_eq(eina_error_msg_register(NULL), 0); + fail_unless(ctx.did); + + TEST_MAGIC_SAFETY("eina_error_msg_static_register", + "safety check failed: msg == NULL"); + ck_assert_int_eq(eina_error_msg_static_register(NULL), 0); + fail_unless(ctx.did); + + ck_assert_int_eq(eina_error_msg_modify(0, "X"), EINA_FALSE); + ck_assert_int_eq(eina_error_msg_modify(4096, "X"), EINA_FALSE); + + TEST_MAGIC_SAFETY("eina_error_msg_modify", + "safety check failed: msg == NULL"); + ck_assert_int_eq(eina_error_msg_modify(EINA_ERROR_OUT_OF_MEMORY, NULL), + EINA_FALSE); + fail_unless(ctx.did); + + ck_assert_str_eq(eina_error_msg_get(EINA_ERROR_OUT_OF_MEMORY), + "Out of memory"); + + TEST_MAGIC_SAFETY("eina_error_find", + "safety check failed: msg == NULL"); + ck_assert_int_eq(eina_error_find(NULL), 0); + fail_unless(ctx.did); + + ck_assert_int_eq(eina_error_find("Non-existent Error..."), 0); + + fail_if(eina_error_msg_get(0)); + fail_if(eina_error_msg_get(4096)); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); + + eina_shutdown(); +} +END_TEST +#endif + void eina_test_error(TCase *tc) { tcase_add_test(tc, eina_error_errno); + tcase_add_test(tc, eina_error_test_find); + tcase_add_test(tc, eina_error_test_modify); + tcase_add_test(tc, eina_error_test_lots); +#ifdef EINA_SAFETY_CHECKS + tcase_add_test(tc, eina_error_test_failures); +#endif } diff --git a/libraries/eina/src/tests/eina_test_file.c b/libraries/eina/src/tests/eina_test_file.c index 55e9976..a3ba998 100644 --- a/libraries/eina/src/tests/eina_test_file.c +++ b/libraries/eina/src/tests/eina_test_file.c @@ -28,6 +28,44 @@ #include "Eina.h" #include "eina_safety_checks.h" +#ifdef EINA_SAFETY_CHECKS +struct log_ctx { + const char *msg; + const char *fnc; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} +#endif + + START_TEST(eina_file_split_simple) { Eina_Array *ea; @@ -35,10 +73,26 @@ START_TEST(eina_file_split_simple) eina_init(); #ifdef EINA_SAFETY_CHECKS +#ifdef SHOW_LOG fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + struct log_ctx ctx; + +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + + TEST_MAGIC_SAFETY("eina_file_split", "safety check failed: path == NULL"); ea = eina_file_split(NULL); fail_if(ea); fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); +#undef TEST_MAGIC_SAFETY #endif #ifdef _WIN32 diff --git a/libraries/eina/src/tests/eina_test_inlist.c b/libraries/eina/src/tests/eina_test_inlist.c index c27f393..a8631e7 100644 --- a/libraries/eina/src/tests/eina_test_inlist.c +++ b/libraries/eina/src/tests/eina_test_inlist.c @@ -34,6 +34,43 @@ struct _Eina_Test_Inlist EINA_INLIST; }; +#ifdef EINA_SAFETY_CHECKS +struct log_ctx { + const char *msg; + const char *fnc; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} +#endif + static Eina_Test_Inlist * _eina_test_inlist_build(int i) { @@ -52,6 +89,10 @@ START_TEST(eina_inlist_simple) Eina_Test_Inlist *tmp; Eina_Test_Inlist *prev; int i = 0; +#ifdef EINA_SAFETY_CHECKS + Eina_Inlist *bkp; + struct log_ctx ctx; +#endif fail_if(!eina_init()); @@ -106,16 +147,142 @@ START_TEST(eina_inlist_simple) } #ifdef EINA_SAFETY_CHECKS + bkp = lst; + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + +#ifdef SHOW_LOG fprintf(stderr, "you should have a safety check failure below:\n"); +#endif { - Eina_Inlist *tmp2 = eina_inlist_remove(NULL, EINA_INLIST_GET(tmp)); + Eina_Inlist *tmp2; + + TEST_MAGIC_SAFETY("eina_inlist_remove", + "safety check failed: list == NULL"); + + tmp2 = eina_inlist_remove(NULL, EINA_INLIST_GET(tmp)); fail_if(tmp2 != NULL); fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); } - fprintf(stderr, "you should have a safety check failure below:\n"); +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_remove", + "safety check failed: item == NULL"); lst = eina_inlist_remove(lst, NULL); fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_append", + "safety check failed: new_l == NULL"); + lst = eina_inlist_append(lst, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_append_relative", + "safety check failed: new_l == NULL"); + lst = eina_inlist_append_relative(lst, NULL, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_prepend", + "safety check failed: new_l == NULL"); + lst = eina_inlist_prepend(lst, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_prepend_relative", + "safety check failed: new_l == NULL"); + lst = eina_inlist_prepend_relative(lst, NULL, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_find", + "safety check failed: item == NULL"); + lst = eina_inlist_find(lst, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_demote", + "safety check failed: list == NULL"); + lst = eina_inlist_demote(NULL, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_demote", + "safety check failed: item == NULL"); + lst = eina_inlist_demote((void*)1L, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + lst = NULL; + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_promote", + "safety check failed: list == NULL"); + lst = eina_inlist_promote(NULL, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_promote", + "safety check failed: item == NULL"); + lst = eina_inlist_promote((void*)1L, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + lst = NULL; + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_sorted_insert", + "safety check failed: item == NULL"); + lst = eina_inlist_sorted_insert(NULL, NULL, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_inlist_sorted_insert", + "safety check failed: func == NULL"); + lst = eina_inlist_sorted_insert(NULL, (void*)1L, NULL); + fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); + lst = NULL; + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); + lst = bkp; #endif tmp = EINA_INLIST_CONTAINER_GET(lst, Eina_Test_Inlist); diff --git a/libraries/eina/src/tests/eina_test_list.c b/libraries/eina/src/tests/eina_test_list.c index 6e08847..ce70d03 100644 --- a/libraries/eina/src/tests/eina_test_list.c +++ b/libraries/eina/src/tests/eina_test_list.c @@ -338,10 +338,50 @@ START_TEST(eina_test_sorted_insert) } END_TEST +START_TEST(eina_test_list_split) +{ + Eina_List *left = NULL, *right = NULL ; + Eina_List *list = NULL; + Eina_List *l; + void *list_data; + int i; + + eina_init(); + + list = eina_list_append(list, "tigh"); + list = eina_list_append(list, "adar"); + list = eina_list_append(list, "baltar"); + list = eina_list_append(list, "roslin"); + list = eina_list_append(list, "baltar"); + list = eina_list_append(list, "roslin"); + list = eina_list_append(list, "baltar"); + list = eina_list_append(list, "roslin"); + + fail_if(list == NULL); + fail_if(eina_list_count(list) != 8); + + for ( i = 0; i < 200; i++) + { + left = eina_list_split_list(list, eina_list_nth_list(list, i % 2), &right); + + if (i % 2 == 0) + fail_if(eina_list_count(left) == 1 && eina_list_count(right) + eina_list_count(left) == i + 7); + else + fail_if(eina_list_count(left) == 2 && eina_list_count(right) + eina_list_count(left) == i + 7); + + list = eina_list_merge(left, right); + list = eina_list_append(list, "roslin"); + } + + eina_shutdown(); +} +END_TEST + void eina_test_list(TCase *tc) { tcase_add_test(tc, eina_test_simple); tcase_add_test(tc, eina_test_merge); tcase_add_test(tc, eina_test_sorted_insert); + tcase_add_test(tc, eina_test_list_split); } diff --git a/libraries/eina/src/tests/eina_test_log.c b/libraries/eina/src/tests/eina_test_log.c index ba17d5f..e0f0363 100644 --- a/libraries/eina/src/tests/eina_test_log.c +++ b/libraries/eina/src/tests/eina_test_log.c @@ -27,18 +27,119 @@ #include "eina_suite.h" #include "Eina.h" - START_TEST(eina_log_macro) +struct log_ctx { + int level; + int line; + const char *msg; + const char *fnc; + const char *dom; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_log(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) { + struct log_ctx *ctx = data; + ck_assert_int_eq(ctx->level, level); + ck_assert_int_eq(ctx->line, line); + ck_assert_str_eq(ctx->msg, fmt); + ck_assert_str_eq(ctx->fnc, fnc); + ck_assert_str_eq(file, __FILE__); + ctx->did = EINA_TRUE; +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; +#endif +} + +static void +_eina_test_log_domain(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + ck_assert_int_eq(ctx->level, level); + ck_assert_int_eq(ctx->line, line); + ck_assert_str_eq(ctx->msg, fmt); + ck_assert_str_eq(ctx->fnc, fnc); + ck_assert_str_eq(file, __FILE__); + ck_assert_str_eq(ctx->dom, d->name); + ctx->did = EINA_TRUE; +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#endif +} + +static void +_eina_test_log_safety(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(ctx->level, level); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} + +START_TEST(eina_log_macro) +{ + struct log_ctx ctx; + int oldlevel; + fail_if(!eina_init()); + oldlevel = eina_log_level_get(); eina_log_level_set(EINA_LOG_LEVEL_DBG); - eina_log_print_cb_set(eina_log_print_cb_file, stderr); + eina_log_print_cb_set(_eina_test_log, &ctx); + +#define TEST_LOG_CTX(lvl, _msg) \ + ctx.level = lvl; \ + ctx.line = __LINE__ + 1; \ + ctx.msg = _msg; \ + ctx.fnc = __FUNCTION__; \ + ctx.did = EINA_FALSE + + TEST_LOG_CTX(EINA_LOG_LEVEL_CRITICAL, "Critical message"); + EINA_LOG_CRIT("Critical message"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_ERR, "An error"); + EINA_LOG_ERR("An error"); + fail_unless(ctx.did); - EINA_LOG_CRIT("Critical message\n"); - EINA_LOG_ERR("An error\n"); - EINA_LOG_INFO("An info\n"); - EINA_LOG_WARN("A warning\n"); - EINA_LOG_DBG("A debug\n"); + TEST_LOG_CTX(EINA_LOG_LEVEL_WARN, "A warning"); + EINA_LOG_WARN("A warning"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_INFO, "An info"); + EINA_LOG_INFO("An info"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_DBG, "A debug"); + EINA_LOG_DBG("A debug"); + fail_unless(ctx.did); + +#undef TEST_LOG_CTX + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); + eina_log_level_set(oldlevel); eina_shutdown(); } @@ -46,16 +147,54 @@ END_TEST START_TEST(eina_log_domains_macros) { + struct log_ctx ctx; + int oldlevel; + fail_if(!eina_init()); + /* make global log level blocker */ + oldlevel = eina_log_level_get(); + eina_log_level_set(EINA_LOG_LEVEL_CRITICAL); + eina_log_print_cb_set(_eina_test_log_domain, &ctx); + int d = eina_log_domain_register("MyDomain", EINA_COLOR_GREEN); fail_if(d < 0); - EINA_LOG_DOM_CRIT(d, "A critical message\n"); - EINA_LOG_DOM_ERR(d, "An error\n"); - EINA_LOG_DOM_WARN(d, "A warning\n"); - EINA_LOG_DOM_DBG(d, "A debug\n"); - EINA_LOG_DOM_INFO(d, "An info\n"); + /* make specific domain permissive */ + eina_log_domain_level_set("MyDomain", EINA_LOG_LEVEL_DBG); + +#define TEST_LOG_CTX(lvl, _msg) \ + ctx.level = lvl; \ + ctx.line = __LINE__ + 1; \ + ctx.msg = _msg; \ + ctx.fnc = __FUNCTION__; \ + ctx.dom = "MyDomain"; \ + ctx.did = EINA_FALSE + + TEST_LOG_CTX(EINA_LOG_LEVEL_CRITICAL, "A critical message"); + EINA_LOG_DOM_CRIT(d, "A critical message"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_ERR, "An error"); + EINA_LOG_DOM_ERR(d, "An error"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_WARN, "A warning"); + EINA_LOG_DOM_WARN(d, "A warning"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_INFO, "An info"); + EINA_LOG_DOM_INFO(d, "An info"); + fail_unless(ctx.did); + + TEST_LOG_CTX(EINA_LOG_LEVEL_DBG, "A debug"); + EINA_LOG_DOM_DBG(d, "A debug"); + fail_unless(ctx.did); + +#undef TEST_LOG_CTX + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); + eina_log_level_set(oldlevel); eina_shutdown(); } @@ -120,6 +259,8 @@ END_TEST START_TEST(eina_log_level_indexes) { + struct log_ctx ctx; + fail_if(!eina_init()); fail_if(!eina_threads_init()); fail_if(!eina_threads_init()); @@ -127,11 +268,41 @@ START_TEST(eina_log_level_indexes) int d = eina_log_domain_register("Levels", EINA_COLOR_GREEN); fail_if(d < 0); + eina_log_print_cb_set(_eina_test_log_domain, &ctx); + +#define TEST_LOG_CTX(lvl, _msg) \ + ctx.level = lvl; \ + ctx.line = __LINE__ + 1; \ + ctx.msg = _msg; \ + ctx.fnc = __FUNCTION__; \ + ctx.dom = "Levels"; \ + ctx.did = EINA_FALSE; + // Displayed unless user sets level lower than -1 - EINA_LOG(d, -1, "Negative index message\n"); + eina_log_domain_level_set("Levels", -1); + TEST_LOG_CTX(-1, "Negative index message"); + EINA_LOG(d, -1, "Negative index message"); + fail_unless(ctx.did); + + eina_log_domain_level_set("Levels", -2); + TEST_LOG_CTX(-1, "Negative index message"); + EINA_LOG(d, -1, "Negative index message"); + fail_if(ctx.did); // Displayed only if user sets level 6 or higher - EINA_LOG(d, 6, "Higher level debug\n"); + eina_log_domain_level_set("Levels", 6); + TEST_LOG_CTX(6, "Higher level debug"); + EINA_LOG(d, 6, "Higher level debug"); + fail_unless(ctx.did); + + eina_log_domain_level_set("Levels", 5); + TEST_LOG_CTX(6, "Higher level debug"); + EINA_LOG(d, 6, "Higher level debug"); + fail_if(ctx.did); + +#undef TEST_LOG_CTX + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); eina_threads_shutdown(); eina_threads_shutdown(); @@ -141,6 +312,7 @@ END_TEST START_TEST(eina_log_customize) { + struct log_ctx ctx; int d; /* please don't define EINA_LOG_LEVELS for it */ @@ -182,11 +354,28 @@ START_TEST(eina_log_customize) fail_if(eina_log_domain_registered_level_get(d) != 890); eina_log_domain_unregister(d); + +#ifdef EINA_SAFETY_CHECKS +#ifdef SHOW_LOG fputs("NOTE: You should see a failed safety check or " "a crash if compiled without safety checks support.\n", stderr); +#endif eina_log_abort_on_critical_set(EINA_FALSE); + eina_log_function_disable_set(EINA_FALSE); + + eina_log_print_cb_set(_eina_test_log_safety, &ctx); + ctx.level = EINA_LOG_LEVEL_ERR; + ctx.msg = "safety check failed: _log_domains[domain].deleted is true"; + ctx.fnc = "eina_log_domain_registered_level_get"; + ctx.did = EINA_FALSE; fail_if(eina_log_domain_registered_level_get(d) != EINA_LOG_LEVEL_UNKNOWN); + fail_unless(ctx.did); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); +#else +#warning "Compiled without safety checks" +#endif #undef test_set_get_bool #undef test_set_get diff --git a/libraries/eina/src/tests/eina_test_magic.c b/libraries/eina/src/tests/eina_test_magic.c index d2c3d49..d0a374e 100644 --- a/libraries/eina/src/tests/eina_test_magic.c +++ b/libraries/eina/src/tests/eina_test_magic.c @@ -40,21 +40,95 @@ struct _Eina_Magic_Struct EINA_MAGIC }; +struct log_ctx { + const char *msg; + const char *fnc; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} + +static void +_eina_test_magic_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + + ck_assert_int_eq(level, EINA_LOG_LEVEL_CRITICAL); + ck_assert_str_eq(ctx->msg, fmt); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} + +#ifdef EINA_SAFETY_CHECKS +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE +#endif + START_TEST(eina_magic_simple) { Eina_Magic_Struct *ems = NULL; + struct log_ctx ctx; eina_init(); + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + eina_magic_string_set(EINA_MAGIC_TEST, EINA_MAGIC_STRING); #ifdef EINA_SAFETY_CHECKS +#ifdef SHOW_LOG fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_magic_string_set", + "safety check failed: magic_name == NULL"); eina_magic_string_set(EINA_MAGIC_TEST2, NULL); fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); + fail_unless(ctx.did); +#ifdef SHOW_LOG fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_magic_string_set", + "safety check failed: magic_name == NULL"); eina_magic_string_set(EINA_MAGIC_TEST2, NULL); + fail_unless(ctx.did); fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); #endif @@ -64,10 +138,22 @@ START_TEST(eina_magic_simple) fail_if(strcmp(eina_magic_string_get( EINA_MAGIC_TEST), EINA_MAGIC_STRING) != 0); + eina_log_print_cb_set(_eina_test_magic_print_cb, &ctx); + #ifdef EINA_MAGIC_DEBUG fail_if(EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); +#ifdef SHOW_LOG fprintf(stderr, "you should see 'Input handle pointer is NULL' below\n"); +#endif + TEST_MAGIC_SAFETY(__FUNCTION__, + "*** Eina Magic Check Failed !!!\n" + " Input handle pointer is NULL !\n" + "*** NAUGHTY PROGRAMMER!!!\n" + "*** SPANK SPANK SPANK!!!\n" + "*** Now go fix your code. Tut tut tut!\n" + "\n"); EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); + fail_unless(ctx.did); ems = malloc(sizeof (Eina_Magic_Struct)); fail_if(!ems); @@ -76,15 +162,39 @@ START_TEST(eina_magic_simple) fail_if(!EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); EINA_MAGIC_SET(ems, EINA_MAGIC_NONE); +#ifdef SHOW_LOG fprintf(stderr, "you should see 'Input handle has already been freed' below\n"); +#endif + TEST_MAGIC_SAFETY(__FUNCTION__, + "*** Eina Magic Check Failed !!!\n" + " Input handle has already been freed!\n" + "*** NAUGHTY PROGRAMMER!!!\n" + "*** SPANK SPANK SPANK!!!\n" + "*** Now go fix your code. Tut tut tut!\n" + "\n"); EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); + fail_unless(ctx.did); EINA_MAGIC_SET(ems, 42424242); +#ifdef SHOW_LOG fprintf(stderr, "you should see 'Input handle is wrong type' below\n"); +#endif + TEST_MAGIC_SAFETY(__FUNCTION__, + "*** Eina Magic Check Failed !!!\n" + " Input handle is wrong type\n" + " Expected: %08x - %s\n" + " Supplied: %08x - %s\n" + "*** NAUGHTY PROGRAMMER!!!\n" + "*** SPANK SPANK SPANK!!!\n" + "*** Now go fix your code. Tut tut tut!\n" + "\n"); EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); + fail_unless(ctx.did); #endif + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); + eina_shutdown(); } END_TEST diff --git a/libraries/eina/src/tests/eina_test_simple_xml_parser.c b/libraries/eina/src/tests/eina_test_simple_xml_parser.c index 94e6a2a..7093019 100644 --- a/libraries/eina/src/tests/eina_test_simple_xml_parser.c +++ b/libraries/eina/src/tests/eina_test_simple_xml_parser.c @@ -44,15 +44,17 @@ START_TEST(eina_simple_xml_parser_node_dump) char *buf; fseek(f, 0, SEEK_SET); - buf = malloc(sz); + buf = malloc(sz + 1); if (buf) { if (fread(buf, 1, sz, f)) { Eina_Simple_XML_Node_Root *root = eina_simple_xml_node_load (buf, sz, EINA_TRUE); + buf[sz] = '\0'; char *out = eina_simple_xml_node_dump(&root->base, " "); - puts(out); + //puts(out); + ck_assert_str_eq(out, buf); free(out); eina_simple_xml_node_root_free(root); free(buf); diff --git a/libraries/eina/src/tests/eina_test_ustr.c b/libraries/eina/src/tests/eina_test_ustr.c index eaeba9d..75126cc 100644 --- a/libraries/eina/src/tests/eina_test_ustr.c +++ b/libraries/eina/src/tests/eina_test_ustr.c @@ -28,6 +28,43 @@ #include "eina_suite.h" #include "Eina.h" +#ifdef EINA_SAFETY_CHECKS +struct log_ctx { + const char *msg; + const char *fnc; + Eina_Bool did; +}; + +/* tests should not output on success, just uncomment this for debugging */ +//#define SHOW_LOG 1 + +static void +_eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) +{ + struct log_ctx *ctx = data; + va_list cp_args; + const char *str; + + va_copy(cp_args, args); + str = va_arg(cp_args, const char *); + va_end(cp_args); + + ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); + ck_assert_str_eq(fmt, "%s"); + ck_assert_str_eq(ctx->msg, str); + ck_assert_str_eq(ctx->fnc, fnc); + ctx->did = EINA_TRUE; + +#ifdef SHOW_LOG + eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); +#else + (void)d; + (void)file; + (void)line; +#endif +} +#endif + static const Eina_Unicode STR1[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'n', 0}; static const Eina_Unicode STR2[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'f', 'f', 0}; static const Eina_Unicode STR3[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'n', 0}; @@ -126,14 +163,42 @@ START_TEST(eina_unicode_strncpy_test) rv = eina_unicode_strncpy(buf, STR1, 0); fail_if(buf[0] != '7'); - /* may segfault */ - buf[0] = '7'; - rv = eina_unicode_strncpy(buf, NULL, 0); - fail_if(buf[0] != '7'); +#ifdef EINA_SAFETY_CHECKS + { + struct log_ctx ctx; + +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); - /* Hopefully won't segfault */ - rv = eina_unicode_strncpy(NULL, STR1, 0); - fail_if(rv != NULL); + /* may segfault */ + buf[0] = '7'; +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_unicode_strncpy", + "safety check failed: source == NULL"); + rv = eina_unicode_strncpy(buf, NULL, 0); + fail_if(buf[0] != '7'); + fail_unless(ctx.did); + + /* Hopefully won't segfault */ +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_unicode_strncpy", + "safety check failed: dest == NULL"); + rv = eina_unicode_strncpy(NULL, STR1, 0); + fail_if(rv != NULL); + fail_unless(ctx.did); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); +#undef TEST_MAGIC_SAFETY + } +#endif eina_shutdown(); } @@ -151,8 +216,30 @@ START_TEST(eina_ustr_strlen_test) fail_if(eina_unicode_strlen(STR3) != 8); fail_if(eina_unicode_strlen(STR4) != 1); fail_if(eina_unicode_strlen(EMPTYSTR) != 0); - /* Eina unicode doesn't take NULL */ - // fail_if(eina_unicode_strlen(NULL)); + +#ifdef EINA_SAFETY_CHECKS + { + struct log_ctx ctx; + +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_unicode_strlen", + "safety check failed: ustr == NULL"); + fail_if(eina_unicode_strlen(NULL)); + fail_unless(ctx.did); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); +#undef TEST_MAGIC_SAFETY + } +#endif eina_shutdown(); } @@ -174,7 +261,30 @@ START_TEST(eina_unicode_strnlen_test) fail_if(eina_unicode_strnlen(STR2,3) != 3); fail_if(eina_unicode_strnlen(STR3,3) != 3); fail_if(eina_unicode_strnlen(EMPTYSTR,1) != 0); - fail_if(eina_unicode_strnlen(NULL,0) != 0); + +#ifdef EINA_SAFETY_CHECKS + { + struct log_ctx ctx; + +#define TEST_MAGIC_SAFETY(fn, _msg) \ + ctx.msg = _msg; \ + ctx.fnc = fn; \ + ctx.did = EINA_FALSE + + eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); + +#ifdef SHOW_LOG + fprintf(stderr, "you should have a safety check failure below:\n"); +#endif + TEST_MAGIC_SAFETY("eina_unicode_strnlen", + "safety check failed: ustr == NULL"); + fail_if(eina_unicode_strnlen(NULL,0) != 0); + fail_unless(ctx.did); + + eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); +#undef TEST_MAGIC_SAFETY + } +#endif eina_shutdown(); } diff --git a/libraries/eina/src/tests/eina_test_value.c b/libraries/eina/src/tests/eina_test_value.c index 2d04c2f..94a5ab7 100644 --- a/libraries/eina/src/tests/eina_test_value.c +++ b/libraries/eina/src/tests/eina_test_value.c @@ -1140,8 +1140,10 @@ START_TEST(eina_value_test_array) fail_unless(eina_inarray_append(inarray, &c) >= 0); desc.subtype = EINA_VALUE_TYPE_CHAR; desc.step = 0; - desc.array = inarray; /* will be adopted and freed by value */ + desc.array = inarray; fail_unless(eina_value_set(value, desc)); /* manually configure */ + eina_inarray_free(inarray); + fail_unless(eina_value_array_get(value, 0, &c)); fail_unless(c == 11); fail_unless(eina_value_array_get(value, 1, &c)); @@ -1242,11 +1244,13 @@ START_TEST(eina_value_test_list) desc.subtype = EINA_VALUE_TYPE_STRING; desc.list = NULL; - desc.list = eina_list_append(desc.list, strdup("hello")); - desc.list = eina_list_append(desc.list, strdup("world")); - desc.list = eina_list_append(desc.list, strdup("eina")); + desc.list = eina_list_append(desc.list, "hello"); + desc.list = eina_list_append(desc.list, "world"); + desc.list = eina_list_append(desc.list, "eina"); fail_unless(eina_list_count(desc.list) == 3); fail_unless(eina_value_set(value, desc)); + eina_list_free(desc.list); + fail_unless(eina_value_list_get(value, 0, &s)); fail_unless(s != NULL); fail_unless(strcmp(s, "hello") == 0); @@ -1351,14 +1355,17 @@ START_TEST(eina_value_test_hash) fail_unless(desc.hash != NULL); /* watch out hash pointer is to a size of subtype->value_size! */ ptr = malloc(sizeof(char *)); - *ptr = strdup("there"); + *ptr = "there"; fail_unless(eina_hash_add(desc.hash, "hi", ptr)); ptr = malloc(sizeof(char *)); - *ptr = strdup("y"); + *ptr = "y"; fail_unless(eina_hash_add(desc.hash, "x", ptr)); - fail_unless(eina_value_set(value, desc)); + free(eina_hash_find(desc.hash, "hi")); + free(eina_hash_find(desc.hash, "x")); + eina_hash_free(desc.hash); + fail_unless(eina_value_hash_get(value, "hi", &s)); fail_unless(s != NULL); fail_unless(strcmp(s, "there") == 0); @@ -1606,6 +1613,20 @@ START_TEST(eina_value_test_struct) fail_unless(eina_value_struct_get(value, "c", &c)); fail_unless(c == 0xf); + fail_unless(eina_value_struct_member_value_get + (value, myst_members + 0, &other)); + fail_unless(other.type == EINA_VALUE_TYPE_INT); + fail_unless(eina_value_get(&other, &i)); + fail_unless(i == 5678); + eina_value_flush(&other); + + fail_unless(eina_value_struct_member_value_get + (value, myst_members + 1, &other)); + fail_unless(other.type == EINA_VALUE_TYPE_CHAR); + fail_unless(eina_value_get(&other, &c)); + fail_unless(c = 0xf); + eina_value_flush(&other); + str = eina_value_to_string(value); fail_unless(str != NULL); fail_unless(strcmp(str, "{i: 5678, c: 15}") == 0); @@ -1704,6 +1725,7 @@ START_TEST(eina_value_test_struct) fail_unless(strcmp(str, "{a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9, j: 10, k: 12, l: 13, m: 14, n: 15, o: 16, p: 17, q: 18, r: 19, s: 20, t: 21, u: 22, v: 23, x: 24}") == 0); free(str); + eina_value_flush(&other); eina_value_free(value); eina_shutdown(); } @@ -1728,7 +1750,7 @@ START_TEST(eina_value_test_array_of_struct) EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH, myst_members, 4, sizeof(struct myst) }; - Eina_Value *value; + Eina_Value *value, array_item; char *str; int i; @@ -1740,20 +1762,17 @@ START_TEST(eina_value_test_array_of_struct) for (i = 0; i < 10; i++) { Eina_Value_Struct desc; - struct myst *st; + struct myst st; char buf[64]; snprintf(buf, sizeof(buf), "item%02d", i); - st = malloc(sizeof(struct myst)); - fail_unless(st != NULL); - st->a = i; - st->b = i * 10; - st->c = i * 100; - st->s = strdup(buf); - fail_unless(st->s != NULL); + st.a = i; + st.b = i * 10; + st.c = i * 100; + st.s = buf; desc.desc = &myst_desc; - desc.memory = st; + desc.memory = &st; fail_unless(eina_value_array_append(value, desc)); } @@ -1773,11 +1792,66 @@ START_TEST(eina_value_test_array_of_struct) "]") == 0); free(str); + eina_value_array_value_get(value, 2, &array_item); + eina_value_struct_get(&array_item, "a", &i); + ck_assert_int_eq(i, 2); + eina_value_struct_get(&array_item, "b", &i); + ck_assert_int_eq(i, 20); + eina_value_struct_get(&array_item, "c", &i); + ck_assert_int_eq(i, 200); + eina_value_struct_get(&array_item, "s", &str); + ck_assert_str_eq(str, "item02"); + eina_value_flush(&array_item); + eina_value_free(value); eina_shutdown(); } END_TEST + +START_TEST(eina_value_test_model) +{ + Eina_Value *value, inv; + Eina_Model *model, *m; + char *str; + + eina_init(); + + value = eina_value_new(EINA_VALUE_TYPE_MODEL); + fail_unless(value != NULL); + + model = eina_model_new(EINA_MODEL_TYPE_GENERIC); + fail_unless(model != NULL); + + fail_unless(eina_value_setup(&inv, EINA_VALUE_TYPE_INT)); + fail_unless(eina_value_set(&inv, 1234)); + fail_unless(eina_model_property_set(model, "i", &inv)); + eina_value_flush(&inv); + + fail_unless(eina_value_set(value, model)); + fail_unless(eina_model_refcount(model) == 2); + + fail_unless(eina_value_get(value, &m)); + fail_unless(m == model); + fail_unless(eina_model_refcount(m) == 2); + + fail_unless(eina_value_pset(value, &model)); + fail_unless(eina_model_refcount(model) == 2); + + str = eina_value_to_string(value); + fail_unless(str != NULL); + fail_unless(strcmp(str, "Eina_Model_Type_Generic({i: 1234}, [])") == 0); + free(str); + + eina_value_free(value); + + fail_unless(eina_model_refcount(model) == 1); + eina_model_unref(model); + + eina_shutdown(); +} +END_TEST + void eina_test_value(TCase *tc) { @@ -1796,4 +1870,5 @@ eina_test_value(TCase *tc) tcase_add_test(tc, eina_value_test_blob); tcase_add_test(tc, eina_value_test_struct); tcase_add_test(tc, eina_value_test_array_of_struct); + tcase_add_test(tc, eina_value_test_model); } diff --git a/libraries/embryo/ChangeLog b/libraries/embryo/ChangeLog index a9a410a..297abf1 100644 --- a/libraries/embryo/ChangeLog +++ b/libraries/embryo/ChangeLog @@ -18,3 +18,12 @@ 2011-12-02 Carsten Haitzler (The Rasterman) 1.1.0 release + +2012-02-24 Cedric Bail + + * Add exotic support + +2012-03-07 Vincent Torri + + * Fix windows compilation issues + diff --git a/libraries/embryo/Makefile.in b/libraries/embryo/Makefile.in index 4652fe5..b7f26fd 100644 --- a/libraries/embryo/Makefile.in +++ b/libraries/embryo/Makefile.in @@ -45,6 +45,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_binary.m4 $(top_srcdir)/m4/efl_doxygen.m4 \ $(top_srcdir)/m4/efl_fnmatch.m4 \ + $(top_srcdir)/m4/efl_gettimeofday.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ @@ -174,6 +175,8 @@ EMBRYO_CPPFLAGS = @EMBRYO_CPPFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ @@ -206,6 +209,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/embryo/README b/libraries/embryo/README index 36cfe09..f2cd749 100644 --- a/libraries/embryo/README +++ b/libraries/embryo/README @@ -1,4 +1,4 @@ -Embryo +Embryo 1.2.0 ****************************************************************************** @@ -13,7 +13,6 @@ Requirements: Must: eina libc - libm WARNING: gcc compatibility!!! There seems to be some bug (or disagreement) between embryo and gcc 3.2.x diff --git a/libraries/embryo/aclocal.m4 b/libraries/embryo/aclocal.m4 index 14faac2..d3a77dd 100644 --- a/libraries/embryo/aclocal.m4 +++ b/libraries/embryo/aclocal.m4 @@ -13,13 +13,14 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, +[m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # @@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi @@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then AC_MSG_RESULT([no]) PKG_CONFIG="" fi - fi[]dnl ])# PKG_PROG_PKG_CONFIG @@ -69,34 +72,31 @@ fi[]dnl # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) + m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried fi[]dnl ])# _PKG_CONFIG @@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - ifelse([$4], , [AC_MSG_ERROR(dnl + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -155,25 +156,24 @@ $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) +_PKG_TEXT])[]dnl + ]) elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT -To get pkg-config, see .])], - [$4]) +To get pkg-config, see .])[]dnl + ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) + $3 fi[]dnl ])# PKG_CHECK_MODULES @@ -1173,6 +1173,7 @@ m4_include([m4/ac_attribute.m4]) m4_include([m4/efl_binary.m4]) m4_include([m4/efl_doxygen.m4]) m4_include([m4/efl_fnmatch.m4]) +m4_include([m4/efl_gettimeofday.m4]) m4_include([m4/efl_path_max.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) diff --git a/libraries/embryo/config.guess b/libraries/embryo/config.guess index e3a2116..c2246a4 100755 --- a/libraries/embryo/config.guess +++ b/libraries/embryo/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-10' +timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ timestamp='2009-06-10' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -854,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -876,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -901,39 +930,18 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -942,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -966,58 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1247,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/libraries/embryo/config.h.in b/libraries/embryo/config.h.in index 331fd3f..cd3ce40 100644 --- a/libraries/embryo/config.h.in +++ b/libraries/embryo/config.h.in @@ -16,6 +16,9 @@ /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA +/* Defined if gettimeofday is available. */ +#undef EFL_HAVE_GETTIMEOFDAY + /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA @@ -29,8 +32,8 @@ /* Set to 1 if Evil library is installed */ #undef HAVE_EVIL -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY +/* Define to 1 if you have Exotic. */ +#undef HAVE_EXOTIC /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H diff --git a/libraries/embryo/config.sub b/libraries/embryo/config.sub index eb0389a..c2d1257 100755 --- a/libraries/embryo/config.sub +++ b/libraries/embryo/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-11' +timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-06-11' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +153,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; @@ -284,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -291,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -340,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -368,15 +374,17 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -726,6 +734,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1076,6 +1087,11 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1247,6 +1263,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1268,8 +1287,8 @@ case $os in # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1290,7 +1309,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1423,6 +1442,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) diff --git a/libraries/embryo/configure b/libraries/embryo/configure index 88e889b..7f04eec 100755 --- a/libraries/embryo/configure +++ b/libraries/embryo/configure @@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for embryo 1.1.99.67344. +# Generated by GNU Autoconf 2.67 for embryo 1.2.0-alpha. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -319,7 +319,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -359,19 +359,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -701,8 +701,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='embryo' PACKAGE_TARNAME='embryo' -PACKAGE_VERSION='1.1.99.67344' -PACKAGE_STRING='embryo 1.1.99.67344' +PACKAGE_VERSION='1.2.0-alpha' +PACKAGE_STRING='embryo 1.2.0-alpha' PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -754,12 +754,16 @@ ALLOCA lt_enable_auto_import EMBRYO_CFLAGS EMBRYO_CPPFLAGS +EXOTIC_LIBS +EXOTIC_CFLAGS EINA_LIBS EINA_CFLAGS EFL_EMBRYO_BUILD EVIL_LIBS EVIL_CFLAGS pkgconfig_requires_private +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH PKG_CONFIG EFL_BUILD_DOC_FALSE EFL_BUILD_DOC_TRUE @@ -905,10 +909,14 @@ LIBS CPPFLAGS CPP PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR EVIL_CFLAGS EVIL_LIBS EINA_CFLAGS -EINA_LIBS' +EINA_LIBS +EXOTIC_CFLAGS +EXOTIC_LIBS' # Initialize some variables set by options. @@ -971,8 +979,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1017,7 +1026,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1043,7 +1052,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1247,7 +1256,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1263,7 +1272,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1293,8 +1302,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1302,7 +1311,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1320,13 +1329,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1349,7 +1358,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1363,8 +1372,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1379,9 +1388,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1420,11 +1429,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1450,7 +1459,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures embryo 1.1.99.67344 to adapt to many kinds of systems. +\`configure' configures embryo 1.2.0-alpha to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1464,7 +1473,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1520,7 +1529,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of embryo 1.1.99.67344:";; + short | recursive ) echo "Configuration of embryo 1.2.0-alpha:";; esac cat <<\_ACEOF @@ -1558,10 +1567,17 @@ Some influential environment variables: you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config EVIL_LIBS linker flags for EVIL, overriding pkg-config EINA_CFLAGS C compiler flags for EINA, overriding pkg-config EINA_LIBS linker flags for EINA, overriding pkg-config + EXOTIC_CFLAGS + C compiler flags for EXOTIC, overriding pkg-config + EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1629,10 +1645,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -embryo configure 1.1.99.67344 -generated by GNU Autoconf 2.65 +embryo configure 1.2.0-alpha +generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1736,7 +1752,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1779,7 +1795,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1845,7 +1861,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1912,10 +1928,10 @@ $as_echo "$ac_res" >&6; } ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -1951,7 +1967,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -1974,17 +1990,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## -------------------------------------------------------- ## +( $as_echo "## -------------------------------------------------------- ## ## Report this to enlightenment-devel@lists.sourceforge.net ## -## -------------------------------------------------------- ## -_ASBOX +## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2000,8 +2014,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by embryo $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by embryo $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -2111,11 +2125,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2149,11 +2161,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2166,11 +2176,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2184,11 +2192,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2243,7 +2249,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2258,7 +2269,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -2334,7 +2349,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2360,16 +2375,22 @@ am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2485,11 +2506,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -2511,7 +2532,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi @@ -2521,7 +2542,7 @@ then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -2759,7 +2780,7 @@ done $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2767,7 +2788,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -2801,7 +2822,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -2817,7 +2838,7 @@ fi # Define the identity of the package. PACKAGE='embryo' - VERSION='1.1.99.67344' + VERSION='1.2.0-alpha' cat >>confdefs.h <<_ACEOF @@ -2872,7 +2893,7 @@ AM_BACKSLASH='\' # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } @@ -2883,16 +2904,16 @@ else test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -2917,7 +2938,7 @@ else ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -2925,7 +2946,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -3631,8 +3652,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3746,9 +3767,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3790,8 +3810,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3848,9 +3868,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -3901,8 +3921,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -4306,7 +4326,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -4382,7 +4402,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4448,7 +4468,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4515,7 +4535,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -4631,7 +4651,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -4833,13 +4853,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:4836: $ac_compile\"" >&5) + (eval echo "\"\$as_me:4856: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:4839: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:4859: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:4842: output\"" >&5) + (eval echo "\"\$as_me:4862: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6042,7 +6062,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6045 "configure"' > conftest.$ac_ext + echo '#line 6065 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6831,7 +6851,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -6847,11 +6867,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -6890,7 +6910,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -6906,18 +6926,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@ -7046,8 +7066,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7570,11 +7589,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7573: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7592: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7577: \$? = $ac_status" >&5 + echo "$as_me:7596: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7909,11 +7928,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7912: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7931: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7916: \$? = $ac_status" >&5 + echo "$as_me:7935: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8014,11 +8033,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8017: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8036: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8021: \$? = $ac_status" >&5 + echo "$as_me:8040: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8069,11 +8088,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8072: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8091: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8076: \$? = $ac_status" >&5 + echo "$as_me:8095: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10453,7 +10472,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10456 "configure" +#line 10475 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10549,7 +10568,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10552 "configure" +#line 10571 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10788,20 +10807,20 @@ _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIN 1 +#define VMIN 2 _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIC 99 +#define VMIC 0 _ACEOF cat >>confdefs.h <<_ACEOF -#define VREV 67344 +#define VREV 0 _ACEOF -version_info="2:99:1" +version_info="3:0:2" release_info="" @@ -11167,8 +11186,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -11699,6 +11718,10 @@ fi + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -11811,7 +11834,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi # Check whether pkg-config supports Requires.private @@ -11835,11 +11857,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 $as_echo_n "checking for EVIL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_CFLAGS"; then - pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_CFLAGS"; then + pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -11849,15 +11870,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_LIBS"; then - pkg_cv_EVIL_LIBS="$EVIL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_LIBS"; then + pkg_cv_EVIL_LIBS="$EVIL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -11867,14 +11886,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -11882,14 +11902,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` else - EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVIL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (evil >= 1.0.0) were not met: + as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: $EVIL_PKG_ERRORS @@ -11898,12 +11918,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EVIL_CFLAGS and EVIL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -11912,13 +11933,13 @@ and EVIL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS EVIL_LIBS=$pkg_cv_EVIL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_EVIL 1" >>confdefs.h @@ -11935,46 +11956,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5 $as_echo_n "checking for EINA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_CFLAGS"; then - pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_CFLAGS"; then + pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_LIBS"; then - pkg_cv_EINA_LIBS="$EINA_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_LIBS"; then + pkg_cv_EINA_LIBS="$EINA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -11982,14 +12001,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.2.0" 2>&1` else - EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EINA_PKG_ERRORS" >&5 - as_fn_error "Package requirements (eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (eina >= 1.2.0) were not met: $EINA_PKG_ERRORS @@ -11998,12 +12017,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EINA_CFLAGS and EINA_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -12012,13 +12032,93 @@ and EINA_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EINA_CFLAGS=$pkg_cv_EINA_CFLAGS EINA_LIBS=$pkg_cv_EINA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + +fi + +### Checks for portability layer + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 +$as_echo_n "checking for EXOTIC... " >&6; } + +if test -n "$EXOTIC_CFLAGS"; then + pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXOTIC_LIBS"; then + pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` + else + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$EXOTIC_PKG_ERRORS" >&5 + + enable_exotic="no" +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + enable_exotic="no" +else + EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS + EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + enable_exotic="yes" +fi + +if test "x${enable_exotic}" = "xyes"; then + requirement_embryo="exotic ${requirement_embryo}" + + +$as_echo "#define HAVE_EXOTIC 1" >>confdefs.h + fi ### Checks for header files @@ -12315,8 +12415,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac if test "x$CC" != xcc; then @@ -12328,7 +12428,7 @@ $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13236,8 +13336,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -13337,7 +13436,7 @@ return fnmatch (); return 0; } _ACEOF -for ac_lib in '' fnmatch evil iberty; do +for ac_lib in '' fnmatch evil exotic iberty; do if test -z "$ac_lib"; then ac_res="none required" else @@ -13384,31 +13483,83 @@ fi if test "x$_efl_have_fnmatch" = "xyes"; then : else - as_fn_error "Cannot find fnmatch()" "$LINENO" 5 + as_fn_error $? "Cannot find fnmatch()" "$LINENO" 5 fi -case "$host_os" in - mingw*) +# gettimeofday -$as_echo "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h - ;; - *) - for ac_func in gettimeofday -do : - ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" -if test "x$ac_cv_func_gettimeofday" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETTIMEOFDAY 1 +_efl_have_gettimeofday="no" + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + +int res; +res = gettimeofday(NULL, NULL); + + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + _efl_have_gettimeofday="yes" +else + _efl_have_gettimeofday="no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +if test "x${_efl_have_gettimeofday}" = "xno" -a "x${enable_exotic}" = "xyes"; then + SAVE_LIBS="${LIBS}" + SAVE_CFLAGS="${CFLAGS}" + LIBS="${LIBS} ${EXOTIC_LIBS}" + CFLAGS="${CFLAGS} ${EXOTIC_CFLAGS}" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +int +main () +{ + +int res; +res = gettimeofday(NULL, NULL); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + _efl_have_gettimeofday="yes" +else + _efl_have_gettimeofday="no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test "x${_efl_have_gettimeofday}" = "xyes"; then + +$as_echo "#define EFL_HAVE_GETTIMEOFDAY 1" >>confdefs.h + +fi + +if test "x${_efl_have_gettimeofday}" = "xyes"; then : + +else + as_fn_error $? "Cannot find gettimeofday()" "$LINENO" 5 fi -done - ;; -esac @@ -13499,6 +13650,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -13522,23 +13674,23 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EMBRYO_CC_TRUE}" && test -z "${BUILD_EMBRYO_CC_FALSE}"; then - as_fn_error "conditional \"BUILD_EMBRYO_CC\" was never defined. + as_fn_error $? "conditional \"BUILD_EMBRYO_CC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -13689,19 +13841,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -13897,7 +14049,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -13950,8 +14102,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by embryo $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by embryo $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -14016,11 +14168,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -embryo config.status 1.1.99.67344 -configured by $0, generated by GNU Autoconf 2.65, +embryo config.status 1.2.0-alpha +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -14038,11 +14190,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -14064,6 +14221,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -14076,7 +14234,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -14085,7 +14243,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -14409,7 +14567,7 @@ do "src/bin/Makefile") CONFIG_FILES="$CONFIG_FILES src/bin/Makefile" ;; "embryo.spec") CONFIG_FILES="$CONFIG_FILES embryo.spec" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -14447,7 +14605,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -14464,7 +14622,7 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi @@ -14478,18 +14636,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -14578,20 +14736,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -14619,7 +14785,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -14704,7 +14870,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -14717,7 +14883,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -14745,7 +14911,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -14772,7 +14938,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -14909,22 +15075,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -14935,19 +15101,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -15738,7 +15904,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -15759,7 +15925,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/libraries/embryo/configure.ac b/libraries/embryo/configure.ac index 61c50b8..09bd04e 100644 --- a/libraries/embryo/configure.ac +++ b/libraries/embryo/configure.ac @@ -1,12 +1,12 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) -m4_define([v_min], [1]) -m4_define([v_mic], [99]) +m4_define([v_min], [2]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line dnl m4_define([relname], [ver-pre-svn-07]) dnl m4_define([v_rel], [-release ver-pre-svn-07]) @@ -18,7 +18,7 @@ m4_define([lt_age], v_min) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -AC_INIT([embryo], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([embryo], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -107,7 +107,20 @@ esac AC_SUBST(EFL_EMBRYO_BUILD) # For embryo_cc_prefix.c -PKG_CHECK_MODULES([EINA], [eina >= 1.1.0]) +PKG_CHECK_MODULES([EINA], [eina >= 1.2.0]) + +### Checks for portability layer + +PKG_CHECK_MODULES([EXOTIC], + [exotic], + [enable_exotic="yes"], + [enable_exotic="no"]) + +if test "x${enable_exotic}" = "xyes"; then + requirement_embryo="exotic ${requirement_embryo}" + + AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.]) +fi ### Checks for header files @@ -162,14 +175,8 @@ AC_FUNC_ALLOCA # fnmatch EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])]) -case "$host_os" in - mingw*) - AC_DEFINE(HAVE_GETTIMEOFDAY, 1, [Defined to 1 (MinGW platform)]) - ;; - *) - AC_CHECK_FUNCS(gettimeofday) - ;; -esac +# gettimeofday +EFL_CHECK_GETTIMEOFDAY([], [AC_MSG_ERROR([Cannot find gettimeofday()])]) AC_SUBST(requirement_embryo) diff --git a/libraries/embryo/doc/Makefile.in b/libraries/embryo/doc/Makefile.in index 102cd2f..744e789 100644 --- a/libraries/embryo/doc/Makefile.in +++ b/libraries/embryo/doc/Makefile.in @@ -40,6 +40,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_binary.m4 $(top_srcdir)/m4/efl_doxygen.m4 \ $(top_srcdir)/m4/efl_fnmatch.m4 \ + $(top_srcdir)/m4/efl_gettimeofday.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ @@ -94,6 +95,8 @@ EMBRYO_CPPFLAGS = @EMBRYO_CPPFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ @@ -126,6 +129,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/embryo/doc/img/e.png b/libraries/embryo/doc/img/e.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/e_big.png b/libraries/embryo/doc/img/e_big.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/edoxy.css b/libraries/embryo/doc/img/edoxy.css old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/foot_bg.png b/libraries/embryo/doc/img/foot_bg.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/head_bg.png b/libraries/embryo/doc/img/head_bg.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/menu_bg.png b/libraries/embryo/doc/img/menu_bg.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/menu_bg_current.png b/libraries/embryo/doc/img/menu_bg_current.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/menu_bg_hover.png b/libraries/embryo/doc/img/menu_bg_hover.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/menu_bg_last.png b/libraries/embryo/doc/img/menu_bg_last.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/doc/img/menu_bg_unsel.png b/libraries/embryo/doc/img/menu_bg_unsel.png old mode 100755 new mode 100644 diff --git a/libraries/embryo/embryo.spec b/libraries/embryo/embryo.spec index 834f792..73de4de 100644 --- a/libraries/embryo/embryo.spec +++ b/libraries/embryo/embryo.spec @@ -4,7 +4,7 @@ Summary: A small virtual machine engine (in a library) and bytecode compiler Name: embryo -Version: 1.1.99.67344 +Version: 1.2.0-alpha Release: %{_rel} License: BSD Group: System Environment/Libraries diff --git a/libraries/embryo/include/Makefile.in b/libraries/embryo/include/Makefile.in index 0a96acd..f462b6c 100644 --- a/libraries/embryo/include/Makefile.in +++ b/libraries/embryo/include/Makefile.in @@ -40,6 +40,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_binary.m4 $(top_srcdir)/m4/efl_doxygen.m4 \ $(top_srcdir)/m4/efl_fnmatch.m4 \ + $(top_srcdir)/m4/efl_gettimeofday.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ @@ -117,6 +118,8 @@ EMBRYO_CPPFLAGS = @EMBRYO_CPPFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ @@ -149,6 +152,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/embryo/ltmain.sh b/libraries/embryo/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/embryo/ltmain.sh +++ b/libraries/embryo/ltmain.sh @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 diff --git a/libraries/embryo/m4/efl_fnmatch.m4 b/libraries/embryo/m4/efl_fnmatch.m4 index a92ac6b..c857046 100644 --- a/libraries/embryo/m4/efl_fnmatch.m4 +++ b/libraries/embryo/m4/efl_fnmatch.m4 @@ -13,7 +13,7 @@ AC_CHECK_HEADER([fnmatch.h], [_efl_have_fnmatch="yes"], [_efl_have_fnmatch="no"] if test "x${_efl_have_fnmatch}" = "xyes" ; then AC_SEARCH_LIBS([fnmatch], - [fnmatch evil iberty], + [fnmatch evil exotic iberty], [_efl_have_fnmatch="yes"], [_efl_have_fnmatch="no"]) fi diff --git a/libraries/embryo/src/Makefile.in b/libraries/embryo/src/Makefile.in index ff3d123..e060803 100644 --- a/libraries/embryo/src/Makefile.in +++ b/libraries/embryo/src/Makefile.in @@ -39,6 +39,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_binary.m4 $(top_srcdir)/m4/efl_doxygen.m4 \ $(top_srcdir)/m4/efl_fnmatch.m4 \ + $(top_srcdir)/m4/efl_gettimeofday.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ @@ -133,6 +134,8 @@ EMBRYO_CPPFLAGS = @EMBRYO_CPPFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ @@ -165,6 +168,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/embryo/src/bin/Makefile.in b/libraries/embryo/src/bin/Makefile.in index a6551be..4eaa4b2 100644 --- a/libraries/embryo/src/bin/Makefile.in +++ b/libraries/embryo/src/bin/Makefile.in @@ -41,6 +41,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_binary.m4 $(top_srcdir)/m4/efl_doxygen.m4 \ $(top_srcdir)/m4/efl_fnmatch.m4 \ + $(top_srcdir)/m4/efl_gettimeofday.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ @@ -138,6 +139,8 @@ EMBRYO_CPPFLAGS = @EMBRYO_CPPFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ @@ -170,6 +173,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/libraries/embryo/src/bin/embryo_cc_sc5.scp b/libraries/embryo/src/bin/embryo_cc_sc5.scp index 8005f79..af3f352 100644 --- a/libraries/embryo/src/bin/embryo_cc_sc5.scp +++ b/libraries/embryo/src/bin/embryo_cc_sc5.scp @@ -18,7 +18,7 @@ * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. * - * Version: $Id: embryo_cc_sc5.scp 14177 2005-04-13 19:37:01Z tsauerbeck $ + * Version: $Id: embryo_cc_sc5.scp 35497 2008-08-17 07:44:18Z raster $ */ int strexpand(char *dest, unsigned char *source, int maxlen, diff --git a/libraries/embryo/src/bin/embryo_cc_sc7.scp b/libraries/embryo/src/bin/embryo_cc_sc7.scp index 83d49a1..15c80ac 100644 --- a/libraries/embryo/src/bin/embryo_cc_sc7.scp +++ b/libraries/embryo/src/bin/embryo_cc_sc7.scp @@ -19,7 +19,7 @@ * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. * - * Version: $Id: embryo_cc_sc7.scp 14177 2005-04-13 19:37:01Z tsauerbeck $ + * Version: $Id: embryo_cc_sc7.scp 35497 2008-08-17 07:44:18Z raster $ */ int strexpand(char *dest, unsigned char *source, int maxlen, diff --git a/libraries/embryo/src/lib/Embryo.h b/libraries/embryo/src/lib/Embryo.h index 74c872b..4003f6b 100644 --- a/libraries/embryo/src/lib/Embryo.h +++ b/libraries/embryo/src/lib/Embryo.h @@ -10,7 +10,7 @@ These routines are used for Embryo. @version 1.0.0 @author Carsten Haitzler @author Compuphase http://www.compuphase.com -@date 2004-2011 +@date 2004-2012 @section intro What is Embryo? diff --git a/libraries/embryo/src/lib/Makefile.am b/libraries/embryo/src/lib/Makefile.am index f5c78aa..d2ccb55 100644 --- a/libraries/embryo/src/lib/Makefile.am +++ b/libraries/embryo/src/lib/Makefile.am @@ -11,6 +11,7 @@ AM_CPPFLAGS = \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ @EVIL_CFLAGS@ \ +@EXOTIC_CFLAGS@ \ @EMBRYO_CPPFLAGS@ \ @EFL_EMBRYO_BUILD@ @@ -29,7 +30,7 @@ embryo_str.c \ embryo_time.c libembryo_la_CFLAGS = @EMBRYO_CFLAGS@ -libembryo_la_LIBADD = @EVIL_LIBS@ -lm +libembryo_la_LIBADD = @EXOTIC_LIBS@ @EVIL_LIBS@ -lm libembryo_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ EXTRA_DIST = embryo_private.h diff --git a/libraries/embryo/src/lib/Makefile.in b/libraries/embryo/src/lib/Makefile.in index 3fb5591..c46a03e 100644 --- a/libraries/embryo/src/lib/Makefile.in +++ b/libraries/embryo/src/lib/Makefile.in @@ -42,6 +42,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ $(top_srcdir)/m4/efl_binary.m4 $(top_srcdir)/m4/efl_doxygen.m4 \ $(top_srcdir)/m4/efl_fnmatch.m4 \ + $(top_srcdir)/m4/efl_gettimeofday.m4 \ $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ @@ -154,6 +155,8 @@ EMBRYO_CPPFLAGS = @EMBRYO_CPPFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ @@ -186,6 +189,8 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -264,6 +269,7 @@ AM_CPPFLAGS = \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ @EVIL_CFLAGS@ \ +@EXOTIC_CFLAGS@ \ @EMBRYO_CPPFLAGS@ \ @EFL_EMBRYO_BUILD@ @@ -280,7 +286,7 @@ embryo_str.c \ embryo_time.c libembryo_la_CFLAGS = @EMBRYO_CFLAGS@ -libembryo_la_LIBADD = @EVIL_LIBS@ -lm +libembryo_la_LIBADD = @EXOTIC_LIBS@ @EVIL_LIBS@ -lm libembryo_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ EXTRA_DIST = embryo_private.h all: all-am diff --git a/libraries/embryo/src/lib/embryo_amx.c b/libraries/embryo/src/lib/embryo_amx.c index 4fa84c5..7a41111 100644 --- a/libraries/embryo/src/lib/embryo_amx.c +++ b/libraries/embryo/src/lib/embryo_amx.c @@ -29,6 +29,10 @@ #include #include +#ifdef HAVE_EXOTIC +# include +#endif + #include "Embryo.h" #include "embryo_private.h" diff --git a/libraries/embryo/src/lib/embryo_str.c b/libraries/embryo/src/lib/embryo_str.c index 46a3284..0c2faa2 100644 --- a/libraries/embryo/src/lib/embryo_str.c +++ b/libraries/embryo/src/lib/embryo_str.c @@ -2,28 +2,41 @@ # include "config.h" #endif -#include -#include -#include -#include - +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif #ifdef HAVE_ALLOCA_H # include -#elif defined __GNUC__ -# define alloca __builtin_alloca -#elif defined _AIX -# define alloca __alloca -#elif defined _MSC_VER -# include -# define alloca _alloca -#else -# include -# ifdef __cplusplus +#elif !defined alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _AIX +# define alloca __alloca +# elif defined _MSC_VER +# include +# define alloca _alloca +# elif !defined HAVE_ALLOCA +# ifdef __cplusplus extern "C" -# endif +# endif void *alloca (size_t); +# endif +#endif + +#ifdef HAVE_EXOTIC +# include #endif +#include +#include +#include +#include + #include "Embryo.h" #include "embryo_private.h" diff --git a/libraries/embryo/src/lib/embryo_time.c b/libraries/embryo/src/lib/embryo_time.c index 8392ec3..90c14cf 100644 --- a/libraries/embryo/src/lib/embryo_time.c +++ b/libraries/embryo/src/lib/embryo_time.c @@ -2,7 +2,7 @@ # include "config.h" #endif -#ifndef HAVE_GETTIMEOFDAY +#ifndef EFL_HAVE_GETTIMEOFDAY # error "Your platform isn't supported yet" #endif @@ -17,6 +17,10 @@ # include #endif +#ifdef HAVE_EXOTIC +# include +#endif + #include "Embryo.h" #include "embryo_private.h" diff --git a/libraries/evas/AUTHORS b/libraries/evas/AUTHORS index 470dd6a..eee8e16 100644 --- a/libraries/evas/AUTHORS +++ b/libraries/evas/AUTHORS @@ -32,3 +32,4 @@ Youness Alaoui Jim Kukunas Nicolas Aguirre Rafal Krypa +yoyoung Chang diff --git a/libraries/evas/ChangeLog b/libraries/evas/ChangeLog index fa77400..a413064 100644 --- a/libraries/evas/ChangeLog +++ b/libraries/evas/ChangeLog @@ -638,9 +638,48 @@ * Add evas_object_smart_callback_del_full() to allow users to unregister a specific smart event callback instead of all callbacks matching a given type and function pointer. - + 2012-01-17 Carsten Haitzler (The Rasterman) * Add EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN pointer mode for some very specific behavior needed for accessibility. +2012-01-19 Cedric Bail + + * Add double buffer support to buffer engine. + +2012-01-20 Sung W. Park (sung_) + + * Add Direct Rendering to Evas' window optimization for Evas_GL. This + optimization can be significant since it avoids and extra copy from + an offscreen buffer. Normally, Evas_GL will render to a render + target using an FBO. This can be enabled by giving + EVAS_GL_OPTIONS_DIRECT hint in the config options_bits. Direct + rendering is actually done if the following conditions are met - + 1) All GL rendering is done in the pixel_getter callback 2) No + rotation on the image object 3) Corresponding image + object has alpha disabled. + +2012-01-23 Tom Hacohen (TAsn) + + * Textblock: Added evas_object_textblock_style_user_set/get. + This is used to override the default style set for an evas object. + For example, this can be used to nicely change the font and size + in a text editor. + +2012-02-23 Carsten Haitzler (The Rasterman) + + * Fix rouding of update regions for image objects when scaled + (leaves trails without this). + +2012-02-23 Cedric Bail + + * Remove Software SDL engine. + +2012-01-23 Tom Hacohen (TAsn) + + * Textblock: Replaced evas_object_textblock_style_user_set/get + with evas_object_textblock_style_user_push/peek/pop. + This is used to override the default style set for an evas object. + For example, this can be used to nicely change the font and size + in a text editor. diff --git a/libraries/evas/Makefile.am b/libraries/evas/Makefile.am index b42e7f9..ee73e82 100644 --- a/libraries/evas/Makefile.am +++ b/libraries/evas/Makefile.am @@ -43,7 +43,6 @@ evas-software-ddraw.pc.in \ evas-software-16-ddraw.pc.in \ evas-direct3d.pc.in \ evas-software-16-wince.pc.in \ -evas-software-sdl.pc.in \ evas-psl1ght.pc.in \ evas-wayland-shm.pc.in \ evas-wayland-egl.pc.in \ @@ -121,7 +120,7 @@ if BUILD_ENGINE_SOFTWARE_16_WINCE pkgconfig_DATA += evas-software-16-wince.pc endif -if BUILD_ENGINE_SOFTWARE_SDL +if BUILD_ENGINE_SOFTWARE_16_SDL pkgconfig_DATA += evas-software-sdl.pc endif @@ -161,23 +160,22 @@ endif if EFL_ENABLE_COVERAGE lcov-reset: - @rm -rf coverage - @find . -name "*.gcda" -exec rm {} \; - @lcov --directory . --zerocounters + @rm -rf $(top_builddir)/coverage + @find $(top_builddir) -name "*.gcda" -delete + @lcov --zerocounters --directory $(top_builddir) lcov-report: - @mkdir coverage - @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info - @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove - @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info - @rm coverage/remove - @mv coverage/coverage.cleaned.info coverage/coverage.info - @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info + @mkdir $(top_builddir)/coverage + lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) + lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info + genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info + @echo "Coverage Report at $(top_builddir)/coverage/html" + coverage: - @make lcov-reset - @make check - @make lcov-report + @$(MAKE) lcov-reset + @$(MAKE) check + @$(MAKE) lcov-report else lcov-reset: @echo "reconfigure with --enable-coverage" diff --git a/libraries/evas/Makefile.in b/libraries/evas/Makefile.in index 8fe20cb..4168e69 100644 --- a/libraries/evas/Makefile.in +++ b/libraries/evas/Makefile.in @@ -49,7 +49,7 @@ host_triplet = @host@ @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am__append_12 = evas-software-16-ddraw.pc @BUILD_ENGINE_DIRECT3D_TRUE@am__append_13 = evas-direct3d.pc @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am__append_14 = evas-software-16-wince.pc -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__append_15 = evas-software-sdl.pc +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@am__append_15 = evas-software-sdl.pc @BUILD_ENGINE_PSL1GHT_TRUE@am__append_16 = evas-psl1ght.pc @BUILD_ENGINE_WAYLAND_SHM_TRUE@am__append_17 = evas-wayland-shm.pc @BUILD_ENGINE_WAYLAND_EGL_TRUE@am__append_18 = evas-wayland-egl.pc @@ -72,8 +72,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/evas-wayland-egl.pc.in \ $(srcdir)/evas-wayland-shm.pc.in $(srcdir)/evas.pc.in \ $(srcdir)/evas.spec.in $(top_srcdir)/configure ABOUT-NLS \ - AUTHORS COPYING ChangeLog INSTALL NEWS config.guess config.sub \ - depcomp install-sh ltmain.sh missing + AUTHORS COPYING ChangeLog INSTALL NEWS compile config.guess \ + config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ $(top_srcdir)/m4/efl_coverage.m4 \ @@ -238,6 +238,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -288,6 +290,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -306,8 +310,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -381,8 +383,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -507,7 +507,6 @@ evas-software-ddraw.pc.in \ evas-software-16-ddraw.pc.in \ evas-direct3d.pc.in \ evas-software-16-wince.pc.in \ -evas-software-sdl.pc.in \ evas-psl1ght.pc.in \ evas-wayland-shm.pc.in \ evas-wayland-egl.pc.in \ @@ -1149,23 +1148,21 @@ doc: # Coverage report @EFL_ENABLE_COVERAGE_TRUE@lcov-reset: -@EFL_ENABLE_COVERAGE_TRUE@ @rm -rf coverage -@EFL_ENABLE_COVERAGE_TRUE@ @find . -name "*.gcda" -exec rm {} \; -@EFL_ENABLE_COVERAGE_TRUE@ @lcov --directory . --zerocounters +@EFL_ENABLE_COVERAGE_TRUE@ @rm -rf $(top_builddir)/coverage +@EFL_ENABLE_COVERAGE_TRUE@ @find $(top_builddir) -name "*.gcda" -delete +@EFL_ENABLE_COVERAGE_TRUE@ @lcov --zerocounters --directory $(top_builddir) @EFL_ENABLE_COVERAGE_TRUE@lcov-report: -@EFL_ENABLE_COVERAGE_TRUE@ @mkdir coverage -@EFL_ENABLE_COVERAGE_TRUE@ @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info -@EFL_ENABLE_COVERAGE_TRUE@ @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove -@EFL_ENABLE_COVERAGE_TRUE@ @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info -@EFL_ENABLE_COVERAGE_TRUE@ @rm coverage/remove -@EFL_ENABLE_COVERAGE_TRUE@ @mv coverage/coverage.cleaned.info coverage/coverage.info -@EFL_ENABLE_COVERAGE_TRUE@ @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info +@EFL_ENABLE_COVERAGE_TRUE@ @mkdir $(top_builddir)/coverage +@EFL_ENABLE_COVERAGE_TRUE@ lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) +@EFL_ENABLE_COVERAGE_TRUE@ lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info +@EFL_ENABLE_COVERAGE_TRUE@ genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info +@EFL_ENABLE_COVERAGE_TRUE@ @echo "Coverage Report at $(top_builddir)/coverage/html" @EFL_ENABLE_COVERAGE_TRUE@coverage: -@EFL_ENABLE_COVERAGE_TRUE@ @make lcov-reset -@EFL_ENABLE_COVERAGE_TRUE@ @make check -@EFL_ENABLE_COVERAGE_TRUE@ @make lcov-report +@EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) lcov-reset +@EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) check +@EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) lcov-report @EFL_ENABLE_COVERAGE_FALSE@lcov-reset: @EFL_ENABLE_COVERAGE_FALSE@ @echo "reconfigure with --enable-coverage" diff --git a/libraries/evas/NEWS b/libraries/evas/NEWS index 945fd96..3b19c66 100644 --- a/libraries/evas/NEWS +++ b/libraries/evas/NEWS @@ -8,11 +8,16 @@ Additions: * Textblock now supports self-closing tags, i.e
. Those should be used instead of the old
way. * Shm engine for drawing in Wayland. * evas_object_smart_callback_del_full API. + * Add double buffer support to the buffer engine. Improvements: * Use Eina_File mmap infrastructure for bmp, ico, pmaps, psd, wbmp and xpm file access. +Removal: + + * Software_SDL engine is gone, use buffer engine directly. + Evas 1.1.0 Changes since Evas 1.0.0: @@ -65,6 +70,9 @@ Additions: * underline dashing suport to textblock * API to get largest image size * GL Cocoa engine + * Evas GL support in software backend through OSMesa + * API to new/free Evas_GL_Config rather than user declaring it + * Evas GL Direct rendering option hint to allow rendering to evas' window when possible Fixes: diff --git a/libraries/evas/README b/libraries/evas/README index dd87eef..e8da700 100644 --- a/libraries/evas/README +++ b/libraries/evas/README @@ -1,4 +1,4 @@ -Evas 1.1.0 +Evas 1.2.0 ****************************************************************************** @@ -12,7 +12,6 @@ Requirements: Must: libc - libm eina (1.1.0 or better) freetype (2.1.9 or better) @@ -23,7 +22,7 @@ Recommended: libpng libjpeg (6.0 or better) eet (1.5.0 or better) - firbidi + fribidi harfbuzz liblinebreak diff --git a/libraries/evas/aclocal.m4 b/libraries/evas/aclocal.m4 index a816a9b..f74cf11 100644 --- a/libraries/evas/aclocal.m4 +++ b/libraries/evas/aclocal.m4 @@ -13,13 +13,14 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, +[m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # @@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi @@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then AC_MSG_RESULT([no]) PKG_CONFIG="" fi - fi[]dnl ])# PKG_PROG_PKG_CONFIG @@ -69,34 +72,31 @@ fi[]dnl # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) + m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried fi[]dnl ])# _PKG_CONFIG @@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - ifelse([$4], , [AC_MSG_ERROR(dnl + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -155,25 +156,24 @@ $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) +_PKG_TEXT])[]dnl + ]) elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT -To get pkg-config, see .])], - [$4]) +To get pkg-config, see .])[]dnl + ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) + $3 fi[]dnl ])# PKG_CHECK_MODULES diff --git a/libraries/evas/config.guess b/libraries/evas/config.guess index e3a2116..c2246a4 100755 --- a/libraries/evas/config.guess +++ b/libraries/evas/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-10' +timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,16 +27,16 @@ timestamp='2009-06-10' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -854,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -876,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -901,39 +930,18 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -942,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -966,58 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1247,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/libraries/evas/config.h.in b/libraries/evas/config.h.in index 84f6c88..adb24b6 100644 --- a/libraries/evas/config.h.in +++ b/libraries/evas/config.h.in @@ -170,9 +170,6 @@ /* Software GDI rendering backend */ #undef BUILD_ENGINE_SOFTWARE_GDI -/* Software SDL rendering backend */ -#undef BUILD_ENGINE_SOFTWARE_SDL - /* Build software X11 engine */ #undef BUILD_ENGINE_SOFTWARE_X11 @@ -395,9 +392,6 @@ /* Build software generic engine as part of libevas */ #undef EVAS_STATIC_BUILD_SOFTWARE_GENERIC -/* Build software-sdl engine inside libevas */ -#undef EVAS_STATIC_BUILD_SOFTWARE_SDL - /* Build software X11 engine as part of libevas */ #undef EVAS_STATIC_BUILD_SOFTWARE_X11 @@ -459,6 +453,9 @@ /* Set to 1 if evil package is installed */ #undef HAVE_EVIL +/* Define to 1 if you have Exotic. */ +#undef HAVE_EXOTIC + /* have fontconfig searching capabilities */ #undef HAVE_FONTCONFIG diff --git a/libraries/evas/config.sub b/libraries/evas/config.sub index eb0389a..c2d1257 100755 --- a/libraries/evas/config.sub +++ b/libraries/evas/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-06-11' +timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-06-11' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -149,7 +153,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; @@ -284,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -291,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -340,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -368,15 +374,17 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -726,6 +734,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1076,6 +1087,11 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; tile*) basic_machine=tile-unknown os=-linux-gnu @@ -1247,6 +1263,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1268,8 +1287,8 @@ case $os in # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1290,7 +1309,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1423,6 +1442,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) diff --git a/libraries/evas/configure b/libraries/evas/configure index 8ab6964..f2e24f4 100755 --- a/libraries/evas/configure +++ b/libraries/evas/configure @@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for evas 1.1.99.67344. +# Generated by GNU Autoconf 2.67 for evas 1.2.0-alpha. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -319,7 +319,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -359,19 +359,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -701,8 +701,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='evas' PACKAGE_TARNAME='evas' -PACKAGE_VERSION='1.1.99.67344' -PACKAGE_STRING='evas 1.1.99.67344' +PACKAGE_VERSION='1.2.0-alpha' +PACKAGE_STRING='evas 1.2.0-alpha' PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' PACKAGE_URL='' @@ -1016,20 +1016,14 @@ BUILD_ENGINE_GL_SDL_FALSE BUILD_ENGINE_GL_SDL_TRUE evas_engine_gl_sdl_libs evas_engine_gl_sdl_cflags +SDL_LIBS +SDL_CFLAGS EVAS_STATIC_BUILD_PSL1GHT_FALSE EVAS_STATIC_BUILD_PSL1GHT_TRUE BUILD_ENGINE_PSL1GHT_FALSE BUILD_ENGINE_PSL1GHT_TRUE evas_engine_psl1ght_libs evas_engine_psl1ght_cflags -EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE -EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE -BUILD_ENGINE_SOFTWARE_SDL_FALSE -BUILD_ENGINE_SOFTWARE_SDL_TRUE -evas_engine_software_sdl_libs -evas_engine_software_sdl_cflags -SDL_LIBS -SDL_CFLAGS EVAS_STATIC_BUILD_DIRECT3D_FALSE EVAS_STATIC_BUILD_DIRECT3D_TRUE BUILD_ENGINE_DIRECT3D_FALSE @@ -1061,8 +1055,6 @@ dlopen_libs EFL_FNMATCH_LIBS ALLOCA lt_enable_auto_import -WIN32_CFLAGS -WIN32_CPPFLAGS PIXMAN_LIBS PIXMAN_CFLAGS HARFBUZZ_LIBS @@ -1079,6 +1071,10 @@ FREETYPE_LIBS FREETYPE_CFLAGS EINA_LIBS EINA_CFLAGS +EVAS_HAVE_EXOTIC_FALSE +EVAS_HAVE_EXOTIC_TRUE +EXOTIC_LIBS +EXOTIC_CFLAGS EVIL_LIBS EVIL_CFLAGS EFL_BUILD_DOC_FALSE @@ -1086,6 +1082,8 @@ EFL_BUILD_DOC_TRUE efl_doxygen efl_have_doxygen pkgconfig_requires_private +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH PKG_CONFIG CXXCPP am__fastdepCXX_FALSE @@ -1248,7 +1246,6 @@ enable_buffer enable_software_gdi enable_software_ddraw enable_direct3d -enable_software_sdl enable_psl1ght enable_gl_sdl enable_gl_cocoa @@ -1359,8 +1356,12 @@ CXXFLAGS CCC CXXCPP PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR EVIL_CFLAGS EVIL_LIBS +EXOTIC_CFLAGS +EXOTIC_LIBS EINA_CFLAGS EINA_LIBS FREETYPE_CFLAGS @@ -1466,8 +1467,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1512,7 +1514,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1538,7 +1540,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1742,7 +1744,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1758,7 +1760,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1788,8 +1790,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1797,7 +1799,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1815,13 +1817,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1844,7 +1846,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1858,8 +1860,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1874,9 +1876,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1915,11 +1917,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1945,7 +1947,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures evas 1.1.99.67344 to adapt to many kinds of systems. +\`configure' configures evas 1.2.0-alpha to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1959,7 +1961,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -2019,7 +2021,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of evas 1.1.99.67344:";; + short | recursive ) echo "Configuration of evas 1.2.0-alpha:";; esac cat <<\_ACEOF @@ -2059,7 +2061,7 @@ Optional Features: --enable-tile-rotate Enable tiled rotate algorithm --disable-evas-cserve disable shared cache server support. [default=enabled] - --enable-gl-flavor-gles enable gles falvor of gl instead of standard + --enable-gl-flavor-gles enable gles flavor of gl instead of standard --enable-gles-variety-sgx GLES variety SGX 3D unit --enable-gles-variety-s3c6410 @@ -2068,7 +2070,6 @@ Optional Features: --enable-software-gdi enable Software GDI rendering backend --enable-software-ddraw enable Software DirectDraw rendering backend --enable-direct3d enable Direct3D rendering backend - --enable-software-sdl enable Software SDL rendering backend --enable-psl1ght enable PSL1GHT rendering backend --enable-gl-sdl enable OpenGL SDL rendering backend --enable-gl-cocoa enable OpenGL Cocoa rendering backend @@ -2259,8 +2260,15 @@ Some influential environment variables: CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config EVIL_LIBS linker flags for EVIL, overriding pkg-config + EXOTIC_CFLAGS + C compiler flags for EXOTIC, overriding pkg-config + EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config EINA_CFLAGS C compiler flags for EINA, overriding pkg-config EINA_LIBS linker flags for EINA, overriding pkg-config FREETYPE_CFLAGS @@ -2391,10 +2399,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -evas configure 1.1.99.67344 -generated by GNU Autoconf 2.65 +evas configure 1.2.0-alpha +generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -2464,7 +2472,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -2488,10 +2496,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2527,7 +2535,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2550,17 +2558,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## -------------------------------------------------------- ## +( $as_echo "## -------------------------------------------------------- ## ## Report this to enlightenment-devel@lists.sourceforge.net ## -## -------------------------------------------------------- ## -_ASBOX +## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2624,7 +2630,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2700,7 +2706,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2902,7 +2908,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : @@ -3151,7 +3157,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -3196,15 +3202,18 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_type -# ac_fn_c_check_decl LINENO SYMBOL VAR -# ------------------------------------ -# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 -$as_echo_n "checking whether $2 is declared... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3213,8 +3222,12 @@ $4 int main () { -#ifndef $2 - (void) $2; +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif #endif ; @@ -3238,8 +3251,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by evas $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by evas $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -3349,11 +3362,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -3387,11 +3398,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -3404,11 +3413,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -3422,11 +3429,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -3481,7 +3486,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -3496,7 +3506,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -3572,7 +3586,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -3598,16 +3612,22 @@ am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -3723,11 +3743,11 @@ am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # Do `set' in a subshell so we don't clobber the current shell's @@ -3749,7 +3769,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi @@ -3759,7 +3779,7 @@ then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -3997,7 +4017,7 @@ done $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -4005,7 +4025,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -4039,7 +4059,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -4055,7 +4075,7 @@ fi # Define the identity of the package. PACKAGE='evas' - VERSION='1.1.99.67344' + VERSION='1.2.0-alpha' cat >>confdefs.h <<_ACEOF @@ -4470,8 +4490,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -4585,9 +4605,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -4629,8 +4648,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4687,9 +4706,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -4740,8 +4759,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -5131,7 +5150,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5147,11 +5166,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -5190,7 +5209,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5206,18 +5225,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@ -5278,7 +5297,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -5344,7 +5363,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -5476,8 +5495,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -5552,7 +5570,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } @@ -5563,16 +5581,16 @@ else test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -5597,7 +5615,7 @@ else ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -5605,7 +5623,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -6006,7 +6024,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -6085,7 +6103,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -6201,7 +6219,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -6403,13 +6421,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6406: $ac_compile\"" >&5) + (eval echo "\"\$as_me:6424: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:6409: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:6427: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:6412: output\"" >&5) + (eval echo "\"\$as_me:6430: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -7611,7 +7629,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7614 "configure"' > conftest.$ac_ext + echo '#line 7632 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -8871,11 +8889,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8874: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8892: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8878: \$? = $ac_status" >&5 + echo "$as_me:8896: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9210,11 +9228,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9213: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9231: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9217: \$? = $ac_status" >&5 + echo "$as_me:9235: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9315,11 +9333,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9318: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9336: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9322: \$? = $ac_status" >&5 + echo "$as_me:9340: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9370,11 +9388,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9373: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9391: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9377: \$? = $ac_status" >&5 + echo "$as_me:9395: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11754,7 +11772,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11757 "configure" +#line 11775 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11850,7 +11868,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11853 "configure" +#line 11871 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12089,20 +12107,20 @@ _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIN 1 +#define VMIN 2 _ACEOF cat >>confdefs.h <<_ACEOF -#define VMIC 99 +#define VMIC 0 _ACEOF cat >>confdefs.h <<_ACEOF -#define VREV 67344 +#define VREV 0 _ACEOF -version_info="2:99:1" +version_info="3:0:2" release_info="" @@ -12121,7 +12139,7 @@ case "$host_os" in MODULE_ARCH="$host_os-$host_cpu" ;; *) - MODULE_ARCH="$host_os-$host_cpu-1.1.99" + MODULE_ARCH="$host_os-$host_cpu-1.2.0" ;; esac @@ -12142,7 +12160,6 @@ want_evas_engine_software_xlib="no" want_evas_engine_software_xcb="no" want_evas_engine_software_gdi="no" want_evas_engine_software_ddraw="no" -want_evas_engine_software_sdl="no" want_evas_engine_software_8_x11="no" want_evas_engine_software_16_x11="no" want_evas_engine_software_16_ddraw="no" @@ -13606,7 +13623,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -13622,11 +13639,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -13665,7 +13682,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -13681,11 +13698,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else @@ -13914,7 +13931,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : @@ -15455,11 +15472,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15458: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15475: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15462: \$? = $ac_status" >&5 + echo "$as_me:15479: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -15554,11 +15571,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15557: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15574: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15561: \$? = $ac_status" >&5 + echo "$as_me:15578: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15606,11 +15623,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15609: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15626: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15613: \$? = $ac_status" >&5 + echo "$as_me:15630: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16854,8 +16871,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -17225,6 +17242,10 @@ fi # pkg-config + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -17337,7 +17358,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi # Check whether pkg-config supports Requires.private @@ -17519,11 +17539,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 $as_echo_n "checking for EVIL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_CFLAGS"; then - pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_CFLAGS"; then + pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -17533,15 +17552,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EVIL_LIBS"; then - pkg_cv_EVIL_LIBS="$EVIL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EVIL_LIBS"; then + pkg_cv_EVIL_LIBS="$EVIL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 ac_status=$? @@ -17551,14 +17568,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17566,14 +17584,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` else - EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` + EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EVIL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (evil >= 1.0.0) were not met: + as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: $EVIL_PKG_ERRORS @@ -17582,12 +17600,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EVIL_CFLAGS and EVIL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -17596,13 +17615,13 @@ and EVIL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS EVIL_LIBS=$pkg_cv_EVIL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi $as_echo "#define HAVE_EVIL 1" >>confdefs.h @@ -17611,6 +17630,94 @@ $as_echo "#define HAVE_EVIL 1" >>confdefs.h ;; esac +### Checks for portability layer + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 +$as_echo_n "checking for EXOTIC... " >&6; } + +if test -n "$EXOTIC_CFLAGS"; then + pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXOTIC_LIBS"; then + pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 + ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` + else + EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$EXOTIC_PKG_ERRORS" >&5 + + enable_exotic="no" +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + enable_exotic="no" +else + EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS + EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + enable_exotic="yes" +fi + +if test "x${enable_exotic}" = "xyes"; then + requirement_evas="exotic ${requirement_evas}" + + +$as_echo "#define HAVE_EXOTIC 1" >>confdefs.h + +fi + if test "x${enable_exotic}" = "xyes"; then + EVAS_HAVE_EXOTIC_TRUE= + EVAS_HAVE_EXOTIC_FALSE='#' +else + EVAS_HAVE_EXOTIC_TRUE='#' + EVAS_HAVE_EXOTIC_FALSE= +fi + + ## strong dependencies # Eina @@ -17619,46 +17726,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5 $as_echo_n "checking for EINA... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_CFLAGS"; then - pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_CFLAGS"; then + pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EINA_LIBS"; then - pkg_cv_EINA_LIBS="$EINA_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 +if test -n "$EINA_LIBS"; then + pkg_cv_EINA_LIBS="$EINA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.1.0" 2>/dev/null` + pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.2.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17666,14 +17771,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.2.0" 2>&1` else - EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina >= 1.1.0"` + EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EINA_PKG_ERRORS" >&5 - as_fn_error "Package requirements (eina >= 1.1.0) were not met: + as_fn_error $? "Package requirements (eina >= 1.2.0) were not met: $EINA_PKG_ERRORS @@ -17682,12 +17787,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables EINA_CFLAGS and EINA_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -17696,13 +17802,13 @@ and EINA_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else EINA_CFLAGS=$pkg_cv_EINA_CFLAGS EINA_LIBS=$pkg_cv_EINA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi CPPFLAGS_SAVE="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $EINA_CFLAGS" @@ -17722,9 +17828,8 @@ else if test "$ac_cv_type_Eina_Unicode" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (Eina_Unicode) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (Eina_Unicode) +See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_Eina_Unicode=0 fi @@ -17749,11 +17854,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5 $as_echo_n "checking for FREETYPE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$FREETYPE_CFLAGS"; then - pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FREETYPE_CFLAGS"; then + pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 9.3.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2 >= 9.3.0") 2>&5 ac_status=$? @@ -17763,15 +17867,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$FREETYPE_LIBS"; then - pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FREETYPE_LIBS"; then + pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 9.3.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2 >= 9.3.0") 2>&5 ac_status=$? @@ -17781,14 +17883,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17796,14 +17899,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "freetype2 >= 9.3.0"` + FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "freetype2 >= 9.3.0" 2>&1` else - FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2 >= 9.3.0"` + FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "freetype2 >= 9.3.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FREETYPE_PKG_ERRORS" >&5 - as_fn_error "Package requirements (freetype2 >= 9.3.0) were not met: + as_fn_error $? "Package requirements (freetype2 >= 9.3.0) were not met: $FREETYPE_PKG_ERRORS @@ -17812,12 +17915,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables FREETYPE_CFLAGS and FREETYPE_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -17826,16 +17930,16 @@ and FREETYPE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi -requirement_evas="freetype2 eina >= 1.1.0 ${requirement_evas}" +requirement_evas="freetype2 eina >= 1.2.0 ${requirement_evas}" ## optional dependencies @@ -17860,11 +17964,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FONTCONFIG" >&5 $as_echo_n "checking for FONTCONFIG... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$FONTCONFIG_CFLAGS"; then - pkg_cv_FONTCONFIG_CFLAGS="$FONTCONFIG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FONTCONFIG_CFLAGS"; then + pkg_cv_FONTCONFIG_CFLAGS="$FONTCONFIG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontconfig >= 2.5.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "fontconfig >= 2.5.0") 2>&5 ac_status=$? @@ -17874,15 +17977,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$FONTCONFIG_LIBS"; then - pkg_cv_FONTCONFIG_LIBS="$FONTCONFIG_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FONTCONFIG_LIBS"; then + pkg_cv_FONTCONFIG_LIBS="$FONTCONFIG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontconfig >= 2.5.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "fontconfig >= 2.5.0") 2>&5 ac_status=$? @@ -17892,14 +17993,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17907,24 +18009,24 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fontconfig >= 2.5.0"` + FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "fontconfig >= 2.5.0" 2>&1` else - FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontconfig >= 2.5.0"` + FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --print-errors "fontconfig >= 2.5.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FONTCONFIG_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Fontconfig not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Fontconfig not found (strict dependencies checking)" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Fontconfig not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Fontconfig not found (strict dependencies checking)" "$LINENO" 5 fi else @@ -17999,11 +18101,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FRIBIDI" >&5 $as_echo_n "checking for FRIBIDI... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$FRIBIDI_CFLAGS"; then - pkg_cv_FRIBIDI_CFLAGS="$FRIBIDI_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FRIBIDI_CFLAGS"; then + pkg_cv_FRIBIDI_CFLAGS="$FRIBIDI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fribidi >= 0.19.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "fribidi >= 0.19.2") 2>&5 ac_status=$? @@ -18013,15 +18114,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$FRIBIDI_LIBS"; then - pkg_cv_FRIBIDI_LIBS="$FRIBIDI_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$FRIBIDI_LIBS"; then + pkg_cv_FRIBIDI_LIBS="$FRIBIDI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fribidi >= 0.19.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "fribidi >= 0.19.2") 2>&5 ac_status=$? @@ -18031,14 +18130,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -18046,24 +18146,24 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fribidi >= 0.19.2"` + FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "fribidi >= 0.19.2" 2>&1` else - FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fribidi >= 0.19.2"` + FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --print-errors "fribidi >= 0.19.2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$FRIBIDI_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Fribidi not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Fribidi not found (strict dependencies checking)" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Fribidi not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Fribidi not found (strict dependencies checking)" "$LINENO" 5 fi else @@ -18095,9 +18195,8 @@ else if test "$ac_cv_type_FriBidiChar" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (FriBidiChar) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (FriBidiChar) +See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_FriBidiChar=0 fi @@ -18144,11 +18243,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HARFBUZZ" >&5 $as_echo_n "checking for HARFBUZZ... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$HARFBUZZ_CFLAGS"; then - pkg_cv_HARFBUZZ_CFLAGS="$HARFBUZZ_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$HARFBUZZ_CFLAGS"; then + pkg_cv_HARFBUZZ_CFLAGS="$HARFBUZZ_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"harfbuzz >= 0.6.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "harfbuzz >= 0.6.0") 2>&5 ac_status=$? @@ -18158,15 +18256,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$HARFBUZZ_LIBS"; then - pkg_cv_HARFBUZZ_LIBS="$HARFBUZZ_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$HARFBUZZ_LIBS"; then + pkg_cv_HARFBUZZ_LIBS="$HARFBUZZ_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"harfbuzz >= 0.6.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "harfbuzz >= 0.6.0") 2>&5 ac_status=$? @@ -18176,14 +18272,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -18191,24 +18288,24 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - HARFBUZZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "harfbuzz >= 0.6.0"` + HARFBUZZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "harfbuzz >= 0.6.0" 2>&1` else - HARFBUZZ_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "harfbuzz >= 0.6.0"` + HARFBUZZ_PKG_ERRORS=`$PKG_CONFIG --print-errors "harfbuzz >= 0.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$HARFBUZZ_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Harfbuzz not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Harfbuzz not found (strict dependencies checking)" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Harfbuzz not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Harfbuzz not found (strict dependencies checking)" "$LINENO" 5 fi else @@ -18239,7 +18336,7 @@ $as_echo "#define HAVE_HARFBUZZ 1" >>confdefs.h else if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Harfbuzz-ft not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Harfbuzz-ft not found (strict dependencies checking)" "$LINENO" 5 fi have_harfbuzz="no" @@ -18275,11 +18372,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PIXMAN" >&5 $as_echo_n "checking for PIXMAN... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$PIXMAN_CFLAGS"; then - pkg_cv_PIXMAN_CFLAGS="$PIXMAN_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PIXMAN_CFLAGS"; then + pkg_cv_PIXMAN_CFLAGS="$PIXMAN_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 ac_status=$? @@ -18289,15 +18385,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$PIXMAN_LIBS"; then - pkg_cv_PIXMAN_LIBS="$PIXMAN_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PIXMAN_LIBS"; then + pkg_cv_PIXMAN_LIBS="$PIXMAN_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 ac_status=$? @@ -18307,14 +18401,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -18322,24 +18417,24 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "pixman-1"` + PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "pixman-1" 2>&1` else - PIXMAN_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pixman-1"` + PIXMAN_PKG_ERRORS=`$PKG_CONFIG --print-errors "pixman-1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PIXMAN_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Pixman not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Pixman not found (strict dependencies checking)" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Pixman not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Pixman not found (strict dependencies checking)" "$LINENO" 5 fi else @@ -18565,8 +18660,7 @@ for ac_header in unistd.h stdint.h sys/param.h netinet/in.h sys/mman.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -18945,8 +19039,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac case $ac_cv_prog_cc_stdc in #( @@ -19325,7 +19419,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include -__forceinline void foo(void) {} +static __forceinline void foo(void) {} int main () @@ -19355,7 +19449,7 @@ $as_echo_n "checking for __attribute__ ((__always_inline__))... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -__attribute__((__always_inline__)) inline void foo(void) {} +static __attribute__((__always_inline__)) inline void foo(void) {} int main () @@ -19393,20 +19487,6 @@ $as_echo "#define EFL_ALWAYS_INLINE static inline" >>confdefs.h fi -WIN32_CPPFLAGS="" -case "$host_os" in - mingw32ce*) - WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420" - ;; - mingw*) - WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500" - ;; -esac - - -WIN32_CFLAGS="" - - ### Checks for linker characteristics lt_enable_auto_import="" @@ -19619,8 +19699,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -19720,7 +19799,7 @@ return fnmatch (); return 0; } _ACEOF -for ac_lib in '' fnmatch evil iberty; do +for ac_lib in '' fnmatch evil exotic iberty; do if test -z "$ac_lib"; then ac_res="none required" else @@ -19767,7 +19846,7 @@ fi if test "x$_efl_have_fnmatch" = "xyes"; then : else - as_fn_error "Cannot find fnmatch()" "$LINENO" 5 + as_fn_error $? "Cannot find fnmatch()" "$LINENO" 5 fi @@ -20114,7 +20193,7 @@ if test "x$gl_flavor_gles" = "xyes"; then if test "x$eng" = "xx"; then eng="" else - as_fn_error "Please enable just 1 OpenGL-ES flavor. Choices are: + as_fn_error $? "Please enable just 1 OpenGL-ES flavor. Choices are: --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler) --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler) You will also need to enable the OpenGL engine for X11 with: @@ -20175,7 +20254,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Buffer dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Buffer dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Buffer rendering backend will be built" >&5 @@ -20288,7 +20367,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software GDI dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software GDI dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software GDI rendering backend will be built" >&5 @@ -20401,7 +20480,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software DirectDraw dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software DirectDraw dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software DirectDraw rendering backend will be built" >&5 @@ -20493,8 +20572,7 @@ for ac_header in d3d9.h d3dx9.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -20523,7 +20601,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Direct3D dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Direct3D dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Direct3D rendering backend will be built" >&5 @@ -20579,210 +20657,6 @@ fi -want_engine="${want_evas_engine_software_sdl}" -want_static_engine="no" -have_engine="no" -have_evas_engine_software_sdl="no" - -# Check whether --enable-software-sdl was given. -if test "${enable_software_sdl+set}" = set; then : - enableval=$enable_software_sdl; - if test "x${enableval}" = "xyes" ; then - want_engine="yes" - else - if test "x${enableval}" = "xstatic" ; then - want_engine="static" - else - want_engine="no" - fi - fi - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software SDL rendering backend" >&5 -$as_echo_n "checking whether to enable Software SDL rendering backend... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5 -$as_echo "${want_engine}" >&6; } - -if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then - - -requirement="" -have_dep="no" -evas_engine_software_sdl_cflags="" -evas_engine_software_sdl_libs="" - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 -$as_echo_n "checking for SDL... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_CFLAGS"; then - pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_LIBS"; then - pkg_cv_SDL_LIBS="$SDL_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"` - else - SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$SDL_PKG_ERRORS" >&5 - - as_fn_error "Package requirements (sdl >= 1.2.0) were not met: - -$SDL_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -Alternatively, you may set the environment variables SDL_CFLAGS -and SDL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 -elif test $pkg_failed = untried; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -Alternatively, you may set the environment variables SDL_CFLAGS -and SDL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } -else - SDL_CFLAGS=$pkg_cv_SDL_CFLAGS - SDL_LIBS=$pkg_cv_SDL_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - have_dep="yes" - requirement="sdl" - evas_engine_software_sdl_cflags="${SDL_CFLAGS}" - evas_engine_software_sdl_libs="${SDL_LIBS}" - - -fi - - - - -if test "x${want_engine}" = "xstatic" ; then - requirement_evas="${requirement} ${requirement_evas}" -fi - -if test "x${have_dep}" = "xyes" ; then - have_engine="yes" -else - have_engine="no" -fi - - -fi - -if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software SDL dependencies not found (strict dependencies checking)" "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software SDL rendering backend will be built" >&5 -$as_echo_n "checking whether Software SDL rendering backend will be built... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5 -$as_echo "${have_engine}" >&6; } - -if test "x${have_engine}" = "xyes" ; then - if test "x${want_engine}" = "xstatic" ; then - have_evas_engine_software_sdl="static" - want_static_engine="yes" - else - have_evas_engine_software_sdl="yes" - fi -fi - -if test "x${have_engine}" = "xyes" ; then - -$as_echo "#define BUILD_ENGINE_SOFTWARE_SDL 1" >>confdefs.h - -fi - - if test "x${have_engine}" = "xyes"; then - BUILD_ENGINE_SOFTWARE_SDL_TRUE= - BUILD_ENGINE_SOFTWARE_SDL_FALSE='#' -else - BUILD_ENGINE_SOFTWARE_SDL_TRUE='#' - BUILD_ENGINE_SOFTWARE_SDL_FALSE= -fi - - -if test "x${want_static_engine}" = "xyes" ; then - -$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_SDL 1" >>confdefs.h - - have_static_module="yes" -fi - - if test "x${want_static_engine}" = "xyes"; then - EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE= - EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE='#' -else - EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE='#' - EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE= -fi - - - - - - - - - - want_engine="${want_evas_engine_psl1ght}" want_static_engine="no" have_engine="no" @@ -20836,7 +20710,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "PSL1GHT dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "PSL1GHT dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PSL1GHT rendering backend will be built" >&5 @@ -20931,11 +20805,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 $as_echo_n "checking for SDL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_CFLAGS"; then - pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SDL_CFLAGS"; then + pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 ac_status=$? @@ -20945,15 +20818,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_LIBS"; then - pkg_cv_SDL_LIBS="$SDL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SDL_LIBS"; then + pkg_cv_SDL_LIBS="$SDL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 ac_status=$? @@ -20963,14 +20834,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20978,14 +20850,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"` + SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1` else - SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"` + SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SDL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (sdl >= 1.2.0) were not met: + as_fn_error $? "Package requirements (sdl >= 1.2.0) were not met: $SDL_PKG_ERRORS @@ -20994,12 +20866,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables SDL_CFLAGS and SDL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -21008,7 +20881,7 @@ and SDL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else SDL_CFLAGS=$pkg_cv_SDL_CFLAGS SDL_LIBS=$pkg_cv_SDL_LIBS @@ -21143,7 +21016,6 @@ fi evas_engine_gl_sdl_libs="${SDL_LIBS} -lGLESv2 -lEGL -lm $gl_pt_lib" evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib" have_dep="yes" - gl_flavor_gles="no" $as_echo "#define GLES_VARIETY_SGX 1" >>confdefs.h @@ -21169,7 +21041,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "OpenGL SDL dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "OpenGL SDL dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL SDL rendering backend will be built" >&5 @@ -21313,46 +21185,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL_EET" >&5 $as_echo_n "checking for GL_EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_CFLAGS"; then - pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_CFLAGS"; then + pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_LIBS"; then - pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_LIBS"; then + pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21360,17 +21230,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - GL_EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else GL_EET_CFLAGS=$pkg_cv_GL_EET_CFLAGS @@ -21394,7 +21264,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "OpenGL Cocoa dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "OpenGL Cocoa dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL Cocoa rendering backend will be built" >&5 @@ -21503,7 +21373,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Framebuffer dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Framebuffer dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Framebuffer rendering backend will be built" >&5 @@ -21598,11 +21468,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DIRECTFB" >&5 $as_echo_n "checking for DIRECTFB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$DIRECTFB_CFLAGS"; then - pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$DIRECTFB_CFLAGS"; then + pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 ac_status=$? @@ -21612,15 +21481,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$DIRECTFB_LIBS"; then - pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$DIRECTFB_LIBS"; then + pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 ac_status=$? @@ -21630,14 +21497,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21645,14 +21513,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "directfb >= 0.9.16"` + DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "directfb >= 0.9.16" 2>&1` else - DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "directfb >= 0.9.16"` + DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --print-errors "directfb >= 0.9.16" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DIRECTFB_PKG_ERRORS" >&5 - as_fn_error "Package requirements (directfb >= 0.9.16) were not met: + as_fn_error $? "Package requirements (directfb >= 0.9.16) were not met: $DIRECTFB_PKG_ERRORS @@ -21661,12 +21529,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables DIRECTFB_CFLAGS and DIRECTFB_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -21675,7 +21544,7 @@ and DIRECTFB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS DIRECTFB_LIBS=$pkg_cv_DIRECTFB_LIBS @@ -21707,7 +21576,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "DirectFB dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "DirectFB dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether DirectFB rendering backend will be built" >&5 @@ -21801,11 +21670,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB" >&5 $as_echo_n "checking for XCB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_CFLAGS"; then - pkg_cv_XCB_CFLAGS="$XCB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_CFLAGS"; then + pkg_cv_XCB_CFLAGS="$XCB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5 ac_status=$? @@ -21815,15 +21683,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_LIBS"; then - pkg_cv_XCB_LIBS="$XCB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_LIBS"; then + pkg_cv_XCB_LIBS="$XCB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5 ac_status=$? @@ -21833,14 +21699,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21848,20 +21715,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1"` + XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1` else - XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1"` + XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" @@ -21896,7 +21763,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software X11 8 bits grayscale dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software X11 8 bits grayscale dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software X11 8 bits grayscale rendering backend will be built" >&5 @@ -22000,7 +21867,7 @@ if test "x$with_x" = xno; then have_x=disabled else case $x_includes,$x_libraries in #( - *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -22018,7 +21885,7 @@ libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done @@ -22104,7 +21971,7 @@ else fi done fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then @@ -22791,7 +22658,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software X11 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software X11 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software X11 16 bits rendering backend will be built" >&5 @@ -22904,7 +22771,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software DirectDraw 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software DirectDraw 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software DirectDraw 16 bits rendering backend will be built" >&5 @@ -23006,7 +22873,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software Windows CE 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software Windows CE 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software Windows CE 16 bits rendering backend will be built" >&5 @@ -23101,11 +22968,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 $as_echo_n "checking for SDL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_CFLAGS"; then - pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SDL_CFLAGS"; then + pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 ac_status=$? @@ -23115,15 +22981,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SDL_LIBS"; then - pkg_cv_SDL_LIBS="$SDL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SDL_LIBS"; then + pkg_cv_SDL_LIBS="$SDL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 ac_status=$? @@ -23133,14 +22997,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -23148,14 +23013,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"` + SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1` else - SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"` + SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SDL_PKG_ERRORS" >&5 - as_fn_error "Package requirements (sdl >= 1.2.0) were not met: + as_fn_error $? "Package requirements (sdl >= 1.2.0) were not met: $SDL_PKG_ERRORS @@ -23164,12 +23029,13 @@ installed software in a non-standard prefix. Alternatively, you may set the environment variables SDL_CFLAGS and SDL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" "$LINENO" 5 +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "The pkg-config script could not be found or is too old. Make sure it +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -23178,7 +23044,7 @@ and SDL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else SDL_CFLAGS=$pkg_cv_SDL_CFLAGS SDL_LIBS=$pkg_cv_SDL_LIBS @@ -23210,7 +23076,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software SDL 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software SDL 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software SDL 16 bits rendering backend will be built" >&5 @@ -23312,7 +23178,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Wayland Shm dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Wayland Shm dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Wayland Shm rendering backend will be built" >&5 @@ -23407,11 +23273,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_EGL" >&5 $as_echo_n "checking for WAYLAND_EGL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$WAYLAND_EGL_CFLAGS"; then - pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$WAYLAND_EGL_CFLAGS"; then + pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl >= 7.10 glesv2 gl wayland-client wayland-egl\""; } >&5 ($PKG_CONFIG --exists --print-errors "egl >= 7.10 glesv2 gl wayland-client wayland-egl") 2>&5 ac_status=$? @@ -23421,15 +23286,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$WAYLAND_EGL_LIBS"; then - pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$WAYLAND_EGL_LIBS"; then + pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl >= 7.10 glesv2 gl wayland-client wayland-egl\""; } >&5 ($PKG_CONFIG --exists --print-errors "egl >= 7.10 glesv2 gl wayland-client wayland-egl") 2>&5 ac_status=$? @@ -23439,14 +23302,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -23454,20 +23318,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "egl >= 7.10 glesv2 gl wayland-client wayland-egl"` + WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "egl >= 7.10 glesv2 gl wayland-client wayland-egl" 2>&1` else - WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "egl >= 7.10 glesv2 gl wayland-client wayland-egl"` + WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --print-errors "egl >= 7.10 glesv2 gl wayland-client wayland-egl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$WAYLAND_EGL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" @@ -23491,46 +23355,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL_EET" >&5 $as_echo_n "checking for GL_EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_CFLAGS"; then - pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_CFLAGS"; then + pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_LIBS"; then - pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_LIBS"; then + pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -23538,17 +23400,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - GL_EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else GL_EET_CFLAGS=$pkg_cv_GL_EET_CFLAGS @@ -23557,20 +23419,50 @@ else $as_echo "yes" >&6; } have_dep="yes" fi - ac_fn_c_check_header_compile "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" " + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glTexImage2D in -lGLESv2" >&5 +$as_echo_n "checking for glTexImage2D in -lGLESv2... " >&6; } +if test "${ac_cv_lib_GLESv2_glTexImage2D+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lGLESv2 -lEGL -lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -" -if test "x$ac_cv_header_GLES2_gl2_h" = x""yes; then : - have_egl="yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char glTexImage2D (); +int +main () +{ +return glTexImage2D (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_GLESv2_glTexImage2D=yes else - have_egl="no" + ac_cv_lib_GLESv2_glTexImage2D=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLESv2_glTexImage2D" >&5 +$as_echo "$ac_cv_lib_GLESv2_glTexImage2D" >&6; } +if test "x$ac_cv_lib_GLESv2_glTexImage2D" = x""yes; then : + have_glesv2="yes" fi - - if test "x${have_egl}" = "xyes" ; then - evas_engine_wayland_egl_cflags="${WAYLAND_EGL_CFLAGS}" - evas_engine_wayland_egl_libs="${WAYLAND_EGL_LIBS} -lGL -lGLESv2 -lEGL" - fi + if test "x${have_glesv2}" = "xyes" ; then + evas_engine_wayland_egl_cflags="${WAYLAND_EGL_CFLAGS}" + evas_engine_wayland_egl_libs="${WAYLAND_EGL_LIBS} -lGL -lGLESv2 -lEGL" + fi fi @@ -23590,7 +23482,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Wayland Egl dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Wayland Egl dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Wayland Egl rendering backend will be built" >&5 @@ -23756,11 +23648,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB" >&5 $as_echo_n "checking for XCB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_CFLAGS"; then - pkg_cv_XCB_CFLAGS="$XCB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_CFLAGS"; then + pkg_cv_XCB_CFLAGS="$XCB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5 ac_status=$? @@ -23770,15 +23661,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_LIBS"; then - pkg_cv_XCB_LIBS="$XCB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_LIBS"; then + pkg_cv_XCB_LIBS="$XCB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5 ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5 ac_status=$? @@ -23788,14 +23677,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -23803,20 +23693,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1"` + XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1` else - XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1"` + XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" @@ -23851,7 +23741,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software XCB dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software XCB dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software XCB rendering backend will be built" >&5 @@ -23977,7 +23867,7 @@ if test "x$with_x" = xno; then have_x=disabled else case $x_includes,$x_libraries in #( - *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -23995,7 +23885,7 @@ libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done @@ -24081,7 +23971,7 @@ else fi done fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then @@ -24768,7 +24658,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Software Xlib dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Software Xlib dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software Xlib rendering backend will be built" >&5 @@ -24968,7 +24858,7 @@ if test "x$with_x" = xno; then have_x=disabled else case $x_includes,$x_libraries in #( - *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -24986,7 +24876,7 @@ libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done @@ -25072,7 +24962,7 @@ else fi done fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then @@ -25831,11 +25721,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_GL" >&5 $as_echo_n "checking for XCB_GL... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_GL_CFLAGS"; then - pkg_cv_XCB_GL_CFLAGS="$XCB_GL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_GL_CFLAGS"; then + pkg_cv_XCB_GL_CFLAGS="$XCB_GL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-glx xcb-render xcb-renderutil\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-glx xcb-render xcb-renderutil") 2>&5 ac_status=$? @@ -25845,15 +25734,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XCB_GL_LIBS"; then - pkg_cv_XCB_GL_LIBS="$XCB_GL_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XCB_GL_LIBS"; then + pkg_cv_XCB_GL_LIBS="$XCB_GL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-glx xcb-render xcb-renderutil\""; } >&5 ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-glx xcb-render xcb-renderutil") 2>&5 ac_status=$? @@ -25863,14 +25750,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -25878,20 +25766,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XCB_GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-glx xcb-render xcb-renderutil"` + XCB_GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-glx xcb-render xcb-renderutil" 2>&1` else - XCB_GL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-glx xcb-render xcb-renderutil"` + XCB_GL_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-glx xcb-render xcb-renderutil" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XCB_GL_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" @@ -25919,46 +25807,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL_EET" >&5 $as_echo_n "checking for GL_EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_CFLAGS"; then - pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_CFLAGS"; then + pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_LIBS"; then - pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_LIBS"; then + pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -25966,17 +25852,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - GL_EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else GL_EET_CFLAGS=$pkg_cv_GL_EET_CFLAGS @@ -26065,46 +25951,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL_EET" >&5 $as_echo_n "checking for GL_EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_CFLAGS"; then - pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_CFLAGS"; then + pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_LIBS"; then - pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_LIBS"; then + pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -26112,17 +25996,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - GL_EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else GL_EET_CFLAGS=$pkg_cv_GL_EET_CFLAGS @@ -26136,7 +26020,6 @@ fi evas_engine_gl_xcb_libs="${XCB_GL_LIBS} ${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib" evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib" have_dep="yes" - gl_flavor_gles="no" $as_echo "#define GLES_VARIETY_SGX 1" >>confdefs.h @@ -26159,7 +26042,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "OpenGL XCB dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "OpenGL XCB dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL XCB rendering backend will be built" >&5 @@ -26286,7 +26169,7 @@ if test "x$with_x" = xno; then have_x=disabled else case $x_includes,$x_libraries in #( - *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -26304,7 +26187,7 @@ libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done @@ -26390,7 +26273,7 @@ else fi done fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then @@ -27159,46 +27042,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL_EET" >&5 $as_echo_n "checking for GL_EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_CFLAGS"; then - pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_CFLAGS"; then + pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_LIBS"; then - pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_LIBS"; then + pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27206,17 +27087,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - GL_EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else GL_EET_CFLAGS=$pkg_cv_GL_EET_CFLAGS @@ -27310,46 +27191,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL_EET" >&5 $as_echo_n "checking for GL_EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_CFLAGS"; then - pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_CFLAGS"; then + pkg_cv_GL_EET_CFLAGS="$GL_EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GL_EET_LIBS"; then - pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$GL_EET_LIBS"; then + pkg_cv_GL_EET_LIBS="$GL_EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_GL_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27357,17 +27236,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - GL_EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + GL_EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else GL_EET_CFLAGS=$pkg_cv_GL_EET_CFLAGS @@ -27381,7 +27260,6 @@ fi evas_engine_gl_xlib_libs="${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib" evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib" have_dep="yes" - gl_flavor_gles="no" $as_echo "#define GLES_VARIETY_SGX 1" >>confdefs.h @@ -27405,7 +27283,7 @@ fi fi if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "OpenGL XLib dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "OpenGL XLib dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL XLib rendering backend will be built" >&5 @@ -27749,11 +27627,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDB" >&5 $as_echo_n "checking for EDB... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDB_CFLAGS"; then - pkg_cv_EDB_CFLAGS="$EDB_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EDB_CFLAGS"; then + pkg_cv_EDB_CFLAGS="$EDB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"edb\""; } >&5 ($PKG_CONFIG --exists --print-errors "edb") 2>&5 ac_status=$? @@ -27763,15 +27640,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDB_LIBS"; then - pkg_cv_EDB_LIBS="$EDB_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EDB_LIBS"; then + pkg_cv_EDB_LIBS="$EDB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"edb\""; } >&5 ($PKG_CONFIG --exists --print-errors "edb") 2>&5 ac_status=$? @@ -27781,14 +27656,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27796,17 +27672,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "edb"` + EDB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "edb" 2>&1` else - EDB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "edb"` + EDB_PKG_ERRORS=`$PKG_CONFIG --print-errors "edb" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else EDB_CFLAGS=$pkg_cv_EDB_CFLAGS @@ -27835,7 +27711,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Edb dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Edb dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Edb image loader will be built" >&5 @@ -27933,46 +27809,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EET" >&5 $as_echo_n "checking for EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EET_CFLAGS"; then - pkg_cv_EET_CFLAGS="$EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$EET_CFLAGS"; then + pkg_cv_EET_CFLAGS="$EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EET_LIBS"; then - pkg_cv_EET_LIBS="$EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$EET_LIBS"; then + pkg_cv_EET_LIBS="$EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -27980,17 +27854,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else EET_CFLAGS=$pkg_cv_EET_CFLAGS @@ -28019,7 +27893,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Eet dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Eet dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Eet image loader will be built" >&5 @@ -28095,46 +27969,44 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EET" >&5 $as_echo_n "checking for EET... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EET_CFLAGS"; then - pkg_cv_EET_CFLAGS="$EET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$EET_CFLAGS"; then + pkg_cv_EET_CFLAGS="$EET_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.5.0" 2>/dev/null` + pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EET_LIBS"; then - pkg_cv_EET_LIBS="$EET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.5.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "eet >= 1.5.0") 2>&5 +if test -n "$EET_LIBS"; then + pkg_cv_EET_LIBS="$EET_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "eet >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.5.0" 2>/dev/null` + pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.6.0" 2>/dev/null` else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28142,17 +28014,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.5.0"` + EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.6.0" 2>&1` else - EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.5.0"` + EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EET_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_evas_font_loader_eet="no" + have_evas_font_loader_eet="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_evas_font_loader_eet="no" else EET_CFLAGS=$pkg_cv_EET_CFLAGS @@ -28164,14 +28036,14 @@ fi fi if test "x${have_evas_font_loader_eet}" = "xno" -a "x$want_loader" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Eet dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Eet dependencies not found (strict dependencies checking)" "$LINENO" 5 fi if test "x$have_evas_font_loader_eet" = "xyes" ; then $as_echo "#define BUILD_FONT_LOADER_EET 1" >>confdefs.h - requirement_evas="eet >= 1.5.0 ${requirement_evas}" + requirement_evas="eet >= 1.6.0 ${requirement_evas}" fi @@ -28333,7 +28205,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Gif dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Gif dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Gif image loader will be built" >&5 @@ -28523,7 +28395,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Jpeg dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Jpeg dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Jpeg image loader will be built" >&5 @@ -28649,7 +28521,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "PMAPS dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "PMAPS dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PMAPS image loader will be built" >&5 @@ -28747,11 +28619,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5 $as_echo_n "checking for PNG... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_CFLAGS"; then - pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_CFLAGS"; then + pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng >= 1.2.10\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng >= 1.2.10") 2>&5 ac_status=$? @@ -28761,15 +28632,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_LIBS"; then - pkg_cv_PNG_LIBS="$PNG_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_LIBS"; then + pkg_cv_PNG_LIBS="$PNG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng >= 1.2.10\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng >= 1.2.10") 2>&5 ac_status=$? @@ -28779,14 +28648,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28794,17 +28664,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng >= 1.2.10"` + PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng >= 1.2.10" 2>&1` else - PNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng >= 1.2.10"` + PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng >= 1.2.10" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PNG_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else PNG_CFLAGS=$pkg_cv_PNG_CFLAGS @@ -28820,11 +28690,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5 $as_echo_n "checking for PNG... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_CFLAGS"; then - pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_CFLAGS"; then + pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng15\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng15") 2>&5 ac_status=$? @@ -28834,15 +28703,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_LIBS"; then - pkg_cv_PNG_LIBS="$PNG_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_LIBS"; then + pkg_cv_PNG_LIBS="$PNG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng15\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng15") 2>&5 ac_status=$? @@ -28852,14 +28719,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28867,17 +28735,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng15"` + PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng15" 2>&1` else - PNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng15"` + PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng15" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PNG_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else PNG_CFLAGS=$pkg_cv_PNG_CFLAGS @@ -28894,11 +28762,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5 $as_echo_n "checking for PNG... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_CFLAGS"; then - pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_CFLAGS"; then + pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng14\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng14") 2>&5 ac_status=$? @@ -28908,15 +28775,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_LIBS"; then - pkg_cv_PNG_LIBS="$PNG_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_LIBS"; then + pkg_cv_PNG_LIBS="$PNG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng14\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng14") 2>&5 ac_status=$? @@ -28926,14 +28791,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28941,17 +28807,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng14"` + PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng14" 2>&1` else - PNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng14"` + PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng14" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PNG_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else PNG_CFLAGS=$pkg_cv_PNG_CFLAGS @@ -28968,11 +28834,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5 $as_echo_n "checking for PNG... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_CFLAGS"; then - pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_CFLAGS"; then + pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng12 >= 1.2.10\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng12 >= 1.2.10") 2>&5 ac_status=$? @@ -28982,15 +28847,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$PNG_LIBS"; then - pkg_cv_PNG_LIBS="$PNG_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$PNG_LIBS"; then + pkg_cv_PNG_LIBS="$PNG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng12 >= 1.2.10\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng12 >= 1.2.10") 2>&5 ac_status=$? @@ -29000,14 +28863,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -29015,17 +28879,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng12 >= 1.2.10"` + PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng12 >= 1.2.10" 2>&1` else - PNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng12 >= 1.2.10"` + PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng12 >= 1.2.10" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PNG_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_dep="no" + have_dep="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_dep="no" else PNG_CFLAGS=$pkg_cv_PNG_CFLAGS @@ -29056,7 +28920,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "PNG dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "PNG dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PNG image loader will be built" >&5 @@ -29154,11 +29018,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SVG" >&5 $as_echo_n "checking for SVG... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$SVG_CFLAGS"; then - pkg_cv_SVG_CFLAGS="$SVG_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SVG_CFLAGS"; then + pkg_cv_SVG_CFLAGS="$SVG_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.14.0 cairo >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.14.0 @@ -29171,15 +29034,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$SVG_LIBS"; then - pkg_cv_SVG_LIBS="$SVG_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$SVG_LIBS"; then + pkg_cv_SVG_LIBS="$SVG_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.14.0 cairo >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.14.0 @@ -29192,14 +29053,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -29207,20 +29069,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "librsvg-2.0 >= 2.14.0 - cairo >= 1.0.0"` + SVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "librsvg-2.0 >= 2.14.0 + cairo >= 1.0.0" 2>&1` else - SVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "librsvg-2.0 >= 2.14.0 - cairo >= 1.0.0"` + SVG_PKG_ERRORS=`$PKG_CONFIG --print-errors "librsvg-2.0 >= 2.14.0 + cairo >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SVG_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_svg="no" + have_svg="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } have_svg="no" else @@ -29253,7 +29115,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "SVG dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "SVG dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether SVG image loader will be built" >&5 @@ -29507,7 +29369,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "Tiff dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Tiff dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Tiff image loader will be built" >&5 @@ -29612,7 +29474,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "XPM dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "XPM dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether XPM image loader will be built" >&5 @@ -29717,7 +29579,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "BMP dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "BMP dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BMP image loader will be built" >&5 @@ -29822,7 +29684,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "TGA dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "TGA dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether TGA image loader will be built" >&5 @@ -29927,7 +29789,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "WBMP dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "WBMP dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether WBMP image loader will be built" >&5 @@ -30032,7 +29894,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "ICO dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "ICO dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ICO image loader will be built" >&5 @@ -30137,7 +29999,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "PSD dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "PSD dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PSD image loader will be built" >&5 @@ -30242,7 +30104,7 @@ fi fi if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then - as_fn_error "GENERIC dependencies not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "GENERIC dependencies not found (strict dependencies checking)" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GENERIC image loader will be built" >&5 @@ -30325,8 +30187,7 @@ for ac_header in pthread.h sched.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -30392,7 +30253,7 @@ $as_echo "#define BUILD_PTHREAD 1" >>confdefs.h need_pthreads="yes" else if "x$use_strict" = "xyes"; then - as_fn_error "pthreads headers or functions not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "pthreads headers or functions not found (strict dependencies checking)" "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no: pthread headers or functions not found" >&5 $as_echo "no: pthread headers or functions not found" >&6; } @@ -30485,11 +30346,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XEXT" >&5 $as_echo_n "checking for XEXT... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$XEXT_CFLAGS"; then - pkg_cv_XEXT_CFLAGS="$XEXT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XEXT_CFLAGS"; then + pkg_cv_XEXT_CFLAGS="$XEXT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xext < 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "xext < 1.1.1") 2>&5 ac_status=$? @@ -30499,15 +30359,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$XEXT_LIBS"; then - pkg_cv_XEXT_LIBS="$XEXT_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$XEXT_LIBS"; then + pkg_cv_XEXT_LIBS="$XEXT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xext < 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "xext < 1.1.1") 2>&5 ac_status=$? @@ -30517,14 +30375,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -30532,18 +30391,18 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - XEXT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xext < 1.1.1"` + XEXT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xext < 1.1.1" 2>&1` else - XEXT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xext < 1.1.1"` + XEXT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xext < 1.1.1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XEXT_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - build_avoid_libXext_bug=no + build_avoid_libXext_bug=no elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } build_avoid_libXext_bug=no else @@ -30886,7 +30745,7 @@ $as_echo "#define HAVE_ALTIVEC_H 1" >>confdefs.h else if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Altivec not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Altivec not found (strict dependencies checking)" "$LINENO" 5 fi build_cpu_altivec="no" @@ -32354,11 +32213,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND" >&5 $as_echo_n "checking for VALGRIND... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$VALGRIND_CFLAGS"; then - pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$VALGRIND_CFLAGS"; then + pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 ac_status=$? @@ -32368,15 +32226,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$VALGRIND_LIBS"; then - pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$VALGRIND_LIBS"; then + pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 ac_status=$? @@ -32386,14 +32242,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -32401,25 +32258,25 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "valgrind >= 2.4.0"` + VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "valgrind >= 2.4.0" 2>&1` else - VALGRIND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "valgrind >= 2.4.0"` + VALGRIND_PKG_ERRORS=`$PKG_CONFIG --print-errors "valgrind >= 2.4.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$VALGRIND_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Valgrind not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Valgrind not found (strict dependencies checking)" "$LINENO" 5 fi elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then - as_fn_error "Valgrind not found (strict dependencies checking)" "$LINENO" 5 + as_fn_error $? "Valgrind not found (strict dependencies checking)" "$LINENO" 5 fi @@ -32477,11 +32334,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_EVAS" >&5 $as_echo_n "checking for ECORE_EVAS... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_EVAS_CFLAGS"; then - pkg_cv_ECORE_EVAS_CFLAGS="$ECORE_EVAS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_EVAS_CFLAGS"; then + pkg_cv_ECORE_EVAS_CFLAGS="$ECORE_EVAS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore\""; } >&5 ($PKG_CONFIG --exists --print-errors "ecore-evas ecore") 2>&5 ac_status=$? @@ -32491,15 +32347,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ECORE_EVAS_LIBS"; then - pkg_cv_ECORE_EVAS_LIBS="$ECORE_EVAS_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ECORE_EVAS_LIBS"; then + pkg_cv_ECORE_EVAS_LIBS="$ECORE_EVAS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore\""; } >&5 ($PKG_CONFIG --exists --print-errors "ecore-evas ecore") 2>&5 ac_status=$? @@ -32509,14 +32363,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -32524,35 +32379,34 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-evas ecore"` + ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-evas ecore" 2>&1` else - ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-evas ecore"` + ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-evas ecore" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ECORE_EVAS_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - build_examples="no" + build_examples="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } build_examples="no" else ECORE_EVAS_CFLAGS=$pkg_cv_ECORE_EVAS_CFLAGS ECORE_EVAS_LIBS=$pkg_cv_ECORE_EVAS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - : + fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDJE" >&5 $as_echo_n "checking for EDJE... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_CFLAGS"; then - pkg_cv_EDJE_CFLAGS="$EDJE_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EDJE_CFLAGS"; then + pkg_cv_EDJE_CFLAGS="$EDJE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"edje\""; } >&5 ($PKG_CONFIG --exists --print-errors "edje") 2>&5 ac_status=$? @@ -32562,15 +32416,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$EDJE_LIBS"; then - pkg_cv_EDJE_LIBS="$EDJE_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$EDJE_LIBS"; then + pkg_cv_EDJE_LIBS="$EDJE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"edje\""; } >&5 ($PKG_CONFIG --exists --print-errors "edje") 2>&5 ac_status=$? @@ -32580,14 +32432,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -32595,17 +32448,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EDJE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "edje"` + EDJE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "edje" 2>&1` else - EDJE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "edje"` + EDJE_PKG_ERRORS=`$PKG_CONFIG --print-errors "edje" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EDJE_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - build_examples="no" + build_examples="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } build_examples="no" else EDJE_CFLAGS=$pkg_cv_EDJE_CFLAGS @@ -32664,11 +32517,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 $as_echo_n "checking for CHECK... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_CFLAGS"; then - pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_CFLAGS"; then + pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -32678,15 +32530,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$CHECK_LIBS"; then - pkg_cv_CHECK_LIBS="$CHECK_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$CHECK_LIBS"; then + pkg_cv_CHECK_LIBS="$CHECK_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 ac_status=$? @@ -32696,14 +32546,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -32711,17 +32562,17 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` else - CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` + CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CHECK_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - _efl_enable_tests="no" + _efl_enable_tests="no" elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } _efl_enable_tests="no" else CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS @@ -32853,8 +32704,8 @@ else enable_coverage="no" fi -EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS}" -EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS}" +EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS} ${EXOTIC_CFLAGS}" +EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS} ${EXOTIC_LIBS}" if test "x$enable_coverage" = "xyes" ; then EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_DEBUG_CFLAGS}" fi @@ -32874,7 +32725,7 @@ fi ##################################################################### ## Output -ac_config_files="$ac_config_files Makefile evas-directfb.pc evas-fb.pc evas-opengl-x11.pc evas-opengl-sdl.pc evas-opengl-cocoa.pc evas-software-buffer.pc evas-software-x11.pc evas-software-8-x11.pc evas-software-16-x11.pc evas-software-gdi.pc evas-software-ddraw.pc evas-software-16-ddraw.pc evas-direct3d.pc evas-software-16-wince.pc evas-software-sdl.pc evas-psl1ght.pc evas-wayland-shm.pc evas-wayland-egl.pc evas.pc doc/evas.dox doc/Makefile doc/Doxyfile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/file/Makefile src/lib/cache/Makefile src/lib/cserve/Makefile src/lib/engines/Makefile src/lib/engines/common/Makefile src/lib/engines/common/evas_op_add/Makefile src/lib/engines/common/evas_op_blend/Makefile src/lib/engines/common/evas_op_copy/Makefile src/lib/engines/common/evas_op_mask/Makefile src/lib/engines/common/evas_op_mul/Makefile src/lib/engines/common/evas_op_sub/Makefile src/lib/engines/common_8/Makefile src/lib/engines/common_16/Makefile src/modules/Makefile src/modules/engines/Makefile src/modules/engines/software_generic/Makefile src/modules/engines/software_gdi/Makefile src/modules/engines/software_ddraw/Makefile src/modules/engines/direct3d/Makefile src/modules/engines/software_16_wince/Makefile src/modules/engines/software_x11/Makefile src/modules/engines/fb/Makefile src/modules/engines/buffer/Makefile src/modules/engines/directfb/Makefile src/modules/engines/gl_common/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/gl_sdl/Makefile src/modules/engines/gl_cocoa/Makefile src/modules/engines/psl1ght/Makefile src/modules/engines/software_sdl/Makefile src/modules/engines/software_8/Makefile src/modules/engines/software_8_x11/Makefile src/modules/engines/software_16/Makefile src/modules/engines/software_16_x11/Makefile src/modules/engines/software_16_ddraw/Makefile src/modules/engines/software_16_sdl/Makefile src/modules/engines/wayland_shm/Makefile src/modules/engines/wayland_egl/Makefile src/modules/loaders/Makefile src/modules/loaders/edb/Makefile src/modules/loaders/eet/Makefile src/modules/loaders/gif/Makefile src/modules/loaders/jpeg/Makefile src/modules/loaders/png/Makefile src/modules/loaders/tiff/Makefile src/modules/loaders/xpm/Makefile src/modules/loaders/bmp/Makefile src/modules/loaders/ico/Makefile src/modules/loaders/tga/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/Makefile src/modules/loaders/wbmp/Makefile src/modules/loaders/psd/Makefile src/modules/loaders/generic/Makefile src/modules/savers/Makefile src/modules/savers/edb/Makefile src/modules/savers/eet/Makefile src/modules/savers/jpeg/Makefile src/modules/savers/png/Makefile src/modules/savers/tiff/Makefile src/static_deps/Makefile src/static_deps/liblinebreak/Makefile src/lib/include/Makefile src/examples/Makefile src/tests/Makefile evas.spec" +ac_config_files="$ac_config_files Makefile evas-directfb.pc evas-fb.pc evas-opengl-x11.pc evas-opengl-sdl.pc evas-opengl-cocoa.pc evas-software-buffer.pc evas-software-x11.pc evas-software-8-x11.pc evas-software-16-x11.pc evas-software-gdi.pc evas-software-ddraw.pc evas-software-16-ddraw.pc evas-direct3d.pc evas-software-16-wince.pc evas-software-sdl.pc evas-psl1ght.pc evas-wayland-shm.pc evas-wayland-egl.pc evas.pc doc/evas.dox doc/Makefile doc/Doxyfile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/file/Makefile src/lib/cache/Makefile src/lib/cserve/Makefile src/lib/engines/Makefile src/lib/engines/common/Makefile src/lib/engines/common/evas_op_add/Makefile src/lib/engines/common/evas_op_blend/Makefile src/lib/engines/common/evas_op_copy/Makefile src/lib/engines/common/evas_op_mask/Makefile src/lib/engines/common/evas_op_mul/Makefile src/lib/engines/common/evas_op_sub/Makefile src/lib/engines/common_8/Makefile src/lib/engines/common_16/Makefile src/modules/Makefile src/modules/engines/Makefile src/modules/engines/software_generic/Makefile src/modules/engines/software_gdi/Makefile src/modules/engines/software_ddraw/Makefile src/modules/engines/direct3d/Makefile src/modules/engines/software_16_wince/Makefile src/modules/engines/software_x11/Makefile src/modules/engines/fb/Makefile src/modules/engines/buffer/Makefile src/modules/engines/directfb/Makefile src/modules/engines/gl_common/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/gl_sdl/Makefile src/modules/engines/gl_cocoa/Makefile src/modules/engines/psl1ght/Makefile src/modules/engines/software_8/Makefile src/modules/engines/software_8_x11/Makefile src/modules/engines/software_16/Makefile src/modules/engines/software_16_x11/Makefile src/modules/engines/software_16_ddraw/Makefile src/modules/engines/software_16_sdl/Makefile src/modules/engines/wayland_shm/Makefile src/modules/engines/wayland_egl/Makefile src/modules/loaders/Makefile src/modules/loaders/edb/Makefile src/modules/loaders/eet/Makefile src/modules/loaders/gif/Makefile src/modules/loaders/jpeg/Makefile src/modules/loaders/png/Makefile src/modules/loaders/tiff/Makefile src/modules/loaders/xpm/Makefile src/modules/loaders/bmp/Makefile src/modules/loaders/ico/Makefile src/modules/loaders/tga/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/Makefile src/modules/loaders/wbmp/Makefile src/modules/loaders/psd/Makefile src/modules/loaders/generic/Makefile src/modules/savers/Makefile src/modules/savers/edb/Makefile src/modules/savers/eet/Makefile src/modules/savers/jpeg/Makefile src/modules/savers/png/Makefile src/modules/savers/tiff/Makefile src/static_deps/Makefile src/static_deps/liblinebreak/Makefile src/lib/include/Makefile src/examples/Makefile src/tests/Makefile evas.spec" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -32959,6 +32810,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -32982,440 +32834,436 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then - as_fn_error "conditional \"am__fastdepOBJC\" was never defined. + as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then - as_fn_error "conditional \"am__fastdepOBJC\" was never defined. + as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then - as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. + as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${EVAS_HAVE_EXOTIC_TRUE}" && test -z "${EVAS_HAVE_EXOTIC_FALSE}"; then + as_fn_error $? "conditional \"EVAS_HAVE_EXOTIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_USE_LINEBREAK_TRUE}" && test -z "${EVAS_USE_LINEBREAK_FALSE}"; then - as_fn_error "conditional \"EVAS_USE_LINEBREAK\" was never defined. + as_fn_error $? "conditional \"EVAS_USE_LINEBREAK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_CSERVE_TRUE}" && test -z "${EVAS_CSERVE_FALSE}"; then - as_fn_error "conditional \"EVAS_CSERVE\" was never defined. + as_fn_error $? "conditional \"EVAS_CSERVE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_BUFFER_TRUE}" && test -z "${BUILD_ENGINE_BUFFER_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_BUFFER\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_BUFFER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_BUFFER_TRUE}" && test -z "${EVAS_STATIC_BUILD_BUFFER_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_BUFFER\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_BUFFER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_GDI_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_GDI_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_GDI\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_GDI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_GDI\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_GDI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_DDRAW_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_DDRAW_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_DDRAW\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_DDRAW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_DDRAW\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_DDRAW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_DIRECT3D_TRUE}" && test -z "${BUILD_ENGINE_DIRECT3D_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_DIRECT3D\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_DIRECT3D\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_DIRECT3D_TRUE}" && test -z "${EVAS_STATIC_BUILD_DIRECT3D_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_DIRECT3D\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_ENGINE_SOFTWARE_SDL_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_SDL_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_SDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_SDL\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_DIRECT3D\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_PSL1GHT_TRUE}" && test -z "${BUILD_ENGINE_PSL1GHT_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_PSL1GHT\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_PSL1GHT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_PSL1GHT_TRUE}" && test -z "${EVAS_STATIC_BUILD_PSL1GHT_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_PSL1GHT\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_PSL1GHT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_SDL_TRUE}" && test -z "${BUILD_ENGINE_GL_SDL_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_SDL\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_SDL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_SDL_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_SDL_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_SDL\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_SDL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_COCOA_TRUE}" && test -z "${BUILD_ENGINE_GL_COCOA_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_COCOA\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_COCOA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_COCOA_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_COCOA_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_COCOA\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_COCOA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_FB_TRUE}" && test -z "${BUILD_ENGINE_FB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_FB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_FB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_FB_TRUE}" && test -z "${EVAS_STATIC_BUILD_FB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_FB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_FB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_DIRECTFB_TRUE}" && test -z "${BUILD_ENGINE_DIRECTFB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_DIRECTFB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_DIRECTFB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_DIRECTFB_TRUE}" && test -z "${EVAS_STATIC_BUILD_DIRECTFB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_DIRECTFB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_DIRECTFB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_8_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_8_X11_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_8_X11\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_8_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_8_X11\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_8_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_16_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_X11_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_16_X11\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_X11\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_16_DDRAW\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_DDRAW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_16_WINCE\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_WINCE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_WINCE\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_WINCE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_16_SDL_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_SDL_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_16_SDL\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_SDL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_SDL\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_SDL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_WAYLAND_SHM_TRUE}" && test -z "${BUILD_ENGINE_WAYLAND_SHM_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_WAYLAND_SHM\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_WAYLAND_SHM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_WAYLAND_SHM_TRUE}" && test -z "${EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_WAYLAND_SHM\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_WAYLAND_SHM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_WAYLAND_EGL_TRUE}" && test -z "${BUILD_ENGINE_WAYLAND_EGL_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_WAYLAND_EGL\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_WAYLAND_EGL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_WAYLAND_EGL_TRUE}" && test -z "${EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_WAYLAND_EGL\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_WAYLAND_EGL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_GENERIC\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_GENERIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_XCB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XCB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_XLIB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XLIB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_XLIB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XLIB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_XCB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XCB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_X11_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_X11\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_XCB_TRUE}" && test -z "${BUILD_ENGINE_GL_XCB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_XCB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_XCB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_XCB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_XLIB_TRUE}" && test -z "${BUILD_ENGINE_GL_XLIB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_XLIB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_XLIB_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_XLIB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_XLIB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_XLIB_TRUE}" && test -z "${BUILD_ENGINE_GL_XLIB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_XLIB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_XCB_TRUE}" && test -z "${BUILD_ENGINE_GL_XCB_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_XCB\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_X11_TRUE}" && test -z "${BUILD_ENGINE_GL_X11_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_X11\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_X11_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_X11\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_XLIB_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_XLIB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_XLIB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_XLIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_XCB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_XCB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_XCB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_GL_COMMON_TRUE}" && test -z "${BUILD_ENGINE_GL_COMMON_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_GL_COMMON\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_GL_COMMON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GL_COMMON_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_COMMON_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GL_COMMON\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_COMMON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_16_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_16\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_ENGINE_SOFTWARE_8_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_8_FALSE}"; then - as_fn_error "conditional \"BUILD_ENGINE_SOFTWARE_8\" was never defined. + as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_8\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SOFTWARE_8\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_8\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_EDB_TRUE}" && test -z "${BUILD_LOADER_EDB_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_EDB\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_EDB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_EDB_TRUE}" && test -z "${EVAS_STATIC_BUILD_EDB_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_EDB\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_EDB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_EET_TRUE}" && test -z "${BUILD_LOADER_EET_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_EET\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_EET\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_EET_TRUE}" && test -z "${EVAS_STATIC_BUILD_EET_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_EET\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_EET\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_GIF_TRUE}" && test -z "${BUILD_LOADER_GIF_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_GIF\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_GIF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GIF_TRUE}" && test -z "${EVAS_STATIC_BUILD_GIF_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GIF\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GIF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_JPEG_TRUE}" && test -z "${BUILD_LOADER_JPEG_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_JPEG\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_JPEG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_JPEG_TRUE}" && test -z "${EVAS_STATIC_BUILD_JPEG_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_JPEG\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_JPEG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_SAVER_JPEG_TRUE}" && test -z "${BUILD_SAVER_JPEG_FALSE}"; then - as_fn_error "conditional \"BUILD_SAVER_JPEG\" was never defined. + as_fn_error $? "conditional \"BUILD_SAVER_JPEG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_PMAPS_TRUE}" && test -z "${BUILD_LOADER_PMAPS_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_PMAPS\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_PMAPS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_PMAPS_TRUE}" && test -z "${EVAS_STATIC_BUILD_PMAPS_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_PMAPS\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_PMAPS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_PNG_TRUE}" && test -z "${BUILD_LOADER_PNG_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_PNG\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_PNG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_PNG_TRUE}" && test -z "${EVAS_STATIC_BUILD_PNG_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_PNG\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_PNG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_SVG_TRUE}" && test -z "${BUILD_LOADER_SVG_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_SVG\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_SVG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_SVG_TRUE}" && test -z "${EVAS_STATIC_BUILD_SVG_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_SVG\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SVG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_TIFF_TRUE}" && test -z "${BUILD_LOADER_TIFF_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_TIFF\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_TIFF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_TIFF_TRUE}" && test -z "${EVAS_STATIC_BUILD_TIFF_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_TIFF\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_TIFF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_XPM_TRUE}" && test -z "${BUILD_LOADER_XPM_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_XPM\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_XPM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_XPM_TRUE}" && test -z "${EVAS_STATIC_BUILD_XPM_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_XPM\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_XPM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_BMP_TRUE}" && test -z "${BUILD_LOADER_BMP_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_BMP\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_BMP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_BMP_TRUE}" && test -z "${EVAS_STATIC_BUILD_BMP_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_BMP\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_BMP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_TGA_TRUE}" && test -z "${BUILD_LOADER_TGA_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_TGA\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_TGA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_TGA_TRUE}" && test -z "${EVAS_STATIC_BUILD_TGA_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_TGA\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_TGA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_WBMP_TRUE}" && test -z "${BUILD_LOADER_WBMP_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_WBMP\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_WBMP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_WBMP_TRUE}" && test -z "${EVAS_STATIC_BUILD_WBMP_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_WBMP\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_WBMP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_ICO_TRUE}" && test -z "${BUILD_LOADER_ICO_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_ICO\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_ICO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_ICO_TRUE}" && test -z "${EVAS_STATIC_BUILD_ICO_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_ICO\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_ICO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_PSD_TRUE}" && test -z "${BUILD_LOADER_PSD_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_PSD\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_PSD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_PSD_TRUE}" && test -z "${EVAS_STATIC_BUILD_PSD_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_PSD\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_PSD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LOADER_GENERIC_TRUE}" && test -z "${BUILD_LOADER_GENERIC_FALSE}"; then - as_fn_error "conditional \"BUILD_LOADER_GENERIC\" was never defined. + as_fn_error $? "conditional \"BUILD_LOADER_GENERIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_STATIC_BUILD_GENERIC_TRUE}" && test -z "${EVAS_STATIC_BUILD_GENERIC_FALSE}"; then - as_fn_error "conditional \"EVAS_STATIC_BUILD_GENERIC\" was never defined. + as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GENERIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EVAS_MAGIC_DEBUG_TRUE}" && test -z "${EVAS_MAGIC_DEBUG_FALSE}"; then - as_fn_error "conditional \"EVAS_MAGIC_DEBUG\" was never defined. + as_fn_error $? "conditional \"EVAS_MAGIC_DEBUG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${WORD_CACHE_TRUE}" && test -z "${WORD_CACHE_FALSE}"; then - as_fn_error "conditional \"WORD_CACHE\" was never defined. + as_fn_error $? "conditional \"WORD_CACHE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${METRIC_CACHE_TRUE}" && test -z "${METRIC_CACHE_FALSE}"; then - as_fn_error "conditional \"METRIC_CACHE\" was never defined. + as_fn_error $? "conditional \"METRIC_CACHE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${INSTALL_EXAMPLES_TRUE}" && test -z "${INSTALL_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"INSTALL_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"INSTALL_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EXAMPLES_TRUE}" && test -z "${BUILD_EXAMPLES_FALSE}"; then - as_fn_error "conditional \"BUILD_EXAMPLES\" was never defined. + as_fn_error $? "conditional \"BUILD_EXAMPLES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then - as_fn_error "conditional \"EFL_ENABLE_COVERAGE\" was never defined. + as_fn_error $? "conditional \"EFL_ENABLE_COVERAGE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -33565,19 +33413,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -33773,7 +33621,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -33826,8 +33674,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by evas $as_me 1.1.99.67344, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by evas $as_me 1.2.0-alpha, which was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -33892,11 +33740,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -evas config.status 1.1.99.67344 -configured by $0, generated by GNU Autoconf 2.65, +evas config.status 1.2.0-alpha +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -33914,11 +33762,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -33940,6 +33793,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -33952,7 +33806,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -33961,7 +33815,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -34426,7 +34280,6 @@ do "src/modules/engines/gl_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_sdl/Makefile" ;; "src/modules/engines/gl_cocoa/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_cocoa/Makefile" ;; "src/modules/engines/psl1ght/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/psl1ght/Makefile" ;; - "src/modules/engines/software_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_sdl/Makefile" ;; "src/modules/engines/software_8/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_8/Makefile" ;; "src/modules/engines/software_8_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_8_x11/Makefile" ;; "src/modules/engines/software_16/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16/Makefile" ;; @@ -34464,7 +34317,7 @@ do "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; "evas.spec") CONFIG_FILES="$CONFIG_FILES evas.spec" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -34502,7 +34355,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -34519,7 +34372,7 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi @@ -34533,18 +34386,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -34633,20 +34486,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -34674,7 +34535,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -34759,7 +34620,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -34772,7 +34633,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -34800,7 +34661,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -34827,7 +34688,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -34964,22 +34825,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -34990,19 +34851,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -35960,7 +35821,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -35981,7 +35842,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 @@ -36037,8 +35898,7 @@ fi echo " Software GDI...............: $have_evas_engine_software_gdi" echo " Software DirectDraw........: $have_evas_engine_software_ddraw" echo " Direct3d...................: $have_evas_engine_direct3d" -echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)" -echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C" +echo " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C" if test "x$have_evas_engine_gl_sdl" = "xyes"; then echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)" else diff --git a/libraries/evas/configure.ac b/libraries/evas/configure.ac index 5424e31..c832384 100644 --- a/libraries/evas/configure.ac +++ b/libraries/evas/configure.ac @@ -1,12 +1,12 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) -m4_define([v_min], [1]) -m4_define([v_mic], [99]) +m4_define([v_min], [2]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line dnl m4_define([relname], [ver-pre-svn-07]) dnl m4_define([v_rel], [-release relname]) @@ -31,7 +31,7 @@ AC_CACHE_CHECK([whether the Objective C compiler works], AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no]) ]) -AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([evas], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -98,7 +98,6 @@ want_evas_engine_software_xlib="no" want_evas_engine_software_xcb="no" want_evas_engine_software_gdi="no" want_evas_engine_software_ddraw="no" -want_evas_engine_software_sdl="no" want_evas_engine_software_8_x11="no" want_evas_engine_software_16_x11="no" want_evas_engine_software_16_ddraw="no" @@ -244,10 +243,24 @@ case "$host_os" in ;; esac +### Checks for portability layer + +PKG_CHECK_MODULES([EXOTIC], + [exotic], + [enable_exotic="yes"], + [enable_exotic="no"]) + +if test "x${enable_exotic}" = "xyes"; then + requirement_evas="exotic ${requirement_evas}" + + AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.]) +fi +AM_CONDITIONAL([EVAS_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"]) + ## strong dependencies # Eina -PKG_CHECK_MODULES([EINA], [eina >= 1.1.0]) +PKG_CHECK_MODULES([EINA], [eina >= 1.2.0]) CPPFLAGS_SAVE="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $EINA_CFLAGS" AC_CHECK_SIZEOF(Eina_Unicode,, [#include ]) @@ -256,7 +269,7 @@ CPPFLAGS="$CPPFLAGS_SAVE" # Freetype PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0]) -requirement_evas="freetype2 eina >= 1.1.0 ${requirement_evas}" +requirement_evas="freetype2 eina >= 1.2.0 ${requirement_evas}" ## optional dependencies @@ -517,20 +530,6 @@ EFL_ATTRIBUTE_UNUSED EFL_ATTRIBUTE_VECTOR EFL_ATTRIBUTE_ALWAYS_INLINE -WIN32_CPPFLAGS="" -case "$host_os" in - mingw32ce*) - WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420" - ;; - mingw*) - WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500" - ;; -esac -AC_SUBST(WIN32_CPPFLAGS) - -WIN32_CFLAGS="" -AC_SUBST(WIN32_CFLAGS) - ### Checks for linker characteristics lt_enable_auto_import="" @@ -663,7 +662,7 @@ AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"]) gl_flavor_gles="no" AC_MSG_CHECKING(whether to build GLES flavor of GL) AC_ARG_ENABLE(gl-flavor-gles, - AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]), + AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles flavor of gl instead of standard]), [ if test "x$enableval" = "xyes" ; then AC_MSG_RESULT(yes) @@ -748,8 +747,6 @@ EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D]) -EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL]) - EVAS_CHECK_ENGINE([psl1ght], [${want_evas_engine_psl1ght}], [no], [PSL1GHT]) EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [no], [OpenGL SDL]) @@ -1854,8 +1851,8 @@ AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"]) EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"]) EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"]) -EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS}" -EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS}" +EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS} ${EXOTIC_CFLAGS}" +EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS} ${EXOTIC_LIBS}" if test "x$enable_coverage" = "xyes" ; then EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_DEBUG_CFLAGS}" fi @@ -1932,7 +1929,6 @@ src/modules/engines/gl_x11/Makefile src/modules/engines/gl_sdl/Makefile src/modules/engines/gl_cocoa/Makefile src/modules/engines/psl1ght/Makefile -src/modules/engines/software_sdl/Makefile src/modules/engines/software_8/Makefile src/modules/engines/software_8_x11/Makefile src/modules/engines/software_16/Makefile @@ -2019,8 +2015,7 @@ fi echo " Software GDI...............: $have_evas_engine_software_gdi" echo " Software DirectDraw........: $have_evas_engine_software_ddraw" echo " Direct3d...................: $have_evas_engine_direct3d" -echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)" -echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C" +echo " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C" if test "x$have_evas_engine_gl_sdl" = "xyes"; then echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)" else diff --git a/libraries/evas/doc/Makefile.am b/libraries/evas/doc/Makefile.am index e06ec9d..900c3d9 100644 --- a/libraries/evas/doc/Makefile.am +++ b/libraries/evas/doc/Makefile.am @@ -20,6 +20,8 @@ doc: all doc-clean bzip2 -9 $(PACKAGE_DOCNAME).tar rm -rf $(PACKAGE_DOCNAME)/ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) + @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" + @echo "Documentation HTML: doc/html" clean-local: doc-clean diff --git a/libraries/evas/doc/Makefile.in b/libraries/evas/doc/Makefile.in index 20f2693..a0500c9 100644 --- a/libraries/evas/doc/Makefile.in +++ b/libraries/evas/doc/Makefile.in @@ -117,6 +117,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -167,6 +169,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -185,8 +189,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -260,8 +262,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -561,6 +561,8 @@ uninstall-am: @EFL_BUILD_DOC_TRUE@ bzip2 -9 $(PACKAGE_DOCNAME).tar @EFL_BUILD_DOC_TRUE@ rm -rf $(PACKAGE_DOCNAME)/ @EFL_BUILD_DOC_TRUE@ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) +@EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" +@EFL_BUILD_DOC_TRUE@ @echo "Documentation HTML: doc/html" @EFL_BUILD_DOC_TRUE@clean-local: doc-clean diff --git a/libraries/evas/doc/img/e_big.png b/libraries/evas/doc/img/e_big.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/foot_bg.png b/libraries/evas/doc/img/foot_bg.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/head_bg.png b/libraries/evas/doc/img/head_bg.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/menu_bg.png b/libraries/evas/doc/img/menu_bg.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/menu_bg_current.png b/libraries/evas/doc/img/menu_bg_current.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/menu_bg_hover.png b/libraries/evas/doc/img/menu_bg_hover.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/menu_bg_last.png b/libraries/evas/doc/img/menu_bg_last.png old mode 100755 new mode 100644 diff --git a/libraries/evas/doc/img/menu_bg_unsel.png b/libraries/evas/doc/img/menu_bg_unsel.png old mode 100755 new mode 100644 diff --git a/libraries/evas/evas.pc.in b/libraries/evas/evas.pc.in index 70755ed..b0d3150 100644 --- a/libraries/evas/evas.pc.in +++ b/libraries/evas/evas.pc.in @@ -7,6 +7,6 @@ Name: evas Description: Evas canvas display library @pkgconfig_requires_private@: @requirement_evas@ Version: @VERSION@ -Libs: -L${libdir} -levas +Libs: -L${libdir} -levas @EINA_LIBS@ Libs.private: @EFL_FNMATCH_LIBS@ @pthread_libs@ -Cflags: -I${includedir}/evas-@VMAJ@ +Cflags: -I${includedir}/evas-@VMAJ@ @EINA_CFLAGS@ diff --git a/libraries/evas/evas.spec b/libraries/evas/evas.spec index fe04f2e..2939060 100644 --- a/libraries/evas/evas.spec +++ b/libraries/evas/evas.spec @@ -85,7 +85,7 @@ Summary: Multi-platform Canvas Library Name: evas -Version: 1.1.99.67344 +Version: 1.2.0-alpha Release: %{_rel} License: BSD Group: System Environment/Libraries diff --git a/libraries/evas/ltmain.sh b/libraries/evas/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/evas/ltmain.sh +++ b/libraries/evas/ltmain.sh @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 diff --git a/libraries/evas/m4/efl_attribute.m4 b/libraries/evas/m4/efl_attribute.m4 index aeb6a68..1f3a040 100644 --- a/libraries/evas/m4/efl_attribute.m4 +++ b/libraries/evas/m4/efl_attribute.m4 @@ -67,7 +67,7 @@ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include -__forceinline void foo(void) {} +static __forceinline void foo(void) {} ]], [[ ]])], @@ -84,7 +84,7 @@ if test "x${have_attribute_always_inline}" = "xno" ; then AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ -__attribute__((__always_inline__)) inline void foo(void) {} +static __attribute__((__always_inline__)) inline void foo(void) {} ]], [[ ]])], diff --git a/libraries/evas/m4/efl_fnmatch.m4 b/libraries/evas/m4/efl_fnmatch.m4 index a92ac6b..c857046 100644 --- a/libraries/evas/m4/efl_fnmatch.m4 +++ b/libraries/evas/m4/efl_fnmatch.m4 @@ -13,7 +13,7 @@ AC_CHECK_HEADER([fnmatch.h], [_efl_have_fnmatch="yes"], [_efl_have_fnmatch="no"] if test "x${_efl_have_fnmatch}" = "xyes" ; then AC_SEARCH_LIBS([fnmatch], - [fnmatch evil iberty], + [fnmatch evil exotic iberty], [_efl_have_fnmatch="yes"], [_efl_have_fnmatch="no"]) fi diff --git a/libraries/evas/m4/evas_check_engine.m4 b/libraries/evas/m4/evas_check_engine.m4 index 4fc13a9..6275795 100644 --- a/libraries/evas/m4/evas_check_engine.m4 +++ b/libraries/evas/m4/evas_check_engine.m4 @@ -131,7 +131,7 @@ if test "x$gl_flavor_gles" = "xyes" ; then fi if test "x${have_dep}" = "xyes" ; then - PKG_CHECK_MODULES([GL_EET], [eet >= 1.5.0], [have_dep="yes"], [have_dep="no"]) + PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.0], [have_dep="yes"], [have_dep="no"]) if test "x${have_dep}" = "xyes" ; then if test "x$2" = "xyes" ; then x_libs="${x_libs} -lX11 -lXext -lXrender" @@ -168,13 +168,12 @@ else if test "x${have_egl}" = "xyes" ; then AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL ${x_libs} -lm $gl_pt_lib) if test "x${have_glesv2}" = "xyes" ; then - PKG_CHECK_MODULES([GL_EET], [eet >= 1.5.0], [have_dep="yes"], [have_dep="no"]) + PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.0], [have_dep="yes"], [have_dep="no"]) if test "x${have_dep}" = "xyes" ; then evas_engine_[]$1[]_cflags="${x_cflags}" evas_engine_[]$1[]_libs="${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib" evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib" have_dep="yes" - gl_flavor_gles="no" AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support]) gles_variety_sgx="yes" fi @@ -306,7 +305,7 @@ if test "x$gl_flavor_gles" = "xyes" ; then fi if test "x${have_dep}" = "xyes" ; then - PKG_CHECK_MODULES([GL_EET], [eet >= 1.5.0], [have_dep="yes"], [have_dep="no"]) + PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.0], [have_dep="yes"], [have_dep="no"]) if test "x${have_dep}" = "xyes" ; then if test "x$2" = "xyes" ; then x_libs="${x_libs} -lX11 -lXext -lXrender" @@ -338,13 +337,12 @@ else if test "x${have_egl}" = "xyes" ; then AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL ${x_libs} -lm $gl_pt_lib) if test "x${have_glesv2}" = "xyes" ; then - PKG_CHECK_MODULES([GL_EET], [eet >= 1.5.0], [have_dep="yes"], [have_dep="no"]) + PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.0], [have_dep="yes"], [have_dep="no"]) if test "x${have_dep}" = "xyes" ; then evas_engine_[]$1[]_cflags="${XCB_GL_CFLAGS} ${x_cflags}" evas_engine_[]$1[]_libs="${XCB_GL_LIBS} ${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib" evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib" have_dep="yes" - gl_flavor_gles="no" AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support]) gles_variety_sgx="yes" fi @@ -483,7 +481,7 @@ LIBS="$LIBS_save" AC_LANG_POP([Objective C]) if test "x${have_dep}" = "xyes" ; then - PKG_CHECK_MODULES([GL_EET], [eet >= 1.5.0], [have_dep="yes"], [have_dep="no"]) + PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.0], [have_dep="yes"], [have_dep="no"]) fi AC_SUBST([evas_engine_$1_cflags]) @@ -497,43 +495,6 @@ fi ]) - -dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_SDL(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) - -AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_SDL], -[ - -requirement="" -have_dep="no" -evas_engine_[]$1[]_cflags="" -evas_engine_[]$1[]_libs="" - -PKG_CHECK_MODULES([SDL], - [sdl >= 1.2.0], - [ - have_dep="yes" - requirement="sdl" - evas_engine_[]$1[]_cflags="${SDL_CFLAGS}" - evas_engine_[]$1[]_libs="${SDL_LIBS}" - ] -) - -AC_SUBST([evas_engine_$1_cflags]) -AC_SUBST([evas_engine_$1_libs]) - -if test "x$3" = "xstatic" ; then - requirement_evas="${requirement} ${requirement_evas}" -fi - -if test "x${have_dep}" = "xyes" ; then - m4_default([$4], [:]) -else - m4_default([$5], [:]) -fi - -]) - - dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_SDL(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_SDL], @@ -645,7 +606,6 @@ else evas_engine_[]$1[]_libs="${SDL_LIBS} -lGLESv2 -lEGL -lm $gl_pt_lib" evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib" have_dep="yes" - gl_flavor_gles="no" AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support]) gles_variety_sgx="yes" fi @@ -918,16 +878,12 @@ PKG_CHECK_MODULES([WAYLAND_EGL], ) if test "x${have_dep}" = "xyes" ; then - PKG_CHECK_MODULES([GL_EET], [eet >= 1.5.0], [have_dep="yes"], [have_dep="no"]) - AC_CHECK_HEADER([GLES2/gl2.h], - [have_egl="yes"], - [have_egl="no"], - [ - ]) - if test "x${have_egl}" = "xyes" ; then - evas_engine_[]$1[]_cflags="${WAYLAND_EGL_CFLAGS}" - evas_engine_[]$1[]_libs="${WAYLAND_EGL_LIBS} -lGL -lGLESv2 -lEGL" - fi + PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.0], [have_dep="yes"], [have_dep="no"]) + AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL -lm) + if test "x${have_glesv2}" = "xyes" ; then + evas_engine_[]$1[]_cflags="${WAYLAND_EGL_CFLAGS}" + evas_engine_[]$1[]_libs="${WAYLAND_EGL_LIBS} -lGL -lGLESv2 -lEGL" + fi fi AC_SUBST([evas_engine_$1_cflags]) diff --git a/libraries/evas/m4/evas_check_loader.m4 b/libraries/evas/m4/evas_check_loader.m4 index e1fb5a9..a265094 100644 --- a/libraries/evas/m4/evas_check_loader.m4 +++ b/libraries/evas/m4/evas_check_loader.m4 @@ -37,7 +37,7 @@ have_dep="no" evas_image_loader_[]$1[]_cflags="" evas_image_loader_[]$1[]_libs="" -PKG_CHECK_MODULES([EET], [eet >= 1.5.0], [have_dep="yes" requirement="eet >= 1.4.0"], [have_dep="no"]) +PKG_CHECK_MODULES([EET], [eet >= 1.6.0], [have_dep="yes" requirement="eet >= 1.4.0"], [have_dep="no"]) evas_image_loader_[]$1[]_cflags="${EET_CFLAGS}" evas_image_loader_[]$1[]_libs="${EET_LIBS}" @@ -542,7 +542,7 @@ AC_MSG_CHECKING([whether to enable Eet font loader]) AC_MSG_RESULT([${want_loader}]) if test "x$want_loader" = "xyes" -o "x$want_loader" = "xauto"; then - PKG_CHECK_MODULES([EET], [eet >= 1.5.0], [have_evas_font_loader_eet="yes"], [have_evas_font_loader_eet="no"]) + PKG_CHECK_MODULES([EET], [eet >= 1.6.0], [have_evas_font_loader_eet="yes"], [have_evas_font_loader_eet="no"]) fi if test "x${have_evas_font_loader_eet}" = "xno" -a "x$want_loader" = "xyes" -a "x$use_strict" = "xyes" ; then @@ -551,7 +551,7 @@ fi if test "x$have_evas_font_loader_eet" = "xyes" ; then AC_DEFINE([BUILD_FONT_LOADER_EET], [1], [EET Font Loader Support]) - requirement_evas="eet >= 1.5.0 ${requirement_evas}" + requirement_evas="eet >= 1.6.0 ${requirement_evas}" fi popdef([UP]) diff --git a/libraries/evas/src/Makefile.in b/libraries/evas/src/Makefile.in index 68cdb12..a40ffc2 100644 --- a/libraries/evas/src/Makefile.in +++ b/libraries/evas/src/Makefile.in @@ -156,6 +156,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -206,6 +208,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -224,8 +228,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -299,8 +301,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/bin/Makefile.am b/libraries/evas/src/bin/Makefile.am index 987e14b..7159eaa 100644 --- a/libraries/evas/src/bin/Makefile.am +++ b/libraries/evas/src/bin/Makefile.am @@ -18,8 +18,6 @@ AM_CPPFLAGS = \ @pthread_cflags@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - bin_PROGRAMS = evas_cserve evas_cserve_tool evas_cserve_SOURCES = \ diff --git a/libraries/evas/src/bin/Makefile.in b/libraries/evas/src/bin/Makefile.in index 136b34c..1a23abe 100644 --- a/libraries/evas/src/bin/Makefile.in +++ b/libraries/evas/src/bin/Makefile.in @@ -162,6 +162,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -212,6 +214,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -230,8 +234,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -305,8 +307,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -406,7 +406,6 @@ MAINTAINERCLEANFILES = Makefile.in @EVAS_CSERVE_TRUE@@pthread_cflags@ \ @EVAS_CSERVE_TRUE@@PIXMAN_CFLAGS@ -@EVAS_CSERVE_TRUE@AM_CFLAGS = @WIN32_CFLAGS@ @EVAS_CSERVE_TRUE@evas_cserve_SOURCES = \ @EVAS_CSERVE_TRUE@evas_cserve_main.c diff --git a/libraries/evas/src/bin/evas_cserve_main.c b/libraries/evas/src/bin/evas_cserve_main.c index 7d4d95a..92718da 100644 --- a/libraries/evas/src/bin/evas_cserve_main.c +++ b/libraries/evas/src/bin/evas_cserve_main.c @@ -642,10 +642,9 @@ mem_cache_adjust(void) { int pval = cache_max_adjust; int max = 0; - int mem_used; if (mem_total <= 0) return; - mem_used = mem_total - mem_free - mem_cached - mem_buffers; + //int mem_used = mem_total - mem_free - mem_cached - mem_buffers; #if 0 // this lets the image cache to grow to fill all real free ram, if // there is any (ie ram unused by disk cache) if (mem_free < mem_total) diff --git a/libraries/evas/src/examples/Makefile.am b/libraries/evas/src/examples/Makefile.am index ffa9274..a52e3f8 100644 --- a/libraries/evas/src/examples/Makefile.am +++ b/libraries/evas/src/examples/Makefile.am @@ -26,8 +26,6 @@ AM_CPPFLAGS = \ @FONTCONFIG_CFLAGS@ \ @pthread_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ - examples_PROGRAMS = if BUILD_ENGINE_BUFFER diff --git a/libraries/evas/src/examples/Makefile.in b/libraries/evas/src/examples/Makefile.in index f58d297..1cc1108 100644 --- a/libraries/evas/src/examples/Makefile.in +++ b/libraries/evas/src/examples/Makefile.in @@ -289,6 +289,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -339,6 +341,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -357,8 +361,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -432,8 +434,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -539,7 +539,6 @@ files_DATA = $(am__append_3) $(am__append_4) @BUILD_EXAMPLES_TRUE@ @pthread_cflags@ $(am__append_1) \ @BUILD_EXAMPLES_TRUE@ @ECORE_EVAS_CFLAGS@ @EDJE_CFLAGS@ \ @BUILD_EXAMPLES_TRUE@ $(am__empty) -@BUILD_EXAMPLES_TRUE@AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_ENGINE_BUFFER_TRUE@@BUILD_EXAMPLES_TRUE@evas_buffer_simple_SOURCES = evas-buffer-simple.c @BUILD_ENGINE_BUFFER_TRUE@@BUILD_EXAMPLES_TRUE@evas_buffer_simple_LDADD = $(top_builddir)/src/lib/libevas.la @BUILD_EXAMPLES_TRUE@evas_init_shutdown_SOURCES = evas-init-shutdown.c diff --git a/libraries/evas/src/examples/evas-box.c b/libraries/evas/src/examples/evas-box.c index 13f12cf..ec79535 100644 --- a/libraries/evas/src/examples/evas-box.c +++ b/libraries/evas/src/examples/evas-box.c @@ -5,7 +5,7 @@ * one). See stdout/stderr for output. * * @verbatim - * gcc -o evas-box evas-box.c `pkg-config --libs --cflags evas ecore ecore-evas` + * gcc -o evas-box evas-box.c `pkg-config --libs --cflags evas ecore ecore-evas eina` * @endverbatim */ diff --git a/libraries/evas/src/examples/evas-hints.c b/libraries/evas/src/examples/evas-hints.c index c42444c..78c09ba 100644 --- a/libraries/evas/src/examples/evas-hints.c +++ b/libraries/evas/src/examples/evas-hints.c @@ -16,6 +16,8 @@ #ifdef HAVE_CONFIG_H #include "config.h" +#else +#define __UNUSED__ #endif #include @@ -27,6 +29,7 @@ #define WIDTH 320 #define HEIGHT 480 +#define PACKAGE_EXAMPLES_DIR "." static const char commands[] = \ "commands are:\n" diff --git a/libraries/evas/src/lib/Evas.h b/libraries/evas/src/lib/Evas.h index b85bbeb..67d3018 100644 --- a/libraries/evas/src/lib/Evas.h +++ b/libraries/evas/src/lib/Evas.h @@ -2,9 +2,10 @@ @mainpage Evas @version 1.1 -@date 2000-2011 +@date 2000-2012 Please see the @ref authors page for contact details. +@link Evas.h Evas API @endlink @link Evas.h Evas API @endlink @@ -489,7 +490,7 @@ typedef enum _Evas_Event_Flags { EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */ EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */ - EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */ + EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the event occurs while scrolling; for example, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */ } Evas_Event_Flags; /**< Flags for Events */ /** @@ -501,7 +502,7 @@ typedef enum _Evas_Touch_Point_State EVAS_TOUCH_POINT_UP, /**< Touch point is released */ EVAS_TOUCH_POINT_MOVE, /**< Touch point is moved */ EVAS_TOUCH_POINT_STILL, /**< Touch point is not moved after pressed */ - EVAS_TOUCH_POINT_CANCEL /**< Touch point is calcelled */ + EVAS_TOUCH_POINT_CANCEL /**< Touch point is cancelled */ } Evas_Touch_Point_State; /** @@ -527,7 +528,7 @@ typedef enum _Evas_Colorspace EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */ EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */ EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */ - EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to line of Y,Cb,Y,Cr bytes */ + EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specifications. The data pointed to is just an array of row pointer, pointing to line of Y,Cb,Y,Cr bytes */ EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb,Cr rows. */ EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of tiled row pointer, pointing to the Y rows, then the Cb,Cr rows. */ } Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ @@ -536,7 +537,7 @@ typedef enum _Evas_Colorspace * How to pack items into cells in a table. * @ingroup Evas_Object_Table * - * @see evas_object_table_homogeneous_set() for an explanation of the funcion of + * @see evas_object_table_homogeneous_set() for an explanation of the function of * each one. */ typedef enum _Evas_Object_Table_Homogeneous_Mode @@ -693,7 +694,7 @@ typedef enum _Evas_Load_Error EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */ EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */ EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not exist */ - EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission deinied to an existing file (or path) */ + EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission denied to an existing file (or path) */ EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resources failure prevented load */ EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as a known format) */ EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */ @@ -721,7 +722,7 @@ typedef enum _Evas_Pixel_Import_Pixel_Format { EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */ EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the high byte per 32bit pixel word */ - EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V */ + EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 601 color encoding with contiguous planes in the order Y, U and V */ } Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See evas_object_image_pixels_import() */ struct _Evas_Pixel_Import_Source @@ -809,10 +810,10 @@ typedef enum _Evas_Render_Op EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */ EVAS_RENDER_COPY = 2, /**< d = s */ EVAS_RENDER_COPY_REL = 3, /**< d = s*da */ - EVAS_RENDER_ADD = 4, /**< d = d + s */ + EVAS_RENDER_ADD = 4, /* d = d + s */ EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */ EVAS_RENDER_SUB = 6, /**< d = d - s */ - EVAS_RENDER_SUB_REL = 7, /**< d = d - s*da */ + EVAS_RENDER_SUB_REL = 7, /* d = d - s*da */ EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */ EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */ EVAS_RENDER_MASK = 10, /**< d = d*sa */ @@ -1280,7 +1281,7 @@ EAPI Eina_Bool evas_async_events_put (const void *target, Ev * directly, too, and not yet with its @b objects. They are the * functions you need to use at a minimum to get a working canvas. * - * Some of the funcions in this group are exemplified @ref + * Some of the functions in this group are exemplified @ref * Example_Evas_Events "here". */ @@ -1422,13 +1423,13 @@ EAPI void evas_damage_rectangle_add (Evas *e, int x, int y, * was just after this function took place. * * We call it "obscured region" because the most common use case for - * this rendering (partial) freeze is something else (most problaby + * this rendering (partial) freeze is something else (most probably * other canvas) being on top of the specified rectangular region, * thus shading it completely from the user's final scene in a * display. To avoid unnecessary processing, one should indicate to the * obscured canvas not to bother about the non-important area. * - * The majority of users won't have to worry about this funcion, as + * The majority of users won't have to worry about this function, as * they'll be using just one canvas in their applications, with * nothing inset or on top of it in any form. * @@ -2077,7 +2078,7 @@ EAPI void evas_pointer_canvas_xy_get (const Evas *e, Evas_Co * Returns a bitmask with the mouse buttons currently pressed, set to 1 * * @param e The pointer to the Evas Canvas - * @return A bitmask of the currently depressed buttons on the cavas + * @return A bitmask of the currently depressed buttons on the canvas * @ingroup Evas_Pointer_Group * * Calling this function will return a 32-bit integer with the @@ -2150,7 +2151,7 @@ EAPI Eina_Bool evas_pointer_inside_get (const Evas *e) EINA_WA * its internal states changing (an object got focused, the rendering * is updated, etc). * - * Some of the funcions in this group are exemplified @ref + * Some of the functions in this group are exemplified @ref * Example_Evas_Events "here". * * @ingroup Evas_Canvas @@ -2308,14 +2309,14 @@ EAPI void *evas_event_callback_del_full (Evas *e, Evas_Callb * @param data The data pointer to be passed to the callback * * Evas has a stack of callbacks that get called after all the callbacks for - * an event have triggered (all the objects it triggers on and al the callbacks + * an event have triggered (all the objects it triggers on and all the callbacks * in each object triggered). When all these have been called, the stack is * unwond from most recently to least recently pushed item and removed from the * stack calling the callback set for it. * * This is intended for doing reverse logic-like processing, example - when a * child object that happens to get the event later is meant to be able to - * "steal" functions from a parent and thus on unwind of this stack hav its + * "steal" functions from a parent and thus on unwind of this stack have its * function called first, thus being able to set flags, or return 0 from the * post-callback that stops all other post-callbacks in the current stack from * being called (thus basically allowing a child to take control, if the event @@ -2359,7 +2360,7 @@ EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_Objec * an Evas canvas. * * There might be scenarios during a graphical user interface - * program's use when the developer whishes the users wouldn't be able + * program's use when the developer wishes the users wouldn't be able * to deliver input events to this application. It may, for example, * be the time for it to populate a view or to change some * layout. Assuming proper behavior with user interaction during this @@ -2367,7 +2368,14 @@ EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_Objec * programmer can then tell the canvas to ignore input events, * bringing it back to normal behavior when he/she wants. * - * Some of the funcions in this group are exemplified @ref + * Most of the time use of freezing events is done like this: + * @code + * evas_event_freeze(my_evas_canvas); + * function_that_does_work_which_cant_be_interrupted_by_events(); + * evas_event_thaw(my_evas_canvas); + * @endcode + * + * Some of the functions in this group are exemplified @ref * Example_Evas_Events "here". * * @ingroup Evas_Canvas_Events @@ -2416,7 +2424,7 @@ EAPI Evas_Event_Flags evas_event_default_flags_get (const Evas *e) EINA_AR * of this kind during the freeze will get @b discarded. Every freeze * call must be matched by a thaw call in order to completely thaw out * a canvas (i.e. these calls may be nested). The most common use is - * when you don't want the user to interect with your user interface + * when you don't want the user to interact with your user interface * when you're populating a view or changing the layout. * * Example: @@ -2494,13 +2502,18 @@ EAPI void evas_event_thaw_eval (Evas *e) EINA_ARG_NONN * Functions to tell Evas that input events happened and should be * processed. * + * @warning Most of the time these functions are @b not what you're looking for. + * These functions should only be used if you're not working with ecore evas(or + * another input handling system). If you're not using ecore evas please + * consider using it, in most situation it will make life a lot easier. + * * As explained in @ref intro_not_evas, Evas does not know how to poll * for input events, so the developer should do it and then feed such * events to the canvas to be processed. This is only required if * operating Evas directly. Modules such as Ecore_Evas do that for * you. * - * Some of the funcions in this group are exemplified @ref + * Some of the functions in this group are exemplified @ref * Example_Evas_Events "here". * * @ingroup Evas_Canvas_Events @@ -2928,7 +2941,7 @@ EAPI const Eina_List *evas_font_path_list (const Evas *e) EINA_WA * - textblock and * - image. * - * These functions apply to @b any Evas object, whichever type thay + * These functions apply to @b any Evas object, whichever type that * may have. * * @note The built-in types which are most used are rectangles, text @@ -2939,14 +2952,21 @@ EAPI const Eina_List *evas_font_path_list (const Evas *e) EINA_WA /** * @defgroup Evas_Object_Group_Basic Basic Object Manipulation * - * Methods that are broadly used, like those that change the color, - * clippers and geometry of an Evas object. - * - * An example on the most used functions in this group can be seen @ref - * Example_Evas_Object_Manipulation "here". - * - * For function dealing with stacking, the examples are gathered @ref - * Example_Evas_Stacking "here". + * Almost every evas object created will have some generic function used to + * manipulate it. That's because there are a number of basic actions to be done + * to objects that are irrespective of the object's type, things like: + * @li Showing/Hiding + * @li Setting(and getting) geometry + * @li Bring up or down a layer + * @li Color management + * @li Handling focus + * @li Clipping + * @li Reference counting + * + * All of this issues are handled through the functions here grouped. Examples + * of these function can be seen in @ref Example_Evas_Object_Manipulation(which + * deals with the most common ones) and in @ref Example_Evas_Stacking(which + * deals with stacking functions). * * @ingroup Evas_Object_Group */ @@ -3444,7 +3464,7 @@ EAPI void evas_object_hide (Evas_Object *obj) EINA * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE * otherwise. * - * This retrieves an object's visibily as the one enforced by + * This retrieves an object's visibility as the one enforced by * evas_object_show() and evas_object_hide(). * * @note The value returned isn't, by any means, influenced by @@ -3492,7 +3512,7 @@ EAPI void evas_object_color_set (Evas_Object *obj, int * Retrieves the “main” color's RGB component (and alpha channel) * values, which range from 0 to 255. For the alpha channel, * which defines the object's transparency level, 0 means totally - * trasparent, while 255 means opaque. These color values are + * transparent, while 255 means opaque. These color values are * premultiplied by the alpha value. * * Usually you’ll use this attribute for text and rectangle objects, @@ -4406,7 +4426,7 @@ EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj) EIN * @image rtf map-uv-mapping-1.png * @image latex map-uv-mapping-1.eps * - * Images need some special handlign when mapped. Evas can easily take care + * Images need some special handling when mapped. Evas can easily take care * of objects and do almost anything with them, but it's completely oblivious * to the content of images, so each point in the map needs to be told to what * pixel in the source image it belongs. Failing to do may sometimes result @@ -4572,7 +4592,7 @@ EAPI void evas_object_map_set (Evas_Object *obj, cons * Get current object transformation map. * * This returns the current internal map set on the indicated object. It is - * intended for read-only acces and is only valid as long as the object is + * intended for read-only access and is only valid as long as the object is * not deleted or the map on the object is not changed. If you wish to modify * the map and set it back do the following: * @@ -4678,7 +4698,7 @@ EAPI void evas_map_util_points_color_set (Evas_Map * * * This rotates the indicated map's coordinates around the center coordinate * given by @p cx and @p cy as the rotation center. The points will have their - * X and Y coordinates rotated clockwise by @p degrees degress (360.0 is a + * X and Y coordinates rotated clockwise by @p degrees degrees (360.0 is a * full rotation). Negative values for degrees will rotate counter-clockwise * by that amount. All coordinates are canvas global coordinates. * @@ -4698,7 +4718,7 @@ EAPI void evas_map_util_rotate (Evas_Map * * Like evas_map_util_rotate(), this zooms the points of the map from a center * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zoomy * parameters specify how much to zoom in the X and Y direction respectively. - * A value of 1.0 means "don't zoom". 2.0 means "dobule the size". 0.5 is + * A value of 1.0 means "don't zoom". 2.0 means "double the size". 0.5 is * "half the size" etc. All coordinates are canvas global coordinates. * * @param m map to change. @@ -4723,9 +4743,9 @@ EAPI void evas_map_util_zoom (Evas_Map * * evas_map_util_rotate() you provide a center point to rotate around (in 3D). * * @param m map to change. - * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis. - * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis. - * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis. + * @param dx amount of degrees from 0.0 to 360.0 to rotate around X axis. + * @param dy amount of degrees from 0.0 to 360.0 to rotate around Y axis. + * @param dz amount of degrees from 0.0 to 360.0 to rotate around Z axis. * @param cx rotation's center horizontal position. * @param cy rotation's center vertical position. * @param cz rotation's center vertical position. @@ -4794,8 +4814,8 @@ EAPI void evas_map_util_3d_lighting (Evas_Map * * This applies a given perspective (3D) to the map coordinates. X, Y and Z * values are used. The px and py points specify the "infinite distance" point * in the 3D conversion (where all lines converge to like when artists draw - * 3D by hand). The @p z0 value specifis the z value at which there is a 1:1 - * mapping between spatial coorinates and screen coordinates. Any points + * 3D by hand). The @p z0 value specifies the z value at which there is a 1:1 + * mapping between spatial coordinates and screen coordinates. Any points * on this z value will not have their X and Y values modified in the transform. * Those further away (Z value higher) will shrink into the distance, and * those less than this value will expand and become bigger. The @p foc value @@ -4805,8 +4825,8 @@ EAPI void evas_map_util_3d_lighting (Evas_Map * * control and @p foc must be greater than 0. * * @param m map to change. - * @param px The pespective distance X coordinate - * @param py The pespective distance Y coordinate + * @param px The perspective distance X coordinate + * @param py The perspective distance Y coordinate * @param z0 The "0" z plane value * @param foc The focal distance */ @@ -4885,7 +4905,7 @@ EAPI void evas_map_alpha_set (Evas_Map *m, Eina_Bool /** * get the alpha flag for map rendering * - * This gets the alph flag for map rendering. + * This gets the alpha flag for map rendering. * * @param m map to get the alpha from. Must not be NULL. */ @@ -4926,17 +4946,17 @@ EAPI int evas_map_count_get (const Evas_Map *m) EINA * * This sets the fixed point's coordinate in the map. Note that points * describe the outline of a quadrangle and are ordered either clockwise - * or anit-clock-wise. It is suggested to keep your quadrangles concave and + * or anti-clock-wise. It is suggested to keep your quadrangles concave and * non-complex, though these polygon modes may work, they may not render * a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2, - * 2 and 3, and 3 and 0 to describe the edges of the quandrangle. + * 2 and 3, and 3 and 0 to describe the edges of the quadrangle. * * The X and Y and Z coordinates are in canvas units. Z is optional and may * or may not be honored in drawing. Z is a hint and does not affect the * X and Y rendered coordinates. It may be used for calculating fills with * perspective correct rendering. * - * Remember all coordinates are canvas global ones like with move and reize + * Remember all coordinates are canvas global ones like with move and resize * in evas. * * @param m map to change point. Must not be @c NULL. @@ -5466,7 +5486,7 @@ EAPI void evas_object_size_hint_padding_set (Evas_Object *obj, Evas * * @param obj The object to attach the data pointer to * @param key The string key for the data to access it - * @param data The ponter to the data to be attached + * @param data The pointer to the data to be attached * * This attaches the pointer @p data to the object @p obj, given the * access string @p key. This pointer will stay "hooked" to the object @@ -6124,13 +6144,99 @@ EAPI void *evas_object_intercept_move_callback_del (Evas_Obje * * @brief Function to create evas rectangle objects. * - * This function may seem useless given there are no functions to manipulate - * the created rectangle, however the rectangle is actually very useful and can - * be manipulate using the generic @ref Evas_Object_Group - * "evas object functions". + * There is only one function to deal with rectangle objects, this may make this + * function seem useless given there are no functions to manipulate the created + * rectangle, however the rectangle is actually very useful and should be + * manipulated using the generic @ref Evas_Object_Group "evas object functions". + * + * The evas rectangle server a number of key functions when working on evas + * programs: + * @li Background + * @li Debugging + * @li Clipper + * + * @section Background * - * For an example of use of an evas_object_rectangle see @ref - * Example_Evas_Object_Manipulation "here". + * One extremely common requirement of evas programs is to have a solid color + * background, this can be accomplished with the following very simple code: + * @code + * Evas_Object *bg = evas_object_rectangle_add(evas_canvas); + * //Here we set the rectangles red, green, blue and opacity levels + * evas_object_color_set(bg, 255, 255, 255, 255); // opaque white background + * evas_object_resize(bg, WIDTH, HEIGHT); // covers full canvas + * evas_object_show(bg); + * @endcode + * + * This however will have issues if the @c evas_canvas is resized, however most + * windows are created using ecore evas and that has a solution to using the + * rectangle as a background: + * @code + * Evas_Object *bg = evas_object_rectangle_add(ecore_evas_get(ee)); + * //Here we set the rectangles red, green, blue and opacity levels + * evas_object_color_set(bg, 255, 255, 255, 255); // opaque white background + * evas_object_resize(bg, WIDTH, HEIGHT); // covers full canvas + * evas_object_show(bg); + * ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); + * @endcode + * So this gives us a white background to our window that will be resized + * together with it. + * + * @section Debugging + * + * Debugging is a major part of any programmers task and when debugging visual + * issues with evas programs the rectangle is an extremely useful tool. The + * rectangle's simplicity means that it's easier to pinpoint issues with it than + * with more complex objects. Therefore a common technique to use when writing + * an evas program and not getting the desired visual result is to replace the + * misbehaving object for a solid color rectangle and seeing how it interacts + * with the other elements, this often allows us to notice clipping, parenting + * or positioning issues. Once the issues have been identified and corrected the + * rectangle can be replaced for the original part and in all likelihood any + * remaining issues will be specific to that object's type. + * + * @section clipping Clipping + * + * Clipping serves two main functions: + * @li Limiting visibility(i.e. hiding portions of an object). + * @li Applying a layer of color to an object. + * + * @subsection hiding Limiting visibility + * + * It is often necessary to show only parts of an object, while it may be + * possible to create an object that corresponds only to the part that must be + * shown(and it isn't always possible) it's usually easier to use a a clipper. A + * clipper is a rectangle that defines what's visible and what is not. The way + * to do this is to create a solid white rectangle(which is the default, no need + * to call evas_object_color_set()) and give it a position and size of what + * should be visible. The following code exemplifies showing the center half of + * @c my_evas_object: + * @code + * Evas_Object *clipper = evas_object_rectangle_add(evas_canvas); + * evas_object_move(clipper, my_evas_object_x / 4, my_evas_object_y / 4); + * evas_object_resize(clipper, my_evas_object_width / 2, my_evas_object_height / 2); + * evas_object_clip_set(my_evas_object, clipper); + * evas_object_show(clipper); + * @endcode + * + * @subsection color Layer of color + * + * In the @ref clipping section we used a solid white clipper, which produced no + * change in the color of the clipped object, it just hid what was outside the + * clippers area. It is however sometimes desirable to change the of color an + * object, this can be accomplished using a clipper that has a non-white color. + * Clippers with color work by multiplying the colors of clipped object. The + * following code will show how to remove all the red from an object: + * @code + * Evas_Object *clipper = evas_object_rectangle_add(evas); + * evas_object_move(clipper, my_evas_object_x, my_evas_object_y); + * evas_object_resize(clipper, my_evas_object_width, my_evas_object_height); + * evas_object_color_set(clipper, 0, 255, 255, 255); + * evas_object_clip_set(obj, clipper); + * evas_object_show(clipper); + * @endcode + * + * For an example that more fully exercise the use of an evas object rectangle + * see @ref Example_Evas_Object_Manipulation. * * @ingroup Evas_Object_Specific */ @@ -6172,7 +6278,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU * object's area
with that given pixel data. One could use just a * sub-region of the original image or even have it tiled repeatedly * on the image object. For the common case of having the whole source - * image to be displayed on the image object, streched to the + * image to be displayed on the image object, stretched to the * destination's size, there's also a function helper, to be used * instead of evas_object_image_fill_set(): * @code @@ -6208,7 +6314,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU * at a given image, at full size, and will desire that the navigation * to the adjacent images on his/her album be fluid and fast. Thus, * while displaying a given image, the program can be on the - * background loading the next and previous imagens already, so that + * background loading the next and previous images already, so that * displaying them on the sequence is just a matter of repainting the * screen (and not decoding image data). * @@ -6247,7 +6353,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU * are also some tips on how to boost the performance of your * application. If the animation involves resizing of an image (thus, * re-scaling), you'd better turn off smooth scaling on it @b during - * the animation, turning it back on afterwrads, for less + * the animation, turning it back on afterwards, for less * computations. Also, in this case you'd better flag the image object * in question not to cache scaled versions of it: * @code @@ -6290,7 +6396,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU * your own data as an image's pixel data, fetch an image's pixel data * for saving/altering, convert images between different color spaces * and even advanced operations like setting a native surface as image - * objecs' data. + * objects' data. * * @section Evas_Object_Image_Color_Spaces Color spaces * @@ -6679,7 +6785,7 @@ EAPI double evas_object_image_border_scale_get (const Ev * * See the following image to better understand the effects of this * call. On this diagram, both image object and original image source - * have @c a x @c a dimentions and the image itself is a circle, with + * have @c a x @c a dimensions and the image itself is a circle, with * empty space around it: * * @image html image-fill.png @@ -6689,7 +6795,7 @@ EAPI double evas_object_image_border_scale_get (const Ev * @warning The default values for the fill parameters are @p x = 0, * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the * evas_object_image_filled_add() helper and want your image - * displayed, you'll have to set valid values with this fuction on + * displayed, you'll have to set valid values with this function on * your object. * * @note evas_object_image_filled_set() is a helper function which @@ -6823,7 +6929,7 @@ EAPI void evas_object_image_data_set (Evas_Obj * This is best suited for when you want to modify an existing image, * without changing its dimensions. * - * @note The contents' formart returned by it depend on the color + * @note The contents' format returned by it depend on the color * space of the given image object. * * @note You may want to use evas_object_image_data_update_add() to @@ -7022,7 +7128,7 @@ EAPI Eina_Bool evas_object_image_save (const Ev EAPI Eina_Bool evas_object_image_pixels_import (Evas_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); /** - * Set the callback function to get pixels from a canva's image. + * Set the callback function to get pixels from a canvas' image. * * @param obj The given canvas pointer. * @param func The callback function. @@ -7403,7 +7509,7 @@ EAPI Eina_Bool evas_object_image_extension_can_load_get(const char *file); * Check if a file extension may be supported by @ref Evas_Object_Image. * * @param file The file to check, it should be an Eina_Stringshare. - * @return EINA_TRUE if we may be able to opeen it, EINA_FALSE if it's unlikely. + * @return EINA_TRUE if we may be able to open it, EINA_FALSE if it's unlikely. * @since 1.1.0 * * This functions is threadsafe. @@ -7607,7 +7713,7 @@ EAPI void evas_object_image_animated_frame_set(Evas_Object *obj, int frame_num); /** * Text style type creation macro. This one will impose shadow * directions on the style type variable -- use the @c - * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incremmentally. + * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incrementally. */ #define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \ do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (0) @@ -7686,7 +7792,7 @@ EAPI const char *evas_object_text_font_source_get (const Evas_Object *obj * * This function allows the font name and size of a text object to be * set. The @p font string has to follow fontconfig's convention on - * naming fonts, as it's the underlying lybrary used to query system + * naming fonts, as it's the underlying library used to query system * fonts by Evas (see the @c fc-list command's output, on your system, * to get an idea). * @@ -8286,6 +8392,40 @@ EAPI void evas_object_textblock_style_set(Evas_Object *o EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); /** + * Push ts to the top of the user style stack. + * + * FIXME: API is solid but currently only supports 1 style in the stack. + * + * The user style overrides the corresponding elements of the regular style. + * This is the proper way to do theme overrides in code. + * @param obj the Evas object to set the style to. + * @param ts the style to set. + * @return Returns no value. + * @see evas_object_textblock_style_set + * @since 1.2.0 + */ +EAPI void evas_object_textblock_style_user_push(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); + +/** + * Del the from the top of the user style stack. + * + * @param obj the object to get the style from. + * @see evas_object_textblock_style_get + * @since 1.2.0 + */ +EAPI void evas_object_textblock_style_user_pop(Evas_Object *obj) EINA_ARG_NONNULL(1); + +/** + * Get (don't remove) the style at the top of the user style stack. + * + * @param obj the object to get the style from. + * @return the style of the object. + * @see evas_object_textblock_style_get + * @since 1.2.0 + */ +EAPI const Evas_Textblock_Style *evas_object_textblock_style_user_peek(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); + +/** * @brief Set the "replacement character" to use for the given textblock object. * * @param obj The given textblock object. @@ -8320,7 +8460,7 @@ EAPI void evas_object_textblock_valign_set(Evas_Object * * @brief Gets the vertical alignment of a textblock * * @param obj The given textblock object. - * @return The elignment set for the object + * @return The alignment set for the object * @since 1.1.0 */ EAPI double evas_object_textblock_valign_get(const Evas_Object *obj); @@ -8524,7 +8664,7 @@ EAPI void evas_textblock_node_format_remove_pair(Evas_Ob * @param n the format node to update according. * @deprecated duplicate of evas_textblock_cursor_at_format_set */ -EINA_DEPRECATED EAPI void evas_textblock_cursor_set_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2); +EAPI void evas_textblock_cursor_set_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2); /** * Return the format node at the position pointed by cur. @@ -8847,7 +8987,7 @@ EAPI char *evas_textblock_cursor_content_get(const Evas_T * get, except for the case of the last char of a line which depends on the * paragraph direction. * - * in '|' cursor mode (i.e a line between two chars) it is very varyable. + * in '|' cursor mode (i.e a line between two chars) it is very variable. * For example consider the following visual string: * "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually draw * a '|' between the c and the C. @@ -9348,7 +9488,7 @@ struct _Evas_Smart_Cb_Description return; \ if (!prefix##_parent_sc) \ prefix##_parent_sc = parent_func(); \ - evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent_sc); \ + evas_smart_class_inherit(sc, prefix##_parent_sc); \ prefix##_smart_set_user(api); \ } \ static Evas_Smart * prefix##_smart_class_new(void) \ @@ -9557,7 +9697,7 @@ EAPI int evas_smart_usage_get(const Evas_Smart *s); * @return 1 on success, 0 on failure. * @ingroup Evas_Smart_Group */ -#define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc)) +#define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_full(sc, (Evas_Smart_Class *)parent_sc, sizeof(*parent_sc)) /** * @} @@ -9576,13 +9716,13 @@ EAPI int evas_smart_usage_get(const Evas_Smart *s); * used on the icon object. * * Besides that, generally smart objects implement a specific - * API, so that users interect with its own custom features. The + * API, so that users interact with its own custom features. The * API takes form of explicit exported functions one may call and * smart callbacks. * * @section Evas_Smart_Object_Group_Callbacks Smart events and callbacks * - * Smart objects can elect events (smart events, from now on) ocurring + * Smart objects can elect events (smart events, from now on) occurring * inside of them to be reported back to their users via callback * functions (smart callbacks). This way, you can extend Evas' own * object events. They are defined by an event string, which @@ -9590,7 +9730,7 @@ EAPI int evas_smart_usage_get(const Evas_Smart *s); * definition for the callback functions: #Evas_Smart_Cb. * * When defining an #Evas_Smart_Class, smart object implementors are - * strongly encorauged to properly set the Evas_Smart_Class::callbacks + * strongly encouraged to properly set the Evas_Smart_Class::callbacks * callbacks description array, so that the users of the smart object * can have introspection on its events API at run time. * @@ -9890,7 +10030,7 @@ EAPI void *evas_object_smart_callback_del_full(Evas_Object *obj, con * object should include a list of possible events and what type of @p * event_info to expect for each of them. Also, when defining an * #Evas_Smart_Class, smart object implementors are strongly - * encorauged to properly set the Evas_Smart_Class::callbacks + * encouraged to properly set the Evas_Smart_Class::callbacks * callbacks description array, so that the users of the smart object * can have introspection on its events API at run time. * @@ -9949,7 +10089,7 @@ EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object * @param instance_count Returns how many instance callbacks * descriptions are known. * - * This call searchs for registered callback descriptions for both + * This call searches for registered callback descriptions for both * instance and class of the given smart object. These arrays will be * sorted by Evas_Smart_Cb_Description::name and also @c NULL * terminated, so both @a class_count and @a instance_count can be @@ -10052,7 +10192,7 @@ EAPI void evas_object_smart_need_recalculate_set(Evas_Object *obj, EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); /** - * Call the @b calculate() smart function immediataly on a given smart + * Call the @b calculate() smart function immediately on a given smart * object. * * @param obj the smart object's handle @@ -10091,7 +10231,7 @@ EAPI void evas_smart_objects_calculate (Evas *e); * that this function returns the value of. It starts at the value of 0 and * will increase (and eventually wrap around to negative values and so on) by * 1 every time objects are calculated. You can use this counter to ensure - * you dont re-do calculations withint the same calculation generation/run + * you don't re-do calculations withint the same calculation generation/run * if the calculations maybe cause self-feeding effects. * * @ingroup Evas_Smart_Object_Group @@ -10348,7 +10488,7 @@ EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get (void) EINA Evas_Object_Box_Option *(*prepend) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child); /**< Smart function to prepend child elements in boxes */ Evas_Object_Box_Option *(*insert_before) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< Smart function to insert a child element before another in boxes */ Evas_Object_Box_Option *(*insert_after) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< Smart function to insert a child element after another in boxes */ - Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart function to insert a child element at a given positon on boxes */ + Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart function to insert a child element at a given position on boxes */ Evas_Object *(*remove) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child); /**< Smart function to remove a child element from boxes */ Evas_Object *(*remove_at) (Evas_Object *o, Evas_Object_Box_Data *priv, unsigned int pos); /**< Smart function to remove a child element from boxes, by its position */ Eina_Bool (*property_set) (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args); /**< Smart function to set a custom property on a box child */ @@ -10472,7 +10612,7 @@ EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get (void) EINA * with the default values. May be used to extend that API. * * @param api The box API struct to set back, most probably with - * overriden fields (on class extensions scenarios) + * overridden fields (on class extensions scenarios) */ EAPI void evas_object_box_smart_set (Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1); @@ -10697,7 +10837,7 @@ EAPI void evas_object_box_layout_homogeneous_horizontal * of this overall child width in its allocated cell (@c 0.0 to * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to * @c align_x makes the box try to resize this child element to the exact - * width of its cell (respecting the minimun and maximum size hints on + * width of its cell (respecting the minimum and maximum size hints on * the child's width and accounting for its horizontal padding * hints). The child's @c padding_t, @c padding_b and @c align_y * properties apply for padding/alignment relative to the overall @@ -10978,7 +11118,7 @@ EAPI Evas_Object_Box_Option *evas_object_box_insert_at * On removal, you'll get an unparented object again, just as it was * before you inserted it in the box. The * _Evas_Object_Box_Api::option_free box smart callback will be called - * automatilly for you and, also, the @c "child,removed" smart event + * automatically for you and, also, the @c "child,removed" smart event * will take place. * * @note This call will trigger the box's _Evas_Object_Box_Api::remove @@ -10997,7 +11137,7 @@ EAPI Eina_Bool evas_object_box_remove * * On removal, you'll get an unparented object again, just as it was * before you inserted it in the box. The @c option_free() box smart - * callback will be called automatilly for you and, also, the + * callback will be called automatically for you and, also, the * @c "child,removed" smart event will take place. * * @note This function will fail if the given position is invalid, @@ -11589,8 +11729,8 @@ EAPI Eina_List *evas_object_grid_children_get (const { int saved_memory; /**< current amount of saved memory, in bytes */ int wasted_memory; /**< current amount of wasted memory, in bytes */ - int saved_memory_peak; /**< peak ammount of saved memory, in bytes */ - int wasted_memory_peak; /**< peak ammount of wasted memory, in bytes */ + int saved_memory_peak; /**< peak amount of saved memory, in bytes */ + int wasted_memory_peak; /**< peak amount of wasted memory, in bytes */ double saved_time_image_header_load; /**< time, in seconds, saved in header loads by sharing cached loads instead */ double saved_time_image_data_load; /**< time, in seconds, saved in data loads by sharing cached loads instead */ }; @@ -11803,7 +11943,7 @@ EAPI void evas_color_rgb_to_hsv (int r, int g, int b, f * @param g The Green component of the color. * @param b The Blue component of the color. * - * This function pre-multiplies a given rbg triplet by an alpha + * This function pre-multiplies a given rgb triplet by an alpha * factor. Alpha factor is used to define transparency. * * @ingroup Evas_Utils @@ -12233,7 +12373,7 @@ EAPI Evas_Modifier_Mask evas_key_modifier_mask_get (const Evas *e, const c * modifiers that must and mustn't, respectively, be pressed along * with @p keyname key in order to trigger this new key * grab. Modifiers can be things such as Shift and Ctrl as well as - * user defigned types via evas_key_modifier_add(). Retrieve them with + * user defined types via evas_key_modifier_add(). Retrieve them with * evas_key_modifier_mask_get() or use @c 0 for empty masks. * * @p exclusive will make the given object the only one permitted to diff --git a/libraries/evas/src/lib/Evas_GL.h b/libraries/evas/src/lib/Evas_GL.h index fdfbaad..76937eb 100644 --- a/libraries/evas/src/lib/Evas_GL.h +++ b/libraries/evas/src/lib/Evas_GL.h @@ -404,7 +404,7 @@ EAPI void evas_gl_free (Evas_GL *evas_gl) EINA * As long as the Evas creates a config object for the user, it takes care * of the backward compatibility issue. */ -EAPI Evas_GL_Config *evas_gl_config_new (); +EAPI Evas_GL_Config *evas_gl_config_new (void); /** * Frees a config object created from evas_gl_config_new. diff --git a/libraries/evas/src/lib/Makefile.am b/libraries/evas/src/lib/Makefile.am index 2a1a92d..1240b2b 100644 --- a/libraries/evas/src/lib/Makefile.am +++ b/libraries/evas/src/lib/Makefile.am @@ -76,13 +76,11 @@ SUBDIRS += ../modules/engines/software_8_x11/ EVAS_STATIC_MODULE += ../modules/engines/software_8_x11/libevas_engine_software_8_x11.la EVAS_STATIC_LIBADD += @evas_engine_software_8_x11_libs@ endif -if EVAS_STATIC_BUILD_SOFTWARE_SDL +if EVAS_STATIC_BUILD_SOFTWARE_16_SDL SUBDIRS += \ - ../modules/engines/software_16_sdl/ \ - ../modules/engines/software_sdl/ + ../modules/engines/software_16_sdl/ EVAS_STATIC_MODULE += \ - ../modules/engines/software_16_sdl/libevas_engine_software_16_sdl.la \ - ../modules/engines/software_sdl/libevas_engine_software_sdl.la + ../modules/engines/software_16_sdl/libevas_engine_software_16_sdl.la EVAS_STATIC_LIBADD += @SDL_LIBS@ endif if EVAS_STATIC_BUILD_SOFTWARE_DDRAW @@ -201,8 +199,6 @@ AM_CPPFLAGS = \ @pthread_cflags@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - lib_LTLIBRARIES = libevas.la includes_HEADERS = Evas.h Evas_GL.h diff --git a/libraries/evas/src/lib/Makefile.in b/libraries/evas/src/lib/Makefile.in index ffe71d1..cb04330 100644 --- a/libraries/evas/src/lib/Makefile.in +++ b/libraries/evas/src/lib/Makefile.in @@ -83,15 +83,13 @@ host_triplet = @host@ @EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE@am__append_36 = ../modules/engines/software_8_x11/ @EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE@am__append_37 = ../modules/engines/software_8_x11/libevas_engine_software_8_x11.la @EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE@am__append_38 = @evas_engine_software_8_x11_libs@ -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am__append_39 = \ -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@ ../modules/engines/software_16_sdl/ \ -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@ ../modules/engines/software_sdl/ +@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am__append_39 = \ +@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@ ../modules/engines/software_16_sdl/ -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am__append_40 = \ -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@ ../modules/engines/software_16_sdl/libevas_engine_software_16_sdl.la \ -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@ ../modules/engines/software_sdl/libevas_engine_software_sdl.la +@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am__append_40 = \ +@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@ ../modules/engines/software_16_sdl/libevas_engine_software_16_sdl.la -@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am__append_41 = @SDL_LIBS@ +@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am__append_41 = @SDL_LIBS@ @EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE@am__append_42 = ../modules/engines/software_ddraw/ @EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE@am__append_43 = ../modules/engines/software_ddraw/libevas_engine_software_ddraw.la @EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE@am__append_44 = @evas_engine_software_ddraw_libs@ @@ -346,6 +344,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -396,6 +396,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -414,8 +416,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -489,8 +489,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -625,7 +623,6 @@ AM_CPPFLAGS = \ @pthread_cflags@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ lib_LTLIBRARIES = libevas.la includes_HEADERS = Evas.h Evas_GL.h includesdir = $(includedir)/evas-@VMAJ@ diff --git a/libraries/evas/src/lib/cache/Makefile.am b/libraries/evas/src/lib/cache/Makefile.am index d417262..78d58d2 100644 --- a/libraries/evas/src/lib/cache/Makefile.am +++ b/libraries/evas/src/lib/cache/Makefile.am @@ -7,7 +7,6 @@ AM_CPPFLAGS = -I. \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ - @WIN32_CPPFLAGS@ \ @EVIL_CFLAGS@ \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ diff --git a/libraries/evas/src/lib/cache/Makefile.in b/libraries/evas/src/lib/cache/Makefile.in index 2b50c81..fce77cc 100644 --- a/libraries/evas/src/lib/cache/Makefile.in +++ b/libraries/evas/src/lib/cache/Makefile.in @@ -147,6 +147,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -197,6 +199,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -215,8 +219,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -290,8 +292,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -381,7 +381,6 @@ AM_CPPFLAGS = -I. \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ - @WIN32_CPPFLAGS@ \ @EVIL_CFLAGS@ \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ diff --git a/libraries/evas/src/lib/cache/evas_cache_image.c b/libraries/evas/src/lib/cache/evas_cache_image.c index 73e4f8a..d5b72c5 100644 --- a/libraries/evas/src/lib/cache/evas_cache_image.c +++ b/libraries/evas/src/lib/cache/evas_cache_image.c @@ -42,10 +42,10 @@ static void _evas_cache_image_entry_preload_remove(Image_Entry *ie, const void * #define FREESTRC(Var) \ if (Var) \ - { \ - eina_stringshare_del(Var); \ - Var = NULL; \ - } +{ \ + eina_stringshare_del(Var); \ + Var = NULL; \ +} static void _evas_cache_image_dirty_add(Image_Entry *im); static void _evas_cache_image_dirty_del(Image_Entry *im); @@ -210,9 +210,9 @@ _evas_cache_image_entry_delete(Evas_Cache_Image *cache, Image_Entry *ie) if (ie->flags.delete_me == 1) return; if (ie->preload) { - ie->flags.delete_me = 1; - _evas_cache_image_entry_preload_remove(ie, NULL); - return; + ie->flags.delete_me = 1; + _evas_cache_image_entry_preload_remove(ie, NULL); + return; } #endif @@ -247,10 +247,10 @@ _timestamp_compare(Image_Timestamp *tstamp, struct stat *st) #ifdef _STAT_VER_LINUX #if (defined __USE_MISC && defined st_mtime) if (tstamp->mtime_nsec != (unsigned long int)st->st_mtim.tv_nsec) - return EINA_FALSE; + return EINA_FALSE; #else if (tstamp->mtime_nsec != (unsigned long int)st->st_mtimensec) - return EINA_FALSE; + return EINA_FALSE; #endif #endif return EINA_TRUE; @@ -285,8 +285,8 @@ _evas_cache_image_entry_new(Evas_Cache_Image *cache, ie = cache->func.alloc(); if (!ie) { - *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED; - return NULL; + *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED; + return NULL; } ie->cache = cache; if (hkey) ie->cache_key = eina_stringshare_add(hkey); @@ -307,7 +307,7 @@ _evas_cache_image_entry_new(Evas_Cache_Image *cache, LKI(ie->lock); LKI(ie->lock_cancel); #endif - + if (lo) ie->load_opts = *lo; if (ie->file) { @@ -326,8 +326,8 @@ _evas_cache_image_entry_new(Evas_Cache_Image *cache, static void _evas_cache_image_entry_surface_alloc__locked(Evas_Cache_Image *cache, - Image_Entry *ie, - unsigned int wmin, + Image_Entry *ie, + unsigned int wmin, unsigned int hmin) { if ((ie->allocated.w == wmin) && (ie->allocated.h == hmin)) return; @@ -376,16 +376,16 @@ _evas_cache_image_async_heavy(void *data) if ((!current->flags.loaded) && ((Evas_Image_Load_Func*) current->info.module)->threadable) { - error = cache->func.load(current); - if (cache->func.debug) cache->func.debug("load", current); + error = cache->func.load(current); + if (cache->func.debug) cache->func.debug("load", current); current->load_error = error; - if (error != EVAS_LOAD_ERROR_NONE) - { - current->flags.loaded = 0; - _evas_cache_image_entry_surface_alloc(cache, current, - current->w, current->h); - } - else + if (error != EVAS_LOAD_ERROR_NONE) + { + current->flags.loaded = 0; + _evas_cache_image_entry_surface_alloc(cache, current, + current->w, current->h); + } + else { current->flags.loaded = 1; } @@ -416,11 +416,11 @@ _evas_cache_image_async_end(void *data) ie->flags.preload_done = ie->flags.loaded; while ((tmp = ie->targets)) { - evas_object_inform_call_image_preloaded((Evas_Object*) tmp->target); - ie->targets = (Evas_Cache_Target *) + evas_object_inform_call_image_preloaded((Evas_Object*) tmp->target); + ie->targets = (Evas_Cache_Target *) eina_inlist_remove(EINA_INLIST_GET(ie->targets), EINA_INLIST_GET(ie->targets)); - free(tmp); + free(tmp); } } @@ -429,14 +429,14 @@ _evas_cache_image_async_cancel(void *data) { Evas_Cache_Image *cache = NULL; Image_Entry *ie = (Image_Entry *)data; - + ie->preload = NULL; ie->cache->pending = eina_list_remove(ie->cache->pending, ie); if ((ie->flags.delete_me) || (ie->flags.dirty)) { - ie->flags.delete_me = 0; - _evas_cache_image_entry_delete(ie->cache, ie); - return; + ie->flags.delete_me = 0; + _evas_cache_image_entry_delete(ie->cache, ie); + return; } if (ie->flags.loaded) _evas_cache_image_async_end(ie); #ifdef EVAS_FRAME_QUEUING @@ -485,41 +485,41 @@ _evas_cache_image_entry_preload_remove(Image_Entry *ie, const void *target) { if (target) { - Evas_Cache_Target *tg; - - EINA_INLIST_FOREACH(ie->targets, tg) - { - if (tg->target == target) - { - // FIXME: No callback when we cancel only for one target ? - ie->targets = (Evas_Cache_Target *) + Evas_Cache_Target *tg; + + EINA_INLIST_FOREACH(ie->targets, tg) + { + if (tg->target == target) + { + // FIXME: No callback when we cancel only for one target ? + ie->targets = (Evas_Cache_Target *) eina_inlist_remove(EINA_INLIST_GET(ie->targets), EINA_INLIST_GET(tg)); - free(tg); - break; - } - } + free(tg); + break; + } + } } else { - Evas_Cache_Target *tg; + Evas_Cache_Target *tg; - while (ie->targets) - { - tg = ie->targets; - ie->targets = (Evas_Cache_Target *) + while (ie->targets) + { + tg = ie->targets; + ie->targets = (Evas_Cache_Target *) eina_inlist_remove(EINA_INLIST_GET(ie->targets), EINA_INLIST_GET(tg)); - free(tg); - } + free(tg); + } } if ((!ie->targets) && (ie->preload) && (!ie->flags.pending)) { - ie->cache->preload = eina_list_remove(ie->cache->preload, ie); - ie->cache->pending = eina_list_append(ie->cache->pending, ie); - ie->flags.pending = 1; - evas_preload_thread_cancel(ie->preload); + ie->cache->preload = eina_list_remove(ie->cache->preload, ie); + ie->cache->pending = eina_list_append(ie->cache->pending, ie); + ie->flags.pending = 1; + evas_preload_thread_cancel(ie->preload); } } #endif @@ -566,7 +566,7 @@ evas_cache_image_init(const Evas_Cache_Image_Func *cb) { LKI(engine_lock); LKI(wakeup); - eina_condition_new(&cond_wakeup, &wakeup); + eina_condition_new(&cond_wakeup, &wakeup); } #endif @@ -616,9 +616,9 @@ evas_cache_image_shutdown(Evas_Cache_Image *cache) #ifdef BUILD_ASYNC_PRELOAD EINA_LIST_FREE(cache->preload, im) { - /* By doing that we are protecting us from destroying image when the cache is no longer available. */ - im->flags.delete_me = 1; - _evas_cache_image_entry_preload_remove(im, NULL); + /* By doing that we are protecting us from destroying image when the cache is no longer available. */ + im->flags.delete_me = 1; + _evas_cache_image_entry_preload_remove(im, NULL); } evas_async_events_process(); #endif @@ -642,21 +642,21 @@ evas_cache_image_shutdown(Evas_Cache_Image *cache) eina_hash_foreach(cache->activ, _evas_cache_image_free_cb, &delete_list); while (delete_list) { - _evas_cache_image_entry_delete(cache, eina_list_data_get(delete_list)); - delete_list = eina_list_remove_list(delete_list, delete_list); + _evas_cache_image_entry_delete(cache, eina_list_data_get(delete_list)); + delete_list = eina_list_remove_list(delete_list, delete_list); } #ifdef BUILD_ASYNC_PRELOAD /* Now wait for all pending image to die */ while (cache->pending) { - evas_async_events_process(); - LKL(wakeup); + evas_async_events_process(); + LKL(wakeup); // the lazy bum who did eain threads and converted this code // didn't bother to worry about Eina_Lock being a different type // to a pthread mutex. - if (cache->pending) eina_condition_wait(&cond_wakeup); - LKU(wakeup); + if (cache->pending) eina_condition_wait(&cond_wakeup); + LKU(wakeup); } #endif eina_hash_free(cache->activ); @@ -666,7 +666,7 @@ evas_cache_image_shutdown(Evas_Cache_Image *cache) #ifdef BUILD_ASYNC_PRELOAD if (--_evas_cache_mutex_init == 0) { - eina_condition_free(&cond_wakeup); + eina_condition_free(&cond_wakeup); LKD(engine_lock); LKD(wakeup); } @@ -690,8 +690,8 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, if ((!file) || ((!file) && (!key))) { - *error = EVAS_LOAD_ERROR_GENERIC; - return NULL; + *error = EVAS_LOAD_ERROR_GENERIC; + return NULL; } /* generate hkey from file+key+load opts */ @@ -712,45 +712,45 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, (lo->dpi == 0.0) && ((lo->w == 0) || (lo->h == 0)) && ((lo->region.w == 0) || (lo->region.h == 0)) && - (lo->orientation == 0) - )) + (lo->orientation == 0) + )) { lo = &prevent; } else { - memcpy(hkey + size, "//@/", 4); - size += 4; - size += eina_convert_xtoa(lo->scale_down_by, hkey + size); - hkey[size] = '/'; - size += 1; - size += eina_convert_dtoa(lo->dpi, hkey + size); - hkey[size] = '/'; - size += 1; - size += eina_convert_xtoa(lo->w, hkey + size); - hkey[size] = 'x'; - size += 1; - size += eina_convert_xtoa(lo->h, hkey + size); - hkey[size] = '/'; - size += 1; - size += eina_convert_xtoa(lo->region.x, hkey + size); - hkey[size] = '+'; - size += 1; - size += eina_convert_xtoa(lo->region.y, hkey + size); - hkey[size] = '.'; - size += 1; - size += eina_convert_xtoa(lo->region.w, hkey + size); - hkey[size] = 'x'; - size += 1; - size += eina_convert_xtoa(lo->region.h, hkey + size); - - if (lo->orientation) - { + memcpy(hkey + size, "//@/", 4); + size += 4; + size += eina_convert_xtoa(lo->scale_down_by, hkey + size); + hkey[size] = '/'; + size += 1; + size += eina_convert_dtoa(lo->dpi, hkey + size); + hkey[size] = '/'; + size += 1; + size += eina_convert_xtoa(lo->w, hkey + size); + hkey[size] = 'x'; + size += 1; + size += eina_convert_xtoa(lo->h, hkey + size); + hkey[size] = '/'; + size += 1; + size += eina_convert_xtoa(lo->region.x, hkey + size); + hkey[size] = '+'; + size += 1; + size += eina_convert_xtoa(lo->region.y, hkey + size); + hkey[size] = '.'; + size += 1; + size += eina_convert_xtoa(lo->region.w, hkey + size); + hkey[size] = 'x'; + size += 1; + size += eina_convert_xtoa(lo->region.h, hkey + size); + + if (lo->orientation) + { hkey[size] = '/'; size += 1; hkey[size] = 'o'; size += 1; - } + } } hkey[size] = '\0'; @@ -768,10 +768,10 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, stat_done = 1; if (stat(file, &st) < 0) - { - stat_failed = 1; - ok = 0; - } + { + stat_failed = 1; + ok = 0; + } else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0; if (ok) goto on_ok; /* image we found doesn't match what's on disk (stat info wise) @@ -816,10 +816,12 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, } /* as avtive cache find - if we match in lru and its invalid, dirty */ _evas_cache_image_dirty_add(im); + /* this image never used, so it have to be deleted */ + _evas_cache_image_entry_delete(cache, im); im = NULL; } if (stat_failed) goto on_stat_error; - + if (!stat_done) { if (stat(file, &st) < 0) goto on_stat_error; @@ -830,7 +832,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, if (!im) goto on_stat_error; if (cache->func.debug) cache->func.debug("request", im); - on_ok: +on_ok: *error = EVAS_LOAD_ERROR_NONE; #ifdef EVAS_FRAME_QUEUING LKL(im->lock_references); @@ -841,24 +843,24 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, #endif return im; - on_stat_error: +on_stat_error: #ifndef _WIN32 if ((errno == ENOENT) || (errno == ENOTDIR) || (errno == ENAMETOOLONG) || (errno == ELOOP)) #else - if (errno == ENOENT) + if (errno == ENOENT) #endif - *error = EVAS_LOAD_ERROR_DOES_NOT_EXIST; + *error = EVAS_LOAD_ERROR_DOES_NOT_EXIST; #ifndef _WIN32 - else if ((errno == ENOMEM) || (errno == EOVERFLOW)) + else if ((errno == ENOMEM) || (errno == EOVERFLOW)) #else - else if (errno == ENOMEM) + else if (errno == ENOMEM) #endif - *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED; - else if (errno == EACCES) - *error = EVAS_LOAD_ERROR_PERMISSION_DENIED; - else - *error = EVAS_LOAD_ERROR_GENERIC; + *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED; + else if (errno == EACCES) + *error = EVAS_LOAD_ERROR_PERMISSION_DENIED; + else + *error = EVAS_LOAD_ERROR_GENERIC; if (im) _evas_cache_image_entry_delete(cache, im); return NULL; @@ -879,7 +881,7 @@ evas_cache_image_drop(Image_Entry *im) #ifdef EVAS_FRAME_QUEUING LKU(im->lock_references); #endif - + cache = im->cache; if (references == 0) @@ -893,25 +895,25 @@ evas_cache_image_drop(Image_Entry *im) LKU(im->ref_fq_del); return; } - LKU(im->ref_fq_add); - LKU(im->ref_fq_del); + LKU(im->ref_fq_add); + LKU(im->ref_fq_del); #endif #ifdef BUILD_ASYNC_PRELOAD - if (im->preload) - { - _evas_cache_image_entry_preload_remove(im, NULL); - return; - } -#endif - - if (im->flags.dirty) - { - _evas_cache_image_entry_delete(cache, im); - return; - } + if (im->preload) + { + _evas_cache_image_entry_preload_remove(im, NULL); + return; + } +#endif + + if (im->flags.dirty) + { + _evas_cache_image_entry_delete(cache, im); + return; + } _evas_cache_image_lru_add(im); - if (cache) evas_cache_image_flush(cache); + if (cache) evas_cache_image_flush(cache); } } @@ -974,10 +976,10 @@ evas_cache_image_dirty(Image_Entry *im, unsigned int x, unsigned int y, unsigned } _evas_cache_image_dirty_add(im_dirty); } - + if (cache->func.debug) cache->func.debug("dirty-region", im_dirty); if (cache->func.dirty_region) - cache->func.dirty_region(im_dirty, x, y, w, h); + cache->func.dirty_region(im_dirty, x, y, w, h); return im_dirty; on_error: @@ -1026,7 +1028,7 @@ evas_cache_image_alone(Image_Entry *im) evas_cache_image_drop(im); } return im_dirty; - + on_error: if (im_dirty) _evas_cache_image_entry_delete(cache, im_dirty); evas_cache_image_drop(im); @@ -1039,12 +1041,12 @@ evas_cache_image_copied_data(Evas_Cache_Image *cache, DATA32 *image_data, int alpha, int cspace) { Image_Entry *im; - + if ((cspace == EVAS_COLORSPACE_YCBCR422P601_PL) || (cspace == EVAS_COLORSPACE_YCBCR422P709_PL) || (cspace == EVAS_COLORSPACE_YCBCR422601_PL)) - w &= ~0x1; - + w &= ~0x1; + im = _evas_cache_image_entry_new(cache, NULL, NULL, NULL, NULL, NULL, NULL); if (!im) return NULL; im->space = cspace; @@ -1074,8 +1076,8 @@ evas_cache_image_data(Evas_Cache_Image *cache, unsigned int w, unsigned int h, D if ((cspace == EVAS_COLORSPACE_YCBCR422P601_PL) || (cspace == EVAS_COLORSPACE_YCBCR422P709_PL) || (cspace == EVAS_COLORSPACE_YCBCR422601_PL)) - w &= ~0x1; - + w &= ~0x1; + im = _evas_cache_image_entry_new(cache, NULL, NULL, NULL, NULL, NULL, NULL); if (!im) return NULL; im->w = w; @@ -1101,7 +1103,7 @@ EAPI void evas_cache_image_surface_alloc(Image_Entry *im, unsigned int w, unsigned int h) { Evas_Cache_Image *cache = im->cache; - + if ((im->space == EVAS_COLORSPACE_YCBCR422P601_PL) || (im->space == EVAS_COLORSPACE_YCBCR422P709_PL) || (im->space == EVAS_COLORSPACE_YCBCR422601_PL)) @@ -1145,7 +1147,7 @@ evas_cache_image_size_set(Image_Entry *im, unsigned int w, unsigned int h) if (cache->func.debug) cache->func.debug("size_set", im2); return im2; - on_error: +on_error: if (im2) _evas_cache_image_entry_delete(cache, im2); evas_cache_image_drop(im); return NULL; @@ -1163,26 +1165,26 @@ evas_cache_image_load_data(Image_Entry *im) #ifdef BUILD_ASYNC_PRELOAD if (im->preload) { - preload = EINA_TRUE; - if (!im->flags.pending) - { - im->cache->preload = eina_list_remove(im->cache->preload, im); - im->cache->pending = eina_list_append(im->cache->pending, im); - im->flags.pending = 1; - evas_preload_thread_cancel(im->preload); - } - evas_async_events_process(); - LKL(wakeup); - while (im->preload) - { + preload = EINA_TRUE; + if (!im->flags.pending) + { + im->cache->preload = eina_list_remove(im->cache->preload, im); + im->cache->pending = eina_list_append(im->cache->pending, im); + im->flags.pending = 1; + evas_preload_thread_cancel(im->preload); + } + evas_async_events_process(); + LKL(wakeup); + while (im->preload) + { eina_condition_wait(&cond_wakeup); - LKU(wakeup); - evas_async_events_process(); - LKL(wakeup); - } - LKU(wakeup); + LKU(wakeup); + evas_async_events_process(); + LKL(wakeup); + } + LKU(wakeup); } - + if ((im->flags.loaded) && (!im->flags.animated)) return error; LKL(im->lock); #endif @@ -1226,7 +1228,7 @@ evas_cache_image_unload_data(Image_Entry *im) #ifdef BUILD_ASYNC_PRELOAD LKU(im->lock); #endif - return; + return; } im->cache->func.destructor(im); #ifdef BUILD_ASYNC_PRELOAD @@ -1256,8 +1258,8 @@ evas_cache_image_unload_all(Evas_Cache_Image *cache) EAPI Eina_Bool evas_cache_image_is_loaded(Image_Entry *im) { - if (im->flags.loaded) return EINA_TRUE; - return EINA_FALSE; + if (im->flags.loaded) return EINA_TRUE; + return EINA_FALSE; } EAPI void @@ -1265,15 +1267,15 @@ evas_cache_image_preload_data(Image_Entry *im, const void *target) { #ifdef BUILD_ASYNC_PRELOAD RGBA_Image *img = (RGBA_Image *)im; - + if ((im->flags.loaded) && (img->image.data)) { - evas_object_inform_call_image_preloaded((Evas_Object *)target); - return; + evas_object_inform_call_image_preloaded((Evas_Object *)target); + return; } im->flags.loaded = 0; if (!_evas_cache_image_entry_preload_add(im, target)) - evas_object_inform_call_image_preloaded((Evas_Object *)target); + evas_object_inform_call_image_preloaded((Evas_Object *)target); #else evas_cache_image_load_data(im); evas_object_inform_call_image_preloaded((Evas_Object *)target); @@ -1319,7 +1321,7 @@ static void _dump_cache(Evas_Cache_Image *cache) { Image_Entry *im; - + printf("--CACHE DUMP----------------------------------------------------\n"); printf("cache: %ikb / %ikb\n", cache->usage / 1024, @@ -1342,22 +1344,22 @@ EAPI int evas_cache_image_flush(Evas_Cache_Image *cache) { #ifdef CACHEDUMP - _dump_cache(cache); + _dump_cache(cache); #endif if (cache->limit == (unsigned int)-1) return -1; while ((cache->lru) && (cache->limit < (unsigned int)cache->usage)) { Image_Entry *im; - + im = (Image_Entry *)cache->lru->last; _evas_cache_image_entry_delete(cache, im); } - + while ((cache->lru_nodata) && (cache->limit < (unsigned int)cache->usage)) { Image_Entry *im; - + im = (Image_Entry *) cache->lru_nodata->last; _evas_cache_image_lru_nodata_del(im); cache->func.surface_delete(im); diff --git a/libraries/evas/src/lib/canvas/Makefile.am b/libraries/evas/src/lib/canvas/Makefile.am index 79544aa..e302668 100644 --- a/libraries/evas/src/lib/canvas/Makefile.am +++ b/libraries/evas/src/lib/canvas/Makefile.am @@ -8,7 +8,6 @@ AM_CPPFLAGS = \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@WIN32_CPPFLAGS@ \ @FREETYPE_CFLAGS@ \ @EET_CFLAGS@ \ @FONTCONFIG_CFLAGS@ \ diff --git a/libraries/evas/src/lib/canvas/Makefile.in b/libraries/evas/src/lib/canvas/Makefile.in index 75da67a..c7e48bc 100644 --- a/libraries/evas/src/lib/canvas/Makefile.in +++ b/libraries/evas/src/lib/canvas/Makefile.in @@ -161,6 +161,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -211,6 +213,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -229,8 +233,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -304,8 +306,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -393,10 +393,9 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/src/lib \ -I$(top_srcdir)/src/lib/include -I$(top_srcdir)/src/lib/cserve \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ - -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" @WIN32_CPPFLAGS@ \ - @FREETYPE_CFLAGS@ @EET_CFLAGS@ @FONTCONFIG_CFLAGS@ \ - @EVAS_CFLAGS@ @EINA_CFLAGS@ @EVIL_CFLAGS@ @PIXMAN_CFLAGS@ \ - $(am__append_1) + -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" @FREETYPE_CFLAGS@ \ + @EET_CFLAGS@ @FONTCONFIG_CFLAGS@ @EVAS_CFLAGS@ @EINA_CFLAGS@ \ + @EVIL_CFLAGS@ @PIXMAN_CFLAGS@ $(am__append_1) noinst_LTLIBRARIES = libevas_canvas.la libevas_canvas_la_SOURCES = \ evas_callbacks.c \ diff --git a/libraries/evas/src/lib/canvas/evas_callbacks.c b/libraries/evas/src/lib/canvas/evas_callbacks.c index 93f34f2..47cfb0c 100644 --- a/libraries/evas/src/lib/canvas/evas_callbacks.c +++ b/libraries/evas/src/lib/canvas/evas_callbacks.c @@ -172,6 +172,15 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void if ((obj->delete_me) || (!obj->layer)) return; if ((obj->last_event == event_id) && (obj->last_event_type == type)) return; + if (obj->last_event > event_id) + { + if ((obj->last_event_type == EVAS_CALLBACK_MOUSE_OUT) && + ((type >= EVAS_CALLBACK_MOUSE_DOWN) && + (type <= EVAS_CALLBACK_MULTI_MOVE))) + { + return; + } + } obj->last_event = event_id; obj->last_event_type = type; if (!(e = obj->layer->evas)) return; diff --git a/libraries/evas/src/lib/canvas/evas_events.c b/libraries/evas/src/lib/canvas/evas_events.c index 9b7077e..1ee8388 100644 --- a/libraries/evas/src/lib/canvas/evas_events.c +++ b/libraries/evas/src/lib/canvas/evas_events.c @@ -486,8 +486,9 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t } if (!obj->delete_me) { - if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev, event_id); + if ((e->events_frozen <= 0) && + (!evas_event_freezes_through(obj))) + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev, event_id); } if (e->delete_me) break; if (obj->pointer_mode == EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN) @@ -1668,18 +1669,6 @@ evas_object_freeze_events_set(Evas_Object *obj, Eina_Bool freeze) if (obj->freeze_events == freeze) return; obj->freeze_events = freeze; evas_object_smart_member_cache_invalidate(obj, EINA_FALSE, EINA_TRUE); - if (evas_object_is_in_output_rect(obj, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, 1, 1) && - ((!obj->precise_is_inside) || - (evas_object_is_inside(obj, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y)))) - evas_event_feed_mouse_move(obj->layer->evas, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, - obj->layer->evas->last_timestamp, - NULL); } EAPI Eina_Bool diff --git a/libraries/evas/src/lib/canvas/evas_map.c b/libraries/evas/src/lib/canvas/evas_map.c index 2359d5a..5dcb760 100644 --- a/libraries/evas/src/lib/canvas/evas_map.c +++ b/libraries/evas/src/lib/canvas/evas_map.c @@ -35,7 +35,7 @@ _evas_map_calc_geom_change(Evas_Object *obj) static void _evas_map_calc_map_geometry(Evas_Object *obj) { - Evas_Coord x1, x2, y1, y2; + Evas_Coord x1, x2, yy1, yy2; const Evas_Map_Point *p, *p_end; Eina_Bool ch = EINA_FALSE; @@ -82,7 +82,7 @@ _evas_map_calc_map_geometry(Evas_Object *obj) p = obj->cur.map->points; p_end = p + obj->cur.map->count; x1 = x2 = lround(p->x); - y1 = y2 = lround(p->y); + yy1 = yy2 = lround(p->y); p++; for (; p < p_end; p++) { @@ -92,21 +92,21 @@ _evas_map_calc_map_geometry(Evas_Object *obj) y = lround(p->y); if (x < x1) x1 = x; if (x > x2) x2 = x; - if (y < y1) y1 = y; - if (y > y2) y2 = y; + if (y < yy1) yy1 = y; + if (y > yy2) yy2 = y; } // this causes clip-out bugs now mapped objs canbe opaque!!! // // add 1 pixel of fuzz around the map region to ensure updates are correct -// x1 -= 1; y1 -= 1; -// x2 += 1; y2 += 1; +// x1 -= 1; yy1 -= 1; +// x2 += 1; yy2 += 1; if (obj->cur.map->normal_geometry.x != x1) ch = 1; - if (obj->cur.map->normal_geometry.y != y1) ch = 1; + if (obj->cur.map->normal_geometry.y != yy1) ch = 1; if (obj->cur.map->normal_geometry.w != (x2 - x1)) ch = 1; - if (obj->cur.map->normal_geometry.h != (y2 - y1)) ch = 1; + if (obj->cur.map->normal_geometry.h != (yy2 - yy1)) ch = 1; obj->cur.map->normal_geometry.x = x1; - obj->cur.map->normal_geometry.y = y1; + obj->cur.map->normal_geometry.y = yy1; obj->cur.map->normal_geometry.w = (x2 - x1); - obj->cur.map->normal_geometry.h = (y2 - y1); + obj->cur.map->normal_geometry.h = (yy2 - yy1); if (ch) _evas_map_calc_geom_change(obj); } @@ -374,9 +374,11 @@ evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled) MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); return; MAGIC_CHECK_END(); + Eina_Bool pchange = EINA_FALSE; enabled = !!enabled; if (obj->cur.usemap == enabled) return; + pchange = obj->changed; obj->cur.usemap = enabled; if (enabled) { @@ -405,6 +407,8 @@ evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled) /* This is a bit heavy handed, but it fixes the case of same geometry, but * changed colour or UV settings. */ evas_object_change(obj); + if (!obj->changed_pchange) obj->changed_pchange = pchange; + obj->changed_map = EINA_TRUE; } EAPI Eina_Bool @@ -896,7 +900,7 @@ evas_map_util_3d_lighting(Evas_Map *m, for (i = 0; i < m->count; i++) { double x, y, z; - double nx, ny, nz, x1, y1, z1, x2, y2, z2, ln, br; + double nx, ny, nz, x1, yy1, z1, x2, yy2, z2, ln, br; int h, j, mr, mg, mb; x = m->points[i].x; @@ -907,15 +911,15 @@ evas_map_util_3d_lighting(Evas_Map *m, j = (i + 1) % 4 + (i & ~0x3); // next point x1 = m->points[h].x - x; - y1 = m->points[h].y - y; + yy1 = m->points[h].y - y; z1 = m->points[h].z - z; x2 = m->points[j].x - x; - y2 = m->points[j].y - y; + yy2 = m->points[j].y - y; z2 = m->points[j].z - z; - nx = (y1 * z2) - (z1 * y2); + nx = (yy1 * z2) - (z1 * yy2); ny = (z1 * x2) - (x1 * z2); - nz = (x1 * y2) - (y1 * x2); + nz = (x1 * yy2) - (yy1 * x2); ln = (nx * nx) + (ny * ny) + (nz * nz); ln = sqrt(ln); diff --git a/libraries/evas/src/lib/canvas/evas_object_image.c b/libraries/evas/src/lib/canvas/evas_object_image.c index d9f6378..4ebea08 100644 --- a/libraries/evas/src/lib/canvas/evas_object_image.c +++ b/libraries/evas/src/lib/canvas/evas_object_image.c @@ -2908,11 +2908,31 @@ evas_object_image_render(Evas_Object *obj, void *output, void *context, void *su { Evas_Coord idw, idh, idx, idy; int ix, iy, iw, ih; + int img_set = 0; if (o->dirty_pixels) { if (o->func.get_pixels) { + // Set img object for direct rendering optimization + // Check for image w/h against image geometry w/h + // Check for image color r,g,b,a = {255,255,255,255} + // Check and make sure that there are no maps. + if ( (obj->cur.geometry.w == o->cur.image.w) && + (obj->cur.geometry.h == o->cur.image.h) && + (obj->cur.color.r == 255) && + (obj->cur.color.g == 255) && + (obj->cur.color.b == 255) && + (obj->cur.color.a == 255) && + (!obj->cur.map) ) + { + if (obj->layer->evas->engine.func->gl_img_obj_set) + { + obj->layer->evas->engine.func->gl_img_obj_set(output, obj, o->cur.has_alpha); + img_set = 1; + } + } + o->func.get_pixels(o->func.get_pixels_data, obj); if (o->engine_data != pixels) pixels = o->engine_data; @@ -3152,7 +3172,17 @@ evas_object_image_render(Evas_Object *obj, void *output, void *context, void *su idy = ydy; if (dobreak_w) break; } - } + } + + // Unset img object + if (img_set) + { + if (obj->layer->evas->engine.func->gl_img_obj_set) + { + obj->layer->evas->engine.func->gl_img_obj_set(output, NULL, 0); + img_set = 0; + } + } } } @@ -3371,10 +3401,10 @@ evas_object_image_render_pre(Evas_Object *obj) y = idy; h = ((int)(idy + idh)) - y; - r.x = ((rr->x - 1) * w) / o->cur.image.w; - r.y = ((rr->y - 1) * h) / o->cur.image.h; - r.w = ((rr->w + 2) * w) / o->cur.image.w; - r.h = ((rr->h + 2) * h) / o->cur.image.h; + r.x = (rr->x * w) / o->cur.image.w; + r.y = (rr->y * h) / o->cur.image.h; + r.w = ((rr->w * w) + (o->cur.image.w * 2) - 1) / o->cur.image.w; + r.h = ((rr->h * h) + (o->cur.image.h * 2) - 1) / o->cur.image.h; r.x += obj->cur.geometry.x + x; r.y += obj->cur.geometry.y + y; RECTS_CLIP_TO_RECT(r.x, r.y, r.w, r.h, diff --git a/libraries/evas/src/lib/canvas/evas_object_main.c b/libraries/evas/src/lib/canvas/evas_object_main.c index 86ab498..81fc858 100644 --- a/libraries/evas/src/lib/canvas/evas_object_main.c +++ b/libraries/evas/src/lib/canvas/evas_object_main.c @@ -230,7 +230,7 @@ evas_object_clip_changes_clean(Evas_Object *obj) } void -evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *obj, int is_v, int was_v) +evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *obj, int is_v, int was_v __UNUSED__) { Eina_Rectangle *r; Evas_Object *clipper; @@ -241,7 +241,6 @@ evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *obj, int i if (obj->smart.smart) goto end; /* FIXME: was_v isn't used... why? */ - was_v = 0; if (!obj->clip.clipees) { EINA_ARRAY_ITER_NEXT(rects, i, r, it) @@ -1042,6 +1041,22 @@ evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a) if (g > 255) g = 255; if (g < 0) g = 0; if (b > 255) b = 255; if (b < 0) b = 0; if (a > 255) a = 255; if (a < 0) a = 0; + if (r > a) + { + r = a; + ERR("Evas only handle pre multiplied color !"); + } + if (g > a) + { + g = a; + ERR("Evas only handle pre multiplied color !"); + } + if (b > a) + { + b = a; + ERR("Evas only handle pre multiplied color !"); + } + if (evas_object_intercept_call_color_set(obj, r, g, b, a)) return; if (obj->smart.smart) { diff --git a/libraries/evas/src/lib/canvas/evas_object_textblock.c b/libraries/evas/src/lib/canvas/evas_object_textblock.c index 568911c..ee07e20 100644 --- a/libraries/evas/src/lib/canvas/evas_object_textblock.c +++ b/libraries/evas/src/lib/canvas/evas_object_textblock.c @@ -430,6 +430,7 @@ struct _Evas_Object_Textblock { DATA32 magic; Evas_Textblock_Style *style; + Evas_Textblock_Style *style_user; Evas_Textblock_Cursor *cursor; Eina_List *cursors; Evas_Object_Textblock_Node_Text *text_nodes; @@ -4185,11 +4186,27 @@ _layout(const Evas_Object *obj, int w, int h, int *w_ret, int *h_ret) /* Start of logical layout creation */ /* setup default base style */ - if ((c->o->style) && (c->o->style->default_tag)) { - c->fmt = _layout_format_push(c, NULL, NULL); - _format_fill(c->obj, c->fmt, c->o->style->default_tag); - _format_finalize(c->obj, c->fmt); + Eina_Bool finalize = EINA_FALSE; + if ((c->o->style) && (c->o->style->default_tag)) + { + c->fmt = _layout_format_push(c, NULL, NULL); + _format_fill(c->obj, c->fmt, c->o->style->default_tag); + finalize = EINA_TRUE; + } + + if ((c->o->style_user) && (c->o->style_user->default_tag)) + { + if (!c->fmt) + { + c->fmt = _layout_format_push(c, NULL, NULL); + } + _format_fill(c->obj, c->fmt, c->o->style_user->default_tag); + finalize = EINA_TRUE; + } + + if (finalize) + _format_finalize(c->obj, c->fmt); } if (!c->fmt) { @@ -4485,9 +4502,9 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) { // format MUST be KEY='VALUE'[KEY='VALUE']... const char *p; - const char *key_start, *key_stop, *val_start, *val_stop; + const char *key_start, *key_stop, *val_start; - key_start = key_stop = val_start = val_stop = NULL; + key_start = key_stop = val_start = NULL; p = ts->style_text; while (*p) { @@ -4504,19 +4521,54 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) else if (!val_start) { if (((*p) == '\'') && (*(p + 1))) - val_start = p + 1; - } - else if (!val_stop) - { - if (((*p) == '\'') && (p > ts->style_text) && (p[-1] != '\\')) - val_stop = p; + { + val_start = ++p; + } } - if ((key_start) && (key_stop) && (val_start) && (val_stop)) + if ((key_start) && (key_stop) && (val_start)) { - char *tags, *replaces; + char *tags, *replaces = NULL; Evas_Object_Style_Tag *tag; - size_t tag_len = key_stop - key_start; - size_t replace_len = val_stop - val_start; + const char *val_stop = NULL; + size_t tag_len; + size_t replace_len; + + { + Eina_Strbuf *buf = eina_strbuf_new(); + val_stop = val_start; + while(*p) + { + if (*p == '\'') + { + /* Break if we found the tag end */ + if (p[-1] != '\\') + { + eina_strbuf_append_length(buf, val_stop, + p - val_stop); + break; + } + else + { + eina_strbuf_append_length(buf, val_stop, + p - val_stop - 1); + eina_strbuf_append_char(buf, '\''); + val_stop = p + 1; + } + } + p++; + } + replaces = eina_strbuf_string_steal(buf); + eina_strbuf_free(buf); + } + /* If we didn't find an end, just aboart. */ + if (!*p) + { + if (replaces) free(replaces); + break; + } + + tag_len = key_stop - key_start; + replace_len = val_stop - val_start; tags = malloc(tag_len + 1); if (tags) @@ -4525,12 +4577,6 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) tags[tag_len] = 0; } - replaces = malloc(replace_len + 1); - if (replaces) - { - memcpy(replaces, val_start, replace_len); - replaces[replace_len] = 0; - } if ((tags) && (replaces)) { if (!strcmp(tags, "DEFAULT")) @@ -4561,7 +4607,7 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) if (tags) free(tags); if (replaces) free(replaces); } - key_start = key_stop = val_start = val_stop = NULL; + key_start = key_stop = val_start = NULL; } p++; } @@ -4576,13 +4622,15 @@ evas_textblock_style_get(const Evas_Textblock_Style *ts) } /* textblock styles */ -EAPI void -evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) + +static void +_textblock_style_generic_set(Evas_Object *obj, Evas_Textblock_Style *ts, + Evas_Textblock_Style **obj_ts) { TB_HEAD(); - if (ts == o->style) return; + if (ts == *obj_ts) return; if ((ts) && (ts->delete_me)) return; - if (o->style) + if (*obj_ts) { Evas_Textblock_Style *old_ts; if (o->markup_text) @@ -4591,7 +4639,7 @@ evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) o->markup_text = NULL; } - old_ts = o->style; + old_ts = *obj_ts; old_ts->objects = eina_list_remove(old_ts->objects, obj); if ((old_ts->delete_me) && (!old_ts->objects)) evas_textblock_style_free(old_ts); @@ -4600,12 +4648,19 @@ evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) { ts->objects = eina_list_append(ts->objects, obj); } - o->style = ts; + *obj_ts = ts; _evas_textblock_invalidate_all(o); _evas_textblock_changed(o, obj); } +EAPI void +evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) +{ + TB_HEAD(); + _textblock_style_generic_set(obj, ts, &(o->style)); +} + EAPI const Evas_Textblock_Style * evas_object_textblock_style_get(const Evas_Object *obj) { @@ -4614,6 +4669,27 @@ evas_object_textblock_style_get(const Evas_Object *obj) } EAPI void +evas_object_textblock_style_user_push(Evas_Object *obj, Evas_Textblock_Style *ts) +{ + TB_HEAD(); + _textblock_style_generic_set(obj, ts, &(o->style_user)); +} + +EAPI const Evas_Textblock_Style * +evas_object_textblock_style_user_peek(const Evas_Object *obj) +{ + TB_HEAD_RETURN(NULL); + return o->style_user; +} + +EAPI void +evas_object_textblock_style_user_pop(Evas_Object *obj) +{ + TB_HEAD(); + _textblock_style_generic_set(obj, NULL, &(o->style_user)); +} + +EAPI void evas_object_textblock_replace_char_set(Evas_Object *obj, const char *ch) { TB_HEAD(); @@ -4902,7 +4978,7 @@ evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text) o->markup_text = NULL; } _nodes_clear(obj); - if (!o->style) + if (!o->style && !o->style_user) { if (text != o->markup_text) { @@ -5244,7 +5320,7 @@ evas_textblock_text_markup_to_utf8(const Evas_Object *obj, const char *text) const char *escape; escape = _escaped_char_get(esc_start, esc_end + 1); - eina_strbuf_append(sbuf, escape); + if (escape) eina_strbuf_append(sbuf, escape); esc_start = esc_end = NULL; } else if (*p == 0) @@ -5650,7 +5726,6 @@ EAPI Eina_Bool evas_textblock_cursor_is_format(const Evas_Textblock_Cursor *cur) { if (!cur || !cur->node) return EINA_FALSE; - if (evas_textblock_cursor_format_is_visible_get(cur)) return EINA_TRUE; return (_evas_textblock_cursor_node_format_at_pos_get(cur)) ? EINA_TRUE : EINA_FALSE; } @@ -5977,9 +6052,9 @@ evas_textblock_cursor_format_prev(Evas_Textblock_Cursor *cur) #else #define BREAK_AFTER(i) \ - ((!str[i + 1]) || \ - (_is_white(str[i]) && !_is_white(str[i + 1])) || \ - (!_is_white(str[i]) && _is_white(str[i + 1]))) + ((!text[i + 1]) || \ + (_is_white(text[i]) && !_is_white(text[i + 1])) || \ + (!_is_white(text[i]) && _is_white(text[i + 1]))) #endif @@ -7241,7 +7316,13 @@ _evas_textblock_node_format_new(Evas_Object_Textblock *o, const char *_format) } } - match = _style_match_tag(o->style, format, format_len, &replace_len); + if (!o->style_user || !(match = _style_match_tag(o->style_user, format, + format_len, &replace_len))) + { + match = _style_match_tag(o->style, format, format_len, + &replace_len); + } + if (match) { if (match[0] != '-') @@ -7633,6 +7714,7 @@ evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_C } fnode = _evas_textblock_cursor_node_format_at_pos_get(cur1); + n1->dirty = n2->dirty = EINA_TRUE; if (should_merge) { /* We call this function instead of the cursor one because we already @@ -7646,7 +7728,6 @@ evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_C evas_textblock_cursor_copy(cur1, o->cursor); _evas_textblock_changed(o, cur1->obj); - n1->dirty = n2->dirty = EINA_TRUE; } @@ -8022,6 +8103,7 @@ evas_textblock_cursor_format_is_visible_get(const Evas_Textblock_Cursor *cur) if (!cur) return EINA_FALSE; if (!cur->node) return EINA_FALSE; + if (!evas_textblock_cursor_is_format(cur)) return EINA_FALSE; text = eina_ustrbuf_string_get(cur->node->unicode); return EVAS_TEXTBLOCK_IS_VISIBLE_FORMAT_CHAR(text[cur->pos]); } @@ -9016,12 +9098,22 @@ _size_native_calc_line_finalize(const Evas_Object *obj, Eina_List *items, Eina_List *i; it = eina_list_data_get(items); - /* If there are no text items yet, calc ascent/descent - * according to the current format. */ - if (it && (*ascent + *descent == 0)) - _layout_format_ascent_descent_adjust(obj, ascent, descent, it->format); - *w = 0; + + if (it) + { + /* If there are no text items yet, calc ascent/descent + * according to the current format. */ + if (*ascent + *descent == 0) + _layout_format_ascent_descent_adjust(obj, ascent, descent, + it->format); + + /* Add margins. */ + if (it->format) + *w = it->format->margin.l + it->format->margin.r; + } + + /* Adjust all the item sizes according to the final line size, * and update the x positions of all the items of the line. */ EINA_LIST_FOREACH(items, i, it) @@ -9226,6 +9318,10 @@ evas_object_textblock_free(Evas_Object *obj) evas_object_textblock_clear(obj); evas_object_textblock_style_set(obj, NULL); + while (evas_object_textblock_style_user_peek(obj)) + { + evas_object_textblock_style_user_pop(obj); + } o = (Evas_Object_Textblock *)(obj->object_data); free(o->cursor); while (o->cursors) diff --git a/libraries/evas/src/lib/canvas/evas_render.c b/libraries/evas/src/lib/canvas/evas_render.c index cdedaec..32ce988 100644 --- a/libraries/evas/src/lib/canvas/evas_render.c +++ b/libraries/evas/src/lib/canvas/evas_render.c @@ -612,6 +612,8 @@ pending_change(void *data, void *gdata __UNUSED__) obj->changed_move_only = 0; obj->changed_nomove = 0; obj->changed_move = 0; + obj->changed_map = 0; + obj->changed_pchange = 0; } return obj->changed ? EINA_TRUE : EINA_FALSE; } @@ -984,6 +986,8 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, o2->changed_move_only = 0; o2->changed_nomove = 0; o2->changed_move = 0; + o2->changed_map = 0; + o2->changed_pchange = 0; continue; } if (o2->changed) @@ -994,6 +998,8 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, o2->changed_move_only = 0; o2->changed_nomove = 0; o2->changed_move = 0; + o2->changed_map = 0; + o2->changed_pchange = 0; break; } } @@ -1002,16 +1008,21 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, obj->changed_move_only = 0; obj->changed_nomove = 0; obj->changed_move = 0; + obj->changed_map = 0; + obj->changed_pchange = 0; } else { if (obj->changed) { - changed = 1; + if ((obj->changed_pchange) && (obj->changed_map)) + changed = 1; obj->changed = 0; obj->changed_move_only = 0; obj->changed_nomove = 0; obj->changed_move = 0; + obj->changed_map = 0; + obj->changed_pchange = 0; } } @@ -1144,10 +1155,12 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, e->engine.data.context, ecx, ecy, ecw, ech); if (obj->cur.cache.clip.visible) - obj->layer->evas->engine.func->image_map_draw - (e->engine.data.output, e->engine.data.context, surface, - obj->cur.map->surface, obj->cur.map->count, pts, - obj->cur.map->smooth, 0); + { + obj->layer->evas->engine.func->image_map_draw + (e->engine.data.output, e->engine.data.context, surface, + obj->cur.map->surface, obj->cur.map->count, pts, + obj->cur.map->smooth, 0); + } // FIXME: needs to cache these maps and // keep them only rendering updates // obj->layer->evas->engine.func->image_map_surface_free @@ -1500,6 +1513,12 @@ evas_render_updates_internal(Evas *e, off_x = cx - ux; off_y = cy - uy; /* build obscuring objects list (in order from bottom to top) */ + if (alpha) + { + e->engine.func->context_clip_set(e->engine.data.output, + e->engine.data.context, + ux + off_x, uy + off_y, uw, uh); + } for (i = 0; i < e->obscuring_objects.count; ++i) { obj = (Evas_Object *)eina_array_data_get @@ -1515,9 +1534,6 @@ evas_render_updates_internal(Evas *e, } if (alpha) { - e->engine.func->context_clip_set(e->engine.data.output, - e->engine.data.context, - ux + off_x, uy + off_y, uw, uh); e->engine.func->context_color_set(e->engine.data.output, e->engine.data.context, 0, 0, 0, 0); @@ -1548,7 +1564,7 @@ evas_render_updates_internal(Evas *e, (obj->cur.visible) && (!obj->delete_me) && (obj->cur.cache.clip.visible) && - // (!obj->smart.smart) && +// (!obj->smart.smart) && ((obj->cur.color.a > 0 || obj->cur.render_op != EVAS_RENDER_BLEND))) { int x, y, w, h; @@ -1579,6 +1595,9 @@ evas_render_updates_internal(Evas *e, else e->engine.func->context_mask_unset(e->engine.data.output, e->engine.data.context); + e->engine.func->context_clip_set(e->engine.data.output, + e->engine.data.context, + x, y, w, h); #if 1 /* FIXME: this can slow things down... figure out optimum... coverage */ for (j = offset; j < e->temporary_objects.count; ++j) { @@ -1589,9 +1608,6 @@ evas_render_updates_internal(Evas *e, _evas_render_cutout_add(e, obj2, off_x, off_y); } #endif - e->engine.func->context_clip_set(e->engine.data.output, - e->engine.data.context, - x, y, w, h); clean_them |= evas_render_mapped(e, obj, e->engine.data.context, surface, off_x, off_y, 0, cx, cy, cw, ch @@ -1637,6 +1653,8 @@ evas_render_updates_internal(Evas *e, obj->changed_move_only = 0; obj->changed_nomove = 0; obj->changed_move = 0; + obj->changed_map = 0; + obj->changed_pchange = 0; } else if ((obj->cur.map != obj->prev.map) || (obj->cur.usemap != obj->prev.usemap)) @@ -1648,6 +1666,8 @@ evas_render_updates_internal(Evas *e, obj->changed_move_only = 0; obj->changed_nomove = 0; obj->changed_move = 0; + obj->changed_map = 0; + obj->changed_pchange = 0; } /* moved to other pre-process phase 1 if (obj->delete_me == 2) @@ -1684,6 +1704,7 @@ evas_render_updates_internal(Evas *e, e->framespace.changed = 0; e->invalidate = 0; + // always clean... lots of mem waste! /* If their are some object to restack or some object to delete, * it's useless to keep the render object list around. */ if (clean_them) @@ -1693,6 +1714,17 @@ evas_render_updates_internal(Evas *e, eina_array_clean(&e->restack_objects); eina_array_clean(&e->delete_objects); eina_array_clean(&e->obscuring_objects); + eina_array_clean(&e->temporary_objects); + eina_array_clean(&e->clip_changes); +/* we should flush here and have a mempool system for this + eina_array_flush(&e->active_objects); + eina_array_flush(&e->render_objects); + eina_array_flush(&e->restack_objects); + eina_array_flush(&e->delete_objects); + eina_array_flush(&e->obscuring_objects); + eina_array_flush(&e->temporary_objects); + eina_array_flush(&e->clip_changes); + */ e->invalidate = 1; } @@ -1768,11 +1800,14 @@ evas_render_idle_flush(Evas *e) (e->engine.data.output)) e->engine.func->output_idle_flush(e->engine.data.output); - eina_array_flush(&e->delete_objects); eina_array_flush(&e->active_objects); - eina_array_flush(&e->restack_objects); eina_array_flush(&e->render_objects); + eina_array_flush(&e->restack_objects); + eina_array_flush(&e->delete_objects); + eina_array_flush(&e->obscuring_objects); + eina_array_flush(&e->temporary_objects); eina_array_flush(&e->clip_changes); + eina_array_flush(&e->temporary_objects); e->invalidate = 1; } diff --git a/libraries/evas/src/lib/cserve/Makefile.in b/libraries/evas/src/lib/cserve/Makefile.in index 7599ca2..caff4d6 100644 --- a/libraries/evas/src/lib/cserve/Makefile.in +++ b/libraries/evas/src/lib/cserve/Makefile.in @@ -148,6 +148,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -198,6 +200,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -216,8 +220,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -291,8 +293,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/Makefile.in b/libraries/evas/src/lib/engines/Makefile.in index 4c3c1da..b5cf292 100644 --- a/libraries/evas/src/lib/engines/Makefile.in +++ b/libraries/evas/src/lib/engines/Makefile.in @@ -158,6 +158,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -208,6 +210,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -226,8 +230,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -301,8 +303,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common/Makefile.am b/libraries/evas/src/lib/engines/common/Makefile.am index 9c9918d..0937394 100644 --- a/libraries/evas/src/lib/engines/common/Makefile.am +++ b/libraries/evas/src/lib/engines/common/Makefile.am @@ -13,7 +13,7 @@ AM_CPPFLAGS = -I. \ @FREETYPE_CFLAGS@ @VALGRIND_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EET_CFLAGS@ @pthread_cflags@ \ - @WIN32_CFLAGS@ @EINA_CFLAGS@ \ + @EINA_CFLAGS@ \ @FRIBIDI_CFLAGS@ @HARFBUZZ_CFLAGS@ \ @PIXMAN_CFLAGS@ diff --git a/libraries/evas/src/lib/engines/common/Makefile.in b/libraries/evas/src/lib/engines/common/Makefile.in index 7d1f20a..08526cd 100644 --- a/libraries/evas/src/lib/engines/common/Makefile.in +++ b/libraries/evas/src/lib/engines/common/Makefile.in @@ -202,6 +202,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -252,6 +254,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -270,8 +274,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -345,8 +347,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -441,7 +441,7 @@ AM_CPPFLAGS = -I. \ @FREETYPE_CFLAGS@ @VALGRIND_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EET_CFLAGS@ @pthread_cflags@ \ - @WIN32_CFLAGS@ @EINA_CFLAGS@ \ + @EINA_CFLAGS@ \ @FRIBIDI_CFLAGS@ @HARFBUZZ_CFLAGS@ \ @PIXMAN_CFLAGS@ diff --git a/libraries/evas/src/lib/engines/common/evas_draw_main.c b/libraries/evas/src/lib/engines/common/evas_draw_main.c index def19a8..d08e788 100644 --- a/libraries/evas/src/lib/engines/common/evas_draw_main.c +++ b/libraries/evas/src/lib/engines/common/evas_draw_main.c @@ -559,7 +559,7 @@ evas_common_draw_context_cutout_split(Cutout_Rects* res, int idx, Cutout_Rect *s EAPI Cutout_Rects* evas_common_draw_context_apply_cutouts(RGBA_Draw_Context *dc) { - Cutout_Rects* res; + Cutout_Rects* res, *res2; int i; int j; @@ -583,6 +583,69 @@ evas_common_draw_context_apply_cutouts(RGBA_Draw_Context *dc) active--; } } + /* merge rects */ +#define RI res->rects[i] +#define RJ res->rects[j] + if (res->active > 1) + { + int found = 1; + + while (found) + { + found = 0; + for (i = 0; i < res->active; i++) + { + for (j = i + 1; j < res->active; j++) + { + /* skip empty rects we are removing */ + if (RJ.w == 0) continue; + /* check if its same width, immediately above or below */ + if ((RJ.w == RI.w) && (RJ.x == RI.x)) + { + if ((RJ.y + RJ.h) == RI.y) /* above */ + { + RI.y = RJ.y; + RI.h += RJ.h; + RJ.w = 0; + found = 1; + } + else if ((RI.y + RI.h) == RJ.y) /* below */ + { + RI.h += RJ.h; + RJ.w = 0; + found = 1; + } + } + /* check if its same height, immediately left or right */ + else if ((RJ.h == RI.h) && (RJ.y == RI.y)) + { + if ((RJ.x + RJ.w) == RI.x) /* left */ + { + RI.x = RJ.x; + RI.w += RJ.w; + RJ.w = 0; + found = 1; + } + else if ((RI.x + RI.w) == RJ.x) /* right */ + { + RI.w += RJ.w; + RJ.w = 0; + found = 1; + } + } + } + } + } + res2 = evas_common_draw_context_cutouts_new(); + for (i = 0; i < res->active; i++) + { + if (RI.w == 0) continue; + evas_common_draw_context_cutouts_add(res2, RI.x, RI.y, RI.w, RI.h); + } + free(res->rects); + free(res); + return res2; + } return res; } diff --git a/libraries/evas/src/lib/engines/common/evas_font_load.c b/libraries/evas/src/lib/engines/common/evas_font_load.c index 3fc4521..abba9e3 100644 --- a/libraries/evas/src/lib/engines/common/evas_font_load.c +++ b/libraries/evas/src/lib/engines/common/evas_font_load.c @@ -71,9 +71,7 @@ _evas_common_font_int_free(RGBA_Font_Int *fi) _evas_common_font_int_clear(fi); eina_hash_free(fi->kerning); -#ifdef HAVE_PTHREAD - pthread_mutex_destroy(&fi->ft_mutex); -#endif + LKD(fi->ft_mutex); #ifdef USE_HARFBUZZ hb_font_destroy(fi->ft.hb_font); #endif @@ -301,9 +299,7 @@ _evas_common_font_int_cache_init(RGBA_Font_Int *fi) EINA_KEY_CMP(_evas_common_font_double_int_cmp), EINA_KEY_HASH(_evas_common_font_double_int_hash), free, 3); -#ifdef HAVE_PTHREAD - pthread_mutex_init(&fi->ft_mutex, NULL); -#endif + LKI(fi->ft_mutex); } EAPI RGBA_Font_Int * diff --git a/libraries/evas/src/lib/engines/common/evas_image_main.c b/libraries/evas/src/lib/engines/common/evas_image_main.c index d2f8c0b..9c233b3 100644 --- a/libraries/evas/src/lib/engines/common/evas_image_main.c +++ b/libraries/evas/src/lib/engines/common/evas_image_main.c @@ -16,6 +16,8 @@ # include #endif +//#define SURFDBG 1 + static Evas_Cache_Image * eci = NULL; static int reference = 0; @@ -212,6 +214,30 @@ evas_common_rgba_image_free(Image_Entry *ie) _evas_common_rgba_image_delete(ie); } +#ifdef SURFDBG +static Eina_List *surfs = NULL; + +static void +surf_debug(void) +{ + Eina_List *l; + Image_Entry *ie; + RGBA_Image *im; + int i = 0; + + printf("----SURFS----\n"); + EINA_LIST_FOREACH(surfs, l, ie) + { + im = ie; + printf("%i - %p - %ix%i [%s][%s]\n", + i, im->image.data, ie->allocated.w, ie->allocated.h, + ie->file, ie->key + ); + i++; + } +} +#endif + EAPI void evas_common_rgba_image_unload(Image_Entry *ie) { @@ -252,7 +278,12 @@ evas_common_rgba_image_unload(Image_Entry *ie) #endif if (im->image.data && !im->image.no_free) - free(im->image.data); + { + free(im->image.data); +#ifdef SURFDBG + surfs = eina_list_remove(surfs, ie); +#endif + } im->image.data = NULL; ie->allocated.w = 0; ie->allocated.h = 0; @@ -260,6 +291,9 @@ evas_common_rgba_image_unload(Image_Entry *ie) #ifdef BUILD_ASYNC_PRELOAD ie->flags.preload_done = 0; #endif +#ifdef SURFDBG + surf_debug(); +#endif } void @@ -318,10 +352,20 @@ _evas_common_rgba_image_surface_alloc(Image_Entry *ie, unsigned int w, unsigned else siz = w * h * sizeof(DATA32); - if (im->image.data) free(im->image.data); + if (im->image.data) + { + free(im->image.data); +#ifdef SURFDBG + surfs = eina_list_remove(surfs, ie); +#endif + } im->image.data = malloc(siz); if (!im->image.data) return -1; - + ie->allocated.w = w; + ie->allocated.h = h; +#ifdef SURFDBG + surfs = eina_list_append(surfs, ie); +#endif #ifdef HAVE_VALGRIND # ifdef VALGRIND_MAKE_READABLE VALGRIND_MAKE_READABLE(im->image.data, siz); @@ -332,7 +376,9 @@ _evas_common_rgba_image_surface_alloc(Image_Entry *ie, unsigned int w, unsigned # endif #endif _evas_common_rgba_image_post_surface(ie); - +#ifdef SURFDBG + surf_debug(); +#endif return 0; } @@ -366,7 +412,12 @@ _evas_common_rgba_image_surface_delete(Image_Entry *ie) im->cs.data = NULL; if (im->image.data && !im->image.no_free) - free(im->image.data); + { + free(im->image.data); +#ifdef SURFDBG + surfs = eina_list_remove(surfs, ie); +#endif + } #ifdef EVAS_CSERVE else if (ie->data1) evas_cserve_image_free(ie); @@ -380,6 +431,9 @@ _evas_common_rgba_image_surface_delete(Image_Entry *ie) #endif ie->flags.loaded = 0; evas_common_rgba_image_scalecache_dirty(&im->cache_entry); +#ifdef SURFDBG + surf_debug(); +#endif } static void @@ -597,7 +651,15 @@ evas_common_image_colorspace_normalize(RGBA_Image *im) #ifdef EVAS_CSERVE if (((Image_Entry *)im)->data1) evas_cserve_image_free(&im->cache_entry); #endif - if (!im->image.no_free) free(im->image.data); + if (!im->image.no_free) + { + free(im->image.data); +#ifdef SURFDBG + surfs = eina_list_remove(surfs, im); +#endif + ((Image_Entry *)im)->allocated.w = 0; + ((Image_Entry *)im)->allocated.h = 0; + } im->image.data = im->cs.data; im->cs.no_free = im->image.no_free; } @@ -634,6 +696,9 @@ evas_common_image_colorspace_normalize(RGBA_Image *im) break; } im->cs.dirty = 0; +#ifdef SURFDBG + surf_debug(); +#endif } EAPI void diff --git a/libraries/evas/src/lib/engines/common/evas_op_add/Makefile.in b/libraries/evas/src/lib/engines/common/evas_op_add/Makefile.in index 78e893d..61d3479 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_add/Makefile.in +++ b/libraries/evas/src/lib/engines/common/evas_op_add/Makefile.in @@ -116,6 +116,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -166,6 +168,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -184,8 +188,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -259,8 +261,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.am b/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.am index 84add38..77435c4 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.am +++ b/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.am @@ -40,11 +40,7 @@ libevas_engine_common_op_blend_master_sse3_la_CFLAGS = \ @FREETYPE_CFLAGS@ @VALGRIND_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EET_CFLAGS@ @pthread_cflags@ \ -@WIN32_CFLAGS@ @EINA_CFLAGS@ \ +@EINA_CFLAGS@ \ @FRIBIDI_CFLAGS@ @HARFBUZZ_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EVAS_SSE3_CFLAGS@ - -libevas_engine_common_op_blend_master_sse3_la_DEPENENCIES = \ -$(top_builddir)/config.h - diff --git a/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.in b/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.in index e00dac8..016b49c 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.in +++ b/libraries/evas/src/lib/engines/common/evas_op_blend/Makefile.in @@ -153,6 +153,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -203,6 +205,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -221,8 +225,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -296,8 +298,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -420,14 +420,11 @@ libevas_engine_common_op_blend_master_sse3_la_CFLAGS = \ @FREETYPE_CFLAGS@ @VALGRIND_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EET_CFLAGS@ @pthread_cflags@ \ -@WIN32_CFLAGS@ @EINA_CFLAGS@ \ +@EINA_CFLAGS@ \ @FRIBIDI_CFLAGS@ @HARFBUZZ_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EVAS_SSE3_CFLAGS@ -libevas_engine_common_op_blend_master_sse3_la_DEPENENCIES = \ -$(top_builddir)/config.h - all: all-am .SUFFIXES: diff --git a/libraries/evas/src/lib/engines/common/evas_op_copy/Makefile.in b/libraries/evas/src/lib/engines/common/evas_op_copy/Makefile.in index 40536c0..687f34d 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_copy/Makefile.in +++ b/libraries/evas/src/lib/engines/common/evas_op_copy/Makefile.in @@ -116,6 +116,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -166,6 +168,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -184,8 +188,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -259,8 +261,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common/evas_op_mask/Makefile.in b/libraries/evas/src/lib/engines/common/evas_op_mask/Makefile.in index d5764b1..00b536a 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_mask/Makefile.in +++ b/libraries/evas/src/lib/engines/common/evas_op_mask/Makefile.in @@ -116,6 +116,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -166,6 +168,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -184,8 +188,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -259,8 +261,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common/evas_op_mul/Makefile.in b/libraries/evas/src/lib/engines/common/evas_op_mul/Makefile.in index d5452fe..849983e 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_mul/Makefile.in +++ b/libraries/evas/src/lib/engines/common/evas_op_mul/Makefile.in @@ -116,6 +116,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -166,6 +168,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -184,8 +188,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -259,8 +261,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common/evas_op_sub/Makefile.in b/libraries/evas/src/lib/engines/common/evas_op_sub/Makefile.in index 4b93b1b..885465a 100644 --- a/libraries/evas/src/lib/engines/common/evas_op_sub/Makefile.in +++ b/libraries/evas/src/lib/engines/common/evas_op_sub/Makefile.in @@ -116,6 +116,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -166,6 +168,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -184,8 +188,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -259,8 +261,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common/evas_polygon_main.c b/libraries/evas/src/lib/engines/common/evas_polygon_main.c index ea0bf13..6840d60 100644 --- a/libraries/evas/src/lib/engines/common/evas_polygon_main.c +++ b/libraries/evas/src/lib/engines/common/evas_polygon_main.c @@ -133,7 +133,7 @@ evas_common_polygon_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Polygon_Po int num_active_edges; int n; int i, j, k; - int y0, y1, yi; + int yy0, yy1, yi; int ext_x, ext_y, ext_w, ext_h; int *sorted_index; @@ -211,14 +211,14 @@ evas_common_polygon_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Polygon_Po k++; } - y0 = MAX(ext_y, ceil(point[sorted_index[0]].y - 0.5)); - y1 = MIN(ext_y + ext_h - 1, floor(point[sorted_index[n - 1]].y - 0.5)); + yy0 = MAX(ext_y, ceil(point[sorted_index[0]].y - 0.5)); + yy1 = MIN(ext_y + ext_h - 1, floor(point[sorted_index[n - 1]].y - 0.5)); k = 0; num_active_edges = 0; spans = NULL; - for (yi = y0; yi <= y1; yi++) + for (yi = yy0; yi <= yy1; yi++) { for (; (k < n) && (point[sorted_index[k]].y <= ((double)yi + 0.5)); k++) { diff --git a/libraries/evas/src/lib/engines/common/evas_scale_sample.c b/libraries/evas/src/lib/engines/common/evas_scale_sample.c index a8951b8..c721c5e 100644 --- a/libraries/evas/src/lib/engines/common/evas_scale_sample.c +++ b/libraries/evas/src/lib/engines/common/evas_scale_sample.c @@ -90,7 +90,6 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, RGBA_Image *dst, DATA32 *buf, *dptr; DATA32 **row_ptr; DATA32 *ptr, *dst_ptr, *src_data, *dst_data; - int dst_jump; int dst_clip_x, dst_clip_y, dst_clip_w, dst_clip_h; int m_clip_x = 0, m_clip_y = 0, m_clip_w = 0, m_clip_h = 0, mdx = 0, mdy = 0; int src_w, src_h, dst_w, dst_h; @@ -248,7 +247,7 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, RGBA_Image *dst, row_ptr = alloca(dst_clip_h * sizeof(DATA32 *)); /* figure out dst jump */ - dst_jump = dst_w - dst_clip_w; + //dst_jump = dst_w - dst_clip_w; /* figure out dest start ptr */ dst_ptr = dst_data + dst_clip_x + (dst_clip_y * dst_w); diff --git a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx.c b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx.c index 50b2e5c..a443c85 100644 --- a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx.c +++ b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx.c @@ -3,7 +3,7 @@ DATA32 *pix, *dptr, *pbuf, **yp; int r, g, b, a, rr, gg, bb, aa; int *xp, xap, yap, pos; - int dyy, dxx; + //int dyy, dxx; int w = dst_clip_w; #ifdef EVAS_SLI int ysli = dst_clip_y; @@ -11,8 +11,8 @@ dptr = dst_ptr; pos = (src_region_y * src_w) + src_region_x; - dyy = dst_clip_y - dst_region_y; - dxx = dst_clip_x - dst_region_x; + //dyy = dst_clip_y - dst_region_y; + //dxx = dst_clip_x - dst_region_x; xp = xpoints;// + dxx; yp = ypoints;// + dyy; diff --git a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx_downy.c b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx_downy.c index ab0c74e..73da3a0 100644 --- a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx_downy.c +++ b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downx_downy.c @@ -3,7 +3,7 @@ DATA32 *dptr, *sptr, *pix, *pbuf; int a, r, g, b, rx, gx, bx, ax; int xap, yap, pos; - int dyy, dxx; + //int dyy, dxx; #ifdef EVAS_SLI int ysli = dst_clip_y; #endif @@ -14,8 +14,8 @@ dptr = dst_ptr; pos = (src_region_y * src_w) + src_region_x; - dyy = dst_clip_y - dst_region_y; - dxx = dst_clip_x - dst_region_x; + //dyy = dst_clip_y - dst_region_y; + //dxx = dst_clip_x - dst_region_x; xp = xpoints;// + dxx; yp = ypoints;// + dyy; diff --git a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downy.c b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downy.c index 4c5448e..3b7585d 100644 --- a/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downy.c +++ b/libraries/evas/src/lib/engines/common/evas_scale_smooth_scaler_downy.c @@ -3,7 +3,7 @@ DATA32 *dptr, *pix, *pbuf, **yp; int r, g, b, a, rr, gg, bb, aa; int *xp, xap, yap, pos; - int dyy, dxx; + //int dyy, dxx; int w = dst_clip_w; #ifdef EVAS_SLI int ysli = dst_clip_y; @@ -11,8 +11,8 @@ dptr = dst_ptr; pos = (src_region_y * src_w) + src_region_x; - dyy = dst_clip_y - dst_region_y; - dxx = dst_clip_x - dst_region_x; + //dyy = dst_clip_y - dst_region_y; + //dxx = dst_clip_x - dst_region_x; xp = xpoints;// + dxx; yp = ypoints;// + dyy; diff --git a/libraries/evas/src/lib/engines/common/evas_tiler.c b/libraries/evas/src/lib/engines/common/evas_tiler.c index ff359a4..bc5e99c 100644 --- a/libraries/evas/src/lib/engines/common/evas_tiler.c +++ b/libraries/evas/src/lib/engines/common/evas_tiler.c @@ -1167,40 +1167,84 @@ evas_common_tilebuf_get_render_rects(Tilebuf *tb) #elif defined(EVAS_RECT_SPLIT) list_node_t *n; Tilebuf_Rect *rects = NULL; + int bx1 = 0, bx2 = 0, by1 = 0, by2 = 0, num = 0; - if (tb->need_merge) { - list_t to_merge; - to_merge = tb->rects; - tb->rects = list_zeroed; - rect_list_merge_rects(&tb->rects, &to_merge, FUZZ * FUZZ); - tb->need_merge = 0; - } - - for (n = tb->rects.head; n; n = n->next) { - rect_t cur; + if (tb->need_merge) + { + list_t to_merge; + to_merge = tb->rects; + tb->rects = list_zeroed; + rect_list_merge_rects(&tb->rects, &to_merge, FUZZ * FUZZ); + tb->need_merge = 0; + } + + n = tb->rects.head; + if (n) + { + bx1 = ((rect_node_t *)n)->rect.left; + bx2 = bx1 + ((rect_node_t *)n)->rect.width; + by1 = ((rect_node_t *)n)->rect.top; + by2 = by1 + ((rect_node_t *)n)->rect.height; + n = n->next; + for (; n; n = n->next) + { + + int x1, x2, y1, y2; + + x1 = ((rect_node_t *)n)->rect.left; + if (x1 < bx1) bx1 = x1; + x2 = x1 + ((rect_node_t *)n)->rect.width; + if (x2 > bx2) bx2 = x2; + + y1 = ((rect_node_t *)n)->rect.top; + if (y1 < by1) by1 = y1; + y2 = y1 + ((rect_node_t *)n)->rect.height; + if (y2 > by2) by2 = y2; + num++; + } + } +#define MAXREG 24 + /* magic number - but if we have > MAXREG regions to update, take bounding box */ + if (num > MAXREG) + { + Tilebuf_Rect *r; + + r = malloc(sizeof(Tilebuf_Rect)); + r->x = bx1; + r->y = by1; + r->w = bx2 - bx1; + r->h = by2 - by1; + + rects = (Tilebuf_Rect *)eina_inlist_append(EINA_INLIST_GET(rects), EINA_INLIST_GET(r)); + return rects; + } - cur = ((rect_node_t *)n)->rect; + for (n = tb->rects.head; n; n = n->next) + { + rect_t cur; + + cur = ((rect_node_t *)n)->rect; /* disable fuzz - created bugs. cur.left <<= 1; cur.top <<= 1; cur.width <<= 1; cur.height <<= 1; */ - RECTS_CLIP_TO_RECT(cur.left, cur.top, cur.width, cur.height, - 0, 0, tb->outbuf_w, tb->outbuf_h); - if ((cur.width > 0) && (cur.height > 0)) - { - Tilebuf_Rect *r; - - r = malloc(sizeof(Tilebuf_Rect)); - r->x = cur.left; - r->y = cur.top; - r->w = cur.width; - r->h = cur.height; - - rects = (Tilebuf_Rect *)eina_inlist_append(EINA_INLIST_GET(rects), EINA_INLIST_GET(r)); - } - } + RECTS_CLIP_TO_RECT(cur.left, cur.top, cur.width, cur.height, + 0, 0, tb->outbuf_w, tb->outbuf_h); + if ((cur.width > 0) && (cur.height > 0)) + { + Tilebuf_Rect *r; + + r = malloc(sizeof(Tilebuf_Rect)); + r->x = cur.left; + r->y = cur.top; + r->w = cur.width; + r->h = cur.height; + + rects = (Tilebuf_Rect *)eina_inlist_append(EINA_INLIST_GET(rects), EINA_INLIST_GET(r)); + } + } return rects; #else diff --git a/libraries/evas/src/lib/engines/common_16/Makefile.in b/libraries/evas/src/lib/engines/common_16/Makefile.in index 313cbda..196395d 100644 --- a/libraries/evas/src/lib/engines/common_16/Makefile.in +++ b/libraries/evas/src/lib/engines/common_16/Makefile.in @@ -151,6 +151,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -201,6 +203,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -219,8 +223,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -294,8 +296,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/engines/common_8/Makefile.in b/libraries/evas/src/lib/engines/common_8/Makefile.in index 7fa4fbb..11b2454 100644 --- a/libraries/evas/src/lib/engines/common_8/Makefile.in +++ b/libraries/evas/src/lib/engines/common_8/Makefile.in @@ -150,6 +150,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -200,6 +202,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -218,8 +222,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -293,8 +295,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/file/Makefile.am b/libraries/evas/src/lib/file/Makefile.am index 7875fbe..84b12d9 100644 --- a/libraries/evas/src/lib/file/Makefile.am +++ b/libraries/evas/src/lib/file/Makefile.am @@ -11,10 +11,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @EINA_CFLAGS@ \ @EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ \ @PIXMAN_CFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ noinst_LTLIBRARIES = libevas_file.la libevas_file_la_SOURCES = \ diff --git a/libraries/evas/src/lib/file/Makefile.in b/libraries/evas/src/lib/file/Makefile.in index 2ac89b1..52d3608 100644 --- a/libraries/evas/src/lib/file/Makefile.in +++ b/libraries/evas/src/lib/file/Makefile.in @@ -146,6 +146,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -196,6 +198,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -214,8 +218,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -289,8 +291,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -384,10 +384,8 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @EINA_CFLAGS@ \ @EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ noinst_LTLIBRARIES = libevas_file.la libevas_file_la_SOURCES = \ evas_path.c \ diff --git a/libraries/evas/src/lib/file/evas_module.c b/libraries/evas/src/lib/file/evas_module.c index 21d5cd0..dc0d26b 100644 --- a/libraries/evas/src/lib/file/evas_module.c +++ b/libraries/evas/src/lib/file/evas_module.c @@ -98,7 +98,6 @@ EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8_x11); EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_ddraw); EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_gdi); EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_generic); -EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_sdl); EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_x11); EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, bmp); EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, edb); @@ -176,9 +175,6 @@ static const struct { #ifdef EVAS_STATIC_BUILD_SOFTWARE_GENERIC EVAS_EINA_STATIC_MODULE_USE(engine, software_generic), #endif -#ifdef EVAS_STATIC_BUILD_SOFTWARE_SDL - EVAS_EINA_STATIC_MODULE_USE(engine, software_sdl), -#endif #ifdef EVAS_STATIC_BUILD_SOFTWARE_X11 EVAS_EINA_STATIC_MODULE_USE(engine, software_x11), #endif diff --git a/libraries/evas/src/lib/file/evas_path.c b/libraries/evas/src/lib/file/evas_path.c index c663c16..2ff646d 100644 --- a/libraries/evas/src/lib/file/evas_path.c +++ b/libraries/evas/src/lib/file/evas_path.c @@ -38,9 +38,7 @@ evas_file_path_is_full_path(const char *path) #if defined _WIN32_WCE if (path[0] == '\\') return 1; #elif defined _WIN32 - if ((path[0] == '\0') || (path[1] == '\0')) - return 0; - if (path[1] == ':') return 1; + if (evil_path_is_absolute(path)) return 1; #else if (path[0] == '/') return 1; #endif diff --git a/libraries/evas/src/lib/include/Makefile.in b/libraries/evas/src/lib/include/Makefile.in index 21f0099..8060178 100644 --- a/libraries/evas/src/lib/include/Makefile.in +++ b/libraries/evas/src/lib/include/Makefile.in @@ -116,6 +116,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -166,6 +168,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -184,8 +188,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -259,8 +261,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/lib/include/evas_blend_ops.h b/libraries/evas/src/lib/include/evas_blend_ops.h index 1ada384..6bd1f16 100644 --- a/libraries/evas/src/lib/include/evas_blend_ops.h +++ b/libraries/evas/src/lib/include/evas_blend_ops.h @@ -200,7 +200,7 @@ static __m128i RGB_MASK_SSE3; static __m128i ALPHA_SSE3; -EFL_ALWAYS_INLINE __m128i +static EFL_ALWAYS_INLINE __m128i mul_256_sse3(__m128i a, __m128i c) { /* prepare alpha for word multiplication */ @@ -228,7 +228,7 @@ mul_256_sse3(__m128i a, __m128i c) { return _mm_add_epi32(c0, c1); } -EFL_ALWAYS_INLINE __m128i +static EFL_ALWAYS_INLINE __m128i sub4_alpha_sse3(__m128i c) { __m128i c0 = c; @@ -237,7 +237,7 @@ sub4_alpha_sse3(__m128i c) { return _mm_sub_epi32(ALPHA_SSE3, c0); } -EFL_ALWAYS_INLINE __m128i +static EFL_ALWAYS_INLINE __m128i interp4_256_sse3(__m128i a, __m128i c0, __m128i c1) { const __m128i zero = _mm_setzero_si128(); @@ -289,7 +289,7 @@ interp4_256_sse3(__m128i a, __m128i c0, __m128i c1) return (__m128i) _mm_shuffle_ps( (__m128)cl_sub, (__m128)ch_sub, 0x44); } -EFL_ALWAYS_INLINE __m128i +static EFL_ALWAYS_INLINE __m128i mul_sym_sse3(__m128i a, __m128i c) { /* Prepare alpha for word mult */ @@ -318,7 +318,7 @@ mul_sym_sse3(__m128i a, __m128i c) { return _mm_add_epi32(c0, c1); } -EFL_ALWAYS_INLINE __m128i +static EFL_ALWAYS_INLINE __m128i mul4_sym_sse3(__m128i x, __m128i y) { const __m128i zero = _mm_setzero_si128(); @@ -341,7 +341,7 @@ mul4_sym_sse3(__m128i x, __m128i y) { return _mm_packus_epi16(r_l, r_h); } -EFL_ALWAYS_INLINE __m128i +static EFL_ALWAYS_INLINE __m128i mul3_sym_sse3(__m128i x, __m128i y) { __m128i res = mul4_sym_sse3(x, y); diff --git a/libraries/evas/src/lib/include/evas_common.h b/libraries/evas/src/lib/include/evas_common.h index a9063e6..e853064 100644 --- a/libraries/evas/src/lib/include/evas_common.h +++ b/libraries/evas/src/lib/include/evas_common.h @@ -5,6 +5,45 @@ #include "config.h" /* so that EAPI in Evas.h is correctly defined */ //#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_ALLOCA_H +# include +#elif !defined alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# elif defined _AIX +# define alloca __alloca +# elif defined _MSC_VER +# include +# define alloca _alloca +# elif !defined HAVE_ALLOCA +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +# endif +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifndef _MSC_VER +# include +#include +#endif + #ifdef HAVE_EVIL # include #endif @@ -13,10 +52,6 @@ # include #endif -#include -#include "Evas.h" -//#include "Evas_GL.h" - #ifdef HAVE_PIXMAN #include #endif @@ -25,6 +60,14 @@ #include #include +#ifdef HAVE_EXOTIC +# include +#endif + +#include +#include "Evas.h" +//#include "Evas_GL.h" + #ifndef HAVE_LROUND /* right now i dont care about rendering bugs on platforms without lround (e.g. windows/vc++... yay!) @@ -171,35 +214,6 @@ extern EAPI int _evas_log_dom_global; #endif -#ifdef HAVE_ALLOCA_H -# include -#elif defined __GNUC__ -# define alloca __builtin_alloca -#elif defined _AIX -# define alloca __alloca -#elif defined _MSC_VER -# include -# define alloca _alloca -#else -# include -# ifdef __cplusplus -extern "C" -# endif -void *alloca (size_t); -#endif - -#include -#include -#include -#include -#include -#include -#include - -#ifndef _MSC_VER -# include -#endif - #include #include FT_FREETYPE_H #include FT_GLYPH_H @@ -1005,12 +1019,12 @@ struct list struct rect { - short left; - short top; - short right; - short bottom; - short width; - short height; + int left; + int top; + int right; + int bottom; + int width; + int height; int area; }; diff --git a/libraries/evas/src/lib/include/evas_private.h b/libraries/evas/src/lib/include/evas_private.h index 84c1d36..bf0cfc5 100644 --- a/libraries/evas/src/lib/include/evas_private.h +++ b/libraries/evas/src/lib/include/evas_private.h @@ -615,6 +615,8 @@ struct _Evas_Object Eina_Bool changed_move : 1; Eina_Bool changed_move_only : 1; Eina_Bool changed_nomove : 1; + Eina_Bool changed_map : 1; + Eina_Bool changed_pchange : 1; Eina_Bool del_ref : 1; Eina_Bool is_frame : 1; @@ -850,6 +852,7 @@ struct _Evas_Func void *(*gl_proc_address_get) (void *data, const char *name); int (*gl_native_surface_get) (void *data, void *surface, void *native_surface); void *(*gl_api_get) (void *data); + void (*gl_img_obj_set) (void *data, void *image, int has_alpha); int (*image_load_error_get) (void *data, void *image); int (*font_run_end_get) (void *data, Evas_Font_Set *font, Evas_Font_Instance **script_fi, Evas_Font_Instance **cur_fi, Evas_Script_Type script, const Eina_Unicode *text, int run_len); diff --git a/libraries/evas/src/modules/Makefile.in b/libraries/evas/src/modules/Makefile.in index e4f1cbc..68865f3 100644 --- a/libraries/evas/src/modules/Makefile.in +++ b/libraries/evas/src/modules/Makefile.in @@ -156,6 +156,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -206,6 +208,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -224,8 +228,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -299,8 +301,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/Makefile.am b/libraries/evas/src/modules/engines/Makefile.am index 42585cc..e29fb98 100644 --- a/libraries/evas/src/modules/engines/Makefile.am +++ b/libraries/evas/src/modules/engines/Makefile.am @@ -53,9 +53,6 @@ endif if !EVAS_STATIC_BUILD_SOFTWARE_16_X11 SUBDIRS += software_16_x11 endif -if !EVAS_STATIC_BUILD_SOFTWARE_SDL -SUBDIRS += software_sdl -endif if !EVAS_STATIC_BUILD_SOFTWARE_16_SDL SUBDIRS += software_16_sdl endif diff --git a/libraries/evas/src/modules/engines/Makefile.in b/libraries/evas/src/modules/engines/Makefile.in index 5820026..7388a48 100644 --- a/libraries/evas/src/modules/engines/Makefile.in +++ b/libraries/evas/src/modules/engines/Makefile.in @@ -49,13 +49,12 @@ host_triplet = @host@ @EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@am__append_14 = software_16_ddraw @EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@am__append_15 = software_16_wince @EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@am__append_16 = software_16_x11 -@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am__append_17 = software_sdl -@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am__append_18 = software_16_sdl -@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@am__append_19 = software_ddraw -@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am__append_20 = software_gdi -@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@am__append_21 = software_x11 -@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@am__append_22 = wayland_shm -@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@am__append_23 = wayland_egl +@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am__append_17 = software_16_sdl +@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@am__append_18 = software_ddraw +@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am__append_19 = software_gdi +@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@am__append_20 = software_x11 +@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@am__append_21 = wayland_shm +@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@am__append_22 = wayland_egl subdir = src/modules/engines DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -103,8 +102,8 @@ CTAGS = ctags DIST_SUBDIRS = software_generic buffer direct3d directfb fb psl1ght \ gl_common gl_x11 gl_sdl gl_cocoa software_8 software_8_x11 \ software_16 software_16_ddraw software_16_wince \ - software_16_x11 software_sdl software_16_sdl software_ddraw \ - software_gdi software_x11 wayland_shm wayland_egl + software_16_x11 software_16_sdl software_ddraw software_gdi \ + software_x11 wayland_shm wayland_egl DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ @@ -183,6 +182,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -233,6 +234,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -251,8 +254,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -326,8 +327,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +417,7 @@ SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \ $(am__append_13) $(am__append_14) $(am__append_15) \ $(am__append_16) $(am__append_17) $(am__append_18) \ $(am__append_19) $(am__append_20) $(am__append_21) \ - $(am__append_22) $(am__append_23) + $(am__append_22) all: all-recursive .SUFFIXES: diff --git a/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h b/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h index e6d11d1..a9cbbfb 100644 --- a/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h +++ b/libraries/evas/src/modules/engines/buffer/Evas_Engine_Buffer.h @@ -29,7 +29,10 @@ struct _Evas_Engine_Info_Buffer struct { void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes); void (*free_update_region) (int x, int y, int w, int h, void *data); + void * (*switch_buffer) (void *data, void *dest_buffer); } func; + + void *switch_data; } info; /* non-blocking or blocking mode */ diff --git a/libraries/evas/src/modules/engines/buffer/Makefile.am b/libraries/evas/src/modules/engines/buffer/Makefile.am index 19ac5a7..4090b6f 100644 --- a/libraries/evas/src/modules/engines/buffer/Makefile.am +++ b/libraries/evas/src/modules/engines/buffer/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_ENGINE_BUFFER BUFFER_SOURCES = \ diff --git a/libraries/evas/src/modules/engines/buffer/Makefile.in b/libraries/evas/src/modules/engines/buffer/Makefile.in index ec9c0b8..bd9818e 100644 --- a/libraries/evas/src/modules/engines/buffer/Makefile.in +++ b/libraries/evas/src/modules/engines/buffer/Makefile.in @@ -190,6 +190,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -240,6 +242,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -258,8 +262,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -333,8 +335,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -427,7 +427,6 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_ENGINE_BUFFER_TRUE@BUFFER_SOURCES = \ @BUILD_ENGINE_BUFFER_TRUE@evas_engine.c \ @BUILD_ENGINE_BUFFER_TRUE@evas_outbuf.c diff --git a/libraries/evas/src/modules/engines/buffer/evas_engine.c b/libraries/evas/src/modules/engines/buffer/evas_engine.c index e8dff7a..758ef10 100644 --- a/libraries/evas/src/modules/engines/buffer/evas_engine.c +++ b/libraries/evas/src/modules/engines/buffer/evas_engine.c @@ -25,11 +25,12 @@ struct _Render_Engine Outbuf *ob; Tilebuf_Rect *rects; Eina_Inlist *cur_rect; + Eina_Inarray previous_rects; int end : 1; }; /* prototypes we will use here */ -static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data)); +static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data), void *(*switch_buffer) (void *data, void *dest_buffer), void *switch_data); static void *eng_info(Evas *e __UNUSED__); static void eng_info_free(Evas *e __UNUSED__, void *info); @@ -58,7 +59,9 @@ _output_setup(int w, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), - void (*free_update_region) (int x, int y, int w, int h, void *data) + void (*free_update_region) (int x, int y, int w, int h, void *data), + void *(*switch_buffer) (void *data, void *dest_buffer), + void *switch_data ) { Render_Engine *re; @@ -81,7 +84,7 @@ _output_setup(int w, evas_common_tilebuf_init(); evas_buffer_outbuf_buf_init(); - + { Outbuf_Depth dep; DATA32 color_key = 0; @@ -110,10 +113,13 @@ _output_setup(int w, color_key, alpha_threshold, new_update_region, - free_update_region); + free_update_region, + switch_buffer, + switch_data); } re->tb = evas_common_tilebuf_new(w, h); evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE); + eina_inarray_setup(&re->previous_rects, sizeof (Eina_Rectangle), 8); return re; } @@ -155,7 +161,9 @@ eng_setup(Evas *e, void *in) info->info.color_key_g, info->info.color_key_b, info->info.func.new_update_region, - info->info.func.free_update_region); + info->info.func.free_update_region, + info->info.func.switch_buffer, + info->info.switch_data); if (e->engine.data.output) eng_output_free(e->engine.data.output); e->engine.data.output = re; @@ -195,6 +203,8 @@ eng_output_resize(void *data, int w, int h) char use_color_key; void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes); void (*free_update_region) (int x, int y, int w, int h, void *data); + void * (*switch_buffer) (void *switch_data, void *dest); + void *switch_data; depth = re->ob->depth; dest = re->ob->dest; @@ -204,6 +214,8 @@ eng_output_resize(void *data, int w, int h) use_color_key = re->ob->use_color_key; new_update_region = re->ob->func.new_update_region; free_update_region = re->ob->func.free_update_region; + switch_buffer = re->ob->func.switch_buffer; + switch_data = re->ob->switch_data; evas_buffer_outbuf_buf_free(re->ob); re->ob = evas_buffer_outbuf_buf_setup_fb(w, h, @@ -214,7 +226,9 @@ eng_output_resize(void *data, int w, int h) color_key, alpha_level, new_update_region, - free_update_region); + free_update_region, + switch_buffer, + switch_data); } evas_common_tilebuf_free(re->tb); re->tb = evas_common_tilebuf_new(w, h); @@ -275,6 +289,37 @@ eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, i if (!re->rects) { re->rects = evas_common_tilebuf_get_render_rects(re->tb); + + /* handle double buffering */ + if (re->ob->func.switch_buffer) + { + Eina_Rectangle *pushing; + + if (re->ob->first_frame && !re->previous_rects.len) + { + evas_common_tilebuf_add_redraw(re->tb, 0, 0, re->ob->w, re->ob->h); + re->ob->first_frame = 0; + } + + /* push previous frame */ + EINA_INARRAY_FOREACH(&re->previous_rects, pushing) + evas_common_tilebuf_add_redraw(re->tb, pushing->x, pushing->y, pushing->w, pushing->h); + eina_inarray_flush(&re->previous_rects); + + /* save current list of damage */ + EINA_INLIST_FOREACH(re->rects, rect) + { + Eina_Rectangle local; + + EINA_RECTANGLE_SET(&local, rect->x, rect->y, rect->w, rect->h); + eina_inarray_append(&re->previous_rects, &local); + } + + /* and regenerate the damage list by tacking into account the damage over two frames */ + evas_common_tilebuf_free_render_rects(re->rects); + re->rects = evas_common_tilebuf_get_render_rects(re->tb); + } + re->cur_rect = EINA_INLIST_GET(re->rects); } if (!re->cur_rect) return NULL; @@ -306,7 +351,7 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int re = (Render_Engine *)data; #ifdef BUILD_PIPE_RENDER evas_common_pipe_map_begin(surface); -#endif +#endif evas_buffer_outbuf_buf_push_updated_region(re->ob, surface, x, y, w, h); evas_buffer_outbuf_buf_free_region_for_update(re->ob, surface); evas_common_cpu_end_opt(); @@ -315,17 +360,13 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int static void eng_output_flush(void *data) { - Render_Engine *re; - - re = (Render_Engine *)data; + Render_Engine *re = (Render_Engine *)data; + evas_buffer_outbuf_buf_switch_buffer(re->ob); } static void -eng_output_idle_flush(void *data) +eng_output_idle_flush(void *data __UNUSED__) { - Render_Engine *re; - - re = (Render_Engine *)data; } static Eina_Bool diff --git a/libraries/evas/src/modules/engines/buffer/evas_engine.h b/libraries/evas/src/modules/engines/buffer/evas_engine.h index 21c988c..af82477 100644 --- a/libraries/evas/src/modules/engines/buffer/evas_engine.h +++ b/libraries/evas/src/modules/engines/buffer/evas_engine.h @@ -52,14 +52,17 @@ struct _Outbuf void *dest; unsigned int dest_row_bytes; + void *switch_data; int alpha_level; DATA32 color_key; char use_color_key : 1; + char first_frame : 1; struct { void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes); void (*free_update_region) (int x, int y, int w, int h, void *data); + void * (*switch_buffer) (void *data, void *dest_buffer); } func; struct { @@ -74,12 +77,15 @@ void evas_buffer_outbuf_buf_free (Outbuf *buf); Outbuf *evas_buffer_outbuf_buf_setup_fb (int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level, void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes), - void (*free_update_region) (int x, int y, int w, int h, void *data)); + void (*free_update_region) (int x, int y, int w, int h, void *data), + void * (*switch_buffer)(void *switch_data, void *dest), + void *switch_data); RGBA_Image *evas_buffer_outbuf_buf_new_region_for_update (Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch); void evas_buffer_outbuf_buf_free_region_for_update (Outbuf *buf, RGBA_Image *update); void evas_buffer_outbuf_buf_push_updated_region (Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h); +void evas_buffer_outbuf_buf_switch_buffer (Outbuf *buf); #endif diff --git a/libraries/evas/src/modules/engines/buffer/evas_outbuf.c b/libraries/evas/src/modules/engines/buffer/evas_outbuf.c index 27f7a2c..0fa1842 100644 --- a/libraries/evas/src/modules/engines/buffer/evas_outbuf.c +++ b/libraries/evas/src/modules/engines/buffer/evas_outbuf.c @@ -19,11 +19,12 @@ evas_buffer_outbuf_buf_free(Outbuf *buf) Outbuf * evas_buffer_outbuf_buf_setup_fb(int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level, void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes), - void (*free_update_region) (int x, int y, int w, int h, void *data) + void (*free_update_region) (int x, int y, int w, int h, void *data), + void * (*switch_buffer) (void *data, void *dest_buffer), + void *switch_data ) { Outbuf *buf; - int bpp; buf = calloc(1, sizeof(Outbuf)); if (!buf) return NULL; @@ -38,14 +39,12 @@ evas_buffer_outbuf_buf_setup_fb(int w, int h, Outbuf_Depth depth, void *dest, in buf->alpha_level = alpha_level; buf->color_key = color_key; buf->use_color_key = use_color_key; + buf->first_frame = 1; buf->func.new_update_region = new_update_region; buf->func.free_update_region = free_update_region; - - bpp = sizeof(DATA32); - if ((buf->depth == OUTBUF_DEPTH_RGB_24BPP_888_888) || - (buf->depth == OUTBUF_DEPTH_BGR_24BPP_888_888)) - bpp = 3; + buf->func.switch_buffer = switch_buffer; + buf->switch_data = switch_data; if ((buf->depth == OUTBUF_DEPTH_ARGB_32BPP_8888_8888) && (buf->dest) && (buf->dest_row_bytes == (buf->w * sizeof(DATA32)))) @@ -102,6 +101,24 @@ evas_buffer_outbuf_buf_free_region_for_update(Outbuf *buf, RGBA_Image *update) } void +evas_buffer_outbuf_buf_switch_buffer(Outbuf *buf) +{ + if (buf->func.switch_buffer) + { + buf->dest = buf->func.switch_buffer(buf->switch_data, buf->dest); + if (buf->priv.back_buf) + { + evas_cache_image_drop(&buf->priv.back_buf->cache_entry); + buf->priv.back_buf = (RGBA_Image *) evas_cache_image_data(evas_common_image_cache_get(), + buf->w, buf->h, + buf->dest, + buf->depth == OUTBUF_DEPTH_ARGB_32BPP_8888_8888 ? 1 : 0, + EVAS_COLORSPACE_ARGB8888); + } + } +} + +void evas_buffer_outbuf_buf_push_updated_region(Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h) { /* copy update image to out buf & convert */ diff --git a/libraries/evas/src/modules/engines/direct3d/Makefile.in b/libraries/evas/src/modules/engines/direct3d/Makefile.in index 85baff8..fe979a8 100644 --- a/libraries/evas/src/modules/engines/direct3d/Makefile.in +++ b/libraries/evas/src/modules/engines/direct3d/Makefile.in @@ -243,6 +243,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -293,6 +295,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -311,8 +315,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -386,8 +388,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/directfb/Makefile.am b/libraries/evas/src/modules/engines/directfb/Makefile.am index 5b00166..967e594 100644 --- a/libraries/evas/src/modules/engines/directfb/Makefile.am +++ b/libraries/evas/src/modules/engines/directfb/Makefile.am @@ -11,8 +11,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_engine_directfb_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_ENGINE_DIRECTFB DIRECTFB_SOURCES = evas_engine.c polygon.c diff --git a/libraries/evas/src/modules/engines/directfb/Makefile.in b/libraries/evas/src/modules/engines/directfb/Makefile.in index df2f63b..7d642c9 100644 --- a/libraries/evas/src/modules/engines/directfb/Makefile.in +++ b/libraries/evas/src/modules/engines/directfb/Makefile.in @@ -190,6 +190,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -240,6 +242,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -258,8 +262,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -333,8 +335,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -428,7 +428,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_engine_directfb_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_SOURCES = evas_engine.c polygon.c @BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_LIBADD = @evas_engine_directfb_libs@ @BUILD_ENGINE_DIRECTFB_TRUE@includes_HEADERS = Evas_Engine_DirectFB.h diff --git a/libraries/evas/src/modules/engines/directfb/evas_engine.c b/libraries/evas/src/modules/engines/directfb/evas_engine.c index 17914ab..5347d2d 100644 --- a/libraries/evas/src/modules/engines/directfb/evas_engine.c +++ b/libraries/evas/src/modules/engines/directfb/evas_engine.c @@ -1138,7 +1138,8 @@ evas_engine_dfb_rectangle_draw(void *data, void *context, void *surface, int x, static void evas_engine_dfb_polygon_draw(void *data __UNUSED__, void *context, void *surface, void *polygon, int x, int y) { - _dfb_polygon_draw(surface, context, polygon, x, y); + DirectFB_Engine_Image_Entry *eim = surface; + _dfb_polygon_draw(eim->surface, context, polygon, x, y); } #else static void diff --git a/libraries/evas/src/modules/engines/fb/Makefile.in b/libraries/evas/src/modules/engines/fb/Makefile.in index 1e82b34..31d222a 100644 --- a/libraries/evas/src/modules/engines/fb/Makefile.in +++ b/libraries/evas/src/modules/engines/fb/Makefile.in @@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -262,8 +266,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/fb/evas_engine.c b/libraries/evas/src/modules/engines/fb/evas_engine.c index 7681b00..e15c02b 100644 --- a/libraries/evas/src/modules/engines/fb/evas_engine.c +++ b/libraries/evas/src/modules/engines/fb/evas_engine.c @@ -74,7 +74,7 @@ _output_setup(int w, int h, int rot, int vt, int dev, int refresh) /* engine api this module provides */ static void * -eng_info(Evas *e) +eng_info(Evas *e __UNUSED__) { Evas_Engine_Info_FB *info; info = calloc(1, sizeof(Evas_Engine_Info_FB)); @@ -82,7 +82,6 @@ eng_info(Evas *e) info->magic.magic = rand(); info->render_mode = EVAS_RENDER_MODE_BLOCKING; return info; - e = NULL; } static void @@ -231,19 +230,13 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int } static void -eng_output_flush(void *data) +eng_output_flush(void *data __UNUSED__) { - Render_Engine *re; - - re = (Render_Engine *)data; } static void -eng_output_idle_flush(void *data) +eng_output_idle_flush(void *data __UNUSED__) { - Render_Engine *re; - - re = (Render_Engine *)data; } static Eina_Bool diff --git a/libraries/evas/src/modules/engines/fb/evas_outbuf.c b/libraries/evas/src/modules/engines/fb/evas_outbuf.c index 57cf7a6..7ae24c5 100644 --- a/libraries/evas/src/modules/engines/fb/evas_outbuf.c +++ b/libraries/evas/src/modules/engines/fb/evas_outbuf.c @@ -25,7 +25,7 @@ evas_fb_outbuf_fb_setup_fb(int w, int h, int rot, Outbuf_Depth depth, int vt_no, /* setup window and/or fb */ /* if (dithered) create backbuf */ Outbuf *buf; - int fb_fd = -1; + int fb_fd; int fb_depth; fb_depth = -1; @@ -51,6 +51,11 @@ evas_fb_outbuf_fb_setup_fb(int w, int h, int rot, Outbuf_Depth depth, int vt_no, return NULL; } fb_fd = fb_postinit(buf->priv.fb.fb); + if (fb_fd < 1) + { + free(buf); + return NULL; + } if (rot == 0 || rot == 180) { diff --git a/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in b/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in index 6e616f4..049acb2 100644 --- a/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in +++ b/libraries/evas/src/modules/engines/gl_cocoa/Makefile.in @@ -208,6 +208,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -258,6 +260,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -276,8 +280,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -351,8 +353,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/gl_common/Makefile.in b/libraries/evas/src/modules/engines/gl_common/Makefile.in index 27284f9..5a9a1ef 100644 --- a/libraries/evas/src/modules/engines/gl_common/Makefile.in +++ b/libraries/evas/src/modules/engines/gl_common/Makefile.in @@ -195,6 +195,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -245,6 +247,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -263,8 +267,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -338,8 +340,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c b/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c index 48499ea..f8ace2e 100644 --- a/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c +++ b/libraries/evas/src/modules/engines/gl_common/evas_gl_line.c @@ -17,7 +17,10 @@ evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int } else { - r = g = b = a = 255; + a = (dc->col.col >> 24) & 0xff; + r = (dc->col.col >> 16) & 0xff; + g = (dc->col.col >> 8 ) & 0xff; + b = (dc->col.col ) & 0xff; } glFlush(); diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h index de9acf8..87f4095 100644 --- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h +++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.h @@ -10,11 +10,15 @@ "varying vec2 tex_c, tex_c2, tex_c3;\n" "void main()\n" "{\n" -" const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,\n" -" 0.00000, -0.34410, 1.77200, 0.00000,\n" -" 1.40200, -0.71410, 0.00000, 0.00000,\n" -" -0.77380, 0.45630, -0.95880, 1.00000);\n" -" gl_FragColor = (yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,\n" -" texture2D(texu, tex_c2.xy).r,\n" -" texture2D(texv, tex_c3.xy).r, 1.0)) * col;\n" +" float r, g, b, y, u, v;\n" +" y = texture2D(tex, tex_c.xy).r;\n" +" u = texture2D(texu, tex_c2.xy).r;\n" +" v = texture2D(texv, tex_c3.xy).r;\n" +" y = (y - 0.0625) * 1.164;\n" +" u = u - 0.5;\n" +" v = v - 0.5;\n" +" r = y + (1.402 * v);\n" +" g = y - (0.34414 * u) - (0.71414 * v);\n" +" b = y + (1.772 * u);\n" +" gl_FragColor = vec4(r, g, b, 1.0) * col;\n" "}\n" diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd index 8e55d14..367fb55 100644 --- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd +++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_frag.shd @@ -10,11 +10,15 @@ varying vec4 col; varying vec2 tex_c, tex_c2, tex_c3; void main() { - const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, - 0.00000, -0.34410, 1.77200, 0.00000, - 1.40200, -0.71410, 0.00000, 0.00000, - -0.77380, 0.45630, -0.95880, 1.00000); - gl_FragColor = (yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, - texture2D(texu, tex_c2.xy).r, - texture2D(texv, tex_c3.xy).r, 1.0)) * col; + float r, g, b, y, u, v; + y = texture2D(tex, tex_c.xy).r; + u = texture2D(texu, tex_c2.xy).r; + v = texture2D(texv, tex_c3.xy).r; + y = (y - 0.0625) * 1.164; + u = u - 0.5; + v = v - 0.5; + r = y + (1.402 * v); + g = y - (0.34414 * u) - (0.71414 * v); + b = y + (1.772 * u); + gl_FragColor = vec4(r, g, b, 1.0) * col; } diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h index ee5855c..0df4b97 100644 --- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h +++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.h @@ -9,11 +9,15 @@ "varying vec2 tex_c, tex_c2, tex_c3;\n" "void main()\n" "{\n" -" const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,\n" -" 0.00000, -0.34410, 1.77200, 0.00000,\n" -" 1.40200, -0.71410, 0.00000, 0.00000,\n" -" -0.77380, 0.45630, -0.95880, 1.00000);\n" -" gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,\n" -" texture2D(texu, tex_c2.xy).r,\n" -" texture2D(texv, tex_c3.xy).r, 1.0);\n" +" float r, g, b, y, u, v;\n" +" y = texture2D(tex, tex_c.xy).r;\n" +" u = texture2D(texu, tex_c2.xy).r;\n" +" v = texture2D(texv, tex_c3.xy).r;\n" +" y = (y - 0.0625) * 1.164;\n" +" u = u - 0.5;\n" +" v = v - 0.5;\n" +" r = y + (1.402 * v);\n" +" g = y - (0.34414 * u) - (0.71414 * v);\n" +" b = y + (1.772 * u);\n" +" gl_FragColor = vec4(r, g, b, 1.0);\n" "}\n" diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd index 3ec4311..ce24622 100644 --- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd +++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd @@ -9,11 +9,15 @@ uniform sampler2D tex, texu, texv; varying vec2 tex_c, tex_c2, tex_c3; void main() { - const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, - 0.00000, -0.34410, 1.77200, 0.00000, - 1.40200, -0.71410, 0.00000, 0.00000, - -0.77380, 0.45630, -0.95880, 1.00000); - gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, - texture2D(texu, tex_c2.xy).r, - texture2D(texv, tex_c3.xy).r, 1.0); + float r, g, b, y, u, v; + y = texture2D(tex, tex_c.xy).r; + u = texture2D(texu, tex_c2.xy).r; + v = texture2D(texv, tex_c3.xy).r; + y = (y - 0.0625) * 1.164; + u = u - 0.5; + v = v - 0.5; + r = y + (1.402 * v); + g = y - (0.34414 * u) - (0.71414 * v); + b = y + (1.772 * u); + gl_FragColor = vec4(r, g, b, 1.0); } diff --git a/libraries/evas/src/modules/engines/gl_sdl/Makefile.in b/libraries/evas/src/modules/engines/gl_sdl/Makefile.in index bfb29ac..4bc9d59 100644 --- a/libraries/evas/src/modules/engines/gl_sdl/Makefile.in +++ b/libraries/evas/src/modules/engines/gl_sdl/Makefile.in @@ -189,6 +189,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -239,6 +241,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -257,8 +261,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -332,8 +334,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/gl_x11/Makefile.in b/libraries/evas/src/modules/engines/gl_x11/Makefile.in index ad4944e..3ac8dff 100644 --- a/libraries/evas/src/modules/engines/gl_x11/Makefile.in +++ b/libraries/evas/src/modules/engines/gl_x11/Makefile.in @@ -192,6 +192,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -242,6 +244,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -260,8 +264,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -335,8 +337,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/gl_x11/evas_engine.c b/libraries/evas/src/modules/engines/gl_x11/evas_engine.c index fbbd1a2..06348b4 100644 --- a/libraries/evas/src/modules/engines/gl_x11/evas_engine.c +++ b/libraries/evas/src/modules/engines/gl_x11/evas_engine.c @@ -41,6 +41,17 @@ struct _Render_Engine int w, h; int vsync; + // Shader used for Evas_GL_Direct Optimization + GLuint df_program; + GLuint df_vtx_shader; + GLuint df_fgmt_shader; + GLuint df_col_attrib; + GLuint df_pos_attrib; + + GLfloat df_clear_color[4]; + GLfloat df_depth_value; + + int df_initialized; }; struct _Render_Engine_GL_Surface @@ -51,6 +62,8 @@ struct _Render_Engine_GL_Surface int depth_bits; int stencil_bits; + int direct_fb_opt; + // Render target texture/buffers GLuint rt_tex; GLint rt_internal_fmt; @@ -60,6 +73,12 @@ struct _Render_Engine_GL_Surface GLuint rb_stencil; GLenum rb_stencil_fmt; +#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) + EGLSurface direct_sfc; +#else + Window direct_sfc; +#endif + Render_Engine_GL_Context *current_ctx; }; @@ -74,6 +93,10 @@ struct _Render_Engine_GL_Context GLuint context_fbo; GLuint current_fbo; + + int scissor_enabled; + int scissor_upated; + Render_Engine_GL_Surface *current_sfc; }; @@ -99,8 +122,11 @@ struct _Extension_Entry static int initted = 0; static int gl_wins = 0; -static Render_Engine_GL_Context *current_evgl_ctx; -static Render_Engine *current_engine; +static int gl_direct_override = 0; +static int gl_direct_enabled = 0; +static Render_Engine_GL_Context *current_evgl_ctx = NULL; +static Render_Engine *current_engine = NULL; +static Evas_Object *gl_direct_img_obj = NULL; static char _gl_ext_string[1024]; static char _evasgl_ext_string[1024]; @@ -2514,11 +2540,15 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data) if (im->tex->pt->dyn.data == image_data) { - im->tex->pt->dyn.checked_out--; + if (im->tex->pt->dyn.checked_out > 0) + { + im->tex->pt->dyn.checked_out--; #if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) - if (im->tex->pt->dyn.checked_out == 0) - glsym_eglUnmapImageSEC(re->win->egl_disp, im->tex->pt->dyn.img); + if (im->tex->pt->dyn.checked_out == 0) + glsym_eglUnmapImageSEC(re->win->egl_disp, im->tex->pt->dyn.img); #endif + } + return image; } @@ -2605,13 +2635,22 @@ eng_image_draw(void *data, void *context, void *surface, void *image, int src_x, re = (Render_Engine *)data; if (!image) return; - eng_window_use(re->win); - evas_gl_common_context_target_surface_set(re->win->gl_context, surface); - re->win->gl_context->dc = context; - evas_gl_common_image_draw(re->win->gl_context, image, - src_x, src_y, src_w, src_h, - dst_x, dst_y, dst_w, dst_h, - smooth); + + if ((gl_direct_img_obj) && (gl_direct_enabled)) + { + DBG("Rendering Directly to the window"); + evas_object_image_pixels_dirty_set(gl_direct_img_obj, EINA_TRUE); + } + else + { + eng_window_use(re->win); + evas_gl_common_context_target_surface_set(re->win->gl_context, surface); + re->win->gl_context->dc = context; + evas_gl_common_image_draw(re->win->gl_context, image, + src_x, src_y, src_w, src_h, + dst_x, dst_y, dst_w, dst_h, + smooth); + } } static void @@ -2794,7 +2833,7 @@ static int _set_internal_config(Render_Engine_GL_Surface *sfc, Evas_GL_Config *cfg) { // Also initialize pixel format here as well... - switch(cfg->color_format) + switch((int)cfg->color_format) { case EVAS_GL_RGB_888: sfc->rt_fmt = GL_RGB; @@ -2849,7 +2888,12 @@ _set_internal_config(Render_Engine_GL_Surface *sfc, Evas_GL_Config *cfg) return 0; } - // Do Packed Depth24_Stencil8 Later... + if (cfg->options_bits) + { + if (cfg->options_bits & EVAS_GL_OPTIONS_DIRECT) + sfc->direct_fb_opt = 1; + // Add other options here... + } return 1; } @@ -2954,6 +2998,11 @@ eng_gl_surface_create(void *data, void *config, int w, int h) sfc->rb_depth = 0; sfc->rb_stencil = 0; + /* Allow alpha for evas gl direct rendering */ + // FIXME!!!: A little out of place for for now... + if (!gl_direct_override) + if (getenv("EVAS_GL_DIRECT_OVERRIDE")) gl_direct_override = 1; + // Set the internal format based on the config if (!_set_internal_config(sfc, cfg)) { @@ -2962,6 +3011,16 @@ eng_gl_surface_create(void *data, void *config, int w, int h) return NULL; } + if (sfc->direct_fb_opt) + { + DBG("Enabling Direct rendering to the Evas' window."); +#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) + sfc->direct_sfc = re->win->egl_surface[0]; +#else + sfc->direct_sfc = re->win->win; +#endif + } + // Create internal resource context if it hasn't been created already if ((rsc = eina_tls_get(resource_key)) == NULL) { @@ -3039,6 +3098,17 @@ eng_gl_surface_destroy(void *data, void *surface) return 0; } + // Reset the Framebuffer binding point + if ((current_evgl_ctx) && (current_evgl_ctx->current_fbo == current_evgl_ctx->context_fbo)) + { + //glBindFramebuffer(GL_FRAMEBUFFER, 0); + current_evgl_ctx->current_fbo = 0; + current_evgl_ctx->current_sfc = NULL; + } + + // Clear direct rendering flag + gl_direct_enabled = 0; + // Delete FBO/RBO and Texture here if (sfc->rt_tex) glDeleteTextures(1, &sfc->rt_tex); @@ -3049,6 +3119,8 @@ eng_gl_surface_destroy(void *data, void *surface) if (sfc->rb_stencil) glDeleteRenderbuffers(1, &sfc->rb_stencil); + + #if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) ret = eglMakeCurrent(re->win->egl_disp, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); #else @@ -3158,7 +3230,7 @@ eng_gl_context_destroy(void *data, void *context) if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0; - // 1. Do a make current with the given context + // Do a make current with the given context #if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) ret = eglMakeCurrent(re->win->egl_disp, rsc->surface, rsc->surface, ctx->context); @@ -3172,11 +3244,11 @@ eng_gl_context_destroy(void *data, void *context) return 0; } - // 2. Delete the FBO + // Delete the FBO if (ctx->context_fbo) glDeleteFramebuffers(1, &ctx->context_fbo); - // 3. Destroy the Context + // Destroy the Context #if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) eglDestroyContext(re->win->egl_disp, ctx->context); @@ -3239,67 +3311,127 @@ eng_gl_make_current(void *data __UNUSED__, void *surface, void *context) return 1; } - // Do a make current only if it's not already current -#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) - if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0; + // Check if direct rendering is possible: + // It's possible when direct_fb_opt is on and either current image + // object is valid or gl_direct_override is on. Override allows + // rendering outside of pixel getter but it doesn't guarantee + // correct rendering. + if ((sfc->direct_fb_opt) && (gl_direct_img_obj || gl_direct_override)) + gl_direct_enabled = 1; + else + gl_direct_enabled = 0; - if ((eglGetCurrentContext() != ctx->context) || - (eglGetCurrentSurface(EGL_READ) != rsc->surface) || - (eglGetCurrentSurface(EGL_DRAW) != rsc->surface) ) + if (gl_direct_enabled) { - // Flush remainder of what's in Evas' pipeline - if (re->win) eng_window_use(NULL); + // Do a make current only if it's not already current +#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) + if ((eglGetCurrentContext() != ctx->context) || + (eglGetCurrentSurface(EGL_READ) != sfc->direct_sfc) || + (eglGetCurrentSurface(EGL_DRAW) != sfc->direct_sfc) ) + { + int curr_fbo = 0; + DBG("Rendering Directly to the window\n"); - // Do a make current - ret = eglMakeCurrent(re->win->egl_disp, rsc->surface, - rsc->surface, ctx->context); - if (!ret) + // Flush remainder of what's in Evas' pipeline + if (re->win) eng_window_use(NULL); + + // Do a make current + ret = eglMakeCurrent(re->win->egl_disp, sfc->direct_sfc, + sfc->direct_sfc, ctx->context); + if (!ret) + { + ERR("xxxMakeCurrent() failed! code=%#x", eglGetError()); + //ERR("xxxMakeCurrent() failed!"); + return 0; + } + + glGetIntegerv(GL_FRAMEBUFFER_BINDING, &curr_fbo); + if (ctx->context_fbo == curr_fbo) + { + ctx->current_fbo = 0; + glBindFramebuffer(GL_FRAMEBUFFER, 0); + } + } +#else + if ((glXGetCurrentContext() != ctx->context)) { - ERR("xxxMakeCurrent() failed!"); - return 0; + // Flush remainder of what's in Evas' pipeline + if (re->win) eng_window_use(NULL); + + // Do a make current + ret = glXMakeCurrent(re->info->info.display, sfc->direct_sfc, ctx->context); + if (!ret) + { + ERR("xxxMakeCurrent() failed!"); + return 0; + } } +#endif } -#else - if ((glXGetCurrentContext() != ctx->context) || - (glXGetCurrentDrawable() != re->win->win) ) + else { - // Flush remainder of what's in Evas' pipeline - if (re->win) eng_window_use(NULL); + // Do a make current only if it's not already current +#if defined (GLES_VARIETY_S3C6410) || defined (GLES_VARIETY_SGX) + if ((rsc = eina_tls_get(resource_key)) == EINA_FALSE) return 0; - // Do a make current - ret = glXMakeCurrent(re->info->info.display, re->win->win, ctx->context); - if (!ret) + if ((eglGetCurrentContext() != ctx->context) || + (eglGetCurrentSurface(EGL_READ) != rsc->surface) || + (eglGetCurrentSurface(EGL_DRAW) != rsc->surface) ) { - ERR("xxxMakeCurrent() failed!"); - return 0; + // Flush remainder of what's in Evas' pipeline + if (re->win) eng_window_use(NULL); + + // Do a make current + ret = eglMakeCurrent(re->win->egl_disp, rsc->surface, + rsc->surface, ctx->context); + if (!ret) + { + ERR("xxxMakeCurrent() failed!"); + return 0; + } } - } -#endif +#else + if ((glXGetCurrentContext() != ctx->context) || + (glXGetCurrentDrawable() != re->win->win) ) + { + // Flush remainder of what's in Evas' pipeline + if (re->win) eng_window_use(NULL); - // Create FBO if not already created - if (!ctx->initialized) - { - glGenFramebuffers(1, &ctx->context_fbo); - ctx->initialized = 1; - } + // Do a make current + ret = glXMakeCurrent(re->info->info.display, re->win->win, ctx->context); + if (!ret) + { + ERR("xxxMakeCurrent() failed!"); + return 0; + } + } +#endif - // Attach FBO if it hasn't been attached or if surface changed - if ((!sfc->fbo_attached) || (ctx->current_sfc != sfc)) - { - if (!_attach_fbo_surface(re, sfc, ctx)) + // Create FBO if not already created + if (!ctx->initialized) { - ERR("_attach_fbo_surface() failed."); - return 0; + glGenFramebuffers(1, &ctx->context_fbo); + ctx->initialized = 1; } - if (ctx->current_fbo) - // Bind to the previously bound buffer - glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo); - else - // Bind FBO - glBindFramebuffer(GL_FRAMEBUFFER, ctx->context_fbo); + // Attach FBO if it hasn't been attached or if surface changed + if ((!sfc->fbo_attached) || (ctx->current_sfc != sfc)) + { + if (!_attach_fbo_surface(re, sfc, ctx)) + { + ERR("_attach_fbo_surface() failed."); + return 0; + } - sfc->fbo_attached = 1; + if (ctx->current_fbo) + // Bind to the previously bound buffer + glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo); + else + // Bind FBO + glBindFramebuffer(GL_FRAMEBUFFER, ctx->context_fbo); + + sfc->fbo_attached = 1; + } } // Set the current surface/context @@ -3345,13 +3477,28 @@ eng_gl_native_surface_get(void *data, void *surface, void *native_surface) sfc = (Render_Engine_GL_Surface*)surface; ns = (Evas_Native_Surface*)native_surface; - ns->type = EVAS_NATIVE_SURFACE_OPENGL; - ns->version = EVAS_NATIVE_SURFACE_VERSION; - ns->data.opengl.texture_id = sfc->rt_tex; - ns->data.opengl.x = 0; - ns->data.opengl.y = 0; - ns->data.opengl.w = sfc->w; - ns->data.opengl.h = sfc->h; + if (sfc->direct_fb_opt) + { + ns->type = EVAS_NATIVE_SURFACE_OPENGL; + ns->version = EVAS_NATIVE_SURFACE_VERSION; + ns->data.opengl.texture_id = sfc->rt_tex; + ns->data.opengl.framebuffer_id = 0; + ns->data.opengl.x = 0; + ns->data.opengl.y = 0; + ns->data.opengl.w = sfc->w; + ns->data.opengl.h = sfc->h; + } + else + { + ns->type = EVAS_NATIVE_SURFACE_OPENGL; + ns->version = EVAS_NATIVE_SURFACE_VERSION; + ns->data.opengl.texture_id = sfc->rt_tex; + ns->data.opengl.framebuffer_id = sfc->rt_tex; + ns->data.opengl.x = 0; + ns->data.opengl.y = 0; + ns->data.opengl.w = sfc->w; + ns->data.opengl.h = sfc->h; + } return 1; } @@ -3371,22 +3518,27 @@ evgl_glBindFramebuffer(GLenum target, GLuint framebuffer) { Render_Engine_GL_Context *ctx = current_evgl_ctx; + if (!ctx) + { + ERR("No current context set."); + return; + } + // Take care of BindFramebuffer 0 issue if (framebuffer==0) { - if (ctx) - { - glBindFramebuffer(target, ctx->context_fbo); - ctx->current_fbo = 0; - } + if (gl_direct_enabled) + glBindFramebuffer(target, 0); + else + glBindFramebuffer(target, ctx->context_fbo); + ctx->current_fbo = 0; } else { glBindFramebuffer(target, framebuffer); // Save this for restore when doing make current - if (ctx) - ctx->current_fbo = framebuffer; + ctx->current_fbo = framebuffer; } } @@ -3398,6 +3550,225 @@ evgl_glBindRenderbuffer(GLenum target, GLuint renderbuffer) glBindRenderbuffer(target, renderbuffer); } +// Transform from Evas Coordinat to GL Coordinate +// returns: oc[4] original image object dimension in gl coord +// returns: nc[4] tranformed (x, y, width, heigth) in gl coord +static void +compute_gl_coordinates(Evas_Object *obj, int rot, int clip, + int x, int y, int width, int height, + int imgc[4], int objc[4]) +{ + if (rot == 0) + { + // oringinal image object coordinate in gl coordinate + imgc[0] = obj->cur.geometry.x; + imgc[1] = obj->layer->evas->output.h - obj->cur.geometry.y - obj->cur.geometry.h; + imgc[2] = imgc[0] + obj->cur.geometry.w; + imgc[3] = imgc[1] + obj->cur.geometry.h; + + // transformed (x,y,width,height) in gl coordinate + objc[0] = imgc[0] + x; + objc[1] = imgc[1] + y; + objc[2] = objc[0] + width; + objc[3] = objc[1] + height; + } + else if (rot == 180) + { + // oringinal image object coordinate in gl coordinate + imgc[0] = obj->layer->evas->output.w - obj->cur.geometry.x - obj->cur.geometry.w; + imgc[1] = obj->cur.geometry.y; + imgc[2] = imgc[0] + obj->cur.geometry.w; + imgc[3] = imgc[1] + obj->cur.geometry.h; + + // transformed (x,y,width,height) in gl coordinate + objc[0] = imgc[0] + obj->cur.geometry.w - x - width; + objc[1] = imgc[1] + obj->cur.geometry.h - y - height; + objc[2] = objc[0] + width; + objc[3] = objc[1] + height; + + } + else if (rot == 90) + { + // oringinal image object coordinate in gl coordinate + imgc[0] = obj->cur.geometry.y; + imgc[1] = obj->cur.geometry.x; + imgc[2] = imgc[0] + obj->cur.geometry.h; + imgc[3] = imgc[1] + obj->cur.geometry.w; + + // transformed (x,y,width,height) in gl coordinate + objc[0] = imgc[0] + obj->cur.geometry.h - y - height; + objc[1] = imgc[1] + x; + objc[2] = objc[0] + height; + objc[3] = objc[1] + width; + } + else if (rot == 270) + { + // oringinal image object coordinate in gl coordinate + imgc[0] = obj->layer->evas->output.h - obj->cur.geometry.y - obj->cur.geometry.h; + imgc[1] = obj->layer->evas->output.w - obj->cur.geometry.x - obj->cur.geometry.w; + imgc[2] = imgc[0] + obj->cur.geometry.h; + imgc[3] = imgc[1] + obj->cur.geometry.w; + + // transformed (x,y,width,height) in gl coordinate + objc[0] = imgc[0] + y; + objc[1] = imgc[1] + obj->cur.geometry.w - x - width; + objc[2] = objc[0] + height; + objc[3] = objc[1] + width; + } + else + { + ERR("Invalid rotation angle %d.", rot); + return; + } + + if (clip) + { + // Clip against original image object + if (objc[0] < imgc[0]) objc[0] = imgc[0]; + if (objc[0] > imgc[2]) objc[0] = 0; + + if (objc[1] < imgc[1]) objc[1] = imgc[1]; + if (objc[1] > imgc[3]) objc[1] = 0; + + if (objc[2] < imgc[0]) objc[0] = 0; + if (objc[2] > imgc[2]) objc[2] = imgc[2]; + + if (objc[3] < imgc[1]) objc[1] = 0; + if (objc[3] > imgc[3]) objc[3] = imgc[3]; + } + + imgc[2] = imgc[2]-imgc[0]; // width + imgc[3] = imgc[3]-imgc[1]; // height + + objc[2] = objc[2]-objc[0]; // width + objc[3] = objc[3]-objc[1]; // height +} + +static void +evgl_glClear(GLbitfield mask) +{ + Render_Engine_GL_Context *ctx = current_evgl_ctx; + int rot = 0; + int oc[4], nc[4]; + + if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo)) + { + if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context)) + rot = current_engine->win->gl_context->rot; + else + ERR("Unable to retrieve rotation angle: %d", rot); + + compute_gl_coordinates(gl_direct_img_obj, rot, 0, 0, 0, 0, 0, oc, nc); + glScissor(oc[0], oc[1], oc[2], oc[3]); + glClear(mask); + } + else + glClear(mask); +} + +static void +evgl_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +{ + current_engine->df_clear_color[0] = red; + current_engine->df_clear_color[1] = green; + current_engine->df_clear_color[2] = blue; + current_engine->df_clear_color[3] = alpha; + + glClearColor(red, green, blue, alpha); + +} + +static void +evgl_glEnable(GLenum cap) +{ + Render_Engine_GL_Context *ctx = current_evgl_ctx; + + if (cap == GL_SCISSOR_TEST) + if (ctx) ctx->scissor_enabled = 1; + glEnable(cap); +} + +static void +evgl_glDisable(GLenum cap) +{ + Render_Engine_GL_Context *ctx = current_evgl_ctx; + + if (cap == GL_SCISSOR_TEST) + if (ctx) ctx->scissor_enabled = 0; + glDisable(cap); +} + + +static void +evgl_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels) +{ + Render_Engine_GL_Context *ctx = current_evgl_ctx; + int rot = 0; + int oc[4], nc[4]; + + if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo)) + { + if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context)) + rot = current_engine->win->gl_context->rot; + else + ERR("Unable to retrieve rotation angle: %d", rot); + + compute_gl_coordinates(gl_direct_img_obj, rot, 1, x, y, width, height, oc, nc); + glReadPixels(nc[0], nc[1], nc[2], nc[3], format, type, pixels); + } + else + glReadPixels(x, y, width, height, format, type, pixels); +} + +static void +evgl_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) +{ + Render_Engine_GL_Context *ctx = current_evgl_ctx; + int rot = 0; + int oc[4], nc[4]; + + if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo)) + { + if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context)) + rot = current_engine->win->gl_context->rot; + else + ERR("Unable to retrieve rotation angle: %d", rot); + + compute_gl_coordinates(gl_direct_img_obj, rot, 1, x, y, width, height, oc, nc); + glScissor(nc[0], nc[1], nc[2], nc[3]); + ctx->scissor_upated = 1; + } + else + glScissor(x, y, width, height); +} + +static void +evgl_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) +{ + Render_Engine_GL_Context *ctx = current_evgl_ctx; + int rot = 0; + int oc[4], nc[4]; + + if ((gl_direct_img_obj) && (gl_direct_enabled) && (ctx) && (!ctx->current_fbo)) + { + if ((current_engine) && (current_engine->win) && (current_engine->win->gl_context)) + rot = current_engine->win->gl_context->rot; + else + ERR("Unable to retrieve rotation angle: %d", rot); + + compute_gl_coordinates(gl_direct_img_obj, rot, 0, x, y, width, height, oc, nc); + glEnable(GL_SCISSOR_TEST); + glScissor(oc[0], oc[1], oc[2], oc[3]); + glViewport(nc[0], nc[1], nc[2], nc[3]); + } + else + glViewport(x, y, width, height); + +} + + +//----------------------------------------------// + static void evgl_glClearDepthf(GLclampf depth) { @@ -3531,8 +3902,8 @@ eng_gl_api_get(void *data) ORD(glBufferData); ORD(glBufferSubData); ORD(glCheckFramebufferStatus); - ORD(glClear); - ORD(glClearColor); +// ORD(glClear); +// ORD(glClearColor); // ORD(glClearDepthf); ORD(glClearStencil); ORD(glColorMask); @@ -3554,11 +3925,11 @@ eng_gl_api_get(void *data) ORD(glDepthMask); // ORD(glDepthRangef); ORD(glDetachShader); - ORD(glDisable); +// ORD(glDisable); ORD(glDisableVertexAttribArray); ORD(glDrawArrays); ORD(glDrawElements); - ORD(glEnable); +// ORD(glEnable); ORD(glEnableVertexAttribArray); ORD(glFinish); ORD(glFlush); @@ -3612,7 +3983,7 @@ eng_gl_api_get(void *data) // ORD(glReleaseShaderCompiler); ORD(glRenderbufferStorage); ORD(glSampleCoverage); - ORD(glScissor); +// ORD(glScissor); // ORD(glShaderBinary); ORD(glShaderSource); ORD(glStencilFunc); @@ -3657,7 +4028,7 @@ eng_gl_api_get(void *data) ORD(glVertexAttrib4f); ORD(glVertexAttrib4fv); ORD(glVertexAttribPointer); - ORD(glViewport); +// ORD(glViewport); #undef ORD #define ORD(f) EVAS_API_OVERRIDE(f, &gl_funcs, glsym_) @@ -3717,6 +4088,14 @@ eng_gl_api_get(void *data) ORD(glBindFramebuffer); ORD(glBindRenderbuffer); + ORD(glClear); + ORD(glClearColor); + ORD(glEnable); + ORD(glDisable); + ORD(glReadPixels); + ORD(glScissor); + ORD(glViewport); + // GLES2.0 API compat on top of desktop gl ORD(glClearDepthf); ORD(glDepthRangef); @@ -3739,6 +4118,24 @@ eng_gl_api_get(void *data) return &gl_funcs; } +static void +eng_gl_img_obj_set(void *data, void *image, int has_alpha) +{ + Render_Engine *re = (Render_Engine *)data; + + gl_direct_img_obj = NULL; + + // Normally direct rendering isn't allowed if alpha is on and + // rotation is not 0. BUT, if override is on, allow it. + if ((has_alpha) || (re->win->gl_context->rot!=0)) + { + if (gl_direct_override) + gl_direct_img_obj = image; + } + else + gl_direct_img_obj = image; +} + static int eng_image_load_error_get(void *data __UNUSED__, void *image) { @@ -3877,6 +4274,9 @@ module_open(Evas_Module *em) EINA_LOG_ERR("Can not create a module log domain."); return 0; } + /* Allow alpha for evas gl direct rendering */ + if (getenv("EVAS_GL_DIRECT_OVERRIDE")) gl_direct_override = 1; + /* store it for later use */ func = pfunc; /* now to override methods */ @@ -3961,6 +4361,7 @@ module_open(Evas_Module *em) ORD(gl_proc_address_get); ORD(gl_native_surface_get); ORD(gl_api_get); + ORD(gl_img_obj_set); ORD(image_load_error_get); diff --git a/libraries/evas/src/modules/engines/psl1ght/Makefile.in b/libraries/evas/src/modules/engines/psl1ght/Makefile.in index f8524a4..9593d02 100644 --- a/libraries/evas/src/modules/engines/psl1ght/Makefile.in +++ b/libraries/evas/src/modules/engines/psl1ght/Makefile.in @@ -190,6 +190,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -240,6 +242,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -258,8 +262,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -333,8 +335,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/software_16/Makefile.am b/libraries/evas/src/modules/engines/software_16/Makefile.am index 070d610..fec60ac 100644 --- a/libraries/evas/src/modules/engines/software_16/Makefile.am +++ b/libraries/evas/src/modules/engines/software_16/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_ENGINE_SOFTWARE_16 SOFTWARE_16_SOURCES = evas_engine.c diff --git a/libraries/evas/src/modules/engines/software_16/Makefile.in b/libraries/evas/src/modules/engines/software_16/Makefile.in index 88164e1..bca2deb 100644 --- a/libraries/evas/src/modules/engines/software_16/Makefile.in +++ b/libraries/evas/src/modules/engines/software_16/Makefile.in @@ -185,6 +185,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -235,6 +237,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -253,8 +257,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -328,8 +330,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -422,7 +422,6 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_ENGINE_SOFTWARE_16_TRUE@SOFTWARE_16_SOURCES = evas_engine.c @BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH) @BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in index 0039410..014411c 100644 --- a/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in +++ b/libraries/evas/src/modules/engines/software_16_ddraw/Makefile.in @@ -215,6 +215,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -265,6 +267,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -283,8 +287,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -358,8 +360,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am index af0197d..88204c0 100644 --- a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am +++ b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.am @@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@ -if BUILD_ENGINE_SOFTWARE_SDL +if BUILD_ENGINE_SOFTWARE_16_SDL SOFTWARE_SDL_SOURCES = \ evas_engine.c \ @@ -14,7 +14,7 @@ evas_engine.h includes_HEADERS = Evas_Engine_SDL_16.h includesdir = $(includedir)/evas-@VMAJ@ -if !EVAS_STATIC_BUILD_SOFTWARE_SDL +if !EVAS_STATIC_BUILD_SOFTWARE_16_SDL pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH) pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in index 6ebf0db..a8f2cc9 100644 --- a/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in +++ b/libraries/evas/src/modules/engines/software_16_sdl/Makefile.in @@ -84,23 +84,23 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES) libevas_engine_software_16_sdl_la_DEPENDENCIES = am__libevas_engine_software_16_sdl_la_SOURCES_DIST = evas_engine.c \ evas_engine.h -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__objects_1 = evas_engine.lo -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am_libevas_engine_software_16_sdl_la_OBJECTS = $(am__objects_1) +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@am__objects_1 = evas_engine.lo +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am_libevas_engine_software_16_sdl_la_OBJECTS = $(am__objects_1) libevas_engine_software_16_sdl_la_OBJECTS = \ $(am_libevas_engine_software_16_sdl_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am_libevas_engine_software_16_sdl_la_rpath = -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@am_libevas_engine_software_16_sdl_la_rpath = +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la am__module_la_SOURCES_DIST = evas_engine.c evas_engine.h -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am_module_la_OBJECTS = $(am__objects_1) +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am_module_la_OBJECTS = $(am__objects_1) module_la_OBJECTS = $(am_module_la_OBJECTS) module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(module_la_LDFLAGS) $(LDFLAGS) -o $@ -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am_module_la_rpath = -rpath \ -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@ $(pkgdir) +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@am_module_la_rpath = -rpath \ +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@ $(pkgdir) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -188,6 +188,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -238,6 +240,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -256,8 +260,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -331,8 +333,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,20 +418,20 @@ version_info = @version_info@ AUTOMAKE_OPTIONS = 1.4 foreign MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @PIXMAN_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@ -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@SOFTWARE_SDL_SOURCES = \ -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@evas_engine.c \ -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@evas_engine.h - -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@includes_HEADERS = Evas_Engine_SDL_16.h -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@includesdir = $(includedir)/evas-@VMAJ@ -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH) -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@pkg_LTLIBRARIES = module.la -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_SOURCES = $(SOFTWARE_SDL_SOURCES) -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES) -@BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@ +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@SOFTWARE_SDL_SOURCES = \ +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@evas_engine.c \ +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@evas_engine.h + +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@includes_HEADERS = Evas_Engine_SDL_16.h +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@includesdir = $(includedir)/evas-@VMAJ@ +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH) +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@pkg_LTLIBRARIES = module.la +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_SOURCES = $(SOFTWARE_SDL_SOURCES) +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_FALSE@module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES) +@BUILD_ENGINE_SOFTWARE_16_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_SDL_TRUE@libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@ EXTRA_DIST = \ evas_engine.c \ evas_engine.h \ diff --git a/libraries/evas/src/modules/engines/software_16_wince/Makefile.am b/libraries/evas/src/modules/engines/software_16_wince/Makefile.am index 7f0c666..fcd21b1 100644 --- a/libraries/evas/src/modules/engines/software_16_wince/Makefile.am +++ b/libraries/evas/src/modules/engines/software_16_wince/Makefile.am @@ -33,7 +33,6 @@ pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH) pkg_LTLIBRARIES = module.la module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE) -module_la_CFLAGS = @WIN32_CFLAGS@ module_la_CXXFLAGS = -fno-rtti -fno-exceptions module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD) module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version diff --git a/libraries/evas/src/modules/engines/software_16_wince/Makefile.in b/libraries/evas/src/modules/engines/software_16_wince/Makefile.in index 95c484e..d371be5 100644 --- a/libraries/evas/src/modules/engines/software_16_wince/Makefile.in +++ b/libraries/evas/src/modules/engines/software_16_wince/Makefile.in @@ -221,6 +221,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -271,6 +273,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -289,8 +293,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -364,8 +366,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -473,7 +473,6 @@ AM_CPPFLAGS = \ @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH) @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@pkg_LTLIBRARIES = module.la @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE) -@BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CFLAGS = @WIN32_CFLAGS@ @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD) @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version @@ -603,36 +602,36 @@ distclean-compile: @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< module_la-evas_engine.lo: evas_engine.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_engine.lo -MD -MP -MF $(DEPDIR)/module_la-evas_engine.Tpo -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_engine.lo -MD -MP -MF $(DEPDIR)/module_la-evas_engine.Tpo -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_engine.Tpo $(DEPDIR)/module_la-evas_engine.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_engine.c' object='module_la-evas_engine.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_engine.lo `test -f 'evas_engine.c' || echo '$(srcdir)/'`evas_engine.c module_la-evas_wince_fb_buffer.lo: evas_wince_fb_buffer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_fb_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_fb_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_fb_buffer.Tpo $(DEPDIR)/module_la-evas_wince_fb_buffer.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_fb_buffer.c' object='module_la-evas_wince_fb_buffer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_fb_buffer.lo `test -f 'evas_wince_fb_buffer.c' || echo '$(srcdir)/'`evas_wince_fb_buffer.c module_la-evas_wince_gapi_buffer.lo: evas_wince_gapi_buffer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gapi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gapi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gapi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gapi_buffer.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gapi_buffer.c' object='module_la-evas_wince_gapi_buffer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gapi_buffer.lo `test -f 'evas_wince_gapi_buffer.c' || echo '$(srcdir)/'`evas_wince_gapi_buffer.c module_la-evas_wince_gdi_buffer.lo: evas_wince_gdi_buffer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gdi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT module_la-evas_wince_gdi_buffer.lo -MD -MP -MF $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/module_la-evas_wince_gdi_buffer.Tpo $(DEPDIR)/module_la-evas_wince_gdi_buffer.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='evas_wince_gdi_buffer.c' object='module_la-evas_wince_gdi_buffer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(module_la_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(module_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o module_la-evas_wince_gdi_buffer.lo `test -f 'evas_wince_gdi_buffer.c' || echo '$(srcdir)/'`evas_wince_gdi_buffer.c .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/libraries/evas/src/modules/engines/software_16_x11/Makefile.in b/libraries/evas/src/modules/engines/software_16_x11/Makefile.in index 3232681..2ce18e6 100644 --- a/libraries/evas/src/modules/engines/software_16_x11/Makefile.in +++ b/libraries/evas/src/modules/engines/software_16_x11/Makefile.in @@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -262,8 +266,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/software_8/Makefile.am b/libraries/evas/src/modules/engines/software_8/Makefile.am index 145b766..46637fb 100644 --- a/libraries/evas/src/modules/engines/software_8/Makefile.am +++ b/libraries/evas/src/modules/engines/software_8/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_ENGINE_SOFTWARE_8 SOFTWARE_8_SOURCES = evas_engine.c diff --git a/libraries/evas/src/modules/engines/software_8/Makefile.in b/libraries/evas/src/modules/engines/software_8/Makefile.in index 3ee42fd..6da6bbb 100644 --- a/libraries/evas/src/modules/engines/software_8/Makefile.in +++ b/libraries/evas/src/modules/engines/software_8/Makefile.in @@ -184,6 +184,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -234,6 +236,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -252,8 +256,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -327,8 +329,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -421,7 +421,6 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_ENGINE_SOFTWARE_8_TRUE@SOFTWARE_8_SOURCES = evas_engine.c @BUILD_ENGINE_SOFTWARE_8_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_8/$(MODULE_ARCH) @BUILD_ENGINE_SOFTWARE_8_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/engines/software_8_x11/Makefile.in b/libraries/evas/src/modules/engines/software_8_x11/Makefile.in index 22577af..3231fd1 100644 --- a/libraries/evas/src/modules/engines/software_8_x11/Makefile.in +++ b/libraries/evas/src/modules/engines/software_8_x11/Makefile.in @@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -262,8 +266,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/software_ddraw/Makefile.in b/libraries/evas/src/modules/engines/software_ddraw/Makefile.in index da65f92..629b413 100644 --- a/libraries/evas/src/modules/engines/software_ddraw/Makefile.in +++ b/libraries/evas/src/modules/engines/software_ddraw/Makefile.in @@ -216,6 +216,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -266,6 +268,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -284,8 +288,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -359,8 +361,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/software_gdi/Makefile.in b/libraries/evas/src/modules/engines/software_gdi/Makefile.in index a2421ef..507926d 100644 --- a/libraries/evas/src/modules/engines/software_gdi/Makefile.in +++ b/libraries/evas/src/modules/engines/software_gdi/Makefile.in @@ -199,6 +199,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -249,6 +251,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -267,8 +271,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -342,8 +344,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/software_generic/Makefile.am b/libraries/evas/src/modules/engines/software_generic/Makefile.am index d7986f1..e605dac 100644 --- a/libraries/evas/src/modules/engines/software_generic/Makefile.am +++ b/libraries/evas/src/modules/engines/software_generic/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - SOFTWARE_GENERIC_SOURCES = evas_engine.c @@ -22,7 +20,7 @@ pkg_LTLIBRARIES = module.la module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES) -module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la +module_la_LIBADD = @EINA_LIBS@ @dlopen_libs@ $(top_builddir)/src/lib/libevas.la module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version module_la_LIBTOOLFLAGS = --tag=disable-static diff --git a/libraries/evas/src/modules/engines/software_generic/Makefile.in b/libraries/evas/src/modules/engines/software_generic/Makefile.in index 4f66536..fe0ac3d 100644 --- a/libraries/evas/src/modules/engines/software_generic/Makefile.in +++ b/libraries/evas/src/modules/engines/software_generic/Makefile.in @@ -186,6 +186,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -236,6 +238,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -254,8 +258,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -329,8 +331,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -423,12 +423,11 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ SOFTWARE_GENERIC_SOURCES = evas_engine.c @EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkgdir = $(libdir)/evas/modules/engines/software_generic/$(MODULE_ARCH) @EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkg_LTLIBRARIES = module.la @EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES) -@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la +@EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBADD = @EINA_LIBS@ @dlopen_libs@ $(top_builddir)/src/lib/libevas.la @EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version @EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static @EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@noinst_LTLIBRARIES = libevas_engine_software_generic.la diff --git a/libraries/evas/src/modules/engines/software_generic/evas_engine.c b/libraries/evas/src/modules/engines/software_generic/evas_engine.c index 48944dd..4667f6b 100644 --- a/libraries/evas/src/modules/engines/software_generic/evas_engine.c +++ b/libraries/evas/src/modules/engines/software_generic/evas_engine.c @@ -591,11 +591,8 @@ eng_image_border_set(void *data __UNUSED__, void *image, int l __UNUSED__, int r } static void -eng_image_border_get(void *data __UNUSED__, void *image, int *l __UNUSED__, int *r __UNUSED__, int *t __UNUSED__, int *b __UNUSED__) +eng_image_border_get(void *data __UNUSED__, void *image __UNUSED__, int *l __UNUSED__, int *r __UNUSED__, int *t __UNUSED__, int *b __UNUSED__) { - RGBA_Image *im; - - im = image; } static char * @@ -704,18 +701,16 @@ eng_image_size_get(void *data __UNUSED__, void *image, int *w, int *h) static void * eng_image_size_set(void *data __UNUSED__, void *image, int w, int h) { - Image_Entry *im; - - im = image; - return evas_cache_image_size_set(image, w, h); + Image_Entry *im = image; + if (!im) return NULL; + return evas_cache_image_size_set(im, w, h); } static void * eng_image_dirty_region(void *data __UNUSED__, void *image, int x, int y, int w, int h) { Image_Entry *im = image; - - if (!image) return NULL; + if (!im) return NULL; return evas_cache_image_dirty(im, x, y, w, h); } @@ -931,11 +926,10 @@ static void * eng_image_map_surface_new(void *data __UNUSED__, int w, int h, int alpha) { void *surface; - DATA32 *pixels; surface = evas_cache_image_copied_data(evas_common_image_cache_get(), w, h, NULL, alpha, EVAS_COLORSPACE_ARGB8888); - pixels = evas_cache_image_pixels(surface); + evas_cache_image_pixels(surface); return surface; } @@ -1784,6 +1778,7 @@ static Evas_Func func = NULL, // need software mesa for gl rendering <- gl_proc_address_get NULL, // need software mesa for gl rendering <- gl_native_surface_get NULL, // need software mesa for gl rendering <- gl_api_get + NULL, // need software mesa for gl rendering <- gl_img_obj_set eng_image_load_error_get, eng_font_run_font_end_get, eng_image_animated_get, @@ -2519,7 +2514,7 @@ evgl_glShaderSource(GLuint shader, GLsizei count, const char** string, const GLi static void -evgl_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) +evgl_glGetShaderPrecisionFormat(GLenum shadertype __UNUSED__, GLenum precisiontype __UNUSED__, GLint* range, GLint* precision) { if (range) { @@ -2531,7 +2526,6 @@ evgl_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* precision[0] = 24; // floor(-log2((1.0/16777218.0))); } return; - shadertype = precisiontype = 0; } static void @@ -2567,6 +2561,8 @@ override_gl_apis(Evas_GL_API *api) ORD(glAttachShader); ORD(glBindAttribLocation); ORD(glBindBuffer); + ORD(glBindFramebuffer); + ORD(glBindRenderbuffer); ORD(glBindTexture); ORD(glBlendColor); ORD(glBlendEquation); diff --git a/libraries/evas/src/modules/engines/software_x11/Makefile.in b/libraries/evas/src/modules/engines/software_x11/Makefile.in index 5fd2971..caab918 100644 --- a/libraries/evas/src/modules/engines/software_x11/Makefile.in +++ b/libraries/evas/src/modules/engines/software_x11/Makefile.in @@ -232,6 +232,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -282,6 +284,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -300,8 +304,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -375,8 +377,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/engines/wayland_egl/Makefile.am b/libraries/evas/src/modules/engines/wayland_egl/Makefile.am index 100614f..9234b33 100644 --- a/libraries/evas/src/modules/engines/wayland_egl/Makefile.am +++ b/libraries/evas/src/modules/engines/wayland_egl/Makefile.am @@ -18,7 +18,7 @@ WAYLAND_EGL_SOURCES = \ evas_engine.c \ evas_wl_main.c -WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la +WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ @dlopen_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la includes_HEADERS = Evas_Engine_Wayland_Egl.h includesdir = $(includedir)/evas-@VMAJ@ diff --git a/libraries/evas/src/modules/engines/wayland_egl/Makefile.in b/libraries/evas/src/modules/engines/wayland_egl/Makefile.in index 0df0c63..90aa36b 100644 --- a/libraries/evas/src/modules/engines/wayland_egl/Makefile.in +++ b/libraries/evas/src/modules/engines/wayland_egl/Makefile.in @@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -262,8 +266,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -437,7 +437,7 @@ AM_CPPFLAGS = \ @BUILD_ENGINE_WAYLAND_EGL_TRUE@evas_engine.c \ @BUILD_ENGINE_WAYLAND_EGL_TRUE@evas_wl_main.c -@BUILD_ENGINE_WAYLAND_EGL_TRUE@WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la +@BUILD_ENGINE_WAYLAND_EGL_TRUE@WAYLAND_EGL_LIBADD = @FREETYPE_LIBS@ @GL_EET_LIBS@ @EINA_LIBS@ @evas_engine_wayland_egl_libs@ @dlopen_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la @BUILD_ENGINE_WAYLAND_EGL_TRUE@includes_HEADERS = Evas_Engine_Wayland_Egl.h @BUILD_ENGINE_WAYLAND_EGL_TRUE@includesdir = $(includedir)/evas-@VMAJ@ @BUILD_ENGINE_WAYLAND_EGL_TRUE@@EVAS_STATIC_BUILD_WAYLAND_EGL_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_egl/$(MODULE_ARCH) diff --git a/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c b/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c index d2a6a0d..4f5102e 100644 --- a/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c +++ b/libraries/evas/src/modules/engines/wayland_egl/evas_engine.c @@ -25,7 +25,6 @@ struct _Render_Engine int end; int w, h; int vsync; - }; struct _Render_Engine_GL_Surface @@ -1320,76 +1319,6 @@ struct _Native // //#define GLX_TEX_PIXMAP_RECREATE 1 -static void -_native_bind_cb(void *data, void *image) -{ - Evas_GL_Image *im = image; - Native *n = im->native.data; - - if (n->egl_surface) - { - if (glsym_glEGLImageTargetTexture2DOES) - { - glsym_glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, n->egl_surface); - if (eglGetError() != EGL_SUCCESS) - ERR("glEGLImageTargetTexture2DOES() failed."); - } - else - ERR("Try glEGLImageTargetTexture2DOES on EGL with no support"); - } - return; - data = NULL; -} - -static void -_native_unbind_cb(void *data, void *image) -{ - Evas_GL_Image *im = image; - /* Native *n = im->native.data; */ - - /* if (n->ns.type == EVAS_NATIVE_SURFACE_X11) */ - /* { */ - /* // nothing */ - /* } */ - /* else if (n->ns.type == EVAS_NATIVE_SURFACE_OPENGL) */ - /* { */ - /* glBindTexture(GL_TEXTURE_2D, 0); */ - /* GLERR(__FUNCTION__, __FILE__, __LINE__, ""); */ - /* } */ - return; - data = NULL; -} - -static void -_native_free_cb(void *data, void *image) -{ - Render_Engine *re = data; - Evas_GL_Image *im = image; - Native *n = im->native.data; - uint32_t texid; -// uint32_t pmid, texid; - - /* eina_hash_del(re->win->gl_context->shared->native_pm_hash, &pmid, im); */ - if (n->egl_surface) - { - if (glsym_eglDestroyImage) - { - glsym_eglDestroyImage(re->win->egl_disp, n->egl_surface); - if (eglGetError() != EGL_SUCCESS) - ERR("eglDestroyImage() failed."); - } - else - ERR("Try eglDestroyImage on EGL with no support"); - } - - im->native.data = NULL; - im->native.func.data = NULL; - im->native.func.bind = NULL; - im->native.func.unbind = NULL; - im->native.func.free = NULL; - free(n); -} - static void * eng_image_native_set(void *data, void *image, void *native) { @@ -1397,10 +1326,6 @@ eng_image_native_set(void *data, void *image, void *native) Evas_Native_Surface *ns = native; Evas_GL_Image *im = image, *im2 = NULL; Native *n = NULL; -// uint32_t pmid; -// uint32_t texid; - unsigned int tex = 0; - unsigned int fbo = 0; if (!im) { @@ -1418,15 +1343,7 @@ eng_image_native_set(void *data, void *image, void *native) if (ns) { - /* vis = ns->data.x11.visual; */ - /* pm = ns->data.x11.pixmap; */ - if (im->native.data) - { - Evas_Native_Surface *ens = im->native.data; - /* if ((ens->data.x11.visual == vis) && */ - /* (ens->data.x11.pixmap == pm)) */ - return im; - } + if (im->native.data) return im; } if ((!ns) && (!im->native.data)) return im; @@ -1441,94 +1358,35 @@ eng_image_native_set(void *data, void *image, void *native) if (!ns) return im; - /* if (ns->type == EVAS_NATIVE_SURFACE_X11) */ - /* { */ - /* pmid = pm; */ - /* im2 = eina_hash_find(re->win->gl_context->shared->native_pm_hash, &pmid); */ - if (im2 == im) return im; - if (im2) - { - n = im2->native.data; - if (n) - { - evas_gl_common_image_ref(im2); - evas_gl_common_image_free(im); - return im2; - } - } + if (im2 == im) return im; + if (im2) + { + n = im2->native.data; + if (n) + { + evas_gl_common_image_ref(im2); + evas_gl_common_image_free(im); + return im2; + } + } im2 = evas_gl_common_image_new_from_data(re->win->gl_context, - im->w, im->h, NULL, im->alpha, - EVAS_COLORSPACE_ARGB8888); - evas_gl_common_image_free(im); - im = im2; - /* if (native) */ - /* { */ - /* n = calloc(1, sizeof(Native)); */ - /* if (n) */ - /* { */ - /* EGLConfig egl_config; */ - /* int config_attrs[20]; */ - /* int num_config, i = 0; */ - - /* eina_hash_add(re->win->gl_context->shared->native_pm_hash, &pmid, im); */ - - /* config_attrs[i++] = EGL_RED_SIZE; */ - /* config_attrs[i++] = 8; */ - /* config_attrs[i++] = EGL_GREEN_SIZE; */ - /* config_attrs[i++] = 8; */ - /* config_attrs[i++] = EGL_BLUE_SIZE; */ - /* config_attrs[i++] = 8; */ - /* config_attrs[i++] = EGL_ALPHA_SIZE; */ - /* config_attrs[i++] = 8; */ - /* config_attrs[i++] = EGL_DEPTH_SIZE; */ - /* config_attrs[i++] = 0; */ - /* config_attrs[i++] = EGL_STENCIL_SIZE; */ - /* config_attrs[i++] = 0; */ - /* config_attrs[i++] = EGL_RENDERABLE_TYPE; */ - /* config_attrs[i++] = EGL_OPENGL_ES2_BIT; */ - /* config_attrs[i++] = EGL_SURFACE_TYPE; */ - /* config_attrs[i++] = EGL_PIXMAP_BIT; */ - /* config_attrs[i++] = EGL_NONE; */ - - /* if (!eglChooseConfig(re->win->egl_disp, config_attrs, */ - /* &egl_config, 1, &num_config)) */ - /* ERR("eglChooseConfig() failed for, num_config = %i", num_config); */ - /* memcpy(&(n->ns), ns, sizeof(Evas_Native_Surface)); */ - /* n->pixmap = pm; */ - /* if (glsym_eglCreateImage) */ - /* n->egl_surface = glsym_eglCreateImage(re->win->egl_disp, */ - /* EGL_NO_CONTEXT, */ - /* EGL_NATIVE_PIXMAP_KHR, */ - /* (void *)pm, */ - /* NULL); */ - /* else */ - /* ERR("Try eglCreateImage on EGL with no support"); */ - /* if (!n->egl_surface) */ - /* ERR("eglCreatePixmapSurface() for 0x%x failed", (unsigned int)pm); */ - /* im->native.yinvert = 1; */ - /* im->native.loose = 0; */ - /* im->native.data = n; */ - /* im->native.func.data = re; */ - /* im->native.func.bind = _native_bind_cb; */ - /* im->native.func.unbind = _native_unbind_cb; */ - /* im->native.func.free = _native_free_cb; */ - /* im->native.target = GL_TEXTURE_2D; */ - /* im->native.mipmap = 0; */ - /* evas_gl_common_image_native_enable(im); */ - /* } */ - /* } */ + im->w, im->h, NULL, im->alpha, + EVAS_COLORSPACE_ARGB8888); + evas_gl_common_image_free(im); + im = im2; + return im; } static void * eng_image_native_get(void *data __UNUSED__, void *image) { - Evas_GL_Image *im = image; + Evas_GL_Image *im; Native *n; - if (!im) return NULL; - n = im->native.data; - if (!n) return NULL; + + if (!(im = image)) return NULL; + if (!(n = im->native.data)) return NULL; return &(n->ns); } diff --git a/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c b/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c index 537fcc6..60a2371 100644 --- a/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c +++ b/libraries/evas/src/modules/engines/wayland_egl/evas_wl_main.c @@ -217,7 +217,9 @@ eng_window_free(Evas_GL_Wl_Window *gw) { if (context) eglDestroyContext(gw->egl_disp, context); context = EGL_NO_CONTEXT; - eglTerminate(gw->egl_disp); + /* NB: This is causing an unknown hang when we run elm apps as + * wayland clients inside the weston compositor */ + /* eglTerminate(gw->egl_disp); */ eglReleaseThread(); } free(gw); diff --git a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h index b34b2c1..2b5c2c7 100644 --- a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h +++ b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h @@ -11,7 +11,8 @@ struct _Evas_Engine_Info_Wayland_Shm void *dest; int rotation; - unsigned char debug : 1; + Eina_Bool destination_alpha : 1; + Eina_Bool debug : 1; } info; Evas_Engine_Render_Mode render_mode; diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am index 455b82c..2a5901f 100644 --- a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am +++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am @@ -7,6 +7,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib/include \ -I$(top_srcdir)/src/modules/engines \ @FREETYPE_CFLAGS@ \ +@PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_engine_wayland_shm_cflags@ @@ -16,7 +17,7 @@ WAYLAND_SHM_SOURCES = \ evas_engine.c \ evas_outbuf.c -WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ +WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ includes_HEADERS = Evas_Engine_Wayland_Shm.h includesdir = $(includedir)/evas-@VMAJ@ diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in index 4d69209..e70210b 100644 --- a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in +++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in @@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -262,8 +266,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -428,6 +428,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib/include \ -I$(top_srcdir)/src/modules/engines \ @FREETYPE_CFLAGS@ \ +@PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_engine_wayland_shm_cflags@ @@ -435,7 +436,7 @@ AM_CPPFLAGS = \ @BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \ @BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c -@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ +@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ @BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h @BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@ @BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH) diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c index 7c55517..17b17bf 100644 --- a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c +++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c @@ -28,7 +28,7 @@ static Evas_Func func, pfunc; int _evas_engine_way_shm_log_dom = -1; /* local function prototypes */ -static void *_output_setup(int w, int h, int rotation, void *dest); +static void *_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest); /* engine function prototypes */ static void *eng_info(Evas *evas __UNUSED__); @@ -48,7 +48,7 @@ static Eina_Bool eng_canvas_alpha_get(void *data, void *context __UNUSED__); /* local functions */ static void * -_output_setup(int w, int h, int rotation, void *dest) +_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest) { Render_Engine *re = NULL; @@ -56,7 +56,7 @@ _output_setup(int w, int h, int rotation, void *dest) if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL; - if (!(re->ob = evas_outbuf_setup(w, h, rotation, dest))) + if (!(re->ob = evas_outbuf_setup(w, h, rotation, alpha, dest))) { free(re); return NULL; @@ -127,7 +127,8 @@ eng_setup(Evas *evas, void *info) evas_common_tilebuf_init(); re = _output_setup(evas->output.w, evas->output.h, - in->info.rotation, in->info.dest); + in->info.rotation, in->info.destination_alpha, + in->info.dest); if (!re) return 0; re->outbuf_free = evas_outbuf_free; @@ -141,7 +142,8 @@ eng_setup(Evas *evas, void *info) if (!(re = evas->engine.data.output)) return 0; if (re->ob) re->outbuf_free(re->ob); re->ob = evas_outbuf_setup(evas->output.w, evas->output.h, - in->info.rotation, in->info.dest); + in->info.rotation, + in->info.destination_alpha, in->info.dest); if (re->tb) evas_common_tilebuf_free(re->tb); if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h))) evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE); diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h index 878851a..1869d16 100644 --- a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h +++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h @@ -47,12 +47,13 @@ struct _Outbuf { void *dest; RGBA_Image *buffer; + Eina_Bool destination_alpha : 1; } priv; }; void evas_outbuf_free(Outbuf *ob); void evas_outbuf_resize(Outbuf *ob, int w, int h); -Outbuf *evas_outbuf_setup(int w, int h, int rot, void *dest); +Outbuf *evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest); RGBA_Image *evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch); void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h); void evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update); diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c index 490a978..4dee9a2 100644 --- a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c +++ b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c @@ -21,7 +21,7 @@ evas_outbuf_resize(Outbuf *ob, int w, int h) } Outbuf * -evas_outbuf_setup(int w, int h, int rot, void *dest) +evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest) { Outbuf *ob = NULL; @@ -31,6 +31,7 @@ evas_outbuf_setup(int w, int h, int rot, void *dest) ob->h = h; ob->rotation = rot; ob->priv.dest = dest; + ob->priv.destination_alpha = alpha; ob->priv.buffer = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(), @@ -56,7 +57,7 @@ evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *c im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get()); if (im) { - im->cache_entry.flags.alpha = 1; + im->cache_entry.flags.alpha = ob->priv.destination_alpha; im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h); } diff --git a/libraries/evas/src/modules/loaders/Makefile.in b/libraries/evas/src/modules/loaders/Makefile.in index 454dcd8..f37032a 100644 --- a/libraries/evas/src/modules/loaders/Makefile.in +++ b/libraries/evas/src/modules/loaders/Makefile.in @@ -49,7 +49,7 @@ host_triplet = @host@ @BUILD_LOADER_WBMP_TRUE@@EVAS_STATIC_BUILD_WBMP_FALSE@am__append_14 = wbmp @BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE@am__append_15 = xpm subdir = src/modules/loaders -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ $(top_srcdir)/m4/efl_coverage.m4 \ @@ -172,6 +172,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -222,6 +224,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -240,8 +244,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -315,8 +317,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/loaders/bmp/Makefile.am b/libraries/evas/src/modules/loaders/bmp/Makefile.am index 857f3b9..0a04790 100644 --- a/libraries/evas/src/modules/loaders/bmp/Makefile.am +++ b/libraries/evas/src/modules/loaders/bmp/Makefile.am @@ -8,8 +8,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_BMP if !EVAS_STATIC_BUILD_BMP @@ -19,7 +18,7 @@ pkg_LTLIBRARIES = module.la module_la_SOURCES = evas_image_load_bmp.c -module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la +module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ -lm $(top_builddir)/src/lib/libevas.la module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version module_la_LIBTOOLFLAGS = --tag=disable-static @@ -27,7 +26,7 @@ else noinst_LTLIBRARIES = libevas_loader_bmp.la libevas_loader_bmp_la_SOURCES = evas_image_load_bmp.c -libevas_loader_bmp_la_LIBADD = +libevas_loader_bmp_la_LIBADD = endif endif diff --git a/libraries/evas/src/modules/loaders/bmp/Makefile.in b/libraries/evas/src/modules/loaders/bmp/Makefile.in index 943fb74..40600cc 100644 --- a/libraries/evas/src/modules/loaders/bmp/Makefile.in +++ b/libraries/evas/src/modules/loaders/bmp/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -416,13 +416,12 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ @BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@pkgdir = $(libdir)/evas/modules/loaders/bmp/$(MODULE_ARCH) @BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@module_la_SOURCES = evas_image_load_bmp.c -@BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la +@BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ -lm $(top_builddir)/src/lib/libevas.la @BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version @BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static @BUILD_LOADER_BMP_TRUE@@EVAS_STATIC_BUILD_BMP_TRUE@noinst_LTLIBRARIES = libevas_loader_bmp.la diff --git a/libraries/evas/src/modules/loaders/bmp/evas_image_load_bmp.c b/libraries/evas/src/modules/loaders/bmp/evas_image_load_bmp.c index 6d15783..9453ceb 100644 --- a/libraries/evas/src/modules/loaders/bmp/evas_image_load_bmp.c +++ b/libraries/evas/src/modules/loaders/bmp/evas_image_load_bmp.c @@ -107,12 +107,8 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key void *map = NULL; size_t position = 0; char hasa = 0; - int w = 0, h = 0, planes = 0, bit_count = 0, - image_size = 0, comp = 0, hdpi = 0, vdpi = 0, - palette_size = -1, important_colors = 0; - unsigned int offset, head_size, rmask = 0, gmask = 0, bmask = 0, amask = 0; - unsigned int pal_num = 0; - int right_way_up = 0; + int w = 0, h = 0, bit_count = 0, image_size = 0, comp = 0; + unsigned int offset, head_size, amask = 0; int fsize = 0; unsigned int bmpsize; unsigned short res1, res2; @@ -148,7 +144,7 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_short(map, fsize, &position, &tmp)) goto close_file; h = tmp; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8 & 24 } @@ -162,7 +158,7 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -170,13 +166,13 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) + //palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (!read_skip(fsize, &position, 24)) goto close_file; // skip unused header if (image_size == 0) image_size = fsize - offset; } @@ -190,7 +186,7 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -198,13 +194,13 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) + //palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (image_size == 0) image_size = fsize - offset; if ((comp == 0) && (bit_count == 32)) hasa = 1; // GIMP seems to store it this way } @@ -218,7 +214,7 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -226,19 +222,19 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) + //palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - rmask = tmp2; // red mask + //rmask = tmp2; // red mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - gmask = tmp2; // green mask + //gmask = tmp2; // green mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - bmask = tmp2; // blue mask + //bmask = tmp2; // blue mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; amask = tmp2; // alpha mask if (!read_skip(fsize, &position, 36)) goto close_file; // skip unused cie @@ -256,27 +252,27 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; comp = tmp2; // compression method if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - image_size = tmp2; // bitmap data size + //image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) + //palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - rmask = tmp2; // red mask + //rmask = tmp2; // red mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - gmask = tmp2; // green mask + //gmask = tmp2; // green mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - bmask = tmp2; // blue mask + //bmask = tmp2; // blue mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; amask = tmp2; // alpha mask if (!read_skip(fsize, &position, 36)) goto close_file; // skip unused cie @@ -291,7 +287,7 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (h < 0) { h = -h; - right_way_up = 1; + //right_way_up = 1; } if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) || @@ -313,8 +309,8 @@ evas_image_load_file_head_bmp(Image_Entry *ie, const char *file, const char *key if (bit_count < 16) { - if ((palette_size < 0) || (palette_size > 256)) pal_num = 256; - else pal_num = palette_size; + //if ((palette_size < 0) || (palette_size > 256)) pal_num = 256; + //else pal_num = palette_size; if (bit_count == 1) { if (comp == 0) // no compression @@ -389,8 +385,8 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key size_t position = 0; unsigned char *buffer = NULL, *buffer_end = NULL, *p; char hasa = 0; - int x = 0, y = 0, w = 0, h = 0, planes = 0, bit_count = 0, image_size = 0, - comp = 0, hdpi = 0, vdpi = 0, palette_size = -1, important_colors = 0; + int x = 0, y = 0, w = 0, h = 0, bit_count = 0, image_size = 0, + comp = 0, palette_size = -1; unsigned int offset = 0, head_size = 0; unsigned int *pal = NULL, pal_num = 0, *pix = NULL, *surface = NULL, fix, rmask = 0, gmask = 0, bmask = 0, amask = 0; @@ -440,7 +436,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_short(map, fsize, &position, &tmp)) goto close_file; h = tmp; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8 & 24 } @@ -454,7 +450,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -462,13 +458,13 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (!read_skip(fsize, &position, 24)) goto close_file; // skip unused header if (image_size == 0) image_size = fsize - offset; } @@ -482,7 +478,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -490,13 +486,13 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (image_size == 0) image_size = fsize - offset; if ((comp == 0) && (bit_count == 32)) hasa = 1; // GIMP seems to store it this way } @@ -510,7 +506,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -518,13 +514,13 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (!read_int(map, fsize, &position, &tmp2)) goto close_file; rmask = tmp2; // red mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -548,7 +544,7 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; h = tmp2; // height if (!read_short(map, fsize, &position, &tmp)) goto close_file; - planes = tmp; // must be 1 + //planes = tmp; // must be 1 if (!read_short(map, fsize, &position, &tmp)) goto close_file; bit_count = tmp; // bits per pixel: 1, 4, 8, 16, 24 & 32 if (!read_int(map, fsize, &position, &tmp2)) goto close_file; @@ -556,13 +552,13 @@ evas_image_load_file_data_bmp(Image_Entry *ie, const char *file, const char *key if (!read_int(map, fsize, &position, &tmp2)) goto close_file; image_size = tmp2; // bitmap data size if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter + //hdpi = (tmp2 * 254) / 10000; // horizontal pixels/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter + //vdpi = (tmp2 * 254) / 10000; // vertical pixles/meter if (!read_int(map, fsize, &position, &tmp2)) goto close_file; palette_size = tmp2; // number of palette colors power (2^n - so 0 - 8) if (!read_int(map, fsize, &position, &tmp2)) goto close_file; - important_colors = tmp2; // number of important colors - 0 if all + //important_colors = tmp2; // number of important colors - 0 if all if (!read_int(map, fsize, &position, &tmp2)) goto close_file; rmask = tmp2; // red mask if (!read_int(map, fsize, &position, &tmp2)) goto close_file; diff --git a/libraries/evas/src/modules/loaders/edb/Makefile.in b/libraries/evas/src/modules/loaders/edb/Makefile.in index 87356b4..19f906f 100644 --- a/libraries/evas/src/modules/loaders/edb/Makefile.in +++ b/libraries/evas/src/modules/loaders/edb/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/loaders/eet/Makefile.am b/libraries/evas/src/modules/loaders/eet/Makefile.am index c96a8d3..44270e5 100644 --- a/libraries/evas/src/modules/loaders/eet/Makefile.am +++ b/libraries/evas/src/modules/loaders/eet/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @evas_image_loader_eet_cflags@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_LOADER_EET if !EVAS_STATIC_BUILD_EET diff --git a/libraries/evas/src/modules/loaders/eet/Makefile.in b/libraries/evas/src/modules/loaders/eet/Makefile.in index 25a30cf..b144d3a 100644 --- a/libraries/evas/src/modules/loaders/eet/Makefile.in +++ b/libraries/evas/src/modules/loaders/eet/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +418,6 @@ AM_CPPFLAGS = \ @evas_image_loader_eet_cflags@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@pkgdir = $(libdir)/evas/modules/loaders/eet/$(MODULE_ARCH) @BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@module_la_SOURCES = evas_image_load_eet.c diff --git a/libraries/evas/src/modules/loaders/generic/Makefile.am b/libraries/evas/src/modules/loaders/generic/Makefile.am index a9e522e..1f72bfc 100644 --- a/libraries/evas/src/modules/loaders/generic/Makefile.am +++ b/libraries/evas/src/modules/loaders/generic/Makefile.am @@ -9,10 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @evas_image_loader_generic_cflags@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_GENERIC diff --git a/libraries/evas/src/modules/loaders/generic/Makefile.in b/libraries/evas/src/modules/loaders/generic/Makefile.in index dfd5294..98bb45b 100644 --- a/libraries/evas/src/modules/loaders/generic/Makefile.in +++ b/libraries/evas/src/modules/loaders/generic/Makefile.in @@ -182,6 +182,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -232,6 +234,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -250,8 +254,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -325,8 +327,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,10 +418,8 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @evas_image_loader_generic_cflags@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_GENERIC_TRUE@@EVAS_STATIC_BUILD_GENERIC_FALSE@pkgdir = $(libdir)/evas/modules/loaders/generic/$(MODULE_ARCH) @BUILD_LOADER_GENERIC_TRUE@@EVAS_STATIC_BUILD_GENERIC_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_GENERIC_TRUE@@EVAS_STATIC_BUILD_GENERIC_FALSE@module_la_SOURCES = evas_image_load_generic.c diff --git a/libraries/evas/src/modules/loaders/gif/Makefile.am b/libraries/evas/src/modules/loaders/gif/Makefile.am index 9234370..3ae57a0 100644 --- a/libraries/evas/src/modules/loaders/gif/Makefile.am +++ b/libraries/evas/src/modules/loaders/gif/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @evas_image_loader_gif_cflags@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_LOADER_GIF if !EVAS_STATIC_BUILD_GIF diff --git a/libraries/evas/src/modules/loaders/gif/Makefile.in b/libraries/evas/src/modules/loaders/gif/Makefile.in index f32fcf4..a7fae36 100644 --- a/libraries/evas/src/modules/loaders/gif/Makefile.in +++ b/libraries/evas/src/modules/loaders/gif/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +418,6 @@ AM_CPPFLAGS = \ @evas_image_loader_gif_cflags@ \ @EINA_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE@pkgdir = $(libdir)/evas/modules/loaders/gif/$(MODULE_ARCH) @BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE@module_la_SOURCES = evas_image_load_gif.c diff --git a/libraries/evas/src/modules/loaders/gif/evas_image_load_gif.c b/libraries/evas/src/modules/loaders/gif/evas_image_load_gif.c index 9cd6f6e..dbb3584 100644 --- a/libraries/evas/src/modules/loaders/gif/evas_image_load_gif.c +++ b/libraries/evas/src/modules/loaders/gif/evas_image_load_gif.c @@ -483,10 +483,17 @@ _evas_image_load_frame_image_data(Image_Entry *ie, GifFileType *gif, Image_Entry } else { - r = cmap->Colors[rows[i1][j1]].Red; - g = cmap->Colors[rows[i1][j1]].Green; - b = cmap->Colors[rows[i1][j1]].Blue; - *ptr++ = ARGB_JOIN(0xff, r, g, b); + if (rows[i1][j1] == alpha) + { + ptr++ ; + } + else + { + r = cmap->Colors[rows[i1][j1]].Red; + g = cmap->Colors[rows[i1][j1]].Green; + b = cmap->Colors[rows[i1][j1]].Blue; + *ptr++ = ARGB_JOIN(0xff, r, g, b); + } } } } diff --git a/libraries/evas/src/modules/loaders/ico/Makefile.am b/libraries/evas/src/modules/loaders/ico/Makefile.am index 044dd0d..5f9b313 100644 --- a/libraries/evas/src/modules/loaders/ico/Makefile.am +++ b/libraries/evas/src/modules/loaders/ico/Makefile.am @@ -8,8 +8,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_ICO if !EVAS_STATIC_BUILD_ICO @@ -27,7 +26,7 @@ else noinst_LTLIBRARIES = libevas_loader_ico.la libevas_loader_ico_la_SOURCES = evas_image_load_ico.c -libevas_loader_ico_la_LIBADD = +libevas_loader_ico_la_LIBADD = endif endif diff --git a/libraries/evas/src/modules/loaders/ico/Makefile.in b/libraries/evas/src/modules/loaders/ico/Makefile.in index f65ace0..2c9c95f 100644 --- a/libraries/evas/src/modules/loaders/ico/Makefile.in +++ b/libraries/evas/src/modules/loaders/ico/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -416,8 +416,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ @BUILD_LOADER_ICO_TRUE@@EVAS_STATIC_BUILD_ICO_FALSE@pkgdir = $(libdir)/evas/modules/loaders/ico/$(MODULE_ARCH) @BUILD_LOADER_ICO_TRUE@@EVAS_STATIC_BUILD_ICO_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/loaders/ico/evas_image_load_ico.c b/libraries/evas/src/modules/loaders/ico/evas_image_load_ico.c index 6e31191..4239407 100644 --- a/libraries/evas/src/modules/loaders/ico/evas_image_load_ico.c +++ b/libraries/evas/src/modules/loaders/ico/evas_image_load_ico.c @@ -88,7 +88,7 @@ evas_image_load_file_head_ico(Image_Entry *ie, const char *file, const char *key unsigned short word; unsigned char byte; int wanted_w = 0, wanted_h = 0, w, h, cols, i, planes = 0, - hot_x = 0, hot_y = 0, bpp = 0, pdelta, search = -1, have_choice = 0, + bpp = 0, pdelta, search = -1, have_choice = 0, hasa = 1; unsigned int bmoffset, bmsize, fsize; unsigned short reserved, type, count; @@ -182,10 +182,10 @@ evas_image_load_file_head_ico(Image_Entry *ie, const char *file, const char *key if (!read_uchar(map, fsize, &position, &byte)) goto close_file; if (!read_ushort(map, fsize, &position, &word)) goto close_file; if (type == CURSOR) planes = word; - else hot_x = word; + //else hot_x = word; if (!read_ushort(map, fsize, &position, &word)) goto close_file; if (type == CURSOR) bpp = word; - else hot_y = word; + //else hot_y = word; if (!read_uint(map, fsize, &position, &bmsize)) goto close_file; if (!read_uint(map, fsize, &position, &bmoffset)) goto close_file; if ((bmsize <= 0) || (bmoffset <= 0) || (bmoffset >= fsize)) goto close_file; @@ -315,11 +315,11 @@ evas_image_load_file_data_ico(Image_Entry *ie, const char *file, const char *key unsigned char byte; unsigned int dword; int wanted_w = 0, wanted_h = 0, w, h, cols, i, planes = 0, - hot_x = 0, hot_y = 0, bpp = 0, pdelta, search = -1, have_choice = 0, + bpp = 0, pdelta, search = -1, have_choice = 0, stride, pstride, j, right_way_up = 0, diff_size = 0, cols2; - unsigned int bmoffset, bmsize, bitcount, compression, imagesize, fsize, - colorsused, colorsimportant, *pal, *surface, *pix, none_zero_alpha = 0; - unsigned short reserved, type, count, planes2; + unsigned int bmoffset, bmsize, bitcount, fsize, + *pal, *surface, *pix, none_zero_alpha = 0; + unsigned short reserved, type, count; unsigned char *maskbuf, *pixbuf, *p; struct { int pdelta; @@ -411,10 +411,10 @@ evas_image_load_file_data_ico(Image_Entry *ie, const char *file, const char *key if (!read_uchar(map, fsize, &position, &byte)) goto close_file; if (!read_ushort(map, fsize, &position, &word)) goto close_file; if (type == 1) planes = word; - else hot_x = word; + //else hot_x = word; if (!read_ushort(map, fsize, &position, &word)) goto close_file; if (type == 1) bpp = word; - else hot_y = word; + //else hot_y = word; if (!read_uint(map, fsize, &position, &bmsize)) goto close_file; if (!read_uint(map, fsize, &position, &bmoffset)) goto close_file; if ((bmsize <= 0) || (bmoffset <= 0) || (bmoffset >= fsize)) goto close_file; @@ -540,19 +540,19 @@ evas_image_load_file_data_ico(Image_Entry *ie, const char *file, const char *key file, ie->w, ie->h, w, h); } if (!read_ushort(map, fsize, &position, &word)) goto close_file; // planes - planes2 = word; + //planes2 = word; if (!read_ushort(map, fsize, &position, &word)) goto close_file; // bitcount bitcount = word; if (!read_uint(map, fsize, &position, &dword)) goto close_file; // compression - compression = dword; + //compression = dword; if (!read_uint(map, fsize, &position, &dword)) goto close_file; // imagesize - imagesize = dword; + //imagesize = dword; if (!read_uint(map, fsize, &position, &dword)) goto close_file; // z pixels per m if (!read_uint(map, fsize, &position, &dword)) goto close_file; // y pizels per m if (!read_uint(map, fsize, &position, &dword)) goto close_file; // colors used - colorsused = dword; + //colorsused = dword; if (!read_uint(map, fsize, &position, &dword)) goto close_file; // colors important - colorsimportant = dword; + //colorsimportant = dword; evas_cache_image_surface_alloc(ie, ie->w, ie->h); surface = evas_cache_image_pixels(ie); diff --git a/libraries/evas/src/modules/loaders/jpeg/Makefile.am b/libraries/evas/src/modules/loaders/jpeg/Makefile.am index 2088ba8..a7a19ab 100644 --- a/libraries/evas/src/modules/loaders/jpeg/Makefile.am +++ b/libraries/evas/src/modules/loaders/jpeg/Makefile.am @@ -9,10 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_jpeg_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_JPEG if !EVAS_STATIC_BUILD_JPEG diff --git a/libraries/evas/src/modules/loaders/jpeg/Makefile.in b/libraries/evas/src/modules/loaders/jpeg/Makefile.in index 7c0ca18..4945f85 100644 --- a/libraries/evas/src/modules/loaders/jpeg/Makefile.in +++ b/libraries/evas/src/modules/loaders/jpeg/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -417,10 +417,8 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_jpeg_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@pkgdir = $(libdir)/evas/modules/loaders/jpeg/$(MODULE_ARCH) @BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@module_la_SOURCES = evas_image_load_jpeg.c diff --git a/libraries/evas/src/modules/loaders/jpeg/evas_image_load_jpeg.c b/libraries/evas/src/modules/loaders/jpeg/evas_image_load_jpeg.c index 797c76d..73a7310 100644 --- a/libraries/evas/src/modules/loaders/jpeg/evas_image_load_jpeg.c +++ b/libraries/evas/src/modules/loaders/jpeg/evas_image_load_jpeg.c @@ -272,7 +272,7 @@ evas_image_load_file_head_jpeg_internal(Image_Entry *ie, *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; return EINA_FALSE; } - jpeg_create_decompress(&cinfo); + jpeg_create_decompress(&cinfo); if (_evas_jpeg_membuf_src(&cinfo, map, length)) { @@ -508,11 +508,11 @@ evas_image_load_file_data_jpeg_internal(Image_Entry *ie, unsigned int x, y, l, i, scans; int region = 0; /* rotation setting */ - unsigned int tmp; + unsigned int ie_w = 0, ie_h = 0; unsigned int load_region_x = 0, load_region_y = 0; unsigned int load_region_w = 0, load_region_h = 0; - int degree = 0; - Eina_Bool change_wh = EINA_FALSE; + volatile int degree = 0; + volatile Eina_Bool change_wh = EINA_FALSE; Eina_Bool line_done = EINA_FALSE; if (ie->flags.rotated) @@ -582,9 +582,13 @@ evas_image_load_file_data_jpeg_internal(Image_Entry *ie, if (change_wh) { - tmp = ie->w; - ie->w = ie->h; - ie->h = tmp; + ie_w = ie->h; + ie_h = ie->w; + } + else + { + ie_w = ie->w; + ie_h = ie->h; } if ((ie->load_opts.region.w > 0) && (ie->load_opts.region.h > 0)) @@ -629,20 +633,31 @@ evas_image_load_file_data_jpeg_internal(Image_Entry *ie, cinfo.region_h = ie->load_opts.region.h; #endif } - if ((!region) && ((w != ie->w) || (h != ie->h))) + if ((!region) && ((w != ie_w) || (h != ie_h))) { - // race condition, the file could have change from when we call header - // this test will not solve the problem with region code. - jpeg_destroy_decompress(&cinfo); + // race condition, the file could have change from when we call header + // this test will not solve the problem with region code. + jpeg_destroy_decompress(&cinfo); _evas_jpeg_membuf_src_term(&cinfo); - *error = EVAS_LOAD_ERROR_GENERIC; - return EINA_FALSE; + *error = EVAS_LOAD_ERROR_GENERIC; + return EINA_FALSE; } if ((region) && - ((ie->w != ie->load_opts.region.w) || (ie->h != ie->load_opts.region.h))) + ((ie_w != ie->load_opts.region.w) || (ie_h != ie->load_opts.region.h))) { - ie->w = ie->load_opts.region.w; - ie->h = ie->load_opts.region.h; + ie_w = ie->load_opts.region.w; + ie_h = ie->load_opts.region.h; + if (change_wh) + { + ie->w = ie_h; + ie->h = ie_w; + } + else + { + ie->w = ie_w; + ie->h = ie_h; + } + } if (!(((cinfo.out_color_space == JCS_RGB) && @@ -971,31 +986,24 @@ done: if (ie->flags.rotated) { DATA32 *data1, *data2, *to, *from; - int x, y, w, h, hw; - - if (change_wh) - { - tmp = ie->w; - ie->w = ie->h; - ie->h = tmp; - } + int lx, ly, lw, lh, hw; - w = ie->w; - h = ie->h; - hw =w * h; + lw = ie->w; + lh = ie->h; + hw =lw * lh; data1 = evas_cache_image_pixels(ie); if (degree == 180) { - DATA32 tmp; + DATA32 tmpd; - data2 = data1 + (h * w) -1; - for (x = (w * h) / 2; --x >= 0;) + data2 = data1 + (lh * lw) -1; + for (lx = (lw * lh) / 2; --lx >= 0;) { - tmp = *data1; + tmpd = *data1; *data1 = *data2; - *data2 = tmp; + *data2 = tmpd; data1++; data2--; } @@ -1008,26 +1016,26 @@ done: if (degree == 90) { - to = data1 + w - 1; + to = data1 + lw - 1; hw = -hw - 1; } else if (degree == 270) { - to = data1 + hw - w; - w = -w; + to = data1 + hw - lw; + lw = -lw; hw = hw + 1; } if (to) { from = data2; - for (x = ie->w; --x >= 0;) + for (lx = ie->w; --lx >= 0;) { - for (y =ie->h; --y >= 0;) + for (ly =ie->h; --ly >= 0;) { *to = *from; from++; - to += w; + to += lw; } to += hw; } @@ -1046,6 +1054,7 @@ done: ie->load_opts.region.h = load_region_h; } } + if (line_done) { jpeg_destroy_decompress(&cinfo); diff --git a/libraries/evas/src/modules/loaders/pmaps/Makefile.am b/libraries/evas/src/modules/loaders/pmaps/Makefile.am index dc07a32..6fc3d6d 100644 --- a/libraries/evas/src/modules/loaders/pmaps/Makefile.am +++ b/libraries/evas/src/modules/loaders/pmaps/Makefile.am @@ -9,10 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_pmaps_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_PMAPS if !EVAS_STATIC_BUILD_PMAPS diff --git a/libraries/evas/src/modules/loaders/pmaps/Makefile.in b/libraries/evas/src/modules/loaders/pmaps/Makefile.in index 745e79b..c44904a 100644 --- a/libraries/evas/src/modules/loaders/pmaps/Makefile.in +++ b/libraries/evas/src/modules/loaders/pmaps/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -417,10 +417,8 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_pmaps_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE@pkgdir = $(libdir)/evas/modules/loaders/pmaps/$(MODULE_ARCH) @BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE@module_la_SOURCES = evas_image_load_pmaps.c diff --git a/libraries/evas/src/modules/loaders/png/Makefile.am b/libraries/evas/src/modules/loaders/png/Makefile.am index f9387a5..884cdec 100644 --- a/libraries/evas/src/modules/loaders/png/Makefile.am +++ b/libraries/evas/src/modules/loaders/png/Makefile.am @@ -9,8 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_png_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_PNG if !EVAS_STATIC_BUILD_PNG diff --git a/libraries/evas/src/modules/loaders/png/Makefile.in b/libraries/evas/src/modules/loaders/png/Makefile.in index 3bd4919..13352bc 100644 --- a/libraries/evas/src/modules/loaders/png/Makefile.in +++ b/libraries/evas/src/modules/loaders/png/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -417,8 +417,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_png_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ @BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH) @BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/loaders/psd/Makefile.am b/libraries/evas/src/modules/loaders/psd/Makefile.am index 8b06348..a87e492 100644 --- a/libraries/evas/src/modules/loaders/psd/Makefile.am +++ b/libraries/evas/src/modules/loaders/psd/Makefile.am @@ -8,8 +8,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_PSD if !EVAS_STATIC_BUILD_PSD @@ -27,7 +26,7 @@ else noinst_LTLIBRARIES = libevas_loader_psd.la libevas_loader_psd_la_SOURCES = evas_image_load_psd.c -libevas_loader_psd_la_LIBADD = +libevas_loader_psd_la_LIBADD = endif endif diff --git a/libraries/evas/src/modules/loaders/psd/Makefile.in b/libraries/evas/src/modules/loaders/psd/Makefile.in index 3dc9c38..b1987c6 100644 --- a/libraries/evas/src/modules/loaders/psd/Makefile.in +++ b/libraries/evas/src/modules/loaders/psd/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -416,8 +416,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ @BUILD_LOADER_PSD_TRUE@@EVAS_STATIC_BUILD_PSD_FALSE@pkgdir = $(libdir)/evas/modules/loaders/psd/$(MODULE_ARCH) @BUILD_LOADER_PSD_TRUE@@EVAS_STATIC_BUILD_PSD_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/loaders/psd/evas_image_load_psd.c b/libraries/evas/src/modules/loaders/psd/evas_image_load_psd.c index 27f5f24..4449db0 100644 --- a/libraries/evas/src/modules/loaders/psd/evas_image_load_psd.c +++ b/libraries/evas/src/modules/loaders/psd/evas_image_load_psd.c @@ -509,12 +509,10 @@ get_single_channel(Image_Entry *ie __UNUSED__, Eina_Bool compressed) { unsigned int i, bpc; - unsigned short *tmp; char headbyte; int c; int pixels_count; - tmp = (unsigned short*)buffer; bpc = (head->depth / 8); pixels_count = head->width * head->height; @@ -569,7 +567,6 @@ read_psd_grey(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_ { unsigned int color_mode, resource_size, misc_info; unsigned short compressed; - unsigned int type; void *surface = NULL; *error = EVAS_LOAD_ERROR_CORRUPT_FILE; @@ -602,10 +599,7 @@ read_psd_grey(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_ switch (head->depth) { case 8: - type = 1; - break; case 16: - type = 2; break; default: *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; @@ -697,7 +691,6 @@ read_psd_rgb(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_t { unsigned int color_mode, resource_size, misc_info; unsigned short compressed; - unsigned int type; void *surface; #define CHECK_RET(Call) \ @@ -721,10 +714,7 @@ read_psd_rgb(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_t switch (head->depth) { case 8: - type = 1; - break; case 16: - type = 2; break; default: *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; @@ -758,7 +748,7 @@ read_psd_rgb(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_t Eina_Bool read_psd_cmyk(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_t length, size_t *position, int *error) { - unsigned int color_mode, resource_size, misc_info, size, i, j, data_size; + unsigned int color_mode, resource_size, misc_info, size, j, data_size; unsigned short compressed; unsigned int format, type; unsigned char *kchannel = NULL; @@ -841,7 +831,7 @@ read_psd_cmyk(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_ unsigned char *tmp = surface; const unsigned char *limit = tmp + data_size; - for (i = 0, j = 0; tmp < limit; tmp++, j++) + for (j = 0; tmp < limit; tmp++, j++) { int k; @@ -857,7 +847,7 @@ read_psd_cmyk(Image_Entry *ie, PSD_Header *head, const unsigned char *map, size_ const unsigned char *limit = tmp + data_size; // The KChannel array really holds the alpha channel on this one. - for (i = 0, j = 0; tmp < limit; tmp += 4, j++) + for (j = 0; tmp < limit; tmp += 4, j++) { tmp[0] = (tmp[0] * tmp[3]) >> 8; tmp[1] = (tmp[1] * tmp[3]) >> 8; diff --git a/libraries/evas/src/modules/loaders/svg/Makefile.am b/libraries/evas/src/modules/loaders/svg/Makefile.am index 4b8d1b5..65820ce 100644 --- a/libraries/evas/src/modules/loaders/svg/Makefile.am +++ b/libraries/evas/src/modules/loaders/svg/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_svg_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_LOADER_SVG if !EVAS_STATIC_BUILD_SVG diff --git a/libraries/evas/src/modules/loaders/svg/Makefile.in b/libraries/evas/src/modules/loaders/svg/Makefile.in index b742842..4d23de1 100644 --- a/libraries/evas/src/modules/loaders/svg/Makefile.in +++ b/libraries/evas/src/modules/loaders/svg/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +418,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_svg_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE@pkgdir = $(libdir)/evas/modules/loaders/svg/$(MODULE_ARCH) @BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE@module_la_SOURCES = evas_image_load_svg.c diff --git a/libraries/evas/src/modules/loaders/tga/Makefile.am b/libraries/evas/src/modules/loaders/tga/Makefile.am index 4d9e240..7cd8fed 100644 --- a/libraries/evas/src/modules/loaders/tga/Makefile.am +++ b/libraries/evas/src/modules/loaders/tga/Makefile.am @@ -8,8 +8,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_TGA if !EVAS_STATIC_BUILD_TGA @@ -27,7 +26,7 @@ else noinst_LTLIBRARIES = libevas_loader_tga.la libevas_loader_tga_la_SOURCES = evas_image_load_tga.c -libevas_loader_tga_la_LIBADD = +libevas_loader_tga_la_LIBADD = endif endif diff --git a/libraries/evas/src/modules/loaders/tga/Makefile.in b/libraries/evas/src/modules/loaders/tga/Makefile.in index 4d822d1..d2a9271 100644 --- a/libraries/evas/src/modules/loaders/tga/Makefile.in +++ b/libraries/evas/src/modules/loaders/tga/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -416,8 +416,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ @BUILD_LOADER_TGA_TRUE@@EVAS_STATIC_BUILD_TGA_FALSE@pkgdir = $(libdir)/evas/modules/loaders/tga/$(MODULE_ARCH) @BUILD_LOADER_TGA_TRUE@@EVAS_STATIC_BUILD_TGA_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/loaders/tga/evas_image_load_tga.c b/libraries/evas/src/modules/loaders/tga/evas_image_load_tga.c index 9b4073c..bab169b 100644 --- a/libraries/evas/src/modules/loaders/tga/evas_image_load_tga.c +++ b/libraries/evas/src/modules/loaders/tga/evas_image_load_tga.c @@ -76,10 +76,9 @@ evas_image_load_file_head_tga(Image_Entry *ie, const char *file, const char *key unsigned char *seg = NULL, *filedata; tga_header *header; tga_footer *footer, tfooter; - char hasa = 0, footer_present = 0, vinverted = 0; + char hasa = 0; int w = 0, h = 0, bpp; int x, y; - int abits; f = eina_file_open(file, EINA_FALSE); *error = EVAS_LOAD_ERROR_DOES_NOT_EXIST; @@ -98,7 +97,7 @@ evas_image_load_file_head_tga(Image_Entry *ie, const char *file, const char *key memcpy((unsigned char *)(&tfooter), (unsigned char *)footer, sizeof(tga_footer)); - printf("0\n"); + //printf("0\n"); if (!memcmp(tfooter.signature, TGA_SIGNATURE, sizeof(tfooter.signature))) { if ((tfooter.dot == '.') && (tfooter.null == 0)) @@ -106,14 +105,12 @@ evas_image_load_file_head_tga(Image_Entry *ie, const char *file, const char *key // footer is there and matches. this is a tga file - any problems now // are a corrupt file *error = EVAS_LOAD_ERROR_CORRUPT_FILE; - footer_present = 1; } } // else goto close_file; - printf("1\n"); + //printf("1\n"); filedata = (unsigned char *)filedata + sizeof(tga_header); - vinverted = !(header->descriptor & TGA_DESC_VERTICAL); switch (header->imageType) { case TGA_TYPE_COLOR_RLE: @@ -131,7 +128,6 @@ evas_image_load_file_head_tga(Image_Entry *ie, const char *file, const char *key if (!((bpp == 32) || (bpp == 24) || (bpp == 16) || (bpp == 8))) goto close_file; if ((bpp == 32) && (header->descriptor & TGA_DESC_ABITS)) hasa = 1; - abits = header->descriptor & TGA_DESC_ABITS; // don't handle colormapped images if ((header->colorMapType) != 0) goto close_file; diff --git a/libraries/evas/src/modules/loaders/tiff/Makefile.am b/libraries/evas/src/modules/loaders/tiff/Makefile.am index f617c5e..1a53686 100644 --- a/libraries/evas/src/modules/loaders/tiff/Makefile.am +++ b/libraries/evas/src/modules/loaders/tiff/Makefile.am @@ -9,10 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_tiff_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_TIFF if !EVAS_STATIC_BUILD_TIFF diff --git a/libraries/evas/src/modules/loaders/tiff/Makefile.in b/libraries/evas/src/modules/loaders/tiff/Makefile.in index 2b102a1..5976b63 100644 --- a/libraries/evas/src/modules/loaders/tiff/Makefile.in +++ b/libraries/evas/src/modules/loaders/tiff/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -417,10 +417,8 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_tiff_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@pkgdir = $(libdir)/evas/modules/loaders/tiff/$(MODULE_ARCH) @BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@module_la_SOURCES = evas_image_load_tiff.c diff --git a/libraries/evas/src/modules/loaders/wbmp/Makefile.am b/libraries/evas/src/modules/loaders/wbmp/Makefile.am index eed287a..61a4def 100644 --- a/libraries/evas/src/modules/loaders/wbmp/Makefile.am +++ b/libraries/evas/src/modules/loaders/wbmp/Makefile.am @@ -8,8 +8,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_WBMP if !EVAS_STATIC_BUILD_WBMP @@ -27,7 +26,7 @@ else noinst_LTLIBRARIES = libevas_loader_wbmp.la libevas_loader_wbmp_la_SOURCES = evas_image_load_wbmp.c -libevas_loader_wbmp_la_LIBADD = +libevas_loader_wbmp_la_LIBADD = endif endif diff --git a/libraries/evas/src/modules/loaders/wbmp/Makefile.in b/libraries/evas/src/modules/loaders/wbmp/Makefile.in index 5c01e1c..aba23a2 100644 --- a/libraries/evas/src/modules/loaders/wbmp/Makefile.in +++ b/libraries/evas/src/modules/loaders/wbmp/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -416,8 +416,7 @@ AM_CPPFLAGS = \ @FREETYPE_CFLAGS@ \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ @BUILD_LOADER_WBMP_TRUE@@EVAS_STATIC_BUILD_WBMP_FALSE@pkgdir = $(libdir)/evas/modules/loaders/wbmp/$(MODULE_ARCH) @BUILD_LOADER_WBMP_TRUE@@EVAS_STATIC_BUILD_WBMP_FALSE@pkg_LTLIBRARIES = module.la diff --git a/libraries/evas/src/modules/loaders/xpm/Makefile.am b/libraries/evas/src/modules/loaders/xpm/Makefile.am index b8cb1fa..83c9970 100644 --- a/libraries/evas/src/modules/loaders/xpm/Makefile.am +++ b/libraries/evas/src/modules/loaders/xpm/Makefile.am @@ -9,10 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_xpm_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_XPM if !EVAS_STATIC_BUILD_XPM diff --git a/libraries/evas/src/modules/loaders/xpm/Makefile.in b/libraries/evas/src/modules/loaders/xpm/Makefile.in index 6383d9e..cfce4ad 100644 --- a/libraries/evas/src/modules/loaders/xpm/Makefile.in +++ b/libraries/evas/src/modules/loaders/xpm/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -417,10 +417,8 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_xpm_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE@pkgdir = $(libdir)/evas/modules/loaders/xpm/$(MODULE_ARCH) @BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE@module_la_SOURCES = evas_image_load_xpm.c diff --git a/libraries/evas/src/modules/loaders/xpm/evas_image_load_xpm.c b/libraries/evas/src/modules/loaders/xpm/evas_image_load_xpm.c index c764f6d..f00f92d 100644 --- a/libraries/evas/src/modules/loaders/xpm/evas_image_load_xpm.c +++ b/libraries/evas/src/modules/loaders/xpm/evas_image_load_xpm.c @@ -153,7 +153,7 @@ evas_image_load_file_xpm(Image_Entry *ie, const char *file, const char *key __UN position = 0; if (length < 9) { - ERR("XPM ERROR: file size, %i, is to small", length); + ERR("XPM ERROR: file size, %zd, is to small", length); eina_file_close(f); *error = EVAS_LOAD_ERROR_CORRUPT_FILE; return EINA_FALSE; @@ -170,7 +170,6 @@ evas_image_load_file_xpm(Image_Entry *ie, const char *file, const char *key __UN if (strncmp("/* XPM */", map, 9)) { - ERR("XPM ERROR: header not found"); *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; goto on_error; } diff --git a/libraries/evas/src/modules/savers/Makefile.in b/libraries/evas/src/modules/savers/Makefile.in index 28236d9..629961c 100644 --- a/libraries/evas/src/modules/savers/Makefile.in +++ b/libraries/evas/src/modules/savers/Makefile.in @@ -161,6 +161,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -211,6 +213,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -229,8 +233,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -304,8 +306,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/savers/edb/Makefile.in b/libraries/evas/src/modules/savers/edb/Makefile.in index 2ed29ec..7637c35 100644 --- a/libraries/evas/src/modules/savers/edb/Makefile.in +++ b/libraries/evas/src/modules/savers/edb/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/modules/savers/eet/Makefile.am b/libraries/evas/src/modules/savers/eet/Makefile.am index 1c7f71c..ffa5bb5 100644 --- a/libraries/evas/src/modules/savers/eet/Makefile.am +++ b/libraries/evas/src/modules/savers/eet/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_eet_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_LOADER_EET if !EVAS_STATIC_BUILD_EET diff --git a/libraries/evas/src/modules/savers/eet/Makefile.in b/libraries/evas/src/modules/savers/eet/Makefile.in index 6564c18..70c76d1 100644 --- a/libraries/evas/src/modules/savers/eet/Makefile.in +++ b/libraries/evas/src/modules/savers/eet/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +418,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_eet_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@pkgdir = $(libdir)/evas/modules/savers/eet/$(MODULE_ARCH) @BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@module_la_SOURCES = evas_image_save_eet.c diff --git a/libraries/evas/src/modules/savers/jpeg/Makefile.am b/libraries/evas/src/modules/savers/jpeg/Makefile.am index 82a40ac..fee6cc3 100644 --- a/libraries/evas/src/modules/savers/jpeg/Makefile.am +++ b/libraries/evas/src/modules/savers/jpeg/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS= \ @EINA_CFLAGS@ \ @evas_image_loader_jpeg_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_SAVER_JPEG if !EVAS_STATIC_BUILD_JPEG diff --git a/libraries/evas/src/modules/savers/jpeg/Makefile.in b/libraries/evas/src/modules/savers/jpeg/Makefile.in index e57c4f9..3e17f5b 100644 --- a/libraries/evas/src/modules/savers/jpeg/Makefile.in +++ b/libraries/evas/src/modules/savers/jpeg/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +418,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_jpeg_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_SAVER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@pkgdir = $(libdir)/evas/modules/savers/jpeg/$(MODULE_ARCH) @BUILD_SAVER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@pkg_LTLIBRARIES = module.la @BUILD_SAVER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@module_la_SOURCES = evas_image_save_jpeg.c diff --git a/libraries/evas/src/modules/savers/png/Makefile.am b/libraries/evas/src/modules/savers/png/Makefile.am index 1429f2e..84b3325 100644 --- a/libraries/evas/src/modules/savers/png/Makefile.am +++ b/libraries/evas/src/modules/savers/png/Makefile.am @@ -9,10 +9,7 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_png_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ - -AM_CFLAGS = @WIN32_CFLAGS@ +@EVIL_CFLAGS@ if BUILD_LOADER_PNG if !EVAS_STATIC_BUILD_PNG diff --git a/libraries/evas/src/modules/savers/png/Makefile.in b/libraries/evas/src/modules/savers/png/Makefile.in index da04ff2..e6f26ca 100644 --- a/libraries/evas/src/modules/savers/png/Makefile.in +++ b/libraries/evas/src/modules/savers/png/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -417,10 +417,8 @@ AM_CPPFLAGS = \ @PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_image_loader_png_cflags@ \ -@EVIL_CFLAGS@ \ -@WIN32_CPPFLAGS@ +@EVIL_CFLAGS@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@pkgdir = $(libdir)/evas/modules/savers/png/$(MODULE_ARCH) @BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@module_la_SOURCES = evas_image_save_png.c diff --git a/libraries/evas/src/modules/savers/tiff/Makefile.am b/libraries/evas/src/modules/savers/tiff/Makefile.am index 6d58d26..b75064f 100644 --- a/libraries/evas/src/modules/savers/tiff/Makefile.am +++ b/libraries/evas/src/modules/savers/tiff/Makefile.am @@ -10,8 +10,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_tiff_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ - if BUILD_LOADER_TIFF if !EVAS_STATIC_BUILD_TIFF diff --git a/libraries/evas/src/modules/savers/tiff/Makefile.in b/libraries/evas/src/modules/savers/tiff/Makefile.in index 8f4411f..3272ba9 100644 --- a/libraries/evas/src/modules/savers/tiff/Makefile.in +++ b/libraries/evas/src/modules/savers/tiff/Makefile.in @@ -181,6 +181,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -231,6 +233,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -249,8 +253,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -324,8 +326,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -418,7 +418,6 @@ AM_CPPFLAGS = \ @EINA_CFLAGS@ \ @evas_image_loader_tiff_cflags@ -AM_CFLAGS = @WIN32_CFLAGS@ @BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@pkgdir = $(libdir)/evas/modules/savers/tiff/$(MODULE_ARCH) @BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@pkg_LTLIBRARIES = module.la @BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@module_la_SOURCES = evas_image_save_tiff.c diff --git a/libraries/evas/src/static_deps/Makefile.in b/libraries/evas/src/static_deps/Makefile.in index 514e79c..dd23c0c 100644 --- a/libraries/evas/src/static_deps/Makefile.in +++ b/libraries/evas/src/static_deps/Makefile.in @@ -157,6 +157,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -207,6 +209,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -225,8 +229,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -300,8 +302,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/static_deps/liblinebreak/Makefile.in b/libraries/evas/src/static_deps/liblinebreak/Makefile.in index 9d44327..b26a9eb 100644 --- a/libraries/evas/src/static_deps/liblinebreak/Makefile.in +++ b/libraries/evas/src/static_deps/liblinebreak/Makefile.in @@ -150,6 +150,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -200,6 +202,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -218,8 +222,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -293,8 +295,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/tests/Makefile.in b/libraries/evas/src/tests/Makefile.in index 8790c33..f3c46d3 100644 --- a/libraries/evas/src/tests/Makefile.in +++ b/libraries/evas/src/tests/Makefile.in @@ -153,6 +153,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -203,6 +205,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -221,8 +225,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -296,8 +298,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ diff --git a/libraries/evas/src/tests/evas_test_textblock.c b/libraries/evas/src/tests/evas_test_textblock.c index cf6a78b..983a2fc 100644 --- a/libraries/evas/src/tests/evas_test_textblock.c +++ b/libraries/evas/src/tests/evas_test_textblock.c @@ -1283,6 +1283,15 @@ START_TEST(evas_textblock_various) evas_object_textblock_text_markup_set(tb, "aaa"); fail_if(!_evas_textblock_check_item_node_link(tb)); + /* These shouldn't crash (although the desired outcome is not yet defined) */ + evas_object_textblock_text_markup_set(tb, ""); + evas_textblock_cursor_pos_set(cur, 0); + evas_textblock_cursor_char_delete(cur); + + evas_object_textblock_text_markup_set(tb, "\xEF\xBF\xBC"); + evas_textblock_cursor_pos_set(cur, 0); + evas_textblock_cursor_char_delete(cur); + END_TB_TEST(); } END_TEST @@ -2090,6 +2099,29 @@ START_TEST(evas_textblock_size) fail_if((w != nw) || (h != nh)); fail_if(w <= 0); + /* This time with margins. */ + { + Evas_Textblock_Style *newst; + Evas_Coord oldw, oldh, oldnw, oldnh; + + evas_object_textblock_text_markup_set(tb, buf); + evas_object_textblock_size_formatted_get(tb, &oldw, &oldh); + evas_object_textblock_size_native_get(tb, &oldnw, &oldnh); + + + newst = evas_textblock_style_new(); + fail_if(!newst); + evas_textblock_style_set(newst, + "DEFAULT='left_margin=4 right_margin=4'"); + evas_object_textblock_style_user_push(tb, newst); + + evas_object_textblock_size_formatted_get(tb, &w, &h); + evas_object_textblock_size_native_get(tb, &nw, &nh); + + fail_if((w != oldw + 8) || (h != oldh) || + (nw != oldnw + 8) || (nh != oldnh)); + } + /* FIXME: There is a lot more to be done. */ END_TB_TEST(); } -- cgit v1.1