[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesa3d-dev
Subject:    [Mesa3d-dev] [PATCH] Only export one set of glu symbol names:
From:       Alan Coopersmith <alan.coopersmith () sun ! com>
Date:       2009-04-30 23:59:12
Message-ID: 1241135952-14194-1-git-send-email-alan.coopersmith () sun ! com
[Download RAW message or body]

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 <alan.coopersmith@sun.com>
---
 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


------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic