configure.ac revision f220fa62
1f220fa62Smrg# Copyright © 2011 Intel Corporation 2f220fa62Smrg# 3f220fa62Smrg# Permission is hereby granted, free of charge, to any person obtaining a 4f220fa62Smrg# copy of this software and associated documentation files (the "Software"), 5f220fa62Smrg# to deal in the Software without restriction, including without limitation 6f220fa62Smrg# the rights to use, copy, modify, merge, publish, distribute, sublicense, 7f220fa62Smrg# and/or sell copies of the Software, and to permit persons to whom the 8f220fa62Smrg# Software is furnished to do so, subject to the following conditions: 9f220fa62Smrg# 10f220fa62Smrg# The above copyright notice and this permission notice (including the next 11f220fa62Smrg# paragraph) shall be included in all copies or substantial portions of the 12f220fa62Smrg# Software. 13f220fa62Smrg# 14f220fa62Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15f220fa62Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16f220fa62Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17f220fa62Smrg# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18f220fa62Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19f220fa62Smrg# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 20f220fa62Smrg# IN THE SOFTWARE. 21f220fa62Smrg 22f220fa62SmrgAC_PREREQ([2.60]) 23f220fa62SmrgAC_INIT([glu], 24f220fa62Smrg [9.0.0], 25f220fa62Smrg [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa&component=GLU]) 26f220fa62SmrgAC_CONFIG_SRCDIR([Makefile.am]) 27f220fa62SmrgAC_CANONICAL_HOST 28f220fa62Smrg 29f220fa62SmrgAM_INIT_AUTOMAKE([dist-bzip2 foreign subdir-objects]) 30f220fa62Smrg 31f220fa62SmrgLT_PREREQ([2.2]) 32f220fa62SmrgLT_INIT 33f220fa62Smrg 34f220fa62Smrgdnl Check for progs 35f220fa62SmrgAC_PROG_CPP 36f220fa62SmrgAC_PROG_CC 37f220fa62SmrgAC_PROG_CXX 38f220fa62Smrg 39f220fa62Smrgdnl Enable quiet compiles on automake 1.11. 40f220fa62Smrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 41f220fa62Smrg 42f220fa62SmrgAC_ARG_ENABLE(debug, 43f220fa62Smrg AS_HELP_STRING([--enable-debug], 44f220fa62Smrg [Enable debugging information]), 45f220fa62Smrg [CFLAGS="$CFLAGS -g -O0" 46f220fa62Smrg CXXFLAGS="$CXXFLAGS -g -O0"], 47f220fa62Smrg []) 48f220fa62Smrg 49f220fa62Smrgdnl Make sure the pkg-config macros are defined 50f220fa62Smrgm4_ifndef([PKG_PROG_PKG_CONFIG], 51f220fa62Smrg [m4_fatal([Could not locate the pkg-config autoconf macros. 52f220fa62Smrg These are usually located in /usr/share/aclocal/pkg.m4. If your macros 53f220fa62Smrg are in a different location, try setting the environment variable 54f220fa62Smrg ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])]) 55f220fa62SmrgPKG_PROG_PKG_CONFIG() 56f220fa62Smrg 57f220fa62SmrgAC_ARG_ENABLE(osmesa, 58f220fa62Smrg AS_HELP_STRING([--enable-osmesa], 59f220fa62Smrg [Enable use of OSMesa instead of libGL]), 60f220fa62Smrg [OSMESA="$enableval"], 61f220fa62Smrg [OSMESA=no]) 62f220fa62Smrg 63f220fa62Smrgdnl Get the pkg-config definitions for libGL/OSMesa. We include a fallback 64f220fa62Smrgdnl path for implementations that don't provide a .pc file 65f220fa62Smrgif test "x$OSMESA" = "xyes"; then 66f220fa62Smrg GLU_REQUIRES="osmesa" 67f220fa62Smrg PKG_CHECK_MODULES(OSMESA, [osmesa], [], [ 68f220fa62Smrg AC_CHECK_LIB([OSMesa], 69f220fa62Smrg [glBegin], 70f220fa62Smrg [OSMESA_LIBS=-lOSMesa], 71f220fa62Smrg AC_MSG_ERROR([OSMesa required])) 72f220fa62Smrg ]) 73f220fa62Smrgelse 74f220fa62Smrg GLU_REQUIRES="gl" 75f220fa62Smrg PKG_CHECK_MODULES(GL, [gl], [], [ 76f220fa62Smrg AC_CHECK_HEADER([GL/gl.h], 77f220fa62Smrg [], 78f220fa62Smrg AC_MSG_ERROR([GL not found])) 79f220fa62Smrg AC_CHECK_LIB([GL], 80f220fa62Smrg [glBegin], 81f220fa62Smrg [GL_LIBS=-lGL], 82f220fa62Smrg AC_MSG_ERROR([GL required])) 83f220fa62Smrg ]) 84f220fa62Smrgfi 85f220fa62SmrgAC_SUBST([GLU_REQUIRES]) 86f220fa62Smrg 87f220fa62Smrgdnl Set up C warning and visibility flags. 88f220fa62Smrgif test "x$GCC" = xyes; then 89f220fa62Smrg WARNCFLAGS="-Wall" 90f220fa62Smrg 91f220fa62Smrg # Enable -fvisibility=hidden if using a gcc that supports it 92f220fa62Smrg save_CFLAGS="$CFLAGS" 93f220fa62Smrg AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden]) 94f220fa62Smrg VISIBILITY_CFLAGS="-fvisibility=hidden" 95f220fa62Smrg CFLAGS="$CFLAGS $VISIBILITY_CFLAGS" 96f220fa62Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), 97f220fa62Smrg [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]); 98f220fa62Smrg 99f220fa62Smrg # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed. 100f220fa62Smrg CFLAGS=$save_CFLAGS 101f220fa62Smrg 102f220fa62Smrg if test "x$GXX" = xyes; then 103f220fa62Smrg WARNCXXFLAGS="-Wall" 104f220fa62Smrg 105f220fa62Smrg # Enable -fvisibility=hidden if using a gcc that supports it 106f220fa62Smrg save_CXXFLAGS="$CXXFLAGS" 107f220fa62Smrg AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden]) 108f220fa62Smrg VISIBILITY_CXXFLAGS="-fvisibility=hidden" 109f220fa62Smrg CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS" 110f220fa62Smrg AC_LANG_PUSH([C++]) 111f220fa62Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), 112f220fa62Smrg [VISIBILITY_CXXFLAGS=""; AC_MSG_RESULT([no])]); 113f220fa62Smrg AC_LANG_POP([C++]) 114f220fa62Smrg 115f220fa62Smrg # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed. 116f220fa62Smrg CXXFLAGS=$save_CXXFLAGS 117f220fa62Smrg fi 118f220fa62Smrgelse 119f220fa62Smrg AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) 120f220fa62Smrg if test "x$SUNCC" = "xyes"; then 121f220fa62Smrg WARNCFLAGS="-v" 122f220fa62Smrg WARNCXXFLAGS="-v" 123f220fa62Smrg fi 124f220fa62Smrgfi 125f220fa62SmrgAC_SUBST([WARNCFLAGS]) 126f220fa62SmrgAC_SUBST([WARNCXXFLAGS]) 127f220fa62SmrgAC_SUBST([VISIBILITY_CFLAGS]) 128f220fa62SmrgAC_SUBST([VISIBILITY_CXXFLAGS]) 129f220fa62Smrg 130f220fa62SmrgAC_OUTPUT([ 131f220fa62Smrg Makefile 132f220fa62Smrg glu.pc 133f220fa62Smrg]) 134