Instead of globbing all the headers in include/GL, we should install
the headers only when the associated library is being installed. For
example, this means that glut.h will not be installed if libglut is not
being installed.
Most of the headers are included in the GL_HEADERS variable in
src/mesa/sources. Only the headers distributed in the tarball are
installed.
---
Dan
Do we want to prune out more of the installed headers? I don't know
enough about the interfaces, but it seems like some of the headers
aren't really meant to be publicly accessible.
src/glu/Makefile | 10 ++++++++++
src/glut/fbdev/Makefile | 10 +++++++++-
src/glut/glx/Makefile | 10 +++++++++-
src/glut/mini/Makefile | 10 +++++++++-
src/mesa/Makefile | 15 ++++++++++++---
src/mesa/sources | 28 ++++++++++++++++++++++++++++
6 files changed, 77 insertions(+), 6 deletions(-)
diff --git a/src/glu/Makefile b/src/glu/Makefile
index 836baa6..d67aca9 100644
--- a/src/glu/Makefile
+++ b/src/glu/Makefile
@@ -21,9 +21,19 @@ pcedit = sed \
glu.pc: glu.pc.in
$(pcedit) $< > $@
+GLU_HEADERS = \
+ $(TOP)/include/GL/glu.h \
+ $(TOP)/include/GL/glu_mangle.h
+
install: glu.pc
+ $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
+ @for h in $(GLU_HEADERS); do \
+ test -z "$$h" && continue; \
+ echo $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL; \
+ $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL || exit 1; \
+ done
$(INSTALL) $(TOP)/$(LIB_DIR)/libGLU.*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -m 644 glu.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
diff --git a/src/glut/fbdev/Makefile b/src/glut/fbdev/Makefile
index 948be0c..ad6594f 100644
--- a/src/glut/fbdev/Makefile
+++ b/src/glut/fbdev/Makefile
@@ -68,10 +68,18 @@ $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
$(GLUT_LIB_DEPS) -install $(TOP)/$(LIB_DIR) \
$(MKLIB_OPTIONS) $(OBJECTS)
+GLUT_HEADERS = \
+ $(TOP)/include/GL/glut.h \
+ $(TOP)/include/GL/glutf90.h
+
install:
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
- $(INSTALL) -m 644 $(TOP)/include/GL/glut.h
$(DESTDIR)$(INSTALL_DIR)/include/GL
+ @for h in $(GLUT_HEADERS); do \
+ test -z "$$h" && continue; \
+ echo $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL; \
+ $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL || exit 1; \
+ done
$(INSTALL) $(TOP)/$(LIB_DIR)/libglut*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
# Run 'make -f Makefile.solo dep' to update the dependencies if you change
diff --git a/src/glut/glx/Makefile b/src/glut/glx/Makefile
index 9f99566..11fe912 100644
--- a/src/glut/glx/Makefile
+++ b/src/glut/glx/Makefile
@@ -105,11 +105,19 @@ pcedit = sed \
glut.pc: glut.pc.in
$(pcedit) $< > $@
+GLUT_HEADERS = \
+ $(TOP)/include/GL/glut.h \
+ $(TOP)/include/GL/glutf90.h
+
install: glut.pc
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
- $(INSTALL) -m 644 $(TOP)/include/GL/glut.h
$(DESTDIR)$(INSTALL_DIR)/include/GL
+ @for h in $(GLUT_HEADERS); do \
+ test -z "$$h" && continue; \
+ echo $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL; \
+ $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL || exit 1; \
+ done
$(INSTALL) $(TOP)/$(LIB_DIR)/libglut*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -m 644 glut.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
diff --git a/src/glut/mini/Makefile b/src/glut/mini/Makefile
index a73198a..833e98d 100644
--- a/src/glut/mini/Makefile
+++ b/src/glut/mini/Makefile
@@ -80,11 +80,19 @@ pcedit = sed \
glut.pc: glut.pc.in
$(pcedit) $< > $@
+GLUT_HEADERS = \
+ $(TOP)/include/GL/glut.h \
+ $(TOP)/include/GL/glutf90.h
+
install: glut.pc
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
- $(INSTALL) -m 644 $(TOP)/include/GL/glut.h
$(DESTDIR)$(INSTALL_DIR)/include/GL
+ @for h in $(GLUT_HEADERS); do \
+ test -z "$$h" && continue; \
+ echo $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL; \
+ $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL || exit 1; \
+ done
$(INSTALL) $(TOP)/$(LIB_DIR)/libglut*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -m 644 glut.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index 02e0054..981bc60 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
@@ -164,13 +164,22 @@ install: default gl.pc
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
- $(INSTALL) -m 644 $(TOP)/include/GL/*.h
$(DESTDIR)$(INSTALL_DIR)/include/GL
@if [ -e $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) ]; then \
- $(INSTALL) $(TOP)/$(LIB_DIR)/libGL*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \
+ $(INSTALL) $(TOP)/$(LIB_DIR)/libGL*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \
fi
+ @for h in $(GL_HEADERS); do \
+ test -z "$$h" && continue; \
+ echo $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL; \
+ $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL || exit 1; \
+ done
$(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
@if [ -e $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) ]; then \
- $(INSTALL) $(TOP)/$(LIB_DIR)/libOSMesa*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \
+ $(INSTALL) $(TOP)/$(LIB_DIR)/libOSMesa*
$(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \
+ for h in $(OSMESA_HEADERS); do \
+ test -z "$$h" && continue; \
+ echo $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL; \
+ $(INSTALL) -m 644 $$h $(DESTDIR)$(INSTALL_DIR)/include/GL || exit
1; \
+ done; \
fi
@for target in $(DRIVER_DIRS); do \
case "$$target" in \
diff --git a/src/mesa/sources b/src/mesa/sources
index dbfc01d..ad1328b 100644
--- a/src/mesa/sources
+++ b/src/mesa/sources
@@ -340,3 +340,31 @@ INCLUDE_DIRS = \
-I$(TOP)/src/mesa/shader/slang \
-I$(TOP)/src/mesa/swrast \
-I$(TOP)/src/mesa/swrast_setup
+
+
+### Installed headers
+GL_HEADERS = \
+ $(TOP)/include/GL/amesa.h \
+ $(TOP)/include/GL/dmesa.h \
+ $(TOP)/include/GL/fxmesa.h \
+ $(TOP)/include/GL/ggimesa.h \
+ $(TOP)/include/GL/glext.h \
+ $(TOP)/include/GL/glfbdev.h \
+ $(TOP)/include/GL/gl.h \
+ $(TOP)/include/GL/gl_mangle.h \
+ $(TOP)/include/GL/glxext.h \
+ $(TOP)/include/GL/glx.h \
+ $(TOP)/include/GL/glx_mangle.h \
+ $(TOP)/include/GL/mesa_wgl.h \
+ $(TOP)/include/GL/mglmesa.h \
+ $(TOP)/include/GL/svgamesa.h \
+ $(TOP)/include/GL/uglglutshapes.h \
+ $(TOP)/include/GL/uglmesa.h \
+ $(TOP)/include/GL/vms_x_fix.h \
+ $(TOP)/include/GL/wmesa.h \
+ $(TOP)/include/GL/xmesa.h \
+ $(TOP)/include/GL/xmesa_xf86.h \
+ $(TOP)/include/GL/xmesa_x.h
+
+OSMESA_HEADERS = \
+ $(TOP)/include/GL/osmesa.h
--
1.5.3.2
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev