
Bitte melden Sie Fehler/Probleme unter git.enLightieren.org
EFL ist eine Sammlung von Bibliotheken, um viele gemeinsame Aufgaben zu erledigen, die ein Entwickler wie Datenstrukturen, Kommunikation, Rendering, Widgets und vieles mehr haben kann.
Es gibt viele Komponenten in EFL. Sie erstellen auch verschiedene Dinge wie freigegebene Bibliotheken, ladbare Plug-in-Module und auch binäre ausführbare Ausführungen. Unterschiedliche Elemente werden auch unterschiedlich lizenziert. Im Folgenden finden Sie einen Überblick über die Komponenten, das, was sie tun und deren Lizenzierung.
Alle Bibliotheksquellen befinden sich im SRC/ LIB/ Verzeichnis. Alle Binärdateien sind in SRC/bin/. Alle ladbaren Module befinden sich in SRC/Modulen/. Alle Datendateien befinden sich im Daten/ Verzeichnis. Die Lizenzdetails sind im Kopieren und im Lizenzen/ des Verzeichnisses aufgeführt. Das PC/ Verzeichnis enthält alle installierten Paketkonfigurationsdateien, um Entwicklern beim Erstellen von EFL zu helfen.
Weitere Unterlagen finden Sie unter:
www.enlightsment.org/doc
EFL wird hauptsächlich unter Linux (GNU/Linux) entwickelt und sollte an den meisten Verteilungen funktionieren, solange Abhängigkeiten bereitgestellt werden. Es wurde kompiliert und auch unter Windows ausgeführt (unter Verwendung von MSYS2 + Mingw -W64) - siehe Windows -Dokumente, Mac OS X, FreeBSD und NetBSD.
Ökore:
BSD 2-Klausel-Lizenz
Dies ist die Hauptschleif-, Systemereignisse und Ausführungsschicht. Damit werden die Hauptschleife ausgeführt, die in externen Daten und Zeitquellen (die Systemuhr, Dateideskriptoren, Systemsignale) integriert und eine Ereigniswarteschlange erzeugt, die Warteschlange und Versenden von Ereignissen zu entsprechenden Rückrufen.
Ecore Audio:
BSD 2-Klausel-Lizenz
Diese Bibliothek bietet eine API für Audio -Wiedergabe und -aufnahme. Es verwendet Pulse Audio darunter, um Mischung und Richtlinien zu behandeln. Die API dafür sollte momentan nicht als stabil angesehen werden, da sie auf EO stützt und EO noch nicht als endgültig angesehen wird.
Ecore Cocoa:
BSD 2-Klausel-Lizenz
Dies bietet Wrapper/Abstraktionen rund um die Max OS-X-Kakao-APIs, um die Mac-Portierung zu unterstützen.
ECORE CON:
BSD 2-Klausel-Lizenz
Dies bietet eine vollständig ereignisbasierte TCP/UDP- und UNIX-Domänen-Socket-API, die sich in die Hauptschleife integriert. Dies bedeutet, dass keine Blockierung zum Senden oder Empfangen von Daten "unendliche Send -Puffer" unterstützt wird, wobei Speicher und Spooling von Ecore Con durchgeführt werden. Es unterstützt auch die SSL-Verschlüsselung transparent ein und nicht auf dieselbe Verbindung, Zertifikatüberprüfung, Curl-Verpackung für HTTP-Verbindungsnutzung (GET, Beiträge usw.), asynchrone DNS-Such-Such-Such-Lookups und bietet auch die Möglichkeit, auch ein Server, nicht nur ein Client, mit derselben ereignisbasierten API zu sein.
Ecore Evas:
BSD 2-Klausel-Lizenz
Dies wirkt als Kleber zwischen dem Displayziel (X11, Wayland, Rahmenpuffer, Kakao auf OSX, Win32 usw.) und EVAs. Es erstellt/liefert ein Ziel für EVAs, um (ein Fenster oder eine Oberfläche usw.) zu rendern und Eingabeereignisse (Tastatur, Maus, Multi-Touch) in EVAs zu füttern, die dann das Zielobjekt ausgewählt und die Rückrufe aufruft. Es liefert auch Wrapper/Kleber zum Manipulieren des Fensters/der Oberfläche.
ECORE FB:
BSD 2-Klausel-Lizenz
Dies bietet eine virtuelle Anschlusszuweisung, Zugriff und Handhabung, Rahmenpufferinformationen und RAW -Eingangsbehandlung für Tastatur, Maus und Berührung (über TSLIB).
ECORE -Datei:
BSD 2-Klausel-Lizenz
Dies bietet Dateizugriffs -Convenience -APIs für einfache Dateioperationen wie Umbenennen, Kopien, Auflistungsverzeichnisse und mehr. Es unterstützt auch die Überwachung und URL -Downloads von Dateiänderungen.
ECORE IWF:
BSD 2-Klausel-Lizenz
Dies ist ein Abstraktions -Framework für Eingabemethoden, mit dem EFL mit Dingen wie SCIM, IBUS, Wayland und XIM sprechen kann. Dies ermöglicht einen komplexen Texteintrag in Sprachen wie Chinesisch, Japanisch und Koreanisch.
ECORE IMF EVAS:
BSD 2-Klausel-Lizenz
Diese Bibliotheksklinik -Eingangsmethode unterstützt zusammen ECORE IWF und EVAs zusammen.
ECORE -Eingabe:
BSD 2-Klausel-Lizenz
Dies fungiert als generische Eingangsschicht, bei der mehrere Anzeigesysteme Ereignisse im selben Format für die Ereigniswarteschlange veröffentlichen können.
ECORE Eingabe evas:
BSD 2-Klausel-Lizenz
Dies leitet Ereignisse von Ecore -Eingaben in eine bestimmte Evas -Leinwand, die das Ereignis dann weiter an das Zielobjekt und die Rückrufe weiterleitet.
ECORE IPC:
BSD 2-Klausel-Lizenz
Dies fungiert als Ebene über Ecore Con, die ganze IPC -Nachrichtenpakete, die Komprimierung und Portabilität von Header Delta behandelt und sicherstellt, dass eine gesamte Nachricht in einem GO als einzelne IPC -Nachricht empfangen wird, unabhängig von der Nutzlastdatengröße. Die gesamte API basiert fast genau wie Ecore Con und unterstützt daher alle Transportschichten Ecore Con -Unterstützung.
ECORE SDL:
BSD 2-Klausel-Lizenz
Dies fungiert als Wrapper/Kleber um SDL, um SDL-Fenster zu verarbeiten sowie Ereignisse von SDL einzugeben und sie an die Ecore Main-Loop- und Event-Warteschlange zu binden.
Ecore Wayland:
BSD 2-Klausel-Lizenz
Dies ist eine Kleber-/Wrapper-Bibliothek, die EFL zu Wayland-Bibliotheken übergibt, um sie in die Ecore Main-Loop- und Event-Warteschlange zu binden.
Ecore Win32:
BSD 2-Klausel-Lizenz
Dies fungiert als Kleber/Wrapper um Windows Win32-APIs, um sie in die Ecore Main-Loop- und Event-Warteschlange zu binden.
ECORE X:
BSD 2-Klausel-Lizenz
Dies ist eine Bibliothek, in der er mit XLIB mit X11 weniger schmerzhaft und weniger Fußarbeit umwickelt und klebrig ist, um diese in die Ecore Main-Loop- und Event-Warteschlange zu binden.
Edje:
BSD 2-Klausel-Lizenz (mit Ausnahme der EPP-Binary, die GPLV2 ist)
Dies ist ein Grafikereignis, Eingabe, Thema, Animations- und Themenabstraktionsbibliothek, mit dem viele UI/UX -Elemente in Datendateien (genannte EDJ -Dateien) verwendet werden, die definieren, wie auf eingehende Ereignisse/Signale reagiert und Animationszeitlinien, Zustände, relatives skalierbares Layout und vieles mehr definiert werden. Es wird mit einem Compiler geliefert, der Source "EDC" -Dateien in "EDJ" -Dateien kompiliert (die eigentlich nur Datendateien sind, die vom EET verwaltet werden). Diese "EDJ" -Dateien sind vollständig tragbar und können in jedem Betriebssystem/jeder Architektur wie ein JPEG oder PNG tragbar sein.
Osteuropäische Zeit, elektronischer Energietransfer, voraussichtliche Flugdauer:
BSD 2-Klausel-Lizenz
Diese Bibliothek ist eine Datenspeicher-, Codierungs- und Dekodierungsbibliothek, die extrem kompakt, schnell und einfach zu bedienen ist. Es kann Datenstrukturen direkt aus dem Speicher entnommen und sie serialisieren, um sie auf die Festplatte zu versorgen, und sie dann direkt zu denselben Datenstrukturen im Speicher und zur Bearbeitung der Zuweisung und der Bevölkerung des Speichers für Sie in 1 Aufruf zurückkehren. Es behandelt Indirektionen wie Zeiger, verknüpfte Listen, Arrays und Hash -Tabellen, sodass nahezu jede Ebene der Datenstrukturkomplexität leicht gespeichert und zurückgeladen werden kann. Es wird für "EDJ" -Dateien von Edje sowie für die gesamte Konfiguration in Aufklärung, Elementar und Terminologie verwendet. Es unterstützt auch die Verschlüsselung von Daten über SSL, die Unterzeichnung von Dateien sowie verschiedene Komprimierungstechniken. Es unterstützt auch die Codierung und Dekodierung von Bilddaten in verlustfreier oder verlustiger Form.
Eeze:
BSD 2-Klausel-Lizenz
Diese Bibliothek fungiert als Abstraktion für die Entdeckung von Hardware -Schnittstellen für Sensoren sowie abnehmbare Medien und vieles mehr.
EFL:
BSD 2-Klausel-Lizenz
Dies sind nur einige COR -Daten für die gemeinsamen Header wie eine gemeinsame Versionsnummer für EFL und wie die EO -API freigelegt werden.
Efreet:
BSD 2-Klausel-Lizenz
Diese Bibliothek enthält Code für die Behandlung von Freedesktop.org -Standards wie .Desktop -Dateien, XDG -Menüs, Symbol -Suchpfade und mehr. Es bietet einen zentralen Daemon, um die Überwachung für Änderungen zu verarbeiten, mit denen die Bibliothek spricht, und der Daemon wird verarbeitet, um lokale Cache -Dateien zu aktualisieren, die die Bibliothek liest.
Eina:
LGPL V2 Lizenz
Diese Bibliothek bietet Routinen mit niedrigem Niveau für gemeinsame Dinge wie verknüpfte Listen, Hash-Tabellen, wachsbare Arrays, grundlegende String-Puffer, gemeinsame String-Token, MMAPED () Dateizugriff, Thread-Abstraktion und Sperren, Speicherpools, Kopie-auf-Schrei-Segmente, Iteratoren, Matrizen, allgemeine Datenmodelle, rote/schwarze Tree, Quad-Trees, ein einfaches SAX-XML-Par und mehr.
EIO:
LGPL V2 Lizenz
Dies ist eine asynchrone E/A -Bibliothek für die Scheibe -E/A ohne Blockierung.
Eldbus:
LGPL V2 Lizenz
Dies ist eine DBUs Access -Bibliothek, mit der Sie sowohl DBUS -Dienste als auch Kunden erstellen können. Dieser Klebstoff in DBUs in die Hauptschleife, sodass der gesamte Zugang asynchron ist.
Embryo:
Kleine Lizenz (gleich wie ZLIB -Lizenz)
Dies ist ein kleiner C-ähnlicher Sprach Compiler und Byte-Code-Interpreter-Bibliothek. Dies wird zum Scripting in Edje verwendet. Der Code basiert auf der ursprünglichen Quelle aus der Bauer/Kleinsprache, wurde jedoch tragbar (Endiangess -Probleme festgelegt) und 64 -Bit -Probleme behoben, wobei die Laufzeitbibliothek als extrem gering ist.
Emotion:
BSD 2-Klausel-Lizenz
Dies ist ein Wrapper um GStreamer 1.x-Stecker-Decoder-Bibliotheken. Diese Klebstoff in der Decoder-Bibliothek und die Ausgabe in ein intelligentes EVAS-Objekt, das die Wiedergabe für Sie als das Video zeigt, und die Steuerung auf höherer Ebene zur Suche, Spielen, Pause und Abfragen des Streams unabhängig vom verwendeten Back-End.
EO:
BSD 2-Klausel-Lizenz
Dies ist eine Core -Objektsystem -API, die EFL 1.8 und von davon abhängig ist. Die API ist nicht fertiggestellt, hängt also in EFL 1.8 noch nicht davon ab, aber zukünftige EFL -Versionen werden sie abschließen.
Dieses Objektsystem macht einfache und multiple Vererbung, Refocting, starke und schwache Referenzen, automatisches Duch von untergeordneten Objekten, vereint die Handhabung des Rückrufs mit einem einzigen Pfad und auch Abstracts Objektzeiger als indirekte Tisch-Lookups für eine erhöhte Sicherheit in der Laufzeit.
Ephysik:
BSD 2-Klausel-Lizenz
Diese Bibliothek bietet einen Wrapper in der Bullet Physics Library, sodass sie direkt mit EVAS -Objekten verbunden und ihr Verhalten steuern, als wären sie echte physische Objekte. Dies ist jetzt standardmäßig deaktiviert, da es selten, wenn jemals von irgendetwas verwendet wird.
Ethumb:
LGPL V2 Lizenz
Diese Bibliothek bietet eine Kern -API für einen Miniaturanlagen sowie den Miniatur -Daemon selbst. Der Ethumb -Kunde spricht mit Ethumb, um die Miniaturansicht Generation an einen zentralen Ort zu übergeben, um asynchron zu erfolgen.
Ethumb -Kunde:
LGPL V2 Lizenz
Dies ist der kundenseitige Teil von Ethumb, der den Kunden eine API zur Verfügung stellt, um den Ethumb Thumbnailer aufzufordern, vorhandene Miniaturansichten von Dateien zu generieren oder zu finden.
Evas:
BSD 2-Klausel-Lizenz
Dies ist die Abstraktbibliothek für Rendering und Szenengrafik für EFL. Es verwaltet ein staatliches 2D -Szene -Diagramm, in dem der gesamte Inhalt einer Leinwand definiert wird. Dies versorgt für viele Displaysysteme wie X11, Windows, Wayland, Frame-Puffer usw. und über viele Rendering-APIs wie OpenGL, OpenGL-ES 2 und reine Software-Implementierungen, die schnell und genau sind.
Teuflisch:
BSD 2-Klausel-Lizenz
Diese Bibliothek fungiert als Portierungsbibliothek für Windows, um fehlende LIBC -Aufrufe in Mingw32 anzugeben, die EFL benötigt. Es wird intern verwendet und kein Symbol ist öffentlich.
EFL benötigt standardmäßig einen C- und C ++ - Compiler. C ++ existiert hauptsächlich zur Schnittstelle zu C ++ - Bibliotheken wie Bullet und unseren C ++ - Bindungen.
Standardmäßig erforderlich:
Möglicherweise möchten Sie auch Wayland -Unterstützung bei Linux. Dies ermöglicht die Unterstützung von EFL, um Wayland -Unterstützung für Client -Anwendungen zu zielen. Um diese Versorgung zu machen:
-Dwl=trueFür die modernere FrameBuffer -Unterstützung möchten Sie möglicherweise DRM/KMS -Unterstützung durchführen. Aktivieren Sie dies. Dies ist es, was Sie auch für die Unterstützung von Wayland Compositor bei der Aufklärung wünschen, da es in der Lage sein möchte, ein modernes Framebuffer -Ziel mit Atompuffertausch zu rendern. Um dies zu tun, sorgen für:
-Ddrm=trueLegacy FBCON -Unterstützung existiert auch, aber Sie möchten dies wahrscheinlich nicht mehr verwenden, da sie nicht mehr aufrechterhalten wird. Dies unterstützt grundlegende Frame-Puffer wie /Dev /FB sowie Eingabe über /dev /Eingabe für Tastaturen und Mäuse auf grundlegende Weise. Aktivieren Sie dies mit:
-Dfb=trueMöglicherweise möchten Sie das Installationspräfix für EFL mit:
--prefix=/path/to/prefixDas Standardpräfix ist "/usr/local". Viele Leute verwenden gerne Präfixe wie/opt/e oder/opt/efl oder/home/userername/software usw. usw.
Sie können die Kompilierungsoptimierung, Debugging und andere Faktoren beeinflussen, indem Sie Ihre CFLAGS -Umgebungsvariable (und CXXFLAGS ) festlegen. Beachten Sie, dass Sie die gleichen CFLAGS / CXXFLAGS für den gesamten Build von EFL und alle Anwendungen / Bibliotheken, die von ihnen abhängen, genau dieselben CFLAGs / CXXFLAGs verwenden sollten.
Es gibt viele andere Konfigurationsoptionen, die verwendet werden können. Im Allgemeinen ist es jedoch keine gute Idee, Dinge zu aktivieren oder zu deaktivieren, es sei denn, Sie möchten Dinge brechen. Die Standardeinstellungen sind gut getestet, wobei die oben genannten empfohlenen Optionen ebenfalls gut getestet werden. Gehen Sie viel weiter und Ihre Kilometerleistung kann wild variieren. Das Deaktivieren von Funktionen ist ein guter Weg, um die EFL -Funktionalität zu brechen. Es wird daher nicht empfohlen, sich mit diesen zu beschäftigen, ohne die Auswirkungen zu verstehen. Die Standardeinstellungen wurden sorgfältig in Betracht gezogen, um die volle Funktionalität bereitzustellen, sodass Benutzer nichts fehlen.
Meson ist das für dieses Projekt verwendete Build -System. Weitere Informationen finden Sie unter mesonbuild.com
Sie benötigen eine normale Build-Toolierung, z. B. einen Compiler (z.
Abhängig von der Abhängigkeit müssen Sie möglicherweise Ihre Umgebungsvariable PKG_CONFIG_PATH wie folgt festlegen:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfigBeachten Sie auch, dass einige Verteilungen gerne zusätzliche Bogenverzeichnisse zu Ihren Bibliotheksstandorten hinzufügen, damit Sie möglicherweise mehr wie folgt:
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 Sie müssen sicherstellen, dass das Destination Library-Verzeichnis (z. B. /usr/local/lib in Ihrem /etc/ld.so.conf oder /etc/ld.so.conf.d/-Dateien und nach der Installation von Bibliotheken, die Sie erneut ldconfig installiert haben
Möglicherweise möchten Sie auch das Destination Bin Dir zu Ihrem Umgebungsvariablenpfad hinzufügen (siehe Dokumentation auf Ihrer Shell -Pfadvariablen), wie z. B.:
export PATH=/usr/local/bin:/usr/bin:/binNormale Zusammenstellung in /usr /lokal:
meson . build
ninja -C build
sudo ninja -C build installFür Meson erstellen Sie generische Optionen:
meson --helpFür eine Liste der unterstützten projektspezifischen Optionen:
cat meson_options.txtSo setzen Sie 1 oder mehr projektspezifische Optionen:
meson --prefix=/path/to -Doption=value [-Dother = value2] [...] . buildSo zeigen Sie die aktuelle Konfiguration an:
meson configure buildDas obige funktioniert erst, nachdem mindestens die folgenden Folgen erfolgt:
meson . buildSo reinigen Sie den Build und die Konfiguration und starten Sie frisch:
rm -rf buildWie man einen Distarball macht und seinen Aufbau überprüft: (muss es von Git Tree Clone tun und alle Änderungen an Git zuerst verpflichten)
ninja -C build distSo ändern Sie das Präfix:
meson --prefix=/path/to/prefix . buildSo installieren Sie in einem bestimmten Zielverzeichnis für Verpackungen:
DESTDIR=/path/to/destdir ninja -C build installSo erstellen Sie mit ausführlicher Ausgabe (vollständige Befehle ausgeführt):
ninja -C build -vHinweis: Nvidia OpenGL-ES/EGL scheint Fehler und Leistungsprobleme zu haben. Alle anderen Fahrer funktionieren gut mit Ausnahme von Nvidia mit OpenGL-ES/EGL. Benutzer haben Stottern und grafische Störungen und manchmal nicht aktualisiert. Wenn Sie die besten Ergebnisse wünschen und auf Nvidia festhalten und dies nicht ändern können, dann:
-Dwl=false dass Sie Wayland nicht aktivieren.-Ddrm=false nicht aktivieren (dies ist ohnehin, wenn nicht angegeben).-Dopengl=full