forked from enlightenment/efl
* All memory pools can be enabled / disabled
* Allow to pass 'static' to configure memory pools * Add fixed_bitmap in the possible statically linked memory pools For example: ./configure --enable-chained-pool=static --disable-fixed-bitmap SVN revision: 41119
This commit is contained in:
parent
0567fd7bf2
commit
8909bb6b69
|
@ -54,7 +54,7 @@ EFL_CHECK_PTHREAD([have_pthread="yes"], [have_pthread="no"])
|
||||||
|
|
||||||
# Magic debug
|
# Magic debug
|
||||||
AC_ARG_ENABLE([magic-debug],
|
AC_ARG_ENABLE([magic-debug],
|
||||||
[AC_HELP_STRING([--disable-magic-debug], [disable magic debug of eina structure [default=enabled]])],
|
[AC_HELP_STRING([--disable-magic-debug], [disable magic debug of eina structure @<:@default=enabled@:>@])],
|
||||||
[
|
[
|
||||||
if test "x${enableval}" = "xyes" ; then
|
if test "x${enableval}" = "xyes" ; then
|
||||||
have_magic_debug="yes"
|
have_magic_debug="yes"
|
||||||
|
@ -74,7 +74,7 @@ AC_SUBST(EINA_CONFIGURE_MAGIC_DEBUG)
|
||||||
|
|
||||||
# Safety checks (avoid crashes on wrong api usage)
|
# Safety checks (avoid crashes on wrong api usage)
|
||||||
AC_ARG_ENABLE(safety-checks,
|
AC_ARG_ENABLE(safety-checks,
|
||||||
[AC_HELP_STRING([--disable-safety-checks], [disable safety checks for NULL pointers and like. [default=enabled]])],
|
[AC_HELP_STRING([--disable-safety-checks], [disable safety checks for NULL pointers and like. @<:@default=enabled@:>@])],
|
||||||
[
|
[
|
||||||
if test "x${enableval}" = "xyes" ; then
|
if test "x${enableval}" = "xyes" ; then
|
||||||
have_safety_checks="yes"
|
have_safety_checks="yes"
|
||||||
|
@ -96,7 +96,7 @@ AC_SUBST(EINA_CONFIGURE_SAFETY_CHECKS)
|
||||||
|
|
||||||
# Choose best memory pool
|
# Choose best memory pool
|
||||||
AC_ARG_ENABLE([default-mempool],
|
AC_ARG_ENABLE([default-mempool],
|
||||||
[AC_HELP_STRING([--enable-default-mempool], [Default memory allocator could be faster for some computer. [default=disabled]])],
|
[AC_HELP_STRING([--enable-default-mempool], [Default memory allocator could be faster for some computer. @<:@default=disabled@:>@])],
|
||||||
[
|
[
|
||||||
if test "x${enableval}" = "xyes"; then
|
if test "x${enableval}" = "xyes"; then
|
||||||
have_default_mempool="yes"
|
have_default_mempool="yes"
|
||||||
|
@ -116,7 +116,7 @@ AC_SUBST(EINA_CONFIGURE_DEFAULT_MEMPOOL)
|
||||||
|
|
||||||
# Report stringshare usage
|
# Report stringshare usage
|
||||||
AC_ARG_ENABLE([stringshare-usage],
|
AC_ARG_ENABLE([stringshare-usage],
|
||||||
[AC_HELP_STRING([--enable-stringshare-usage], [Report stringshare usage on stringshare shutdown. [default=disabled]])],
|
[AC_HELP_STRING([--enable-stringshare-usage], [Report stringshare usage on stringshare shutdown. @<:@default=disabled@:>@])],
|
||||||
[
|
[
|
||||||
if test "x${enableval}" = "xyes"; then
|
if test "x${enableval}" = "xyes"; then
|
||||||
have_stringshare_usage="yes"
|
have_stringshare_usage="yes"
|
||||||
|
@ -133,30 +133,6 @@ if test "x${have_stringshare_usage}" = "xyes"; then
|
||||||
AC_DEFINE(EINA_STRINGSHARE_USAGE, 1, [Report Eina stringshare usage pattern])
|
AC_DEFINE(EINA_STRINGSHARE_USAGE, 1, [Report Eina stringshare usage pattern])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ememoa memory pool
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([ememoa],
|
|
||||||
[AC_HELP_STRING([--enable-ememoa], [build ememoa memory pool module @<:@default=yes@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
enable_ememoa="yes"
|
|
||||||
else
|
|
||||||
enable_ememoa="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[enable_ememoa="yes"]
|
|
||||||
)
|
|
||||||
AC_MSG_CHECKING([whether to use ememoa for memory pool])
|
|
||||||
AC_MSG_RESULT([$enable_ememoa])
|
|
||||||
|
|
||||||
# Static linking
|
|
||||||
|
|
||||||
EINA_CHECK_STATIC([chained-pool], [chained pool])
|
|
||||||
EINA_CHECK_STATIC([ememoa-fixed], [ememoa fixed])
|
|
||||||
EINA_CHECK_STATIC([ememoa-unknown], [ememoa unknown])
|
|
||||||
EINA_CHECK_STATIC([pass-through], [pass through])
|
|
||||||
EINA_CHECK_STATIC([fixed-bitmap], [fixed bitmap])
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for programs
|
### Checks for programs
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
@ -238,6 +214,20 @@ AM_CONDITIONAL(EINA_ENABLE_BENCHMARK_E17, test "x${enable_benchmark_e17}" = "xye
|
||||||
|
|
||||||
# Check ememoa memory pool library
|
# Check ememoa memory pool library
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([ememoa],
|
||||||
|
[AC_HELP_STRING([--enable-ememoa], [build ememoa memory pool module @<:@default=yes@:>@])],
|
||||||
|
[
|
||||||
|
if test "x${enableval}" = "xyes" ; then
|
||||||
|
enable_ememoa="yes"
|
||||||
|
else
|
||||||
|
enable_ememoa="no"
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
[enable_ememoa="yes"]
|
||||||
|
)
|
||||||
|
AC_MSG_CHECKING([whether to use ememoa for memory pool])
|
||||||
|
AC_MSG_RESULT([$enable_ememoa])
|
||||||
|
|
||||||
if test "x${enable_ememoa}" = "xyes" ; then
|
if test "x${enable_ememoa}" = "xyes" ; then
|
||||||
PKG_CHECK_MODULES([EMEMOA],
|
PKG_CHECK_MODULES([EMEMOA],
|
||||||
[ememoa >= 0.0.26 ],
|
[ememoa >= 0.0.26 ],
|
||||||
|
@ -356,6 +346,23 @@ dnl nothing on mingw platform
|
||||||
esac
|
esac
|
||||||
AC_SUBST(dlopen_libs)
|
AC_SUBST(dlopen_libs)
|
||||||
|
|
||||||
|
### Modules
|
||||||
|
|
||||||
|
EINA_CHECK_MODULE([chained-pool], [yes], [chained pool])
|
||||||
|
EINA_CHECK_MODULE([ememoa-fixed], [${enable_ememoa}], [ememoa fixed])
|
||||||
|
EINA_CHECK_MODULE([ememoa-unknown], [${enable_ememoa}], [ememoa unknown])
|
||||||
|
EINA_CHECK_MODULE([fixed-bitmap], [yes], [fixed bitmap])
|
||||||
|
EINA_CHECK_MODULE([pass-through], [yes], [pass through])
|
||||||
|
|
||||||
|
|
||||||
|
### Make the debug preprocessor configurable
|
||||||
|
|
||||||
|
### Unit tests, coverage and benchmarking
|
||||||
|
|
||||||
|
EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
|
||||||
|
EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
|
||||||
|
EFL_CHECK_BENCHMARK([enable_benchmark="yes"], [enable_benchmark="no"])
|
||||||
|
|
||||||
|
|
||||||
### Create the .pc.in file according to the major version
|
### Create the .pc.in file according to the major version
|
||||||
#cat > ${srcdir}/eina-${VMAJ}.pc.in << EOF
|
#cat > ${srcdir}/eina-${VMAJ}.pc.in << EOF
|
||||||
|
@ -373,15 +380,6 @@ AC_SUBST(dlopen_libs)
|
||||||
#Cflags: -I${includedir}/eina-@VMAJ@ -I${includedir}/eina-@VMAJ@/eina
|
#Cflags: -I${includedir}/eina-@VMAJ@ -I${includedir}/eina-@VMAJ@/eina
|
||||||
#EOF
|
#EOF
|
||||||
|
|
||||||
|
|
||||||
### Make the debug preprocessor configurable
|
|
||||||
|
|
||||||
### Unit tests, coverage and benchmarking
|
|
||||||
|
|
||||||
EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
|
|
||||||
EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
|
|
||||||
EFL_CHECK_BENCHMARK([enable_benchmark="yes"], [enable_benchmark="no"])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
eina-0.pc
|
eina-0.pc
|
||||||
|
@ -440,14 +438,12 @@ echo " SSE..................: ${have_sse}"
|
||||||
echo " SSE2.................: ${have_sse2}"
|
echo " SSE2.................: ${have_sse2}"
|
||||||
echo " ALTIVEC..............: ${have_altivec}"
|
echo " ALTIVEC..............: ${have_altivec}"
|
||||||
echo
|
echo
|
||||||
echo " Memory pool:"
|
echo " Memory pools:"
|
||||||
echo " Ememoa.............: ${enable_ememoa}"
|
echo " Chained pool.......: ${enable_chained_pool}"
|
||||||
echo
|
echo " Ememoa fixed.......: ${enable_ememoa_fixed}"
|
||||||
echo " Static build of memory pools:"
|
echo " Ememoa unknown.....: ${enable_ememoa_unknown}"
|
||||||
echo " Chained pool.......: ${enable_static_chained_pool}"
|
echo " Fixed bitmap.......: ${enable_fixed_bitmap}"
|
||||||
echo " Ememoa fixed.......: ${enable_static_ememoa_fixed}"
|
echo " Pass through.......: ${enable_pass_through}"
|
||||||
echo " Ememoa unknown.....: ${enable_static_ememoa_unknown}"
|
|
||||||
echo " Pass through.......: ${enable_static_pass_through}"
|
|
||||||
echo
|
echo
|
||||||
echo " Installation.........: make install"
|
echo " Installation.........: make install"
|
||||||
echo
|
echo
|
||||||
|
|
|
@ -1,29 +1,63 @@
|
||||||
dnl use: EINA_CHECK_STATIC(foo-bar, description)
|
dnl use: EINA_CHECK_MODULE(foo-bar, have_dependency, description)
|
||||||
AC_DEFUN([EINA_CHECK_STATIC],
|
AC_DEFUN([EINA_CHECK_MODULE],
|
||||||
[
|
[
|
||||||
pushdef([UP], translit([$1], [-a-z], [_A-Z]))dnl
|
m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
|
||||||
pushdef([DOWN], translit([$1], [-A-Z], [_a-z]))dnl
|
m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
|
||||||
|
|
||||||
AC_ARG_ENABLE([static-$1],
|
want_module="$2"
|
||||||
[AC_HELP_STRING([--enable-static-$1], [enable static build of $2 @<:@default=no@:>@])],
|
|
||||||
|
AC_ARG_ENABLE([$1],
|
||||||
|
[AC_HELP_STRING([--enable-$1@<:@=yes|static|no@:>@], [enable build of $3 @<:@default=yes@:>@])],
|
||||||
[
|
[
|
||||||
if test "x${enableval}" = "xyes" ; then
|
if test "x${enableval}" = "xyes" ; then
|
||||||
enable_static_[]DOWN="yes"
|
enable_module="yes"
|
||||||
else
|
else
|
||||||
enable_static_[]DOWN="no"
|
if test "x${enableval}" = "xstatic" ; then
|
||||||
|
enable_module="static"
|
||||||
|
else
|
||||||
|
enable_module="no"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
],
|
],
|
||||||
[enable_static_[]DOWN="no"]
|
[enable_module="yes"]
|
||||||
)
|
)
|
||||||
AC_MSG_CHECKING([whether $2 is statically build])
|
|
||||||
AC_MSG_RESULT([${enable_static_[]DOWN}])
|
|
||||||
|
|
||||||
AM_CONDITIONAL(EINA_STATIC_BUILD_[]UP, test "x${enable_static_[]DOWN}" = "xyes")
|
have_module="no"
|
||||||
|
if test "x${enable_module}" = "xyes" -o "x${enable_module}" = "xstatic" ; then
|
||||||
|
have_module="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x${enable_static_[]DOWN}" = "xyes" ; then
|
AC_MSG_CHECKING([whether to enable $3 built])
|
||||||
|
AC_MSG_RESULT([${have_module}])
|
||||||
|
|
||||||
|
build_module="no"
|
||||||
|
if test "x${want_module}" = "xyes" -a "x${have_module}" = "xyes" ; then
|
||||||
|
build_module="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to build $3])
|
||||||
|
AC_MSG_RESULT([${build_module}])
|
||||||
|
|
||||||
|
static_module="no"
|
||||||
|
if test "x${want_module}" = "xyes" -a "x${enable_module}" = "xstatic" ; then
|
||||||
|
static_module="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to statically link $3])
|
||||||
|
AC_MSG_RESULT([${static_module}])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(EINA_BUILD_[]UP, [test "x${build_module}" = "xyes"])
|
||||||
|
AM_CONDITIONAL(EINA_STATIC_BUILD_[]UP, [test "x${static_module}" = "xyes"])
|
||||||
|
|
||||||
|
if test "x${static_module}" = "xyes" ; then
|
||||||
AC_DEFINE(EINA_STATIC_BUILD_[]UP, 1, [Set to 1 if $2 is statically built])
|
AC_DEFINE(EINA_STATIC_BUILD_[]UP, 1, [Set to 1 if $2 is statically built])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
popdef([UP])
|
enable_[]DOWN="no"
|
||||||
popdef([DOWN])
|
if test "x${want_module}" = "xyes" ; then
|
||||||
|
enable_[]DOWN=${enable_module}
|
||||||
|
fi
|
||||||
|
|
||||||
|
m4_popdef([UP])
|
||||||
|
m4_popdef([DOWN])
|
||||||
])
|
])
|
|
@ -51,6 +51,12 @@ libeina_la_SOURCES += $(top_srcdir)/src/modules/mp/ememoa_unknown/eina_ememoa_un
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if EINA_STATIC_BUILD_FIXED_BITMAP
|
||||||
|
|
||||||
|
libeina_la_SOURCES += $(top_srcdir)/src/modules/mp/fixed_bitmap/eina_fixed_bitmap.c
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
if EINA_STATIC_BUILD_PASS_THROUGH
|
if EINA_STATIC_BUILD_PASS_THROUGH
|
||||||
|
|
||||||
libeina_la_SOURCES += $(top_srcdir)/src/modules/mp/pass_through/pass_through.c
|
libeina_la_SOURCES += $(top_srcdir)/src/modules/mp/pass_through/pass_through.c
|
||||||
|
|
|
@ -6,6 +6,7 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_builddir)/src/include \
|
-I$(top_builddir)/src/include \
|
||||||
@EINA_CFLAGS@ @EFL_PTHREAD_CFLAGS@
|
@EINA_CFLAGS@ @EFL_PTHREAD_CFLAGS@
|
||||||
|
|
||||||
|
if EINA_BUILD_CHAINED_POOL
|
||||||
if !EINA_STATIC_BUILD_CHAINED_POOL
|
if !EINA_STATIC_BUILD_CHAINED_POOL
|
||||||
|
|
||||||
controllerdir = $(libdir)/eina/mp
|
controllerdir = $(libdir)/eina/mp
|
||||||
|
@ -18,6 +19,7 @@ eina_chained_mempool_la_LIBADD = $(top_builddir)/src/lib/libeina.la @EINA_LIBS@
|
||||||
eina_chained_mempool_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
|
eina_chained_mempool_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
|
||||||
eina_chained_mempool_la_LIBTOOLFLAGS = --tag=disable-static
|
eina_chained_mempool_la_LIBTOOLFLAGS = --tag=disable-static
|
||||||
|
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
|
@ -8,8 +8,7 @@ AM_CPPFLAGS = \
|
||||||
@EINA_CFLAGS@ \
|
@EINA_CFLAGS@ \
|
||||||
@EMEMOA_CFLAGS@
|
@EMEMOA_CFLAGS@
|
||||||
|
|
||||||
if EINA_ENABLE_EMEMOA
|
if EINA_BUILD_EMEMOA_FIXED
|
||||||
|
|
||||||
if !EINA_STATIC_BUILD_EMEMOA_FIXED
|
if !EINA_STATIC_BUILD_EMEMOA_FIXED
|
||||||
|
|
||||||
controllerdir = $(libdir)/eina/mp
|
controllerdir = $(libdir)/eina/mp
|
||||||
|
@ -23,7 +22,6 @@ eina_ememoa_fixed_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -modul
|
||||||
eina_ememoa_fixed_la_LIBTOOLFLAGS = --tag=disable-static
|
eina_ememoa_fixed_la_LIBTOOLFLAGS = --tag=disable-static
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
|
@ -8,8 +8,7 @@ AM_CPPFLAGS = \
|
||||||
@EINA_CFLAGS@ \
|
@EINA_CFLAGS@ \
|
||||||
@EMEMOA_CFLAGS@
|
@EMEMOA_CFLAGS@
|
||||||
|
|
||||||
if EINA_ENABLE_EMEMOA
|
if EINA_BUILD_EMEMOA_UNKNOWN
|
||||||
|
|
||||||
if !EINA_STATIC_BUILD_EMEMOA_UNKNOWN
|
if !EINA_STATIC_BUILD_EMEMOA_UNKNOWN
|
||||||
|
|
||||||
controllerdir = $(libdir)/eina/mp
|
controllerdir = $(libdir)/eina/mp
|
||||||
|
@ -23,7 +22,6 @@ eina_ememoa_unknown_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -mod
|
||||||
eina_ememoa_unknown_la_LIBTOOLFLAGS = --tag=disable-static
|
eina_ememoa_unknown_la_LIBTOOLFLAGS = --tag=disable-static
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
|
@ -6,6 +6,7 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_builddir)/src/include \
|
-I$(top_builddir)/src/include \
|
||||||
@EINA_CFLAGS@
|
@EINA_CFLAGS@
|
||||||
|
|
||||||
|
if EINA_BUILD_FIXED_BITMAP
|
||||||
if !EINA_STATIC_BUILD_FIXED_BITMAP
|
if !EINA_STATIC_BUILD_FIXED_BITMAP
|
||||||
|
|
||||||
controllerdir = $(libdir)/eina/mp
|
controllerdir = $(libdir)/eina/mp
|
||||||
|
@ -18,6 +19,7 @@ eina_fixed_bitmap_la_LIBADD = $(top_builddir)/src/lib/libeina.la @EINA_LIBS@
|
||||||
eina_fixed_bitmap_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
|
eina_fixed_bitmap_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
|
||||||
eina_fixed_bitmap_la_LIBTOOLFLAGS = --tag=disable-static
|
eina_fixed_bitmap_la_LIBTOOLFLAGS = --tag=disable-static
|
||||||
|
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
|
@ -7,18 +7,20 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_builddir)/src/include \
|
-I$(top_builddir)/src/include \
|
||||||
@EINA_CFLAGS@
|
@EINA_CFLAGS@
|
||||||
|
|
||||||
|
if EINA_BUILD_PASS_THROUGH
|
||||||
if !EINA_STATIC_BUILD_PASS_THROUGH
|
if !EINA_STATIC_BUILD_PASS_THROUGH
|
||||||
|
|
||||||
controllerdir = $(libdir)/eina/mp
|
controllerdir = $(libdir)/eina/mp
|
||||||
controller_LTLIBRARIES = pass_through.la
|
controller_LTLIBRARIES = eina_pass_through.la
|
||||||
|
|
||||||
pass_through_la_SOURCES = \
|
eina_pass_through_la_SOURCES = \
|
||||||
pass_through.c
|
eina_pass_through.c
|
||||||
|
|
||||||
pass_through_la_LIBADD = $(top_builddir)/src/lib/libeina.la @EINA_LIBS@
|
eina_pass_through_la_LIBADD = $(top_builddir)/src/lib/libeina.la @EINA_LIBS@
|
||||||
pass_through_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
|
eina_pass_through_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
|
||||||
pass_through_la_LIBTOOLFLAGS = --tag=disable-static
|
eina_pass_through_la_LIBTOOLFLAGS = --tag=disable-static
|
||||||
|
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
Loading…
Reference in New Issue