and now... AUTO configure.. no need to --enable anymore... evas's configure

will figure it out for you. you can always --disable tho! :)


SVN revision: 8686
This commit is contained in:
Carsten Haitzler 2004-01-28 02:07:41 +00:00
parent 94a98eeb88
commit 52eec2df86
4 changed files with 986 additions and 1095 deletions

View File

@ -17,7 +17,7 @@ When this no longer has a pre-<something> as its version THEN it is ready.
--------------------------------------------------------------------------
Requires:
freetype 2.0.x (I want to make this optional)
freetype 2.x.x (I want to make this optional)
Optional:
@ -59,284 +59,11 @@ Though this requires a unicode compatible font with unicode charmap support
only from left to right, so arabic, hebrew etc. won't display quite right,
direction-wise, but the charcters do.
--------------------------------------------------------------------------
##########################################################################
##########################################################################
##########################################################################
--------------------------------------------------------------------------
suggested configure options for evas for a P2/AMD/P3/P4 desktop X display:
./configure \
--enable-software-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 \
--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 \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
for those that want eet and edb image loading ability and eet font loading:
./configure \
--enable-software-x11 \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-image-loader-eet \
--enable-image-loader-edb \
--enable-font-loader-eet \
--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 \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
or to use the fast sampling scaler:
./configure \
--enable-software-x11 \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-cpu-p2-only \
--enable-cpu-mmx \
--enable-cpu-sse \
--enable-cpu-c \
--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 \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
###### OpenGL (being worked on. does nothing much at the moment) #######
This requires OpengGL 1.2 or above. it needs libGL and libGLU. Speedup
benefit may vary depending on graphcis card. Many GL implimentations have
many bugs that have been triggered during development. There are workarounds
for known bugs. You may encounter more. At this stage please help out if you
know OpenGL well. NB: you MUST enable the smooth scaler to use the gl engine
- currently it isn't properly forced to be enabled for you.
./configure \
--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 \
--enable-convert-yuv
make CFLAGS="-g"
--------------------------------------------------------------------------
suggested configure options for an ipaq 36xx:
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-270 \
--enable-convert-yuv
make CFLAGS="-O9"
suggested configure options for an ipaq 38xx:
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-565 \
--enable-convert-16-rgb-rot-90 \
--enable-convert-yuv
make CFLAGS="-O9"
--------------------------------------------------------------------------
suggested configure options for an cross-compiling ipaq using skiff:
export CC=/skiff/local/bin/arm-linux-gcc
export CFLAGS="-O9"
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-0 \
--enable-convert-16-rgb-rot-270 \
--enable-convert-yuv \
--with-freetype-config=/skiff/local/arm-linux/bin/freetype-config
make CFLAGS="-O9 -I/skiff/local/include -I/skiff/local/arm-linux/include"
this assumes you have a proper install of freetype2 on your skiff install that
contains a freetype-config script, and a proper install of libpng on your
skiff cross-compile environment.
--------------------------------------------------------------------------
suggested configure options for an DirectFB on x86 target:
./configure \
--enable-directfb \
--enable-cpu-p2-only \
--enable-cpu-mmx \
--enable-cpu-sse \
--enable-cpu-c \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-scale-smooth \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
--------------------------------------------------------------------------
suggested configure options for a qtopia target (desktop, qvfb):
./configure \
--enable-software-qtopia \
--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 \
--enable-convert-16-rgb-565 \
--enable-convert-16-rgb-555 \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-0 \
--enable-convert-32-rgb-8888 \
--enable-convert-32-bgr-8888 \
--enable-convert-32-rgb-rot-0 \
--enable-convert-yuv \
--with-qtdir=/opt/Qtopia
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
--------------------------------------------------------------------------
suggested configure options for a zaurus qtopia cross-compile target:
export CC=/opt/Embedix/tools/arm-linux/bin/gcc
export CXX=/opt/Embedix/tools/arm-linux/bin/g++
export CFLAGS="-O9"
./configure \
--enable-software-qtopia \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-565 \
--enable-convert-16-rgb-rot-270 \
--with-qtdir=/opt/Qtopia/sharp \
--enable-convert-yuv \
--with-freetype-config=/opt/Embedix/tools/arm-linux/bin/freetype-config
make CFLAGS="-O9 -I/opt/Embedix/tools/arm-linux/include"
--------------------------------------------------------------------------
if you want to know what options to enable
./confiugre --help
Notes:
you must enable one and ONLY one scaler. ie: --enable-scale-smooth
you only need scalers and converters and have to provide cpu info if using
the fb or software x11 engines right now.
you must enable some level of cpu optimisations (at least C, if not mmx and
sse) ie: --enable-cpu-c --enable-cpu-mmx --enable-cpu-sse
you will find much improved performance on pentium and pentium2, and amd
cpu's if you use --enable-cpu-p2-only
if you have a pentium3 or 4 you may see more speed with
--enable-cpu-p3-only (do not use in combination with --enable-cpu-p2-only)
if you use the fb or software_x11 engines if you don't build in a converter
for at least the depth you run, then display won't work. they are all
optional for the purpose of leaning evas down for embedded devices to only
inlcude the code you need. if you have the disk and ram space then enable
all the converters
the small dither mask is faster on the ipaq, but is not as good looking. on
desktop machines it makes no speed difference so only use
--enable-small-dither-mask if you are compiling for the ipaq
@ -359,13 +86,6 @@ code, but also the lowest quality. when scaling up pixels will become blocky
and when scaling down you will see shimmering/aliasing artifacts. this is a
speed vs. quality tradeoff
--enable-scale-trilinear
this enables tilinear scaling. it uses a similar algorithm to what 3d cards
do - the quality is good and speed is slower than sampled scaling, but looks
a bit better. uses extra ram (up to 33% more) for image data for mipmaps
(they are built on-demand), but is a nice compromise
--enable-scale-smooth
this is the nicest looking scaler that is not that much slower than
@ -416,19 +136,6 @@ directfb that offer acceleration (otherwise the fb driver will likely be
faster).
CPU:
--enable-cpu-p2-only
this tricks the cpu detecting code to avoid detection routines and assume a
pentium, pentium2, amd etc. cpu and use mmx routines (it's a bit misnamed -
but hey). this is suggested if your target is a pentium and up system.
--enable-cpu-p3-only
this tricks the cpu detection code into thinking you have a pentium3 or up
cpu (not - this is NOt for amd processors). it is suggested for p3 or 4
targets for more speedups again. if you use this option do NOt use the
--enable-cpu-p2-only option.
--enable-cpu-c
this enabled the c code. you can actually build the code withotu the c
@ -537,3 +244,5 @@ To be documented...
--enable-convert-32-rgb-rot-270
To be documented...
...

