| # Copyright © 2013 Intel Corporation |
| # |
| # Permission is hereby granted, free of charge, to any person obtaining a |
| # copy of this software and associated documentation files (the "Software"), |
| # to deal in the Software without restriction, including without limitation |
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| # and/or sell copies of the Software, and to permit persons to whom the |
| # Software is furnished to do so, subject to the following conditions: |
| # |
| # The above copyright notice and this permission notice (including the next |
| # paragraph) shall be included in all copies or substantial portions of the |
| # Software. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
| # IN THE SOFTWARE. |
| |
| # Initialize Autoconf |
| AC_PREREQ([2.60]) |
| AC_INIT([libepoxy], |
| [1.3.1], |
| [https://github.com/anholt/libepoxy], |
| [libepoxy]) |
| AC_CONFIG_SRCDIR([Makefile.am]) |
| AC_CONFIG_HEADERS([config.h]) |
| |
| # Initialize Automake |
| AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects]) |
| |
| # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS |
| m4_ifndef([XORG_MACROS_VERSION], |
| [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen. |
| Hint: either install from source, git://anongit.freedesktop.org/xorg/util/macros or, |
| depending on you distribution, try package 'xutils-dev' or 'xorg-x11-util-macros'])]) |
| |
| XORG_MACROS_VERSION(1.8) |
| XORG_DEFAULT_OPTIONS |
| |
| AC_CHECK_PROGS([PYTHON], [python3 python2 python]) |
| |
| # Initialize libtool |
| AC_DISABLE_STATIC |
| AC_LIBTOOL_WIN32_DLL |
| AC_PROG_LIBTOOL |
| AC_SYS_LARGEFILE |
| |
| AC_CHECK_HEADER([KHR/khrplatform.h], |
| [AC_DEFINE([HAVE_KHRPLATFORM_H], [1], |
| [Define to 1 if you have <KHR/khrplatform.h> (used for tests)] |
| )] |
| ) |
| |
| # OS X defaults to having -Wint-conversion ("warn when passing |
| # uintptr_t to a void *") by default. Kill that. |
| XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) |
| |
| has_znow=yes |
| |
| case $host_os in |
| mingw*) |
| build_egl=no |
| build_glx=no |
| build_wgl=yes |
| # On windows, the DLL has to have all of its functions |
| # resolved at link time, so we have to link directly aginst |
| # opengl32.dll. But that's the only GL provider, anyway. |
| EPOXY_LINK_LIBS="-lopengl32" |
| |
| # Testing our built windows binaries requires that they be run |
| # under wine. Yeah, we should be nice and autodetect, but |
| # there's lots of missing autodetection for the testsuite |
| # (like checking for EGL and GLX libs in non-windows.). |
| AC_SUBST([LOG_COMPILER], [wine]) |
| ;; |
| darwin*) |
| build_egl=no |
| build_glx=no |
| build_wgl=no |
| build_apple=yes |
| has_znow=no |
| EPOXY_LINK_LIBS="" |
| ;; |
| *) |
| build_egl=yes |
| build_glx=yes |
| build_wgl=no |
| # On platforms with dlopen, we load everything dynamically and |
| # don't link against a specific window system or GL implementation. |
| EPOXY_LINK_LIBS="" |
| ;; |
| esac |
| |
| AC_SUBST(EPOXY_LINK_LIBS) |
| |
| AM_CONDITIONAL(BUILD_EGL, test x$build_egl = xyes) |
| if test x$build_egl = xyes; then |
| PKG_CHECK_MODULES(EGL, [egl]) |
| AC_DEFINE([BUILD_EGL], [1], [build EGL tests]) |
| fi |
| |
| AM_CONDITIONAL(BUILD_GLX, test x$build_glx = xyes) |
| if test x$build_glx = xyes; then |
| AC_DEFINE([BUILD_GLX], [1], [build GLX tests]) |
| fi |
| |
| AM_CONDITIONAL(BUILD_WGL, test x$build_wgl = xyes) |
| if test x$build_wgl = xyes; then |
| AC_DEFINE([BUILD_WGL], [1], [build WGL tests]) |
| fi |
| |
| AM_CONDITIONAL(BUILD_APPLE, test x$build_apple = xyes) |
| if test x$build_apple = xyes; then |
| AC_DEFINE([BUILD_APPLE], [1], [build APPLE is apple (for testing)]) |
| fi |
| |
| AM_CONDITIONAL(HAS_ZNOW, test x$has_znow = xyes) |
| |
| AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"]) |
| AC_SUBST([DLOPEN_LIBS]) |
| |
| case $host_os in |
| mingw*) |
| # visibility flags aren't supported for windows DLLs, and the |
| # compiler whines to tell you so, so don't set them up. |
| ;; |
| *) |
| if test "x$GCC" = xyes; then |
| save_CFLAGS="$CFLAGS" |
| AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden]) |
| VISIBILITY_CFLAGS="-fvisibility=hidden" |
| CFLAGS="$CFLAGS $VISIBILITY_CFLAGS" |
| AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), |
| [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]); |
| |
| # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed. |
| CFLAGS=$save_CFLAGS |
| fi |
| ;; |
| esac |
| |
| AC_SUBST([VISIBILITY_CFLAGS]) |
| |
| PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no]) |
| if test x$x11 = xno -a x$build_glx = xyes; then |
| AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) |
| |
| PKG_CHECK_MODULES(GL, [gl], [gl=yes], [gl=no]) |
| |
| AC_CONFIG_FILES([ |
| epoxy.pc |
| Makefile |
| include/epoxy/Makefile |
| src/Makefile |
| test/Makefile |
| ]) |
| AC_OUTPUT |
| |
| echo " EGL: $build_egl" |
| echo " GLX: $build_glx" |
| echo " WGL: $build_wgl" |
| echo " PYTHON: $PYTHON" |