Commit Graph

50329 Commits

Author SHA1 Message Date
Marcel Hollerbach 5668fc1db7 cmake: update to the new eolian bin syntax 2016-10-07 16:16:32 +02:00
Daniel Kolesa 797e417d1e Merge branch 'devs/q66/eolian_gen_next'
This merges a rewritten Eolian C generator which replaces the previous
generator. The old generator did not properly reflect the design choices taken
in the Eolian library, which resulted in a sub-par codebase that was a lot more
complicated than it had to be which resulted in worse maintainability.

The new generator aims to remedy that; it has much simpler design that relies
on the Eolian library more and doesn't take certain design choices that were
made previously.
2016-10-07 13:36:55 +02:00
Daniel Kolesa 9553fd9640 eolian gen2: move to eolian gen (as the old one is gone) 2016-10-07 13:34:47 +02:00
Daniel Kolesa 4cc17ae28a eolian gen2: remove old eolian gen 2016-10-07 13:26:08 +02:00
Daniel Kolesa 82291e9cf5 eolian gen2: fix tests to match the new generator 2016-10-07 13:13:27 +02:00
Daniel Kolesa b15d0583e7 eolian gen2: fix minor issues with c file generation 2016-10-07 12:58:22 +02:00
Daniel Kolesa 7ef0b84f03 eolian gen2: fix stub header include guard 2016-10-07 12:31:01 +02:00
Daniel Kolesa 3ebdf0a4e9 eolian gen2: fix logging typo 2016-10-07 11:54:23 +02:00
Daniel Kolesa 20b91a46c0 eolian gen2: add newline between property get/set protos 2016-10-07 11:54:23 +02:00
Daniel Kolesa b789d6e1ec eolian gen2: complete impl generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2d28fce231 eolian gen2: complete impl gen besides params 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1ad1eb300b eolian gen2: fix file read to actually trigger impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 08e2703917 eolian gen2: fully implement the main func for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 9cc0ca20f4 eolian gen2: some initial impl generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa bc9422cf0f eolian gen2: remove the unused append mode for file write 2016-10-07 11:54:23 +02:00
Daniel Kolesa cf89ff3f45 eolian gen2: initial skeleton for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa bedba4f423 eolian gen2: fix generation of legacy class method wrappers 2016-10-07 11:54:23 +02:00
Daniel Kolesa a307f470a1 eolian gen2: fix implement name generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa fecb2dc36d eolian gen2: properly return from class initializer 2016-10-07 11:54:23 +02:00
Daniel Kolesa cd58a681cf eolian gen2: proper generation of inherits in class def 2016-10-07 11:54:23 +02:00
Daniel Kolesa e0e2006a19 eolian gen2: properly generate class type for desc too 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1fa36d558f eolian gen2: sanitize data type properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa f660f371a2 eolian gen2: fix typos in generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 501a575237 eolian gen2: generate only .h by default for eot files 2016-10-07 11:54:23 +02:00
Daniel Kolesa 323949a699 eolian gen2: fix double and missing free 2016-10-07 11:54:23 +02:00
Daniel Kolesa 74934d8d01 eolian gen2: switch EFL to new generator (doesn't work yet) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 809e2ed4de eolian gen2: abort on OOM (not much we can do anyway) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 0306810d52 eolian gen2: generate legacy API implementation stubs 2016-10-07 11:54:23 +02:00
Daniel Kolesa 911a0847be eolian gen2: fully generate source 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8a39a96bc5 eolian gen2: terminate EFL_OPS_DEFINE list 2016-10-07 11:54:23 +02:00
Daniel Kolesa 5272935573 eolian gen2: generation of class initializer func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 759f470c29 eolian gen2: fix generation type specification 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6d8854f461 eolian gen2: properly space headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 130335bd9a eolian gen2: generate prototypes/impls for all implements 2016-10-07 11:54:23 +02:00
Daniel Kolesa 366bce609f eolian gen2: don't generate class names in eo_gen_source_gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6c4d705d55 eolian gen2: initial partial source generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 56cd773836 eolian gen2: add event generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 34c2bf66ce eolian gen2: initial stubs for source writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa f8ede73bf9 eolian gen2: generate docs for funcs/events 2016-10-07 11:54:23 +02:00
Daniel Kolesa dcda40215c eolian gen2: generate docs for types 2016-10-07 11:54:23 +02:00
Daniel Kolesa b105feebb3 eolian gen2: add code to handle doxygen generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2e06751703 eolian gen2: only generate eo c/h by default 2016-10-07 11:54:23 +02:00
Daniel Kolesa ec1bb92a8f eolian gen2: feature complete header generator (eo and legacy) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 45b867ae05 eolian gen2: generate fully functional eo headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 12c3bdee3e eolian gen2: initial header generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa af7cc32343 eolian gen2: full type generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa d20acef831 eolian gen2: generate stub headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa e92ce1bd72 eolian gen2: use length_get when enclosing include guards 2016-10-07 11:54:23 +02:00
Daniel Kolesa b70299fd35 eolian gen2: initial type gen subroutine 2016-10-07 11:54:23 +02:00
Daniel Kolesa 341ef8fc05 eolian gen2: initial type generation bits 2016-10-07 11:54:23 +02:00