GithubHelp home page GithubHelp logo

dimmus / efl Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 7.44 MB

toward EFL 2.0

License: Other

CodeQL 0.07% Shell 3.27% SmPL 0.71% C 88.25% Python 2.53% Dockerfile 0.03% C++ 0.24% Meson 1.56% Roff 0.70% RPC 1.48% Logos 1.02% Vim Script 0.01% Lua 0.01% Awk 0.12% Makefile 0.01%
linux compositor desktop library wayland x11

efl's Introduction

Personal goals (wishes :)

  • get complete wayland support in EFL
  • push forward EFL objects support (i mean, eo)
  • documentation
  • speed and size optimization

Actual problems (my personal drivers :)

  • huge problem with existing development documentation (see doc here). It's in some places outdated and user level only.
  • some libs naming is too esoteric. Most of the names (understand like a lib purpose) are non-transparent for newcomers. In combination with the lack of development documentation, the start of EFL development becomes a swamp.

So, ... my intermidiate goal

  • deep dive, understand and master EFL internals

Tasks

To understand something, i should break it! So, to begin with ..

  • create transparent lib names. Systematic renaming. See changelog_api
  • general and consistent EFL_* (re)naming (like EFL_UNUSED, Efl_Bool, libefl_core_*, libefl_shared, etc).
  • create test system without check usage (it was a bad idea, we need infastructure to init some stuff before test itself)
  • create diverse documentation: man files, manuals, wiki, coockbooks, api, etc. Some templates from different projects are provided.
  • make thorough code analysis system. Some templates from different projects are provided.
  • optimization: flags, architectures, compilers, memory management. It needs detailed analysis of neediness (by build and run times, sizes on disk and in memory, etc).
  • make separate development tools. Some templates were provided.
  • meson build system update. It's too large, so, may be try to atomize it.
  • automatic and consistent formatting: create rules and apply clang-format
  • use the power of the github CI system

Current tasks

See TODO file.

Pull requests, sugestions, and any discussions are welcome.

Build

To build, i use helper script tools/utils_maintenance/build.sh. For convenience, create a symlink to run in the source root folder:

ln -s tools/utils_maintenance/build.sh run

Basic usage:

./run — run without arguments to show all options

./run s — run meson default setup

./run s dev — run meson setup with dev options (see build.sh)

./run c — compile with default setup

./run c dev — compile with dev options

./run cc — continue compilation (without build cleanup and reconfiguration)

./run t — run tests

./run f — apply formatting

GitHub Stats

Alt

efl's People

Contributors

dependabot[bot] avatar dimmus avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.