Commit Graph

56 Commits

Author SHA1 Message Date
Vincent Torri 3a43a2822e Windows : fix the definition of EAPI
Summary:
with autotools, EFL_BUILD was passed to the preprocessor for libraries and binaries, which was wrong. Only libraries must have EFL_BUILD defined. See T7797 for an explanation
This also fix EAPI in Ecore_Getopt.g and Efl_UI.h

Also note that all the wayland and drm Makefile's have not been touched

Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8602
2019-04-17 14:24:42 -04:00
Mike Blumenkrantz 72cca8d917 build: remove infuriating VTIME build define
this does nothing but ruin your entire ccache every time configure runs.

ref cae354d299
ref T5495

Differential Revision: https://phab.enlightenment.org/D6662
2018-08-03 13:47:25 +02:00
Mike Blumenkrantz bc0d74c281 build: fix rpath for binaries which use ecore-x dependencies
somehow ecore-x explicitly pulls in ${libdir}/libX11.so at link-time,
which causes libtool to add ${libdir} to the rpath executable wrappers
before the remainder of the in-tree efl paths. this causes binaries run
from these wrappers (e.g., tests, built-time tools such as codegens) to
use system libraries instead of in-tree libraries

@fix

Differential Revision: https://phab.enlightenment.org/D6635
2018-07-30 17:40:57 +02:00
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Vincent Torri 10ba064b65 Windows: remove XP support and forbid compilation and run on this platform
Test Plan: run on XP

Reviewers: jpeg, cedric, ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5245
2017-10-01 18:09:46 +01:00
Bernhard M. Wiedemann bc096cddfb Allow to override build date
Summary:
Allow to override build date
for distribution packages that use autoreconf
to recreate the configure script

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Note: This patch will work with GNU date. If BSD date support is
important, a more complex patch needs to be done.

http://rb.zq1.de/compare.factory-20170713/efl-compare.out
also shows other diffs in .edj files that still remain

@fix

T5495

Reviewers: cedric

Subscribers: stefan_schmidt, jayji, netstar, jpeg

Maniphest Tasks: T5495

Differential Revision: https://phab.enlightenment.org/D5023
2017-08-07 14:41:29 +02:00
Cedric BAIL 26d401351d eina: fix reproductible build.
This make eina hamster depend on when configure was generated. This
should only happen really when we make a new tarball for release.

@fix

T5495
2017-05-18 16:20:06 -07:00
Stefan Schmidt 7cc8f085b8 build: add mapping between ecore_file and ecore-file for pkgconfig files
elua.pc was depending on a ecore_file pc file it is named ecore-file. We have
mapping for similar cases. This one was just forgotten it seems.

Fixes T5075
2017-02-10 10:55:19 +01:00
Stefan Schmidt 26a60e1eb3 m4: fix the name for ecore-sdl in the pkconfig files.
Like some other libs we need to have a special handling here to get ecore-sdl
into the pc file instead ecore_sdl.

Fixes T4397
2016-09-09 11:09:48 +02:00
Chris Michael a0d3b955bf ecore-drm2: Add start of Ecore_Drm2 library
This new library is going to replace the existing Ecore_Drm. This will
refactor a lot of the code, bring improvements over the existing API,
and provide additional support for missing features.

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 11:57:53 -04:00
Vincent Torri ebe22ca61f Fix The name of the pc file for Ecore_Win32
Summary: With the current detection, ecore_win32.pc was used. Fix this to use ecore-win32.pc

Test Plan: compilation

Reviewers: cedric, jpeg, zmike