File diff suppressed because it is too large Load Diff

View File

@ -213,254 +213,14 @@ is only guaranteed to make Evas add it's own requirements.
@section install How is it installed?
To be documented...
Suggested configure options for evas for a P2/AMD/P3/P4 desktop X display:
Simple:
@verbatim
./configure \
--enable-software-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 \
--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 \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
@endverbatim
For those that want eet and edb image loading ability and eet font loading
ability:
@verbatim
./configure \
--enable-software-x11 \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-image-loader-eet \
--enable-image-loader-edb \
--enable-font-loader-eet \
--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 \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
@endverbatim
Or to use the fast sampling scaler only:
@verbatim
./configure \
--enable-software-x11 \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-cpu-p2-only \
--enable-cpu-mmx \
--enable-cpu-sse \
--enable-cpu-c \
--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 \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
@endverbatim
OpenGL (being worked on. does nothing much at the moment).
@verbatim
./configure \
--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 \
--enable-convert-yuv
make CFLAGS="-g"
@endverbatim
Suggested configure options for an ipaq 36xx:
@verbatim
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-270 \
--enable-convert-yuv
make CFLAGS="-O9"
@endverbatim
Suggested configure options for an ipaq 38xx:
@verbatim
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-565 \
--enable-convert-16-rgb-rot-90 \
--enable-convert-yuv
make CFLAGS="-O9"
@endverbatim
Suggested configure options for an cross-compiling ipaq using skiff:
This assumes you have a proper install of freetype2 on your skiff install that
contains a freetype-config script, and a proper install of libpng on your
skiff cross-compile environment.
@verbatim
export CC=/skiff/local/bin/arm-linux-gcc
export CFLAGS="-O9"
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-0 \
--enable-convert-16-rgb-rot-270 \
--enable-convert-yuv \
--with-freetype-config=/skiff/local/arm-linux/bin/freetype-config
make CFLAGS="-O9 -I/skiff/local/include -I/skiff/local/arm-linux/include"
@endverbatim
@verbatim
suggested configure options for an DirectFB on x86 target:
./configure \
--enable-directfb \
--enable-cpu-p2-only \
--enable-cpu-mmx \
--enable-cpu-sse \
--enable-cpu-c \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-scale-smooth \
--enable-convert-yuv
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
@endverbatim
Suggested configure options for a qtopia target (desktop, qvfb):
@verbatim
./configure \
--enable-software-qtopia \
--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 \
--enable-convert-16-rgb-565 \
--enable-convert-16-rgb-555 \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-0 \
--enable-convert-32-rgb-8888 \
--enable-convert-32-bgr-8888 \
--enable-convert-32-rgb-rot-0 \
--enable-convert-yuv \
--with-qtdir=/opt/Qtopia
make CFLAGS="-O9 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"
@endverbatim
Suggested configure options for a zaurus qtopia cross-compile target:
@verbatim
export CC=/opt/Embedix/tools/arm-linux/bin/gcc
export CXX=/opt/Embedix/tools/arm-linux/bin/g++
export CFLAGS="-O9"
./configure \
--enable-software-qtopia \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-small-dither-mask \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-565 \
--enable-convert-16-rgb-rot-270 \
--enable-convert-yuv \
--with-qtdir=/opt/Qtopia/sharp \
--with-freetype-config=/opt/Embedix/tools/arm-linux/bin/freetype-config
make CFLAGS="-O9 -I/opt/Embedix/tools/arm-linux/include"
./configure
make
su -
...
make install
@endverbatim
@ -489,8 +249,6 @@ make CFLAGS="-O9 -I/opt/Embedix/tools/arm-linux/include"
@todo (1.0) Add font listing calls
@todo (1.0) Add ability to check image comments & disk format
@todo (1.0) Add group objects
@todo (1.0) Add auto-detection of what engines to build based on system/libs etc. for configure script
@todo (1.0) Add overall engine configure parameters (so you can configure an engine with defaults with 1 configure option) to configure script
@todo (1.1) Make freetype optional and put in optional graymap font engine
@todo (1.1) Free images if object invisible (and put back in chache)
@todo (1.1) Check robustness of malloc/calloc/realloc failures.

View File

@ -2,17 +2,48 @@
make clean distclean
./configure \
--enable-fb \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-image-loader-eet \
--enable-cpu-c \
--enable-scale-smooth \
--enable-scale-sample \
--enable-convert-16-rgb-ipq \
--enable-convert-16-rgb-rot-270
#--enable-small-dither-mask \
--disable-software-x11 \
--disable-directfb \
--enable-fb \
--disable-buffer \
--disable-software-qtopia \
--disable-gl-x11 \
--enable-image-loader-png \
--enable-image-loader-jpeg \
--enable-image-loader-eet \
--disable-image-loader-edb \
--enable-font-loader-eet \
--disable-cpu-mmx \
--disable-cpu-sse \
--disable-cpu-altivec \
--enable-cpu-c \
--enable-scale-sample \
--enable-scale-smooth \
--enable-convert-yuv \
--disable-small-dither-mask \
--disable-convert-8-rgb-332 \
--disable-convert-8-rgb-666 \
--disable-convert-8-rgb-232 \
--disable-convert-8-rgb-222 \
--disable-convert-8-rgb-221 \
--disable-convert-8-rgb-121 \
--disable-convert-8-rgb-111 \
--disable-convert-16-rgb-565 \
--disable-convert-16-rgb-555 \
--disable-convert-16-rgb-444 \
--enable-convert-16-rgb-ipq \
--disable-convert-16-rgb-rot-0 \
--enable-convert-16-rgb-rot-270 \
--disable-convert-16-rgb-rot-90 \
--disable-convert-24-rgb-888 \
--disable-convert-24-bgr-888 \
--disable-convert-32-rgb-8888 \
--disable-convert-32-rgbx-8888 \
--disable-convert-32-bgr-8888 \
--disable-convert-32-bgrx-8888 \
--disable-convert-32-rgb-rot-0 \
--disable-convert-32-rgb-rot-270 \
--disable-convert-32-rgb-rot-90
CC="/skiff/local/bin/arm-linux-gcc"
ST="/skiff/local/bin/arm-linux-strip"