summaryrefslogtreecommitdiff
path: root/src/Makefile_Ecore_Evas.am
diff options
context:
space:
mode:
authorFlavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi>2012-12-05 21:15:42 +0000
committerFlavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi>2012-12-05 21:15:42 +0000
commitad7579c1294222d0647673499f062b137d30d270 (patch)
tree9c2c8e693ee3e74ff3d9a05ef69a0645a541533a /src/Makefile_Ecore_Evas.am
parent8783eb70bbaea0a87f7fd4d41d6b062adecf5f67 (diff)
ecore_evas: Make the engines loadable modules
Implementing support for loadables modules. It makes the engines been loaded when they are needed. It not breakes the api, so each engine still has its own api. The implementation basically is: * Functions that creates Ecore_Evas, for example ecore_evas_software_x11_new, request to load its module and then get the module's function to create the Ecore_Evas. * The other functions such as \(.*\)_window_get from the Ecore_Evas its interface and then call the appropriate method. * As there is no unified interface to communicate with the engines (not break api problem), all interfaces were declared in ecore_evas_private.h * Now the data necessary for each module is not declared in the Ecore_Evas_Engine structure, instead of this, the struct has a void pointer that is used by the modules. * In this first moment engines as software_x11 and gl_x11 were put together in the same module, but obviously exporting all the things necessary. SVN revision: 80280
Diffstat (limited to 'src/Makefile_Ecore_Evas.am')
-rw-r--r--src/Makefile_Ecore_Evas.am235
1 files changed, 138 insertions, 97 deletions
diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am
index 679feee895..ac7e0074ab 100644
--- a/src/Makefile_Ecore_Evas.am
+++ b/src/Makefile_Ecore_Evas.am
@@ -5,30 +5,17 @@ lib_LTLIBRARIES += lib/ecore_evas/libecore_evas.la
5 5
6installed_ecoreevasmainheadersdir = $(includedir)/ecore-@VMAJ@ 6installed_ecoreevasmainheadersdir = $(includedir)/ecore-@VMAJ@
7dist_installed_ecoreevasmainheaders_DATA = \ 7dist_installed_ecoreevasmainheaders_DATA = \
8lib/ecore_evas/Ecore_Evas_Types.h \
8lib/ecore_evas/Ecore_Evas.h 9lib/ecore_evas/Ecore_Evas.h
9 10
10lib_ecore_evas_libecore_evas_la_SOURCES = \ 11lib_ecore_evas_libecore_evas_la_SOURCES = \
11lib/ecore_evas/ecore_evas.c \ 12lib/ecore_evas/ecore_evas.c \
12lib/ecore_evas/ecore_evas_util.c \
13lib/ecore_evas/ecore_evas_x.c \
14lib/ecore_evas/ecore_evas_fb.c \
15lib/ecore_evas/ecore_evas_buffer.c \
16lib/ecore_evas/ecore_evas_deprecated.c \ 13lib/ecore_evas/ecore_evas_deprecated.c \
17lib/ecore_evas/ecore_evas_win32.c \
18lib/ecore_evas/ecore_evas_sdl.c \
19lib/ecore_evas/ecore_evas_cocoa.c \
20lib/ecore_evas/ecore_evas_ews.c \ 14lib/ecore_evas/ecore_evas_ews.c \
21lib/ecore_evas/ecore_evas_psl1ght.c \ 15lib/ecore_evas/ecore_evas_util.c \
22lib/ecore_evas/ecore_evas_wayland_shm.c \ 16lib/ecore_evas/ecore_evas_module.c \
23lib/ecore_evas/ecore_evas_wayland_egl.c \
24lib/ecore_evas/ecore_evas_extn.c \
25lib/ecore_evas/ecore_evas_private.h 17lib/ecore_evas/ecore_evas_private.h
26 18
27if HAVE_ECORE_WAYLAND
28lib_ecore_evas_libecore_evas_la_SOURCES += \
29lib/ecore_evas/ecore_evas_wayland_common.c
30endif
31
32lib_ecore_evas_libecore_evas_la_CPPFLAGS = \ 19lib_ecore_evas_libecore_evas_la_CPPFLAGS = \
33-I$(top_srcdir)/src/lib/eina \ 20-I$(top_srcdir)/src/lib/eina \
34-I$(top_srcdir)/src/lib/eo \ 21-I$(top_srcdir)/src/lib/eo \
@@ -48,126 +35,180 @@ lib_ecore_evas_libecore_evas_la_CPPFLAGS = \
48-I$(top_builddir)/src/lib/ecore_input_evas \ 35-I$(top_builddir)/src/lib/ecore_input_evas \
49-I$(top_builddir)/src/lib/ecore_evas \ 36-I$(top_builddir)/src/lib/ecore_evas \
50-I$(top_builddir)/src/modules/evas/engines/buffer \ 37-I$(top_builddir)/src/modules/evas/engines/buffer \
38-DPACKAGE_LIB_DIR=\"$(libdir)\" \
51-DEFL_ECORE_EVAS_BUILD \ 39-DEFL_ECORE_EVAS_BUILD \
52@EFL_CFLAGS@ \ 40@EFL_CFLAGS@ \
53@EFL_COV_CFLAGS@ 41@EFL_COV_CFLAGS@
54 42
55if HAVE_ECORE_COCOA 43if HAVE_WINDOWS
56lib_ecore_evas_libecore_evas_la_CPPFLAGS += \ 44lib_ecore_evas_libecore_evas_la_CPPFLAGS += \
45-I$(top_srcdir)/src/lib/evil \
46-I$(top_builddir)/src/lib/evil
47endif
48
49lib_ecore_evas_libecore_evas_la_LIBADD = \
50lib/ecore_input/libecore_input_evas.la \
51lib/ecore_input/libecore_input.la \
52lib/ecore_ipc/libecore_ipc.la \
53lib/ecore/libecore.la \
54lib/evas/libevas.la \
55lib/eo/libeo.la \
56lib/eina/libeina.la \
57@ECORE_EVAS_LIBS@
58
59lib_ecore_evas_libecore_evas_la_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@
60
61# Engines
62
63if BUILD_ENGINE_BUFFER
64BUFFERSOURCES = \
65modules/ecore_evas/engines/buffer/ecore_evas_buffer.c \
66modules/ecore_evas/engines/buffer/ecore_evas_extn.c \
67modules/ecore_evas/engines/buffer/ecore_evas_buffer_private.h
68ecoreevasenginebufferpkgdir = $(libdir)/ecore_evas/engines/buffer/$(MODULE_ARCH)
69ecoreevasenginebufferpkg_LTLIBRARIES = modules/ecore_evas/engines/buffer/module.la
70modules_ecore_evas_engines_buffer_module_la_SOURCES = $(BUFFERSOURCES)
71modules_ecore_evas_engines_buffer_module_la_CPPFLAGS = $(lib_ecore_evas_libecore_evas_la_CPPFLAGS)
72modules_ecore_evas_engines_buffer_module_la_LIBADD = lib/ecore_evas/libecore_evas.la @EFL_LIBS@
73modules_ecore_evas_engines_buffer_module_la_LDFLAGS = -no-undefined -module -avoid-version
74modules_ecore_evas_engines_buffer_module_la_LIBTOOLFLAGS = --tag=disable-static
75endif
76
77if HAVE_ECORE_X
78XSOURCES = modules/ecore_evas/engines/x/ecore_evas_x.c
79ecoreevasenginexpkgdir = $(libdir)/ecore_evas/engines/x/$(MODULE_ARCH)
80ecoreevasenginexpkg_LTLIBRARIES = modules/ecore_evas/engines/x/module.la
81modules_ecore_evas_engines_x_module_la_SOURCES = $(XSOURCES)
82modules_ecore_evas_engines_x_module_la_CPPFLAGS = \
83$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
84-I$(top_srcdir)/src/lib/ecore_x \
85-I$(top_srcdir)/src/modules/evas/engines/software_x11 \
86-I$(top_srcdir)/src/modules/evas/engines/gl_x11 \
87-I$(top_builddir)/src/lib/ecore_x \
88-I$(top_builddir)/src/modules/evas/engines/software_x11 \
89-I$(top_builddir)/src/modules/evas/engines/gl_x11
90modules_ecore_evas_engines_x_module_la_LIBADD = \
91lib/ecore_evas/libecore_evas.la @EFL_LIBS@ \
92lib/ecore_x/libecore_x.la
93modules_ecore_evas_engines_x_module_la_LDFLAGS = -no-undefined -module -avoid-version
94modules_ecore_evas_engines_x_module_la_LIBTOOLFLAGS = --tag=disable-static
95endif
96
97if HAVE_ECORE_COCOA
98COCOASOURCES = modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
99ecoreevasenginecocoapkgdir = $(libdir)/ecore_evas/engines/cocoa/$(MODULE_ARCH)
100ecoreevasenginecocoapkg_LTLIBRARIES = modules/ecore_evas/engines/cocoa/module.la
101modules_ecore_evas_engines_cocoa_module_la_SOURCES = $(COCOASOURCES)
102modules_ecore_evas_engines_cocoa_module_la_CPPFLAGS = \
103$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
57-I$(top_srcdir)/src/lib/ecore_cocoa \ 104-I$(top_srcdir)/src/lib/ecore_cocoa \
58-I$(top_srcdir)/src/modules/evas/engines/gl_cocoa \ 105-I$(top_srcdir)/src/modules/evas/engines/gl_cocoa \
59-I$(top_builddir)/src/lib/ecore_cocoa \ 106-I$(top_builddir)/src/lib/ecore_cocoa \
60-I$(top_builddir)/src/modules/evas/engines/gl_cocoa 107-I$(top_builddir)/src/modules/evas/engines/gl_cocoa
108modules_ecore_evas_engines_cocoa_module_la_LIBADD = \
109lib/ecore_evas/libecore_evas.la @EFL_LIBS@ \
110lib/ecore_cocoa/libecore_cocoa.la
111modules_ecore_evas_engines_cocoa_module_la_LDFLAGS = -no-undefined -module -avoid-version
112modules_ecore_evas_engines_cocoa_module_la_LIBTOOLFLAGS = --tag=disable-static
61endif 113endif
62 114
63if HAVE_ECORE_FB 115if HAVE_ECORE_FB
64lib_ecore_evas_libecore_evas_la_CPPFLAGS += \ 116FBSOURCES = modules/ecore_evas/engines/fb/ecore_evas_fb.c
117ecoreevasenginefbpkgdir = $(libdir)/ecore_evas/engines/fb/$(MODULE_ARCH)
118ecoreevasenginefbpkg_LTLIBRARIES = modules/ecore_evas/engines/fb/module.la
119modules_ecore_evas_engines_fb_module_la_SOURCES = $(FBSOURCES)
120modules_ecore_evas_engines_fb_module_la_CPPFLAGS = \
121$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
65-I$(top_srcdir)/src/lib/ecore_fb \ 122-I$(top_srcdir)/src/lib/ecore_fb \
66-I$(top_srcdir)/src/modules/evas/engines/fb \ 123-I$(top_srcdir)/src/modules/evas/engines/fb \
67-I$(top_builddir)/src/lib/ecore_fb \ 124-I$(top_builddir)/src/lib/ecore_fb \
68-I$(top_builddir)/src/modules/evas/engines/fb 125-I$(top_builddir)/src/modules/evas/engines/fb
126modules_ecore_evas_engines_fb_module_la_LIBADD = \
127lib/ecore_evas/libecore_evas.la @EFL_LIBS@ \
128lib/ecore_fb/libecore_fb.la
129modules_ecore_evas_engines_fb_module_la_LDFLAGS = -no-undefined -module -avoid-version
130modules_ecore_evas_engines_fb_module_la_LIBTOOLFLAGS = --tag=disable-static
69endif 131endif
70 132
71if HAVE_PS3 133if HAVE_PS3
72lib_ecore_evas_libecore_evas_la_CPPFLAGS += \ 134PSL1GHTSOURCES = modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c
135ecoreevasenginepsl1ghtpkgdir = $(libdir)/ecore_evas/engines/psl1ght/$(MODULE_ARCH)
136ecoreevasenginepsl1ghtpkg_LTLIBRARIES = modules/ecore_evas/engines/psl1ght/module.la
137modules_ecore_evas_engines_psl1ght_module_la_SOURCES = $(PSL1GHTSOURCES)
138modules_ecore_evas_engines_psl1ght_module_la_CPPFLAGS = \
139$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
73-I$(top_srcdir)/src/lib/ecore_psl1ght \ 140-I$(top_srcdir)/src/lib/ecore_psl1ght \
74-I$(top_srcdir)/src/modules/evas/engines/psl1ght \ 141-I$(top_srcdir)/src/modules/evas/engines/psl1ght \
75-I$(top_builddir)/src/lib/ecore_psl1ght \ 142-I$(top_builddir)/src/lib/ecore_psl1ght \
76-I$(top_builddir)/src/modules/evas/engines/psl1ght 143-I$(top_builddir)/src/modules/evas/engines/psl1ght
77endif 144modules_ecore_evas_engines_psl1ght_module_la_LIBADD = \
78 145lib/ecore_evas/libecore_evas.la @EFL_LIBS@ \
79if HAVE_ECORE_SDL 146lib/ecore_psl1ght/libecore_psl1ght.la
80lib_ecore_evas_libecore_evas_la_CPPFLAGS += \ 147modules_ecore_evas_engines_psl1ght_module_la_LDFLAGS = -no-undefined -module -avoid-version
81-I$(top_srcdir)/src/lib/ecore_sdl \ 148modules_ecore_evas_engines_psl1ght_module_la_LIBTOOLFLAGS = --tag=disable-static
82-I$(top_srcdir)/src/modules/evas/engines/gl_sdl \
83-I$(top_builddir)/src/lib/ecore_sdl \
84-I$(top_builddir)/src/modules/evas/engines/gl_sdl
85endif 149endif
86 150
87if HAVE_ECORE_WAYLAND 151if HAVE_ECORE_WAYLAND
88lib_ecore_evas_libecore_evas_la_CPPFLAGS += \ 152WAYLANDSOURCES = \
153modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c \
154modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c \
155modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c \
156modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
157ecoreevasenginewaylandpkgdir = $(libdir)/ecore_evas/engines/wayland/$(MODULE_ARCH)
158ecoreevasenginewaylandpkg_LTLIBRARIES = modules/ecore_evas/engines/wayland/module.la
159modules_ecore_evas_engines_wayland_module_la_SOURCES = $(WAYLANDSOURCES)
160modules_ecore_evas_engines_wayland_module_la_CPPFLAGS = \
161$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
89-I$(top_srcdir)/src/lib/ecore_wayland \ 162-I$(top_srcdir)/src/lib/ecore_wayland \
90-I$(top_srcdir)/src/modules/evas/engines/wayland_shm \ 163-I$(top_srcdir)/src/modules/evas/engines/wayland_shm \
91-I$(top_srcdir)/src/modules/evas/engines/wayland_egl \ 164-I$(top_srcdir)/src/modules/evas/engines/wayland_egl \
92-I$(top_builddir)/src/lib/ecore_wayland \ 165-I$(top_builddir)/src/lib/ecore_wayland \
93-I$(top_builddir)/src/modules/evas/engines/wayland_shm \ 166-I$(top_builddir)/src/modules/evas/engines/wayland_shm \
94-I$(top_builddir)/src/modules/evas/engines/wayland_egl 167-I$(top_builddir)/src/modules/evas/engines/wayland_egl \
168@ECORE_WAYLAND_CFLAGS@
169modules_ecore_evas_engines_wayland_module_la_LIBADD = \
170lib/ecore_evas/libecore_evas.la @EFL_LIBS@ \
171lib/ecore_wayland/libecore_wayland.la
172modules_ecore_evas_engines_wayland_module_la_LDFLAGS = -no-undefined -module -avoid-version
173modules_ecore_evas_engines_wayland_module_la_LIBTOOLFLAGS = --tag=disable-static
174endif
175
176if HAVE_ECORE_SDL
177SDLSOURCES = \
178modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
179ecoreevasenginesdlpkgdir = $(libdir)/ecore_evas/engines/sdl/$(MODULE_ARCH)
180ecoreevasenginesdlpkg_LTLIBRARIES = modules/ecore_evas/engines/sdl/module.la
181modules_ecore_evas_engines_sdl_module_la_SOURCES = $(SDLSOURCES)
182modules_ecore_evas_engines_sdl_module_la_CPPFLAGS = \
183$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
184-I$(top_srcdir)/src/lib/ecore_sdl \
185-I$(top_srcdir)/src/modules/evas/engines/gl_sdl \
186-I$(top_builddir)/src/lib/ecore_sdl \
187-I$(top_builddir)/src/modules/evas/engines/gl_sdl
188modules_ecore_evas_engines_sdl_module_la_LIBADD = \
189lib/ecore_evas/libecore_evas.la @EFL_LIBS@ \
190lib/ecore_sdl/libecore_sdl.la
191modules_ecore_evas_engines_sdl_module_la_LDFLAGS = -no-undefined -module -avoid-version
192modules_ecore_evas_engines_sdl_module_la_LIBTOOLFLAGS = --tag=disable-static
95endif 193endif
96 194
97if HAVE_WIN32 195if HAVE_WIN32
98lib_ecore_evas_libecore_evas_la_CPPFLAGS += \ 196WIN32SOURCES = \
197modules/ecore_evas/engines/win32/ecore_evas_win32.c
198ecoreevasengineswin32pkgdir = $(libdir)/ecore_evas/engines/win32/$(MODULE_ARCH)
199ecoreevasengineswin32pkg_LTLIBRARIES = modules/ecore_evas/engines/win32/module.la
200modules_ecore_evas_engines_win32_module_la_SOURCES = $(WIN32SOURCES)
201modules_ecore_evas_engines_win32_module_la_CPPFLAGS = \
202$(lib_ecore_evas_libecore_evas_la_CPPFLAGS) \
99-I$(top_srcdir)/src/lib/ecore_win32 \ 203-I$(top_srcdir)/src/lib/ecore_win32 \
100-I$(top_srcdir)/src/modules/evas/engines/software_ddraw \ 204-I$(top_srcdir)/src/modules/evas/engines/software_ddraw \
101-I$(top_srcdir)/src/modules/evas/engines/software_gdi \ 205-I$(top_srcdir)/src/modules/evas/engines/software_gdi \
102-I$(top_builddir)/src/lib/ecore_win32 \ 206-I$(top_builddir)/src/lib/ecore_win32 \
103-I$(top_builddir)/src/modules/evas/engines/software_ddraw \ 207-I$(top_builddir)/src/modules/evas/engines/software_ddraw \
104-I$(top_builddir)/src/modules/evas/engines/software_gdi 208-I$(top_builddir)/src/modules/evas/engines/software_gdi
105endif 209modules_ecore_evas_engines_win32_module_la_LIBADD = \
106 210lib/ecore/libeecore_evas.la @EFL_LIBS@ \
107if HAVE_WINCE
108lib_ecore_evas_libecore_evas_la_CPPFLAGS += \
109-I$(top_srcdir)/src/lib/ecore_wince \
110-I$(top_builddir)/src/lib/ecore_wince
111endif
112
113if HAVE_ECORE_X
114lib_ecore_evas_libecore_evas_la_CPPFLAGS += \
115-I$(top_srcdir)/src/lib/ecore_x \
116-I$(top_srcdir)/src/modules/evas/engines/software_x11 \
117-I$(top_srcdir)/src/modules/evas/engines/gl_x11 \
118-I$(top_builddir)/src/lib/ecore_x \
119-I$(top_builddir)/src/modules/evas/engines/software_x11 \
120-I$(top_builddir)/src/modules/evas/engines/gl_x11
121endif
122
123lib_ecore_evas_libecore_evas_la_LIBADD = \
124lib/ecore_input/libecore_input_evas.la \
125lib/ecore_input/libecore_input.la \
126lib/ecore_ipc/libecore_ipc.la \
127lib/ecore/libecore.la \
128lib/evas/libevas.la \
129lib/eo/libeo.la \
130lib/eina/libeina.la \
131@ECORE_EVAS_LIBS@
132
133if HAVE_ECORE_COCOA
134lib_ecore_evas_libecore_evas_la_LIBADD += \
135lib/ecore_cocoa/libecore_cocoa.la
136endif
137
138if HAVE_ECORE_FB
139lib_ecore_evas_libecore_evas_la_LIBADD += \
140lib/ecore_fb/libecore_fb.la
141endif
142
143if HAVE_PS3
144lib_ecore_evas_libecore_evas_la_LIBADD += \
145lib/ecore_psl1ght/libecore_psl1ght.la
146endif
147
148if HAVE_ECORE_SDL
149lib_ecore_evas_libecore_evas_la_LIBADD += \
150lib/ecore_sdl/libecore_sdl.la
151endif
152
153if HAVE_ECORE_WAYLAND
154lib_ecore_evas_libecore_evas_la_LIBADD += \
155lib/ecore_wayland/libecore_wayland.la
156endif
157
158if HAVE_WIN32
159lib_ecore_evas_libecore_evas_la_LIBADD += \
160lib/ecore_win32/libecore_win32.la 211lib/ecore_win32/libecore_win32.la
212modules_ecore_evas_engines_win32_module_la_LDFLAGS = -no-undefined -module -avoid-version
213modules_ecore_evas_engines_win32_module_la_LIBTOOLFLAGS = --tag=disable-static
161endif 214endif
162
163if HAVE_WINCE
164lib_ecore_evas_libecore_evas_la_LIBADD += \
165lib/ecore_wince/libecore_wince.la
166endif
167
168if HAVE_ECORE_X
169lib_ecore_evas_libecore_evas_la_LIBADD += \
170lib/ecore_x/libecore_x.la
171endif
172
173lib_ecore_evas_libecore_evas_la_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@