140dd5a57Smrg# Copyright © 2011 Intel Corporation
240dd5a57Smrg#
340dd5a57Smrg# Permission is hereby granted, free of charge, to any person obtaining a
440dd5a57Smrg# copy of this software and associated documentation files (the "Software"),
540dd5a57Smrg# to deal in the Software without restriction, including without limitation
640dd5a57Smrg# the rights to use, copy, modify, merge, publish, distribute, sublicense,
740dd5a57Smrg# and/or sell copies of the Software, and to permit persons to whom the
840dd5a57Smrg# Software is furnished to do so, subject to the following conditions:
940dd5a57Smrg#
1040dd5a57Smrg# The above copyright notice and this permission notice (including the next
1140dd5a57Smrg# paragraph) shall be included in all copies or substantial portions of the
1240dd5a57Smrg# Software.
1340dd5a57Smrg#
1440dd5a57Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1540dd5a57Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1640dd5a57Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1740dd5a57Smrg# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1840dd5a57Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1940dd5a57Smrg# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2040dd5a57Smrg# IN THE SOFTWARE.
2140dd5a57Smrg
2240dd5a57Smrgdnl Process this file with autoconf to create configure.
2340dd5a57Smrg
2440dd5a57SmrgAC_PREREQ([2.59])
2540dd5a57SmrgAC_INIT([glw], [8.0.0],
2640dd5a57Smrg    [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
2740dd5a57SmrgAC_CANONICAL_HOST
2840dd5a57Smrg
2940dd5a57SmrgAM_INIT_AUTOMAKE([dist-bzip2])
3040dd5a57Smrg
3140dd5a57Smrgdnl Check for progs
3240dd5a57SmrgAC_PROG_CPP
3340dd5a57SmrgAC_PROG_CC
3440dd5a57SmrgAC_PROG_LIBTOOL
3540dd5a57SmrgAM_PROG_CC_C_O
3640dd5a57Smrg
3740dd5a57Smrg# Enable quiet compiles on automake 1.11.
3840dd5a57Smrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
3940dd5a57Smrg
4040dd5a57Smrgdnl Make sure the pkg-config macros are defined
4140dd5a57Smrgm4_ifndef([PKG_PROG_PKG_CONFIG],
4240dd5a57Smrg    [m4_fatal([Could not locate the pkg-config autoconf macros.
4340dd5a57Smrg  These are usually located in /usr/share/aclocal/pkg.m4. If your macros
4440dd5a57Smrg  are in a different location, try setting the environment variable
4540dd5a57Smrg  ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
4640dd5a57SmrgPKG_PROG_PKG_CONFIG()
4740dd5a57Smrg
4840dd5a57SmrgAC_ARG_ENABLE([motif],
4940dd5a57Smrg    [AS_HELP_STRING([--enable-motif],
5040dd5a57Smrg        [use Motif widgets @<:@default=disabled@:>@])],
5140dd5a57Smrg    [enable_motif="$enableval"],
5240dd5a57Smrg    [enable_motif=no])
5340dd5a57SmrgAM_CONDITIONAL([ENABLE_MOTIF], [test "$enable_motif" = yes])
5440dd5a57Smrg
5540dd5a57Smrgdnl Get the pkg-config definitions for libGL.  We include a fallback
5640dd5a57Smrgdnl path for GL implementation that don't provide a .pc file
5740dd5a57SmrgPKG_CHECK_MODULES(GL, [gl], [], [
5840dd5a57Smrg		  AC_CHECK_HEADER([GL/gl.h],
5940dd5a57Smrg				  [],
6040dd5a57Smrg				  AC_MSG_ERROR([GL not found]))
6140dd5a57Smrg		  AC_CHECK_LIB([GL],
6240dd5a57Smrg			       [glBegin],
6340dd5a57Smrg			       [GL_LIBS=-lGL],
6440dd5a57Smrg			       AC_MSG_ERROR([GL required]))
6540dd5a57Smrg		  ])
6640dd5a57Smrg
6740dd5a57SmrgPKG_CHECK_MODULES([GLW],[x11 xt])
6840dd5a57Smrg
6940dd5a57SmrgMOTIF_CFLAGS=
7040dd5a57Smrgif test "x$enable_motif" = xyes; then
7140dd5a57Smrg    AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
7240dd5a57Smrg    if test "x$MOTIF_CONFIG" != xno; then
7340dd5a57Smrg        MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
7440dd5a57Smrg        MOTIF_LIBS=`$MOTIF_CONFIG --libs`
7540dd5a57Smrg    else
7640dd5a57Smrg        AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
7740dd5a57Smrg            [AC_MSG_ERROR([Can't locate Motif headers])])
7840dd5a57Smrg        AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
7940dd5a57Smrg            [AC_MSG_ERROR([Can't locate Motif Xm library])])
8040dd5a57Smrg    fi
8140dd5a57Smrg    # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
8240dd5a57Smrg    GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
8340dd5a57Smrg    GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
8440dd5a57Smrgfi
8540dd5a57Smrg
8640dd5a57SmrgAC_SUBST([GLW_PC_LIB_PRIV])
8740dd5a57SmrgAC_SUBST([GLW_PC_CFLAGS])
8840dd5a57Smrg
8940dd5a57SmrgCFLAGS="$CFLAGS $GL_CFLAGS"
9040dd5a57SmrgLIBS="$LIBS $GL_LIBS $MOTIF_LIBS"
9140dd5a57Smrg
9240dd5a57Smrgdnl Set up C warning flags.  Copy of XORG_CWARNFLAGS.
9340dd5a57Smrgif  test "x$GCC" = xyes ; then
9440dd5a57Smrg    CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
9540dd5a57Smrg-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
9640dd5a57Smrg-Wbad-function-cast"
9740dd5a57Smrg    case `$CC -dumpversion` in
9840dd5a57Smrg    3.4.* | 4.*)
9940dd5a57Smrg	CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
10040dd5a57Smrg	;;
10140dd5a57Smrg    esac
10240dd5a57Smrgelse
10340dd5a57Smrg    AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
10440dd5a57Smrg    if test "x$SUNCC" = "xyes"; then
10540dd5a57Smrg	CWARNFLAGS="-v"
10640dd5a57Smrg    fi
10740dd5a57Smrgfi
10840dd5a57SmrgCFLAGS="$CFLAGS $CWARNFLAGS"
10940dd5a57Smrg
11040dd5a57SmrgPKG_CHECK_MODULES(X11, [x11 xext], [x11_enabled=yes], [enable_x11=no])
11140dd5a57Smrg
11240dd5a57SmrgAC_CONFIG_FILES([glw.pc])
11340dd5a57SmrgAC_OUTPUT([
11440dd5a57Smrg	Makefile
11540dd5a57Smrg])
116