diff options
author | Vincent Torri <vincent.torri@gmail.com> | 2012-11-04 11:51:42 +0000 |
---|---|---|
committer | Vincent Torri <vincent.torri@gmail.com> | 2012-11-04 11:51:42 +0000 |
commit | c15e9c6575c3b5f39ded167dda5259de3de96151 (patch) | |
tree | 5115d7ae3620af24c2bc094cd062575af7adeda9 /m4/efl_attribute.m4 | |
parent | a5ac6a987caec5a7f7596a25d0a065b9cc94c50c (diff) | |
download | efl-c15e9c6575c3b5f39ded167dda5259de3de96151.tar.gz |
merge: and now Evas
I've tested make -j 3 install and it works nicely
I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.
TODO: examples and tests, I'll add them later
ISSUE: Eina_Unicode size check. It indirectly depends on
eina_config.h, which is created at the end of the
configure script. So its size is always 0. I don't
know how that size is used, so I can't do a lot,
for now.
SVN revision: 78895
Diffstat (limited to 'm4/efl_attribute.m4')
-rw-r--r-- | m4/efl_attribute.m4 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/m4/efl_attribute.m4 b/m4/efl_attribute.m4 index cd42e9cda6..4f31d93175 100644 --- a/m4/efl_attribute.m4 +++ b/m4/efl_attribute.m4 @@ -29,4 +29,55 @@ if test "x${have_attribute_vector}" = "xyes" ; then fi ]) +dnl Usage: EFL_ATTRIBUTE_ALWAYS_INLINE +dnl call AC_DEFINE for alway_inline if __attribute__((always_inline)) is available + +AC_DEFUN([EFL_ATTRIBUTE_ALWAYS_INLINE], +[ + +have_attribute_forceinline="no" + +AC_MSG_CHECKING([for __forceinline]) + +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include <windows.h> +static __forceinline void foo(void) {} + ]], + [[ + ]])], + [ + have_attribute_always_inline="yes" + have_attribute_forceinline="yes" + ], + [have_attribute_always_inline="no"]) + +AC_MSG_RESULT([${have_attribute_always_inline}]) + +if test "x${have_attribute_always_inline}" = "xno" ; then + AC_MSG_CHECKING([for __attribute__ ((__always_inline__))]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +static __attribute__((__always_inline__)) inline void foo(void) {} + ]], + [[ + ]])], + [have_attribute_always_inline="yes"], + [have_attribute_always_inline="no"]) + AC_MSG_RESULT([${have_attribute_always_inline}]) +fi + +if test "x${have_attribute_always_inline}" = "xyes" ; then + if test "x${have_attribute_forceinline}" = "xyes" ; then + AC_DEFINE([EFL_ALWAYS_INLINE], [__forceinline], [Macro declaring a function to always be inlined.]) + else + AC_DEFINE([EFL_ALWAYS_INLINE], [__attribute__ ((__always_inline__)) inline], [Macro declaring a function to always be inlined.]) + fi +else + AC_DEFINE([EFL_ALWAYS_INLINE], [static inline], [Macro declaring a function to always be inlined.]) +fi +]) + dnl End of efl_attribute.m4 |