move to readme.md
This commit is contained in:
parent
83d598a79c
commit
7a0118e7f1
59
INSTALL
59
INSTALL
|
@ -1,59 +0,0 @@
|
||||||
** COMPILING and INSTALLING **
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
Meson is the build system used for this project. For more information please
|
|
||||||
see:
|
|
||||||
|
|
||||||
http://mesonbuild.com
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
Normal compilation in /usr/local:
|
|
||||||
|
|
||||||
meson . build
|
|
||||||
ninja -C build
|
|
||||||
sudo ninja -C build install
|
|
||||||
|
|
||||||
For meson build generic options:
|
|
||||||
|
|
||||||
meson --help
|
|
||||||
|
|
||||||
For a list of project specific options supported:
|
|
||||||
|
|
||||||
cat meson_options.txt
|
|
||||||
|
|
||||||
To set 1 or more project specific options:
|
|
||||||
|
|
||||||
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
|
|
||||||
|
|
||||||
To display current configuration:
|
|
||||||
|
|
||||||
meson configure build
|
|
||||||
|
|
||||||
The above will only work after at least the following is done:
|
|
||||||
|
|
||||||
meson . build
|
|
||||||
|
|
||||||
** QUICK AND DIRTY HELP **
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
How clean out the build and config and start fresh:
|
|
||||||
|
|
||||||
rm -rf build
|
|
||||||
|
|
||||||
How to make a dist tarball and check its build:
|
|
||||||
(must do it from git tree clone and commit all changes to git first)
|
|
||||||
|
|
||||||
ninja -C build dist
|
|
||||||
|
|
||||||
How to change prefix:
|
|
||||||
|
|
||||||
meson --prefix=/path/to/prefix . build
|
|
||||||
|
|
||||||
How to install in a specific destination directory for packaging:
|
|
||||||
|
|
||||||
DESTDIR=/path/to/destdir ninja -C build install
|
|
||||||
|
|
||||||
How to build with verbose output (full commands run):
|
|
||||||
|
|
||||||
ninja -C build -v
|
|
|
@ -1,10 +1,12 @@
|
||||||
EFL
|
![EFL](/data/readme/efl.png)
|
||||||
===
|
# EFL
|
||||||
|
|
||||||
******************************************************************************
|
-----
|
||||||
FOR ANY ISSUES PLEASE EMAIL:
|
|
||||||
enlightenment-devel@lists.sourceforge.net
|
*Please report bugs/issues at*
|
||||||
******************************************************************************
|
[git.enlightenment.org](https://git.enlightenment.org/enlightenment/efl/issues)
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
EFL is a collection of libraries for handling many common tasks a
|
EFL is a collection of libraries for handling many common tasks a
|
||||||
developer may have such as data structures, communication, rendering,
|
developer may have such as data structures, communication, rendering,
|
||||||
|
@ -24,10 +26,9 @@ Config files installed to help developers build against EFL.
|
||||||
|
|
||||||
For more documentation please see:
|
For more documentation please see:
|
||||||
|
|
||||||
https://www.enlightenment.org/docs
|
[www.enlightenment.org/doc](https://www.enlightenment.org/docs)
|
||||||
|
|
||||||
PLATFORMS
|
## Platforms
|
||||||
---------
|
|
||||||
|
|
||||||
EFL is primarily developerd on Linux (GNU/Linux) and should work on
|
EFL is primarily developerd on Linux (GNU/Linux) and should work on
|
||||||
most distributions as long as dependencies are provided. It has been
|
most distributions as long as dependencies are provided. It has been
|
||||||
|
@ -35,12 +36,11 @@ compiled and run also on Windows (using MSYS2 + mingw-w64 - please see
|
||||||
https://phab.enlightenment.org/w/windows/), Mac OS X, FreeBSD and
|
https://phab.enlightenment.org/w/windows/), Mac OS X, FreeBSD and
|
||||||
NetBSD.
|
NetBSD.
|
||||||
|
|
||||||
COMPONENTS
|
## Components
|
||||||
----------
|
|
||||||
|
|
||||||
**Ecore:**
|
**Ecore:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is the core main-loop, system events and execution layer. This
|
This is the core main-loop, system events and execution layer. This
|
||||||
handles running the main loop, integrating with external data and
|
handles running the main loop, integrating with external data and
|
||||||
|
@ -48,31 +48,25 @@ timing sources (the system clock, file descriptors, system signals),
|
||||||
and producing an event queue, walking that queue and dispatching
|
and producing an event queue, walking that queue and dispatching
|
||||||
events to appropriate callbacks.
|
events to appropriate callbacks.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Audio:**
|
**Ecore Audio:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library provides an API for audio playback and recording. It uses
|
This library provides an API for audio playback and recording. It uses
|
||||||
pulse audio underneath to handle mixing and policies. The API for this
|
pulse audio underneath to handle mixing and policies. The API for this
|
||||||
should not be considered stable right now because it relies on EO and
|
should not be considered stable right now because it relies on EO and
|
||||||
EO is not considered finalized yet.
|
EO is not considered finalized yet.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Cocoa:**
|
**Ecore Cocoa:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This provides wrappers/abstractions around Max OS-X Cocoa APIs to help
|
This provides wrappers/abstractions around Max OS-X Cocoa APIs to help
|
||||||
Mac porting.
|
Mac porting.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Con:**
|
**Ecore Con:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This provides a completely event-based TCP/UDP and Unix domain socket
|
This provides a completely event-based TCP/UDP and Unix domain socket
|
||||||
API that integrates with the main-loop. This means no blocking to send
|
API that integrates with the main-loop. This means no blocking to send
|
||||||
|
@ -83,11 +77,9 @@ verification, CURL wrapping for HTTP connection usage (GETs, POSTs
|
||||||
etc.), asynchronous DNS lookups and provides the ability to also be a
|
etc.), asynchronous DNS lookups and provides the ability to also be a
|
||||||
server, not just a client, with the same event-based API.
|
server, not just a client, with the same event-based API.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Evas:**
|
**Ecore Evas:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This acts as glue between the display target (X11, Wayland,
|
This acts as glue between the display target (X11, Wayland,
|
||||||
Frame buffer, Cocoa on OSX, Win32 etc.) and Evas. It creates/provides a
|
Frame buffer, Cocoa on OSX, Win32 etc.) and Evas. It creates/provides a
|
||||||
|
@ -96,69 +88,55 @@ input events (Keyboard, Mouse, Multi-touch) into Evas, which then
|
||||||
selects the target object and calls the callbacks. It also provides
|
selects the target object and calls the callbacks. It also provides
|
||||||
wrappers/glue for manipulating the Window/Surface.
|
wrappers/glue for manipulating the Window/Surface.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Fb:**
|
**Ecore Fb:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This provides virtual terminal allocation, access and handling,
|
This provides virtual terminal allocation, access and handling,
|
||||||
frame buffer information, raw input handling for keyboard, mouse and
|
frame buffer information, raw input handling for keyboard, mouse and
|
||||||
touch (via tslib).
|
touch (via tslib).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore File:**
|
**Ecore File:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This provides file access convenience APIs for doing simple file
|
This provides file access convenience APIs for doing simple file
|
||||||
operations like renames, copies, listing directories and more. It also
|
operations like renames, copies, listing directories and more. It also
|
||||||
supports file change monitoring and URL downloads.
|
supports file change monitoring and URL downloads.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore IMF:**
|
**Ecore IMF:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is an input method abstraction framework to allow EFL to talk to
|
This is an input method abstraction framework to allow EFL to talk to
|
||||||
things like SCIM, IBus, Wayland and XIM. This allows for complex text
|
things like SCIM, IBus, Wayland and XIM. This allows for complex text
|
||||||
entry in languages such as Chinese, Japanese and Korean.
|
entry in languages such as Chinese, Japanese and Korean.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore IMF Evas:**
|
**Ecore IMF Evas:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library glues Input method support from Ecore IMF and Evas
|
This library glues Input method support from Ecore IMF and Evas
|
||||||
together.
|
together.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Input:**
|
**Ecore Input:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This acts as a generic input layer where multiple display systems can
|
This acts as a generic input layer where multiple display systems can
|
||||||
post events in the same format to the event queue.
|
post events in the same format to the event queue.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Input Evas:**
|
**Ecore Input Evas:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This Routes events from Ecore Input into a given Evas canvas which
|
This Routes events from Ecore Input into a given Evas canvas which
|
||||||
will then route the event further to the destination object and
|
will then route the event further to the destination object and
|
||||||
callbacks.
|
callbacks.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore IPC:**
|
**Ecore IPC:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This acts as a layer on top of Ecore Con which handles entire IPC
|
This acts as a layer on top of Ecore Con which handles entire IPC
|
||||||
message packets, dealing with header delta compression and
|
message packets, dealing with header delta compression and
|
||||||
|
@ -167,50 +145,39 @@ go as a single IPC message, regardless of payload data size. The
|
||||||
entire API is event based almost exactly like Ecore Con and thus it
|
entire API is event based almost exactly like Ecore Con and thus it
|
||||||
supports all the transport layers Ecore Con supports.
|
supports all the transport layers Ecore Con supports.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore SDL:**
|
**Ecore SDL:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This acts as a wrapper/glue around SDL to handle SDL Windows as well
|
This acts as a wrapper/glue around SDL to handle SDL Windows as well
|
||||||
as input events from SDL and tie them to the Ecore main-loop and event
|
as input events from SDL and tie them to the Ecore main-loop and event
|
||||||
queue.
|
queue.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Wayland:**
|
**Ecore Wayland:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is a glue/wrapper library to interface EFL to Wayland libraries
|
This is a glue/wrapper library to interface EFL to Wayland libraries
|
||||||
to tie them into the Ecore main-loop and event queue.
|
to tie them into the Ecore main-loop and event queue.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore Win32:**
|
**Ecore Win32:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This acts as glue/wrapper around Windows Win32 APIs to tie them into
|
This acts as glue/wrapper around Windows Win32 APIs to tie them into
|
||||||
the Ecore main-loop and event queue.
|
the Ecore main-loop and event queue.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ecore X:**
|
**Ecore X:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is a library to wrap/deal with Xlib make dealing with X11 less painful
|
This is a library to wrap/deal with Xlib make dealing with X11 less painful
|
||||||
and less footwork as well as being glue to tie these into the Ecore main-loop
|
and less footwork as well as being glue to tie these into the Ecore main-loop
|
||||||
and event queue.
|
and event queue.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Edje:**
|
**Edje:**
|
||||||
|
|
||||||
//BSD 2-Clause license// (except the epp binary which is GPLv2)
|
*BSD 2-Clause license* (except the epp binary which is GPLv2)
|
||||||
|
|
||||||
This is a graphics event, input, theme, animation and theme
|
This is a graphics event, input, theme, animation and theme
|
||||||
abstraction library used to place many UI/UX elements into data files
|
abstraction library used to place many UI/UX elements into data files
|
||||||
|
@ -222,11 +189,9 @@ data files managed by Eet). These "edj" files are fully portable and
|
||||||
can work on any OS/Architecture just like a JPEG or PNG might be
|
can work on any OS/Architecture just like a JPEG or PNG might be
|
||||||
portable.
|
portable.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Eet:**
|
**Eet:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library is a data storage, encoding and decoding library
|
This library is a data storage, encoding and decoding library
|
||||||
designed to be extremely compact, fast and easy to use. It can take
|
designed to be extremely compact, fast and easy to use. It can take
|
||||||
|
@ -241,29 +206,23 @@ Terminology. It supports encryption of data too via SSL, signing of
|
||||||
files, as well as various compression techniques. It also supports
|
files, as well as various compression techniques. It also supports
|
||||||
encoding and decoding of image data in lossless or lossy form.
|
encoding and decoding of image data in lossless or lossy form.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Eeze:**
|
**Eeze:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library acts as an abstraction to discovering hardware interfaces
|
This library acts as an abstraction to discovering hardware interfaces
|
||||||
for sensors as well as removable media and much more.
|
for sensors as well as removable media and much more.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**EFL:**
|
**EFL:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is just some core common header data like a common version number
|
This is just some core common header data like a common version number
|
||||||
for EFL and how to expose the EO API.
|
for EFL and how to expose the EO API.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Efreet:**
|
**Efreet:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library provides code for handling Freedesktop.org standards such
|
This library provides code for handling Freedesktop.org standards such
|
||||||
as .desktop files, XDG Menus, Icon search paths and more. It provides
|
as .desktop files, XDG Menus, Icon search paths and more. It provides
|
||||||
|
@ -271,11 +230,9 @@ a central daemon to handle monitoring for changes that the library
|
||||||
talks to, and the daemon handles updating local cache files the
|
talks to, and the daemon handles updating local cache files the
|
||||||
library reads.
|
library reads.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Eina:**
|
**Eina:**
|
||||||
|
|
||||||
//LGPL v2 license//
|
*LGPL v2 license*
|
||||||
|
|
||||||
This library provides low-level routines for common things like linked
|
This library provides low-level routines for common things like linked
|
||||||
lists, hash tables, growable arrays, basic string buffers, shared
|
lists, hash tables, growable arrays, basic string buffers, shared
|
||||||
|
@ -284,29 +241,23 @@ memory pools, copy-on-write segments, iterators, matrices, general
|
||||||
data models, red/black trees, quad-trees, a simple SAX XML parser and
|
data models, red/black trees, quad-trees, a simple SAX XML parser and
|
||||||
more.
|
more.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**EIO:**
|
**EIO:**
|
||||||
|
|
||||||
//LGPL v2 license//
|
*LGPL v2 license*
|
||||||
|
|
||||||
This is an asynchronous I/O library for doing disk I/O without blocking.
|
This is an asynchronous I/O library for doing disk I/O without blocking.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**ElDBus:**
|
**ElDBus:**
|
||||||
|
|
||||||
//LGPL v2 license//
|
*LGPL v2 license*
|
||||||
|
|
||||||
This is a DBus access library to allow you to create DBus services as
|
This is a DBus access library to allow you to create DBus services as
|
||||||
well as clients. This glues in DBus into the main-loop so all access is
|
well as clients. This glues in DBus into the main-loop so all access is
|
||||||
asynchronous.
|
asynchronous.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Embryo:**
|
**Embryo:**
|
||||||
|
|
||||||
//Small license (same as ZLib license)//
|
*Small license (same as ZLib license)*
|
||||||
|
|
||||||
This is a small C-like language compiler and byte-code interpreter
|
This is a small C-like language compiler and byte-code interpreter
|
||||||
library. This is used for scripting in Edje. The code is based on
|
library. This is used for scripting in Edje. The code is based on
|
||||||
|
@ -314,11 +265,9 @@ original source from the Pawn/Small Language but has been made
|
||||||
portable (endianness issues fixed) and 64bit issues fixed, with the
|
portable (endianness issues fixed) and 64bit issues fixed, with the
|
||||||
runtime library being refactored to be extremely small.
|
runtime library being refactored to be extremely small.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Emotion:**
|
**Emotion:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is a wrapper around Gstreamer 1.x pluggable decoder libraries
|
This is a wrapper around Gstreamer 1.x pluggable decoder libraries
|
||||||
This glues in the decoder library, and its output into a smart Evas object
|
This glues in the decoder library, and its output into a smart Evas object
|
||||||
|
@ -326,11 +275,9 @@ that will display the playback for you as the video plays, as well as
|
||||||
providing higher level controls to seek, play, pause and query the stream
|
providing higher level controls to seek, play, pause and query the stream
|
||||||
regardless of the back-end used.
|
regardless of the back-end used.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**EO:**
|
**EO:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is a core object system API that EFL 1.8 and on depend on. The
|
This is a core object system API that EFL 1.8 and on depend on. The
|
||||||
API is not finalized, so do not depend on it yet in EFL 1.8, but
|
API is not finalized, so do not depend on it yet in EFL 1.8, but
|
||||||
|
@ -341,43 +288,35 @@ strong and weak references, auto-deletion of child objects, unifies
|
||||||
callback handling with a single path, and also abstracts object
|
callback handling with a single path, and also abstracts object
|
||||||
pointers to be indirect table lookups for increased safety at runtime.
|
pointers to be indirect table lookups for increased safety at runtime.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**EPhysics:**
|
**EPhysics:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library provides a wrapper around the Bullet physics library,
|
This library provides a wrapper around the Bullet physics library,
|
||||||
allowing for it to be linked directly with Evas objects and control
|
allowing for it to be linked directly with Evas objects and control
|
||||||
their behavior as if they were real physical objects. This is now
|
their behavior as if they were real physical objects. This is now
|
||||||
disabled by default as it's rarely if ever used by anything.
|
disabled by default as it's rarely if ever used by anything.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ethumb:**
|
**Ethumb:**
|
||||||
|
|
||||||
//LGPL v2 license//
|
*LGPL v2 license*
|
||||||
|
|
||||||
This library provides core API for a thumbnailing daemon as well as
|
This library provides core API for a thumbnailing daemon as well as
|
||||||
the thumbnail daemon itself. Ethumb Client talks with Ethumb to pass
|
the thumbnail daemon itself. Ethumb Client talks with Ethumb to pass
|
||||||
off thumbnail generation to a central location to be done
|
off thumbnail generation to a central location to be done
|
||||||
asynchronously.
|
asynchronously.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Ethumb Client:**
|
**Ethumb Client:**
|
||||||
|
|
||||||
//LGPL v2 license//
|
*LGPL v2 license*
|
||||||
|
|
||||||
This is the client-side part of Ethumb that provides an API for
|
This is the client-side part of Ethumb that provides an API for
|
||||||
clients to request the Ethumb thumbnailer to generate or find cached
|
clients to request the Ethumb thumbnailer to generate or find cached
|
||||||
thumbnails of files.
|
thumbnails of files.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Evas:**
|
**Evas:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This is the core rendering and scene graph abstraction library for
|
This is the core rendering and scene graph abstraction library for
|
||||||
EFL. It manages a stateful 2D scene graph that defines the entire
|
EFL. It manages a stateful 2D scene graph that defines the entire
|
||||||
|
@ -386,120 +325,103 @@ display systems like X11, Windows, Wayland, Frame-buffer etc. and via
|
||||||
many rendering APIs like OpenGL, OpenGL-ES 2, and pure software
|
many rendering APIs like OpenGL, OpenGL-ES 2, and pure software
|
||||||
implementations that are fast and accurate.
|
implementations that are fast and accurate.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Evil:**
|
**Evil:**
|
||||||
|
|
||||||
//BSD 2-Clause license//
|
*BSD 2-Clause license*
|
||||||
|
|
||||||
This library acts as a porting library for Windows to provide missing
|
This library acts as a porting library for Windows to provide missing
|
||||||
libc calls not in Mingw32 that EFL needs. It is used internally and
|
libc calls not in Mingw32 that EFL needs. It is used internally and
|
||||||
no symbol is public.
|
no symbol is public.
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
**Heif:**
|
## Requirements
|
||||||
|
|
||||||
//LGPL v3 license//
|
|
||||||
|
|
||||||
The license doesnt affect efl or apps using efl, but gpl3 or lgpl3
|
|
||||||
affects the entire os requiring any gpl/lgpl3 component be
|
|
||||||
user-replacable.
|
|
||||||
The end user must be able to modify the libheif code and still be
|
|
||||||
able to use the efl.
|
|
||||||
|
|
||||||
|
|
||||||
COMPILING AND INSTALLING
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
For sample configuration options please look in the ./confs/ directory
|
|
||||||
for scripts that pass in commonly used options.
|
|
||||||
|
|
||||||
See the INSTALL file: https://git.enlightenment.org/core/efl.git/tree/INSTALL
|
|
||||||
|
|
||||||
|
|
||||||
REQUIREMENTS
|
|
||||||
------------
|
|
||||||
|
|
||||||
EFL requires a C and C++ compiler by default. C++ exists mostly to interface
|
EFL requires a C and C++ compiler by default. C++ exists mostly to interface
|
||||||
to C++ libraries like Bullet and our C++ bindings.
|
to C++ libraries like Bullet and our C++ bindings.
|
||||||
|
|
||||||
Required by default:
|
Required by default:
|
||||||
|
|
||||||
* libpng
|
* libpng
|
||||||
* libjpeg
|
* libjpeg
|
||||||
* openjpeg2
|
* openjpeg2
|
||||||
* gstreamer (Ensure all codecs you want are installed.)
|
* gstreamer (Ensure all codecs you want are installed.)
|
||||||
* zlib
|
* zlib
|
||||||
* luajit (lua 5.1 or 5.2 support optional)
|
* luajit (lua 5.1 or 5.2 support optional)
|
||||||
* libtiff
|
* libtiff
|
||||||
* openssl
|
* openssl
|
||||||
* curl
|
* curl
|
||||||
* dbus
|
* dbus
|
||||||
* libc
|
* libc
|
||||||
* fontconfig
|
* fontconfig
|
||||||
* freetype2
|
* freetype2
|
||||||
* fribidi
|
* fribidi
|
||||||
* harfbuzz
|
* harfbuzz
|
||||||
* libpulse
|
* libpulse
|
||||||
* libsndfile
|
* libsndfile
|
||||||
* libx11
|
* libx11
|
||||||
* libxau
|
* libxau
|
||||||
* libxcomposite
|
* libxcomposite
|
||||||
* libxdamage
|
* libxdamage
|
||||||
* libxdmcp
|
* libxdmcp
|
||||||
* libxext
|
* libxext
|
||||||
* libxfixes
|
* libxfixes
|
||||||
* libxinerama
|
* libxinerama
|
||||||
* libxrandr
|
* libxrandr
|
||||||
* libxrender
|
* libxrender
|
||||||
* libxss
|
* libxss
|
||||||
* libxtst
|
* libxtst
|
||||||
* libxcursor
|
* libxcursor
|
||||||
* libxi (2.2 or newer)
|
* libxi (2.2 or newer)
|
||||||
* opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl. full opengl only on osx - must be explicitly specified to be full to have support)
|
* opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl. full opengl only on osx - must be explicitly specified to be full to have support)
|
||||||
* giflib/libgif
|
* giflib/libgif
|
||||||
* util-linux (limbount + libblkid)
|
* util-linux (limbount + libblkid)
|
||||||
* systemd / libudev
|
* systemd / libudev
|
||||||
* poppler / poppler-cpp
|
* poppler / poppler-cpp
|
||||||
* libraw
|
* libraw
|
||||||
* libspectre
|
* libspectre
|
||||||
* librsvg
|
* librsvg
|
||||||
* openmp (clang needs libomp, while gcc uses libgomp)
|
* openmp (clang needs libomp, while gcc uses libgomp)
|
||||||
* libwebp
|
* libwebp
|
||||||
|
|
||||||
Wayland support:
|
|
||||||
|
### Wayland support
|
||||||
|
|
||||||
You may also want wayland support when on Linux. This enables support
|
You may also want wayland support when on Linux. This enables support
|
||||||
for EFL to trget wayland support for client applications. To do this
|
for EFL to trget wayland support for client applications. To do this
|
||||||
supply:
|
supply:
|
||||||
|
``` sh
|
||||||
|
-Dwl=true
|
||||||
|
```
|
||||||
|
|
||||||
-Dwl=true
|
### Framebuffer support
|
||||||
|
|
||||||
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
|
For more modern framebuffer support you may want drm/kms rendering
|
||||||
support so enable this. This is what you also want for wayland
|
support so enable this. This is what you also want for wayland
|
||||||
compositor support in enlightenment as it will want to be able to
|
compositor support in enlightenment as it will want to be able to
|
||||||
render to a moder framebuffer tarbet with atomic buffer swapping. To
|
render to a moder framebuffer tarbet with atomic buffer swapping. To
|
||||||
do this provide:
|
do this provide:
|
||||||
|
``` sh
|
||||||
|
-Ddrm=true
|
||||||
|
```
|
||||||
|
|
||||||
-Ddrm=true
|
Legacy fbcon support also exist6s, but yuou probably no longer want to
|
||||||
|
use this as it is not maintained anymore. 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:
|
||||||
|
``` sh
|
||||||
|
-Dfb=true
|
||||||
|
```
|
||||||
|
|
||||||
You may want to change the install prefix for EFL with:
|
You may want to change the install prefix for EFL with:
|
||||||
|
``` sh
|
||||||
--prefix=/path/to/prefix
|
--prefix=/path/to/prefix
|
||||||
|
```
|
||||||
|
|
||||||
The default prefix if not given is "/usr/local". Many people like to
|
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.
|
use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.
|
||||||
|
|
||||||
COMPILER FLAGS
|
### Compiler flags
|
||||||
--------------
|
|
||||||
|
|
||||||
You can affect compilation optimization, debugging and other factors
|
You can affect compilation optimization, debugging and other factors
|
||||||
by setting your CFLAGS environment variable (and CXXFLAGS). Be aware
|
by setting your CFLAGS environment variable (and CXXFLAGS). Be aware
|
||||||
|
@ -518,12 +440,108 @@ have been carefully considered to provide full functionality so users
|
||||||
will not be missing anything.
|
will not be missing anything.
|
||||||
|
|
||||||
|
|
||||||
CRYPTOGRAPHY
|
### Cryptography
|
||||||
------------
|
|
||||||
|
|
||||||
EFL officially offers openssl or gnutls as cryptography backends. By
|
EFL officially offers openssl or gnutls as cryptography backends. By
|
||||||
default it uses "openssl" to do signature, cipher and related. Alternatively
|
default it uses "openssl" to do signature, cipher and related. Alternatively
|
||||||
one can use "gnutls" (some distros are strict about licenses and want gnutls
|
one can use "gnutls" (some distros are strict about licenses and want gnutls
|
||||||
instead of openssl) You can switch to gnutls with:
|
instead of openssl) You can switch to gnutls with:
|
||||||
|
``` sh
|
||||||
|
-Dcrypto=gnutls
|
||||||
|
```
|
||||||
|
|
||||||
-Dcrypto=gnutls
|
-----
|
||||||
|
|
||||||
|
## Compiling and Installing
|
||||||
|
|
||||||
|
Meson is the build system used for this project. For more information
|
||||||
|
please see [mesonbuild.com](https://mesonbuild.com)
|
||||||
|
|
||||||
|
You will need normal build tooling installed such as a compiler (gcc
|
||||||
|
or clang for example), pkg-config, ninja, any relevant package-dev or
|
||||||
|
package-devel packages if your distribution splits out development
|
||||||
|
headers (e.g. libc6-dev) etc.
|
||||||
|
|
||||||
|
Depending on where dependencies (like efl) are installed, you might have to
|
||||||
|
set your `PKG_CONFIG_PATH` environment variable like:
|
||||||
|
```sh
|
||||||
|
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
Also note that some distributions like to add extra arch directories
|
||||||
|
to your library locations so you might have to have more like:
|
||||||
|
```sh
|
||||||
|
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
You will need to enusre that the destination library directory (e.g.
|
||||||
|
`/usr/local/lib` is in your /etc/ld.so.conf or /etc/ld.so.conf.d/
|
||||||
|
files and after insgtaling anything that installes libraries you
|
||||||
|
re-run `ldconfig`. Please see relevant documentation on ldconfig and
|
||||||
|
ld.so.conf for your distribution.
|
||||||
|
|
||||||
|
You might also want to add the destination bin dir to your environment
|
||||||
|
variable PATH (see documentation on your shell PATH variable) such as:
|
||||||
|
```sh
|
||||||
|
export PATH=/usr/local/bin:/usr/bin:/bin
|
||||||
|
```
|
||||||
|
|
||||||
|
Normal compilation in /usr/local:
|
||||||
|
```sh
|
||||||
|
meson . build
|
||||||
|
ninja -C build
|
||||||
|
sudo ninja -C build install
|
||||||
|
```
|
||||||
|
|
||||||
|
For meson build generic options:
|
||||||
|
```sh
|
||||||
|
meson --help
|
||||||
|
```
|
||||||
|
|
||||||
|
For a list of project specific options supported:
|
||||||
|
```sh
|
||||||
|
cat meson_options.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
To set 1 or more project specific options:
|
||||||
|
```sh
|
||||||
|
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
|
||||||
|
```
|
||||||
|
|
||||||
|
To display current configuration:
|
||||||
|
```sh
|
||||||
|
meson configure build
|
||||||
|
```
|
||||||
|
|
||||||
|
The above will only work after at least the following is done:
|
||||||
|
```sh
|
||||||
|
meson . build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quick build help
|
||||||
|
|
||||||
|
How clean out the build and config and start fresh:
|
||||||
|
```sh
|
||||||
|
rm -rf build
|
||||||
|
```
|
||||||
|
|
||||||
|
How to make a dist tarball and check its build:
|
||||||
|
(must do it from git tree clone and commit all changes to git first)
|
||||||
|
```sh
|
||||||
|
ninja -C build dist
|
||||||
|
```
|
||||||
|
|
||||||
|
How to change prefix:
|
||||||
|
```sh
|
||||||
|
meson --prefix=/path/to/prefix . build
|
||||||
|
```
|
||||||
|
|
||||||
|
How to install in a specific destination directory for packaging:
|
||||||
|
```sh
|
||||||
|
DESTDIR=/path/to/destdir ninja -C build install
|
||||||
|
```
|
||||||
|
|
||||||
|
How to build with verbose output (full commands run):
|
||||||
|
```sh
|
||||||
|
ninja -C build -v
|
||||||
|
```
|
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
Loading…
Reference in New Issue