Use a GCC option to fix issues using libglut in C++ applications. See
commit dbcd20f and SourceForge bug 726223 for more details. In some
cases the setting already existed and just a comment was added.
---
Dan
After Michel reminded me that I should add -fno-strict-aliasing for
all GCC platforms (not just Linux), I thought I should do the same
for the -fexceptions patch. Does this seem OK?
configs/aix-gcc | 3 +++
configs/beos | 2 ++
configs/darwin | 3 +++
configs/darwin-static | 3 +++
configs/darwin-static-x86ppc | 3 +++
configs/darwin-x86ppc | 3 +++
configs/freebsd | 1 +
configs/hpux10-gcc | 3 +++
configs/linux | 1 +
configs/linux-alpha | 4 +++-
configs/linux-alpha-static | 4 +++-
configs/linux-directfb | 3 +++
configs/linux-dri-xcb | 3 +++
configs/linux-glide | 4 +++-
configs/linux-indirect | 3 +++
configs/linux-profile | 1 +
configs/linux-solo | 3 +++
configs/linux-x86-glide | 5 +++--
configs/netbsd | 4 +++-
configs/openbsd | 3 +++
configs/solaris-x86-gcc | 4 +++-
configs/solaris-x86-gcc-static | 4 +++-
configs/sunos4-gcc | 4 +++-
configs/sunos5-gcc | 1 +
configs/ultrix-gcc | 4 +++-
25 files changed, 66 insertions(+), 10 deletions(-)
diff --git a/configs/aix-gcc b/configs/aix-gcc
index 3b964f3..9660996 100644
--- a/configs/aix-gcc
+++ b/configs/aix-gcc
@@ -15,6 +15,9 @@ CXXFLAGS = -O2 -DAIXV3
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
MKLIB_OPTIONS = -arch aix-gcc
GL_LIB_DEPS = -lX11 -lXext -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
diff --git a/configs/beos b/configs/beos
index 9974b7b..4d0345c 100644
--- a/configs/beos
+++ b/configs/beos
@@ -53,6 +53,7 @@ ifeq ($(CPU), x86)
CFLAGS += -O3
endif
+ # See SourceForge bug 726223
GLUT_CFLAGS = -fexceptions
else
@@ -86,6 +87,7 @@ else
CXXFLAGS += -O7
endif
+ # See SourceForge bug 726223
GLUT_CFLAGS = -fexceptions
endif
diff --git a/configs/darwin b/configs/darwin
index 76f3f74..23b5c30 100644
--- a/configs/darwin
+++ b/configs/darwin
@@ -14,6 +14,9 @@ CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common
-ffast-math -funroll-loops
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
# Library names (actual file names)
GL_LIB_NAME = libGL.dylib
GLU_LIB_NAME = libGLU.dylib
diff --git a/configs/darwin-static b/configs/darwin-static
index 9893d15..3739825 100644
--- a/configs/darwin-static
+++ b/configs/darwin-static
@@ -13,6 +13,9 @@ MKLIB_OPTIONS = -static
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
diff --git a/configs/darwin-static-x86ppc b/configs/darwin-static-x86ppc
index 7e97474..44d18a4 100644
--- a/configs/darwin-static-x86ppc
+++ b/configs/darwin-static-x86ppc
@@ -15,6 +15,9 @@ MKLIB_OPTIONS = -static -archopt "-isysroot
/Developer/SDKs/MacOSX10.4u.sdk"
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
diff --git a/configs/darwin-x86ppc b/configs/darwin-x86ppc
index c87b206..6efc3cc 100644
--- a/configs/darwin-x86ppc
+++ b/configs/darwin-x86ppc
@@ -18,6 +18,9 @@ MKLIB_OPTIONS = -archopt "-isysroot
/Developer/SDKs/MacOSX10.4u.sdk"
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
# Library names (actual file names)
GL_LIB_NAME = libGL.dylib
GLU_LIB_NAME = libGLU.dylib
diff --git a/configs/freebsd b/configs/freebsd
index 976ddd1..28aa387 100644
--- a/configs/freebsd
+++ b/configs/freebsd
@@ -21,6 +21,7 @@ CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES)
$(X11_INCLUDES) -ff
CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
+# See SourceForge bug 726223
GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
diff --git a/configs/hpux10-gcc b/configs/hpux10-gcc
index be396f8..0d2ff3b 100644
--- a/configs/hpux10-gcc
+++ b/configs/hpux10-gcc
@@ -16,5 +16,8 @@ GLUT_CFLAGS = -fexceptions
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib
-lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/linux b/configs/linux
index 15700a1..7e3b549 100644
--- a/configs/linux
+++ b/configs/linux
@@ -32,6 +32,7 @@ CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS)
$(DEFINES) \
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
GLUT_CFLAGS = -fexceptions
EXTRA_LIB_PATH = -L/usr/X11R6/lib
diff --git a/configs/linux-alpha b/configs/linux-alpha
index 65bf0c2..4f11ec5 100644
--- a/configs/linux-alpha
+++ b/configs/linux-alpha
@@ -9,12 +9,14 @@ CC = gcc
CXX = g++
CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
-GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib
-lX11 -lXmu -lXt -lXi -lm
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
diff --git a/configs/linux-alpha-static b/configs/linux-alpha-static
index 53808d7..7610f02 100644
--- a/configs/linux-alpha-static
+++ b/configs/linux-alpha-static
@@ -9,7 +9,6 @@ CC = gcc
CXX = g++
CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
-GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
PIC_FLAGS =
@@ -17,6 +16,9 @@ PIC_FLAGS =
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
# Library names (actual file names)
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
diff --git a/configs/linux-directfb b/configs/linux-directfb
index 2a9843e..473a216 100644
--- a/configs/linux-directfb
+++ b/configs/linux-directfb
@@ -17,6 +17,9 @@ CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOU
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
ifeq ($(HAVE_X86), yes)
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
diff --git a/configs/linux-dri-xcb b/configs/linux-dri-xcb
index 6964371..cdd5eeb 100644
--- a/configs/linux-dri-xcb
+++ b/configs/linux-dri-xcb
@@ -36,6 +36,9 @@ CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS)
$(DEFINES)
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
ASM_SOURCES =
# Library/program dependencies
diff --git a/configs/linux-glide b/configs/linux-glide
index 31475c8..82d48d5 100644
--- a/configs/linux-glide
+++ b/configs/linux-glide
@@ -10,12 +10,14 @@ CXX = g++
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS
-I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
-GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
# Library/program dependencies
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x
-lm -lpthread
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib
-lX11 -lXmu -lXt -lXi -lm
diff --git a/configs/linux-indirect b/configs/linux-indirect
index 17c7126..0209966 100644
--- a/configs/linux-indirect
+++ b/configs/linux-indirect
@@ -37,6 +37,9 @@ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS)
$(ARCH_FLAGS) $(DEFINES)
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
ASM_SOURCES =
# Library/program dependencies
diff --git a/configs/linux-profile b/configs/linux-profile
index 75b2457..8cb42bc 100644
--- a/configs/linux-profile
+++ b/configs/linux-profile
@@ -12,6 +12,7 @@ CFLAGS = -pg -O -ansi -pedantic -Wall -Wmissing-prototypes
-Wundef -fPIC -ffast-
CXXFLAGS = -pg -O -ansi -pedantic -Wall -Wundef -fPIC -ffast-math
-D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG
+# See SourceForge bug 726223
GLUT_CFLAGS = -fexceptions
# Need to have -L/usr/X11R6/lib in these:
diff --git a/configs/linux-solo b/configs/linux-solo
index e01f2c8..305f3a1 100644
--- a/configs/linux-solo
+++ b/configs/linux-solo
@@ -36,6 +36,9 @@ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS)
$(ARCH_FLAGS) $(DEFINES)
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
ASM_SOURCES =
# Library/program dependencies
diff --git a/configs/linux-x86-glide b/configs/linux-x86-glide
index 941efc1..2edacbd 100644
--- a/configs/linux-x86-glide
+++ b/configs/linux-x86-glide
@@ -12,12 +12,13 @@ CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=19930
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
-GLUT_CFLAGS = -fexceptions
-
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
ASM_SOURCES = $(X86_SOURCES)
ASM_API = $(X86_API)
diff --git a/configs/netbsd b/configs/netbsd
index aec4569..5a1fe26 100644
--- a/configs/netbsd
+++ b/configs/netbsd
@@ -9,9 +9,11 @@ CC = gcc
CXX = g++
CFLAGS = -O2 -fPIC -DUSE_XSHM -I/usr/X11R6/include -DHZ=100
CXXFLAGS = -O2 -fPIC
-GLUT_CFLAGS = -fexceptions
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
diff --git a/configs/openbsd b/configs/openbsd
index bd19fa8..0ce9572 100644
--- a/configs/openbsd
+++ b/configs/openbsd
@@ -14,6 +14,9 @@ CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
OSMESA_LIB_DEPS = -lm
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
diff --git a/configs/solaris-x86-gcc b/configs/solaris-x86-gcc
index 616bfdf..a188c0f 100644
--- a/configs/solaris-x86-gcc
+++ b/configs/solaris-x86-gcc
@@ -9,12 +9,14 @@ CC = gcc
CXX = g++
CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
CXXFLAGS = -O3 -march=i486 -fPIC
-GLUT_CFLAGS = -fexceptions
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB)
-L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
diff --git a/configs/solaris-x86-gcc-static b/configs/solaris-x86-gcc-static
index 4850284..7db3173 100644
--- a/configs/solaris-x86-gcc-static
+++ b/configs/solaris-x86-gcc-static
@@ -9,13 +9,15 @@ CC = gcc
CXX = g++
CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
CXXFLAGS = -O3 -march=i486 -fPIC
-GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB)
-L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
diff --git a/configs/sunos4-gcc b/configs/sunos4-gcc
index 0942291..b958f08 100644
--- a/configs/sunos4-gcc
+++ b/configs/sunos4-gcc
@@ -9,11 +9,13 @@ CC = gcc
CXX = g++
CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5
-I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
-GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
+
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi
-lm
diff --git a/configs/sunos5-gcc b/configs/sunos5-gcc
index c5e443f..af4db1d 100644
--- a/configs/sunos5-gcc
+++ b/configs/sunos5-gcc
@@ -26,6 +26,7 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS)
$(ARCH_FLAGS) $(DEFINES) \
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
-I/usr/openwin/include
+# See SourceForge bug 726223
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
# Work around aliasing bugs - developers should comment this out
diff --git a/configs/ultrix-gcc b/configs/ultrix-gcc
index 455b693..7ebd044 100644
--- a/configs/ultrix-gcc
+++ b/configs/ultrix-gcc
@@ -9,13 +9,15 @@ CC = gcc
CXX = g++
CFLAGS = -pedantic -O2
CXXFLAGS = -pedantic -O2
-GLUT_CFLAGS = -fexceptions
MKLIB_OPTIONS = -static
# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing
+# See SourceForge bug 726223
+GLUT_CFLAGS = -fexceptions
+
GL_LIB_NAME = libGL.a
GLU_LIB_NAME = libGLU.a
GLUT_LIB_NAME = libglut.a
--
1.5.3.2
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev