diff options
author | David Robillard <d@drobilla.net> | 2023-05-27 12:41:25 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-05-27 12:41:25 -0400 |
commit | d93b810bc39ee5e7dc0a6cb0988ccc167c152646 (patch) | |
tree | a5cac4193c84cdccbf0ae011c72e8bf13abf3b48 | |
parent | 70ca6e6138589c1c24ea3e22eff96cfbd1c06d34 (diff) | |
download | pugl-d93b810bc39ee5e7dc0a6cb0988ccc167c152646.tar.gz pugl-d93b810bc39ee5e7dc0a6cb0988ccc167c152646.tar.bz2 pugl-d93b810bc39ee5e7dc0a6cb0988ccc167c152646.zip |
Separate pugl/glu.h from pugl/gl.h
The GLU library is often shipped in a separate package, so it's possible to
have a system with GL, but no GLU headers. Since use of GLU isn't
universal (none of the examples use it), its inclusion can break builds that
would otherwise work. So, move it to a separate wrapper header so this can be
avoided.
-rw-r--r-- | doc/c/Doxyfile.in | 3 | ||||
-rw-r--r-- | doc/cpp/Doxyfile.in | 1 | ||||
-rw-r--r-- | include/meson.build | 1 | ||||
-rw-r--r-- | include/pugl/gl.h | 11 | ||||
-rw-r--r-- | include/pugl/glu.h | 22 | ||||
-rw-r--r-- | test/test_build.c | 1 |
6 files changed, 27 insertions, 12 deletions
diff --git a/doc/c/Doxyfile.in b/doc/c/Doxyfile.in index d9ce0c6..4bf1b42 100644 --- a/doc/c/Doxyfile.in +++ b/doc/c/Doxyfile.in @@ -33,9 +33,10 @@ PREDEFINED = PUGL_API \ RECURSIVE = NO STRIP_FROM_PATH = @PUGL_SRCDIR@ INPUT = @PUGL_SRCDIR@/include/pugl/attributes.h \ - @PUGL_SRCDIR@/include/pugl/pugl.h \ @PUGL_SRCDIR@/include/pugl/cairo.h \ @PUGL_SRCDIR@/include/pugl/gl.h \ + @PUGL_SRCDIR@/include/pugl/glu.h \ + @PUGL_SRCDIR@/include/pugl/pugl.h \ @PUGL_SRCDIR@/include/pugl/stub.h \ @PUGL_SRCDIR@/include/pugl/vulkan.h diff --git a/doc/cpp/Doxyfile.in b/doc/cpp/Doxyfile.in index ffb2384..05deae7 100644 --- a/doc/cpp/Doxyfile.in +++ b/doc/cpp/Doxyfile.in @@ -41,6 +41,7 @@ INPUT = @PUGL_SRCDIR@/include/pugl/attributes.h \ @PUGL_SRCDIR@/include/pugl/pugl.h \ @PUGL_SRCDIR@/include/pugl/cairo.h \ @PUGL_SRCDIR@/include/pugl/gl.h \ + @PUGL_SRCDIR@/include/pugl/glu.h \ @PUGL_SRCDIR@/include/pugl/stub.h \ @PUGL_SRCDIR@/include/pugl/vulkan.h \ @PUGL_SRCDIR@/bindings/cpp/include/pugl/pugl.hpp \ diff --git a/include/meson.build b/include/meson.build index 2f31b3d..00d4aed 100644 --- a/include/meson.build +++ b/include/meson.build @@ -7,6 +7,7 @@ c_headers = [ 'pugl/cairo.h', 'pugl/gl.h', + 'pugl/glu.h', 'pugl/stub.h', 'pugl/vulkan.h', ] diff --git a/include/pugl/gl.h b/include/pugl/gl.h index 1298ff6..efb22f3 100644 --- a/include/pugl/gl.h +++ b/include/pugl/gl.h @@ -22,17 +22,6 @@ # endif #endif -#ifndef PUGL_NO_INCLUDE_GLU_H -# ifdef __APPLE__ -# include <OpenGL/glu.h> -# else -# ifdef _WIN32 -# include <windows.h> -# endif -# include <GL/glu.h> -# endif -#endif - // IWYU pragma: end_exports PUGL_BEGIN_DECLS diff --git a/include/pugl/glu.h b/include/pugl/glu.h new file mode 100644 index 0000000..e709dfb --- /dev/null +++ b/include/pugl/glu.h @@ -0,0 +1,22 @@ +// Copyright 2012-2023 David Robillard <d@drobilla.net> +// SPDX-License-Identifier: ISC + +#ifndef PUGL_GLU_H +#define PUGL_GLU_H + +// IWYU pragma: begin_exports + +#ifndef PUGL_NO_INCLUDE_GLU_H +# ifdef __APPLE__ +# include <OpenGL/glu.h> +# else +# ifdef _WIN32 +# include <windows.h> +# endif +# include <GL/glu.h> +# endif +#endif + +// IWYU pragma: end_exports + +#endif // PUGL_GLU_H diff --git a/test/test_build.c b/test/test_build.c index b9b2ae2..e28df3c 100644 --- a/test/test_build.c +++ b/test/test_build.c @@ -9,6 +9,7 @@ #include "pugl/cairo.h" // IWYU pragma: keep #include "pugl/gl.h" // IWYU pragma: keep +#include "pugl/glu.h" // IWYU pragma: keep #include "pugl/pugl.h" // IWYU pragma: keep #include "pugl/stub.h" // IWYU pragma: keep |