Differential Revision: https://phab.enlightenment.org/D3980
2016-05-24 15:46:45 -04:00
Felipe Magno de Almeida e3c8b280c6 c++: Reorganized C++ binding generation
Moved all generation to a single Makefile_Cxx.am file instead of
throughout the whole project. And fixed C++ generation on Elementary
after elm merge.
2016-05-23 15:05:50 -03:00
Cedric BAIL a73ca351de autotools: track dependencies for partial sub build. 2016-04-14 15:52:50 -07:00
Jean Guyomarc'h 66baee9af0 elementary: fix internal dependencies
Ecore_Cocoa was not handled properly.
2016-04-01 00:08:59 +02:00
Carsten Haitzler f23f167d51 efl elm build: fix pc file requirements to be correctly named
this fixes ecore_drm, ecore_fb and ecore_wl2 requirements to be right
have a - instead of an _.
2016-03-28 15:43:04 +09:00
Cedric Bail 8269713fe5 elementary: fix generation of pkgconfig
T3361
2016-03-25 14:34:31 -07:00
Cedric BAIL b0df722819 elementary: initial compilation of the library only. 2016-03-24 11:23:10 -07:00
Jean-Philippe ANDRE f30c0ea399 Build: Fix horribly slow compilation times
Cedric, our dear b0rker, introduced changes in the CFLAGS
generation when merging Emile. While the changes seem to make sense
at first sight (add the -I flags for the lib our new package depends on),
they were actually a terribly bad workaround.

The number of CFLAGS args would grow exponentially, slowing down libtool
a lot, which is known to be slow when it has a lot of arguments.
2015-03-25 11:56:44 -07:00
Cedric BAIL 8cac4ce5e7 evas: use Emile to decode TGV. 2015-03-17 09:58:18 +01:00
Cedric BAIL 49af128d5c autotools: actually put the macro at the right place. 2014-08-27 23:22:57 +02:00
Jean Guyomarc'h b50813f6e5 autotools: provide BSD-echo compatibility (fix c++ bindings)
Summary: The '-e' option does not exist in BSD-echo, nevertheless it behaves by default like the "echo -e" of the GNU-echo.

Reviewers: raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1376

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-27 22:31:20 +02:00
Tom Hacohen 6030b9de79 Configure.ac: Free up the "efl" name for usage.
At the moment we use the fake "efl" library as a dependency for
everything and use it as a way to have global cflags and lib deps. This
is bad as we'd like to have a "real" libefl.

I changed EFL to EFLALL as the new name. Easy to change to something
else if anyone finds this name lacking. It's internal.
2014-07-21 16:53:14 +01:00
Felipe Magno de Almeida 8149823897 eolian-cxx: fix make distcheck and automake files for Eolian C++
Summary:
Fixed distcheck for Eolian C++. Made the generated files as
nodist so it doesn't get picked up for generation way too
early.

Reviewers: cedric, seoz

CC: cedric

Maniphest Tasks: T1220

Differential Revision: https://phab.enlightenment.org/D820

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-04 12:21:30 +02:00
Cedric BAIL ec18feddd7 Revert "autotools: try improving thread detection."
This reverts commit 14c6378fc4.

So either we get to fix T880 or T986. I do think the problem is more tricky than
that, so I am for the moment going to get T880 broken rather than T986 as I think
the later will show up in more case for our user base. Will try to find a proper
solution for everyone before the next release.
2014-02-19 11:02:33 +09:00
Cedric BAIL 14c6378fc4 autotools: try improving thread detection.
As already stated before reliably detecting CC, LIBS and CFLAGS parameters for
use with threads is still a pain in 2014. With this patch I am trying to solve
T880 and use ax_pthread.m4. Note that I do not trust this macro more than the
previous one, so if there is any build issue on any system regarding thread, I
may just rollback to the previous code. Still I hope it is an improvement and
that our build system detect thread more reliably.
2014-02-18 12:24:19 +09:00
Cedric BAIL c09d1c66f8 autotools: let's not override what we just did. 2014-01-24 11:15:15 +09:00
Stefan Schmidt 09609e9d04 configure: Switch back to dev profile in master branch.
This also enables v_rev again. Thanks to Doug for pointing it out.
2013-12-06 16:05:45 +01:00
Carsten Haitzler e97504a669 FUCK - remove logic to silently add -release names to libtool builds
sneaky hidden m4 rule to ADD -release to shared lib names IF profile
!= dev profile. come on! why do that? seriously. this snuck in and was
undetected because i recompiled things against efl and thus things
linked against the new releasename libs. this requires an efl 1.8.1.
argh!
2013-12-02 12:55:32 +09:00
Jérémy Zurcher f8a09fb6db efl.m4: change backslash sequences capability detection
removes ./configure: line 14173: test: =: unary operator expected
2013-11-19 16:01:05 +01:00
Jean Guyomarc'h f126afbba2 Fix build issues on Mac OS X due to sh differences.
Summary:
  * efl.m4: add support for xterm-256color and fix display for the bsd echo. Fix autotools issue (present on Ubuntu also, but better handled).
  * doc/Makefile.am: bsd echo may not handle -n option in sh

