targets/egl: Use C++ compiler to link GL/ES state trackers.
authorChia-I Wu <olv@lunarg.com>
Thu, 16 Sep 2010 04:42:53 +0000 (12:42 +0800)
committerChia-I Wu <olv@lunarg.com>
Fri, 17 Sep 2010 04:54:03 +0000 (12:54 +0800)
Otherwise, applications compiled with C compiler might have trouble
using them.

src/gallium/targets/egl/Makefile

index 78f724119966cae902b161b53e53f6a549060ffe..47c24cefe5c657dcac5f64ab725ae9640daa6dc6 100644 (file)
@@ -185,6 +185,13 @@ $(MKLIB) -o $(notdir $@) -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
        $(common_SYS) $($(1)_SYS)
 endef
 
+define mklib-cxx
+$(MKLIB) -o $(notdir $@) -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
+       -cplusplus -install $(OUTPUT_PATH) $(MKLIB_OPTIONS) $< \
+       -Wl,--start-group $(common_LIBS) $($(1)_LIBS) -Wl,--end-group \
+       $(common_SYS) $($(1)_SYS)
+endef
+
 # EGL driver
 $(OUTPUT_PATH)/egl_gallium.so: egl.o $(egl_LIBS)
        $(call mklib,egl)
@@ -213,13 +220,13 @@ $(OUTPUT_PATH)/$(PIPE_PREFIX)swrast.so: pipe_swrast.o $(swrast_LIBS)
 
 # state trackers
 $(OUTPUT_PATH)/$(ST_PREFIX)$(GL_LIB).so: st_GL.o $(GL_LIBS)
-       $(call mklib,GL)
+       $(call mklib-cxx,GL)
 
 $(OUTPUT_PATH)/$(ST_PREFIX)$(GLESv1_CM_LIB).so: st_GLESv1_CM.o $(GLESv1_CM_LIBS)
-       $(call mklib,GLESv1_CM)
+       $(call mklib-cxx,GLESv1_CM)
 
 $(OUTPUT_PATH)/$(ST_PREFIX)$(GLESv2_LIB).so: st_GLESv2.o $(GLESv2_LIBS)
-       $(call mklib,GLESv2)
+       $(call mklib-cxx,GLESv2)
 
 $(OUTPUT_PATH)/$(ST_PREFIX)$(VG_LIB).so: st_OpenVG.o $(OpenVG_LIBS)
        $(call mklib,OpenVG)