
يرجى الإبلاغ عن الأخطاء/القضايا في git.enlightenment.org
EFL هي مجموعة من المكتبات للتعامل مع العديد من المهام الشائعة التي قد يكون للمطور مثل هياكل البيانات والاتصالات والعرض والعناصر واجهة المستخدم والمزيد.
هناك العديد من المكونات داخل EFL. كما يقومون ببناء أشياء مختلفة مثل المكتبات المشتركة ووحدات المكونات الإضافية القابلة للتحميل وأيضًا المناظر التنفيذية الثنائية. ستنتهي العناصر المختلفة إلى أن تكون مرخصة بشكل مختلف أيضًا. فيما يلي مجموعة من المكونات ، ما يفعلونه وترخيصهم.
جميع مصدر المكتبة في SRC/ LIB/ الدليل. جميع الثنائيات في src/bin/. جميع الوحدات النمطية القابلة للتحميل في SRC/الوحدات النمطية/. جميع ملفات البيانات موجودة في البيانات/ الدليل. يتم سرد تفاصيل الترخيص في النسخ والتراخيص/ الدليل. يحتفظ الكمبيوتر/ الدليل بجميع ملفات تكوين الحزمة المثبتة لمساعدة المطورين على بناء ضد EFL.
لمزيد من الوثائق ، يرجى الاطلاع على:
www.enlightenment.org/doc
تم تطوير EFL بشكل أساسي على Linux (GNU/Linux) ويجب أن تعمل على معظم التوزيعات طالما تم توفير التبعيات. تم تجميعه وتشغيله أيضًا على Windows (باستخدام Msys2 + Mingw -W64) - يرجى الاطلاع على مستندات Windows و Mac OS X و FreeBSD و NetBsD.
Ecore:
BSD 2 -AUSE LICENT
هذا هو الحلقة الرئيسية الأساسية ، أحداث النظام وطبقة التنفيذ. هذا يتعامل مع تشغيل الحلقة الرئيسية ، والتكامل مع البيانات الخارجية ومصادر التوقيت (ساعة النظام ، وواصفات الملفات ، وإشارات النظام) ، وإنتاج قائمة انتظار حدث ، والمشي في قائمة الانتظار وإرسال الأحداث إلى عوامل الاتصال المناسبة.
صوت ECORE:
BSD 2 -AUSE LICENT
توفر هذه المكتبة واجهة برمجة تطبيقات لتشغيل الصوت والتسجيل. ويستخدم صوت النبض أسفله للتعامل مع الخلط والسياسات. لا ينبغي اعتبار واجهة برمجة التطبيقات لهذا الغرض مستقرة في الوقت الحالي لأنها تعتمد على EO و EO لم يتم الانتهاء منها بعد.
Ecore الكاكاو:
BSD 2 -AUSE LICENT
يوفر هذا الأغلفة/التجريدات حول Max OS-X Cocoa APIs لمساعدة Mac Porting.
ecore con:
BSD 2 -AUSE LICENT
يوفر هذا واجهة برمجة تطبيقات TCP/UDP و UNIX القائمة على الأحداث بالكامل والتي تتكامل مع الحلقة الرئيسية. هذا يعني عدم وجود حظر لإرسال أو استقبال البيانات ، ودعم "Infinite Send Bafers" مع التخزين والتخزين التي يتم تنفيذها بواسطة Ecore Con. كما أنه يدعم تشفير SSL بشكل شفاف أو لا على نفس الاتصال ، والتحقق من الشهادة ، والتفتت حليقة لاستخدام اتصال HTTP (GOTS ، الوظائف وما إلى ذلك) ، بحث DNS غير المتزامن ويوفر القدرة على أن يكون أيضًا خادمًا ، وليس عميلًا ، مع نفس واجهة برمجة التطبيقات القائمة على الأحداث.
Ecore Evas:
BSD 2 -AUSE LICENT
هذا بمثابة الغراء بين هدف العرض (X11 ، Wayland ، Frame Buffer ، Cocoa على OSX ، Win32 إلخ) و EVAS. إنه ينشئ/يوفر هدفًا لـ EVAs لتقديمه إلى (نافذة أو سطح وما إلى ذلك) ويغذي أحداث الإدخال (لوحة المفاتيح ، الماوس ، اللمسات المتعددة) في EVAs ، والتي تحدد بعد ذلك الكائن الهدف ويدعو عمليات الاسترجاعات. كما يوفر الأغلفة/الغراء لمعالجة النافذة/السطح.
Ecore FB:
BSD 2 -AUSE LICENT
يوفر هذا تخصيص الطرفية الظاهرية ، والوصول إليها والتعامل مع معلومات الإطار العازلة ، ومعالجة الإدخال الخام للوحة المفاتيح والماوس واللمس (عبر TSLIB).
ملف ecore:
BSD 2 -AUSE LICENT
يوفر هذا واجهات برمجة تطبيقات وصول ملفات للوصول إلى القيام بعمليات ملفات بسيطة مثل إعادة تسمية ، والنسخ ، ودليل القائمة والمزيد. كما أنه يدعم مراقبة تغيير الملف وتنزيلات URL.
ICORE IMF:
BSD 2 -AUSE LICENT
هذا هو إطار تجريد طريقة الإدخال للسماح لـ EFL بالتحدث إلى أشياء مثل Scim و Ibus و Wayland و Xim. هذا يسمح بإدخال نص معقد بلغات مثل الصينية واليابانية والكورية.
Ecore Imf Evas:
BSD 2 -AUSE LICENT
تدعم طريقة إدخال المكتبة هذه من ECORE ICF و EVAS معًا.
إدخال ECORE:
BSD 2 -AUSE LICENT
هذا بمثابة طبقة إدخال عامة حيث يمكن أن تنشر أنظمة العرض المتعددة الأحداث بنفس التنسيق إلى قائمة انتظار الحدث.
ECORE INPUT EVAS:
BSD 2 -AUSE LICENT
يوجه هذا الأحداث من إدخال ECORE إلى قماش EVAS معين والذي سيقوم بعد ذلك بتوجيه الحدث إلى كائن الوجهة وعمليات الاسترجاعات.
ECORE IPC:
BSD 2 -AUSE LICENT
هذا بمثابة طبقة أعلى من Ecore Con التي تتعامل مع حزم رسائل IPC بأكملها ، والتعامل مع ضغط Delta Header وقابلية الحمل ، وكذلك ضمان استلام رسالة كاملة في واحدة كرسالة IPC واحدة ، بغض النظر عن حجم بيانات الحمولة النافعة. تعتمد API بأكملها على الحدث تمامًا مثل Ecore Con ، وبالتالي فهي تدعم جميع طبقات النقل Ecore Con.
Ecore SDL:
BSD 2 -AUSE LICENT
يعمل هذا بمثابة غلاف/غراء حول SDL للتعامل مع نوافذ SDL بالإضافة إلى أحداث الإدخال من SDL وربطها بحلور الحلق الرئيسي وقائمة انتظار الأحداث.
Ecore Wayland:
BSD 2 -AUSE LICENT
هذه مكتبة غراء/غلاف لتفاعل EFL إلى Wayland Libraries لربطها في حلقة ECORE الرئيسية وقائمة انتظار الأحداث.
Ecore Win32:
BSD 2 -AUSE LICENT
يعمل هذا بمثابة Glue/Wrapper حول واجهات برمجة تطبيقات Windows Win32 لربطها في حلقة ECORE الرئيسية وقائمة انتظار الأحداث.
Ecore X:
BSD 2 -AUSE LICENT
هذه مكتبة للالتفاف/التعامل مع XLIB تجعل التعامل مع X11 أقل إيلامًا وأقل قدمًا ، بالإضافة إلى أن تكون غراء لربطها في حلقة الحلق الرئيسية وقائمة انتظار الأحداث.
إدجي:
ترخيص BSD 2-7 (باستثناء ثنائي EPP وهو GPLV2)
هذا حدث رسومات وإدخال وموضوع ومكتبة للرسوم المتحركة وتجريد السمات المستخدمة لوضع العديد من عناصر واجهة المستخدم/UX في ملفات البيانات (تسمى ملفات EDJ) التي تحدد كيفية الرد على الأحداث/الإشارات الواردة ، وتحديد خطوط وقت الرسوم المتحركة ، واللحالات ، والخطيط النسبي القابل للتطوير وأكثر من ذلك بكثير. يأتي مع برنامج التحويل البرمجي الذي يجمع ملفات المصدر "EDC" إلى ملفات "EDJ" (والتي هي في الواقع مجرد ملفات بيانات تديرها EET). ملفات "EDJ" هذه محمولة بالكامل ويمكن أن تعمل على أي نظام تشغيل/بنية تمامًا مثل JPEG أو PNG قد تكون محمولة.
EET:
BSD 2 -AUSE LICENT
هذه المكتبة عبارة عن مكتبة تخزين وترميز وفك تشفير البيانات مصممة لتكون مضغوطة للغاية وسريعة وسهلة الاستخدام. يمكن أن يأخذ هياكل البيانات مباشرة من الذاكرة وتسلسلها بشكل متسلسل إلى القرص ، ثم إلغاء تخصيصها مباشرة إلى هياكل البيانات نفسها في الذاكرة ، والتعامل مع التخصيص والسكان للذاكرة لك في مكالمة واحدة. إنه يتعامل مع المساكن مثل المؤشرات ، والقوائم المرتبطة ، والصفائف ، وجداول التجزئة أيضًا ، لذلك يمكن حفظ أي مستوى تقريبًا من تعقيد بنية البيانات وتحميله بسهولة. يتم استخدامه لملفات "EDJ" من قبل EDJE وكذلك جميع التكوينات في التنوير ، الابتدائية والمصطلحات. وهو يدعم تشفير البيانات أيضًا عبر SSL ، وتوقيع الملفات ، بالإضافة إلى تقنيات الضغط المختلفة. كما يدعم ترميز وفك تشفير بيانات الصورة في شكل خسائر أو خاسرة.
إيز:
BSD 2 -AUSE LICENT
تعمل هذه المكتبة كتجريد لاكتشاف واجهات الأجهزة لأجهزة الاستشعار وكذلك الوسائط القابلة للإزالة وأكثر من ذلك بكثير.
EFL:
BSD 2 -AUSE LICENT
هذه مجرد بعض بيانات الرأس المشتركة الأساسية مثل رقم الإصدار الشائع لـ EFL وكيفية فضح API EO.
efreet:
BSD 2 -AUSE LICENT
توفر هذه المكتبة رمزًا للتعامل مع معايير freedesktop.org مثل ملفات .desktop ، وقوائم XDG ، ومسارات البحث عن أيقونة وأكثر من ذلك. يوفر خفيًا مركزيًا للتعامل مع المراقبة للتغييرات التي تتحدث عنها المكتبة ، ويتعامل الخفيون مع تحديث ملفات ذاكرة التخزين المؤقت المحلية التي تقرأها المكتبة.
اينا:
ترخيص LGPL V2
توفر هذه المكتبة إجراءات منخفضة المستوى للأشياء الشائعة مثل القوائم المرتبطة ، وجداول التجزئة ، والمصفوفات القابلة للنمو ، ومؤسسات السلسلة الأساسية ، ورموز السلسلة المشتركة ، والوصول إلى الملفات () Mmaped () ، وتجريد مؤشرات الترابط ، وقفل ، وتجمعات الذاكرة ، ونسخ النسخ على المكاتب ، ومصطلحات ، المصفوفات ، نماذج البيانات العامة ، الأشجار المحمر/السوداء ، والأحرف الرباعية ، وهي عبارة عن Sax XM Pars البسيطة والمزيد.
EIO:
ترخيص LGPL V2
هذه مكتبة I/O غير متزامنة للقيام بالقرص I/O دون حظر.
إلدبوس:
ترخيص LGPL V2
هذه مكتبة Access DBUS للسماح لك بإنشاء خدمات DBUS وكذلك العملاء. هذا الصقور في DBUs في الحلقة الرئيسية بحيث يكون كل الوصول غير متزامن.
الجنين:
ترخيص صغير (مثل ترخيص ZLIB)
هذا هو مترجم لغة صغير يشبه C ومكتبة مترجم رمز البايت. يستخدم هذا للبرمجة النصية في Edje. يعتمد الرمز على المصدر الأصلي من اللغة/اللغة الصغيرة ، ولكن تم جعلها محمولة (قضايا endianness ثابتة) و 64 بتات ثابتة ، حيث تم إعادة تمثيل مكتبة وقت التشغيل لتكون صغيرة للغاية.
العاطفة:
BSD 2 -AUSE LICENT
هذا غلاف حول مكتبات وحدة فك الترميز القابلة للتجميع Gstreamer 1.x ، هذا الغموض في مكتبة وحدة فك الترميز ، وإخراجها في كائن EVAs الذكي الذي سيعرض التشغيل لك بينما يلعب الفيديو ، بالإضافة إلى توفير عناصر تحكم أعلى مستوى للبحث عنها والتشغيل والوقفة والاستعلام عن الدفق بغض النظر عن الواجهة الخلفية المستخدمة.
eo:
BSD 2 -AUSE LICENT
هذا هو واجهة برمجة تطبيقات نظام الكائن الأساسية التي تعتمد على EFL 1.8 وعلى على. لم يتم الانتهاء من واجهة برمجة التطبيقات ، لذا لا تعتمد عليها بعد في EFL 1.8 ، ولكن إصدارات EFL في المستقبل ستقفلها.
يقوم نظام الكائن هذا بالميراث البسيط والمتعدد ، والتردد ، والمراجع القوية والضعيفة ، والحمح التلقائي للكائنات الفرعية ، ويوحد معالجة رد الاتصال مع مسار واحد ، وكذلك ملخصات مؤشرات كائنات لتكون بحثًا غير مباشر على الجدول لزيادة السلامة في وقت التشغيل.
ephysics:
BSD 2 -AUSE LICENT
توفر هذه المكتبة غلافًا حول مكتبة فيزياء الرصاص ، مما يسمح بربطها مباشرة بكائنات EVAS والتحكم في سلوكها كما لو كانت كائنات مادية حقيقية. تم تعطيل هذا الآن بشكل افتراضي لأنه نادراً ما يتم استخدامه من قبل أي شيء.
Ethumb:
ترخيص LGPL V2
توفر هذه المكتبة واجهة برمجة تطبيقات أساسية لخفي صورة مصغرة وكذلك الخفي المصغر نفسه. يتحدث عميل Ethumb مع Ethumb لتمرير توليد الصورة المصغرة إلى موقع مركزي يتم القيام به بشكل غير متزامن.
عميل Ethumb:
ترخيص LGPL V2
هذا هو الجزء من جانب العميل من Ethumb الذي يوفر API للعملاء لطلب Thumbnailer Ethumb لإنشاء أو العثور على صور مصغرة من الملفات.
إيفاس:
BSD 2 -AUSE LICENT
هذه هي مكتبة تجريد الرسم البياني للمشهد الأساسي للـ EFL. يدير رسم بياني مشهد ثنائي الأبعاد يميز المحتوى الكامل لأي قماش. يوفر هذا العرض الخلفي للعديد من أنظمة العرض مثل X11 و Windows و Wayland و Frame-Buffer وما إلى ذلك ، وعبر العديد من واجهات برمجة التطبيقات المقدمة مثل OpenGL و OpenGL-ES 2 وتطبيقات البرمجيات الخالصة التي هي سريعة ودقيقة.
شر:
BSD 2 -AUSE LICENT
تعمل هذه المكتبة كمكتبة نقل لنظام التشغيل Windows لتوفير مكالمات LIBC المفقودة وليس في MINGW32 التي يحتاجها EFL. يتم استخدامه داخليًا ولا يوجد رمز عام.
يتطلب EFL مترجم C و C ++ افتراضيًا. يوجد C ++ في الغالب للواجهة إلى مكتبات C ++ مثل Bullet وروابط C ++ لدينا.
مطلوب افتراضيًا:
قد ترغب أيضًا في دعم Wayland عندما على Linux. يتيح ذلك دعم EFL لاستهداف دعم Wayland لتطبيقات العميل. للقيام بهذا العرض:
-Dwl=trueللحصول على دعم أكثر حداثة ، قد ترغب في دعم تقديم DRM/KMS ، مما يمكّن ذلك. هذا هو ما تريده أيضًا لدعم Wayland CompoSitor في التنوير لأنه يريد أن يكون قادرًا على تقديم هدف حديث لـ FrameBuffer مع تبديل المخزن المؤقت الذري. للقيام بذلك توفير:
-Ddrm=trueيوجد أيضًا Legacy FBCON Support ، لكن ربما لم تعد ترغب في استخدام هذا لأنه لم يعد يتم الحفاظ عليه. هذا يدعم أصحاب الإطارات الأساسية مثل /dev /fb وكذلك الإدخال عبر /dev /إدخال لوحات المفاتيح والفئران بطريقة أساسية. تمكين هذا مع:
-Dfb=trueقد ترغب في تغيير بادئة التثبيت لـ EFL مع:
--prefix=/path/to/prefixالبادئة الافتراضية إذا لم يتم تقديمها هي "/usr/local". يحب الكثير من الناس استخدام البادئات مثل/OPT/E أو/OPT/EFL أو/Home/Username/Software وما إلى ذلك.
يمكنك التأثير على تحسين التجميع ، وتصحيح الأخطاء والعوامل الأخرى عن طريق تعيين متغير بيئة CFLAGS (و CXXFLAGS ). كن على دراية أنه لضمان استقرار ABI ، يجب عليك استخدام نفس CFLAGS / CXXFLAGS لجميع بناء EFL وأي تطبيقات / مكتبات تعتمد عليها.
هناك العديد من خيارات التكوين الأخرى التي يمكن استخدامها ، ولكن بشكل عام ، ليس من الجيد الذهاب إلى تمكين أو تعطيل الأشياء إلا إذا كنت ترغب في كسر الأشياء. يتم اختبار الإعدادات الافتراضية جيدًا ، حيث يتم أيضًا اختبار الخيارات الموصى بها أعلاه. اذهب إلى أبعد من ذلك بكثير وقد تختلف الأميال الخاصة بك. يعد تعطيل الميزات طريقة جيدة لكسر وظائف EFL ، لذلك لا ينصح بالعبث مع هذه دون فهم الآثار المترتبة. تم النظر في الإعدادات الافتراضية بعناية لتوفير وظائف كاملة حتى لا يفتقر المستخدمون أي شيء.
ميسون هو نظام البناء المستخدم لهذا المشروع. لمزيد من المعلومات ، يرجى الاطلاع على mesonbuild.com
ستحتاج إلى أدوات بناء عادية مثبتة مثل برنامج التحويل البرمجي (GCC أو CLANG على سبيل المثال) ، PKG-Config ، Ninja ، أي حزم ذات صلة الحزمة أو حزم الحزمة إذا تقسم التوزيع رؤوس التطوير الخاصة بك (EG LIBC6-DEV) إلخ.
اعتمادًا على مكان التبعيات ، قد تضطر إلى تعيين متغير بيئة PKG_CONFIG_PATH مثل:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfigلاحظ أيضًا أن بعض التوزيعات ترغب في إضافة أدلة قوس إضافية إلى مواقع المكتبات الخاصة بك ، لذا قد تضطر إلى الحصول على المزيد مثل:
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 ستحتاج إلى التأكد من أن دليل مكتبة الوجهة (على سبيل المثال /usr/local/lib موجود في ملفات/etc/ld.so.conf أو /etc/ld.so.conf.d/ وبعد تثبيت أي شيء يقوم بتثبيت المكتبات التي تقوم بإعادة تشغيلها ldconfig . يرجى الاطلاع
قد ترغب أيضًا في إضافة مسار Bin Bin Dient Bin إلى مسار متغير البيئة الخاص بك (انظر الوثائق على متغير مسار Shell) مثل:
export PATH=/usr/local/bin:/usr/bin:/binالتجميع العادي في /usr /محلي:
meson . build
ninja -C build
sudo ninja -C build installلبناء ميسون خيارات عامة:
meson --helpللحصول على قائمة بالخيارات المحددة للمشروع المدعومة:
cat meson_options.txtلتعيين 1 أو أكثر من خيارات المشروع:
meson --prefix=/path/to -Doption=value [-Dother = value2] [...] . buildلعرض التكوين الحالي:
meson configure buildستعمل ما ورد أعلاه فقط بعد الانتهاء من ما يلي على الأقل:
meson . buildكيفية تنظيف البناء والتكوين والبدء من جديد:
rm -rf buildكيفية صنع قطران dist والتحقق من بنيتها: (يجب القيام بذلك من استنساخ شجرة git وارتكاب جميع التغييرات على git أولاً)
ninja -C build distكيفية تغيير البادئة:
meson --prefix=/path/to/prefix . buildكيفية التثبيت في دليل وجهة محددة للتغليف:
DESTDIR=/path/to/destdir ninja -C build installكيفية البناء مع الإخراج المطول (أوامر كاملة تشغيل):
ninja -C build -vملاحظة: يبدو أن NVIDIA OPENGL-ES/EGL لديها مشاكل في الأداء. جميع السائقين الآخرين يعملون بشكل جيد باستثناء nvidia مع OpenGL-ES/EGL. أبلغ المستخدمون عن خلل متأثر ورسومي وأحيانًا لا يتم تحديث Windows. إذا كنت تريد أفضل النتائج وكنت عالقًا في Nvidia وغير قادر على تغيير ذلك ، ثم:
-Dwl=false (هذا افتراضي على أي حال إذا لم يتم توفيره)-Ddrm=false (هذا افتراضي على أي حال إذا لم يتم توفيره)-Dopengl=full