builtin_compiler/build: Don't use *_FOR_BUILD when not cross compiling

Previously we were relying on CFLAGS_FOR_BUILD to be the same as CFLAGS
when not cross compiling, but this assumption didn't take into
consideration 32-bit builds on 64-bit systems. More generally, not
honoring CFLAGS is bad.

Automake is evidently too stupid to accept

if CROSS_COMPILING
CC = @CC_FOR_BUILD@
...
else
CC = @CC@
endif

without warning that CC has been already defined. The warnings are
harmless, but I'd prefer to avoid future reports about them, so define
proxy variables, which are assigned inside the conditional and then
unconditionally assigned to CC et al.

NOTE: This is a candidate for the 9.1 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59737
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60038
This commit is contained in:
Matt Turner 2013-01-30 11:50:55 -08:00
parent 805cf07dc3
commit 2db1f73849
1 changed files with 32 additions and 11 deletions

View File

@ -20,23 +20,44 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
CC = @CC_FOR_BUILD@
CFLAGS = @CFLAGS_FOR_BUILD@
CPP = @CPP_FOR_BUILD@
CPPFLAGS = @CPPFLAGS_FOR_BUILD@
CXX = @CXX_FOR_BUILD@
CXXFLAGS = @CXXFLAGS_FOR_BUILD@
LD = @LD_FOR_BUILD@
LDFLAGS = @LDFLAGS_FOR_BUILD@
AM_CFLAGS = \
-I $(top_srcdir)/include \
-I $(top_srcdir)/src/mapi \
-I $(top_srcdir)/src/mesa \
-I $(GLSL_SRCDIR) \
-I $(GLSL_SRCDIR)/glcpp \
-I $(GLSL_BUILDDIR) \
$(DEFINES_FOR_BUILD)
-I $(GLSL_BUILDDIR)
if CROSS_COMPILING
proxyCC = @CC_FOR_BUILD@
proxyCFLAGS = @CFLAGS_FOR_BUILD@
proxyCPP = @CPP_FOR_BUILD@
proxyCPPFLAGS = @CPPFLAGS_FOR_BUILD@
proxyCXX = @CXX_FOR_BUILD@
proxyCXXFLAGS = @CXXFLAGS_FOR_BUILD@
proxyLD = @LD_FOR_BUILD@
proxyLDFLAGS = @LDFLAGS_FOR_BUILD@
AM_CFLAGS += $(DEFINES_FOR_BUILD)
else
proxyCC = @CC@
proxyCFLAGS = @CFLAGS@
proxyCPP = @CPP@
proxyCPPFLAGS = @CPPFLAGS@
proxyCXX = @CXX@
proxyCXXFLAGS = @CXXFLAGS@
proxyLD = @LD@
proxyLDFLAGS = @LDFLAGS@
AM_CFLAGS += $(DEFINES)
endif
CC = $(proxyCC)
CFLAGS = $(proxyCFLAGS)
CPP = $(proxyCPP)
CPPFLAGS = $(proxyCPPFLAGS)
CXX = $(proxyCXX)
CXXFLAGS = $(proxyCXXFLAGS)
LD = $(proxyLD)
LDFLAGS = $(proxyLDFLAGS)
AM_CXXFLAGS = $(AM_CFLAGS)