Subject: Fix ppc64 build
From: Orion Poplawski <[email-masked]>
To: [email-masked]
Date: Fri, 24 Jan 2014 12:10:17 -0700

Package: nx-libs
Version: 3.5.0.22
Tags: patch

Apparently gcc on EL7 pcc64 defines a macro named "pixel".  This breaks imake:

make[7]: Entering directory
`/builddir/build/BUILD/nx-libs-3.5.0.22/nx-X11/programs/Xserver/GL/mesa'
making Makefiles in programs/Xserver/GL/mesa/main...
make[8]: Entering directory
`/builddir/build/BUILD/nx-libs-3.5.0.22/nx-X11/programs/Xserver/GL/mesa'
In file included from ../../../../../config/cf/Imake.tmpl:2158:0,
                 from Imakefile.c:36:
../../../../../config/cf/X11.tmpl:1704:0: warning:
"UseInstalledOnCrossCompile" is not defined [-Wundef]
 # elif UseInstalledOnCrossCompile
 ^
In file included from ./Imakefile:25:0,
                 from ../../../../../config/cf/Imake.tmpl:2194,
                 from Imakefile.c:36:
./../../../../../lib/GL/mesa/main/Imakefile.inc:59:0: error: detected
recursion whilst expanding macro "pixel"
   $(MESABUILDDIR)pixel.c \
 ^
./../../../../../lib/GL/mesa/main/Imakefile.inc:168:0: error: detected
recursion whilst expanding macro "pixel"
 LinkSourceFile(pixel.c, $(MESASRCDIR)/src/mesa/main)
 ^
./../../../../../lib/GL/mesa/main/Imakefile.inc:168:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:168:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:168:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:168:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:169:0: error: detected
recursion whilst expanding macro "pixel"
 LinkSourceFile(pixel.h, $(MESASRCDIR)/src/mesa/main)
 ^
./../../../../../lib/GL/mesa/main/Imakefile.inc:169:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:169:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:169:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:169:0: error: detected
recursion whilst expanding macro "pixel"
./../../../../../lib/GL/mesa/main/Imakefile.inc:258:0: error: detected
recursion whilst expanding macro "pixel"
   $(MESABUILDDIR)pixel.o \
 ^
./../../../../../lib/GL/mesa/main/Imakefile.inc:398:0: error: detected
recursion whilst expanding macro "pixel"
   $(MESABUILDDIR)debugger/pixel.o \
 ^
./../../../../../lib/GL/mesa/main/Imakefile.inc:466:0: error: detected
recursion whilst expanding macro "pixel"
   $(MESABUILDDIR)profiled/pixel.o \
 ^
make[8]: Leaving directory
`/builddir/build/BUILD/nx-libs-3.5.0.22/nx-X11/programs/Xserver/GL/mesa'
make[7]: Leaving directory
`/builddir/build/BUILD/nx-libs-3.5.0.22/nx-X11/programs/Xserver/GL/mesa'
../../../../../config/imake/imake: Exit code 1.
  Stop.
make[8]: *** [main/Makefile] Error 1

The attached patch fixes.  There might be a better place to undefine the
macro, but this works.

-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       [email-masked]
Boulder, CO 80301                   http://www.nwra.com
diff -up nx-libs-3.5.0.22/nx-X11/lib/GL/mesa/main/Imakefile.inc.ppc64 nx-libs-3.5.0.22/nx-X11/lib/GL/mesa/main/Imakefile.inc
--- nx-libs-3.5.0.22/nx-X11/lib/GL/mesa/main/Imakefile.inc.ppc64	2014-01-04 13:39:35.000000000 -0700
+++ nx-libs-3.5.0.22/nx-X11/lib/GL/mesa/main/Imakefile.inc	2014-01-24 12:04:00.085272615 -0700
@@ -1,5 +1,8 @@
 XCOMM $XFree86: xc/lib/GL/mesa/src/Imakefile.inc,v 1.7tsi Exp $
 
+/* gcc on ppc64 defines this, causes macro recursion with pixel below */
+#undef pixel
+
 #ifndef MesaBuildDir
 #define MesaBuildDir $(GLXLIBSRC)/mesa/main/
 #endif