Reviewers: cedric

CC: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D329
2013-11-16 09:43:23 +09:00
Carsten Haitzler b07c0a76ce alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Lucas De Marchi d7eb3f74ad Remove unneded special cases after lib rename 2013-05-04 10:38:55 -03:00
Lucas De Marchi 4e3804041f Rename edbus->eldbus
git grep -l edbus2 | while read f; do sed -i 's/edbus2/eldbus/g' "$f"; done
find . -name '*edbus2*' -exec rename edbus2 eldbus {} \;

git grep -l "EDBUS" | while read f; do sed -i 's/EDBUS/ELDBUS/g' "$f"; done
git grep -l "EDBus" | while read f; do sed -i 's/EDBus/Eldbus/g' "$f"; done
git grep -l "edbus (v2)" | while read f; do sed -i 's/edbus (v2)/eldbus/g' "$f"; done
git grep -l "Edbus" | while read f; do sed -i 's/Edbus/Eldbus/g' "$f"; done
git grep -l "edbus" | while read f; do sed -i 's/edbus/eldbus/g' "$f"; done

find . -name '*edbus*' -exec rename edbus eldbus {} \;
find . -name '*EDBus*' -exec rename EDBus Eldbus {} \;
2013-04-23 12:36:29 -03:00
Tom Hacohen bc1ec328d3 Fix revision fetching when not using git. 2013-03-01 17:02:10 +00:00
Tom Hacohen 3a69dfcca1 Efl: Use git rev-list in order to get version instead of svnversion. 2013-02-15 16:13:50 +00:00
Carsten Haitzler 64c4f34bc0 sorry - have to revert this as this brings the efl tree build to a
grinding halt - it wasn't great before.. but now it's totally broken. :(
e.g.:

/bin/bash ../libtool  --tag=CC   --mode=link ccache gcc -std=gnu99
-O2 -g -pipe -march=native -fvisibility=hidden -ffast-math -W -Wall
-Wextra -Wno-shadow -Wno-unused-but-set-parameter   -o bin/eet/eet
bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections
-ffunction-sections -Wl,--gc-sections -fno-strict-aliasing
-Wl,--as-needed -Wl,--no-copy-dt-needed-entries    lib/eet/libeet.la

libtool: link: ccache gcc -std=gnu99 -O2 -g -pipe -march=native
-fvisibility=hidden -ffast-math -W -Wall -Wextra -Wno-shadow
-Wno-unused-but-set-parameter -o bin/eet/.libs/eet
bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections
-ffunction-sections -Wl,--gc-sections -fno-strict-aliasing
-Wl,--as-needed -Wl,--no-copy-dt-needed-entries  lib/eet/.libs/libeet.so
/usr/bin/ld: bin/eet/bin_eet_eet-eet_main.o: undefined reference to
symbol 'eina_iterator_next'
/usr/bin/ld: note: 'eina_iterator_next' is defined in DSO
/usr/local/lib/libeina.so.1 so try adding it to the linker command line
/usr/local/lib/libeina.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status



SVN revision: 83112
2013-01-22 23:48:04 +00:00
Gustavo Sverzut Barbieri e532627b9f try to simplify internal library dependency.
Just use the lib/name/libname.la as libtool should be responsible to
emit dependencies to compiler when it evaluates.

This should reduce over-linking, also reducing the compile lines in
our verbose builds ;-)

NOTE: this seems to work on Fedora 18 (which also bitch about DSO), so
hopefully works on Debian and Ubuntu (and elsewhere).

Please revert if breaks builds!



SVN revision: 83105
2013-01-22 21:58:25 +00:00
Gustavo Sverzut Barbieri e2e25b3d3d fix flags and libs ordering.
linker (ld) is that kind of tool that argument order matters, if you
-Wl,--as-needed, it will be worth just for libraries following
it. Then we need to use EFL_LDFLAGS before everything else, otherwise
it end being useless.



