summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--legacy/evas/AUTHORS1
-rw-r--r--legacy/evas/COPYING28
-rw-r--r--legacy/evas/COPYING-PLAIN33
-rw-r--r--legacy/evas/ChangeLog0
-rw-r--r--legacy/evas/Doxyfile993
-rw-r--r--legacy/evas/INSTALL8
-rw-r--r--legacy/evas/Makefile.am33
-rw-r--r--legacy/evas/NEWS0
-rw-r--r--legacy/evas/README515
-rw-r--r--legacy/evas/TODO5
-rw-r--r--legacy/evas/acconfig.h63
-rwxr-xr-xlegacy/evas/autogen.sh106
-rw-r--r--legacy/evas/configure.in617
-rw-r--r--legacy/evas/debian/changelog6
-rw-r--r--legacy/evas/debian/control67
-rw-r--r--legacy/evas/debian/copyright40
-rw-r--r--legacy/evas/debian/rules98
-rw-r--r--legacy/evas/evas-config.in59
-rw-r--r--legacy/evas/evas.c.in272
-rw-r--r--legacy/evas/evas.spec76
-rwxr-xr-xlegacy/evas/gendoc10
-rw-r--r--legacy/evas/src/Makefile.am3
22 files changed, 3033 insertions, 0 deletions
diff --git a/legacy/evas/AUTHORS b/legacy/evas/AUTHORS
new file mode 100644
index 0000000000..b9a94045d0
--- /dev/null
+++ b/legacy/evas/AUTHORS
@@ -0,0 +1 @@
Carsten Haitzler <raster@rasterman.com>
diff --git a/legacy/evas/COPYING b/legacy/evas/COPYING
new file mode 100644
index 0000000000..474fcc5faa
--- /dev/null
+++ b/legacy/evas/COPYING
@@ -0,0 +1,28 @@
1Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
2
3Permission is hereby granted, free of charge, to any person obtaining a copy
4of this software and associated documentation files (the "Software"), to
5deal in the Software without restriction, including without limitation the
6rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7sell copies of the Software, and to permit persons to whom the Software is
8furnished to do so, subject to the following conditions:
9
10The above copyright notice and this permission notice shall be included in
11all copies of the Software and its Copyright notices. In addition publicly
12documented acknowledgment must be given that this software has been used if no
13source code of this software is made available publicly. This includes
14acknowledgments in either Copyright notices, Manuals, Publicity and Marketing
15documents or any documentation provided with any product containing this
16software. This License does not apply to any software that links to the
17libraries provided by this software (statically or dynamically), but only to
18the software provided.
19
20Please see the COPYING.PLAIN for a plain-english explanation of this notice
21and it's intent.
22
23THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
27IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
28CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/legacy/evas/COPYING-PLAIN b/legacy/evas/COPYING-PLAIN
new file mode 100644
index 0000000000..376875e868
--- /dev/null
+++ b/legacy/evas/COPYING-PLAIN
@@ -0,0 +1,33 @@
1Plain English Copyright Notice
2
3This file is not intended to be the actual License. The reason this file
4exists is that we here are programmers and engineers. We aren't lawyers. We
5provide licenses that we THINK say the right things, but we have our own
6intentions at heart. This is a plain-english explanation of what those
7intentions are, and if you follow them you will be within the "spirit" of
8the license.
9
10The intent is for us to enjoy writing software that is useful to us (the
11AUTHORS) and allow others to use it freely and also benefit from the work we
12put into making it. We don't want to restrict others using it. They should
13not *HAVE* to make the source code of the applications they write that
14simply link to these libraries (be that statically or dynamically), or for
15them to be limited as to what license they choose to use (be it open, closed
16or anything else). But we would like to know you are using these libraries.
17We simply would like to know that it has been useful to someone. This is why
18we ask for acknowledgement of some sort.
19
20You can do what you want with the source of this software - it doesn't
21matter. We still have it here for ourselves and it is open and free to use
22and download and play with. It can't be taken away. We don't really mind what
23you do with the source to your software. We would simply like to know that
24you are using it - especially if it makes it to a commerical product. If you
25simply e-mail all the AUTHORS (see COPYING and AUTHORS files) telling us, and
26then make sure you include a paragraph or page in the manual for the product
27with the copyright notice and state that you used this software, we will be
28very happy. If you want to contribute back modifications and fixes you may have
29made we will welcome those too with open arms (generally). If you want help
30with changes needed, ports needed or features to be added, arrangements can
31be easily made with some dialogue.
32
33Carsten Haitzler <raster@rasterman.com>
diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/legacy/evas/ChangeLog
diff --git a/legacy/evas/Doxyfile b/legacy/evas/Doxyfile
new file mode 100644
index 0000000000..8317678996
--- /dev/null
+++ b/legacy/evas/Doxyfile
@@ -0,0 +1,993 @@
1# Doxyfile 1.2.18
2
3# This file describes the settings to be used by the documentation system
4# doxygen (www.doxygen.org) for a project
5#
6# All text after a hash (#) is considered a comment and will be ignored
7# The format is:
8# TAG = value [value, ...]
9# For lists items can also be appended using:
10# TAG += value [value, ...]
11# Values that contain spaces should be placed between quotes (" ")
12
13#---------------------------------------------------------------------------
14# General configuration options
15#---------------------------------------------------------------------------
16
17# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
18# by quotes) that should identify the project.
19
20PROJECT_NAME = Evas
21
22# The PROJECT_NUMBER tag can be used to enter a project or revision number.
23# This could be handy for archiving the generated documentation or
24# if some version control system is used.
25
26PROJECT_NUMBER =
27
28# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
29# base path where the generated documentation will be put.
30# If a relative path is entered, it will be relative to the location
31# where doxygen was started. If left blank the current directory will be used.
32
33OUTPUT_DIRECTORY = doc
34
35# The OUTPUT_LANGUAGE tag is used to specify the language in which all
36# documentation generated by doxygen is written. Doxygen will use this
37# information to generate all constant output in the proper language.
38# The default language is English, other supported languages are:
39# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
40# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
41# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese,
42# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
43
44OUTPUT_LANGUAGE = English
45
46# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
47# documentation are documented, even if no documentation was available.
48# Private class members and static file members will be hidden unless
49# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
50
51EXTRACT_ALL = NO
52
53# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
54# will be included in the documentation.
55
56EXTRACT_PRIVATE = NO
57
58# If the EXTRACT_STATIC tag is set to YES all static members of a file
59# will be included in the documentation.
60
61EXTRACT_STATIC = NO
62
63# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
64# defined locally in source files will be included in the documentation.
65# If set to NO only classes defined in header files are included.
66
67EXTRACT_LOCAL_CLASSES = NO
68
69# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
70# undocumented members of documented classes, files or namespaces.
71# If set to NO (the default) these members will be included in the
72# various overviews, but no documentation section is generated.
73# This option has no effect if EXTRACT_ALL is enabled.
74
75HIDE_UNDOC_MEMBERS = NO
76
77# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
78# undocumented classes that are normally visible in the class hierarchy.
79# If set to NO (the default) these class will be included in the various
80# overviews. This option has no effect if EXTRACT_ALL is enabled.
81
82HIDE_UNDOC_CLASSES = YES
83
84# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
85# friend (class|struct|union) declarations.
86# If set to NO (the default) these declarations will be included in the
87# documentation.
88
89HIDE_FRIEND_COMPOUNDS = YES
90
91# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
92# include brief member descriptions after the members that are listed in
93# the file and class documentation (similar to JavaDoc).
94# Set to NO to disable this.
95
96BRIEF_MEMBER_DESC = YES
97
98# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
99# the brief description of a member or function before the detailed description.
100# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
101# brief descriptions will be completely suppressed.
102
103REPEAT_BRIEF = YES
104
105# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
106# Doxygen will generate a detailed section even if there is only a brief
107# description.
108
109ALWAYS_DETAILED_SEC = NO
110
111# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
112# members of a class in the documentation of that class as if those members were
113# ordinary class members. Constructors, destructors and assignment operators of
114# the base classes will not be shown.
115
116INLINE_INHERITED_MEMB = NO
117
118# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
119# path before files name in the file list and in the header files. If set
120# to NO the shortest path that makes the file name unique will be used.
121
122FULL_PATH_NAMES = NO
123
124# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
125# can be used to strip a user defined part of the path. Stripping is
126# only done if one of the specified strings matches the left-hand part of
127# the path. It is allowed to use relative paths in the argument list.
128
129STRIP_FROM_PATH =
130
131# The INTERNAL_DOCS tag determines if documentation
132# that is typed after a \internal command is included. If the tag is set
133# to NO (the default) then the documentation will be excluded.
134# Set it to YES to include the internal documentation.
135
136INTERNAL_DOCS = NO
137
138# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
139# doxygen to hide any special comment blocks from generated source code
140# fragments. Normal C and C++ comments will always remain visible.
141
142STRIP_CODE_COMMENTS = YES
143
144# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
145# file names in lower case letters. If set to YES upper case letters are also
146# allowed. This is useful if you have classes or files whose names only differ
147# in case and if your file system supports case sensitive file names. Windows
148# users are adviced to set this option to NO.
149
150CASE_SENSE_NAMES = YES
151
152# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
153# (but less readable) file names. This can be useful is your file systems
154# doesn't support long names like on DOS, Mac, or CD-ROM.
155
156SHORT_NAMES = NO
157
158# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
159# will show members with their full class and namespace scopes in the
160# documentation. If set to YES the scope will be hidden.
161
162HIDE_SCOPE_NAMES = NO
163
164# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
165# will generate a verbatim copy of the header file for each class for
166# which an include is specified. Set to NO to disable this.
167
168VERBATIM_HEADERS = NO
169
170# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
171# will put list of the files that are included by a file in the documentation
172# of that file.
173
174SHOW_INCLUDE_FILES = NO
175
176# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
177# will interpret the first line (until the first dot) of a JavaDoc-style
178# comment as the brief description. If set to NO, the JavaDoc
179# comments will behave just like the Qt-style comments (thus requiring an
180# explict @brief command for a brief description.
181
182JAVADOC_AUTOBRIEF = YES
183
184# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
185# treat a multi-line C++ special comment block (i.e. a block of //! or ///
186# comments) as a brief description. This used to be the default behaviour.
187# The new default is to treat a multi-line C++ comment block as a detailed
188# description. Set this tag to YES if you prefer the old behaviour instead.
189
190MULTILINE_CPP_IS_BRIEF = NO
191
192# If the DETAILS_AT_TOP tag is set to YES then Doxygen
193# will output the detailed description near the top, like JavaDoc.
194# If set to NO, the detailed description appears after the member
195# documentation.
196
197DETAILS_AT_TOP = NO
198
199# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
200# member inherits the documentation from any documented member that it
201# reimplements.
202
203INHERIT_DOCS = YES
204
205# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
206# is inserted in the documentation for inline members.
207
208INLINE_INFO = YES
209
210# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
211# will sort the (detailed) documentation of file and class members
212# alphabetically by member name. If set to NO the members will appear in
213# declaration order.
214
215SORT_MEMBER_DOCS = YES
216
217# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
218# tag is set to YES, then doxygen will reuse the documentation of the first
219# member in the group (if any) for the other members of the group. By default
220# all members of a group must be documented explicitly.
221
222DISTRIBUTE_GROUP_DOC = NO
223
224# The TAB_SIZE tag can be used to set the number of spaces in a tab.
225# Doxygen uses this value to replace tabs by spaces in code fragments.
226
227TAB_SIZE = 2
228
229# The GENERATE_TODOLIST tag can be used to enable (YES) or
230# disable (NO) the todo list. This list is created by putting \todo
231# commands in the documentation.
232
233GENERATE_TODOLIST = YES
234
235# The GENERATE_TESTLIST tag can be used to enable (YES) or
236# disable (NO) the test list. This list is created by putting \test
237# commands in the documentation.
238
239GENERATE_TESTLIST = YES
240
241# The GENERATE_BUGLIST tag can be used to enable (YES) or
242# disable (NO) the bug list. This list is created by putting \bug
243# commands in the documentation.
244
245GENERATE_BUGLIST = YES
246
247# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
248# disable (NO) the deprecated list. This list is created by putting \deprecated commands in the documentation.
249
250GENERATE_DEPRECATEDLIST= YES
251
252# This tag can be used to specify a number of aliases that acts
253# as commands in the documentation. An alias has the form "name=value".
254# For example adding "sideeffect=\par Side Effects:\n" will allow you to
255# put the command \sideeffect (or @sideeffect) in the documentation, which
256# will result in a user defined paragraph with heading "Side Effects:".
257# You can put \n's in the value part of an alias to insert newlines.
258
259ALIASES =
260
261# The ENABLED_SECTIONS tag can be used to enable conditional
262# documentation sections, marked by \if sectionname ... \endif.
263
264ENABLED_SECTIONS =
265
266# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
267# the initial value of a variable or define consist of for it to appear in
268# the documentation. If the initializer consists of more lines than specified
269# here it will be hidden. Use a value of 0 to hide initializers completely.
270# The appearance of the initializer of individual variables and defines in the
271# documentation can be controlled using \showinitializer or \hideinitializer
272# command in the documentation regardless of this setting.
273
274MAX_INITIALIZER_LINES = 30
275
276# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
277# only. Doxygen will then generate output that is more tailored for C.
278# For instance some of the names that are used will be different. The list
279# of all members will be omitted, etc.
280
281OPTIMIZE_OUTPUT_FOR_C = YES
282
283# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
284# only. Doxygen will then generate output that is more tailored for Java.
285# For instance namespaces will be presented as packages, qualified scopes
286# will look different, etc.
287
288OPTIMIZE_OUTPUT_JAVA = NO
289
290# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
291# at the bottom of the documentation of classes and structs. If set to YES the
292# list will mention the files that were used to generate the documentation.
293
294SHOW_USED_FILES = NO
295
296#---------------------------------------------------------------------------
297# configuration options related to warning and progress messages
298#---------------------------------------------------------------------------
299
300# The QUIET tag can be used to turn on/off the messages that are generated
301# by doxygen. Possible values are YES and NO. If left blank NO is used.
302
303QUIET = NO
304
305# The WARNINGS tag can be used to turn on/off the warning messages that are
306# generated by doxygen. Possible values are YES and NO. If left blank
307# NO is used.
308
309WARNINGS = YES
310
311# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
312# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
313# automatically be disabled.
314
315WARN_IF_UNDOCUMENTED = YES
316
317# The WARN_FORMAT tag determines the format of the warning messages that
318# doxygen can produce. The string should contain the $file, $line, and $text
319# tags, which will be replaced by the file and line number from which the
320# warning originated and the warning text.
321
322WARN_FORMAT = "$file:$line: $text"
323
324# The WARN_LOGFILE tag can be used to specify a file to which warning
325# and error messages should be written. If left blank the output is written
326# to stderr.
327
328WARN_LOGFILE =
329
330#---------------------------------------------------------------------------
331# configuration options related to the input files
332#---------------------------------------------------------------------------
333
334# The INPUT tag can be used to specify the files and/or directories that contain
335# documented source files. You may enter file names like "myfile.cpp" or
336# directories like "/usr/src/myproject". Separate the files or directories
337# with spaces.
338
339INPUT = evas.c
340
341# If the value of the INPUT tag contains directories, you can use the
342# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
343# and *.h) to filter out the source-files in the directories. If left
344# blank the following patterns are tested:
345# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
346# *.h++ *.idl *.odl
347
348FILE_PATTERNS =
349
350# The RECURSIVE tag can be used to turn specify whether or not subdirectories
351# should be searched for input files as well. Possible values are YES and NO.
352# If left blank NO is used.
353
354RECURSIVE = NO
355
356# The EXCLUDE tag can be used to specify files and/or directories that should
357# excluded from the INPUT source files. This way you can easily exclude a
358# subdirectory from a directory tree whose root is specified with the INPUT tag.
359
360EXCLUDE =
361
362# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
363# that are symbolic links (a Unix filesystem feature) are excluded from the input.
364
365EXCLUDE_SYMLINKS = NO
366
367# If the value of the INPUT tag contains directories, you can use the
368# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
369# certain files from those directories.
370
371EXCLUDE_PATTERNS =
372
373# The EXAMPLE_PATH tag can be used to specify one or more files or
374# directories that contain example code fragments that are included (see
375# the \include command).
376
377EXAMPLE_PATH =
378
379# If the value of the EXAMPLE_PATH tag contains directories, you can use the
380# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
381# and *.h) to filter out the source-files in the directories. If left
382# blank all files are included.
383
384EXAMPLE_PATTERNS =
385
386# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
387# searched for input files to be used with the \include or \dontinclude
388# commands irrespective of the value of the RECURSIVE tag.
389# Possible values are YES and NO. If left blank NO is used.
390
391EXAMPLE_RECURSIVE = NO
392
393# The IMAGE_PATH tag can be used to specify one or more files or
394# directories that contain image that are included in the documentation (see
395# the \image command).
396
397IMAGE_PATH = doc/img
398
399# The INPUT_FILTER tag can be used to specify a program that doxygen should
400# invoke to filter for each input file. Doxygen will invoke the filter program
401# by executing (via popen()) the command <filter> <input-file>, where <filter>
402# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
403# input file. Doxygen will then use the output that the filter program writes
404# to standard output.
405
406INPUT_FILTER =
407
408# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
409# INPUT_FILTER) will be used to filter the input files when producing source
410# files to browse (i.e. when SOURCE_BROWSER is set to YES).
411
412FILTER_SOURCE_FILES = NO
413
414#---------------------------------------------------------------------------
415# configuration options related to source browsing
416#---------------------------------------------------------------------------
417
418# If the SOURCE_BROWSER tag is set to YES then a list of source files will
419# be generated. Documented entities will be cross-referenced with these sources.
420
421SOURCE_BROWSER = NO
422
423# Setting the INLINE_SOURCES tag to YES will include the body
424# of functions and classes directly in the documentation.
425
426INLINE_SOURCES = NO
427
428# If the REFERENCED_BY_RELATION tag is set to YES (the default)
429# then for each documented function all documented
430# functions referencing it will be listed.
431
432REFERENCED_BY_RELATION = YES
433
434# If the REFERENCES_RELATION tag is set to YES (the default)
435# then for each documented function all documented entities
436# called/used by that function will be listed.
437
438REFERENCES_RELATION = YES
439
440#---------------------------------------------------------------------------
441# configuration options related to the alphabetical class index
442#---------------------------------------------------------------------------
443
444# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
445# of all compounds will be generated. Enable this if the project
446# contains a lot of classes, structs, unions or interfaces.
447
448ALPHABETICAL_INDEX = YES
449
450# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
451# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
452# in which this list will be split (can be a number in the range [1..20])
453
454COLS_IN_ALPHA_INDEX = 5
455
456# In case all classes in a project start with a common prefix, all
457# classes will be put under the same header in the alphabetical index.
458# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
459# should be ignored while generating the index headers.
460
461IGNORE_PREFIX =
462
463#---------------------------------------------------------------------------
464# configuration options related to the HTML output
465#---------------------------------------------------------------------------
466
467# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
468# generate HTML output.
469
470GENERATE_HTML = YES
471
472# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
473# If a relative path is entered the value of OUTPUT_DIRECTORY will be
474# put in front of it. If left blank `html' will be used as the default path.
475
476HTML_OUTPUT = html
477
478# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
479# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
480# doxygen will generate files with .html extension.
481
482HTML_FILE_EXTENSION = .html
483
484# The HTML_HEADER tag can be used to specify a personal HTML header for
485# each generated HTML page. If it is left blank doxygen will generate a
486# standard header.
487
488HTML_HEADER = doc/head.html
489
490# The HTML_FOOTER tag can be used to specify a personal HTML footer for
491# each generated HTML page. If it is left blank doxygen will generate a
492# standard footer.
493
494HTML_FOOTER = doc/foot.html
495
496# The HTML_STYLESHEET tag can be used to specify a user defined cascading
497# style sheet that is used by each HTML page. It can be used to
498# fine-tune the look of the HTML output. If the tag is left blank doxygen
499# will generate a default style sheet
500
501HTML_STYLESHEET = doc/evas.css
502
503# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
504# files or namespaces will be aligned in HTML using tables. If set to
505# NO a bullet list will be used.
506
507HTML_ALIGN_MEMBERS = YES
508
509# If the GENERATE_HTMLHELP tag is set to YES, additional index files
510# will be generated that can be used as input for tools like the
511# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
512# of the generated HTML documentation.
513
514GENERATE_HTMLHELP = NO
515
516# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
517# be used to specify the file name of the resulting .chm file. You
518# can add a path in front of the file if the result should not be
519# written to the html output dir.
520
521CHM_FILE =
522
523# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
524# be used to specify the location (absolute path including file name) of
525# the HTML help compiler (hhc.exe). If non empty doxygen will try to run
526# the html help compiler on the generated index.hhp.
527
528HHC_LOCATION =
529
530# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
531# controls if a separate .chi index file is generated (YES) or that
532# it should be included in the master .chm file (NO).
533
534GENERATE_CHI = NO
535
536# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
537# controls whether a binary table of contents is generated (YES) or a
538# normal table of contents (NO) in the .chm file.
539
540BINARY_TOC = NO
541
542# The TOC_EXPAND flag can be set to YES to add extra items for group members
543# to the contents of the Html help documentation and to the tree view.
544
545TOC_EXPAND = NO
546
547# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
548# top of each HTML page. The value NO (the default) enables the index and
549# the value YES disables it.
550
551DISABLE_INDEX = NO
552
553# This tag can be used to set the number of enum values (range [1..20])
554# that doxygen will group on one line in the generated HTML documentation.
555
556ENUM_VALUES_PER_LINE = 4
557
558# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
559# generated containing a tree-like index structure (just like the one that
560# is generated for HTML Help). For this to work a browser that supports
561# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
562# or Internet explorer 4.0+). Note that for large projects the tree generation
563# can take a very long time. In such cases it is better to disable this feature.
564# Windows users are probably better off using the HTML help feature.
565
566GENERATE_TREEVIEW = NO
567
568# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
569# used to set the initial width (in pixels) of the frame in which the tree
570# is shown.
571
572TREEVIEW_WIDTH = 250
573
574#---------------------------------------------------------------------------
575# configuration options related to the LaTeX output
576#---------------------------------------------------------------------------
577
578# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
579# generate Latex output.
580
581GENERATE_LATEX = YES
582
583# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
584# If a relative path is entered the value of OUTPUT_DIRECTORY will be
585# put in front of it. If left blank `latex' will be used as the default path.
586
587LATEX_OUTPUT = latex
588
589# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. If left blank `latex' will be used as the default command name.
590
591LATEX_CMD_NAME = latex
592
593# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
594# generate index for LaTeX. If left blank `makeindex' will be used as the
595# default command name.
596
597MAKEINDEX_CMD_NAME = makeindex
598
599# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
600# LaTeX documents. This may be useful for small projects and may help to
601# save some trees in general.
602
603COMPACT_LATEX = NO
604
605# The PAPER_TYPE tag can be used to set the paper type that is used
606# by the printer. Possible values are: a4, a4wide, letter, legal and
607# executive. If left blank a4wide will be used.
608
609PAPER_TYPE = a4wide
610
611# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
612# packages that should be included in the LaTeX output.
613
614EXTRA_PACKAGES =
615
616# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
617# the generated latex document. The header should contain everything until
618# the first chapter. If it is left blank doxygen will generate a
619# standard header. Notice: only use this tag if you know what you are doing!
620
621LATEX_HEADER =
622
623# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
624# is prepared for conversion to pdf (using ps2pdf). The pdf file will
625# contain links (just like the HTML output) instead of page references
626# This makes the output suitable for online browsing using a pdf viewer.
627
628PDF_HYPERLINKS = YES
629
630# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
631# plain latex in the generated Makefile. Set this option to YES to get a
632# higher quality PDF documentation.
633
634USE_PDFLATEX = NO
635
636# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
637# command to the generated LaTeX files. This will instruct LaTeX to keep
638# running if errors occur, instead of asking the user for help.
639# This option is also used when generating formulas in HTML.
640
641LATEX_BATCHMODE = NO
642
643#---------------------------------------------------------------------------
644# configuration options related to the RTF output
645#---------------------------------------------------------------------------
646
647# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
648# The RTF output is optimised for Word 97 and may not look very pretty with
649# other RTF readers or editors.
650
651GENERATE_RTF = NO
652
653# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
654# If a relative path is entered the value of OUTPUT_DIRECTORY will be
655# put in front of it. If left blank `rtf' will be used as the default path.
656
657RTF_OUTPUT = rtf
658
659# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
660# RTF documents. This may be useful for small projects and may help to
661# save some trees in general.
662
663COMPACT_RTF = NO
664
665# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
666# will contain hyperlink fields. The RTF file will
667# contain links (just like the HTML output) instead of page references.
668# This makes the output suitable for online browsing using WORD or other
669# programs which support those fields.
670# Note: wordpad (write) and others do not support links.
671
672RTF_HYPERLINKS = NO
673
674# Load stylesheet definitions from file. Syntax is similar to doxygen's
675# config file, i.e. a series of assigments. You only have to provide
676# replacements, missing definitions are set to their default value.
677
678RTF_STYLESHEET_FILE =
679
680# Set optional variables used in the generation of an rtf document.
681# Syntax is similar to doxygen's config file.
682
683RTF_EXTENSIONS_FILE =
684
685#---------------------------------------------------------------------------
686# configuration options related to the man page output
687#---------------------------------------------------------------------------
688
689# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
690# generate man pages
691
692GENERATE_MAN = YES
693
694# The MAN_OUTPUT tag is used to specify where the man pages will be put.
695# If a relative path is entered the value of OUTPUT_DIRECTORY will be
696# put in front of it. If left blank `man' will be used as the default path.
697
698MAN_OUTPUT = man
699
700# The MAN_EXTENSION tag determines the extension that is added to
701# the generated man pages (default is the subroutine's section .3)
702
703MAN_EXTENSION = .3
704
705# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
706# then it will generate one additional man file for each entity
707# documented in the real man page(s). These additional files
708# only source the real man page, but without them the man command
709# would be unable to find the correct page. The default is NO.
710
711MAN_LINKS = YES
712
713#---------------------------------------------------------------------------
714# configuration options related to the XML output
715#---------------------------------------------------------------------------
716
717# If the GENERATE_XML tag is set to YES Doxygen will
718# generate an XML file that captures the structure of
719# the code including all documentation. Note that this
720# feature is still experimental and incomplete at the
721# moment.
722
723GENERATE_XML = NO
724
725# The XML_SCHEMA tag can be used to specify an XML schema,
726# which can be used by a validating XML parser to check the
727# syntax of the XML files.
728
729XML_SCHEMA =
730
731# The XML_DTD tag can be used to specify an XML DTD,
732# which can be used by a validating XML parser to check the
733# syntax of the XML files.
734
735XML_DTD =
736
737#---------------------------------------------------------------------------
738# configuration options for the AutoGen Definitions output
739#---------------------------------------------------------------------------
740
741# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
742# generate an AutoGen Definitions (see autogen.sf.net) file
743# that captures the structure of the code including all
744# documentation. Note that this feature is still experimental
745# and incomplete at the moment.
746
747GENERATE_AUTOGEN_DEF = NO
748
749#---------------------------------------------------------------------------
750# Configuration options related to the preprocessor
751#---------------------------------------------------------------------------
752
753# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
754# evaluate all C-preprocessor directives found in the sources and include
755# files.
756
757ENABLE_PREPROCESSING = YES
758
759# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
760# names in the source code. If set to NO (the default) only conditional
761# compilation will be performed. Macro expansion can be done in a controlled
762# way by setting EXPAND_ONLY_PREDEF to YES.
763
764MACRO_EXPANSION = NO
765
766# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
767# then the macro expansion is limited to the macros specified with the
768# PREDEFINED and EXPAND_AS_PREDEFINED tags.
769
770EXPAND_ONLY_PREDEF = NO
771
772# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
773# in the INCLUDE_PATH (see below) will be search if a #include is found.
774
775SEARCH_INCLUDES = NO
776
777# The INCLUDE_PATH tag can be used to specify one or more directories that
778# contain include files that are not input files but should be processed by
779# the preprocessor.
780
781INCLUDE_PATH =
782
783# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
784# patterns (like *.h and *.hpp) to filter out the header-files in the
785# directories. If left blank, the patterns specified with FILE_PATTERNS will
786# be used.
787
788INCLUDE_FILE_PATTERNS =
789
790# The PREDEFINED tag can be used to specify one or more macro names that
791# are defined before the preprocessor is started (similar to the -D option of
792# gcc). The argument of the tag is a list of macros of the form: name
793# or name=definition (no spaces). If the definition and the = are
794# omitted =1 is assumed.
795
796PREDEFINED =
797
798# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
799# this tag can be used to specify a list of macro names that should be expanded.
800# The macro definition that is found in the sources will be used.
801# Use the PREDEFINED tag if you want to use a different macro definition.
802
803EXPAND_AS_DEFINED =
804
805# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
806# doxygen's preprocessor will remove all function-like macros that are alone
807# on a line, have an all uppercase name, and do not end with a semicolon. Such
808# function macros are typically used for boiler-plate code, and will confuse the
809# parser if not removed.
810
811SKIP_FUNCTION_MACROS = YES
812
813#---------------------------------------------------------------------------
814# Configuration::addtions related to external references
815#---------------------------------------------------------------------------
816
817# The TAGFILES tag can be used to specify one or more tagfiles.
818
819TAGFILES =
820
821# When a file name is specified after GENERATE_TAGFILE, doxygen will create
822# a tag file that is based on the input files it reads.
823
824GENERATE_TAGFILE =
825
826# If the ALLEXTERNALS tag is set to YES all external classes will be listed
827# in the class index. If set to NO only the inherited external classes
828# will be listed.
829
830ALLEXTERNALS = NO
831
832# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
833# in the modules index. If set to NO, only the current project's groups will
834# be listed.
835
836EXTERNAL_GROUPS = YES
837
838# The PERL_PATH should be the absolute path and name of the perl script
839# interpreter (i.e. the result of `which perl').
840
841PERL_PATH = /usr/bin/perl
842
843#---------------------------------------------------------------------------
844# Configuration options related to the dot tool
845#---------------------------------------------------------------------------
846
847# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
848# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
849# super classes. Setting the tag to NO turns the diagrams off. Note that this
850# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
851# recommended to install and use dot, since it yield more powerful graphs.
852
853CLASS_DIAGRAMS = YES
854
855# If set to YES, the inheritance and collaboration graphs will hide
856# inheritance and usage relations if the target is undocumented
857# or is not a class.
858
859HIDE_UNDOC_RELATIONS = YES
860
861# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
862# available from the path. This tool is part of Graphviz, a graph visualization
863# toolkit from AT&T and Lucent Bell Labs. The other options in this section
864# have no effect if this option is set to NO (the default)
865
866HAVE_DOT = NO
867
868# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
869# will generate a graph for each documented class showing the direct and
870# indirect inheritance relations. Setting this tag to YES will force the
871# the CLASS_DIAGRAMS tag to NO.
872
873CLASS_GRAPH = YES
874
875# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
876# will generate a graph for each documented class showing the direct and
877# indirect implementation dependencies (inheritance, containment, and
878# class references variables) of the class with other documented classes.
879
880COLLABORATION_GRAPH = YES
881
882# If set to YES, the inheritance and collaboration graphs will show the
883# relations between templates and their instances.
884
885TEMPLATE_RELATIONS = YES
886
887# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
888# tags are set to YES then doxygen will generate a graph for each documented
889# file showing the direct and indirect include dependencies of the file with
890# other documented files.
891
892INCLUDE_GRAPH = YES
893
894# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
895# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
896# documented header file showing the documented files that directly or
897# indirectly include this file.
898
899INCLUDED_BY_GRAPH = YES
900
901# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
902# will graphical hierarchy of all classes instead of a textual one.
903
904GRAPHICAL_HIERARCHY = YES
905
906# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
907# generated by dot. Possible values are png, jpg, or gif
908# If left blank png will be used.
909
910DOT_IMAGE_FORMAT = png
911
912# The tag DOT_PATH can be used to specify the path where the dot tool can be
913# found. If left blank, it is assumed the dot tool can be found on the path.
914
915DOT_PATH =
916
917# The DOTFILE_DIRS tag can be used to specify one or more directories that
918# contain dot files that are included in the documentation (see the
919# \dotfile command).
920
921DOTFILE_DIRS =
922
923# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
924# (in pixels) of the graphs generated by dot. If a graph becomes larger than
925# this value, doxygen will try to truncate the graph, so that it fits within
926# the specified constraint. Beware that most browsers cannot cope with very
927# large images.
928
929MAX_DOT_GRAPH_WIDTH = 1024
930
931# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
932# (in pixels) of the graphs generated by dot. If a graph becomes larger than
933# this value, doxygen will try to truncate the graph, so that it fits within
934# the specified constraint. Beware that most browsers cannot cope with very
935# large images.
936
937MAX_DOT_GRAPH_HEIGHT = 1024
938
939# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
940# generate a legend page explaining the meaning of the various boxes and
941# arrows in the dot generated graphs.
942
943GENERATE_LEGEND = YES
944
945# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
946# remove the intermedate dot files that are used to generate
947# the various graphs.
948
949DOT_CLEANUP = YES
950
951#---------------------------------------------------------------------------
952# Configuration::addtions related to the search engine
953#---------------------------------------------------------------------------
954
955# The SEARCHENGINE tag specifies whether or not a search engine should be
956# used. If set to NO the values of all tags below this one will be ignored.
957
958SEARCHENGINE = NO
959
960# The CGI_NAME tag should be the name of the CGI script that
961# starts the search engine (doxysearch) with the correct parameters.
962# A script with this name will be generated by doxygen.
963
964CGI_NAME = search.cgi
965
966# The CGI_URL tag should be the absolute URL to the directory where the
967# cgi binaries are located. See the documentation of your http daemon for
968# details.
969
970CGI_URL =
971
972# The DOC_URL tag should be the absolute URL to the directory where the
973# documentation is located. If left blank the absolute path to the
974# documentation, with file:// prepended to it, will be used.
975
976DOC_URL =
977
978# The DOC_ABSPATH tag should be the absolute path to the directory where the
979# documentation is located. If left blank the directory on the local machine
980# will be used.
981
982DOC_ABSPATH =
983
984# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
985# is installed.
986
987BIN_ABSPATH = /usr/bin/
988
989# The EXT_DOC_PATHS tag can be used to specify one or more paths to
990# documentation generated for other projects. This allows doxysearch to search
991# the documentation for these projects as well.
992
993EXT_DOC_PATHS =
diff --git a/legacy/evas/INSTALL b/legacy/evas/INSTALL
new file mode 100644
index 0000000000..ae9163d8e3
--- /dev/null
+++ b/legacy/evas/INSTALL
@@ -0,0 +1,8 @@
1COMPILING and INSTALLING:
2
3please see the README file.
4
5NB: you will need pkgconfig package (available for debian and for redhat -
6try www.rpmfind.net if you're lost, or go to the pkgconfig website:
7http://www.freedesktop.org/software/pkgconfig/ ) if your are taking this from
8CVS and having to run ./autogen.sh)
diff --git a/legacy/evas/Makefile.am b/legacy/evas/Makefile.am
new file mode 100644
index 0000000000..df0a2e2407
--- /dev/null
+++ b/legacy/evas/Makefile.am
@@ -0,0 +1,33 @@
1## Process this file with automake to produce Makefile.in
2
3SUBDIRS = src proj
4
5MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
6 config.h.in config.sub configure install-sh \
7 ltconfig ltmain.sh missing mkinstalldirs \
8 stamp-h.in evas_docs.tar evas_docs.tar.gz evas.c
9
10install-data-local:
11 @$(NORMAL_INSTALL)
12 if test -d $(srcdir)/data; then \
13 $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/data; \
14 for d in $(srcdir)/data/*; do \
15 cp -pR $$d $(DESTDIR)$(pkgdatadir)/data; \
16 done \
17 fi
18
19dist-hook:
20 ./gendoc; \
21 tar cvf evas_docs.tar doc; \
22 rm -f evas_docs.tar.gz; \
23 gzip -9 evas_docs.tar; \
24 if test -d data; then \
25 mkdir $(distdir)/data; \
26 for d in data/*; do \
27 cp -pR $$d $(distdir)/data; \
28 done \
29 fi
30
31bin_SCRIPTS = evas-config
32
33EXTRA_DIST = TODO README AUTHORS COPYING COPYING-PLAIN evas.spec evas.c.in gendoc Doxyfile evas_docs.tar.gz
diff --git a/legacy/evas/NEWS b/legacy/evas/NEWS
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/legacy/evas/NEWS
diff --git a/legacy/evas/README b/legacy/evas/README
new file mode 100644
index 0000000000..8853186440
--- /dev/null
+++ b/legacy/evas/README
@@ -0,0 +1,515 @@
1####################
2# Evas 1.0.0 pre-4 #
3####################
4
5This is a !!!!**** PRE RELEASE ****!!!!.
6
7This does NOT mean this is a 1.0.0. It is not complete. It has a 1.0.0
8version to make sure it does not conflict with previous evas versions
9(0.6.0). 1.0.0 is there because this codebase is PLANNED for 1.0.0. The API
10is now stable and I'm happy with it. Until a final 1.0.0, all releases will
11have a pre-<number> release. Don't be fooled though. This code should be
12stable and fast, but it just may be missing features (like a fully working
13OpenGL engine, or documentation).
14
15When this no longer has a pre-<something> as its version THEN it is ready.
16
17--------------------------------------------------------------------------
18Requires:
19
20 freetype 2.0.x (I want to make this optional)
21
22Optional:
23
24 X11R6
25 DirectFB
26 OpenGL (underway at the moment)
27 Linux
28 libpng
29 libjpeg
30 libeet
31 libedb
32
33--------------------------------------------------------------------------
34Evas as of 1.0.0 has a new (and incompatible) API. Why? It's much cleaner
35and more compact. Designed for portable access to different display systems.
36It is also much more optimised internally, uses much less ram than previous
37Evas libraries, and is tiny. Evas when compiled for the Ipaq is a grand
38total of 191Kb (thats all of Evas minus libjpeg, libpng, libz (required for
39libpng), and minus freetype (required for font rendering)). I have plans that
40may involve having an alternative font engine other than freetype to minimise
41requirements, and having a native (optional) image loader for an image
42format that may end up being custom to evas, but will minimise code &
43requirements especially for embedded use.
44
45Evas uses very little RAM too (try profiling it in memprof if you want to
46know) most of the ram allocated, if you look, is for freetype itself,
47image pixel data, and font glyph data. You can't really avoid this, though
48evas tries to share this data as much as possible and not duplicate where it
49can. Feel free to point me at sensible memory optimisations etc. though :) I
50want this baby to be lean, mean tiny, fast and do everything from your
51massive multi-cpu desktop with gobs of ram and disk to a tiny watch.
52
53Evas also supports full UTF-8 for text object strings, thus allowing for
54full internationalised text strins (if your font gives you all the
55characters). I've tested with quite a few fonts and it works quite well.
56Though this requires a unicode compatible font with unicode charmap support
57(cyberbit is quite good actually as a font). For now Evas draws the fonts
58only from left to right, so arabic, hebrew etc. won't display quite right,
59direction-wise, but the charcters do.
60
61--------------------------------------------------------------------------
62##########################################################################
63##########################################################################
64##########################################################################
65--------------------------------------------------------------------------
66suggested configure options for evas for a P2/AMD/P3/P4 desktop X display:
67
68./configure \
69--enable-software-x11 \
70--enable-image-loader-png \
71--enable-image-loader-jpeg \
72--enable-cpu-p2-only \
73--enable-cpu-mmx \
74--enable-cpu-sse \
75--enable-cpu-c \
76--enable-scale-smooth \
77--enable-scale-sample \
78--enable-convert-8-rgb-332 \
79--enable-convert-8-rgb-666 \
80--enable-convert-8-rgb-232 \
81--enable-convert-8-rgb-222 \
82--enable-convert-8-rgb-221 \
83--enable-convert-8-rgb-121 \
84--enable-convert-8-rgb-111 \
85--enable-convert-16-rgb-565 \
86--enable-convert-16-rgb-555 \
87--enable-convert-16-rgb-rot-0 \
88--enable-convert-32-rgb-8888 \
89--enable-convert-32-rgbx-8888 \
90--enable-convert-32-bgr-8888 \
91--enable-convert-32-bgrx-8888 \
92--enable-convert-32-rgb-rot-0
93
94make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
95
96for those that want eet and edb image loading ability:
97
98./configure \
99--enable-software-x11 \
100--enable-image-loader-png \
101--enable-image-loader-jpeg \
102--enable-image-loader-eet \
103--enable-image-loader-edb \
104--enable-fmemopen \
105--enable-cpu-p2-only \
106--enable-cpu-mmx \
107--enable-cpu-sse \
108--enable-cpu-c \
109--enable-scale-smooth \
110--enable-scale-sample \
111--enable-convert-8-rgb-332 \
112--enable-convert-8-rgb-666 \
113--enable-convert-8-rgb-232 \
114--enable-convert-8-rgb-222 \
115--enable-convert-8-rgb-221 \
116--enable-convert-8-rgb-121 \
117--enable-convert-8-rgb-111 \
118--enable-convert-16-rgb-565 \
119--enable-convert-16-rgb-555 \
120--enable-convert-16-rgb-rot-0 \
121--enable-convert-32-rgb-8888 \
122--enable-convert-32-rgbx-8888 \
123--enable-convert-32-bgr-8888 \
124--enable-convert-32-bgrx-8888 \
125--enable-convert-32-rgb-rot-0
126
127make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
128
129or to use the fast sampling scaler:
130
131./configure \
132--enable-software-x11 \
133--enable-image-loader-png \
134--enable-image-loader-jpeg \
135--enable-cpu-p2-only \
136--enable-cpu-mmx \
137--enable-cpu-sse \
138--enable-cpu-c \
139--enable-scale-sample \
140--enable-convert-8-rgb-332 \
141--enable-convert-8-rgb-666 \
142--enable-convert-8-rgb-232 \
143--enable-convert-8-rgb-222 \
144--enable-convert-8-rgb-221 \
145--enable-convert-8-rgb-121 \
146--enable-convert-8-rgb-111 \
147--enable-convert-16-rgb-565 \
148--enable-convert-16-rgb-555 \
149--enable-convert-16-rgb-rot-0 \
150--enable-convert-32-rgb-8888 \
151--enable-convert-32-rgbx-8888 \
152--enable-convert-32-bgr-8888 \
153--enable-convert-32-bgrx-8888 \
154--enable-convert-32-rgb-rot-0
155
156make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
157
158
159
160
161
162
163
164
165
166
167###### OpenGL (being worked on. does nothing much at the moment) #######
168
169./configure \
170--enable-gl-x11 \
171--enable-image-loader-png \
172--enable-image-loader-jpeg \
173--enable-cpu-p2-only \
174--enable-cpu-mmx \
175--enable-cpu-sse \
176--enable-cpu-c \
177--enable-scale-smooth \
178--enable-scale-sample \
179
180make CFLAGS="-g"
181
182
183
184
185
186
187--------------------------------------------------------------------------
188suggested configure options for an ipaq 36xx:
189
190./configure \
191--enable-fb \
192--enable-image-loader-png \
193--enable-image-loader-jpeg \
194--enable-small-dither-mask \
195--enable-cpu-c \
196--enable-scale-smooth \
197--enable-scale-sample \
198--enable-convert-16-rgb-ipq \
199--enable-convert-16-rgb-rot-270
200
201make CFLAGS="-O9"
202
203suggested configure options for an ipaq 38xx:
204
205./configure \
206--enable-fb \
207--enable-image-loader-png \
208--enable-image-loader-jpeg \
209--enable-small-dither-mask \
210--enable-cpu-c \
211--enable-scale-smooth \
212--enable-scale-sample \
213--enable-convert-16-rgb-ipq \
214--enable-convert-16-rgb-rot-90
215
216make CFLAGS="-O9"
217
218--------------------------------------------------------------------------
219suggested configure options for an cross-compiling ipaq using skiff:
220
221export CC=/skiff/local/bin/arm-linux-gcc
222export CFLAGS="-O9"
223./configure \
224--enable-fb \
225--enable-image-loader-png \
226--enable-image-loader-jpeg \
227--enable-small-dither-mask \
228--enable-cpu-c \
229--enable-scale-smooth \
230--enable-scale-sample \
231--enable-convert-16-rgb-ipq \
232--enable-convert-16-rgb-rot-0 \
233--enable-convert-16-rgb-rot-270 \
234--with-freetype-config=/skiff/local/arm-linux/bin/freetype-config
235
236make CFLAGS="-O9 -I/skiff/local/include -I/skiff/local/arm-linux/include"
237
238this assumes you have a proper install of freetype2 on your skiff install that
239contains a freetype-config script, and a proper install of libpng on your
240skiff cross-compile environment.
241
242--------------------------------------------------------------------------
243suggested configure options for an DirectFB on x86 target:
244
245./configure \
246--enable-directfb \
247--enable-cpu-p2-only \
248--enable-cpu-mmx \
249--enable-cpu-sse \
250--enable-cpu-c \
251--enable-image-loader-png \
252--enable-image-loader-jpeg \
253--enable-scale-smooth
254
255make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
256
257
258--------------------------------------------------------------------------
259suggested configure options for a qtopia target (desktop, qvfb):
260
261./configure \
262--enable-software-qtopia \
263--enable-image-loader-png \
264--enable-image-loader-jpeg \
265--enable-cpu-p2-only \
266--enable-cpu-mmx \
267--enable-cpu-sse \
268--enable-cpu-c \
269--enable-scale-smooth \
270--enable-scale-sample \
271--enable-convert-16-rgb-565 \
272--enable-convert-16-rgb-555 \
273--enable-convert-16-rgb-ipq \
274--enable-convert-16-rgb-rot-0 \
275--enable-convert-32-rgb-8888 \
276--enable-convert-32-bgr-8888 \
277--enable-convert-32-rgb-rot-0 \
278--with-qtdir=/opt/Qtopia
279
280make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
281
282--------------------------------------------------------------------------
283suggested configure options for a zaurus qtopia cross-compile target:
284
285export CC=/opt/Embedix/tools/arm-linux/bin/gcc
286export CXX=/opt/Embedix/tools/arm-linux/bin/g++
287export CFLAGS="-O9"
288./configure \
289--enable-software-qtopia \
290--enable-image-loader-png \
291--enable-image-loader-jpeg \
292--enable-small-dither-mask \
293--enable-cpu-c \
294--enable-scale-smooth \
295--enable-scale-sample \
296--enable-convert-16-rgb-565 \
297--enable-convert-16-rgb-rot-270 \
298--with-qtdir=/opt/Qtopia/sharp \
299--with-freetype-config=/opt/Embedix/tools/arm-linux/bin/freetype-config
300
301make CFLAGS="-O9 -I/opt/Embedix/tools/arm-linux/include"
302
303--------------------------------------------------------------------------
304if you want to know what options to enable
305./confiugre --help
306
307Notes:
308 you must enable one and ONLY one scaler. ie: --enable-scale-smooth
309 you only need scalers and converters and have to provide cpu info if using
310 the fb or software x11 engines right now.
311 you must enable some level of cpu optimisations (at least C, if not mmx and
312 sse) ie: --enable-cpu-c --enable-cpu-mmx --enable-cpu-sse
313 you will find much improved performance on pentium and pentium2, and amd
314 cpu's if you use --enable-cpu-p2-only
315 if you have a pentium3 or 4 you may see more speed with
316 --enable-cpu-p3-only (do not use in combination with --enable-cpu-p2-only)
317 if you use the fb or software_x11 engines if you don't build in a converter
318 for at least the depth you run, then display won't work. they are all
319 optional for the purpose of leaning evas down for embedded devices to only
320 inlcude the code you need. if you have the disk and ram space then enable
321 all the converters
322 the small dither mask is faster on the ipaq, but is not as good looking. on
323 desktop machines it makes no speed difference so only use
324 --enable-small-dither-mask if you are compiling for the ipaq
325 you need at least 1 image loader if you want to load images.
326
327--------------------------------------------------------------------------
328notes on features:
329
330SCALING:
331--enable-scale-sample
332
333this enables the sampling scaler code. this is the fastest image scaling
334code, but also the lowest quality. when scaling up pixels will become blocky
335and when scaling down you will see shimmering/aliasing artifacts. this is a
336speed vs. quality tradeoff
337
338--enable-scale-trilinear
339
340this enables tilinear scaling. it uses a similar algorithm to what 3d cards
341do - the quality is good and speed is slower than sampled scaling, but looks
342a bit better. uses extra ram (up to 33% more) for image data for mipmaps
343(they are built on-demand), but is a nice compromise
344
345--enable-scale-smooth
346
347this is the nicest looking scaler that is not that much slower than
348tri-linear, but it looks really good. it also uses mipmaps and is optimised
349heavily. it is recommended to always use this unless you are really
350struggling for speed and are qilling to forego the quality
351
352DITHERING:
353--enable-small-dither-mask
354
355this uses a 4x4 dither mask instead of 128x128. on desktop boxes these days
356(pentium, pentium2, amd etc.) the speed difference is not really measurable,
357but the quality of the 128x128 dither mask is quite a lot better. patterns
358of dithering are much less noticable, so it is recommended to not enable
359this unless you are struggling for speed. the compaq ipaq for example shows
360a slowdown with this large a dither mask so enabling a small dither mask is
361recommended unless you really want to forego the speed.
362
363ENGINES:
364--enable-software-x11
365
366this enables the software x11 rendering engine that renders to X drawable
367targets using highly optimised software routines. there is no hardware
368assist here. this engine requires X11 to be installed to build (and run).
369This si a godo generic engine that is fast and can run in X for good
370development and debugging purposes.
371
372--enable-fb
373
374this is the software framebuffer drivign engine. this uses the linxu
375framebuffer device (/dev/fb<x>) and will currently just inherit the current
376framebuffer settings on the fb device and use them to run in. this engine is
377almost fully functional except for the fb management itself. i'd be quite
378happy for people to help out with fixing up the fb init & management code to
379properly set up a vt and release it etc. this engine is specifically geared
380towards peoel writing minimalist display systems for embedded devices such
381as the ipaq, zaurus, etc. it also scales up to high-res desktop systems as
382well and performs outstandingly. i have measured up to 67% speedup over X11
383using the fb driver insetad of X11.
384
385--enable-direcfb
386
387this is the direct fb engine that uses direcftb (http://www.directfb.org) on
388linux to access the framebuffer with (or maybe without) acceleration. for
389people making set-top boxes or just wanting an alternative to X this is
390really good. it may also be useful for embedded devices supported by
391directfb that offer acceleration (otherwise the fb driver will likely be
392faster).
393
394CPU:
395--enable-cpu-p2-only
396
397this tricks the cpu detecting code to avoid detection routines and assume a
398pentium, pentium2, amd etc. cpu and use mmx routines (it's a bit misnamed -
399but hey). this is suggested if your target is a pentium and up system.
400
401--enable-cpu-p3-only
402
403this tricks the cpu detection code into thinking you have a pentium3 or up
404cpu (not - this is NOt for amd processors). it is suggested for p3 or 4
405targets for more speedups again. if you use this option do NOt use the
406--enable-cpu-p2-only option.
407
408--enable-cpu-c
409
410this enabled the c code. you can actually build the code withotu the c
411fallback code and only have the mmx routines for example. it is suggested to
412always use this regardless uness you have some definite size issues with the
413code.
414
415--enable-cpu-mmx
416
417this enables the mmx optimised routines. this works for penitum, pentium2,
418pentium3, pentium4, athlon and duron processors. it can get quite
419considerable speedups, souse it if you can. ppc owners just have to live with
420the c fallback functions unfortunately as no one has provided any ALTIVEC asm
421routines yet. :) arm owners will also have to rely on the c fallback
422routines as i haven't managed to come up with any arm assembly that actually
423can beat the c code (when compiled whht all optimisations) in speed.
424
425--enable-cpu-sse
426
427this enables sse optimisations availbale in he pentium3 and 4 cpus (not
428athlon and duron or pentium 2 or pentium cpu's). ppc owners just have to
429live with the c fallback functions unfortunately as no one has provided any
430ALTIVEC asm routines yet. :) arm owners will also have to rely on the c
431fallback routines as i haven't managed to come up with any arm assembly that
432actually can beat the c code (when compiled whht all optimisations) in speed.
433
434IMAGE LOADERS:
435--enable-image-loader-png
436
437this enables the loader code that loads png files using libpng. there may be
438call for embedded devices later that have custom written small image
439loaders that use sless disk space than libpng to load custom format images.
440for now this is the only loader so you may as well include it.
441
442--enable-image-loader-jpeg
443
444this enables the loader code that loads jpeg files using libjpeg.
445
446CONVERTERS:
447--enable-convert-16-rgb-565
448
449the most common converter you'll want for 16bpp. this means 5 bits for red,
4506 bits for green and 5 bits for blue are used.
451
452--enable-convert-16-rgb-555
453
454this is a converter for what many peoel knwo as "15 bit" color. you might
455want to enable this for X output as it used to be common to find many cards
456that do this.
457
458--enable-convert-16-rgb-444
459
460this converter outputs to 12bit packed (int 16 bit WORDS).
461
462--enable-convert-16-rgb-ipq
463
464this converter was written specifically for the ipaq (and may apply to
465similarly configured devices) because it lies about its screen depth. it
466days its 16bit 565 (that means 5 upper bits of the WORD are red, the next 6
467bits are for green abd the next 5 for blue) but in fact only the upper 4
468bits of each color component (red green and blue) are significant and work,
469so effectively the display is 12 bits of color, not 16, but padded out to
470fill 16bits, with unused bits in the color masks. X on the ipaq advertises
471it as a full 16bpp 565 display (i can't remember what the linxu framebuffer
472advertised it as) and so many lumsp fo code can be fooled into rendering
473data badly because they think the output will look as the expect. thsi
474renderer assuems the upper 4 bits fo each color primitie only are
475significant and renders accordingly. this produces nice quality images on
476the ipaq and even still works in 16bpp 565 on your pc. it is highly
477recommended to use thsi renderer if your target is an ipaq or your device
478dislpays similar qualities of the ipaq for display purposes.
479
480--enable-convert-16-rgb-rot-0
481
482this enables the 16bpp converters to run with 0 degrees rotation - this is
483normal disp;ay and you shoudl really include this (though it is optional if you
484only ever want to do portrait mode - perhaps like on an ipaq embedded device)
485
486--enable-convert-16-rgb-rot-270
487
488this enables the portrait mode (270 degree rotation) converteres for 16bpp.
489this is the standard display mode for things like pocketpc on the ipaq and
490the zaurus etc. thsi si a optimised part of the rendering pipeline to allow
491portrait display with a much lower overhead than doing it through X.
492
493--enable-convert-24-rgb-888
494
495To be documented...
496
497--enable-convert-24-bgr-888
498
499To be documented...
500
501--enable-convert-32-rgb-8888
502
503To be documented...
504
505--enable-convert-32-bgr-8888
506
507To be documented...
508
509--enable-convert-32-rgb-rot-0
510
511To be documented...
512
513--enable-convert-32-rgb-rot-270
514
515To be documented...
diff --git a/legacy/evas/TODO b/legacy/evas/TODO
new file mode 100644
index 0000000000..5452035e07
--- /dev/null
+++ b/legacy/evas/TODO
@@ -0,0 +1,5 @@
1-------------------------------------------------------------------------------
2Things to do for Evas 1.0.0 before a full 1.0.0 release:
3-------------------------------------------------------------------------------
4
5This is now in evas.c.in
diff --git a/legacy/evas/acconfig.h b/legacy/evas/acconfig.h
new file mode 100644
index 0000000000..737f46698c
--- /dev/null
+++ b/legacy/evas/acconfig.h
@@ -0,0 +1,63 @@
1#undef ENABLE_NLS
2#undef HAVE_CATGETS
3#undef HAVE_GETTEXT
4#undef HAVE_LC_MESSAGES
5#undef HAVE_STPCPY
6#undef HAVE_LIBSM
7#undef PACKAGE_LOCALE_DIR
8#undef PACKAGE_DATA_DIR
9#undef PACKAGE_SOURCE_DIR
10#undef PACKAGE_BIN_DIR
11#undef PACKAGE_LIB_DIR
12#undef BUILD_ENGINE_SOFTWARE_X11
13#undef BUILD_ENGINE_DIRECTFB
14#undef BUILD_ENGINE_FB
15#undef BUILD_ENGINE_SOFTWARE_WIN32_GDI
16#undef BUILD_ENGINE_SOFTWARE_QTOPIA
17#undef BUILD_ENGINE_GL_COMMON
18#undef BUILD_ENGINE_GL_X11
19#undef BUILD_SMALL_DITHER_MASK
20#undef HARD_CODED_P3
21#undef HARD_CODED_P2
22#undef BUILD_CONVERT_1_GRY_1
23#undef BUILD_CONVERT_4_GRY_1
24#undef BUILD_CONVERT_4_GRY_4
25#undef BUILD_CONVERT_8_GRY_1
26#undef BUILD_CONVERT_8_GRY_4
27#undef BUILD_CONVERT_8_GRY_16
28#undef BUILD_CONVERT_8_GRY_64
29#undef BUILD_CONVERT_8_GRY_256
30#undef BUILD_CONVERT_8_RGB_332
31#undef BUILD_CONVERT_8_RGB_666
32#undef BUILD_CONVERT_8_RGB_232
33#undef BUILD_CONVERT_8_RGB_222
34#undef BUILD_CONVERT_8_RGB_221
35#undef BUILD_CONVERT_8_RGB_121
36#undef BUILD_CONVERT_8_RGB_111
37#undef BUILD_CONVERT_16_RGB_565
38#undef BUILD_CONVERT_16_RGB_555
39#undef BUILD_CONVERT_16_RGB_444
40#undef BUILD_CONVERT_16_RGB_454645
41#undef BUILD_CONVERT_16_RGB_ROT0
42#undef BUILD_CONVERT_16_RGB_ROT270
43#undef BUILD_CONVERT_16_RGB_ROT90
44#undef BUILD_CONVERT_24_RGB_888
45#undef BUILD_CONVERT_24_BGR_888
46#undef BUILD_CONVERT_32_RGB_8888
47#undef BUILD_CONVERT_32_RGBX_8888
48#undef BUILD_CONVERT_32_BGR_8888
49#undef BUILD_CONVERT_32_BGRX_8888
50#undef BUILD_CONVERT_32_RGB_ROT0
51#undef BUILD_CONVERT_32_RGB_ROT270
52#undef BUILD_CONVERT_32_RGB_ROT90
53#undef BUILD_SCALE_SAMPLE
54#undef BUILD_SCALE_SMOOTH
55#undef BUILD_SCALE_TRILINEAR
56#undef BUILD_MMX
57#undef BUILD_SSE
58#undef BUILD_C
59#undef BUILD_LOADER_PNG
60#undef BUILD_LOADER_JPEG
61#undef BUILD_LOADER_EET
62#undef BUILD_LOADER_EDB
63#undef BUILD_FMEMOPEN
diff --git a/legacy/evas/autogen.sh b/legacy/evas/autogen.sh
new file mode 100755
index 0000000000..d7b3a02598
--- /dev/null
+++ b/legacy/evas/autogen.sh
@@ -0,0 +1,106 @@
1#!/bin/sh
2# Run this to generate all the initial makefiles, etc.
3
4srcdir=`dirname $0`
5PKG_NAME="the package."
6
7DIE=0
8
9(autoconf --version) < /dev/null > /dev/null 2>&1 || {
10 echo
11 echo "**Error**: You must have \`autoconf' installed to."
12 echo "Download the appropriate package for your distribution,"
13 echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
14 DIE=1
15}
16
17(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
18 (libtool --version) < /dev/null > /dev/null 2>&1 || {
19 echo
20 echo "**Error**: You must have \`libtool' installed."
21 echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
22 echo "(or a newer version if it is available)"
23 DIE=1
24 }
25}
26
27(automake --version) < /dev/null > /dev/null 2>&1 || {
28 echo
29 echo "**Error**: You must have \`automake' installed."
30 echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
31 echo "(or a newer version if it is available)"
32 DIE=1
33 NO_AUTOMAKE=yes
34}
35
36
37# if no automake, don't bother testing for aclocal
38test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
39 echo
40 echo "**Error**: Missing \`aclocal'. The version of \`automake'"
41 echo "installed doesn't appear recent enough."
42 echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
43 echo "(or a newer version if it is available)"
44 DIE=1
45}
46
47if test "$DIE" -eq 1; then
48 exit 1
49fi
50
51if test -z "$*"; then
52 echo "**Warning**: I am going to run \`configure' with no arguments."
53 echo "If you wish to pass any to it, please specify them on the"
54 echo \`$0\'" command line."
55 echo
56fi
57
58case $CC in
59xlc )
60 am_opt=--include-deps;;
61esac
62
63for coin in `find $srcdir -name configure.in -print`
64do
65 dr=`dirname $coin`
66 if test -f $dr/NO-AUTO-GEN; then
67 echo skipping $dr -- flagged as no auto-gen
68 else
69 echo processing $dr
70 macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
71 ( cd $dr
72 aclocalinclude="$ACLOCAL_FLAGS"
73 for k in $macrodirs; do
74 if test -d $k; then
75 aclocalinclude="$aclocalinclude -I $k"
76 ##else
77 ## echo "**Warning**: No such directory \`$k'. Ignored."
78 fi
79 done
80 if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
81 echo "Running libtoolize..."
82 libtoolize --force --copy
83 fi
84 echo "Running aclocal $aclocalinclude ..."
85 aclocal $aclocalinclude
86 if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
87 echo "Running autoheader..."
88 autoheader
89 fi
90 echo "Running automake --gnu $am_opt ..."
91 automake --add-missing --gnu $am_opt
92 echo "Running autoconf ..."
93 autoconf
94 )
95 fi
96done
97
98#conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
99
100if test x$NOCONFIGURE = x; then
101 echo Running $srcdir/configure $conf_flags "$@" ...
102 $srcdir/configure $conf_flags "$@" \
103 && echo Now type \`make\' to compile $PKG_NAME
104else
105 echo Skipping configure process.
106fi
diff --git a/legacy/evas/configure.in b/legacy/evas/configure.in
new file mode 100644
index 0000000000..25df2a6d83
--- /dev/null
+++ b/legacy/evas/configure.in
@@ -0,0 +1,617 @@
1dnl Process this file with autoconf to produce a configure script.
2
3# get rid of that stupid cache mechanism
4rm -f config.cache
5
6AC_INIT(configure.in)
7AC_ISC_POSIX
8AM_INIT_AUTOMAKE(evas, 1.0.0-pre4)
9AM_CONFIG_HEADER(config.h)
10
11AC_C_BIGENDIAN
12AC_PROG_CC
13AC_PROG_CXX
14AM_PROG_CC_STDC
15AC_HEADER_STDC
16AC_C_CONST
17AM_ENABLE_SHARED
18AM_PROG_LIBTOOL
19
20dnl Add the languages which your application supports here.
21
22if test "x${exec_prefix}" = "xNONE"; then
23 if test "x${prefix}" = "xNONE"; then
24 bindir="${ac_default_prefix}/bin";
25 else
26 bindir="${prefix}/bin";
27 fi
28else
29 if test "x${prefix}" = "xNONE"; then
30 bindir="${ac_default_prefix}/bin";
31 else
32 bindir="${prefix}/bin";
33 fi
34fi
35
36if test "x${exec_prefix}" = "xNONE"; then
37 if test "x${prefix}" = "xNONE"; then
38 libdir="${ac_default_prefix}/lib";
39 else
40 libdir="${prefix}/lib";
41 fi
42else
43 if test "x${prefix}" = "xNONE"; then
44 libdir="${ac_default_prefix}/lib";
45 else
46 libdir="${prefix}/lib";
47 fi
48fi
49
50dnl Set PACKAGE_DATA_DIR in config.h.
51if test "x${datadir}" = 'x${prefix}/share'; then
52 if test "x${prefix}" = "xNONE"; then
53 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}")
54 else
55 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}")
56 fi
57else
58 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datadir}/${PACKAGE}")
59fi
60
61dnl Set PACKAGE_BIN_DIR in config.h.
62if test "x${bindir}" = 'xNONE'; then
63 if test "x${prefix}" = "xNONE"; then
64 AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${ac_default_prefix}/bin")
65 else
66 AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${prefix}/bin")
67 fi
68else
69 AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${bindir}")
70fi
71
72dnl Set PACKAGE_LIB_DIR in config.h.
73if test "x${libdir}" = 'xNONE'; then
74 if test "x${prefix}" = "xNONE"; then
75 AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${ac_default_prefix}/lib")
76 else
77 AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${prefix}/lib")
78 fi
79else
80 AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${libdir}")
81fi
82
83dnl Set PACKAGE_SOURCE_DIR in config.h.
84packagesrcdir=`cd $srcdir && pwd`
85AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}")
86
87x_dir=""
88x_cflags=""
89x_libs=""
90gl_dir=""
91gl_cflags=""
92gl_libs=""
93qt_dir=""
94qt_cflags=""
95qt_libs=""
96qt_moc=""
97
98# blah-config style checks
99# qtdir setting
100AC_ARG_WITH(qtdir,
101[ --with-qtdir=QT_DIR use qt directory specified ],
102[
103 qt_dir=$withval;
104 echo "using "$qt_dir" for qt directory.";
105],[
106 qt_dir="/opt/Qtopia";
107])
108# check for freetype
109AC_ARG_WITH(freetype-config,
110[ --with-freetype-config=FREETYPE_CONFIG use freetype-config specified ],
111[
112 PROG_CONFIG=$withval;
113 echo "using "$PROG_CONFIG" for freetype-config";
114],[
115 PROG="freetype-config";
116 AC_PATH_PROG(PROG_CONFIG, $PROG, "", $PATH)
117])
118if [ test -z $PROG_CONFIG ]; then
119 echo $PROG " is not in your \$PATH. Please ensure it is.";
120 echo "You may need to install the librarya and/or development packages";
121 echo "that contain this configure-script.";
122 echo "FATAL ERROR. ABORT.";
123 exit -1;
124fi
125freetype_cflags=`$PROG_CONFIG --cflags`
126freetype_libs=`$PROG_CONFIG --libs`
127
128AC_MSG_CHECKING(whether software x11 backend is to be built)
129
130AC_ARG_ENABLE(software-x11, [ --enable-software-x11 enable the Software X11 rendering backend], [
131 AC_MSG_RESULT(yes)
132 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_X11, test "$enableval" = "yes")
133 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11)
134 x_dir="/usr/X11R6";
135 x_cflags="-I"$x_dir"/include"
136 x_libs="-L"$x_dir"/lib -lX11 -lXext"
137 ENGINE_SOFTWARE_X11_PRG="evas_software_x11_test evas_software_x11_perf_test evas_software_x11_perf_load"
138 ], [
139 AC_MSG_RESULT(no)
140 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_X11, false)
141 ENGINE_SOFTWARE_X11_PRG=""
142 ]
143)
144
145AC_MSG_CHECKING(whether directfb backend is to be built)
146
147AC_ARG_ENABLE(directfb, [ --enable-direcfb enable the DirectFB rendering backend], [
148 AC_MSG_RESULT(yes)
149 AM_CONDITIONAL(BUILD_ENGINE_DIRECTFB, true)
150 AC_DEFINE(BUILD_ENGINE_DIRECTFB)
151dnl PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.13)
152 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.12)
153 ENGINE_DIRECTFB_PRG="evas_directfb_test evas_directfb_window"
154 ], [
155 AC_MSG_RESULT(no)
156 AM_CONDITIONAL(BUILD_ENGINE_DIRECTFB, false)
157 ENGINE_DIRECTFB_PRG=""
158 ]
159)
160
161AC_MSG_CHECKING(whether fb backend is to be built)
162
163AC_ARG_ENABLE(fb, [ --enable-fb enable the FB rendering backend], [
164 AC_MSG_RESULT(yes)
165 AM_CONDITIONAL(BUILD_ENGINE_FB, true)
166 AC_DEFINE(BUILD_ENGINE_FB)
167 ENGINE_FB_PRG="evas_fb_test"
168 ], [
169 AC_MSG_RESULT(no)
170 AM_CONDITIONAL(BUILD_ENGINE_FB, false)
171 ENGINE_FB_PRG=""
172 ]
173)
174
175AC_MSG_CHECKING(whether software qtopia backend is to be built)
176
177AC_ARG_ENABLE(software-qtopia, [ --enable-software-qtopia enable the Software Qtopia rendering backend], [
178 AC_MSG_RESULT(yes)
179 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_QTOPIA, test "$enableval" = "yes")
180 AC_DEFINE(BUILD_ENGINE_SOFTWARE_QTOPIA)
181 qt_cflags="-fno-exceptions -fno-rtti -I"$qt_dir"/include"
182 qt_libs="-L"$qt_dir"/lib -lqte -lqpe"
183 qt_moc=$qt_dir"/bin/moc"
184 ENGINE_SOFTWARE_QTOPIA_PRG="evas_software_qtopia_test"
185 ], [
186 AC_MSG_RESULT(no)
187 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_QTOPIA, false)
188 ENGINE_SOFTWARE_QTOPIA_PRG=""
189 ]
190)
191
192AC_MSG_CHECKING(whether gl x11 backend is to be built)
193
194AC_ARG_ENABLE(gl-x11, [ --enable-gl-x11 enable the OpenGL X11 display engine], [
195 AC_MSG_RESULT(yes)
196 AM_CONDITIONAL(BUILD_ENGINE_GL_X11, test "$enableval" = "yes")
197 AC_DEFINE(BUILD_ENGINE_GL_X11)
198 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, test "$enableval" = "yes")
199 AC_DEFINE(BUILD_ENGINE_GL_COMMON)
200 x_dir="/usr/X11R6";
201 x_cflags="-I"$x_dir"/include"
202 x_libs="-L"$x_dir"/lib -lX11 -lXext"
203 gl_cflags="-I/usr/include"
204 gl_libs="-L/usr/lib -lGL -lGLU"
205 gl_dir=""
206 ENGINE_GL_X11_PRG="evas_gl_x11_test"
207 ], [
208 AC_MSG_RESULT(no)
209 AM_CONDITIONAL(BUILD_ENGINE_GL_X11, false)
210 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, false)
211 ENGINE_GL_X11_PRG=""
212 ]
213)
214
215########### image loaders
216
217AC_MSG_CHECKING(whether to enable png image loader)
218
219AC_ARG_ENABLE(image-loader-png,
220 [ --enable-image-loader-png enable png image loader], [
221 AC_MSG_RESULT(yes)
222 AC_DEFINE(BUILD_LOADER_PNG)
223 png_cflags=""
224 png_libs="-lpng -lz"
225 ], AC_MSG_RESULT(no)
226)
227
228AC_MSG_CHECKING(whether to enable jpeg image loader)
229
230AC_ARG_ENABLE(image-loader-jpeg,
231 [ --enable-image-loader-jpeg enable jpeg image loader], [
232 AC_MSG_RESULT(yes)
233 AC_DEFINE(BUILD_LOADER_JPEG)
234 jpeg_cflags=""
235 jpeg_libs="-ljpeg"
236 ], AC_MSG_RESULT(no)
237)
238
239AC_MSG_CHECKING(whether to enable eet image loader)
240
241AC_ARG_ENABLE(image-loader-eet,
242 [ --enable-image-loader-eet enable eet image loader], [
243 AC_MSG_RESULT(yes)
244 AC_DEFINE(BUILD_LOADER_EET)
245 eet_cflags=`eet-config --cflags`
246 eet_libs=`eet-config --libs`" -lz"
247 ], AC_MSG_RESULT(no)
248)
249
250AC_MSG_CHECKING(whether to enable edb image loader)
251
252AC_ARG_ENABLE(image-loader-edb,
253 [ --enable-image-loader-edb enable edb image loader], [
254 AC_MSG_RESULT(yes)
255 AC_DEFINE(BUILD_LOADER_EDB)
256 edb_cflags=`edb-config --cflags`
257 edb_libs=`edb-config --libs`" -lz"
258 ], AC_MSG_RESULT(no)
259)
260
261########### fmemopen support
262
263AC_MSG_CHECKING(whether to build memory fopen support)
264
265AC_ARG_ENABLE(fmemopen,
266 [ --enable-fmemopen enable C code], [
267 AC_MSG_RESULT(yes)
268 AC_DEFINE(BUILD_FMEMOPEN)
269 ], AC_MSG_RESULT(no)
270)
271
272########### dither mask
273
274AC_MSG_CHECKING(whether to build small dither mask code)
275
276AC_ARG_ENABLE(small-dither-mask,
277 [ --enable-small-dither-mask enable small dither mask code], [
278 AC_MSG_RESULT(yes)
279 AC_DEFINE(BUILD_SMALL_DITHER_MASK)
280 ], AC_MSG_RESULT(no)
281)
282
283########### hard coded cpu assumptions
284
285AC_MSG_CHECKING(whether to build code assuming a pentium2/amd and up)
286
287AC_ARG_ENABLE(cpu-p2-only,
288 [ --enable-cpu-p2-only enable assumption of pentium2/amd cpu], [
289 AC_MSG_RESULT(yes)
290 AC_DEFINE(HARD_CODED_P2)
291 ], AC_MSG_RESULT(no)
292)
293
294AC_MSG_CHECKING(whether to build code assuming a pentium3 and up)
295
296AC_ARG_ENABLE(cpu-p3-only,
297 [ --enable-cpu-p3-only enable assumption of pentium3 and up cpu], [
298 AC_MSG_RESULT(yes)
299 AC_DEFINE(HARD_CODED_P3)
300 ], AC_MSG_RESULT(no)
301)
302
303########### cpu modes
304
305AC_MSG_CHECKING(whether to build mmx code)
306
307AC_ARG_ENABLE(cpu-mmx,
308 [ --enable-cpu-mmx enable mmx code], [
309 AC_MSG_RESULT(yes)
310 AC_DEFINE(BUILD_MMX)
311 ], AC_MSG_RESULT(no)
312)
313
314AC_MSG_CHECKING(whether to build sse code)
315
316AC_ARG_ENABLE(cpu-sse,
317 [ --enable-cpu-sse enable sse code], [
318 AC_MSG_RESULT(yes)
319 AC_DEFINE(BUILD_SSE)
320 ], AC_MSG_RESULT(no)
321)
322
323AC_MSG_CHECKING(whether to build c code)
324
325AC_ARG_ENABLE(cpu-c,
326 [ --enable-cpu-c enable C code], [
327 AC_MSG_RESULT(yes)
328 AC_DEFINE(BUILD_C)
329 ], AC_MSG_RESULT(no)
330)
331
332########### scaling modes
333
334AC_MSG_CHECKING(whether to build sampling scaler)
335
336AC_ARG_ENABLE(scale-sample,
337 [ --enable-scale-sample enable sampling scaler code], [
338 AC_MSG_RESULT(yes)
339 AC_DEFINE(BUILD_SCALE_SAMPLE)
340 ], AC_MSG_RESULT(no)
341)
342
343AC_MSG_CHECKING(whether to build smooth scaler)
344
345AC_ARG_ENABLE(scale-smooth,
346 [ --enable-scale-smooth enable sampling scaler code], [
347 AC_MSG_RESULT(yes)
348 AC_DEFINE(BUILD_SCALE_SMOOTH)
349 ], AC_MSG_RESULT(no)
350)
351
352AC_MSG_CHECKING(whether to build tri-linear scaler)
353
354AC_ARG_ENABLE(scale-trilinear,
355 [ --enable-scale-trilinear enable tri-linear scaler code], [
356 AC_MSG_RESULT(yes)
357 AC_DEFINE(BUILD_SCALE_TRILINEAR)
358 ], AC_MSG_RESULT(no)
359)
360
361########### converter modes
362
363AC_MSG_CHECKING(whether to build 8bpp 332 converter code)
364
365AC_ARG_ENABLE(convert-8-rgb-332,
366 [ --enable-convert-8-rgb-332 enable 8bpp 332 converter code], [
367 AC_MSG_RESULT(yes)
368 AC_DEFINE(BUILD_CONVERT_8_RGB_332)
369 ], AC_MSG_RESULT(no)
370)
371
372AC_MSG_CHECKING(whether to build 8bpp 332 converter code)
373
374AC_ARG_ENABLE(convert-8-rgb-666,
375 [ --enable-convert-8-rgb-666 enable 8bpp 666 converter code], [
376 AC_MSG_RESULT(yes)
377 AC_DEFINE(BUILD_CONVERT_8_RGB_666)
378 ], AC_MSG_RESULT(no)
379)
380
381AC_MSG_CHECKING(whether to build 8bpp 232 converter code)
382
383AC_ARG_ENABLE(convert-8-rgb-232,
384 [ --enable-convert-8-rgb-232 enable 8bpp 232 converter code], [
385 AC_MSG_RESULT(yes)
386 AC_DEFINE(BUILD_CONVERT_8_RGB_232)
387 ], AC_MSG_RESULT(no)
388)
389
390AC_MSG_CHECKING(whether to build 8bpp 222 converter code)
391
392AC_ARG_ENABLE(convert-8-rgb-222,
393 [ --enable-convert-8-rgb-222 enable 8bpp 222 converter code], [
394 AC_MSG_RESULT(yes)
395 AC_DEFINE(BUILD_CONVERT_8_RGB_222)
396 ], AC_MSG_RESULT(no)
397)
398
399AC_MSG_CHECKING(whether to build 8bpp 221 converter code)
400
401AC_ARG_ENABLE(convert-8-rgb-221,
402 [ --enable-convert-8-rgb-221 enable 8bpp 221 converter code], [
403 AC_MSG_RESULT(yes)
404 AC_DEFINE(BUILD_CONVERT_8_RGB_221)
405 ], AC_MSG_RESULT(no)
406)
407
408AC_MSG_CHECKING(whether to build 8bpp 111 converter code)
409
410AC_ARG_ENABLE(convert-8-rgb-111,
411 [ --enable-convert-8-rgb-111 enable 8bpp 111 converter code], [
412 AC_MSG_RESULT(yes)
413 AC_DEFINE(BUILD_CONVERT_8_RGB_111)
414 ], AC_MSG_RESULT(no)
415)
416
417AC_MSG_CHECKING(whether to build 16bpp 565 converter code)
418
419AC_ARG_ENABLE(convert-16-rgb-565,
420 [ --enable-convert-16-rgb-565 enable 16bpp 565 converter code], [
421 AC_MSG_RESULT(yes)
422 AC_DEFINE(BUILD_CONVERT_16_RGB_565)
423 ], AC_MSG_RESULT(no)
424)
425
426AC_MSG_CHECKING(whether to build 16bpp 555 converter code)
427
428AC_ARG_ENABLE(convert-16-rgb-555,
429 [ --enable-convert-16-rgb-555 enable 16bpp 555 converter code], [
430 AC_MSG_RESULT(yes)
431 AC_DEFINE(BUILD_CONVERT_16_RGB_555)
432 ], AC_MSG_RESULT(no)
433)
434
435AC_MSG_CHECKING(whether to build 16bpp 444 converter code)
436
437AC_ARG_ENABLE(convert-16-rgb-444,
438 [ --enable-convert-16-rgb-444 enable 16bpp 444 converter code], [
439 AC_MSG_RESULT(yes)
440 AC_DEFINE(BUILD_CONVERT_16_RGB_444)
441 ], AC_MSG_RESULT(no)
442)
443
444AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
445
446AC_ARG_ENABLE(convert-16-rgb-ipq,
447 [ --enable-convert-16-rgb-ipq enable 16bpp 565 (444 ipaq) converter code], [
448 AC_MSG_RESULT(yes)
449 AC_DEFINE(BUILD_CONVERT_16_RGB_454645)
450 ], AC_MSG_RESULT(no)
451)
452
453AC_MSG_CHECKING(whether to build 16bpp rotation 0 converter code)
454
455AC_ARG_ENABLE(convert-16-rgb-rot-0,
456 [ --enable-convert-16-rgb-rot-0 enable 16bpp rotation 0 converter code], [
457 AC_MSG_RESULT(yes)
458 AC_DEFINE(BUILD_CONVERT_16_RGB_ROT0)
459 ], AC_MSG_RESULT(no)
460)
461
462AC_MSG_CHECKING(whether to build 16bpp rotation 270 converter code)
463
464AC_ARG_ENABLE(convert-16-rgb-rot-270,
465 [ --enable-convert-16-rgb-rot-270 enable 16bpp rotation 270 converter code], [
466 AC_MSG_RESULT(yes)
467 AC_DEFINE(BUILD_CONVERT_16_RGB_ROT270)
468 ], AC_MSG_RESULT(no)
469)
470
471AC_MSG_CHECKING(whether to build 16bpp rotation 90 converter code)
472
473AC_ARG_ENABLE(convert-16-rgb-rot-90,
474 [ --enable-convert-16-rgb-rot-90 enable 16bpp rotation 90 converter code], [
475 AC_MSG_RESULT(yes)
476 AC_DEFINE(BUILD_CONVERT_16_RGB_ROT90)
477 ], AC_MSG_RESULT(no)
478)
479
480AC_MSG_CHECKING(whether to build 24bpp 888 rgb converter code)
481
482AC_ARG_ENABLE(convert-24-rgb-888,
483 [ --enable-convert-24-rgb-888 enable 24bpp rgb 888 converter code], [
484 AC_MSG_RESULT(yes)
485 AC_DEFINE(BUILD_CONVERT_24_RGB_888)
486 ], AC_MSG_RESULT(no)
487)
488
489AC_MSG_CHECKING(whether to build 24bpp 888 bgr converter code)
490
491AC_ARG_ENABLE(convert-24-bgr-888,
492 [ --enable-convert-24-bgr-888 enable 24bpp bgr 888 converter code], [
493 AC_MSG_RESULT(yes)
494 AC_DEFINE(BUILD_CONVERT_24_BGR_888)
495 ], AC_MSG_RESULT(no)
496)
497
498AC_MSG_CHECKING(whether to build 32bpp 8888 rgb converter code)
499
500AC_ARG_ENABLE(convert-32-rgb-8888,
501 [ --enable-convert-32-rgb-8888 enable 32bpp rgb 8888 converter code], [
502 AC_MSG_RESULT(yes)
503 AC_DEFINE(BUILD_CONVERT_32_RGB_8888)
504 ], AC_MSG_RESULT(no)
505)
506
507AC_MSG_CHECKING(whether to build 32bpp 8888 rgbx converter code)
508
509AC_ARG_ENABLE(convert-32-rgbx-8888,
510 [ --enable-convert-32-rgbx-8888 enable 32bpp rgbx 8888 converter code], [
511 AC_MSG_RESULT(yes)
512 AC_DEFINE(BUILD_CONVERT_32_RGBX_8888)
513 ], AC_MSG_RESULT(no)
514)
515
516AC_MSG_CHECKING(whether to build 32bpp 8888 bgr converter code)
517
518AC_ARG_ENABLE(convert-32-bgr-8888,
519 [ --enable-convert-32-bgr-8888 enable 32bpp bgr 8888 converter code], [
520 AC_MSG_RESULT(yes)
521 AC_DEFINE(BUILD_CONVERT_32_BGR_8888)
522 ], AC_MSG_RESULT(no)
523)
524
525AC_MSG_CHECKING(whether to build 32bpp 8888 bgrx converter code)
526
527AC_ARG_ENABLE(convert-32-bgrx-8888,
528 [ --enable-convert-32-bgrx-8888 enable 32bpp bgrx 8888 converter code], [
529 AC_MSG_RESULT(yes)
530 AC_DEFINE(BUILD_CONVERT_32_BGRX_8888)
531 ], AC_MSG_RESULT(no)
532)
533
534AC_MSG_CHECKING(whether to build 32bpp rotation 0 converter code)
535
536AC_ARG_ENABLE(convert-32-rgb-rot-0,
537 [ --enable-convert-32-rgb-rot-0 enable 32bpp rotation 0 converter code], [
538 AC_MSG_RESULT(yes)
539 AC_DEFINE(BUILD_CONVERT_32_RGB_ROT0)
540 ], AC_MSG_RESULT(no)
541)
542
543AC_MSG_CHECKING(whether to build 32bpp rotation 270 converter code)
544
545AC_ARG_ENABLE(convert-32-rgb-rot-270,
546 [ --enable-convert-32-rgb-rot-270 enable 32bpp rotation 270 converter code], [
547 AC_MSG_RESULT(yes)
548 AC_DEFINE(BUILD_CONVERT_32_RGB_ROT270)
549 ], AC_MSG_RESULT(no)
550)
551
552AC_MSG_CHECKING(whether to build 32bpp rotation 90 converter code)
553
554AC_ARG_ENABLE(convert-32-rgb-rot-90,
555 [ --enable-convert-32-rgb-rot-90 enable 32bpp rotation 90 converter code], [
556 AC_MSG_RESULT(yes)
557 AC_DEFINE(BUILD_CONVERT_32_RGB_ROT90)
558 ], AC_MSG_RESULT(no)
559)
560
561
562
563AC_SUBST(freetype_cflags)
564AC_SUBST(freetype_libs)
565
566AC_SUBST(x_cflags)
567AC_SUBST(x_libs)
568
569AC_SUBST(gl_cflags)
570AC_SUBST(gl_libs)
571
572AC_SUBST(qt_cflags)
573AC_SUBST(qt_libs)
574AC_SUBST(qt_moc)
575
576AC_SUBST(png_cflags)
577AC_SUBST(png_libs)
578AC_SUBST(jpeg_cflags)
579AC_SUBST(jpeg_libs)
580AC_SUBST(eet_cflags)
581AC_SUBST(eet_libs)
582AC_SUBST(edb_cflags)
583AC_SUBST(edb_libs)
584
585AC_SUBST(ENGINE_SOFTWARE_X11_PRG)
586AC_SUBST(ENGINE_DIRECTFB_PRG)
587AC_SUBST(ENGINE_FB_PRG)
588AC_SUBST(ENGINE_SOFTWARE_QTOPIA_PRG)
589AC_SUBST(ENGINE_GL_X11_PRG)
590
591AC_OUTPUT([
592Makefile
593src/Makefile
594src/bin/Makefile
595src/bin/evas_software_win32/Makefile
596src/lib/Makefile
597src/lib/canvas/Makefile
598src/lib/data/Makefile
599src/lib/file/Makefile
600src/lib/engines/Makefile
601src/lib/engines/common/Makefile
602src/lib/engines/software_x11/Makefile
603src/lib/engines/fb/Makefile
604src/lib/engines/software_win32_gdi/Makefile
605src/lib/engines/software_qtopia/Makefile
606src/lib/engines/directfb/Makefile
607src/lib/engines/gl_common/Makefile
608src/lib/engines/gl_x11/Makefile
609src/lib/include/Makefile
610proj/Makefile
611proj/win32_gdi/Makefile
612evas-config
613],[
614chmod +x evas-config
615touch evas_docs.tar.gz
616])
617
diff --git a/legacy/evas/debian/changelog b/legacy/evas/debian/changelog
new file mode 100644
index 0000000000..f1cdf3d70e
--- /dev/null
+++ b/legacy/evas/debian/changelog
@@ -0,0 +1,6 @@
1evas2 (1.0.0-pre5-0cvs20021005) unstable; urgency=low
2
3 * a CVS release
4
5 -- Sytse Wielinga <s.b.wielinga@student.utwente.nl> Sat, 5 Oct 2002 14:19:01 +0200
6
diff --git a/legacy/evas/debian/control b/legacy/evas/debian/control
new file mode 100644
index 0000000000..69ce4a6a13
--- /dev/null
+++ b/legacy/evas/debian/control
@@ -0,0 +1,67 @@
1Source: evas2
2Section: libs
3Priority: optional
4Maintainer: Sytse Wielinga <s.b.wielinga@student.utwente.nl>
5Build-Depends: debhelper (>> 3.0.0), xlibs-dev, xlibmesa-dev, libttf-dev
6Standards-Version: 3.5.7.0
7
8Package: libevas2-dev
9Section: devel
10Architecture: any
11Depends: libevas2 (= ${Source-Version}), libc6-dev | libc-dev
12Conflicts: libevas-dev, libevas0-dev
13Replaces: libevas-dev, libevas0-dev
14Provides: libevas-dev, libevas0-dev
15Description: enlightenment advanced canvas library development files
16 This package provides headers and static libraries required to develop against
17 evas.
18 .
19 Evas is an advanced canvas library, providing six engines for rendering: X11,
20 OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
21 and Qtopia.
22 .
23 This new version of evas is much more cleaner, compact and portable; and has
24 Ipaq support. The Ipaq version of the library is just 191Kb in size!
25 .
26 Due to its simple API, evas can be developed with rapidly, and cleanly.
27 Install evas if you want to develop applications against the only
28 hardware-accelerated canvas library, or if you want to try out the
29 applications under development.
30
31Package: libevas2
32Section: libs
33Architecture: any
34Depends: ${shlibs:Depends}
35Conflicts: libevas0
36Replaces: libevas0
37Description: enlightenment advanced canvas library
38 Evas is an advanced canvas library, providing six engines for rendering: X11,
39 OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
40 and Qtopia.
41 .
42 This new version of evas is much more cleaner, compact and portable; and has
43 Ipaq support. The Ipaq version of the library is just 191Kb in size!
44 .
45 Due to its simple API, evas can be developed with rapidly, and cleanly.
46 Install evas if you want to develop applications against the only
47 hardware-accelerated canvas library, or if you want to try out the
48 applications under development.
49
50Package: evas2-test
51Section: graphics
52Architecture: any
53Depends: ${shlibs:Depends}
54Description: test programs for evas
55 This package provides test programs packaged with evas.
56 .
57 Evas is an advanced canvas library, providing six engines for rendering: X11,
58 OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
59 and Qtopia.
60 .
61 This new version of evas is much more cleaner, compact and portable; and has
62 Ipaq support. The Ipaq version of the library is just 191Kb in size!
63 .
64 Due to its simple API, evas can be developed with rapidly, and cleanly.
65 Install evas if you want to develop applications against the only
66 hardware-accelerated canvas library, or if you want to try out the
67 applications under development.
diff --git a/legacy/evas/debian/copyright b/legacy/evas/debian/copyright
new file mode 100644
index 0000000000..32d4939de9
--- /dev/null
+++ b/legacy/evas/debian/copyright
@@ -0,0 +1,40 @@
1This package was debianized by Sytse Wielinga <s.b.wielinga@student.utwente.nl> on
2Sat, 5 Oct 2002 14:19:01 +0200.
3
4The source code is from the e17/libs/ebits module of the enlightenment CVS
5tree. For more information, see:
6
7 http://www.enlightenment.org/cvs.html
8
9Upstream Author(s): Carsten Haitzler <raster@rasterman.com>
10
11Copyright:
12
13Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
14
15Permission is hereby granted, free of charge, to any person obtaining a copy
16of this software and associated documentation files (the "Software"), to
17deal in the Software without restriction, including without limitation the
18rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
19sell copies of the Software, and to permit persons to whom the Software is
20furnished to do so, subject to the following conditions:
21
22The above copyright notice and this permission notice shall be included in
23all copies of the Software and its Copyright notices. In addition publicly
24documented acknowledgment must be given that this software has been used if no
25source code of this software is made available publicly. This includes
26acknowledgments in either Copyright notices, Manuals, Publicity and Marketing
27documents or any documentation provided with any product containing this
28software. This License does not apply to any software that links to the
29libraries provided by this software (statically or dynamically), but only to
30the software provided.
31
32Please see the COPYING.PLAIN for a plain-english explanation of this notice
33and it's intent.
34
35THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
36IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
38THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
39IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
40CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/legacy/evas/debian/rules b/legacy/evas/debian/rules
new file mode 100644
index 0000000000..11d111b4bd
--- /dev/null
+++ b/legacy/evas/debian/rules
@@ -0,0 +1,98 @@
1#!/usr/bin/make -f
2# Sample debian/rules that uses debhelper.
3# GNU copyright 1997 to 1999 by Joey Hess.
4
5# Uncomment this to turn on verbose mode.
6#export DH_VERBOSE=1
7
8# This is the debhelper compatibility version to use.
9export DH_COMPAT=3
10
11# These are used for cross-compiling and for saving the configure script
12# from having to guess our platform (since we know it already)
13DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
14DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
15
16cfg:=--prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
17
18
19CFLAGS += -I/usr/include/freetype2 -include /usr/include/png.h -include /usr/include/freetype2/freetype/freetype.h -include /usr/include/freetype2/freetype/internal/ftobjs.h
20ifeq (opengl,$(EVAS_TARGET))
21 cfg += --enable-gl-x11 --enable-image-loader-png --enable-image-loader-jpeg --enable-cpu-p2-only --enable-cpu-mmx --enable-cpu-sse --enable-cpu-c --enable-scale-smooth --enable-scale-sample
22else
23 cfg += --enable-software-x11 --enable-image-loader-png --enable-image-loader-jpeg --enable-image-loader-eet --enable-image-loader-edb --enable-fmemopen --enable-cpu-p2-only --enable-cpu-mmx --enable-cpu-sse --enable-cpu-c --enable-scale-smooth --enable-scale-sample --enable-convert-8-rgb-332 --enable-convert-8-rgb-666 --enable-convert-8-rgb-232 --enable-convert-8-rgb-222 --enable-convert-8-rgb-221 --enable-convert-8-rgb-121 --enable-convert-8-rgb-111 --enable-convert-16-rgb-565 --enable-convert-16-rgb-555 --enable-convert-16-rgb-rot-0 --enable-convert-32-rgb-8888 --enable-convert-32-rgbx-8888 --enable-convert-32-bgr-8888 --enable-convert-32-bgrx-8888 --enable-convert-32-rgb-rot-0
24endif
25ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
26 CFLAGS += -g
27endif
28ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
29 INSTALL_PROGRAM += -s
30endif
31
32version=`ls src/.libs/lib*.so.* | \
33 awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
34major=`ls src/.libs/lib*.so.* | \
35 awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
36
37configure: configure-stamp
38configure-stamp:
39 dh_testdir
40 test -x autogen.sh && ./autogen.sh $(cfg) || ./configure $(cfg)
41 touch configure-stamp
42
43
44build: build-stamp
45build-stamp: configure-stamp
46 dh_testdir
47
48 $(MAKE)
49
50 touch build-stamp
51
52clean:
53 dh_testdir
54 dh_testroot
55 rm -f build-stamp configure-stamp
56
57 -$(MAKE) distclean
58
59 dh_clean
60
61install: build
62 dh_testdir
63 dh_testroot
64 dh_clean -k
65 dh_installdirs
66
67 $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
68
69
70binary-indep: build install
71
72binary-arch: build install
73 dh_testdir
74 dh_testroot
75 dh_movefiles
76
77 dh_installdocs NEWS README TODO
78 dh_installman
79 dh_undocumented -plibevas2-dev evas-config.1
80ifeq (opengl,$(EVAS_TARGET))
81 dh_undocumented -pevas2-test evas_gl_x11_test.1
82else
83 dh_undocumented -pevas2-test evas_software_x11_test.1 evas_software_x11_perf_test.1 evas_software_x11_perf_load.1
84endif
85 dh_installchangelogs ChangeLog
86 dh_link
87 dh_strip
88 dh_compress
89 dh_fixperms
90 dh_makeshlibs
91 dh_installdeb
92 dh_shlibdeps
93 dh_gencontrol
94 dh_md5sums
95 dh_builddeb
96
97binary: binary-indep binary-arch
98.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/legacy/evas/evas-config.in b/legacy/evas/evas-config.in
new file mode 100644
index 0000000000..622937a970
--- /dev/null
+++ b/legacy/evas/evas-config.in
@@ -0,0 +1,59 @@
1#!/bin/sh
2
3prefix=@prefix@
4exec_prefix=@exec_prefix@
5exec_prefix_set=no
6
7usage="\
8Usage: evas-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]"
9
10if test $# -eq 0; then
11 echo "${usage}" 1>&2
12 exit 1
13fi
14
15while test $# -gt 0; do
16 case "$1" in
17 -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
18 *) optarg= ;;
19 esac
20
21 case $1 in
22 --prefix=*)
23 prefix=$optarg
24 if test $exec_prefix_set = no ; then
25 exec_prefix=$optarg
26 fi
27 ;;
28 --prefix)
29 echo $prefix
30 ;;
31 --exec-prefix=*)
32 exec_prefix=$optarg
33 exec_prefix_set=yes
34 ;;
35 --exec-prefix)
36 echo $exec_prefix
37 ;;
38 --version)
39 echo @VERSION@
40 ;;
41 --cflags)
42 if test @includedir@ != /usr/include ; then
43 includes=-I@includedir@
44 fi
45 echo $includes
46 ;;
47 --libs)
48 libdirs=-L@libdir@
49 echo $libdirs -levas @LDFLAGS@ @x_libs@ @freetype_libs@ @png_libs@ @jpeg_libs@ @eet_libs@ @edb_libs@
50 ;;
51 *)
52 echo "${usage}" 1>&2
53 exit 1
54 ;;
55 esac
56 shift
57done
58
59exit 0
diff --git a/legacy/evas/evas.c.in b/legacy/evas/evas.c.in
new file mode 100644
index 0000000000..e79282d7d0
--- /dev/null
+++ b/legacy/evas/evas.c.in
@@ -0,0 +1,272 @@
1/**
2@file
3@brief Evas Client-side Library Public API Calls
4
5These routines are used for Evas Library interaction
6*/
7
8/**
9
10@mainpage Evas Library Documentation
11@image latex evas_big.eps width=5cm
12@image html evas.png
13@version 1.0.0
14@author Carsten Haitzler <raster@rasterman.com>
15@date 2001-2002
16
17
18
19
20
21
22
23
24
25
26
27
28
29@section intro What is Evas?
30
31Evas is a clean display canvas API for several display systems that can draw
32anti-aliased text, smooth super and sub-sampled scaled images, alpha-blend
33objects much and more.
34
35It abstracts any need to know much about what the characteristics of your
36display system are or what graphics calls are used to draw them and how. It
37deals on an object level where all you do is create and manipulate objects
38in a canvas, set their properties, and the rest is done for you.
39
40Evas optimises the rendering pipeline to minimise effort in redrawing changes
41made to the canvas and so takes this work out of the programmers hand,
42saving a lot of time and energy.
43
44It's small and lean, designed to work on embedded systems all the way to
45large and powerful multi-cpu workstations. It can be compiled to only have
46the features you need for your target platform if you so wish, thus keeping
47it small and lean. It has several display back-ends, letting it display on
48several display systems, making it portable for cross-device and
49cross-platform development.
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68@section work How does Evas work?
69
70Evas is a canvas display library. This is markedly different from most
71display and windowing systemas as a Canvas is structural and is also a state
72engine, wheras most display and windowing systems are immediate mode display
73targets. Evas handles the logic between a structural display via its' state
74engine, and controls the target windowing system in order to produce
75rendered results of the current canvases state on the display.
76
77Immediate mode display systems retain very little, or no state. A program
78will execute a series of commands:
79
80@verbatim
81bitmap_handle = create_new_bitmap();
82draw_line(0, 0, 100, 200);
83draw_rectangle(10, 30, 50, 500);
84draw_bitmap(10, 30, bitmap_handle);
85etc.
86@endverbatim
87
88The series of commands is executed by the windowing system and the results
89are displays on the screen (normally). Once the commands are executed the
90display system has little or no idea of how to reproduce this image again,
91and so has to be instructed by the application how to redraw sections of the
92screen whenever needed. Each sucessive command will be executed as
93instructed by the application and either emulated by software or sent to the
94graphics hardware on the device to be performed.
95
96The advantage of such a system is that it is simple, and gives a program
97tight control over how something looks and is drawn. Given the increasing
98comlpexity of displays and demands by users to have better looking
99interfaces, more and more work is needing to be done at this level by the
100internals of widget sets, custom display widgets and other programs. This
101means more and more logic and display rendering code needs to be written
102time and time again, each time the application needs to figure out how to
103minimise redraws so that display is fast and interactive, and keep track of
104redraw logic. The power comes at a high-price, lots of extra code and work.
105Programmers not very familiar with graphics programming will often make
106mistakes at this level and produce code that is sub optimal. Those familiar
107with this kind of programming will simply get bored by writign the same code
108again and again.
109
110Evas is a structural system in which the programmer creates and manages
111display objects and their properties, and as a result of this higher level
112state management, the canvas is able to redraw the set of objects when
113needed to represent the current state of the canvas.
114
115For example:
116
117@verbatim
118bitmap_handle = create_bitmap();
119move(bitmap_handle, 10, 30);
120show(bitmap_handle);
121rectangle_handle = create_rectangle();
122move(rectangle_handle, 10, 30);
123resize(rectangle_handle, 50, 500);
124show(rectangle_handle);
125line_handle = create_line();
126set_line_coords(line_handle, 0, 0, 100, 200);
127show(line_handle);
128etc.
129@endverbatim
130
131This may look longer, but when the display needs to be refreshed or updated,
132the programmer only moves, resizes, shows, hides etc. the objects that they
133need to change. The programmer simply thinks at the object logic level, and
134the canvas software does the rest of the work for them, figuring out what
135actually changed in the canvas since it was lastdrawn, how to most
136efficiently redraw he canvas and its contents to reflect the current state,
137and then it can go off and do the actual drawing of the canvas.
138
139This lets the programmer think in a more natural way when dealing with a
140display, and saves time and effort of woring out how to load and display
141images, render given the current display system etc. Since Evas also is
142portable across different display systems, this also gives the programmer
143the ability to have their code ported and display on different dislpay
144systems with very little work.
145
146Evas can be seen as a display system that stands somewhere between a widget
147set and an immediate mode display system. It retains basic dislpay logic,
148but does very little high-level logic such as scrollbars, sliders, push
149buttons etc.
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166@section compiling How to compile using Evas?
167
168Evas is a library your application links to. The proceedure for this is very
169simple. You simply have to compile your application with the appropriate
170compiler flags that the @p evas-config script outputs. For example:
171
172Compiling C or C++ files into object files:
173
174@verbatim
175gcc -c main.c -o main.o `evas-config --cflags`
176@endverbatim
177
178Linking object files into a binary executable:
179
180@verbatim
181gcc main.o -o my_application `evas-config --libs`
182@endverbatim
183
184You simply have to make sure that evas-config is in your shell's PATH (see
185the manual page for your appropriate shell), or simply use the full path to
186where @p evas-config was installed. It's that simple to link and use Evas
187once you have written your code to use it.
188
189Since the program is linked to Evas, it is now able to use any advertised
190API calls to display graphics in a canvas managed by Evas, as well as use
191the API calls provided to manage data as well.
192
193You should make sure you add any extra compile and link flags to your
194compile commands that your application may need as well. The above example
195is only guaranteed to make Evas add it's own requirements.
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212@section install How is it installed?
213
214To be documented...
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238@todo Document API
239@todo Document Engine API
240@todo Add keyboard callbacks/event feeds and focus
241@todo Make freetype optional and put in optional graymap font engine
242@todo Add external image loaders (application provided callbacks to load)
243@todo Add loadable image loader module support (evas loads file.so)
244@todo Add external image lodaer modules (application proivdes path to file.so)
245@todo Define image load errors (and maybe have an error to string func)
246@todo Add ability to check image comments & disk format
247@todo Add text styles (outline etc.)
248@todo Add font load query calls (so we know if a font load failed)
249@todo Add font listing calls
250@todo Add OpenGL GLX Engine
251@todo Add Win32 OpenGL Engine
252@todo Add Apple OpenGL Engine
253@todo Add X11 primtive engine
254@todo Add SDL Engine
255@todo Add Symbian Engine
256@todo Add PalmOS Engine
257@todo Fix FB engine to allocat vt and release properly
258@todo Add ellipse objects (circle, arc, ellipse etc.)
259@todo Add video/movie/animation objects
260@todo Make software engine draw lines & polys with aa
261@todo Add radial gradients to gradient objects
262@todo Allow any object to clip any other object, and not just rectangles
263@todo Free images if object invisible (and put back in chache)
264@todo Check robustness of malloc/calloc/realloc failures.
265@todo Add memory use reduction code if any allocations fail
266@todo If image loads fails due to memory allocatue failure, load reduced res version
267@todo If image load fails due to memory allocation failure, try split it up into tiles and demand-load them
268@todo Add auto-detection of what engines to build based on system/libs etc.
269@todo Add overall engine configure parameters (so you can configure an engine with defaults with 1 configure option)
270@todo Add more evas demos
271
272*/
diff --git a/legacy/evas/evas.spec b/legacy/evas/evas.spec
new file mode 100644
index 0000000000..5383b37f57
--- /dev/null
+++ b/legacy/evas/evas.spec
@@ -0,0 +1,76 @@
1# Note that this is NOT a relocatable package
2%define ver 1.0.0-pre4
3%define rel 1
4%define prefix /usr
5
6Summary: evas
7Name: evas
8Version: %ver
9Release: %rel
10Copyright: BSD
11Group: Base/Group
12Source: ftp://ftp.enlightenment.org/pub/evas/evas-%{ver}.tar.gz
13BuildRoot: /var/tmp/evas-root
14Packager: The Rasterman <raster@rasterman.com>
15URL: http://www.enlightenment.org/
16Requires: freetype >= 2.0.0
17Requires: libpng >= 1.0.0
18Requires: libjpeg
19
20Docdir: %{prefix}/doc
21
22%description
23Evas - the library
24
25%prep
26%setup
27
28%build
29./configure \
30--prefix=%prefix \
31--enable-software-x11 \
32--enable-image-loader-png \
33--enable-image-loader-jpeg \
34--enable-cpu-p2-only \
35--enable-cpu-mmx \
36--enable-cpu-sse \
37--enable-cpu-c \
38--enable-scale-smooth \
39--enable-scale-sample \
40--enable-convert-16-rgb-565 \
41--enable-convert-16-rgb-555 \
42--enable-convert-16-rgb-rot-0 \
43--enable-convert-32-rgb-8888 \
44--enable-convert-32-bgr-8888 \
45--enable-convert-32-rgb-rot-0
46
47make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
48
49###########################################################################
50
51%install
52rm -rf $RPM_BUILD_ROOT
53make prefix=$RPM_BUILD_ROOT%{prefix} install
54
55%clean
56rm -rf $RPM_BUILD_ROOT
57
58%post
59
60%postun
61
62%files
63%defattr(-,root,root)
64%doc README COPYING ChangeLog
65%attr(755,root,root) %{prefix}/bin/*
66%attr(755,root,root) %{prefix}/lib/*
67%{prefix}/share/*
68
69%doc AUTHORS
70%doc COPYING
71%doc README
72
73%changelog
74* Sat Jun 23 2001 The Rasterman <raster@rasterman.com>
75- Created spec file
76
diff --git a/legacy/evas/gendoc b/legacy/evas/gendoc
new file mode 100755
index 0000000000..a827440555
--- /dev/null
+++ b/legacy/evas/gendoc
@@ -0,0 +1,10 @@
1#!/bin/sh
2cp ./evas.c.in ./evas.c
3cat ./src/lib/Evas.h >> ./evas.c
4for I in `find ./src/lib -name "*.c" -print`; do
5 cat $I >> ./evas.c
6done
7rm -rf ./doc/html ./doc/latex ./doc/man
8doxygen
9cp doc/img/evas_small.png doc/html/evas_small.png
10exit 0
diff --git a/legacy/evas/src/Makefile.am b/legacy/evas/src/Makefile.am
new file mode 100644
index 0000000000..7b45af65b2
--- /dev/null
+++ b/legacy/evas/src/Makefile.am
@@ -0,0 +1,3 @@
1## Process this file with automake to produce Makefile.in
2
3SUBDIRS = lib bin