On Fri, Aug 5, 2016 at 2:32 AM, Carsten Haitzler <ras...@rasterman.com> wrote:
> worse. try eina. because a .c file changes, eolian_gen is rebuilt. if it is
> rebuilt then eolian re-generates all .c files. then  these have ot be 
> compiled.
> then everything relinks...
>
> i spend days watching a change inside eina_whatever.c result in this. enough!
>
> if i change something in a header that would NEED a rebuild then i'll do a 
> full
> rebuild of efl THEN. my job as a developer to get that right. the build tools
> we do have just are not smart enough to detect a change that does really or
> does not really need a rebuild of everything that depends on it.
>
> yes i know in THEORY i changed something that may need it... but i didn't and
> the tools do not know. this is 99% of the workflow. the relinking also takes
> forever too.

Raster, while I know your pain, the change in a base library may
indeed result in unexpected bugs elsewhere. To optimize that, the
linker would have to note which symbols changed and then only relink
binaries using those... kinda of PITA and for real given our heavy
dependency on other libraries, it wouldn't save us much.

My advice is to use specific targets during development of core libraries. Like:

    $ make -C src lib/eina/libeina.la
    $ make -C src bin/eolian/eolian_gen  # just recompile the binary
and its deps

If you're doing just eina and don want to waste time with the rest of
efl that would go in turn.

If you want to skip regenerating ".eo.c" files because eolian_gen
changed due changes in libeina.la, you can force a different
EOLIAN_GEN and _EOLIAN_GEN_DEP to be an older binary (so make will
check timestamp and say it's up to date):

   $ make -C src EOLIAN_GEN=/usr/bin/eolian_gen
_EOLIAN_GEN_DEP=/usr/bin/eolian_gen

I know it's boring to do those, but you're experienced enough to know
what would break and all, so these optimizations can be done. However
not everybody is like that, so if you do what you want for all
developers you may expect more build breaks :-/



-- 
Gustavo Sverzut Barbieri
--------------------------------------
Mobile: +55 (16) 99354-9890

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to