On Wed, 18 Aug 2010 21:42:12 +0200 Albin Tonnerre <albin.tonne...@gmail.com> said:
> > On Wed, 18 Aug 2010, Tom Hacohen wrote: > > > > > On Wed, Aug 18, 2010 at 10:27 PM, Vincent Torri <vto...@univ-evry.fr> > > > wrote: > > > > > >> EFL_COMPILER_FLAG([-Wall]) adds -Wall to CFLAGS > > >> > > >> m4_ifdef([v_mic] ***) checks if v_mic is used (that is if the micro > > >> version of eina is defined. I did that in order to add these flags only > > >> when in "developper mode" (not in release mode) > > >> > > >> But you can use EFL_COMPILER_FLAG without m4_ifdef. Just like that: > > >> > > >> EFL_COMPILER_FLAG([-Wall]) > > >> > > > > > > > > > Cool. Is there a standard way to choose between developer mode to release > > > mode in autotools? (except for what you did with the versions) > > > Maybe we should consider adding that as well. > > > > better ask raster, as i'm not sure exactly which part of the version is > > not used for the release mode > > IIRC, v_mic is always used. The "development" part is v_rev - the current SVN > revision, which is m4_undefine'd for releases. from efl 1.0.0 on (well eet 1.4.0 too - eet is a stupid exception here, but maybe over time it will come into line). v_rev is indeed off for release. it's off now in svn. v_rev is on otheriwse when back in "normal dev mode". v_mic is for "bugfix releases". ie after 1.0.0, 1.0.1 will simply be a patchlevel fixing bugs, maybe optimising some internals, cleaning something up. no features are added. nothing new. just "stuff fixed/improved silently" as far as any app/lib is concerned that uses EFL. when v_mic goes up - we did a new release with fixes. v_min is for "major major bugfix(es)" but mostly for "hey - we added new features". new api calls. new enums. new struct members, new code-path options that were not meant to work before, but now do etc. etc. - when this goes up, v_mic goes back to 0 and we have improved that lib with new stuff or very significant fixes. the lib will not break for existing apps/libs, BUT new libs/apps cannot work with an older minor versioned lib - eg an app built for 1.2 cannot 100% be guaranteed to work with 1.1 - but 1.2.3 will work with 1.2.1, so its backwards-compat for older built apps and libs only. v_maj is major release version. as of now it's. if this goes up - we broke api or abi. we'd damned well never break this unless we ABSOLUTELY HAVE TO. i'd like to have at least a few years between now and any break. every break pisses developers who use api's off. as for forcing -W's into builds. no. this is compiler dependent AND it's the task of CFLAGS. you can make this happen for you NOW. export CFLAGS="-W -Wall -Wextra -Werror" etc. done. nothing to be changed anywhere in any svn in any source tree. by putting it on there you force error output for those that simply dont want it OR don't care and wont read it anyway, or it simply confuses them. we have enough gentoo users who are unable to read as it is. (sorry - have to say that, but it's true - there are enough who simply paste compiler output just so we can become reading services. SIMPLE errors like "blah.h not found" and having to tell them "well blah.h is not found. maybe you need blah?"). haven't you seen enough pasts of "but when e starts, it logs errors about this hash being null,. that must be the bug why it segv's" without ever using gdb. because something prints out "warning" to people who have no idea what the waninng actually means, it sends them off on a vector wasting their and our time. other than that, -W's are the job of your CFLAGS and you can, if you want them and to fix wanrings, set it up in your bashrc or have an alias that changes your cflags to add them in etc. etc. eg: alias cflagwarn='export CFLAGS=$CFLAGS" -W -Wall -Wextra -Werror"' then just: cflagswarn before doing efl compiles. setting warning flags simply does not belong in the makefiles, configure scripts etc. of a project. if you say "well lets make it a --enable-warnings" then just SET YOUR CFLAGS instead! there is no point in involving configure. this does not mean i hate the warnings and discourage them in general - it just is not the place for them to be set on by default in configure scripts. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel