X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=71d097845e08245f95362cc303b5fbc70e7e7ee9;hb=e79b80233e49218942d0cc98ea4e1e938b762411;hp=d4e596ceb419e6a9dca3f1e0f8d53e58d9fcf88e;hpb=1042dc15e0ca69a4d8d4d23b862f1e3d3c8e054f;p=profile%2Fivi%2Fweston.git diff --git a/configure.ac b/configure.ac index d4e596c..71d0978 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,21 @@ +m4_define([weston_major_version], [1]) +m4_define([weston_minor_version], [0]) +m4_define([weston_micro_version], [6]) +m4_define([weston_version], + [weston_major_version.weston_minor_version.weston_micro_version]) + AC_PREREQ([2.64]) AC_INIT([weston], - [0.89], - [https://bugs.freedesktop.org/enter_bug.cgi?product=weston], + [weston_version], + [https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=weston_version], [weston], [http://wayland.freedesktop.org/]) +AC_SUBST([WESTON_VERSION_MAJOR], [weston_major_version]) +AC_SUBST([WESTON_VERSION_MINOR], [weston_minor_version]) +AC_SUBST([WESTON_VERSION_MICRO], [weston_micro_version]) +AC_SUBST([WESTON_VERSION], [weston_version]) + AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz]) @@ -13,6 +24,8 @@ AM_SILENT_RULES([yes]) # Check for programs AC_PROG_CC +AC_PROG_CXX +AC_PROG_SED # Initialize libtool LT_PREREQ([2.2]) @@ -24,24 +37,25 @@ AC_CHECK_FUNC([dlopen], [], AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl")) AC_SUBST(DLOPEN_LIBS) +AC_CHECK_HEADERS([execinfo.h]) + +AC_CHECK_FUNCS([mkostemp strchrnul]) + PKG_CHECK_MODULES(COMPOSITOR, [wayland-server egl >= 7.10 glesv2 xkbcommon pixman-1]) -AC_CHECK_PROG(RSVG_CONVERT, rsvg-convert, rsvg-convert) -AM_CONDITIONAL(HAVE_RSVG_CONVERT, test -n "$RSVG_CONVERT") - AC_ARG_ENABLE(setuid-install, [ --enable-setuid-install],, enable_setuid_install=yes) AM_CONDITIONAL(ENABLE_SETUID_INSTALL, test x$enable_setuid_install = xyes) -AC_ARG_ENABLE(xserver-launcher, [ --enable-xserver-launcher],, - enable_xserver_launcher=yes) -AM_CONDITIONAL(ENABLE_XSERVER_LAUNCHER, test x$enable_xserver_launcher = xyes) -if test x$enable_xserver_launcher = xyes; then - PKG_CHECK_MODULES([XSERVER_LAUNCHER], xcb xcb-xfixes cairo-xcb) - AC_DEFINE([BUILD_XSERVER_LAUNCHER], [1], [Build the X server launcher]) +AC_ARG_ENABLE(xwayland, [ --enable-xwayland],, + enable_xwayland=yes) +AM_CONDITIONAL(ENABLE_XWAYLAND, test x$enable_xwayland = xyes) +if test x$enable_xwayland = xyes; then + PKG_CHECK_MODULES([XWAYLAND], xcb xcb-xfixes xcursor cairo-xcb) + AC_DEFINE([BUILD_XWAYLAND], [1], [Build the X server launcher]) AC_ARG_WITH(xserver-path, AS_HELP_STRING([--with-xserver-path=PATH], [Path to X server]), [XSERVER_PATH="$withval"], @@ -63,8 +77,26 @@ if test x$enable_x11_compositor = xyes; then LIBS=$xcb_save_LIBS CFLAGS=$xcb_save_CFLAGS + X11_COMPOSITOR_MODULES="x11 x11-xcb" + + PKG_CHECK_MODULES(X11_COMPOSITOR_XKB, [xcb-xkb], + [have_xcb_xkb="yes"], [have_xcb_xkb="no"]) + if test "x$have_xcb_xkb" = xyes; then + # Most versions of XCB have totally broken XKB bindings, where the + # events don't work. Make sure we can actually use them. + xcb_xkb_save_CFLAGS=$CFLAGS + CFLAGS=$X11_COMPOSITOR_XKB_CFLAGS + AC_CHECK_MEMBER([struct xcb_xkb_state_notify_event_t.xkbType], + [], [have_xcb_xkb=no], [[#include ]]) + CFLAGS=$xcb_xkb_save_CFLAGS + fi + if test "x$have_xcb_xkb" = xyes; then + X11_COMPOSITOR_MODULES="$X11_COMPOSITOR_MODULES xcb-xkb" + AC_DEFINE([HAVE_XCB_XKB], [1], [libxcb supports XKB protocol]) + fi + + PKG_CHECK_MODULES(X11_COMPOSITOR, [$X11_COMPOSITOR_MODULES]) AC_DEFINE([BUILD_X11_COMPOSITOR], [1], [Build the X11 compositor]) - PKG_CHECK_MODULES(X11_COMPOSITOR, [x11 x11-xcb]) fi @@ -77,15 +109,6 @@ if test x$enable_drm_compositor = xyes; then fi -AC_ARG_ENABLE(openwfd-compositor, [ --enable-openwfd-compositor],, - enable_openwfd_compositor=no) -AM_CONDITIONAL(ENABLE_OPENWFD_COMPOSITOR, test x$enable_openwfd_compositor = xyes) -if test x$enable_openwfd_compositor = xyes; then - AC_DEFINE([BUILD_OPENWFD_COMPOSITOR], [1], [Build the OpenWF compositor]) - PKG_CHECK_MODULES(OPENWFD_COMPOSITOR, [openwfd gbm]) -fi - - AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor],, enable_wayland_compositor=yes) AM_CONDITIONAL(ENABLE_WAYLAND_COMPOSITOR, @@ -96,12 +119,25 @@ if test x$enable_wayland_compositor = xyes; then PKG_CHECK_MODULES(WAYLAND_COMPOSITOR, [wayland-client wayland-egl]) fi -AC_ARG_WITH(cairo-glesv2, AS_HELP_STRING([--with-cairo-glesv2], - [Use GLESv2 cairo instead of full GL]), - [cairo_modules="cairo-glesv2"], - [cairo_modules="cairo-gl"]) -if test x$cairo_modules = xcairo-glesv2; then + +AC_ARG_ENABLE(android-compositor, + AS_HELP_STRING([--disable-android-compositor], + [do not build-test the Android 4.0 backend]),, + enable_android_compositor=yes) +AM_CONDITIONAL(ENABLE_ANDROID_COMPOSITOR, test x$enable_android_compositor = xyes) +if test x$enable_android_compositor = xyes; then + AC_DEFINE([BUILD_ANDROID_COMPOSITOR], [1], [Build the compositor for Android 4.0]) + PKG_CHECK_MODULES(ANDROID_COMPOSITOR, [mtdev >= 1.1.0]) +fi + +AC_ARG_WITH(cairo-glesv2, + AS_HELP_STRING([--with-cairo-glesv2], + [Use GLESv2 cairo instead of full GL])) +if test "x$with_cairo_glesv2" = "xyes"; then + cairo_modules="cairo-glesv2" AC_DEFINE([USE_CAIRO_GLESV2], [1], [Use the GLESv2 GL cairo backend]) +else + cairo_modules="cairo-gl" fi PKG_CHECK_MODULES(PIXMAN, [pixman-1]) @@ -110,28 +146,33 @@ PKG_CHECK_MODULES(WEBP, [libwebp], [have_webp=yes], [have_webp=no]) AS_IF([test "x$have_webp" = "xyes"], [AC_DEFINE([HAVE_WEBP], [1], [Have webp])]) -PKG_CHECK_MODULES(CAIRO, [cairo]) -SHARED_LIBS="$CAIRO_LIBS $PIXMAN_LIBS $PNG_LIBS $WEBP_LIBS" -SHARED_CFLAGS="$CAIRO_CFLAGS $PIXMAN_CFLAGS $PNG_CFLAGS $WEBP_CFLAGS" -AC_SUBST(SHARED_LIBS) -AC_SUBST(SHARED_CFLAGS) - AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], have_jpeglib=yes) if test x$have_jpeglib = xyes; then - IMAGE_LIBS="$IMAGE_LIBS -ljpeg" + JPEG_LIBS="-ljpeg" else AC_ERROR([libjpeg not found]) fi +AC_SUBST(JPEG_LIBS) -COMPOSITOR_LIBS="$COMPOSITOR_LIBS $IMAGE_LIBS" -COMPOSITOR_CFLAGS="$COMPOSITOR_CFLAGS $IMAGE_CFLAGS" +PKG_CHECK_MODULES(CAIRO, [cairo]) -AC_ARG_ENABLE(simple-clients, [ --enable-simple-clients],, enable_simple_clients=yes) -AM_CONDITIONAL(BUILD_SIMPLE_CLIENTS, test x$enable_simple_clients = xyes) +AC_ARG_ENABLE(simple-clients, + AS_HELP_STRING([--disable-simple-clients], + [do not build the simple wl_shm clients]),, + enable_simple_clients=yes) +AM_CONDITIONAL(BUILD_SIMPLE_CLIENTS, test "x$enable_simple_clients" = "xyes") if test x$enable_simple_clients = xyes; then - AC_DEFINE([BUILD_SIMPLE_CLIENTS], [1], [Build the Wayland simple clients]) - PKG_CHECK_MODULES(SIMPLE_CLIENT, - [egl >= 7.10 glesv2 wayland-client wayland-egl]) + PKG_CHECK_MODULES(SIMPLE_CLIENT, [wayland-client]) +fi + +AC_ARG_ENABLE(simple-egl-clients, + AS_HELP_STRING([--disable-simple-egl-clients], + [do not build the simple EGL clients]),, + enable_simple_egl_clients=yes) +AM_CONDITIONAL(BUILD_SIMPLE_EGL_CLIENTS, test "x$enable_simple_egl_clients" = "xyes") +if test x$enable_simple_egl_clients = xyes; then + PKG_CHECK_MODULES(SIMPLE_EGL_CLIENT, + [egl >= 7.10 glesv2 wayland-client wayland-egl wayland-cursor]) fi AC_ARG_ENABLE(clients, [ --enable-clients],, enable_clients=yes) @@ -139,18 +180,16 @@ AM_CONDITIONAL(BUILD_CLIENTS, test x$enable_clients = xyes) if test x$enable_clients = xyes; then AC_DEFINE([BUILD_CLIENTS], [1], [Build the Wayland clients]) - PKG_CHECK_MODULES(CLIENT, [wayland-client wayland-egl egl >= 7.10 cairo >= 1.10.0 xkbcommon wayland-cursor]) - - CLIENT_CFLAGS="$CLIENT_CFLAGS $IMAGE_CFLAGS" - CLIENT_LIBS="$CLIENT_LIBS $IMAGE_LIBS" + PKG_CHECK_MODULES(CLIENT, [wayland-client cairo >= 1.10.0 xkbcommon wayland-cursor]) + PKG_CHECK_MODULES(WESTON_INFO, [wayland-client]) PKG_CHECK_MODULES(POPPLER, [poppler-glib glib-2.0 gobject-2.0 gio-2.0 ], [have_poppler=yes], [have_poppler=no]) - PKG_CHECK_MODULES(CAIRO_EGL, [cairo-egl >= 1.11.3 $cairo_modules], + PKG_CHECK_MODULES(CAIRO_EGL, [wayland-egl egl >= 7.10 cairo-egl >= 1.11.3 $cairo_modules], [have_cairo_egl=yes], [have_cairo_egl=no]) AS_IF([test "x$have_cairo_egl" = "xyes"], [AC_DEFINE([HAVE_CAIRO_EGL], [1], [Have cairo-egl])], - [AC_MSG_WARN([Cairo-EGL not found - clients will use cairo image])]) + [AC_MSG_WARN([clients will use cairo image, cairo-egl not used because $CAIRO_EGL_PKG_ERRORS])]) fi AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) @@ -169,6 +208,10 @@ if test x$enable_weston_launch == xyes; then WESTON_LAUNCH_LIBS="$WESTON_LAUNCH_LIBS -lpam" fi +PKG_CHECK_MODULES(GLU, [glu], [have_glu=yes], [have_glu=no]) +AM_CONDITIONAL(HAVE_GLU, test "x$have_glu" = "xyes") + + AM_CONDITIONAL(HAVE_POPPLER, test "x$have_poppler" = "xyes") AM_CONDITIONAL(BUILD_FULL_GL_CLIENTS, @@ -176,18 +219,44 @@ AM_CONDITIONAL(BUILD_FULL_GL_CLIENTS, AM_CONDITIONAL(ENABLE_DESKTOP_SHELL, true) -AC_ARG_ENABLE(tablet-shell, [ --enable-tablet-shell],, +AC_ARG_ENABLE(tablet-shell, + AS_HELP_STRING([--disable-tablet-shell], + [do not build tablet-shell server plugin and client]),, enable_tablet_shell=yes) AM_CONDITIONAL(ENABLE_TABLET_SHELL, - test x$enable_tablet_shell = xyes) + test "x$enable_tablet_shell" = "xyes") -if test "x$GCC" = "xyes"; then - GCC_CFLAGS="-Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \ - -Wno-unused-parameter -Wno-missing-field-initializers \ - -g -fvisibility=hidden" +AC_ARG_ENABLE(wcap-tools, [ --disable-wcap-tools],, enable_wcap_tools=yes) +AM_CONDITIONAL(BUILD_WCAP_TOOLS, test x$enable_wcap_tools = xyes) +if test x$enable_wcap_tools = xyes; then + AC_DEFINE([BUILD_WCAP_TOOLS], [1], [Build the wcap tools]) + PKG_CHECK_MODULES(WCAP, [cairo]) + WCAP_LIBS="$WCAP_LIBS -lm" +fi + +AC_CHECK_PROG(RSVG_CONVERT, rsvg-convert, rsvg-convert) +AM_CONDITIONAL(HAVE_RSVG_CONVERT, test -n "$RSVG_CONVERT") + +PKG_CHECK_MODULES(SETBACKLIGHT, [libudev libdrm], enable_setbacklight=yes, enable_setbacklight=no) +AM_CONDITIONAL(BUILD_SETBACKLIGHT, test "x$enable_setbacklight" = "xyes") + +if test "x$GCC" = "xyes"; then + my_common_gcc_flags="-Wall -Wextra -Wno-unused-parameter \ + -Wno-missing-field-initializers -g -fvisibility=hidden" + GCC_CFLAGS="$my_common_gcc_flags \ + -Wstrict-prototypes -Wmissing-prototypes" + GCC_CXXFLAGS="$my_common_gcc_flags" fi AC_SUBST(GCC_CFLAGS) +AC_SUBST(GCC_CXXFLAGS) + +PKG_CHECK_MODULES(LIBUNWIND, libunwind, + [have_libunwind=yes], [have_libunwind=no]) +if test "x$have_libunwind" = xyes; then + AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support]) +fi +AM_CONDITIONAL(HAVE_LIBUNWIND, [test "x$have_libunwind" = xyes]) WAYLAND_SCANNER_RULES(['$(top_srcdir)/protocol']) @@ -195,18 +264,12 @@ AC_CONFIG_FILES([Makefile shared/Makefile src/Makefile src/xwayland/Makefile + src/version.h + src/weston.pc clients/Makefile + wcap/Makefile data/Makefile protocol/Makefile + man/Makefile tests/Makefile]) AC_OUTPUT - -if test "x$enable_setuid_install" = xyes; then -AC_MSG_WARN([ - - *** You've enabled the setuid install hook. Weston is still a - *** pre-alpha project and may have bugs and issues that make a - *** setuid install unsafe. Proceed at your own risk. -]) -fi -