# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) AC_INIT([libtpl-egl], [TPL_VERSION_MAJOR.TPL_VERSION_MINOR.TPL_VERSION_PATCH]) AC_CONFIG_SRCDIR([src/tpl.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects]) # Initialize libtool LT_PREREQ([2.2]) LT_INIT([disable-static]) # Initialize version macros AC_SUBST(TPL_VERSION_MAJOR) AC_SUBST(TPL_VERSION_MINOR) AC_SUBST(TPL_VERSION_PATCH) AC_SUBST(WL_EGL_VERSION_MAJOR) AC_SUBST(WL_EGL_VERSION_MINOR) AC_SUBST(WL_EGL_VERSION_PATCH) AC_SUBST(WL_EGL_TIZEN_VERSION_MAJOR) AC_SUBST(WL_EGL_TIZEN_VERSION_MINOR) AC_SUBST(WL_EGL_TIZEN_VERSION_PATCH) # Checks for programs. AC_PROG_CXX AC_PROG_CC # Checks for libraries. AC_CHECK_LIB([dl], [dlopen]) AC_CHECK_LIB([pthread], [pthread_create]) # Checks for header files. AC_CHECK_HEADERS([fcntl.h stddef.h stdint.h stdlib.h string.h unistd.h]) # pkg-config PKG_PROG_PKG_CONFIG if test "${PKG_CONFIG}" = "" ; then AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...]) fi PKG_CHECK_MODULES([TPL_ESSENTIAL], [libtbm]) # Checks for features AC_ARG_WITH([arch], [AS_HELP_STRING([--with-arch=armv7l|aarch64],[Set target architecture.])], [], []) AS_IF([test "${with_arch}" = "aarch64"], [TPL_CFLAGS+=" -DARM_ATOMIC_OPERATION "], []) AC_ARG_WITH([wayland], [AS_HELP_STRING([--with-wayland=yes|no],[Sets the backend of tpl as wayland. @<:@default=enabled@:>@])], [], [with_wayland=yes]) AS_IF([test "${with_wayland}" = "yes" || test "${with_wayland}" = "1"], [PKG_CHECK_MODULES([TPL_WL], [libtdm-client wayland-tbm-client wayland-tbm-server glib-2.0 wayland-egl wayland-egl-backend]) TPL_CFLAGS+="$TPL_WL_CFLAGS" TPL_CFLAGS+=" -DTPL_WINSYS_WL=1 " TPL_LIBS+=" $TPL_WL_LIBS "], []) AM_CONDITIONAL([WITH_WAYLAND], [test "${with_wayland}" = "yes" || test "${with_wayland}" = "1"]) AC_ARG_WITH([tbm], [AS_HELP_STRING([--with-tbm=yes|no],[Sets the backend of tpl as tbm. @<:@default=enabled@:>@])], [], [with_tbm=yes]) AS_IF([test "${with_tbm}" = "yes" || test "${with_tbm}" = "1"], [TPL_CFLAGS+=" -DTPL_WINSYS_TBM=1 "], []) AM_CONDITIONAL([WITH_TBM], [test "${with_tbm}" = "yes" || test "${with_tbm}" = "1"]) AC_ARG_ENABLE([wayland-thread], [AS_HELP_STRING([--enable-wayland-thread=yes|no],[Sets the backend of tpl as wayland-thread.])], [], []) AS_IF([test "${enable_wayland_thread}" = "yes" || test "${enable_wayland_thread}" = "1"], [TPL_CFLAGS+=" -DWL_THREAD_DEFAULT_ENABLE=1 "], []) AM_CONDITIONAL([ENABLE_WAYLAND_THREAD], [test "${enable_wayland_thread}" = "yes" || test "${enable_wayland_thread}" = "1"]) AC_ARG_ENABLE([dlog], [AS_HELP_STRING([--enable-dlog=yes|no],[Enable dlog. @<:@default=enabled@:>@])], [], [enable_dlog=yes]) AS_IF([test "${enable_dlog}" = "yes" || test "${enable_dlog}" = "1"], [PKG_CHECK_MODULES([DLOG], [dlog]) TPL_CFLAGS+="$DLOG_CFLAGS" TPL_CFLAGS+=" -DDLOG_DEFAULT_ENABLE " TPL_LIBS+=" $DLOG_LIBS" WL_EGL_TIZEN_CFLAGS+="$DLOG_CFLAGS" WL_EGL_TIZEN_LIBS+=" $DLOG_LIBS"], []) AM_CONDITIONAL([ENABLE_DLOG], [test "${enable_dlog}" = "yes" || test "${enable_dlog}" = "1"]) AC_ARG_ENABLE([dlog-default], [AS_HELP_STRING([--enable-dlog-default=yes|no],[Enable printing dlog by default. @<:@default=disabled@:>@])], [], []) AS_IF([test "${enable_dlog_default}" = "yes" || test "${enable_dlog_default}" = "1"], [TPL_CFLAGS+=" -DLOG_DEFAULT_ENABLE "], []) AM_CONDITIONAL([ENABLE_DLOG_DEFAULT], [test "${enable_dlog_default}" = "yes" || test "${enable_dlog_default}" = "1"]) AC_ARG_ENABLE([dump], [AS_HELP_STRING([--enable-dump=yes|no],[Enable creating dump by default. @<:@default=disabled@:>@])], [], []) AS_IF([test "${enable_dump}" = "yes" || test "${enable_dump}" = "1"], [TPL_CFLAGS+=" -DDEFAULT_DUMP_ENABLE "], []) AM_CONDITIONAL([ENABLE_DUMP], [test "${enable_dump}" = "yes" || test "${enable_dump}" = "1"]) AC_ARG_ENABLE([object-hash-check], [AS_HELP_STRING([--enable-object-hash-check=yes|no],[Enable object hash check. @<:@default=disabled@:>@])], [], []) AS_IF([test "${enable_object_hash_check}" = "yes" || test "${enable_object_hash_check}" = "1"], [TPL_CFLAGS+=" -DOBJECT_HASH_CHECK "], []) AM_CONDITIONAL([ENABLE_OBJECT_HASH_CHECK], [test "${enable_object_hash_check}" = "yes" || test "${enable_object_hash_check}" = "1"]) AC_ARG_ENABLE([ttrace], [AS_HELP_STRING([--enable-ttrace=yes|no],[Enable ttrace.])], [], []) AS_IF([test "${enable_ttrace}" = "yes" || test "${enable_ttrace}" = "1"], [PKG_CHECK_MODULES([TTRACE], [ttrace]) TPL_CFLAGS+="$TTRACE_CFLAGS" TPL_CFLAGS+=" -DTTRACE_ENABLE=1 " TPL_LIBS+=" $TTRACE_LIBS"], []) AM_CONDITIONAL([ENABLE_TTRACE], [test "${enable_ttrace}" = "yes" || test "${enable_ttrace}" = "1"]) AC_ARG_ENABLE([tizen-feature], [AS_HELP_STRING([--enable-tizen-feature=yes|no],[Enable tizen specific feature. @<:@default=enabled@:>@])], [], []) AS_IF([test "${enable_tizen_feature}" = "yes" || test "${enable_tizen_feature}" = "1"], [PKG_CHECK_MODULES([TIZEN_FEATURE], [tizen-surface-client presentation-time-client linux-explicit-synchronization-unstable-v1-client]) TPL_CFLAGS+="$TIZEN_FEATURE_CFLAGS" TPL_CFLAGS+=" -DTIZEN_FEATURE_ENABLE=1 " TPL_LIBS+=" $TIZEN_FEATURE_LIBS"], [TPL_CFLAGS+=" -DTIZEN_FEATURE_ENABLE=0 "]) AM_CONDITIONAL([ENABLE_TIZEN_FEATURE], [test "${enable_tizen_feature}" = "yes" || test "${enable_tizen_feature}" = "1"]) AC_ARG_WITH([utest], [AS_HELP_STRING([--with-utest=yes|no],[Build tpl unit test. @<:@default=disabled@:>@])], [], []) # TODO: Apply pkgconfig on gtest AS_IF([test "${with_utest}" = "yes" || test "${with_utest}" = "1"], [TPL_TEST_CFLAGS= TPL_TEST_LIBS+="-lgtest"], []) AM_CONDITIONAL([WITH_UTEST], [test "${with_utest}" = "yes" || test "${with_utest}" = "1"]) AC_ARG_ENABLE([gcov], [AS_HELP_STRING([--enable-gcov=yes|no],[Enable gcov.])], [], []) # TODO: Apply pkgconfig on gcov AS_IF([test "${enable_gcov}" = "yes" || test "${enable_gcov}" = "1"], [TPL_CFLAGS+=" -fprofile-arcs -ftest-coverage" TPL_LIBS+=" -lgcov " WL_EGL_CFLAGS+=" -fprofile-arcs -ftest-coverage" WL_EGL_LIBS+=" -lgcov " WL_EGL_TIZEN_CFLAGS+=" -fprofile-arcs -ftest-coverage" WL_EGL_TIZENLIBS+=" -lgcov ", ]) AM_CONDITIONAL([ENABLE_GCOV], [test "${enable_gcov}" = "yes" || test "${enable_gcov}" = "1"]) TPL_CFLAGS+="$TPL_ESSENTIAL_CFLAGS" TPL_LIBS+=" $TPL_ESSENTIAL_LIBS" AC_SUBST([TPL_CFLAGS]) AC_SUBST([TPL_LIBS]) AC_SUBST([WL_EGL_CFLAGS]) AC_SUBST([WL_EGL_LIBS]) AC_SUBST([WL_EGL_TIZEN_CFLAGS]) AC_SUBST([WL_EGL_TIZEN_LIBS]) # Checks for typedefs, structures, and compiler characteristics. AC_C_INLINE AC_TYPE_INT32_T AC_TYPE_INT64_T AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T AC_TYPE_UINT8_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_STRERROR_R AC_CHECK_FUNCS([clock_gettime memset]) AC_SUBST(LIBDIR) AC_SUBST(INCLUDEDIR) # Set output files AC_CONFIG_FILES([ Makefile src/Makefile src/wayland-egl-tizen/Makefile pkgconfig/Makefile pkgconfig/tpl-egl.pc pkgconfig/wayland-egl-tizen.pc ]) AM_COND_IF([WITH_UTEST], [AC_SUBST([TPL_TEST_CFLAGS]) AC_SUBST([TPL_TEST_LIBS]) AC_CONFIG_FILES([tc/Makefile]) ]) AC_OUTPUT