From: Alan C. <ala...@su...> - 2009-05-01 00:00:16
|
Solaris linker throws error if a mapfile references an undefined symbol, such as is found when building glu with both mangled and unmangled names in exports table but only one set of symbol names defined in objects. Signed-off-by: Alan Coopersmith <ala...@su...> --- src/glu/sgi/Makefile | 7 ++- src/glu/sgi/glu.exports | 118 -------------------------------------------- src/glu/sgi/glu.exports.in | 63 +++++++++++++++++++++++ 3 files changed, 69 insertions(+), 119 deletions(-) delete mode 100644 src/glu/sgi/glu.exports create mode 100644 src/glu/sgi/glu.exports.in diff --git a/src/glu/sgi/Makefile b/src/glu/sgi/Makefile index 20c3bed..a14e795 100644 --- a/src/glu/sgi/Makefile +++ b/src/glu/sgi/Makefile @@ -134,8 +134,13 @@ default: $(TOP)/$(LIB_DIR): -mkdir $(TOP)/$(LIB_DIR) +# Make the exports file with the mangled or unmangled names per $CFLAGS +glu.exports: glu.exports.in + $(CC) -E -I $(TOP)/include/GL $(CFLAGS) $< | \ + awk '/^[^#]+/ {print}' > $@ + # Make the library: -$(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME): $(OBJECTS) +$(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME): $(OBJECTS) glu.exports $(MKLIB) -o $(GLU_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ -major $(GLU_MAJOR) -minor $(GLU_MINOR) -patch $(GLU_TINY) \ -cplusplus $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \ diff --git a/src/glu/sgi/glu.exports b/src/glu/sgi/glu.exports deleted file mode 100644 index aeb7272..0000000 --- a/src/glu/sgi/glu.exports +++ /dev/null @@ -1,118 +0,0 @@ - gluBeginCurve - gluBeginPolygon - gluBeginSurface - gluBeginTrim - gluBuild1DMipmapLevels - gluBuild1DMipmaps - gluBuild2DMipmapLevels - gluBuild2DMipmaps - gluBuild3DMipmapLevels - gluBuild3DMipmaps - gluCheckExtension - gluCylinder - gluDeleteNurbsRenderer - gluDeleteQuadric - gluDeleteTess - gluDisk - gluEndCurve - gluEndPolygon - gluEndSurface - gluEndTrim - gluErrorString - gluGetNurbsProperty - gluGetString - gluGetTessProperty - gluLoadSamplingMatrices - gluLookAt - gluNewNurbsRenderer - gluNewQuadric - gluNewTess - gluNextContour - gluNurbsCallback - gluNurbsCallbackData - gluNurbsCallbackDataEXT - gluNurbsCurve - gluNurbsProperty - gluNurbsSurface - gluOrtho2D - gluPartialDisk - gluPerspective - gluPickMatrix - gluProject - gluPwlCurve - gluQuadricCallback - gluQuadricDrawStyle - gluQuadricNormals - gluQuadricOrientation - gluQuadricTexture - gluScaleImage - gluSphere - gluTessBeginContour - gluTessBeginPolygon - gluTessCallback - gluTessEndContour - gluTessEndPolygon - gluTessNormal - gluTessProperty - gluTessVertex - gluUnProject - gluUnProject4 - mgluBeginCurve - mgluBeginPolygon - mgluBeginSurface - mgluBeginTrim - mgluBuild1DMipmapLevels - mgluBuild1DMipmaps - mgluBuild2DMipmapLevels - mgluBuild2DMipmaps - mgluBuild3DMipmapLevels - mgluBuild3DMipmaps - mgluCheckExtension - mgluCylinder - mgluDeleteNurbsRenderer - mgluDeleteQuadric - mgluDeleteTess - mgluDisk - mgluEndCurve - mgluEndPolygon - mgluEndSurface - mgluEndTrim - mgluErrorString - mgluGetNurbsProperty - mgluGetString - mgluGetTessProperty - mgluLoadSamplingMatrices - mgluLookAt - mgluNewNurbsRenderer - mgluNewQuadric - mgluNewTess - mgluNextContour - mgluNurbsCallback - mgluNurbsCallbackData - mgluNurbsCallbackDataEXT - mgluNurbsCurve - mgluNurbsProperty - mgluNurbsSurface - mgluOrtho2D - mgluPartialDisk - mgluPerspective - mgluPickMatrix - mgluProject - mgluPwlCurve - mgluQuadricCallback - mgluQuadricDrawStyle - mgluQuadricNormals - mgluQuadricOrientation - mgluQuadricTexture - mgluScaleImage - mgluSphere - mgluTessBeginContour - mgluTessBeginPolygon - mgluTessCallback - mgluTessEndContour - mgluTessEndPolygon - mgluTessNormal - mgluTessProperty - mgluTessVertex - mgluUnProject - mgluUnProject4 diff --git a/src/glu/sgi/glu.exports.in b/src/glu/sgi/glu.exports.in new file mode 100644 index 0000000..3e2661e --- /dev/null +++ b/src/glu/sgi/glu.exports.in @@ -0,0 +1,63 @@ +#if defined(USE_MGL_NAMESPACE) +# include "glu_mangle.h" /* mangle function names if needed */ +#endif + + gluBeginCurve + gluBeginPolygon + gluBeginSurface + gluBeginTrim + gluBuild1DMipmapLevels + gluBuild1DMipmaps + gluBuild2DMipmapLevels + gluBuild2DMipmaps + gluBuild3DMipmapLevels + gluBuild3DMipmaps + gluCheckExtension + gluCylinder + gluDeleteNurbsRenderer + gluDeleteQuadric + gluDeleteTess + gluDisk + gluEndCurve + gluEndPolygon + gluEndSurface + gluEndTrim + gluErrorString + gluGetNurbsProperty + gluGetString + gluGetTessProperty + gluLoadSamplingMatrices + gluLookAt + gluNewNurbsRenderer + gluNewQuadric + gluNewTess + gluNextContour + gluNurbsCallback + gluNurbsCallbackData + gluNurbsCallbackDataEXT + gluNurbsCurve + gluNurbsProperty + gluNurbsSurface + gluOrtho2D + gluPartialDisk + gluPerspective + gluPickMatrix + gluProject + gluPwlCurve + gluQuadricCallback + gluQuadricDrawStyle + gluQuadricNormals + gluQuadricOrientation + gluQuadricTexture + gluScaleImage + gluSphere + gluTessBeginContour + gluTessBeginPolygon + gluTessCallback + gluTessEndContour + gluTessEndPolygon + gluTessNormal + gluTessProperty + gluTessVertex + gluUnProject + gluUnProject4 -- 1.5.6.5 |