SVN revision: 82991
2013-01-18 18:51:16 +00:00
Gustavo Sverzut Barbieri db38bdd6de cosmetic: simplify and colorize features.
EFL_ADD_FEATURE(PKG, NAME, [VALUE]) will do an amazing work to produce
colored output in a standard way.

if value == yes, it's green and shows "+name"
if value == no, it's red and shows "-name"
else it shows cyan and shows "name=value"

if not provided, will use ${have_name:-${want_name}}



SVN revision: 82976
2013-01-18 13:48:14 +00:00
Boris Faure ac4df627f7 efl: export vmin/vmic in edje.pc
It is used to know where to install external modules.

SVN revision: 82974
2013-01-18 13:01:36 +00:00
Gustavo Sverzut Barbieri 12a0f9388a clean some whitelines from already lengthly configure file.
SVN revision: 82951
2013-01-17 20:58:07 +00:00
Gustavo Sverzut Barbieri 88f2d26608 don't mix private and public libraries dependencies.
when I fixed eina's dependency on -lpthread I used all the libraries
eina links to. But we should just do with -lpthread as it's a public
dependency... that was in eina.pc.in and I missed.

Now we have EFL_ADD_PUBLIC_LIBS() that will register for
requirements_public_libs_name and use internally when eina is used.

This should also fix the problem by Arvind with gcrypt.



SVN revision: 82942
2013-01-17 18:55:32 +00:00
Cedric BAIL 098a745c4b efl: revert r82914 which was a revert of r82909.
SVN revision: 82915
2013-01-17 02:35:29 +00:00
Cedric BAIL 0bcbfcf4c1 efl: revert r82909 as it break build.
Symptom are dependencies is full of -lm -lrt -lsomething that can't
be found in the Makefile target.


SVN revision: 82914
2013-01-17 01:52:32 +00:00
Gustavo Sverzut Barbieri 2554b34a92 fix internal library linkage to pull in dependencies.
some libraries will need to pull more than its own .so, for example
Eina.h includes eina_lock.h that includes eina_inline_lock_posix.x
that will use pthread calls directly from user code.

This was already listed in eina.pc, but not being present in
USE_EINA_LIBS.



SVN revision: 82909
2013-01-16 21:25:58 +00:00
Gustavo Sverzut Barbieri ad1417713b simplify efl version and initialization in a macro, fixes libtool version-info.
Introduces EFL_VERSION() to make it simpler to define our version. The
last parameter is the release status, defaults to 'dev' for
development purposes and may be set to something else to be a
snapshot. It non-empty will be given to libtool's -release.

As EFL_VERSION() must be done *before* AC_INIT(), we need to create
another macro to do the AC_SUBST() and AC_DEFINE(). This is
EFL_INIT. And no, we can't just call AC_INIT() from inside EFL_INIT().

Last but not least, we had a problem with our libtool version-info. It
was being calculated as MAJOR + MINOR, right now 1 + 7 = 8. But as
soon as we get to MAJOR=2 and MINOR=0, we get into problems. This was
fixed by rewriting as (MAJOR * 100 + MINOR), but this is still
problematic.

According to libtool's manual (info libtool), we shouldn't bind the
version-info with package info, instead doing the 'release'
field. Pretty likely we'll do worse than expected by distros and
binary packages in future :-/




SVN revision: 82891
2013-01-16 17:24:36 +00:00
Gustavo Sverzut Barbieri 720a81d58c move ecore_imf_evas out of ecore_imf.
SVN revision: 82837
2013-01-15 19:11:01 +00:00
Gustavo Sverzut Barbieri c4e163fe4a move ecore_input_evas out of ecore_input.
we don't need this mess anymore :-P



SVN revision: 82836
2013-01-15 18:59:28 +00:00
Gustavo Sverzut Barbieri d97c63e4c6 fix directory structure: move ethumd_client out of ethumb.
it's another library, do not mix stuff as it used to be.




SVN revision: 82835
2013-01-15 18:10:58 +00:00
Gustavo Sverzut Barbieri b1bc5aeb24 efl: simplify automake.
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.

There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.

I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.

Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}



SVN revision: 82785
2013-01-14 22:36:23 +00:00