]> git.cworth.org Git - fips/commitdiff
configure: Add checks for GL/gl.h
authorCarl Worth <cworth@cworth.org>
Mon, 29 Apr 2013 21:54:52 +0000 (14:54 -0700)
committerCarl Worth <cworth@cworth.org>
Mon, 29 Apr 2013 21:54:52 +0000 (14:54 -0700)
Previously, the compile would just forge ahead assuming GL/gl.h was present.

Now, at configure time, actually look for gl.h, (first, by looking for
a pkg-config "gl" package, otherwise, trying to just test-compile
something with a #include <GL/gl.h>).

If things aren't found at configure time, tell the user which packages
to install.

configure

index f86db978dd5fec4a87c9f2fa095fb306ff7cacb8..121aec4d2604add06e3454a46f15f63ab15dfdb6 100755 (executable)
--- a/configure
+++ b/configure
@@ -228,6 +228,45 @@ else
 fi
 rm -f elf-minimal elf-minimal.c
 
 fi
 rm -f elf-minimal elf-minimal.c
 
+printf "Checking for OpenGL header file GL/gl.h... "
+have_gl=0
+if pkg-config --exists gl; then
+    printf "Yes.\n"
+    have_gl=1
+    gl_cflags=$(pkg-config --cflags gl)
+else
+    printf "#include <GL/gl.h>\nint main(void){return 0;}\n" > gl-minimal.c
+    if ${CC} -o gl-minimal gl-minimal.c > /dev/null 2>&1
+    then
+       printf "Yes.\n"
+       have_gl=1
+    else
+       printf "No.\n"
+       errors=$((errors + 1))
+    fi
+    rm -f gl-minimal gl-minimal.c
+fi
+
+printf "Checking for GL window-system-binding headers:\n"
+have_gl_winsys=0
+
+printf "    Checking for GL/glx.h... "
+have_glx=0
+printf "#include <GL/glx.h>\nint main(void){return 0;}\n" > glx-minimal.c
+if ${CC} -o glx-minimal glx-minimal.c ${gl_cflags} > /dev/null 2>&1
+then
+    printf "Yes.\n"
+    have_gl_winsys=1
+    have_glx=1
+else
+    printf "No.\n"
+fi
+rm -f glx-minimal glx-minimal.c
+
+if [ $have_gl_winsys -eq 0 ]; then
+    errors=$((errors + 1))
+fi
+
 if [ $errors -gt 0 ]; then
     cat <<EOF
 
 if [ $errors -gt 0 ]; then
     cat <<EOF
 
@@ -246,6 +285,16 @@ EOF
        echo "  http://http://sourceforge.net/projects/elftoolchain/"
        echo
     fi
        echo "  http://http://sourceforge.net/projects/elftoolchain/"
        echo
     fi
+    if [ $have_gl -eq 0 ]; then
+       echo "  Open GL header files (GL/gl.h)"
+       echo "  http://www.mesa3d.org/"
+       echo
+    fi
+    if [ $have_gl_winsys -eq 0 ]; then
+       echo "  OpenGL window-system-bindings header files (GL/glx.h)"
+       echo "  http://www.mesa3d.org/"
+       echo
+    fi
     cat <<EOF
 With any luck, you're using a modern, package-based operating system
 that has all of these packages available in the distribution. In that
     cat <<EOF
 With any luck, you're using a modern, package-based operating system
 that has all of these packages available in the distribution. In that
@@ -253,11 +302,13 @@ case a simple command will install everything you need. For example:
 
 On Debian and similar systems:
 
 
 On Debian and similar systems:
 
-       sudo apt-get install libtalloc-dev libelf-dev
+       sudo apt-get install libtalloc-dev libelf-dev \\
+       libgl1-mesa-dev
 
 Or on Fedora and similar systems:
 
 
 Or on Fedora and similar systems:
 
-       sudo yum install libtalloc-devel libelf-devel
+       sudo yum install libtalloc-devel libelf-devel \\
+       mesa-libGL-devel
 
 On other systems, similar commands can be used, but the details of the
 package names may be different.
 
 On other systems, similar commands can be used, but the details of the
 package names may be different.
@@ -381,11 +432,14 @@ TALLOC_LDFLAGS = ${talloc_ldflags}
 LIBELF_CFLAGS = ${libelf_cflags}
 LIBELF_LDFLAGS = ${libelf_ldflags}
 
 LIBELF_CFLAGS = ${libelf_cflags}
 LIBELF_LDFLAGS = ${libelf_ldflags}
 
+# Flags needed to find GL and GLX header files (GL/gl.h and GL/glx.h)
+GL_CFLAGS = ${gl_cflags}
+
 # Flags needed to have linker link only to necessary libraries
 AS_NEEDED_LDFLAGS = ${as_needed_ldflags}
 
 # Combined flags for compiling and linking against all of the above
 # Flags needed to have linker link only to necessary libraries
 AS_NEEDED_LDFLAGS = ${as_needed_ldflags}
 
 # Combined flags for compiling and linking against all of the above
-CONFIGURE_CFLAGS = \$(TALLOC_CFLAGS) \$(LIBELF_CFLAGS)
+CONFIGURE_CFLAGS = \$(TALLOC_CFLAGS) \$(LIBELF_CFLAGS) \$(GL_CFLAGS)
 CONFIGURE_LDFLAGS = \$(TALLOC_LDFLAGS) \$(LIBELF_LDFLAGS)
 EOF
 
 CONFIGURE_LDFLAGS = \$(TALLOC_LDFLAGS) \$(LIBELF_LDFLAGS)
 EOF