forked from enlightenment/efl
build - update README and meson options to match echother in defaults
update some defaults like move to gl-es by default, tslib off by default as this really makes efl simpler to confgure ... by default with less things to change to get stuff working.
This commit is contained in:
parent
40b22d644d
commit
e65ebc61fa
202
README
202
README
|
@ -210,9 +210,9 @@ Ecore main-loop and event queue.
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
//BSD 2-Clause license//
|
||||||
|
|
||||||
This is a library to wrap/deal with Xlib as well as optionally XCB to
|
This is a library to wrap/deal with Xlib make dealing with X11 less painful
|
||||||
make dealing with X11 less painful and less footwork as well as being
|
and less footwork as well as being glue to tie these into the Ecore main-loop
|
||||||
glue to tie these into the Ecore main-loop and event queue.
|
and event queue.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -464,7 +464,7 @@ Required by default:
|
||||||
* libxcursor
|
* libxcursor
|
||||||
* libxp
|
* libxp
|
||||||
* libxi (2.2 or newer)
|
* libxi (2.2 or newer)
|
||||||
* libgl (opengl/glx or opengl-es2/egl)
|
* opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl)
|
||||||
* giflib
|
* giflib
|
||||||
* util-linux (limbount + libblkid)
|
* util-linux (limbount + libblkid)
|
||||||
* systemd / libudev
|
* systemd / libudev
|
||||||
|
@ -473,18 +473,41 @@ Required by default:
|
||||||
* libspectre
|
* libspectre
|
||||||
* librsvg
|
* librsvg
|
||||||
|
|
||||||
Recommended requirements (highly recommended):
|
You might want webp support so disable fewer loaders and remove webp
|
||||||
|
from the disablers with:
|
||||||
|
|
||||||
* harfbuzz
|
-Devas-loaders-disabler=json
|
||||||
* libwebp
|
|
||||||
* libunwind (where available)
|
|
||||||
|
|
||||||
Enable these with configure options:
|
Wayland support:
|
||||||
|
|
||||||
--enable-xinput22 \
|
You may also want wayland support when on Linux. This enables support
|
||||||
--enable-image-loader-webp \
|
for EFL to trget wayland support for client applications. To do this
|
||||||
--enable-harfbuzz \
|
supply:
|
||||||
--enable-multisense
|
|
||||||
|
-Dwl=true
|
||||||
|
|
||||||
|
Framebuffer support:
|
||||||
|
|
||||||
|
This requires linux frame-buffer support, headers etc. This supports
|
||||||
|
basic frame-buffers like /dev/fb as well as input via /dev/input for
|
||||||
|
keyboards and mice in a basic way. Enable this with:
|
||||||
|
|
||||||
|
-Dfb=true
|
||||||
|
|
||||||
|
For more modern framebuffer support you may want drm/kms rendering
|
||||||
|
support so enable this. This is what you also want for wayland
|
||||||
|
compositor support in enlightenment as it will want to be able to
|
||||||
|
render to a moder framebuffer tarbet with atomic buffer swapping. To
|
||||||
|
do this provide:
|
||||||
|
|
||||||
|
-Ddrm=true
|
||||||
|
|
||||||
|
You may want to change the install prefix for EFL with:
|
||||||
|
|
||||||
|
--prefix=/path/to/prefix
|
||||||
|
|
||||||
|
The default prefix if not given is "/usr/local". Many people like to
|
||||||
|
use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.
|
||||||
|
|
||||||
COMPILER FLAGS
|
COMPILER FLAGS
|
||||||
--------------
|
--------------
|
||||||
|
@ -495,159 +518,24 @@ that to ensure ABI stability you should use the exact same CFLAGS /
|
||||||
CXXFLAGS for all the build of EFL and any applications/libraries that
|
CXXFLAGS for all the build of EFL and any applications/libraries that
|
||||||
depend on them.
|
depend on them.
|
||||||
|
|
||||||
Other possible recommendations:
|
|
||||||
|
|
||||||
* scim
|
|
||||||
|
|
||||||
Enable this with:
|
|
||||||
|
|
||||||
--enable-scim
|
|
||||||
|
|
||||||
Framebuffer support:
|
|
||||||
|
|
||||||
This requires linux frame-buffer support, headers etc. This supports
|
|
||||||
basic frame-buffers like /dev/fb as well as input via /dev/input for
|
|
||||||
keyboards and mice in a basic way. Enable this with:
|
|
||||||
|
|
||||||
--enable-fb
|
|
||||||
|
|
||||||
This also turns on support for touch-screens via tslib. Not everyone
|
|
||||||
has tslib, so you may want to disable it with:
|
|
||||||
|
|
||||||
--disable-tslib
|
|
||||||
|
|
||||||
You likely don't need static libraries most of the time so you can
|
|
||||||
disable them with:
|
|
||||||
|
|
||||||
--disable-static
|
|
||||||
|
|
||||||
You may want to change the install prefix for EFL with:
|
|
||||||
|
|
||||||
--prefix=/path/to/prefix
|
|
||||||
|
|
||||||
The default prefix if not given is "/usr/local". Many people like to
|
|
||||||
use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.
|
|
||||||
|
|
||||||
You may want to enable valgrind support if you plan on doing debugging
|
|
||||||
with EFL or apps built on top of EFL. This requires an install of
|
|
||||||
valgrind first. You can enable this with:
|
|
||||||
|
|
||||||
--enable-valgrind
|
|
||||||
|
|
||||||
You may want to enable xine support in emotion, as this library
|
|
||||||
provides fairly solid support for a lot of codecs and DVD navigation
|
|
||||||
support and more. You can enable it with:
|
|
||||||
|
|
||||||
--enable-xine
|
|
||||||
|
|
||||||
Wayland is also supported fairly solidly in EFL 1.8. It is not
|
|
||||||
required by default due to it being new and not that widely spread.
|
|
||||||
You can enable Wayland support with:
|
|
||||||
|
|
||||||
--enable-wayland \
|
|
||||||
--enable-elput \
|
|
||||||
--enable-drm
|
|
||||||
|
|
||||||
For faster rendering when dithering down to lower-than 24/32bpp, you
|
|
||||||
can try:
|
|
||||||
|
|
||||||
--with-evas-dither-mask=small
|
|
||||||
|
|
||||||
But this will drop quality slightly, using a small 16x16 ordered
|
|
||||||
dither mask rather than the default 128x128. This should save a little
|
|
||||||
memory too in the binary size of Evas.
|
|
||||||
|
|
||||||
There are many other configure options that can be used, but in
|
There are many other configure options that can be used, but in
|
||||||
general it is not a good idea to go enabling or disabling things
|
general it is not a good idea to go enabling or disabling things
|
||||||
unless you wish to break things. The defaults are well tested, with
|
unless you wish to break things. The defaults are well tested, with
|
||||||
the above recommended options also being well tested. Go much further
|
the above recommended options also being well tested. Go much further
|
||||||
and your mileage may vary wildly. Disabling features is a good way of
|
and your mileage may vary wildly. Disabling features is a good way of
|
||||||
breaking EFL functionality, so it is not recommended. The defaults
|
breaking EFL functionality, so it is not recommended to mess with
|
||||||
|
these without understanding the implications. The defaults
|
||||||
have been carefully considered to provide full functionality so users
|
have been carefully considered to provide full functionality so users
|
||||||
will not be missing anything.
|
will not be missing anything.
|
||||||
|
|
||||||
|
|
||||||
VALGRIND DEPENDENCY
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
EFL uses the concept of memory pools (mempool) and this will confuse
|
|
||||||
valgrind memcheck tool. By using memory pool, the memory is still
|
|
||||||
owned by EFL, then valgrind won't alert on memory leaks or use of
|
|
||||||
unused memory. EFL will use memcheck.h from valgrind to declare its
|
|
||||||
memory pools to valgrind, producing better debugging results.
|
|
||||||
|
|
||||||
However valgrind is only available to limited platforms, making it
|
|
||||||
hard for us to declare it a mandatory requirement. Based on
|
|
||||||
--with-profile={dev,debug} valgrind will be used if available or will
|
|
||||||
be issued a warning. You can force valgrind with --enable-valgrind, or
|
|
||||||
disable it and the warning with --disable-valgrind.
|
|
||||||
|
|
||||||
EFL does NOT link to valgrind libraries. Then there is NO runtime
|
|
||||||
dependency on valgrind.
|
|
||||||
|
|
||||||
|
|
||||||
BULLET PHYSICS DEPENDENCY
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
EFL comes with EPhysics (a physics wrapper library) enabled by
|
|
||||||
default. To build it the user must have BulletPhysics engine installed.
|
|
||||||
|
|
||||||
More information about BulletPhysics can be obtained in the upstream project
|
|
||||||
web site at http://bulletphysics.org
|
|
||||||
|
|
||||||
We have received many reports about BulletPhysics installation and distros
|
|
||||||
packages in bad shape, some without even a package. If your distro doesn't
|
|
||||||
ship a BulletPhysics package or you want to build it from source code follow
|
|
||||||
the instructions below:
|
|
||||||
|
|
||||||
**Required Packages:**
|
|
||||||
|
|
||||||
You should have cmake installed. Bullet comes with autotools and cmake build
|
|
||||||
systems, do not use the autotools alternative, it's unstable, bogus and hasn't
|
|
||||||
been maintained for quite some time.
|
|
||||||
|
|
||||||
**Download the tarball from:**
|
|
||||||
|
|
||||||
http://code.google.com/p/bullet/downloads/list
|
|
||||||
|
|
||||||
**NOTE:**
|
|
||||||
|
|
||||||
The current supported version is 2.80 or greater.
|
|
||||||
|
|
||||||
**Compiling and Installing:**
|
|
||||||
|
|
||||||
Uncompress it to (say) ~/bullet and:
|
|
||||||
|
|
||||||
cd ~/bullet/build
|
|
||||||
cmake .. -DBUILD_CPU_DEMOS=OFF -DBUILD_DEMOS=OFF -DBUILD_SHARED_LIBS=ON
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
|
|
||||||
**Ubuntu Users:**
|
|
||||||
|
|
||||||
Alternatively Ubuntu users have the option to install the BulletPhysics from
|
|
||||||
our official EFL PPA:
|
|
||||||
|
|
||||||
https://launchpad.net/~efl/+archive/trunk
|
|
||||||
|
|
||||||
|
|
||||||
PROFILES
|
|
||||||
--------
|
|
||||||
|
|
||||||
EFL build is based on "profiles". It will default to "dev" for
|
|
||||||
unreleased software and "release" for official tarballs. One can
|
|
||||||
change it with --with-profile=NAME, where NAME is one of:
|
|
||||||
|
|
||||||
* **dev**: extra checks useful to test software.
|
|
||||||
* **debug**: superset of dev, with debug features and assert().
|
|
||||||
* **release**: optimizations and less checks so it runs faster.
|
|
||||||
|
|
||||||
|
|
||||||
CRYPTOGRAPHY
|
CRYPTOGRAPHY
|
||||||
------------
|
------------
|
||||||
|
|
||||||
EFL officially uses "openssl" library to do signature, cipher and related.
|
EFL officially offers openssl or gnutls as cryptography backends. By
|
||||||
Alternatively one can use "gnutls" (some distros are strict about licenses
|
default it uses "openssl" to do signature, cipher and related. Alternatively
|
||||||
and want gnutls instead of openssl) or disable it. One can change it with
|
one can use "gnutls" (some distros are strict about licenses and want gnutls
|
||||||
--with-crypto=NAME, where NAME is one of: "openssl", "gnutls" and "none".
|
instead of openssl) You can switch to gnutls with:
|
||||||
|
|
||||||
|
-Dcrypto=gnutls
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ option('eeze',
|
||||||
option('opengl',
|
option('opengl',
|
||||||
type : 'combo',
|
type : 'combo',
|
||||||
choices : ['full', 'es-egl', 'none'],
|
choices : ['full', 'es-egl', 'none'],
|
||||||
value : 'full',
|
value : 'es-egl',
|
||||||
description : 'Type of OpenGL support in efl'
|
description : 'Type of OpenGL support in efl'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ option('xinput22',
|
||||||
|
|
||||||
option('tslib',
|
option('tslib',
|
||||||
type : 'boolean',
|
type : 'boolean',
|
||||||
value : true,
|
value : false,
|
||||||
description : 'Framebuffer (/dev/fb / fbcon) touchscreen tslib support in efl'
|
description : 'Framebuffer (/dev/fb / fbcon) touchscreen tslib support in efl'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue